|
|
var woe=Object.defineProperty,Toe=Object.defineProperties;var Aoe=Object.getOwnPropertyDescriptors;var Ap=Object.getOwnPropertySymbols;var PN=Object.prototype.hasOwnProperty,RN=Object.prototype.propertyIsEnumerable;var Gb=(n,e)=>{if(e=Symbol[n])return e;throw Error("Symbol."+n+" is not defined")},Rs=Math.pow,Vb=(n,e,t)=>e in n?woe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y2=(n,e)=>{for(var t in e||(e={}))PN.call(e,t)&&Vb(n,t,e[t]);if(Ap)for(var t of Ap(e))RN.call(e,t)&&Vb(n,t,e[t]);return n},V2=(n,e)=>Toe(n,Aoe(e));var LN=(n,e)=>{var t={};for(var i in n)PN.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&Ap)for(var i of Ap(n))e.indexOf(i)<0&&RN.call(n,i)&&(t[i]=n[i]);return t};var I3=(n,e,t)=>(Vb(n,typeof e!="symbol"?e+"":e,t),t);var Z2=(n,e,t)=>new Promise((i,r)=>{var a=l=>{try{s(t.next(l))}catch(u){r(u)}},o=l=>{try{s(t.throw(l))}catch(u){r(u)}},s=l=>l.done?i(l.value):Promise.resolve(l.value).then(a,o);s((t=t.apply(n,e)).next())}),Coe=function(n,e){this[0]=n,this[1]=e};var IN=n=>{var e=n[Gb("asyncIterator")],t=!1,i,r={};return e==null?(e=n[Gb("iterator")](),i=a=>r[a]=o=>e[a](o)):(e=e.call(n),i=a=>r[a]=o=>{if(t){if(t=!1,a==="throw")throw o;return o}return t=!0,{done:!1,value:new Coe(new Promise(s=>{var l=e[a](o);if(!(l instanceof Object))throw TypeError("Object expected");s(l)}),1)}}),r[Gb("iterator")]=()=>r,i("next"),"throw"in e?i("throw"):r.throw=a=>{throw a},"return"in e&&i("return"),r};import{_ as h_,o as Ee,c as De,a as k,t as Ue,r as A7,b as dt,d as U2,w as U1,p as DN,i as Y4,n as Ht,u as _1,e as Ze,f as Yr,g as Tt,h as Moe,j as m$,k as NN,l as _r,m as kN,s as Wc,q as Eoe,v as Nn,x as Poe,y as D8,z as J3,A as FN,F as gt,B as Mt,C as K0,D as J1,E as s3,G as rn,H as m8,I as l7,J as pi,K as Zu,L as Roe,M as Loe,N as B6,O as Ioe}from"./index-1782986963996.js";const Tv=""+new URL("bottom-menu-arrow-big-180b7071-balabala-1782986963996.svg",import.meta.url).href,Av=""+new URL("bottom-menu-arrow-small-19304179-balabala-1782986963996.svg",import.meta.url).href;/** |
|
|
* @name: autofit.js |
|
|
* @author: Larry Zhu |
|
|
* @version: 3.2.8 |
|
|
* @description: autofit.js 是迄今为止最易用的自适应工具 |
|
|
* @license: MIT |
|
|
*/let Hb=null,Hd="",NA="",kA="",Wb=null,ON=null,Wn=1,u7=!1;const f_={isAutofitRunning:!1,init(n={},e=!0){e&&console.log("autofit.js is running");const{dw:t=1920,dh:i=1080,el:r=typeof n=="string"?n:"body",resize:a=!0,ignore:o=[],transition:s="none",delay:l=0,limit:u=.1,cssMode:c="scale",allowScroll:d=!1}=n;Hb=r;const h=document.querySelector(r);if(!h){console.error(`autofit: '${r}' is not exist`);return}const f=document.createElement("style"),p=document.createElement("style");f.lang="text/css",p.lang="text/css",f.id="autofit-style",p.id="ignoreStyle",!d&&(f.innerHTML="body {overflow: hidden;}");const g=document.querySelector("body");g.appendChild(f),g.appendChild(p),h.style.height=`${i}px`,h.style.width=`${t}px`,h.style.transformOrigin="0 0",!d&&(h.style.overflow="hidden"),jb(t,i,h,o,u,c),Wb=()=>{clearTimeout(ON),l!=0?ON=setTimeout(()=>{jb(t,i,h,o,u,c),u7&&FA(Hd,kA,NA)},l):(jb(t,i,h,o,u,c),u7&&FA(Hd,kA,NA))},a&&window.addEventListener("resize",Wb),this.isAutofitRunning=!0,setTimeout(()=>{h.style.transition=`${s}s`})},off(n="body"){try{window.removeEventListener("resize",Wb);const e=document.querySelector("#autofit-style");e&&e.remove();const t=document.querySelector("#ignoreStyle");t&&t.remove();const i=document.querySelector(Hb||n);i&&(i.style.cssText=""),u7&&g$()}catch(e){console.error("autofit: Failed to remove normally",e)}this.isAutofitRunning=!1,console.log("autofit.js is off")},elRectification:null,scale:Wn};function FA(n,e=!0,t=1){if(!f_.isAutofitRunning){console.error("autofit.js:(elRectification): autofit has not been initialized yet");return}g$(),!n&&console.error(`autofit.js:elRectification bad selector: ${n}`),Hd=n,NA=t,kA=e;const i=Array.from(document.querySelectorAll(n));if(i.length==0){console.error(`autofit.js:elRectification found no element by selector: "${n}"`);return}for(const r of i){const a=Wn==1?1:Number(Wn)*Number(t);u7||(r.originalWidth=r.clientWidth,r.originalHeight=r.clientHeight),e?(r.style.width=`${r.originalWidth*a}px`,r.style.height=`${r.originalHeight*a}px`):(r.style.width=`${100*a}%`,r.style.height=`${100*a}%`),r.style.transform=`translateZ(0) scale(${1/Number(Wn)})`,r.style.transformOrigin="0 0"}u7=!0}function g$(){if(Hd){u7=!1;for(const n of Array.from(document.querySelectorAll(Hd)))n.style.width="",n.style.height="",n.style.transform=""}}function jb(n,e,t,i,r,a="scale"){const o=document.documentElement.clientHeight,s=document.documentElement.clientWidth;Wn=s/o<n/e?s/n:o/e,Wn=Math.abs(1-Wn)>r?Wn:1,f_.scale=+Wn;const l=Math.round(o/Number(Wn)),u=Math.round(s/Number(Wn));t.style.height=`${l}px`,t.style.width=`${u}px`,a==="zoom"?t.style.zoom=`${Wn}`:t.style.transform=`translateZ(0) scale(${Wn})`;const c=document.querySelector("#ignoreStyle");c.innerHTML="";for(const d of i){const h=d;let f=h.el||h.dom;if(typeof h=="string"&&(f=h),!f||typeof f=="object"&&!Object.keys(f).length){console.error(`autofit: found invalid or empty selector/object: ${f}`);continue}const p=h.scale?h.scale:1/Number(Wn),g=p!=Wn&&h.fontSize,m=p!=Wn&&h.width,v=p!=Wn&&h.height;c.innerHTML+=` |
|
|
${f} { |
|
|
transform: scale(${p})!important; |
|
|
transform-origin: 0 0; |
|
|
${m?`width: ${m}!important;`:""} |
|
|
${v?`height: ${v}!important;`:""} |
|
|
}`,g&&(c.innerHTML+=` |
|
|
${f} div ,${f} span,${f} a,${f} * { |
|
|
font-size: ${g}px; |
|
|
}`)}}f_.elRectification=FA;function Gs(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function v$(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}/*! |
|
|
* GSAP 3.14.2 |
|
|
* https://gsap.com |
|
|
* |
|
|
* @license Copyright 2008-2025, GreenSock. All rights reserved. |
|
|
* Subject to the terms at https://gsap.com/standard-license |
|
|
* @author: Jack Doyle, jack@greensock.com |
|
|
*/var Ur={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},C7={duration:.5,overwrite:!1,delay:0},LE,Xn,w0,Pa=1e8,s0=1/Pa,OA=Math.PI*2,Doe=OA/4,Noe=0,y$=Math.sqrt,koe=Math.cos,Foe=Math.sin,On=function(e){return typeof e=="string"},B0=function(e){return typeof e=="function"},n6=function(e){return typeof e=="number"},IE=function(e){return typeof e=="undefined"},os=function(e){return typeof e=="object"},sr=function(e){return e!==!1},DE=function(){return typeof window!="undefined"},Cp=function(e){return B0(e)||On(e)},_$=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},_i=Array.isArray,Ooe=/random\([^)]+\)/g,Boe=/,\s*/g,BN=/(?:-?\.?\d|\.)+/gi,S$=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,q4=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,$b=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,b$=/[+-]=-?[.\d]+/,zoe=/[^,'"\[\]\s]+/gi,Uoe=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,E0,Bo,BA,NE,Wr={},Cv={},x$,w$=function(e){return(Cv=M7(e,Wr))&&fr},kE=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},Wd=function(e,t){return!t&&console.warn(e)},T$=function(e,t){return e&&(Wr[e]=t)&&Cv&&(Cv[e]=t)||Wr},jd=function(){return 0},Goe={suppressEvents:!0,isStart:!0,kill:!1},Bg={suppressEvents:!0,kill:!1},Voe={suppressEvents:!0},FE={},P5=[],zA={},A$,Dr={},Yb={},zN=30,zg=[],OE="",BE=function(e){var t=e[0],i,r;if(os(t)||B0(t)||(e=[e]),!(i=(t._gsap||{}).harness)){for(r=zg.length;r--&&!zg[r].targetTest(t););i=zg[r]}for(r=e.length;r--;)e[r]&&(e[r]._gsap||(e[r]._gsap=new X$(e[r],i)))||e.splice(r,1);return e},N8=function(e){return e._gsap||BE(Ra(e))[0]._gsap},C$=function(e,t,i){return(i=e[t])&&B0(i)?e[t]():IE(i)&&e.getAttribute&&e.getAttribute(t)||i},lr=function(e,t){return(e=e.split(",")).forEach(t)||e},$0=function(e){return Math.round(e*1e5)/1e5||0},C0=function(e){return Math.round(e*1e7)/1e7||0},c7=function(e,t){var i=t.charAt(0),r=parseFloat(t.substr(2));return e=parseFloat(e),i==="+"?e+r:i==="-"?e-r:i==="*"?e*r:e/r},Hoe=function(e,t){for(var i=t.length,r=0;e.indexOf(t[r])<0&&++r<i;);return r<i},Mv=function(){var e=P5.length,t=P5.slice(0),i,r;for(zA={},P5.length=0,i=0;i<e;i++)r=t[i],r&&r._lazy&&(r.render(r._lazy[0],r._lazy[1],!0)._lazy=0)},zE=function(e){return!!(e._initted||e._startAt||e.add)},M$=function(e,t,i,r){P5.length&&!Xn&&Mv(),e.render(t,i,r||!!(Xn&&t<0&&zE(e))),P5.length&&!Xn&&Mv()},E$=function(e){var t=parseFloat(e);return(t||t===0)&&(e+"").match(zoe).length<2?t:On(e)?e.trim():e},P$=function(e){return e},jr=function(e,t){for(var i in t)i in e||(e[i]=t[i]);return e},Woe=function(e){return function(t,i){for(var r in i)r in t||r==="duration"&&e||r==="ease"||(t[r]=i[r])}},M7=function(e,t){for(var i in t)e[i]=t[i];return e},UN=function n(e,t){for(var i in t)i!=="__proto__"&&i!=="constructor"&&i!=="prototype"&&(e[i]=os(t[i])?n(e[i]||(e[i]={}),t[i]):t[i]);return e},Ev=function(e,t){var i={},r;for(r in e)r in t||(i[r]=e[r]);return i},dd=function(e){var t=e.parent||E0,i=e.keyframes?Woe(_i(e.keyframes)):jr;if(sr(e.inherit))for(;t;)i(e,t.vars.defaults),t=t.parent||t._dp;return e},joe=function(e,t){for(var i=e.length,r=i===t.length;r&&i--&&e[i]===t[i];);return i<0},R$=function(e,t,i,r,a){i===void 0&&(i="_first"),r===void 0&&(r="_last");var o=e[r],s;if(a)for(s=t[a];o&&o[a]>s;)o=o._prev;return o?(t._next=o._next,o._next=t):(t._next=e[i],e[i]=t),t._next?t._next._prev=t:e[r]=t,t._prev=o,t.parent=t._dp=e,t},p_=function(e,t,i,r){i===void 0&&(i="_first"),r===void 0&&(r="_last");var a=t._prev,o=t._next;a?a._next=o:e[i]===t&&(e[i]=o),o?o._prev=a:e[r]===t&&(e[r]=a),t._next=t._prev=t.parent=null},z5=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},k8=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var i=e;i;)i._dirty=1,i=i.parent;return e},$oe=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},UA=function(e,t,i,r){return e._startAt&&(Xn?e._startAt.revert(Bg):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,r))},Yoe=function n(e){return!e||e._ts&&n(e.parent)},GN=function(e){return e._repeat?E7(e._tTime,e=e.duration()+e._rDelay)*e:0},E7=function(e,t){var i=Math.floor(e=C0(e/t));return e&&i===e?i-1:i},Pv=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},m_=function(e){return e._end=C0(e._start+(e._tDur/Math.abs(e._ts||e._rts||s0)||0))},g_=function(e,t){var i=e._dp;return i&&i.smoothChildTiming&&e._ts&&(e._start=C0(i._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),m_(e),i._dirty||k8(i,e)),e},L$=function(e,t){var i;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(i=Pv(e.rawTime(),t),(!t._dur||qh(0,t.totalDuration(),i)-t._tTime>s0)&&t.render(i,!0)),k8(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(i=e;i._dp;)i.rawTime()>=0&&i.totalTime(i._tTime),i=i._dp;e._zTime=-s0}},Ho=function(e,t,i,r){return t.parent&&z5(t),t._start=C0((n6(i)?i:i||e!==E0?ca(e,i,t):e._time)+t._delay),t._end=C0(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),R$(e,t,"_first","_last",e._sort?"_start":0),GA(t)||(e._recent=t),r||L$(e,t),e._ts<0&&g_(e,e._tTime),e},I$=function(e,t){return(Wr.ScrollTrigger||kE("scrollTrigger",t))&&Wr.ScrollTrigger.create(t,e)},D$=function(e,t,i,r,a){if(GE(e,t,a),!e._initted)return 1;if(!i&&e._pt&&!Xn&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&A$!==kr.frame)return P5.push(e),e._lazy=[a,r],1},qoe=function n(e){var t=e.parent;return t&&t._ts&&t._initted&&!t._lock&&(t.rawTime()<0||n(t))},GA=function(e){var t=e.data;return t==="isFromStart"||t==="isStart"},Xoe=function(e,t,i,r){var a=e.ratio,o=t<0||!t&&(!e._start&&qoe(e)&&!(!e._initted&&GA(e))||(e._ts<0||e._dp._ts<0)&&!GA(e))?0:1,s=e._rDelay,l=0,u,c,d;if(s&&e._repeat&&(l=qh(0,e._tDur,t),c=E7(l,s),e._yoyo&&c&1&&(o=1-o),c!==E7(e._tTime,s)&&(a=1-o,e.vars.repeatRefresh&&e._initted&&e.invalidate())),o!==a||Xn||r||e._zTime===s0||!t&&e._zTime){if(!e._initted&&D$(e,t,r,i,l))return;for(d=e._zTime,e._zTime=t||(i?s0:0),i||(i=t&&!d),e.ratio=o,e._from&&(o=1-o),e._time=0,e._tTime=l,u=e._pt;u;)u.r(o,u.d),u=u._next;t<0&&UA(e,t,i,!0),e._onUpdate&&!i&&Or(e,"onUpdate"),l&&e._repeat&&!i&&e.parent&&Or(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===o&&(o&&z5(e,1),!i&&!Xn&&(Or(e,o?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)},Koe=function(e,t,i){var r;if(i>t)for(r=e._first;r&&r._start<=i;){if(r.data==="isPause"&&r._start>t)return r;r=r._next}else for(r=e._last;r&&r._start>=i;){if(r.data==="isPause"&&r._start<t)return r;r=r._prev}},P7=function(e,t,i,r){var a=e._repeat,o=C0(t)||0,s=e._tTime/e._tDur;return s&&!r&&(e._time*=o/e._dur),e._dur=o,e._tDur=a?a<0?1e10:C0(o*(a+1)+e._rDelay*a):o,s>0&&!r&&g_(e,e._tTime=e._tDur*s),e.parent&&m_(e),i||k8(e.parent,e),e},VN=function(e){return e instanceof ki?k8(e):P7(e,e._dur)},Zoe={_start:0,endTime:jd,totalDuration:jd},ca=function n(e,t,i){var r=e.labels,a=e._recent||Zoe,o=e.duration()>=Pa?a.endTime(!1):e._dur,s,l,u;return On(t)&&(isNaN(t)||t in r)?(l=t.charAt(0),u=t.substr(-1)==="%",s=t.indexOf("="),l==="<"||l===">"?(s>=0&&(t=t.replace(/=/,"")),(l==="<"?a._start:a.endTime(a._repeat>=0))+(parseFloat(t.substr(1))||0)*(u?(s<0?a:i).totalDuration()/100:1)):s<0?(t in r||(r[t]=o),r[t]):(l=parseFloat(t.charAt(s-1)+t.substr(s+1)),u&&i&&(l=l/100*(_i(i)?i[0]:i).totalDuration()),s>1?n(e,t.substr(0,s-1),i)+l:o+l)):t==null?o:+t},hd=function(e,t,i){var r=n6(t[1]),a=(r?2:1)+(e<2?0:1),o=t[a],s,l;if(r&&(o.duration=t[1]),o.parent=i,e){for(s=o,l=i;l&&!("immediateRender"in s);)s=l.vars.defaults||{},l=sr(l.vars.inherit)&&l.parent;o.immediateRender=sr(s.immediateRender),e<2?o.runBackwards=1:o.startAt=t[a-1]}return new sn(t[0],o,t[a+1])},t9=function(e,t){return e||e===0?t(e):t},qh=function(e,t,i){return i<e?e:i>t?t:i},vi=function(e,t){return!On(e)||!(t=Uoe.exec(e))?"":t[1]},Joe=function(e,t,i){return t9(i,function(r){return qh(e,t,r)})},VA=[].slice,N$=function(e,t){return e&&os(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&os(e[0]))&&!e.nodeType&&e!==Bo},Qoe=function(e,t,i){return i===void 0&&(i=[]),e.forEach(function(r){var a;return On(r)&&!t||N$(r,1)?(a=i).push.apply(a,Ra(r)):i.push(r)})||i},Ra=function(e,t,i){return w0&&!t&&w0.selector?w0.selector(e):On(e)&&!i&&(BA||!R7())?VA.call((t||NE).querySelectorAll(e),0):_i(e)?Qoe(e,i):N$(e)?VA.call(e,0):e?[e]:[]},HA=function(e){return e=Ra(e)[0]||Wd("Invalid scope")||{},function(t){var i=e.current||e.nativeElement||e;return Ra(t,i.querySelectorAll?i:i===e?Wd("Invalid scope")||NE.createElement("div"):e)}},k$=function(e){return e.sort(function(){return .5-Math.random()})},F$=function(e){if(B0(e))return e;var t=os(e)?e:{each:e},i=F8(t.ease),r=t.from||0,a=parseFloat(t.base)||0,o={},s=r>0&&r<1,l=isNaN(r)||s,u=t.axis,c=r,d=r;return On(r)?c=d={center:.5,edges:.5,end:1}[r]||0:!s&&l&&(c=r[0],d=r[1]),function(h,f,p){var g=(p||t).length,m=o[g],v,_,S,x,A,C,M,I,D;if(!m){if(D=t.grid==="auto"?0:(t.grid||[1,Pa])[1],!D){for(M=-Pa;M<(M=p[D++].getBoundingClientRect().left)&&D<g;);D<g&&D--}for(m=o[g]=[],v=l?Math.min(D,g)*c-.5:r%D,_=D===Pa?0:l?g*d/D-.5:r/D|0,M=0,I=Pa,C=0;C<g;C++)S=C%D-v,x=_-(C/D|0),m[C]=A=u?Math.abs(u==="y"?x:S):y$(S*S+x*x),A>M&&(M=A),A<I&&(I=A);r==="random"&&k$(m),m.max=M-I,m.min=I,m.v=g=(parseFloat(t.amount)||parseFloat(t.each)*(D>g?g-1:u?u==="y"?g/D:D:Math.max(D,g/D))||0)*(r==="edges"?-1:1),m.b=g<0?a-g:a,m.u=vi(t.amount||t.each)||0,i=i&&g<0?$$(i):i}return g=(m[h]-m.min)/m.max||0,C0(m.b+(i?i(g):g)*m.v)+m.u}},WA=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(i){var r=C0(Math.round(parseFloat(i)/e)*e*t);return(r-r%1)/t+(n6(i)?0:vi(i))}},O$=function(e,t){var i=_i(e),r,a;return!i&&os(e)&&(r=i=e.radius||Pa,e.values?(e=Ra(e.values),(a=!n6(e[0]))&&(r*=r)):e=WA(e.increment)),t9(t,i?B0(e)?function(o){return a=e(o),Math.abs(a-o)<=r?a:o}:function(o){for(var s=parseFloat(a?o.x:o),l=parseFloat(a?o.y:0),u=Pa,c=0,d=e.length,h,f;d--;)a?(h=e[d].x-s,f=e[d].y-l,h=h*h+f*f):h=Math.abs(e[d]-s),h<u&&(u=h,c=d);return c=!r||u<=r?e[c]:o,a||c===o||n6(o)?c:c+vi(o)}:WA(e))},B$=function(e,t,i,r){return t9(_i(e)?!t:i===!0?!!(i=0):!r,function(){return _i(e)?e[~~(Math.random()*e.length)]:(i=i||1e-5)&&(r=i<1?Math.pow(10,(i+"").length-2):1)&&Math.floor(Math.round((e-i/2+Math.random()*(t-e+i*.99))/i)*i*r)/r})},ese=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return function(r){return t.reduce(function(a,o){return o(a)},r)}},tse=function(e,t){return function(i){return e(parseFloat(i))+(t||vi(i))}},nse=function(e,t,i){return U$(e,t,0,1,i)},z$=function(e,t,i){return t9(i,function(r){return e[~~t(r)]})},ise=function n(e,t,i){var r=t-e;return _i(e)?z$(e,n(0,e.length),t):t9(i,function(a){return(r+(a-e)%r)%r+e})},rse=function n(e,t,i){var r=t-e,a=r*2;return _i(e)?z$(e,n(0,e.length-1),t):t9(i,function(o){return o=(a+(o-e)%a)%a||0,e+(o>r?a-o:o)})},$d=function(e){return e.replace(Ooe,function(t){var i=t.indexOf("[")+1,r=t.substring(i||7,i?t.indexOf("]"):t.length-1).split(Boe);return B$(i?r:+r[0],i?0:+r[1],+r[2]||1e-5)})},U$=function(e,t,i,r,a){var o=t-e,s=r-i;return t9(a,function(l){return i+((l-e)/o*s||0)})},ase=function n(e,t,i,r){var a=isNaN(e+t)?0:function(f){return(1-f)*e+f*t};if(!a){var o=On(e),s={},l,u,c,d,h;if(i===!0&&(r=1)&&(i=null),o)e={p:e},t={p:t};else if(_i(e)&&!_i(t)){for(c=[],d=e.length,h=d-2,u=1;u<d;u++)c.push(n(e[u-1],e[u]));d--,a=function(p){p*=d;var g=Math.min(h,~~p);return c[g](p-g)},i=t}else r||(e=M7(_i(e)?[]:{},e));if(!c){for(l in t)UE.call(s,e,l,"get",t[l]);a=function(p){return WE(p,s)||(o?e.p:e)}}}return t9(i,a)},HN=function(e,t,i){var r=e.labels,a=Pa,o,s,l;for(o in r)s=r[o]-t,s<0==!!i&&s&&a>(s=Math.abs(s))&&(l=o,a=s);return l},Or=function(e,t,i){var r=e.vars,a=r[t],o=w0,s=e._ctx,l,u,c;if(a)return l=r[t+"Params"],u=r.callbackScope||e,i&&P5.length&&Mv(),s&&(w0=s),c=l?a.apply(u,l):a.call(u),w0=o,c},jc=function(e){return z5(e),e.scrollTrigger&&e.scrollTrigger.kill(!!Xn),e.progress()<1&&Or(e,"onInterrupt"),e},X4,G$=[],V$=function(e){if(e)if(e=!e.name&&e.default||e,DE()||e.headless){var t=e.name,i=B0(e),r=t&&!i&&e.init?function(){this._props=[]}:e,a={init:jd,render:WE,add:UE,kill:bse,modifier:Sse,rawVars:0},o={targetTest:0,get:0,getSetter:HE,aliases:{},register:0};if(R7(),e!==r){if(Dr[t])return;jr(r,jr(Ev(e,a),o)),M7(r.prototype,M7(a,Ev(e,o))),Dr[r.prop=t]=r,e.targetTest&&(zg.push(r),FE[t]=1),t=(t==="css"?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}T$(t,r),e.register&&e.register(fr,r,ur)}else G$.push(e)},r0=255,$c={aqua:[0,r0,r0],lime:[0,r0,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,r0],navy:[0,0,128],white:[r0,r0,r0],olive:[128,128,0],yellow:[r0,r0,0],orange:[r0,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[r0,0,0],pink:[r0,192,203],cyan:[0,r0,r0],transparent:[r0,r0,r0,0]},qb=function(e,t,i){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(i-t)*e*6:e<.5?i:e*3<2?t+(i-t)*(2/3-e)*6:t)*r0+.5|0},H$=function(e,t,i){var r=e?n6(e)?[e>>16,e>>8&r0,e&r0]:0:$c.black,a,o,s,l,u,c,d,h,f,p;if(!r){if(e.substr(-1)===","&&(e=e.substr(0,e.length-1)),$c[e])r=$c[e];else if(e.charAt(0)==="#"){if(e.length<6&&(a=e.charAt(1),o=e.charAt(2),s=e.charAt(3),e="#"+a+a+o+o+s+s+(e.length===5?e.charAt(4)+e.charAt(4):"")),e.length===9)return r=parseInt(e.substr(1,6),16),[r>>16,r>>8&r0,r&r0,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),r=[e>>16,e>>8&r0,e&r0]}else if(e.substr(0,3)==="hsl"){if(r=p=e.match(BN),!t)l=+r[0]%360/360,u=+r[1]/100,c=+r[2]/100,o=c<=.5?c*(u+1):c+u-c*u,a=c*2-o,r.length>3&&(r[3]*=1),r[0]=qb(l+1/3,a,o),r[1]=qb(l,a,o),r[2]=qb(l-1/3,a,o);else if(~e.indexOf("="))return r=e.match(S$),i&&r.length<4&&(r[3]=1),r}else r=e.match(BN)||$c.transparent;r=r.map(Number)}return t&&!p&&(a=r[0]/r0,o=r[1]/r0,s=r[2]/r0,d=Math.max(a,o,s),h=Math.min(a,o,s),c=(d+h)/2,d===h?l=u=0:(f=d-h,u=c>.5?f/(2-d-h):f/(d+h),l=d===a?(o-s)/f+(o<s?6:0):d===o?(s-a)/f+2:(a-o)/f+4,l*=60),r[0]=~~(l+.5),r[1]=~~(u*100+.5),r[2]=~~(c*100+.5)),i&&r.length<4&&(r[3]=1),r},W$=function(e){var t=[],i=[],r=-1;return e.split(R5).forEach(function(a){var o=a.match(q4)||[];t.push.apply(t,o),i.push(r+=o.length+1)}),t.c=i,t},WN=function(e,t,i){var r="",a=(e+r).match(R5),o=t?"hsla(":"rgba(",s=0,l,u,c,d;if(!a)return e;if(a=a.map(function(h){return(h=H$(h,t,1))&&o+(t?h[0]+","+h[1]+"%,"+h[2]+"%,"+h[3]:h.join(","))+")"}),i&&(c=W$(e),l=i.c,l.join(r)!==c.c.join(r)))for(u=e.replace(R5,"1").split(q4),d=u.length-1;s<d;s++)r+=u[s]+(~l.indexOf(s)?a.shift()||o+"0,0,0,0)":(c.length?c:a.length?a:i).shift());if(!u)for(u=e.split(R5),d=u.length-1;s<d;s++)r+=u[s]+a[s];return r+u[d]},R5=function(){var n="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b",e;for(e in $c)n+="|"+e+"\\b";return new RegExp(n+")","gi")}(),ose=/hsl[a]?\(/,j$=function(e){var t=e.join(" "),i;if(R5.lastIndex=0,R5.test(t))return i=ose.test(t),e[1]=WN(e[1],i),e[0]=WN(e[0],i,W$(e[1])),!0},Yd,kr=function(){var n=Date.now,e=500,t=33,i=n(),r=i,a=1e3/240,o=a,s=[],l,u,c,d,h,f,p=function g(m){var v=n()-r,_=m===!0,S,x,A,C;if((v>e||v<0)&&(i+=v-t),r+=v,A=r-i,S=A-o,(S>0||_)&&(C=++d.frame,h=A-d.time*1e3,d.time=A=A/1e3,o+=S+(S>=a?4:a-S),x=1),_||(l=u(g)),x)for(f=0;f<s.length;f++)s[f](A,h,C,m)};return d={time:0,frame:0,tick:function(){p(!0)},deltaRatio:function(m){return h/(1e3/(m||60))},wake:function(){x$&&(!BA&&DE()&&(Bo=BA=window,NE=Bo.document||{},Wr.gsap=fr,(Bo.gsapVersions||(Bo.gsapVersions=[])).push(fr.version),w$(Cv||Bo.GreenSockGlobals||!Bo.gsap&&Bo||{}),G$.forEach(V$)),c=typeof requestAnimationFrame!="undefined"&&requestAnimationFrame,l&&d.sleep(),u=c||function(m){return setTimeout(m,o-d.time*1e3+1|0)},Yd=1,p(2))},sleep:function(){(c?cancelAnimationFrame:clearTimeout)(l),Yd=0,u=jd},lagSmoothing:function(m,v){e=m||1/0,t=Math.min(v||33,e)},fps:function(m){a=1e3/(m||240),o=d.time*1e3+a},add:function(m,v,_){var S=v?function(x,A,C,M){m(x,A,C,M),d.remove(S)}:m;return d.remove(m),s[_?"unshift":"push"](S),R7(),S},remove:function(m,v){~(v=s.indexOf(m))&&s.splice(v,1)&&f>=v&&f--},_listeners:s},d}(),R7=function(){return!Yd&&kr.wake()},m1={},sse=/^[\d.\-M][\d.\-,\s]/,lse=/["']/g,use=function(e){for(var t={},i=e.substr(1,e.length-3).split(":"),r=i[0],a=1,o=i.length,s,l,u;a<o;a++)l=i[a],s=a!==o-1?l.lastIndexOf(","):l.length,u=l.substr(0,s),t[r]=isNaN(u)?u.replace(lse,"").trim():+u,r=l.substr(s+1).trim();return t},cse=function(e){var t=e.indexOf("(")+1,i=e.indexOf(")"),r=e.indexOf("(",t);return e.substring(t,~r&&r<i?e.indexOf(")",i+1):i)},dse=function(e){var t=(e+"").split("("),i=m1[t[0]];return i&&t.length>1&&i.config?i.config.apply(null,~e.indexOf("{")?[use(t[1])]:cse(e).split(",").map(E$)):m1._CE&&sse.test(e)?m1._CE("",e):i},$$=function(e){return function(t){return 1-e(1-t)}},Y$=function n(e,t){for(var i=e._first,r;i;)i instanceof ki?n(i,t):i.vars.yoyoEase&&(!i._yoyo||!i._repeat)&&i._yoyo!==t&&(i.timeline?n(i.timeline,t):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=t)),i=i._next},F8=function(e,t){return e&&(B0(e)?e:m1[e]||dse(e))||t},vl=function(e,t,i,r){i===void 0&&(i=function(l){return 1-t(1-l)}),r===void 0&&(r=function(l){return l<.5?t(l*2)/2:1-t((1-l)*2)/2});var a={easeIn:t,easeOut:i,easeInOut:r},o;return lr(e,function(s){m1[s]=Wr[s]=a,m1[o=s.toLowerCase()]=i;for(var l in a)m1[o+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=m1[s+"."+l]=a[l]}),a},q$=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},Xb=function n(e,t,i){var r=t>=1?t:1,a=(i||(e?.3:.45))/(t<1?t:1),o=a/OA*(Math.asin(1/r)||0),s=function(c){return c===1?1:r*Math.pow(2,-10*c)*Foe((c-o)*a)+1},l=e==="out"?s:e==="in"?function(u){return 1-s(1-u)}:q$(s);return a=OA/a,l.config=function(u,c){return n(e,u,c)},l},Kb=function n(e,t){t===void 0&&(t=1.70158);var i=function(o){return o?--o*o*((t+1)*o+t)+1:0},r=e==="out"?i:e==="in"?function(a){return 1-i(1-a)}:q$(i);return r.config=function(a){return n(e,a)},r};lr("Linear,Quad,Cubic,Quart,Quint,Strong",function(n,e){var t=e<5?e+1:e;vl(n+",Power"+(t-1),e?function(i){return Math.pow(i,t)}:function(i){return i},function(i){return 1-Math.pow(1-i,t)},function(i){return i<.5?Math.pow(i*2,t)/2:1-Math.pow((1-i)*2,t)/2})});m1.Linear.easeNone=m1.none=m1.Linear.easeIn;vl("Elastic",Xb("in"),Xb("out"),Xb());(function(n,e){var t=1/e,i=2*t,r=2.5*t,a=function(s){return s<t?n*s*s:s<i?n*Math.pow(s-1.5/e,2)+.75:s<r?n*(s-=2.25/e)*s+.9375:n*Math.pow(s-2.625/e,2)+.984375};vl("Bounce",function(o){return 1-a(1-o)},a)})(7.5625,2.75);vl("Expo",function(n){return Math.pow(2,10*(n-1))*n+n*n*n*n*n*n*(1-n)});vl("Circ",function(n){return-(y$(1-n*n)-1)});vl("Sine",function(n){return n===1?1:-koe(n*Doe)+1});vl("Back",Kb("in"),Kb("out"),Kb());m1.SteppedEase=m1.steps=Wr.SteppedEase={config:function(e,t){e===void 0&&(e=1);var i=1/e,r=e+(t?0:1),a=t?1:0,o=1-s0;return function(s){return((r*qh(0,o,s)|0)+a)*i}}};C7.ease=m1["quad.out"];lr("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(n){return OE+=n+","+n+"Params,"});var X$=function(e,t){this.id=Noe++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:C$,this.set=t?t.getSetter:HE},qd=function(){function n(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,P7(this,+t.duration,1,1),this.data=t.data,w0&&(this._ctx=w0,w0.data.push(this)),Yd||kr.wake()}var e=n.prototype;return e.delay=function(i){return i||i===0?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+i-this._delay),this._delay=i,this):this._delay},e.duration=function(i){return arguments.length?this.totalDuration(this._repeat>0?i+(i+this._rDelay)*this._repeat:i):this.totalDuration()&&this._dur},e.totalDuration=function(i){return arguments.length?(this._dirty=0,P7(this,this._repeat<0?i:(i-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(i,r){if(R7(),!arguments.length)return this._tTime;var a=this._dp;if(a&&a.smoothChildTiming&&this._ts){for(g_(this,i),!a._dp||a.parent||L$(a,this);a&&a.parent;)a.parent._time!==a._start+(a._ts>=0?a._tTime/a._ts:(a.totalDuration()-a._tTime)/-a._ts)&&a.totalTime(a._tTime,!0),a=a.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&i<this._tDur||this._ts<0&&i>0||!this._tDur&&!i)&&Ho(this._dp,this,this._start-this._delay)}return(this._tTime!==i||!this._dur&&!r||this._initted&&Math.abs(this._zTime)===s0||!this._initted&&this._dur&&i||!i&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=i),M$(this,i,r)),this},e.time=function(i,r){return arguments.length?this.totalTime(Math.min(this.totalDuration(),i+GN(this))%(this._dur+this._rDelay)||(i?this._dur:0),r):this._time},e.totalProgress=function(i,r){return arguments.length?this.totalTime(this.totalDuration()*i,r):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},e.progress=function(i,r){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-i:i)+GN(this),r):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},e.iteration=function(i,r){var a=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(i-1)*a,r):this._repeat?E7(this._tTime,a)+1:1},e.timeScale=function(i,r){if(!arguments.length)return this._rts===-s0?0:this._rts;if(this._rts===i)return this;var a=this.parent&&this._ts?Pv(this.parent._time,this):this._tTime;return this._rts=+i||0,this._ts=this._ps||i===-s0?0:this._rts,this.totalTime(qh(-Math.abs(this._delay),this.totalDuration(),a),r!==!1),m_(this),$oe(this)},e.paused=function(i){return arguments.length?(this._ps!==i&&(this._ps=i,i?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(R7(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==s0&&(this._tTime-=s0)))),this):this._ps},e.startTime=function(i){if(arguments.length){this._start=C0(i);var r=this.parent||this._dp;return r&&(r._sort||!this.parent)&&Ho(r,this,this._start-this._delay),this}return this._start},e.endTime=function(i){return this._start+(sr(i)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},e.rawTime=function(i){var r=this.parent||this._dp;return r?i&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Pv(r.rawTime(i),this):this._tTime:this._tTime},e.revert=function(i){i===void 0&&(i=Voe);var r=Xn;return Xn=i,zE(this)&&(this.timeline&&this.timeline.revert(i),this.totalTime(-.01,i.suppressEvents)),this.data!=="nested"&&i.kill!==!1&&this.kill(),Xn=r,this},e.globalTime=function(i){for(var r=this,a=arguments.length?i:r.rawTime();r;)a=r._start+a/(Math.abs(r._ts)||1),r=r._dp;return!this.parent&&this._sat?this._sat.globalTime(i):a},e.repeat=function(i){return arguments.length?(this._repeat=i===1/0?-2:i,VN(this)):this._repeat===-2?1/0:this._repeat},e.repeatDelay=function(i){if(arguments.length){var r=this._time;return this._rDelay=i,VN(this),r?this.time(r):this}return this._rDelay},e.yoyo=function(i){return arguments.length?(this._yoyo=i,this):this._yoyo},e.seek=function(i,r){return this.totalTime(ca(this,i),sr(r))},e.restart=function(i,r){return this.play().totalTime(i?-this._delay:0,sr(r)),this._dur||(this._zTime=-s0),this},e.play=function(i,r){return i!=null&&this.seek(i,r),this.reversed(!1).paused(!1)},e.reverse=function(i,r){return i!=null&&this.seek(i||this.totalDuration(),r),this.reversed(!0).paused(!1)},e.pause=function(i,r){return i!=null&&this.seek(i,r),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(i){return arguments.length?(!!i!==this.reversed()&&this.timeScale(-this._rts||(i?-s0:0)),this):this._rts<0},e.invalidate=function(){return this._initted=this._act=0,this._zTime=-s0,this},e.isActive=function(){var i=this.parent||this._dp,r=this._start,a;return!!(!i||this._ts&&this._initted&&i.isActive()&&(a=i.rawTime(!0))>=r&&a<this.endTime(!0)-s0)},e.eventCallback=function(i,r,a){var o=this.vars;return arguments.length>1?(r?(o[i]=r,a&&(o[i+"Params"]=a),i==="onUpdate"&&(this._onUpdate=r)):delete o[i],this):o[i]},e.then=function(i){var r=this,a=r._prom;return new Promise(function(o){var s=B0(i)?i:P$,l=function(){var c=r.then;r.then=null,a&&a(),B0(s)&&(s=s(r))&&(s.then||s===r)&&(r.then=c),o(s),r.then=c};r._initted&&r.totalProgress()===1&&r._ts>=0||!r._tTime&&r._ts<0?l():r._prom=l})},e.kill=function(){jc(this)},n}();jr(qd.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-s0,_prom:0,_ps:!1,_rts:1});var ki=function(n){v$(e,n);function e(i,r){var a;return i===void 0&&(i={}),a=n.call(this,i)||this,a.labels={},a.smoothChildTiming=!!i.smoothChildTiming,a.autoRemoveChildren=!!i.autoRemoveChildren,a._sort=sr(i.sortChildren),E0&&Ho(i.parent||E0,Gs(a),r),i.reversed&&a.reverse(),i.paused&&a.paused(!0),i.scrollTrigger&&I$(Gs(a),i.scrollTrigger),a}var t=e.prototype;return t.to=function(r,a,o){return hd(0,arguments,this),this},t.from=function(r,a,o){return hd(1,arguments,this),this},t.fromTo=function(r,a,o,s){return hd(2,arguments,this),this},t.set=function(r,a,o){return a.duration=0,a.parent=this,dd(a).repeatDelay||(a.repeat=0),a.immediateRender=!!a.immediateRender,new sn(r,a,ca(this,o),1),this},t.call=function(r,a,o){return Ho(this,sn.delayedCall(0,r,a),o)},t.staggerTo=function(r,a,o,s,l,u,c){return o.duration=a,o.stagger=o.stagger||s,o.onComplete=u,o.onCompleteParams=c,o.parent=this,new sn(r,o,ca(this,l)),this},t.staggerFrom=function(r,a,o,s,l,u,c){return o.runBackwards=1,dd(o).immediateRender=sr(o.immediateRender),this.staggerTo(r,a,o,s,l,u,c)},t.staggerFromTo=function(r,a,o,s,l,u,c,d){return s.startAt=o,dd(s).immediateRender=sr(s.immediateRender),this.staggerTo(r,a,s,l,u,c,d)},t.render=function(r,a,o){var s=this._time,l=this._dirty?this.totalDuration():this._tDur,u=this._dur,c=r<=0?0:C0(r),d=this._zTime<0!=r<0&&(this._initted||!u),h,f,p,g,m,v,_,S,x,A,C,M;if(this!==E0&&c>l&&r>=0&&(c=l),c!==this._tTime||o||d){if(s!==this._time&&u&&(c+=this._time-s,r+=this._time-s),h=c,x=this._start,S=this._ts,v=!S,d&&(u||(s=this._zTime),(r||!a)&&(this._zTime=r)),this._repeat){if(C=this._yoyo,m=u+this._rDelay,this._repeat<-1&&r<0)return this.totalTime(m*100+r,a,o);if(h=C0(c%m),c===l?(g=this._repeat,h=u):(A=C0(c/m),g=~~A,g&&g===A&&(h=u,g--),h>u&&(h=u)),A=E7(this._tTime,m),!s&&this._tTime&&A!==g&&this._tTime-A*m-this._dur<=0&&(A=g),C&&g&1&&(h=u-h,M=1),g!==A&&!this._lock){var I=C&&A&1,D=I===(C&&g&1);if(g<A&&(I=!I),s=I?0:c%u?u:c,this._lock=1,this.render(s||(M?0:C0(g*m)),a,!u)._lock=0,this._tTime=c,!a&&this.parent&&Or(this,"onRepeat"),this.vars.repeatRefresh&&!M&&(this.invalidate()._lock=1,A=g),s&&s!==this._time||v!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(u=this._dur,l=this._tDur,D&&(this._lock=2,s=I?u:-1e-4,this.render(s,!0),this.vars.repeatRefresh&&!M&&this.invalidate()),this._lock=0,!this._ts&&!v)return this;Y$(this,M)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(_=Koe(this,C0(s),C0(h)),_&&(c-=h-(h=_._start))),this._tTime=c,this._time=h,this._act=!S,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=r,s=0),!s&&c&&u&&!a&&!A&&(Or(this,"onStart"),this._tTime!==c))return this;if(h>=s&&r>=0)for(f=this._first;f;){if(p=f._next,(f._act||h>=f._start)&&f._ts&&_!==f){if(f.parent!==this)return this.render(r,a,o);if(f.render(f._ts>0?(h-f._start)*f._ts:(f._dirty?f.totalDuration():f._tDur)+(h-f._start)*f._ts,a,o),h!==this._time||!this._ts&&!v){_=0,p&&(c+=this._zTime=-s0);break}}f=p}else{f=this._last;for(var E=r<0?r:h;f;){if(p=f._prev,(f._act||E<=f._end)&&f._ts&&_!==f){if(f.parent!==this)return this.render(r,a,o);if(f.render(f._ts>0?(E-f._start)*f._ts:(f._dirty?f.totalDuration():f._tDur)+(E-f._start)*f._ts,a,o||Xn&&zE(f)),h!==this._time||!this._ts&&!v){_=0,p&&(c+=this._zTime=E?-s0:s0);break}}f=p}}if(_&&!a&&(this.pause(),_.render(h>=s?0:-s0)._zTime=h>=s?1:-1,this._ts))return this._start=x,m_(this),this.render(r,a,o);this._onUpdate&&!a&&Or(this,"onUpdate",!0),(c===l&&this._tTime>=this.totalDuration()||!c&&s)&&(x===this._start||Math.abs(S)!==Math.abs(this._ts))&&(this._lock||((r||!u)&&(c===l&&this._ts>0||!c&&this._ts<0)&&z5(this,1),!a&&!(r<0&&!s)&&(c||s||!l)&&(Or(this,c===l&&r>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(c<l&&this.timeScale()>0)&&this._prom())))}return this},t.add=function(r,a){var o=this;if(n6(a)||(a=ca(this,a,r)),!(r instanceof qd)){if(_i(r))return r.forEach(function(s){return o.add(s,a)}),this;if(On(r))return this.addLabel(r,a);if(B0(r))r=sn.delayedCall(0,r);else return this}return this!==r?Ho(this,r,a):this},t.getChildren=function(r,a,o,s){r===void 0&&(r=!0),a===void 0&&(a=!0),o===void 0&&(o=!0),s===void 0&&(s=-Pa);for(var l=[],u=this._first;u;)u._start>=s&&(u instanceof sn?a&&l.push(u):(o&&l.push(u),r&&l.push.apply(l,u.getChildren(!0,a,o)))),u=u._next;return l},t.getById=function(r){for(var a=this.getChildren(1,1,1),o=a.length;o--;)if(a[o].vars.id===r)return a[o]},t.remove=function(r){return On(r)?this.removeLabel(r):B0(r)?this.killTweensOf(r):(r.parent===this&&p_(this,r),r===this._recent&&(this._recent=this._last),k8(this))},t.totalTime=function(r,a){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=C0(kr.time-(this._ts>0?r/this._ts:(this.totalDuration()-r)/-this._ts))),n.prototype.totalTime.call(this,r,a),this._forcing=0,this):this._tTime},t.addLabel=function(r,a){return this.labels[r]=ca(this,a),this},t.removeLabel=function(r){return delete this.labels[r],this},t.addPause=function(r,a,o){var s=sn.delayedCall(0,a||jd,o);return s.data="isPause",this._hasPause=1,Ho(this,s,ca(this,r))},t.removePause=function(r){var a=this._first;for(r=ca(this,r);a;)a._start===r&&a.data==="isPause"&&z5(a),a=a._next},t.killTweensOf=function(r,a,o){for(var s=this.getTweensOf(r,o),l=s.length;l--;)f5!==s[l]&&s[l].kill(r,a);return this},t.getTweensOf=function(r,a){for(var o=[],s=Ra(r),l=this._first,u=n6(a),c;l;)l instanceof sn?Hoe(l._targets,s)&&(u?(!f5||l._initted&&l._ts)&&l.globalTime(0)<=a&&l.globalTime(l.totalDuration())>a:!a||l.isActive())&&o.push(l):(c=l.getTweensOf(s,a)).length&&o.push.apply(o,c),l=l._next;return o},t.tweenTo=function(r,a){a=a||{};var o=this,s=ca(o,r),l=a,u=l.startAt,c=l.onStart,d=l.onStartParams,h=l.immediateRender,f,p=sn.to(o,jr({ease:a.ease||"none",lazy:!1,immediateRender:!1,time:s,overwrite:"auto",duration:a.duration||Math.abs((s-(u&&"time"in u?u.time:o._time))/o.timeScale())||s0,onStart:function(){if(o.pause(),!f){var m=a.duration||Math.abs((s-(u&&"time"in u?u.time:o._time))/o.timeScale());p._dur!==m&&P7(p,m,0,1).render(p._time,!0,!0),f=1}c&&c.apply(p,d||[])}},a));return h?p.render(0):p},t.tweenFromTo=function(r,a,o){return this.tweenTo(a,jr({startAt:{time:ca(this,r)}},o))},t.recent=function(){return this._recent},t.nextLabel=function(r){return r===void 0&&(r=this._time),HN(this,ca(this,r))},t.previousLabel=function(r){return r===void 0&&(r=this._time),HN(this,ca(this,r),1)},t.currentLabel=function(r){return arguments.length?this.seek(r,!0):this.previousLabel(this._time+s0)},t.shiftChildren=function(r,a,o){o===void 0&&(o=0);var s=this._first,l=this.labels,u;for(r=C0(r);s;)s._start>=o&&(s._start+=r,s._end+=r),s=s._next;if(a)for(u in l)l[u]>=o&&(l[u]+=r);return k8(this)},t.invalidate=function(r){var a=this._first;for(this._lock=0;a;)a.invalidate(r),a=a._next;return n.prototype.invalidate.call(this,r)},t.clear=function(r){r===void 0&&(r=!0);for(var a=this._first,o;a;)o=a._next,this.remove(a),a=o;return this._dp&&(this._time=this._tTime=this._pTime=0),r&&(this.labels={}),k8(this)},t.totalDuration=function(r){var a=0,o=this,s=o._last,l=Pa,u,c,d;if(arguments.length)return o.timeScale((o._repeat<0?o.duration():o.totalDuration())/(o.reversed()?-r:r));if(o._dirty){for(d=o.parent;s;)u=s._prev,s._dirty&&s.totalDuration(),c=s._start,c>l&&o._sort&&s._ts&&!o._lock?(o._lock=1,Ho(o,s,c-s._delay,1)._lock=0):l=c,c<0&&s._ts&&(a-=c,(!d&&!o._dp||d&&d.smoothChildTiming)&&(o._start+=C0(c/o._ts),o._time-=c,o._tTime-=c),o.shiftChildren(-c,!1,-1/0),l=0),s._end>a&&s._ts&&(a=s._end),s=u;P7(o,o===E0&&o._time>a?o._time:a,1,1),o._dirty=0}return o._tDur},e.updateRoot=function(r){if(E0._ts&&(M$(E0,Pv(r,E0)),A$=kr.frame),kr.frame>=zN){zN+=Ur.autoSleep||120;var a=E0._first;if((!a||!a._ts)&&Ur.autoSleep&&kr._listeners.length<2){for(;a&&!a._ts;)a=a._next;a||kr.sleep()}}},e}(qd);jr(ki.prototype,{_lock:0,_hasPause:0,_forcing:0});var hse=function(e,t,i,r,a,o,s){var l=new ur(this._pt,e,t,0,1,tY,null,a),u=0,c=0,d,h,f,p,g,m,v,_;for(l.b=i,l.e=r,i+="",r+="",(v=~r.indexOf("random("))&&(r=$d(r)),o&&(_=[i,r],o(_,e,t),i=_[0],r=_[1]),h=i.match($b)||[];d=$b.exec(r);)p=d[0],g=r.substring(u,d.index),f?f=(f+1)%5:g.substr(-5)==="rgba("&&(f=1),p!==h[c++]&&(m=parseFloat(h[c-1])||0,l._pt={_next:l._pt,p:g||c===1?g:",",s:m,c:p.charAt(1)==="="?c7(m,p)-m:parseFloat(p)-m,m:f&&f<4?Math.round:0},u=$b.lastIndex);return l.c=u<r.length?r.substring(u,r.length):"",l.fp=s,(b$.test(r)||v)&&(l.e=0),this._pt=l,l},UE=function(e,t,i,r,a,o,s,l,u,c){B0(r)&&(r=r(a||0,e,o));var d=e[t],h=i!=="get"?i:B0(d)?u?e[t.indexOf("set")||!B0(e["get"+t.substr(3)])?t:"get"+t.substr(3)](u):e[t]():d,f=B0(d)?u?vse:Q$:VE,p;if(On(r)&&(~r.indexOf("random(")&&(r=$d(r)),r.charAt(1)==="="&&(p=c7(h,r)+(vi(h)||0),(p||p===0)&&(r=p))),!c||h!==r||jA)return!isNaN(h*r)&&r!==""?(p=new ur(this._pt,e,t,+h||0,r-(h||0),typeof d=="boolean"?_se:eY,0,f),u&&(p.fp=u),s&&p.modifier(s,this,e),this._pt=p):(!d&&!(t in e)&&kE(t,r),hse.call(this,e,t,h,r,f,l||Ur.stringFilter,u))},fse=function(e,t,i,r,a){if(B0(e)&&(e=fd(e,a,t,i,r)),!os(e)||e.style&&e.nodeType||_i(e)||_$(e))return On(e)?fd(e,a,t,i,r):e;var o={},s;for(s in e)o[s]=fd(e[s],a,t,i,r);return o},K$=function(e,t,i,r,a,o){var s,l,u,c;if(Dr[e]&&(s=new Dr[e]).init(a,s.rawVars?t[e]:fse(t[e],r,a,o,i),i,r,o)!==!1&&(i._pt=l=new ur(i._pt,a,e,0,1,s.render,s,0,s.priority),i!==X4))for(u=i._ptLookup[i._targets.indexOf(a)],c=s._props.length;c--;)u[s._props[c]]=l;return s},f5,jA,GE=function n(e,t,i){var r=e.vars,a=r.ease,o=r.startAt,s=r.immediateRender,l=r.lazy,u=r.onUpdate,c=r.runBackwards,d=r.yoyoEase,h=r.keyframes,f=r.autoRevert,p=e._dur,g=e._startAt,m=e._targets,v=e.parent,_=v&&v.data==="nested"?v.vars.targets:m,S=e._overwrite==="auto"&&!LE,x=e.timeline,A,C,M,I,D,E,L,V,Y,G,W,q,ce;if(x&&(!h||!a)&&(a="none"),e._ease=F8(a,C7.ease),e._yEase=d?$$(F8(d===!0?a:d,C7.ease)):0,d&&e._yoyo&&!e._repeat&&(d=e._yEase,e._yEase=e._ease,e._ease=d),e._from=!x&&!!r.runBackwards,!x||h&&!r.stagger){if(V=m[0]?N8(m[0]).harness:0,q=V&&r[V.prop],A=Ev(r,FE),g&&(g._zTime<0&&g.progress(1),t<0&&c&&s&&!f?g.render(-1,!0):g.revert(c&&p?Bg:Goe),g._lazy=0),o){if(z5(e._startAt=sn.set(m,jr({data:"isStart",overwrite:!1,parent:v,immediateRender:!0,lazy:!g&&sr(l),startAt:null,delay:0,onUpdate:u&&function(){return Or(e,"onUpdate")},stagger:0},o))),e._startAt._dp=0,e._startAt._sat=e,t<0&&(Xn||!s&&!f)&&e._startAt.revert(Bg),s&&p&&t<=0&&i<=0){t&&(e._zTime=t);return}}else if(c&&p&&!g){if(t&&(s=!1),M=jr({overwrite:!1,data:"isFromStart",lazy:s&&!g&&sr(l),immediateRender:s,stagger:0,parent:v},A),q&&(M[V.prop]=q),z5(e._startAt=sn.set(m,M)),e._startAt._dp=0,e._startAt._sat=e,t<0&&(Xn?e._startAt.revert(Bg):e._startAt.render(-1,!0)),e._zTime=t,!s)n(e._startAt,s0,s0);else if(!t)return}for(e._pt=e._ptCache=0,l=p&&sr(l)||l&&!p,C=0;C<m.length;C++){if(D=m[C],L=D._gsap||BE(m)[C]._gsap,e._ptLookup[C]=G={},zA[L.id]&&P5.length&&Mv(),W=_===m?C:_.indexOf(D),V&&(Y=new V).init(D,q||A,e,W,_)!==!1&&(e._pt=I=new ur(e._pt,D,Y.name,0,1,Y.render,Y,0,Y.priority),Y._props.forEach(function(J){G[J]=I}),Y.priority&&(E=1)),!V||q)for(M in A)Dr[M]&&(Y=K$(M,A,e,W,D,_))?Y.priority&&(E=1):G[M]=I=UE.call(e,D,M,"get",A[M],W,_,0,r.stringFilter);e._op&&e._op[C]&&e.kill(D,e._op[C]),S&&e._pt&&(f5=e,E0.killTweensOf(D,G,e.globalTime(t)),ce=!e.parent,f5=0),e._pt&&l&&(zA[L.id]=1)}E&&nY(e),e._onInit&&e._onInit(e)}e._onUpdate=u,e._initted=(!e._op||e._pt)&&!ce,h&&t<=0&&x.render(Pa,!0,!0)},pse=function(e,t,i,r,a,o,s,l){var u=(e._pt&&e._ptCache||(e._ptCache={}))[t],c,d,h,f;if(!u)for(u=e._ptCache[t]=[],h=e._ptLookup,f=e._targets.length;f--;){if(c=h[f][t],c&&c.d&&c.d._pt)for(c=c.d._pt;c&&c.p!==t&&c.fp!==t;)c=c._next;if(!c)return jA=1,e.vars[t]="+=0",GE(e,s),jA=0,l?Wd(t+" not eligible for reset"):1;u.push(c)}for(f=u.length;f--;)d=u[f],c=d._pt||d,c.s=(r||r===0)&&!a?r:c.s+(r||0)+o*c.c,c.c=i-c.s,d.e&&(d.e=$0(i)+vi(d.e)),d.b&&(d.b=c.s+vi(d.b))},mse=function(e,t){var i=e[0]?N8(e[0]).harness:0,r=i&&i.aliases,a,o,s,l;if(!r)return t;a=M7({},t);for(o in r)if(o in a)for(l=r[o].split(","),s=l.length;s--;)a[l[s]]=a[o];return a},gse=function(e,t,i,r){var a=t.ease||r||"power1.inOut",o,s;if(_i(t))s=i[e]||(i[e]=[]),t.forEach(function(l,u){return s.push({t:u/(t.length-1)*100,v:l,e:a})});else for(o in t)s=i[o]||(i[o]=[]),o==="ease"||s.push({t:parseFloat(e),v:t[o],e:a})},fd=function(e,t,i,r,a){return B0(e)?e.call(t,i,r,a):On(e)&&~e.indexOf("random(")?$d(e):e},Z$=OE+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",J$={};lr(Z$+",id,stagger,delay,duration,paused,scrollTrigger",function(n){return J$[n]=1});var sn=function(n){v$(e,n);function e(i,r,a,o){var s;typeof r=="number"&&(a.duration=r,r=a,a=null),s=n.call(this,o?r:dd(r))||this;var l=s.vars,u=l.duration,c=l.delay,d=l.immediateRender,h=l.stagger,f=l.overwrite,p=l.keyframes,g=l.defaults,m=l.scrollTrigger,v=l.yoyoEase,_=r.parent||E0,S=(_i(i)||_$(i)?n6(i[0]):"length"in r)?[i]:Ra(i),x,A,C,M,I,D,E,L;if(s._targets=S.length?BE(S):Wd("GSAP target "+i+" not found. https://gsap.com",!Ur.nullTargetWarn)||[],s._ptLookup=[],s._overwrite=f,p||h||Cp(u)||Cp(c)){if(r=s.vars,x=s.timeline=new ki({data:"nested",defaults:g||{},targets:_&&_.data==="nested"?_.vars.targets:S}),x.kill(),x.parent=x._dp=Gs(s),x._start=0,h||Cp(u)||Cp(c)){if(M=S.length,E=h&&F$(h),os(h))for(I in h)~Z$.indexOf(I)&&(L||(L={}),L[I]=h[I]);for(A=0;A<M;A++)C=Ev(r,J$),C.stagger=0,v&&(C.yoyoEase=v),L&&M7(C,L),D=S[A],C.duration=+fd(u,Gs(s),A,D,S),C.delay=(+fd(c,Gs(s),A,D,S)||0)-s._delay,!h&&M===1&&C.delay&&(s._delay=c=C.delay,s._start+=c,C.delay=0),x.to(D,C,E?E(A,D,S):0),x._ease=m1.none;x.duration()?u=c=0:s.timeline=0}else if(p){dd(jr(x.vars.defaults,{ease:"none"})),x._ease=F8(p.ease||r.ease||"none");var V=0,Y,G,W;if(_i(p))p.forEach(function(q){return x.to(S,q,">")}),x.duration();else{C={};for(I in p)I==="ease"||I==="easeEach"||gse(I,p[I],C,p.easeEach);for(I in C)for(Y=C[I].sort(function(q,ce){return q.t-ce.t}),V=0,A=0;A<Y.length;A++)G=Y[A],W={ease:G.e,duration:(G.t-(A?Y[A-1].t:0))/100*u},W[I]=G.v,x.to(S,W,V),V+=W.duration;x.duration()<u&&x.to({},{duration:u-x.duration()})}}u||s.duration(u=x.duration())}else s.timeline=0;return f===!0&&!LE&&(f5=Gs(s),E0.killTweensOf(S),f5=0),Ho(_,Gs(s),a),r.reversed&&s.reverse(),r.paused&&s.paused(!0),(d||!u&&!p&&s._start===C0(_._time)&&sr(d)&&Yoe(Gs(s))&&_.data!=="nested")&&(s._tTime=-s0,s.render(Math.max(0,-c)||0)),m&&I$(Gs(s),m),s}var t=e.prototype;return t.render=function(r,a,o){var s=this._time,l=this._tDur,u=this._dur,c=r<0,d=r>l-s0&&!c?l:r<s0?0:r,h,f,p,g,m,v,_,S,x;if(!u)Xoe(this,r,a,o);else if(d!==this._tTime||!r||o||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==c||this._lazy){if(h=d,S=this.timeline,this._repeat){if(g=u+this._rDelay,this._repeat<-1&&c)return this.totalTime(g*100+r,a,o);if(h=C0(d%g),d===l?(p=this._repeat,h=u):(m=C0(d/g),p=~~m,p&&p===m?(h=u,p--):h>u&&(h=u)),v=this._yoyo&&p&1,v&&(x=this._yEase,h=u-h),m=E7(this._tTime,g),h===s&&!o&&this._initted&&p===m)return this._tTime=d,this;p!==m&&(S&&this._yEase&&Y$(S,v),this.vars.repeatRefresh&&!v&&!this._lock&&h!==g&&this._initted&&(this._lock=o=1,this.render(C0(g*p),!0).invalidate()._lock=0))}if(!this._initted){if(D$(this,c?r:h,o,a,d))return this._tTime=0,this;if(s!==this._time&&!(o&&this.vars.repeatRefresh&&p!==m))return this;if(u!==this._dur)return this.render(r,a,o)}if(this._tTime=d,this._time=h,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=_=(x||this._ease)(h/u),this._from&&(this.ratio=_=1-_),!s&&d&&!a&&!m&&(Or(this,"onStart"),this._tTime!==d))return this;for(f=this._pt;f;)f.r(_,f.d),f=f._next;S&&S.render(r<0?r:S._dur*S._ease(h/this._dur),a,o)||this._startAt&&(this._zTime=r),this._onUpdate&&!a&&(c&&UA(this,r,a,o),Or(this,"onUpdate")),this._repeat&&p!==m&&this.vars.onRepeat&&!a&&this.parent&&Or(this,"onRepeat"),(d===this._tDur||!d)&&this._tTime===d&&(c&&!this._onUpdate&&UA(this,r,!0,!0),(r||!u)&&(d===this._tDur&&this._ts>0||!d&&this._ts<0)&&z5(this,1),!a&&!(c&&!s)&&(d||s||v)&&(Or(this,d===l?"onComplete":"onReverseComplete",!0),this._prom&&!(d<l&&this.timeScale()>0)&&this._prom()))}return this},t.targets=function(){return this._targets},t.invalidate=function(r){return(!r||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(r),n.prototype.invalidate.call(this,r)},t.resetTo=function(r,a,o,s,l){Yd||kr.wake(),this._ts||this.play();var u=Math.min(this._dur,(this._dp._time-this._start)*this._ts),c;return this._initted||GE(this,u),c=this._ease(u/this._dur),pse(this,r,a,o,s,c,u,l)?this.resetTo(r,a,o,s,1):(g_(this,0),this.parent||R$(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},t.kill=function(r,a){if(a===void 0&&(a="all"),!r&&(!a||a==="all"))return this._lazy=this._pt=0,this.parent?jc(this):this.scrollTrigger&&this.scrollTrigger.kill(!!Xn),this;if(this.timeline){var o=this.timeline.totalDuration();return this.timeline.killTweensOf(r,a,f5&&f5.vars.overwrite!==!0)._first||jc(this),this.parent&&o!==this.timeline.totalDuration()&&P7(this,this._dur*this.timeline._tDur/o,0,1),this}var s=this._targets,l=r?Ra(r):s,u=this._ptLookup,c=this._pt,d,h,f,p,g,m,v;if((!a||a==="all")&&joe(s,l))return a==="all"&&(this._pt=0),jc(this);for(d=this._op=this._op||[],a!=="all"&&(On(a)&&(g={},lr(a,function(_){return g[_]=1}),a=g),a=mse(s,a)),v=s.length;v--;)if(~l.indexOf(s[v])){h=u[v],a==="all"?(d[v]=a,p=h,f={}):(f=d[v]=d[v]||{},p=a);for(g in p)m=h&&h[g],m&&((!("kill"in m.d)||m.d.kill(g)===!0)&&p_(this,m,"_pt"),delete h[g]),f!=="all"&&(f[g]=1)}return this._initted&&!this._pt&&c&&jc(this),this},e.to=function(r,a){return new e(r,a,arguments[2])},e.from=function(r,a){return hd(1,arguments)},e.delayedCall=function(r,a,o,s){return new e(a,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:r,onComplete:a,onReverseComplete:a,onCompleteParams:o,onReverseCompleteParams:o,callbackScope:s})},e.fromTo=function(r,a,o){return hd(2,arguments)},e.set=function(r,a){return a.duration=0,a.repeatDelay||(a.repeat=0),new e(r,a)},e.killTweensOf=function(r,a,o){return E0.killTweensOf(r,a,o)},e}(qd);jr(sn.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});lr("staggerTo,staggerFrom,staggerFromTo",function(n){sn[n]=function(){var e=new ki,t=VA.call(arguments,0);return t.splice(n==="staggerFromTo"?5:4,0,0),e[n].apply(e,t)}});var VE=function(e,t,i){return e[t]=i},Q$=function(e,t,i){return e[t](i)},vse=function(e,t,i,r){return e[t](r.fp,i)},yse=function(e,t,i){return e.setAttribute(t,i)},HE=function(e,t){return B0(e[t])?Q$:IE(e[t])&&e.setAttribute?yse:VE},eY=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},_se=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},tY=function(e,t){var i=t._pt,r="";if(!e&&t.b)r=t.b;else if(e===1&&t.e)r=t.e;else{for(;i;)r=i.p+(i.m?i.m(i.s+i.c*e):Math.round((i.s+i.c*e)*1e4)/1e4)+r,i=i._next;r+=t.c}t.set(t.t,t.p,r,t)},WE=function(e,t){for(var i=t._pt;i;)i.r(e,i.d),i=i._next},Sse=function(e,t,i,r){for(var a=this._pt,o;a;)o=a._next,a.p===r&&a.modifier(e,t,i),a=o},bse=function(e){for(var t=this._pt,i,r;t;)r=t._next,t.p===e&&!t.op||t.op===e?p_(this,t,"_pt"):t.dep||(i=1),t=r;return!i},xse=function(e,t,i,r){r.mSet(e,t,r.m.call(r.tween,i,r.mt),r)},nY=function(e){for(var t=e._pt,i,r,a,o;t;){for(i=t._next,r=a;r&&r.pr>t.pr;)r=r._next;(t._prev=r?r._prev:o)?t._prev._next=t:a=t,(t._next=r)?r._prev=t:o=t,t=i}e._pt=a},ur=function(){function n(t,i,r,a,o,s,l,u,c){this.t=i,this.s=a,this.c=o,this.p=r,this.r=s||eY,this.d=l||this,this.set=u||VE,this.pr=c||0,this._next=t,t&&(t._prev=this)}var e=n.prototype;return e.modifier=function(i,r,a){this.mSet=this.mSet||this.set,this.set=xse,this.m=i,this.mt=a,this.tween=r},n}();lr(OE+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(n){return FE[n]=1});Wr.TweenMax=Wr.TweenLite=sn;Wr.TimelineLite=Wr.TimelineMax=ki;E0=new ki({sortChildren:!1,defaults:C7,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});Ur.stringFilter=j$;var O8=[],Ug={},wse=[],jN=0,Tse=0,Zb=function(e){return(Ug[e]||wse).map(function(t){return t()})},$A=function(){var e=Date.now(),t=[];e-jN>2&&(Zb("matchMediaInit"),O8.forEach(function(i){var r=i.queries,a=i.conditions,o,s,l,u;for(s in r)o=Bo.matchMedia(r[s]).matches,o&&(l=1),o!==a[s]&&(a[s]=o,u=1);u&&(i.revert(),l&&t.push(i))}),Zb("matchMediaRevert"),t.forEach(function(i){return i.onMatch(i,function(r){return i.add(null,r)})}),jN=e,Zb("matchMedia"))},iY=function(){function n(t,i){this.selector=i&&HA(i),this.data=[],this._r=[],this.isReverted=!1,this.id=Tse++,t&&this.add(t)}var e=n.prototype;return e.add=function(i,r,a){B0(i)&&(a=r,r=i,i=B0);var o=this,s=function(){var u=w0,c=o.selector,d;return u&&u!==o&&u.data.push(o),a&&(o.selector=HA(a)),w0=o,d=r.apply(o,arguments),B0(d)&&o._r.push(d),w0=u,o.selector=c,o.isReverted=!1,d};return o.last=s,i===B0?s(o,function(l){return o.add(null,l)}):i?o[i]=s:s},e.ignore=function(i){var r=w0;w0=null,i(this),w0=r},e.getTweens=function(){var i=[];return this.data.forEach(function(r){return r instanceof n?i.push.apply(i,r.getTweens()):r instanceof sn&&!(r.parent&&r.parent.data==="nested")&&i.push(r)}),i},e.clear=function(){this._r.length=this.data.length=0},e.kill=function(i,r){var a=this;if(i?function(){for(var s=a.getTweens(),l=a.data.length,u;l--;)u=a.data[l],u.data==="isFlip"&&(u.revert(),u.getChildren(!0,!0,!1).forEach(function(c){return s.splice(s.indexOf(c),1)}));for(s.map(function(c){return{g:c._dur||c._delay||c._sat&&!c._sat.vars.immediateRender?c.globalTime(0):-1/0,t:c}}).sort(function(c,d){return d.g-c.g||-1/0}).forEach(function(c){return c.t.revert(i)}),l=a.data.length;l--;)u=a.data[l],u instanceof ki?u.data!=="nested"&&(u.scrollTrigger&&u.scrollTrigger.revert(),u.kill()):!(u instanceof sn)&&u.revert&&u.revert(i);a._r.forEach(function(c){return c(i,a)}),a.isReverted=!0}():this.data.forEach(function(s){return s.kill&&s.kill()}),this.clear(),r)for(var o=O8.length;o--;)O8[o].id===this.id&&O8.splice(o,1)},e.revert=function(i){this.kill(i||{})},n}(),Ase=function(){function n(t){this.contexts=[],this.scope=t,w0&&w0.data.push(this)}var e=n.prototype;return e.add=function(i,r,a){os(i)||(i={matches:i});var o=new iY(0,a||this.scope),s=o.conditions={},l,u,c;w0&&!o.selector&&(o.selector=w0.selector),this.contexts.push(o),r=o.add("onMatch",r),o.queries=i;for(u in i)u==="all"?c=1:(l=Bo.matchMedia(i[u]),l&&(O8.indexOf(o)<0&&O8.push(o),(s[u]=l.matches)&&(c=1),l.addListener?l.addListener($A):l.addEventListener("change",$A)));return c&&r(o,function(d){return o.add(null,d)}),this},e.revert=function(i){this.kill(i||{})},e.kill=function(i){this.contexts.forEach(function(r){return r.kill(i,!0)})},n}(),Rv={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t.forEach(function(r){return V$(r)})},timeline:function(e){return new ki(e)},getTweensOf:function(e,t){return E0.getTweensOf(e,t)},getProperty:function(e,t,i,r){On(e)&&(e=Ra(e)[0]);var a=N8(e||{}).get,o=i?P$:E$;return i==="native"&&(i=""),e&&(t?o((Dr[t]&&Dr[t].get||a)(e,t,i,r)):function(s,l,u){return o((Dr[s]&&Dr[s].get||a)(e,s,l,u))})},quickSetter:function(e,t,i){if(e=Ra(e),e.length>1){var r=e.map(function(c){return fr.quickSetter(c,t,i)}),a=r.length;return function(c){for(var d=a;d--;)r[d](c)}}e=e[0]||{};var o=Dr[t],s=N8(e),l=s.harness&&(s.harness.aliases||{})[t]||t,u=o?function(c){var d=new o;X4._pt=0,d.init(e,i?c+i:c,X4,0,[e]),d.render(1,d),X4._pt&&WE(1,X4)}:s.set(e,l);return o?u:function(c){return u(e,l,i?c+i:c,s,1)}},quickTo:function(e,t,i){var r,a=fr.to(e,jr((r={},r[t]="+=0.1",r.paused=!0,r.stagger=0,r),i||{})),o=function(l,u,c){return a.resetTo(t,l,u,c)};return o.tween=a,o},isTweening:function(e){return E0.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=F8(e.ease,C7.ease)),UN(C7,e||{})},config:function(e){return UN(Ur,e||{})},registerEffect:function(e){var t=e.name,i=e.effect,r=e.plugins,a=e.defaults,o=e.extendTimeline;(r||"").split(",").forEach(function(s){return s&&!Dr[s]&&!Wr[s]&&Wd(t+" effect requires "+s+" plugin.")}),Yb[t]=function(s,l,u){return i(Ra(s),jr(l||{},a),u)},o&&(ki.prototype[t]=function(s,l,u){return this.add(Yb[t](s,os(l)?l:(u=l)&&{},this),u)})},registerEase:function(e,t){m1[e]=F8(t)},parseEase:function(e,t){return arguments.length?F8(e,t):m1},getById:function(e){return E0.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var i=new ki(e),r,a;for(i.smoothChildTiming=sr(e.smoothChildTiming),E0.remove(i),i._dp=0,i._time=i._tTime=E0._time,r=E0._first;r;)a=r._next,(t||!(!r._dur&&r instanceof sn&&r.vars.onComplete===r._targets[0]))&&Ho(i,r,r._start-r._delay),r=a;return Ho(E0,i,0),i},context:function(e,t){return e?new iY(e,t):w0},matchMedia:function(e){return new Ase(e)},matchMediaRefresh:function(){return O8.forEach(function(e){var t=e.conditions,i,r;for(r in t)t[r]&&(t[r]=!1,i=1);i&&e.revert()})||$A()},addEventListener:function(e,t){var i=Ug[e]||(Ug[e]=[]);~i.indexOf(t)||i.push(t)},removeEventListener:function(e,t){var i=Ug[e],r=i&&i.indexOf(t);r>=0&&i.splice(r,1)},utils:{wrap:ise,wrapYoyo:rse,distribute:F$,random:B$,snap:O$,normalize:nse,getUnit:vi,clamp:Joe,splitColor:H$,toArray:Ra,selector:HA,mapRange:U$,pipe:ese,unitize:tse,interpolate:ase,shuffle:k$},install:w$,effects:Yb,ticker:kr,updateRoot:ki.updateRoot,plugins:Dr,globalTimeline:E0,core:{PropTween:ur,globals:T$,Tween:sn,Timeline:ki,Animation:qd,getCache:N8,_removeLinkedListItem:p_,reverting:function(){return Xn},context:function(e){return e&&w0&&(w0.data.push(e),e._ctx=w0),w0},suppressOverwrites:function(e){return LE=e}}};lr("to,from,fromTo,delayedCall,set,killTweensOf",function(n){return Rv[n]=sn[n]});kr.add(ki.updateRoot);X4=Rv.to({},{duration:0});var Cse=function(e,t){for(var i=e._pt;i&&i.p!==t&&i.op!==t&&i.fp!==t;)i=i._next;return i},Mse=function(e,t){var i=e._targets,r,a,o;for(r in t)for(a=i.length;a--;)o=e._ptLookup[a][r],o&&(o=o.d)&&(o._pt&&(o=Cse(o,r)),o&&o.modifier&&o.modifier(t[r],e,i[a],r))},Jb=function(e,t){return{name:e,headless:1,rawVars:1,init:function(r,a,o){o._onInit=function(s){var l,u;if(On(a)&&(l={},lr(a,function(c){return l[c]=1}),a=l),t){l={};for(u in a)l[u]=t(a[u]);a=l}Mse(s,a)}}}},fr=Rv.registerPlugin({name:"attr",init:function(e,t,i,r,a){var o,s,l;this.tween=i;for(o in t)l=e.getAttribute(o)||"",s=this.add(e,"setAttribute",(l||0)+"",t[o],r,a,0,0,o),s.op=o,s.b=l,this._props.push(o)},render:function(e,t){for(var i=t._pt;i;)Xn?i.set(i.t,i.p,i.b,i):i.r(e,i.d),i=i._next}},{name:"endArray",headless:1,init:function(e,t){for(var i=t.length;i--;)this.add(e,i,e[i]||0,t[i],0,0,0,0,0,1)}},Jb("roundProps",WA),Jb("modifiers"),Jb("snap",O$))||Rv;sn.version=ki.version=fr.version="3.14.2";x$=1;DE()&&R7();m1.Power0;m1.Power1;m1.Power2;m1.Power3;m1.Power4;m1.Linear;m1.Quad;m1.Cubic;m1.Quart;m1.Quint;m1.Strong;m1.Elastic;m1.Back;m1.SteppedEase;m1.Bounce;m1.Sine;m1.Expo;m1.Circ;/*! |
|
|
* CSSPlugin 3.14.2 |
|
|
* https://gsap.com |
|
|
* |
|
|
* Copyright 2008-2025, GreenSock. All rights reserved. |
|
|
* Subject to the terms at https://gsap.com/standard-license |
|
|
* @author: Jack Doyle, jack@greensock.com |
|
|
*/var $N,p5,d7,jE,b8,YN,$E,Ese=function(){return typeof window!="undefined"},i6={},a8=180/Math.PI,h7=Math.PI/180,jl=Math.atan2,qN=1e8,YE=/([A-Z])/g,Pse=/(left|right|width|margin|padding|x)/i,Rse=/[\s,\(]\S/,Xo={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},YA=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Lse=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Ise=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Dse=function(e,t){return t.set(t.t,t.p,e===1?t.e:e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Nse=function(e,t){var i=t.s+t.c*e;t.set(t.t,t.p,~~(i+(i<0?-.5:.5))+t.u,t)},rY=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},aY=function(e,t){return t.set(t.t,t.p,e!==1?t.b:t.e,t)},kse=function(e,t,i){return e.style[t]=i},Fse=function(e,t,i){return e.style.setProperty(t,i)},Ose=function(e,t,i){return e._gsap[t]=i},Bse=function(e,t,i){return e._gsap.scaleX=e._gsap.scaleY=i},zse=function(e,t,i,r,a){var o=e._gsap;o.scaleX=o.scaleY=i,o.renderTransform(a,o)},Use=function(e,t,i,r,a){var o=e._gsap;o[t]=i,o.renderTransform(a,o)},P0="transform",cr=P0+"Origin",Gse=function n(e,t){var i=this,r=this.target,a=r.style,o=r._gsap;if(e in i6&&a){if(this.tfm=this.tfm||{},e!=="transform")e=Xo[e]||e,~e.indexOf(",")?e.split(",").forEach(function(s){return i.tfm[s]=Ws(r,s)}):this.tfm[e]=o.x?o[e]:Ws(r,e),e===cr&&(this.tfm.zOrigin=o.zOrigin);else return Xo.transform.split(",").forEach(function(s){return n.call(i,s,t)});if(this.props.indexOf(P0)>=0)return;o.svg&&(this.svgo=r.getAttribute("data-svg-origin"),this.props.push(cr,t,"")),e=P0}(a||t)&&this.props.push(e,t,a[e])},oY=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},Vse=function(){var e=this.props,t=this.target,i=t.style,r=t._gsap,a,o;for(a=0;a<e.length;a+=3)e[a+1]?e[a+1]===2?t[e[a]](e[a+2]):t[e[a]]=e[a+2]:e[a+2]?i[e[a]]=e[a+2]:i.removeProperty(e[a].substr(0,2)==="--"?e[a]:e[a].replace(YE,"-$1").toLowerCase());if(this.tfm){for(o in this.tfm)r[o]=this.tfm[o];r.svg&&(r.renderTransform(),t.setAttribute("data-svg-origin",this.svgo||"")),a=$E(),(!a||!a.isStart)&&!i[P0]&&(oY(i),r.zOrigin&&i[cr]&&(i[cr]+=" "+r.zOrigin+"px",r.zOrigin=0,r.renderTransform()),r.uncache=1)}},sY=function(e,t){var i={target:e,props:[],revert:Vse,save:Gse};return e._gsap||fr.core.getCache(e),t&&e.style&&e.nodeType&&t.split(",").forEach(function(r){return i.save(r)}),i},lY,qA=function(e,t){var i=p5.createElementNS?p5.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):p5.createElement(e);return i&&i.style?i:p5.createElement(e)},Br=function n(e,t,i){var r=getComputedStyle(e);return r[t]||r.getPropertyValue(t.replace(YE,"-$1").toLowerCase())||r.getPropertyValue(t)||!i&&n(e,L7(t)||t,1)||""},XN="O,Moz,ms,Ms,Webkit".split(","),L7=function(e,t,i){var r=t||b8,a=r.style,o=5;if(e in a&&!i)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);o--&&!(XN[o]+e in a););return o<0?null:(o===3?"ms":o>=0?XN[o]:"")+e},XA=function(){Ese()&&window.document&&($N=window,p5=$N.document,d7=p5.documentElement,b8=qA("div")||{style:{}},qA("div"),P0=L7(P0),cr=P0+"Origin",b8.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",lY=!!L7("perspective"),$E=fr.core.reverting,jE=1)},KN=function(e){var t=e.ownerSVGElement,i=qA("svg",t&&t.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),r=e.cloneNode(!0),a;r.style.display="block",i.appendChild(r),d7.appendChild(i);try{a=r.getBBox()}catch(o){}return i.removeChild(r),d7.removeChild(i),a},ZN=function(e,t){for(var i=t.length;i--;)if(e.hasAttribute(t[i]))return e.getAttribute(t[i])},uY=function(e){var t,i;try{t=e.getBBox()}catch(r){t=KN(e),i=1}return t&&(t.width||t.height)||i||(t=KN(e)),t&&!t.width&&!t.x&&!t.y?{x:+ZN(e,["x","cx","x1"])||0,y:+ZN(e,["y","cy","y1"])||0,width:0,height:0}:t},cY=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&uY(e))},U5=function(e,t){if(t){var i=e.style,r;t in i6&&t!==cr&&(t=P0),i.removeProperty?(r=t.substr(0,2),(r==="ms"||t.substr(0,6)==="webkit")&&(t="-"+t),i.removeProperty(r==="--"?t:t.replace(YE,"-$1").toLowerCase())):i.removeAttribute(t)}},m5=function(e,t,i,r,a,o){var s=new ur(e._pt,t,i,0,1,o?aY:rY);return e._pt=s,s.b=r,s.e=a,e._props.push(i),s},JN={deg:1,rad:1,turn:1},Hse={grid:1,flex:1},G5=function n(e,t,i,r){var a=parseFloat(i)||0,o=(i+"").trim().substr((a+"").length)||"px",s=b8.style,l=Pse.test(t),u=e.tagName.toLowerCase()==="svg",c=(u?"client":"offset")+(l?"Width":"Height"),d=100,h=r==="px",f=r==="%",p,g,m,v;if(r===o||!a||JN[r]||JN[o])return a;if(o!=="px"&&!h&&(a=n(e,t,i,"px")),v=e.getCTM&&cY(e),(f||o==="%")&&(i6[t]||~t.indexOf("adius")))return p=v?e.getBBox()[l?"width":"height"]:e[c],$0(f?a/p*d:a/100*p);if(s[l?"width":"height"]=d+(h?o:r),g=r!=="rem"&&~t.indexOf("adius")||r==="em"&&e.appendChild&&!u?e:e.parentNode,v&&(g=(e.ownerSVGElement||{}).parentNode),(!g||g===p5||!g.appendChild)&&(g=p5.body),m=g._gsap,m&&f&&m.width&&l&&m.time===kr.time&&!m.uncache)return $0(a/m.width*d);if(f&&(t==="height"||t==="width")){var _=e.style[t];e.style[t]=d+r,p=e[c],_?e.style[t]=_:U5(e,t)}else(f||o==="%")&&!Hse[Br(g,"display")]&&(s.position=Br(e,"position")),g===e&&(s.position="static"),g.appendChild(b8),p=b8[c],g.removeChild(b8),s.position="absolute";return l&&f&&(m=N8(g),m.time=kr.time,m.width=g[c]),$0(h?p*a/d:p&&a?d/p*a:0)},Ws=function(e,t,i,r){var a;return jE||XA(),t in Xo&&t!=="transform"&&(t=Xo[t],~t.indexOf(",")&&(t=t.split(",")[0])),i6[t]&&t!=="transform"?(a=Kd(e,r),a=t!=="transformOrigin"?a[t]:a.svg?a.origin:Iv(Br(e,cr))+" "+a.zOrigin+"px"):(a=e.style[t],(!a||a==="auto"||r||~(a+"").indexOf("calc("))&&(a=Lv[t]&&Lv[t](e,t,i)||Br(e,t)||C$(e,t)||(t==="opacity"?1:0))),i&&!~(a+"").trim().indexOf(" ")?G5(e,t,a,i)+i:a},Wse=function(e,t,i,r){if(!i||i==="none"){var a=L7(t,e,1),o=a&&Br(e,a,1);o&&o!==i?(t=a,i=o):t==="borderColor"&&(i=Br(e,"borderTopColor"))}var s=new ur(this._pt,e.style,t,0,1,tY),l=0,u=0,c,d,h,f,p,g,m,v,_,S,x,A;if(s.b=i,s.e=r,i+="",r+="",r.substring(0,6)==="var(--"&&(r=Br(e,r.substring(4,r.indexOf(")")))),r==="auto"&&(g=e.style[t],e.style[t]=r,r=Br(e,t)||r,g?e.style[t]=g:U5(e,t)),c=[i,r],j$(c),i=c[0],r=c[1],h=i.match(q4)||[],A=r.match(q4)||[],A.length){for(;d=q4.exec(r);)m=d[0],_=r.substring(l,d.index),p?p=(p+1)%5:(_.substr(-5)==="rgba("||_.substr(-5)==="hsla(")&&(p=1),m!==(g=h[u++]||"")&&(f=parseFloat(g)||0,x=g.substr((f+"").length),m.charAt(1)==="="&&(m=c7(f,m)+x),v=parseFloat(m),S=m.substr((v+"").length),l=q4.lastIndex-S.length,S||(S=S||Ur.units[t]||x,l===r.length&&(r+=S,s.e+=S)),x!==S&&(f=G5(e,t,g,S)||0),s._pt={_next:s._pt,p:_||u===1?_:",",s:f,c:v-f,m:p&&p<4||t==="zIndex"?Math.round:0});s.c=l<r.length?r.substring(l,r.length):""}else s.r=t==="display"&&r==="none"?aY:rY;return b$.test(r)&&(s.e=0),this._pt=s,s},QN={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},jse=function(e){var t=e.split(" "),i=t[0],r=t[1]||"50%";return(i==="top"||i==="bottom"||r==="left"||r==="right")&&(e=i,i=r,r=e),t[0]=QN[i]||i,t[1]=QN[r]||r,t.join(" ")},$se=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var i=t.t,r=i.style,a=t.u,o=i._gsap,s,l,u;if(a==="all"||a===!0)r.cssText="",l=1;else for(a=a.split(","),u=a.length;--u>-1;)s=a[u],i6[s]&&(l=1,s=s==="transformOrigin"?cr:P0),U5(i,s);l&&(U5(i,P0),o&&(o.svg&&i.removeAttribute("transform"),r.scale=r.rotate=r.translate="none",Kd(i,1),o.uncache=1,oY(r)))}},Lv={clearProps:function(e,t,i,r,a){if(a.data!=="isFromStart"){var o=e._pt=new ur(e._pt,t,i,0,0,$se);return o.u=r,o.pr=-10,o.tween=a,e._props.push(i),1}}},Xd=[1,0,0,1,0,0],dY={},hY=function(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},ek=function(e){var t=Br(e,P0);return hY(t)?Xd:t.substr(7).match(S$).map($0)},qE=function(e,t){var i=e._gsap||N8(e),r=e.style,a=ek(e),o,s,l,u;return i.svg&&e.getAttribute("transform")?(l=e.transform.baseVal.consolidate().matrix,a=[l.a,l.b,l.c,l.d,l.e,l.f],a.join(",")==="1,0,0,1,0,0"?Xd:a):(a===Xd&&!e.offsetParent&&e!==d7&&!i.svg&&(l=r.display,r.display="block",o=e.parentNode,(!o||!e.offsetParent&&!e.getBoundingClientRect().width)&&(u=1,s=e.nextElementSibling,d7.appendChild(e)),a=ek(e),l?r.display=l:U5(e,"display"),u&&(s?o.insertBefore(e,s):o?o.appendChild(e):d7.removeChild(e))),t&&a.length>6?[a[0],a[1],a[4],a[5],a[12],a[13]]:a)},KA=function(e,t,i,r,a,o){var s=e._gsap,l=a||qE(e,!0),u=s.xOrigin||0,c=s.yOrigin||0,d=s.xOffset||0,h=s.yOffset||0,f=l[0],p=l[1],g=l[2],m=l[3],v=l[4],_=l[5],S=t.split(" "),x=parseFloat(S[0])||0,A=parseFloat(S[1])||0,C,M,I,D;i?l!==Xd&&(M=f*m-p*g)&&(I=x*(m/M)+A*(-g/M)+(g*_-m*v)/M,D=x*(-p/M)+A*(f/M)-(f*_-p*v)/M,x=I,A=D):(C=uY(e),x=C.x+(~S[0].indexOf("%")?x/100*C.width:x),A=C.y+(~(S[1]||S[0]).indexOf("%")?A/100*C.height:A)),r||r!==!1&&s.smooth?(v=x-u,_=A-c,s.xOffset=d+(v*f+_*g)-v,s.yOffset=h+(v*p+_*m)-_):s.xOffset=s.yOffset=0,s.xOrigin=x,s.yOrigin=A,s.smooth=!!r,s.origin=t,s.originIsAbsolute=!!i,e.style[cr]="0px 0px",o&&(m5(o,s,"xOrigin",u,x),m5(o,s,"yOrigin",c,A),m5(o,s,"xOffset",d,s.xOffset),m5(o,s,"yOffset",h,s.yOffset)),e.setAttribute("data-svg-origin",x+" "+A)},Kd=function(e,t){var i=e._gsap||new X$(e);if("x"in i&&!t&&!i.uncache)return i;var r=e.style,a=i.scaleX<0,o="px",s="deg",l=getComputedStyle(e),u=Br(e,cr)||"0",c,d,h,f,p,g,m,v,_,S,x,A,C,M,I,D,E,L,V,Y,G,W,q,ce,J,H,re,ee,se,Be,we,ve;return c=d=h=g=m=v=_=S=x=0,f=p=1,i.svg=!!(e.getCTM&&cY(e)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(r[P0]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[P0]!=="none"?l[P0]:"")),r.scale=r.rotate=r.translate="none"),M=qE(e,i.svg),i.svg&&(i.uncache?(J=e.getBBox(),u=i.xOrigin-J.x+"px "+(i.yOrigin-J.y)+"px",ce=""):ce=!t&&e.getAttribute("data-svg-origin"),KA(e,ce||u,!!ce||i.originIsAbsolute,i.smooth!==!1,M)),A=i.xOrigin||0,C=i.yOrigin||0,M!==Xd&&(L=M[0],V=M[1],Y=M[2],G=M[3],c=W=M[4],d=q=M[5],M.length===6?(f=Math.sqrt(L*L+V*V),p=Math.sqrt(G*G+Y*Y),g=L||V?jl(V,L)*a8:0,_=Y||G?jl(Y,G)*a8+g:0,_&&(p*=Math.abs(Math.cos(_*h7))),i.svg&&(c-=A-(A*L+C*Y),d-=C-(A*V+C*G))):(ve=M[6],Be=M[7],re=M[8],ee=M[9],se=M[10],we=M[11],c=M[12],d=M[13],h=M[14],I=jl(ve,se),m=I*a8,I&&(D=Math.cos(-I),E=Math.sin(-I),ce=W*D+re*E,J=q*D+ee*E,H=ve*D+se*E,re=W*-E+re*D,ee=q*-E+ee*D,se=ve*-E+se*D,we=Be*-E+we*D,W=ce,q=J,ve=H),I=jl(-Y,se),v=I*a8,I&&(D=Math.cos(-I),E=Math.sin(-I),ce=L*D-re*E,J=V*D-ee*E,H=Y*D-se*E,we=G*E+we*D,L=ce,V=J,Y=H),I=jl(V,L),g=I*a8,I&&(D=Math.cos(I),E=Math.sin(I),ce=L*D+V*E,J=W*D+q*E,V=V*D-L*E,q=q*D-W*E,L=ce,W=J),m&&Math.abs(m)+Math.abs(g)>359.9&&(m=g=0,v=180-v),f=$0(Math.sqrt(L*L+V*V+Y*Y)),p=$0(Math.sqrt(q*q+ve*ve)),I=jl(W,q),_=Math.abs(I)>2e-4?I*a8:0,x=we?1/(we<0?-we:we):0),i.svg&&(ce=e.getAttribute("transform"),i.forceCSS=e.setAttribute("transform","")||!hY(Br(e,P0)),ce&&e.setAttribute("transform",ce))),Math.abs(_)>90&&Math.abs(_)<270&&(a?(f*=-1,_+=g<=0?180:-180,g+=g<=0?180:-180):(p*=-1,_+=_<=0?180:-180)),t=t||i.uncache,i.x=c-((i.xPercent=c&&(!t&&i.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-c)?-50:0)))?e.offsetWidth*i.xPercent/100:0)+o,i.y=d-((i.yPercent=d&&(!t&&i.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-d)?-50:0)))?e.offsetHeight*i.yPercent/100:0)+o,i.z=h+o,i.scaleX=$0(f),i.scaleY=$0(p),i.rotation=$0(g)+s,i.rotationX=$0(m)+s,i.rotationY=$0(v)+s,i.skewX=_+s,i.skewY=S+s,i.transformPerspective=x+o,(i.zOrigin=parseFloat(u.split(" ")[2])||!t&&i.zOrigin||0)&&(r[cr]=Iv(u)),i.xOffset=i.yOffset=0,i.force3D=Ur.force3D,i.renderTransform=i.svg?qse:lY?fY:Yse,i.uncache=0,i},Iv=function(e){return(e=e.split(" "))[0]+" "+e[1]},Qb=function(e,t,i){var r=vi(t);return $0(parseFloat(t)+parseFloat(G5(e,"x",i+"px",r)))+r},Yse=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,fY(e,t)},A9="0deg",Ju="0px",C9=") ",fY=function(e,t){var i=t||this,r=i.xPercent,a=i.yPercent,o=i.x,s=i.y,l=i.z,u=i.rotation,c=i.rotationY,d=i.rotationX,h=i.skewX,f=i.skewY,p=i.scaleX,g=i.scaleY,m=i.transformPerspective,v=i.force3D,_=i.target,S=i.zOrigin,x="",A=v==="auto"&&e&&e!==1||v===!0;if(S&&(d!==A9||c!==A9)){var C=parseFloat(c)*h7,M=Math.sin(C),I=Math.cos(C),D;C=parseFloat(d)*h7,D=Math.cos(C),o=Qb(_,o,M*D*-S),s=Qb(_,s,-Math.sin(C)*-S),l=Qb(_,l,I*D*-S+S)}m!==Ju&&(x+="perspective("+m+C9),(r||a)&&(x+="translate("+r+"%, "+a+"%) "),(A||o!==Ju||s!==Ju||l!==Ju)&&(x+=l!==Ju||A?"translate3d("+o+", "+s+", "+l+") ":"translate("+o+", "+s+C9),u!==A9&&(x+="rotate("+u+C9),c!==A9&&(x+="rotateY("+c+C9),d!==A9&&(x+="rotateX("+d+C9),(h!==A9||f!==A9)&&(x+="skew("+h+", "+f+C9),(p!==1||g!==1)&&(x+="scale("+p+", "+g+C9),_.style[P0]=x||"translate(0, 0)"},qse=function(e,t){var i=t||this,r=i.xPercent,a=i.yPercent,o=i.x,s=i.y,l=i.rotation,u=i.skewX,c=i.skewY,d=i.scaleX,h=i.scaleY,f=i.target,p=i.xOrigin,g=i.yOrigin,m=i.xOffset,v=i.yOffset,_=i.forceCSS,S=parseFloat(o),x=parseFloat(s),A,C,M,I,D;l=parseFloat(l),u=parseFloat(u),c=parseFloat(c),c&&(c=parseFloat(c),u+=c,l+=c),l||u?(l*=h7,u*=h7,A=Math.cos(l)*d,C=Math.sin(l)*d,M=Math.sin(l-u)*-h,I=Math.cos(l-u)*h,u&&(c*=h7,D=Math.tan(u-c),D=Math.sqrt(1+D*D),M*=D,I*=D,c&&(D=Math.tan(c),D=Math.sqrt(1+D*D),A*=D,C*=D)),A=$0(A),C=$0(C),M=$0(M),I=$0(I)):(A=d,I=h,C=M=0),(S&&!~(o+"").indexOf("px")||x&&!~(s+"").indexOf("px"))&&(S=G5(f,"x",o,"px"),x=G5(f,"y",s,"px")),(p||g||m||v)&&(S=$0(S+p-(p*A+g*M)+m),x=$0(x+g-(p*C+g*I)+v)),(r||a)&&(D=f.getBBox(),S=$0(S+r/100*D.width),x=$0(x+a/100*D.height)),D="matrix("+A+","+C+","+M+","+I+","+S+","+x+")",f.setAttribute("transform",D),_&&(f.style[P0]=D)},Xse=function(e,t,i,r,a){var o=360,s=On(a),l=parseFloat(a)*(s&&~a.indexOf("rad")?a8:1),u=l-r,c=r+u+"deg",d,h;return s&&(d=a.split("_")[1],d==="short"&&(u%=o,u!==u%(o/2)&&(u+=u<0?o:-o)),d==="cw"&&u<0?u=(u+o*qN)%o-~~(u/o)*o:d==="ccw"&&u>0&&(u=(u-o*qN)%o-~~(u/o)*o)),e._pt=h=new ur(e._pt,t,i,r,u,Lse),h.e=c,h.u="deg",e._props.push(i),h},tk=function(e,t){for(var i in t)e[i]=t[i];return e},Kse=function(e,t,i){var r=tk({},i._gsap),a="perspective,force3D,transformOrigin,svgOrigin",o=i.style,s,l,u,c,d,h,f,p;r.svg?(u=i.getAttribute("transform"),i.setAttribute("transform",""),o[P0]=t,s=Kd(i,1),U5(i,P0),i.setAttribute("transform",u)):(u=getComputedStyle(i)[P0],o[P0]=t,s=Kd(i,1),o[P0]=u);for(l in i6)u=r[l],c=s[l],u!==c&&a.indexOf(l)<0&&(f=vi(u),p=vi(c),d=f!==p?G5(i,l,u,p):parseFloat(u),h=parseFloat(c),e._pt=new ur(e._pt,s,l,d,h-d,YA),e._pt.u=p||0,e._props.push(l));tk(s,r)};lr("padding,margin,Width,Radius",function(n,e){var t="Top",i="Right",r="Bottom",a="Left",o=(e<3?[t,i,r,a]:[t+a,t+i,r+i,r+a]).map(function(s){return e<2?n+s:"border"+s+n});Lv[e>1?"border"+n:n]=function(s,l,u,c,d){var h,f;if(arguments.length<4)return h=o.map(function(p){return Ws(s,p,u)}),f=h.join(" "),f.split(h[0]).length===5?h[0]:f;h=(c+"").split(" "),f={},o.forEach(function(p,g){return f[p]=h[g]=h[g]||h[(g-1)/2|0]}),s.init(l,f,d)}});var pY={name:"css",register:XA,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,i,r,a){var o=this._props,s=e.style,l=i.vars.startAt,u,c,d,h,f,p,g,m,v,_,S,x,A,C,M,I,D;jE||XA(),this.styles=this.styles||sY(e),I=this.styles.props,this.tween=i;for(g in t)if(g!=="autoRound"&&(c=t[g],!(Dr[g]&&K$(g,t,i,r,e,a)))){if(f=typeof c,p=Lv[g],f==="function"&&(c=c.call(i,r,e,a),f=typeof c),f==="string"&&~c.indexOf("random(")&&(c=$d(c)),p)p(this,e,g,c,i)&&(M=1);else if(g.substr(0,2)==="--")u=(getComputedStyle(e).getPropertyValue(g)+"").trim(),c+="",R5.lastIndex=0,R5.test(u)||(m=vi(u),v=vi(c),v?m!==v&&(u=G5(e,g,u,v)+v):m&&(c+=m)),this.add(s,"setProperty",u,c,r,a,0,0,g),o.push(g),I.push(g,0,s[g]);else if(f!=="undefined"){if(l&&g in l?(u=typeof l[g]=="function"?l[g].call(i,r,e,a):l[g],On(u)&&~u.indexOf("random(")&&(u=$d(u)),vi(u+"")||u==="auto"||(u+=Ur.units[g]||vi(Ws(e,g))||""),(u+"").charAt(1)==="="&&(u=Ws(e,g))):u=Ws(e,g),h=parseFloat(u),_=f==="string"&&c.charAt(1)==="="&&c.substr(0,2),_&&(c=c.substr(2)),d=parseFloat(c),g in Xo&&(g==="autoAlpha"&&(h===1&&Ws(e,"visibility")==="hidden"&&d&&(h=0),I.push("visibility",0,s.visibility),m5(this,s,"visibility",h?"inherit":"hidden",d?"inherit":"hidden",!d)),g!=="scale"&&g!=="transform"&&(g=Xo[g],~g.indexOf(",")&&(g=g.split(",")[0]))),S=g in i6,S){if(this.styles.save(g),D=c,f==="string"&&c.substring(0,6)==="var(--"){if(c=Br(e,c.substring(4,c.indexOf(")"))),c.substring(0,5)==="calc("){var E=e.style.perspective;e.style.perspective=c,c=Br(e,"perspective"),E?e.style.perspective=E:U5(e,"perspective")}d=parseFloat(c)}if(x||(A=e._gsap,A.renderTransform&&!t.parseTransform||Kd(e,t.parseTransform),C=t.smoothOrigin!==!1&&A.smooth,x=this._pt=new ur(this._pt,s,P0,0,1,A.renderTransform,A,0,-1),x.dep=1),g==="scale")this._pt=new ur(this._pt,A,"scaleY",A.scaleY,(_?c7(A.scaleY,_+d):d)-A.scaleY||0,YA),this._pt.u=0,o.push("scaleY",g),g+="X";else if(g==="transformOrigin"){I.push(cr,0,s[cr]),c=jse(c),A.svg?KA(e,c,0,C,0,this):(v=parseFloat(c.split(" ")[2])||0,v!==A.zOrigin&&m5(this,A,"zOrigin",A.zOrigin,v),m5(this,s,g,Iv(u),Iv(c)));continue}else if(g==="svgOrigin"){KA(e,c,1,C,0,this);continue}else if(g in dY){Xse(this,A,g,h,_?c7(h,_+c):c);continue}else if(g==="smoothOrigin"){m5(this,A,"smooth",A.smooth,c);continue}else if(g==="force3D"){A[g]=c;continue}else if(g==="transform"){Kse(this,c,e);continue}}else g in s||(g=L7(g)||g);if(S||(d||d===0)&&(h||h===0)&&!Rse.test(c)&&g in s)m=(u+"").substr((h+"").length),d||(d=0),v=vi(c)||(g in Ur.units?Ur.units[g]:m),m!==v&&(h=G5(e,g,u,v)),this._pt=new ur(this._pt,S?A:s,g,h,(_?c7(h,_+d):d)-h,!S&&(v==="px"||g==="zIndex")&&t.autoRound!==!1?Nse:YA),this._pt.u=v||0,S&&D!==c?(this._pt.b=u,this._pt.e=D,this._pt.r=Dse):m!==v&&v!=="%"&&(this._pt.b=u,this._pt.r=Ise);else if(g in s)Wse.call(this,e,g,u,_?_+c:c);else if(g in e)this.add(e,g,u||e[g],_?_+c:c,r,a);else if(g!=="parseTransform"){kE(g,c);continue}S||(g in s?I.push(g,0,s[g]):typeof e[g]=="function"?I.push(g,2,e[g]()):I.push(g,1,u||e[g])),o.push(g)}}M&&nY(this)},render:function(e,t){if(t.tween._time||!$E())for(var i=t._pt;i;)i.r(e,i.d),i=i._next;else t.styles.revert()},get:Ws,aliases:Xo,getSetter:function(e,t,i){var r=Xo[t];return r&&r.indexOf(",")<0&&(t=r),t in i6&&t!==cr&&(e._gsap.x||Ws(e,"x"))?i&&YN===i?t==="scale"?Bse:Ose:(YN=i||{})&&(t==="scale"?zse:Use):e.style&&!IE(e.style[t])?kse:~t.indexOf("-")?Fse:HE(e,t)},core:{_removeProperty:U5,_getMatrix:qE}};fr.utils.checkPrefix=L7;fr.core.getStyleSaver=sY;(function(n,e,t,i){var r=lr(n+","+e+","+t,function(a){i6[a]=1});lr(e,function(a){Ur.units[a]="deg",dY[a]=1}),Xo[r[13]]=n+","+e,lr(i,function(a){var o=a.split(":");Xo[o[1]]=r[o[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");lr("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(n){Ur.units[n]="px"});fr.registerPlugin(pY);var O0=fr.registerPlugin(pY)||fr;O0.core.Tween;const Zse={name:"SvglineAnimation",props:{width:{type:Number,default:135},height:{type:Number,default:150},path:{type:String,default:"M0 72.5H682L732 0.5H3082"},color:{type:String,default:"#0091FF"},duration:{type:Number,default:3},length:{type:Number,default:100},begin:{type:Number,default:0},dir:{type:Array,default:()=>[0,1]},strokeWidth:{type:Number,default:4}},data(){let n=1;return{maskId:"svgline-"+n,radialGradientId:"radialGradient-"+n}},mounted(){let n=this._.uid;this.maskId="svgline-"+n,this.radialGradientId="radialGradient-"+n}},Jse={class:"svg-line-animation"},Qse=["viewBox"],e6e=["id"],t6e=["stop-opacity"],n6e=["stop-opacity"],i6e=["id"],r6e=["r","fill"],a6e=["begin","dur","path","keyPoints"],o6e=["d","stroke","stroke-width","mask"];function s6e(n,e,t,i,r,a){return Ee(),De("div",Jse,[(Ee(),De("svg",{width:"100%",height:"100%",viewBox:`0 0 ${t.width} ${t.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[k("defs",null,[k("radialGradient",{id:r.radialGradientId,cx:"50%",cy:"50%",fx:"100%",fy:"50%",r:"50%"},[k("stop",{offset:"0%","stop-color":"#fff","stop-opacity":t.dir[1]},null,8,t6e),k("stop",{offset:"100%","stop-color":"#fff","stop-opacity":t.dir[0]},null,8,n6e)],8,e6e),k("mask",{id:r.maskId},[k("circle",{r:t.length,cx:"0",cy:"0",fill:`url(#${r.radialGradientId})`},[k("animateMotion",{begin:`${t.begin}s`,dur:`${t.duration}s`,path:t.path,rotate:"auto",keyPoints:`${t.dir[0]};${t.dir[1]}`,keyTimes:"0;1",repeatCount:"indefinite"},null,8,a6e)],8,r6e)],8,i6e)]),k("path",{class:"path-line",d:t.path,stroke:t.color,"stroke-width":t.strokeWidth,mask:`url(#${r.maskId})`},null,8,o6e)],8,Qse))])}const Dv=h_(Zse,[["render",s6e]]);const l6e={class:"m-header"},u6e={class:"m-header-wrap"},c6e={class:"m-header-title"},d6e={class:"m-header-subtext"},h6e={class:"m-header-left",style:{color:"#fff"}},f6e={class:"m-header-right"},p6e={class:"m-header-line"},m6e={__name:"index",props:{title:{type:String,default:"红原县数字畜牧业监管平台"},subText:{type:String,default:"Hongyuan Digital Animal Husbandry Supervision Platform"}},setup(n){return(e,t)=>(Ee(),De("div",l6e,[k("div",u6e,[k("div",c6e,Ue(n.title),1),k("div",d6e,Ue(n.subText),1)]),k("div",h6e,[A7(e.$slots,"left")]),k("div",f6e,[A7(e.$slots,"right")]),k("div",p6e,[dt(Dv,{class:"m-header-line-left",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"}),dt(Dv,{class:"m-header-line-right",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"})])]))}};const g6e={class:"m-menu"},v6e={__name:"index",props:{defaultActive:{type:[String,Number],default:""}},emits:["select"],setup(n,{emit:e}){const t=e,i=n,r=U2(i.defaultActive);return DN("updateActive",o=>{o!==r.value&&(r.value=o,t("select",o))}),DN("activeIndex",r),U1(()=>i.defaultActive,o=>{o!==r.value&&(r.value=o)}),(o,s)=>(Ee(),De("div",g6e,[A7(o.$slots,"default")]))}},y6e={__name:"index",props:{index:{type:[String,Number],required:!0}},setup(n){const e=n,t=Y4("updateActive"),i=Y4("activeIndex"),r=()=>{t(e.index)};return(a,o)=>(Ee(),De("div",{class:Ht(["m-menu-item",{"is-active":n.index===_1(i)}]),onClick:r},[A7(a.$slots,"default")],2))}};let nk=0;const ik="webkit moz ms o".split(" ");let zo,Uo;const _6e=typeof window=="undefined";if(_6e)zo=function(){},Uo=function(){};else{zo=window.requestAnimationFrame,Uo=window.cancelAnimationFrame;let n;for(let e=0;e<ik.length&&!(zo&&Uo);e++)n=ik[e],zo=zo||window[n+"RequestAnimationFrame"],Uo=Uo||window[n+"CancelAnimationFrame"]||window[n+"CancelRequestAnimationFrame"];(!zo||!Uo)&&(zo=function(e){const t=new Date().getTime(),i=Math.max(0,16-(t-nk)),r=window.setTimeout(()=>{e(t+i)},i);return nk=t+i,r},Uo=function(e){window.clearTimeout(e)})}const S6e={props:{startVal:{type:Number,required:!1,default:0},endVal:{type:Number,required:!1,default:2017},duration:{type:Number,required:!1,default:3e3},autoplay:{type:Boolean,required:!1,default:!0},decimals:{type:Number,required:!1,default:0,validator(n){return n>=0}},decimal:{type:String,required:!1,default:"."},separator:{type:String,required:!1,default:","},prefix:{type:String,required:!1,default:""},suffix:{type:String,required:!1,default:""},useEasing:{type:Boolean,required:!1,default:!0},easingFn:{type:Function,default(n,e,t,i){return t*(-Math.pow(2,-10*n/i)+1)*1024/1023+e}}},data(){return{localStartVal:this.startVal,displayValue:this.formatNumber(this.startVal),printVal:null,paused:!1,localDuration:this.duration,startTime:null,timestamp:null,remaining:null,rAF:null}},computed:{countDown(){return this.startVal>this.endVal}},watch:{startVal(){this.autoplay&&this.start()},endVal(){this.autoplay&&this.start()}},mounted(){this.autoplay&&this.start(),this.$emit("mountedCallback")},methods:{start(){this.localStartVal=this.startVal,this.startTime=null,this.localDuration=this.duration,this.paused=!1,this.rAF=zo(this.count)},pauseResume(){this.paused?(this.resume(),this.paused=!1):(this.pause(),this.paused=!0)},pause(){Uo(this.rAF)},resume(){this.startTime=null,this.localDuration=+this.remaining,this.localStartVal=+this.printVal,zo(this.count)},reset(){this.startTime=null,Uo(this.rAF),this.displayValue=this.formatNumber(this.startVal)},count(n){this.startTime||(this.startTime=n),this.timestamp=n;const e=n-this.startTime;this.remaining=this.localDuration-e,this.useEasing?this.countDown?this.printVal=this.localStartVal-this.easingFn(e,0,this.localStartVal-this.endVal,this.localDuration):this.printVal=this.easingFn(e,this.localStartVal,this.endVal-this.localStartVal,this.localDuration):this.countDown?this.printVal=this.localStartVal-(this.localStartVal-this.endVal)*(e/this.localDuration):this.printVal=this.localStartVal+(this.endVal-this.localStartVal)*(e/this.localDuration),this.countDown?this.printVal=this.printVal<this.endVal?this.endVal:this.printVal:this.printVal=this.printVal>this.endVal?this.endVal:this.printVal,this.displayValue=this.formatNumber(this.printVal),e<this.localDuration?this.rAF=zo(this.count):this.$emit("callback")},isNumber(n){return!isNaN(parseFloat(n))},formatNumber(n){n=n.toFixed(this.decimals),n+="";const e=n.split(".");let t=e[0];const i=e.length>1?this.decimal+e[1]:"",r=/(\d+)(\d{3})/;if(this.separator&&!this.isNumber(this.separator))for(;r.test(t);)t=t.replace(r,"$1"+this.separator+"$2");return this.prefix+t+i+this.suffix}},destroyed(){Uo(this.rAF)}};function b6e(n,e,t,i,r,a){return Ee(),De("span",null,Ue(r.displayValue),1)}const mY=h_(S6e,[["render",b6e]]);typeof window!="undefined"&&window.Vue&&window.Vue.component("count-to",mY);const x6e={class:"count-card-left"},w6e={class:"count-card-title"},T6e={class:"title-zh"},A6e={key:0,class:"title-en"},C6e={class:"count-card-right"},M6e={class:"unit"},E6e={__name:"index",props:{info:{type:Object,default:()=>({icon:"xiaoshoujine",zh:"2023年销售金额",en:"Sales amount in 2023",value:9500,unit:"万元",decimals:0})}},setup(n){const e=n,t=U2(!0),i=U2(!1),r=U2(0);let a=null;const o=Ze(()=>e.info.duration||1800);U1(()=>[e.info.value,e.info.zh],()=>{a&&window.clearTimeout(a),t.value=!0,i.value=!1,r.value+=1},{immediate:!0});function s(c){return c.toUpperCase()}function l(){t.value=!0,i.value=!1}function u(){t.value=!1,i.value=!0,a&&window.clearTimeout(a),a=window.setTimeout(()=>{i.value=!1},900)}return Yr(()=>{a&&window.clearTimeout(a)}),(c,d)=>(Ee(),De("div",{class:Ht(["count-card",{"is-counting":t.value,"is-settled":i.value}])},[k("div",x6e,[k("div",{class:Ht(["count-card-icon","icon-"+n.info.icon])},null,2),k("div",w6e,[k("div",T6e,Ue(n.info.zh),1),n.info.en?(Ee(),De("div",A6e,Ue(s(n.info.en)),1)):Tt("",!0)])]),k("div",C6e,[(Ee(),De("div",{class:"value",key:r.value},[dt(_1(mY),{startVal:0,endVal:n.info.value,decimals:n.info.decimals,duration:o.value,separator:"",autoplay:!0,onMountedCallback:l,onCallback:u},null,8,["endVal","decimals","duration"])])),k("div",M6e,Ue(n.info.unit),1)])],2))}};/*! ***************************************************************************** |
|
|
Copyright (c) Microsoft Corporation. |
|
|
|
|
|
Permission to use, copy, modify, and/or distribute this software for any |
|
|
purpose with or without fee is hereby granted. |
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH |
|
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
|
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, |
|
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM |
|
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR |
|
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
|
|
PERFORMANCE OF THIS SOFTWARE. |
|
|
***************************************************************************** */var ZA=function(n,e){return ZA=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},ZA(n,e)};function g2(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ZA(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var P6e=function(){function n(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return n}(),R6e=function(){function n(){this.browser=new P6e,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window!="undefined"}return n}(),n5=new R6e;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(n5.wxa=!0,n5.touchEventsSupported=!0):typeof document=="undefined"&&typeof self!="undefined"?n5.worker=!0:!n5.hasGlobalWindow||"Deno"in window?(n5.node=!0,n5.svgSupported=!0):L6e(navigator.userAgent,n5);function L6e(n,e){var t=e.browser,i=n.match(/Firefox\/([\d.]+)/),r=n.match(/MSIE\s([\d.]+)/)||n.match(/Trident\/.+?rv:(([\d.]+))/),a=n.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(n);i&&(t.firefox=!0,t.version=i[1]),r&&(t.ie=!0,t.version=r[1]),a&&(t.edge=!0,t.version=a[1],t.newEdge=+a[1].split(".")[0]>18),o&&(t.weChat=!0),e.svgSupported=typeof SVGRect!="undefined",e.touchEventsSupported="ontouchstart"in window&&!t.ie&&!t.edge,e.pointerEventsSupported="onpointerdown"in window&&(t.edge||t.ie&&+t.version>=11),e.domSupported=typeof document!="undefined";var s=document.documentElement.style;e.transform3dSupported=(t.ie&&"transition"in s||t.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||t.ie&&+t.version>=9}const $3=n5;var XE=12,gY="sans-serif",V5=XE+"px "+gY,I6e=20,D6e=100,N6e="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function k6e(n){var e={};if(typeof JSON=="undefined")return e;for(var t=0;t<n.length;t++){var i=String.fromCharCode(t+32),r=(n.charCodeAt(t)-I6e)/D6e;e[i]=r}return e}var F6e=k6e(N6e),H5={createCanvas:function(){return typeof document!="undefined"&&document.createElement("canvas")},measureText:function(){var n,e;return function(t,i){if(!n){var r=H5.createCanvas();n=r&&r.getContext("2d")}if(n)return e!==i&&(e=n.font=i||V5),n.measureText(t);t=t||"",i=i||V5;var a=/((?:\d+)?\.?\d*)px/.exec(i),o=a&&+a[1]||XE,s=0;if(i.indexOf("mono")>=0)s=o*t.length;else for(var l=0;l<t.length;l++){var u=F6e[t[l]];s+=u==null?o:u*o}return{width:s}}}(),loadImage:function(n,e,t){var i=new Image;return i.onload=e,i.onerror=t,i.src=n,i}},vY=ss(["Function","RegExp","Date","Error","CanvasGradient","CanvasPattern","Image","Canvas"],function(n,e){return n["[object "+e+"]"]=!0,n},{}),yY=ss(["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],function(n,e){return n["[object "+e+"Array]"]=!0,n},{}),au=Object.prototype.toString,v_=Array.prototype,O6e=v_.forEach,B6e=v_.filter,KE=v_.slice,z6e=v_.map,rk=function(){}.constructor,Mp=rk?rk.prototype:null,ZE="__proto__",U6e=2311;function _Y(){return U6e++}function JE(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];typeof console!="undefined"&&console.error.apply(console,n)}function $t(n){if(n==null||typeof n!="object")return n;var e=n,t=au.call(n);if(t==="[object Array]"){if(!pd(n)){e=[];for(var i=0,r=n.length;i<r;i++)e[i]=$t(n[i])}}else if(yY[t]){if(!pd(n)){var a=n.constructor;if(a.from)e=a.from(n);else{e=new a(n.length);for(var i=0,r=n.length;i<r;i++)e[i]=n[i]}}}else if(!vY[t]&&!pd(n)&&!I7(n)){e={};for(var o in n)n.hasOwnProperty(o)&&o!==ZE&&(e[o]=$t(n[o]))}return e}function l3(n,e,t){if(!jt(e)||!jt(n))return t?$t(e):n;for(var i in e)if(e.hasOwnProperty(i)&&i!==ZE){var r=n[i],a=e[i];jt(a)&&jt(r)&&!H2(a)&&!H2(r)&&!I7(a)&&!I7(r)&&!ak(a)&&!ak(r)&&!pd(a)&&!pd(r)?l3(r,a,t):(t||!(i in n))&&(n[i]=$t(e[i]))}return n}function QE(n,e){for(var t=n[0],i=1,r=n.length;i<r;i++)t=l3(t,n[i],e);return t}function L2(n,e){if(Object.assign)Object.assign(n,e);else for(var t in e)e.hasOwnProperty(t)&&t!==ZE&&(n[t]=e[t]);return n}function Vt(n,e,t){for(var i=E3(e),r=0,a=i.length;r<a;r++){var o=i[r];(t?e[o]!=null:n[o]==null)&&(n[o]=e[o])}return n}function _3(n,e){if(n){if(n.indexOf)return n.indexOf(e);for(var t=0,i=n.length;t<i;t++)if(n[t]===e)return t}return-1}function G6e(n,e){var t=n.prototype;function i(){}i.prototype=e.prototype,n.prototype=new i;for(var r in t)t.hasOwnProperty(r)&&(n.prototype[r]=t[r]);n.prototype.constructor=n,n.superClass=e}function en(n,e,t){if(n="prototype"in n?n.prototype:n,e="prototype"in e?e.prototype:e,Object.getOwnPropertyNames)for(var i=Object.getOwnPropertyNames(e),r=0;r<i.length;r++){var a=i[r];a!=="constructor"&&(t?e[a]!=null:n[a]==null)&&(n[a]=e[a])}else Vt(n,e,t)}function Si(n){return!n||typeof n=="string"?!1:typeof n.length=="number"}function ne(n,e,t){if(n&&e)if(n.forEach&&n.forEach===O6e)n.forEach(e,t);else if(n.length===+n.length)for(var i=0,r=n.length;i<r;i++)e.call(t,n[i],i,n);else for(var a in n)n.hasOwnProperty(a)&&e.call(t,n[a],a,n)}function j2(n,e,t){if(!n)return[];if(!e)return eP(n);if(n.map&&n.map===z6e)return n.map(e,t);for(var i=[],r=0,a=n.length;r<a;r++)i.push(e.call(t,n[r],r,n));return i}function ss(n,e,t,i){if(n&&e){for(var r=0,a=n.length;r<a;r++)t=e.call(i,t,n[r],r,n);return t}}function c1(n,e,t){if(!n)return[];if(!e)return eP(n);if(n.filter&&n.filter===B6e)return n.filter(e,t);for(var i=[],r=0,a=n.length;r<a;r++)e.call(t,n[r],r,n)&&i.push(n[r]);return i}function V6e(n,e,t){if(n&&e){for(var i=0,r=n.length;i<r;i++)if(e.call(t,n[i],i,n))return n[i]}}function E3(n){if(!n)return[];if(Object.keys)return Object.keys(n);var e=[];for(var t in n)n.hasOwnProperty(t)&&e.push(t);return e}function H6e(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return function(){return n.apply(e,t.concat(KE.call(arguments)))}}var St=Mp&&Gt(Mp.bind)?Mp.call.bind(Mp.bind):H6e;function r3(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return function(){return n.apply(this,e.concat(KE.call(arguments)))}}function H2(n){return Array.isArray?Array.isArray(n):au.call(n)==="[object Array]"}function Gt(n){return typeof n=="function"}function _t(n){return typeof n=="string"}function JA(n){return au.call(n)==="[object String]"}function q3(n){return typeof n=="number"}function jt(n){var e=typeof n;return e==="function"||!!n&&e==="object"}function ak(n){return!!vY[au.call(n)]}function pr(n){return!!yY[au.call(n)]}function I7(n){return typeof n=="object"&&typeof n.nodeType=="number"&&typeof n.ownerDocument=="object"}function y_(n){return n.colorStops!=null}function W6e(n){return n.image!=null}function j6e(n){return au.call(n)==="[object RegExp]"}function Zd(n){return n!==n}function kn(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];for(var t=0,i=n.length;t<i;t++)if(n[t]!=null)return n[t]}function e3(n,e){return n!=null?n:e}function es(n,e,t){return n!=null?n:e!=null?e:t}function eP(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return KE.apply(n,e)}function tP(n){if(typeof n=="number")return[n,n,n,n];var e=n.length;return e===2?[n[0],n[1],n[0],n[1]]:e===3?[n[0],n[1],n[2],n[1]]:n}function Bi(n,e){if(!n)throw new Error(e)}function lo(n){return n==null?null:typeof n.trim=="function"?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var SY="__ec_primitive__";function Nv(n){n[SY]=!0}function pd(n){return n[SY]}var $6e=function(){function n(){this.data={}}return n.prototype.delete=function(e){var t=this.has(e);return t&&delete this.data[e],t},n.prototype.has=function(e){return this.data.hasOwnProperty(e)},n.prototype.get=function(e){return this.data[e]},n.prototype.set=function(e,t){return this.data[e]=t,this},n.prototype.keys=function(){return E3(this.data)},n.prototype.forEach=function(e){var t=this.data;for(var i in t)t.hasOwnProperty(i)&&e(t[i],i)},n}(),bY=typeof Map=="function";function Y6e(){return bY?new Map:new $6e}var q6e=function(){function n(e){var t=H2(e);this.data=Y6e();var i=this;e instanceof n?e.each(r):e&&ne(e,r);function r(a,o){t?i.set(a,o):i.set(o,a)}}return n.prototype.hasKey=function(e){return this.data.has(e)},n.prototype.get=function(e){return this.data.get(e)},n.prototype.set=function(e,t){return this.data.set(e,t),t},n.prototype.each=function(e,t){this.data.forEach(function(i,r){e.call(t,i,r)})},n.prototype.keys=function(){var e=this.data.keys();return bY?Array.from(e):e},n.prototype.removeKey=function(e){this.data.delete(e)},n}();function Ct(n){return new q6e(n)}function Jd(n,e){for(var t=new n.constructor(n.length+e.length),i=0;i<n.length;i++)t[i]=n[i];for(var r=n.length,i=0;i<e.length;i++)t[i+r]=e[i];return t}function __(n,e){var t;if(Object.create)t=Object.create(n);else{var i=function(){};i.prototype=n,t=new i}return e&&L2(t,e),t}function xY(n){var e=n.style;e.webkitUserSelect="none",e.userSelect="none",e.webkitTapHighlightColor="rgba(0,0,0,0)",e["-webkit-touch-callout"]="none"}function xt(n,e){return n.hasOwnProperty(e)}function U0(){}var Gg=180/Math.PI;function yl(n,e){return n==null&&(n=0),e==null&&(e=0),[n,e]}function Pi(n,e){return n[0]=e[0],n[1]=e[1],n}function Zs(n){return[n[0],n[1]]}function X6e(n,e,t){return n[0]=e,n[1]=t,n}function ok(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n}function QA(n,e,t,i){return n[0]=e[0]+t[0]*i,n[1]=e[1]+t[1]*i,n}function x8(n,e,t){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n}function eC(n){return Math.sqrt(K6e(n))}function K6e(n){return n[0]*n[0]+n[1]*n[1]}function Vg(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n}function ou(n,e){var t=eC(e);return t===0?(n[0]=0,n[1]=0):(n[0]=e[0]/t,n[1]=e[1]/t),n}function tC(n,e){return Math.sqrt((n[0]-e[0])*(n[0]-e[0])+(n[1]-e[1])*(n[1]-e[1]))}var g5=tC;function Z6e(n,e){return(n[0]-e[0])*(n[0]-e[0])+(n[1]-e[1])*(n[1]-e[1])}var B8=Z6e;function Hg(n,e,t,i){return n[0]=e[0]+i*(t[0]-e[0]),n[1]=e[1]+i*(t[1]-e[1]),n}function Kn(n,e,t){var i=e[0],r=e[1];return n[0]=t[0]*i+t[2]*r+t[4],n[1]=t[1]*i+t[3]*r+t[5],n}function v5(n,e,t){return n[0]=Math.min(e[0],t[0]),n[1]=Math.min(e[1],t[1]),n}function y5(n,e,t){return n[0]=Math.max(e[0],t[0]),n[1]=Math.max(e[1],t[1]),n}var $l=function(){function n(e,t){this.target=e,this.topTarget=t&&t.topTarget}return n}(),J6e=function(){function n(e){this.handler=e,e.on("mousedown",this._dragStart,this),e.on("mousemove",this._drag,this),e.on("mouseup",this._dragEnd,this)}return n.prototype._dragStart=function(e){for(var t=e.target;t&&!t.draggable;)t=t.parent||t.__hostTarget;t&&(this._draggingTarget=t,t.dragging=!0,this._x=e.offsetX,this._y=e.offsetY,this.handler.dispatchToElement(new $l(t,e),"dragstart",e.event))},n.prototype._drag=function(e){var t=this._draggingTarget;if(t){var i=e.offsetX,r=e.offsetY,a=i-this._x,o=r-this._y;this._x=i,this._y=r,t.drift(a,o,e),this.handler.dispatchToElement(new $l(t,e),"drag",e.event);var s=this.handler.findHover(i,r,t).target,l=this._dropTarget;this._dropTarget=s,t!==s&&(l&&s!==l&&this.handler.dispatchToElement(new $l(l,e),"dragleave",e.event),s&&s!==l&&this.handler.dispatchToElement(new $l(s,e),"dragenter",e.event))}},n.prototype._dragEnd=function(e){var t=this._draggingTarget;t&&(t.dragging=!1),this.handler.dispatchToElement(new $l(t,e),"dragend",e.event),this._dropTarget&&this.handler.dispatchToElement(new $l(this._dropTarget,e),"drop",e.event),this._draggingTarget=null,this._dropTarget=null},n}();const Q6e=J6e;var e5e=function(){function n(e){e&&(this._$eventProcessor=e)}return n.prototype.on=function(e,t,i,r){this._$handlers||(this._$handlers={});var a=this._$handlers;if(typeof t=="function"&&(r=i,i=t,t=null),!i||!e)return this;var o=this._$eventProcessor;t!=null&&o&&o.normalizeQuery&&(t=o.normalizeQuery(t)),a[e]||(a[e]=[]);for(var s=0;s<a[e].length;s++)if(a[e][s].h===i)return this;var l={h:i,query:t,ctx:r||this,callAtLast:i.zrEventfulCallAtLast},u=a[e].length-1,c=a[e][u];return c&&c.callAtLast?a[e].splice(u,0,l):a[e].push(l),this},n.prototype.isSilent=function(e){var t=this._$handlers;return!t||!t[e]||!t[e].length},n.prototype.off=function(e,t){var i=this._$handlers;if(!i)return this;if(!e)return this._$handlers={},this;if(t){if(i[e]){for(var r=[],a=0,o=i[e].length;a<o;a++)i[e][a].h!==t&&r.push(i[e][a]);i[e]=r}i[e]&&i[e].length===0&&delete i[e]}else delete i[e];return this},n.prototype.trigger=function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(!this._$handlers)return this;var r=this._$handlers[e],a=this._$eventProcessor;if(r)for(var o=t.length,s=r.length,l=0;l<s;l++){var u=r[l];if(!(a&&a.filter&&u.query!=null&&!a.filter(e,u.query)))switch(o){case 0:u.h.call(u.ctx);break;case 1:u.h.call(u.ctx,t[0]);break;case 2:u.h.call(u.ctx,t[0],t[1]);break;default:u.h.apply(u.ctx,t);break}}return a&&a.afterTrigger&&a.afterTrigger(e),this},n.prototype.triggerWithContext=function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(!this._$handlers)return this;var r=this._$handlers[e],a=this._$eventProcessor;if(r)for(var o=t.length,s=t[o-1],l=r.length,u=0;u<l;u++){var c=r[u];if(!(a&&a.filter&&c.query!=null&&!a.filter(e,c.query)))switch(o){case 0:c.h.call(s);break;case 1:c.h.call(s,t[0]);break;case 2:c.h.call(s,t[0],t[1]);break;default:c.h.apply(s,t.slice(1,o-1));break}}return a&&a.afterTrigger&&a.afterTrigger(e),this},n}();const Ua=e5e;var t5e=Math.log(2);function nC(n,e,t,i,r,a){var o=i+"-"+r,s=n.length;if(a.hasOwnProperty(o))return a[o];if(e===1){var l=Math.round(Math.log((1<<s)-1&~r)/t5e);return n[t][l]}for(var u=i|1<<t,c=t+1;i&1<<c;)c++;for(var d=0,h=0,f=0;h<s;h++){var p=1<<h;p&r||(d+=(f%2?-1:1)*n[t][h]*nC(n,e-1,c,u,r|p,a),f++)}return a[o]=d,d}function sk(n,e){var t=[[n[0],n[1],1,0,0,0,-e[0]*n[0],-e[0]*n[1]],[0,0,0,n[0],n[1],1,-e[1]*n[0],-e[1]*n[1]],[n[2],n[3],1,0,0,0,-e[2]*n[2],-e[2]*n[3]],[0,0,0,n[2],n[3],1,-e[3]*n[2],-e[3]*n[3]],[n[4],n[5],1,0,0,0,-e[4]*n[4],-e[4]*n[5]],[0,0,0,n[4],n[5],1,-e[5]*n[4],-e[5]*n[5]],[n[6],n[7],1,0,0,0,-e[6]*n[6],-e[6]*n[7]],[0,0,0,n[6],n[7],1,-e[7]*n[6],-e[7]*n[7]]],i={},r=nC(t,8,0,0,0,i);if(r!==0){for(var a=[],o=0;o<8;o++)for(var s=0;s<8;s++)a[s]==null&&(a[s]=0),a[s]+=((o+s)%2?-1:1)*nC(t,7,o===0?1:0,1<<o,1<<s,i)/r*e[o];return function(l,u,c){var d=u*a[6]+c*a[7]+1;l[0]=(u*a[0]+c*a[1]+a[2])/d,l[1]=(u*a[3]+c*a[4]+a[5])/d}}}var lk="___zrEVENTSAVED",ex=[];function n5e(n,e,t,i,r){return iC(ex,e,i,r,!0)&&iC(n,t,ex[0],ex[1])}function iC(n,e,t,i,r){if(e.getBoundingClientRect&&$3.domSupported&&!wY(e)){var a=e[lk]||(e[lk]={}),o=i5e(e,a),s=r5e(o,a,r);if(s)return s(n,t,i),!0}return!1}function i5e(n,e){var t=e.markers;if(t)return t;t=e.markers=[];for(var i=["left","right"],r=["top","bottom"],a=0;a<4;a++){var o=document.createElement("div"),s=o.style,l=a%2,u=(a>>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[l]+":0",r[u]+":0",i[1-l]+":auto",r[1-u]+":auto",""].join("!important;"),n.appendChild(o),t.push(o)}return t}function r5e(n,e,t){for(var i=t?"invTrans":"trans",r=e[i],a=e.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var c=n[u].getBoundingClientRect(),d=2*u,h=c.left,f=c.top;o.push(h,f),l=l&&a&&h===a[d]&&f===a[d+1],s.push(n[u].offsetLeft,n[u].offsetTop)}return l&&r?r:(e.srcCoords=o,e[i]=t?sk(s,o):sk(o,s))}function wY(n){return n.nodeName.toUpperCase()==="CANVAS"}var a5e=/([&<>"'])/g,o5e={"&":"&","<":"<",">":">",'"':""","'":"'"};function mi(n){return n==null?"":(n+"").replace(a5e,function(e,t){return o5e[t]})}var s5e=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,tx=[],l5e=$3.browser.firefox&&+$3.browser.version.split(".")[0]<39;function rC(n,e,t,i){return t=t||{},i?uk(n,e,t):l5e&&e.layerX!=null&&e.layerX!==e.offsetX?(t.zrX=e.layerX,t.zrY=e.layerY):e.offsetX!=null?(t.zrX=e.offsetX,t.zrY=e.offsetY):uk(n,e,t),t}function uk(n,e,t){if($3.domSupported&&n.getBoundingClientRect){var i=e.clientX,r=e.clientY;if(wY(n)){var a=n.getBoundingClientRect();t.zrX=i-a.left,t.zrY=r-a.top;return}else if(iC(tx,n,i,r)){t.zrX=tx[0],t.zrY=tx[1];return}}t.zrX=t.zrY=0}function nP(n){return n||window.event}function ma(n,e,t){if(e=nP(e),e.zrX!=null)return e;var i=e.type,r=i&&i.indexOf("touch")>=0;if(r){var o=i!=="touchend"?e.targetTouches[0]:e.changedTouches[0];o&&rC(n,o,e,t)}else{rC(n,e,e,t);var a=u5e(e);e.zrDelta=a?a/120:-(e.detail||0)/3}var s=e.button;return e.which==null&&s!==void 0&&s5e.test(e.type)&&(e.which=s&1?1:s&2?3:s&4?2:0),e}function u5e(n){var e=n.wheelDelta;if(e)return e;var t=n.deltaX,i=n.deltaY;if(t==null||i==null)return e;var r=Math.abs(i!==0?i:t),a=i>0?-1:i<0?1:t>0?-1:1;return 3*r*a}function aC(n,e,t,i){n.addEventListener(e,t,i)}function c5e(n,e,t,i){n.removeEventListener(e,t,i)}var r6=function(n){n.preventDefault(),n.stopPropagation(),n.cancelBubble=!0};function ck(n){return n.which===2||n.which===3}var d5e=function(){function n(){this._track=[]}return n.prototype.recognize=function(e,t,i){return this._doTrack(e,t,i),this._recognize(e)},n.prototype.clear=function(){return this._track.length=0,this},n.prototype._doTrack=function(e,t,i){var r=e.touches;if(r){for(var a={points:[],touches:[],target:t,event:e},o=0,s=r.length;o<s;o++){var l=r[o],u=rC(i,l,{});a.points.push([u.zrX,u.zrY]),a.touches.push(l)}this._track.push(a)}},n.prototype._recognize=function(e){for(var t in nx)if(nx.hasOwnProperty(t)){var i=nx[t](this._track,e);if(i)return i}},n}();function dk(n){var e=n[1][0]-n[0][0],t=n[1][1]-n[0][1];return Math.sqrt(e*e+t*t)}function h5e(n){return[(n[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2]}var nx={pinch:function(n,e){var t=n.length;if(t){var i=(n[t-1]||{}).points,r=(n[t-2]||{}).points||i;if(r&&r.length>1&&i&&i.length>1){var a=dk(i)/dk(r);!isFinite(a)&&(a=1),e.pinchScale=a;var o=h5e(i);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:n[0].target,event:e}}}}};function Gr(){return[1,0,0,1,0,0]}function S_(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=1,n[4]=0,n[5]=0,n}function iP(n,e){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n}function Js(n,e,t){var i=e[0]*t[0]+e[2]*t[1],r=e[1]*t[0]+e[3]*t[1],a=e[0]*t[2]+e[2]*t[3],o=e[1]*t[2]+e[3]*t[3],s=e[0]*t[4]+e[2]*t[5]+e[4],l=e[1]*t[4]+e[3]*t[5]+e[5];return n[0]=i,n[1]=r,n[2]=a,n[3]=o,n[4]=s,n[5]=l,n}function ls(n,e,t){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4]+t[0],n[5]=e[5]+t[1],n}function _l(n,e,t,i){i===void 0&&(i=[0,0]);var r=e[0],a=e[2],o=e[4],s=e[1],l=e[3],u=e[5],c=Math.sin(t),d=Math.cos(t);return n[0]=r*d+s*c,n[1]=-r*c+s*d,n[2]=a*d+l*c,n[3]=-a*c+d*l,n[4]=d*(o-i[0])+c*(u-i[1])+i[0],n[5]=d*(u-i[1])-c*(o-i[0])+i[1],n}function rP(n,e,t){var i=t[0],r=t[1];return n[0]=e[0]*i,n[1]=e[1]*r,n[2]=e[2]*i,n[3]=e[3]*r,n[4]=e[4]*i,n[5]=e[5]*r,n}function su(n,e){var t=e[0],i=e[2],r=e[4],a=e[1],o=e[3],s=e[5],l=t*o-a*i;return l?(l=1/l,n[0]=o*l,n[1]=-a*l,n[2]=-i*l,n[3]=t*l,n[4]=(i*s-o*r)*l,n[5]=(a*r-t*s)*l,n):null}function f5e(n){var e=Gr();return iP(e,n),e}var p5e=function(){function n(e,t){this.x=e||0,this.y=t||0}return n.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},n.prototype.clone=function(){return new n(this.x,this.y)},n.prototype.set=function(e,t){return this.x=e,this.y=t,this},n.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},n.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},n.prototype.scale=function(e){this.x*=e,this.y*=e},n.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},n.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},n.prototype.dot=function(e){return this.x*e.x+this.y*e.y},n.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},n.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},n.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},n.prototype.distance=function(e){var t=this.x-e.x,i=this.y-e.y;return Math.sqrt(t*t+i*i)},n.prototype.distanceSquare=function(e){var t=this.x-e.x,i=this.y-e.y;return t*t+i*i},n.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},n.prototype.transform=function(e){if(e){var t=this.x,i=this.y;return this.x=e[0]*t+e[2]*i+e[4],this.y=e[1]*t+e[3]*i+e[5],this}},n.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},n.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},n.set=function(e,t,i){e.x=t,e.y=i},n.copy=function(e,t){e.x=t.x,e.y=t.y},n.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},n.lenSquare=function(e){return e.x*e.x+e.y*e.y},n.dot=function(e,t){return e.x*t.x+e.y*t.y},n.add=function(e,t,i){e.x=t.x+i.x,e.y=t.y+i.y},n.sub=function(e,t,i){e.x=t.x-i.x,e.y=t.y-i.y},n.scale=function(e,t,i){e.x=t.x*i,e.y=t.y*i},n.scaleAndAdd=function(e,t,i,r){e.x=t.x+i.x*r,e.y=t.y+i.y*r},n.lerp=function(e,t,i,r){var a=1-r;e.x=a*t.x+r*i.x,e.y=a*t.y+r*i.y},n}();const d3=p5e;var Ep=Math.min,Pp=Math.max,M9=new d3,E9=new d3,P9=new d3,R9=new d3,Qu=new d3,ec=new d3,m5e=function(){function n(e,t,i,r){i<0&&(e=e+i,i=-i),r<0&&(t=t+r,r=-r),this.x=e,this.y=t,this.width=i,this.height=r}return n.prototype.union=function(e){var t=Ep(e.x,this.x),i=Ep(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Pp(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=Pp(e.y+e.height,this.y+this.height)-i:this.height=e.height,this.x=t,this.y=i},n.prototype.applyTransform=function(e){n.applyTransform(this,this,e)},n.prototype.calculateTransform=function(e){var t=this,i=e.width/t.width,r=e.height/t.height,a=Gr();return ls(a,a,[-t.x,-t.y]),rP(a,a,[i,r]),ls(a,a,[e.x,e.y]),a},n.prototype.intersect=function(e,t){if(!e)return!1;e instanceof n||(e=n.create(e));var i=this,r=i.x,a=i.x+i.width,o=i.y,s=i.y+i.height,l=e.x,u=e.x+e.width,c=e.y,d=e.y+e.height,h=!(a<l||u<r||s<c||d<o);if(t){var f=1/0,p=0,g=Math.abs(a-l),m=Math.abs(u-r),v=Math.abs(s-c),_=Math.abs(d-o),S=Math.min(g,m),x=Math.min(v,_);a<l||u<r?S>p&&(p=S,g<m?d3.set(ec,-g,0):d3.set(ec,m,0)):S<f&&(f=S,g<m?d3.set(Qu,g,0):d3.set(Qu,-m,0)),s<c||d<o?x>p&&(p=x,v<_?d3.set(ec,0,-v):d3.set(ec,0,_)):S<f&&(f=S,v<_?d3.set(Qu,0,v):d3.set(Qu,0,-_))}return t&&d3.copy(t,h?Qu:ec),h},n.prototype.contain=function(e,t){var i=this;return e>=i.x&&e<=i.x+i.width&&t>=i.y&&t<=i.y+i.height},n.prototype.clone=function(){return new n(this.x,this.y,this.width,this.height)},n.prototype.copy=function(e){n.copy(this,e)},n.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},n.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},n.prototype.isZero=function(){return this.width===0||this.height===0},n.create=function(e){return new n(e.x,e.y,e.width,e.height)},n.copy=function(e,t){e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height},n.applyTransform=function(e,t,i){if(!i){e!==t&&n.copy(e,t);return}if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var r=i[0],a=i[3],o=i[4],s=i[5];e.x=t.x*r+o,e.y=t.y*a+s,e.width=t.width*r,e.height=t.height*a,e.width<0&&(e.x+=e.width,e.width=-e.width),e.height<0&&(e.y+=e.height,e.height=-e.height);return}M9.x=P9.x=t.x,M9.y=R9.y=t.y,E9.x=R9.x=t.x+t.width,E9.y=P9.y=t.y+t.height,M9.transform(i),R9.transform(i),E9.transform(i),P9.transform(i),e.x=Ep(M9.x,E9.x,P9.x,R9.x),e.y=Ep(M9.y,E9.y,P9.y,R9.y);var l=Pp(M9.x,E9.x,P9.x,R9.x),u=Pp(M9.y,E9.y,P9.y,R9.y);e.width=l-e.x,e.height=u-e.y},n}();const h3=m5e;var TY="silent";function g5e(n,e,t){return{type:n,event:t,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:t.zrX,offsetY:t.zrY,gestureEvent:t.gestureEvent,pinchX:t.pinchX,pinchY:t.pinchY,pinchScale:t.pinchScale,wheelDelta:t.zrDelta,zrByTouch:t.zrByTouch,which:t.which,stop:v5e}}function v5e(){r6(this.event)}var y5e=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.handler=null,t}return e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(Ua),tc=function(){function n(e,t){this.x=e,this.y=t}return n}(),_5e=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],ix=new h3(0,0,0,0),AY=function(n){g2(e,n);function e(t,i,r,a,o){var s=n.call(this)||this;return s._hovered=new tc(0,0),s.storage=t,s.painter=i,s.painterRoot=a,s._pointerSize=o,r=r||new y5e,s.proxy=null,s.setHandlerProxy(r),s._draggingMgr=new Q6e(s),s}return e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(ne(_5e,function(i){t.on&&t.on(i,this[i],this)},this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var i=t.zrX,r=t.zrY,a=CY(this,i,r),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=a?new tc(i,r):this.findHover(i,r),u=l.target,c=this.proxy;c.setCursor&&c.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(l,"mousemove",t),u&&u!==s&&this.dispatchToElement(l,"mouseover",t)},e.prototype.mouseout=function(t){var i=t.zrEventControl;i!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",t),i!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new tc(0,0)},e.prototype.dispatch=function(t,i){var r=this[t];r&&r.call(this,i)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var i=this.proxy;i.setCursor&&i.setCursor(t)},e.prototype.dispatchToElement=function(t,i,r){t=t||{};var a=t.target;if(!(a&&a.silent)){for(var o="on"+i,s=g5e(i,t,r);a&&(a[o]&&(s.cancelBubble=!!a[o].call(a,s)),a.trigger(i,s),a=a.__hostTarget?a.__hostTarget:a.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(i,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(i,s)}))}},e.prototype.findHover=function(t,i,r){var a=this.storage.getDisplayList(),o=new tc(t,i);if(hk(a,o,t,i,r),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,c=new h3(t-u,i-u,l,l),d=a.length-1;d>=0;d--){var h=a[d];h!==r&&!h.ignore&&!h.ignoreCoarsePointer&&(!h.parent||!h.parent.ignoreCoarsePointer)&&(ix.copy(h.getBoundingRect()),h.transform&&ix.applyTransform(h.transform),ix.intersect(c)&&s.push(h))}if(s.length)for(var f=4,p=Math.PI/12,g=Math.PI*2,m=0;m<u;m+=f)for(var v=0;v<g;v+=p){var _=t+m*Math.cos(v),S=i+m*Math.sin(v);if(hk(s,o,_,S,r),o.target)return o}}return o},e.prototype.processGesture=function(t,i){this._gestureMgr||(this._gestureMgr=new d5e);var r=this._gestureMgr;i==="start"&&r.clear();var a=r.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if(i==="end"&&r.clear(),a){var o=a.type;t.gestureEvent=o;var s=new tc;s.target=a.target,this.dispatchToElement(s,o,a.event)}},e}(Ua);ne(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(n){AY.prototype[n]=function(e){var t=e.zrX,i=e.zrY,r=CY(this,t,i),a,o;if((n!=="mouseup"||!r)&&(a=this.findHover(t,i),o=a.target),n==="mousedown")this._downEl=o,this._downPoint=[e.zrX,e.zrY],this._upEl=o;else if(n==="mouseup")this._upEl=o;else if(n==="click"){if(this._downEl!==this._upEl||!this._downPoint||g5(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(a,n,e)}});function S5e(n,e,t){if(n[n.rectHover?"rectContain":"contain"](e,t)){for(var i=n,r=void 0,a=!1;i;){if(i.ignoreClip&&(a=!0),!a){var o=i.getClipPath();if(o&&!o.contain(e,t))return!1}i.silent&&(r=!0);var s=i.__hostTarget;i=s||i.parent}return r?TY:!0}return!1}function hk(n,e,t,i,r){for(var a=n.length-1;a>=0;a--){var o=n[a],s=void 0;if(o!==r&&!o.ignore&&(s=S5e(o,t,i))&&(!e.topTarget&&(e.topTarget=o),s!==TY)){e.target=o;break}}}function CY(n,e,t){var i=n.painter;return e<0||e>i.getWidth()||t<0||t>i.getHeight()}const b5e=AY;var MY=32,nc=7;function x5e(n){for(var e=0;n>=MY;)e|=n&1,n>>=1;return n+e}function fk(n,e,t,i){var r=e+1;if(r===t)return 1;if(i(n[r++],n[e])<0){for(;r<t&&i(n[r],n[r-1])<0;)r++;w5e(n,e,r)}else for(;r<t&&i(n[r],n[r-1])>=0;)r++;return r-e}function w5e(n,e,t){for(t--;e<t;){var i=n[e];n[e++]=n[t],n[t--]=i}}function pk(n,e,t,i,r){for(i===e&&i++;i<t;i++){for(var a=n[i],o=e,s=i,l;o<s;)l=o+s>>>1,r(a,n[l])<0?s=l:o=l+1;var u=i-o;switch(u){case 3:n[o+3]=n[o+2];case 2:n[o+2]=n[o+1];case 1:n[o+1]=n[o];break;default:for(;u>0;)n[o+u]=n[o+u-1],u--}n[o]=a}}function rx(n,e,t,i,r,a){var o=0,s=0,l=1;if(a(n,e[t+r])>0){for(s=i-r;l<s&&a(n,e[t+r+l])>0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=r,l+=r}else{for(s=r+1;l<s&&a(n,e[t+r-l])<=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}for(o++;o<l;){var c=o+(l-o>>>1);a(n,e[t+c])>0?o=c+1:l=c}return l}function ax(n,e,t,i,r,a){var o=0,s=0,l=1;if(a(n,e[t+r])<0){for(s=r+1;l<s&&a(n,e[t+r-l])<0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=r-l,l=r-u}else{for(s=i-r;l<s&&a(n,e[t+r+l])>=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=r,l+=r}for(o++;o<l;){var c=o+(l-o>>>1);a(n,e[t+c])<0?l=c:o=c+1}return l}function T5e(n,e){var t=nc,i,r,a=0,o=[];i=[],r=[];function s(f,p){i[a]=f,r[a]=p,a+=1}function l(){for(;a>1;){var f=a-2;if(f>=1&&r[f-1]<=r[f]+r[f+1]||f>=2&&r[f-2]<=r[f]+r[f-1])r[f-1]<r[f+1]&&f--;else if(r[f]>r[f+1])break;c(f)}}function u(){for(;a>1;){var f=a-2;f>0&&r[f-1]<r[f+1]&&f--,c(f)}}function c(f){var p=i[f],g=r[f],m=i[f+1],v=r[f+1];r[f]=g+v,f===a-3&&(i[f+1]=i[f+2],r[f+1]=r[f+2]),a--;var _=ax(n[m],n,p,g,0,e);p+=_,g-=_,g!==0&&(v=rx(n[p+g-1],n,m,v,v-1,e),v!==0&&(g<=v?d(p,g,m,v):h(p,g,m,v)))}function d(f,p,g,m){var v=0;for(v=0;v<p;v++)o[v]=n[f+v];var _=0,S=g,x=f;if(n[x++]=n[S++],--m===0){for(v=0;v<p;v++)n[x+v]=o[_+v];return}if(p===1){for(v=0;v<m;v++)n[x+v]=n[S+v];n[x+m]=o[_];return}for(var A=t,C,M,I;;){C=0,M=0,I=!1;do if(e(n[S],o[_])<0){if(n[x++]=n[S++],M++,C=0,--m===0){I=!0;break}}else if(n[x++]=o[_++],C++,M=0,--p===1){I=!0;break}while((C|M)<A);if(I)break;do{if(C=ax(n[S],o,_,p,0,e),C!==0){for(v=0;v<C;v++)n[x+v]=o[_+v];if(x+=C,_+=C,p-=C,p<=1){I=!0;break}}if(n[x++]=n[S++],--m===0){I=!0;break}if(M=rx(o[_],n,S,m,0,e),M!==0){for(v=0;v<M;v++)n[x+v]=n[S+v];if(x+=M,S+=M,m-=M,m===0){I=!0;break}}if(n[x++]=o[_++],--p===1){I=!0;break}A--}while(C>=nc||M>=nc);if(I)break;A<0&&(A=0),A+=2}if(t=A,t<1&&(t=1),p===1){for(v=0;v<m;v++)n[x+v]=n[S+v];n[x+m]=o[_]}else{if(p===0)throw new Error;for(v=0;v<p;v++)n[x+v]=o[_+v]}}function h(f,p,g,m){var v=0;for(v=0;v<m;v++)o[v]=n[g+v];var _=f+p-1,S=m-1,x=g+m-1,A=0,C=0;if(n[x--]=n[_--],--p===0){for(A=x-(m-1),v=0;v<m;v++)n[A+v]=o[v];return}if(m===1){for(x-=p,_-=p,C=x+1,A=_+1,v=p-1;v>=0;v--)n[C+v]=n[A+v];n[x]=o[S];return}for(var M=t;;){var I=0,D=0,E=!1;do if(e(o[S],n[_])<0){if(n[x--]=n[_--],I++,D=0,--p===0){E=!0;break}}else if(n[x--]=o[S--],D++,I=0,--m===1){E=!0;break}while((I|D)<M);if(E)break;do{if(I=p-ax(o[S],n,f,p,p-1,e),I!==0){for(x-=I,_-=I,p-=I,C=x+1,A=_+1,v=I-1;v>=0;v--)n[C+v]=n[A+v];if(p===0){E=!0;break}}if(n[x--]=o[S--],--m===1){E=!0;break}if(D=m-rx(n[_],o,0,m,m-1,e),D!==0){for(x-=D,S-=D,m-=D,C=x+1,A=S+1,v=0;v<D;v++)n[C+v]=o[A+v];if(m<=1){E=!0;break}}if(n[x--]=n[_--],--p===0){E=!0;break}M--}while(I>=nc||D>=nc);if(E)break;M<0&&(M=0),M+=2}if(t=M,t<1&&(t=1),m===1){for(x-=p,_-=p,C=x+1,A=_+1,v=p-1;v>=0;v--)n[C+v]=n[A+v];n[x]=o[S]}else{if(m===0)throw new Error;for(A=x-(m-1),v=0;v<m;v++)n[A+v]=o[v]}}return{mergeRuns:l,forceMergeRuns:u,pushRun:s}}function Wg(n,e,t,i){t||(t=0),i||(i=n.length);var r=i-t;if(!(r<2)){var a=0;if(r<MY){a=fk(n,t,i,e),pk(n,t,i,t+a,e);return}var o=T5e(n,e),s=x5e(r);do{if(a=fk(n,t,i,e),a<s){var l=r;l>s&&(l=s),pk(n,t,t+l,t+a,e),a=l}o.pushRun(t,a),o.mergeRuns(),r-=a,t+=a}while(r!==0);o.forceMergeRuns()}}var Fr=1,Yc=2,B4=4,mk=!1;function ox(){mk||(mk=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function gk(n,e){return n.zlevel===e.zlevel?n.z===e.z?n.z2-e.z2:n.z-e.z:n.zlevel-e.zlevel}var A5e=function(){function n(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=gk}return n.prototype.traverse=function(e,t){for(var i=0;i<this._roots.length;i++)this._roots[i].traverse(e,t)},n.prototype.getDisplayList=function(e,t){t=t||!1;var i=this._displayList;return(e||!i.length)&&this.updateDisplayList(t),i},n.prototype.updateDisplayList=function(e){this._displayListLen=0;for(var t=this._roots,i=this._displayList,r=0,a=t.length;r<a;r++)this._updateAndAddDisplayable(t[r],null,e);i.length=this._displayListLen,Wg(i,gk)},n.prototype._updateAndAddDisplayable=function(e,t,i){if(!(e.ignore&&!i)){e.beforeUpdate(),e.update(),e.afterUpdate();var r=e.getClipPath();if(e.ignoreClip)t=null;else if(r){t?t=t.slice():t=[];for(var a=r,o=e;a;)a.parent=o,a.updateTransform(),t.push(a),o=a,a=a.getClipPath()}if(e.childrenRef){for(var s=e.childrenRef(),l=0;l<s.length;l++){var u=s[l];e.__dirty&&(u.__dirty|=Fr),this._updateAndAddDisplayable(u,t,i)}e.__dirty=0}else{var c=e;t&&t.length?c.__clipPaths=t:c.__clipPaths&&c.__clipPaths.length>0&&(c.__clipPaths=[]),isNaN(c.z)&&(ox(),c.z=0),isNaN(c.z2)&&(ox(),c.z2=0),isNaN(c.zlevel)&&(ox(),c.zlevel=0),this._displayList[this._displayListLen++]=c}var d=e.getDecalElement&&e.getDecalElement();d&&this._updateAndAddDisplayable(d,t,i);var h=e.getTextGuideLine();h&&this._updateAndAddDisplayable(h,t,i);var f=e.getTextContent();f&&this._updateAndAddDisplayable(f,t,i)}},n.prototype.addRoot=function(e){e.__zr&&e.__zr.storage===this||this._roots.push(e)},n.prototype.delRoot=function(e){if(e instanceof Array){for(var t=0,i=e.length;t<i;t++)this.delRoot(e[t]);return}var r=_3(this._roots,e);r>=0&&this._roots.splice(r,1)},n.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},n.prototype.getRoots=function(){return this._roots},n.prototype.dispose=function(){this._displayList=null,this._roots=null},n}();const C5e=A5e;var EY;EY=$3.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(n){return setTimeout(n,16)};const oC=EY;var jg={linear:function(n){return n},quadraticIn:function(n){return n*n},quadraticOut:function(n){return n*(2-n)},quadraticInOut:function(n){return(n*=2)<1?.5*n*n:-.5*(--n*(n-2)-1)},cubicIn:function(n){return n*n*n},cubicOut:function(n){return--n*n*n+1},cubicInOut:function(n){return(n*=2)<1?.5*n*n*n:.5*((n-=2)*n*n+2)},quarticIn:function(n){return n*n*n*n},quarticOut:function(n){return 1- --n*n*n*n},quarticInOut:function(n){return(n*=2)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)},quinticIn:function(n){return n*n*n*n*n},quinticOut:function(n){return--n*n*n*n*n+1},quinticInOut:function(n){return(n*=2)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)},sinusoidalIn:function(n){return 1-Math.cos(n*Math.PI/2)},sinusoidalOut:function(n){return Math.sin(n*Math.PI/2)},sinusoidalInOut:function(n){return .5*(1-Math.cos(Math.PI*n))},exponentialIn:function(n){return n===0?0:Math.pow(1024,n-1)},exponentialOut:function(n){return n===1?1:1-Math.pow(2,-10*n)},exponentialInOut:function(n){return n===0?0:n===1?1:(n*=2)<1?.5*Math.pow(1024,n-1):.5*(-Math.pow(2,-10*(n-1))+2)},circularIn:function(n){return 1-Math.sqrt(1-n*n)},circularOut:function(n){return Math.sqrt(1- --n*n)},circularInOut:function(n){return(n*=2)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)},elasticIn:function(n){var e,t=.1,i=.4;return n===0?0:n===1?1:(!t||t<1?(t=1,e=i/4):e=i*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(n-=1))*Math.sin((n-e)*(2*Math.PI)/i)))},elasticOut:function(n){var e,t=.1,i=.4;return n===0?0:n===1?1:(!t||t<1?(t=1,e=i/4):e=i*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*n)*Math.sin((n-e)*(2*Math.PI)/i)+1)},elasticInOut:function(n){var e,t=.1,i=.4;return n===0?0:n===1?1:(!t||t<1?(t=1,e=i/4):e=i*Math.asin(1/t)/(2*Math.PI),(n*=2)<1?-.5*(t*Math.pow(2,10*(n-=1))*Math.sin((n-e)*(2*Math.PI)/i)):t*Math.pow(2,-10*(n-=1))*Math.sin((n-e)*(2*Math.PI)/i)*.5+1)},backIn:function(n){var e=1.70158;return n*n*((e+1)*n-e)},backOut:function(n){var e=1.70158;return--n*n*((e+1)*n+e)+1},backInOut:function(n){var e=2.5949095;return(n*=2)<1?.5*(n*n*((e+1)*n-e)):.5*((n-=2)*n*((e+1)*n+e)+2)},bounceIn:function(n){return 1-jg.bounceOut(1-n)},bounceOut:function(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},bounceInOut:function(n){return n<.5?jg.bounceIn(n*2)*.5:jg.bounceOut(n*2-1)*.5+.5}};const PY=jg;var Rp=Math.pow,L5=Math.sqrt,kv=1e-8,RY=1e-4,vk=L5(3),Lp=1/3,Wo=yl(),ba=yl(),f7=yl();function _5(n){return n>-kv&&n<kv}function LY(n){return n>kv||n<-kv}function vn(n,e,t,i,r){var a=1-r;return a*a*(a*n+3*r*e)+r*r*(r*i+3*a*t)}function yk(n,e,t,i,r){var a=1-r;return 3*(((e-n)*a+2*(t-e)*r)*a+(i-t)*r*r)}function Fv(n,e,t,i,r,a){var o=i+3*(e-t)-n,s=3*(t-e*2+n),l=3*(e-n),u=n-r,c=s*s-3*o*l,d=s*l-9*o*u,h=l*l-3*s*u,f=0;if(_5(c)&&_5(d))if(_5(s))a[0]=0;else{var p=-l/s;p>=0&&p<=1&&(a[f++]=p)}else{var g=d*d-4*c*h;if(_5(g)){var m=d/c,p=-s/o+m,v=-m/2;p>=0&&p<=1&&(a[f++]=p),v>=0&&v<=1&&(a[f++]=v)}else if(g>0){var _=L5(g),S=c*s+1.5*o*(-d+_),x=c*s+1.5*o*(-d-_);S<0?S=-Rp(-S,Lp):S=Rp(S,Lp),x<0?x=-Rp(-x,Lp):x=Rp(x,Lp);var p=(-s-(S+x))/(3*o);p>=0&&p<=1&&(a[f++]=p)}else{var A=(2*c*s-3*o*d)/(2*L5(c*c*c)),C=Math.acos(A)/3,M=L5(c),I=Math.cos(C),p=(-s-2*M*I)/(3*o),v=(-s+M*(I+vk*Math.sin(C)))/(3*o),D=(-s+M*(I-vk*Math.sin(C)))/(3*o);p>=0&&p<=1&&(a[f++]=p),v>=0&&v<=1&&(a[f++]=v),D>=0&&D<=1&&(a[f++]=D)}}return f}function IY(n,e,t,i,r){var a=6*t-12*e+6*n,o=9*e+3*i-3*n-9*t,s=3*e-3*n,l=0;if(_5(o)){if(LY(a)){var u=-s/a;u>=0&&u<=1&&(r[l++]=u)}}else{var c=a*a-4*o*s;if(_5(c))r[0]=-a/(2*o);else if(c>0){var d=L5(c),u=(-a+d)/(2*o),h=(-a-d)/(2*o);u>=0&&u<=1&&(r[l++]=u),h>=0&&h<=1&&(r[l++]=h)}}return l}function W5(n,e,t,i,r,a){var o=(e-n)*r+n,s=(t-e)*r+e,l=(i-t)*r+t,u=(s-o)*r+o,c=(l-s)*r+s,d=(c-u)*r+u;a[0]=n,a[1]=o,a[2]=u,a[3]=d,a[4]=d,a[5]=c,a[6]=l,a[7]=i}function DY(n,e,t,i,r,a,o,s,l,u,c){var d,h=.005,f=1/0,p,g,m,v;Wo[0]=l,Wo[1]=u;for(var _=0;_<1;_+=.05)ba[0]=vn(n,t,r,o,_),ba[1]=vn(e,i,a,s,_),m=B8(Wo,ba),m<f&&(d=_,f=m);f=1/0;for(var S=0;S<32&&!(h<RY);S++)p=d-h,g=d+h,ba[0]=vn(n,t,r,o,p),ba[1]=vn(e,i,a,s,p),m=B8(ba,Wo),p>=0&&m<f?(d=p,f=m):(f7[0]=vn(n,t,r,o,g),f7[1]=vn(e,i,a,s,g),v=B8(f7,Wo),g<=1&&v<f?(d=g,f=v):h*=.5);return c&&(c[0]=vn(n,t,r,o,d),c[1]=vn(e,i,a,s,d)),L5(f)}function M5e(n,e,t,i,r,a,o,s,l){for(var u=n,c=e,d=0,h=1/l,f=1;f<=l;f++){var p=f*h,g=vn(n,t,r,o,p),m=vn(e,i,a,s,p),v=g-u,_=m-c;d+=Math.sqrt(v*v+_*_),u=g,c=m}return d}function Dn(n,e,t,i){var r=1-i;return r*(r*n+2*i*e)+i*i*t}function sC(n,e,t,i){return 2*((1-i)*(e-n)+i*(t-e))}function E5e(n,e,t,i,r){var a=n-2*e+t,o=2*(e-n),s=n-i,l=0;if(_5(a)){if(LY(o)){var u=-s/o;u>=0&&u<=1&&(r[l++]=u)}}else{var c=o*o-4*a*s;if(_5(c)){var u=-o/(2*a);u>=0&&u<=1&&(r[l++]=u)}else if(c>0){var d=L5(c),u=(-o+d)/(2*a),h=(-o-d)/(2*a);u>=0&&u<=1&&(r[l++]=u),h>=0&&h<=1&&(r[l++]=h)}}return l}function NY(n,e,t){var i=n+t-2*e;return i===0?.5:(n-e)/i}function Qd(n,e,t,i,r){var a=(e-n)*i+n,o=(t-e)*i+e,s=(o-a)*i+a;r[0]=n,r[1]=a,r[2]=s,r[3]=s,r[4]=o,r[5]=t}function kY(n,e,t,i,r,a,o,s,l){var u,c=.005,d=1/0;Wo[0]=o,Wo[1]=s;for(var h=0;h<1;h+=.05){ba[0]=Dn(n,t,r,h),ba[1]=Dn(e,i,a,h);var f=B8(Wo,ba);f<d&&(u=h,d=f)}d=1/0;for(var p=0;p<32&&!(c<RY);p++){var g=u-c,m=u+c;ba[0]=Dn(n,t,r,g),ba[1]=Dn(e,i,a,g);var f=B8(ba,Wo);if(g>=0&&f<d)u=g,d=f;else{f7[0]=Dn(n,t,r,m),f7[1]=Dn(e,i,a,m);var v=B8(f7,Wo);m<=1&&v<d?(u=m,d=v):c*=.5}}return l&&(l[0]=Dn(n,t,r,u),l[1]=Dn(e,i,a,u)),L5(d)}function P5e(n,e,t,i,r,a,o){for(var s=n,l=e,u=0,c=1/o,d=1;d<=o;d++){var h=d*c,f=Dn(n,t,r,h),p=Dn(e,i,a,h),g=f-s,m=p-l;u+=Math.sqrt(g*g+m*m),s=f,l=p}return u}var R5e=/cubic-bezier\(([0-9,\.e ]+)\)/;function aP(n){var e=n&&R5e.exec(n);if(e){var t=e[1].split(","),i=+lo(t[0]),r=+lo(t[1]),a=+lo(t[2]),o=+lo(t[3]);if(isNaN(i+r+a+o))return;var s=[];return function(l){return l<=0?0:l>=1?1:Fv(0,i,a,1,l,s)&&vn(0,r,o,1,s[0])}}}var L5e=function(){function n(e){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=e.life||1e3,this._delay=e.delay||0,this.loop=e.loop||!1,this.onframe=e.onframe||U0,this.ondestroy=e.ondestroy||U0,this.onrestart=e.onrestart||U0,e.easing&&this.setEasing(e.easing)}return n.prototype.step=function(e,t){if(this._inited||(this._startTime=e+this._delay,this._inited=!0),this._paused){this._pausedTime+=t;return}var i=this._life,r=e-this._startTime-this._pausedTime,a=r/i;a<0&&(a=0),a=Math.min(a,1);var o=this.easingFunc,s=o?o(a):a;if(this.onframe(s),a===1)if(this.loop){var l=r%i;this._startTime=e-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},n.prototype.pause=function(){this._paused=!0},n.prototype.resume=function(){this._paused=!1},n.prototype.setEasing=function(e){this.easing=e,this.easingFunc=Gt(e)?e:PY[e]||aP(e)},n}();const I5e=L5e;var FY=function(){function n(e){this.value=e}return n}(),D5e=function(){function n(){this._len=0}return n.prototype.insert=function(e){var t=new FY(e);return this.insertEntry(t),t},n.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},n.prototype.remove=function(e){var t=e.prev,i=e.next;t?t.next=i:this.head=i,i?i.prev=t:this.tail=t,e.next=e.prev=null,this._len--},n.prototype.len=function(){return this._len},n.prototype.clear=function(){this.head=this.tail=null,this._len=0},n}(),N5e=function(){function n(e){this._list=new D5e,this._maxSize=10,this._map={},this._maxSize=e}return n.prototype.put=function(e,t){var i=this._list,r=this._map,a=null;if(r[e]==null){var o=i.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=i.head;i.remove(l),delete r[l.key],a=l.value,this._lastRemovedEntry=l}s?s.value=t:s=new FY(t),s.key=e,i.insertEntry(s),r[e]=s}return a},n.prototype.get=function(e){var t=this._map[e],i=this._list;if(t!=null)return t!==i.tail&&(i.remove(t),i.insertEntry(t)),t.value},n.prototype.clear=function(){this._list.clear(),this._map={}},n.prototype.len=function(){return this._list.len()},n}();const Xh=N5e;var _k={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function ho(n){return n=Math.round(n),n<0?0:n>255?255:n}function k5e(n){return n=Math.round(n),n<0?0:n>360?360:n}function eh(n){return n<0?0:n>1?1:n}function sx(n){var e=n;return e.length&&e.charAt(e.length-1)==="%"?ho(parseFloat(e)/100*255):ho(parseInt(e,10))}function z8(n){var e=n;return e.length&&e.charAt(e.length-1)==="%"?eh(parseFloat(e)/100):eh(parseFloat(e))}function lx(n,e,t){return t<0?t+=1:t>1&&(t-=1),t*6<1?n+(e-n)*t*6:t*2<1?e:t*3<2?n+(e-n)*(2/3-t)*6:n}function S5(n,e,t){return n+(e-n)*t}function ua(n,e,t,i,r){return n[0]=e,n[1]=t,n[2]=i,n[3]=r,n}function lC(n,e){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n}var OY=new Xh(20),Ip=null;function Yl(n,e){Ip&&lC(Ip,e),Ip=OY.put(n,Ip||e.slice())}function Vr(n,e){if(n){e=e||[];var t=OY.get(n);if(t)return lC(e,t);n=n+"";var i=n.replace(/ /g,"").toLowerCase();if(i in _k)return lC(e,_k[i]),Yl(n,e),e;var r=i.length;if(i.charAt(0)==="#"){if(r===4||r===5){var a=parseInt(i.slice(1,4),16);if(!(a>=0&&a<=4095)){ua(e,0,0,0,1);return}return ua(e,(a&3840)>>4|(a&3840)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,r===5?parseInt(i.slice(4),16)/15:1),Yl(n,e),e}else if(r===7||r===9){var a=parseInt(i.slice(1,7),16);if(!(a>=0&&a<=16777215)){ua(e,0,0,0,1);return}return ua(e,(a&16711680)>>16,(a&65280)>>8,a&255,r===9?parseInt(i.slice(7),16)/255:1),Yl(n,e),e}return}var o=i.indexOf("("),s=i.indexOf(")");if(o!==-1&&s+1===r){var l=i.substr(0,o),u=i.substr(o+1,s-(o+1)).split(","),c=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?ua(e,+u[0],+u[1],+u[2],1):ua(e,0,0,0,1);c=z8(u.pop());case"rgb":if(u.length>=3)return ua(e,sx(u[0]),sx(u[1]),sx(u[2]),u.length===3?c:z8(u[3])),Yl(n,e),e;ua(e,0,0,0,1);return;case"hsla":if(u.length!==4){ua(e,0,0,0,1);return}return u[3]=z8(u[3]),uC(u,e),Yl(n,e),e;case"hsl":if(u.length!==3){ua(e,0,0,0,1);return}return uC(u,e),Yl(n,e),e;default:return}}ua(e,0,0,0,1)}}function uC(n,e){var t=(parseFloat(n[0])%360+360)%360/360,i=z8(n[1]),r=z8(n[2]),a=r<=.5?r*(i+1):r+i-r*i,o=r*2-a;return e=e||[],ua(e,ho(lx(o,a,t+1/3)*255),ho(lx(o,a,t)*255),ho(lx(o,a,t-1/3)*255),1),n.length===4&&(e[3]=n[3]),e}function F5e(n){if(n){var e=n[0]/255,t=n[1]/255,i=n[2]/255,r=Math.min(e,t,i),a=Math.max(e,t,i),o=a-r,s=(a+r)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(a+r):u=o/(2-a-r);var c=((a-e)/6+o/2)/o,d=((a-t)/6+o/2)/o,h=((a-i)/6+o/2)/o;e===a?l=h-d:t===a?l=1/3+c-h:i===a&&(l=2/3+d-c),l<0&&(l+=1),l>1&&(l-=1)}var f=[l*360,u,s];return n[3]!=null&&f.push(n[3]),f}}function cC(n,e){var t=Vr(n);if(t){for(var i=0;i<3;i++)e<0?t[i]=t[i]*(1-e)|0:t[i]=(255-t[i])*e+t[i]|0,t[i]>255?t[i]=255:t[i]<0&&(t[i]=0);return Qs(t,t.length===4?"rgba":"rgb")}}function ux(n,e,t){if(!(!(e&&e.length)||!(n>=0&&n<=1))){t=t||[];var i=n*(e.length-1),r=Math.floor(i),a=Math.ceil(i),o=e[r],s=e[a],l=i-r;return t[0]=ho(S5(o[0],s[0],l)),t[1]=ho(S5(o[1],s[1],l)),t[2]=ho(S5(o[2],s[2],l)),t[3]=eh(S5(o[3],s[3],l)),t}}function O5e(n,e,t){if(!(!(e&&e.length)||!(n>=0&&n<=1))){var i=n*(e.length-1),r=Math.floor(i),a=Math.ceil(i),o=Vr(e[r]),s=Vr(e[a]),l=i-r,u=Qs([ho(S5(o[0],s[0],l)),ho(S5(o[1],s[1],l)),ho(S5(o[2],s[2],l)),eh(S5(o[3],s[3],l))],"rgba");return t?{color:u,leftIndex:r,rightIndex:a,value:i}:u}}function md(n,e,t,i){var r=Vr(n);if(n)return r=F5e(r),e!=null&&(r[0]=k5e(e)),t!=null&&(r[1]=z8(t)),i!=null&&(r[2]=z8(i)),Qs(uC(r),"rgba")}function Ov(n,e){var t=Vr(n);if(t&&e!=null)return t[3]=eh(e),Qs(t,"rgba")}function Qs(n,e){if(!(!n||!n.length)){var t=n[0]+","+n[1]+","+n[2];return(e==="rgba"||e==="hsva"||e==="hsla")&&(t+=","+n[3]),e+"("+t+")"}}function Bv(n,e){var t=Vr(n);return t?(.299*t[0]+.587*t[1]+.114*t[2])*t[3]/255+(1-t[3])*e:0}var Sk=new Xh(100);function dC(n){if(_t(n)){var e=Sk.get(n);return e||(e=cC(n,-.1),Sk.put(n,e)),e}else if(y_(n)){var t=L2({},n);return t.colorStops=j2(n.colorStops,function(i){return{offset:i.offset,color:cC(i.color,-.1)}}),t}return n}var zv=Math.round;function th(n){var e;if(!n||n==="transparent")n="none";else if(typeof n=="string"&&n.indexOf("rgba")>-1){var t=Vr(n);t&&(n="rgb("+t[0]+","+t[1]+","+t[2]+")",e=t[3])}return{color:n,opacity:e==null?1:e}}var bk=1e-4;function b5(n){return n<bk&&n>-bk}function Dp(n){return zv(n*1e3)/1e3}function hC(n){return zv(n*1e4)/1e4}function B5e(n){return"matrix("+Dp(n[0])+","+Dp(n[1])+","+Dp(n[2])+","+Dp(n[3])+","+hC(n[4])+","+hC(n[5])+")"}var z5e={left:"start",right:"end",center:"middle",middle:"middle"};function U5e(n,e,t){return t==="top"?n+=e/2:t==="bottom"&&(n-=e/2),n}function G5e(n){return n&&(n.shadowBlur||n.shadowOffsetX||n.shadowOffsetY)}function V5e(n){var e=n.style,t=n.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),t[0],t[1]].join(",")}function BY(n){return n&&!!n.image}function H5e(n){return n&&!!n.svgElement}function oP(n){return BY(n)||H5e(n)}function zY(n){return n.type==="linear"}function UY(n){return n.type==="radial"}function GY(n){return n&&(n.type==="linear"||n.type==="radial")}function b_(n){return"url(#"+n+")"}function VY(n){var e=n.getGlobalScale(),t=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(t)/Math.log(10)),1)}function HY(n){var e=n.x||0,t=n.y||0,i=(n.rotation||0)*Gg,r=e3(n.scaleX,1),a=e3(n.scaleY,1),o=n.skewX||0,s=n.skewY||0,l=[];return(e||t)&&l.push("translate("+e+"px,"+t+"px)"),i&&l.push("rotate("+i+")"),(r!==1||a!==1)&&l.push("scale("+r+","+a+")"),(o||s)&&l.push("skew("+zv(o*Gg)+"deg, "+zv(s*Gg)+"deg)"),l.join(" ")}var W5e=function(){return $3.hasGlobalWindow&&Gt(window.btoa)?function(n){return window.btoa(unescape(encodeURIComponent(n)))}:typeof Buffer!="undefined"?function(n){return Buffer.from(n).toString("base64")}:function(n){return null}}(),fC=Array.prototype.slice;function Vs(n,e,t){return(e-n)*t+n}function cx(n,e,t,i){for(var r=e.length,a=0;a<r;a++)n[a]=Vs(e[a],t[a],i);return n}function j5e(n,e,t,i){for(var r=e.length,a=r&&e[0].length,o=0;o<r;o++){n[o]||(n[o]=[]);for(var s=0;s<a;s++)n[o][s]=Vs(e[o][s],t[o][s],i)}return n}function Np(n,e,t,i){for(var r=e.length,a=0;a<r;a++)n[a]=e[a]+t[a]*i;return n}function xk(n,e,t,i){for(var r=e.length,a=r&&e[0].length,o=0;o<r;o++){n[o]||(n[o]=[]);for(var s=0;s<a;s++)n[o][s]=e[o][s]+t[o][s]*i}return n}function $5e(n,e){for(var t=n.length,i=e.length,r=t>i?e:n,a=Math.min(t,i),o=r[a-1]||{color:[0,0,0,0],offset:0},s=a;s<Math.max(t,i);s++)r.push({offset:o.offset,color:o.color.slice()})}function Y5e(n,e,t){var i=n,r=e;if(!(!i.push||!r.push)){var a=i.length,o=r.length;if(a!==o){var s=a>o;if(s)i.length=o;else for(var l=a;l<o;l++)i.push(t===1?r[l]:fC.call(r[l]))}for(var u=i[0]&&i[0].length,l=0;l<i.length;l++)if(t===1)isNaN(i[l])&&(i[l]=r[l]);else for(var c=0;c<u;c++)isNaN(i[l][c])&&(i[l][c]=r[l][c])}}function gd(n){if(Si(n)){var e=n.length;if(Si(n[0])){for(var t=[],i=0;i<e;i++)t.push(fC.call(n[i]));return t}return fC.call(n)}return n}function $g(n){return n[0]=Math.floor(n[0])||0,n[1]=Math.floor(n[1])||0,n[2]=Math.floor(n[2])||0,n[3]=n[3]==null?1:n[3],"rgba("+n.join(",")+")"}function q5e(n){return Si(n&&n[0])?2:1}var kp=0,Yg=1,WY=2,qc=3,pC=4,mC=5,wk=6;function Tk(n){return n===pC||n===mC}function Fp(n){return n===Yg||n===WY}var ic=[0,0,0,0],X5e=function(){function n(e){this.keyframes=[],this.discrete=!1,this._invalid=!1,this._needsSort=!1,this._lastFr=0,this._lastFrP=0,this.propName=e}return n.prototype.isFinished=function(){return this._finished},n.prototype.setFinished=function(){this._finished=!0,this._additiveTrack&&this._additiveTrack.setFinished()},n.prototype.needsAnimate=function(){return this.keyframes.length>=1},n.prototype.getAdditiveTrack=function(){return this._additiveTrack},n.prototype.addKeyframe=function(e,t,i){this._needsSort=!0;var r=this.keyframes,a=r.length,o=!1,s=wk,l=t;if(Si(t)){var u=q5e(t);s=u,(u===1&&!q3(t[0])||u===2&&!q3(t[0][0]))&&(o=!0)}else if(q3(t)&&!Zd(t))s=kp;else if(_t(t))if(!isNaN(+t))s=kp;else{var c=Vr(t);c&&(l=c,s=qc)}else if(y_(t)){var d=L2({},l);d.colorStops=j2(t.colorStops,function(f){return{offset:f.offset,color:Vr(f.color)}}),zY(t)?s=pC:UY(t)&&(s=mC),l=d}a===0?this.valType=s:(s!==this.valType||s===wk)&&(o=!0),this.discrete=this.discrete||o;var h={time:e,value:l,rawValue:t,percent:0};return i&&(h.easing=i,h.easingFunc=Gt(i)?i:PY[i]||aP(i)),r.push(h),h},n.prototype.prepare=function(e,t){var i=this.keyframes;this._needsSort&&i.sort(function(g,m){return g.time-m.time});for(var r=this.valType,a=i.length,o=i[a-1],s=this.discrete,l=Fp(r),u=Tk(r),c=0;c<a;c++){var d=i[c],h=d.value,f=o.value;d.percent=d.time/e,s||(l&&c!==a-1?Y5e(h,f,r):u&&$5e(h.colorStops,f.colorStops))}if(!s&&r!==mC&&t&&this.needsAnimate()&&t.needsAnimate()&&r===t.valType&&!t._finished){this._additiveTrack=t;for(var p=i[0].value,c=0;c<a;c++)r===kp?i[c].additiveValue=i[c].value-p:r===qc?i[c].additiveValue=Np([],i[c].value,p,-1):Fp(r)&&(i[c].additiveValue=r===Yg?Np([],i[c].value,p,-1):xk([],i[c].value,p,-1))}},n.prototype.step=function(e,t){if(!this._finished){this._additiveTrack&&this._additiveTrack._finished&&(this._additiveTrack=null);var i=this._additiveTrack!=null,r=i?"additiveValue":"value",a=this.valType,o=this.keyframes,s=o.length,l=this.propName,u=a===qc,c,d=this._lastFr,h=Math.min,f,p;if(s===1)f=p=o[0];else{if(t<0)c=0;else if(t<this._lastFrP){var g=h(d+1,s-1);for(c=g;c>=0&&!(o[c].percent<=t);c--);c=h(c,s-2)}else{for(c=d;c<s&&!(o[c].percent>t);c++);c=h(c-1,s-2)}p=o[c+1],f=o[c]}if(f&&p){this._lastFr=c,this._lastFrP=t;var m=p.percent-f.percent,v=m===0?1:h((t-f.percent)/m,1);p.easingFunc&&(v=p.easingFunc(v));var _=i?this._additiveValue:u?ic:e[l];if((Fp(a)||u)&&!_&&(_=this._additiveValue=[]),this.discrete)e[l]=v<1?f.rawValue:p.rawValue;else if(Fp(a))a===Yg?cx(_,f[r],p[r],v):j5e(_,f[r],p[r],v);else if(Tk(a)){var S=f[r],x=p[r],A=a===pC;e[l]={type:A?"linear":"radial",x:Vs(S.x,x.x,v),y:Vs(S.y,x.y,v),colorStops:j2(S.colorStops,function(M,I){var D=x.colorStops[I];return{offset:Vs(M.offset,D.offset,v),color:$g(cx([],M.color,D.color,v))}}),global:x.global},A?(e[l].x2=Vs(S.x2,x.x2,v),e[l].y2=Vs(S.y2,x.y2,v)):e[l].r=Vs(S.r,x.r,v)}else if(u)cx(_,f[r],p[r],v),i||(e[l]=$g(_));else{var C=Vs(f[r],p[r],v);i?this._additiveValue=C:e[l]=C}i&&this._addToTarget(e)}}},n.prototype._addToTarget=function(e){var t=this.valType,i=this.propName,r=this._additiveValue;t===kp?e[i]=e[i]+r:t===qc?(Vr(e[i],ic),Np(ic,ic,r,1),e[i]=$g(ic)):t===Yg?Np(e[i],e[i],r,1):t===WY&&xk(e[i],e[i],r,1)},n}(),sP=function(){function n(e,t,i,r){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&r){JE("Can' use additive animation on looped animation.");return}this._additiveAnimators=r,this._allowDiscrete=i}return n.prototype.getMaxTime=function(){return this._maxTime},n.prototype.getDelay=function(){return this._delay},n.prototype.getLoop=function(){return this._loop},n.prototype.getTarget=function(){return this._target},n.prototype.changeTarget=function(e){this._target=e},n.prototype.when=function(e,t,i){return this.whenWithKeys(e,t,E3(t),i)},n.prototype.whenWithKeys=function(e,t,i,r){for(var a=this._tracks,o=0;o<i.length;o++){var s=i[o],l=a[s];if(!l){l=a[s]=new X5e(s);var u=void 0,c=this._getAdditiveTrack(s);if(c){var d=c.keyframes,h=d[d.length-1];u=h&&h.value,c.valType===qc&&u&&(u=$g(u))}else u=this._target[s];if(u==null)continue;e>0&&l.addKeyframe(0,gd(u),r),this._trackKeys.push(s)}l.addKeyframe(e,gd(t[s]),r)}return this._maxTime=Math.max(this._maxTime,e),this},n.prototype.pause=function(){this._clip.pause(),this._paused=!0},n.prototype.resume=function(){this._clip.resume(),this._paused=!1},n.prototype.isPaused=function(){return!!this._paused},n.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},n.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,i=0;i<t;i++)e[i].call(this)},n.prototype._abortedCallback=function(){this._setTracksFinished();var e=this.animation,t=this._abortedCbs;if(e&&e.removeClip(this._clip),this._clip=null,t)for(var i=0;i<t.length;i++)t[i].call(this)},n.prototype._setTracksFinished=function(){for(var e=this._tracks,t=this._trackKeys,i=0;i<t.length;i++)e[t[i]].setFinished()},n.prototype._getAdditiveTrack=function(e){var t,i=this._additiveAnimators;if(i)for(var r=0;r<i.length;r++){var a=i[r].getTrack(e);a&&(t=a)}return t},n.prototype.start=function(e){if(!(this._started>0)){this._started=1;for(var t=this,i=[],r=this._maxTime||0,a=0;a<this._trackKeys.length;a++){var o=this._trackKeys[a],s=this._tracks[o],l=this._getAdditiveTrack(o),u=s.keyframes,c=u.length;if(s.prepare(r,l),s.needsAnimate())if(!this._allowDiscrete&&s.discrete){var d=u[c-1];d&&(t._target[s.propName]=d.rawValue),s.setFinished()}else i.push(s)}if(i.length||this._force){var h=new I5e({life:r,loop:this._loop,delay:this._delay||0,onframe:function(f){t._started=2;var p=t._additiveAnimators;if(p){for(var g=!1,m=0;m<p.length;m++)if(p[m]._clip){g=!0;break}g||(t._additiveAnimators=null)}for(var m=0;m<i.length;m++)i[m].step(t._target,f);var v=t._onframeCbs;if(v)for(var m=0;m<v.length;m++)v[m](t._target,f)},ondestroy:function(){t._doneCallback()}});this._clip=h,this.animation&&this.animation.addClip(h),e&&h.setEasing(e)}else this._doneCallback();return this}},n.prototype.stop=function(e){if(this._clip){var t=this._clip;e&&t.onframe(1),this._abortedCallback()}},n.prototype.delay=function(e){return this._delay=e,this},n.prototype.during=function(e){return e&&(this._onframeCbs||(this._onframeCbs=[]),this._onframeCbs.push(e)),this},n.prototype.done=function(e){return e&&(this._doneCbs||(this._doneCbs=[]),this._doneCbs.push(e)),this},n.prototype.aborted=function(e){return e&&(this._abortedCbs||(this._abortedCbs=[]),this._abortedCbs.push(e)),this},n.prototype.getClip=function(){return this._clip},n.prototype.getTrack=function(e){return this._tracks[e]},n.prototype.getTracks=function(){var e=this;return j2(this._trackKeys,function(t){return e._tracks[t]})},n.prototype.stopTracks=function(e,t){if(!e.length||!this._clip)return!0;for(var i=this._tracks,r=this._trackKeys,a=0;a<e.length;a++){var o=i[e[a]];o&&!o.isFinished()&&(t?o.step(this._target,1):this._started===1&&o.step(this._target,0),o.setFinished())}for(var s=!0,a=0;a<r.length;a++)if(!i[r[a]].isFinished()){s=!1;break}return s&&this._abortedCallback(),s},n.prototype.saveTo=function(e,t,i){if(e){t=t||this._trackKeys;for(var r=0;r<t.length;r++){var a=t[r],o=this._tracks[a];if(!(!o||o.isFinished())){var s=o.keyframes,l=s[i?0:s.length-1];l&&(e[a]=gd(l.rawValue))}}}},n.prototype.__changeFinalValue=function(e,t){t=t||E3(e);for(var i=0;i<t.length;i++){var r=t[i],a=this._tracks[r];if(a){var o=a.keyframes;if(o.length>1){var s=o.pop();a.addKeyframe(s.time,e[r]),a.prepare(this._maxTime,a.getAdditiveTrack())}}}},n}();function K4(){return new Date().getTime()}var K5e=function(n){g2(e,n);function e(t){var i=n.call(this)||this;return i._running=!1,i._time=0,i._pausedTime=0,i._pauseStart=0,i._paused=!1,t=t||{},i.stage=t.stage||{},i}return e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var i=t.getClip();i&&this.addClip(i)},e.prototype.removeClip=function(t){if(t.animation){var i=t.prev,r=t.next;i?i.next=r:this._head=r,r?r.prev=i:this._tail=i,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var i=t.getClip();i&&this.removeClip(i),t.animation=null},e.prototype.update=function(t){for(var i=K4()-this._pausedTime,r=i-this._time,a=this._head;a;){var o=a.next,s=a.step(i,r);s&&(a.ondestroy(),this.removeClip(a)),a=o}this._time=i,t||(this.trigger("frame",r),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0;function i(){t._running&&(oC(i),!t._paused&&t.update())}oC(i)},e.prototype.start=function(){this._running||(this._time=K4(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=K4(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=K4()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var i=t.next;t.prev=t.next=t.animation=null,t=i}this._head=this._tail=null},e.prototype.isFinished=function(){return this._head==null},e.prototype.animate=function(t,i){i=i||{},this.start();var r=new sP(t,i.loop);return this.addAnimator(r),r},e}(Ua);const Z5e=K5e;var J5e=300,dx=$3.domSupported,hx=function(){var n=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],t={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},i=j2(n,function(r){var a=r.replace("mouse","pointer");return t.hasOwnProperty(a)?a:r});return{mouse:n,touch:e,pointer:i}}(),Ak={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},Ck=!1;function gC(n){var e=n.pointerType;return e==="pen"||e==="touch"}function Q5e(n){n.touching=!0,n.touchTimer!=null&&(clearTimeout(n.touchTimer),n.touchTimer=null),n.touchTimer=setTimeout(function(){n.touching=!1,n.touchTimer=null},700)}function fx(n){n&&(n.zrByTouch=!0)}function e9e(n,e){return ma(n.dom,new t9e(n,e),!0)}function jY(n,e){for(var t=e,i=!1;t&&t.nodeType!==9&&!(i=t.domBelongToZr||t!==e&&t===n.painterRoot);)t=t.parentNode;return i}var t9e=function(){function n(e,t){this.stopPropagation=U0,this.stopImmediatePropagation=U0,this.preventDefault=U0,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return n}(),no={mousedown:function(n){n=ma(this.dom,n),this.__mayPointerCapture=[n.zrX,n.zrY],this.trigger("mousedown",n)},mousemove:function(n){n=ma(this.dom,n);var e=this.__mayPointerCapture;e&&(n.zrX!==e[0]||n.zrY!==e[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",n)},mouseup:function(n){n=ma(this.dom,n),this.__togglePointerCapture(!1),this.trigger("mouseup",n)},mouseout:function(n){n=ma(this.dom,n);var e=n.toElement||n.relatedTarget;jY(this,e)||(this.__pointerCapturing&&(n.zrEventControl="no_globalout"),this.trigger("mouseout",n))},wheel:function(n){Ck=!0,n=ma(this.dom,n),this.trigger("mousewheel",n)},mousewheel:function(n){Ck||(n=ma(this.dom,n),this.trigger("mousewheel",n))},touchstart:function(n){n=ma(this.dom,n),fx(n),this.__lastTouchMoment=new Date,this.handler.processGesture(n,"start"),no.mousemove.call(this,n),no.mousedown.call(this,n)},touchmove:function(n){n=ma(this.dom,n),fx(n),this.handler.processGesture(n,"change"),no.mousemove.call(this,n)},touchend:function(n){n=ma(this.dom,n),fx(n),this.handler.processGesture(n,"end"),no.mouseup.call(this,n),+new Date-+this.__lastTouchMoment<J5e&&no.click.call(this,n)},pointerdown:function(n){no.mousedown.call(this,n)},pointermove:function(n){gC(n)||no.mousemove.call(this,n)},pointerup:function(n){no.mouseup.call(this,n)},pointerout:function(n){gC(n)||no.mouseout.call(this,n)}};ne(["click","dblclick","contextmenu"],function(n){no[n]=function(e){e=ma(this.dom,e),this.trigger(n,e)}});var vC={pointermove:function(n){gC(n)||vC.mousemove.call(this,n)},pointerup:function(n){vC.mouseup.call(this,n)},mousemove:function(n){this.trigger("mousemove",n)},mouseup:function(n){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",n),e&&(n.zrEventControl="only_globalout",this.trigger("mouseout",n))}};function n9e(n,e){var t=e.domHandlers;$3.pointerEventsSupported?ne(hx.pointer,function(i){qg(e,i,function(r){t[i].call(n,r)})}):($3.touchEventsSupported&&ne(hx.touch,function(i){qg(e,i,function(r){t[i].call(n,r),Q5e(e)})}),ne(hx.mouse,function(i){qg(e,i,function(r){r=nP(r),e.touching||t[i].call(n,r)})}))}function i9e(n,e){$3.pointerEventsSupported?ne(Ak.pointer,t):$3.touchEventsSupported||ne(Ak.mouse,t);function t(i){function r(a){a=nP(a),jY(n,a.target)||(a=e9e(n,a),e.domHandlers[i].call(n,a))}qg(e,i,r,{capture:!0})}}function qg(n,e,t,i){n.mounted[e]=t,n.listenerOpts[e]=i,aC(n.domTarget,e,t,i)}function px(n){var e=n.mounted;for(var t in e)e.hasOwnProperty(t)&&c5e(n.domTarget,t,e[t],n.listenerOpts[t]);n.mounted={}}var Mk=function(){function n(e,t){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=e,this.domHandlers=t}return n}(),r9e=function(n){g2(e,n);function e(t,i){var r=n.call(this)||this;return r.__pointerCapturing=!1,r.dom=t,r.painterRoot=i,r._localHandlerScope=new Mk(t,no),dx&&(r._globalHandlerScope=new Mk(document,vC)),n9e(r,r._localHandlerScope),r}return e.prototype.dispose=function(){px(this._localHandlerScope),dx&&px(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,dx&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var i=this._globalHandlerScope;t?i9e(this,i):px(i)}},e}(Ua);const a9e=r9e;var $Y=1;$3.hasGlobalWindow&&($Y=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var Uv=$Y,yC=.4,_C="#333",SC="#ccc",o9e="#eee",Ek=S_,Pk=5e-5;function L9(n){return n>Pk||n<-Pk}var I9=[],ql=[],mx=Gr(),gx=Math.abs,s9e=function(){function n(){}return n.prototype.getLocalTransform=function(e){return n.getLocalTransform(this,e)},n.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},n.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},n.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},n.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},n.prototype.needLocalTransform=function(){return L9(this.rotation)||L9(this.x)||L9(this.y)||L9(this.scaleX-1)||L9(this.scaleY-1)||L9(this.skewX)||L9(this.skewY)},n.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),i=this.transform;if(!(t||e)){i&&(Ek(i),this.invTransform=null);return}i=i||Gr(),t?this.getLocalTransform(i):Ek(i),e&&(t?Js(i,e,i):iP(i,e)),this.transform=i,this._resolveGlobalScaleRatio(i)},n.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(I9);var i=I9[0]<0?-1:1,r=I9[1]<0?-1:1,a=((I9[0]-i)*t+i)/I9[0]||0,o=((I9[1]-r)*t+r)/I9[1]||0;e[0]*=a,e[1]*=a,e[2]*=o,e[3]*=o}this.invTransform=this.invTransform||Gr(),su(this.invTransform,e)},n.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},n.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],i=e[2]*e[2]+e[3]*e[3],r=Math.atan2(e[1],e[0]),a=Math.PI/2+r-Math.atan2(e[3],e[2]);i=Math.sqrt(i)*Math.cos(a),t=Math.sqrt(t),this.skewX=a,this.skewY=0,this.rotation=-r,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=i,this.originX=0,this.originY=0}},n.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||Gr(),Js(ql,e.invTransform,t),t=ql);var i=this.originX,r=this.originY;(i||r)&&(mx[4]=i,mx[5]=r,Js(ql,t,mx),ql[4]-=i,ql[5]-=r,t=ql),this.setLocalTransform(t)}},n.prototype.getGlobalScale=function(e){var t=this.transform;return e=e||[],t?(e[0]=Math.sqrt(t[0]*t[0]+t[1]*t[1]),e[1]=Math.sqrt(t[2]*t[2]+t[3]*t[3]),t[0]<0&&(e[0]=-e[0]),t[3]<0&&(e[1]=-e[1]),e):(e[0]=1,e[1]=1,e)},n.prototype.transformCoordToLocal=function(e,t){var i=[e,t],r=this.invTransform;return r&&Kn(i,i,r),i},n.prototype.transformCoordToGlobal=function(e,t){var i=[e,t],r=this.transform;return r&&Kn(i,i,r),i},n.prototype.getLineScale=function(){var e=this.transform;return e&&gx(e[0]-1)>1e-10&&gx(e[3]-1)>1e-10?Math.sqrt(gx(e[0]*e[3]-e[2]*e[1])):1},n.prototype.copyTransform=function(e){YY(this,e)},n.getLocalTransform=function(e,t){t=t||[];var i=e.originX||0,r=e.originY||0,a=e.scaleX,o=e.scaleY,s=e.anchorX,l=e.anchorY,u=e.rotation||0,c=e.x,d=e.y,h=e.skewX?Math.tan(e.skewX):0,f=e.skewY?Math.tan(-e.skewY):0;if(i||r||s||l){var p=i+s,g=r+l;t[4]=-p*a-h*g*o,t[5]=-g*o-f*p*a}else t[4]=t[5]=0;return t[0]=a,t[3]=o,t[1]=f*a,t[2]=h*o,u&&_l(t,t,u),t[4]+=i+c,t[5]+=r+d,t},n.initDefaultProps=function(){var e=n.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),n}(),us=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function YY(n,e){for(var t=0;t<us.length;t++){var i=us[t];n[i]=e[i]}}const Ys=s9e;var Rk={};function Hr(n,e){e=e||V5;var t=Rk[e];t||(t=Rk[e]=new Xh(500));var i=t.get(n);return i==null&&(i=H5.measureText(n,e).width,t.put(n,i)),i}function Lk(n,e,t,i){var r=Hr(n,e),a=x_(e),o=Xc(0,r,t),s=z4(0,a,i),l=new h3(o,s,r,a);return l}function Kh(n,e,t,i){var r=((n||"")+"").split(` |
|
|
`),a=r.length;if(a===1)return Lk(r[0],e,t,i);for(var o=new h3(0,0,0,0),s=0;s<r.length;s++){var l=Lk(r[s],e,t,i);s===0?o.copy(l):o.union(l)}return o}function Xc(n,e,t){return t==="right"?n-=e:t==="center"&&(n-=e/2),n}function z4(n,e,t){return t==="middle"?n-=e/2:t==="bottom"&&(n-=e),n}function x_(n){return Hr("国",n)}function mo(n,e){return typeof n=="string"?n.lastIndexOf("%")>=0?parseFloat(n)/100*e:parseFloat(n):n}function Gv(n,e,t){var i=e.position||"inside",r=e.distance!=null?e.distance:5,a=t.height,o=t.width,s=a/2,l=t.x,u=t.y,c="left",d="top";if(i instanceof Array)l+=mo(i[0],t.width),u+=mo(i[1],t.height),c=null,d=null;else switch(i){case"left":l-=r,u+=s,c="right",d="middle";break;case"right":l+=r+o,u+=s,d="middle";break;case"top":l+=o/2,u-=r,c="center",d="bottom";break;case"bottom":l+=o/2,u+=a+r,c="center";break;case"inside":l+=o/2,u+=s,c="center",d="middle";break;case"insideLeft":l+=r,u+=s,d="middle";break;case"insideRight":l+=o-r,u+=s,c="right",d="middle";break;case"insideTop":l+=o/2,u+=r,c="center";break;case"insideBottom":l+=o/2,u+=a-r,c="center",d="bottom";break;case"insideTopLeft":l+=r,u+=r;break;case"insideTopRight":l+=o-r,u+=r,c="right";break;case"insideBottomLeft":l+=r,u+=a-r,d="bottom";break;case"insideBottomRight":l+=o-r,u+=a-r,c="right",d="bottom";break}return n=n||{},n.x=l,n.y=u,n.align=c,n.verticalAlign=d,n}var vx="__zr_normal__",yx=us.concat(["ignore"]),l9e=ss(us,function(n,e){return n[e]=!0,n},{ignore:!1}),Xl={},u9e=new h3(0,0,0,0),lP=function(){function n(e){this.id=_Y(),this.animators=[],this.currentStates=[],this.states={},this._init(e)}return n.prototype._init=function(e){this.attr(e)},n.prototype.drift=function(e,t,i){switch(this.draggable){case"horizontal":t=0;break;case"vertical":e=0;break}var r=this.transform;r||(r=this.transform=[1,0,0,1,0,0]),r[4]+=e,r[5]+=t,this.decomposeTransform(),this.markRedraw()},n.prototype.beforeUpdate=function(){},n.prototype.afterUpdate=function(){},n.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},n.prototype.updateInnerText=function(e){var t=this._textContent;if(t&&(!t.ignore||e)){this.textConfig||(this.textConfig={});var i=this.textConfig,r=i.local,a=t.innerTransformable,o=void 0,s=void 0,l=!1;a.parent=r?this:null;var u=!1;if(a.copyTransform(t),i.position!=null){var c=u9e;i.layoutRect?c.copy(i.layoutRect):c.copy(this.getBoundingRect()),r||c.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Xl,i,c):Gv(Xl,i,c),a.x=Xl.x,a.y=Xl.y,o=Xl.align,s=Xl.verticalAlign;var d=i.origin;if(d&&i.rotation!=null){var h=void 0,f=void 0;d==="center"?(h=c.width*.5,f=c.height*.5):(h=mo(d[0],c.width),f=mo(d[1],c.height)),u=!0,a.originX=-a.x+h+(r?0:c.x),a.originY=-a.y+f+(r?0:c.y)}}i.rotation!=null&&(a.rotation=i.rotation);var p=i.offset;p&&(a.x+=p[0],a.y+=p[1],u||(a.originX=-p[0],a.originY=-p[1]));var g=i.inside==null?typeof i.position=="string"&&i.position.indexOf("inside")>=0:i.inside,m=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),v=void 0,_=void 0,S=void 0;g&&this.canBeInsideText()?(v=i.insideFill,_=i.insideStroke,(v==null||v==="auto")&&(v=this.getInsideTextFill()),(_==null||_==="auto")&&(_=this.getInsideTextStroke(v),S=!0)):(v=i.outsideFill,_=i.outsideStroke,(v==null||v==="auto")&&(v=this.getOutsideFill()),(_==null||_==="auto")&&(_=this.getOutsideStroke(v),S=!0)),v=v||"#000",(v!==m.fill||_!==m.stroke||S!==m.autoStroke||o!==m.align||s!==m.verticalAlign)&&(l=!0,m.fill=v,m.stroke=_,m.autoStroke=S,m.align=o,m.verticalAlign=s,t.setDefaultTextStyle(m)),t.__dirty|=Fr,l&&t.dirtyStyle(!0)}},n.prototype.canBeInsideText=function(){return!0},n.prototype.getInsideTextFill=function(){return"#fff"},n.prototype.getInsideTextStroke=function(e){return"#000"},n.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?SC:_C},n.prototype.getOutsideStroke=function(e){var t=this.__zr&&this.__zr.getBackgroundColor(),i=typeof t=="string"&&Vr(t);i||(i=[255,255,255,1]);for(var r=i[3],a=this.__zr.isDarkMode(),o=0;o<3;o++)i[o]=i[o]*r+(a?0:255)*(1-r);return i[3]=1,Qs(i,"rgba")},n.prototype.traverse=function(e,t){},n.prototype.attrKV=function(e,t){e==="textConfig"?this.setTextConfig(t):e==="textContent"?this.setTextContent(t):e==="clipPath"?this.setClipPath(t):e==="extra"?(this.extra=this.extra||{},L2(this.extra,t)):this[e]=t},n.prototype.hide=function(){this.ignore=!0,this.markRedraw()},n.prototype.show=function(){this.ignore=!1,this.markRedraw()},n.prototype.attr=function(e,t){if(typeof e=="string")this.attrKV(e,t);else if(jt(e))for(var i=e,r=E3(i),a=0;a<r.length;a++){var o=r[a];this.attrKV(o,e[o])}return this.markRedraw(),this},n.prototype.saveCurrentToNormalState=function(e){this._innerSaveToNormal(e);for(var t=this._normalState,i=0;i<this.animators.length;i++){var r=this.animators[i],a=r.__fromStateTransition;if(!(r.getLoop()||a&&a!==vx)){var o=r.targetName,s=o?t[o]:t;r.saveTo(s)}}},n.prototype._innerSaveToNormal=function(e){var t=this._normalState;t||(t=this._normalState={}),e.textConfig&&!t.textConfig&&(t.textConfig=this.textConfig),this._savePrimaryToNormal(e,t,yx)},n.prototype._savePrimaryToNormal=function(e,t,i){for(var r=0;r<i.length;r++){var a=i[r];e[a]!=null&&!(a in t)&&(t[a]=this[a])}},n.prototype.hasState=function(){return this.currentStates.length>0},n.prototype.getState=function(e){return this.states[e]},n.prototype.ensureState=function(e){var t=this.states;return t[e]||(t[e]={}),t[e]},n.prototype.clearStates=function(e){this.useState(vx,!1,e)},n.prototype.useState=function(e,t,i,r){var a=e===vx,o=this.hasState();if(!(!o&&a)){var s=this.currentStates,l=this.stateTransition;if(!(_3(s,e)>=0&&(t||s.length===1))){var u;if(this.stateProxy&&!a&&(u=this.stateProxy(e)),u||(u=this.states&&this.states[e]),!u&&!a){JE("State "+e+" not exists.");return}a||this.saveCurrentToNormalState(u);var c=!!(u&&u.hoverLayer||r);c&&this._toggleHoverLayerFlag(!0),this._applyStateObj(e,u,this._normalState,t,!i&&!this.__inHover&&l&&l.duration>0,l);var d=this._textContent,h=this._textGuide;return d&&d.useState(e,t,i,c),h&&h.useState(e,t,i,c),a?(this.currentStates=[],this._normalState={}):t?this.currentStates.push(e):this.currentStates=[e],this._updateAnimationTargets(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Fr),u}}},n.prototype.useStates=function(e,t,i){if(!e.length)this.clearStates();else{var r=[],a=this.currentStates,o=e.length,s=o===a.length;if(s){for(var l=0;l<o;l++)if(e[l]!==a[l]){s=!1;break}}if(s)return;for(var l=0;l<o;l++){var u=e[l],c=void 0;this.stateProxy&&(c=this.stateProxy(u,e)),c||(c=this.states[u]),c&&r.push(c)}var d=r[o-1],h=!!(d&&d.hoverLayer||i);h&&this._toggleHoverLayerFlag(!0);var f=this._mergeStates(r),p=this.stateTransition;this.saveCurrentToNormalState(f),this._applyStateObj(e.join(","),f,this._normalState,!1,!t&&!this.__inHover&&p&&p.duration>0,p);var g=this._textContent,m=this._textGuide;g&&g.useStates(e,t,h),m&&m.useStates(e,t,h),this._updateAnimationTargets(),this.currentStates=e.slice(),this.markRedraw(),!h&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Fr)}},n.prototype.isSilent=function(){for(var e=this.silent,t=this.parent;!e&&t;){if(t.silent){e=!0;break}t=t.parent}return e},n.prototype._updateAnimationTargets=function(){for(var e=0;e<this.animators.length;e++){var t=this.animators[e];t.targetName&&t.changeTarget(this[t.targetName])}},n.prototype.removeState=function(e){var t=_3(this.currentStates,e);if(t>=0){var i=this.currentStates.slice();i.splice(t,1),this.useStates(i)}},n.prototype.replaceState=function(e,t,i){var r=this.currentStates.slice(),a=_3(r,e),o=_3(r,t)>=0;a>=0?o?r.splice(a,1):r[a]=t:i&&!o&&r.push(t),this.useStates(r)},n.prototype.toggleState=function(e,t){t?this.useState(e,!0):this.removeState(e)},n.prototype._mergeStates=function(e){for(var t={},i,r=0;r<e.length;r++){var a=e[r];L2(t,a),a.textConfig&&(i=i||{},L2(i,a.textConfig))}return i&&(t.textConfig=i),t},n.prototype._applyStateObj=function(e,t,i,r,a,o){var s=!(t&&r);t&&t.textConfig?(this.textConfig=L2({},r?this.textConfig:i.textConfig),L2(this.textConfig,t.textConfig)):s&&i.textConfig&&(this.textConfig=i.textConfig);for(var l={},u=!1,c=0;c<yx.length;c++){var d=yx[c],h=a&&l9e[d];t&&t[d]!=null?h?(u=!0,l[d]=t[d]):this[d]=t[d]:s&&i[d]!=null&&(h?(u=!0,l[d]=i[d]):this[d]=i[d])}if(!a)for(var c=0;c<this.animators.length;c++){var f=this.animators[c],p=f.targetName;f.getLoop()||f.__changeFinalValue(p?(t||i)[p]:t||i)}u&&this._transitionState(e,l,o)},n.prototype._attachComponent=function(e){if(!(e.__zr&&!e.__hostTarget)&&e!==this){var t=this.__zr;t&&e.addSelfToZr(t),e.__zr=t,e.__hostTarget=this}},n.prototype._detachComponent=function(e){e.__zr&&e.removeSelfFromZr(e.__zr),e.__zr=null,e.__hostTarget=null},n.prototype.getClipPath=function(){return this._clipPath},n.prototype.setClipPath=function(e){this._clipPath&&this._clipPath!==e&&this.removeClipPath(),this._attachComponent(e),this._clipPath=e,this.markRedraw()},n.prototype.removeClipPath=function(){var e=this._clipPath;e&&(this._detachComponent(e),this._clipPath=null,this.markRedraw())},n.prototype.getTextContent=function(){return this._textContent},n.prototype.setTextContent=function(e){var t=this._textContent;t!==e&&(t&&t!==e&&this.removeTextContent(),e.innerTransformable=new Ys,this._attachComponent(e),this._textContent=e,this.markRedraw())},n.prototype.setTextConfig=function(e){this.textConfig||(this.textConfig={}),L2(this.textConfig,e),this.markRedraw()},n.prototype.removeTextConfig=function(){this.textConfig=null,this.markRedraw()},n.prototype.removeTextContent=function(){var e=this._textContent;e&&(e.innerTransformable=null,this._detachComponent(e),this._textContent=null,this._innerTextDefaultStyle=null,this.markRedraw())},n.prototype.getTextGuideLine=function(){return this._textGuide},n.prototype.setTextGuideLine=function(e){this._textGuide&&this._textGuide!==e&&this.removeTextGuideLine(),this._attachComponent(e),this._textGuide=e,this.markRedraw()},n.prototype.removeTextGuideLine=function(){var e=this._textGuide;e&&(this._detachComponent(e),this._textGuide=null,this.markRedraw())},n.prototype.markRedraw=function(){this.__dirty|=Fr;var e=this.__zr;e&&(this.__inHover?e.refreshHover():e.refresh()),this.__hostTarget&&this.__hostTarget.markRedraw()},n.prototype.dirty=function(){this.markRedraw()},n.prototype._toggleHoverLayerFlag=function(e){this.__inHover=e;var t=this._textContent,i=this._textGuide;t&&(t.__inHover=e),i&&(i.__inHover=e)},n.prototype.addSelfToZr=function(e){if(this.__zr!==e){this.__zr=e;var t=this.animators;if(t)for(var i=0;i<t.length;i++)e.animation.addAnimator(t[i]);this._clipPath&&this._clipPath.addSelfToZr(e),this._textContent&&this._textContent.addSelfToZr(e),this._textGuide&&this._textGuide.addSelfToZr(e)}},n.prototype.removeSelfFromZr=function(e){if(this.__zr){this.__zr=null;var t=this.animators;if(t)for(var i=0;i<t.length;i++)e.animation.removeAnimator(t[i]);this._clipPath&&this._clipPath.removeSelfFromZr(e),this._textContent&&this._textContent.removeSelfFromZr(e),this._textGuide&&this._textGuide.removeSelfFromZr(e)}},n.prototype.animate=function(e,t,i){var r=e?this[e]:this,a=new sP(r,t,i);return e&&(a.targetName=e),this.addAnimator(a,e),a},n.prototype.addAnimator=function(e,t){var i=this.__zr,r=this;e.during(function(){r.updateDuringAnimation(t)}).done(function(){var a=r.animators,o=_3(a,e);o>=0&&a.splice(o,1)}),this.animators.push(e),i&&i.animation.addAnimator(e),i&&i.wakeUp()},n.prototype.updateDuringAnimation=function(e){this.markRedraw()},n.prototype.stopAnimation=function(e,t){for(var i=this.animators,r=i.length,a=[],o=0;o<r;o++){var s=i[o];!e||e===s.scope?s.stop(t):a.push(s)}return this.animators=a,this},n.prototype.animateTo=function(e,t,i){_x(this,e,t,i)},n.prototype.animateFrom=function(e,t,i){_x(this,e,t,i,!0)},n.prototype._transitionState=function(e,t,i,r){for(var a=_x(this,t,i,r),o=0;o<a.length;o++)a[o].__fromStateTransition=e},n.prototype.getBoundingRect=function(){return null},n.prototype.getPaintRect=function(){return null},n.initDefaultProps=function(){var e=n.prototype;e.type="element",e.name="",e.ignore=e.silent=e.isGroup=e.draggable=e.dragging=e.ignoreClip=e.__inHover=!1,e.__dirty=Fr;function t(i,r,a,o){Object.defineProperty(e,i,{get:function(){if(!this[r]){var l=this[r]=[];s(this,l)}return this[r]},set:function(l){this[a]=l[0],this[o]=l[1],this[r]=l,s(this,l)}});function s(l,u){Object.defineProperty(u,0,{get:function(){return l[a]},set:function(c){l[a]=c}}),Object.defineProperty(u,1,{get:function(){return l[o]},set:function(c){l[o]=c}})}}Object.defineProperty&&(t("position","_legacyPos","x","y"),t("scale","_legacyScale","scaleX","scaleY"),t("origin","_legacyOrigin","originX","originY"))}(),n}();en(lP,Ua);en(lP,Ys);function _x(n,e,t,i,r){t=t||{};var a=[];qY(n,"",n,e,t,i,a,r);var o=a.length,s=!1,l=t.done,u=t.aborted,c=function(){s=!0,o--,o<=0&&(s?l&&l():u&&u())},d=function(){o--,o<=0&&(s?l&&l():u&&u())};o||l&&l(),a.length>0&&t.during&&a[0].during(function(p,g){t.during(g)});for(var h=0;h<a.length;h++){var f=a[h];c&&f.done(c),d&&f.aborted(d),t.force&&f.duration(t.duration),f.start(t.easing)}return a}function Sx(n,e,t){for(var i=0;i<t;i++)n[i]=e[i]}function c9e(n){return Si(n[0])}function d9e(n,e,t){if(Si(e[t]))if(Si(n[t])||(n[t]=[]),pr(e[t])){var i=e[t].length;n[t].length!==i&&(n[t]=new e[t].constructor(i),Sx(n[t],e[t],i))}else{var r=e[t],a=n[t],o=r.length;if(c9e(r))for(var s=r[0].length,l=0;l<o;l++)a[l]?Sx(a[l],r[l],s):a[l]=Array.prototype.slice.call(r[l]);else Sx(a,r,o);a.length=r.length}else n[t]=e[t]}function h9e(n,e){return n===e||Si(n)&&Si(e)&&f9e(n,e)}function f9e(n,e){var t=n.length;if(t!==e.length)return!1;for(var i=0;i<t;i++)if(n[i]!==e[i])return!1;return!0}function qY(n,e,t,i,r,a,o,s){for(var l=E3(i),u=r.duration,c=r.delay,d=r.additive,h=r.setToFinal,f=!jt(a),p=n.animators,g=[],m=0;m<l.length;m++){var v=l[m],_=i[v];if(_!=null&&t[v]!=null&&(f||a[v]))if(jt(_)&&!Si(_)&&!y_(_)){if(e){s||(t[v]=_,n.updateDuringAnimation(e));continue}qY(n,v,t[v],_,r,a&&a[v],o,s)}else g.push(v);else s||(t[v]=_,n.updateDuringAnimation(e),g.push(v))}var S=g.length;if(!d&&S)for(var x=0;x<p.length;x++){var A=p[x];if(A.targetName===e){var C=A.stopTracks(g);if(C){var M=_3(p,A);p.splice(M,1)}}}if(r.force||(g=c1(g,function(L){return!h9e(i[L],t[L])}),S=g.length),S>0||r.force&&!o.length){var I=void 0,D=void 0,E=void 0;if(s){D={},h&&(I={});for(var x=0;x<S;x++){var v=g[x];D[v]=t[v],h?I[v]=i[v]:t[v]=i[v]}}else if(h){E={};for(var x=0;x<S;x++){var v=g[x];E[v]=gd(t[v]),d9e(t,i,v)}}var A=new sP(t,!1,!1,d?c1(p,function(V){return V.targetName===e}):null);A.targetName=e,r.scope&&(A.scope=r.scope),h&&I&&A.whenWithKeys(0,I,g),E&&A.whenWithKeys(0,E,g),A.whenWithKeys(u==null?500:u,s?D:i,g).delay(c||0),n.addAnimator(A,e),o.push(A)}}const XY=lP;var KY=function(n){g2(e,n);function e(t){var i=n.call(this)||this;return i.isGroup=!0,i._children=[],i.attr(t),i}return e.prototype.childrenRef=function(){return this._children},e.prototype.children=function(){return this._children.slice()},e.prototype.childAt=function(t){return this._children[t]},e.prototype.childOfName=function(t){for(var i=this._children,r=0;r<i.length;r++)if(i[r].name===t)return i[r]},e.prototype.childCount=function(){return this._children.length},e.prototype.add=function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},e.prototype.addBefore=function(t,i){if(t&&t!==this&&t.parent!==this&&i&&i.parent===this){var r=this._children,a=r.indexOf(i);a>=0&&(r.splice(a,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,i){var r=_3(this._children,t);return r>=0&&this.replaceAt(i,r),this},e.prototype.replaceAt=function(t,i){var r=this._children,a=r[i];if(t&&t!==this&&t.parent!==this&&t!==a){r[i]=t,a.parent=null;var o=this.__zr;o&&a.removeSelfFromZr(o),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var i=this.__zr;i&&i!==t.__zr&&t.addSelfToZr(i),i&&i.refresh()},e.prototype.remove=function(t){var i=this.__zr,r=this._children,a=_3(r,t);return a<0?this:(r.splice(a,1),t.parent=null,i&&t.removeSelfFromZr(i),i&&i.refresh(),this)},e.prototype.removeAll=function(){for(var t=this._children,i=this.__zr,r=0;r<t.length;r++){var a=t[r];i&&a.removeSelfFromZr(i),a.parent=null}return t.length=0,this},e.prototype.eachChild=function(t,i){for(var r=this._children,a=0;a<r.length;a++){var o=r[a];t.call(i,o,a)}return this},e.prototype.traverse=function(t,i){for(var r=0;r<this._children.length;r++){var a=this._children[r],o=t.call(i,a);a.isGroup&&!o&&a.traverse(t,i)}return this},e.prototype.addSelfToZr=function(t){n.prototype.addSelfToZr.call(this,t);for(var i=0;i<this._children.length;i++){var r=this._children[i];r.addSelfToZr(t)}},e.prototype.removeSelfFromZr=function(t){n.prototype.removeSelfFromZr.call(this,t);for(var i=0;i<this._children.length;i++){var r=this._children[i];r.removeSelfFromZr(t)}},e.prototype.getBoundingRect=function(t){for(var i=new h3(0,0,0,0),r=t||this._children,a=[],o=null,s=0;s<r.length;s++){var l=r[s];if(!(l.ignore||l.invisible)){var u=l.getBoundingRect(),c=l.getLocalTransform(a);c?(h3.applyTransform(i,u,c),o=o||i.clone(),o.union(i)):(o=o||u.clone(),o.union(u))}}return o||i},e}(XY);KY.prototype.type="group";const qt=KY;/*! |
|
|
* ZRender, a high performance 2d drawing library. |
|
|
* |
|
|
* Copyright (c) 2013, Baidu Inc. |
|
|
* All rights reserved. |
|
|
* |
|
|
* LICENSE |
|
|
* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt |
|
|
*/var Xg={},ZY={};function p9e(n){delete ZY[n]}function m9e(n){if(!n)return!1;if(typeof n=="string")return Bv(n,1)<yC;if(n.colorStops){for(var e=n.colorStops,t=0,i=e.length,r=0;r<i;r++)t+=Bv(e[r].color,1);return t/=i,t<yC}return!1}var g9e=function(){function n(e,t,i){var r=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,i=i||{},this.dom=t,this.id=e;var a=new C5e,o=i.renderer||"canvas";Xg[o]||(o=E3(Xg)[0]),i.useDirtyRect=i.useDirtyRect==null?!1:i.useDirtyRect;var s=new Xg[o](t,a,i,e),l=i.ssr||s.ssrOnly;this.storage=a,this.painter=s;var u=!$3.node&&!$3.worker&&!l?new a9e(s.getViewportRoot(),s.root):null,c=i.useCoarsePointer,d=c==null||c==="auto"?$3.touchEventsSupported:!!c,h=44,f;d&&(f=e3(i.pointerSize,h)),this.handler=new b5e(a,s,u,s.root,f),this.animation=new Z5e({stage:{update:l?null:function(){return r._flush(!0)}}}),l||this.animation.start()}return n.prototype.add=function(e){this._disposed||!e||(this.storage.addRoot(e),e.addSelfToZr(this),this.refresh())},n.prototype.remove=function(e){this._disposed||!e||(this.storage.delRoot(e),e.removeSelfFromZr(this),this.refresh())},n.prototype.configLayer=function(e,t){this._disposed||(this.painter.configLayer&&this.painter.configLayer(e,t),this.refresh())},n.prototype.setBackgroundColor=function(e){this._disposed||(this.painter.setBackgroundColor&&this.painter.setBackgroundColor(e),this.refresh(),this._backgroundColor=e,this._darkMode=m9e(e))},n.prototype.getBackgroundColor=function(){return this._backgroundColor},n.prototype.setDarkMode=function(e){this._darkMode=e},n.prototype.isDarkMode=function(){return this._darkMode},n.prototype.refreshImmediately=function(e){this._disposed||(e||this.animation.update(!0),this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1)},n.prototype.refresh=function(){this._disposed||(this._needsRefresh=!0,this.animation.start())},n.prototype.flush=function(){this._disposed||this._flush(!1)},n.prototype._flush=function(e){var t,i=K4();this._needsRefresh&&(t=!0,this.refreshImmediately(e)),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately());var r=K4();t?(this._stillFrameAccum=0,this.trigger("rendered",{elapsedTime:r-i})):this._sleepAfterStill>0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},n.prototype.setSleepAfterStill=function(e){this._sleepAfterStill=e},n.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},n.prototype.refreshHover=function(){this._needsRefreshHover=!0},n.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},n.prototype.resize=function(e){this._disposed||(e=e||{},this.painter.resize(e.width,e.height),this.handler.resize())},n.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},n.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},n.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},n.prototype.setCursorStyle=function(e){this._disposed||this.handler.setCursorStyle(e)},n.prototype.findHover=function(e,t){if(!this._disposed)return this.handler.findHover(e,t)},n.prototype.on=function(e,t,i){return this._disposed||this.handler.on(e,t,i),this},n.prototype.off=function(e,t){this._disposed||this.handler.off(e,t)},n.prototype.trigger=function(e,t){this._disposed||this.handler.trigger(e,t)},n.prototype.clear=function(){if(!this._disposed){for(var e=this.storage.getRoots(),t=0;t<e.length;t++)e[t]instanceof qt&&e[t].removeSelfFromZr(this);this.storage.delAllRoots(),this.painter.clear()}},n.prototype.dispose=function(){this._disposed||(this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,this._disposed=!0,p9e(this.id))},n}();function Ik(n,e){var t=new g9e(_Y(),n,e);return ZY[t.id]=t,t}function v9e(n,e){Xg[n]=e}var bC;function y9e(n){if(typeof bC=="function")return bC(n)}function _9e(n){bC=n}var Dk=1e-4,JY=20;function S9e(n){return n.replace(/^\s+|\s+$/g,"")}function p1(n,e,t,i){var r=e[0],a=e[1],o=t[0],s=t[1],l=a-r,u=s-o;if(l===0)return u===0?o:(o+s)/2;if(i)if(l>0){if(n<=r)return o;if(n>=a)return s}else{if(n>=r)return o;if(n<=a)return s}else{if(n===r)return o;if(n===a)return s}return(n-r)/l*u+o}function ft(n,e){switch(n){case"center":case"middle":n="50%";break;case"left":case"top":n="0%";break;case"right":case"bottom":n="100%";break}return _t(n)?S9e(n).match(/%$/)?parseFloat(n)/100*e:parseFloat(n):n==null?NaN:+n}function L0(n,e,t){return e==null&&(e=10),e=Math.min(Math.max(0,e),JY),n=(+n).toFixed(e),t?n:+n}function La(n){return n.sort(function(e,t){return e-t}),n}function Ko(n){if(n=+n,isNaN(n))return 0;if(n>1e-14){for(var e=1,t=0;t<15;t++,e*=10)if(Math.round(n*e)/e===n)return t}return b9e(n)}function b9e(n){var e=n.toString().toLowerCase(),t=e.indexOf("e"),i=t>0?+e.slice(t+1):0,r=t>0?t:e.length,a=e.indexOf("."),o=a<0?0:r-1-a;return Math.max(0,o-i)}function QY(n,e){var t=Math.log,i=Math.LN10,r=Math.floor(t(n[1]-n[0])/i),a=Math.round(t(Math.abs(e[1]-e[0]))/i),o=Math.min(Math.max(-r+a,0),20);return isFinite(o)?o:20}function x9e(n,e){var t=ss(n,function(f,p){return f+(isNaN(p)?0:p)},0);if(t===0)return[];for(var i=Math.pow(10,e),r=j2(n,function(f){return(isNaN(f)?0:f)/t*i*100}),a=i*100,o=j2(r,function(f){return Math.floor(f)}),s=ss(o,function(f,p){return f+p},0),l=j2(r,function(f,p){return f-o[p]});s<a;){for(var u=Number.NEGATIVE_INFINITY,c=null,d=0,h=l.length;d<h;++d)l[d]>u&&(u=l[d],c=d);++o[c],l[c]=0,++s}return j2(o,function(f){return f/i})}function w9e(n,e){var t=Math.max(Ko(n),Ko(e)),i=n+e;return t>JY?i:L0(i,t)}var Nk=9007199254740991;function eq(n){var e=Math.PI*2;return(n%e+e)%e}function nh(n){return n>-Dk&&n<Dk}var T9e=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function cs(n){if(n instanceof Date)return n;if(_t(n)){var e=T9e.exec(n);if(!e)return new Date(NaN);if(e[8]){var t=+e[4]||0;return e[8].toUpperCase()!=="Z"&&(t-=+e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,t,+(e[5]||0),+e[6]||0,e[7]?+e[7].substring(0,3):0))}else return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,e[7]?+e[7].substring(0,3):0)}else if(n==null)return new Date(NaN);return new Date(Math.round(n))}function A9e(n){return Math.pow(10,uP(n))}function uP(n){if(n===0)return 0;var e=Math.floor(Math.log(n)/Math.LN10);return n/Math.pow(10,e)>=10&&e++,e}function tq(n,e){var t=uP(n),i=Math.pow(10,t),r=n/i,a;return e?r<1.5?a=1:r<2.5?a=2:r<4?a=3:r<7?a=5:a=10:r<1?a=1:r<2?a=2:r<3?a=3:r<5?a=5:a=10,n=a*i,t>=-20?+n.toFixed(t<0?-t:0):n}function bx(n,e){var t=(n.length-1)*e+1,i=Math.floor(t),r=+n[i-1],a=t-i;return a?r+a*(n[i]-r):r}function kk(n){n.sort(function(l,u){return s(l,u,0)?-1:1});for(var e=-1/0,t=1,i=0;i<n.length;){for(var r=n[i].interval,a=n[i].close,o=0;o<2;o++)r[o]<=e&&(r[o]=e,a[o]=o?1:1-t),e=r[o],t=a[o];r[0]===r[1]&&a[0]*a[1]!==1?n.splice(i,1):i++}return n;function s(l,u,c){return l.interval[c]<u.interval[c]||l.interval[c]===u.interval[c]&&(l.close[c]-u.close[c]===(c?-1:1)||!c&&s(l,u,1))}}function a6(n){var e=parseFloat(n);return e==n&&(e!==0||!_t(n)||n.indexOf("x")<=0)?e:NaN}function nq(n){return!isNaN(a6(n))}function iq(){return Math.round(Math.random()*9)}function rq(n,e){return e===0?n:rq(e,n%e)}function Fk(n,e){return n==null?e:e==null?n:n*e/rq(n,e)}function l1(n){throw new Error(n)}function Ok(n,e,t){return(e-n)*t+n}var aq="series\0",oq="\0_ec_\0";function A1(n){return n instanceof Array?n:n==null?[]:[n]}function nl(n,e,t){if(n){n[e]=n[e]||{},n.emphasis=n.emphasis||{},n.emphasis[e]=n.emphasis[e]||{};for(var i=0,r=t.length;i<r;i++){var a=t[i];!n.emphasis[e].hasOwnProperty(a)&&n[e].hasOwnProperty(a)&&(n.emphasis[e][a]=n[e][a])}}}var Bk=["fontStyle","fontWeight","fontSize","fontFamily","rich","tag","color","textBorderColor","textBorderWidth","width","height","lineHeight","align","verticalAlign","baseline","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","borderColor","borderWidth","borderRadius","padding"];function lu(n){return jt(n)&&!H2(n)&&!(n instanceof Date)?n.value:n}function C9e(n){return jt(n)&&!(n instanceof Array)}function sq(n,e,t){var i=t==="normalMerge",r=t==="replaceMerge",a=t==="replaceAll";n=n||[],e=(e||[]).slice();var o=Ct();ne(e,function(l,u){if(!jt(l)){e[u]=null;return}});var s=M9e(n,o,t);return(i||r)&&E9e(s,n,o,e),i&&P9e(s,e),i||r?R9e(s,e,r):a&&L9e(s,e),I9e(s),s}function M9e(n,e,t){var i=[];if(t==="replaceAll")return i;for(var r=0;r<n.length;r++){var a=n[r];a&&a.id!=null&&e.set(a.id,r),i.push({existing:t==="replaceMerge"||ih(a)?null:a,newOption:null,keyInfo:null,brandNew:null})}return i}function E9e(n,e,t,i){ne(i,function(r,a){if(!(!r||r.id==null)){var o=vd(r.id),s=t.get(o);if(s!=null){var l=n[s];Bi(!l.newOption,'Duplicated option on id "'+o+'".'),l.newOption=r,l.existing=e[s],i[a]=null}}})}function P9e(n,e){ne(e,function(t,i){if(!(!t||t.name==null))for(var r=0;r<n.length;r++){var a=n[r].existing;if(!n[r].newOption&&a&&(a.id==null||t.id==null)&&!ih(t)&&!ih(a)&&lq("name",a,t)){n[r].newOption=t,e[i]=null;return}}})}function R9e(n,e,t){ne(e,function(i){if(i){for(var r,a=0;(r=n[a])&&(r.newOption||ih(r.existing)||r.existing&&i.id!=null&&!lq("id",i,r.existing));)a++;r?(r.newOption=i,r.brandNew=t):n.push({newOption:i,brandNew:t,existing:null,keyInfo:null}),a++}})}function L9e(n,e){ne(e,function(t){n.push({newOption:t,brandNew:!0,existing:null,keyInfo:null})})}function I9e(n){var e=Ct();ne(n,function(t){var i=t.existing;i&&e.set(i.id,t)}),ne(n,function(t){var i=t.newOption;Bi(!i||i.id==null||!e.get(i.id)||e.get(i.id)===t,"id duplicates: "+(i&&i.id)),i&&i.id!=null&&e.set(i.id,t),!t.keyInfo&&(t.keyInfo={})}),ne(n,function(t,i){var r=t.existing,a=t.newOption,o=t.keyInfo;if(jt(a)){if(o.name=a.name!=null?vd(a.name):r?r.name:aq+i,r)o.id=vd(r.id);else if(a.id!=null)o.id=vd(a.id);else{var s=0;do o.id="\0"+o.name+"\0"+s++;while(e.get(o.id))}e.set(o.id,t)}})}function lq(n,e,t){var i=dn(e[n],null),r=dn(t[n],null);return i!=null&&r!=null&&i===r}function vd(n){return dn(n,"")}function dn(n,e){return n==null?e:_t(n)?n:q3(n)||JA(n)?n+"":e}function cP(n){var e=n.name;return!!(e&&e.indexOf(aq))}function ih(n){return n&&n.id!=null&&vd(n.id).indexOf(oq)===0}function D9e(n){return oq+n}function N9e(n,e,t){ne(n,function(i){var r=i.newOption;jt(r)&&(i.keyInfo.mainType=e,i.keyInfo.subType=k9e(e,r,i.existing,t))})}function k9e(n,e,t,i){var r=e.type?e.type:t?t.subType:i.determineSubType(n,e);return r}function F9e(n,e){var t={},i={};return r(n||[],t),r(e||[],i,t),[a(t),a(i)];function r(o,s,l){for(var u=0,c=o.length;u<c;u++){var d=dn(o[u].seriesId,null);if(d==null)return;for(var h=A1(o[u].dataIndex),f=l&&l[d],p=0,g=h.length;p<g;p++){var m=h[p];f&&f[m]?f[m]=null:(s[d]||(s[d]={}))[m]=1}}}function a(o,s){var l=[];for(var u in o)if(o.hasOwnProperty(u)&&o[u]!=null)if(s)l.push(+u);else{var c=a(o[u],!0);c.length&&l.push({seriesId:u,dataIndex:c})}return l}}function il(n,e){if(e.dataIndexInside!=null)return e.dataIndexInside;if(e.dataIndex!=null)return H2(e.dataIndex)?j2(e.dataIndex,function(t){return n.indexOfRawIndex(t)}):n.indexOfRawIndex(e.dataIndex);if(e.name!=null)return H2(e.name)?j2(e.name,function(t){return n.indexOfName(t)}):n.indexOfName(e.name)}function B3(){var n="__ec_inner_"+O9e++;return function(e){return e[n]||(e[n]={})}}var O9e=iq();function yd(n,e,t){var i=dP(e,t),r=i.mainTypeSpecified,a=i.queryOptionMap,o=i.others,s=o,l=t?t.defaultMainType:null;return!r&&l&&a.set(l,{}),a.each(function(u,c){var d=Zh(n,c,u,{useDefault:l===c,enableAll:t&&t.enableAll!=null?t.enableAll:!0,enableNone:t&&t.enableNone!=null?t.enableNone:!0});s[c+"Models"]=d.models,s[c+"Model"]=d.models[0]}),s}function dP(n,e){var t;if(_t(n)){var i={};i[n+"Index"]=0,t=i}else t=n;var r=Ct(),a={},o=!1;return ne(t,function(s,l){if(l==="dataIndex"||l==="dataIndexInside"){a[l]=s;return}var u=l.match(/^(\w+)(Index|Id|Name)$/)||[],c=u[1],d=(u[2]||"").toLowerCase();if(!(!c||!d||e&&e.includeMainTypes&&_3(e.includeMainTypes,c)<0)){o=o||!!c;var h=r.get(c)||r.set(c,{});h[d]=s}}),{mainTypeSpecified:o,queryOptionMap:r,others:a}}var Z0={useDefault:!0,enableAll:!1,enableNone:!1},B9e={useDefault:!1,enableAll:!0,enableNone:!0};function Zh(n,e,t,i){i=i||Z0;var r=t.index,a=t.id,o=t.name,s={models:null,specified:r!=null||a!=null||o!=null};if(!s.specified){var l=void 0;return s.models=i.useDefault&&(l=n.getComponent(e))?[l]:[],s}return r==="none"||r===!1?(Bi(i.enableNone,'`"none"` or `false` is not a valid value on index option.'),s.models=[],s):(r==="all"&&(Bi(i.enableAll,'`"all"` is not a valid value on index option.'),r=a=o=null),s.models=n.queryComponents({mainType:e,index:r,id:a,name:o}),s)}function uq(n,e,t){n.setAttribute?n.setAttribute(e,t):n[e]=t}function z9e(n,e){return n.getAttribute?n.getAttribute(e):n[e]}function U9e(n){return n==="auto"?$3.domSupported?"html":"richText":n||"html"}function xC(n,e){var t=Ct(),i=[];return ne(n,function(r){var a=e(r);(t.get(a)||(i.push(a),t.set(a,[]))).push(r)}),{keys:i,buckets:t}}function cq(n,e,t,i,r){var a=e==null||e==="auto";if(i==null)return i;if(q3(i)){var o=Ok(t||0,i,r);return L0(o,a?Math.max(Ko(t||0),Ko(i)):e)}else{if(_t(i))return r<1?t:i;for(var s=[],l=t,u=i,c=Math.max(l?l.length:0,u.length),d=0;d<c;++d){var h=n.getDimensionInfo(d);if(h&&h.type==="ordinal")s[d]=(r<1&&l?l:u)[d];else{var f=l&&l[d]?l[d]:0,p=u[d],o=Ok(f,p,r);s[d]=L0(o,a?Math.max(Ko(f),Ko(p)):e)}}return s}}var G9e=".",D9="___EC__COMPONENT__CONTAINER___",dq="___EC__EXTENDED_CLASS___";function Zo(n){var e={main:"",sub:""};if(n){var t=n.split(G9e);e.main=t[0]||"",e.sub=t[1]||""}return e}function V9e(n){Bi(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(n),'componentType "'+n+'" illegal')}function H9e(n){return!!(n&&n[dq])}function hP(n,e){n.$constructor=n,n.extend=function(t){var i=this,r;return W9e(i)?r=function(a){g2(o,a);function o(){return a.apply(this,arguments)||this}return o}(i):(r=function(){(t.$constructor||i).apply(this,arguments)},G6e(r,this)),L2(r.prototype,t),r[dq]=!0,r.extend=this.extend,r.superCall=Y9e,r.superApply=q9e,r.superClass=i,r}}function W9e(n){return Gt(n)&&/^class\s/.test(Function.prototype.toString.call(n))}function hq(n,e){n.extend=e.extend}var j9e=Math.round(Math.random()*10);function $9e(n){var e=["__\0is_clz",j9e++].join("_");n.prototype[e]=!0,n.isInstance=function(t){return!!(t&&t[e])}}function Y9e(n,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];return this.superClass.prototype[e].apply(n,t)}function q9e(n,e,t){return this.superClass.prototype[e].apply(n,t)}function w_(n){var e={};n.registerClass=function(i){var r=i.type||i.prototype.type;if(r){V9e(r),i.prototype.type=r;var a=Zo(r);if(!a.sub)e[a.main]=i;else if(a.sub!==D9){var o=t(a);o[a.sub]=i}}return i},n.getClass=function(i,r,a){var o=e[i];if(o&&o[D9]&&(o=r?o[r]:null),a&&!o)throw new Error(r?"Component "+i+"."+(r||"")+" is used but not imported.":i+".type should be specified.");return o},n.getClassesByMainType=function(i){var r=Zo(i),a=[],o=e[r.main];return o&&o[D9]?ne(o,function(s,l){l!==D9&&a.push(s)}):a.push(o),a},n.hasClass=function(i){var r=Zo(i);return!!e[r.main]},n.getAllClassMainTypes=function(){var i=[];return ne(e,function(r,a){i.push(a)}),i},n.hasSubTypes=function(i){var r=Zo(i),a=e[r.main];return a&&a[D9]};function t(i){var r=e[i.main];return(!r||!r[D9])&&(r=e[i.main]={},r[D9]=!0),r}}function rl(n,e){for(var t=0;t<n.length;t++)n[t][1]||(n[t][1]=n[t][0]);return e=e||!1,function(i,r,a){for(var o={},s=0;s<n.length;s++){var l=n[s][1];if(!(r&&_3(r,l)>=0||a&&_3(a,l)<0)){var u=i.getShallow(l,e);u!=null&&(o[n[s][0]]=u)}}return o}}var X9e=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],K9e=rl(X9e),Z9e=function(){function n(){}return n.prototype.getAreaStyle=function(e,t){return K9e(this,e,t)},n}(),wC=new Xh(50);function J9e(n){if(typeof n=="string"){var e=wC.get(n);return e&&e.image}else return n}function fP(n,e,t,i,r){if(n)if(typeof n=="string"){if(e&&e.__zrImageSrc===n||!t)return e;var a=wC.get(n),o={hostEl:t,cb:i,cbPayload:r};return a?(e=a.image,!T_(e)&&a.pending.push(o)):(e=H5.loadImage(n,zk,zk),e.__zrImageSrc=n,wC.put(n,e.__cachedImgObj={image:e,pending:[o]})),e}else return n;else return e}function zk(){var n=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<n.pending.length;e++){var t=n.pending[e],i=t.cb;i&&i(this,t.cbPayload),t.hostEl.dirty()}n.pending.length=0}function T_(n){return n&&n.width&&n.height}var xx=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g;function Q9e(n,e,t,i,r,a){if(!t){n.text="",n.isTruncated=!1;return}var o=(e+"").split(` |
|
|
`);a=fq(t,i,r,a);for(var s=!1,l={},u=0,c=o.length;u<c;u++)pq(l,o[u],a),o[u]=l.textLine,s=s||l.isTruncated;n.text=o.join(` |
|
|
`),n.isTruncated=s}function fq(n,e,t,i){i=i||{};var r=L2({},i);r.font=e,t=e3(t,"..."),r.maxIterations=e3(i.maxIterations,2);var a=r.minChar=e3(i.minChar,0);r.cnCharWidth=Hr("国",e);var o=r.ascCharWidth=Hr("a",e);r.placeholder=e3(i.placeholder,"");for(var s=n=Math.max(0,n-1),l=0;l<a&&s>=o;l++)s-=o;var u=Hr(t,e);return u>s&&(t="",u=0),s=n-u,r.ellipsis=t,r.ellipsisWidth=u,r.contentWidth=s,r.containerWidth=n,r}function pq(n,e,t){var i=t.containerWidth,r=t.font,a=t.contentWidth;if(!i){n.textLine="",n.isTruncated=!1;return}var o=Hr(e,r);if(o<=i){n.textLine=e,n.isTruncated=!1;return}for(var s=0;;s++){if(o<=a||s>=t.maxIterations){e+=t.ellipsis;break}var l=s===0?e8e(e,a,t.ascCharWidth,t.cnCharWidth):o>0?Math.floor(e.length*a/o):0;e=e.substr(0,l),o=Hr(e,r)}e===""&&(e=t.placeholder),n.textLine=e,n.isTruncated=!0}function e8e(n,e,t,i){for(var r=0,a=0,o=n.length;a<o&&r<e;a++){var s=n.charCodeAt(a);r+=0<=s&&s<=127?t:i}return a}function t8e(n,e){n!=null&&(n+="");var t=e.overflow,i=e.padding,r=e.font,a=t==="truncate",o=x_(r),s=e3(e.lineHeight,o),l=!!e.backgroundColor,u=e.lineOverflow==="truncate",c=!1,d=e.width,h;d!=null&&(t==="break"||t==="breakAll")?h=n?mq(n,e.font,d,t==="breakAll",0).lines:[]:h=n?n.split(` |
|
|
`):[];var f=h.length*s,p=e3(e.height,f);if(f>p&&u){var g=Math.floor(p/s);c=c||h.length>g,h=h.slice(0,g)}if(n&&a&&d!=null)for(var m=fq(d,r,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),v={},_=0;_<h.length;_++)pq(v,h[_],m),h[_]=v.textLine,c=c||v.isTruncated;for(var S=p,x=0,_=0;_<h.length;_++)x=Math.max(Hr(h[_],r),x);d==null&&(d=x);var A=x;return i&&(S+=i[0]+i[2],A+=i[1]+i[3],d+=i[1]+i[3]),l&&(A=d),{lines:h,height:p,outerWidth:A,outerHeight:S,lineHeight:s,calculatedLineHeight:o,contentWidth:x,contentHeight:f,width:d,isTruncated:c}}var n8e=function(){function n(){}return n}(),Uk=function(){function n(e){this.tokens=[],e&&(this.tokens=e)}return n}(),i8e=function(){function n(){this.width=0,this.height=0,this.contentWidth=0,this.contentHeight=0,this.outerWidth=0,this.outerHeight=0,this.lines=[],this.isTruncated=!1}return n}();function r8e(n,e){var t=new i8e;if(n!=null&&(n+=""),!n)return t;for(var i=e.width,r=e.height,a=e.overflow,o=(a==="break"||a==="breakAll")&&i!=null?{width:i,accumWidth:0,breakAll:a==="breakAll"}:null,s=xx.lastIndex=0,l;(l=xx.exec(n))!=null;){var u=l.index;u>s&&Tx(t,n.substring(s,u),e,o),Tx(t,l[2],e,o,l[1]),s=xx.lastIndex}s<n.length&&Tx(t,n.substring(s,n.length),e,o);var c=[],d=0,h=0,f=e.padding,p=a==="truncate",g=e.lineOverflow==="truncate",m={};function v(re,ee,se){re.width=ee,re.lineHeight=se,d+=se,h=Math.max(h,ee)}e:for(var _=0;_<t.lines.length;_++){for(var S=t.lines[_],x=0,A=0,C=0;C<S.tokens.length;C++){var M=S.tokens[C],I=M.styleName&&e.rich[M.styleName]||{},D=M.textPadding=I.padding,E=D?D[1]+D[3]:0,L=M.font=I.font||e.font;M.contentHeight=x_(L);var V=e3(I.height,M.contentHeight);if(M.innerHeight=V,D&&(V+=D[0]+D[2]),M.height=V,M.lineHeight=es(I.lineHeight,e.lineHeight,V),M.align=I&&I.align||e.align,M.verticalAlign=I&&I.verticalAlign||"middle",g&&r!=null&&d+M.lineHeight>r){var Y=t.lines.length;C>0?(S.tokens=S.tokens.slice(0,C),v(S,A,x),t.lines=t.lines.slice(0,_+1)):t.lines=t.lines.slice(0,_),t.isTruncated=t.isTruncated||t.lines.length<Y;break e}var G=I.width,W=G==null||G==="auto";if(typeof G=="string"&&G.charAt(G.length-1)==="%")M.percentWidth=G,c.push(M),M.contentWidth=Hr(M.text,L);else{if(W){var q=I.backgroundColor,ce=q&&q.image;ce&&(ce=J9e(ce),T_(ce)&&(M.width=Math.max(M.width,ce.width*V/ce.height)))}var J=p&&i!=null?i-A:null;J!=null&&J<M.width?!W||J<E?(M.text="",M.width=M.contentWidth=0):(Q9e(m,M.text,J-E,L,e.ellipsis,{minChar:e.truncateMinChar}),M.text=m.text,t.isTruncated=t.isTruncated||m.isTruncated,M.width=M.contentWidth=Hr(M.text,L)):M.contentWidth=Hr(M.text,L)}M.width+=E,A+=M.width,I&&(x=Math.max(x,M.lineHeight))}v(S,A,x)}t.outerWidth=t.width=e3(i,h),t.outerHeight=t.height=e3(r,d),t.contentHeight=d,t.contentWidth=h,f&&(t.outerWidth+=f[1]+f[3],t.outerHeight+=f[0]+f[2]);for(var _=0;_<c.length;_++){var M=c[_],H=M.percentWidth;M.width=parseInt(H,10)/100*t.width}return t}function Tx(n,e,t,i,r){var a=e==="",o=r&&t.rich[r]||{},s=n.lines,l=o.font||t.font,u=!1,c,d;if(i){var h=o.padding,f=h?h[1]+h[3]:0;if(o.width!=null&&o.width!=="auto"){var p=mo(o.width,i.width)+f;s.length>0&&p+i.accumWidth>i.width&&(c=e.split(` |
|
|
`),u=!0),i.accumWidth=p}else{var g=mq(e,l,i.width,i.breakAll,i.accumWidth);i.accumWidth=g.accumWidth+f,d=g.linesWidths,c=g.lines}}else c=e.split(` |
|
|
`);for(var m=0;m<c.length;m++){var v=c[m],_=new n8e;if(_.styleName=r,_.text=v,_.isLineHolder=!v&&!a,typeof o.width=="number"?_.width=o.width:_.width=d?d[m]:Hr(v,l),!m&&!u){var S=(s[s.length-1]||(s[0]=new Uk)).tokens,x=S.length;x===1&&S[0].isLineHolder?S[0]=_:(v||!x||a)&&S.push(_)}else s.push(new Uk([_]))}}function a8e(n){var e=n.charCodeAt(0);return e>=32&&e<=591||e>=880&&e<=4351||e>=4608&&e<=5119||e>=7680&&e<=8303}var o8e=ss(",&?/;] ".split(""),function(n,e){return n[e]=!0,n},{});function s8e(n){return a8e(n)?!!o8e[n]:!0}function mq(n,e,t,i,r){for(var a=[],o=[],s="",l="",u=0,c=0,d=0;d<n.length;d++){var h=n.charAt(d);if(h===` |
|
|
`){l&&(s+=l,c+=u),a.push(s),o.push(c),s="",l="",u=0,c=0;continue}var f=Hr(h,e),p=i?!1:!s8e(h);if(a.length?c+f>t:r+c+f>t){c?(s||l)&&(p?(s||(s=l,l="",u=0,c=u),a.push(s),o.push(c-u),l+=h,u+=f,s="",c=u):(l&&(s+=l,l="",u=0),a.push(s),o.push(c),s=h,c=f)):p?(a.push(l),o.push(u),l=h,u=f):(a.push(h),o.push(f));continue}c+=f,p?(l+=h,u+=f):(l&&(s+=l,l="",u=0),s+=h)}return!a.length&&!s&&(s=n,l="",u=0),l&&(s+=l),s&&(a.push(s),o.push(c)),a.length===1&&(c+=r),{accumWidth:c,lines:a,linesWidths:o}}var TC="__zr_style_"+Math.round(Math.random()*10),U8={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},A_={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};U8[TC]=!0;var Gk=["z","z2","invisible"],l8e=["invisible"],u8e=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype._init=function(t){for(var i=E3(t),r=0;r<i.length;r++){var a=i[r];a==="style"?this.useStyle(t[a]):n.prototype.attrKV.call(this,a,t[a])}this.style||this.useStyle({})},e.prototype.beforeBrush=function(){},e.prototype.afterBrush=function(){},e.prototype.innerBeforeBrush=function(){},e.prototype.innerAfterBrush=function(){},e.prototype.shouldBePainted=function(t,i,r,a){var o=this.transform;if(this.ignore||this.invisible||this.style.opacity===0||this.culling&&c8e(this,t,i)||o&&!o[0]&&!o[3])return!1;if(r&&this.__clipPaths){for(var s=0;s<this.__clipPaths.length;++s)if(this.__clipPaths[s].isZeroArea())return!1}if(a&&this.parent)for(var l=this.parent;l;){if(l.ignore)return!1;l=l.parent}return!0},e.prototype.contain=function(t,i){return this.rectContain(t,i)},e.prototype.traverse=function(t,i){t.call(i,this)},e.prototype.rectContain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect();return a.contain(r[0],r[1])},e.prototype.getPaintRect=function(){var t=this._paintRect;if(!this._paintRect||this.__dirty){var i=this.transform,r=this.getBoundingRect(),a=this.style,o=a.shadowBlur||0,s=a.shadowOffsetX||0,l=a.shadowOffsetY||0;t=this._paintRect||(this._paintRect=new h3(0,0,0,0)),i?h3.applyTransform(t,r,i):t.copy(r),(o||s||l)&&(t.width+=o*2+Math.abs(s),t.height+=o*2+Math.abs(l),t.x=Math.min(t.x,t.x+s-o),t.y=Math.min(t.y,t.y+l-o));var u=this.dirtyRectTolerance;t.isZero()||(t.x=Math.floor(t.x-u),t.y=Math.floor(t.y-u),t.width=Math.ceil(t.width+1+u*2),t.height=Math.ceil(t.height+1+u*2))}return t},e.prototype.setPrevPaintRect=function(t){t?(this._prevPaintRect=this._prevPaintRect||new h3(0,0,0,0),this._prevPaintRect.copy(t)):this._prevPaintRect=null},e.prototype.getPrevPaintRect=function(){return this._prevPaintRect},e.prototype.animateStyle=function(t){return this.animate("style",t)},e.prototype.updateDuringAnimation=function(t){t==="style"?this.dirtyStyle():this.markRedraw()},e.prototype.attrKV=function(t,i){t!=="style"?n.prototype.attrKV.call(this,t,i):this.style?this.setStyle(i):this.useStyle(i)},e.prototype.setStyle=function(t,i){return typeof t=="string"?this.style[t]=i:L2(this.style,t),this.dirtyStyle(),this},e.prototype.dirtyStyle=function(t){t||this.markRedraw(),this.__dirty|=Yc,this._rect&&(this._rect=null)},e.prototype.dirty=function(){this.dirtyStyle()},e.prototype.styleChanged=function(){return!!(this.__dirty&Yc)},e.prototype.styleUpdated=function(){this.__dirty&=~Yc},e.prototype.createStyle=function(t){return __(U8,t)},e.prototype.useStyle=function(t){t[TC]||(t=this.createStyle(t)),this.__inHover?this.__hoverStyle=t:this.style=t,this.dirtyStyle()},e.prototype.isStyleObject=function(t){return t[TC]},e.prototype._innerSaveToNormal=function(t){n.prototype._innerSaveToNormal.call(this,t);var i=this._normalState;t.style&&!i.style&&(i.style=this._mergeStyle(this.createStyle(),this.style)),this._savePrimaryToNormal(t,i,Gk)},e.prototype._applyStateObj=function(t,i,r,a,o,s){n.prototype._applyStateObj.call(this,t,i,r,a,o,s);var l=!(i&&a),u;if(i&&i.style?o?a?u=i.style:(u=this._mergeStyle(this.createStyle(),r.style),this._mergeStyle(u,i.style)):(u=this._mergeStyle(this.createStyle(),a?this.style:r.style),this._mergeStyle(u,i.style)):l&&(u=r.style),u)if(o){var c=this.style;if(this.style=this.createStyle(l?{}:c),l)for(var d=E3(c),h=0;h<d.length;h++){var f=d[h];f in u&&(u[f]=u[f],this.style[f]=c[f])}for(var p=E3(u),h=0;h<p.length;h++){var f=p[h];this.style[f]=this.style[f]}this._transitionState(t,{style:u},s,this.getAnimationStyleProps())}else this.useStyle(u);for(var g=this.__inHover?l8e:Gk,h=0;h<g.length;h++){var f=g[h];i&&i[f]!=null?this[f]=i[f]:l&&r[f]!=null&&(this[f]=r[f])}},e.prototype._mergeStates=function(t){for(var i=n.prototype._mergeStates.call(this,t),r,a=0;a<t.length;a++){var o=t[a];o.style&&(r=r||{},this._mergeStyle(r,o.style))}return r&&(i.style=r),i},e.prototype._mergeStyle=function(t,i){return L2(t,i),t},e.prototype.getAnimationStyleProps=function(){return A_},e.initDefaultProps=function(){var t=e.prototype;t.type="displayable",t.invisible=!1,t.z=0,t.z2=0,t.zlevel=0,t.culling=!1,t.cursor="pointer",t.rectHover=!1,t.incremental=!1,t._rect=null,t.dirtyRectTolerance=0,t.__dirty=Fr|Yc}(),e}(XY),Ax=new h3(0,0,0,0),Cx=new h3(0,0,0,0);function c8e(n,e,t){return Ax.copy(n.getBoundingRect()),n.transform&&Ax.applyTransform(n.transform),Cx.width=e,Cx.height=t,!Ax.intersect(Cx)}const Ba=u8e;var Qi=Math.min,er=Math.max,Mx=Math.sin,Ex=Math.cos,N9=Math.PI*2,Op=yl(),Bp=yl(),zp=yl();function C_(n,e,t){if(n.length!==0){for(var i=n[0],r=i[0],a=i[0],o=i[1],s=i[1],l=1;l<n.length;l++)i=n[l],r=Qi(r,i[0]),a=er(a,i[0]),o=Qi(o,i[1]),s=er(s,i[1]);e[0]=r,e[1]=o,t[0]=a,t[1]=s}}function Vk(n,e,t,i,r,a){r[0]=Qi(n,t),r[1]=Qi(e,i),a[0]=er(n,t),a[1]=er(e,i)}var Hk=[],Wk=[];function d8e(n,e,t,i,r,a,o,s,l,u){var c=IY,d=vn,h=c(n,t,r,o,Hk);l[0]=1/0,l[1]=1/0,u[0]=-1/0,u[1]=-1/0;for(var f=0;f<h;f++){var p=d(n,t,r,o,Hk[f]);l[0]=Qi(p,l[0]),u[0]=er(p,u[0])}h=c(e,i,a,s,Wk);for(var f=0;f<h;f++){var g=d(e,i,a,s,Wk[f]);l[1]=Qi(g,l[1]),u[1]=er(g,u[1])}l[0]=Qi(n,l[0]),u[0]=er(n,u[0]),l[0]=Qi(o,l[0]),u[0]=er(o,u[0]),l[1]=Qi(e,l[1]),u[1]=er(e,u[1]),l[1]=Qi(s,l[1]),u[1]=er(s,u[1])}function h8e(n,e,t,i,r,a,o,s){var l=NY,u=Dn,c=er(Qi(l(n,t,r),1),0),d=er(Qi(l(e,i,a),1),0),h=u(n,t,r,c),f=u(e,i,a,d);o[0]=Qi(n,r,h),o[1]=Qi(e,a,f),s[0]=er(n,r,h),s[1]=er(e,a,f)}function f8e(n,e,t,i,r,a,o,s,l){var u=v5,c=y5,d=Math.abs(r-a);if(d%N9<1e-4&&d>1e-4){s[0]=n-t,s[1]=e-i,l[0]=n+t,l[1]=e+i;return}if(Op[0]=Ex(r)*t+n,Op[1]=Mx(r)*i+e,Bp[0]=Ex(a)*t+n,Bp[1]=Mx(a)*i+e,u(s,Op,Bp),c(l,Op,Bp),r=r%N9,r<0&&(r=r+N9),a=a%N9,a<0&&(a=a+N9),r>a&&!o?a+=N9:r<a&&o&&(r+=N9),o){var h=a;a=r,r=h}for(var f=0;f<a;f+=Math.PI/2)f>r&&(zp[0]=Ex(f)*t+n,zp[1]=Mx(f)*i+e,u(s,zp,s),c(l,zp,l))}var D1={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},k9=[],F9=[],Co=[],z6=[],Mo=[],Eo=[],Px=Math.min,Rx=Math.max,O9=Math.cos,B9=Math.sin,Ls=Math.abs,AC=Math.PI,i5=AC*2,Lx=typeof Float32Array!="undefined",rc=[];function Ix(n){var e=Math.round(n/AC*1e8)/1e8;return e%2*AC}function pP(n,e){var t=Ix(n[0]);t<0&&(t+=i5);var i=t-n[0],r=n[1];r+=i,!e&&r-t>=i5?r=t+i5:e&&t-r>=i5?r=t-i5:!e&&t>r?r=t+(i5-Ix(t-r)):e&&t<r&&(r=t-(i5-Ix(r-t))),n[0]=t,n[1]=r}var ds=function(){function n(e){this.dpr=1,this._xi=0,this._yi=0,this._x0=0,this._y0=0,this._len=0,e&&(this._saveData=!1),this._saveData&&(this.data=[])}return n.prototype.increaseVersion=function(){this._version++},n.prototype.getVersion=function(){return this._version},n.prototype.setScale=function(e,t,i){i=i||0,i>0&&(this._ux=Ls(i/Uv/e)||0,this._uy=Ls(i/Uv/t)||0)},n.prototype.setDPR=function(e){this.dpr=e},n.prototype.setContext=function(e){this._ctx=e},n.prototype.getContext=function(){return this._ctx},n.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},n.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},n.prototype.moveTo=function(e,t){return this._drawPendingPt(),this.addData(D1.M,e,t),this._ctx&&this._ctx.moveTo(e,t),this._x0=e,this._y0=t,this._xi=e,this._yi=t,this},n.prototype.lineTo=function(e,t){var i=Ls(e-this._xi),r=Ls(t-this._yi),a=i>this._ux||r>this._uy;if(this.addData(D1.L,e,t),this._ctx&&a&&this._ctx.lineTo(e,t),a)this._xi=e,this._yi=t,this._pendingPtDist=0;else{var o=i*i+r*r;o>this._pendingPtDist&&(this._pendingPtX=e,this._pendingPtY=t,this._pendingPtDist=o)}return this},n.prototype.bezierCurveTo=function(e,t,i,r,a,o){return this._drawPendingPt(),this.addData(D1.C,e,t,i,r,a,o),this._ctx&&this._ctx.bezierCurveTo(e,t,i,r,a,o),this._xi=a,this._yi=o,this},n.prototype.quadraticCurveTo=function(e,t,i,r){return this._drawPendingPt(),this.addData(D1.Q,e,t,i,r),this._ctx&&this._ctx.quadraticCurveTo(e,t,i,r),this._xi=i,this._yi=r,this},n.prototype.arc=function(e,t,i,r,a,o){this._drawPendingPt(),rc[0]=r,rc[1]=a,pP(rc,o),r=rc[0],a=rc[1];var s=a-r;return this.addData(D1.A,e,t,i,i,r,s,0,o?0:1),this._ctx&&this._ctx.arc(e,t,i,r,a,o),this._xi=O9(a)*i+e,this._yi=B9(a)*i+t,this},n.prototype.arcTo=function(e,t,i,r,a){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(e,t,i,r,a),this},n.prototype.rect=function(e,t,i,r){return this._drawPendingPt(),this._ctx&&this._ctx.rect(e,t,i,r),this.addData(D1.R,e,t,i,r),this},n.prototype.closePath=function(){this._drawPendingPt(),this.addData(D1.Z);var e=this._ctx,t=this._x0,i=this._y0;return e&&e.closePath(),this._xi=t,this._yi=i,this},n.prototype.fill=function(e){e&&e.fill(),this.toStatic()},n.prototype.stroke=function(e){e&&e.stroke(),this.toStatic()},n.prototype.len=function(){return this._len},n.prototype.setData=function(e){var t=e.length;!(this.data&&this.data.length===t)&&Lx&&(this.data=new Float32Array(t));for(var i=0;i<t;i++)this.data[i]=e[i];this._len=t},n.prototype.appendPath=function(e){e instanceof Array||(e=[e]);for(var t=e.length,i=0,r=this._len,a=0;a<t;a++)i+=e[a].len();Lx&&this.data instanceof Float32Array&&(this.data=new Float32Array(r+i));for(var a=0;a<t;a++)for(var o=e[a].data,s=0;s<o.length;s++)this.data[r++]=o[s];this._len=r},n.prototype.addData=function(e,t,i,r,a,o,s,l,u){if(this._saveData){var c=this.data;this._len+arguments.length>c.length&&(this._expandData(),c=this.data);for(var d=0;d<arguments.length;d++)c[this._len++]=arguments[d]}},n.prototype._drawPendingPt=function(){this._pendingPtDist>0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},n.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var e=[],t=0;t<this._len;t++)e[t]=this.data[t];this.data=e}},n.prototype.toStatic=function(){if(this._saveData){this._drawPendingPt();var e=this.data;e instanceof Array&&(e.length=this._len,Lx&&this._len>11&&(this.data=new Float32Array(e)))}},n.prototype.getBoundingRect=function(){Co[0]=Co[1]=Mo[0]=Mo[1]=Number.MAX_VALUE,z6[0]=z6[1]=Eo[0]=Eo[1]=-Number.MAX_VALUE;var e=this.data,t=0,i=0,r=0,a=0,o;for(o=0;o<this._len;){var s=e[o++],l=o===1;switch(l&&(t=e[o],i=e[o+1],r=t,a=i),s){case D1.M:t=r=e[o++],i=a=e[o++],Mo[0]=r,Mo[1]=a,Eo[0]=r,Eo[1]=a;break;case D1.L:Vk(t,i,e[o],e[o+1],Mo,Eo),t=e[o++],i=e[o++];break;case D1.C:d8e(t,i,e[o++],e[o++],e[o++],e[o++],e[o],e[o+1],Mo,Eo),t=e[o++],i=e[o++];break;case D1.Q:h8e(t,i,e[o++],e[o++],e[o],e[o+1],Mo,Eo),t=e[o++],i=e[o++];break;case D1.A:var u=e[o++],c=e[o++],d=e[o++],h=e[o++],f=e[o++],p=e[o++]+f;o+=1;var g=!e[o++];l&&(r=O9(f)*d+u,a=B9(f)*h+c),f8e(u,c,d,h,f,p,g,Mo,Eo),t=O9(p)*d+u,i=B9(p)*h+c;break;case D1.R:r=t=e[o++],a=i=e[o++];var m=e[o++],v=e[o++];Vk(r,a,r+m,a+v,Mo,Eo);break;case D1.Z:t=r,i=a;break}v5(Co,Co,Mo),y5(z6,z6,Eo)}return o===0&&(Co[0]=Co[1]=z6[0]=z6[1]=0),new h3(Co[0],Co[1],z6[0]-Co[0],z6[1]-Co[1])},n.prototype._calculateLength=function(){var e=this.data,t=this._len,i=this._ux,r=this._uy,a=0,o=0,s=0,l=0;this._pathSegLen||(this._pathSegLen=[]);for(var u=this._pathSegLen,c=0,d=0,h=0;h<t;){var f=e[h++],p=h===1;p&&(a=e[h],o=e[h+1],s=a,l=o);var g=-1;switch(f){case D1.M:a=s=e[h++],o=l=e[h++];break;case D1.L:{var m=e[h++],v=e[h++],_=m-a,S=v-o;(Ls(_)>i||Ls(S)>r||h===t-1)&&(g=Math.sqrt(_*_+S*S),a=m,o=v);break}case D1.C:{var x=e[h++],A=e[h++],m=e[h++],v=e[h++],C=e[h++],M=e[h++];g=M5e(a,o,x,A,m,v,C,M,10),a=C,o=M;break}case D1.Q:{var x=e[h++],A=e[h++],m=e[h++],v=e[h++];g=P5e(a,o,x,A,m,v,10),a=m,o=v;break}case D1.A:var I=e[h++],D=e[h++],E=e[h++],L=e[h++],V=e[h++],Y=e[h++],G=Y+V;h+=1,p&&(s=O9(V)*E+I,l=B9(V)*L+D),g=Rx(E,L)*Px(i5,Math.abs(Y)),a=O9(G)*E+I,o=B9(G)*L+D;break;case D1.R:{s=a=e[h++],l=o=e[h++];var W=e[h++],q=e[h++];g=W*2+q*2;break}case D1.Z:{var _=s-a,S=l-o;g=Math.sqrt(_*_+S*S),a=s,o=l;break}}g>=0&&(u[d++]=g,c+=g)}return this._pathLen=c,c},n.prototype.rebuildPath=function(e,t){var i=this.data,r=this._ux,a=this._uy,o=this._len,s,l,u,c,d,h,f=t<1,p,g,m=0,v=0,_,S=0,x,A;if(!(f&&(this._pathSegLen||this._calculateLength(),p=this._pathSegLen,g=this._pathLen,_=t*g,!_)))e:for(var C=0;C<o;){var M=i[C++],I=C===1;switch(I&&(u=i[C],c=i[C+1],s=u,l=c),M!==D1.L&&S>0&&(e.lineTo(x,A),S=0),M){case D1.M:s=u=i[C++],l=c=i[C++],e.moveTo(u,c);break;case D1.L:{d=i[C++],h=i[C++];var D=Ls(d-u),E=Ls(h-c);if(D>r||E>a){if(f){var L=p[v++];if(m+L>_){var V=(_-m)/L;e.lineTo(u*(1-V)+d*V,c*(1-V)+h*V);break e}m+=L}e.lineTo(d,h),u=d,c=h,S=0}else{var Y=D*D+E*E;Y>S&&(x=d,A=h,S=Y)}break}case D1.C:{var G=i[C++],W=i[C++],q=i[C++],ce=i[C++],J=i[C++],H=i[C++];if(f){var L=p[v++];if(m+L>_){var V=(_-m)/L;W5(u,G,q,J,V,k9),W5(c,W,ce,H,V,F9),e.bezierCurveTo(k9[1],F9[1],k9[2],F9[2],k9[3],F9[3]);break e}m+=L}e.bezierCurveTo(G,W,q,ce,J,H),u=J,c=H;break}case D1.Q:{var G=i[C++],W=i[C++],q=i[C++],ce=i[C++];if(f){var L=p[v++];if(m+L>_){var V=(_-m)/L;Qd(u,G,q,V,k9),Qd(c,W,ce,V,F9),e.quadraticCurveTo(k9[1],F9[1],k9[2],F9[2]);break e}m+=L}e.quadraticCurveTo(G,W,q,ce),u=q,c=ce;break}case D1.A:var re=i[C++],ee=i[C++],se=i[C++],Be=i[C++],we=i[C++],ve=i[C++],Ke=i[C++],p2=!i[C++],c2=se>Be?se:Be,s2=Ls(se-Be)>.001,R2=we+ve,w2=!1;if(f){var L=p[v++];m+L>_&&(R2=we+ve*(_-m)/L,w2=!0),m+=L}if(s2&&e.ellipse?e.ellipse(re,ee,se,Be,Ke,we,R2,p2):e.arc(re,ee,c2,we,R2,p2),w2)break e;I&&(s=O9(we)*se+re,l=B9(we)*Be+ee),u=O9(R2)*se+re,c=B9(R2)*Be+ee;break;case D1.R:s=u=i[C],l=c=i[C+1],d=i[C++],h=i[C++];var Re=i[C++],k2=i[C++];if(f){var L=p[v++];if(m+L>_){var x2=_-m;e.moveTo(d,h),e.lineTo(d+Px(x2,Re),h),x2-=Re,x2>0&&e.lineTo(d+Re,h+Px(x2,k2)),x2-=k2,x2>0&&e.lineTo(d+Rx(Re-x2,0),h+k2),x2-=Re,x2>0&&e.lineTo(d,h+Rx(k2-x2,0));break e}m+=L}e.rect(d,h,Re,k2);break;case D1.Z:if(f){var L=p[v++];if(m+L>_){var V=(_-m)/L;e.lineTo(u*(1-V)+s*V,c*(1-V)+l*V);break e}m+=L}e.closePath(),u=s,c=l}}},n.prototype.clone=function(){var e=new n,t=this.data;return e.data=t.slice?t.slice():Array.prototype.slice.call(t),e._len=this._len,e},n.CMD=D1,n.initDefaultProps=function(){var e=n.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),n}();function a5(n,e,t,i,r,a,o){if(r===0)return!1;var s=r,l=0,u=n;if(o>e+s&&o>i+s||o<e-s&&o<i-s||a>n+s&&a>t+s||a<n-s&&a<t-s)return!1;if(n!==t)l=(e-i)/(n-t),u=(n*i-t*e)/(n-t);else return Math.abs(a-n)<=s/2;var c=l*a-o+u,d=c*c/(l*l+1);return d<=s/2*s/2}function p8e(n,e,t,i,r,a,o,s,l,u,c){if(l===0)return!1;var d=l;if(c>e+d&&c>i+d&&c>a+d&&c>s+d||c<e-d&&c<i-d&&c<a-d&&c<s-d||u>n+d&&u>t+d&&u>r+d&&u>o+d||u<n-d&&u<t-d&&u<r-d&&u<o-d)return!1;var h=DY(n,e,t,i,r,a,o,s,u,c,null);return h<=d/2}function gq(n,e,t,i,r,a,o,s,l){if(o===0)return!1;var u=o;if(l>e+u&&l>i+u&&l>a+u||l<e-u&&l<i-u&&l<a-u||s>n+u&&s>t+u&&s>r+u||s<n-u&&s<t-u&&s<r-u)return!1;var c=kY(n,e,t,i,r,a,s,l,null);return c<=u/2}var jk=Math.PI*2;function zr(n){return n%=jk,n<0&&(n+=jk),n}var ac=Math.PI*2;function m8e(n,e,t,i,r,a,o,s,l){if(o===0)return!1;var u=o;s-=n,l-=e;var c=Math.sqrt(s*s+l*l);if(c-u>t||c+u<t)return!1;if(Math.abs(i-r)%ac<1e-4)return!0;if(a){var d=i;i=zr(r),r=zr(d)}else i=zr(i),r=zr(r);i>r&&(r+=ac);var h=Math.atan2(l,s);return h<0&&(h+=ac),h>=i&&h<=r||h+ac>=i&&h+ac<=r}function Hs(n,e,t,i,r,a){if(a>e&&a>i||a<e&&a<i||i===e)return 0;var o=(a-e)/(i-e),s=i<e?1:-1;(o===1||o===0)&&(s=i<e?.5:-.5);var l=o*(t-n)+n;return l===r?1/0:l>r?s:0}var U6=ds.CMD,z9=Math.PI*2,g8e=1e-4;function v8e(n,e){return Math.abs(n-e)<g8e}var Li=[-1,-1,-1],ya=[-1,-1];function y8e(){var n=ya[0];ya[0]=ya[1],ya[1]=n}function _8e(n,e,t,i,r,a,o,s,l,u){if(u>e&&u>i&&u>a&&u>s||u<e&&u<i&&u<a&&u<s)return 0;var c=Fv(e,i,a,s,u,Li);if(c===0)return 0;for(var d=0,h=-1,f=void 0,p=void 0,g=0;g<c;g++){var m=Li[g],v=m===0||m===1?.5:1,_=vn(n,t,r,o,m);_<l||(h<0&&(h=IY(e,i,a,s,ya),ya[1]<ya[0]&&h>1&&y8e(),f=vn(e,i,a,s,ya[0]),h>1&&(p=vn(e,i,a,s,ya[1]))),h===2?m<ya[0]?d+=f<e?v:-v:m<ya[1]?d+=p<f?v:-v:d+=s<p?v:-v:m<ya[0]?d+=f<e?v:-v:d+=s<f?v:-v)}return d}function S8e(n,e,t,i,r,a,o,s){if(s>e&&s>i&&s>a||s<e&&s<i&&s<a)return 0;var l=E5e(e,i,a,s,Li);if(l===0)return 0;var u=NY(e,i,a);if(u>=0&&u<=1){for(var c=0,d=Dn(e,i,a,u),h=0;h<l;h++){var f=Li[h]===0||Li[h]===1?.5:1,p=Dn(n,t,r,Li[h]);p<o||(Li[h]<u?c+=d<e?f:-f:c+=a<d?f:-f)}return c}else{var f=Li[0]===0||Li[0]===1?.5:1,p=Dn(n,t,r,Li[0]);return p<o?0:a<e?f:-f}}function b8e(n,e,t,i,r,a,o,s){if(s-=e,s>t||s<-t)return 0;var l=Math.sqrt(t*t-s*s);Li[0]=-l,Li[1]=l;var u=Math.abs(i-r);if(u<1e-4)return 0;if(u>=z9-1e-4){i=0,r=z9;var c=a?1:-1;return o>=Li[0]+n&&o<=Li[1]+n?c:0}if(i>r){var d=i;i=r,r=d}i<0&&(i+=z9,r+=z9);for(var h=0,f=0;f<2;f++){var p=Li[f];if(p+n>o){var g=Math.atan2(s,p),c=a?1:-1;g<0&&(g=z9+g),(g>=i&&g<=r||g+z9>=i&&g+z9<=r)&&(g>Math.PI/2&&g<Math.PI*1.5&&(c=-c),h+=c)}}return h}function vq(n,e,t,i,r){for(var a=n.data,o=n.len(),s=0,l=0,u=0,c=0,d=0,h,f,p=0;p<o;){var g=a[p++],m=p===1;switch(g===U6.M&&p>1&&(t||(s+=Hs(l,u,c,d,i,r))),m&&(l=a[p],u=a[p+1],c=l,d=u),g){case U6.M:c=a[p++],d=a[p++],l=c,u=d;break;case U6.L:if(t){if(a5(l,u,a[p],a[p+1],e,i,r))return!0}else s+=Hs(l,u,a[p],a[p+1],i,r)||0;l=a[p++],u=a[p++];break;case U6.C:if(t){if(p8e(l,u,a[p++],a[p++],a[p++],a[p++],a[p],a[p+1],e,i,r))return!0}else s+=_8e(l,u,a[p++],a[p++],a[p++],a[p++],a[p],a[p+1],i,r)||0;l=a[p++],u=a[p++];break;case U6.Q:if(t){if(gq(l,u,a[p++],a[p++],a[p],a[p+1],e,i,r))return!0}else s+=S8e(l,u,a[p++],a[p++],a[p],a[p+1],i,r)||0;l=a[p++],u=a[p++];break;case U6.A:var v=a[p++],_=a[p++],S=a[p++],x=a[p++],A=a[p++],C=a[p++];p+=1;var M=!!(1-a[p++]);h=Math.cos(A)*S+v,f=Math.sin(A)*x+_,m?(c=h,d=f):s+=Hs(l,u,h,f,i,r);var I=(i-v)*x/S+v;if(t){if(m8e(v,_,x,A,A+C,M,e,I,r))return!0}else s+=b8e(v,_,x,A,A+C,M,I,r);l=Math.cos(A+C)*S+v,u=Math.sin(A+C)*x+_;break;case U6.R:c=l=a[p++],d=u=a[p++];var D=a[p++],E=a[p++];if(h=c+D,f=d+E,t){if(a5(c,d,h,d,e,i,r)||a5(h,d,h,f,e,i,r)||a5(h,f,c,f,e,i,r)||a5(c,f,c,d,e,i,r))return!0}else s+=Hs(h,d,h,f,i,r),s+=Hs(c,f,c,d,i,r);break;case U6.Z:if(t){if(a5(l,u,c,d,e,i,r))return!0}else s+=Hs(l,u,c,d,i,r);l=c,u=d;break}}return!t&&!v8e(u,d)&&(s+=Hs(l,u,c,d,i,r)||0),s!==0}function x8e(n,e,t){return vq(n,0,!1,e,t)}function w8e(n,e,t,i){return vq(n,e,!0,t,i)}var Vv=Vt({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},U8),T8e={style:Vt({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},A_.style)},Dx=us.concat(["invisible","culling","z","z2","zlevel","parent"]),A8e=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.update=function(){var t=this;n.prototype.update.call(this);var i=this.style;if(i.decal){var r=this._decalEl=this._decalEl||new e;r.buildPath===e.prototype.buildPath&&(r.buildPath=function(l){t.buildPath(l,t.shape)}),r.silent=!0;var a=r.style;for(var o in i)a[o]!==i[o]&&(a[o]=i[o]);a.fill=i.fill?i.decal:null,a.decal=null,a.shadowColor=null,i.strokeFirst&&(a.stroke=null);for(var s=0;s<Dx.length;++s)r[Dx[s]]=this[Dx[s]];r.__dirty|=Fr}else this._decalEl&&(this._decalEl=null)},e.prototype.getDecalElement=function(){return this._decalEl},e.prototype._init=function(t){var i=E3(t);this.shape=this.getDefaultShape();var r=this.getDefaultStyle();r&&this.useStyle(r);for(var a=0;a<i.length;a++){var o=i[a],s=t[o];o==="style"?this.style?L2(this.style,s):this.useStyle(s):o==="shape"?L2(this.shape,s):n.prototype.attrKV.call(this,o,s)}this.style||this.useStyle({})},e.prototype.getDefaultStyle=function(){return null},e.prototype.getDefaultShape=function(){return{}},e.prototype.canBeInsideText=function(){return this.hasFill()},e.prototype.getInsideTextFill=function(){var t=this.style.fill;if(t!=="none"){if(_t(t)){var i=Bv(t,0);return i>.5?_C:i>.2?o9e:SC}else if(t)return SC}return _C},e.prototype.getInsideTextStroke=function(t){var i=this.style.fill;if(_t(i)){var r=this.__zr,a=!!(r&&r.isDarkMode()),o=Bv(t,0)<yC;if(a===o)return i}},e.prototype.buildPath=function(t,i,r){},e.prototype.pathUpdated=function(){this.__dirty&=~B4},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new ds(!1)},e.prototype.hasStroke=function(){var t=this.style,i=t.stroke;return!(i==null||i==="none"||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style,i=t.fill;return i!=null&&i!=="none"},e.prototype.getBoundingRect=function(){var t=this._rect,i=this.style,r=!t;if(r){var a=!1;this.path||(a=!0,this.createPathProxy());var o=this.path;(a||this.__dirty&B4)&&(o.beginPath(),this.buildPath(o,this.shape,!1),this.pathUpdated()),t=o.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var s=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||r){s.copy(t);var l=i.strokeNoScale?this.getLineScale():1,u=i.lineWidth;if(!this.hasFill()){var c=this.strokeContainThreshold;u=Math.max(u,c==null?4:c)}l>1e-10&&(s.width+=u/l,s.height+=u/l,s.x-=u/l/2,s.y-=u/l/2)}return s}return t},e.prototype.contain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect(),o=this.style;if(t=r[0],i=r[1],a.contain(t,i)){var s=this.path;if(this.hasStroke()){var l=o.lineWidth,u=o.strokeNoScale?this.getLineScale():1;if(u>1e-10&&(this.hasFill()||(l=Math.max(l,this.strokeContainThreshold)),w8e(s,l/u,t,i)))return!0}if(this.hasFill())return x8e(s,t,i)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=B4,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){t==="style"?this.dirtyStyle():t==="shape"?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(t,i){t==="shape"?this.setShape(i):n.prototype.attrKV.call(this,t,i)},e.prototype.setShape=function(t,i){var r=this.shape;return r||(r=this.shape={}),typeof t=="string"?r[t]=i:L2(r,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(this.__dirty&B4)},e.prototype.createStyle=function(t){return __(Vv,t)},e.prototype._innerSaveToNormal=function(t){n.prototype._innerSaveToNormal.call(this,t);var i=this._normalState;t.shape&&!i.shape&&(i.shape=L2({},this.shape))},e.prototype._applyStateObj=function(t,i,r,a,o,s){n.prototype._applyStateObj.call(this,t,i,r,a,o,s);var l=!(i&&a),u;if(i&&i.shape?o?a?u=i.shape:(u=L2({},r.shape),L2(u,i.shape)):(u=L2({},a?this.shape:r.shape),L2(u,i.shape)):l&&(u=r.shape),u)if(o){this.shape=L2({},this.shape);for(var c={},d=E3(u),h=0;h<d.length;h++){var f=d[h];typeof u[f]=="object"?this.shape[f]=u[f]:c[f]=u[f]}this._transitionState(t,{shape:c},s)}else this.shape=u,this.dirtyShape()},e.prototype._mergeStates=function(t){for(var i=n.prototype._mergeStates.call(this,t),r,a=0;a<t.length;a++){var o=t[a];o.shape&&(r=r||{},this._mergeStyle(r,o.shape))}return r&&(i.shape=r),i},e.prototype.getAnimationStyleProps=function(){return T8e},e.prototype.isZeroArea=function(){return!1},e.extend=function(t){var i=function(a){g2(o,a);function o(s){var l=a.call(this,s)||this;return t.init&&t.init.call(l,s),l}return o.prototype.getDefaultStyle=function(){return $t(t.style)},o.prototype.getDefaultShape=function(){return $t(t.shape)},o}(e);for(var r in t)typeof t[r]=="function"&&(i.prototype[r]=t[r]);return i},e.initDefaultProps=function(){var t=e.prototype;t.type="path",t.strokeContainThreshold=5,t.segmentIgnoreThreshold=0,t.subPixelOptimize=!1,t.autoBatch=!1,t.__dirty=Fr|Yc|B4}(),e}(Ba);const C3=A8e;var C8e=Vt({strokeFirst:!0,font:V5,x:0,y:0,textAlign:"left",textBaseline:"top",miterLimit:2},Vv),yq=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.hasStroke=function(){var t=this.style,i=t.stroke;return i!=null&&i!=="none"&&t.lineWidth>0},e.prototype.hasFill=function(){var t=this.style,i=t.fill;return i!=null&&i!=="none"},e.prototype.createStyle=function(t){return __(C8e,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var i=t.text;i!=null?i+="":i="";var r=Kh(i,t.font,t.textAlign,t.textBaseline);if(r.x+=t.x||0,r.y+=t.y||0,this.hasStroke()){var a=t.lineWidth;r.x-=a/2,r.y-=a/2,r.width+=a,r.height+=a}this._rect=r}return this._rect},e.initDefaultProps=function(){var t=e.prototype;t.dirtyRectTolerance=10}(),e}(Ba);yq.prototype.type="tspan";const rh=yq;var M8e=Vt({x:0,y:0},U8),E8e={style:Vt({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},A_.style)};function P8e(n){return!!(n&&typeof n!="string"&&n.width&&n.height)}var _q=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.createStyle=function(t){return __(M8e,t)},e.prototype._getSize=function(t){var i=this.style,r=i[t];if(r!=null)return r;var a=P8e(i.image)?i.image:this.__image;if(!a)return 0;var o=t==="width"?"height":"width",s=i[o];return s==null?a[t]:a[t]/a[o]*s},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return E8e},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new h3(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(Ba);_q.prototype.type="image";const ti=_q;function R8e(n,e){var t=e.x,i=e.y,r=e.width,a=e.height,o=e.r,s,l,u,c;r<0&&(t=t+r,r=-r),a<0&&(i=i+a,a=-a),typeof o=="number"?s=l=u=c=o:o instanceof Array?o.length===1?s=l=u=c=o[0]:o.length===2?(s=u=o[0],l=c=o[1]):o.length===3?(s=o[0],l=c=o[1],u=o[2]):(s=o[0],l=o[1],u=o[2],c=o[3]):s=l=u=c=0;var d;s+l>r&&(d=s+l,s*=r/d,l*=r/d),u+c>r&&(d=u+c,u*=r/d,c*=r/d),l+u>a&&(d=l+u,l*=a/d,u*=a/d),s+c>a&&(d=s+c,s*=a/d,c*=a/d),n.moveTo(t+s,i),n.lineTo(t+r-l,i),l!==0&&n.arc(t+r-l,i+l,l,-Math.PI/2,0),n.lineTo(t+r,i+a-u),u!==0&&n.arc(t+r-u,i+a-u,u,0,Math.PI/2),n.lineTo(t+c,i+a),c!==0&&n.arc(t+c,i+a-c,c,Math.PI/2,Math.PI),n.lineTo(t,i+s),s!==0&&n.arc(t+s,i+s,s,Math.PI,Math.PI*1.5)}var Z4=Math.round;function Sq(n,e,t){if(e){var i=e.x1,r=e.x2,a=e.y1,o=e.y2;n.x1=i,n.x2=r,n.y1=a,n.y2=o;var s=t&&t.lineWidth;return s&&(Z4(i*2)===Z4(r*2)&&(n.x1=n.x2=w8(i,s,!0)),Z4(a*2)===Z4(o*2)&&(n.y1=n.y2=w8(a,s,!0))),n}}function bq(n,e,t){if(e){var i=e.x,r=e.y,a=e.width,o=e.height;n.x=i,n.y=r,n.width=a,n.height=o;var s=t&&t.lineWidth;return s&&(n.x=w8(i,s,!0),n.y=w8(r,s,!0),n.width=Math.max(w8(i+a,s,!1)-n.x,a===0?0:1),n.height=Math.max(w8(r+o,s,!1)-n.y,o===0?0:1)),n}}function w8(n,e,t){if(!e)return n;var i=Z4(n*2);return(i+Z4(e))%2===0?i/2:(i+(t?1:-1))/2}var L8e=function(){function n(){this.x=0,this.y=0,this.width=0,this.height=0}return n}(),I8e={},xq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new L8e},e.prototype.buildPath=function(t,i){var r,a,o,s;if(this.subPixelOptimize){var l=bq(I8e,i,this.style);r=l.x,a=l.y,o=l.width,s=l.height,l.r=i.r,i=l}else r=i.x,a=i.y,o=i.width,s=i.height;i.r?R8e(t,i):t.rect(r,a,o,s)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(C3);xq.prototype.type="rect";const V3=xq;var $k={fill:"#000"},Yk=2,D8e={style:Vt({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},A_.style)},wq=function(n){g2(e,n);function e(t){var i=n.call(this)||this;return i.type="text",i._children=[],i._defaultStyle=$k,i.attr(t),i}return e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){n.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var t=0;t<this._children.length;t++){var i=this._children[t];i.zlevel=this.zlevel,i.z=this.z,i.z2=this.z2,i.culling=this.culling,i.cursor=this.cursor,i.invisible=this.invisible}},e.prototype.updateTransform=function(){var t=this.innerTransformable;t?(t.updateTransform(),t.transform&&(this.transform=t.transform)):n.prototype.updateTransform.call(this)},e.prototype.getLocalTransform=function(t){var i=this.innerTransformable;return i?i.getLocalTransform(t):n.prototype.getLocalTransform.call(this,t)},e.prototype.getComputedTransform=function(){return this.__hostTarget&&(this.__hostTarget.getComputedTransform(),this.__hostTarget.updateInnerText(!0)),n.prototype.getComputedTransform.call(this)},e.prototype._updateSubTexts=function(){this._childCursor=0,F8e(this.style),this.style.rich?this._updateRichTexts():this._updatePlainTexts(),this._children.length=this._childCursor,this.styleUpdated()},e.prototype.addSelfToZr=function(t){n.prototype.addSelfToZr.call(this,t);for(var i=0;i<this._children.length;i++)this._children[i].__zr=t},e.prototype.removeSelfFromZr=function(t){n.prototype.removeSelfFromZr.call(this,t);for(var i=0;i<this._children.length;i++)this._children[i].__zr=null},e.prototype.getBoundingRect=function(){if(this.styleChanged()&&this._updateSubTexts(),!this._rect){for(var t=new h3(0,0,0,0),i=this._children,r=[],a=null,o=0;o<i.length;o++){var s=i[o],l=s.getBoundingRect(),u=s.getLocalTransform(r);u?(t.copy(l),t.applyTransform(u),a=a||t.clone(),a.union(t)):(a=a||l.clone(),a.union(l))}this._rect=a||t}return this._rect},e.prototype.setDefaultTextStyle=function(t){this._defaultStyle=t||$k},e.prototype.setTextContent=function(t){},e.prototype._mergeStyle=function(t,i){if(!i)return t;var r=i.rich,a=t.rich||r&&{};return L2(t,i),r&&a?(this._mergeRich(a,r),t.rich=a):a&&(t.rich=a),t},e.prototype._mergeRich=function(t,i){for(var r=E3(i),a=0;a<r.length;a++){var o=r[a];t[o]=t[o]||{},L2(t[o],i[o])}},e.prototype.getAnimationStyleProps=function(){return D8e},e.prototype._getOrCreateChild=function(t){var i=this._children[this._childCursor];return(!i||!(i instanceof t))&&(i=new t),this._children[this._childCursor++]=i,i.__zr=this.__zr,i.parent=this,i},e.prototype._updatePlainTexts=function(){var t=this.style,i=t.font||V5,r=t.padding,a=eF(t),o=t8e(a,t),s=Nx(t),l=!!t.backgroundColor,u=o.outerHeight,c=o.outerWidth,d=o.contentWidth,h=o.lines,f=o.lineHeight,p=this._defaultStyle;this.isTruncated=!!o.isTruncated;var g=t.x||0,m=t.y||0,v=t.align||p.align||"left",_=t.verticalAlign||p.verticalAlign||"top",S=g,x=z4(m,o.contentHeight,_);if(s||r){var A=Xc(g,c,v),C=z4(m,u,_);s&&this._renderBackground(t,t,A,C,c,u)}x+=f/2,r&&(S=Qk(g,v,r),_==="top"?x+=r[0]:_==="bottom"&&(x-=r[2]));for(var M=0,I=!1,D=Jk("fill"in t?t.fill:(I=!0,p.fill)),E=Zk("stroke"in t?t.stroke:!l&&(!p.autoStroke||I)?(M=Yk,p.stroke):null),L=t.textShadowBlur>0,V=t.width!=null&&(t.overflow==="truncate"||t.overflow==="break"||t.overflow==="breakAll"),Y=o.calculatedLineHeight,G=0;G<h.length;G++){var W=this._getOrCreateChild(rh),q=W.createStyle();W.useStyle(q),q.text=h[G],q.x=S,q.y=x,v&&(q.textAlign=v),q.textBaseline="middle",q.opacity=t.opacity,q.strokeFirst=!0,L&&(q.shadowBlur=t.textShadowBlur||0,q.shadowColor=t.textShadowColor||"transparent",q.shadowOffsetX=t.textShadowOffsetX||0,q.shadowOffsetY=t.textShadowOffsetY||0),q.stroke=E,q.fill=D,E&&(q.lineWidth=t.lineWidth||M,q.lineDash=t.lineDash,q.lineDashOffset=t.lineDashOffset||0),q.font=i,Xk(q,t),x+=f,V&&W.setBoundingRect(new h3(Xc(q.x,d,q.textAlign),z4(q.y,Y,q.textBaseline),d,Y))}},e.prototype._updateRichTexts=function(){var t=this.style,i=eF(t),r=r8e(i,t),a=r.width,o=r.outerWidth,s=r.outerHeight,l=t.padding,u=t.x||0,c=t.y||0,d=this._defaultStyle,h=t.align||d.align,f=t.verticalAlign||d.verticalAlign;this.isTruncated=!!r.isTruncated;var p=Xc(u,o,h),g=z4(c,s,f),m=p,v=g;l&&(m+=l[3],v+=l[0]);var _=m+a;Nx(t)&&this._renderBackground(t,t,p,g,o,s);for(var S=!!t.backgroundColor,x=0;x<r.lines.length;x++){for(var A=r.lines[x],C=A.tokens,M=C.length,I=A.lineHeight,D=A.width,E=0,L=m,V=_,Y=M-1,G=void 0;E<M&&(G=C[E],!G.align||G.align==="left");)this._placeToken(G,t,I,v,L,"left",S),D-=G.width,L+=G.width,E++;for(;Y>=0&&(G=C[Y],G.align==="right");)this._placeToken(G,t,I,v,V,"right",S),D-=G.width,V-=G.width,Y--;for(L+=(a-(L-m)-(_-V)-D)/2;E<=Y;)G=C[E],this._placeToken(G,t,I,v,L+G.width/2,"center",S),L+=G.width,E++;v+=I}},e.prototype._placeToken=function(t,i,r,a,o,s,l){var u=i.rich[t.styleName]||{};u.text=t.text;var c=t.verticalAlign,d=a+r/2;c==="top"?d=a+t.height/2:c==="bottom"&&(d=a+r-t.height/2);var h=!t.isLineHolder&&Nx(u);h&&this._renderBackground(u,i,s==="right"?o-t.width:s==="center"?o-t.width/2:o,d-t.height/2,t.width,t.height);var f=!!u.backgroundColor,p=t.textPadding;p&&(o=Qk(o,s,p),d-=t.height/2-p[0]-t.innerHeight/2);var g=this._getOrCreateChild(rh),m=g.createStyle();g.useStyle(m);var v=this._defaultStyle,_=!1,S=0,x=Jk("fill"in u?u.fill:"fill"in i?i.fill:(_=!0,v.fill)),A=Zk("stroke"in u?u.stroke:"stroke"in i?i.stroke:!f&&!l&&(!v.autoStroke||_)?(S=Yk,v.stroke):null),C=u.textShadowBlur>0||i.textShadowBlur>0;m.text=t.text,m.x=o,m.y=d,C&&(m.shadowBlur=u.textShadowBlur||i.textShadowBlur||0,m.shadowColor=u.textShadowColor||i.textShadowColor||"transparent",m.shadowOffsetX=u.textShadowOffsetX||i.textShadowOffsetX||0,m.shadowOffsetY=u.textShadowOffsetY||i.textShadowOffsetY||0),m.textAlign=s,m.textBaseline="middle",m.font=t.font||V5,m.opacity=es(u.opacity,i.opacity,1),Xk(m,u),A&&(m.lineWidth=es(u.lineWidth,i.lineWidth,S),m.lineDash=e3(u.lineDash,i.lineDash),m.lineDashOffset=i.lineDashOffset||0,m.stroke=A),x&&(m.fill=x);var M=t.contentWidth,I=t.contentHeight;g.setBoundingRect(new h3(Xc(m.x,M,m.textAlign),z4(m.y,I,m.textBaseline),M,I))},e.prototype._renderBackground=function(t,i,r,a,o,s){var l=t.backgroundColor,u=t.borderWidth,c=t.borderColor,d=l&&l.image,h=l&&!d,f=t.borderRadius,p=this,g,m;if(h||t.lineHeight||u&&c){g=this._getOrCreateChild(V3),g.useStyle(g.createStyle()),g.style.fill=null;var v=g.shape;v.x=r,v.y=a,v.width=o,v.height=s,v.r=f,g.dirtyShape()}if(h){var _=g.style;_.fill=l||null,_.fillOpacity=e3(t.fillOpacity,1)}else if(d){m=this._getOrCreateChild(ti),m.onload=function(){p.dirtyStyle()};var S=m.style;S.image=l.image,S.x=r,S.y=a,S.width=o,S.height=s}if(u&&c){var _=g.style;_.lineWidth=u,_.stroke=c,_.strokeOpacity=e3(t.strokeOpacity,1),_.lineDash=t.borderDash,_.lineDashOffset=t.borderDashOffset||0,g.strokeContainThreshold=0,g.hasFill()&&g.hasStroke()&&(_.strokeFirst=!0,_.lineWidth*=2)}var x=(g||m).style;x.shadowBlur=t.shadowBlur||0,x.shadowColor=t.shadowColor||"transparent",x.shadowOffsetX=t.shadowOffsetX||0,x.shadowOffsetY=t.shadowOffsetY||0,x.opacity=es(t.opacity,i.opacity,1)},e.makeFont=function(t){var i="";return Aq(t)&&(i=[t.fontStyle,t.fontWeight,Tq(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),i&&lo(i)||t.textFont||t.font},e}(Ba),N8e={left:!0,right:1,center:1},k8e={top:1,bottom:1,middle:1},qk=["fontStyle","fontWeight","fontSize","fontFamily"];function Tq(n){return typeof n=="string"&&(n.indexOf("px")!==-1||n.indexOf("rem")!==-1||n.indexOf("em")!==-1)?n:isNaN(+n)?XE+"px":n+"px"}function Xk(n,e){for(var t=0;t<qk.length;t++){var i=qk[t],r=e[i];r!=null&&(n[i]=r)}}function Aq(n){return n.fontSize!=null||n.fontFamily||n.fontWeight}function F8e(n){return Kk(n),ne(n.rich,Kk),n}function Kk(n){if(n){n.font=wq.makeFont(n);var e=n.align;e==="middle"&&(e="center"),n.align=e==null||N8e[e]?e:"left";var t=n.verticalAlign;t==="center"&&(t="middle"),n.verticalAlign=t==null||k8e[t]?t:"top";var i=n.padding;i&&(n.padding=tP(n.padding))}}function Zk(n,e){return n==null||e<=0||n==="transparent"||n==="none"?null:n.image||n.colorStops?"#000":n}function Jk(n){return n==null||n==="none"?null:n.image||n.colorStops?"#000":n}function Qk(n,e,t){return e==="right"?n-t[1]:e==="center"?n+t[3]/2-t[1]/2:n+t[3]}function eF(n){var e=n.text;return e!=null&&(e+=""),e}function Nx(n){return!!(n.backgroundColor||n.lineHeight||n.borderWidth&&n.borderColor)}const Y3=wq;var Xt=B3(),CC=function(n,e,t,i){if(i){var r=Xt(i);r.dataIndex=t,r.dataType=e,r.seriesIndex=n,r.ssrType="chart",i.type==="group"&&i.traverse(function(a){var o=Xt(a);o.seriesIndex=n,o.dataIndex=t,o.dataType=e,o.ssrType="chart"})}},tF=1,nF={},Cq=B3(),mP=B3(),gP=0,Jh=1,M_=2,zi=["emphasis","blur","select"],ah=["normal","emphasis","blur","select"],uu=10,O8e=9,G8="highlight",Kg="downplay",_d="select",Zg="unselect",Sd="toggleSelect";function Kl(n){return n!=null&&n!=="none"}function E_(n,e,t){n.onHoverStateChange&&(n.hoverState||0)!==t&&n.onHoverStateChange(e),n.hoverState=t}function Mq(n){E_(n,"emphasis",M_)}function Eq(n){n.hoverState===M_&&E_(n,"normal",gP)}function vP(n){E_(n,"blur",Jh)}function Pq(n){n.hoverState===Jh&&E_(n,"normal",gP)}function B8e(n){n.selected=!0}function z8e(n){n.selected=!1}function iF(n,e,t){e(n,t)}function g6(n,e,t){iF(n,e,t),n.isGroup&&n.traverse(function(i){iF(i,e,t)})}function Hv(n,e){switch(e){case"emphasis":n.hoverState=M_;break;case"normal":n.hoverState=gP;break;case"blur":n.hoverState=Jh;break;case"select":n.selected=!0}}function U8e(n,e,t,i){for(var r=n.style,a={},o=0;o<e.length;o++){var s=e[o],l=r[s];a[s]=l==null?i&&i[s]:l}for(var o=0;o<n.animators.length;o++){var u=n.animators[o];u.__fromStateTransition&&u.__fromStateTransition.indexOf(t)<0&&u.targetName==="style"&&u.saveTo(a,e)}return a}function G8e(n,e,t,i){var r=t&&_3(t,"select")>=0,a=!1;if(n instanceof C3){var o=Cq(n),s=r&&o.selectFill||o.normalFill,l=r&&o.selectStroke||o.normalStroke;if(Kl(s)||Kl(l)){i=i||{};var u=i.style||{};u.fill==="inherit"?(a=!0,i=L2({},i),u=L2({},u),u.fill=s):!Kl(u.fill)&&Kl(s)?(a=!0,i=L2({},i),u=L2({},u),u.fill=dC(s)):!Kl(u.stroke)&&Kl(l)&&(a||(i=L2({},i),u=L2({},u)),u.stroke=dC(l)),i.style=u}}if(i&&i.z2==null){a||(i=L2({},i));var c=n.z2EmphasisLift;i.z2=n.z2+(c!=null?c:uu)}return i}function V8e(n,e,t){if(t&&t.z2==null){t=L2({},t);var i=n.z2SelectLift;t.z2=n.z2+(i!=null?i:O8e)}return t}function H8e(n,e,t){var i=_3(n.currentStates,e)>=0,r=n.style.opacity,a=i?null:U8e(n,["opacity"],e,{opacity:1});t=t||{};var o=t.style||{};return o.opacity==null&&(t=L2({},t),o=L2({opacity:i?r:a.opacity*.1},o),t.style=o),t}function kx(n,e){var t=this.states[n];if(this.style){if(n==="emphasis")return G8e(this,n,e,t);if(n==="blur")return H8e(this,n,t);if(n==="select")return V8e(this,n,t)}return t}function al(n){n.stateProxy=kx;var e=n.getTextContent(),t=n.getTextGuideLine();e&&(e.stateProxy=kx),t&&(t.stateProxy=kx)}function rF(n,e){!Dq(n,e)&&!n.__highByOuter&&g6(n,Mq)}function aF(n,e){!Dq(n,e)&&!n.__highByOuter&&g6(n,Eq)}function o6(n,e){n.__highByOuter|=1<<(e||0),g6(n,Mq)}function s6(n,e){!(n.__highByOuter&=~(1<<(e||0)))&&g6(n,Eq)}function Rq(n){g6(n,vP)}function yP(n){g6(n,Pq)}function Lq(n){g6(n,B8e)}function Iq(n){g6(n,z8e)}function Dq(n,e){return n.__highDownSilentOnTouch&&e.zrByTouch}function Nq(n){var e=n.getModel(),t=[],i=[];e.eachComponent(function(r,a){var o=mP(a),s=r==="series",l=s?n.getViewOfSeriesModel(a):n.getViewOfComponentModel(a);!s&&i.push(l),o.isBlured&&(l.group.traverse(function(u){Pq(u)}),s&&t.push(a)),o.isBlured=!1}),ne(i,function(r){r&&r.toggleBlurSeries&&r.toggleBlurSeries(t,!1,e)})}function MC(n,e,t,i){var r=i.getModel();t=t||"coordinateSystem";function a(u,c){for(var d=0;d<c.length;d++){var h=u.getItemGraphicEl(c[d]);h&&yP(h)}}if(n!=null&&!(!e||e==="none")){var o=r.getSeriesByIndex(n),s=o.coordinateSystem;s&&s.master&&(s=s.master);var l=[];r.eachSeries(function(u){var c=o===u,d=u.coordinateSystem;d&&d.master&&(d=d.master);var h=d&&s?d===s:c;if(!(t==="series"&&!c||t==="coordinateSystem"&&!h||e==="series"&&c)){var f=i.getViewOfSeriesModel(u);if(f.group.traverse(function(m){m.__highByOuter&&c&&e==="self"||vP(m)}),Si(e))a(u.getData(),e);else if(jt(e))for(var p=E3(e),g=0;g<p.length;g++)a(u.getData(p[g]),e[p[g]]);l.push(u),mP(u).isBlured=!0}}),r.eachComponent(function(u,c){if(u!=="series"){var d=i.getViewOfComponentModel(c);d&&d.toggleBlurSeries&&d.toggleBlurSeries(l,!0,r)}})}}function EC(n,e,t){if(!(n==null||e==null)){var i=t.getModel().getComponent(n,e);if(i){mP(i).isBlured=!0;var r=t.getViewOfComponentModel(i);!r||!r.focusBlurEnabled||r.group.traverse(function(a){vP(a)})}}}function W8e(n,e,t){var i=n.seriesIndex,r=n.getData(e.dataType);if(r){var a=il(r,e);a=(H2(a)?a[0]:a)||0;var o=r.getItemGraphicEl(a);if(!o)for(var s=r.count(),l=0;!o&&l<s;)o=r.getItemGraphicEl(l++);if(o){var u=Xt(o);MC(i,u.focus,u.blurScope,t)}else{var c=n.get(["emphasis","focus"]),d=n.get(["emphasis","blurScope"]);c!=null&&MC(i,c,d,t)}}}function _P(n,e,t,i){var r={focusSelf:!1,dispatchers:null};if(n==null||n==="series"||e==null||t==null)return r;var a=i.getModel().getComponent(n,e);if(!a)return r;var o=i.getViewOfComponentModel(a);if(!o||!o.findHighDownDispatchers)return r;for(var s=o.findHighDownDispatchers(t),l,u=0;u<s.length;u++)if(Xt(s[u]).focus==="self"){l=!0;break}return{focusSelf:l,dispatchers:s}}function j8e(n,e,t){var i=Xt(n),r=_P(i.componentMainType,i.componentIndex,i.componentHighDownName,t),a=r.dispatchers,o=r.focusSelf;a?(o&&EC(i.componentMainType,i.componentIndex,t),ne(a,function(s){return rF(s,e)})):(MC(i.seriesIndex,i.focus,i.blurScope,t),i.focus==="self"&&EC(i.componentMainType,i.componentIndex,t),rF(n,e))}function $8e(n,e,t){Nq(t);var i=Xt(n),r=_P(i.componentMainType,i.componentIndex,i.componentHighDownName,t).dispatchers;r?ne(r,function(a){return aF(a,e)}):aF(n,e)}function Y8e(n,e,t){if(RC(e)){var i=e.dataType,r=n.getData(i),a=il(r,e);H2(a)||(a=[a]),n[e.type===Sd?"toggleSelect":e.type===_d?"select":"unselect"](a,i)}}function oF(n){var e=n.getAllData();ne(e,function(t){var i=t.data,r=t.type;i.eachItemGraphicEl(function(a,o){n.isSelected(o,r)?Lq(a):Iq(a)})})}function q8e(n){var e=[];return n.eachSeries(function(t){var i=t.getAllData();ne(i,function(r){r.data;var a=r.type,o=t.getSelectedDataIndices();if(o.length>0){var s={dataIndex:o,seriesIndex:t.seriesIndex};a!=null&&(s.dataType=a),e.push(s)}})}),e}function V8(n,e,t){T8(n,!0),g6(n,al),PC(n,e,t)}function X8e(n){T8(n,!1)}function b0(n,e,t,i){i?X8e(n):V8(n,e,t)}function PC(n,e,t){var i=Xt(n);e!=null?(i.focus=e,i.blurScope=t):i.focus&&(i.focus=null)}var sF=["emphasis","blur","select"],K8e={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function Jn(n,e,t,i){t=t||"itemStyle";for(var r=0;r<sF.length;r++){var a=sF[r],o=e.getModel([a,t]),s=n.ensureState(a);s.style=i?i(o):o[K8e[t]]()}}function T8(n,e){var t=e===!1,i=n;n.highDownSilentOnTouch&&(i.__highDownSilentOnTouch=n.highDownSilentOnTouch),(!t||i.__highDownDispatcher)&&(i.__highByOuter=i.__highByOuter||0,i.__highDownDispatcher=!t)}function oh(n){return!!(n&&n.__highDownDispatcher)}function Z8e(n,e,t){var i=Xt(n);i.componentMainType=e.mainType,i.componentIndex=e.componentIndex,i.componentHighDownName=t}function J8e(n){var e=nF[n];return e==null&&tF<=32&&(e=nF[n]=tF++),e}function RC(n){var e=n.type;return e===_d||e===Zg||e===Sd}function lF(n){var e=n.type;return e===G8||e===Kg}function Q8e(n){var e=Cq(n);e.normalFill=n.style.fill,e.normalStroke=n.style.stroke;var t=n.states.select||{};e.selectFill=t.style&&t.style.fill||null,e.selectStroke=t.style&&t.style.stroke||null}var Zl=ds.CMD,ele=[[],[],[]],uF=Math.sqrt,tle=Math.atan2;function kq(n,e){if(e){var t=n.data,i=n.len(),r,a,o,s,l,u,c=Zl.M,d=Zl.C,h=Zl.L,f=Zl.R,p=Zl.A,g=Zl.Q;for(o=0,s=0;o<i;){switch(r=t[o++],s=o,a=0,r){case c:a=1;break;case h:a=1;break;case d:a=3;break;case g:a=2;break;case p:var m=e[4],v=e[5],_=uF(e[0]*e[0]+e[1]*e[1]),S=uF(e[2]*e[2]+e[3]*e[3]),x=tle(-e[1]/S,e[0]/_);t[o]*=_,t[o++]+=m,t[o]*=S,t[o++]+=v,t[o++]*=_,t[o++]*=S,t[o++]+=x,t[o++]+=x,o+=2,s=o;break;case f:u[0]=t[o++],u[1]=t[o++],Kn(u,u,e),t[s++]=u[0],t[s++]=u[1],u[0]+=t[o++],u[1]+=t[o++],Kn(u,u,e),t[s++]=u[0],t[s++]=u[1]}for(l=0;l<a;l++){var A=ele[l];A[0]=t[o++],A[1]=t[o++],Kn(A,A,e),t[s++]=A[0],t[s++]=A[1]}}n.increaseVersion()}}var Fx=Math.sqrt,Up=Math.sin,Gp=Math.cos,oc=Math.PI;function cF(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1])}function LC(n,e){return(n[0]*e[0]+n[1]*e[1])/(cF(n)*cF(e))}function dF(n,e){return(n[0]*e[1]<n[1]*e[0]?-1:1)*Math.acos(LC(n,e))}function hF(n,e,t,i,r,a,o,s,l,u,c){var d=l*(oc/180),h=Gp(d)*(n-t)/2+Up(d)*(e-i)/2,f=-1*Up(d)*(n-t)/2+Gp(d)*(e-i)/2,p=h*h/(o*o)+f*f/(s*s);p>1&&(o*=Fx(p),s*=Fx(p));var g=(r===a?-1:1)*Fx((o*o*(s*s)-o*o*(f*f)-s*s*(h*h))/(o*o*(f*f)+s*s*(h*h)))||0,m=g*o*f/s,v=g*-s*h/o,_=(n+t)/2+Gp(d)*m-Up(d)*v,S=(e+i)/2+Up(d)*m+Gp(d)*v,x=dF([1,0],[(h-m)/o,(f-v)/s]),A=[(h-m)/o,(f-v)/s],C=[(-1*h-m)/o,(-1*f-v)/s],M=dF(A,C);if(LC(A,C)<=-1&&(M=oc),LC(A,C)>=1&&(M=0),M<0){var I=Math.round(M/oc*1e6)/1e6;M=oc*2+I%2*oc}c.addData(u,_,S,o,s,x,M,d,a)}var nle=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,ile=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function rle(n){var e=new ds;if(!n)return e;var t=0,i=0,r=t,a=i,o,s=ds.CMD,l=n.match(nle);if(!l)return e;for(var u=0;u<l.length;u++){for(var c=l[u],d=c.charAt(0),h=void 0,f=c.match(ile)||[],p=f.length,g=0;g<p;g++)f[g]=parseFloat(f[g]);for(var m=0;m<p;){var v=void 0,_=void 0,S=void 0,x=void 0,A=void 0,C=void 0,M=void 0,I=t,D=i,E=void 0,L=void 0;switch(d){case"l":t+=f[m++],i+=f[m++],h=s.L,e.addData(h,t,i);break;case"L":t=f[m++],i=f[m++],h=s.L,e.addData(h,t,i);break;case"m":t+=f[m++],i+=f[m++],h=s.M,e.addData(h,t,i),r=t,a=i,d="l";break;case"M":t=f[m++],i=f[m++],h=s.M,e.addData(h,t,i),r=t,a=i,d="L";break;case"h":t+=f[m++],h=s.L,e.addData(h,t,i);break;case"H":t=f[m++],h=s.L,e.addData(h,t,i);break;case"v":i+=f[m++],h=s.L,e.addData(h,t,i);break;case"V":i=f[m++],h=s.L,e.addData(h,t,i);break;case"C":h=s.C,e.addData(h,f[m++],f[m++],f[m++],f[m++],f[m++],f[m++]),t=f[m-2],i=f[m-1];break;case"c":h=s.C,e.addData(h,f[m++]+t,f[m++]+i,f[m++]+t,f[m++]+i,f[m++]+t,f[m++]+i),t+=f[m-2],i+=f[m-1];break;case"S":v=t,_=i,E=e.len(),L=e.data,o===s.C&&(v+=t-L[E-4],_+=i-L[E-3]),h=s.C,I=f[m++],D=f[m++],t=f[m++],i=f[m++],e.addData(h,v,_,I,D,t,i);break;case"s":v=t,_=i,E=e.len(),L=e.data,o===s.C&&(v+=t-L[E-4],_+=i-L[E-3]),h=s.C,I=t+f[m++],D=i+f[m++],t+=f[m++],i+=f[m++],e.addData(h,v,_,I,D,t,i);break;case"Q":I=f[m++],D=f[m++],t=f[m++],i=f[m++],h=s.Q,e.addData(h,I,D,t,i);break;case"q":I=f[m++]+t,D=f[m++]+i,t+=f[m++],i+=f[m++],h=s.Q,e.addData(h,I,D,t,i);break;case"T":v=t,_=i,E=e.len(),L=e.data,o===s.Q&&(v+=t-L[E-4],_+=i-L[E-3]),t=f[m++],i=f[m++],h=s.Q,e.addData(h,v,_,t,i);break;case"t":v=t,_=i,E=e.len(),L=e.data,o===s.Q&&(v+=t-L[E-4],_+=i-L[E-3]),t+=f[m++],i+=f[m++],h=s.Q,e.addData(h,v,_,t,i);break;case"A":S=f[m++],x=f[m++],A=f[m++],C=f[m++],M=f[m++],I=t,D=i,t=f[m++],i=f[m++],h=s.A,hF(I,D,t,i,C,M,S,x,A,h,e);break;case"a":S=f[m++],x=f[m++],A=f[m++],C=f[m++],M=f[m++],I=t,D=i,t+=f[m++],i+=f[m++],h=s.A,hF(I,D,t,i,C,M,S,x,A,h,e);break}}(d==="z"||d==="Z")&&(h=s.Z,e.addData(h),t=r,i=a),o=h}return e.toStatic(),e}var Fq=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.applyTransform=function(t){},e}(C3);function Oq(n){return n.setData!=null}function Bq(n,e){var t=rle(n),i=L2({},e);return i.buildPath=function(r){if(Oq(r)){r.setData(t.data);var a=r.getContext();a&&r.rebuildPath(a,1)}else{var a=r;t.rebuildPath(a,1)}},i.applyTransform=function(r){kq(t,r),this.dirtyShape()},i}function zq(n,e){return new Fq(Bq(n,e))}function ale(n,e){var t=Bq(n,e),i=function(r){g2(a,r);function a(o){var s=r.call(this,o)||this;return s.applyTransform=t.applyTransform,s.buildPath=t.buildPath,s}return a}(Fq);return i}function ole(n,e){for(var t=[],i=n.length,r=0;r<i;r++){var a=n[r];t.push(a.getUpdatedPathProxy(!0))}var o=new C3(e);return o.createPathProxy(),o.buildPath=function(s){if(Oq(s)){s.appendPath(t);var l=s.getContext();l&&s.rebuildPath(l,1)}},o}function SP(n,e){e=e||{};var t=new C3;return n.shape&&t.setShape(n.shape),t.setStyle(n.style),e.bakeTransform?kq(t.path,n.getComputedTransform()):e.toLocal?t.setLocalTransform(n.getComputedTransform()):t.copyTransform(n),t.buildPath=n.buildPath,t.applyTransform=t.applyTransform,t.z=n.z,t.z2=n.z2,t.zlevel=n.zlevel,t}var sle=function(){function n(){this.cx=0,this.cy=0,this.r=0}return n}(),Uq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new sle},e.prototype.buildPath=function(t,i){t.moveTo(i.cx+i.r,i.cy),t.arc(i.cx,i.cy,i.r,0,Math.PI*2)},e}(C3);Uq.prototype.type="circle";const n9=Uq;var lle=function(){function n(){this.cx=0,this.cy=0,this.rx=0,this.ry=0}return n}(),Gq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new lle},e.prototype.buildPath=function(t,i){var r=.5522848,a=i.cx,o=i.cy,s=i.rx,l=i.ry,u=s*r,c=l*r;t.moveTo(a-s,o),t.bezierCurveTo(a-s,o-c,a-u,o-l,a,o-l),t.bezierCurveTo(a+u,o-l,a+s,o-c,a+s,o),t.bezierCurveTo(a+s,o+c,a+u,o+l,a,o+l),t.bezierCurveTo(a-u,o+l,a-s,o+c,a-s,o),t.closePath()},e}(C3);Gq.prototype.type="ellipse";const bP=Gq;var Vq=Math.PI,Ox=Vq*2,U9=Math.sin,Jl=Math.cos,ule=Math.acos,oi=Math.atan2,fF=Math.abs,bd=Math.sqrt,Kc=Math.max,Po=Math.min,to=1e-4;function cle(n,e,t,i,r,a,o,s){var l=t-n,u=i-e,c=o-r,d=s-a,h=d*l-c*u;if(!(h*h<to))return h=(c*(e-a)-d*(n-r))/h,[n+h*l,e+h*u]}function Vp(n,e,t,i,r,a,o){var s=n-t,l=e-i,u=(o?a:-a)/bd(s*s+l*l),c=u*l,d=-u*s,h=n+c,f=e+d,p=t+c,g=i+d,m=(h+p)/2,v=(f+g)/2,_=p-h,S=g-f,x=_*_+S*S,A=r-a,C=h*g-p*f,M=(S<0?-1:1)*bd(Kc(0,A*A*x-C*C)),I=(C*S-_*M)/x,D=(-C*_-S*M)/x,E=(C*S+_*M)/x,L=(-C*_+S*M)/x,V=I-m,Y=D-v,G=E-m,W=L-v;return V*V+Y*Y>G*G+W*W&&(I=E,D=L),{cx:I,cy:D,x0:-c,y0:-d,x1:I*(r/A-1),y1:D*(r/A-1)}}function dle(n){var e;if(H2(n)){var t=n.length;if(!t)return n;t===1?e=[n[0],n[0],0,0]:t===2?e=[n[0],n[0],n[1],n[1]]:t===3?e=n.concat(n[2]):e=n}else e=[n,n,n,n];return e}function hle(n,e){var t,i=Kc(e.r,0),r=Kc(e.r0||0,0),a=i>0,o=r>0;if(!(!a&&!o)){if(a||(i=r,r=0),r>i){var s=i;i=r,r=s}var l=e.startAngle,u=e.endAngle;if(!(isNaN(l)||isNaN(u))){var c=e.cx,d=e.cy,h=!!e.clockwise,f=fF(u-l),p=f>Ox&&f%Ox;if(p>to&&(f=p),!(i>to))n.moveTo(c,d);else if(f>Ox-to)n.moveTo(c+i*Jl(l),d+i*U9(l)),n.arc(c,d,i,l,u,!h),r>to&&(n.moveTo(c+r*Jl(u),d+r*U9(u)),n.arc(c,d,r,u,l,h));else{var g=void 0,m=void 0,v=void 0,_=void 0,S=void 0,x=void 0,A=void 0,C=void 0,M=void 0,I=void 0,D=void 0,E=void 0,L=void 0,V=void 0,Y=void 0,G=void 0,W=i*Jl(l),q=i*U9(l),ce=r*Jl(u),J=r*U9(u),H=f>to;if(H){var re=e.cornerRadius;re&&(t=dle(re),g=t[0],m=t[1],v=t[2],_=t[3]);var ee=fF(i-r)/2;if(S=Po(ee,v),x=Po(ee,_),A=Po(ee,g),C=Po(ee,m),D=M=Kc(S,x),E=I=Kc(A,C),(M>to||I>to)&&(L=i*Jl(u),V=i*U9(u),Y=r*Jl(l),G=r*U9(l),f<Vq)){var se=cle(W,q,Y,G,L,V,ce,J);if(se){var Be=W-se[0],we=q-se[1],ve=L-se[0],Ke=V-se[1],p2=1/U9(ule((Be*ve+we*Ke)/(bd(Be*Be+we*we)*bd(ve*ve+Ke*Ke)))/2),c2=bd(se[0]*se[0]+se[1]*se[1]);D=Po(M,(i-c2)/(p2+1)),E=Po(I,(r-c2)/(p2-1))}}}if(!H)n.moveTo(c+W,d+q);else if(D>to){var s2=Po(v,D),R2=Po(_,D),w2=Vp(Y,G,W,q,i,s2,h),Re=Vp(L,V,ce,J,i,R2,h);n.moveTo(c+w2.cx+w2.x0,d+w2.cy+w2.y0),D<M&&s2===R2?n.arc(c+w2.cx,d+w2.cy,D,oi(w2.y0,w2.x0),oi(Re.y0,Re.x0),!h):(s2>0&&n.arc(c+w2.cx,d+w2.cy,s2,oi(w2.y0,w2.x0),oi(w2.y1,w2.x1),!h),n.arc(c,d,i,oi(w2.cy+w2.y1,w2.cx+w2.x1),oi(Re.cy+Re.y1,Re.cx+Re.x1),!h),R2>0&&n.arc(c+Re.cx,d+Re.cy,R2,oi(Re.y1,Re.x1),oi(Re.y0,Re.x0),!h))}else n.moveTo(c+W,d+q),n.arc(c,d,i,l,u,!h);if(!(r>to)||!H)n.lineTo(c+ce,d+J);else if(E>to){var s2=Po(g,E),R2=Po(m,E),w2=Vp(ce,J,L,V,r,-R2,h),Re=Vp(W,q,Y,G,r,-s2,h);n.lineTo(c+w2.cx+w2.x0,d+w2.cy+w2.y0),E<I&&s2===R2?n.arc(c+w2.cx,d+w2.cy,E,oi(w2.y0,w2.x0),oi(Re.y0,Re.x0),!h):(R2>0&&n.arc(c+w2.cx,d+w2.cy,R2,oi(w2.y0,w2.x0),oi(w2.y1,w2.x1),!h),n.arc(c,d,r,oi(w2.cy+w2.y1,w2.cx+w2.x1),oi(Re.cy+Re.y1,Re.cx+Re.x1),h),s2>0&&n.arc(c+Re.cx,d+Re.cy,s2,oi(Re.y1,Re.x1),oi(Re.y0,Re.x0),!h))}else n.lineTo(c+ce,d+J),n.arc(c,d,r,u,l,h)}n.closePath()}}}var fle=function(){function n(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return n}(),Hq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new fle},e.prototype.buildPath=function(t,i){hle(t,i)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(C3);Hq.prototype.type="sector";const mr=Hq;var ple=function(){function n(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return n}(),Wq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new ple},e.prototype.buildPath=function(t,i){var r=i.cx,a=i.cy,o=Math.PI*2;t.moveTo(r+i.r,a),t.arc(r,a,i.r,0,o,!1),t.moveTo(r+i.r0,a),t.arc(r,a,i.r0,0,o,!0)},e}(C3);Wq.prototype.type="ring";const P_=Wq;function mle(n,e,t,i){var r=[],a=[],o=[],s=[],l,u,c,d;if(i){c=[1/0,1/0],d=[-1/0,-1/0];for(var h=0,f=n.length;h<f;h++)v5(c,c,n[h]),y5(d,d,n[h]);v5(c,c,i[0]),y5(d,d,i[1])}for(var h=0,f=n.length;h<f;h++){var p=n[h];if(t)l=n[h?h-1:f-1],u=n[(h+1)%f];else if(h===0||h===f-1){r.push(Zs(n[h]));continue}else l=n[h-1],u=n[h+1];x8(a,u,l),Vg(a,a,e);var g=tC(p,l),m=tC(p,u),v=g+m;v!==0&&(g/=v,m/=v),Vg(o,a,-g),Vg(s,a,m);var _=ok([],p,o),S=ok([],p,s);i&&(y5(_,_,c),v5(_,_,d),y5(S,S,c),v5(S,S,d)),r.push(_),r.push(S)}return t&&r.push(r.shift()),r}function jq(n,e,t){var i=e.smooth,r=e.points;if(r&&r.length>=2){if(i){var a=mle(r,i,t,e.smoothConstraint);n.moveTo(r[0][0],r[0][1]);for(var o=r.length,s=0;s<(t?o:o-1);s++){var l=a[s*2],u=a[s*2+1],c=r[(s+1)%o];n.bezierCurveTo(l[0],l[1],u[0],u[1],c[0],c[1])}}else{n.moveTo(r[0][0],r[0][1]);for(var s=1,d=r.length;s<d;s++)n.lineTo(r[s][0],r[s][1])}t&&n.closePath()}}var gle=function(){function n(){this.points=null,this.smooth=0,this.smoothConstraint=null}return n}(),$q=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new gle},e.prototype.buildPath=function(t,i){jq(t,i,!0)},e}(C3);$q.prototype.type="polygon";const gr=$q;var vle=function(){function n(){this.points=null,this.percent=1,this.smooth=0,this.smoothConstraint=null}return n}(),Yq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new vle},e.prototype.buildPath=function(t,i){jq(t,i,!1)},e}(C3);Yq.prototype.type="polyline";const Sr=Yq;var yle={},_le=function(){function n(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1}return n}(),qq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new _le},e.prototype.buildPath=function(t,i){var r,a,o,s;if(this.subPixelOptimize){var l=Sq(yle,i,this.style);r=l.x1,a=l.y1,o=l.x2,s=l.y2}else r=i.x1,a=i.y1,o=i.x2,s=i.y2;var u=i.percent;u!==0&&(t.moveTo(r,a),u<1&&(o=r*(1-u)+o*u,s=a*(1-u)+s*u),t.lineTo(o,s))},e.prototype.pointAt=function(t){var i=this.shape;return[i.x1*(1-t)+i.x2*t,i.y1*(1-t)+i.y2*t]},e}(C3);qq.prototype.type="line";const Fn=qq;var qi=[],Sle=function(){function n(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.percent=1}return n}();function pF(n,e,t){var i=n.cpx2,r=n.cpy2;return i!=null||r!=null?[(t?yk:vn)(n.x1,n.cpx1,n.cpx2,n.x2,e),(t?yk:vn)(n.y1,n.cpy1,n.cpy2,n.y2,e)]:[(t?sC:Dn)(n.x1,n.cpx1,n.x2,e),(t?sC:Dn)(n.y1,n.cpy1,n.y2,e)]}var Xq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new Sle},e.prototype.buildPath=function(t,i){var r=i.x1,a=i.y1,o=i.x2,s=i.y2,l=i.cpx1,u=i.cpy1,c=i.cpx2,d=i.cpy2,h=i.percent;h!==0&&(t.moveTo(r,a),c==null||d==null?(h<1&&(Qd(r,l,o,h,qi),l=qi[1],o=qi[2],Qd(a,u,s,h,qi),u=qi[1],s=qi[2]),t.quadraticCurveTo(l,u,o,s)):(h<1&&(W5(r,l,c,o,h,qi),l=qi[1],c=qi[2],o=qi[3],W5(a,u,d,s,h,qi),u=qi[1],d=qi[2],s=qi[3]),t.bezierCurveTo(l,u,c,d,o,s)))},e.prototype.pointAt=function(t){return pF(this.shape,t,!1)},e.prototype.tangentAt=function(t){var i=pF(this.shape,t,!0);return ou(i,i)},e}(C3);Xq.prototype.type="bezier-curve";const R_=Xq;var ble=function(){function n(){this.cx=0,this.cy=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return n}(),Kq=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new ble},e.prototype.buildPath=function(t,i){var r=i.cx,a=i.cy,o=Math.max(i.r,0),s=i.startAngle,l=i.endAngle,u=i.clockwise,c=Math.cos(s),d=Math.sin(s);t.moveTo(c*o+r,d*o+a),t.arc(r,a,o,s,l,!u)},e}(C3);Kq.prototype.type="arc";const xP=Kq;var xle=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="compound",t}return e.prototype._updatePathDirty=function(){for(var t=this.shape.paths,i=this.shapeChanged(),r=0;r<t.length;r++)i=i||t[r].shapeChanged();i&&this.dirtyShape()},e.prototype.beforeBrush=function(){this._updatePathDirty();for(var t=this.shape.paths||[],i=this.getGlobalScale(),r=0;r<t.length;r++)t[r].path||t[r].createPathProxy(),t[r].path.setScale(i[0],i[1],t[r].segmentIgnoreThreshold)},e.prototype.buildPath=function(t,i){for(var r=i.paths||[],a=0;a<r.length;a++)r[a].buildPath(t,r[a].shape,!0)},e.prototype.afterBrush=function(){for(var t=this.shape.paths||[],i=0;i<t.length;i++)t[i].pathUpdated()},e.prototype.getBoundingRect=function(){return this._updatePathDirty.call(this),C3.prototype.getBoundingRect.call(this)},e}(C3);const wP=xle;var wle=function(){function n(e){this.colorStops=e||[]}return n.prototype.addColorStop=function(e,t){this.colorStops.push({offset:e,color:t})},n}();const Zq=wle;var Tle=function(n){g2(e,n);function e(t,i,r,a,o,s){var l=n.call(this,o)||this;return l.x=t==null?0:t,l.y=i==null?0:i,l.x2=r==null?1:r,l.y2=a==null?0:a,l.type="linear",l.global=s||!1,l}return e}(Zq);const gn=Tle;var Ale=function(n){g2(e,n);function e(t,i,r,a,o){var s=n.call(this,a)||this;return s.x=t==null?.5:t,s.y=i==null?.5:i,s.r=r==null?.5:r,s.type="radial",s.global=o||!1,s}return e}(Zq);const Jq=Ale;var G9=[0,0],V9=[0,0],Hp=new d3,Wp=new d3,Cle=function(){function n(e,t){this._corners=[],this._axes=[],this._origin=[0,0];for(var i=0;i<4;i++)this._corners[i]=new d3;for(var i=0;i<2;i++)this._axes[i]=new d3;e&&this.fromBoundingRect(e,t)}return n.prototype.fromBoundingRect=function(e,t){var i=this._corners,r=this._axes,a=e.x,o=e.y,s=a+e.width,l=o+e.height;if(i[0].set(a,o),i[1].set(s,o),i[2].set(s,l),i[3].set(a,l),t)for(var u=0;u<4;u++)i[u].transform(t);d3.sub(r[0],i[1],i[0]),d3.sub(r[1],i[3],i[0]),r[0].normalize(),r[1].normalize();for(var u=0;u<2;u++)this._origin[u]=r[u].dot(i[0])},n.prototype.intersect=function(e,t){var i=!0,r=!t;return Hp.set(1/0,1/0),Wp.set(0,0),!this._intersectCheckOneSide(this,e,Hp,Wp,r,1)&&(i=!1,r)||!this._intersectCheckOneSide(e,this,Hp,Wp,r,-1)&&(i=!1,r)||r||d3.copy(t,i?Hp:Wp),i},n.prototype._intersectCheckOneSide=function(e,t,i,r,a,o){for(var s=!0,l=0;l<2;l++){var u=this._axes[l];if(this._getProjMinMaxOnAxis(l,e._corners,G9),this._getProjMinMaxOnAxis(l,t._corners,V9),G9[1]<V9[0]||G9[0]>V9[1]){if(s=!1,a)return s;var c=Math.abs(V9[0]-G9[1]),d=Math.abs(G9[0]-V9[1]);Math.min(c,d)>r.len()&&(c<d?d3.scale(r,u,-c*o):d3.scale(r,u,d*o))}else if(i){var c=Math.abs(V9[0]-G9[1]),d=Math.abs(G9[0]-V9[1]);Math.min(c,d)<i.len()&&(c<d?d3.scale(i,u,c*o):d3.scale(i,u,-d*o))}}return s},n.prototype._getProjMinMaxOnAxis=function(e,t,i){for(var r=this._axes[e],a=this._origin,o=t[0].dot(r)+a[e],s=o,l=o,u=1;u<t.length;u++){var c=t[u].dot(r)+a[e];s=Math.min(c,s),l=Math.max(c,l)}i[0]=s,i[1]=l},n}();const Wv=Cle;var Mle=[],Ele=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.notClear=!0,t.incremental=!0,t._displayables=[],t._temporaryDisplayables=[],t._cursor=0,t}return e.prototype.traverse=function(t,i){t.call(i,this)},e.prototype.useStyle=function(){this.style={}},e.prototype.getCursor=function(){return this._cursor},e.prototype.innerAfterBrush=function(){this._cursor=this._displayables.length},e.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.markRedraw(),this.notClear=!1},e.prototype.clearTemporalDisplayables=function(){this._temporaryDisplayables=[]},e.prototype.addDisplayable=function(t,i){i?this._temporaryDisplayables.push(t):this._displayables.push(t),this.markRedraw()},e.prototype.addDisplayables=function(t,i){i=i||!1;for(var r=0;r<t.length;r++)this.addDisplayable(t[r],i)},e.prototype.getDisplayables=function(){return this._displayables},e.prototype.getTemporalDisplayables=function(){return this._temporaryDisplayables},e.prototype.eachPendingDisplayable=function(t){for(var i=this._cursor;i<this._displayables.length;i++)t&&t(this._displayables[i]);for(var i=0;i<this._temporaryDisplayables.length;i++)t&&t(this._temporaryDisplayables[i])},e.prototype.update=function(){this.updateTransform();for(var t=this._cursor;t<this._displayables.length;t++){var i=this._displayables[t];i.parent=this,i.update(),i.parent=null}for(var t=0;t<this._temporaryDisplayables.length;t++){var i=this._temporaryDisplayables[t];i.parent=this,i.update(),i.parent=null}},e.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new h3(1/0,1/0,-1/0,-1/0),i=0;i<this._displayables.length;i++){var r=this._displayables[i],a=r.getBoundingRect().clone();r.needLocalTransform()&&a.applyTransform(r.getLocalTransform(Mle)),t.union(a)}this._rect=t}return this._rect},e.prototype.contain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect();if(a.contain(r[0],r[1]))for(var o=0;o<this._displayables.length;o++){var s=this._displayables[o];if(s.contain(t,i))return!0}return!1},e}(Ba);const Ple=Ele;var Qq=B3();function cu(n,e,t,i,r){var a;if(e&&e.ecModel){var o=e.ecModel.getUpdatePayload();a=o&&o.animation}var s=e&&e.isAnimationEnabled(),l=n==="update";if(s){var u=void 0,c=void 0,d=void 0;i?(u=e3(i.duration,200),c=e3(i.easing,"cubicOut"),d=0):(u=e.getShallow(l?"animationDurationUpdate":"animationDuration"),c=e.getShallow(l?"animationEasingUpdate":"animationEasing"),d=e.getShallow(l?"animationDelayUpdate":"animationDelay")),a&&(a.duration!=null&&(u=a.duration),a.easing!=null&&(c=a.easing),a.delay!=null&&(d=a.delay)),Gt(d)&&(d=d(t,r)),Gt(u)&&(u=u(t));var h={duration:u||0,delay:d,easing:c};return h}else return null}function TP(n,e,t,i,r,a,o){var s=!1,l;Gt(r)?(o=a,a=r,r=null):jt(r)&&(a=r.cb,o=r.during,s=r.isFrom,l=r.removeOpt,r=r.dataIndex);var u=n==="leave";u||e.stopAnimation("leave");var c=cu(n,i,r,u?l||{}:null,i&&i.getAnimationDelayParams?i.getAnimationDelayParams(e,r):null);if(c&&c.duration>0){var d=c.duration,h=c.delay,f=c.easing,p={duration:d,delay:h||0,easing:f,done:a,force:!!a||!!o,setToFinal:!u,scope:n,during:o};s?e.animateFrom(t,p):e.animateTo(t,p)}else e.stopAnimation(),!s&&e.attr(t),o&&o(1),a&&a()}function Q3(n,e,t,i,r,a){TP("update",n,e,t,i,r,a)}function l0(n,e,t,i,r,a){TP("enter",n,e,t,i,r,a)}function p7(n){if(!n.__zr)return!0;for(var e=0;e<n.animators.length;e++){var t=n.animators[e];if(t.scope==="leave")return!0}return!1}function j5(n,e,t,i,r,a){p7(n)||TP("leave",n,e,t,i,r,a)}function mF(n,e,t,i){n.removeTextContent(),n.removeTextGuideLine(),j5(n,{style:{opacity:0}},e,t,i)}function sh(n,e,t){function i(){n.parent&&n.parent.remove(n)}n.isGroup?n.traverse(function(r){r.isGroup||mF(r,e,t,i)}):mF(n,e,t,i)}function go(n){Qq(n).oldStyle=n.style}function Rle(n){return Qq(n).oldStyle}var jv=Math.max,$v=Math.min,IC={};function Lle(n){return C3.extend(n)}var Ile=ale;function Dle(n,e){return Ile(n,e)}function _o(n,e){IC[n]=e}function AP(n){if(IC.hasOwnProperty(n))return IC[n]}function L_(n,e,t,i){var r=zq(n,e);return t&&(i==="center"&&(t=tX(t,r.getBoundingRect())),nX(r,t)),r}function eX(n,e,t){var i=new ti({style:{image:n,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(r){if(t==="center"){var a={width:r.width,height:r.height};i.setStyle(tX(e,a))}}});return i}function tX(n,e){var t=e.width/e.height,i=n.height*t,r;i<=n.width?r=n.height:(i=n.width,r=i/t);var a=n.x+n.width/2,o=n.y+n.height/2;return{x:a-i/2,y:o-r/2,width:i,height:r}}var Aa=ole;function nX(n,e){if(n.applyTransform){var t=n.getBoundingRect(),i=t.calculateTransform(e);n.applyTransform(i)}}function D7(n,e){return Sq(n,n,{lineWidth:e}),n}function Nle(n){return bq(n.shape,n.shape,n.style),n}var Jg=w8;function H8(n,e){for(var t=S_([]);n&&n!==e;)Js(t,n.getLocalTransform(),t),n=n.parent;return t}function fo(n,e,t){return e&&!Si(e)&&(e=Ys.getLocalTransform(e)),t&&(e=su([],e)),Kn([],n,e)}function I_(n,e,t){var i=e[4]===0||e[5]===0||e[0]===0?1:Math.abs(2*e[4]/e[0]),r=e[4]===0||e[5]===0||e[2]===0?1:Math.abs(2*e[4]/e[2]),a=[n==="left"?-i:n==="right"?i:0,n==="top"?-r:n==="bottom"?r:0];return a=fo(a,e,t),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function gF(n){return!n.isGroup}function kle(n){return n.shape!=null}function Qh(n,e,t){if(!n||!e)return;function i(o){var s={};return o.traverse(function(l){gF(l)&&l.anid&&(s[l.anid]=l)}),s}function r(o){var s={x:o.x,y:o.y,rotation:o.rotation};return kle(o)&&(s.shape=L2({},o.shape)),s}var a=i(n);e.traverse(function(o){if(gF(o)&&o.anid){var s=a[o.anid];if(s){var l=r(o);o.attr(r(s)),Q3(o,l,t,Xt(o).dataIndex)}}})}function iX(n,e){return j2(n,function(t){var i=t[0];i=jv(i,e.x),i=$v(i,e.x+e.width);var r=t[1];return r=jv(r,e.y),r=$v(r,e.y+e.height),[i,r]})}function Fle(n,e){var t=jv(n.x,e.x),i=$v(n.x+n.width,e.x+e.width),r=jv(n.y,e.y),a=$v(n.y+n.height,e.y+e.height);if(i>=t&&a>=r)return{x:t,y:r,width:i-t,height:a-r}}function ef(n,e,t){var i=L2({rectHover:!0},e),r=i.style={strokeNoScale:!0};if(t=t||{x:-1,y:-1,width:2,height:2},n)return n.indexOf("image://")===0?(r.image=n.slice(8),Vt(r,t),new ti(i)):L_(n.replace("path://",""),i,t,"center")}function Zc(n,e,t,i,r){for(var a=0,o=r[r.length-1];a<r.length;a++){var s=r[a];if(rX(n,e,t,i,s[0],s[1],o[0],o[1]))return!0;o=s}}function rX(n,e,t,i,r,a,o,s){var l=t-n,u=i-e,c=o-r,d=s-a,h=Bx(c,d,l,u);if(Ole(h))return!1;var f=n-r,p=e-a,g=Bx(f,p,l,u)/h;if(g<0||g>1)return!1;var m=Bx(f,p,c,d)/h;return!(m<0||m>1)}function Bx(n,e,t,i){return n*i-t*e}function Ole(n){return n<=1e-6&&n>=-1e-6}function Sl(n){var e=n.itemTooltipOption,t=n.componentModel,i=n.itemName,r=_t(e)?{formatter:e}:e,a=t.mainType,o=t.componentIndex,s={componentType:a,name:i,$vars:["name"]};s[a+"Index"]=o;var l=n.formatterParamsExtra;l&&ne(E3(l),function(c){xt(s,c)||(s[c]=l[c],s.$vars.push(c))});var u=Xt(n.el);u.componentMainType=a,u.componentIndex=o,u.tooltipConfig={name:i,option:Vt({content:i,encodeHTMLContent:!0,formatterParams:s},r)}}function vF(n,e){var t;n.isGroup&&(t=e(n)),t||n.traverse(e)}function i9(n,e){if(n)if(H2(n))for(var t=0;t<n.length;t++)vF(n[t],e);else vF(n,e)}_o("circle",n9);_o("ellipse",bP);_o("sector",mr);_o("ring",P_);_o("polygon",gr);_o("polyline",Sr);_o("rect",V3);_o("line",Fn);_o("bezierCurve",R_);_o("arc",xP);const bl=Object.freeze(Object.defineProperty({__proto__:null,Arc:xP,BezierCurve:R_,BoundingRect:h3,Circle:n9,CompoundPath:wP,Ellipse:bP,Group:qt,Image:ti,IncrementalDisplayable:Ple,Line:Fn,LinearGradient:gn,OrientedBoundingRect:Wv,Path:C3,Point:d3,Polygon:gr,Polyline:Sr,RadialGradient:Jq,Rect:V3,Ring:P_,Sector:mr,Text:Y3,applyTransform:fo,clipPointsByRect:iX,clipRectByRect:Fle,createIcon:ef,extendPath:Dle,extendShape:Lle,getShapeClass:AP,getTransform:H8,groupTransition:Qh,initProps:l0,isElementRemoved:p7,lineLineIntersect:rX,linePolygonIntersect:Zc,makeImage:eX,makePath:L_,mergePath:Aa,registerShape:_o,removeElement:j5,removeElementWithFadeOut:sh,resizePath:nX,setTooltipConfig:Sl,subPixelOptimize:Jg,subPixelOptimizeLine:D7,subPixelOptimizeRect:Nle,transformDirection:I_,traverseElements:i9,updateProps:Q3},Symbol.toStringTag,{value:"Module"}));var D_={};function aX(n,e){for(var t=0;t<zi.length;t++){var i=zi[t],r=e[i],a=n.ensureState(i);a.style=a.style||{},a.style.text=r}var o=n.currentStates.slice();n.clearStates(!0),n.setStyle({text:e.normal}),n.useStates(o,!0)}function DC(n,e,t){var i=n.labelFetcher,r=n.labelDataIndex,a=n.labelDimIndex,o=e.normal,s;i&&(s=i.getFormattedLabel(r,"normal",null,a,o&&o.get("formatter"),t!=null?{interpolatedValue:t}:null)),s==null&&(s=Gt(n.defaultText)?n.defaultText(r,n,t):n.defaultText);for(var l={normal:s},u=0;u<zi.length;u++){var c=zi[u],d=e[c];l[c]=e3(i?i.getFormattedLabel(r,c,null,a,d&&d.get("formatter")):null,s)}return l}function Qn(n,e,t,i){t=t||D_;for(var r=n instanceof Y3,a=!1,o=0;o<ah.length;o++){var s=e[ah[o]];if(s&&s.getShallow("show")){a=!0;break}}var l=r?n:n.getTextContent();if(a){r||(l||(l=new Y3,n.setTextContent(l)),n.stateProxy&&(l.stateProxy=n.stateProxy));var u=DC(t,e),c=e.normal,d=!!c.getShallow("show"),h=q1(c,i&&i.normal,t,!1,!r);h.text=u.normal,r||n.setTextConfig(Yv(c,t,!1));for(var o=0;o<zi.length;o++){var f=zi[o],s=e[f];if(s){var p=l.ensureState(f),g=!!e3(s.getShallow("show"),d);if(g!==d&&(p.ignore=!g),p.style=q1(s,i&&i[f],t,!0,!r),p.style.text=u[f],!r){var m=n.ensureState(f);m.textConfig=Yv(s,t,!0)}}}l.silent=!!c.getShallow("silent"),l.style.x!=null&&(h.x=l.style.x),l.style.y!=null&&(h.y=l.style.y),l.ignore=!d,l.useStyle(h),l.dirty(),t.enableTextSetter&&(du(l).setLabelText=function(v){var _=DC(t,e,v);aX(l,_)})}else l&&(l.ignore=!0);n.dirty()}function bn(n,e){e=e||"label";for(var t={normal:n.getModel(e)},i=0;i<zi.length;i++){var r=zi[i];t[r]=n.getModel([r,e])}return t}function q1(n,e,t,i,r){var a={};return Ble(a,n,t,i,r),e&&L2(a,e),a}function Yv(n,e,t){e=e||{};var i={},r,a=n.getShallow("rotate"),o=e3(n.getShallow("distance"),t?null:5),s=n.getShallow("offset");return r=n.getShallow("position")||(t?null:"inside"),r==="outside"&&(r=e.defaultOutsidePosition||"top"),r!=null&&(i.position=r),s!=null&&(i.offset=s),a!=null&&(a*=Math.PI/180,i.rotation=a),o!=null&&(i.distance=o),i.outsideFill=n.get("color")==="inherit"?e.inheritColor||null:"auto",i}function Ble(n,e,t,i,r){t=t||D_;var a=e.ecModel,o=a&&a.option.textStyle,s=zle(e),l;if(s){l={};for(var u in s)if(s.hasOwnProperty(u)){var c=e.getModel(["rich",u]);bF(l[u]={},c,o,t,i,r,!1,!0)}}l&&(n.rich=l);var d=e.get("overflow");d&&(n.overflow=d);var h=e.get("minMargin");h!=null&&(n.margin=h),bF(n,e,o,t,i,r,!0,!1)}function zle(n){for(var e;n&&n!==n.ecModel;){var t=(n.option||D_).rich;if(t){e=e||{};for(var i=E3(t),r=0;r<i.length;r++){var a=i[r];e[a]=1}}n=n.parentModel}return e}var yF=["fontStyle","fontWeight","fontSize","fontFamily","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY"],_F=["align","lineHeight","width","height","tag","verticalAlign","ellipsis"],SF=["padding","borderWidth","borderRadius","borderDashOffset","backgroundColor","borderColor","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];function bF(n,e,t,i,r,a,o,s){t=!r&&t||D_;var l=i&&i.inheritColor,u=e.getShallow("color"),c=e.getShallow("textBorderColor"),d=e3(e.getShallow("opacity"),t.opacity);(u==="inherit"||u==="auto")&&(l?u=l:u=null),(c==="inherit"||c==="auto")&&(l?c=l:c=null),a||(u=u||t.color,c=c||t.textBorderColor),u!=null&&(n.fill=u),c!=null&&(n.stroke=c);var h=e3(e.getShallow("textBorderWidth"),t.textBorderWidth);h!=null&&(n.lineWidth=h);var f=e3(e.getShallow("textBorderType"),t.textBorderType);f!=null&&(n.lineDash=f);var p=e3(e.getShallow("textBorderDashOffset"),t.textBorderDashOffset);p!=null&&(n.lineDashOffset=p),!r&&d==null&&!s&&(d=i&&i.defaultOpacity),d!=null&&(n.opacity=d),!r&&!a&&n.fill==null&&i.inheritColor&&(n.fill=i.inheritColor);for(var g=0;g<yF.length;g++){var m=yF[g],v=e3(e.getShallow(m),t[m]);v!=null&&(n[m]=v)}for(var g=0;g<_F.length;g++){var m=_F[g],v=e.getShallow(m);v!=null&&(n[m]=v)}if(n.verticalAlign==null){var _=e.getShallow("baseline");_!=null&&(n.verticalAlign=_)}if(!o||!i.disableBox){for(var g=0;g<SF.length;g++){var m=SF[g],v=e.getShallow(m);v!=null&&(n[m]=v)}var S=e.getShallow("borderType");S!=null&&(n.borderDash=S),(n.backgroundColor==="auto"||n.backgroundColor==="inherit")&&l&&(n.backgroundColor=l),(n.borderColor==="auto"||n.borderColor==="inherit")&&l&&(n.borderColor=l)}}function CP(n,e){var t=e&&e.getModel("textStyle");return lo([n.fontStyle||t&&t.getShallow("fontStyle")||"",n.fontWeight||t&&t.getShallow("fontWeight")||"",(n.fontSize||t&&t.getShallow("fontSize")||12)+"px",n.fontFamily||t&&t.getShallow("fontFamily")||"sans-serif"].join(" "))}var du=B3();function oX(n,e,t,i){if(n){var r=du(n);r.prevValue=r.value,r.value=t;var a=e.normal;r.valueAnimation=a.get("valueAnimation"),r.valueAnimation&&(r.precision=a.get("precision"),r.defaultInterpolatedText=i,r.statesModels=e)}}function sX(n,e,t,i,r){var a=du(n);if(!a.valueAnimation||a.prevValue===a.value)return;var o=a.defaultInterpolatedText,s=e3(a.interpolatedValue,a.prevValue),l=a.value;function u(c){var d=cq(t,a.precision,s,l,c);a.interpolatedValue=c===1?null:d;var h=DC({labelDataIndex:e,labelFetcher:r,defaultText:o?o(d):d+""},a.statesModels,d);aX(n,h)}n.percent=0,(a.prevValue==null?l0:Q3)(n,{percent:1},i,e,null,u)}var Ule=["textStyle","color"],zx=["fontStyle","fontWeight","fontSize","fontFamily","padding","lineHeight","rich","width","height","overflow"],Ux=new Y3,Gle=function(){function n(){}return n.prototype.getTextColor=function(e){var t=this.ecModel;return this.getShallow("color")||(!e&&t?t.get(Ule):null)},n.prototype.getFont=function(){return CP({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},n.prototype.getTextRect=function(e){for(var t={text:e,verticalAlign:this.getShallow("verticalAlign")||this.getShallow("baseline")},i=0;i<zx.length;i++)t[zx[i]]=this.getShallow(zx[i]);return Ux.useStyle(t),Ux.update(),Ux.getBoundingRect()},n}();const Vle=Gle;var lX=[["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","type"],["lineDashOffset","dashOffset"],["lineCap","cap"],["lineJoin","join"],["miterLimit"]],Hle=rl(lX),Wle=function(){function n(){}return n.prototype.getLineStyle=function(e){return Hle(this,e)},n}(),uX=[["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","borderType"],["lineDashOffset","borderDashOffset"],["lineCap","borderCap"],["lineJoin","borderJoin"],["miterLimit","borderMiterLimit"]],jle=rl(uX),$le=function(){function n(){}return n.prototype.getItemStyle=function(e,t){return jle(this,e,t)},n}(),xl=function(){function n(e,t,i){this.parentModel=t,this.ecModel=i,this.option=e}return n.prototype.init=function(e,t,i){},n.prototype.mergeOption=function(e,t){l3(this.option,e,!0)},n.prototype.get=function(e,t){return e==null?this.option:this._doGet(this.parsePath(e),!t&&this.parentModel)},n.prototype.getShallow=function(e,t){var i=this.option,r=i==null?i:i[e];if(r==null&&!t){var a=this.parentModel;a&&(r=a.getShallow(e))}return r},n.prototype.getModel=function(e,t){var i=e!=null,r=i?this.parsePath(e):null,a=i?this._doGet(r):this.option;return t=t||this.parentModel&&this.parentModel.getModel(this.resolveParentPath(r)),new n(a,t,this.ecModel)},n.prototype.isEmpty=function(){return this.option==null},n.prototype.restoreData=function(){},n.prototype.clone=function(){var e=this.constructor;return new e($t(this.option))},n.prototype.parsePath=function(e){return typeof e=="string"?e.split("."):e},n.prototype.resolveParentPath=function(e){return e},n.prototype.isAnimationEnabled=function(){if(!$3.node&&this.option){if(this.option.animation!=null)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}},n.prototype._doGet=function(e,t){var i=this.option;if(!e)return i;for(var r=0;r<e.length&&!(e[r]&&(i=i&&typeof i=="object"?i[e[r]]:null,i==null));r++);return i==null&&t&&(i=t._doGet(this.resolveParentPath(e),t.parentModel)),i},n}();hP(xl);$9e(xl);en(xl,Wle);en(xl,$le);en(xl,Z9e);en(xl,Vle);const X1=xl;var Yle=Math.round(Math.random()*10);function hu(n){return[n||"",Yle++].join("_")}function qle(n){var e={};n.registerSubTypeDefaulter=function(t,i){var r=Zo(t);e[r.main]=i},n.determineSubType=function(t,i){var r=i.type;if(!r){var a=Zo(t).main;n.hasSubTypes(t)&&e[a]&&(r=e[a](i))}return r}}function Xle(n,e){n.topologicalTravel=function(a,o,s,l){if(!a.length)return;var u=t(o),c=u.graph,d=u.noEntryList,h={};for(ne(a,function(_){h[_]=!0});d.length;){var f=d.pop(),p=c[f],g=!!h[f];g&&(s.call(l,f,p.originalDeps.slice()),delete h[f]),ne(p.successor,g?v:m)}ne(h,function(){var _="";throw new Error(_)});function m(_){c[_].entryCount--,c[_].entryCount===0&&d.push(_)}function v(_){h[_]=!0,m(_)}};function t(a){var o={},s=[];return ne(a,function(l){var u=i(o,l),c=u.originalDeps=e(l),d=r(c,a);u.entryCount=d.length,u.entryCount===0&&s.push(l),ne(d,function(h){_3(u.predecessor,h)<0&&u.predecessor.push(h);var f=i(o,h);_3(f.successor,h)<0&&f.successor.push(l)})}),{graph:o,noEntryList:s}}function i(a,o){return a[o]||(a[o]={predecessor:[],successor:[]}),a[o]}function r(a,o){var s=[];return ne(a,function(l){_3(o,l)>=0&&s.push(l)}),s}}function r9(n,e){return l3(l3({},n,!0),e,!0)}const Kle={time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst",custom:"Custom chart",chart:"Chart"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}},Zle={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var qv="ZH",MP="EN",m7=MP,Qg={},EP={},cX=$3.domSupported?function(){var n=(document.documentElement.lang||navigator.language||navigator.browserLanguage||m7).toUpperCase();return n.indexOf(qv)>-1?qv:m7}():m7;function dX(n,e){n=n.toUpperCase(),EP[n]=new X1(e),Qg[n]=e}function Jle(n){if(_t(n)){var e=Qg[n.toUpperCase()]||{};return n===qv||n===MP?$t(e):l3($t(e),$t(Qg[m7]),!1)}else return l3($t(n),$t(Qg[m7]),!1)}function NC(n){return EP[n]}function Qle(){return EP[m7]}dX(MP,Kle);dX(qv,Zle);var PP=1e3,RP=PP*60,xd=RP*60,Ca=xd*24,xF=Ca*365,Jc={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},jp="{yyyy}-{MM}-{dd}",wF={year:"{yyyy}",month:"{yyyy}-{MM}",day:jp,hour:jp+" "+Jc.hour,minute:jp+" "+Jc.minute,second:jp+" "+Jc.second,millisecond:Jc.none},Gx=["year","month","day","hour","minute","second","millisecond"],hX=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function G6(n,e){return n+="","0000".substr(0,e-n.length)+n}function g7(n){switch(n){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return n}}function e4e(n){return n===g7(n)}function t4e(n){switch(n){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function N_(n,e,t,i){var r=cs(n),a=r[LP(t)](),o=r[v7(t)]()+1,s=Math.floor((o-1)/3)+1,l=r[k_(t)](),u=r["get"+(t?"UTC":"")+"Day"](),c=r[lh(t)](),d=(c-1)%12+1,h=r[F_(t)](),f=r[O_(t)](),p=r[B_(t)](),g=c>=12?"pm":"am",m=g.toUpperCase(),v=i instanceof X1?i:NC(i||cX)||Qle(),_=v.getModel("time"),S=_.get("month"),x=_.get("monthAbbr"),A=_.get("dayOfWeek"),C=_.get("dayOfWeekAbbr");return(e||"").replace(/{a}/g,g+"").replace(/{A}/g,m+"").replace(/{yyyy}/g,a+"").replace(/{yy}/g,G6(a%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,S[o-1]).replace(/{MMM}/g,x[o-1]).replace(/{MM}/g,G6(o,2)).replace(/{M}/g,o+"").replace(/{dd}/g,G6(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,A[u]).replace(/{ee}/g,C[u]).replace(/{e}/g,u+"").replace(/{HH}/g,G6(c,2)).replace(/{H}/g,c+"").replace(/{hh}/g,G6(d+"",2)).replace(/{h}/g,d+"").replace(/{mm}/g,G6(h,2)).replace(/{m}/g,h+"").replace(/{ss}/g,G6(f,2)).replace(/{s}/g,f+"").replace(/{SSS}/g,G6(p,3)).replace(/{S}/g,p+"")}function n4e(n,e,t,i,r){var a=null;if(_t(t))a=t;else if(Gt(t))a=t(n.value,e,{level:n.level});else{var o=L2({},Jc);if(n.level>0)for(var s=0;s<Gx.length;++s)o[Gx[s]]="{primary|"+o[Gx[s]]+"}";var l=t?t.inherit===!1?t:Vt(t,o):o,u=fX(n.value,r);if(l[u])a=l[u];else if(l.inherit){for(var c=hX.indexOf(u),s=c-1;s>=0;--s)if(l[u]){a=l[u];break}a=a||o.none}if(H2(a)){var d=n.level==null?0:n.level>=0?n.level:a.length+n.level;d=Math.min(d,a.length-1),a=a[d]}}return N_(new Date(n.value),a,r,i)}function fX(n,e){var t=cs(n),i=t[v7(e)]()+1,r=t[k_(e)](),a=t[lh(e)](),o=t[F_(e)](),s=t[O_(e)](),l=t[B_(e)](),u=l===0,c=u&&s===0,d=c&&o===0,h=d&&a===0,f=h&&r===1,p=f&&i===1;return p?"year":f?"month":h?"day":d?"hour":c?"minute":u?"second":"millisecond"}function TF(n,e,t){var i=q3(n)?cs(n):n;switch(e=e||fX(n,t),e){case"year":return i[LP(t)]();case"half-year":return i[v7(t)]()>=6?1:0;case"quarter":return Math.floor((i[v7(t)]()+1)/4);case"month":return i[v7(t)]();case"day":return i[k_(t)]();case"half-day":return i[lh(t)]()/24;case"hour":return i[lh(t)]();case"minute":return i[F_(t)]();case"second":return i[O_(t)]();case"millisecond":return i[B_(t)]()}}function LP(n){return n?"getUTCFullYear":"getFullYear"}function v7(n){return n?"getUTCMonth":"getMonth"}function k_(n){return n?"getUTCDate":"getDate"}function lh(n){return n?"getUTCHours":"getHours"}function F_(n){return n?"getUTCMinutes":"getMinutes"}function O_(n){return n?"getUTCSeconds":"getSeconds"}function B_(n){return n?"getUTCMilliseconds":"getMilliseconds"}function i4e(n){return n?"setUTCFullYear":"setFullYear"}function pX(n){return n?"setUTCMonth":"setMonth"}function mX(n){return n?"setUTCDate":"setDate"}function gX(n){return n?"setUTCHours":"setHours"}function vX(n){return n?"setUTCMinutes":"setMinutes"}function yX(n){return n?"setUTCSeconds":"setSeconds"}function _X(n){return n?"setUTCMilliseconds":"setMilliseconds"}function SX(n){if(!nq(n))return _t(n)?n:"-";var e=(n+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function bX(n,e){return n=(n||"").toLowerCase().replace(/-(.)/g,function(t,i){return i.toUpperCase()}),e&&n&&(n=n.charAt(0).toUpperCase()+n.slice(1)),n}var fu=tP;function kC(n,e,t){var i="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function r(c){return c&&lo(c)?c:"-"}function a(c){return!!(c!=null&&!isNaN(c)&&isFinite(c))}var o=e==="time",s=n instanceof Date;if(o||s){var l=o?cs(n):n;if(isNaN(+l)){if(s)return"-"}else return N_(l,i,t)}if(e==="ordinal")return JA(n)?r(n):q3(n)&&a(n)?n+"":"-";var u=a6(n);return a(u)?SX(u):JA(n)?r(n):typeof n=="boolean"?n+"":"-"}var AF=["a","b","c","d","e","f","g"],Vx=function(n,e){return"{"+n+(e==null?"":e)+"}"};function xX(n,e,t){H2(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],a=0;a<r.length;a++){var o=AF[a];n=n.replace(Vx(o),Vx(o,0))}for(var s=0;s<i;s++)for(var l=0;l<r.length;l++){var u=e[s][r[l]];n=n.replace(Vx(AF[l],s),t?mi(u):u)}return n}function r4e(n,e,t){return ne(e,function(i,r){n=n.replace("{"+r+"}",t?mi(i):i)}),n}function a4e(n,e){var t=_t(n)?{color:n,extraCssText:e}:n||{},i=t.color,r=t.type;e=t.extraCssText;var a=t.renderMode||"html";if(!i)return"";if(a==="html")return r==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+mi(i)+";"+(e||"")+'"></span>':'<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:'+mi(i)+";"+(e||"")+'"></span>';var o=t.markerId||"markerX";return{renderMode:a,content:"{"+o+"|} ",style:r==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}}function ol(n,e){return e=e||"transparent",_t(n)?n:jt(n)&&n.colorStops&&(n.colorStops[0]||{}).color||e}function Xv(n,e){if(e==="_blank"||e==="blank"){var t=window.open();t.opener=null,t.location.href=n}else window.open(n,e)}var ev=ne,wX=["left","right","top","bottom","width","height"],A8=[["width","left","right"],["height","top","bottom"]];function IP(n,e,t,i,r){var a=0,o=0;i==null&&(i=1/0),r==null&&(r=1/0);var s=0;e.eachChild(function(l,u){var c=l.getBoundingRect(),d=e.childAt(u+1),h=d&&d.getBoundingRect(),f,p;if(n==="horizontal"){var g=c.width+(h?-h.x+c.x:0);f=a+g,f>i||l.newline?(a=0,f=g,o+=s+t,s=c.height):s=Math.max(s,c.height)}else{var m=c.height+(h?-h.y+c.y:0);p=o+m,p>r||l.newline?(a+=s+t,o=0,p=m,s=c.width):s=Math.max(s,c.width)}l.newline||(l.x=a,l.y=o,l.markRedraw(),n==="horizontal"?a=f+t:o=p+t)})}var W8=IP;r3(IP,"vertical");r3(IP,"horizontal");function o4e(n,e,t){var i=e.width,r=e.height,a=ft(n.left,i),o=ft(n.top,r),s=ft(n.right,i),l=ft(n.bottom,r);return(isNaN(a)||isNaN(parseFloat(n.left)))&&(a=0),(isNaN(s)||isNaN(parseFloat(n.right)))&&(s=i),(isNaN(o)||isNaN(parseFloat(n.top)))&&(o=0),(isNaN(l)||isNaN(parseFloat(n.bottom)))&&(l=r),t=fu(t||0),{width:Math.max(s-a-t[1]-t[3],0),height:Math.max(l-o-t[0]-t[2],0)}}function hn(n,e,t){t=fu(t||0);var i=e.width,r=e.height,a=ft(n.left,i),o=ft(n.top,r),s=ft(n.right,i),l=ft(n.bottom,r),u=ft(n.width,i),c=ft(n.height,r),d=t[2]+t[0],h=t[1]+t[3],f=n.aspect;switch(isNaN(u)&&(u=i-s-h-a),isNaN(c)&&(c=r-l-d-o),f!=null&&(isNaN(u)&&isNaN(c)&&(f>i/r?u=i*.8:c=r*.8),isNaN(u)&&(u=f*c),isNaN(c)&&(c=u/f)),isNaN(a)&&(a=i-s-u-h),isNaN(o)&&(o=r-l-c-d),n.left||n.right){case"center":a=i/2-u/2-t[3];break;case"right":a=i-u-h;break}switch(n.top||n.bottom){case"middle":case"center":o=r/2-c/2-t[0];break;case"bottom":o=r-c-d;break}a=a||0,o=o||0,isNaN(u)&&(u=i-h-a-(s||0)),isNaN(c)&&(c=r-d-o-(l||0));var p=new h3(a+t[3],o+t[0],u,c);return p.margin=t,p}function z_(n,e,t,i,r,a){var o=!r||!r.hv||r.hv[0],s=!r||!r.hv||r.hv[1],l=r&&r.boundingMode||"all";if(a=a||n,a.x=n.x,a.y=n.y,!o&&!s)return!1;var u;if(l==="raw")u=n.type==="group"?new h3(0,0,+e.width||0,+e.height||0):n.getBoundingRect();else if(u=n.getBoundingRect(),n.needLocalTransform()){var c=n.getLocalTransform();u=u.clone(),u.applyTransform(c)}var d=hn(Vt({width:u.width,height:u.height},e),t,i),h=o?d.x-u.x:0,f=s?d.y-u.y:0;return l==="raw"?(a.x=h,a.y=f):(a.x+=h,a.y+=f),a===n&&n.markRedraw(),!0}function s4e(n,e){return n[A8[e][0]]!=null||n[A8[e][1]]!=null&&n[A8[e][2]]!=null}function uh(n){var e=n.layoutMode||n.constructor.layoutMode;return jt(e)?e:e?{type:e}:null}function $5(n,e,t){var i=t&&t.ignoreSize;!H2(i)&&(i=[i,i]);var r=o(A8[0],0),a=o(A8[1],1);u(A8[0],n,r),u(A8[1],n,a);function o(c,d){var h={},f=0,p={},g=0,m=2;if(ev(c,function(S){p[S]=n[S]}),ev(c,function(S){s(e,S)&&(h[S]=p[S]=e[S]),l(h,S)&&f++,l(p,S)&&g++}),i[d])return l(e,c[1])?p[c[2]]=null:l(e,c[2])&&(p[c[1]]=null),p;if(g===m||!f)return p;if(f>=m)return h;for(var v=0;v<c.length;v++){var _=c[v];if(!s(h,_)&&s(n,_)){h[_]=n[_];break}}return h}function s(c,d){return c.hasOwnProperty(d)}function l(c,d){return c[d]!=null&&c[d]!=="auto"}function u(c,d,h){ev(c,function(f){d[f]=h[f]})}}function pu(n){return TX({},n)}function TX(n,e){return e&&n&&ev(wX,function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n}var l4e=B3(),mu=function(n){g2(e,n);function e(t,i,r){var a=n.call(this,t,i,r)||this;return a.uid=hu("ec_cpt_model"),a}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r)},e.prototype.mergeDefaultAndTheme=function(t,i){var r=uh(this),a=r?pu(t):{},o=i.getTheme();l3(t,o.get(this.mainType)),l3(t,this.getDefaultOption()),r&&$5(t,a,r)},e.prototype.mergeOption=function(t,i){l3(this.option,t,!0);var r=uh(this);r&&$5(this.option,t,r)},e.prototype.optionUpdated=function(t,i){},e.prototype.getDefaultOption=function(){var t=this.constructor;if(!H9e(t))return t.defaultOption;var i=l4e(this);if(!i.defaultOption){for(var r=[],a=t;a;){var o=a.prototype.defaultOption;o&&r.push(o),a=a.superClass}for(var s={},l=r.length-1;l>=0;l--)s=l3(s,r[l],!0);i.defaultOption=s}return i.defaultOption},e.prototype.getReferringComponents=function(t,i){var r=t+"Index",a=t+"Id";return Zh(this.ecModel,t,{index:this.get(r,!0),id:this.get(a,!0)},i)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}(X1);hq(mu,X1);w_(mu);qle(mu);Xle(mu,u4e);function u4e(n){var e=[];return ne(mu.getClassesByMainType(n),function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])}),e=j2(e,function(t){return Zo(t).main}),n!=="dataset"&&_3(e,"dataset")<=0&&e.unshift("dataset"),e}const j3=mu;var AX="";typeof navigator!="undefined"&&(AX=navigator.platform||"");var Ql="rgba(0, 0, 0, 0.2)";const c4e={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:Ql,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:Ql,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:Ql,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:Ql,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:Ql,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:Ql,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:AX.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};var CX=Ct(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),Ga="original",bi="arrayRows",Va="objectRows",fs="keyedColumns",I5="typedArray",MX="unknown",ts="column",gu="row",Yn={Must:1,Might:2,Not:3},EX=B3();function d4e(n){EX(n).datasetMap=Ct()}function PX(n,e,t){var i={},r=NP(e);if(!r||!n)return i;var a=[],o=[],s=e.ecModel,l=EX(s).datasetMap,u=r.uid+"_"+t.seriesLayoutBy,c,d;n=n.slice(),ne(n,function(g,m){var v=jt(g)?g:n[m]={name:g};v.type==="ordinal"&&c==null&&(c=m,d=p(v)),i[v.name]=[]});var h=l.get(u)||l.set(u,{categoryWayDim:d,valueWayDim:0});ne(n,function(g,m){var v=g.name,_=p(g);if(c==null){var S=h.valueWayDim;f(i[v],S,_),f(o,S,_),h.valueWayDim+=_}else if(c===m)f(i[v],0,_),f(a,0,_);else{var S=h.categoryWayDim;f(i[v],S,_),f(o,S,_),h.categoryWayDim+=_}});function f(g,m,v){for(var _=0;_<v;_++)g.push(m+_)}function p(g){var m=g.dimsDef;return m?m.length:1}return a.length&&(i.itemName=a),o.length&&(i.seriesName=o),i}function DP(n,e,t){var i={},r=NP(n);if(!r)return i;var a=e.sourceFormat,o=e.dimensionsDefine,s;(a===Va||a===fs)&&ne(o,function(c,d){(jt(c)?c.name:c)==="name"&&(s=d)});var l=function(){for(var c={},d={},h=[],f=0,p=Math.min(5,t);f<p;f++){var g=LX(e.data,a,e.seriesLayoutBy,o,e.startIndex,f);h.push(g);var m=g===Yn.Not;if(m&&c.v==null&&f!==s&&(c.v=f),(c.n==null||c.n===c.v||!m&&h[c.n]===Yn.Not)&&(c.n=f),v(c)&&h[c.n]!==Yn.Not)return c;m||(g===Yn.Might&&d.v==null&&f!==s&&(d.v=f),(d.n==null||d.n===d.v)&&(d.n=f))}function v(_){return _.v!=null&&_.n!=null}return v(c)?c:v(d)?d:null}();if(l){i.value=[l.v];var u=s!=null?s:l.n;i.itemName=[u],i.seriesName=[u]}return i}function NP(n){var e=n.get("data",!0);if(!e)return Zh(n.ecModel,"dataset",{index:n.get("datasetIndex",!0),id:n.get("datasetId",!0)},Z0).models[0]}function h4e(n){return!n.get("transform",!0)&&!n.get("fromTransformResult",!0)?[]:Zh(n.ecModel,"dataset",{index:n.get("fromDatasetIndex",!0),id:n.get("fromDatasetId",!0)},Z0).models}function RX(n,e){return LX(n.data,n.sourceFormat,n.seriesLayoutBy,n.dimensionsDefine,n.startIndex,e)}function LX(n,e,t,i,r,a){var o,s=5;if(pr(n))return Yn.Not;var l,u;if(i){var c=i[a];jt(c)?(l=c.name,u=c.type):_t(c)&&(l=c)}if(u!=null)return u==="ordinal"?Yn.Must:Yn.Not;if(e===bi){var d=n;if(t===gu){for(var h=d[a],f=0;f<(h||[]).length&&f<s;f++)if((o=x(h[r+f]))!=null)return o}else for(var f=0;f<d.length&&f<s;f++){var p=d[r+f];if(p&&(o=x(p[a]))!=null)return o}}else if(e===Va){var g=n;if(!l)return Yn.Not;for(var f=0;f<g.length&&f<s;f++){var m=g[f];if(m&&(o=x(m[l]))!=null)return o}}else if(e===fs){var v=n;if(!l)return Yn.Not;var h=v[l];if(!h||pr(h))return Yn.Not;for(var f=0;f<h.length&&f<s;f++)if((o=x(h[f]))!=null)return o}else if(e===Ga)for(var _=n,f=0;f<_.length&&f<s;f++){var m=_[f],S=lu(m);if(!H2(S))return Yn.Not;if((o=x(S[a]))!=null)return o}function x(A){var C=_t(A);if(A!=null&&Number.isFinite(Number(A))&&A!=="")return C?Yn.Might:Yn.Not;if(C&&A!=="-")return Yn.Must}return Yn.Not}var FC=Ct();function f4e(n,e){Bi(FC.get(n)==null&&e),FC.set(n,e)}function p4e(n,e,t){var i=FC.get(e);if(!i)return t;var r=i(n);return r?t.concat(r):t}var CF=B3(),m4e=B3(),kP=function(){function n(){}return n.prototype.getColorFromPalette=function(e,t,i){var r=A1(this.get("color",!0)),a=this.get("colorLayer",!0);return IX(this,CF,r,a,e,t,i)},n.prototype.clearColorPalette=function(){v4e(this,CF)},n}();function OC(n,e,t,i){var r=A1(n.get(["aria","decal","decals"]));return IX(n,m4e,r,null,e,t,i)}function g4e(n,e){for(var t=n.length,i=0;i<t;i++)if(n[i].length>e)return n[i];return n[t-1]}function IX(n,e,t,i,r,a,o){a=a||n;var s=e(a),l=s.paletteIdx||0,u=s.paletteNameMap=s.paletteNameMap||{};if(u.hasOwnProperty(r))return u[r];var c=o==null||!i?t:g4e(i,o);if(c=c||t,!(!c||!c.length)){var d=c[l];return r&&(u[r]=d),s.paletteIdx=(l+1)%c.length,d}}function v4e(n,e){e(n).paletteIdx=0,e(n).paletteNameMap={}}var $p,sc,MF,EF="\0_ec_inner",y4e=1,DX=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.init=function(t,i,r,a,o,s){a=a||{},this.option=null,this._theme=new X1(a),this._locale=new X1(o),this._optionManager=s},e.prototype.setOption=function(t,i,r){var a=LF(i);this._optionManager.setOption(t,r,a),this._resetOption(null,a)},e.prototype.resetOption=function(t,i){return this._resetOption(t,LF(i))},e.prototype._resetOption=function(t,i){var r=!1,a=this._optionManager;if(!t||t==="recreate"){var o=a.mountOption(t==="recreate");!this.option||t==="recreate"?MF(this,o):(this.restoreData(),this._mergeOption(o,i)),r=!0}if((t==="timeline"||t==="media")&&this.restoreData(),!t||t==="recreate"||t==="timeline"){var s=a.getTimelineOption(this);s&&(r=!0,this._mergeOption(s,i))}if(!t||t==="recreate"||t==="media"){var l=a.getMediaOption(this);l.length&&ne(l,function(u){r=!0,this._mergeOption(u,i)},this)}return r},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,i){var r=this.option,a=this._componentsMap,o=this._componentsCount,s=[],l=Ct(),u=i&&i.replaceMergeMainTypeMap;d4e(this),ne(t,function(d,h){d!=null&&(j3.hasClass(h)?h&&(s.push(h),l.set(h,!0)):r[h]=r[h]==null?$t(d):l3(r[h],d,!0))}),u&&u.each(function(d,h){j3.hasClass(h)&&!l.get(h)&&(s.push(h),l.set(h,!0))}),j3.topologicalTravel(s,j3.getAllClassMainTypes(),c,this);function c(d){var h=p4e(this,d,A1(t[d])),f=a.get(d),p=f?u&&u.get(d)?"replaceMerge":"normalMerge":"replaceAll",g=sq(f,h,p);N9e(g,d,j3),r[d]=null,a.set(d,null),o.set(d,0);var m=[],v=[],_=0,S;ne(g,function(x,A){var C=x.existing,M=x.newOption;if(!M)C&&(C.mergeOption({},this),C.optionUpdated({},!1));else{var I=d==="series",D=j3.getClass(d,x.keyInfo.subType,!I);if(!D)return;if(d==="tooltip"){if(S)return;S=!0}if(C&&C.constructor===D)C.name=x.keyInfo.name,C.mergeOption(M,this),C.optionUpdated(M,!1);else{var E=L2({componentIndex:A},x.keyInfo);C=new D(M,this,this,E),L2(C,E),x.brandNew&&(C.__requireNewView=!0),C.init(M,this,this),C.optionUpdated(null,!0)}}C?(m.push(C.option),v.push(C),_++):(m.push(void 0),v.push(void 0))},this),r[d]=m,a.set(d,v),o.set(d,_),d==="series"&&$p(this)}this._seriesIndices||$p(this)},e.prototype.getOption=function(){var t=$t(this.option);return ne(t,function(i,r){if(j3.hasClass(r)){for(var a=A1(i),o=a.length,s=!1,l=o-1;l>=0;l--)a[l]&&!ih(a[l])?s=!0:(a[l]=null,!s&&o--);a.length=o,t[r]=a}}),delete t[EF],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,i){var r=this._componentsMap.get(t);if(r){var a=r[i||0];if(a)return a;if(i==null){for(var o=0;o<r.length;o++)if(r[o])return r[o]}}},e.prototype.queryComponents=function(t){var i=t.mainType;if(!i)return[];var r=t.index,a=t.id,o=t.name,s=this._componentsMap.get(i);if(!s||!s.length)return[];var l;return r!=null?(l=[],ne(A1(r),function(u){s[u]&&l.push(s[u])})):a!=null?l=PF("id",a,s):o!=null?l=PF("name",o,s):l=c1(s,function(u){return!!u}),RF(l,t)},e.prototype.findComponents=function(t){var i=t.query,r=t.mainType,a=s(i),o=a?this.queryComponents(a):c1(this._componentsMap.get(r),function(u){return!!u});return l(RF(o,t));function s(u){var c=r+"Index",d=r+"Id",h=r+"Name";return u&&(u[c]!=null||u[d]!=null||u[h]!=null)?{mainType:r,index:u[c],id:u[d],name:u[h]}:null}function l(u){return t.filter?c1(u,t.filter):u}},e.prototype.eachComponent=function(t,i,r){var a=this._componentsMap;if(Gt(t)){var o=i,s=t;a.each(function(d,h){for(var f=0;d&&f<d.length;f++){var p=d[f];p&&s.call(o,h,p,p.componentIndex)}})}else for(var l=_t(t)?a.get(t):jt(t)?this.findComponents(t):null,u=0;l&&u<l.length;u++){var c=l[u];c&&i.call(r,c,c.componentIndex)}},e.prototype.getSeriesByName=function(t){var i=dn(t,null);return c1(this._componentsMap.get("series"),function(r){return!!r&&i!=null&&r.name===i})},e.prototype.getSeriesByIndex=function(t){return this._componentsMap.get("series")[t]},e.prototype.getSeriesByType=function(t){return c1(this._componentsMap.get("series"),function(i){return!!i&&i.subType===t})},e.prototype.getSeries=function(){return c1(this._componentsMap.get("series"),function(t){return!!t})},e.prototype.getSeriesCount=function(){return this._componentsCount.get("series")},e.prototype.eachSeries=function(t,i){sc(this),ne(this._seriesIndices,function(r){var a=this._componentsMap.get("series")[r];t.call(i,a,r)},this)},e.prototype.eachRawSeries=function(t,i){ne(this._componentsMap.get("series"),function(r){r&&t.call(i,r,r.componentIndex)})},e.prototype.eachSeriesByType=function(t,i,r){sc(this),ne(this._seriesIndices,function(a){var o=this._componentsMap.get("series")[a];o.subType===t&&i.call(r,o,a)},this)},e.prototype.eachRawSeriesByType=function(t,i,r){return ne(this.getSeriesByType(t),i,r)},e.prototype.isSeriesFiltered=function(t){return sc(this),this._seriesIndicesMap.get(t.componentIndex)==null},e.prototype.getCurrentSeriesIndices=function(){return(this._seriesIndices||[]).slice()},e.prototype.filterSeries=function(t,i){sc(this);var r=[];ne(this._seriesIndices,function(a){var o=this._componentsMap.get("series")[a];t.call(i,o,a)&&r.push(a)},this),this._seriesIndices=r,this._seriesIndicesMap=Ct(r)},e.prototype.restoreData=function(t){$p(this);var i=this._componentsMap,r=[];i.each(function(a,o){j3.hasClass(o)&&r.push(o)}),j3.topologicalTravel(r,j3.getAllClassMainTypes(),function(a){ne(i.get(a),function(o){o&&(a!=="series"||!_4e(o,t))&&o.restoreData()})})},e.internalField=function(){$p=function(t){var i=t._seriesIndices=[];ne(t._componentsMap.get("series"),function(r){r&&i.push(r.componentIndex)}),t._seriesIndicesMap=Ct(i)},sc=function(t){},MF=function(t,i){t.option={},t.option[EF]=y4e,t._componentsMap=Ct({series:[]}),t._componentsCount=Ct();var r=i.aria;jt(r)&&r.enabled==null&&(r.enabled=!0),S4e(i,t._theme.option),l3(i,c4e,!1),t._mergeOption(i,null)}}(),e}(X1);function _4e(n,e){if(e){var t=e.seriesIndex,i=e.seriesId,r=e.seriesName;return t!=null&&n.componentIndex!==t||i!=null&&n.id!==i||r!=null&&n.name!==r}}function S4e(n,e){var t=n.color&&!n.colorLayer;ne(e,function(i,r){r==="colorLayer"&&t||j3.hasClass(r)||(typeof i=="object"?n[r]=n[r]?l3(n[r],i,!1):$t(i):n[r]==null&&(n[r]=i))})}function PF(n,e,t){if(H2(e)){var i=Ct();return ne(e,function(a){if(a!=null){var o=dn(a,null);o!=null&&i.set(a,!0)}}),c1(t,function(a){return a&&i.get(a[n])})}else{var r=dn(e,null);return c1(t,function(a){return a&&r!=null&&a[n]===r})}}function RF(n,e){return e.hasOwnProperty("subType")?c1(n,function(t){return t&&t.subType===e.subType}):n}function LF(n){var e=Ct();return n&&ne(A1(n.replaceMerge),function(t){e.set(t,!0)}),{replaceMergeMainTypeMap:e}}en(DX,kP);const NX=DX;var b4e=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isSSR","isDisposed","on","off","getDataURL","getConnectedDataURL","getOption","getId","updateLabelLayout"],x4e=function(){function n(e){ne(b4e,function(t){this[t]=St(e[t],e)},this)}return n}();const kX=x4e;var Hx={},w4e=function(){function n(){this._coordinateSystems=[]}return n.prototype.create=function(e,t){var i=[];ne(Hx,function(r,a){var o=r.create(e,t);i=i.concat(o||[])}),this._coordinateSystems=i},n.prototype.update=function(e,t){ne(this._coordinateSystems,function(i){i.update&&i.update(e,t)})},n.prototype.getCoordinateSystems=function(){return this._coordinateSystems.slice()},n.register=function(e,t){Hx[e]=t},n.get=function(e){return Hx[e]},n}();const tf=w4e;var T4e=/^(min|max)?(.+)$/,A4e=function(){function n(e){this._timelineOptions=[],this._mediaList=[],this._currentMediaIndices=[],this._api=e}return n.prototype.setOption=function(e,t,i){e&&(ne(A1(e.series),function(o){o&&o.data&&pr(o.data)&&Nv(o.data)}),ne(A1(e.dataset),function(o){o&&o.source&&pr(o.source)&&Nv(o.source)})),e=$t(e);var r=this._optionBackup,a=C4e(e,t,!r);this._newBaseOption=a.baseOption,r?(a.timelineOptions.length&&(r.timelineOptions=a.timelineOptions),a.mediaList.length&&(r.mediaList=a.mediaList),a.mediaDefault&&(r.mediaDefault=a.mediaDefault)):this._optionBackup=a},n.prototype.mountOption=function(e){var t=this._optionBackup;return this._timelineOptions=t.timelineOptions,this._mediaList=t.mediaList,this._mediaDefault=t.mediaDefault,this._currentMediaIndices=[],$t(e?t.baseOption:this._newBaseOption)},n.prototype.getTimelineOption=function(e){var t,i=this._timelineOptions;if(i.length){var r=e.getComponent("timeline");r&&(t=$t(i[r.getCurrentIndex()]))}return t},n.prototype.getMediaOption=function(e){var t=this._api.getWidth(),i=this._api.getHeight(),r=this._mediaList,a=this._mediaDefault,o=[],s=[];if(!r.length&&!a)return s;for(var l=0,u=r.length;l<u;l++)M4e(r[l].query,t,i)&&o.push(l);return!o.length&&a&&(o=[-1]),o.length&&!P4e(o,this._currentMediaIndices)&&(s=j2(o,function(c){return $t(c===-1?a.option:r[c].option)})),this._currentMediaIndices=o,s},n}();function C4e(n,e,t){var i=[],r,a,o=n.baseOption,s=n.timeline,l=n.options,u=n.media,c=!!n.media,d=!!(l||s||o&&o.timeline);o?(a=o,a.timeline||(a.timeline=s)):((d||c)&&(n.options=n.media=null),a=n),c&&H2(u)&&ne(u,function(f){f&&f.option&&(f.query?i.push(f):r||(r=f))}),h(a),ne(l,function(f){return h(f)}),ne(i,function(f){return h(f.option)});function h(f){ne(e,function(p){p(f,t)})}return{baseOption:a,timelineOptions:l||[],mediaDefault:r,mediaList:i}}function M4e(n,e,t){var i={width:e,height:t,aspectratio:e/t},r=!0;return ne(n,function(a,o){var s=o.match(T4e);if(!(!s||!s[1]||!s[2])){var l=s[1],u=s[2].toLowerCase();E4e(i[u],a,l)||(r=!1)}}),r}function E4e(n,e,t){return t==="min"?n>=e:t==="max"?n<=e:n===e}function P4e(n,e){return n.join(",")===e.join(",")}const R4e=A4e;var Ka=ne,ch=jt,IF=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Wx(n){var e=n&&n.itemStyle;if(e)for(var t=0,i=IF.length;t<i;t++){var r=IF[t],a=e.normal,o=e.emphasis;a&&a[r]&&(n[r]=n[r]||{},n[r].normal?l3(n[r].normal,a[r]):n[r].normal=a[r],a[r]=null),o&&o[r]&&(n[r]=n[r]||{},n[r].emphasis?l3(n[r].emphasis,o[r]):n[r].emphasis=o[r],o[r]=null)}}function di(n,e,t){if(n&&n[e]&&(n[e].normal||n[e].emphasis)){var i=n[e].normal,r=n[e].emphasis;i&&(t?(n[e].normal=n[e].emphasis=null,Vt(n[e],i)):n[e]=i),r&&(n.emphasis=n.emphasis||{},n.emphasis[e]=r,r.focus&&(n.emphasis.focus=r.focus),r.blurScope&&(n.emphasis.blurScope=r.blurScope))}}function Qc(n){di(n,"itemStyle"),di(n,"lineStyle"),di(n,"areaStyle"),di(n,"label"),di(n,"labelLine"),di(n,"upperLabel"),di(n,"edgeLabel")}function j0(n,e){var t=ch(n)&&n[e],i=ch(t)&&t.textStyle;if(i)for(var r=0,a=Bk.length;r<a;r++){var o=Bk[r];i.hasOwnProperty(o)&&(t[o]=i[o])}}function ga(n){n&&(Qc(n),j0(n,"label"),n.emphasis&&j0(n.emphasis,"label"))}function L4e(n){if(ch(n)){Wx(n),Qc(n),j0(n,"label"),j0(n,"upperLabel"),j0(n,"edgeLabel"),n.emphasis&&(j0(n.emphasis,"label"),j0(n.emphasis,"upperLabel"),j0(n.emphasis,"edgeLabel"));var e=n.markPoint;e&&(Wx(e),ga(e));var t=n.markLine;t&&(Wx(t),ga(t));var i=n.markArea;i&&ga(i);var r=n.data;if(n.type==="graph"){r=r||n.nodes;var a=n.links||n.edges;if(a&&!pr(a))for(var o=0;o<a.length;o++)ga(a[o]);ne(n.categories,function(u){Qc(u)})}if(r&&!pr(r))for(var o=0;o<r.length;o++)ga(r[o]);if(e=n.markPoint,e&&e.data)for(var s=e.data,o=0;o<s.length;o++)ga(s[o]);if(t=n.markLine,t&&t.data)for(var l=t.data,o=0;o<l.length;o++)H2(l[o])?(ga(l[o][0]),ga(l[o][1])):ga(l[o]);n.type==="gauge"?(j0(n,"axisLabel"),j0(n,"title"),j0(n,"detail")):n.type==="treemap"?(di(n.breadcrumb,"itemStyle"),ne(n.levels,function(u){Qc(u)})):n.type==="tree"&&Qc(n.leaves)}}function Is(n){return H2(n)?n:n?[n]:[]}function DF(n){return(H2(n)?n[0]:n)||{}}function I4e(n,e){Ka(Is(n.series),function(i){ch(i)&&L4e(i)});var t=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];e&&t.push("valueAxis","categoryAxis","logAxis","timeAxis"),Ka(t,function(i){Ka(Is(n[i]),function(r){r&&(j0(r,"axisLabel"),j0(r.axisPointer,"label"))})}),Ka(Is(n.parallel),function(i){var r=i&&i.parallelAxisDefault;j0(r,"axisLabel"),j0(r&&r.axisPointer,"label")}),Ka(Is(n.calendar),function(i){di(i,"itemStyle"),j0(i,"dayLabel"),j0(i,"monthLabel"),j0(i,"yearLabel")}),Ka(Is(n.radar),function(i){j0(i,"name"),i.name&&i.axisName==null&&(i.axisName=i.name,delete i.name),i.nameGap!=null&&i.axisNameGap==null&&(i.axisNameGap=i.nameGap,delete i.nameGap)}),Ka(Is(n.geo),function(i){ch(i)&&(ga(i),Ka(Is(i.regions),function(r){ga(r)}))}),Ka(Is(n.timeline),function(i){ga(i),di(i,"label"),di(i,"itemStyle"),di(i,"controlStyle",!0);var r=i.data;H2(r)&&ne(r,function(a){jt(a)&&(di(a,"label"),di(a,"itemStyle"))})}),Ka(Is(n.toolbox),function(i){di(i,"iconStyle"),Ka(i.feature,function(r){di(r,"iconStyle")})}),j0(DF(n.axisPointer),"label"),j0(DF(n.tooltip).axisPointer,"label")}function D4e(n,e){for(var t=e.split(","),i=n,r=0;r<t.length&&(i=i&&i[t[r]],i!=null);r++);return i}function N4e(n,e,t,i){for(var r=e.split(","),a=n,o,s=0;s<r.length-1;s++)o=r[s],a[o]==null&&(a[o]={}),a=a[o];(i||a[r[s]]==null)&&(a[r[s]]=t)}function NF(n){n&&ne(k4e,function(e){e[0]in n&&!(e[1]in n)&&(n[e[1]]=n[e[0]])})}var k4e=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],F4e=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],jx=[["borderRadius","barBorderRadius"],["borderColor","barBorderColor"],["borderWidth","barBorderWidth"]];function lc(n){var e=n&&n.itemStyle;if(e)for(var t=0;t<jx.length;t++){var i=jx[t][1],r=jx[t][0];e[i]!=null&&(e[r]=e[i])}}function kF(n){n&&n.alignTo==="edge"&&n.margin!=null&&n.edgeDistance==null&&(n.edgeDistance=n.margin)}function FF(n){n&&n.downplay&&!n.blur&&(n.blur=n.downplay)}function O4e(n){n&&n.focusNodeAdjacency!=null&&(n.emphasis=n.emphasis||{},n.emphasis.focus==null&&(n.emphasis.focus="adjacency"))}function FX(n,e){if(n)for(var t=0;t<n.length;t++)e(n[t]),n[t]&&FX(n[t].children,e)}function OX(n,e){I4e(n,e),n.series=A1(n.series),ne(n.series,function(t){if(jt(t)){var i=t.type;if(i==="line")t.clipOverflow!=null&&(t.clip=t.clipOverflow);else if(i==="pie"||i==="gauge"){t.clockWise!=null&&(t.clockwise=t.clockWise),kF(t.label);var r=t.data;if(r&&!pr(r))for(var a=0;a<r.length;a++)kF(r[a]);t.hoverOffset!=null&&(t.emphasis=t.emphasis||{},(t.emphasis.scaleSize=null)&&(t.emphasis.scaleSize=t.hoverOffset))}else if(i==="gauge"){var o=D4e(t,"pointer.color");o!=null&&N4e(t,"itemStyle.color",o)}else if(i==="bar"){lc(t),lc(t.backgroundStyle),lc(t.emphasis);var r=t.data;if(r&&!pr(r))for(var a=0;a<r.length;a++)typeof r[a]=="object"&&(lc(r[a]),lc(r[a]&&r[a].emphasis))}else if(i==="sunburst"){var s=t.highlightPolicy;s&&(t.emphasis=t.emphasis||{},t.emphasis.focus||(t.emphasis.focus=s)),FF(t),FX(t.data,FF)}else i==="graph"||i==="sankey"?O4e(t):i==="map"&&(t.mapType&&!t.map&&(t.map=t.mapType),t.mapLocation&&Vt(t,t.mapLocation));t.hoverAnimation!=null&&(t.emphasis=t.emphasis||{},t.emphasis&&t.emphasis.scale==null&&(t.emphasis.scale=t.hoverAnimation)),NF(t)}}),n.dataRange&&(n.visualMap=n.dataRange),ne(F4e,function(t){var i=n[t];i&&(H2(i)||(i=[i]),ne(i,function(r){NF(r)}))})}function B4e(n){var e=Ct();n.eachSeries(function(t){var i=t.get("stack");if(i){var r=e.get(i)||e.set(i,[]),a=t.getData(),o={stackResultDimension:a.getCalculationInfo("stackResultDimension"),stackedOverDimension:a.getCalculationInfo("stackedOverDimension"),stackedDimension:a.getCalculationInfo("stackedDimension"),stackedByDimension:a.getCalculationInfo("stackedByDimension"),isStackedByIndex:a.getCalculationInfo("isStackedByIndex"),data:a,seriesModel:t};if(!o.stackedDimension||!(o.isStackedByIndex||o.stackedByDimension))return;r.length&&a.setCalculationInfo("stackedOnSeries",r[r.length-1].seriesModel),r.push(o)}}),e.each(z4e)}function z4e(n){ne(n,function(e,t){var i=[],r=[NaN,NaN],a=[e.stackResultDimension,e.stackedOverDimension],o=e.data,s=e.isStackedByIndex,l=e.seriesModel.get("stackStrategy")||"samesign";o.modify(a,function(u,c,d){var h=o.get(e.stackedDimension,d);if(isNaN(h))return r;var f,p;s?p=o.getRawIndex(d):f=o.get(e.stackedByDimension,d);for(var g=NaN,m=t-1;m>=0;m--){var v=n[m];if(s||(p=v.data.rawIndexOf(v.stackedByDimension,f)),p>=0){var _=v.data.getByRawIndex(v.stackResultDimension,p);if(l==="all"||l==="positive"&&_>0||l==="negative"&&_<0||l==="samesign"&&h>=0&&_>0||l==="samesign"&&h<=0&&_<0){h=w9e(h,_),g=_;break}}}return i[0]=h,i[1]=g,i})})}var U_=function(){function n(e){this.data=e.data||(e.sourceFormat===fs?{}:[]),this.sourceFormat=e.sourceFormat||MX,this.seriesLayoutBy=e.seriesLayoutBy||ts,this.startIndex=e.startIndex||0,this.dimensionsDetectedCount=e.dimensionsDetectedCount,this.metaRawOption=e.metaRawOption;var t=this.dimensionsDefine=e.dimensionsDefine;if(t)for(var i=0;i<t.length;i++){var r=t[i];r.type==null&&RX(this,i)===Yn.Must&&(r.type="ordinal")}}return n}();function FP(n){return n instanceof U_}function BC(n,e,t){t=t||BX(n);var i=e.seriesLayoutBy,r=G4e(n,t,i,e.sourceHeader,e.dimensions),a=new U_({data:n,sourceFormat:t,seriesLayoutBy:i,dimensionsDefine:r.dimensionsDefine,startIndex:r.startIndex,dimensionsDetectedCount:r.dimensionsDetectedCount,metaRawOption:$t(e)});return a}function OP(n){return new U_({data:n,sourceFormat:pr(n)?I5:Ga})}function U4e(n){return new U_({data:n.data,sourceFormat:n.sourceFormat,seriesLayoutBy:n.seriesLayoutBy,dimensionsDefine:$t(n.dimensionsDefine),startIndex:n.startIndex,dimensionsDetectedCount:n.dimensionsDetectedCount})}function BX(n){var e=MX;if(pr(n))e=I5;else if(H2(n)){n.length===0&&(e=bi);for(var t=0,i=n.length;t<i;t++){var r=n[t];if(r!=null){if(H2(r)||pr(r)){e=bi;break}else if(jt(r)){e=Va;break}}}}else if(jt(n)){for(var a in n)if(xt(n,a)&&Si(n[a])){e=fs;break}}return e}function G4e(n,e,t,i,r){var a,o;if(!n)return{dimensionsDefine:OF(r),startIndex:o,dimensionsDetectedCount:a};if(e===bi){var s=n;i==="auto"||i==null?BF(function(u){u!=null&&u!=="-"&&(_t(u)?o==null&&(o=1):o=0)},t,s,10):o=q3(i)?i:i?1:0,!r&&o===1&&(r=[],BF(function(u,c){r[c]=u!=null?u+"":""},t,s,1/0)),a=r?r.length:t===gu?s.length:s[0]?s[0].length:null}else if(e===Va)r||(r=V4e(n));else if(e===fs)r||(r=[],ne(n,function(u,c){r.push(c)}));else if(e===Ga){var l=lu(n[0]);a=H2(l)&&l.length||1}return{startIndex:o,dimensionsDefine:OF(r),dimensionsDetectedCount:a}}function V4e(n){for(var e=0,t;e<n.length&&!(t=n[e++]););if(t)return E3(t)}function OF(n){if(n){var e=Ct();return j2(n,function(t,i){t=jt(t)?t:{name:t};var r={name:t.name,displayName:t.displayName,type:t.type};if(r.name==null)return r;r.name+="",r.displayName==null&&(r.displayName=r.name);var a=e.get(r.name);return a?r.name+="-"+a.count++:e.set(r.name,{count:1}),r})}}function BF(n,e,t,i){if(e===gu)for(var r=0;r<t.length&&r<i;r++)n(t[r]?t[r][0]:null,r);else for(var a=t[0]||[],r=0;r<a.length&&r<i;r++)n(a[r],r)}function zX(n){var e=n.sourceFormat;return e===Va||e===fs}var H9,W9,j9,zF,UF,UX=function(){function n(e,t){var i=FP(e)?e:OP(e);this._source=i;var r=this._data=i.data;i.sourceFormat===I5&&(this._offset=0,this._dimSize=t,this._data=r),UF(this,r,i)}return n.prototype.getSource=function(){return this._source},n.prototype.count=function(){return 0},n.prototype.getItem=function(e,t){},n.prototype.appendData=function(e){},n.prototype.clean=function(){},n.protoInitialize=function(){var e=n.prototype;e.pure=!1,e.persistent=!0}(),n.internalField=function(){var e;UF=function(o,s,l){var u=l.sourceFormat,c=l.seriesLayoutBy,d=l.startIndex,h=l.dimensionsDefine,f=zF[BP(u,c)];if(L2(o,f),u===I5)o.getItem=t,o.count=r,o.fillStorage=i;else{var p=GX(u,c);o.getItem=St(p,null,s,d,h);var g=VX(u,c);o.count=St(g,null,s,d,h)}};var t=function(o,s){o=o-this._offset,s=s||[];for(var l=this._data,u=this._dimSize,c=u*o,d=0;d<u;d++)s[d]=l[c+d];return s},i=function(o,s,l,u){for(var c=this._data,d=this._dimSize,h=0;h<d;h++){for(var f=u[h],p=f[0]==null?1/0:f[0],g=f[1]==null?-1/0:f[1],m=s-o,v=l[h],_=0;_<m;_++){var S=c[_*d+h];v[o+_]=S,S<p&&(p=S),S>g&&(g=S)}f[0]=p,f[1]=g}},r=function(){return this._data?this._data.length/this._dimSize:0};zF=(e={},e[bi+"_"+ts]={pure:!0,appendData:a},e[bi+"_"+gu]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},e[Va]={pure:!0,appendData:a},e[fs]={pure:!0,appendData:function(o){var s=this._data;ne(o,function(l,u){for(var c=s[u]||(s[u]=[]),d=0;d<(l||[]).length;d++)c.push(l[d])})}},e[Ga]={appendData:a},e[I5]={persistent:!1,pure:!0,appendData:function(o){this._data=o},clean:function(){this._offset+=this.count(),this._data=null}},e);function a(o){for(var s=0;s<o.length;s++)this._data.push(o[s])}}(),n}(),GF=function(n,e,t,i){return n[i]},H4e=(H9={},H9[bi+"_"+ts]=function(n,e,t,i){return n[i+e]},H9[bi+"_"+gu]=function(n,e,t,i,r){i+=e;for(var a=r||[],o=n,s=0;s<o.length;s++){var l=o[s];a[s]=l?l[i]:null}return a},H9[Va]=GF,H9[fs]=function(n,e,t,i,r){for(var a=r||[],o=0;o<t.length;o++){var s=t[o].name,l=n[s];a[o]=l?l[i]:null}return a},H9[Ga]=GF,H9);function GX(n,e){var t=H4e[BP(n,e)];return t}var VF=function(n,e,t){return n.length},W4e=(W9={},W9[bi+"_"+ts]=function(n,e,t){return Math.max(0,n.length-e)},W9[bi+"_"+gu]=function(n,e,t){var i=n[0];return i?Math.max(0,i.length-e):0},W9[Va]=VF,W9[fs]=function(n,e,t){var i=t[0].name,r=n[i];return r?r.length:0},W9[Ga]=VF,W9);function VX(n,e){var t=W4e[BP(n,e)];return t}var $x=function(n,e,t){return n[e]},j4e=(j9={},j9[bi]=$x,j9[Va]=function(n,e,t){return n[t]},j9[fs]=$x,j9[Ga]=function(n,e,t){var i=lu(n);return i instanceof Array?i[e]:i},j9[I5]=$x,j9);function HX(n){var e=j4e[n];return e}function BP(n,e){return n===bi?n+"_"+e:n}function N7(n,e,t){if(n){var i=n.getRawDataItem(e);if(i!=null){var r=n.getStore(),a=r.getSource().sourceFormat;if(t!=null){var o=n.getDimensionIndex(t),s=r.getDimensionProperty(o);return HX(a)(i,o,s)}else{var l=i;return a===Ga&&(l=lu(i)),l}}}}var $4e=/\{@(.+?)\}/g,G_=function(){function n(){}return n.prototype.getDataParams=function(e,t){var i=this.getData(t),r=this.getRawValue(e,t),a=i.getRawIndex(e),o=i.getName(e),s=i.getRawDataItem(e),l=i.getItemVisual(e,"style"),u=l&&l[i.getItemVisual(e,"drawType")||"fill"],c=l&&l.stroke,d=this.mainType,h=d==="series",f=i.userOutput&&i.userOutput.get();return{componentType:d,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:h?this.subType:null,seriesIndex:this.seriesIndex,seriesId:h?this.id:null,seriesName:h?this.name:null,name:o,dataIndex:a,data:s,dataType:t,value:r,color:u,borderColor:c,dimensionNames:f?f.fullDimensions:null,encode:f?f.encode:null,$vars:["seriesName","name","value"]}},n.prototype.getFormattedLabel=function(e,t,i,r,a,o){t=t||"normal";var s=this.getData(i),l=this.getDataParams(e,i);if(o&&(l.value=o.interpolatedValue),r!=null&&H2(l.value)&&(l.value=l.value[r]),!a){var u=s.getItemModel(e);a=u.get(t==="normal"?["label","formatter"]:[t,"label","formatter"])}if(Gt(a))return l.status=t,l.dimensionIndex=r,a(l);if(_t(a)){var c=xX(a,l);return c.replace($4e,function(d,h){var f=h.length,p=h;p.charAt(0)==="["&&p.charAt(f-1)==="]"&&(p=+p.slice(1,f-1));var g=N7(s,e,p);if(o&&H2(o.interpolatedValue)){var m=s.getDimensionIndex(p);m>=0&&(g=o.interpolatedValue[m])}return g!=null?g+"":""})}},n.prototype.getRawValue=function(e,t){return N7(this.getData(t),e)},n.prototype.formatTooltip=function(e,t,i){},n}();function HF(n){var e,t;return jt(n)?n.type&&(t=n):e=n,{text:e,frag:t}}function wd(n){return new Y4e(n)}var Y4e=function(){function n(e){e=e||{},this._reset=e.reset,this._plan=e.plan,this._count=e.count,this._onDirty=e.onDirty,this._dirty=!0}return n.prototype.perform=function(e){var t=this._upstream,i=e&&e.skip;if(this._dirty&&t){var r=this.context;r.data=r.outputData=t.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!i&&(a=this._plan(this.context));var o=c(this._modBy),s=this._modDataCount||0,l=c(e&&e.modBy),u=e&&e.modDataCount||0;(o!==l||s!==u)&&(a="reset");function c(_){return!(_>=1)&&(_=1),_}var d;(this._dirty||a==="reset")&&(this._dirty=!1,d=this._doReset(i)),this._modBy=l,this._modDataCount=u;var h=e&&e.step;if(t?this._dueEnd=t._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var f=this._dueIndex,p=Math.min(h!=null?this._dueIndex+h:1/0,this._dueEnd);if(!i&&(d||f<p)){var g=this._progress;if(H2(g))for(var m=0;m<g.length;m++)this._doProgress(g[m],f,p,l,u);else this._doProgress(g,f,p,l,u)}this._dueIndex=p;var v=this._settedOutputEnd!=null?this._settedOutputEnd:p;this._outputDueEnd=v}else this._dueIndex=this._outputDueEnd=this._settedOutputEnd!=null?this._settedOutputEnd:this._dueEnd;return this.unfinished()},n.prototype.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},n.prototype._doProgress=function(e,t,i,r,a){WF.reset(t,i,r,a),this._callingProgress=e,this._callingProgress({start:t,end:i,count:i-t,next:WF.next},this.context)},n.prototype._doReset=function(e){this._dueIndex=this._outputDueEnd=this._dueEnd=0,this._settedOutputEnd=null;var t,i;!e&&this._reset&&(t=this._reset(this.context),t&&t.progress&&(i=t.forceFirstProgress,t=t.progress),H2(t)&&!t.length&&(t=null)),this._progress=t,this._modBy=this._modDataCount=null;var r=this._downstream;return r&&r.dirty(),i},n.prototype.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},n.prototype.pipe=function(e){(this._downstream!==e||this._dirty)&&(this._downstream=e,e._upstream=this,e.dirty())},n.prototype.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},n.prototype.getUpstream=function(){return this._upstream},n.prototype.getDownstream=function(){return this._downstream},n.prototype.setOutputEnd=function(e){this._outputDueEnd=this._settedOutputEnd=e},n}(),WF=function(){var n,e,t,i,r,a={reset:function(l,u,c,d){e=l,n=u,t=c,i=d,r=Math.ceil(i/t),a.next=t>1&&i>0?s:o}};return a;function o(){return e<n?e++:null}function s(){var l=e%r*t+Math.ceil(e/r),u=e>=n?null:l<i?l:e;return e++,u}}();function D5(n,e){var t=e&&e.type;return t==="ordinal"?n:(t==="time"&&!q3(n)&&n!=null&&n!=="-"&&(n=+cs(n)),n==null||n===""?NaN:Number(n))}var q4e=Ct({number:function(n){return parseFloat(n)},time:function(n){return+cs(n)},trim:function(n){return _t(n)?lo(n):n}});function WX(n){return q4e.get(n)}var jX={lt:function(n,e){return n<e},lte:function(n,e){return n<=e},gt:function(n,e){return n>e},gte:function(n,e){return n>=e}},X4e=function(){function n(e,t){if(!q3(t)){var i="";l1(i)}this._opFn=jX[e],this._rvalFloat=a6(t)}return n.prototype.evaluate=function(e){return q3(e)?this._opFn(e,this._rvalFloat):this._opFn(a6(e),this._rvalFloat)},n}(),$X=function(){function n(e,t){var i=e==="desc";this._resultLT=i?1:-1,t==null&&(t=i?"min":"max"),this._incomparable=t==="min"?-1/0:1/0}return n.prototype.evaluate=function(e,t){var i=q3(e)?e:a6(e),r=q3(t)?t:a6(t),a=isNaN(i),o=isNaN(r);if(a&&(i=this._incomparable),o&&(r=this._incomparable),a&&o){var s=_t(e),l=_t(t);s&&(i=l?e:0),l&&(r=s?t:0)}return i<r?this._resultLT:i>r?-this._resultLT:0},n}(),K4e=function(){function n(e,t){this._rval=t,this._isEQ=e,this._rvalTypeof=typeof t,this._rvalFloat=a6(t)}return n.prototype.evaluate=function(e){var t=e===this._rval;if(!t){var i=typeof e;i!==this._rvalTypeof&&(i==="number"||this._rvalTypeof==="number")&&(t=a6(e)===this._rvalFloat)}return this._isEQ?t:!t},n}();function Z4e(n,e){return n==="eq"||n==="ne"?new K4e(n==="eq",e):xt(jX,n)?new X4e(n,e):null}var J4e=function(){function n(){}return n.prototype.getRawData=function(){throw new Error("not supported")},n.prototype.getRawDataItem=function(e){throw new Error("not supported")},n.prototype.cloneRawData=function(){},n.prototype.getDimensionInfo=function(e){},n.prototype.cloneAllDimensionInfo=function(){},n.prototype.count=function(){},n.prototype.retrieveValue=function(e,t){},n.prototype.retrieveValueFromItem=function(e,t){},n.prototype.convertValue=function(e,t){return D5(e,t)},n}();function Q4e(n,e){var t=new J4e,i=n.data,r=t.sourceFormat=n.sourceFormat,a=n.startIndex,o="";n.seriesLayoutBy!==ts&&l1(o);var s=[],l={},u=n.dimensionsDefine;if(u)ne(u,function(g,m){var v=g.name,_={index:m,name:v,displayName:g.displayName};if(s.push(_),v!=null){var S="";xt(l,v)&&l1(S),l[v]=_}});else for(var c=0;c<n.dimensionsDetectedCount;c++)s.push({index:c});var d=GX(r,ts);e.__isBuiltIn&&(t.getRawDataItem=function(g){return d(i,a,s,g)},t.getRawData=St(e7e,null,n)),t.cloneRawData=St(t7e,null,n);var h=VX(r,ts);t.count=St(h,null,i,a,s);var f=HX(r);t.retrieveValue=function(g,m){var v=d(i,a,s,g);return p(v,m)};var p=t.retrieveValueFromItem=function(g,m){if(g!=null){var v=s[m];if(v)return f(g,m,v.name)}};return t.getDimensionInfo=St(n7e,null,s,l),t.cloneAllDimensionInfo=St(i7e,null,s),t}function e7e(n){var e=n.sourceFormat;if(!zP(e)){var t="";l1(t)}return n.data}function t7e(n){var e=n.sourceFormat,t=n.data;if(!zP(e)){var i="";l1(i)}if(e===bi){for(var r=[],a=0,o=t.length;a<o;a++)r.push(t[a].slice());return r}else if(e===Va){for(var r=[],a=0,o=t.length;a<o;a++)r.push(L2({},t[a]));return r}}function n7e(n,e,t){if(t!=null){if(q3(t)||!isNaN(t)&&!xt(e,t))return n[t];if(xt(e,t))return e[t]}}function i7e(n){return $t(n)}var YX=Ct();function r7e(n){n=$t(n);var e=n.type,t="";e||l1(t);var i=e.split(":");i.length!==2&&l1(t);var r=!1;i[0]==="echarts"&&(e=i[1],r=!0),n.__isBuiltIn=r,YX.set(e,n)}function a7e(n,e,t){var i=A1(n),r=i.length,a="";r||l1(a);for(var o=0,s=r;o<s;o++){var l=i[o];e=o7e(l,e),o!==s-1&&(e.length=Math.max(e.length,1))}return e}function o7e(n,e,t,i){var r="";e.length||l1(r),jt(n)||l1(r);var a=n.type,o=YX.get(a);o||l1(r);var s=j2(e,function(u){return Q4e(u,o)}),l=A1(o.transform({upstream:s[0],upstreamList:s,config:$t(n.config)}));return j2(l,function(u,c){var d="";jt(u)||l1(d),u.data||l1(d);var h=BX(u.data);zP(h)||l1(d);var f,p=e[0];if(p&&c===0&&!u.dimensions){var g=p.startIndex;g&&(u.data=p.data.slice(0,g).concat(u.data)),f={seriesLayoutBy:ts,sourceHeader:g,dimensions:p.metaRawOption.dimensions}}else f={seriesLayoutBy:ts,sourceHeader:0,dimensions:u.dimensions};return BC(u.data,f,null)})}function zP(n){return n===bi||n===Va}var V_="undefined",s7e=typeof Uint32Array===V_?Array:Uint32Array,l7e=typeof Uint16Array===V_?Array:Uint16Array,qX=typeof Int32Array===V_?Array:Int32Array,jF=typeof Float64Array===V_?Array:Float64Array,XX={float:jF,int:qX,ordinal:Array,number:Array,time:jF},Yx;function e4(n){return n>65535?s7e:l7e}function t4(){return[1/0,-1/0]}function u7e(n){var e=n.constructor;return e===Array?n.slice():new e(n)}function $F(n,e,t,i,r){var a=XX[t||"float"];if(r){var o=n[e],s=o&&o.length;if(s!==i){for(var l=new a(i),u=0;u<s;u++)l[u]=o[u];n[e]=l}}else n[e]=new a(i)}var zC=function(){function n(){this._chunks=[],this._rawExtent=[],this._extent=[],this._count=0,this._rawCount=0,this._calcDimNameToIdx=Ct()}return n.prototype.initData=function(e,t,i){this._provider=e,this._chunks=[],this._indices=null,this.getRawIndex=this._getRawIdxIdentity;var r=e.getSource(),a=this.defaultDimValueGetter=Yx[r.sourceFormat];this._dimValueGetter=i||a,this._rawExtent=[],zX(r),this._dimensions=j2(t,function(o){return{type:o.type,property:o.property}}),this._initDataFromProvider(0,e.count())},n.prototype.getProvider=function(){return this._provider},n.prototype.getSource=function(){return this._provider.getSource()},n.prototype.ensureCalculationDimension=function(e,t){var i=this._calcDimNameToIdx,r=this._dimensions,a=i.get(e);if(a!=null){if(r[a].type===t)return a}else a=r.length;return r[a]={type:t},i.set(e,a),this._chunks[a]=new XX[t||"float"](this._rawCount),this._rawExtent[a]=t4(),a},n.prototype.collectOrdinalMeta=function(e,t){var i=this._chunks[e],r=this._dimensions[e],a=this._rawExtent,o=r.ordinalOffset||0,s=i.length;o===0&&(a[e]=t4());for(var l=a[e],u=o;u<s;u++){var c=i[u]=t.parseAndCollect(i[u]);isNaN(c)||(l[0]=Math.min(c,l[0]),l[1]=Math.max(c,l[1]))}r.ordinalMeta=t,r.ordinalOffset=s,r.type="ordinal"},n.prototype.getOrdinalMeta=function(e){var t=this._dimensions[e],i=t.ordinalMeta;return i},n.prototype.getDimensionProperty=function(e){var t=this._dimensions[e];return t&&t.property},n.prototype.appendData=function(e){var t=this._provider,i=this.count();t.appendData(e);var r=t.count();return t.persistent||(r+=i),i<r&&this._initDataFromProvider(i,r,!0),[i,r]},n.prototype.appendValues=function(e,t){for(var i=this._chunks,r=this._dimensions,a=r.length,o=this._rawExtent,s=this.count(),l=s+Math.max(e.length,t||0),u=0;u<a;u++){var c=r[u];$F(i,u,c.type,l,!0)}for(var d=[],h=s;h<l;h++)for(var f=h-s,p=0;p<a;p++){var c=r[p],g=Yx.arrayRows.call(this,e[f]||d,c.property,f,p);i[p][h]=g;var m=o[p];g<m[0]&&(m[0]=g),g>m[1]&&(m[1]=g)}return this._rawCount=this._count=l,{start:s,end:l}},n.prototype._initDataFromProvider=function(e,t,i){for(var r=this._provider,a=this._chunks,o=this._dimensions,s=o.length,l=this._rawExtent,u=j2(o,function(_){return _.property}),c=0;c<s;c++){var d=o[c];l[c]||(l[c]=t4()),$F(a,c,d.type,t,i)}if(r.fillStorage)r.fillStorage(e,t,a,l);else for(var h=[],f=e;f<t;f++){h=r.getItem(f,h);for(var p=0;p<s;p++){var g=a[p],m=this._dimValueGetter(h,u[p],f,p);g[f]=m;var v=l[p];m<v[0]&&(v[0]=m),m>v[1]&&(v[1]=m)}}!r.persistent&&r.clean&&r.clean(),this._rawCount=this._count=t,this._extent=[]},n.prototype.count=function(){return this._count},n.prototype.get=function(e,t){if(!(t>=0&&t<this._count))return NaN;var i=this._chunks[e];return i?i[this.getRawIndex(t)]:NaN},n.prototype.getValues=function(e,t){var i=[],r=[];if(t==null){t=e,e=[];for(var a=0;a<this._dimensions.length;a++)r.push(a)}else r=e;for(var a=0,o=r.length;a<o;a++)i.push(this.get(r[a],t));return i},n.prototype.getByRawIndex=function(e,t){if(!(t>=0&&t<this._rawCount))return NaN;var i=this._chunks[e];return i?i[t]:NaN},n.prototype.getSum=function(e){var t=this._chunks[e],i=0;if(t)for(var r=0,a=this.count();r<a;r++){var o=this.get(e,r);isNaN(o)||(i+=o)}return i},n.prototype.getMedian=function(e){var t=[];this.each([e],function(a){isNaN(a)||t.push(a)});var i=t.sort(function(a,o){return a-o}),r=this.count();return r===0?0:r%2===1?i[(r-1)/2]:(i[r/2]+i[r/2-1])/2},n.prototype.indexOfRawIndex=function(e){if(e>=this._rawCount||e<0)return-1;if(!this._indices)return e;var t=this._indices,i=t[e];if(i!=null&&i<this._count&&i===e)return e;for(var r=0,a=this._count-1;r<=a;){var o=(r+a)/2|0;if(t[o]<e)r=o+1;else if(t[o]>e)a=o-1;else return o}return-1},n.prototype.indicesOfNearest=function(e,t,i){var r=this._chunks,a=r[e],o=[];if(!a)return o;i==null&&(i=1/0);for(var s=1/0,l=-1,u=0,c=0,d=this.count();c<d;c++){var h=this.getRawIndex(c),f=t-a[h],p=Math.abs(f);p<=i&&((p<s||p===s&&f>=0&&l<0)&&(s=p,l=f,u=0),f===l&&(o[u++]=c))}return o.length=u,o},n.prototype.getIndices=function(){var e,t=this._indices;if(t){var i=t.constructor,r=this._count;if(i===Array){e=new i(r);for(var a=0;a<r;a++)e[a]=t[a]}else e=new i(t.buffer,0,r)}else{var i=e4(this._rawCount);e=new i(this.count());for(var a=0;a<e.length;a++)e[a]=a}return e},n.prototype.filter=function(e,t){if(!this._count)return this;for(var i=this.clone(),r=i.count(),a=e4(i._rawCount),o=new a(r),s=[],l=e.length,u=0,c=e[0],d=i._chunks,h=0;h<r;h++){var f=void 0,p=i.getRawIndex(h);if(l===0)f=t(h);else if(l===1){var g=d[c][p];f=t(g,h)}else{for(var m=0;m<l;m++)s[m]=d[e[m]][p];s[m]=h,f=t.apply(null,s)}f&&(o[u++]=p)}return u<r&&(i._indices=o),i._count=u,i._extent=[],i._updateGetRawIdx(),i},n.prototype.selectRange=function(e){var t=this.clone(),i=t._count;if(!i)return this;var r=E3(e),a=r.length;if(!a)return this;var o=t.count(),s=e4(t._rawCount),l=new s(o),u=0,c=r[0],d=e[c][0],h=e[c][1],f=t._chunks,p=!1;if(!t._indices){var g=0;if(a===1){for(var m=f[r[0]],v=0;v<i;v++){var _=m[v];(_>=d&&_<=h||isNaN(_))&&(l[u++]=g),g++}p=!0}else if(a===2){for(var m=f[r[0]],S=f[r[1]],x=e[r[1]][0],A=e[r[1]][1],v=0;v<i;v++){var _=m[v],C=S[v];(_>=d&&_<=h||isNaN(_))&&(C>=x&&C<=A||isNaN(C))&&(l[u++]=g),g++}p=!0}}if(!p)if(a===1)for(var v=0;v<o;v++){var M=t.getRawIndex(v),_=f[r[0]][M];(_>=d&&_<=h||isNaN(_))&&(l[u++]=M)}else for(var v=0;v<o;v++){for(var I=!0,M=t.getRawIndex(v),D=0;D<a;D++){var E=r[D],_=f[E][M];(_<e[E][0]||_>e[E][1])&&(I=!1)}I&&(l[u++]=t.getRawIndex(v))}return u<o&&(t._indices=l),t._count=u,t._extent=[],t._updateGetRawIdx(),t},n.prototype.map=function(e,t){var i=this.clone(e);return this._updateDims(i,e,t),i},n.prototype.modify=function(e,t){this._updateDims(this,e,t)},n.prototype._updateDims=function(e,t,i){for(var r=e._chunks,a=[],o=t.length,s=e.count(),l=[],u=e._rawExtent,c=0;c<t.length;c++)u[t[c]]=t4();for(var d=0;d<s;d++){for(var h=e.getRawIndex(d),f=0;f<o;f++)l[f]=r[t[f]][h];l[o]=d;var p=i&&i.apply(null,l);if(p!=null){typeof p!="object"&&(a[0]=p,p=a);for(var c=0;c<p.length;c++){var g=t[c],m=p[c],v=u[g],_=r[g];_&&(_[h]=m),m<v[0]&&(v[0]=m),m>v[1]&&(v[1]=m)}}}},n.prototype.lttbDownSample=function(e,t){var i=this.clone([e],!0),r=i._chunks,a=r[e],o=this.count(),s=0,l=Math.floor(1/t),u=this.getRawIndex(0),c,d,h,f=new(e4(this._rawCount))(Math.min((Math.ceil(o/l)+2)*2,o));f[s++]=u;for(var p=1;p<o-1;p+=l){for(var g=Math.min(p+l,o-1),m=Math.min(p+l*2,o),v=(m+g)/2,_=0,S=g;S<m;S++){var x=this.getRawIndex(S),A=a[x];isNaN(A)||(_+=A)}_/=m-g;var C=p,M=Math.min(p+l,o),I=p-1,D=a[u];c=-1,h=C;for(var E=-1,L=0,S=C;S<M;S++){var x=this.getRawIndex(S),A=a[x];if(isNaN(A)){L++,E<0&&(E=x);continue}d=Math.abs((I-v)*(A-D)-(I-S)*(_-D)),d>c&&(c=d,h=x)}L>0&&L<M-C&&(f[s++]=Math.min(E,h),h=Math.max(E,h)),f[s++]=h,u=h}return f[s++]=this.getRawIndex(o-1),i._count=s,i._indices=f,i.getRawIndex=this._getRawIdx,i},n.prototype.minmaxDownSample=function(e,t){for(var i=this.clone([e],!0),r=i._chunks,a=Math.floor(1/t),o=r[e],s=this.count(),l=new(e4(this._rawCount))(Math.ceil(s/a)*2),u=0,c=0;c<s;c+=a){var d=c,h=o[this.getRawIndex(d)],f=c,p=o[this.getRawIndex(f)],g=a;c+a>s&&(g=s-c);for(var m=0;m<g;m++){var v=this.getRawIndex(c+m),_=o[v];_<h&&(h=_,d=c+m),_>p&&(p=_,f=c+m)}var S=this.getRawIndex(d),x=this.getRawIndex(f);d<f?(l[u++]=S,l[u++]=x):(l[u++]=x,l[u++]=S)}return i._count=u,i._indices=l,i._updateGetRawIdx(),i},n.prototype.downSample=function(e,t,i,r){for(var a=this.clone([e],!0),o=a._chunks,s=[],l=Math.floor(1/t),u=o[e],c=this.count(),d=a._rawExtent[e]=t4(),h=new(e4(this._rawCount))(Math.ceil(c/l)),f=0,p=0;p<c;p+=l){l>c-p&&(l=c-p,s.length=l);for(var g=0;g<l;g++){var m=this.getRawIndex(p+g);s[g]=u[m]}var v=i(s),_=this.getRawIndex(Math.min(p+r(s,v)||0,c-1));u[_]=v,v<d[0]&&(d[0]=v),v>d[1]&&(d[1]=v),h[f++]=_}return a._count=f,a._indices=h,a._updateGetRawIdx(),a},n.prototype.each=function(e,t){if(this._count)for(var i=e.length,r=this._chunks,a=0,o=this.count();a<o;a++){var s=this.getRawIndex(a);switch(i){case 0:t(a);break;case 1:t(r[e[0]][s],a);break;case 2:t(r[e[0]][s],r[e[1]][s],a);break;default:for(var l=0,u=[];l<i;l++)u[l]=r[e[l]][s];u[l]=a,t.apply(null,u)}}},n.prototype.getDataExtent=function(e){var t=this._chunks[e],i=t4();if(!t)return i;var r=this.count(),a=!this._indices,o;if(a)return this._rawExtent[e].slice();if(o=this._extent[e],o)return o.slice();o=i;for(var s=o[0],l=o[1],u=0;u<r;u++){var c=this.getRawIndex(u),d=t[c];d<s&&(s=d),d>l&&(l=d)}return o=[s,l],this._extent[e]=o,o},n.prototype.getRawDataItem=function(e){var t=this.getRawIndex(e);if(this._provider.persistent)return this._provider.getItem(t);for(var i=[],r=this._chunks,a=0;a<r.length;a++)i.push(r[a][t]);return i},n.prototype.clone=function(e,t){var i=new n,r=this._chunks,a=e&&ss(e,function(s,l){return s[l]=!0,s},{});if(a)for(var o=0;o<r.length;o++)i._chunks[o]=a[o]?u7e(r[o]):r[o];else i._chunks=r;return this._copyCommonProps(i),t||(i._indices=this._cloneIndices()),i._updateGetRawIdx(),i},n.prototype._copyCommonProps=function(e){e._count=this._count,e._rawCount=this._rawCount,e._provider=this._provider,e._dimensions=this._dimensions,e._extent=$t(this._extent),e._rawExtent=$t(this._rawExtent)},n.prototype._cloneIndices=function(){if(this._indices){var e=this._indices.constructor,t=void 0;if(e===Array){var i=this._indices.length;t=new e(i);for(var r=0;r<i;r++)t[r]=this._indices[r]}else t=new e(this._indices);return t}return null},n.prototype._getRawIdxIdentity=function(e){return e},n.prototype._getRawIdx=function(e){return e<this._count&&e>=0?this._indices[e]:-1},n.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},n.internalField=function(){function e(t,i,r,a){return D5(t[a],this._dimensions[a])}Yx={arrayRows:e,objectRows:function(t,i,r,a){return D5(t[i],this._dimensions[a])},keyedColumns:e,original:function(t,i,r,a){var o=t&&(t.value==null?t:t.value);return D5(o instanceof Array?o[a]:o,this._dimensions[a])},typedArray:function(t,i,r,a){return t[a]}}}(),n}(),KX=function(){function n(e){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=e}return n.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},n.prototype._setLocalSource=function(e,t){this._sourceList=e,this._upstreamSignList=t,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},n.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},n.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},n.prototype._createSource=function(){this._setLocalSource([],[]);var e=this._sourceHost,t=this._getUpstreamSourceManagers(),i=!!t.length,r,a;if(Yp(e)){var o=e,s=void 0,l=void 0,u=void 0;if(i){var c=t[0];c.prepareSource(),u=c.getSource(),s=u.data,l=u.sourceFormat,a=[c._getVersionSign()]}else s=o.get("data",!0),l=pr(s)?I5:Ga,a=[];var d=this._getSourceMetaRawOption()||{},h=u&&u.metaRawOption||{},f=e3(d.seriesLayoutBy,h.seriesLayoutBy)||null,p=e3(d.sourceHeader,h.sourceHeader),g=e3(d.dimensions,h.dimensions),m=f!==h.seriesLayoutBy||!!p!=!!h.sourceHeader||g;r=m?[BC(s,{seriesLayoutBy:f,sourceHeader:p,dimensions:g},l)]:[]}else{var v=e;if(i){var _=this._applyTransform(t);r=_.sourceList,a=_.upstreamSignList}else{var S=v.get("source",!0);r=[BC(S,this._getSourceMetaRawOption(),null)],a=[]}}this._setLocalSource(r,a)},n.prototype._applyTransform=function(e){var t=this._sourceHost,i=t.get("transform",!0),r=t.get("fromTransformResult",!0);if(r!=null){var a="";e.length!==1&&qF(a)}var o,s=[],l=[];return ne(e,function(u){u.prepareSource();var c=u.getSource(r||0),d="";r!=null&&!c&&qF(d),s.push(c),l.push(u._getVersionSign())}),i?o=a7e(i,s,{datasetIndex:t.componentIndex}):r!=null&&(o=[U4e(s[0])]),{sourceList:o,upstreamSignList:l}},n.prototype._isDirty=function(){if(this._dirty)return!0;for(var e=this._getUpstreamSourceManagers(),t=0;t<e.length;t++){var i=e[t];if(i._isDirty()||this._upstreamSignList[t]!==i._getVersionSign())return!0}},n.prototype.getSource=function(e){e=e||0;var t=this._sourceList[e];if(!t){var i=this._getUpstreamSourceManagers();return i[0]&&i[0].getSource(e)}return t},n.prototype.getSharedDataStore=function(e){var t=e.makeStoreSchema();return this._innerGetDataStore(t.dimensions,e.source,t.hash)},n.prototype._innerGetDataStore=function(e,t,i){var r=0,a=this._storeList,o=a[r];o||(o=a[r]={});var s=o[i];if(!s){var l=this._getUpstreamSourceManagers()[0];Yp(this._sourceHost)&&l?s=l._innerGetDataStore(e,t,i):(s=new zC,s.initData(new UX(t,e.length),e)),o[i]=s}return s},n.prototype._getUpstreamSourceManagers=function(){var e=this._sourceHost;if(Yp(e)){var t=NP(e);return t?[t.getSourceManager()]:[]}else return j2(h4e(e),function(i){return i.getSourceManager()})},n.prototype._getSourceMetaRawOption=function(){var e=this._sourceHost,t,i,r;if(Yp(e))t=e.get("seriesLayoutBy",!0),i=e.get("sourceHeader",!0),r=e.get("dimensions",!0);else if(!this._getUpstreamSourceManagers().length){var a=e;t=a.get("seriesLayoutBy",!0),i=a.get("sourceHeader",!0),r=a.get("dimensions",!0)}return{seriesLayoutBy:t,sourceHeader:i,dimensions:r}},n}();function YF(n){var e=n.option.transform;e&&Nv(n.option.transform)}function Yp(n){return n.mainType==="series"}function qF(n){throw new Error(n)}var c7e="line-height:1";function ZX(n){var e=n.lineHeight;return e==null?c7e:"line-height:"+mi(e+"")+"px"}function JX(n,e){var t=n.color||"#6e7079",i=n.fontSize||12,r=n.fontWeight||"400",a=n.color||"#464646",o=n.fontSize||14,s=n.fontWeight||"900";return e==="html"?{nameStyle:"font-size:"+mi(i+"")+"px;color:"+mi(t)+";font-weight:"+mi(r+""),valueStyle:"font-size:"+mi(o+"")+"px;color:"+mi(a)+";font-weight:"+mi(s+"")}:{nameStyle:{fontSize:i,fill:t,fontWeight:r},valueStyle:{fontSize:o,fill:a,fontWeight:s}}}var d7e=[0,10,20,30],h7e=["",` |
|
|
`,` |
|
|
|
|
|
`,` |
|
|
|
|
|
|
|
|
`];function xn(n,e){return e.type=n,e}function UC(n){return n.type==="section"}function QX(n){return UC(n)?f7e:p7e}function eK(n){if(UC(n)){var e=0,t=n.blocks.length,i=t>1||t>0&&!n.noHeader;return ne(n.blocks,function(r){var a=eK(r);a>=e&&(e=a+ +(i&&(!a||UC(r)&&!r.noHeader)))}),e}return 0}function f7e(n,e,t,i){var r=e.noHeader,a=m7e(eK(e)),o=[],s=e.blocks||[];Bi(!s||H2(s)),s=s||[];var l=n.orderMode;if(e.sortBlocks&&l){s=s.slice();var u={valueAsc:"asc",valueDesc:"desc"};if(xt(u,l)){var c=new $X(u[l],null);s.sort(function(g,m){return c.evaluate(g.sortParam,m.sortParam)})}else l==="seriesDesc"&&s.reverse()}ne(s,function(g,m){var v=e.valueFormatter,_=QX(g)(v?L2(L2({},n),{valueFormatter:v}):n,g,m>0?a.html:0,i);_!=null&&o.push(_)});var d=n.renderMode==="richText"?o.join(a.richText):GC(i,o.join(""),r?t:a.html);if(r)return d;var h=kC(e.header,"ordinal",n.useUTC),f=JX(i,n.renderMode).nameStyle,p=ZX(i);return n.renderMode==="richText"?tK(n,h,f)+a.richText+d:GC(i,'<div style="'+f+";"+p+';">'+mi(h)+"</div>"+d,t)}function p7e(n,e,t,i){var r=n.renderMode,a=e.noName,o=e.noValue,s=!e.markerType,l=e.name,u=n.useUTC,c=e.valueFormatter||n.valueFormatter||function(x){return x=H2(x)?x:[x],j2(x,function(A,C){return kC(A,H2(f)?f[C]:f,u)})};if(!(a&&o)){var d=s?"":n.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",r),h=a?"":kC(l,"ordinal",u),f=e.valueType,p=o?[]:c(e.value,e.dataIndex),g=!s||!a,m=!s&&a,v=JX(i,r),_=v.nameStyle,S=v.valueStyle;return r==="richText"?(s?"":d)+(a?"":tK(n,h,_))+(o?"":y7e(n,p,g,m,S)):GC(i,(s?"":d)+(a?"":g7e(h,!s,_))+(o?"":v7e(p,g,m,S)),t)}}function XF(n,e,t,i,r,a){if(n){var o=QX(n),s={useUTC:r,renderMode:t,orderMode:i,markupStyleCreator:e,valueFormatter:n.valueFormatter};return o(s,n,0,a)}}function m7e(n){return{html:d7e[n],richText:h7e[n]}}function GC(n,e,t){var i='<div style="clear:both"></div>',r="margin: "+t+"px 0 0",a=ZX(n);return'<div style="'+r+";"+a+';">'+e+i+"</div>"}function g7e(n,e,t){var i=e?"margin-left:2px":"";return'<span style="'+t+";"+i+'">'+mi(n)+"</span>"}function v7e(n,e,t,i){var r=t?"10px":"20px",a=e?"float:right;margin-left:"+r:"";return n=H2(n)?n:[n],'<span style="'+a+";"+i+'">'+j2(n,function(o){return mi(o)}).join(" ")+"</span>"}function tK(n,e,t){return n.markupStyleCreator.wrapRichTextStyle(e,t)}function y7e(n,e,t,i,r){var a=[r],o=i?10:20;return t&&a.push({padding:[0,0,0,o],align:"right"}),n.markupStyleCreator.wrapRichTextStyle(H2(e)?e.join(" "):e,a)}function nK(n,e){var t=n.getData().getItemVisual(e,"style"),i=t[n.visualDrawType];return ol(i)}function iK(n,e){var t=n.get("padding");return t!=null?t:e==="richText"?[8,10]:10}var qx=function(){function n(){this.richTextStyles={},this._nextStyleNameId=iq()}return n.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},n.prototype.makeTooltipMarker=function(e,t,i){var r=i==="richText"?this._generateStyleName():null,a=a4e({color:t,type:e,renderMode:i,markerId:r});return _t(a)?a:(this.richTextStyles[r]=a.style,a.content)},n.prototype.wrapRichTextStyle=function(e,t){var i={};H2(t)?ne(t,function(a){return L2(i,a)}):L2(i,t);var r=this._generateStyleName();return this.richTextStyles[r]=i,"{"+r+"|"+e+"}"},n}();function rK(n){var e=n.series,t=n.dataIndex,i=n.multipleSeries,r=e.getData(),a=r.mapDimensionsAll("defaultedTooltip"),o=a.length,s=e.getRawValue(t),l=H2(s),u=nK(e,t),c,d,h,f;if(o>1||l&&!o){var p=_7e(s,e,t,a,u);c=p.inlineValues,d=p.inlineValueTypes,h=p.blocks,f=p.inlineValues[0]}else if(o){var g=r.getDimensionInfo(a[0]);f=c=N7(r,t,a[0]),d=g.type}else f=c=l?s[0]:s;var m=cP(e),v=m&&e.name||"",_=r.getName(t),S=i?v:_;return xn("section",{header:v,noHeader:i||!m,sortParam:f,blocks:[xn("nameValue",{markerType:"item",markerColor:u,name:S,noName:!lo(S),value:c,valueType:d,dataIndex:t})].concat(h||[])})}function _7e(n,e,t,i,r){var a=e.getData(),o=ss(n,function(d,h,f){var p=a.getDimensionInfo(f);return d=d||p&&p.tooltip!==!1&&p.displayName!=null},!1),s=[],l=[],u=[];i.length?ne(i,function(d){c(N7(a,t,d),d)}):ne(n,c);function c(d,h){var f=a.getDimensionInfo(h);!f||f.otherDims.tooltip===!1||(o?u.push(xn("nameValue",{markerType:"subItem",markerColor:r,name:f.displayName,value:d,valueType:f.type})):(s.push(d),l.push(f.type)))}return{inlineValues:s,inlineValueTypes:l,blocks:u}}var V6=B3();function qp(n,e){return n.getName(e)||n.getId(e)}var tv="__universalTransitionEnabled",H_=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t._selectedDataIndicesMap={},t}return e.prototype.init=function(t,i,r){this.seriesIndex=this.componentIndex,this.dataTask=wd({count:b7e,reset:x7e}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,r);var a=V6(this).sourceManager=new KX(this);a.prepareSource();var o=this.getInitialData(t,r);ZF(o,this),this.dataTask.context.data=o,V6(this).dataBeforeProcessed=o,KF(this),this._initSelectedMapFromData(o)},e.prototype.mergeDefaultAndTheme=function(t,i){var r=uh(this),a=r?pu(t):{},o=this.subType;j3.hasClass(o)&&(o+="Series"),l3(t,i.getTheme().get(this.subType)),l3(t,this.getDefaultOption()),nl(t,"label",["show"]),this.fillDataTextStyle(t.data),r&&$5(t,a,r)},e.prototype.mergeOption=function(t,i){t=l3(this.option,t,!0),this.fillDataTextStyle(t.data);var r=uh(this);r&&$5(this.option,t,r);var a=V6(this).sourceManager;a.dirty(),a.prepareSource();var o=this.getInitialData(t,i);ZF(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,V6(this).dataBeforeProcessed=o,KF(this),this._initSelectedMapFromData(o)},e.prototype.fillDataTextStyle=function(t){if(t&&!pr(t))for(var i=["show"],r=0;r<t.length;r++)t[r]&&t[r].label&&nl(t[r],"label",i)},e.prototype.getInitialData=function(t,i){},e.prototype.appendData=function(t){var i=this.getRawData();i.appendData(t.data)},e.prototype.getData=function(t){var i=VC(this);if(i){var r=i.context.data;return t==null||!r.getLinkedData?r:r.getLinkedData(t)}else return V6(this).data},e.prototype.getAllData=function(){var t=this.getData();return t&&t.getLinkedDataAll?t.getLinkedDataAll():[{data:t}]},e.prototype.setData=function(t){var i=VC(this);if(i){var r=i.context;r.outputData=t,i!==this.dataTask&&(r.data=t)}V6(this).data=t},e.prototype.getEncode=function(){var t=this.get("encode",!0);if(t)return Ct(t)},e.prototype.getSourceManager=function(){return V6(this).sourceManager},e.prototype.getSource=function(){return this.getSourceManager().getSource()},e.prototype.getRawData=function(){return V6(this).dataBeforeProcessed},e.prototype.getColorBy=function(){var t=this.get("colorBy");return t||"series"},e.prototype.isColorBySeries=function(){return this.getColorBy()==="series"},e.prototype.getBaseAxis=function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},e.prototype.formatTooltip=function(t,i,r){return rK({series:this,dataIndex:t,multipleSeries:i})},e.prototype.isAnimationEnabled=function(){var t=this.ecModel;if($3.node&&!(t&&t.ssr))return!1;var i=this.getShallow("animation");return i&&this.getData().count()>this.getShallow("animationThreshold")&&(i=!1),!!i},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,i,r){var a=this.ecModel,o=kP.prototype.getColorFromPalette.call(this,t,i,r);return o||(o=a.getColorFromPalette(t,i,r)),o},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,i){this._innerSelect(this.getData(i),t)},e.prototype.unselect=function(t,i){var r=this.option.selectedMap;if(r){var a=this.option.selectedMode,o=this.getData(i);if(a==="series"||r==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var s=0;s<t.length;s++){var l=t[s],u=qp(o,l);r[u]=!1,this._selectedDataIndicesMap[u]=-1}}},e.prototype.toggleSelect=function(t,i){for(var r=[],a=0;a<t.length;a++)r[0]=t[a],this.isSelected(t[a],i)?this.unselect(r,i):this.select(r,i)},e.prototype.getSelectedDataIndices=function(){if(this.option.selectedMap==="all")return[].slice.call(this.getData().getIndices());for(var t=this._selectedDataIndicesMap,i=E3(t),r=[],a=0;a<i.length;a++){var o=t[i[a]];o>=0&&r.push(o)}return r},e.prototype.isSelected=function(t,i){var r=this.option.selectedMap;if(!r)return!1;var a=this.getData(i);return(r==="all"||r[qp(a,t)])&&!a.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this[tv])return!0;var t=this.option.universalTransition;return t?t===!0?!0:t&&t.enabled:!1},e.prototype._innerSelect=function(t,i){var r,a,o=this.option,s=o.selectedMode,l=i.length;if(!(!s||!l)){if(s==="series")o.selectedMap="all";else if(s==="multiple"){jt(o.selectedMap)||(o.selectedMap={});for(var u=o.selectedMap,c=0;c<l;c++){var d=i[c],h=qp(t,d);u[h]=!0,this._selectedDataIndicesMap[h]=t.getRawIndex(d)}}else if(s==="single"||s===!0){var f=i[l-1],h=qp(t,f);o.selectedMap=(r={},r[h]=!0,r),this._selectedDataIndicesMap=(a={},a[h]=t.getRawIndex(f),a)}}},e.prototype._initSelectedMapFromData=function(t){if(!this.option.selectedMap){var i=[];t.hasItemOption&&t.each(function(r){var a=t.getRawDataItem(r);a&&a.selected&&i.push(r)}),i.length>0&&this._innerSelect(t,i)}},e.registerClass=function(t){return j3.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}(j3);en(H_,G_);en(H_,kP);hq(H_,j3);function KF(n){var e=n.name;cP(n)||(n.name=S7e(n)||e)}function S7e(n){var e=n.getRawData(),t=e.mapDimensionsAll("seriesName"),i=[];return ne(t,function(r){var a=e.getDimensionInfo(r);a.displayName&&i.push(a.displayName)}),i.join(" ")}function b7e(n){return n.model.getRawData().count()}function x7e(n){var e=n.model;return e.setData(e.getRawData().cloneShallow()),w7e}function w7e(n,e){e.outputData&&n.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function ZF(n,e){ne(Jd(n.CHANGABLE_METHODS,n.DOWNSAMPLE_METHODS),function(t){n.wrapMethod(t,r3(T7e,e))})}function T7e(n,e){var t=VC(n);return t&&t.setOutputEnd((e||this).count()),e}function VC(n){var e=(n.ecModel||{}).scheduler,t=e&&e.getPipeline(n.uid);if(t){var i=t.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(n.uid))}return i}}const m0=H_;var UP=function(){function n(){this.group=new qt,this.uid=hu("viewComponent")}return n.prototype.init=function(e,t){},n.prototype.render=function(e,t,i,r){},n.prototype.dispose=function(e,t){},n.prototype.updateView=function(e,t,i,r){},n.prototype.updateLayout=function(e,t,i,r){},n.prototype.updateVisual=function(e,t,i,r){},n.prototype.toggleBlurSeries=function(e,t,i){},n.prototype.eachRendered=function(e){var t=this.group;t&&t.traverse(e)},n}();hP(UP);w_(UP);const T0=UP;function vu(){var n=B3();return function(e){var t=n(e),i=e.pipelineContext,r=!!t.large,a=!!t.progressiveRender,o=t.large=!!(i&&i.large),s=t.progressiveRender=!!(i&&i.progressiveRender);return(r!==o||a!==s)&&"reset"}}var aK=B3(),A7e=vu(),GP=function(){function n(){this.group=new qt,this.uid=hu("viewChart"),this.renderTask=wd({plan:C7e,reset:M7e}),this.renderTask.context={view:this}}return n.prototype.init=function(e,t){},n.prototype.render=function(e,t,i,r){},n.prototype.highlight=function(e,t,i,r){var a=e.getData(r&&r.dataType);a&&QF(a,r,"emphasis")},n.prototype.downplay=function(e,t,i,r){var a=e.getData(r&&r.dataType);a&&QF(a,r,"normal")},n.prototype.remove=function(e,t){this.group.removeAll()},n.prototype.dispose=function(e,t){},n.prototype.updateView=function(e,t,i,r){this.render(e,t,i,r)},n.prototype.updateLayout=function(e,t,i,r){this.render(e,t,i,r)},n.prototype.updateVisual=function(e,t,i,r){this.render(e,t,i,r)},n.prototype.eachRendered=function(e){i9(this.group,e)},n.markUpdateMethod=function(e,t){aK(e).updateMethod=t},n.protoInitialize=function(){var e=n.prototype;e.type="chart"}(),n}();function JF(n,e,t){n&&oh(n)&&(e==="emphasis"?o6:s6)(n,t)}function QF(n,e,t){var i=il(n,e),r=e&&e.highlightKey!=null?J8e(e.highlightKey):null;i!=null?ne(A1(i),function(a){JF(n.getItemGraphicEl(a),t,r)}):n.eachItemGraphicEl(function(a){JF(a,t,r)})}hP(GP);w_(GP);function C7e(n){return A7e(n.model)}function M7e(n){var e=n.model,t=n.ecModel,i=n.api,r=n.payload,a=e.pipelineContext.progressiveRender,o=n.view,s=r&&aK(r).updateMethod,l=a?"incrementalPrepareRender":s&&o[s]?s:"render";return l!=="render"&&o[l](e,t,i,r),E7e[l]}var E7e={incrementalPrepareRender:{progress:function(n,e){e.view.incrementalRender(n,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(n,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}};const K1=GP;var Kv="\0__throttleOriginMethod",eO="\0__throttleRate",tO="\0__throttleType";function W_(n,e,t){var i,r=0,a=0,o=null,s,l,u,c;e=e||0;function d(){a=new Date().getTime(),o=null,n.apply(l,u||[])}var h=function(){for(var f=[],p=0;p<arguments.length;p++)f[p]=arguments[p];i=new Date().getTime(),l=this,u=f;var g=c||e,m=c||t;c=null,s=i-(m?r:a)-g,clearTimeout(o),m?o=setTimeout(d,g):s>=0?d():o=setTimeout(d,-s),r=i};return h.clear=function(){o&&(clearTimeout(o),o=null)},h.debounceNextCall=function(f){c=f},h}function yu(n,e,t,i){var r=n[e];if(r){var a=r[Kv]||r,o=r[tO],s=r[eO];if(s!==t||o!==i){if(t==null||!i)return n[e]=a;r=n[e]=W_(a,t,i==="debounce"),r[Kv]=a,r[tO]=i,r[eO]=t}return r}}function dh(n,e){var t=n[e];t&&t[Kv]&&(t.clear&&t.clear(),n[e]=t[Kv])}var nO=B3(),iO={itemStyle:rl(uX,!0),lineStyle:rl(lX,!0)},P7e={lineStyle:"stroke",itemStyle:"fill"};function oK(n,e){var t=n.visualStyleMapper||iO[e];return t||(console.warn("Unknown style type '"+e+"'."),iO.itemStyle)}function sK(n,e){var t=n.visualDrawType||P7e[e];return t||(console.warn("Unknown style type '"+e+"'."),"fill")}var R7e={createOnAllSeries:!0,performRawSeries:!0,reset:function(n,e){var t=n.getData(),i=n.visualStyleAccessPath||"itemStyle",r=n.getModel(i),a=oK(n,i),o=a(r),s=r.getShallow("decal");s&&(t.setVisual("decal",s),s.dirty=!0);var l=sK(n,i),u=o[l],c=Gt(u)?u:null,d=o.fill==="auto"||o.stroke==="auto";if(!o[l]||c||d){var h=n.getColorFromPalette(n.name,null,e.getSeriesCount());o[l]||(o[l]=h,t.setVisual("colorFromPalette",!0)),o.fill=o.fill==="auto"||Gt(o.fill)?h:o.fill,o.stroke=o.stroke==="auto"||Gt(o.stroke)?h:o.stroke}if(t.setVisual("style",o),t.setVisual("drawType",l),!e.isSeriesFiltered(n)&&c)return t.setVisual("colorFromPalette",!1),{dataEach:function(f,p){var g=n.getDataParams(p),m=L2({},o);m[l]=c(g),f.setItemVisual(p,"style",m)}}}},uc=new X1,L7e={createOnAllSeries:!0,performRawSeries:!0,reset:function(n,e){if(!(n.ignoreStyleOnData||e.isSeriesFiltered(n))){var t=n.getData(),i=n.visualStyleAccessPath||"itemStyle",r=oK(n,i),a=t.getVisual("drawType");return{dataEach:t.hasItemOption?function(o,s){var l=o.getRawDataItem(s);if(l&&l[i]){uc.option=l[i];var u=r(uc),c=o.ensureUniqueItemVisual(s,"style");L2(c,u),uc.option.decal&&(o.setItemVisual(s,"decal",uc.option.decal),uc.option.decal.dirty=!0),a in u&&o.setItemVisual(s,"colorFromPalette",!1)}}:null}}}},I7e={performRawSeries:!0,overallReset:function(n){var e=Ct();n.eachSeries(function(t){var i=t.getColorBy();if(!t.isColorBySeries()){var r=t.type+"-"+i,a=e.get(r);a||(a={},e.set(r,a)),nO(t).scope=a}}),n.eachSeries(function(t){if(!(t.isColorBySeries()||n.isSeriesFiltered(t))){var i=t.getRawData(),r={},a=t.getData(),o=nO(t).scope,s=t.visualStyleAccessPath||"itemStyle",l=sK(t,s);a.each(function(u){var c=a.getRawIndex(u);r[c]=u}),i.each(function(u){var c=r[u],d=a.getItemVisual(c,"colorFromPalette");if(d){var h=a.ensureUniqueItemVisual(c,"style"),f=i.getName(u)||u+"",p=i.count();h[l]=t.getColorFromPalette(f,o,p)}})}})}},Xp=Math.PI;function D7e(n,e){e=e||{},Vt(e,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var t=new qt,i=new V3({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});t.add(i);var r=new Y3({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new V3({style:{fill:"none"},textContent:r,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});t.add(a);var o;return e.showSpinner&&(o=new xP({shape:{startAngle:-Xp/2,endAngle:-Xp/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001}),o.animateShape(!0).when(1e3,{endAngle:Xp*3/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:Xp*3/2}).delay(300).start("circularInOut"),t.add(o)),t.resize=function(){var s=r.getBoundingRect().width,l=e.showSpinner?e.spinnerRadius:0,u=(n.getWidth()-l*2-(e.showSpinner&&s?10:0)-s)/2-(e.showSpinner&&s?0:5+s/2)+(e.showSpinner?0:s/2)+(s?0:l),c=n.getHeight()/2;e.showSpinner&&o.setShape({cx:u,cy:c}),a.setShape({x:u-l,y:c-l,width:l*2,height:l*2}),i.setShape({x:0,y:0,width:n.getWidth(),height:n.getHeight()})},t.resize(),t}var N7e=function(){function n(e,t,i,r){this._stageTaskMap=Ct(),this.ecInstance=e,this.api=t,i=this._dataProcessorHandlers=i.slice(),r=this._visualHandlers=r.slice(),this._allHandlers=i.concat(r)}return n.prototype.restoreData=function(e,t){e.restoreData(t),this._stageTaskMap.each(function(i){var r=i.overallTask;r&&r.dirty()})},n.prototype.getPerformArgs=function(e,t){if(e.__pipeline){var i=this._pipelineMap.get(e.__pipeline.id),r=i.context,a=!t&&i.progressiveEnabled&&(!r||r.progressiveRender)&&e.__idxInPipeline>i.blockIndex,o=a?i.step:null,s=r&&r.modDataCount,l=s!=null?Math.ceil(s/o):null;return{step:o,modBy:l,modDataCount:s}}},n.prototype.getPipeline=function(e){return this._pipelineMap.get(e)},n.prototype.updateStreamModes=function(e,t){var i=this._pipelineMap.get(e.uid),r=e.getData(),a=r.count(),o=i.progressiveEnabled&&t.incrementalPrepareRender&&a>=i.threshold,s=e.get("large")&&a>=e.get("largeThreshold"),l=e.get("progressiveChunkMode")==="mod"?a:null;e.pipelineContext=i.context={progressiveRender:o,modDataCount:l,large:s}},n.prototype.restorePipelines=function(e){var t=this,i=t._pipelineMap=Ct();e.eachSeries(function(r){var a=r.getProgressive(),o=r.uid;i.set(o,{id:o,head:null,tail:null,threshold:r.getProgressiveThreshold(),progressiveEnabled:a&&!(r.preventIncremental&&r.preventIncremental()),blockIndex:-1,step:Math.round(a||700),count:0}),t._pipe(r,r.dataTask)})},n.prototype.prepareStageTasks=function(){var e=this._stageTaskMap,t=this.api.getModel(),i=this.api;ne(this._allHandlers,function(r){var a=e.get(r.uid)||e.set(r.uid,{}),o="";Bi(!(r.reset&&r.overallReset),o),r.reset&&this._createSeriesStageTask(r,a,t,i),r.overallReset&&this._createOverallStageTask(r,a,t,i)},this)},n.prototype.prepareView=function(e,t,i,r){var a=e.renderTask,o=a.context;o.model=t,o.ecModel=i,o.api=r,a.__block=!e.incrementalPrepareRender,this._pipe(t,a)},n.prototype.performDataProcessorTasks=function(e,t){this._performStageTasks(this._dataProcessorHandlers,e,t,{block:!0})},n.prototype.performVisualTasks=function(e,t,i){this._performStageTasks(this._visualHandlers,e,t,i)},n.prototype._performStageTasks=function(e,t,i,r){r=r||{};var a=!1,o=this;ne(e,function(l,u){if(!(r.visualType&&r.visualType!==l.visualType)){var c=o._stageTaskMap.get(l.uid),d=c.seriesTaskMap,h=c.overallTask;if(h){var f,p=h.agentStubMap;p.each(function(m){s(r,m)&&(m.dirty(),f=!0)}),f&&h.dirty(),o.updatePayload(h,i);var g=o.getPerformArgs(h,r.block);p.each(function(m){m.perform(g)}),h.perform(g)&&(a=!0)}else d&&d.each(function(m,v){s(r,m)&&m.dirty();var _=o.getPerformArgs(m,r.block);_.skip=!l.performRawSeries&&t.isSeriesFiltered(m.context.model),o.updatePayload(m,i),m.perform(_)&&(a=!0)})}});function s(l,u){return l.setDirty&&(!l.dirtyMap||l.dirtyMap.get(u.__pipeline.id))}this.unfinished=a||this.unfinished},n.prototype.performSeriesTasks=function(e){var t;e.eachSeries(function(i){t=i.dataTask.perform()||t}),this.unfinished=t||this.unfinished},n.prototype.plan=function(){this._pipelineMap.each(function(e){var t=e.tail;do{if(t.__block){e.blockIndex=t.__idxInPipeline;break}t=t.getUpstream()}while(t)})},n.prototype.updatePayload=function(e,t){t!=="remain"&&(e.context.payload=t)},n.prototype._createSeriesStageTask=function(e,t,i,r){var a=this,o=t.seriesTaskMap,s=t.seriesTaskMap=Ct(),l=e.seriesType,u=e.getTargetSeries;e.createOnAllSeries?i.eachRawSeries(c):l?i.eachRawSeriesByType(l,c):u&&u(i,r).each(c);function c(d){var h=d.uid,f=s.set(h,o&&o.get(h)||wd({plan:z7e,reset:U7e,count:V7e}));f.context={model:d,ecModel:i,api:r,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:a},a._pipe(d,f)}},n.prototype._createOverallStageTask=function(e,t,i,r){var a=this,o=t.overallTask=t.overallTask||wd({reset:k7e});o.context={ecModel:i,api:r,overallReset:e.overallReset,scheduler:a};var s=o.agentStubMap,l=o.agentStubMap=Ct(),u=e.seriesType,c=e.getTargetSeries,d=!0,h=!1,f="";Bi(!e.createOnAllSeries,f),u?i.eachRawSeriesByType(u,p):c?c(i,r).each(p):(d=!1,ne(i.getSeries(),p));function p(g){var m=g.uid,v=l.set(m,s&&s.get(m)||(h=!0,wd({reset:F7e,onDirty:B7e})));v.context={model:g,overallProgress:d},v.agent=o,v.__block=d,a._pipe(g,v)}h&&o.dirty()},n.prototype._pipe=function(e,t){var i=e.uid,r=this._pipelineMap.get(i);!r.head&&(r.head=t),r.tail&&r.tail.pipe(t),r.tail=t,t.__idxInPipeline=r.count++,t.__pipeline=r},n.wrapStageHandler=function(e,t){return Gt(e)&&(e={overallReset:e,seriesType:H7e(e)}),e.uid=hu("stageHandler"),t&&(e.visualType=t),e},n}();function k7e(n){n.overallReset(n.ecModel,n.api,n.payload)}function F7e(n){return n.overallProgress&&O7e}function O7e(){this.agent.dirty(),this.getDownstream().dirty()}function B7e(){this.agent&&this.agent.dirty()}function z7e(n){return n.plan?n.plan(n.model,n.ecModel,n.api,n.payload):null}function U7e(n){n.useClearVisual&&n.data.clearAllVisual();var e=n.resetDefines=A1(n.reset(n.model,n.ecModel,n.api,n.payload));return e.length>1?j2(e,function(t,i){return lK(i)}):G7e}var G7e=lK(0);function lK(n){return function(e,t){var i=t.data,r=t.resetDefines[n];if(r&&r.dataEach)for(var a=e.start;a<e.end;a++)r.dataEach(i,a);else r&&r.progress&&r.progress(e,i)}}function V7e(n){return n.data.count()}function H7e(n){Zv=null;try{n(hh,uK)}catch(e){}return Zv}var hh={},uK={},Zv;cK(hh,NX);cK(uK,kX);hh.eachSeriesByType=hh.eachRawSeriesByType=function(n){Zv=n};hh.eachComponent=function(n){n.mainType==="series"&&n.subType&&(Zv=n.subType)};function cK(n,e){for(var t in e.prototype)n[t]=U0}const dK=N7e;var rO=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"];const W7e={color:rO,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],rO]};var ci="#B9B8CE",aO="#100C2A",Kp=function(){return{axisLine:{lineStyle:{color:ci}},splitLine:{lineStyle:{color:"#484753"}},splitArea:{areaStyle:{color:["rgba(255,255,255,0.02)","rgba(255,255,255,0.05)"]}},minorSplitLine:{lineStyle:{color:"#20203B"}}}},oO=["#4992ff","#7cffb2","#fddd60","#ff6e76","#58d9f9","#05c091","#ff8a45","#8d48e3","#dd79ff"],hK={darkMode:!0,color:oO,backgroundColor:aO,axisPointer:{lineStyle:{color:"#817f91"},crossStyle:{color:"#817f91"},label:{color:"#fff"}},legend:{textStyle:{color:ci},pageTextStyle:{color:ci}},textStyle:{color:ci},title:{textStyle:{color:"#EEF1FA"},subtextStyle:{color:"#B9B8CE"}},toolbox:{iconStyle:{borderColor:ci}},dataZoom:{borderColor:"#71708A",textStyle:{color:ci},brushStyle:{color:"rgba(135,163,206,0.3)"},handleStyle:{color:"#353450",borderColor:"#C5CBE3"},moveHandleStyle:{color:"#B0B6C3",opacity:.3},fillerColor:"rgba(135,163,206,0.2)",emphasis:{handleStyle:{borderColor:"#91B7F2",color:"#4D587D"},moveHandleStyle:{color:"#636D9A",opacity:.7}},dataBackground:{lineStyle:{color:"#71708A",width:1},areaStyle:{color:"#71708A"}},selectedDataBackground:{lineStyle:{color:"#87A3CE"},areaStyle:{color:"#87A3CE"}}},visualMap:{textStyle:{color:ci}},timeline:{lineStyle:{color:ci},label:{color:ci},controlStyle:{color:ci,borderColor:ci}},calendar:{itemStyle:{color:aO},dayLabel:{color:ci},monthLabel:{color:ci},yearLabel:{color:ci}},timeAxis:Kp(),logAxis:Kp(),valueAxis:Kp(),categoryAxis:Kp(),line:{symbol:"circle"},graph:{color:oO},gauge:{title:{color:ci},axisLine:{lineStyle:{color:[[1,"rgba(207,212,219,0.2)"]]}},axisLabel:{color:ci},detail:{color:"#EEF1FA"}},candlestick:{itemStyle:{color:"#f64e56",color0:"#54ea92",borderColor:"#f64e56",borderColor0:"#54ea92"}}};hK.categoryAxis.splitLine.show=!1;const j7e=hK;var $7e=function(){function n(){}return n.prototype.normalizeQuery=function(e){var t={},i={},r={};if(_t(e)){var a=Zo(e);t.mainType=a.main||null,t.subType=a.sub||null}else{var o=["Index","Name","Id"],s={name:1,dataIndex:1,dataType:1};ne(e,function(l,u){for(var c=!1,d=0;d<o.length;d++){var h=o[d],f=u.lastIndexOf(h);if(f>0&&f===u.length-h.length){var p=u.slice(0,f);p!=="data"&&(t.mainType=p,t[h.toLowerCase()]=l,c=!0)}}s.hasOwnProperty(u)&&(i[u]=l,c=!0),c||(r[u]=l)})}return{cptQuery:t,dataQuery:i,otherQuery:r}},n.prototype.filter=function(e,t){var i=this.eventInfo;if(!i)return!0;var r=i.targetEl,a=i.packedEvent,o=i.model,s=i.view;if(!o||!s)return!0;var l=t.cptQuery,u=t.dataQuery;return c(l,o,"mainType")&&c(l,o,"subType")&&c(l,o,"index","componentIndex")&&c(l,o,"name")&&c(l,o,"id")&&c(u,a,"name")&&c(u,a,"dataIndex")&&c(u,a,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(e,t.otherQuery,r,a));function c(d,h,f,p){return d[f]==null||h[p||f]===d[f]}},n.prototype.afterTrigger=function(){this.eventInfo=null},n}(),HC=["symbol","symbolSize","symbolRotate","symbolOffset"],sO=HC.concat(["symbolKeepAspect"]),Y7e={createOnAllSeries:!0,performRawSeries:!0,reset:function(n,e){var t=n.getData();if(n.legendIcon&&t.setVisual("legendIcon",n.legendIcon),!n.hasSymbolVisual)return;for(var i={},r={},a=!1,o=0;o<HC.length;o++){var s=HC[o],l=n.get(s);Gt(l)?(a=!0,r[s]=l):i[s]=l}if(i.symbol=i.symbol||n.defaultSymbol,t.setVisual(L2({legendIcon:n.legendIcon||i.symbol,symbolKeepAspect:n.get("symbolKeepAspect")},i)),e.isSeriesFiltered(n))return;var u=E3(r);function c(d,h){for(var f=n.getRawValue(h),p=n.getDataParams(h),g=0;g<u.length;g++){var m=u[g];d.setItemVisual(h,m,r[m](f,p))}}return{dataEach:a?c:null}}},q7e={createOnAllSeries:!0,performRawSeries:!0,reset:function(n,e){if(!n.hasSymbolVisual||e.isSeriesFiltered(n))return;var t=n.getData();function i(r,a){for(var o=r.getItemModel(a),s=0;s<sO.length;s++){var l=sO[s],u=o.getShallow(l,!0);u!=null&&r.setItemVisual(a,l,u)}}return{dataEach:t.hasItemOption?i:null}}};function VP(n,e,t){switch(t){case"color":var i=n.getItemVisual(e,"style");return i[n.getVisual("drawType")];case"opacity":return n.getItemVisual(e,"style").opacity;case"symbol":case"symbolSize":case"liftZ":return n.getItemVisual(e,t)}}function nf(n,e){switch(e){case"color":var t=n.getVisual("style");return t[n.getVisual("drawType")];case"opacity":return n.getVisual("style").opacity;case"symbol":case"symbolSize":case"liftZ":return n.getVisual(e)}}function fK(n,e,t,i){switch(t){case"color":var r=n.ensureUniqueItemVisual(e,"style");r[n.getVisual("drawType")]=i,n.setItemVisual(e,"colorFromPalette",!1);break;case"opacity":n.ensureUniqueItemVisual(e,"style").opacity=i;break;case"symbol":case"symbolSize":case"liftZ":n.setItemVisual(e,t,i);break}}function pK(n,e){function t(i,r){var a=[];return i.eachComponent({mainType:"series",subType:n,query:r},function(o){a.push(o.seriesIndex)}),a}ne([[n+"ToggleSelect","toggleSelect"],[n+"Select","select"],[n+"UnSelect","unselect"]],function(i){e(i[0],function(r,a,o){r=L2({},r),o.dispatchAction(L2(r,{type:i[1],seriesIndex:t(a,r)}))})})}function n4(n,e,t,i,r){var a=n+e;t.isSilent(a)||i.eachComponent({mainType:"series",subType:"pie"},function(o){for(var s=o.seriesIndex,l=o.option.selectedMap,u=r.selected,c=0;c<u.length;c++)if(u[c].seriesIndex===s){var d=o.getData(),h=il(d,r.fromActionPayload);t.trigger(a,{type:a,seriesId:o.id,name:H2(h)?d.getName(h[0]):d.getName(h),selected:_t(l)?l:L2({},l)})}})}function X7e(n,e,t){n.on("selectchanged",function(i){var r=t.getModel();i.isFromClick?(n4("map","selectchanged",e,r,i),n4("pie","selectchanged",e,r,i)):i.fromAction==="select"?(n4("map","selected",e,r,i),n4("pie","selected",e,r,i)):i.fromAction==="unselect"&&(n4("map","unselected",e,r,i),n4("pie","unselected",e,r,i))})}function C8(n,e,t){for(var i;n&&!(e(n)&&(i=n,t));)n=n.__hostTarget||n.parent;return i}var K7e=Math.round(Math.random()*9),Z7e=typeof Object.defineProperty=="function",J7e=function(){function n(){this._id="__ec_inner_"+K7e++}return n.prototype.get=function(e){return this._guard(e)[this._id]},n.prototype.set=function(e,t){var i=this._guard(e);return Z7e?Object.defineProperty(i,this._id,{value:t,enumerable:!1,configurable:!0}):i[this._id]=t,this},n.prototype.delete=function(e){return this.has(e)?(delete this._guard(e)[this._id],!0):!1},n.prototype.has=function(e){return!!this._guard(e)[this._id]},n.prototype._guard=function(e){if(e!==Object(e))throw TypeError("Value of WeakMap is not a non-null object.");return e},n}();const Q7e=J7e;var eue=C3.extend({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(n,e){var t=e.cx,i=e.cy,r=e.width/2,a=e.height/2;n.moveTo(t,i-a),n.lineTo(t+r,i+a),n.lineTo(t-r,i+a),n.closePath()}}),tue=C3.extend({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(n,e){var t=e.cx,i=e.cy,r=e.width/2,a=e.height/2;n.moveTo(t,i-a),n.lineTo(t+r,i),n.lineTo(t,i+a),n.lineTo(t-r,i),n.closePath()}}),nue=C3.extend({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(n,e){var t=e.x,i=e.y,r=e.width/5*3,a=Math.max(r,e.height),o=r/2,s=o*o/(a-o),l=i-a+o+s,u=Math.asin(s/o),c=Math.cos(u)*o,d=Math.sin(u),h=Math.cos(u),f=o*.6,p=o*.7;n.moveTo(t-c,l+s),n.arc(t,l,o,Math.PI-u,Math.PI*2+u),n.bezierCurveTo(t+c-d*f,l+s+h*f,t,i-p,t,i),n.bezierCurveTo(t,i-p,t-c+d*f,l+s+h*f,t-c,l+s),n.closePath()}}),iue=C3.extend({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(n,e){var t=e.height,i=e.width,r=e.x,a=e.y,o=i/3*2;n.moveTo(r,a),n.lineTo(r+o,a+t),n.lineTo(r,a+t/4*3),n.lineTo(r-o,a+t),n.lineTo(r,a),n.closePath()}}),rue={line:Fn,rect:V3,roundRect:V3,square:V3,circle:n9,diamond:tue,pin:nue,arrow:iue,triangle:eue},aue={line:function(n,e,t,i,r){r.x1=n,r.y1=e+i/2,r.x2=n+t,r.y2=e+i/2},rect:function(n,e,t,i,r){r.x=n,r.y=e,r.width=t,r.height=i},roundRect:function(n,e,t,i,r){r.x=n,r.y=e,r.width=t,r.height=i,r.r=Math.min(t,i)/4},square:function(n,e,t,i,r){var a=Math.min(t,i);r.x=n,r.y=e,r.width=a,r.height=a},circle:function(n,e,t,i,r){r.cx=n+t/2,r.cy=e+i/2,r.r=Math.min(t,i)/2},diamond:function(n,e,t,i,r){r.cx=n+t/2,r.cy=e+i/2,r.width=t,r.height=i},pin:function(n,e,t,i,r){r.x=n+t/2,r.y=e+i/2,r.width=t,r.height=i},arrow:function(n,e,t,i,r){r.x=n+t/2,r.y=e+i/2,r.width=t,r.height=i},triangle:function(n,e,t,i,r){r.cx=n+t/2,r.cy=e+i/2,r.width=t,r.height=i}},Jv={};ne(rue,function(n,e){Jv[e]=new n});var oue=C3.extend({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(n,e,t){var i=Gv(n,e,t),r=this.shape;return r&&r.symbolType==="pin"&&e.position==="inside"&&(i.y=t.y+t.height*.4),i},buildPath:function(n,e,t){var i=e.symbolType;if(i!=="none"){var r=Jv[i];r||(i="rect",r=Jv[i]),aue[i](e.x,e.y,e.width,e.height,r.shape),r.buildPath(n,r.shape,t)}}});function sue(n,e){if(this.type!=="image"){var t=this.style;this.__isEmptyBrush?(t.stroke=n,t.fill=e||"#fff",t.lineWidth=2):this.shape.symbolType==="line"?t.stroke=n:t.fill=n,this.markRedraw()}}function J0(n,e,t,i,r,a,o){var s=n.indexOf("empty")===0;s&&(n=n.substr(5,1).toLowerCase()+n.substr(6));var l;return n.indexOf("image://")===0?l=eX(n.slice(8),new h3(e,t,i,r),o?"center":"cover"):n.indexOf("path://")===0?l=L_(n.slice(7),{},new h3(e,t,i,r),o?"center":"cover"):l=new oue({shape:{symbolType:n,x:e,y:t,width:i,height:r}}),l.__isEmptyBrush=s,l.setColor=sue,a&&l.setColor(a),l}function _u(n){return H2(n)||(n=[+n,+n]),[n[0]||0,n[1]||0]}function wl(n,e){if(n!=null)return H2(n)||(n=[n,n]),[ft(n[0],e[0])||0,ft(e3(n[1],n[0]),e[1])||0]}function M8(n){return isFinite(n)}function lue(n,e,t){var i=e.x==null?0:e.x,r=e.x2==null?1:e.x2,a=e.y==null?0:e.y,o=e.y2==null?0:e.y2;e.global||(i=i*t.width+t.x,r=r*t.width+t.x,a=a*t.height+t.y,o=o*t.height+t.y),i=M8(i)?i:0,r=M8(r)?r:1,a=M8(a)?a:0,o=M8(o)?o:0;var s=n.createLinearGradient(i,a,r,o);return s}function uue(n,e,t){var i=t.width,r=t.height,a=Math.min(i,r),o=e.x==null?.5:e.x,s=e.y==null?.5:e.y,l=e.r==null?.5:e.r;e.global||(o=o*i+t.x,s=s*r+t.y,l=l*a),o=M8(o)?o:.5,s=M8(s)?s:.5,l=l>=0&&M8(l)?l:.5;var u=n.createRadialGradient(o,s,0,o,s,l);return u}function WC(n,e,t){for(var i=e.type==="radial"?uue(n,e,t):lue(n,e,t),r=e.colorStops,a=0;a<r.length;a++)i.addColorStop(r[a].offset,r[a].color);return i}function cue(n,e){if(n===e||!n&&!e)return!1;if(!n||!e||n.length!==e.length)return!0;for(var t=0;t<n.length;t++)if(n[t]!==e[t])return!0;return!1}function Zp(n){return parseInt(n,10)}function J4(n,e,t){var i=["width","height"][e],r=["clientWidth","clientHeight"][e],a=["paddingLeft","paddingTop"][e],o=["paddingRight","paddingBottom"][e];if(t[i]!=null&&t[i]!=="auto")return parseFloat(t[i]);var s=document.defaultView.getComputedStyle(n);return(n[r]||Zp(s[i])||Zp(n.style[i]))-(Zp(s[a])||0)-(Zp(s[o])||0)|0}function due(n,e){return!n||n==="solid"||!(e>0)?null:n==="dashed"?[4*e,2*e]:n==="dotted"?[e]:q3(n)?[n]:H2(n)?n:null}function HP(n){var e=n.style,t=e.lineDash&&e.lineWidth>0&&due(e.lineDash,e.lineWidth),i=e.lineDashOffset;if(t){var r=e.strokeNoScale&&n.getLineScale?n.getLineScale():1;r&&r!==1&&(t=j2(t,function(a){return a/r}),i/=r)}return[t,i]}var hue=new ds(!0);function Qv(n){var e=n.stroke;return!(e==null||e==="none"||!(n.lineWidth>0))}function lO(n){return typeof n=="string"&&n!=="none"}function ey(n){var e=n.fill;return e!=null&&e!=="none"}function uO(n,e){if(e.fillOpacity!=null&&e.fillOpacity!==1){var t=n.globalAlpha;n.globalAlpha=e.fillOpacity*e.opacity,n.fill(),n.globalAlpha=t}else n.fill()}function cO(n,e){if(e.strokeOpacity!=null&&e.strokeOpacity!==1){var t=n.globalAlpha;n.globalAlpha=e.strokeOpacity*e.opacity,n.stroke(),n.globalAlpha=t}else n.stroke()}function jC(n,e,t){var i=fP(e.image,e.__image,t);if(T_(i)){var r=n.createPattern(i,e.repeat||"repeat");if(typeof DOMMatrix=="function"&&r&&r.setTransform){var a=new DOMMatrix;a.translateSelf(e.x||0,e.y||0),a.rotateSelf(0,0,(e.rotation||0)*Gg),a.scaleSelf(e.scaleX||1,e.scaleY||1),r.setTransform(a)}return r}}function fue(n,e,t,i){var r,a=Qv(t),o=ey(t),s=t.strokePercent,l=s<1,u=!e.path;(!e.silent||l)&&u&&e.createPathProxy();var c=e.path||hue,d=e.__dirty;if(!i){var h=t.fill,f=t.stroke,p=o&&!!h.colorStops,g=a&&!!f.colorStops,m=o&&!!h.image,v=a&&!!f.image,_=void 0,S=void 0,x=void 0,A=void 0,C=void 0;(p||g)&&(C=e.getBoundingRect()),p&&(_=d?WC(n,h,C):e.__canvasFillGradient,e.__canvasFillGradient=_),g&&(S=d?WC(n,f,C):e.__canvasStrokeGradient,e.__canvasStrokeGradient=S),m&&(x=d||!e.__canvasFillPattern?jC(n,h,e):e.__canvasFillPattern,e.__canvasFillPattern=x),v&&(A=d||!e.__canvasStrokePattern?jC(n,f,e):e.__canvasStrokePattern,e.__canvasStrokePattern=x),p?n.fillStyle=_:m&&(x?n.fillStyle=x:o=!1),g?n.strokeStyle=S:v&&(A?n.strokeStyle=A:a=!1)}var M=e.getGlobalScale();c.setScale(M[0],M[1],e.segmentIgnoreThreshold);var I,D;n.setLineDash&&t.lineDash&&(r=HP(e),I=r[0],D=r[1]);var E=!0;(u||d&B4)&&(c.setDPR(n.dpr),l?c.setContext(null):(c.setContext(n),E=!1),c.reset(),e.buildPath(c,e.shape,i),c.toStatic(),e.pathUpdated()),E&&c.rebuildPath(n,l?s:1),I&&(n.setLineDash(I),n.lineDashOffset=D),i||(t.strokeFirst?(a&&cO(n,t),o&&uO(n,t)):(o&&uO(n,t),a&&cO(n,t))),I&&n.setLineDash([])}function pue(n,e,t){var i=e.__image=fP(t.image,e.__image,e,e.onload);if(!(!i||!T_(i))){var r=t.x||0,a=t.y||0,o=e.getWidth(),s=e.getHeight(),l=i.width/i.height;if(o==null&&s!=null?o=s*l:s==null&&o!=null?s=o/l:o==null&&s==null&&(o=i.width,s=i.height),t.sWidth&&t.sHeight){var u=t.sx||0,c=t.sy||0;n.drawImage(i,u,c,t.sWidth,t.sHeight,r,a,o,s)}else if(t.sx&&t.sy){var u=t.sx,c=t.sy,d=o-u,h=s-c;n.drawImage(i,u,c,d,h,r,a,o,s)}else n.drawImage(i,r,a,o,s)}}function mue(n,e,t){var i,r=t.text;if(r!=null&&(r+=""),r){n.font=t.font||V5,n.textAlign=t.textAlign,n.textBaseline=t.textBaseline;var a=void 0,o=void 0;n.setLineDash&&t.lineDash&&(i=HP(e),a=i[0],o=i[1]),a&&(n.setLineDash(a),n.lineDashOffset=o),t.strokeFirst?(Qv(t)&&n.strokeText(r,t.x,t.y),ey(t)&&n.fillText(r,t.x,t.y)):(ey(t)&&n.fillText(r,t.x,t.y),Qv(t)&&n.strokeText(r,t.x,t.y)),a&&n.setLineDash([])}}var dO=["shadowBlur","shadowOffsetX","shadowOffsetY"],hO=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function mK(n,e,t,i,r){var a=!1;if(!i&&(t=t||{},e===t))return!1;if(i||e.opacity!==t.opacity){nr(n,r),a=!0;var o=Math.max(Math.min(e.opacity,1),0);n.globalAlpha=isNaN(o)?U8.opacity:o}(i||e.blend!==t.blend)&&(a||(nr(n,r),a=!0),n.globalCompositeOperation=e.blend||U8.blend);for(var s=0;s<dO.length;s++){var l=dO[s];(i||e[l]!==t[l])&&(a||(nr(n,r),a=!0),n[l]=n.dpr*(e[l]||0))}return(i||e.shadowColor!==t.shadowColor)&&(a||(nr(n,r),a=!0),n.shadowColor=e.shadowColor||U8.shadowColor),a}function fO(n,e,t,i,r){var a=fh(e,r.inHover),o=i?null:t&&fh(t,r.inHover)||{};if(a===o)return!1;var s=mK(n,a,o,i,r);if((i||a.fill!==o.fill)&&(s||(nr(n,r),s=!0),lO(a.fill)&&(n.fillStyle=a.fill)),(i||a.stroke!==o.stroke)&&(s||(nr(n,r),s=!0),lO(a.stroke)&&(n.strokeStyle=a.stroke)),(i||a.opacity!==o.opacity)&&(s||(nr(n,r),s=!0),n.globalAlpha=a.opacity==null?1:a.opacity),e.hasStroke()){var l=a.lineWidth,u=l/(a.strokeNoScale&&e.getLineScale?e.getLineScale():1);n.lineWidth!==u&&(s||(nr(n,r),s=!0),n.lineWidth=u)}for(var c=0;c<hO.length;c++){var d=hO[c],h=d[0];(i||a[h]!==o[h])&&(s||(nr(n,r),s=!0),n[h]=a[h]||d[1])}return s}function gue(n,e,t,i,r){return mK(n,fh(e,r.inHover),t&&fh(t,r.inHover),i,r)}function gK(n,e){var t=e.transform,i=n.dpr||1;t?n.setTransform(i*t[0],i*t[1],i*t[2],i*t[3],i*t[4],i*t[5]):n.setTransform(i,0,0,i,0,0)}function vue(n,e,t){for(var i=!1,r=0;r<n.length;r++){var a=n[r];i=i||a.isZeroArea(),gK(e,a),e.beginPath(),a.buildPath(e,a.shape),e.clip()}t.allClipped=i}function yue(n,e){return n&&e?n[0]!==e[0]||n[1]!==e[1]||n[2]!==e[2]||n[3]!==e[3]||n[4]!==e[4]||n[5]!==e[5]:!(!n&&!e)}var pO=1,mO=2,gO=3,vO=4;function _ue(n){var e=ey(n),t=Qv(n);return!(n.lineDash||!(+e^+t)||e&&typeof n.fill!="string"||t&&typeof n.stroke!="string"||n.strokePercent<1||n.strokeOpacity<1||n.fillOpacity<1)}function nr(n,e){e.batchFill&&n.fill(),e.batchStroke&&n.stroke(),e.batchFill="",e.batchStroke=""}function fh(n,e){return e&&n.__hoverStyle||n.style}function vK(n,e){E8(n,e,{inHover:!1,viewWidth:0,viewHeight:0},!0)}function E8(n,e,t,i){var r=e.transform;if(!e.shouldBePainted(t.viewWidth,t.viewHeight,!1,!1)){e.__dirty&=~Fr,e.__isRendered=!1;return}var a=e.__clipPaths,o=t.prevElClipPaths,s=!1,l=!1;if((!o||cue(a,o))&&(o&&o.length&&(nr(n,t),n.restore(),l=s=!0,t.prevElClipPaths=null,t.allClipped=!1,t.prevEl=null),a&&a.length&&(nr(n,t),n.save(),vue(a,n,t),s=!0),t.prevElClipPaths=a),t.allClipped){e.__isRendered=!1;return}e.beforeBrush&&e.beforeBrush(),e.innerBeforeBrush();var u=t.prevEl;u||(l=s=!0);var c=e instanceof C3&&e.autoBatch&&_ue(e.style);s||yue(r,u.transform)?(nr(n,t),gK(n,e)):c||nr(n,t);var d=fh(e,t.inHover);e instanceof C3?(t.lastDrawType!==pO&&(l=!0,t.lastDrawType=pO),fO(n,e,u,l,t),(!c||!t.batchFill&&!t.batchStroke)&&n.beginPath(),fue(n,e,d,c),c&&(t.batchFill=d.fill||"",t.batchStroke=d.stroke||"")):e instanceof rh?(t.lastDrawType!==gO&&(l=!0,t.lastDrawType=gO),fO(n,e,u,l,t),mue(n,e,d)):e instanceof ti?(t.lastDrawType!==mO&&(l=!0,t.lastDrawType=mO),gue(n,e,u,l,t),pue(n,e,d)):e.getTemporalDisplayables&&(t.lastDrawType!==vO&&(l=!0,t.lastDrawType=vO),Sue(n,e,t)),c&&i&&nr(n,t),e.innerAfterBrush(),e.afterBrush&&e.afterBrush(),t.prevEl=e,e.__dirty=0,e.__isRendered=!0}function Sue(n,e,t){var i=e.getDisplayables(),r=e.getTemporalDisplayables();n.save();var a={prevElClipPaths:null,prevEl:null,allClipped:!1,viewWidth:t.viewWidth,viewHeight:t.viewHeight,inHover:t.inHover},o,s;for(o=e.getCursor(),s=i.length;o<s;o++){var l=i[o];l.beforeBrush&&l.beforeBrush(),l.innerBeforeBrush(),E8(n,l,a,o===s-1),l.innerAfterBrush(),l.afterBrush&&l.afterBrush(),a.prevEl=l}for(var u=0,c=r.length;u<c;u++){var l=r[u];l.beforeBrush&&l.beforeBrush(),l.innerBeforeBrush(),E8(n,l,a,u===c-1),l.innerAfterBrush(),l.afterBrush&&l.afterBrush(),a.prevEl=l}e.clearTemporalDisplayables(),e.notClear=!0,n.restore()}var Xx=new Q7e,yO=new Xh(100),_O=["symbol","symbolSize","symbolKeepAspect","color","backgroundColor","dashArrayX","dashArrayY","maxTileWidth","maxTileHeight"];function k7(n,e){if(n==="none")return null;var t=e.getDevicePixelRatio(),i=e.getZr(),r=i.painter.type==="svg";n.dirty&&Xx.delete(n);var a=Xx.get(n);if(a)return a;var o=Vt(n,{symbol:"rect",symbolSize:1,symbolKeepAspect:!0,color:"rgba(0, 0, 0, 0.2)",backgroundColor:null,dashArrayX:5,dashArrayY:5,rotation:0,maxTileWidth:512,maxTileHeight:512});o.backgroundColor==="none"&&(o.backgroundColor=null);var s={repeat:"repeat"};return l(s),s.rotation=o.rotation,s.scaleX=s.scaleY=r?1:1/t,Xx.set(n,s),n.dirty=!1,s;function l(u){for(var c=[t],d=!0,h=0;h<_O.length;++h){var f=o[_O[h]];if(f!=null&&!H2(f)&&!_t(f)&&!q3(f)&&typeof f!="boolean"){d=!1;break}c.push(f)}var p;if(d){p=c.join(",")+(r?"-svg":"");var g=yO.get(p);g&&(r?u.svgElement=g:u.image=g)}var m=_K(o.dashArrayX),v=bue(o.dashArrayY),_=yK(o.symbol),S=xue(m),x=SK(v),A=!r&&H5.createCanvas(),C=r&&{tag:"g",attrs:{},key:"dcl",children:[]},M=D(),I;A&&(A.width=M.width*t,A.height=M.height*t,I=A.getContext("2d")),E(),d&&yO.put(p,A||C),u.image=A,u.svgElement=C,u.svgWidth=M.width,u.svgHeight=M.height;function D(){for(var L=1,V=0,Y=S.length;V<Y;++V)L=Fk(L,S[V]);for(var G=1,V=0,Y=_.length;V<Y;++V)G=Fk(G,_[V].length);L*=G;var W=x*S.length*_.length;return{width:Math.max(1,Math.min(L,o.maxTileWidth)),height:Math.max(1,Math.min(W,o.maxTileHeight))}}function E(){I&&(I.clearRect(0,0,A.width,A.height),o.backgroundColor&&(I.fillStyle=o.backgroundColor,I.fillRect(0,0,A.width,A.height)));for(var L=0,V=0;V<v.length;++V)L+=v[V];if(L<=0)return;for(var Y=-x,G=0,W=0,q=0;Y<M.height;){if(G%2===0){for(var ce=W/2%_.length,J=0,H=0,re=0;J<M.width*2;){for(var ee=0,V=0;V<m[q].length;++V)ee+=m[q][V];if(ee<=0)break;if(H%2===0){var se=(1-o.symbolSize)*.5,Be=J+m[q][H]*se,we=Y+v[G]*se,ve=m[q][H]*o.symbolSize,Ke=v[G]*o.symbolSize,p2=re/2%_[ce].length;c2(Be,we,ve,Ke,_[ce][p2])}J+=m[q][H],++re,++H,H===m[q].length&&(H=0)}++q,q===m.length&&(q=0)}Y+=v[G],++W,++G,G===v.length&&(G=0)}function c2(s2,R2,w2,Re,k2){var x2=r?1:t,D2=J0(k2,s2*x2,R2*x2,w2*x2,Re*x2,o.color,o.symbolKeepAspect);if(r){var z=i.painter.renderOneToVNode(D2);z&&C.children.push(z)}else vK(I,D2)}}}}function yK(n){if(!n||n.length===0)return[["rect"]];if(_t(n))return[[n]];for(var e=!0,t=0;t<n.length;++t)if(!_t(n[t])){e=!1;break}if(e)return yK([n]);for(var i=[],t=0;t<n.length;++t)_t(n[t])?i.push([n[t]]):i.push(n[t]);return i}function _K(n){if(!n||n.length===0)return[[0,0]];if(q3(n)){var e=Math.ceil(n);return[[e,e]]}for(var t=!0,i=0;i<n.length;++i)if(!q3(n[i])){t=!1;break}if(t)return _K([n]);for(var r=[],i=0;i<n.length;++i)if(q3(n[i])){var e=Math.ceil(n[i]);r.push([e,e])}else{var e=j2(n[i],function(s){return Math.ceil(s)});e.length%2===1?r.push(e.concat(e)):r.push(e)}return r}function bue(n){if(!n||typeof n=="object"&&n.length===0)return[0,0];if(q3(n)){var e=Math.ceil(n);return[e,e]}var t=j2(n,function(i){return Math.ceil(i)});return n.length%2?t.concat(t):t}function xue(n){return j2(n,function(e){return SK(e)})}function SK(n){for(var e=0,t=0;t<n.length;++t)e+=n[t];return n.length%2===1?e*2:e}function wue(n,e){n.eachRawSeries(function(t){if(!n.isSeriesFiltered(t)){var i=t.getData();i.hasItemVisual()&&i.each(function(o){var s=i.getItemVisual(o,"decal");if(s){var l=i.ensureUniqueItemVisual(o,"style");l.decal=k7(s,e)}});var r=i.getVisual("decal");if(r){var a=i.getVisual("style");a.decal=k7(r,e)}}})}var Tue=new Ua;const io=Tue;var bK={};function Aue(n,e){bK[n]=e}function Cue(n){return bK[n]}var Mue=1,Eue=800,Pue=900,Rue=1e3,Lue=2e3,Iue=5e3,xK=1e3,Due=1100,WP=2e3,wK=3e3,Nue=4e3,j_=4500,kue=4600,Fue=5e3,Oue=6e3,TK=7e3,Bue={PROCESSOR:{FILTER:Rue,SERIES_FILTER:Eue,STATISTIC:Iue},VISUAL:{LAYOUT:xK,PROGRESSIVE_LAYOUT:Due,GLOBAL:WP,CHART:wK,POST_CHART_LAYOUT:kue,COMPONENT:Nue,BRUSH:Fue,CHART_ITEM:j_,ARIA:Oue,DECAL:TK}},si="__flagInMainProcess",Xi="__pendingUpdate",Kx="__needsUpdateStatus",SO=/^[a-zA-Z0-9_]+$/,Zx="__connectUpdateStatus",bO=0,zue=1,Uue=2;function AK(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(this.isDisposed()){this.id;return}return MK(this,n,e)}}function CK(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return MK(this,n,e)}}function MK(n,e,t){return t[0]=t[0]&&t[0].toLowerCase(),Ua.prototype[e].apply(n,t)}var EK=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(Ua),PK=EK.prototype;PK.on=CK("on");PK.off=CK("off");var i4,Jx,Jp,H6,Qx,ew,tw,cc,dc,xO,wO,nw,TO,Qp,AO,RK,ra,CO,LK=function(n){g2(e,n);function e(t,i,r){var a=n.call(this,new $7e)||this;a._chartsViews=[],a._chartsMap={},a._componentsViews=[],a._componentsMap={},a._pendingActions=[],r=r||{},_t(i)&&(i=IK[i]),a._dom=t;var o="canvas",s="auto",l=!1;r.ssr&&_9e(function(h){var f=Xt(h),p=f.dataIndex;if(p!=null){var g=Ct();return g.set("series_index",f.seriesIndex),g.set("data_index",p),f.ssrType&&g.set("ssr_type",f.ssrType),g}});var u=a._zr=Ik(t,{renderer:r.renderer||o,devicePixelRatio:r.devicePixelRatio,width:r.width,height:r.height,ssr:r.ssr,useDirtyRect:e3(r.useDirtyRect,l),useCoarsePointer:e3(r.useCoarsePointer,s),pointerSize:r.pointerSize});a._ssr=r.ssr,a._throttledZrFlush=W_(St(u.flush,u),17),i=$t(i),i&&OX(i,!0),a._theme=i,a._locale=Jle(r.locale||cX),a._coordSysMgr=new tf;var c=a._api=AO(a);function d(h,f){return h.__prio-f.__prio}return Wg(ny,d),Wg($C,d),a._scheduler=new dK(a,c,$C,ny),a._messageCenter=new EK,a._initEvents(),a.resize=St(a.resize,a),u.animation.on("frame",a._onframe,a),xO(u,a),wO(u,a),Nv(a),a}return e.prototype._onframe=function(){if(!this._disposed){CO(this);var t=this._scheduler;if(this[Xi]){var i=this[Xi].silent;this[si]=!0;try{i4(this),H6.update.call(this,null,this[Xi].updateParams)}catch(l){throw this[si]=!1,this[Xi]=null,l}this._zr.flush(),this[si]=!1,this[Xi]=null,cc.call(this,i),dc.call(this,i)}else if(t.unfinished){var r=Mue,a=this._model,o=this._api;t.unfinished=!1;do{var s=+new Date;t.performSeriesTasks(a),t.performDataProcessorTasks(a),ew(this,a),t.performVisualTasks(a),Qp(this,this._model,o,"remain",{}),r-=+new Date-s}while(r>0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,i,r){if(!this[si]){if(this._disposed){this.id;return}var a,o,s;if(jt(i)&&(r=i.lazyUpdate,a=i.silent,o=i.replaceMerge,s=i.transition,i=i.notMerge),this[si]=!0,!this._model||i){var l=new R4e(this._api),u=this._theme,c=this._model=new NX;c.scheduler=this._scheduler,c.ssr=this._ssr,c.init(null,null,null,u,this._locale,l)}this._model.setOption(t,{replaceMerge:o},YC);var d={seriesTransition:s,optionChanged:!0};if(r)this[Xi]={silent:a,updateParams:d},this[si]=!1,this.getZr().wakeUp();else{try{i4(this),H6.update.call(this,null,d)}catch(h){throw this[Xi]=null,this[si]=!1,h}this._ssr||this._zr.flush(),this[Xi]=null,this[si]=!1,cc.call(this,a),dc.call(this,a)}}},e.prototype.setTheme=function(){},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||$3.hasGlobalWindow&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var i=this._zr.painter;return i.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var i=this._zr.painter;return i.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if($3.svgSupported){var t=this._zr,i=t.storage.getDisplayList();return ne(i,function(r){r.stopAnimation(null,!0)}),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(this._disposed){this.id;return}t=t||{};var i=t.excludeComponents,r=this._model,a=[],o=this;ne(i,function(l){r.eachComponent({mainType:l},function(u){var c=o._componentsMap[u.__viewId];c.group.ignore||(a.push(c),c.group.ignore=!0)})});var s=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return ne(a,function(l){l.group.ignore=!1}),s},e.prototype.getConnectedDataURL=function(t){if(this._disposed){this.id;return}var i=t.type==="svg",r=this.group,a=Math.min,o=Math.max,s=1/0;if(MO[r]){var l=s,u=s,c=-s,d=-s,h=[],f=t&&t.pixelRatio||this.getDevicePixelRatio();ne(Ad,function(S,x){if(S.group===r){var A=i?S.getZr().painter.getSvgDom().innerHTML:S.renderToCanvas($t(t)),C=S.getDom().getBoundingClientRect();l=a(C.left,l),u=a(C.top,u),c=o(C.right,c),d=o(C.bottom,d),h.push({dom:A,left:C.left,top:C.top})}}),l*=f,u*=f,c*=f,d*=f;var p=c-l,g=d-u,m=H5.createCanvas(),v=Ik(m,{renderer:i?"svg":"canvas"});if(v.resize({width:p,height:g}),i){var _="";return ne(h,function(S){var x=S.left-l,A=S.top-u;_+='<g transform="translate('+x+","+A+')">'+S.dom+"</g>"}),v.painter.getSvgRoot().innerHTML=_,t.connectedBackgroundColor&&v.painter.setBackgroundColor(t.connectedBackgroundColor),v.refreshImmediately(),v.painter.toDataURL()}else return t.connectedBackgroundColor&&v.add(new V3({shape:{x:0,y:0,width:p,height:g},style:{fill:t.connectedBackgroundColor}})),ne(h,function(S){var x=new ti({style:{x:S.left*f-l,y:S.top*f-u,image:S.dom}});v.add(x)}),v.refreshImmediately(),m.toDataURL("image/"+(t&&t.type||"png"))}else return this.getDataURL(t)},e.prototype.convertToPixel=function(t,i){return Qx(this,"convertToPixel",t,i)},e.prototype.convertFromPixel=function(t,i){return Qx(this,"convertFromPixel",t,i)},e.prototype.containPixel=function(t,i){if(this._disposed){this.id;return}var r=this._model,a,o=yd(r,t);return ne(o,function(s,l){l.indexOf("Models")>=0&&ne(s,function(u){var c=u.coordinateSystem;if(c&&c.containPoint)a=a||!!c.containPoint(i);else if(l==="seriesModels"){var d=this._chartsMap[u.__viewId];d&&d.containPoint&&(a=a||d.containPoint(i,u))}},this)},this),!!a},e.prototype.getVisual=function(t,i){var r=this._model,a=yd(r,t,{defaultMainType:"series"}),o=a.seriesModel,s=o.getData(),l=a.hasOwnProperty("dataIndexInside")?a.dataIndexInside:a.hasOwnProperty("dataIndex")?s.indexOfRawIndex(a.dataIndex):null;return l!=null?VP(s,l,i):nf(s,i)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t=this;ne(Gue,function(i){var r=function(a){var o=t.getModel(),s=a.target,l,u=i==="globalout";if(u?l={}:s&&C8(s,function(p){var g=Xt(p);if(g&&g.dataIndex!=null){var m=g.dataModel||o.getSeriesByIndex(g.seriesIndex);return l=m&&m.getDataParams(g.dataIndex,g.dataType,s)||{},!0}else if(g.eventData)return l=L2({},g.eventData),!0},!0),l){var c=l.componentType,d=l.componentIndex;(c==="markLine"||c==="markPoint"||c==="markArea")&&(c="series",d=l.seriesIndex);var h=c&&d!=null&&o.getComponent(c,d),f=h&&t[h.mainType==="series"?"_chartsMap":"_componentsMap"][h.__viewId];l.event=a,l.type=i,t._$eventProcessor.eventInfo={targetEl:s,packedEvent:l,model:h,view:f},t.trigger(i,l)}};r.zrEventfulCallAtLast=!0,t._zr.on(i,r,t)}),ne(Td,function(i,r){t._messageCenter.on(r,function(a){this.trigger(r,a)},t)}),ne(["selectchanged"],function(i){t._messageCenter.on(i,function(r){this.trigger(i,r)},t)}),X7e(this._messageCenter,this,this._api)},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0;var t=this.getDom();t&&uq(this.getDom(),$P,"");var i=this,r=i._api,a=i._model;ne(i._componentsViews,function(o){o.dispose(a,r)}),ne(i._chartsViews,function(o){o.dispose(a,r)}),i._zr.dispose(),i._dom=i._model=i._chartsMap=i._componentsMap=i._chartsViews=i._componentsViews=i._scheduler=i._api=i._zr=i._throttledZrFlush=i._theme=i._coordSysMgr=i._messageCenter=null,delete Ad[i.id]},e.prototype.resize=function(t){if(!this[si]){if(this._disposed){this.id;return}this._zr.resize(t);var i=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!i){var r=i.resetOption("media"),a=t&&t.silent;this[Xi]&&(a==null&&(a=this[Xi].silent),r=!0,this[Xi]=null),this[si]=!0;try{r&&i4(this),H6.update.call(this,{type:"resize",animation:L2({duration:0},t&&t.animation)})}catch(o){throw this[si]=!1,o}this[si]=!1,cc.call(this,a),dc.call(this,a)}}},e.prototype.showLoading=function(t,i){if(this._disposed){this.id;return}if(jt(t)&&(i=t,t=""),t=t||"default",this.hideLoading(),!!qC[t]){var r=qC[t](this._api,i),a=this._zr;this._loadingFX=r,a.add(r)}},e.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},e.prototype.makeActionFromEvent=function(t){var i=L2({},t);return i.type=Td[t.type],i},e.prototype.dispatchAction=function(t,i){if(this._disposed){this.id;return}if(jt(i)||(i={silent:!!i}),!!ty[t.type]&&this._model){if(this[si]){this._pendingActions.push(t);return}var r=i.silent;tw.call(this,t,r);var a=i.flush;a?this._zr.flush():a!==!1&&$3.browser.weChat&&this._throttledZrFlush(),cc.call(this,r),dc.call(this,r)}},e.prototype.updateLabelLayout=function(){io.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed){this.id;return}var i=t.seriesIndex,r=this.getModel(),a=r.getSeriesByIndex(i);a.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()},e.internalField=function(){i4=function(d){var h=d._scheduler;h.restorePipelines(d._model),h.prepareStageTasks(),Jx(d,!0),Jx(d,!1),h.plan()},Jx=function(d,h){for(var f=d._model,p=d._scheduler,g=h?d._componentsViews:d._chartsViews,m=h?d._componentsMap:d._chartsMap,v=d._zr,_=d._api,S=0;S<g.length;S++)g[S].__alive=!1;h?f.eachComponent(function(C,M){C!=="series"&&x(M)}):f.eachSeries(x);function x(C){var M=C.__requireNewView;C.__requireNewView=!1;var I="_ec_"+C.id+"_"+C.type,D=!M&&m[I];if(!D){var E=Zo(C.type),L=h?T0.getClass(E.main,E.sub):K1.getClass(E.sub);D=new L,D.init(f,_),m[I]=D,g.push(D),v.add(D.group)}C.__viewId=D.__id=I,D.__alive=!0,D.__model=C,D.group.__ecComponentInfo={mainType:C.mainType,index:C.componentIndex},!h&&p.prepareView(D,C,f,_)}for(var S=0;S<g.length;){var A=g[S];A.__alive?S++:(!h&&A.renderTask.dispose(),v.remove(A.group),A.dispose(f,_),g.splice(S,1),m[A.__id]===A&&delete m[A.__id],A.__id=A.group.__ecComponentInfo=null)}},Jp=function(d,h,f,p,g){var m=d._model;if(m.setUpdatePayload(f),!p){ne([].concat(d._componentsViews).concat(d._chartsViews),A);return}var v={};v[p+"Id"]=f[p+"Id"],v[p+"Index"]=f[p+"Index"],v[p+"Name"]=f[p+"Name"];var _={mainType:p,query:v};g&&(_.subType=g);var S=f.excludeSeriesId,x;S!=null&&(x=Ct(),ne(A1(S),function(C){var M=dn(C,null);M!=null&&x.set(M,!0)})),m&&m.eachComponent(_,function(C){var M=x&&x.get(C.id)!=null;if(!M)if(lF(f))if(C instanceof m0)f.type===G8&&!f.notBlur&&!C.get(["emphasis","disabled"])&&W8e(C,f,d._api);else{var I=_P(C.mainType,C.componentIndex,f.name,d._api),D=I.focusSelf,E=I.dispatchers;f.type===G8&&D&&!f.notBlur&&EC(C.mainType,C.componentIndex,d._api),E&&ne(E,function(L){f.type===G8?o6(L):s6(L)})}else RC(f)&&C instanceof m0&&(Y8e(C,f,d._api),oF(C),ra(d))},d),m&&m.eachComponent(_,function(C){var M=x&&x.get(C.id)!=null;M||A(d[p==="series"?"_chartsMap":"_componentsMap"][C.__viewId])},d);function A(C){C&&C.__alive&&C[h]&&C[h](C.__model,m,d._api,f)}},H6={prepareAndUpdate:function(d){i4(this),H6.update.call(this,d,{optionChanged:d.newOption!=null})},update:function(d,h){var f=this._model,p=this._api,g=this._zr,m=this._coordSysMgr,v=this._scheduler;if(f){f.setUpdatePayload(d),v.restoreData(f,d),v.performSeriesTasks(f),m.create(f,p),v.performDataProcessorTasks(f,d),ew(this,f),m.update(f,p),t(f),v.performVisualTasks(f,d),nw(this,f,p,d,h);var _=f.get("backgroundColor")||"transparent",S=f.get("darkMode");g.setBackgroundColor(_),S!=null&&S!=="auto"&&g.setDarkMode(S),io.trigger("afterupdate",f,p)}},updateTransform:function(d){var h=this,f=this._model,p=this._api;if(f){f.setUpdatePayload(d);var g=[];f.eachComponent(function(v,_){if(v!=="series"){var S=h.getViewOfComponentModel(_);if(S&&S.__alive)if(S.updateTransform){var x=S.updateTransform(_,f,p,d);x&&x.update&&g.push(S)}else g.push(S)}});var m=Ct();f.eachSeries(function(v){var _=h._chartsMap[v.__viewId];if(_.updateTransform){var S=_.updateTransform(v,f,p,d);S&&S.update&&m.set(v.uid,1)}else m.set(v.uid,1)}),t(f),this._scheduler.performVisualTasks(f,d,{setDirty:!0,dirtyMap:m}),Qp(this,f,p,d,{},m),io.trigger("afterupdate",f,p)}},updateView:function(d){var h=this._model;h&&(h.setUpdatePayload(d),K1.markUpdateMethod(d,"updateView"),t(h),this._scheduler.performVisualTasks(h,d,{setDirty:!0}),nw(this,h,this._api,d,{}),io.trigger("afterupdate",h,this._api))},updateVisual:function(d){var h=this,f=this._model;f&&(f.setUpdatePayload(d),f.eachSeries(function(p){p.getData().clearAllVisual()}),K1.markUpdateMethod(d,"updateVisual"),t(f),this._scheduler.performVisualTasks(f,d,{visualType:"visual",setDirty:!0}),f.eachComponent(function(p,g){if(p!=="series"){var m=h.getViewOfComponentModel(g);m&&m.__alive&&m.updateVisual(g,f,h._api,d)}}),f.eachSeries(function(p){var g=h._chartsMap[p.__viewId];g.updateVisual(p,f,h._api,d)}),io.trigger("afterupdate",f,this._api))},updateLayout:function(d){H6.update.call(this,d)}},Qx=function(d,h,f,p){if(d._disposed){d.id;return}for(var g=d._model,m=d._coordSysMgr.getCoordinateSystems(),v,_=yd(g,f),S=0;S<m.length;S++){var x=m[S];if(x[h]&&(v=x[h](g,_,p))!=null)return v}},ew=function(d,h){var f=d._chartsMap,p=d._scheduler;h.eachSeries(function(g){p.updateStreamModes(g,f[g.__viewId])})},tw=function(d,h){var f=this,p=this.getModel(),g=d.type,m=d.escapeConnect,v=ty[g],_=v.actionInfo,S=(_.update||"update").split(":"),x=S.pop(),A=S[0]!=null&&Zo(S[0]);this[si]=!0;var C=[d],M=!1;d.batch&&(M=!0,C=j2(d.batch,function(G){return G=Vt(L2({},G),d),G.batch=null,G}));var I=[],D,E=RC(d),L=lF(d);if(L&&Nq(this._api),ne(C,function(G){if(D=v.action(G,f._model,f._api),D=D||L2({},G),D.type=_.event||D.type,I.push(D),L){var W=dP(d),q=W.queryOptionMap,ce=W.mainTypeSpecified,J=ce?q.keys()[0]:"series";Jp(f,x,G,J),ra(f)}else E?(Jp(f,x,G,"series"),ra(f)):A&&Jp(f,x,G,A.main,A.sub)}),x!=="none"&&!L&&!E&&!A)try{this[Xi]?(i4(this),H6.update.call(this,d),this[Xi]=null):H6[x].call(this,d)}catch(G){throw this[si]=!1,G}if(M?D={type:_.event||g,escapeConnect:m,batch:I}:D=I[0],this[si]=!1,!h){var V=this._messageCenter;if(V.trigger(D.type,D),E){var Y={type:"selectchanged",escapeConnect:m,selected:q8e(p),isFromClick:d.isFromClick||!1,fromAction:d.type,fromActionPayload:d};V.trigger(Y.type,Y)}}},cc=function(d){for(var h=this._pendingActions;h.length;){var f=h.shift();tw.call(this,f,d)}},dc=function(d){!d&&this.trigger("updated")},xO=function(d,h){d.on("rendered",function(f){h.trigger("rendered",f),d.animation.isFinished()&&!h[Xi]&&!h._scheduler.unfinished&&!h._pendingActions.length&&h.trigger("finished")})},wO=function(d,h){d.on("mouseover",function(f){var p=f.target,g=C8(p,oh);g&&(j8e(g,f,h._api),ra(h))}).on("mouseout",function(f){var p=f.target,g=C8(p,oh);g&&($8e(g,f,h._api),ra(h))}).on("click",function(f){var p=f.target,g=C8(p,function(_){return Xt(_).dataIndex!=null},!0);if(g){var m=g.selected?"unselect":"select",v=Xt(g);h._api.dispatchAction({type:m,dataType:v.dataType,dataIndexInside:v.dataIndex,seriesIndex:v.seriesIndex,isFromClick:!0})}})};function t(d){d.clearColorPalette(),d.eachSeries(function(h){h.clearColorPalette()})}function i(d){var h=[],f=[],p=!1;if(d.eachComponent(function(_,S){var x=S.get("zlevel")||0,A=S.get("z")||0,C=S.getZLevelKey();p=p||!!C,(_==="series"?f:h).push({zlevel:x,z:A,idx:S.componentIndex,type:_,key:C})}),p){var g=h.concat(f),m,v;Wg(g,function(_,S){return _.zlevel===S.zlevel?_.z-S.z:_.zlevel-S.zlevel}),ne(g,function(_){var S=d.getComponent(_.type,_.idx),x=_.zlevel,A=_.key;m!=null&&(x=Math.max(m,x)),A?(x===m&&A!==v&&x++,v=A):v&&(x===m&&x++,v=""),m=x,S.setZLevel(x)})}}nw=function(d,h,f,p,g){i(h),TO(d,h,f,p,g),ne(d._chartsViews,function(m){m.__alive=!1}),Qp(d,h,f,p,g),ne(d._chartsViews,function(m){m.__alive||m.remove(h,f)})},TO=function(d,h,f,p,g,m){ne(m||d._componentsViews,function(v){var _=v.__model;u(_,v),v.render(_,h,f,p),s(_,v),c(_,v)})},Qp=function(d,h,f,p,g,m){var v=d._scheduler;g=L2(g||{},{updatedSeries:h.getSeries()}),io.trigger("series:beforeupdate",h,f,g);var _=!1;h.eachSeries(function(S){var x=d._chartsMap[S.__viewId];x.__alive=!0;var A=x.renderTask;v.updatePayload(A,p),u(S,x),m&&m.get(S.uid)&&A.dirty(),A.perform(v.getPerformArgs(A))&&(_=!0),x.group.silent=!!S.get("silent"),o(S,x),oF(S)}),v.unfinished=_||v.unfinished,io.trigger("series:layoutlabels",h,f,g),io.trigger("series:transition",h,f,g),h.eachSeries(function(S){var x=d._chartsMap[S.__viewId];s(S,x),c(S,x)}),a(d,h),io.trigger("series:afterupdate",h,f,g)},ra=function(d){d[Kx]=!0,d.getZr().wakeUp()},CO=function(d){d[Kx]&&(d.getZr().storage.traverse(function(h){p7(h)||r(h)}),d[Kx]=!1)};function r(d){for(var h=[],f=d.currentStates,p=0;p<f.length;p++){var g=f[p];g==="emphasis"||g==="blur"||g==="select"||h.push(g)}d.selected&&d.states.select&&h.push("select"),d.hoverState===M_&&d.states.emphasis?h.push("emphasis"):d.hoverState===Jh&&d.states.blur&&h.push("blur"),d.useStates(h)}function a(d,h){var f=d._zr,p=f.storage,g=0;p.traverse(function(m){m.isGroup||g++}),g>h.get("hoverLayerThreshold")&&!$3.node&&!$3.worker&&h.eachSeries(function(m){if(!m.preventUsingHoverLayer){var v=d._chartsMap[m.__viewId];v.__alive&&v.eachRendered(function(_){_.states.emphasis&&(_.states.emphasis.hoverLayer=!0)})}})}function o(d,h){var f=d.get("blendMode")||null;h.eachRendered(function(p){p.isGroup||(p.style.blend=f)})}function s(d,h){if(!d.preventAutoZ){var f=d.get("z")||0,p=d.get("zlevel")||0;h.eachRendered(function(g){return l(g,f,p,-1/0),!0})}}function l(d,h,f,p){var g=d.getTextContent(),m=d.getTextGuideLine(),v=d.isGroup;if(v)for(var _=d.childrenRef(),S=0;S<_.length;S++)p=Math.max(l(_[S],h,f,p),p);else d.z=h,d.zlevel=f,p=Math.max(d.z2,p);if(g&&(g.z=h,g.zlevel=f,isFinite(p)&&(g.z2=p+2)),m){var x=d.textGuideLineConfig;m.z=h,m.zlevel=f,isFinite(p)&&(m.z2=p+(x&&x.showAbove?1:-1))}return p}function u(d,h){h.eachRendered(function(f){if(!p7(f)){var p=f.getTextContent(),g=f.getTextGuideLine();f.stateTransition&&(f.stateTransition=null),p&&p.stateTransition&&(p.stateTransition=null),g&&g.stateTransition&&(g.stateTransition=null),f.hasState()?(f.prevStates=f.currentStates,f.clearStates()):f.prevStates&&(f.prevStates=null)}})}function c(d,h){var f=d.getModel("stateAnimation"),p=d.isAnimationEnabled(),g=f.get("duration"),m=g>0?{duration:g,delay:f.get("delay"),easing:f.get("easing")}:null;h.eachRendered(function(v){if(v.states&&v.states.emphasis){if(p7(v))return;if(v instanceof C3&&Q8e(v),v.__dirty){var _=v.prevStates;_&&v.useStates(_)}if(p){v.stateTransition=m;var S=v.getTextContent(),x=v.getTextGuideLine();S&&(S.stateTransition=m),x&&(x.stateTransition=m)}v.__dirty&&r(v)}})}AO=function(d){return new(function(h){g2(f,h);function f(){return h!==null&&h.apply(this,arguments)||this}return f.prototype.getCoordinateSystems=function(){return d._coordSysMgr.getCoordinateSystems()},f.prototype.getComponentByElement=function(p){for(;p;){var g=p.__ecComponentInfo;if(g!=null)return d._model.getComponent(g.mainType,g.index);p=p.parent}},f.prototype.enterEmphasis=function(p,g){o6(p,g),ra(d)},f.prototype.leaveEmphasis=function(p,g){s6(p,g),ra(d)},f.prototype.enterBlur=function(p){Rq(p),ra(d)},f.prototype.leaveBlur=function(p){yP(p),ra(d)},f.prototype.enterSelect=function(p){Lq(p),ra(d)},f.prototype.leaveSelect=function(p){Iq(p),ra(d)},f.prototype.getModel=function(){return d.getModel()},f.prototype.getViewOfComponentModel=function(p){return d.getViewOfComponentModel(p)},f.prototype.getViewOfSeriesModel=function(p){return d.getViewOfSeriesModel(p)},f}(kX))(d)},RK=function(d){function h(f,p){for(var g=0;g<f.length;g++){var m=f[g];m[Zx]=p}}ne(Td,function(f,p){d._messageCenter.on(p,function(g){if(MO[d.group]&&d[Zx]!==bO){if(g&&g.escapeConnect)return;var m=d.makeActionFromEvent(g),v=[];ne(Ad,function(_){_!==d&&_.group===d.group&&v.push(_)}),h(v,bO),ne(v,function(_){_[Zx]!==zue&&_.dispatchAction(m)}),h(v,Uue)}})})}}(),e}(Ua),jP=LK.prototype;jP.on=AK("on");jP.off=AK("off");jP.one=function(n,e,t){var i=this;function r(){for(var a=[],o=0;o<arguments.length;o++)a[o]=arguments[o];e&&e.apply&&e.apply(this,a),i.off(n,r)}this.on.call(this,n,r,t)};var Gue=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];var ty={},Td={},$C=[],YC=[],ny=[],IK={},qC={},Ad={},MO={},Vue=+new Date-0,$P="_echarts_instance_";function Hue(n,e,t){var i=!(t&&t.ssr);if(i){var r=Wue(n);if(r)return r}var a=new LK(n,e,t);return a.id="ec_"+Vue++,Ad[a.id]=a,i&&uq(n,$P,a.id),RK(a),io.trigger("afterinit",a),a}function Wue(n){return Ad[z9e(n,$P)]}function DK(n,e){IK[n]=e}function NK(n){_3(YC,n)<0&&YC.push(n)}function kK(n,e){qP($C,n,e,Lue)}function jue(n){YP("afterinit",n)}function $ue(n){YP("afterupdate",n)}function YP(n,e){io.on(n,e)}function ps(n,e,t){Gt(e)&&(t=e,e="");var i=jt(n)?n.type:[n,n={event:e}][0];n.event=(n.event||i).toLowerCase(),e=n.event,!Td[e]&&(Bi(SO.test(i)&&SO.test(e)),ty[i]||(ty[i]={action:t,actionInfo:n}),Td[e]=i)}function Yue(n,e){tf.register(n,e)}function que(n,e){qP(ny,n,e,xK,"layout")}function Tl(n,e){qP(ny,n,e,wK,"visual")}var EO=[];function qP(n,e,t,i,r){if((Gt(e)||jt(e))&&(t=e,e=i),!(_3(EO,t)>=0)){EO.push(t);var a=dK.wrapStageHandler(t,r);a.__prio=e,a.__raw=t,n.push(a)}}function FK(n,e){qC[n]=e}function Xue(n,e,t){var i=Cue("registerMap");i&&i(n,e,t)}var Kue=r7e;Tl(WP,R7e);Tl(j_,L7e);Tl(j_,I7e);Tl(WP,Y7e);Tl(j_,q7e);Tl(TK,wue);NK(OX);kK(Pue,B4e);FK("default",D7e);ps({type:G8,event:G8,update:G8},U0);ps({type:Kg,event:Kg,update:Kg},U0);ps({type:_d,event:_d,update:_d},U0);ps({type:Zg,event:Zg,update:Zg},U0);ps({type:Sd,event:Sd,update:Sd},U0);DK("light",W7e);DK("dark",j7e);var PO=[],Zue={registerPreprocessor:NK,registerProcessor:kK,registerPostInit:jue,registerPostUpdate:$ue,registerUpdateLifecycle:YP,registerAction:ps,registerCoordinateSystem:Yue,registerLayout:que,registerVisual:Tl,registerTransform:Kue,registerLoading:FK,registerMap:Xue,registerImpl:Aue,PRIORITY:Bue,ComponentModel:j3,ComponentView:T0,SeriesModel:m0,ChartView:K1,registerComponentModel:function(n){j3.registerClass(n)},registerComponentView:function(n){T0.registerClass(n)},registerSeriesModel:function(n){m0.registerClass(n)},registerChartView:function(n){K1.registerClass(n)},registerSubTypeDefaulter:function(n,e){j3.registerSubTypeDefaulter(n,e)},registerPainter:function(n,e){v9e(n,e)}};function T3(n){if(H2(n)){ne(n,function(e){T3(e)});return}_3(PO,n)>=0||(PO.push(n),Gt(n)&&(n={install:n}),n.install(Zue))}function hc(n){return n==null?0:n.length||1}function RO(n){return n}var Jue=function(){function n(e,t,i,r,a,o){this._old=e,this._new=t,this._oldKeyGetter=i||RO,this._newKeyGetter=r||RO,this.context=a,this._diffModeMultiple=o==="multiple"}return n.prototype.add=function(e){return this._add=e,this},n.prototype.update=function(e){return this._update=e,this},n.prototype.updateManyToOne=function(e){return this._updateManyToOne=e,this},n.prototype.updateOneToMany=function(e){return this._updateOneToMany=e,this},n.prototype.updateManyToMany=function(e){return this._updateManyToMany=e,this},n.prototype.remove=function(e){return this._remove=e,this},n.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},n.prototype._executeOneToOne=function(){var e=this._old,t=this._new,i={},r=new Array(e.length),a=new Array(t.length);this._initIndexMap(e,null,r,"_oldKeyGetter"),this._initIndexMap(t,i,a,"_newKeyGetter");for(var o=0;o<e.length;o++){var s=r[o],l=i[s],u=hc(l);if(u>1){var c=l.shift();l.length===1&&(i[s]=l[0]),this._update&&this._update(c,o)}else u===1?(i[s]=null,this._update&&this._update(l,o)):this._remove&&this._remove(o)}this._performRestAdd(a,i)},n.prototype._executeMultiple=function(){var e=this._old,t=this._new,i={},r={},a=[],o=[];this._initIndexMap(e,i,a,"_oldKeyGetter"),this._initIndexMap(t,r,o,"_newKeyGetter");for(var s=0;s<a.length;s++){var l=a[s],u=i[l],c=r[l],d=hc(u),h=hc(c);if(d>1&&h===1)this._updateManyToOne&&this._updateManyToOne(c,u),r[l]=null;else if(d===1&&h>1)this._updateOneToMany&&this._updateOneToMany(c,u),r[l]=null;else if(d===1&&h===1)this._update&&this._update(c,u),r[l]=null;else if(d>1&&h>1)this._updateManyToMany&&this._updateManyToMany(c,u),r[l]=null;else if(d>1)for(var f=0;f<d;f++)this._remove&&this._remove(u[f]);else this._remove&&this._remove(u)}this._performRestAdd(o,r)},n.prototype._performRestAdd=function(e,t){for(var i=0;i<e.length;i++){var r=e[i],a=t[r],o=hc(a);if(o>1)for(var s=0;s<o;s++)this._add&&this._add(a[s]);else o===1&&this._add&&this._add(a);t[r]=null}},n.prototype._initIndexMap=function(e,t,i,r){for(var a=this._diffModeMultiple,o=0;o<e.length;o++){var s="_ec_"+this[r](e[o],o);if(a||(i[o]=s),!!t){var l=t[s],u=hc(l);u===0?(t[s]=o,a&&i.push(s)):u===1?t[s]=[l,o]:l.push(o)}}},n}();const l6=Jue;var Que=function(){function n(e,t){this._encode=e,this._schema=t}return n.prototype.get=function(){return{fullDimensions:this._getFullDimensionNames(),encode:this._encode}},n.prototype._getFullDimensionNames=function(){return this._cachedDimNames||(this._cachedDimNames=this._schema?this._schema.makeOutputDimensionNames():[]),this._cachedDimNames},n}();function ece(n,e){var t={},i=t.encode={},r=Ct(),a=[],o=[],s={};ne(n.dimensions,function(h){var f=n.getDimensionInfo(h),p=f.coordDim;if(p){var g=f.coordDimIndex;iw(i,p)[g]=h,f.isExtraCoord||(r.set(p,1),tce(f.type)&&(a[0]=h),iw(s,p)[g]=n.getDimensionIndex(f.name)),f.defaultTooltip&&o.push(h)}CX.each(function(m,v){var _=iw(i,v),S=f.otherDims[v];S!=null&&S!==!1&&(_[S]=f.name)})});var l=[],u={};r.each(function(h,f){var p=i[f];u[f]=p[0],l=l.concat(p)}),t.dataDimsOnCoord=l,t.dataDimIndicesOnCoord=j2(l,function(h){return n.getDimensionInfo(h).storeDimIndex}),t.encodeFirstDimNotExtra=u;var c=i.label;c&&c.length&&(a=c.slice());var d=i.tooltip;return d&&d.length?o=d.slice():o.length||(o=a.slice()),i.defaultedLabel=a,i.defaultedTooltip=o,t.userOutput=new Que(s,e),t}function iw(n,e){return n.hasOwnProperty(e)||(n[e]=[]),n[e]}function iy(n){return n==="category"?"ordinal":n==="time"?"time":"float"}function tce(n){return!(n==="ordinal"||n==="time")}var nce=function(){function n(e){this.otherDims={},e!=null&&L2(this,e)}return n}();const nv=nce;var ice=B3(),rce={float:"f",int:"i",ordinal:"o",number:"n",time:"t"},OK=function(){function n(e){this.dimensions=e.dimensions,this._dimOmitted=e.dimensionOmitted,this.source=e.source,this._fullDimCount=e.fullDimensionCount,this._updateDimOmitted(e.dimensionOmitted)}return n.prototype.isDimensionOmitted=function(){return this._dimOmitted},n.prototype._updateDimOmitted=function(e){this._dimOmitted=e,e&&(this._dimNameMap||(this._dimNameMap=UK(this.source)))},n.prototype.getSourceDimensionIndex=function(e){return e3(this._dimNameMap.get(e),-1)},n.prototype.getSourceDimension=function(e){var t=this.source.dimensionsDefine;if(t)return t[e]},n.prototype.makeStoreSchema=function(){for(var e=this._fullDimCount,t=zX(this.source),i=!GK(e),r="",a=[],o=0,s=0;o<e;o++){var l=void 0,u=void 0,c=void 0,d=this.dimensions[s];if(d&&d.storeDimIndex===o)l=t?d.name:null,u=d.type,c=d.ordinalMeta,s++;else{var h=this.getSourceDimension(o);h&&(l=t?h.name:null,u=h.type)}a.push({property:l,type:u,ordinalMeta:c}),t&&l!=null&&(!d||!d.isCalculationCoord)&&(r+=i?l.replace(/\`/g,"`1").replace(/\$/g,"`2"):l),r+="$",r+=rce[u]||"f",c&&(r+=c.uid),r+="$"}var f=this.source,p=[f.seriesLayoutBy,f.startIndex,r].join("$$");return{dimensions:a,hash:p}},n.prototype.makeOutputDimensionNames=function(){for(var e=[],t=0,i=0;t<this._fullDimCount;t++){var r=void 0,a=this.dimensions[i];if(a&&a.storeDimIndex===t)a.isCalculationCoord||(r=a.name),i++;else{var o=this.getSourceDimension(t);o&&(r=o.name)}e.push(r)}return e},n.prototype.appendCalculationDimension=function(e){this.dimensions.push(e),e.isCalculationCoord=!0,this._fullDimCount++,this._updateDimOmitted(!0)},n}();function BK(n){return n instanceof OK}function zK(n){for(var e=Ct(),t=0;t<(n||[]).length;t++){var i=n[t],r=jt(i)?i.name:i;r!=null&&e.get(r)==null&&e.set(r,t)}return e}function UK(n){var e=ice(n);return e.dimNameMap||(e.dimNameMap=zK(n.dimensionsDefine))}function GK(n){return n>30}var fc=jt,W6=j2,ace=typeof Int32Array=="undefined"?Array:Int32Array,oce="e\0\0",LO=-1,sce=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],lce=["_approximateExtent"],IO,em,pc,mc,rw,gc,aw,uce=function(){function n(e,t){this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","minmaxDownSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","minmaxDownSample","lttbDownSample"];var i,r=!1;BK(e)?(i=e.dimensions,this._dimOmitted=e.isDimensionOmitted(),this._schema=e):(r=!0,i=e),i=i||["x","y"];for(var a={},o=[],s={},l=!1,u={},c=0;c<i.length;c++){var d=i[c],h=_t(d)?new nv({name:d}):d instanceof nv?d:new nv(d),f=h.name;h.type=h.type||"float",h.coordDim||(h.coordDim=f,h.coordDimIndex=0);var p=h.otherDims=h.otherDims||{};o.push(f),a[f]=h,u[f]!=null&&(l=!0),h.createInvertedIndices&&(s[f]=[]),p.itemName===0&&(this._nameDimIdx=c),p.itemId===0&&(this._idDimIdx=c),r&&(h.storeDimIndex=c)}if(this.dimensions=o,this._dimInfos=a,this._initGetDimensionInfo(l),this.hostModel=t,this._invertedIndicesMap=s,this._dimOmitted){var g=this._dimIdxToName=Ct();ne(o,function(m){g.set(a[m].storeDimIndex,m)})}}return n.prototype.getDimension=function(e){var t=this._recognizeDimIndex(e);if(t==null)return e;if(t=e,!this._dimOmitted)return this.dimensions[t];var i=this._dimIdxToName.get(t);if(i!=null)return i;var r=this._schema.getSourceDimension(t);if(r)return r.name},n.prototype.getDimensionIndex=function(e){var t=this._recognizeDimIndex(e);if(t!=null)return t;if(e==null)return-1;var i=this._getDimInfo(e);return i?i.storeDimIndex:this._dimOmitted?this._schema.getSourceDimensionIndex(e):-1},n.prototype._recognizeDimIndex=function(e){if(q3(e)||e!=null&&!isNaN(e)&&!this._getDimInfo(e)&&(!this._dimOmitted||this._schema.getSourceDimensionIndex(e)<0))return+e},n.prototype._getStoreDimIndex=function(e){var t=this.getDimensionIndex(e);return t},n.prototype.getDimensionInfo=function(e){return this._getDimInfo(this.getDimension(e))},n.prototype._initGetDimensionInfo=function(e){var t=this._dimInfos;this._getDimInfo=e?function(i){return t.hasOwnProperty(i)?t[i]:void 0}:function(i){return t[i]}},n.prototype.getDimensionsOnCoord=function(){return this._dimSummary.dataDimsOnCoord.slice()},n.prototype.mapDimension=function(e,t){var i=this._dimSummary;if(t==null)return i.encodeFirstDimNotExtra[e];var r=i.encode[e];return r?r[t]:null},n.prototype.mapDimensionsAll=function(e){var t=this._dimSummary,i=t.encode[e];return(i||[]).slice()},n.prototype.getStore=function(){return this._store},n.prototype.initData=function(e,t,i){var r=this,a;if(e instanceof zC&&(a=e),!a){var o=this.dimensions,s=FP(e)||Si(e)?new UX(e,o.length):e;a=new zC;var l=W6(o,function(u){return{type:r._dimInfos[u].type,property:u}});a.initData(s,l,i)}this._store=a,this._nameList=(t||[]).slice(),this._idList=[],this._nameRepeatCount={},this._doInit(0,a.count()),this._dimSummary=ece(this,this._schema),this.userOutput=this._dimSummary.userOutput},n.prototype.appendData=function(e){var t=this._store.appendData(e);this._doInit(t[0],t[1])},n.prototype.appendValues=function(e,t){var i=this._store.appendValues(e,t&&t.length),r=i.start,a=i.end,o=this._shouldMakeIdFromName();if(this._updateOrdinalMeta(),t)for(var s=r;s<a;s++){var l=s-r;this._nameList[s]=t[l],o&&aw(this,s)}},n.prototype._updateOrdinalMeta=function(){for(var e=this._store,t=this.dimensions,i=0;i<t.length;i++){var r=this._dimInfos[t[i]];r.ordinalMeta&&e.collectOrdinalMeta(r.storeDimIndex,r.ordinalMeta)}},n.prototype._shouldMakeIdFromName=function(){var e=this._store.getProvider();return this._idDimIdx==null&&e.getSource().sourceFormat!==I5&&!e.fillStorage},n.prototype._doInit=function(e,t){if(!(e>=t)){var i=this._store,r=i.getProvider();this._updateOrdinalMeta();var a=this._nameList,o=this._idList,s=r.getSource().sourceFormat,l=s===Ga;if(l&&!r.pure)for(var u=[],c=e;c<t;c++){var d=r.getItem(c,u);if(!this.hasItemOption&&C9e(d)&&(this.hasItemOption=!0),d){var h=d.name;a[c]==null&&h!=null&&(a[c]=dn(h,null));var f=d.id;o[c]==null&&f!=null&&(o[c]=dn(f,null))}}if(this._shouldMakeIdFromName())for(var c=e;c<t;c++)aw(this,c);IO(this)}},n.prototype.getApproximateExtent=function(e){return this._approximateExtent[e]||this._store.getDataExtent(this._getStoreDimIndex(e))},n.prototype.setApproximateExtent=function(e,t){t=this.getDimension(t),this._approximateExtent[t]=e.slice()},n.prototype.getCalculationInfo=function(e){return this._calculationInfo[e]},n.prototype.setCalculationInfo=function(e,t){fc(e)?L2(this._calculationInfo,e):this._calculationInfo[e]=t},n.prototype.getName=function(e){var t=this.getRawIndex(e),i=this._nameList[t];return i==null&&this._nameDimIdx!=null&&(i=pc(this,this._nameDimIdx,t)),i==null&&(i=""),i},n.prototype._getCategory=function(e,t){var i=this._store.get(e,t),r=this._store.getOrdinalMeta(e);return r?r.categories[i]:i},n.prototype.getId=function(e){return em(this,this.getRawIndex(e))},n.prototype.count=function(){return this._store.count()},n.prototype.get=function(e,t){var i=this._store,r=this._dimInfos[e];if(r)return i.get(r.storeDimIndex,t)},n.prototype.getByRawIndex=function(e,t){var i=this._store,r=this._dimInfos[e];if(r)return i.getByRawIndex(r.storeDimIndex,t)},n.prototype.getIndices=function(){return this._store.getIndices()},n.prototype.getDataExtent=function(e){return this._store.getDataExtent(this._getStoreDimIndex(e))},n.prototype.getSum=function(e){return this._store.getSum(this._getStoreDimIndex(e))},n.prototype.getMedian=function(e){return this._store.getMedian(this._getStoreDimIndex(e))},n.prototype.getValues=function(e,t){var i=this,r=this._store;return H2(e)?r.getValues(W6(e,function(a){return i._getStoreDimIndex(a)}),t):r.getValues(e)},n.prototype.hasValue=function(e){for(var t=this._dimSummary.dataDimIndicesOnCoord,i=0,r=t.length;i<r;i++)if(isNaN(this._store.get(t[i],e)))return!1;return!0},n.prototype.indexOfName=function(e){for(var t=0,i=this._store.count();t<i;t++)if(this.getName(t)===e)return t;return-1},n.prototype.getRawIndex=function(e){return this._store.getRawIndex(e)},n.prototype.indexOfRawIndex=function(e){return this._store.indexOfRawIndex(e)},n.prototype.rawIndexOf=function(e,t){var i=e&&this._invertedIndicesMap[e],r=i&&i[t];return r==null||isNaN(r)?LO:r},n.prototype.indicesOfNearest=function(e,t,i){return this._store.indicesOfNearest(this._getStoreDimIndex(e),t,i)},n.prototype.each=function(e,t,i){Gt(e)&&(i=t,t=e,e=[]);var r=i||this,a=W6(mc(e),this._getStoreDimIndex,this);this._store.each(a,r?St(t,r):t)},n.prototype.filterSelf=function(e,t,i){Gt(e)&&(i=t,t=e,e=[]);var r=i||this,a=W6(mc(e),this._getStoreDimIndex,this);return this._store=this._store.filter(a,r?St(t,r):t),this},n.prototype.selectRange=function(e){var t=this,i={},r=E3(e);return ne(r,function(a){var o=t._getStoreDimIndex(a);i[o]=e[a]}),this._store=this._store.selectRange(i),this},n.prototype.mapArray=function(e,t,i){Gt(e)&&(i=t,t=e,e=[]),i=i||this;var r=[];return this.each(e,function(){r.push(t&&t.apply(this,arguments))},i),r},n.prototype.map=function(e,t,i,r){var a=i||r||this,o=W6(mc(e),this._getStoreDimIndex,this),s=gc(this);return s._store=this._store.map(o,a?St(t,a):t),s},n.prototype.modify=function(e,t,i,r){var a=i||r||this,o=W6(mc(e),this._getStoreDimIndex,this);this._store.modify(o,a?St(t,a):t)},n.prototype.downSample=function(e,t,i,r){var a=gc(this);return a._store=this._store.downSample(this._getStoreDimIndex(e),t,i,r),a},n.prototype.minmaxDownSample=function(e,t){var i=gc(this);return i._store=this._store.minmaxDownSample(this._getStoreDimIndex(e),t),i},n.prototype.lttbDownSample=function(e,t){var i=gc(this);return i._store=this._store.lttbDownSample(this._getStoreDimIndex(e),t),i},n.prototype.getRawDataItem=function(e){return this._store.getRawDataItem(e)},n.prototype.getItemModel=function(e){var t=this.hostModel,i=this.getRawDataItem(e);return new X1(i,t,t&&t.ecModel)},n.prototype.diff=function(e){var t=this;return new l6(e?e.getStore().getIndices():[],this.getStore().getIndices(),function(i){return em(e,i)},function(i){return em(t,i)})},n.prototype.getVisual=function(e){var t=this._visual;return t&&t[e]},n.prototype.setVisual=function(e,t){this._visual=this._visual||{},fc(e)?L2(this._visual,e):this._visual[e]=t},n.prototype.getItemVisual=function(e,t){var i=this._itemVisuals[e],r=i&&i[t];return r==null?this.getVisual(t):r},n.prototype.hasItemVisual=function(){return this._itemVisuals.length>0},n.prototype.ensureUniqueItemVisual=function(e,t){var i=this._itemVisuals,r=i[e];r||(r=i[e]={});var a=r[t];return a==null&&(a=this.getVisual(t),H2(a)?a=a.slice():fc(a)&&(a=L2({},a)),r[t]=a),a},n.prototype.setItemVisual=function(e,t,i){var r=this._itemVisuals[e]||{};this._itemVisuals[e]=r,fc(t)?L2(r,t):r[t]=i},n.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},n.prototype.setLayout=function(e,t){fc(e)?L2(this._layout,e):this._layout[e]=t},n.prototype.getLayout=function(e){return this._layout[e]},n.prototype.getItemLayout=function(e){return this._itemLayouts[e]},n.prototype.setItemLayout=function(e,t,i){this._itemLayouts[e]=i?L2(this._itemLayouts[e]||{},t):t},n.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},n.prototype.setItemGraphicEl=function(e,t){var i=this.hostModel&&this.hostModel.seriesIndex;CC(i,this.dataType,e,t),this._graphicEls[e]=t},n.prototype.getItemGraphicEl=function(e){return this._graphicEls[e]},n.prototype.eachItemGraphicEl=function(e,t){ne(this._graphicEls,function(i,r){i&&e&&e.call(t,i,r)})},n.prototype.cloneShallow=function(e){return e||(e=new n(this._schema?this._schema:W6(this.dimensions,this._getDimInfo,this),this.hostModel)),rw(e,this),e._store=this._store,e},n.prototype.wrapMethod=function(e,t){var i=this[e];Gt(i)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(e),this[e]=function(){var r=i.apply(this,arguments);return t.apply(this,[r].concat(eP(arguments)))})},n.internalField=function(){IO=function(e){var t=e._invertedIndicesMap;ne(t,function(i,r){var a=e._dimInfos[r],o=a.ordinalMeta,s=e._store;if(o){i=t[r]=new ace(o.categories.length);for(var l=0;l<i.length;l++)i[l]=LO;for(var l=0;l<s.count();l++)i[s.get(a.storeDimIndex,l)]=l}})},pc=function(e,t,i){return dn(e._getCategory(t,i),null)},em=function(e,t){var i=e._idList[t];return i==null&&e._idDimIdx!=null&&(i=pc(e,e._idDimIdx,t)),i==null&&(i=oce+t),i},mc=function(e){return H2(e)||(e=e!=null?[e]:[]),e},gc=function(e){var t=new n(e._schema?e._schema:W6(e.dimensions,e._getDimInfo,e),e.hostModel);return rw(t,e),t},rw=function(e,t){ne(sce.concat(t.__wrappedMethods||[]),function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e.__wrappedMethods=t.__wrappedMethods,ne(lce,function(i){e[i]=$t(t[i])}),e._calculationInfo=L2({},t._calculationInfo)},aw=function(e,t){var i=e._nameList,r=e._idList,a=e._nameDimIdx,o=e._idDimIdx,s=i[t],l=r[t];if(s==null&&a!=null&&(i[t]=s=pc(e,a,t)),l==null&&o!=null&&(r[t]=l=pc(e,o,t)),l==null&&s!=null){var u=e._nameRepeatCount,c=u[s]=(u[s]||0)+1;l=s,c>1&&(l+="__ec__"+c),r[t]=l}}}(),n}();const Oi=uce;function rf(n,e){FP(n)||(n=OP(n)),e=e||{};var t=e.coordDimensions||[],i=e.dimensionsDefine||n.dimensionsDefine||[],r=Ct(),a=[],o=dce(n,t,i,e.dimensionsCount),s=e.canOmitUnusedDimensions&&GK(o),l=i===n.dimensionsDefine,u=l?UK(n):zK(i),c=e.encodeDefine;!c&&e.encodeDefaulter&&(c=e.encodeDefaulter(n,o));for(var d=Ct(c),h=new qX(o),f=0;f<h.length;f++)h[f]=-1;function p(D){var E=h[D];if(E<0){var L=i[D],V=jt(L)?L:{name:L},Y=new nv,G=V.name;G!=null&&u.get(G)!=null&&(Y.name=Y.displayName=G),V.type!=null&&(Y.type=V.type),V.displayName!=null&&(Y.displayName=V.displayName);var W=a.length;return h[D]=W,Y.storeDimIndex=D,a.push(Y),Y}return a[E]}if(!s)for(var f=0;f<o;f++)p(f);d.each(function(D,E){var L=A1(D).slice();if(L.length===1&&!_t(L[0])&&L[0]<0){d.set(E,!1);return}var V=d.set(E,[]);ne(L,function(Y,G){var W=_t(Y)?u.get(Y):Y;W!=null&&W<o&&(V[G]=W,m(p(W),E,G))})});var g=0;ne(t,function(D){var E,L,V,Y;if(_t(D))E=D,Y={};else{Y=D,E=Y.name;var G=Y.ordinalMeta;Y.ordinalMeta=null,Y=L2({},Y),Y.ordinalMeta=G,L=Y.dimsDef,V=Y.otherDims,Y.name=Y.coordDim=Y.coordDimIndex=Y.dimsDef=Y.otherDims=null}var W=d.get(E);if(W!==!1){if(W=A1(W),!W.length)for(var q=0;q<(L&&L.length||1);q++){for(;g<o&&p(g).coordDim!=null;)g++;g<o&&W.push(g++)}ne(W,function(ce,J){var H=p(ce);if(l&&Y.type!=null&&(H.type=Y.type),m(Vt(H,Y),E,J),H.name==null&&L){var re=L[J];!jt(re)&&(re={name:re}),H.name=H.displayName=re.name,H.defaultTooltip=re.defaultTooltip}V&&Vt(H.otherDims,V)})}});function m(D,E,L){CX.get(E)!=null?D.otherDims[E]=L:(D.coordDim=E,D.coordDimIndex=L,r.set(E,!0))}var v=e.generateCoord,_=e.generateCoordCount,S=_!=null;_=v?_||1:0;var x=v||"value";function A(D){D.name==null&&(D.name=D.coordDim)}if(s)ne(a,function(D){A(D)}),a.sort(function(D,E){return D.storeDimIndex-E.storeDimIndex});else for(var C=0;C<o;C++){var M=p(C),I=M.coordDim;I==null&&(M.coordDim=hce(x,r,S),M.coordDimIndex=0,(!v||_<=0)&&(M.isExtraCoord=!0),_--),A(M),M.type==null&&(RX(n,C)===Yn.Must||M.isExtraCoord&&(M.otherDims.itemName!=null||M.otherDims.seriesName!=null))&&(M.type="ordinal")}return cce(a),new OK({source:n,dimensions:a,fullDimensionCount:o,dimensionOmitted:s})}function cce(n){for(var e=Ct(),t=0;t<n.length;t++){var i=n[t],r=i.name,a=e.get(r)||0;a>0&&(i.name=r+(a-1)),a++,e.set(r,a)}}function dce(n,e,t,i){var r=Math.max(n.dimensionsDetectedCount||1,e.length,t.length,i||0);return ne(e,function(a){var o;jt(a)&&(o=a.dimsDef)&&(r=Math.max(r,o.length))}),r}function hce(n,e,t){if(t||e.hasKey(n)){for(var i=0;e.hasKey(n+i);)i++;n+=i}return e.set(n,!0),n}var fce=function(){function n(e){this.coordSysDims=[],this.axisMap=Ct(),this.categoryAxisMap=Ct(),this.coordSysName=e}return n}();function pce(n){var e=n.get("coordinateSystem"),t=new fce(e),i=mce[e];if(i)return i(n,t,t.axisMap,t.categoryAxisMap),t}var mce={cartesian2d:function(n,e,t,i){var r=n.getReferringComponents("xAxis",Z0).models[0],a=n.getReferringComponents("yAxis",Z0).models[0];e.coordSysDims=["x","y"],t.set("x",r),t.set("y",a),r4(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),r4(a)&&(i.set("y",a),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=1))},singleAxis:function(n,e,t,i){var r=n.getReferringComponents("singleAxis",Z0).models[0];e.coordSysDims=["single"],t.set("single",r),r4(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(n,e,t,i){var r=n.getReferringComponents("polar",Z0).models[0],a=r.findAxisModel("radiusAxis"),o=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],t.set("radius",a),t.set("angle",o),r4(a)&&(i.set("radius",a),e.firstCategoryDimIndex=0),r4(o)&&(i.set("angle",o),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=1))},geo:function(n,e,t,i){e.coordSysDims=["lng","lat"]},parallel:function(n,e,t,i){var r=n.ecModel,a=r.getComponent("parallel",n.get("parallelIndex")),o=e.coordSysDims=a.dimensions.slice();ne(a.parallelAxisIndex,function(s,l){var u=r.getComponent("parallelAxis",s),c=o[l];t.set(c,u),r4(u)&&(i.set(c,u),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=l))})}};function r4(n){return n.get("type")==="category"}function gce(n,e,t){t=t||{};var i=t.byIndex,r=t.stackedCoordDimension,a,o,s;vce(e)?a=e:(o=e.schema,a=o.dimensions,s=e.store);var l=!!(n&&n.get("stack")),u,c,d,h;if(ne(a,function(_,S){_t(_)&&(a[S]=_={name:_}),l&&!_.isExtraCoord&&(!i&&!u&&_.ordinalMeta&&(u=_),!c&&_.type!=="ordinal"&&_.type!=="time"&&(!r||r===_.coordDim)&&(c=_))}),c&&!i&&!u&&(i=!0),c){d="__\0ecstackresult_"+n.id,h="__\0ecstackedover_"+n.id,u&&(u.createInvertedIndices=!0);var f=c.coordDim,p=c.type,g=0;ne(a,function(_){_.coordDim===f&&g++});var m={name:d,coordDim:f,coordDimIndex:g,type:p,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length},v={name:h,coordDim:h,coordDimIndex:g+1,type:p,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length+1};o?(s&&(m.storeDimIndex=s.ensureCalculationDimension(h,p),v.storeDimIndex=s.ensureCalculationDimension(d,p)),o.appendCalculationDimension(m),o.appendCalculationDimension(v)):(a.push(m),a.push(v))}return{stackedDimension:c&&c.name,stackedByDimension:u&&u.name,isStackedByIndex:i,stackedOverDimension:h,stackResultDimension:d}}function vce(n){return!BK(n.schema)}function Y5(n,e){return!!e&&e===n.getCalculationInfo("stackedDimension")}function VK(n,e){return Y5(n,e)?n.getCalculationInfo("stackResultDimension"):e}function yce(n,e){var t=n.get("coordinateSystem"),i=tf.get(t),r;return e&&e.coordSysDims&&(r=j2(e.coordSysDims,function(a){var o={name:a},s=e.axisMap.get(a);if(s){var l=s.get("type");o.type=iy(l)}return o})),r||(r=i&&(i.getDimensionsInfo?i.getDimensionsInfo():i.dimensions.slice())||["x","y"]),r}function _ce(n,e,t){var i,r;return t&&ne(n,function(a,o){var s=a.coordDim,l=t.categoryAxisMap.get(s);l&&(i==null&&(i=o),a.ordinalMeta=l.getOrdinalMeta(),e&&(a.createInvertedIndices=!0)),a.otherDims.itemName!=null&&(r=!0)}),!r&&i!=null&&(n[i].otherDims.itemName=0),i}function v6(n,e,t){t=t||{};var i=e.getSourceManager(),r,a=!1;n?(a=!0,r=OP(n)):(r=i.getSource(),a=r.sourceFormat===Ga);var o=pce(e),s=yce(e,o),l=t.useEncodeDefaulter,u=Gt(l)?l:l?r3(PX,s,e):null,c={coordDimensions:s,generateCoord:t.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!a},d=rf(r,c),h=_ce(d.dimensions,t.createInvertedIndices,o),f=a?null:i.getSharedDataStore(d),p=gce(e,{schema:d,store:f}),g=new Oi(d,e);g.setCalculationInfo(p);var m=h!=null&&Sce(r)?function(v,_,S,x){return x===h?S:this.defaultDimValueGetter(v,_,S,x)}:null;return g.hasItemOption=!1,g.initData(a?r:f,null,m),g}function Sce(n){if(n.sourceFormat===Ga){var e=bce(n.data||[]);return!H2(lu(e))}}function bce(n){for(var e=0;e<n.length&&n[e]==null;)e++;return n[e]}var HK=function(){function n(e){this._setting=e||{},this._extent=[1/0,-1/0]}return n.prototype.getSetting=function(e){return this._setting[e]},n.prototype.unionExtent=function(e){var t=this._extent;e[0]<t[0]&&(t[0]=e[0]),e[1]>t[1]&&(t[1]=e[1])},n.prototype.unionExtentFromData=function(e,t){this.unionExtent(e.getApproximateExtent(t))},n.prototype.getExtent=function(){return this._extent.slice()},n.prototype.setExtent=function(e,t){var i=this._extent;isNaN(e)||(i[0]=e),isNaN(t)||(i[1]=t)},n.prototype.isInExtentRange=function(e){return this._extent[0]<=e&&this._extent[1]>=e},n.prototype.isBlank=function(){return this._isBlank},n.prototype.setBlank=function(e){this._isBlank=e},n}();w_(HK);const y6=HK;var xce=0,wce=function(){function n(e){this.categories=e.categories||[],this._needCollect=e.needCollect,this._deduplication=e.deduplication,this.uid=++xce}return n.createByAxisModel=function(e){var t=e.option,i=t.data,r=i&&j2(i,Tce);return new n({categories:r,needCollect:!r,deduplication:t.dedplication!==!1})},n.prototype.getOrdinal=function(e){return this._getOrCreateMap().get(e)},n.prototype.parseAndCollect=function(e){var t,i=this._needCollect;if(!_t(e)&&!i)return e;if(i&&!this._deduplication)return t=this.categories.length,this.categories[t]=e,t;var r=this._getOrCreateMap();return t=r.get(e),t==null&&(i?(t=this.categories.length,this.categories[t]=e,r.set(e,t)):t=NaN),t},n.prototype._getOrCreateMap=function(){return this._map||(this._map=Ct(this.categories))},n}();function Tce(n){return jt(n)&&n.value!=null?n.value:n+""}const XC=wce;function KC(n){return n.type==="interval"||n.type==="log"}function Ace(n,e,t,i){var r={},a=n[1]-n[0],o=r.interval=tq(a/e,!0);t!=null&&o<t&&(o=r.interval=t),i!=null&&o>i&&(o=r.interval=i);var s=r.intervalPrecision=WK(o),l=r.niceTickExtent=[L0(Math.ceil(n[0]/o)*o,s),L0(Math.floor(n[1]/o)*o,s)];return Cce(l,n),r}function ow(n){var e=Math.pow(10,uP(n)),t=n/e;return t?t===2?t=3:t===3?t=5:t*=2:t=1,L0(t*e)}function WK(n){return Ko(n)+2}function DO(n,e,t){n[e]=Math.max(Math.min(n[e],t[1]),t[0])}function Cce(n,e){!isFinite(n[0])&&(n[0]=e[0]),!isFinite(n[1])&&(n[1]=e[1]),DO(n,0,e),DO(n,1,e),n[0]>n[1]&&(n[0]=n[1])}function $_(n,e){return n>=e[0]&&n<=e[1]}function Y_(n,e){return e[1]===e[0]?.5:(n-e[0])/(e[1]-e[0])}function q_(n,e){return n*(e[1]-e[0])+e[0]}var jK=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;i.type="ordinal";var r=i.getSetting("ordinalMeta");return r||(r=new XC({})),H2(r)&&(r=new XC({categories:j2(r,function(a){return jt(a)?a.value:a})})),i._ordinalMeta=r,i._extent=i.getSetting("extent")||[0,r.categories.length-1],i}return e.prototype.parse=function(t){return t==null?NaN:_t(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return t=this.parse(t),$_(t,this._extent)&&this._ordinalMeta.categories[t]!=null},e.prototype.normalize=function(t){return t=this._getTickNumber(this.parse(t)),Y_(t,this._extent)},e.prototype.scale=function(t){return t=Math.round(q_(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],i=this._extent,r=i[0];r<=i[1];)t.push({value:r}),r++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(t==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var i=t.ordinalNumbers,r=this._ordinalNumbersByTick=[],a=this._ticksByOrdinalNumber=[],o=0,s=this._ordinalMeta.categories.length,l=Math.min(s,i.length);o<l;++o){var u=i[o];r[o]=u,a[u]=o}for(var c=0;o<s;++o){for(;a[c]!=null;)c++;r.push(c),a[c]=o}},e.prototype._getTickNumber=function(t){var i=this._ticksByOrdinalNumber;return i&&t>=0&&t<i.length?i[t]:t},e.prototype.getRawOrdinalNumber=function(t){var i=this._ordinalNumbersByTick;return i&&t>=0&&t<i.length?i[t]:t},e.prototype.getLabel=function(t){if(!this.isBlank()){var i=this.getRawOrdinalNumber(t.value),r=this._ordinalMeta.categories[i];return r==null?"":r+""}},e.prototype.count=function(){return this._extent[1]-this._extent[0]+1},e.prototype.unionExtentFromData=function(t,i){this.unionExtent(t.getApproximateExtent(i))},e.prototype.isInExtentRange=function(t){return t=this._getTickNumber(t),this._extent[0]<=t&&this._extent[1]>=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(y6);y6.registerClass(jK);const XP=jK;var $9=L0,$K=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="interval",t._interval=0,t._intervalPrecision=2,t}return e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return $_(t,this._extent)},e.prototype.normalize=function(t){return Y_(t,this._extent)},e.prototype.scale=function(t){return q_(t,this._extent)},e.prototype.setExtent=function(t,i){var r=this._extent;isNaN(t)||(r[0]=parseFloat(t)),isNaN(i)||(r[1]=parseFloat(i))},e.prototype.unionExtent=function(t){var i=this._extent;t[0]<i[0]&&(i[0]=t[0]),t[1]>i[1]&&(i[1]=t[1]),this.setExtent(i[0],i[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=WK(t)},e.prototype.getTicks=function(t){var i=this._interval,r=this._extent,a=this._niceExtent,o=this._intervalPrecision,s=[];if(!i)return s;var l=1e4;r[0]<a[0]&&(t?s.push({value:$9(a[0]-i,o)}):s.push({value:r[0]}));for(var u=a[0];u<=a[1]&&(s.push({value:u}),u=$9(u+i,o),u!==s[s.length-1].value);)if(s.length>l)return[];var c=s.length?s[s.length-1].value:a[1];return r[1]>c&&(t?s.push({value:$9(c+i,o)}):s.push({value:r[1]})),s},e.prototype.getMinorTicks=function(t){for(var i=this.getTicks(!0),r=[],a=this.getExtent(),o=1;o<i.length;o++){for(var s=i[o],l=i[o-1],u=0,c=[],d=s.value-l.value,h=d/t;u<t-1;){var f=$9(l.value+(u+1)*h);f>a[0]&&f<a[1]&&c.push(f),u++}r.push(c)}return r},e.prototype.getLabel=function(t,i){if(t==null)return"";var r=i&&i.precision;r==null?r=Ko(t.value)||0:r==="auto"&&(r=this._intervalPrecision);var a=$9(t.value,r,!0);return SX(a)},e.prototype.calcNiceTicks=function(t,i,r){t=t||5;var a=this._extent,o=a[1]-a[0];if(isFinite(o)){o<0&&(o=-o,a.reverse());var s=Ace(a,t,i,r);this._intervalPrecision=s.intervalPrecision,this._interval=s.interval,this._niceExtent=s.niceTickExtent}},e.prototype.calcNiceExtent=function(t){var i=this._extent;if(i[0]===i[1])if(i[0]!==0){var r=Math.abs(i[0]);t.fixMax||(i[1]+=r/2),i[0]-=r/2}else i[1]=1;var a=i[1]-i[0];isFinite(a)||(i[0]=0,i[1]=1),this.calcNiceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(i[0]=$9(Math.floor(i[0]/o)*o)),t.fixMax||(i[1]=$9(Math.ceil(i[1]/o)*o))},e.prototype.setNiceExtent=function(t,i){this._niceExtent=[t,i]},e.type="interval",e}(y6);y6.registerClass($K);const q5=$K;var YK=typeof Float32Array!="undefined",Mce=YK?Float32Array:Array;function Jo(n){return H2(n)?YK?new Float32Array(n):n:new Mce(n)}var ZC="__ec_stack_";function KP(n){return n.get("stack")||ZC+n.seriesIndex}function ZP(n){return n.dim+n.index}function Ece(n){var e=[],t=n.axis,i="axis0";if(t.type==="category"){for(var r=t.getBandWidth(),a=0;a<n.count;a++)e.push(Vt({bandWidth:r,axisKey:i,stackId:ZC+a},n));for(var o=KK(e),s=[],a=0;a<n.count;a++){var l=o[i][ZC+a];l.offsetCenter=l.offset+l.width/2,s.push(l)}return s}}function qK(n,e){var t=[];return e.eachSeriesByType(n,function(i){QK(i)&&t.push(i)}),t}function Pce(n){var e={};ne(n,function(l){var u=l.coordinateSystem,c=u.getBaseAxis();if(!(c.type!=="time"&&c.type!=="value"))for(var d=l.getData(),h=c.dim+"_"+c.index,f=d.getDimensionIndex(d.mapDimension(c.dim)),p=d.getStore(),g=0,m=p.count();g<m;++g){var v=p.get(f,g);e[h]?e[h].push(v):e[h]=[v]}});var t={};for(var i in e)if(e.hasOwnProperty(i)){var r=e[i];if(r){r.sort(function(l,u){return l-u});for(var a=null,o=1;o<r.length;++o){var s=r[o]-r[o-1];s>0&&(a=a===null?s:Math.min(a,s))}t[i]=a}}return t}function XK(n){var e=Pce(n),t=[];return ne(n,function(i){var r=i.coordinateSystem,a=r.getBaseAxis(),o=a.getExtent(),s;if(a.type==="category")s=a.getBandWidth();else if(a.type==="value"||a.type==="time"){var l=a.dim+"_"+a.index,u=e[l],c=Math.abs(o[1]-o[0]),d=a.scale.getExtent(),h=Math.abs(d[1]-d[0]);s=u?c/h*u:c}else{var f=i.getData();s=Math.abs(o[1]-o[0])/f.count()}var p=ft(i.get("barWidth"),s),g=ft(i.get("barMaxWidth"),s),m=ft(i.get("barMinWidth")||(eZ(i)?.5:1),s),v=i.get("barGap"),_=i.get("barCategoryGap");t.push({bandWidth:s,barWidth:p,barMaxWidth:g,barMinWidth:m,barGap:v,barCategoryGap:_,axisKey:ZP(a),stackId:KP(i)})}),KK(t)}function KK(n){var e={};ne(n,function(i,r){var a=i.axisKey,o=i.bandWidth,s=e[a]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},l=s.stacks;e[a]=s;var u=i.stackId;l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var c=i.barWidth;c&&!l[u].width&&(l[u].width=c,c=Math.min(s.remainedWidth,c),s.remainedWidth-=c);var d=i.barMaxWidth;d&&(l[u].maxWidth=d);var h=i.barMinWidth;h&&(l[u].minWidth=h);var f=i.barGap;f!=null&&(s.gap=f);var p=i.barCategoryGap;p!=null&&(s.categoryGap=p)});var t={};return ne(e,function(i,r){t[r]={};var a=i.stacks,o=i.bandWidth,s=i.categoryGap;if(s==null){var l=E3(a).length;s=Math.max(35-l*4,15)+"%"}var u=ft(s,o),c=ft(i.gap,1),d=i.remainedWidth,h=i.autoWidthCount,f=(d-u)/(h+(h-1)*c);f=Math.max(f,0),ne(a,function(v){var _=v.maxWidth,S=v.minWidth;if(v.width){var x=v.width;_&&(x=Math.min(x,_)),S&&(x=Math.max(x,S)),v.width=x,d-=x+c*x,h--}else{var x=f;_&&_<x&&(x=Math.min(_,d)),S&&S>x&&(x=S),x!==f&&(v.width=x,d-=x+c*x,h--)}}),f=(d-u)/(h+(h-1)*c),f=Math.max(f,0);var p=0,g;ne(a,function(v,_){v.width||(v.width=f),g=v,p+=v.width*(1+c)}),g&&(p-=g.width*c);var m=-p/2;ne(a,function(v,_){t[r][_]=t[r][_]||{bandWidth:o,offset:m,width:v.width},m+=v.width*(1+c)})}),t}function Rce(n,e,t){if(n&&e){var i=n[ZP(e)];return i!=null&&t!=null?i[KP(t)]:i}}function ZK(n,e){var t=qK(n,e),i=XK(t);ne(t,function(r){var a=r.getData(),o=r.coordinateSystem,s=o.getBaseAxis(),l=KP(r),u=i[ZP(s)][l],c=u.offset,d=u.width;a.setLayout({bandWidth:u.bandWidth,offset:c,size:d})})}function JK(n){return{seriesType:n,plan:vu(),reset:function(e){if(QK(e)){var t=e.getData(),i=e.coordinateSystem,r=i.getBaseAxis(),a=i.getOtherAxis(r),o=t.getDimensionIndex(t.mapDimension(a.dim)),s=t.getDimensionIndex(t.mapDimension(r.dim)),l=e.get("showBackground",!0),u=t.mapDimension(a.dim),c=t.getCalculationInfo("stackResultDimension"),d=Y5(t,u)&&!!t.getCalculationInfo("stackedOnSeries"),h=a.isHorizontal(),f=Lce(r,a),p=eZ(e),g=e.get("barMinHeight")||0,m=c&&t.getDimensionIndex(c),v=t.getLayout("size"),_=t.getLayout("offset");return{progress:function(S,x){for(var A=S.count,C=p&&Jo(A*3),M=p&&l&&Jo(A*3),I=p&&Jo(A),D=i.master.getRect(),E=h?D.width:D.height,L,V=x.getStore(),Y=0;(L=S.next())!=null;){var G=V.get(d?m:o,L),W=V.get(s,L),q=f,ce=void 0;d&&(ce=+G-V.get(o,L));var J=void 0,H=void 0,re=void 0,ee=void 0;if(h){var se=i.dataToPoint([G,W]);if(d){var Be=i.dataToPoint([ce,W]);q=Be[0]}J=q,H=se[1]+_,re=se[0]-q,ee=v,Math.abs(re)<g&&(re=(re<0?-1:1)*g)}else{var se=i.dataToPoint([W,G]);if(d){var Be=i.dataToPoint([W,ce]);q=Be[1]}J=se[0]+_,H=q,re=v,ee=se[1]-q,Math.abs(ee)<g&&(ee=(ee<=0?-1:1)*g)}p?(C[Y]=J,C[Y+1]=H,C[Y+2]=h?re:ee,M&&(M[Y]=h?D.x:J,M[Y+1]=h?H:D.y,M[Y+2]=E),I[L]=L):x.setItemLayout(L,{x:J,y:H,width:re,height:ee}),Y+=3}p&&x.setLayout({largePoints:C,largeDataIndices:I,largeBackgroundPoints:M,valueAxisHorizontal:h})}}}}}}function QK(n){return n.coordinateSystem&&n.coordinateSystem.type==="cartesian2d"}function eZ(n){return n.pipelineContext&&n.pipelineContext.large}function Lce(n,e){var t=e.model.get("startValue");return t||(t=0),e.toGlobalCoord(e.dataToCoord(e.type==="log"?t>0?t:1:t))}var Ice=function(n,e,t,i){for(;t<i;){var r=t+i>>>1;n[r][1]<e?t=r+1:i=r}return t},tZ=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="time",i}return e.prototype.getLabel=function(t){var i=this.getSetting("useUTC");return N_(t.value,wF[t4e(g7(this._minLevelUnit))]||wF.second,i,this.getSetting("locale"))},e.prototype.getFormattedLabel=function(t,i,r){var a=this.getSetting("useUTC"),o=this.getSetting("locale");return n4e(t,i,r,o,a)},e.prototype.getTicks=function(){var t=this._interval,i=this._extent,r=[];if(!t)return r;r.push({value:i[0],level:0});var a=this.getSetting("useUTC"),o=zce(this._minLevelUnit,this._approxInterval,a,i);return r=r.concat(o),r.push({value:i[1],level:0}),r},e.prototype.calcNiceExtent=function(t){var i=this._extent;if(i[0]===i[1]&&(i[0]-=Ca,i[1]+=Ca),i[1]===-1/0&&i[0]===1/0){var r=new Date;i[1]=+new Date(r.getFullYear(),r.getMonth(),r.getDate()),i[0]=i[1]-Ca}this.calcNiceTicks(t.splitNumber,t.minInterval,t.maxInterval)},e.prototype.calcNiceTicks=function(t,i,r){t=t||10;var a=this._extent,o=a[1]-a[0];this._approxInterval=o/t,i!=null&&this._approxInterval<i&&(this._approxInterval=i),r!=null&&this._approxInterval>r&&(this._approxInterval=r);var s=tm.length,l=Math.min(Ice(tm,this._approxInterval,0,s),s-1);this._interval=tm[l][1],this._minLevelUnit=tm[Math.max(l-1,0)][0]},e.prototype.parse=function(t){return q3(t)?t:+cs(t)},e.prototype.contain=function(t){return $_(this.parse(t),this._extent)},e.prototype.normalize=function(t){return Y_(this.parse(t),this._extent)},e.prototype.scale=function(t){return q_(t,this._extent)},e.type="time",e}(q5),tm=[["second",PP],["minute",RP],["hour",xd],["quarter-day",xd*6],["half-day",xd*12],["day",Ca*1.2],["half-week",Ca*3.5],["week",Ca*7],["month",Ca*31],["quarter",Ca*95],["half-year",xF/2],["year",xF]];function Dce(n,e,t,i){var r=cs(e),a=cs(t),o=function(p){return TF(r,p,i)===TF(a,p,i)},s=function(){return o("year")},l=function(){return s()&&o("month")},u=function(){return l()&&o("day")},c=function(){return u()&&o("hour")},d=function(){return c()&&o("minute")},h=function(){return d()&&o("second")},f=function(){return h()&&o("millisecond")};switch(n){case"year":return s();case"month":return l();case"day":return u();case"hour":return c();case"minute":return d();case"second":return h();case"millisecond":return f()}}function Nce(n,e){return n/=Ca,n>16?16:n>7.5?7:n>3.5?4:n>1.5?2:1}function kce(n){var e=30*Ca;return n/=e,n>6?6:n>3?3:n>2?2:1}function Fce(n){return n/=xd,n>12?12:n>6?6:n>3.5?4:n>2?2:1}function NO(n,e){return n/=e?RP:PP,n>30?30:n>20?20:n>15?15:n>10?10:n>5?5:n>2?2:1}function Oce(n){return tq(n,!0)}function Bce(n,e,t){var i=new Date(n);switch(g7(e)){case"year":case"month":i[pX(t)](0);case"day":i[mX(t)](1);case"hour":i[gX(t)](0);case"minute":i[vX(t)](0);case"second":i[yX(t)](0),i[_X(t)](0)}return i.getTime()}function zce(n,e,t,i){var r=1e4,a=hX,o=0;function s(E,L,V,Y,G,W,q){for(var ce=new Date(L),J=L,H=ce[Y]();J<V&&J<=i[1];)q.push({value:J}),H+=E,ce[G](H),J=ce.getTime();q.push({value:J,notAdd:!0})}function l(E,L,V){var Y=[],G=!L.length;if(!Dce(g7(E),i[0],i[1],t)){G&&(L=[{value:Bce(new Date(i[0]),E,t)},{value:i[1]}]);for(var W=0;W<L.length-1;W++){var q=L[W].value,ce=L[W+1].value;if(q!==ce){var J=void 0,H=void 0,re=void 0,ee=!1;switch(E){case"year":J=Math.max(1,Math.round(e/Ca/365)),H=LP(t),re=i4e(t);break;case"half-year":case"quarter":case"month":J=kce(e),H=v7(t),re=pX(t);break;case"week":case"half-week":case"day":J=Nce(e),H=k_(t),re=mX(t),ee=!0;break;case"half-day":case"quarter-day":case"hour":J=Fce(e),H=lh(t),re=gX(t);break;case"minute":J=NO(e,!0),H=F_(t),re=vX(t);break;case"second":J=NO(e,!1),H=O_(t),re=yX(t);break;case"millisecond":J=Oce(e),H=B_(t),re=_X(t);break}s(J,q,ce,H,re,ee,Y),E==="year"&&V.length>1&&W===0&&V.unshift({value:V[0].value-J})}}for(var W=0;W<Y.length;W++)V.push(Y[W]);return Y}}for(var u=[],c=[],d=0,h=0,f=0;f<a.length&&o++<r;++f){var p=g7(a[f]);if(e4e(a[f])){l(a[f],u[u.length-1]||[],c);var g=a[f+1]?g7(a[f+1]):null;if(p!==g){if(c.length){h=d,c.sort(function(E,L){return E.value-L.value});for(var m=[],v=0;v<c.length;++v){var _=c[v].value;(v===0||c[v-1].value!==_)&&(m.push(c[v]),_>=i[0]&&_<=i[1]&&d++)}var S=(i[1]-i[0])/e;if(d>S*1.5&&h>S/1.5||(u.push(m),d>S||n===a[f]))break}c=[]}}}for(var x=c1(j2(u,function(E){return c1(E,function(L){return L.value>=i[0]&&L.value<=i[1]&&!L.notAdd})}),function(E){return E.length>0}),A=[],C=x.length-1,f=0;f<x.length;++f)for(var M=x[f],I=0;I<M.length;++I)A.push({value:M[I].value,level:C-f});A.sort(function(E,L){return E.value-L.value});for(var D=[],f=0;f<A.length;++f)(f===0||A[f].value!==A[f-1].value)&&D.push(A[f]);return D}y6.registerClass(tZ);const nZ=tZ;var kO=y6.prototype,Cd=q5.prototype,Uce=L0,Gce=Math.floor,Vce=Math.ceil,nm=Math.pow,Za=Math.log,JP=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="log",t.base=10,t._originalScale=new q5,t._interval=0,t}return e.prototype.getTicks=function(t){var i=this._originalScale,r=this._extent,a=i.getExtent(),o=Cd.getTicks.call(this,t);return j2(o,function(s){var l=s.value,u=L0(nm(this.base,l));return u=l===r[0]&&this._fixMin?im(u,a[0]):u,u=l===r[1]&&this._fixMax?im(u,a[1]):u,{value:u}},this)},e.prototype.setExtent=function(t,i){var r=Za(this.base);t=Za(Math.max(0,t))/r,i=Za(Math.max(0,i))/r,Cd.setExtent.call(this,t,i)},e.prototype.getExtent=function(){var t=this.base,i=kO.getExtent.call(this);i[0]=nm(t,i[0]),i[1]=nm(t,i[1]);var r=this._originalScale,a=r.getExtent();return this._fixMin&&(i[0]=im(i[0],a[0])),this._fixMax&&(i[1]=im(i[1],a[1])),i},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var i=this.base;t[0]=Za(t[0])/Za(i),t[1]=Za(t[1])/Za(i),kO.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,i){this.unionExtent(t.getApproximateExtent(i))},e.prototype.calcNiceTicks=function(t){t=t||10;var i=this._extent,r=i[1]-i[0];if(!(r===1/0||r<=0)){var a=A9e(r),o=t/r*a;for(o<=.5&&(a*=10);!isNaN(a)&&Math.abs(a)<1&&Math.abs(a)>0;)a*=10;var s=[L0(Vce(i[0]/a)*a),L0(Gce(i[1]/a)*a)];this._interval=a,this._niceExtent=s}},e.prototype.calcNiceExtent=function(t){Cd.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return t=Za(t)/Za(this.base),$_(t,this._extent)},e.prototype.normalize=function(t){return t=Za(t)/Za(this.base),Y_(t,this._extent)},e.prototype.scale=function(t){return t=q_(t,this._extent),nm(this.base,t)},e.type="log",e}(y6),iZ=JP.prototype;iZ.getMinorTicks=Cd.getMinorTicks;iZ.getLabel=Cd.getLabel;function im(n,e){return Uce(n,Ko(e))}y6.registerClass(JP);const Hce=JP;var Wce=function(){function n(e,t,i){this._prepareParams(e,t,i)}return n.prototype._prepareParams=function(e,t,i){i[1]<i[0]&&(i=[NaN,NaN]),this._dataMin=i[0],this._dataMax=i[1];var r=this._isOrdinal=e.type==="ordinal";this._needCrossZero=e.type==="interval"&&t.getNeedCrossZero&&t.getNeedCrossZero();var a=t.get("min",!0);a==null&&(a=t.get("startValue",!0));var o=this._modelMinRaw=a;Gt(o)?this._modelMinNum=rm(e,o({min:i[0],max:i[1]})):o!=="dataMin"&&(this._modelMinNum=rm(e,o));var s=this._modelMaxRaw=t.get("max",!0);if(Gt(s)?this._modelMaxNum=rm(e,s({min:i[0],max:i[1]})):s!=="dataMax"&&(this._modelMaxNum=rm(e,s)),r)this._axisDataLen=t.getCategories().length;else{var l=t.get("boundaryGap"),u=H2(l)?l:[l||0,l||0];typeof u[0]=="boolean"||typeof u[1]=="boolean"?this._boundaryGapInner=[0,0]:this._boundaryGapInner=[mo(u[0],1),mo(u[1],1)]}},n.prototype.calculate=function(){var e=this._isOrdinal,t=this._dataMin,i=this._dataMax,r=this._axisDataLen,a=this._boundaryGapInner,o=e?null:i-t||Math.abs(t),s=this._modelMinRaw==="dataMin"?t:this._modelMinNum,l=this._modelMaxRaw==="dataMax"?i:this._modelMaxNum,u=s!=null,c=l!=null;s==null&&(s=e?r?0:NaN:t-a[0]*o),l==null&&(l=e?r?r-1:NaN:i+a[1]*o),(s==null||!isFinite(s))&&(s=NaN),(l==null||!isFinite(l))&&(l=NaN);var d=Zd(s)||Zd(l)||e&&!r;this._needCrossZero&&(s>0&&l>0&&!u&&(s=0),s<0&&l<0&&!c&&(l=0));var h=this._determinedMin,f=this._determinedMax;return h!=null&&(s=h,u=!0),f!=null&&(l=f,c=!0),{min:s,max:l,minFixed:u,maxFixed:c,isBlank:d}},n.prototype.modifyDataMinMax=function(e,t){this[$ce[e]]=t},n.prototype.setDeterminedMinMax=function(e,t){var i=jce[e];this[i]=t},n.prototype.freeze=function(){this.frozen=!0},n}(),jce={min:"_determinedMin",max:"_determinedMax"},$ce={min:"_dataMin",max:"_dataMax"};function rZ(n,e,t){var i=n.rawExtentInfo;return i||(i=new Wce(n,e,t),n.rawExtentInfo=i,i)}function rm(n,e){return e==null?null:Zd(e)?NaN:n.parse(e)}function aZ(n,e){var t=n.type,i=rZ(n,e,n.getExtent()).calculate();n.setBlank(i.isBlank);var r=i.min,a=i.max,o=e.ecModel;if(o&&t==="time"){var s=qK("bar",o),l=!1;if(ne(s,function(d){l=l||d.getBaseAxis()===e.axis}),l){var u=XK(s),c=Yce(r,a,e,u);r=c.min,a=c.max}}return{extent:[r,a],fixMin:i.minFixed,fixMax:i.maxFixed}}function Yce(n,e,t,i){var r=t.axis.getExtent(),a=Math.abs(r[1]-r[0]),o=Rce(i,t.axis);if(o===void 0)return{min:n,max:e};var s=1/0;ne(o,function(f){s=Math.min(f.offset,s)});var l=-1/0;ne(o,function(f){l=Math.max(f.offset+f.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,c=e-n,d=1-(s+l)/a,h=c/d-c;return e+=h*(l/u),n-=h*(s/u),{min:n,max:e}}function F7(n,e){var t=e,i=aZ(n,t),r=i.extent,a=t.get("splitNumber");n instanceof Hce&&(n.base=t.get("logBase"));var o=n.type,s=t.get("interval"),l=o==="interval"||o==="time";n.setExtent(r[0],r[1]),n.calcNiceExtent({splitNumber:a,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?t.get("minInterval"):null,maxInterval:l?t.get("maxInterval"):null}),s!=null&&n.setInterval&&n.setInterval(s)}function X_(n,e){if(e=e||n.get("type"),e)switch(e){case"category":return new XP({ordinalMeta:n.getOrdinalMeta?n.getOrdinalMeta():n.getCategories(),extent:[1/0,-1/0]});case"time":return new nZ({locale:n.ecModel.getLocaleModel(),useUTC:n.ecModel.get("useUTC")});default:return new(y6.getClass(e)||q5)}}function qce(n){var e=n.scale.getExtent(),t=e[0],i=e[1];return!(t>0&&i>0||t<0&&i<0)}function Su(n){var e=n.getLabelModel().get("formatter"),t=n.type==="category"?n.scale.getExtent()[0]:null;return n.scale.type==="time"?function(i){return function(r,a){return n.scale.getFormattedLabel(r,a,i)}}(e):_t(e)?function(i){return function(r){var a=n.scale.getLabel(r),o=i.replace("{value}",a!=null?a:"");return o}}(e):Gt(e)?function(i){return function(r,a){return t!=null&&(a=r.value-t),i(QP(n,r),a,r.level!=null?{level:r.level}:null)}}(e):function(i){return n.scale.getLabel(i)}}function QP(n,e){return n.type==="category"?n.scale.getLabel(e):e.value}function Xce(n){var e=n.model,t=n.scale;if(!(!e.get(["axisLabel","show"])||t.isBlank())){var i,r,a=t.getExtent();t instanceof XP?r=t.count():(i=t.getTicks(),r=i.length);var o=n.getLabelModel(),s=Su(n),l,u=1;r>40&&(u=Math.ceil(r/40));for(var c=0;c<r;c+=u){var d=i?i[c]:{value:a[0]+c},h=s(d,c),f=o.getTextRect(h),p=Kce(f,o.get("rotate")||0);l?l.union(p):l=p}return l}}function Kce(n,e){var t=e*Math.PI/180,i=n.width,r=n.height,a=i*Math.abs(Math.cos(t))+Math.abs(r*Math.sin(t)),o=i*Math.abs(Math.sin(t))+Math.abs(r*Math.cos(t)),s=new h3(n.x,n.y,a,o);return s}function eR(n){var e=n.get("interval");return e==null?"auto":e}function oZ(n){return n.type==="category"&&eR(n.getLabelModel())===0}function ry(n,e){var t={};return ne(n.mapDimensionsAll(e),function(i){t[VK(n,i)]=!0}),E3(t)}function Zce(n,e,t){e&&ne(ry(e,t),function(i){var r=e.getApproximateExtent(i);r[0]<n[0]&&(n[0]=r[0]),r[1]>n[1]&&(n[1]=r[1])})}var af=function(){function n(){}return n.prototype.getNeedCrossZero=function(){var e=this.option;return!e.scale},n.prototype.getCoordSysModel=function(){},n}(),Jce=1e-8;function FO(n,e){return Math.abs(n-e)<Jce}function g8(n,e,t){var i=0,r=n[0];if(!r)return!1;for(var a=1;a<n.length;a++){var o=n[a];i+=Hs(r[0],r[1],o[0],o[1],e,t),r=o}var s=n[0];return(!FO(r[0],s[0])||!FO(r[1],s[1]))&&(i+=Hs(r[0],r[1],s[0],s[1],e,t)),i!==0}var Qce=[];function sw(n,e){for(var t=0;t<n.length;t++)Kn(n[t],n[t],e)}function OO(n,e,t,i){for(var r=0;r<n.length;r++){var a=n[r];i&&(a=i.project(a)),a&&isFinite(a[0])&&isFinite(a[1])&&(v5(e,e,a),y5(t,t,a))}}function ede(n){for(var e=0,t=0,i=0,r=n.length,a=n[r-1][0],o=n[r-1][1],s=0;s<r;s++){var l=n[s][0],u=n[s][1],c=a*u-l*o;e+=c,t+=(a+l)*c,i+=(o+u)*c,a=l,o=u}return e?[t/e/3,i/e/3,e]:[n[0][0]||0,n[0][1]||0]}var sZ=function(){function n(e){this.name=e}return n.prototype.setCenter=function(e){this._center=e},n.prototype.getCenter=function(){var e=this._center;return e||(e=this._center=this.calcCenter()),e},n}(),BO=function(){function n(e,t){this.type="polygon",this.exterior=e,this.interiors=t}return n}(),zO=function(){function n(e){this.type="linestring",this.points=e}return n}(),lZ=function(n){g2(e,n);function e(t,i,r){var a=n.call(this,t)||this;return a.type="geoJSON",a.geometries=i,a._center=r&&[r[0],r[1]],a}return e.prototype.calcCenter=function(){for(var t=this.geometries,i,r=0,a=0;a<t.length;a++){var o=t[a],s=o.exterior,l=s&&s.length;l>r&&(i=o,r=l)}if(i)return ede(i.exterior);var u=this.getBoundingRect();return[u.x+u.width/2,u.y+u.height/2]},e.prototype.getBoundingRect=function(t){var i=this._rect;if(i&&!t)return i;var r=[1/0,1/0],a=[-1/0,-1/0],o=this.geometries;return ne(o,function(s){s.type==="polygon"?OO(s.exterior,r,a,t):ne(s.points,function(l){OO(l,r,a,t)})}),isFinite(r[0])&&isFinite(r[1])&&isFinite(a[0])&&isFinite(a[1])||(r[0]=r[1]=a[0]=a[1]=0),i=new h3(r[0],r[1],a[0]-r[0],a[1]-r[1]),t||(this._rect=i),i},e.prototype.contain=function(t){var i=this.getBoundingRect(),r=this.geometries;if(!i.contain(t[0],t[1]))return!1;e:for(var a=0,o=r.length;a<o;a++){var s=r[a];if(s.type==="polygon"){var l=s.exterior,u=s.interiors;if(g8(l,t[0],t[1])){for(var c=0;c<(u?u.length:0);c++)if(g8(u[c],t[0],t[1]))continue e;return!0}}}return!1},e.prototype.transformTo=function(t,i,r,a){var o=this.getBoundingRect(),s=o.width/o.height;r?a||(a=r/s):r=s*a;for(var l=new h3(t,i,r,a),u=o.calculateTransform(l),c=this.geometries,d=0;d<c.length;d++){var h=c[d];h.type==="polygon"?(sw(h.exterior,u),ne(h.interiors,function(f){sw(f,u)})):ne(h.points,function(f){sw(f,u)})}o=this._rect,o.copy(l),this._center=[o.x+o.width/2,o.y+o.height/2]},e.prototype.cloneShallow=function(t){t==null&&(t=this.name);var i=new e(t,this.geometries,this._center);return i._rect=this._rect,i.transformTo=null,i},e}(sZ),tde=function(n){g2(e,n);function e(t,i){var r=n.call(this,t)||this;return r.type="geoSVG",r._elOnlyForCalculate=i,r}return e.prototype.calcCenter=function(){for(var t=this._elOnlyForCalculate,i=t.getBoundingRect(),r=[i.x+i.width/2,i.y+i.height/2],a=S_(Qce),o=t;o&&!o.isGeoSVGGraphicRoot;)Js(a,o.getLocalTransform(),a),o=o.parent;return su(a,a),Kn(r,r,a),r},e}(sZ);function nde(n){if(!n.UTF8Encoding)return n;var e=n,t=e.UTF8Scale;t==null&&(t=1024);var i=e.features;return ne(i,function(r){var a=r.geometry,o=a.encodeOffsets,s=a.coordinates;if(o)switch(a.type){case"LineString":a.coordinates=uZ(s,o,t);break;case"Polygon":lw(s,o,t);break;case"MultiLineString":lw(s,o,t);break;case"MultiPolygon":ne(s,function(l,u){return lw(l,o[u],t)})}}),e.UTF8Encoding=!1,e}function lw(n,e,t){for(var i=0;i<n.length;i++)n[i]=uZ(n[i],e[i],t)}function uZ(n,e,t){for(var i=[],r=e[0],a=e[1],o=0;o<n.length;o+=2){var s=n.charCodeAt(o)-64,l=n.charCodeAt(o+1)-64;s=s>>1^-(s&1),l=l>>1^-(l&1),s+=r,l+=a,r=s,a=l,i.push([s/t,l/t])}return i}function ide(n,e){return n=nde(n),j2(c1(n.features,function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0}),function(t){var i=t.properties,r=t.geometry,a=[];switch(r.type){case"Polygon":var o=r.coordinates;a.push(new BO(o[0],o.slice(1)));break;case"MultiPolygon":ne(r.coordinates,function(l){l[0]&&a.push(new BO(l[0],l.slice(1)))});break;case"LineString":a.push(new zO([r.coordinates]));break;case"MultiLineString":a.push(new zO(r.coordinates))}var s=new lZ(i[e||"name"],a,i.cp);return s.properties=i,s})}var ph=B3();function cZ(n,e){var t=j2(e,function(i){return n.scale.parse(i)});return n.type==="time"&&t.length>0&&(t.sort(),t.unshift(t[0]),t.push(t[t.length-1])),t}function rde(n){var e=n.getLabelModel().get("customValues");if(e){var t=Su(n),i=n.scale.getExtent(),r=cZ(n,e),a=c1(r,function(o){return o>=i[0]&&o<=i[1]});return{labels:j2(a,function(o){var s={value:o};return{formattedLabel:t(s),rawLabel:n.scale.getLabel(s),tickValue:o}})}}return n.type==="category"?ode(n):lde(n)}function ade(n,e){var t=n.getTickModel().get("customValues");if(t){var i=n.scale.getExtent(),r=cZ(n,t);return{ticks:c1(r,function(a){return a>=i[0]&&a<=i[1]})}}return n.type==="category"?sde(n,e):{ticks:j2(n.scale.getTicks(),function(a){return a.value})}}function ode(n){var e=n.getLabelModel(),t=dZ(n,e);return!e.get("show")||n.scale.isBlank()?{labels:[],labelCategoryInterval:t.labelCategoryInterval}:t}function dZ(n,e){var t=hZ(n,"labels"),i=eR(e),r=fZ(t,i);if(r)return r;var a,o;return Gt(i)?a=gZ(n,i):(o=i==="auto"?ude(n):i,a=mZ(n,o)),pZ(t,i,{labels:a,labelCategoryInterval:o})}function sde(n,e){var t=hZ(n,"ticks"),i=eR(e),r=fZ(t,i);if(r)return r;var a,o;if((!e.get("show")||n.scale.isBlank())&&(a=[]),Gt(i))a=gZ(n,i,!0);else if(i==="auto"){var s=dZ(n,n.getLabelModel());o=s.labelCategoryInterval,a=j2(s.labels,function(l){return l.tickValue})}else o=i,a=mZ(n,o,!0);return pZ(t,i,{ticks:a,tickCategoryInterval:o})}function lde(n){var e=n.scale.getTicks(),t=Su(n);return{labels:j2(e,function(i,r){return{level:i.level,formattedLabel:t(i,r),rawLabel:n.scale.getLabel(i),tickValue:i.value}})}}function hZ(n,e){return ph(n)[e]||(ph(n)[e]=[])}function fZ(n,e){for(var t=0;t<n.length;t++)if(n[t].key===e)return n[t].value}function pZ(n,e,t){return n.push({key:e,value:t}),t}function ude(n){var e=ph(n).autoInterval;return e!=null?e:ph(n).autoInterval=n.calculateCategoryInterval()}function cde(n){var e=dde(n),t=Su(n),i=(e.axisRotate-e.labelRotate)/180*Math.PI,r=n.scale,a=r.getExtent(),o=r.count();if(a[1]-a[0]<1)return 0;var s=1;o>40&&(s=Math.max(1,Math.floor(o/40)));for(var l=a[0],u=n.dataToCoord(l+1)-n.dataToCoord(l),c=Math.abs(u*Math.cos(i)),d=Math.abs(u*Math.sin(i)),h=0,f=0;l<=a[1];l+=s){var p=0,g=0,m=Kh(t({value:l}),e.font,"center","top");p=m.width*1.3,g=m.height*1.3,h=Math.max(h,p,7),f=Math.max(f,g,7)}var v=h/c,_=f/d;isNaN(v)&&(v=1/0),isNaN(_)&&(_=1/0);var S=Math.max(0,Math.floor(Math.min(v,_))),x=ph(n.model),A=n.getExtent(),C=x.lastAutoInterval,M=x.lastTickCount;return C!=null&&M!=null&&Math.abs(C-S)<=1&&Math.abs(M-o)<=1&&C>S&&x.axisExtent0===A[0]&&x.axisExtent1===A[1]?S=C:(x.lastTickCount=o,x.lastAutoInterval=S,x.axisExtent0=A[0],x.axisExtent1=A[1]),S}function dde(n){var e=n.getLabelModel();return{axisRotate:n.getRotate?n.getRotate():n.isHorizontal&&!n.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function mZ(n,e,t){var i=Su(n),r=n.scale,a=r.getExtent(),o=n.getLabelModel(),s=[],l=Math.max((e||0)+1,1),u=a[0],c=r.count();u!==0&&l>1&&c/l>2&&(u=Math.round(Math.ceil(u/l)*l));var d=oZ(n),h=o.get("showMinLabel")||d,f=o.get("showMaxLabel")||d;h&&u!==a[0]&&g(a[0]);for(var p=u;p<=a[1];p+=l)g(p);f&&p-l!==a[1]&&g(a[1]);function g(m){var v={value:m};s.push(t?m:{formattedLabel:i(v),rawLabel:r.getLabel(v),tickValue:m})}return s}function gZ(n,e,t){var i=n.scale,r=Su(n),a=[];return ne(i.getTicks(),function(o){var s=i.getLabel(o),l=o.value;e(o.value,s)&&a.push(t?l:{formattedLabel:r(o),rawLabel:s,tickValue:l})}),a}var UO=[0,1],hde=function(){function n(e,t,i){this.onBand=!1,this.inverse=!1,this.dim=e,this.scale=t,this._extent=i||[0,0]}return n.prototype.contain=function(e){var t=this._extent,i=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]);return e>=i&&e<=r},n.prototype.containData=function(e){return this.scale.contain(e)},n.prototype.getExtent=function(){return this._extent.slice()},n.prototype.getPixelPrecision=function(e){return QY(e||this.scale.getExtent(),this._extent)},n.prototype.setExtent=function(e,t){var i=this._extent;i[0]=e,i[1]=t},n.prototype.dataToCoord=function(e,t){var i=this._extent,r=this.scale;return e=r.normalize(e),this.onBand&&r.type==="ordinal"&&(i=i.slice(),GO(i,r.count())),p1(e,UO,i,t)},n.prototype.coordToData=function(e,t){var i=this._extent,r=this.scale;this.onBand&&r.type==="ordinal"&&(i=i.slice(),GO(i,r.count()));var a=p1(e,i,UO,t);return this.scale.scale(a)},n.prototype.pointToData=function(e,t){},n.prototype.getTicksCoords=function(e){e=e||{};var t=e.tickModel||this.getTickModel(),i=ade(this,t),r=i.ticks,a=j2(r,function(s){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(s):s),tickValue:s}},this),o=t.get("alignWithLabel");return fde(this,a,o,e.clamp),a},n.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var e=this.model.getModel("minorTick"),t=e.get("splitNumber");t>0&&t<100||(t=5);var i=this.scale.getMinorTicks(t),r=j2(i,function(a){return j2(a,function(o){return{coord:this.dataToCoord(o),tickValue:o}},this)},this);return r},n.prototype.getViewLabels=function(){return rde(this).labels},n.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},n.prototype.getTickModel=function(){return this.model.getModel("axisTick")},n.prototype.getBandWidth=function(){var e=this._extent,t=this.scale.getExtent(),i=t[1]-t[0]+(this.onBand?1:0);i===0&&(i=1);var r=Math.abs(e[1]-e[0]);return Math.abs(r)/i},n.prototype.calculateCategoryInterval=function(){return cde(this)},n}();function GO(n,e){var t=n[1]-n[0],i=e,r=t/i/2;n[0]+=r,n[1]-=r}function fde(n,e,t,i){var r=e.length;if(!n.onBand||t||!r)return;var a=n.getExtent(),o,s;if(r===1)e[0].coord=a[0],o=e[1]={coord:a[1],tickValue:e[0].tickValue};else{var l=e[r-1].tickValue-e[0].tickValue,u=(e[r-1].coord-e[0].coord)/l;ne(e,function(f){f.coord-=u/2});var c=n.scale.getExtent();s=1+c[1]-e[r-1].tickValue,o={coord:e[r-1].coord+u*s,tickValue:c[1]+1},e.push(o)}var d=a[0]>a[1];h(e[0].coord,a[0])&&(i?e[0].coord=a[0]:e.shift()),i&&h(a[0],e[0].coord)&&e.unshift({coord:a[0]}),h(a[1],o.coord)&&(i?o.coord=a[1]:e.pop()),i&&h(o.coord,a[1])&&e.push({coord:a[1]});function h(f,p){return f=L0(f),p=L0(p),d?f>p:f<p}}const So=hde;var vc=Math.PI*2,Y9=ds.CMD,pde=["top","right","bottom","left"];function mde(n,e,t,i,r){var a=t.width,o=t.height;switch(n){case"top":i.set(t.x+a/2,t.y-e),r.set(0,-1);break;case"bottom":i.set(t.x+a/2,t.y+o+e),r.set(0,1);break;case"left":i.set(t.x-e,t.y+o/2),r.set(-1,0);break;case"right":i.set(t.x+a+e,t.y+o/2),r.set(1,0);break}}function gde(n,e,t,i,r,a,o,s,l){o-=n,s-=e;var u=Math.sqrt(o*o+s*s);o/=u,s/=u;var c=o*t+n,d=s*t+e;if(Math.abs(i-r)%vc<1e-4)return l[0]=c,l[1]=d,u-t;if(a){var h=i;i=zr(r),r=zr(h)}else i=zr(i),r=zr(r);i>r&&(r+=vc);var f=Math.atan2(s,o);if(f<0&&(f+=vc),f>=i&&f<=r||f+vc>=i&&f+vc<=r)return l[0]=c,l[1]=d,u-t;var p=t*Math.cos(i)+n,g=t*Math.sin(i)+e,m=t*Math.cos(r)+n,v=t*Math.sin(r)+e,_=(p-o)*(p-o)+(g-s)*(g-s),S=(m-o)*(m-o)+(v-s)*(v-s);return _<S?(l[0]=p,l[1]=g,Math.sqrt(_)):(l[0]=m,l[1]=v,Math.sqrt(S))}function ay(n,e,t,i,r,a,o,s){var l=r-n,u=a-e,c=t-n,d=i-e,h=Math.sqrt(c*c+d*d);c/=h,d/=h;var f=l*c+u*d,p=f/h;s&&(p=Math.min(Math.max(p,0),1)),p*=h;var g=o[0]=n+p*c,m=o[1]=e+p*d;return Math.sqrt((g-r)*(g-r)+(m-a)*(m-a))}function vZ(n,e,t,i,r,a,o){t<0&&(n=n+t,t=-t),i<0&&(e=e+i,i=-i);var s=n+t,l=e+i,u=o[0]=Math.min(Math.max(r,n),s),c=o[1]=Math.min(Math.max(a,e),l);return Math.sqrt((u-r)*(u-r)+(c-a)*(c-a))}var ro=[];function vde(n,e,t){var i=vZ(e.x,e.y,e.width,e.height,n.x,n.y,ro);return t.set(ro[0],ro[1]),i}function yde(n,e,t){for(var i=0,r=0,a=0,o=0,s,l,u=1/0,c=e.data,d=n.x,h=n.y,f=0;f<c.length;){var p=c[f++];f===1&&(i=c[f],r=c[f+1],a=i,o=r);var g=u;switch(p){case Y9.M:a=c[f++],o=c[f++],i=a,r=o;break;case Y9.L:g=ay(i,r,c[f],c[f+1],d,h,ro,!0),i=c[f++],r=c[f++];break;case Y9.C:g=DY(i,r,c[f++],c[f++],c[f++],c[f++],c[f],c[f+1],d,h,ro),i=c[f++],r=c[f++];break;case Y9.Q:g=kY(i,r,c[f++],c[f++],c[f],c[f+1],d,h,ro),i=c[f++],r=c[f++];break;case Y9.A:var m=c[f++],v=c[f++],_=c[f++],S=c[f++],x=c[f++],A=c[f++];f+=1;var C=!!(1-c[f++]);s=Math.cos(x)*_+m,l=Math.sin(x)*S+v,f<=1&&(a=s,o=l);var M=(d-m)*S/_+m;g=gde(m,v,S,x,x+A,C,M,h,ro),i=Math.cos(x+A)*_+m,r=Math.sin(x+A)*S+v;break;case Y9.R:a=i=c[f++],o=r=c[f++];var I=c[f++],D=c[f++];g=vZ(a,o,I,D,d,h,ro);break;case Y9.Z:g=ay(i,r,a,o,d,h,ro,!0),i=a,r=o;break}g<u&&(u=g,t.set(ro[0],ro[1]))}return u}var uo=new d3,j1=new d3,F0=new d3,Qo=new d3,jo=new d3;function VO(n,e){if(n){var t=n.getTextGuideLine(),i=n.getTextContent();if(i&&t){var r=n.textGuideLineConfig||{},a=[[0,0],[0,0],[0,0]],o=r.candidates||pde,s=i.getBoundingRect().clone();s.applyTransform(i.getComputedTransform());var l=1/0,u=r.anchor,c=n.getComputedTransform(),d=c&&su([],c),h=e.get("length2")||0;u&&F0.copy(u);for(var f=0;f<o.length;f++){var p=o[f];mde(p,0,s,uo,Qo),d3.scaleAndAdd(j1,uo,Qo,h),j1.transform(d);var g=n.getBoundingRect(),m=u?u.distance(j1):n instanceof C3?yde(j1,n.path,F0):vde(j1,g,F0);m<l&&(l=m,j1.transform(c),F0.transform(c),F0.toArray(a[0]),j1.toArray(a[1]),uo.toArray(a[2]))}yZ(a,e.get("minTurnAngle")),t.setShape({points:a})}}}var oy=[],Ii=new d3;function yZ(n,e){if(e<=180&&e>0){e=e/180*Math.PI,uo.fromArray(n[0]),j1.fromArray(n[1]),F0.fromArray(n[2]),d3.sub(Qo,uo,j1),d3.sub(jo,F0,j1);var t=Qo.len(),i=jo.len();if(!(t<.001||i<.001)){Qo.scale(1/t),jo.scale(1/i);var r=Qo.dot(jo),a=Math.cos(e);if(a<r){var o=ay(j1.x,j1.y,F0.x,F0.y,uo.x,uo.y,oy,!1);Ii.fromArray(oy),Ii.scaleAndAdd(jo,o/Math.tan(Math.PI-e));var s=F0.x!==j1.x?(Ii.x-j1.x)/(F0.x-j1.x):(Ii.y-j1.y)/(F0.y-j1.y);if(isNaN(s))return;s<0?d3.copy(Ii,j1):s>1&&d3.copy(Ii,F0),Ii.toArray(n[1])}}}}function _de(n,e,t){if(t<=180&&t>0){t=t/180*Math.PI,uo.fromArray(n[0]),j1.fromArray(n[1]),F0.fromArray(n[2]),d3.sub(Qo,j1,uo),d3.sub(jo,F0,j1);var i=Qo.len(),r=jo.len();if(!(i<.001||r<.001)){Qo.scale(1/i),jo.scale(1/r);var a=Qo.dot(e),o=Math.cos(t);if(a<o){var s=ay(j1.x,j1.y,F0.x,F0.y,uo.x,uo.y,oy,!1);Ii.fromArray(oy);var l=Math.PI/2,u=Math.acos(jo.dot(e)),c=l+u-t;if(c>=l)d3.copy(Ii,F0);else{Ii.scaleAndAdd(jo,s/Math.tan(Math.PI/2-c));var d=F0.x!==j1.x?(Ii.x-j1.x)/(F0.x-j1.x):(Ii.y-j1.y)/(F0.y-j1.y);if(isNaN(d))return;d<0?d3.copy(Ii,j1):d>1&&d3.copy(Ii,F0)}Ii.toArray(n[1])}}}}function uw(n,e,t,i){var r=t==="normal",a=r?n:n.ensureState(t);a.ignore=e;var o=i.get("smooth");o&&o===!0&&(o=.3),a.shape=a.shape||{},o>0&&(a.shape.smooth=o);var s=i.getModel("lineStyle").getLineStyle();r?n.useStyle(s):a.style=s}function Sde(n,e){var t=e.smooth,i=e.points;if(i)if(n.moveTo(i[0][0],i[0][1]),t>0&&i.length>=3){var r=g5(i[0],i[1]),a=g5(i[1],i[2]);if(!r||!a){n.lineTo(i[1][0],i[1][1]),n.lineTo(i[2][0],i[2][1]);return}var o=Math.min(r,a)*t,s=Hg([],i[1],i[0],o/r),l=Hg([],i[1],i[2],o/a),u=Hg([],s,l,.5);n.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),n.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var c=1;c<i.length;c++)n.lineTo(i[c][0],i[c][1])}function tR(n,e,t){var i=n.getTextGuideLine(),r=n.getTextContent();if(!r){i&&n.removeTextGuideLine();return}for(var a=e.normal,o=a.get("show"),s=r.ignore,l=0;l<ah.length;l++){var u=ah[l],c=e[u],d=u==="normal";if(c){var h=c.get("show"),f=d?s:e3(r.states[u]&&r.states[u].ignore,s);if(f||!e3(h,o)){var p=d?i:i&&i.states[u];p&&(p.ignore=!0),i&&uw(i,!0,u,c);continue}i||(i=new Sr,n.setTextGuideLine(i),!d&&(s||!o)&&uw(i,!0,"normal",e.normal),n.stateProxy&&(i.stateProxy=n.stateProxy)),uw(i,!1,u,c)}}if(i){Vt(i.style,t),i.style.fill=null;var g=a.get("showAbove"),m=n.textGuideLineConfig=n.textGuideLineConfig||{};m.showAbove=g||!1,i.buildPath=Sde}}function nR(n,e){e=e||"labelLine";for(var t={normal:n.getModel(e)},i=0;i<zi.length;i++){var r=zi[i];t[r]=n.getModel([r,e])}return t}function _Z(n){for(var e=[],t=0;t<n.length;t++){var i=n[t];if(!i.defaultAttr.ignore){var r=i.label,a=r.getComputedTransform(),o=r.getBoundingRect(),s=!a||a[1]<1e-5&&a[2]<1e-5,l=r.style.margin||0,u=o.clone();u.applyTransform(a),u.x-=l/2,u.y-=l/2,u.width+=l,u.height+=l;var c=s?new Wv(o,a):null;e.push({label:r,labelLine:i.labelLine,rect:u,localRect:o,obb:c,priority:i.priority,defaultAttr:i.defaultAttr,layoutOption:i.computedLayoutOption,axisAligned:s,transform:a})}}return e}function SZ(n,e,t,i,r,a){var o=n.length;if(o<2)return;n.sort(function(I,D){return I.rect[e]-D.rect[e]});for(var s=0,l,u=!1,c=0,d=0;d<o;d++){var h=n[d],f=h.rect;l=f[e]-s,l<0&&(f[e]-=l,h.label[e]-=l,u=!0);var p=Math.max(-l,0);c+=p,s=f[e]+f[t]}c>0&&a&&A(-c/o,0,o);var g=n[0],m=n[o-1],v,_;S(),v<0&&C(-v,.8),_<0&&C(_,.8),S(),x(v,_,1),x(_,v,-1),S(),v<0&&M(-v),_<0&&M(_);function S(){v=g.rect[e]-i,_=r-m.rect[e]-m.rect[t]}function x(I,D,E){if(I<0){var L=Math.min(D,-I);if(L>0){A(L*E,0,o);var V=L+I;V<0&&C(-V*E,1)}else C(-I*E,1)}}function A(I,D,E){I!==0&&(u=!0);for(var L=D;L<E;L++){var V=n[L],Y=V.rect;Y[e]+=I,V.label[e]+=I}}function C(I,D){for(var E=[],L=0,V=1;V<o;V++){var Y=n[V-1].rect,G=Math.max(n[V].rect[e]-Y[e]-Y[t],0);E.push(G),L+=G}if(L){var W=Math.min(Math.abs(I)/L,D);if(I>0)for(var V=0;V<o-1;V++){var q=E[V]*W;A(q,0,V+1)}else for(var V=o-1;V>0;V--){var q=E[V-1]*W;A(-q,V,o)}}}function M(I){var D=I<0?-1:1;I=Math.abs(I);for(var E=Math.ceil(I/(o-1)),L=0;L<o-1;L++)if(D>0?A(E,0,L+1):A(-E,o-L-1,o),I-=E,I<=0)return}return u}function bde(n,e,t,i){return SZ(n,"x","width",e,t,i)}function bZ(n,e,t,i){return SZ(n,"y","height",e,t,i)}function xZ(n){var e=[];n.sort(function(g,m){return m.priority-g.priority});var t=new h3(0,0,0,0);function i(g){if(!g.ignore){var m=g.ensureState("emphasis");m.ignore==null&&(m.ignore=!1)}g.ignore=!0}for(var r=0;r<n.length;r++){var a=n[r],o=a.axisAligned,s=a.localRect,l=a.transform,u=a.label,c=a.labelLine;t.copy(a.rect),t.width-=.1,t.height-=.1,t.x+=.05,t.y+=.05;for(var d=a.obb,h=!1,f=0;f<e.length;f++){var p=e[f];if(t.intersect(p.rect)){if(o&&p.axisAligned){h=!0;break}if(p.obb||(p.obb=new Wv(p.localRect,p.transform)),d||(d=new Wv(s,l)),d.intersect(p.obb)){h=!0;break}}}h?(i(u),c&&i(c)):(u.attr("ignore",a.defaultAttr.ignore),c&&c.attr("ignore",a.defaultAttr.labelGuideIgnore),e.push(a))}}function xde(n){if(n){for(var e=[],t=0;t<n.length;t++)e.push(n[t].slice());return e}}function wde(n,e){var t=n.label,i=e&&e.getTextGuideLine();return{dataIndex:n.dataIndex,dataType:n.dataType,seriesIndex:n.seriesModel.seriesIndex,text:n.label.style.text,rect:n.hostRect,labelRect:n.rect,align:t.style.align,verticalAlign:t.style.verticalAlign,labelLinePoints:xde(i&&i.shape.points)}}var HO=["align","verticalAlign","width","height","fontSize"],Ci=new Ys,cw=B3(),Tde=B3();function am(n,e,t){for(var i=0;i<t.length;i++){var r=t[i];e[r]!=null&&(n[r]=e[r])}}var om=["x","y","rotation"],Ade=function(){function n(){this._labelList=[],this._chartViewList=[]}return n.prototype.clearLabels=function(){this._labelList=[],this._chartViewList=[]},n.prototype._addLabel=function(e,t,i,r,a){var o=r.style,s=r.__hostTarget,l=s.textConfig||{},u=r.getComputedTransform(),c=r.getBoundingRect().plain();h3.applyTransform(c,c,u),u?Ci.setLocalTransform(u):(Ci.x=Ci.y=Ci.rotation=Ci.originX=Ci.originY=0,Ci.scaleX=Ci.scaleY=1),Ci.rotation=zr(Ci.rotation);var d=r.__hostTarget,h;if(d){h=d.getBoundingRect().plain();var f=d.getComputedTransform();h3.applyTransform(h,h,f)}var p=h&&d.getTextGuideLine();this._labelList.push({label:r,labelLine:p,seriesModel:i,dataIndex:e,dataType:t,layoutOption:a,computedLayoutOption:null,rect:c,hostRect:h,priority:h?h.width*h.height:0,defaultAttr:{ignore:r.ignore,labelGuideIgnore:p&&p.ignore,x:Ci.x,y:Ci.y,scaleX:Ci.scaleX,scaleY:Ci.scaleY,rotation:Ci.rotation,style:{x:o.x,y:o.y,align:o.align,verticalAlign:o.verticalAlign,width:o.width,height:o.height,fontSize:o.fontSize},cursor:r.cursor,attachedPos:l.position,attachedRot:l.rotation}})},n.prototype.addLabelsOfSeries=function(e){var t=this;this._chartViewList.push(e);var i=e.__model,r=i.get("labelLayout");(Gt(r)||E3(r).length)&&e.group.traverse(function(a){if(a.ignore)return!0;var o=a.getTextContent(),s=Xt(a);o&&!o.disableLabelLayout&&t._addLabel(s.dataIndex,s.dataType,i,o,r)})},n.prototype.updateLayoutConfig=function(e){var t=e.getWidth(),i=e.getHeight();function r(S,x){return function(){VO(S,x)}}for(var a=0;a<this._labelList.length;a++){var o=this._labelList[a],s=o.label,l=s.__hostTarget,u=o.defaultAttr,c=void 0;Gt(o.layoutOption)?c=o.layoutOption(wde(o,l)):c=o.layoutOption,c=c||{},o.computedLayoutOption=c;var d=Math.PI/180;l&&l.setTextConfig({local:!1,position:c.x!=null||c.y!=null?null:u.attachedPos,rotation:c.rotate!=null?c.rotate*d:u.attachedRot,offset:[c.dx||0,c.dy||0]});var h=!1;if(c.x!=null?(s.x=ft(c.x,t),s.setStyle("x",0),h=!0):(s.x=u.x,s.setStyle("x",u.style.x)),c.y!=null?(s.y=ft(c.y,i),s.setStyle("y",0),h=!0):(s.y=u.y,s.setStyle("y",u.style.y)),c.labelLinePoints){var f=l.getTextGuideLine();f&&(f.setShape({points:c.labelLinePoints}),h=!1)}var p=cw(s);p.needsUpdateLabelLine=h,s.rotation=c.rotate!=null?c.rotate*d:u.rotation,s.scaleX=u.scaleX,s.scaleY=u.scaleY;for(var g=0;g<HO.length;g++){var m=HO[g];s.setStyle(m,c[m]!=null?c[m]:u.style[m])}if(c.draggable){if(s.draggable=!0,s.cursor="move",l){var v=o.seriesModel;if(o.dataIndex!=null){var _=o.seriesModel.getData(o.dataType);v=_.getItemModel(o.dataIndex)}s.on("drag",r(l,v.getModel("labelLine")))}}else s.off("drag"),s.cursor=u.cursor}},n.prototype.layout=function(e){var t=e.getWidth(),i=e.getHeight(),r=_Z(this._labelList),a=c1(r,function(l){return l.layoutOption.moveOverlap==="shiftX"}),o=c1(r,function(l){return l.layoutOption.moveOverlap==="shiftY"});bde(a,0,t),bZ(o,0,i);var s=c1(r,function(l){return l.layoutOption.hideOverlap});xZ(s)},n.prototype.processLabelsOverall=function(){var e=this;ne(this._chartViewList,function(t){var i=t.__model,r=t.ignoreLabelLineUpdate,a=i.isAnimationEnabled();t.group.traverse(function(o){if(o.ignore&&!o.forceLabelAnimation)return!0;var s=!r,l=o.getTextContent();!s&&l&&(s=cw(l).needsUpdateLabelLine),s&&e._updateLabelLine(o,i),a&&e._animateLabels(o,i)})})},n.prototype._updateLabelLine=function(e,t){var i=e.getTextContent(),r=Xt(e),a=r.dataIndex;if(i&&a!=null){var o=t.getData(r.dataType),s=o.getItemModel(a),l={},u=o.getItemVisual(a,"style");if(u){var c=o.getVisual("drawType");l.stroke=u[c]}var d=s.getModel("labelLine");tR(e,nR(s),l),VO(e,d)}},n.prototype._animateLabels=function(e,t){var i=e.getTextContent(),r=e.getTextGuideLine();if(i&&(e.forceLabelAnimation||!i.ignore&&!i.invisible&&!e.disableLabelAnimation&&!p7(e))){var a=cw(i),o=a.oldLayout,s=Xt(e),l=s.dataIndex,u={x:i.x,y:i.y,rotation:i.rotation},c=t.getData(s.dataType);if(o){i.attr(o);var h=e.prevStates;h&&(_3(h,"select")>=0&&i.attr(a.oldLayoutSelect),_3(h,"emphasis")>=0&&i.attr(a.oldLayoutEmphasis)),Q3(i,u,t,l)}else if(i.attr(u),!du(i).valueAnimation){var d=e3(i.style.opacity,1);i.style.opacity=0,l0(i,{style:{opacity:d}},t,l)}if(a.oldLayout=u,i.states.select){var f=a.oldLayoutSelect={};am(f,u,om),am(f,i.states.select,om)}if(i.states.emphasis){var p=a.oldLayoutEmphasis={};am(p,u,om),am(p,i.states.emphasis,om)}sX(i,l,c,t,t)}if(r&&!r.ignore&&!r.invisible){var a=Tde(r),o=a.oldLayout,g={points:r.shape.points};o?(r.attr({shape:o}),Q3(r,{shape:g},t)):(r.setShape(g),r.style.strokePercent=0,l0(r,{style:{strokePercent:1}},t)),a.oldLayout=g}},n}();const Cde=Ade;var dw=B3();function Mde(n){n.registerUpdateLifecycle("series:beforeupdate",function(e,t,i){var r=dw(t).labelManager;r||(r=dw(t).labelManager=new Cde),r.clearLabels()}),n.registerUpdateLifecycle("series:layoutlabels",function(e,t,i){var r=dw(t).labelManager;i.updatedSeries.forEach(function(a){r.addLabelsOfSeries(t.getViewOfSeriesModel(a))}),r.updateLayoutConfig(t),r.layout(t),r.processLabelsOverall()})}var hw=Math.sin,fw=Math.cos,wZ=Math.PI,q9=Math.PI*2,Ede=180/wZ,Pde=function(){function n(){}return n.prototype.reset=function(e){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,e||4)},n.prototype.moveTo=function(e,t){this._add("M",e,t)},n.prototype.lineTo=function(e,t){this._add("L",e,t)},n.prototype.bezierCurveTo=function(e,t,i,r,a,o){this._add("C",e,t,i,r,a,o)},n.prototype.quadraticCurveTo=function(e,t,i,r){this._add("Q",e,t,i,r)},n.prototype.arc=function(e,t,i,r,a,o){this.ellipse(e,t,i,i,0,r,a,o)},n.prototype.ellipse=function(e,t,i,r,a,o,s,l){var u=s-o,c=!l,d=Math.abs(u),h=b5(d-q9)||(c?u>=q9:-u>=q9),f=u>0?u%q9:u%q9+q9,p=!1;h?p=!0:b5(d)?p=!1:p=f>=wZ==!!c;var g=e+i*fw(o),m=t+r*hw(o);this._start&&this._add("M",g,m);var v=Math.round(a*Ede);if(h){var _=1/this._p,S=(c?1:-1)*(q9-_);this._add("A",i,r,v,1,+c,e+i*fw(o+S),t+r*hw(o+S)),_>.01&&this._add("A",i,r,v,0,+c,g,m)}else{var x=e+i*fw(s),A=t+r*hw(s);this._add("A",i,r,v,+p,+c,x,A)}},n.prototype.rect=function(e,t,i,r){this._add("M",e,t),this._add("l",i,0),this._add("l",0,r),this._add("l",-i,0),this._add("Z")},n.prototype.closePath=function(){this._d.length>0&&this._add("Z")},n.prototype._add=function(e,t,i,r,a,o,s,l,u){for(var c=[],d=this._p,h=1;h<arguments.length;h++){var f=arguments[h];if(isNaN(f)){this._invalid=!0;return}c.push(Math.round(f*d)/d)}this._d.push(e+c.join(" ")),this._start=e==="Z"},n.prototype.generateStr=function(){this._str=this._invalid?"":this._d.join(""),this._d=[]},n.prototype.getStr=function(){return this._str},n}();const TZ=Pde;var Md="none",Rde=Math.round;function Lde(n){var e=n.fill;return e!=null&&e!==Md}function Ide(n){var e=n.stroke;return e!=null&&e!==Md}var JC=["lineCap","miterLimit","lineJoin"],Dde=j2(JC,function(n){return"stroke-"+n.toLowerCase()});function Nde(n,e,t,i){var r=e.opacity==null?1:e.opacity;if(t instanceof ti){n("opacity",r);return}if(Lde(e)){var a=th(e.fill);n("fill",a.color);var o=e.fillOpacity!=null?e.fillOpacity*a.opacity*r:a.opacity*r;(i||o<1)&&n("fill-opacity",o)}else n("fill",Md);if(Ide(e)){var s=th(e.stroke);n("stroke",s.color);var l=e.strokeNoScale?t.getLineScale():1,u=l?(e.lineWidth||0)/l:0,c=e.strokeOpacity!=null?e.strokeOpacity*s.opacity*r:s.opacity*r,d=e.strokeFirst;if((i||u!==1)&&n("stroke-width",u),(i||d)&&n("paint-order",d?"stroke":"fill"),(i||c<1)&&n("stroke-opacity",c),e.lineDash){var h=HP(t),f=h[0],p=h[1];f&&(p=Rde(p||0),n("stroke-dasharray",f.join(",")),(p||i)&&n("stroke-dashoffset",p))}else i&&n("stroke-dasharray",Md);for(var g=0;g<JC.length;g++){var m=JC[g];if(i||e[m]!==Vv[m]){var v=e[m]||Vv[m];v&&n(Dde[g],v)}}}else i&&n("stroke",Md)}var AZ="http://www.w3.org/2000/svg",CZ="http://www.w3.org/1999/xlink",kde="http://www.w3.org/2000/xmlns/",Fde="http://www.w3.org/XML/1998/namespace",WO="ecmeta_";function MZ(n){return document.createElementNS(AZ,n)}function _n(n,e,t,i,r){return{tag:n,attrs:t||{},children:i,text:r,key:e}}function Ode(n,e){var t=[];if(e)for(var i in e){var r=e[i],a=i;r!==!1&&(r!==!0&&r!=null&&(a+='="'+r+'"'),t.push(a))}return"<"+n+" "+t.join(" ")+">"}function Bde(n){return"</"+n+">"}function iR(n,e){e=e||{};var t=e.newline?` |
|
|
`:"";function i(r){var a=r.children,o=r.tag,s=r.attrs,l=r.text;return Ode(o,s)+(o!=="style"?mi(l):l||"")+(a?""+t+j2(a,function(u){return i(u)}).join(t)+t:"")+Bde(o)}return i(n)}function zde(n,e,t){t=t||{};var i=t.newline?` |
|
|
`:"",r=" {"+i,a=i+"}",o=j2(E3(n),function(l){return l+r+j2(E3(n[l]),function(u){return u+":"+n[l][u]+";"}).join(i)+a}).join(i),s=j2(E3(e),function(l){return"@keyframes "+l+r+j2(E3(e[l]),function(u){return u+r+j2(E3(e[l][u]),function(c){var d=e[l][u][c];return c==="d"&&(d='path("'+d+'")'),c+":"+d+";"}).join(i)+a}).join(i)+a}).join(i);return!o&&!s?"":["<![CDATA[",o,s,"]]>"].join(i)}function QC(n){return{zrId:n,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function jO(n,e,t,i){return _n("svg","root",{width:n,height:e,xmlns:AZ,"xmlns:xlink":CZ,version:"1.1",baseProfile:"full",viewBox:i?"0 0 "+n+" "+e:!1},t)}var Ude=0;function EZ(){return Ude++}var $O={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},o8="transform-origin";function Gde(n,e,t){var i=L2({},n.shape);L2(i,e),n.buildPath(t,i);var r=new TZ;return r.reset(VY(n)),t.rebuildPath(r,1),r.generateStr(),r.getStr()}function Vde(n,e){var t=e.originX,i=e.originY;(t||i)&&(n[o8]=t+"px "+i+"px")}var Hde={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function PZ(n,e){var t=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[t]=n,t}function Wde(n,e,t){var i=n.shape.paths,r={},a,o;if(ne(i,function(l){var u=QC(t.zrId);u.animation=!0,K_(l,{},u,!0);var c=u.cssAnims,d=u.cssNodes,h=E3(c),f=h.length;if(f){o=h[f-1];var p=c[o];for(var g in p){var m=p[g];r[g]=r[g]||{d:""},r[g].d+=m.d||""}for(var v in d){var _=d[v].animation;_.indexOf(o)>=0&&(a=_)}}}),!!a){e.d=!1;var s=PZ(r,t);return a.replace(o,s)}}function YO(n){return _t(n)?$O[n]?"cubic-bezier("+$O[n]+")":aP(n)?n:"":""}function K_(n,e,t,i){var r=n.animators,a=r.length,o=[];if(n instanceof wP){var s=Wde(n,e,t);if(s)o.push(s);else if(!a)return}else if(!a)return;for(var l={},u=0;u<a;u++){var c=r[u],d=[c.getMaxTime()/1e3+"s"],h=YO(c.getClip().easing),f=c.getDelay();h?d.push(h):d.push("linear"),f&&d.push(f/1e3+"s"),c.getLoop()&&d.push("infinite");var p=d.join(" ");l[p]=l[p]||[p,[]],l[p][1].push(c)}function g(_){var S=_[1],x=S.length,A={},C={},M={},I="animation-timing-function";function D(c2,s2,R2){for(var w2=c2.getTracks(),Re=c2.getMaxTime(),k2=0;k2<w2.length;k2++){var x2=w2[k2];if(x2.needsAnimate()){var D2=x2.keyframes,z=x2.propName;if(R2&&(z=R2(z)),z)for(var Q2=0;Q2<D2.length;Q2++){var Y2=D2[Q2],Ae=Math.round(Y2.time/Re*100)+"%",ge=YO(Y2.easing),ke=Y2.rawValue;(_t(ke)||q3(ke))&&(s2[Ae]=s2[Ae]||{},s2[Ae][z]=Y2.rawValue,ge&&(s2[Ae][I]=ge))}}}}for(var E=0;E<x;E++){var L=S[E],V=L.targetName;V?V==="shape"&&D(L,C):!i&&D(L,A)}for(var Y in A){var G={};YY(G,n),L2(G,A[Y]);var W=HY(G),q=A[Y][I];M[Y]=W?{transform:W}:{},Vde(M[Y],G),q&&(M[Y][I]=q)}var ce,J=!0;for(var Y in C){M[Y]=M[Y]||{};var H=!ce,q=C[Y][I];H&&(ce=new ds);var re=ce.len();ce.reset(),M[Y].d=Gde(n,C[Y],ce);var ee=ce.len();if(!H&&re!==ee){J=!1;break}q&&(M[Y][I]=q)}if(!J)for(var Y in M)delete M[Y].d;if(!i)for(var E=0;E<x;E++){var L=S[E],V=L.targetName;V==="style"&&D(L,M,function(w2){return Hde[w2]})}for(var se=E3(M),Be=!0,we,E=1;E<se.length;E++){var ve=se[E-1],Ke=se[E];if(M[ve][o8]!==M[Ke][o8]){Be=!1;break}we=M[ve][o8]}if(Be&&we){for(var Y in M)M[Y][o8]&&delete M[Y][o8];e[o8]=we}if(c1(se,function(c2){return E3(M[c2]).length>0}).length){var p2=PZ(M,t);return p2+" "+_[0]+" both"}}for(var m in l){var s=g(l[m]);s&&o.push(s)}if(o.length){var v=t.zrId+"-cls-"+EZ();t.cssNodes["."+v]={animation:o.join(",")},e.class=v}}function jde(n,e,t){if(!n.ignore)if(n.isSilent()){var i={"pointer-events":"none"};qO(i,e,t,!0)}else{var r=n.states.emphasis&&n.states.emphasis.style?n.states.emphasis.style:{},a=r.fill;if(!a){var o=n.style&&n.style.fill,s=n.states.select&&n.states.select.style&&n.states.select.style.fill,l=n.currentStates.indexOf("select")>=0&&s||o;l&&(a=dC(l))}var u=r.lineWidth;if(u){var c=!r.strokeNoScale&&n.transform?n.transform[0]:1;u=u/c}var i={cursor:"pointer"};a&&(i.fill=a),r.stroke&&(i.stroke=r.stroke),u&&(i["stroke-width"]=u),qO(i,e,t,!0)}}function qO(n,e,t,i){var r=JSON.stringify(n),a=t.cssStyleCache[r];a||(a=t.zrId+"-cls-"+EZ(),t.cssStyleCache[r]=a,t.cssNodes["."+a+(i?":hover":"")]=n),e.class=e.class?e.class+" "+a:a}var mh=Math.round;function RZ(n){return n&&_t(n.src)}function LZ(n){return n&&Gt(n.toDataURL)}function rR(n,e,t,i){Nde(function(r,a){var o=r==="fill"||r==="stroke";o&&GY(a)?DZ(e,n,r,i):o&&oP(a)?NZ(t,n,r,i):n[r]=a,o&&i.ssr&&a==="none"&&(n["pointer-events"]="visible")},e,t,!1),Jde(t,n,i)}function aR(n,e){var t=y9e(e);t&&(t.each(function(i,r){i!=null&&(n[(WO+r).toLowerCase()]=i+"")}),e.isSilent()&&(n[WO+"silent"]="true"))}function XO(n){return b5(n[0]-1)&&b5(n[1])&&b5(n[2])&&b5(n[3]-1)}function $de(n){return b5(n[4])&&b5(n[5])}function oR(n,e,t){if(e&&!($de(e)&&XO(e))){var i=t?10:1e4;n.transform=XO(e)?"translate("+mh(e[4]*i)/i+" "+mh(e[5]*i)/i+")":B5e(e)}}function KO(n,e,t){for(var i=n.points,r=[],a=0;a<i.length;a++)r.push(mh(i[a][0]*t)/t),r.push(mh(i[a][1]*t)/t);e.points=r.join(" ")}function ZO(n){return!n.smooth}function Yde(n){var e=j2(n,function(t){return typeof t=="string"?[t,t]:t});return function(t,i,r){for(var a=0;a<e.length;a++){var o=e[a],s=t[o[0]];s!=null&&(i[o[1]]=mh(s*r)/r)}}}var qde={circle:[Yde(["cx","cy","r"])],polyline:[KO,ZO],polygon:[KO,ZO]};function Xde(n){for(var e=n.animators,t=0;t<e.length;t++)if(e[t].targetName==="shape")return!0;return!1}function IZ(n,e){var t=n.style,i=n.shape,r=qde[n.type],a={},o=e.animation,s="path",l=n.style.strokePercent,u=e.compress&&VY(n)||4;if(r&&!e.willUpdate&&!(r[1]&&!r[1](i))&&!(o&&Xde(n))&&!(l<1)){s=n.type;var c=Math.pow(10,u);r[0](i,a,c)}else{var d=!n.path||n.shapeChanged();n.path||n.createPathProxy();var h=n.path;d&&(h.beginPath(),n.buildPath(h,n.shape),n.pathUpdated());var f=h.getVersion(),p=n,g=p.__svgPathBuilder;(p.__svgPathVersion!==f||!g||l!==p.__svgPathStrokePercent)&&(g||(g=p.__svgPathBuilder=new TZ),g.reset(u),h.rebuildPath(g,l),g.generateStr(),p.__svgPathVersion=f,p.__svgPathStrokePercent=l),a.d=g.getStr()}return oR(a,n.transform),rR(a,t,n,e),aR(a,n),e.animation&&K_(n,a,e),e.emphasis&&jde(n,a,e),_n(s,n.id+"",a)}function Kde(n,e){var t=n.style,i=t.image;if(i&&!_t(i)&&(RZ(i)?i=i.src:LZ(i)&&(i=i.toDataURL())),!!i){var r=t.x||0,a=t.y||0,o=t.width,s=t.height,l={href:i,width:o,height:s};return r&&(l.x=r),a&&(l.y=a),oR(l,n.transform),rR(l,t,n,e),aR(l,n),e.animation&&K_(n,l,e),_n("image",n.id+"",l)}}function Zde(n,e){var t=n.style,i=t.text;if(i!=null&&(i+=""),!(!i||isNaN(t.x)||isNaN(t.y))){var r=t.font||V5,a=t.x||0,o=U5e(t.y||0,x_(r),t.textBaseline),s=z5e[t.textAlign]||t.textAlign,l={"dominant-baseline":"central","text-anchor":s};if(Aq(t)){var u="",c=t.fontStyle,d=Tq(t.fontSize);if(!parseFloat(d))return;var h=t.fontFamily||gY,f=t.fontWeight;u+="font-size:"+d+";font-family:"+h+";",c&&c!=="normal"&&(u+="font-style:"+c+";"),f&&f!=="normal"&&(u+="font-weight:"+f+";"),l.style=u}else l.style="font: "+r;return i.match(/\s/)&&(l["xml:space"]="preserve"),a&&(l.x=a),o&&(l.y=o),oR(l,n.transform),rR(l,t,n,e),aR(l,n),e.animation&&K_(n,l,e),_n("text",n.id+"",l,void 0,i)}}function JO(n,e){if(n instanceof C3)return IZ(n,e);if(n instanceof ti)return Kde(n,e);if(n instanceof rh)return Zde(n,e)}function Jde(n,e,t){var i=n.style;if(G5e(i)){var r=V5e(n),a=t.shadowCache,o=a[r];if(!o){var s=n.getGlobalScale(),l=s[0],u=s[1];if(!l||!u)return;var c=i.shadowOffsetX||0,d=i.shadowOffsetY||0,h=i.shadowBlur,f=th(i.shadowColor),p=f.opacity,g=f.color,m=h/2/l,v=h/2/u,_=m+" "+v;o=t.zrId+"-s"+t.shadowIdx++,t.defs[o]=_n("filter",o,{id:o,x:"-100%",y:"-100%",width:"300%",height:"300%"},[_n("feDropShadow","",{dx:c/l,dy:d/u,stdDeviation:_,"flood-color":g,"flood-opacity":p})]),a[r]=o}e.filter=b_(o)}}function DZ(n,e,t,i){var r=n[t],a,o={gradientUnits:r.global?"userSpaceOnUse":"objectBoundingBox"};if(zY(r))a="linearGradient",o.x1=r.x,o.y1=r.y,o.x2=r.x2,o.y2=r.y2;else if(UY(r))a="radialGradient",o.cx=e3(r.x,.5),o.cy=e3(r.y,.5),o.r=e3(r.r,.5);else return;for(var s=r.colorStops,l=[],u=0,c=s.length;u<c;++u){var d=hC(s[u].offset)*100+"%",h=s[u].color,f=th(h),p=f.color,g=f.opacity,m={offset:d};m["stop-color"]=p,g<1&&(m["stop-opacity"]=g),l.push(_n("stop",u+"",m))}var v=_n(a,"",o,l),_=iR(v),S=i.gradientCache,x=S[_];x||(x=i.zrId+"-g"+i.gradientIdx++,S[_]=x,o.id=x,i.defs[x]=_n(a,x,o,l)),e[t]=b_(x)}function NZ(n,e,t,i){var r=n.style[t],a=n.getBoundingRect(),o={},s=r.repeat,l=s==="no-repeat",u=s==="repeat-x",c=s==="repeat-y",d;if(BY(r)){var h=r.imageWidth,f=r.imageHeight,p=void 0,g=r.image;if(_t(g)?p=g:RZ(g)?p=g.src:LZ(g)&&(p=g.toDataURL()),typeof Image=="undefined"){var m="Image width/height must been given explictly in svg-ssr renderer.";Bi(h,m),Bi(f,m)}else if(h==null||f==null){var v=function(E,L){if(E){var V=E.elm,Y=h||L.width,G=f||L.height;E.tag==="pattern"&&(u?(G=1,Y/=a.width):c&&(Y=1,G/=a.height)),E.attrs.width=Y,E.attrs.height=G,V&&(V.setAttribute("width",Y),V.setAttribute("height",G))}},_=fP(p,null,n,function(E){l||v(C,E),v(d,E)});_&&_.width&&_.height&&(h=h||_.width,f=f||_.height)}d=_n("image","img",{href:p,width:h,height:f}),o.width=h,o.height=f}else r.svgElement&&(d=$t(r.svgElement),o.width=r.svgWidth,o.height=r.svgHeight);if(d){var S,x;l?S=x=1:u?(x=1,S=o.width/a.width):c?(S=1,x=o.height/a.height):o.patternUnits="userSpaceOnUse",S!=null&&!isNaN(S)&&(o.width=S),x!=null&&!isNaN(x)&&(o.height=x);var A=HY(r);A&&(o.patternTransform=A);var C=_n("pattern","",o,[d]),M=iR(C),I=i.patternCache,D=I[M];D||(D=i.zrId+"-p"+i.patternIdx++,I[M]=D,o.id=D,C=i.defs[D]=_n("pattern",D,o,[d])),e[t]=b_(D)}}function Qde(n,e,t){var i=t.clipPathCache,r=t.defs,a=i[n.id];if(!a){a=t.zrId+"-c"+t.clipPathIdx++;var o={id:a};i[n.id]=a,r[a]=_n("clipPath",a,o,[IZ(n,t)])}e["clip-path"]=b_(a)}function QO(n){return document.createTextNode(n)}function v8(n,e,t){n.insertBefore(e,t)}function eB(n,e){n.removeChild(e)}function tB(n,e){n.appendChild(e)}function kZ(n){return n.parentNode}function FZ(n){return n.nextSibling}function pw(n,e){n.textContent=e}var nB=58,ehe=120,the=_n("","");function eM(n){return n===void 0}function Go(n){return n!==void 0}function nhe(n,e,t){for(var i={},r=e;r<=t;++r){var a=n[r].key;a!==void 0&&(i[a]=r)}return i}function ed(n,e){var t=n.key===e.key,i=n.tag===e.tag;return i&&t}function gh(n){var e,t=n.children,i=n.tag;if(Go(i)){var r=n.elm=MZ(i);if(sR(the,n),H2(t))for(e=0;e<t.length;++e){var a=t[e];a!=null&&tB(r,gh(a))}else Go(n.text)&&!jt(n.text)&&tB(r,QO(n.text))}else n.elm=QO(n.text);return n.elm}function OZ(n,e,t,i,r){for(;i<=r;++i){var a=t[i];a!=null&&v8(n,gh(a),e)}}function sy(n,e,t,i){for(;t<=i;++t){var r=e[t];if(r!=null)if(Go(r.tag)){var a=kZ(r.elm);eB(a,r.elm)}else eB(n,r.elm)}}function sR(n,e){var t,i=e.elm,r=n&&n.attrs||{},a=e.attrs||{};if(r!==a){for(t in a){var o=a[t],s=r[t];s!==o&&(o===!0?i.setAttribute(t,""):o===!1?i.removeAttribute(t):t==="style"?i.style.cssText=o:t.charCodeAt(0)!==ehe?i.setAttribute(t,o):t==="xmlns:xlink"||t==="xmlns"?i.setAttributeNS(kde,t,o):t.charCodeAt(3)===nB?i.setAttributeNS(Fde,t,o):t.charCodeAt(5)===nB?i.setAttributeNS(CZ,t,o):i.setAttribute(t,o))}for(t in r)t in a||i.removeAttribute(t)}}function ihe(n,e,t){for(var i=0,r=0,a=e.length-1,o=e[0],s=e[a],l=t.length-1,u=t[0],c=t[l],d,h,f,p;i<=a&&r<=l;)o==null?o=e[++i]:s==null?s=e[--a]:u==null?u=t[++r]:c==null?c=t[--l]:ed(o,u)?(U4(o,u),o=e[++i],u=t[++r]):ed(s,c)?(U4(s,c),s=e[--a],c=t[--l]):ed(o,c)?(U4(o,c),v8(n,o.elm,FZ(s.elm)),o=e[++i],c=t[--l]):ed(s,u)?(U4(s,u),v8(n,s.elm,o.elm),s=e[--a],u=t[++r]):(eM(d)&&(d=nhe(e,i,a)),h=d[u.key],eM(h)?v8(n,gh(u),o.elm):(f=e[h],f.tag!==u.tag?v8(n,gh(u),o.elm):(U4(f,u),e[h]=void 0,v8(n,f.elm,o.elm))),u=t[++r]);(i<=a||r<=l)&&(i>a?(p=t[l+1]==null?null:t[l+1].elm,OZ(n,p,t,r,l)):sy(n,e,i,a))}function U4(n,e){var t=e.elm=n.elm,i=n.children,r=e.children;n!==e&&(sR(n,e),eM(e.text)?Go(i)&&Go(r)?i!==r&&ihe(t,i,r):Go(r)?(Go(n.text)&&pw(t,""),OZ(t,null,r,0,r.length-1)):Go(i)?sy(t,i,0,i.length-1):Go(n.text)&&pw(t,""):n.text!==e.text&&(Go(i)&&sy(t,i,0,i.length-1),pw(t,e.text)))}function rhe(n,e){if(ed(n,e))U4(n,e);else{var t=n.elm,i=kZ(t);gh(e),i!==null&&(v8(i,e.elm,FZ(t)),sy(i,[n],0,0))}return e}var ahe=0,ohe=function(){function n(e,t,i){if(this.type="svg",this.refreshHover=iB(),this.configLayer=iB(),this.storage=t,this._opts=i=L2({},i),this.root=e,this._id="zr"+ahe++,this._oldVNode=jO(i.width,i.height),e&&!i.ssr){var r=this._viewport=document.createElement("div");r.style.cssText="position:relative;overflow:hidden";var a=this._svgDom=this._oldVNode.elm=MZ("svg");sR(null,this._oldVNode),r.appendChild(a),e.appendChild(r)}this.resize(i.width,i.height)}return n.prototype.getType=function(){return this.type},n.prototype.getViewportRoot=function(){return this._viewport},n.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},n.prototype.getSvgDom=function(){return this._svgDom},n.prototype.refresh=function(){if(this.root){var e=this.renderToVNode({willUpdate:!0});e.attrs.style="position:absolute;left:0;top:0;user-select:none",rhe(this._oldVNode,e),this._oldVNode=e}},n.prototype.renderOneToVNode=function(e){return JO(e,QC(this._id))},n.prototype.renderToVNode=function(e){e=e||{};var t=this.storage.getDisplayList(!0),i=this._width,r=this._height,a=QC(this._id);a.animation=e.animation,a.willUpdate=e.willUpdate,a.compress=e.compress,a.emphasis=e.emphasis,a.ssr=this._opts.ssr;var o=[],s=this._bgVNode=she(i,r,this._backgroundColor,a);s&&o.push(s);var l=e.compress?null:this._mainVNode=_n("g","main",{},[]);this._paintList(t,a,l?l.children:o),l&&o.push(l);var u=j2(E3(a.defs),function(h){return a.defs[h]});if(u.length&&o.push(_n("defs","defs",{},u)),e.animation){var c=zde(a.cssNodes,a.cssAnims,{newline:!0});if(c){var d=_n("style","stl",{},[],c);o.push(d)}}return jO(i,r,o,e.useViewBox)},n.prototype.renderToString=function(e){return e=e||{},iR(this.renderToVNode({animation:e3(e.cssAnimation,!0),emphasis:e3(e.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:e3(e.useViewBox,!0)}),{newline:!0})},n.prototype.setBackgroundColor=function(e){this._backgroundColor=e},n.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},n.prototype._paintList=function(e,t,i){for(var r=e.length,a=[],o=0,s,l,u=0,c=0;c<r;c++){var d=e[c];if(!d.invisible){var h=d.__clipPaths,f=h&&h.length||0,p=l&&l.length||0,g=void 0;for(g=Math.max(f-1,p-1);g>=0&&!(h&&l&&h[g]===l[g]);g--);for(var m=p-1;m>g;m--)o--,s=a[o-1];for(var v=g+1;v<f;v++){var _={};Qde(h[v],_,t);var S=_n("g","clip-g-"+u++,_,[]);(s?s.children:i).push(S),a[o++]=S,s=S}l=h;var x=JO(d,t);x&&(s?s.children:i).push(x)}}},n.prototype.resize=function(e,t){var i=this._opts,r=this.root,a=this._viewport;if(e!=null&&(i.width=e),t!=null&&(i.height=t),r&&a&&(a.style.display="none",e=J4(r,0,i),t=J4(r,1,i),a.style.display=""),this._width!==e||this._height!==t){if(this._width=e,this._height=t,a){var o=a.style;o.width=e+"px",o.height=t+"px"}if(oP(this._backgroundColor))this.refresh();else{var s=this._svgDom;s&&(s.setAttribute("width",e),s.setAttribute("height",t));var l=this._bgVNode&&this._bgVNode.elm;l&&(l.setAttribute("width",e),l.setAttribute("height",t))}}},n.prototype.getWidth=function(){return this._width},n.prototype.getHeight=function(){return this._height},n.prototype.dispose=function(){this.root&&(this.root.innerHTML=""),this._svgDom=this._viewport=this.storage=this._oldVNode=this._bgVNode=this._mainVNode=null},n.prototype.clear=function(){this._svgDom&&(this._svgDom.innerHTML=null),this._oldVNode=null},n.prototype.toDataURL=function(e){var t=this.renderToString(),i="data:image/svg+xml;";return e?(t=W5e(t),t&&i+"base64,"+t):i+"charset=UTF-8,"+encodeURIComponent(t)},n}();function iB(n){return function(){}}function she(n,e,t,i){var r;if(t&&t!=="none")if(r=_n("rect","bg",{width:n,height:e,x:"0",y:"0"}),GY(t))DZ({fill:t},r.attrs,"fill",i);else if(oP(t))NZ({style:{fill:t},dirty:U0,getBoundingRect:function(){return{width:n,height:e}}},r.attrs,"fill",i);else{var a=th(t),o=a.color,s=a.opacity;r.attrs.fill=o,s<1&&(r.attrs["fill-opacity"]=s)}return r}const lhe=ohe;function uhe(n){n.registerPainter("svg",lhe)}function rB(n,e,t){var i=H5.createCanvas(),r=e.getWidth(),a=e.getHeight(),o=i.style;return o&&(o.position="absolute",o.left="0",o.top="0",o.width=r+"px",o.height=a+"px",i.setAttribute("data-zr-dom-id",n)),i.width=r*t,i.height=a*t,i}var che=function(n){g2(e,n);function e(t,i,r){var a=n.call(this)||this;a.motionBlur=!1,a.lastFrameAlpha=.7,a.dpr=1,a.virtual=!1,a.config={},a.incremental=!1,a.zlevel=0,a.maxRepaintRectCount=5,a.__dirty=!0,a.__firstTimePaint=!0,a.__used=!1,a.__drawIndex=0,a.__startIndex=0,a.__endIndex=0,a.__prevStartIndex=null,a.__prevEndIndex=null;var o;r=r||Uv,typeof t=="string"?o=rB(t,i,r):jt(t)&&(o=t,t=o.id),a.id=t,a.dom=o;var s=o.style;return s&&(xY(o),o.onselectstart=function(){return!1},s.padding="0",s.margin="0",s.borderWidth="0"),a.painter=i,a.dpr=r,a}return e.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex},e.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex,this.__prevEndIndex=this.__endIndex},e.prototype.initContext=function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},e.prototype.setUnpainted=function(){this.__firstTimePaint=!0},e.prototype.createBackBuffer=function(){var t=this.dpr;this.domBack=rB("back-"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext("2d"),t!==1&&this.ctxBack.scale(t,t)},e.prototype.createRepaintRects=function(t,i,r,a){if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;var o=[],s=this.maxRepaintRectCount,l=!1,u=new h3(0,0,0,0);function c(_){if(!(!_.isFinite()||_.isZero()))if(o.length===0){var S=new h3(0,0,0,0);S.copy(_),o.push(S)}else{for(var x=!1,A=1/0,C=0,M=0;M<o.length;++M){var I=o[M];if(I.intersect(_)){var D=new h3(0,0,0,0);D.copy(I),D.union(_),o[M]=D,x=!0;break}else if(l){u.copy(_),u.union(I);var E=_.width*_.height,L=I.width*I.height,V=u.width*u.height,Y=V-E-L;Y<A&&(A=Y,C=M)}}if(l&&(o[C].union(_),x=!0),!x){var S=new h3(0,0,0,0);S.copy(_),o.push(S)}l||(l=o.length>=s)}}for(var d=this.__startIndex;d<this.__endIndex;++d){var h=t[d];if(h){var f=h.shouldBePainted(r,a,!0,!0),p=h.__isRendered&&(h.__dirty&Fr||!f)?h.getPrevPaintRect():null;p&&c(p);var g=f&&(h.__dirty&Fr||!h.__isRendered)?h.getPaintRect():null;g&&c(g)}}for(var d=this.__prevStartIndex;d<this.__prevEndIndex;++d){var h=i[d],f=h&&h.shouldBePainted(r,a,!0,!0);if(h&&(!f||!h.__zr)&&h.__isRendered){var p=h.getPrevPaintRect();p&&c(p)}}var m;do{m=!1;for(var d=0;d<o.length;){if(o[d].isZero()){o.splice(d,1);continue}for(var v=d+1;v<o.length;)o[d].intersect(o[v])?(m=!0,o[d].union(o[v]),o.splice(v,1)):v++;d++}}while(m);return this._paintRects=o,o},e.prototype.debugGetPaintRects=function(){return(this._paintRects||[]).slice()},e.prototype.resize=function(t,i){var r=this.dpr,a=this.dom,o=a.style,s=this.domBack;o&&(o.width=t+"px",o.height=i+"px"),a.width=t*r,a.height=i*r,s&&(s.width=t*r,s.height=i*r,r!==1&&this.ctxBack.scale(r,r))},e.prototype.clear=function(t,i,r){var a=this.dom,o=this.ctx,s=a.width,l=a.height;i=i||this.clearColor;var u=this.motionBlur&&!t,c=this.lastFrameAlpha,d=this.dpr,h=this;u&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(a,0,0,s/d,l/d));var f=this.domBack;function p(g,m,v,_){if(o.clearRect(g,m,v,_),i&&i!=="transparent"){var S=void 0;if(y_(i)){var x=i.global||i.__width===v&&i.__height===_;S=x&&i.__canvasGradient||WC(o,i,{x:0,y:0,width:v,height:_}),i.__canvasGradient=S,i.__width=v,i.__height=_}else W6e(i)&&(i.scaleX=i.scaleX||d,i.scaleY=i.scaleY||d,S=jC(o,i,{dirty:function(){h.setUnpainted(),h.painter.refresh()}}));o.save(),o.fillStyle=S||i,o.fillRect(g,m,v,_),o.restore()}u&&(o.save(),o.globalAlpha=c,o.drawImage(f,g,m,v,_),o.restore())}!r||u?p(0,0,s,l):r.length&&ne(r,function(g){p(g.x*d,g.y*d,g.width*d,g.height*d)})},e}(Ua);const mw=che;var aB=1e5,X9=314159,sm=.01,dhe=.001;function hhe(n){return n?n.__builtin__?!0:!(typeof n.resize!="function"||typeof n.refresh!="function"):!1}function fhe(n,e){var t=document.createElement("div");return t.style.cssText=["position:relative","width:"+n+"px","height:"+e+"px","padding:0","margin:0","border-width:0"].join(";")+";",t}var phe=function(){function n(e,t,i,r){this.type="canvas",this._zlevelList=[],this._prevDisplayList=[],this._layers={},this._layerConfig={},this._needsManuallyCompositing=!1,this.type="canvas";var a=!e.nodeName||e.nodeName.toUpperCase()==="CANVAS";this._opts=i=L2({},i||{}),this.dpr=i.devicePixelRatio||Uv,this._singleCanvas=a,this.root=e;var o=e.style;o&&(xY(e),e.innerHTML=""),this.storage=t;var s=this._zlevelList;this._prevDisplayList=[];var l=this._layers;if(a){var c=e,d=c.width,h=c.height;i.width!=null&&(d=i.width),i.height!=null&&(h=i.height),this.dpr=i.devicePixelRatio||1,c.width=d*this.dpr,c.height=h*this.dpr,this._width=d,this._height=h;var f=new mw(c,this,this.dpr);f.__builtin__=!0,f.initContext(),l[X9]=f,f.zlevel=X9,s.push(X9),this._domRoot=e}else{this._width=J4(e,0,i),this._height=J4(e,1,i);var u=this._domRoot=fhe(this._width,this._height);e.appendChild(u)}}return n.prototype.getType=function(){return"canvas"},n.prototype.isSingleCanvas=function(){return this._singleCanvas},n.prototype.getViewportRoot=function(){return this._domRoot},n.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},n.prototype.refresh=function(e){var t=this.storage.getDisplayList(!0),i=this._prevDisplayList,r=this._zlevelList;this._redrawId=Math.random(),this._paintList(t,i,e,this._redrawId);for(var a=0;a<r.length;a++){var o=r[a],s=this._layers[o];if(!s.__builtin__&&s.refresh){var l=a===0?this._backgroundColor:null;s.refresh(l)}}return this._opts.useDirtyRect&&(this._prevDisplayList=t.slice()),this},n.prototype.refreshHover=function(){this._paintHoverList(this.storage.getDisplayList(!1))},n.prototype._paintHoverList=function(e){var t=e.length,i=this._hoverlayer;if(i&&i.clear(),!!t){for(var r={inHover:!0,viewWidth:this._width,viewHeight:this._height},a,o=0;o<t;o++){var s=e[o];s.__inHover&&(i||(i=this._hoverlayer=this.getLayer(aB)),a||(a=i.ctx,a.save()),E8(a,s,r,o===t-1))}a&&a.restore()}},n.prototype.getHoverLayer=function(){return this.getLayer(aB)},n.prototype.paintOne=function(e,t){vK(e,t)},n.prototype._paintList=function(e,t,i,r){if(this._redrawId===r){i=i||!1,this._updateLayerStatus(e);var a=this._doPaintList(e,t,i),o=a.finished,s=a.needsRefreshHover;if(this._needsManuallyCompositing&&this._compositeManually(),s&&this._paintHoverList(e),o)this.eachLayer(function(u){u.afterBrush&&u.afterBrush()});else{var l=this;oC(function(){l._paintList(e,t,i,r)})}}},n.prototype._compositeManually=function(){var e=this.getLayer(X9).ctx,t=this._domRoot.width,i=this._domRoot.height;e.clearRect(0,0,t,i),this.eachBuiltinLayer(function(r){r.virtual&&e.drawImage(r.dom,0,0,t,i)})},n.prototype._doPaintList=function(e,t,i){for(var r=this,a=[],o=this._opts.useDirtyRect,s=0;s<this._zlevelList.length;s++){var l=this._zlevelList[s],u=this._layers[l];u.__builtin__&&u!==this._hoverlayer&&(u.__dirty||i)&&a.push(u)}for(var c=!0,d=!1,h=function(g){var m=a[g],v=m.ctx,_=o&&m.createRepaintRects(e,t,f._width,f._height),S=i?m.__startIndex:m.__drawIndex,x=!i&&m.incremental&&Date.now,A=x&&Date.now(),C=m.zlevel===f._zlevelList[0]?f._backgroundColor:null;if(m.__startIndex===m.__endIndex)m.clear(!1,C,_);else if(S===m.__startIndex){var M=e[S];(!M.incremental||!M.notClear||i)&&m.clear(!1,C,_)}S===-1&&(console.error("For some unknown reason. drawIndex is -1"),S=m.__startIndex);var I,D=function(Y){var G={inHover:!1,allClipped:!1,prevEl:null,viewWidth:r._width,viewHeight:r._height};for(I=S;I<m.__endIndex;I++){var W=e[I];if(W.__inHover&&(d=!0),r._doPaintEl(W,m,o,Y,G,I===m.__endIndex-1),x){var q=Date.now()-A;if(q>15)break}}G.prevElClipPaths&&v.restore()};if(_)if(_.length===0)I=m.__endIndex;else for(var E=f.dpr,L=0;L<_.length;++L){var V=_[L];v.save(),v.beginPath(),v.rect(V.x*E,V.y*E,V.width*E,V.height*E),v.clip(),D(V),v.restore()}else v.save(),D(),v.restore();m.__drawIndex=I,m.__drawIndex<m.__endIndex&&(c=!1)},f=this,p=0;p<a.length;p++)h(p);return $3.wxa&&ne(this._layers,function(g){g&&g.ctx&&g.ctx.draw&&g.ctx.draw()}),{finished:c,needsRefreshHover:d}},n.prototype._doPaintEl=function(e,t,i,r,a,o){var s=t.ctx;if(i){var l=e.getPaintRect();(!r||l&&l.intersect(r))&&(E8(s,e,a,o),e.setPrevPaintRect(l))}else E8(s,e,a,o)},n.prototype.getLayer=function(e,t){this._singleCanvas&&!this._needsManuallyCompositing&&(e=X9);var i=this._layers[e];return i||(i=new mw("zr_"+e,this,this.dpr),i.zlevel=e,i.__builtin__=!0,this._layerConfig[e]?l3(i,this._layerConfig[e],!0):this._layerConfig[e-sm]&&l3(i,this._layerConfig[e-sm],!0),t&&(i.virtual=t),this.insertLayer(e,i),i.initContext()),i},n.prototype.insertLayer=function(e,t){var i=this._layers,r=this._zlevelList,a=r.length,o=this._domRoot,s=null,l=-1;if(!i[e]&&hhe(t)){if(a>0&&e>r[0]){for(l=0;l<a-1&&!(r[l]<e&&r[l+1]>e);l++);s=i[r[l]]}if(r.splice(l+1,0,e),i[e]=t,!t.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(t.dom,u.nextSibling):o.appendChild(t.dom)}else o.firstChild?o.insertBefore(t.dom,o.firstChild):o.appendChild(t.dom);t.painter||(t.painter=this)}},n.prototype.eachLayer=function(e,t){for(var i=this._zlevelList,r=0;r<i.length;r++){var a=i[r];e.call(t,this._layers[a],a)}},n.prototype.eachBuiltinLayer=function(e,t){for(var i=this._zlevelList,r=0;r<i.length;r++){var a=i[r],o=this._layers[a];o.__builtin__&&e.call(t,o,a)}},n.prototype.eachOtherLayer=function(e,t){for(var i=this._zlevelList,r=0;r<i.length;r++){var a=i[r],o=this._layers[a];o.__builtin__||e.call(t,o,a)}},n.prototype.getLayers=function(){return this._layers},n.prototype._updateLayerStatus=function(e){this.eachBuiltinLayer(function(d,h){d.__dirty=d.__used=!1});function t(d){a&&(a.__endIndex!==d&&(a.__dirty=!0),a.__endIndex=d)}if(this._singleCanvas)for(var i=1;i<e.length;i++){var r=e[i];if(r.zlevel!==e[i-1].zlevel||r.incremental){this._needsManuallyCompositing=!0;break}}var a=null,o=0,s,l;for(l=0;l<e.length;l++){var r=e[l],u=r.zlevel,c=void 0;s!==u&&(s=u,o=0),r.incremental?(c=this.getLayer(u+dhe,this._needsManuallyCompositing),c.incremental=!0,o=1):c=this.getLayer(u+(o>0?sm:0),this._needsManuallyCompositing),c.__builtin__||JE("ZLevel "+u+" has been used by unkown layer "+c.id),c!==a&&(c.__used=!0,c.__startIndex!==l&&(c.__dirty=!0),c.__startIndex=l,c.incremental?c.__drawIndex=-1:c.__drawIndex=l,t(l),a=c),r.__dirty&Fr&&!r.__inHover&&(c.__dirty=!0,c.incremental&&c.__drawIndex<0&&(c.__drawIndex=l))}t(l),this.eachBuiltinLayer(function(d,h){!d.__used&&d.getElementCount()>0&&(d.__dirty=!0,d.__startIndex=d.__endIndex=d.__drawIndex=0),d.__dirty&&d.__drawIndex<0&&(d.__drawIndex=d.__startIndex)})},n.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},n.prototype._clearLayer=function(e){e.clear()},n.prototype.setBackgroundColor=function(e){this._backgroundColor=e,ne(this._layers,function(t){t.setUnpainted()})},n.prototype.configLayer=function(e,t){if(t){var i=this._layerConfig;i[e]?l3(i[e],t,!0):i[e]=t;for(var r=0;r<this._zlevelList.length;r++){var a=this._zlevelList[r];if(a===e||a===e+sm){var o=this._layers[a];l3(o,i[e],!0)}}}},n.prototype.delLayer=function(e){var t=this._layers,i=this._zlevelList,r=t[e];r&&(r.dom.parentNode.removeChild(r.dom),delete t[e],i.splice(_3(i,e),1))},n.prototype.resize=function(e,t){if(this._domRoot.style){var i=this._domRoot;i.style.display="none";var r=this._opts,a=this.root;if(e!=null&&(r.width=e),t!=null&&(r.height=t),e=J4(a,0,r),t=J4(a,1,r),i.style.display="",this._width!==e||t!==this._height){i.style.width=e+"px",i.style.height=t+"px";for(var o in this._layers)this._layers.hasOwnProperty(o)&&this._layers[o].resize(e,t);this.refresh(!0)}this._width=e,this._height=t}else{if(e==null||t==null)return;this._width=e,this._height=t,this.getLayer(X9).resize(e,t)}return this},n.prototype.clearLayer=function(e){var t=this._layers[e];t&&t.clear()},n.prototype.dispose=function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},n.prototype.getRenderedCanvas=function(e){if(e=e||{},this._singleCanvas&&!this._compositeManually)return this._layers[X9].dom;var t=new mw("image",this,e.pixelRatio||this.dpr);t.initContext(),t.clear(!1,e.backgroundColor||this._backgroundColor);var i=t.ctx;if(e.pixelRatio<=this.dpr){this.refresh();var r=t.dom.width,a=t.dom.height;this.eachLayer(function(d){d.__builtin__?i.drawImage(d.dom,0,0,r,a):d.renderToCanvas&&(i.save(),d.renderToCanvas(i),i.restore())})}else for(var o={inHover:!1,viewWidth:this._width,viewHeight:this._height},s=this.storage.getDisplayList(!0),l=0,u=s.length;l<u;l++){var c=s[l];E8(i,c,o,l===u-1)}return t.dom},n.prototype.getWidth=function(){return this._width},n.prototype.getHeight=function(){return this._height},n}();const mhe=phe;function ghe(n){n.registerPainter("canvas",mhe)}var vhe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t){return v6(null,this,{useEncodeDefaulter:!0})},e.prototype.getLegendIcon=function(t){var i=new qt,r=J0("line",0,t.itemHeight/2,t.itemWidth,0,t.lineStyle.stroke,!1);i.add(r),r.setStyle(t.lineStyle);var a=this.getData().getVisual("symbol"),o=this.getData().getVisual("symbolRotate"),s=a==="none"?"circle":a,l=t.itemHeight*.8,u=J0(s,(t.itemWidth-l)/2,(t.itemHeight-l)/2,l,l,t.itemStyle.fill);i.add(u),u.setStyle(t.itemStyle);var c=t.iconRotate==="inherit"?o:t.iconRotate||0;return u.rotation=c*Math.PI/180,u.setOrigin([t.itemWidth/2,t.itemHeight/2]),s.indexOf("empty")>-1&&(u.style.stroke=u.style.fill,u.style.fill="#fff",u.style.lineWidth=2),i},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(m0);const yhe=vhe;function O7(n,e){var t=n.mapDimensionsAll("defaultedLabel"),i=t.length;if(i===1){var r=N7(n,e,t[0]);return r!=null?r+"":null}else if(i){for(var a=[],o=0;o<t.length;o++)a.push(N7(n,e,t[o]));return a.join(" ")}}function BZ(n,e){var t=n.mapDimensionsAll("defaultedLabel");if(!H2(e))return e+"";for(var i=[],r=0;r<t.length;r++){var a=n.getDimensionIndex(t[r]);a>=0&&i.push(e[a])}return i.join(" ")}var _he=function(n){g2(e,n);function e(t,i,r,a){var o=n.call(this)||this;return o.updateData(t,i,r,a),o}return e.prototype._createSymbol=function(t,i,r,a,o){this.removeAll();var s=J0(t,-1,-1,2,2,null,o);s.attr({z2:100,culling:!0,scaleX:a[0]/2,scaleY:a[1]/2}),s.drift=She,this._symbolType=t,this.add(s)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){o6(this.childAt(0))},e.prototype.downplay=function(){s6(this.childAt(0))},e.prototype.setZ=function(t,i){var r=this.childAt(0);r.zlevel=t,r.z=i},e.prototype.setDraggable=function(t,i){var r=this.childAt(0);r.draggable=t,r.cursor=!i&&t?"move":r.cursor},e.prototype.updateData=function(t,i,r,a){this.silent=!1;var o=t.getItemVisual(i,"symbol")||"circle",s=t.hostModel,l=e.getSymbolSize(t,i),u=o!==this._symbolType,c=a&&a.disableAnimation;if(u){var d=t.getItemVisual(i,"symbolKeepAspect");this._createSymbol(o,t,i,l,d)}else{var h=this.childAt(0);h.silent=!1;var f={scaleX:l[0]/2,scaleY:l[1]/2};c?h.attr(f):Q3(h,f,s,i),go(h)}if(this._updateCommon(t,i,l,r,a),u){var h=this.childAt(0);if(!c){var f={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:h.style.opacity}};h.scaleX=h.scaleY=0,h.style.opacity=0,l0(h,f,s,i)}}c&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,i,r,a,o){var s=this.childAt(0),l=t.hostModel,u,c,d,h,f,p,g,m,v;if(a&&(u=a.emphasisItemStyle,c=a.blurItemStyle,d=a.selectItemStyle,h=a.focus,f=a.blurScope,g=a.labelStatesModels,m=a.hoverScale,v=a.cursorStyle,p=a.emphasisDisabled),!a||t.hasItemOption){var _=a&&a.itemModel?a.itemModel:t.getItemModel(i),S=_.getModel("emphasis");u=S.getModel("itemStyle").getItemStyle(),d=_.getModel(["select","itemStyle"]).getItemStyle(),c=_.getModel(["blur","itemStyle"]).getItemStyle(),h=S.get("focus"),f=S.get("blurScope"),p=S.get("disabled"),g=bn(_),m=S.getShallow("scale"),v=_.getShallow("cursor")}var x=t.getItemVisual(i,"symbolRotate");s.attr("rotation",(x||0)*Math.PI/180||0);var A=wl(t.getItemVisual(i,"symbolOffset"),r);A&&(s.x=A[0],s.y=A[1]),v&&s.attr("cursor",v);var C=t.getItemVisual(i,"style"),M=C.fill;if(s instanceof ti){var I=s.style;s.useStyle(L2({image:I.image,x:I.x,y:I.y,width:I.width,height:I.height},C))}else s.__isEmptyBrush?s.useStyle(L2({},C)):s.useStyle(C),s.style.decal=null,s.setColor(M,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var D=t.getItemVisual(i,"liftZ"),E=this._z2;D!=null?E==null&&(this._z2=s.z2,s.z2+=D):E!=null&&(s.z2=E,this._z2=null);var L=o&&o.useNameLabel;Qn(s,g,{labelFetcher:l,labelDataIndex:i,defaultText:V,inheritColor:M,defaultOpacity:C.opacity});function V(W){return L?t.getName(W):O7(t,W)}this._sizeX=r[0]/2,this._sizeY=r[1]/2;var Y=s.ensureState("emphasis");Y.style=u,s.ensureState("select").style=d,s.ensureState("blur").style=c;var G=m==null||m===!0?Math.max(1.1,3/this._sizeY):isFinite(m)&&m>0?+m:1;Y.scaleX=this._sizeX*G,Y.scaleY=this._sizeY*G,this.setSymbolScale(1),b0(this,h,f,p)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,i,r){var a=this.childAt(0),o=Xt(this).dataIndex,s=r&&r.animation;if(this.silent=a.silent=!0,r&&r.fadeLabel){var l=a.getTextContent();l&&j5(l,{style:{opacity:0}},i,{dataIndex:o,removeOpt:s,cb:function(){a.removeTextContent()}})}else a.removeTextContent();j5(a,{style:{opacity:0},scaleX:0,scaleY:0},i,{dataIndex:o,cb:t,removeOpt:s})},e.getSymbolSize=function(t,i){return _u(t.getItemVisual(i,"symbolSize"))},e}(qt);function She(n,e){this.parent.drift(n,e)}const of=_he;function gw(n,e,t,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&i.isIgnore(t))&&!(i.clipShape&&!i.clipShape.contain(e[0],e[1]))&&n.getItemVisual(t,"symbol")!=="none"}function oB(n){return n!=null&&!jt(n)&&(n={isIgnore:n}),n||{}}function sB(n){var e=n.hostModel,t=e.getModel("emphasis");return{emphasisItemStyle:t.getModel("itemStyle").getItemStyle(),blurItemStyle:e.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:e.getModel(["select","itemStyle"]).getItemStyle(),focus:t.get("focus"),blurScope:t.get("blurScope"),emphasisDisabled:t.get("disabled"),hoverScale:t.get("scale"),labelStatesModels:bn(e),cursorStyle:e.get("cursor")}}var bhe=function(){function n(e){this.group=new qt,this._SymbolCtor=e||of}return n.prototype.updateData=function(e,t){this._progressiveEls=null,t=oB(t);var i=this.group,r=e.hostModel,a=this._data,o=this._SymbolCtor,s=t.disableAnimation,l=sB(e),u={disableAnimation:s},c=t.getSymbolPoint||function(d){return e.getItemLayout(d)};a||i.removeAll(),e.diff(a).add(function(d){var h=c(d);if(gw(e,h,d,t)){var f=new o(e,d,l,u);f.setPosition(h),e.setItemGraphicEl(d,f),i.add(f)}}).update(function(d,h){var f=a.getItemGraphicEl(h),p=c(d);if(!gw(e,p,d,t)){i.remove(f);return}var g=e.getItemVisual(d,"symbol")||"circle",m=f&&f.getSymbolType&&f.getSymbolType();if(!f||m&&m!==g)i.remove(f),f=new o(e,d,l,u),f.setPosition(p);else{f.updateData(e,d,l,u);var v={x:p[0],y:p[1]};s?f.attr(v):Q3(f,v,r)}i.add(f),e.setItemGraphicEl(d,f)}).remove(function(d){var h=a.getItemGraphicEl(d);h&&h.fadeOut(function(){i.remove(h)},r)}).execute(),this._getSymbolPoint=c,this._data=e},n.prototype.updateLayout=function(){var e=this,t=this._data;t&&t.eachItemGraphicEl(function(i,r){var a=e._getSymbolPoint(r);i.setPosition(a),i.markRedraw()})},n.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=sB(e),this._data=null,this.group.removeAll()},n.prototype.incrementalUpdate=function(e,t,i){this._progressiveEls=[],i=oB(i);function r(l){l.isGroup||(l.incremental=!0,l.ensureState("emphasis").hoverLayer=!0)}for(var a=e.start;a<e.end;a++){var o=t.getItemLayout(a);if(gw(t,o,a,i)){var s=new this._SymbolCtor(t,a,this._seriesScope);s.traverse(r),s.setPosition(o),this.group.add(s),t.setItemGraphicEl(a,s),this._progressiveEls.push(s)}}},n.prototype.eachRendered=function(e){i9(this._progressiveEls||this.group,e)},n.prototype.remove=function(e){var t=this.group,i=this._data;i&&e?i.eachItemGraphicEl(function(r){r.fadeOut(function(){t.remove(r)},i.hostModel)}):t.removeAll()},n}();const sf=bhe;function zZ(n,e,t){var i=n.getBaseAxis(),r=n.getOtherAxis(i),a=xhe(r,t),o=i.dim,s=r.dim,l=e.mapDimension(s),u=e.mapDimension(o),c=s==="x"||s==="radius"?1:0,d=j2(n.dimensions,function(p){return e.mapDimension(p)}),h=!1,f=e.getCalculationInfo("stackResultDimension");return Y5(e,d[0])&&(h=!0,d[0]=f),Y5(e,d[1])&&(h=!0,d[1]=f),{dataDimsForPoint:d,valueStart:a,valueAxisDim:s,baseAxisDim:o,stacked:!!h,valueDim:l,baseDim:u,baseDataOffset:c,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function xhe(n,e){var t=0,i=n.scale.getExtent();return e==="start"?t=i[0]:e==="end"?t=i[1]:q3(e)&&!isNaN(e)?t=e:i[0]>0?t=i[0]:i[1]<0&&(t=i[1]),t}function UZ(n,e,t,i){var r=NaN;n.stacked&&(r=t.get(t.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=n.valueStart);var a=n.baseDataOffset,o=[];return o[a]=t.get(n.baseDim,i),o[1-a]=r,e.dataToPoint(o)}function whe(n,e){var t=[];return e.diff(n).add(function(i){t.push({cmd:"+",idx:i})}).update(function(i,r){t.push({cmd:"=",idx:r,idx1:i})}).remove(function(i){t.push({cmd:"-",idx:i})}).execute(),t}function The(n,e,t,i,r,a,o,s){for(var l=whe(n,e),u=[],c=[],d=[],h=[],f=[],p=[],g=[],m=zZ(r,e,o),v=n.getLayout("points")||[],_=e.getLayout("points")||[],S=0;S<l.length;S++){var x=l[S],A=!0,C=void 0,M=void 0;switch(x.cmd){case"=":C=x.idx*2,M=x.idx1*2;var I=v[C],D=v[C+1],E=_[M],L=_[M+1];(isNaN(I)||isNaN(D))&&(I=E,D=L),u.push(I,D),c.push(E,L),d.push(t[C],t[C+1]),h.push(i[M],i[M+1]),g.push(e.getRawIndex(x.idx1));break;case"+":var V=x.idx,Y=m.dataDimsForPoint,G=r.dataToPoint([e.get(Y[0],V),e.get(Y[1],V)]);M=V*2,u.push(G[0],G[1]),c.push(_[M],_[M+1]);var W=UZ(m,r,e,V);d.push(W[0],W[1]),h.push(i[M],i[M+1]),g.push(e.getRawIndex(V));break;case"-":A=!1}A&&(f.push(x),p.push(p.length))}p.sort(function(ve,Ke){return g[ve]-g[Ke]});for(var q=u.length,ce=Jo(q),J=Jo(q),H=Jo(q),re=Jo(q),ee=[],S=0;S<p.length;S++){var se=p[S],Be=S*2,we=se*2;ce[Be]=u[we],ce[Be+1]=u[we+1],J[Be]=c[we],J[Be+1]=c[we+1],H[Be]=d[we],H[Be+1]=d[we+1],re[Be]=h[we],re[Be+1]=h[we+1],ee[S]=f[se]}return{current:ce,next:J,stackedOnCurrent:H,stackedOnNext:re,status:ee}}var j6=Math.min,$6=Math.max;function j8(n,e){return isNaN(n)||isNaN(e)}function tM(n,e,t,i,r,a,o,s,l){for(var u,c,d,h,f,p,g=t,m=0;m<i;m++){var v=e[g*2],_=e[g*2+1];if(g>=r||g<0)break;if(j8(v,_)){if(l){g+=a;continue}break}if(g===t)n[a>0?"moveTo":"lineTo"](v,_),d=v,h=_;else{var S=v-u,x=_-c;if(S*S+x*x<.5){g+=a;continue}if(o>0){for(var A=g+a,C=e[A*2],M=e[A*2+1];C===v&&M===_&&m<i;)m++,A+=a,g+=a,C=e[A*2],M=e[A*2+1],v=e[g*2],_=e[g*2+1],S=v-u,x=_-c;var I=m+1;if(l)for(;j8(C,M)&&I<i;)I++,A+=a,C=e[A*2],M=e[A*2+1];var D=.5,E=0,L=0,V=void 0,Y=void 0;if(I>=i||j8(C,M))f=v,p=_;else{E=C-u,L=M-c;var G=v-u,W=C-v,q=_-c,ce=M-_,J=void 0,H=void 0;if(s==="x"){J=Math.abs(G),H=Math.abs(W);var re=E>0?1:-1;f=v-re*J*o,p=_,V=v+re*H*o,Y=_}else if(s==="y"){J=Math.abs(q),H=Math.abs(ce);var ee=L>0?1:-1;f=v,p=_-ee*J*o,V=v,Y=_+ee*H*o}else J=Math.sqrt(G*G+q*q),H=Math.sqrt(W*W+ce*ce),D=H/(H+J),f=v-E*o*(1-D),p=_-L*o*(1-D),V=v+E*o*D,Y=_+L*o*D,V=j6(V,$6(C,v)),Y=j6(Y,$6(M,_)),V=$6(V,j6(C,v)),Y=$6(Y,j6(M,_)),E=V-v,L=Y-_,f=v-E*J/H,p=_-L*J/H,f=j6(f,$6(u,v)),p=j6(p,$6(c,_)),f=$6(f,j6(u,v)),p=$6(p,j6(c,_)),E=v-f,L=_-p,V=v+E*H/J,Y=_+L*H/J}n.bezierCurveTo(d,h,f,p,v,_),d=V,h=Y}else n.lineTo(v,_)}u=v,c=_,g+=a}return m}var GZ=function(){function n(){this.smooth=0,this.smoothConstraint=!0}return n}(),Ahe=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="ec-polyline",i}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new GZ},e.prototype.buildPath=function(t,i){var r=i.points,a=0,o=r.length/2;if(i.connectNulls){for(;o>0&&j8(r[o*2-2],r[o*2-1]);o--);for(;a<o&&j8(r[a*2],r[a*2+1]);a++);}for(;a<o;)a+=tM(t,r,a,o,o,1,i.smooth,i.smoothMonotone,i.connectNulls)+1},e.prototype.getPointOn=function(t,i){this.path||(this.createPathProxy(),this.buildPath(this.path,this.shape));for(var r=this.path,a=r.data,o=ds.CMD,s,l,u=i==="x",c=[],d=0;d<a.length;){var h=a[d++],f=void 0,p=void 0,g=void 0,m=void 0,v=void 0,_=void 0,S=void 0;switch(h){case o.M:s=a[d++],l=a[d++];break;case o.L:if(f=a[d++],p=a[d++],S=u?(t-s)/(f-s):(t-l)/(p-l),S<=1&&S>=0){var x=u?(p-l)*S+l:(f-s)*S+s;return u?[t,x]:[x,t]}s=f,l=p;break;case o.C:f=a[d++],p=a[d++],g=a[d++],m=a[d++],v=a[d++],_=a[d++];var A=u?Fv(s,f,g,v,t,c):Fv(l,p,m,_,t,c);if(A>0)for(var C=0;C<A;C++){var M=c[C];if(M<=1&&M>=0){var x=u?vn(l,p,m,_,M):vn(s,f,g,v,M);return u?[t,x]:[x,t]}}s=v,l=_;break}}},e}(C3),Che=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(GZ),VZ=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="ec-polygon",i}return e.prototype.getDefaultShape=function(){return new Che},e.prototype.buildPath=function(t,i){var r=i.points,a=i.stackedOnPoints,o=0,s=r.length/2,l=i.smoothMonotone;if(i.connectNulls){for(;s>0&&j8(r[s*2-2],r[s*2-1]);s--);for(;o<s&&j8(r[o*2],r[o*2+1]);o++);}for(;o<s;){var u=tM(t,r,o,s,s,1,i.smooth,l,i.connectNulls);tM(t,a,o+u-1,u,s,-1,i.stackedOnSmooth,l,i.connectNulls),o+=u+1,t.closePath()}},e}(C3);function HZ(n,e,t,i,r){var a=n.getArea(),o=a.x,s=a.y,l=a.width,u=a.height,c=t.get(["lineStyle","width"])||0;o-=c/2,s-=c/2,l+=c,u+=c,l=Math.ceil(l),o!==Math.floor(o)&&(o=Math.floor(o),l++);var d=new V3({shape:{x:o,y:s,width:l,height:u}});if(e){var h=n.getBaseAxis(),f=h.isHorizontal(),p=h.inverse;f?(p&&(d.shape.x+=l),d.shape.width=0):(p||(d.shape.y+=u),d.shape.height=0);var g=Gt(r)?function(m){r(m,d)}:null;l0(d,{shape:{width:l,height:u,x:o,y:s}},t,null,i,g)}return d}function WZ(n,e,t){var i=n.getArea(),r=L0(i.r0,1),a=L0(i.r,1),o=new mr({shape:{cx:L0(n.cx,1),cy:L0(n.cy,1),r0:r,r:a,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}});if(e){var s=n.getBaseAxis().dim==="angle";s?o.shape.endAngle=i.startAngle:o.shape.r=r,l0(o,{shape:{endAngle:i.endAngle,r:a}},t)}return o}function lf(n,e,t,i,r){if(n){if(n.type==="polar")return WZ(n,e,t);if(n.type==="cartesian2d")return HZ(n,e,t,i,r)}else return null;return null}function Al(n,e){return n.type===e}function lB(n,e){if(n.length===e.length){for(var t=0;t<n.length;t++)if(n[t]!==e[t])return;return!0}}function uB(n){for(var e=1/0,t=1/0,i=-1/0,r=-1/0,a=0;a<n.length;){var o=n[a++],s=n[a++];isNaN(o)||(e=Math.min(o,e),i=Math.max(o,i)),isNaN(s)||(t=Math.min(s,t),r=Math.max(s,r))}return[[e,t],[i,r]]}function cB(n,e){var t=uB(n),i=t[0],r=t[1],a=uB(e),o=a[0],s=a[1];return Math.max(Math.abs(i[0]-o[0]),Math.abs(i[1]-o[1]),Math.abs(r[0]-s[0]),Math.abs(r[1]-s[1]))}function dB(n){return q3(n)?n:n?.5:0}function Mhe(n,e,t){if(!t.valueDim)return[];for(var i=e.count(),r=Jo(i*2),a=0;a<i;a++){var o=UZ(t,n,e,a);r[a*2]=o[0],r[a*2+1]=o[1]}return r}function Y6(n,e,t,i,r){var a=t.getBaseAxis(),o=a.dim==="x"||a.dim==="radius"?0:1,s=[],l=0,u=[],c=[],d=[],h=[];if(r){for(l=0;l<n.length;l+=2){var f=e||n;!isNaN(f[l])&&!isNaN(f[l+1])&&h.push(n[l],n[l+1])}n=h}for(l=0;l<n.length-2;l+=2)switch(d[0]=n[l+2],d[1]=n[l+3],c[0]=n[l],c[1]=n[l+1],s.push(c[0],c[1]),i){case"end":u[o]=d[o],u[1-o]=c[1-o],s.push(u[0],u[1]);break;case"middle":var p=(c[o]+d[o])/2,g=[];u[o]=g[o]=p,u[1-o]=c[1-o],g[1-o]=d[1-o],s.push(u[0],u[1]),s.push(g[0],g[1]);break;default:u[o]=c[o],u[1-o]=d[1-o],s.push(u[0],u[1])}return s.push(n[l++],n[l++]),s}function Ehe(n,e){var t=[],i=n.length,r,a;function o(c,d,h){var f=c.coord,p=(h-f)/(d.coord-f),g=O5e(p,[c.color,d.color]);return{coord:h,color:g}}for(var s=0;s<i;s++){var l=n[s],u=l.coord;if(u<0)r=l;else if(u>e){a?t.push(o(a,l,e)):r&&t.push(o(r,l,0),o(r,l,e));break}else r&&(t.push(o(r,l,0)),r=null),t.push(l),a=l}return t}function Phe(n,e,t){var i=n.getVisual("visualMeta");if(!(!i||!i.length||!n.count())&&e.type==="cartesian2d"){for(var r,a,o=i.length-1;o>=0;o--){var s=n.getDimensionInfo(i[o].dimension);if(r=s&&s.coordDim,r==="x"||r==="y"){a=i[o];break}}if(a){var l=e.getAxis(r),u=j2(a.stops,function(S){return{coord:l.toGlobalCoord(l.dataToCoord(S.value)),color:S.color}}),c=u.length,d=a.outerColors.slice();c&&u[0].coord>u[c-1].coord&&(u.reverse(),d.reverse());var h=Ehe(u,r==="x"?t.getWidth():t.getHeight()),f=h.length;if(!f&&c)return u[0].coord<0?d[1]?d[1]:u[c-1].color:d[0]?d[0]:u[0].color;var p=10,g=h[0].coord-p,m=h[f-1].coord+p,v=m-g;if(v<.001)return"transparent";ne(h,function(S){S.offset=(S.coord-g)/v}),h.push({offset:f?h[f-1].offset:.5,color:d[1]||"transparent"}),h.unshift({offset:f?h[0].offset:.5,color:d[0]||"transparent"});var _=new gn(0,0,0,0,h,!0);return _[r]=g,_[r+"2"]=m,_}}}function Rhe(n,e,t){var i=n.get("showAllSymbol"),r=i==="auto";if(!(i&&!r)){var a=t.getAxesByScale("ordinal")[0];if(a&&!(r&&Lhe(a,e))){var o=e.mapDimension(a.dim),s={};return ne(a.getViewLabels(),function(l){var u=a.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(e.get(o,l))}}}}function Lhe(n,e){var t=n.getExtent(),i=Math.abs(t[1]-t[0])/n.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),a=Math.max(1,Math.round(r/5)),o=0;o<r;o+=a)if(of.getSymbolSize(e,o)[n.isHorizontal()?1:0]*1.5>i)return!1;return!0}function Ihe(n,e){return isNaN(n)||isNaN(e)}function Dhe(n){for(var e=n.length/2;e>0&&Ihe(n[e*2-2],n[e*2-1]);e--);return e-1}function hB(n,e){return[n[e*2],n[e*2+1]]}function Nhe(n,e,t){for(var i=n.length/2,r=t==="x"?0:1,a,o,s=0,l=-1,u=0;u<i;u++)if(o=n[u*2+r],!(isNaN(o)||isNaN(n[u*2+1-r]))){if(u===0){a=o;continue}if(a<=e&&o>=e||a>=e&&o<=e){l=u;break}s=u,a=o}return{range:[s,l],t:(e-a)/(o-a)}}function jZ(n){if(n.get(["endLabel","show"]))return!0;for(var e=0;e<zi.length;e++)if(n.get([zi[e],"endLabel","show"]))return!0;return!1}function vw(n,e,t,i){if(Al(e,"cartesian2d")){var r=i.getModel("endLabel"),a=r.get("valueAnimation"),o=i.getData(),s={lastFrameIndex:0},l=jZ(i)?function(f,p){n._endLabelOnDuring(f,p,o,s,a,r,e)}:null,u=e.getBaseAxis().isHorizontal(),c=HZ(e,t,i,function(){var f=n._endLabel;f&&t&&s.originalX!=null&&f.attr({x:s.originalX,y:s.originalY})},l);if(!i.get("clip",!0)){var d=c.shape,h=Math.max(d.width,d.height);u?(d.y-=h,d.height+=h*2):(d.x-=h,d.width+=h*2)}return l&&l(1,c),c}else return WZ(e,t,i)}function khe(n,e){var t=e.getBaseAxis(),i=t.isHorizontal(),r=t.inverse,a=i?r?"right":"left":"center",o=i?"middle":r?"top":"bottom";return{normal:{align:n.get("align")||a,verticalAlign:n.get("verticalAlign")||o}}}var Fhe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.init=function(){var t=new qt,i=new sf;this.group.add(i.group),this._symbolDraw=i,this._lineGroup=t,this._changePolyState=St(this._changePolyState,this)},e.prototype.render=function(t,i,r){var a=t.coordinateSystem,o=this.group,s=t.getData(),l=t.getModel("lineStyle"),u=t.getModel("areaStyle"),c=s.getLayout("points")||[],d=a.type==="polar",h=this._coordSys,f=this._symbolDraw,p=this._polyline,g=this._polygon,m=this._lineGroup,v=!i.ssr&&t.get("animation"),_=!u.isEmpty(),S=u.get("origin"),x=zZ(a,s,S),A=_&&Mhe(a,s,x),C=t.get("showSymbol"),M=t.get("connectNulls"),I=C&&!d&&Rhe(t,s,a),D=this._data;D&&D.eachItemGraphicEl(function(ve,Ke){ve.__temp&&(o.remove(ve),D.setItemGraphicEl(Ke,null))}),C||f.remove(),o.add(m);var E=d?!1:t.get("step"),L;a&&a.getArea&&t.get("clip",!0)&&(L=a.getArea(),L.width!=null?(L.x-=.1,L.y-=.1,L.width+=.2,L.height+=.2):L.r0&&(L.r0-=.5,L.r+=.5)),this._clipShapeForSymbol=L;var V=Phe(s,a,r)||s.getVisual("style")[s.getVisual("drawType")];if(!(p&&h.type===a.type&&E===this._step))C&&f.updateData(s,{isIgnore:I,clipShape:L,disableAnimation:!0,getSymbolPoint:function(ve){return[c[ve*2],c[ve*2+1]]}}),v&&this._initSymbolLabelAnimation(s,a,L),E&&(A&&(A=Y6(A,c,a,E,M)),c=Y6(c,null,a,E,M)),p=this._newPolyline(c),_?g=this._newPolygon(c,A):g&&(m.remove(g),g=this._polygon=null),d||this._initOrUpdateEndLabel(t,a,ol(V)),m.setClipPath(vw(this,a,!0,t));else{_&&!g?g=this._newPolygon(c,A):g&&!_&&(m.remove(g),g=this._polygon=null),d||this._initOrUpdateEndLabel(t,a,ol(V));var Y=m.getClipPath();if(Y){var G=vw(this,a,!1,t);l0(Y,{shape:G.shape},t)}else m.setClipPath(vw(this,a,!0,t));C&&f.updateData(s,{isIgnore:I,clipShape:L,disableAnimation:!0,getSymbolPoint:function(ve){return[c[ve*2],c[ve*2+1]]}}),(!lB(this._stackedOnPoints,A)||!lB(this._points,c))&&(v?this._doUpdateAnimation(s,A,a,r,E,S,M):(E&&(A&&(A=Y6(A,c,a,E,M)),c=Y6(c,null,a,E,M)),p.setShape({points:c}),g&&g.setShape({points:c,stackedOnPoints:A})))}var W=t.getModel("emphasis"),q=W.get("focus"),ce=W.get("blurScope"),J=W.get("disabled");if(p.useStyle(Vt(l.getLineStyle(),{fill:"none",stroke:V,lineJoin:"bevel"})),Jn(p,t,"lineStyle"),p.style.lineWidth>0&&t.get(["emphasis","lineStyle","width"])==="bolder"){var H=p.getState("emphasis").style;H.lineWidth=+p.style.lineWidth+1}Xt(p).seriesIndex=t.seriesIndex,b0(p,q,ce,J);var re=dB(t.get("smooth")),ee=t.get("smoothMonotone");if(p.setShape({smooth:re,smoothMonotone:ee,connectNulls:M}),g){var se=s.getCalculationInfo("stackedOnSeries"),Be=0;g.useStyle(Vt(u.getAreaStyle(),{fill:V,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),se&&(Be=dB(se.get("smooth"))),g.setShape({smooth:re,stackedOnSmooth:Be,smoothMonotone:ee,connectNulls:M}),Jn(g,t,"areaStyle"),Xt(g).seriesIndex=t.seriesIndex,b0(g,q,ce,J)}var we=this._changePolyState;s.eachItemGraphicEl(function(ve){ve&&(ve.onHoverStateChange=we)}),this._polyline.onHoverStateChange=we,this._data=s,this._coordSys=a,this._stackedOnPoints=A,this._points=c,this._step=E,this._valueOrigin=S,t.get("triggerLineEvent")&&(this.packEventData(t,p),g&&this.packEventData(t,g))},e.prototype.packEventData=function(t,i){Xt(i).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,i,r,a){var o=t.getData(),s=il(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var c=l[s*2],d=l[s*2+1];if(isNaN(c)||isNaN(d)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(c,d))return;var h=t.get("zlevel")||0,f=t.get("z")||0;u=new of(o,s),u.x=c,u.y=d,u.setZ(h,f);var p=u.getSymbolPath().getTextContent();p&&(p.zlevel=h,p.z=f,p.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else K1.prototype.highlight.call(this,t,i,r,a)},e.prototype.downplay=function(t,i,r,a){var o=t.getData(),s=il(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else K1.prototype.downplay.call(this,t,i,r,a)},e.prototype._changePolyState=function(t){var i=this._polygon;Hv(this._polyline,t),i&&Hv(i,t)},e.prototype._newPolyline=function(t){var i=this._polyline;return i&&this._lineGroup.remove(i),i=new Ahe({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(i),this._polyline=i,i},e.prototype._newPolygon=function(t,i){var r=this._polygon;return r&&this._lineGroup.remove(r),r=new VZ({shape:{points:t,stackedOnPoints:i},segmentIgnoreThreshold:2}),this._lineGroup.add(r),this._polygon=r,r},e.prototype._initSymbolLabelAnimation=function(t,i,r){var a,o,s=i.getBaseAxis(),l=s.inverse;i.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):i.type==="polar"&&(a=s.dim==="angle",o=!0);var u=t.hostModel,c=u.get("animationDuration");Gt(c)&&(c=c(null));var d=u.get("animationDelay")||0,h=Gt(d)?d(null):d;t.eachItemGraphicEl(function(f,p){var g=f;if(g){var m=[f.x,f.y],v=void 0,_=void 0,S=void 0;if(r)if(o){var x=r,A=i.pointToCoord(m);a?(v=x.startAngle,_=x.endAngle,S=-A[1]/180*Math.PI):(v=x.r0,_=x.r,S=A[0])}else{var C=r;a?(v=C.x,_=C.x+C.width,S=f.x):(v=C.y+C.height,_=C.y,S=f.y)}var M=_===v?0:(S-v)/(_-v);l&&(M=1-M);var I=Gt(d)?d(p):c*M+h,D=g.getSymbolPath(),E=D.getTextContent();g.attr({scaleX:0,scaleY:0}),g.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:I}),E&&E.animateFrom({style:{opacity:0}},{duration:300,delay:I}),D.disableLabelAnimation=!0}})},e.prototype._initOrUpdateEndLabel=function(t,i,r){var a=t.getModel("endLabel");if(jZ(t)){var o=t.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new Y3({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var c=Dhe(l);c>=0&&(Qn(s,bn(t,"endLabel"),{inheritColor:r,labelFetcher:t,labelDataIndex:c,defaultText:function(d,h,f){return f!=null?BZ(o,f):O7(o,d)},enableTextSetter:!0},khe(a,i)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,i,r,a,o,s,l){var u=this._endLabel,c=this._polyline;if(u){t<1&&a.originalX==null&&(a.originalX=u.x,a.originalY=u.y);var d=r.getLayout("points"),h=r.hostModel,f=h.get("connectNulls"),p=s.get("precision"),g=s.get("distance")||0,m=l.getBaseAxis(),v=m.isHorizontal(),_=m.inverse,S=i.shape,x=_?v?S.x:S.y+S.height:v?S.x+S.width:S.y,A=(v?g:0)*(_?-1:1),C=(v?0:-g)*(_?-1:1),M=v?"x":"y",I=Nhe(d,x,M),D=I.range,E=D[1]-D[0],L=void 0;if(E>=1){if(E>1&&!f){var V=hB(d,D[0]);u.attr({x:V[0]+A,y:V[1]+C}),o&&(L=h.getRawValue(D[0]))}else{var V=c.getPointOn(x,M);V&&u.attr({x:V[0]+A,y:V[1]+C});var Y=h.getRawValue(D[0]),G=h.getRawValue(D[1]);o&&(L=cq(r,p,Y,G,I.t))}a.lastFrameIndex=D[0]}else{var W=t===1||a.lastFrameIndex>0?D[0]:0,V=hB(d,W);o&&(L=h.getRawValue(W)),u.attr({x:V[0]+A,y:V[1]+C})}if(o){var q=du(u);typeof q.setLabelText=="function"&&q.setLabelText(L)}}},e.prototype._doUpdateAnimation=function(t,i,r,a,o,s,l){var u=this._polyline,c=this._polygon,d=t.hostModel,h=The(this._data,t,this._stackedOnPoints,i,this._coordSys,r,this._valueOrigin),f=h.current,p=h.stackedOnCurrent,g=h.next,m=h.stackedOnNext;if(o&&(p=Y6(h.stackedOnCurrent,h.current,r,o,l),f=Y6(h.current,null,r,o,l),m=Y6(h.stackedOnNext,h.next,r,o,l),g=Y6(h.next,null,r,o,l)),cB(f,g)>3e3||c&&cB(p,m)>3e3){u.stopAnimation(),u.setShape({points:g}),c&&(c.stopAnimation(),c.setShape({points:g,stackedOnPoints:m}));return}u.shape.__points=h.current,u.shape.points=f;var v={shape:{points:g}};h.current!==f&&(v.shape.__points=h.next),u.stopAnimation(),Q3(u,v,d),c&&(c.setShape({points:f,stackedOnPoints:p}),c.stopAnimation(),Q3(c,{shape:{stackedOnPoints:m}},d),u.shape.points!==c.shape.points&&(c.shape.points=u.shape.points));for(var _=[],S=h.status,x=0;x<S.length;x++){var A=S[x].cmd;if(A==="="){var C=t.getItemGraphicEl(S[x].idx1);C&&_.push({el:C,ptIdx:x})}}u.animators&&u.animators.length&&u.animators[0].during(function(){c&&c.dirtyShape();for(var M=u.shape.__points,I=0;I<_.length;I++){var D=_[I].el,E=_[I].ptIdx*2;D.x=M[E],D.y=M[E+1],D.markRedraw()}})},e.prototype.remove=function(t){var i=this.group,r=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),r&&r.eachItemGraphicEl(function(a,o){a.__temp&&(i.remove(a),r.setItemGraphicEl(o,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null},e.type="line",e}(K1);const Ohe=Fhe;function uf(n,e){return{seriesType:n,plan:vu(),reset:function(t){var i=t.getData(),r=t.coordinateSystem,a=t.pipelineContext,o=e||a.large;if(r){var s=j2(r.dimensions,function(f){return i.mapDimension(f)}).slice(0,2),l=s.length,u=i.getCalculationInfo("stackResultDimension");Y5(i,s[0])&&(s[0]=u),Y5(i,s[1])&&(s[1]=u);var c=i.getStore(),d=i.getDimensionIndex(s[0]),h=i.getDimensionIndex(s[1]);return l&&{progress:function(f,p){for(var g=f.end-f.start,m=o&&Jo(g*l),v=[],_=[],S=f.start,x=0;S<f.end;S++){var A=void 0;if(l===1){var C=c.get(d,S);A=r.dataToPoint(C,null,_)}else v[0]=c.get(d,S),v[1]=c.get(h,S),A=r.dataToPoint(v,null,_);o?(m[x++]=A[0],m[x++]=A[1]):p.setItemLayout(S,A.slice())}o&&p.setLayout("points",m)}}}}}}var Bhe={average:function(n){for(var e=0,t=0,i=0;i<n.length;i++)isNaN(n[i])||(e+=n[i],t++);return t===0?NaN:e/t},sum:function(n){for(var e=0,t=0;t<n.length;t++)e+=n[t]||0;return e},max:function(n){for(var e=-1/0,t=0;t<n.length;t++)n[t]>e&&(e=n[t]);return isFinite(e)?e:NaN},min:function(n){for(var e=1/0,t=0;t<n.length;t++)n[t]<e&&(e=n[t]);return isFinite(e)?e:NaN},nearest:function(n){return n[0]}},zhe=function(n){return Math.round(n.length/2)};function $Z(n){return{seriesType:n,reset:function(e,t,i){var r=e.getData(),a=e.get("sampling"),o=e.coordinateSystem,s=r.count();if(s>10&&o.type==="cartesian2d"&&a){var l=o.getBaseAxis(),u=o.getOtherAxis(l),c=l.getExtent(),d=i.getDevicePixelRatio(),h=Math.abs(c[1]-c[0])*(d||1),f=Math.round(s/h);if(isFinite(f)&&f>1){a==="lttb"?e.setData(r.lttbDownSample(r.mapDimension(u.dim),1/f)):a==="minmax"&&e.setData(r.minmaxDownSample(r.mapDimension(u.dim),1/f));var p=void 0;_t(a)?p=Bhe[a]:Gt(a)&&(p=a),p&&e.setData(r.downSample(r.mapDimension(u.dim),1/f,p,zhe))}}}}}function Uhe(n){n.registerChartView(Ohe),n.registerSeriesModel(yhe),n.registerLayout(uf("line",!0)),n.registerVisual({seriesType:"line",reset:function(e){var t=e.getData(),i=e.getModel("lineStyle").getLineStyle();i&&!i.stroke&&(i.stroke=t.getVisual("style").fill),t.setVisual("legendLineStyle",i)}}),n.registerProcessor(n.PRIORITY.PROCESSOR.STATISTIC,$Z("line"))}var YZ=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,i){return v6(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t,i,r){var a=this.coordinateSystem;if(a&&a.clampData){var o=a.clampData(t),s=a.dataToPoint(o);if(r)ne(a.getAxes(),function(h,f){if(h.type==="category"&&i!=null){var p=h.getTicksCoords(),g=h.getTickModel().get("alignWithLabel"),m=o[f],v=i[f]==="x1"||i[f]==="y1";if(v&&!g&&(m+=1),p.length<2)return;if(p.length===2){s[f]=h.toGlobalCoord(h.getExtent()[v?1:0]);return}for(var _=void 0,S=void 0,x=1,A=0;A<p.length;A++){var C=p[A].coord,M=A===p.length-1?p[A-1].tickValue+x:p[A].tickValue;if(M===m){S=C;break}else if(M<m)_=C;else if(_!=null&&M>m){S=(C+_)/2;break}A===1&&(x=M-p[0].tickValue)}S==null&&(_?_&&(S=p[p.length-1].coord):S=p[0].coord),s[f]=h.toGlobalCoord(S)}});else{var l=this.getData(),u=l.getLayout("offset"),c=l.getLayout("size"),d=a.getBaseAxis().isHorizontal()?0:1;s[d]+=u+c/2}return s}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(m0);m0.registerClass(YZ);const ly=YZ;var Ghe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(){return v6(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),i=this.get("largeThreshold");return i>t&&(t=i),t},e.prototype.brushSelector=function(t,i,r){return r.rect(i.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=r9(ly.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),e}(ly);const Vhe=Ghe;var Hhe=function(){function n(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return n}(),Whe=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="sausage",i}return e.prototype.getDefaultShape=function(){return new Hhe},e.prototype.buildPath=function(t,i){var r=i.cx,a=i.cy,o=Math.max(i.r0||0,0),s=Math.max(i.r,0),l=(s-o)*.5,u=o+l,c=i.startAngle,d=i.endAngle,h=i.clockwise,f=Math.PI*2,p=h?d-c<f:c-d<f;p||(c=d-(h?f:-f));var g=Math.cos(c),m=Math.sin(c),v=Math.cos(d),_=Math.sin(d);p?(t.moveTo(g*o+r,m*o+a),t.arc(g*u+r,m*u+a,l,-Math.PI+c,c,!h)):t.moveTo(g*s+r,m*s+a),t.arc(r,a,s,c,d,!h),t.arc(v*u+r,_*u+a,l,d-Math.PI*2,d-Math.PI,!h),o!==0&&t.arc(r,a,o,d,c,h)},e}(C3);const uy=Whe;function jhe(n,e){e=e||{};var t=e.isRoundCap;return function(i,r,a){var o=r.position;if(!o||o instanceof Array)return Gv(i,r,a);var s=n(o),l=r.distance!=null?r.distance:5,u=this.shape,c=u.cx,d=u.cy,h=u.r,f=u.r0,p=(h+f)/2,g=u.startAngle,m=u.endAngle,v=(g+m)/2,_=t?Math.abs(h-f)/2:0,S=Math.cos,x=Math.sin,A=c+h*S(g),C=d+h*x(g),M="left",I="top";switch(s){case"startArc":A=c+(f-l)*S(v),C=d+(f-l)*x(v),M="center",I="top";break;case"insideStartArc":A=c+(f+l)*S(v),C=d+(f+l)*x(v),M="center",I="bottom";break;case"startAngle":A=c+p*S(g)+lm(g,l+_,!1),C=d+p*x(g)+um(g,l+_,!1),M="right",I="middle";break;case"insideStartAngle":A=c+p*S(g)+lm(g,-l+_,!1),C=d+p*x(g)+um(g,-l+_,!1),M="left",I="middle";break;case"middle":A=c+p*S(v),C=d+p*x(v),M="center",I="middle";break;case"endArc":A=c+(h+l)*S(v),C=d+(h+l)*x(v),M="center",I="bottom";break;case"insideEndArc":A=c+(h-l)*S(v),C=d+(h-l)*x(v),M="center",I="top";break;case"endAngle":A=c+p*S(m)+lm(m,l+_,!0),C=d+p*x(m)+um(m,l+_,!0),M="left",I="middle";break;case"insideEndAngle":A=c+p*S(m)+lm(m,-l+_,!0),C=d+p*x(m)+um(m,-l+_,!0),M="right",I="middle";break;default:return Gv(i,r,a)}return i=i||{},i.x=A,i.y=C,i.align=M,i.verticalAlign=I,i}}function $he(n,e,t,i){if(q3(i)){n.setTextConfig({rotation:i});return}else if(H2(e)){n.setTextConfig({rotation:0});return}var r=n.shape,a=r.clockwise?r.startAngle:r.endAngle,o=r.clockwise?r.endAngle:r.startAngle,s=(a+o)/2,l,u=t(e);switch(u){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":l=s;break;case"startAngle":case"insideStartAngle":l=a;break;case"endAngle":case"insideEndAngle":l=o;break;default:n.setTextConfig({rotation:0});return}var c=Math.PI*1.5-l;u==="middle"&&c>Math.PI/2&&c<Math.PI*1.5&&(c-=Math.PI),n.setTextConfig({rotation:c})}function lm(n,e,t){return e*Math.sin(n)*(t?-1:1)}function um(n,e,t){return e*Math.cos(n)*(t?1:-1)}function P8(n,e,t){var i=n.get("borderRadius");if(i==null)return t?{cornerRadius:0}:null;H2(i)||(i=[i,i,i,i]);var r=Math.abs(e.r||0-e.r0||0);return{cornerRadius:j2(i,function(a){return mo(a,r)})}}var yw=Math.max,_w=Math.min;function Yhe(n,e){var t=n.getArea&&n.getArea();if(Al(n,"cartesian2d")){var i=n.getBaseAxis();if(i.type!=="category"||!i.onBand){var r=e.getLayout("bandWidth");i.isHorizontal()?(t.x-=r,t.width+=r*2):(t.y-=r,t.height+=r*2)}}return t}var qhe=function(n){g2(e,n);function e(){var t=n.call(this)||this;return t.type=e.type,t._isFirstFrame=!0,t}return e.prototype.render=function(t,i,r,a){this._model=t,this._removeOnRenderedListener(r),this._updateDrawMode(t);var o=t.get("coordinateSystem");(o==="cartesian2d"||o==="polar")&&(this._progressiveEls=null,this._isLargeDraw?this._renderLarge(t,i,r):this._renderNormal(t,i,r,a))},e.prototype.incrementalPrepareRender=function(t){this._clear(),this._updateDrawMode(t),this._updateLargeClip(t)},e.prototype.incrementalRender=function(t,i){this._progressiveEls=[],this._incrementalRenderLarge(t,i)},e.prototype.eachRendered=function(t){i9(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var i=t.pipelineContext.large;(this._isLargeDraw==null||i!==this._isLargeDraw)&&(this._isLargeDraw=i,this._clear())},e.prototype._renderNormal=function(t,i,r,a){var o=this.group,s=t.getData(),l=this._data,u=t.coordinateSystem,c=u.getBaseAxis(),d;u.type==="cartesian2d"?d=c.isHorizontal():u.type==="polar"&&(d=c.dim==="angle");var h=t.isAnimationEnabled()?t:null,f=Xhe(t,u);f&&this._enableRealtimeSort(f,s,r);var p=t.get("clip",!0)||f,g=Yhe(u,s);o.removeClipPath();var m=t.get("roundCap",!0),v=t.get("showBackground",!0),_=t.getModel("backgroundStyle"),S=_.get("borderRadius")||0,x=[],A=this._backgroundEls,C=a&&a.isInitSort,M=a&&a.type==="changeAxisOrder";function I(L){var V=cm[u.type](s,L),Y=nfe(u,d,V);return Y.useStyle(_.getItemStyle()),u.type==="cartesian2d"?Y.setShape("r",S):Y.setShape("cornerRadius",S),x[L]=Y,Y}s.diff(l).add(function(L){var V=s.getItemModel(L),Y=cm[u.type](s,L,V);if(v&&I(L),!(!s.hasValue(L)||!vB[u.type](Y))){var G=!1;p&&(G=fB[u.type](g,Y));var W=pB[u.type](t,s,L,Y,d,h,c.model,!1,m);f&&(W.forceLabelAnimation=!0),yB(W,s,L,V,Y,t,d,u.type==="polar"),C?W.attr({shape:Y}):f?mB(f,h,W,Y,L,d,!1,!1):l0(W,{shape:Y},t,L),s.setItemGraphicEl(L,W),o.add(W),W.ignore=G}}).update(function(L,V){var Y=s.getItemModel(L),G=cm[u.type](s,L,Y);if(v){var W=void 0;A.length===0?W=I(V):(W=A[V],W.useStyle(_.getItemStyle()),u.type==="cartesian2d"?W.setShape("r",S):W.setShape("cornerRadius",S),x[L]=W);var q=cm[u.type](s,L),ce=XZ(d,q,u);Q3(W,{shape:ce},h,L)}var J=l.getItemGraphicEl(V);if(!s.hasValue(L)||!vB[u.type](G)){o.remove(J);return}var H=!1;if(p&&(H=fB[u.type](g,G),H&&o.remove(J)),J?go(J):J=pB[u.type](t,s,L,G,d,h,c.model,!!J,m),f&&(J.forceLabelAnimation=!0),M){var re=J.getTextContent();if(re){var ee=du(re);ee.prevValue!=null&&(ee.prevValue=ee.value)}}else yB(J,s,L,Y,G,t,d,u.type==="polar");C?J.attr({shape:G}):f?mB(f,h,J,G,L,d,!0,M):Q3(J,{shape:G},t,L,null),s.setItemGraphicEl(L,J),J.ignore=H,o.add(J)}).remove(function(L){var V=l.getItemGraphicEl(L);V&&sh(V,t,L)}).execute();var D=this._backgroundGroup||(this._backgroundGroup=new qt);D.removeAll();for(var E=0;E<x.length;++E)D.add(x[E]);o.add(D),this._backgroundEls=x,this._data=s},e.prototype._renderLarge=function(t,i,r){this._clear(),SB(t,this.group),this._updateLargeClip(t)},e.prototype._incrementalRenderLarge=function(t,i){this._removeBackground(),SB(i,this.group,this._progressiveEls,!0)},e.prototype._updateLargeClip=function(t){var i=t.get("clip",!0)&&lf(t.coordinateSystem,!1,t),r=this.group;i?r.setClipPath(i):r.removeClipPath()},e.prototype._enableRealtimeSort=function(t,i,r){var a=this;if(i.count()){var o=t.baseAxis;if(this._isFirstFrame)this._dispatchInitSort(i,t,r),this._isFirstFrame=!1;else{var s=function(l){var u=i.getItemGraphicEl(l),c=u&&u.shape;return c&&Math.abs(o.isHorizontal()?c.height:c.width)||0};this._onRendered=function(){a._updateSortWithinSameData(i,s,o,r)},r.getZr().on("rendered",this._onRendered)}}},e.prototype._dataSort=function(t,i,r){var a=[];return t.each(t.mapDimension(i.dim),function(o,s){var l=r(s);l=l==null?NaN:l,a.push({dataIndex:s,mappedValue:l,ordinalNumber:o})}),a.sort(function(o,s){return s.mappedValue-o.mappedValue}),{ordinalNumbers:j2(a,function(o){return o.ordinalNumber})}},e.prototype._isOrderChangedWithinSameData=function(t,i,r){for(var a=r.scale,o=t.mapDimension(r.dim),s=Number.MAX_VALUE,l=0,u=a.getOrdinalMeta().categories.length;l<u;++l){var c=t.rawIndexOf(o,a.getRawOrdinalNumber(l)),d=c<0?Number.MIN_VALUE:i(t.indexOfRawIndex(c));if(d>s)return!0;s=d}return!1},e.prototype._isOrderDifferentInView=function(t,i){for(var r=i.scale,a=r.getExtent(),o=Math.max(0,a[0]),s=Math.min(a[1],r.getOrdinalMeta().categories.length-1);o<=s;++o)if(t.ordinalNumbers[o]!==r.getRawOrdinalNumber(o))return!0},e.prototype._updateSortWithinSameData=function(t,i,r,a){if(this._isOrderChangedWithinSameData(t,i,r)){var o=this._dataSort(t,r,i);this._isOrderDifferentInView(o,r)&&(this._removeOnRenderedListener(a),a.dispatchAction({type:"changeAxisOrder",componentType:r.dim+"Axis",axisId:r.index,sortInfo:o}))}},e.prototype._dispatchInitSort=function(t,i,r){var a=i.baseAxis,o=this._dataSort(t,a,function(s){return t.get(t.mapDimension(i.otherAxis.dim),s)});r.dispatchAction({type:"changeAxisOrder",componentType:a.dim+"Axis",isInitSort:!0,axisId:a.index,sortInfo:o})},e.prototype.remove=function(t,i){this._clear(this._model),this._removeOnRenderedListener(i)},e.prototype.dispose=function(t,i){this._removeOnRenderedListener(i)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var i=this.group,r=this._data;t&&t.isAnimationEnabled()&&r&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],r.eachItemGraphicEl(function(a){sh(a,t,Xt(a).dataIndex)})):i.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(K1),fB={cartesian2d:function(n,e){var t=e.width<0?-1:1,i=e.height<0?-1:1;t<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height);var r=n.x+n.width,a=n.y+n.height,o=yw(e.x,n.x),s=_w(e.x+e.width,r),l=yw(e.y,n.y),u=_w(e.y+e.height,a),c=s<o,d=u<l;return e.x=c&&o>r?s:o,e.y=d&&l>a?u:l,e.width=c?0:s-o,e.height=d?0:u-l,t<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height),c||d},polar:function(n,e){var t=e.r0<=e.r?1:-1;if(t<0){var i=e.r;e.r=e.r0,e.r0=i}var r=_w(e.r,n.r),a=yw(e.r0,n.r0);e.r=r,e.r0=a;var o=r-a<0;if(t<0){var i=e.r;e.r=e.r0,e.r0=i}return o}},pB={cartesian2d:function(n,e,t,i,r,a,o,s,l){var u=new V3({shape:L2({},i),z2:1});if(u.__dataIndex=t,u.name="item",a){var c=u.shape,d=r?"height":"width";c[d]=0}return u},polar:function(n,e,t,i,r,a,o,s,l){var u=!r&&l?uy:mr,c=new u({shape:i,z2:1});c.name="item";var d=qZ(r);if(c.calculateTextPosition=jhe(d,{isRoundCap:u===uy}),a){var h=c.shape,f=r?"r":"endAngle",p={};h[f]=r?i.r0:i.startAngle,p[f]=i[f],(s?Q3:l0)(c,{shape:p},a)}return c}};function Xhe(n,e){var t=n.get("realtimeSort",!0),i=e.getBaseAxis();if(t&&i.type==="category"&&e.type==="cartesian2d")return{baseAxis:i,otherAxis:e.getOtherAxis(i)}}function mB(n,e,t,i,r,a,o,s){var l,u;a?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(o?Q3:l0)(t,{shape:l},e,r,null);var c=e?n.baseAxis.model:null;(o?Q3:l0)(t,{shape:u},c,r)}function gB(n,e){for(var t=0;t<e.length;t++)if(!isFinite(n[e[t]]))return!0;return!1}var Khe=["x","y","width","height"],Zhe=["cx","cy","r","startAngle","endAngle"],vB={cartesian2d:function(n){return!gB(n,Khe)},polar:function(n){return!gB(n,Zhe)}},cm={cartesian2d:function(n,e,t){var i=n.getItemLayout(e),r=t?Qhe(t,i):0,a=i.width>0?1:-1,o=i.height>0?1:-1;return{x:i.x+a*r/2,y:i.y+o*r/2,width:i.width-a*r,height:i.height-o*r}},polar:function(n,e,t){var i=n.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function Jhe(n){return n.startAngle!=null&&n.endAngle!=null&&n.startAngle===n.endAngle}function qZ(n){return function(e){var t=e?"Arc":"Angle";return function(i){switch(i){case"start":case"insideStart":case"end":case"insideEnd":return i+t;default:return i}}}(n)}function yB(n,e,t,i,r,a,o,s){var l=e.getItemVisual(t,"style");if(s){if(!a.get("roundCap")){var c=n.shape,d=P8(i.getModel("itemStyle"),c,!0);L2(c,d),n.setShape(c)}}else{var u=i.get(["itemStyle","borderRadius"])||0;n.setShape("r",u)}n.useStyle(l);var h=i.getShallow("cursor");h&&n.attr("cursor",h);var f=s?o?r.r>=r.r0?"endArc":"startArc":r.endAngle>=r.startAngle?"endAngle":"startAngle":o?r.height>=0?"bottom":"top":r.width>=0?"right":"left",p=bn(i);Qn(n,p,{labelFetcher:a,labelDataIndex:t,defaultText:O7(a.getData(),t),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:f});var g=n.getTextContent();if(s&&g){var m=i.get(["label","position"]);n.textConfig.inside=m==="middle"?!0:null,$he(n,m==="outside"?f:m,qZ(o),i.get(["label","rotate"]))}oX(g,p,a.getRawValue(t),function(_){return BZ(e,_)});var v=i.getModel(["emphasis"]);b0(n,v.get("focus"),v.get("blurScope"),v.get("disabled")),Jn(n,i),Jhe(r)&&(n.style.fill="none",n.style.stroke="none",ne(n.states,function(_){_.style&&(_.style.fill=_.style.stroke="none")}))}function Qhe(n,e){var t=n.get(["itemStyle","borderColor"]);if(!t||t==="none")return 0;var i=n.get(["itemStyle","borderWidth"])||0,r=isNaN(e.width)?Number.MAX_VALUE:Math.abs(e.width),a=isNaN(e.height)?Number.MAX_VALUE:Math.abs(e.height);return Math.min(i,r,a)}var efe=function(){function n(){}return n}(),_B=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="largeBar",i}return e.prototype.getDefaultShape=function(){return new efe},e.prototype.buildPath=function(t,i){for(var r=i.points,a=this.baseDimIdx,o=1-this.baseDimIdx,s=[],l=[],u=this.barWidth,c=0;c<r.length;c+=3)l[a]=u,l[o]=r[c+2],s[a]=r[c+a],s[o]=r[c+o],t.rect(s[0],s[1],l[0],l[1])},e}(C3);function SB(n,e,t,i){var r=n.getData(),a=r.getLayout("valueAxisHorizontal")?1:0,o=r.getLayout("largeDataIndices"),s=r.getLayout("size"),l=n.getModel("backgroundStyle"),u=r.getLayout("largeBackgroundPoints");if(u){var c=new _B({shape:{points:u},incremental:!!i,silent:!0,z2:0});c.baseDimIdx=a,c.largeDataIndices=o,c.barWidth=s,c.useStyle(l.getItemStyle()),e.add(c),t&&t.push(c)}var d=new _B({shape:{points:r.getLayout("largePoints")},incremental:!!i,ignoreCoarsePointer:!0,z2:1});d.baseDimIdx=a,d.largeDataIndices=o,d.barWidth=s,e.add(d),d.useStyle(r.getVisual("style")),d.style.stroke=null,Xt(d).seriesIndex=n.seriesIndex,n.get("silent")||(d.on("mousedown",bB),d.on("mousemove",bB)),t&&t.push(d)}var bB=W_(function(n){var e=this,t=tfe(e,n.offsetX,n.offsetY);Xt(e).dataIndex=t>=0?t:null},30,!1);function tfe(n,e,t){for(var i=n.baseDimIdx,r=1-i,a=n.shape.points,o=n.largeDataIndices,s=[],l=[],u=n.barWidth,c=0,d=a.length/3;c<d;c++){var h=c*3;if(l[i]=u,l[r]=a[h+2],s[i]=a[h+i],s[r]=a[h+r],l[r]<0&&(s[r]+=l[r],l[r]=-l[r]),e>=s[0]&&e<=s[0]+l[0]&&t>=s[1]&&t<=s[1]+l[1])return o[c]}return-1}function XZ(n,e,t){if(Al(t,"cartesian2d")){var i=e,r=t.getArea();return{x:n?i.x:r.x,y:n?r.y:i.y,width:n?i.width:r.width,height:n?r.height:i.height}}else{var r=t.getArea(),a=e;return{cx:r.cx,cy:r.cy,r0:n?r.r0:a.r0,r:n?r.r:a.r,startAngle:n?a.startAngle:0,endAngle:n?a.endAngle:Math.PI*2}}}function nfe(n,e,t){var i=n.type==="polar"?mr:V3;return new i({shape:XZ(e,t,n),silent:!0,z2:0})}const ife=qhe;function rfe(n){n.registerChartView(ife),n.registerSeriesModel(Vhe),n.registerLayout(n.PRIORITY.VISUAL.LAYOUT,r3(ZK,"bar")),n.registerLayout(n.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,JK("bar")),n.registerProcessor(n.PRIORITY.PROCESSOR.STATISTIC,$Z("bar")),n.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(e,t){var i=e.componentType||"series";t.eachComponent({mainType:i,query:e},function(r){e.sortInfo&&r.axis.setCategorySortInfo(e.sortInfo)})})}var xB=Math.PI*2,dm=Math.PI/180;function KZ(n,e){return hn(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function ZZ(n,e){var t=KZ(n,e),i=n.get("center"),r=n.get("radius");H2(r)||(r=[0,r]);var a=ft(t.width,e.getWidth()),o=ft(t.height,e.getHeight()),s=Math.min(a,o),l=ft(r[0],s/2),u=ft(r[1],s/2),c,d,h=n.coordinateSystem;if(h){var f=h.dataToPoint(i);c=f[0]||0,d=f[1]||0}else H2(i)||(i=[i,i]),c=ft(i[0],a)+t.x,d=ft(i[1],o)+t.y;return{cx:c,cy:d,r0:l,r:u}}function afe(n,e,t){e.eachSeriesByType(n,function(i){var r=i.getData(),a=r.mapDimension("value"),o=KZ(i,t),s=ZZ(i,t),l=s.cx,u=s.cy,c=s.r,d=s.r0,h=-i.get("startAngle")*dm,f=i.get("endAngle"),p=i.get("padAngle")*dm;f=f==="auto"?h-xB:-f*dm;var g=i.get("minAngle")*dm,m=g+p,v=0;r.each(a,function(ce){!isNaN(ce)&&v++});var _=r.getSum(a),S=Math.PI/(_||v)*2,x=i.get("clockwise"),A=i.get("roseType"),C=i.get("stillShowZeroSum"),M=r.getDataExtent(a);M[0]=0;var I=x?1:-1,D=[h,f],E=I*p/2;pP(D,!x),h=D[0],f=D[1];var L=JZ(i);L.startAngle=h,L.endAngle=f,L.clockwise=x;var V=Math.abs(f-h),Y=V,G=0,W=h;if(r.setLayout({viewRect:o,r:c}),r.each(a,function(ce,J){var H;if(isNaN(ce)){r.setItemLayout(J,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:x,cx:l,cy:u,r0:d,r:A?NaN:c});return}A!=="area"?H=_===0&&C?S:ce*S:H=V/v,H<m?(H=m,Y-=m):G+=ce;var re=W+I*H,ee=0,se=0;p>H?(ee=W+I*H/2,se=ee):(ee=W+E,se=re-E),r.setItemLayout(J,{angle:H,startAngle:ee,endAngle:se,clockwise:x,cx:l,cy:u,r0:d,r:A?p1(ce,M,[d,c]):c}),W=re}),Y<xB&&v)if(Y<=.001){var q=V/v;r.each(a,function(ce,J){if(!isNaN(ce)){var H=r.getItemLayout(J);H.angle=q;var re=0,ee=0;q<p?(re=h+I*(J+1/2)*q,ee=re):(re=h+I*J*q+E,ee=h+I*(J+1)*q-E),H.startAngle=re,H.endAngle=ee}})}else S=Y/G,W=h,r.each(a,function(ce,J){if(!isNaN(ce)){var H=r.getItemLayout(J),re=H.angle===m?m:ce*S,ee=0,se=0;re<p?(ee=W+I*re/2,se=ee):(ee=W+E,se=W+I*re-E),H.startAngle=ee,H.endAngle=se,W+=I*re}})})}var JZ=B3();function cf(n){return{seriesType:n,reset:function(e,t){var i=t.findComponents({mainType:"legend"});if(!(!i||!i.length)){var r=e.getData();r.filterSelf(function(a){for(var o=r.getName(a),s=0;s<i.length;s++)if(!i[s].isSelected(o))return!1;return!0})}}}}var ofe=Math.PI/180;function wB(n,e,t,i,r,a,o,s,l,u){if(n.length<2)return;function c(g){for(var m=g.rB,v=m*m,_=0;_<g.list.length;_++){var S=g.list[_],x=Math.abs(S.label.y-t),A=i+S.len,C=A*A,M=Math.sqrt(Math.abs((1-x*x/v)*C)),I=e+(M+S.len2)*r,D=I-S.label.x,E=S.targetTextWidth-D*r;QZ(S,E,!0),S.label.x=I}}function d(g){for(var m={list:[],maxY:0},v={list:[],maxY:0},_=0;_<g.length;_++)if(g[_].labelAlignTo==="none"){var S=g[_],x=S.label.y>t?v:m,A=Math.abs(S.label.y-t);if(A>=x.maxY){var C=S.label.x-e-S.len2*r,M=i+S.len,I=Math.abs(C)<M?Math.sqrt(A*A/(1-C*C/M/M)):M;x.rB=I,x.maxY=A}x.list.push(S)}c(m),c(v)}for(var h=n.length,f=0;f<h;f++)if(n[f].position==="outer"&&n[f].labelAlignTo==="labelLine"){var p=n[f].label.x-u;n[f].linePoints[1][0]+=p,n[f].label.x=u}bZ(n,l,l+o)&&d(n)}function sfe(n,e,t,i,r,a,o,s){for(var l=[],u=[],c=Number.MAX_VALUE,d=-Number.MAX_VALUE,h=0;h<n.length;h++){var f=n[h].label;Sw(n[h])||(f.x<e?(c=Math.min(c,f.x),l.push(n[h])):(d=Math.max(d,f.x),u.push(n[h])))}for(var h=0;h<n.length;h++){var p=n[h];if(!Sw(p)&&p.linePoints){if(p.labelStyleWidth!=null)continue;var f=p.label,g=p.linePoints,m=void 0;p.labelAlignTo==="edge"?f.x<e?m=g[2][0]-p.labelDistance-o-p.edgeDistance:m=o+r-p.edgeDistance-g[2][0]-p.labelDistance:p.labelAlignTo==="labelLine"?f.x<e?m=c-o-p.bleedMargin:m=o+r-d-p.bleedMargin:f.x<e?m=f.x-o-p.bleedMargin:m=o+r-f.x-p.bleedMargin,p.targetTextWidth=m,QZ(p,m)}}wB(u,e,t,i,1,r,a,o,s,d),wB(l,e,t,i,-1,r,a,o,s,c);for(var h=0;h<n.length;h++){var p=n[h];if(!Sw(p)&&p.linePoints){var f=p.label,g=p.linePoints,v=p.labelAlignTo==="edge",_=f.style.padding,S=_?_[1]+_[3]:0,x=f.style.backgroundColor?0:S,A=p.rect.width+x,C=g[1][0]-g[2][0];v?f.x<e?g[2][0]=o+p.edgeDistance+A+p.labelDistance:g[2][0]=o+r-p.edgeDistance-A-p.labelDistance:(f.x<e?g[2][0]=f.x+p.labelDistance:g[2][0]=f.x-p.labelDistance,g[1][0]=g[2][0]+C),g[1][1]=g[2][1]=f.y}}}function QZ(n,e,t){if(t===void 0&&(t=!1),n.labelStyleWidth==null){var i=n.label,r=i.style,a=n.rect,o=r.backgroundColor,s=r.padding,l=s?s[1]+s[3]:0,u=r.overflow,c=a.width+(o?0:l);if(e<c||t){var d=a.height;if(u&&u.match("break")){i.setStyle("backgroundColor",null),i.setStyle("width",e-l);var h=i.getBoundingRect();i.setStyle("width",Math.ceil(h.width)),i.setStyle("backgroundColor",o)}else{var f=e-l,p=e<c?f:t?f>n.unconstrainedWidth?null:f:null;i.setStyle("width",p)}var g=i.getBoundingRect();a.width=g.width;var m=(i.style.margin||0)+2.1;a.height=g.height+m,a.y-=(a.height-d)/2}}}function Sw(n){return n.position==="center"}function lfe(n){var e=n.getData(),t=[],i,r,a=!1,o=(n.get("minShowLabelAngle")||0)*ofe,s=e.getLayout("viewRect"),l=e.getLayout("r"),u=s.width,c=s.x,d=s.y,h=s.height;function f(C){C.ignore=!0}function p(C){if(!C.ignore)return!0;for(var M in C.states)if(C.states[M].ignore===!1)return!0;return!1}e.each(function(C){var M=e.getItemGraphicEl(C),I=M.shape,D=M.getTextContent(),E=M.getTextGuideLine(),L=e.getItemModel(C),V=L.getModel("label"),Y=V.get("position")||L.get(["emphasis","label","position"]),G=V.get("distanceToLabelLine"),W=V.get("alignTo"),q=ft(V.get("edgeDistance"),u),ce=V.get("bleedMargin"),J=L.getModel("labelLine"),H=J.get("length");H=ft(H,u);var re=J.get("length2");if(re=ft(re,u),Math.abs(I.endAngle-I.startAngle)<o){ne(D.states,f),D.ignore=!0,E&&(ne(E.states,f),E.ignore=!0);return}if(p(D)){var ee=(I.startAngle+I.endAngle)/2,se=Math.cos(ee),Be=Math.sin(ee),we,ve,Ke,p2;i=I.cx,r=I.cy;var c2=Y==="inside"||Y==="inner";if(Y==="center")we=I.cx,ve=I.cy,p2="center";else{var s2=(c2?(I.r+I.r0)/2*se:I.r*se)+i,R2=(c2?(I.r+I.r0)/2*Be:I.r*Be)+r;if(we=s2+se*3,ve=R2+Be*3,!c2){var w2=s2+se*(H+l-I.r),Re=R2+Be*(H+l-I.r),k2=w2+(se<0?-1:1)*re,x2=Re;W==="edge"?we=se<0?c+q:c+u-q:we=k2+(se<0?-G:G),ve=x2,Ke=[[s2,R2],[w2,Re],[k2,x2]]}p2=c2?"center":W==="edge"?se>0?"right":"left":se>0?"left":"right"}var D2=Math.PI,z=0,Q2=V.get("rotate");if(q3(Q2))z=Q2*(D2/180);else if(Y==="center")z=0;else if(Q2==="radial"||Q2===!0){var Y2=se<0?-ee+D2:-ee;z=Y2}else if(Q2==="tangential"&&Y!=="outside"&&Y!=="outer"){var Ae=Math.atan2(se,Be);Ae<0&&(Ae=D2*2+Ae);var ge=Be>0;ge&&(Ae=D2+Ae),z=Ae-D2}if(a=!!z,D.x=we,D.y=ve,D.rotation=z,D.setStyle({verticalAlign:"middle"}),c2){D.setStyle({align:p2});var m2=D.states.select;m2&&(m2.x+=D.x,m2.y+=D.y)}else{var ke=D.getBoundingRect().clone();ke.applyTransform(D.getComputedTransform());var d2=(D.style.margin||0)+2.1;ke.y-=d2/2,ke.height+=d2,t.push({label:D,labelLine:E,position:Y,len:H,len2:re,minTurnAngle:J.get("minTurnAngle"),maxSurfaceAngle:J.get("maxSurfaceAngle"),surfaceNormal:new d3(se,Be),linePoints:Ke,textAlign:p2,labelDistance:G,labelAlignTo:W,edgeDistance:q,bleedMargin:ce,rect:ke,unconstrainedWidth:ke.width,labelStyleWidth:D.style.width})}M.setTextConfig({inside:c2})}}),!a&&n.get("avoidLabelOverlap")&&sfe(t,i,r,l,u,h,c,d);for(var g=0;g<t.length;g++){var m=t[g],v=m.label,_=m.labelLine,S=isNaN(v.x)||isNaN(v.y);if(v){v.setStyle({align:m.textAlign}),S&&(ne(v.states,f),v.ignore=!0);var x=v.states.select;x&&(x.x+=v.x,x.y+=v.y)}if(_){var A=m.linePoints;S||!A?(ne(_.states,f),_.ignore=!0):(yZ(A,m.minTurnAngle),_de(A,m.surfaceNormal,m.maxSurfaceAngle),_.setShape({points:A}),v.__hostTarget.textGuideLineConfig={anchor:new d3(A[0][0],A[0][1])})}}}var ufe=function(n){g2(e,n);function e(t,i,r){var a=n.call(this)||this;a.z2=2;var o=new Y3;return a.setTextContent(o),a.updateData(t,i,r,!0),a}return e.prototype.updateData=function(t,i,r,a){var o=this,s=t.hostModel,l=t.getItemModel(i),u=l.getModel("emphasis"),c=t.getItemLayout(i),d=L2(P8(l.getModel("itemStyle"),c,!0),c);if(isNaN(d.startAngle)){o.setShape(d);return}if(a){o.setShape(d);var h=s.getShallow("animationType");s.ecModel.ssr?(l0(o,{scaleX:0,scaleY:0},s,{dataIndex:i,isFrom:!0}),o.originX=d.cx,o.originY=d.cy):h==="scale"?(o.shape.r=c.r0,l0(o,{shape:{r:c.r}},s,i)):r!=null?(o.setShape({startAngle:r,endAngle:r}),l0(o,{shape:{startAngle:c.startAngle,endAngle:c.endAngle}},s,i)):(o.shape.endAngle=c.startAngle,Q3(o,{shape:{endAngle:c.endAngle}},s,i))}else go(o),Q3(o,{shape:d},s,i);o.useStyle(t.getItemVisual(i,"style")),Jn(o,l);var f=(c.startAngle+c.endAngle)/2,p=s.get("selectedOffset"),g=Math.cos(f)*p,m=Math.sin(f)*p,v=l.getShallow("cursor");v&&o.attr("cursor",v),this._updateLabel(s,t,i),o.ensureState("emphasis").shape=L2({r:c.r+(u.get("scale")&&u.get("scaleSize")||0)},P8(u.getModel("itemStyle"),c)),L2(o.ensureState("select"),{x:g,y:m,shape:P8(l.getModel(["select","itemStyle"]),c)}),L2(o.ensureState("blur"),{shape:P8(l.getModel(["blur","itemStyle"]),c)});var _=o.getTextGuideLine(),S=o.getTextContent();_&&L2(_.ensureState("select"),{x:g,y:m}),L2(S.ensureState("select"),{x:g,y:m}),b0(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t,i,r){var a=this,o=i.getItemModel(r),s=o.getModel("labelLine"),l=i.getItemVisual(r,"style"),u=l&&l.fill,c=l&&l.opacity;Qn(a,bn(o),{labelFetcher:i.hostModel,labelDataIndex:r,inheritColor:u,defaultOpacity:c,defaultText:t.getFormattedLabel(r,"normal")||i.getName(r)});var d=a.getTextContent();a.setTextConfig({position:null,rotation:null}),d.attr({z2:10});var h=t.get(["label","position"]);if(h!=="outside"&&h!=="outer")a.removeTextGuideLine();else{var f=this.getTextGuideLine();f||(f=new Sr,this.setTextGuideLine(f)),tR(this,nR(o),{stroke:u,opacity:es(s.get(["lineStyle","opacity"]),c,1)})}},e}(mr),cfe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.ignoreLabelLineUpdate=!0,t}return e.prototype.render=function(t,i,r,a){var o=t.getData(),s=this._data,l=this.group,u;if(!s&&o.count()>0){for(var c=o.getItemLayout(0),d=1;isNaN(c&&c.startAngle)&&d<o.count();++d)c=o.getItemLayout(d);c&&(u=c.startAngle)}if(this._emptyCircleSector&&l.remove(this._emptyCircleSector),o.count()===0&&t.get("showEmptyCircle")){var h=JZ(t),f=new mr({shape:L2(ZZ(t,r),h)});f.useStyle(t.getModel("emptyCircleStyle").getItemStyle()),this._emptyCircleSector=f,l.add(f)}o.diff(s).add(function(p){var g=new ufe(o,p,u);o.setItemGraphicEl(p,g),l.add(g)}).update(function(p,g){var m=s.getItemGraphicEl(g);m.updateData(o,p,u),m.off("click"),l.add(m),o.setItemGraphicEl(p,m)}).remove(function(p){var g=s.getItemGraphicEl(p);sh(g,t,p)}).execute(),lfe(t),t.get("animationTypeUpdate")!=="expansion"&&(this._data=o)},e.prototype.dispose=function(){},e.prototype.containPoint=function(t,i){var r=i.getData(),a=r.getItemLayout(0);if(a){var o=t[0]-a.cx,s=t[1]-a.cy,l=Math.sqrt(o*o+s*s);return l<=a.r&&l>=a.r0}},e.type="pie",e}(K1);const dfe=cfe;function bu(n,e,t){e=H2(e)&&{coordDimensions:e}||L2({encodeDefine:n.getEncode()},e);var i=n.getSource(),r=rf(i,e).dimensions,a=new Oi(r,n);return a.initData(i,t),a}var hfe=function(){function n(e,t){this._getDataWithEncodedVisual=e,this._getRawData=t}return n.prototype.getAllNames=function(){var e=this._getRawData();return e.mapArray(e.getName)},n.prototype.containName=function(e){var t=this._getRawData();return t.indexOfName(e)>=0},n.prototype.indexOfName=function(e){var t=this._getDataWithEncodedVisual();return t.indexOfName(e)},n.prototype.getItemVisual=function(e,t){var i=this._getDataWithEncodedVisual();return i.getItemVisual(e,t)},n}();const df=hfe;var ffe=B3(),pfe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments),this.legendVisualProvider=new df(St(this.getData,this),St(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.mergeOption=function(){n.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return bu(this,{coordDimensions:["value"],encodeDefaulter:r3(DP,this)})},e.prototype.getDataParams=function(t){var i=this.getData(),r=ffe(i),a=r.seats;if(!a){var o=[];i.each(i.mapDimension("value"),function(l){o.push(l)}),a=r.seats=x9e(o,i.hostModel.get("percentPrecision"))}var s=n.prototype.getDataParams.call(this,t);return s.percent=a[t]||0,s.$vars.push("percent"),s},e.prototype._defaultLabelLine=function(t){nl(t,"labelLine",["show"]);var i=t.labelLine,r=t.emphasis.labelLine;i.show=i.show&&t.label.show,r.show=r.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(m0);const mfe=pfe;function gfe(n){return{seriesType:n,reset:function(e,t){var i=e.getData();i.filterSelf(function(r){var a=i.mapDimension("value"),o=i.get(a,r);return!(q3(o)&&!isNaN(o)&&o<0)})}}}function vfe(n){n.registerChartView(dfe),n.registerSeriesModel(mfe),pK("pie",n.registerAction),n.registerLayout(r3(afe,"pie")),n.registerProcessor(cf("pie")),n.registerProcessor(gfe("pie"))}var yfe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t,i){return v6(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return t==null?this.option.large?5e3:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t==null?this.option.large?1e4:this.get("progressiveThreshold"):t},e.prototype.brushSelector=function(t,i,r){return r.point(i.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(m0);const _fe=yfe;var eJ=4,Sfe=function(){function n(){}return n}(),bfe=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i._off=0,i.hoverDataIdx=-1,i}return e.prototype.getDefaultShape=function(){return new Sfe},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,i){var r=i.points,a=i.size,o=this.symbolProxy,s=o.shape,l=t.getContext?t.getContext():t,u=l&&a[0]<eJ,c=this.softClipShape,d;if(u){this._ctx=l;return}for(this._ctx=null,d=this._off;d<r.length;){var h=r[d++],f=r[d++];isNaN(h)||isNaN(f)||c&&!c.contain(h,f)||(s.x=h-a[0]/2,s.y=f-a[1]/2,s.width=a[0],s.height=a[1],o.buildPath(t,s,!0))}this.incremental&&(this._off=d,this.notClear=!0)},e.prototype.afterBrush=function(){var t=this.shape,i=t.points,r=t.size,a=this._ctx,o=this.softClipShape,s;if(a){for(s=this._off;s<i.length;){var l=i[s++],u=i[s++];isNaN(l)||isNaN(u)||o&&!o.contain(l,u)||a.fillRect(l-r[0]/2,u-r[1]/2,r[0],r[1])}this.incremental&&(this._off=s,this.notClear=!0)}},e.prototype.findDataIndex=function(t,i){for(var r=this.shape,a=r.points,o=r.size,s=Math.max(o[0],4),l=Math.max(o[1],4),u=a.length/2-1;u>=0;u--){var c=u*2,d=a[c]-s/2,h=a[c+1]-l/2;if(t>=d&&i>=h&&t<=d+s&&i<=h+l)return u}return-1},e.prototype.contain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect();if(t=r[0],i=r[1],a.contain(t,i)){var o=this.hoverDataIdx=this.findDataIndex(t,i);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var i=this.shape,r=i.points,a=i.size,o=a[0],s=a[1],l=1/0,u=1/0,c=-1/0,d=-1/0,h=0;h<r.length;){var f=r[h++],p=r[h++];l=Math.min(f,l),c=Math.max(f,c),u=Math.min(p,u),d=Math.max(p,d)}t=this._rect=new h3(l-o/2,u-s/2,c-l+o,d-u+s)}return t},e}(C3),xfe=function(){function n(){this.group=new qt}return n.prototype.updateData=function(e,t){this._clear();var i=this._create();i.setShape({points:e.getLayout("points")}),this._setCommon(i,e,t)},n.prototype.updateLayout=function(e){var t=e.getLayout("points");this.group.eachChild(function(i){if(i.startIndex!=null){var r=(i.endIndex-i.startIndex)*2,a=i.startIndex*4*2;t=new Float32Array(t.buffer,a,r)}i.setShape("points",t),i.reset()})},n.prototype.incrementalPrepareUpdate=function(e){this._clear()},n.prototype.incrementalUpdate=function(e,t,i){var r=this._newAdded[0],a=t.getLayout("points"),o=r&&r.shape.points;if(o&&o.length<2e4){var s=o.length,l=new Float32Array(s+a.length);l.set(o),l.set(a,s),r.endIndex=e.end,r.setShape({points:l})}else{this._newAdded=[];var u=this._create();u.startIndex=e.start,u.endIndex=e.end,u.incremental=!0,u.setShape({points:a}),this._setCommon(u,t,i)}},n.prototype.eachRendered=function(e){this._newAdded[0]&&e(this._newAdded[0])},n.prototype._create=function(){var e=new bfe({cursor:"default"});return e.ignoreCoarsePointer=!0,this.group.add(e),this._newAdded.push(e),e},n.prototype._setCommon=function(e,t,i){var r=t.hostModel;i=i||{};var a=t.getVisual("symbolSize");e.setShape("size",a instanceof Array?a:[a,a]),e.softClipShape=i.clipShape||null,e.symbolProxy=J0(t.getVisual("symbol"),0,0,0,0),e.setColor=e.symbolProxy.setColor;var o=e.shape.size[0]<eJ;e.useStyle(r.getModel("itemStyle").getItemStyle(o?["color","shadowBlur","shadowColor"]:["color"]));var s=t.getVisual("style"),l=s&&s.fill;l&&e.setColor(l);var u=Xt(e);u.seriesIndex=r.seriesIndex,e.on("mousemove",function(c){u.dataIndex=null;var d=e.hoverDataIdx;d>=0&&(u.dataIndex=d+(e.startIndex||0))})},n.prototype.remove=function(){this._clear()},n.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},n}();const wfe=xfe;var Tfe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this._updateSymbolDraw(a,t);o.updateData(a,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,i,r){var a=t.getData(),o=this._updateSymbolDraw(a,t);o.incrementalPrepareUpdate(a),this._finished=!1},e.prototype.incrementalRender=function(t,i,r){this._symbolDraw.incrementalUpdate(t,i.getData(),{clipShape:this._getClipShape(i)}),this._finished=t.end===i.getData().count()},e.prototype.updateTransform=function(t,i,r){var a=t.getData();if(this.group.dirty(),!this._finished||a.count()>1e4)return{update:!0};var o=uf("").reset(t,i,r);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._symbolDraw.updateLayout(a)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){if(t.get("clip",!0)){var i=t.coordinateSystem;return i&&i.getArea&&i.getArea(.1)}},e.prototype._updateSymbolDraw=function(t,i){var r=this._symbolDraw,a=i.pipelineContext,o=a.large;return(!r||o!==this._isLargeDraw)&&(r&&r.remove(),r=this._symbolDraw=o?new wfe:new sf,this._isLargeDraw=o,this.group.removeAll()),this.group.add(r.group),r},e.prototype.remove=function(t,i){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(K1);const Afe=Tfe;var Cfe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}(j3);const Mfe=Cfe;var nM=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Z0).models[0]},e.type="cartesian2dAxis",e}(j3);en(nM,af);var tJ={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},Efe=l3({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},tJ),lR=l3({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},tJ),Pfe=l3({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},lR),Rfe=Vt({logBase:10},lR);const nJ={category:Efe,value:lR,time:Pfe,log:Rfe};var Lfe={value:1,category:1,time:1,log:1};function B7(n,e,t,i){ne(Lfe,function(r,a){var o=l3(l3({},nJ[a],!0),i,!0),s=function(l){g2(u,l);function u(){var c=l!==null&&l.apply(this,arguments)||this;return c.type=e+"Axis."+a,c}return u.prototype.mergeDefaultAndTheme=function(c,d){var h=uh(this),f=h?pu(c):{},p=d.getTheme();l3(c,p.get(a+"Axis")),l3(c,this.getDefaultOption()),c.type=TB(c),h&&$5(c,f,h)},u.prototype.optionUpdated=function(){var c=this.option;c.type==="category"&&(this.__ordinalMeta=XC.createByAxisModel(this))},u.prototype.getCategories=function(c){var d=this.option;if(d.type==="category")return c?d.data:this.__ordinalMeta.categories},u.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},u.type=e+"Axis."+a,u.defaultOption=o,u}(t);n.registerComponentModel(s)}),n.registerSubTypeDefaulter(e+"Axis",TB)}function TB(n){return n.type||(n.data?"category":"value")}var Ife=function(){function n(e){this.type="cartesian",this._dimList=[],this._axes={},this.name=e||""}return n.prototype.getAxis=function(e){return this._axes[e]},n.prototype.getAxes=function(){return j2(this._dimList,function(e){return this._axes[e]},this)},n.prototype.getAxesByScale=function(e){return e=e.toLowerCase(),c1(this.getAxes(),function(t){return t.scale.type===e})},n.prototype.addAxis=function(e){var t=e.dim;this._axes[t]=e,this._dimList.push(t)},n}();const Dfe=Ife;var iM=["x","y"];function AB(n){return n.type==="interval"||n.type==="time"}var Nfe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="cartesian2d",t.dimensions=iM,t}return e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,i=this.getAxis("y").scale;if(!(!AB(t)||!AB(i))){var r=t.getExtent(),a=i.getExtent(),o=this.dataToPoint([r[0],a[0]]),s=this.dataToPoint([r[1],a[1]]),l=r[1]-r[0],u=a[1]-a[0];if(!(!l||!u)){var c=(s[0]-o[0])/l,d=(s[1]-o[1])/u,h=o[0]-r[0]*c,f=o[1]-a[0]*d,p=this._transform=[c,0,0,d,h,f];this._invTransform=su([],p)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var i=this.getAxis("x"),r=this.getAxis("y");return i.contain(i.toLocalCoord(t[0]))&&r.contain(r.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,i){var r=this.dataToPoint(t),a=this.dataToPoint(i),o=this.getArea(),s=new h3(r[0],r[1],a[0]-r[0],a[1]-r[1]);return o.intersect(s)},e.prototype.dataToPoint=function(t,i,r){r=r||[];var a=t[0],o=t[1];if(this._transform&&a!=null&&isFinite(a)&&o!=null&&isFinite(o))return Kn(r,t,this._transform);var s=this.getAxis("x"),l=this.getAxis("y");return r[0]=s.toGlobalCoord(s.dataToCoord(a,i)),r[1]=l.toGlobalCoord(l.dataToCoord(o,i)),r},e.prototype.clampData=function(t,i){var r=this.getAxis("x").scale,a=this.getAxis("y").scale,o=r.getExtent(),s=a.getExtent(),l=r.parse(t[0]),u=a.parse(t[1]);return i=i||[],i[0]=Math.min(Math.max(Math.min(o[0],o[1]),l),Math.max(o[0],o[1])),i[1]=Math.min(Math.max(Math.min(s[0],s[1]),u),Math.max(s[0],s[1])),i},e.prototype.pointToData=function(t,i){var r=[];if(this._invTransform)return Kn(r,t,this._invTransform);var a=this.getAxis("x"),o=this.getAxis("y");return r[0]=a.coordToData(a.toLocalCoord(t[0]),i),r[1]=o.coordToData(o.toLocalCoord(t[1]),i),r},e.prototype.getOtherAxis=function(t){return this.getAxis(t.dim==="x"?"y":"x")},e.prototype.getArea=function(t){t=t||0;var i=this.getAxis("x").getGlobalExtent(),r=this.getAxis("y").getGlobalExtent(),a=Math.min(i[0],i[1])-t,o=Math.min(r[0],r[1])-t,s=Math.max(i[0],i[1])-a+t,l=Math.max(r[0],r[1])-o+t;return new h3(a,o,s,l)},e}(Dfe),kfe=function(n){g2(e,n);function e(t,i,r,a,o){var s=n.call(this,t,i,r)||this;return s.index=0,s.type=a||"value",s.position=o||"bottom",s}return e.prototype.isHorizontal=function(){var t=this.position;return t==="top"||t==="bottom"},e.prototype.getGlobalExtent=function(t){var i=this.getExtent();return i[0]=this.toGlobalCoord(i[0]),i[1]=this.toGlobalCoord(i[1]),t&&i[0]>i[1]&&i.reverse(),i},e.prototype.pointToData=function(t,i){return this.coordToData(this.toLocalCoord(t[this.dim==="x"?0:1]),i)},e.prototype.setCategorySortInfo=function(t){if(this.type!=="category")return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(So);const Ffe=kfe;function rM(n,e,t){t=t||{};var i=n.coordinateSystem,r=e.axis,a={},o=r.getAxesOnZeroOf()[0],s=r.position,l=o?"onZero":s,u=r.dim,c=i.getRect(),d=[c.x,c.x+c.width,c.y,c.y+c.height],h={left:0,right:1,top:0,bottom:1,onZero:2},f=e.get("offset")||0,p=u==="x"?[d[2]-f,d[3]+f]:[d[0]-f,d[1]+f];if(o){var g=o.toGlobalCoord(o.dataToCoord(0));p[h.onZero]=Math.max(Math.min(g,p[1]),p[0])}a.position=[u==="y"?p[h[l]]:d[0],u==="x"?p[h[l]]:d[3]],a.rotation=Math.PI/2*(u==="x"?0:1);var m={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=m[s],a.labelOffset=o?p[h[s]]-p[h.onZero]:0,e.get(["axisTick","inside"])&&(a.tickDirection=-a.tickDirection),kn(t.labelInside,e.get(["axisLabel","inside"]))&&(a.labelDirection=-a.labelDirection);var v=e.get(["axisLabel","rotate"]);return a.labelRotate=l==="top"?-v:v,a.z2=1,a}function CB(n){return n.get("coordinateSystem")==="cartesian2d"}function MB(n){var e={xAxisModel:null,yAxisModel:null};return ne(e,function(t,i){var r=i.replace(/Model$/,""),a=n.getReferringComponents(r,Z0).models[0];e[i]=a}),e}var bw=Math.log;function iJ(n,e,t){var i=q5.prototype,r=i.getTicks.call(t),a=i.getTicks.call(t,!0),o=r.length-1,s=i.getInterval.call(t),l=aZ(n,e),u=l.extent,c=l.fixMin,d=l.fixMax;if(n.type==="log"){var h=bw(n.base);u=[bw(u[0])/h,bw(u[1])/h]}n.setExtent(u[0],u[1]),n.calcNiceExtent({splitNumber:o,fixMin:c,fixMax:d});var f=i.getExtent.call(n);c&&(u[0]=f[0]),d&&(u[1]=f[1]);var p=i.getInterval.call(n),g=u[0],m=u[1];if(c&&d)p=(m-g)/o;else if(c)for(m=u[0]+p*o;m<u[1]&&isFinite(m)&&isFinite(u[1]);)p=ow(p),m=u[0]+p*o;else if(d)for(g=u[1]-p*o;g>u[0]&&isFinite(g)&&isFinite(u[0]);)p=ow(p),g=u[1]-p*o;else{var v=n.getTicks().length-1;v>o&&(p=ow(p));var _=p*o;m=Math.ceil(u[1]/p)*p,g=L0(m-_),g<0&&u[0]>=0?(g=0,m=L0(_)):m>0&&u[1]<=0&&(m=0,g=-L0(_))}var S=(r[0].value-a[0].value)/s,x=(r[o].value-a[o].value)/s;i.setExtent.call(n,g+p*S,m+p*x),i.setInterval.call(n,p),(S||x)&&i.setNiceExtent.call(n,g+p,m-p)}var Ofe=function(){function n(e,t,i){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=iM,this._initCartesian(e,t,i),this.model=e}return n.prototype.getRect=function(){return this._rect},n.prototype.update=function(e,t){var i=this._axesMap;this._updateScale(e,this.model);function r(o){var s,l=E3(o),u=l.length;if(u){for(var c=[],d=u-1;d>=0;d--){var h=+l[d],f=o[h],p=f.model,g=f.scale;KC(g)&&p.get("alignTicks")&&p.get("interval")==null?c.push(f):(F7(g,p),KC(g)&&(s=f))}c.length&&(s||(s=c.pop(),F7(s.scale,s.model)),ne(c,function(m){iJ(m.scale,m.model,s.scale)}))}}r(i.x),r(i.y);var a={};ne(i.x,function(o){EB(i,"y",o,a)}),ne(i.y,function(o){EB(i,"x",o,a)}),this.resize(this.model,t)},n.prototype.resize=function(e,t,i){var r=e.getBoxLayoutParams(),a=!i&&e.get("containLabel"),o=hn(r,{width:t.getWidth(),height:t.getHeight()});this._rect=o;var s=this._axesList;l(),a&&(ne(s,function(u){if(!u.model.get(["axisLabel","inside"])){var c=Xce(u);if(c){var d=u.isHorizontal()?"height":"width",h=u.model.get(["axisLabel","margin"]);o[d]-=c[d]+h,u.position==="top"?o.y+=c.height+h:u.position==="left"&&(o.x+=c.width+h)}}}),l()),ne(this._coordsList,function(u){u.calcAffineTransform()});function l(){ne(s,function(u){var c=u.isHorizontal(),d=c?[0,o.width]:[0,o.height],h=u.inverse?1:0;u.setExtent(d[h],d[1-h]),Bfe(u,c?o.x:o.y)})}},n.prototype.getAxis=function(e,t){var i=this._axesMap[e];if(i!=null)return i[t||0]},n.prototype.getAxes=function(){return this._axesList.slice()},n.prototype.getCartesian=function(e,t){if(e!=null&&t!=null){var i="x"+e+"y"+t;return this._coordsMap[i]}jt(e)&&(t=e.yAxisIndex,e=e.xAxisIndex);for(var r=0,a=this._coordsList;r<a.length;r++)if(a[r].getAxis("x").index===e||a[r].getAxis("y").index===t)return a[r]},n.prototype.getCartesians=function(){return this._coordsList.slice()},n.prototype.convertToPixel=function(e,t,i){var r=this._findConvertTarget(t);return r.cartesian?r.cartesian.dataToPoint(i):r.axis?r.axis.toGlobalCoord(r.axis.dataToCoord(i)):null},n.prototype.convertFromPixel=function(e,t,i){var r=this._findConvertTarget(t);return r.cartesian?r.cartesian.pointToData(i):r.axis?r.axis.coordToData(r.axis.toLocalCoord(i)):null},n.prototype._findConvertTarget=function(e){var t=e.seriesModel,i=e.xAxisModel||t&&t.getReferringComponents("xAxis",Z0).models[0],r=e.yAxisModel||t&&t.getReferringComponents("yAxis",Z0).models[0],a=e.gridModel,o=this._coordsList,s,l;if(t)s=t.coordinateSystem,_3(o,s)<0&&(s=null);else if(i&&r)s=this.getCartesian(i.componentIndex,r.componentIndex);else if(i)l=this.getAxis("x",i.componentIndex);else if(r)l=this.getAxis("y",r.componentIndex);else if(a){var u=a.coordinateSystem;u===this&&(s=this._coordsList[0])}return{cartesian:s,axis:l}},n.prototype.containPoint=function(e){var t=this._coordsList[0];if(t)return t.containPoint(e)},n.prototype._initCartesian=function(e,t,i){var r=this,a=this,o={left:!1,right:!1,top:!1,bottom:!1},s={x:{},y:{}},l={x:0,y:0};if(t.eachComponent("xAxis",u("x"),this),t.eachComponent("yAxis",u("y"),this),!l.x||!l.y){this._axesMap={},this._axesList=[];return}this._axesMap=s,ne(s.x,function(c,d){ne(s.y,function(h,f){var p="x"+d+"y"+f,g=new Nfe(p);g.master=r,g.model=e,r._coordsMap[p]=g,r._coordsList.push(g),g.addAxis(c),g.addAxis(h)})});function u(c){return function(d,h){if(xw(d,e)){var f=d.get("position");c==="x"?f!=="top"&&f!=="bottom"&&(f=o.bottom?"top":"bottom"):f!=="left"&&f!=="right"&&(f=o.left?"right":"left"),o[f]=!0;var p=new Ffe(c,X_(d),[0,0],d.get("type"),f),g=p.type==="category";p.onBand=g&&d.get("boundaryGap"),p.inverse=d.get("inverse"),d.axis=p,p.model=d,p.grid=a,p.index=h,a._axesList.push(p),s[c][h]=p,l[c]++}}}},n.prototype._updateScale=function(e,t){ne(this._axesList,function(r){if(r.scale.setExtent(1/0,-1/0),r.type==="category"){var a=r.model.get("categorySortInfo");r.scale.setSortInfo(a)}}),e.eachSeries(function(r){if(CB(r)){var a=MB(r),o=a.xAxisModel,s=a.yAxisModel;if(!xw(o,t)||!xw(s,t))return;var l=this.getCartesian(o.componentIndex,s.componentIndex),u=r.getData(),c=l.getAxis("x"),d=l.getAxis("y");i(u,c),i(u,d)}},this);function i(r,a){ne(ry(r,a.dim),function(o){a.scale.unionExtentFromData(r,o)})}},n.prototype.getTooltipAxes=function(e){var t=[],i=[];return ne(this.getCartesians(),function(r){var a=e!=null&&e!=="auto"?r.getAxis(e):r.getBaseAxis(),o=r.getOtherAxis(a);_3(t,a)<0&&t.push(a),_3(i,o)<0&&i.push(o)}),{baseAxes:t,otherAxes:i}},n.create=function(e,t){var i=[];return e.eachComponent("grid",function(r,a){var o=new n(r,e,t);o.name="grid_"+a,o.resize(r,t,!0),r.coordinateSystem=o,i.push(o)}),e.eachSeries(function(r){if(CB(r)){var a=MB(r),o=a.xAxisModel,s=a.yAxisModel,l=o.getCoordSysModel(),u=l.coordinateSystem;r.coordinateSystem=u.getCartesian(o.componentIndex,s.componentIndex)}}),i},n.dimensions=iM,n}();function xw(n,e){return n.getCoordSysModel()===e}function EB(n,e,t,i){t.getAxesOnZeroOf=function(){return a?[a]:[]};var r=n[e],a,o=t.model,s=o.get(["axisLine","onZero"]),l=o.get(["axisLine","onZeroAxisIndex"]);if(!s)return;if(l!=null)PB(r[l])&&(a=r[l]);else for(var u in r)if(r.hasOwnProperty(u)&&PB(r[u])&&!i[c(r[u])]){a=r[u];break}a&&(i[c(a)]=!0);function c(d){return d.dim+"_"+d.index}}function PB(n){return n&&n.type!=="category"&&n.type!=="time"&&qce(n)}function Bfe(n,e){var t=n.getExtent(),i=t[0]+t[1];n.toGlobalCoord=n.dim==="x"?function(r){return r+e}:function(r){return i-r+e},n.toLocalCoord=n.dim==="x"?function(r){return r-e}:function(r){return i-r+e}}const zfe=Ofe;var x5=Math.PI,$8=function(){function n(e,t){this.group=new qt,this.opt=t,this.axisModel=e,Vt(t,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var i=new qt({x:t.position[0],y:t.position[1],rotation:t.rotation});i.updateTransform(),this._transformGroup=i}return n.prototype.hasBuilder=function(e){return!!RB[e]},n.prototype.add=function(e){RB[e](this.opt,this.axisModel,this.group,this._transformGroup)},n.prototype.getGroup=function(){return this.group},n.innerTextLayout=function(e,t,i){var r=eq(t-e),a,o;return nh(r)?(o=i>0?"top":"bottom",a="center"):nh(r-x5)?(o=i>0?"bottom":"top",a="center"):(o="middle",r>0&&r<x5?a=i>0?"right":"left":a=i>0?"left":"right"),{rotation:r,textAlign:a,textVerticalAlign:o}},n.makeAxisEventDataBase=function(e){var t={componentType:e.mainType,componentIndex:e.componentIndex};return t[e.mainType+"Index"]=e.componentIndex,t},n.isLabelSilent=function(e){var t=e.get("tooltip");return e.get("silent")||!(e.get("triggerEvent")||t&&t.show)},n}(),RB={axisLine:function(n,e,t,i){var r=e.get(["axisLine","show"]);if(r==="auto"&&n.handleAutoShown&&(r=n.handleAutoShown("axisLine")),!!r){var a=e.axis.getExtent(),o=i.transform,s=[a[0],0],l=[a[1],0],u=s[0]>l[0];o&&(Kn(s,s,o),Kn(l,l,o));var c=L2({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),d=new Fn({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:c,strokeContainThreshold:n.strokeContainThreshold||5,silent:!0,z2:1});D7(d.shape,d.style.lineWidth),d.anid="line",t.add(d);var h=e.get(["axisLine","symbol"]);if(h!=null){var f=e.get(["axisLine","symbolSize"]);_t(h)&&(h=[h,h]),(_t(f)||q3(f))&&(f=[f,f]);var p=wl(e.get(["axisLine","symbolOffset"])||0,f),g=f[0],m=f[1];ne([{rotate:n.rotation+Math.PI/2,offset:p[0],r:0},{rotate:n.rotation-Math.PI/2,offset:p[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],function(v,_){if(h[_]!=="none"&&h[_]!=null){var S=J0(h[_],-g/2,-m/2,g,m,c.stroke,!0),x=v.r+v.offset,A=u?l:s;S.attr({rotation:v.rotate,x:A[0]+x*Math.cos(n.rotation),y:A[1]-x*Math.sin(n.rotation),silent:!0,z2:11}),t.add(S)}})}}},axisTickLabel:function(n,e,t,i){var r=Vfe(t,i,e,n),a=Wfe(t,i,e,n);if(Gfe(e,a,r),Hfe(t,i,e,n.tickDirection),e.get(["axisLabel","hideOverlap"])){var o=_Z(j2(a,function(s){return{label:s,priority:s.z2,defaultAttr:{ignore:s.ignore}}}));xZ(o)}},axisName:function(n,e,t,i){var r=kn(n.axisName,e.get("name"));if(r){var a=e.get("nameLocation"),o=n.nameDirection,s=e.getModel("nameTextStyle"),l=e.get("nameGap")||0,u=e.axis.getExtent(),c=u[0]>u[1]?-1:1,d=[a==="start"?u[0]-c*l:a==="end"?u[1]+c*l:(u[0]+u[1])/2,IB(a)?n.labelOffset+o*l:0],h,f=e.get("nameRotate");f!=null&&(f=f*x5/180);var p;IB(a)?h=$8.innerTextLayout(n.rotation,f!=null?f:n.rotation,o):(h=Ufe(n.rotation,a,f||0,u),p=n.axisNameAvailableWidth,p!=null&&(p=Math.abs(p/Math.sin(h.rotation)),!isFinite(p)&&(p=null)));var g=s.getFont(),m=e.get("nameTruncate",!0)||{},v=m.ellipsis,_=kn(n.nameTruncateMaxWidth,m.maxWidth,p),S=new Y3({x:d[0],y:d[1],rotation:h.rotation,silent:$8.isLabelSilent(e),style:q1(s,{text:r,font:g,overflow:"truncate",width:_,ellipsis:v,fill:s.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:s.get("align")||h.textAlign,verticalAlign:s.get("verticalAlign")||h.textVerticalAlign}),z2:1});if(Sl({el:S,componentModel:e,itemName:r}),S.__fullText=r,S.anid="name",e.get("triggerEvent")){var x=$8.makeAxisEventDataBase(e);x.targetType="axisName",x.name=r,Xt(S).eventData=x}i.add(S),S.updateTransform(),t.add(S),S.decomposeTransform()}}};function Ufe(n,e,t,i){var r=eq(t-n),a,o,s=i[0]>i[1],l=e==="start"&&!s||e!=="start"&&s;return nh(r-x5/2)?(o=l?"bottom":"top",a="center"):nh(r-x5*1.5)?(o=l?"top":"bottom",a="center"):(o="middle",r<x5*1.5&&r>x5/2?a=l?"left":"right":a=l?"right":"left"),{rotation:r,textAlign:a,textVerticalAlign:o}}function Gfe(n,e,t){if(!oZ(n.axis)){var i=n.get(["axisLabel","showMinLabel"]),r=n.get(["axisLabel","showMaxLabel"]);e=e||[],t=t||[];var a=e[0],o=e[1],s=e[e.length-1],l=e[e.length-2],u=t[0],c=t[1],d=t[t.length-1],h=t[t.length-2];i===!1?(aa(a),aa(u)):LB(a,o)&&(i?(aa(o),aa(c)):(aa(a),aa(u))),r===!1?(aa(s),aa(d)):LB(l,s)&&(r?(aa(l),aa(h)):(aa(s),aa(d)))}}function aa(n){n&&(n.ignore=!0)}function LB(n,e){var t=n&&n.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(!(!t||!i)){var r=S_([]);return _l(r,r,-n.rotation),t.applyTransform(Js([],r,n.getLocalTransform())),i.applyTransform(Js([],r,e.getLocalTransform())),t.intersect(i)}}function IB(n){return n==="middle"||n==="center"}function rJ(n,e,t,i,r){for(var a=[],o=[],s=[],l=0;l<n.length;l++){var u=n[l].coord;o[0]=u,o[1]=0,s[0]=u,s[1]=t,e&&(Kn(o,o,e),Kn(s,s,e));var c=new Fn({shape:{x1:o[0],y1:o[1],x2:s[0],y2:s[1]},style:i,z2:2,autoBatch:!0,silent:!0});D7(c.shape,c.style.lineWidth),c.anid=r+"_"+n[l].tickValue,a.push(c)}return a}function Vfe(n,e,t,i){var r=t.axis,a=t.getModel("axisTick"),o=a.get("show");if(o==="auto"&&i.handleAutoShown&&(o=i.handleAutoShown("axisTick")),!(!o||r.scale.isBlank())){for(var s=a.getModel("lineStyle"),l=i.tickDirection*a.get("length"),u=r.getTicksCoords(),c=rJ(u,e.transform,l,Vt(s.getLineStyle(),{stroke:t.get(["axisLine","lineStyle","color"])}),"ticks"),d=0;d<c.length;d++)n.add(c[d]);return c}}function Hfe(n,e,t,i){var r=t.axis,a=t.getModel("minorTick");if(!(!a.get("show")||r.scale.isBlank())){var o=r.getMinorTicksCoords();if(o.length)for(var s=a.getModel("lineStyle"),l=i*a.get("length"),u=Vt(s.getLineStyle(),Vt(t.getModel("axisTick").getLineStyle(),{stroke:t.get(["axisLine","lineStyle","color"])})),c=0;c<o.length;c++)for(var d=rJ(o[c],e.transform,l,u,"minorticks_"+c),h=0;h<d.length;h++)n.add(d[h])}}function Wfe(n,e,t,i){var r=t.axis,a=kn(i.axisLabelShow,t.get(["axisLabel","show"]));if(!(!a||r.scale.isBlank())){var o=t.getModel("axisLabel"),s=o.get("margin"),l=r.getViewLabels(),u=(kn(i.labelRotate,o.get("rotate"))||0)*x5/180,c=$8.innerTextLayout(i.rotation,u,i.labelDirection),d=t.getCategories&&t.getCategories(!0),h=[],f=$8.isLabelSilent(t),p=t.get("triggerEvent");return ne(l,function(g,m){var v=r.scale.type==="ordinal"?r.scale.getRawOrdinalNumber(g.tickValue):g.tickValue,_=g.formattedLabel,S=g.rawLabel,x=o;if(d&&d[v]){var A=d[v];jt(A)&&A.textStyle&&(x=new X1(A.textStyle,o,t.ecModel))}var C=x.getTextColor()||t.get(["axisLine","lineStyle","color"]),M=r.dataToCoord(v),I=x.getShallow("align",!0)||c.textAlign,D=e3(x.getShallow("alignMinLabel",!0),I),E=e3(x.getShallow("alignMaxLabel",!0),I),L=x.getShallow("verticalAlign",!0)||x.getShallow("baseline",!0)||c.textVerticalAlign,V=e3(x.getShallow("verticalAlignMinLabel",!0),L),Y=e3(x.getShallow("verticalAlignMaxLabel",!0),L),G=new Y3({x:M,y:i.labelOffset+i.labelDirection*s,rotation:c.rotation,silent:f,z2:10+(g.level||0),style:q1(x,{text:_,align:m===0?D:m===l.length-1?E:I,verticalAlign:m===0?V:m===l.length-1?Y:L,fill:Gt(C)?C(r.type==="category"?S:r.type==="value"?v+"":v,m):C})});if(G.anid="label_"+v,Sl({el:G,componentModel:t,itemName:_,formatterParamsExtra:{isTruncated:function(){return G.isTruncated},value:S,tickIndex:m}}),p){var W=$8.makeAxisEventDataBase(t);W.targetType="axisLabel",W.value=S,W.tickIndex=m,r.type==="category"&&(W.dataIndex=v),Xt(G).eventData=W}e.add(G),G.updateTransform(),h.push(G),n.add(G),G.decomposeTransform()}),h}}const u6=$8;function jfe(n,e){var t={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return $fe(t,n,e),t.seriesInvolved&&qfe(t,n),t}function $fe(n,e,t){var i=e.getComponent("tooltip"),r=e.getComponent("axisPointer"),a=r.get("link",!0)||[],o=[];ne(t.getCoordinateSystems(),function(s){if(!s.axisPointerEnabled)return;var l=vh(s.model),u=n.coordSysAxesInfo[l]={};n.coordSysMap[l]=s;var c=s.model,d=c.getModel("tooltip",i);if(ne(s.getAxes(),r3(g,!1,null)),s.getTooltipAxes&&i&&d.get("show")){var h=d.get("trigger")==="axis",f=d.get(["axisPointer","type"])==="cross",p=s.getTooltipAxes(d.get(["axisPointer","axis"]));(h||f)&&ne(p.baseAxes,r3(g,f?"cross":!0,h)),f&&ne(p.otherAxes,r3(g,"cross",!1))}function g(m,v,_){var S=_.model.getModel("axisPointer",r),x=S.get("show");if(!(!x||x==="auto"&&!m&&!aM(S))){v==null&&(v=S.get("triggerTooltip")),S=m?Yfe(_,d,r,e,m,v):S;var A=S.get("snap"),C=S.get("triggerEmphasis"),M=vh(_.model),I=v||A||_.type==="category",D=n.axesInfo[M]={key:M,axis:_,coordSys:s,axisPointerModel:S,triggerTooltip:v,triggerEmphasis:C,involveSeries:I,snap:A,useHandle:aM(S),seriesModels:[],linkGroup:null};u[M]=D,n.seriesInvolved=n.seriesInvolved||I;var E=Xfe(a,_);if(E!=null){var L=o[E]||(o[E]={axesInfo:{}});L.axesInfo[M]=D,L.mapper=a[E].mapper,D.linkGroup=L}}}})}function Yfe(n,e,t,i,r,a){var o=e.getModel("axisPointer"),s=["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],l={};ne(s,function(h){l[h]=$t(o.get(h))}),l.snap=n.type!=="category"&&!!a,o.get("type")==="cross"&&(l.type="line");var u=l.label||(l.label={});if(u.show==null&&(u.show=!1),r==="cross"){var c=o.get(["label","show"]);if(u.show=c!=null?c:!0,!a){var d=l.lineStyle=o.get("crossStyle");d&&Vt(u,d.textStyle)}}return n.model.getModel("axisPointer",new X1(l,t,i))}function qfe(n,e){e.eachSeries(function(t){var i=t.coordinateSystem,r=t.get(["tooltip","trigger"],!0),a=t.get(["tooltip","show"],!0);!i||r==="none"||r===!1||r==="item"||a===!1||t.get(["axisPointer","show"],!0)===!1||ne(n.coordSysAxesInfo[vh(i.model)],function(o){var s=o.axis;i.getAxis(s.dim)===s&&(o.seriesModels.push(t),o.seriesDataCount==null&&(o.seriesDataCount=0),o.seriesDataCount+=t.getData().count())})})}function Xfe(n,e){for(var t=e.model,i=e.dim,r=0;r<n.length;r++){var a=n[r]||{};if(ww(a[i+"AxisId"],t.id)||ww(a[i+"AxisIndex"],t.componentIndex)||ww(a[i+"AxisName"],t.name))return r}}function ww(n,e){return n==="all"||H2(n)&&_3(n,e)>=0||n===e}function Kfe(n){var e=uR(n);if(e){var t=e.axisPointerModel,i=e.axis.scale,r=t.option,a=t.get("status"),o=t.get("value");o!=null&&(o=i.parse(o));var s=aM(t);a==null&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(o==null||o>l[1])&&(o=l[1]),o<l[0]&&(o=l[0]),r.value=o,s&&(r.status=e.axis.scale.isBlank()?"hide":"show")}}function uR(n){var e=(n.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return e&&e.axesInfo[vh(n)]}function Zfe(n){var e=uR(n);return e&&e.axisPointerModel}function aM(n){return!!n.get(["handle","show"])}function vh(n){return n.type+"||"+n.id}var DB={},Jfe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){this.axisPointerClass&&Kfe(t),n.prototype.render.apply(this,arguments),this._doUpdateAxisPointerClass(t,r,!0)},e.prototype.updateAxisPointer=function(t,i,r,a){this._doUpdateAxisPointerClass(t,r,!1)},e.prototype.remove=function(t,i){var r=this._axisPointer;r&&r.remove(i)},e.prototype.dispose=function(t,i){this._disposeAxisPointer(i),n.prototype.dispose.apply(this,arguments)},e.prototype._doUpdateAxisPointerClass=function(t,i,r){var a=e.getAxisPointerClass(this.axisPointerClass);if(a){var o=Zfe(t);o?(this._axisPointer||(this._axisPointer=new a)).render(t,o,i,r):this._disposeAxisPointer(i)}},e.prototype._disposeAxisPointer=function(t){this._axisPointer&&this._axisPointer.dispose(t),this._axisPointer=null},e.registerAxisPointerClass=function(t,i){DB[t]=i},e.getAxisPointerClass=function(t){return t&&DB[t]},e.type="axis",e}(T0);const Cl=Jfe;var oM=B3();function aJ(n,e,t,i){var r=t.axis;if(!r.scale.isBlank()){var a=t.getModel("splitArea"),o=a.getModel("areaStyle"),s=o.get("color"),l=i.coordinateSystem.getRect(),u=r.getTicksCoords({tickModel:a,clamp:!0});if(u.length){var c=s.length,d=oM(n).splitAreaColors,h=Ct(),f=0;if(d)for(var p=0;p<u.length;p++){var g=d.get(u[p].tickValue);if(g!=null){f=(g+(c-1)*p)%c;break}}var m=r.toGlobalCoord(u[0].coord),v=o.getAreaStyle();s=H2(s)?s:[s];for(var p=1;p<u.length;p++){var _=r.toGlobalCoord(u[p].coord),S=void 0,x=void 0,A=void 0,C=void 0;r.isHorizontal()?(S=m,x=l.y,A=_-S,C=l.height,m=S+A):(S=l.x,x=m,A=l.width,C=_-x,m=x+C);var M=u[p-1].tickValue;M!=null&&h.set(M,f),e.add(new V3({anid:M!=null?"area_"+M:null,shape:{x:S,y:x,width:A,height:C},style:Vt({fill:s[f]},v),autoBatch:!0,silent:!0})),f=(f+1)%c}oM(n).splitAreaColors=h}}}function oJ(n){oM(n).splitAreaColors=null}var Qfe=["axisLine","axisTickLabel","axisName"],epe=["splitArea","splitLine","minorSplitLine"],sJ=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="CartesianAxisPointer",t}return e.prototype.render=function(t,i,r,a){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new qt,this.group.add(this._axisGroup),!!t.get("show")){var s=t.getCoordSysModel(),l=rM(s,t),u=new u6(t,L2({handleAutoShown:function(d){for(var h=s.coordinateSystem.getCartesians(),f=0;f<h.length;f++)if(KC(h[f].getOtherAxis(t.axis).scale))return!0;return!1}},l));ne(Qfe,u.add,u),this._axisGroup.add(u.getGroup()),ne(epe,function(d){t.get([d,"show"])&&tpe[d](this,this._axisGroup,t,s)},this);var c=a&&a.type==="changeAxisOrder"&&a.isInitSort;c||Qh(o,this._axisGroup,t),n.prototype.render.call(this,t,i,r,a)}},e.prototype.remove=function(){oJ(this)},e.type="cartesianAxis",e}(Cl),tpe={splitLine:function(n,e,t,i){var r=t.axis;if(!r.scale.isBlank()){var a=t.getModel("splitLine"),o=a.getModel("lineStyle"),s=o.get("color"),l=a.get("showMinLine")!==!1,u=a.get("showMaxLine")!==!1;s=H2(s)?s:[s];for(var c=i.coordinateSystem.getRect(),d=r.isHorizontal(),h=0,f=r.getTicksCoords({tickModel:a}),p=[],g=[],m=o.getLineStyle(),v=0;v<f.length;v++){var _=r.toGlobalCoord(f[v].coord);if(!(v===0&&!l||v===f.length-1&&!u)){var S=f[v].tickValue;d?(p[0]=_,p[1]=c.y,g[0]=_,g[1]=c.y+c.height):(p[0]=c.x,p[1]=_,g[0]=c.x+c.width,g[1]=_);var x=h++%s.length,A=new Fn({anid:S!=null?"line_"+S:null,autoBatch:!0,shape:{x1:p[0],y1:p[1],x2:g[0],y2:g[1]},style:Vt({stroke:s[x]},m),silent:!0});D7(A.shape,m.lineWidth),e.add(A)}}}},minorSplitLine:function(n,e,t,i){var r=t.axis,a=t.getModel("minorSplitLine"),o=a.getModel("lineStyle"),s=i.coordinateSystem.getRect(),l=r.isHorizontal(),u=r.getMinorTicksCoords();if(u.length)for(var c=[],d=[],h=o.getLineStyle(),f=0;f<u.length;f++)for(var p=0;p<u[f].length;p++){var g=r.toGlobalCoord(u[f][p].coord);l?(c[0]=g,c[1]=s.y,d[0]=g,d[1]=s.y+s.height):(c[0]=s.x,c[1]=g,d[0]=s.x+s.width,d[1]=g);var m=new Fn({anid:"minor_line_"+u[f][p].tickValue,autoBatch:!0,shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:h,silent:!0});D7(m.shape,h.lineWidth),e.add(m)}},splitArea:function(n,e,t,i){aJ(n,e,t,i)}},lJ=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="xAxis",e}(sJ),npe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=lJ.type,t}return e.type="yAxis",e}(sJ),ipe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="grid",t}return e.prototype.render=function(t,i){this.group.removeAll(),t.get("show")&&this.group.add(new V3({shape:t.coordinateSystem.getRect(),style:Vt({fill:t.get("backgroundColor")},t.getItemStyle()),silent:!0,z2:-1}))},e.type="grid",e}(T0),NB={offset:0};function uJ(n){n.registerComponentView(ipe),n.registerComponentModel(Mfe),n.registerCoordinateSystem("cartesian2d",zfe),B7(n,"x",nM,NB),B7(n,"y",nM,NB),n.registerComponentView(lJ),n.registerComponentView(npe),n.registerPreprocessor(function(e){e.xAxis&&e.yAxis&&!e.grid&&(e.grid={})})}function rpe(n){T3(uJ),n.registerSeriesModel(_fe),n.registerChartView(Afe),n.registerLayout(uf("scatter"))}function ape(n){n.eachSeriesByType("radar",function(e){var t=e.getData(),i=[],r=e.coordinateSystem;if(r){var a=r.getIndicatorAxes();ne(a,function(o,s){t.each(t.mapDimension(a[s].dim),function(l,u){i[u]=i[u]||[];var c=r.dataToPoint(l,s);i[u][s]=kB(c)?c:FB(r)})}),t.each(function(o){var s=V6e(i[o],function(l){return kB(l)})||FB(r);i[o].push(s.slice()),t.setItemLayout(o,i[o])})}})}function kB(n){return!isNaN(n[0])&&!isNaN(n[1])}function FB(n){return[n.cx,n.cy]}function ope(n){var e=n.polar;if(e){H2(e)||(e=[e]);var t=[];ne(e,function(i,r){i.indicator?(i.type&&!i.shape&&(i.shape=i.type),n.radar=n.radar||[],H2(n.radar)||(n.radar=[n.radar]),n.radar.push(i)):t.push(i)}),n.polar=t}ne(n.series,function(i){i&&i.type==="radar"&&i.polarIndex&&(i.radarIndex=i.polarIndex)})}var spe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=t.coordinateSystem,o=this.group,s=t.getData(),l=this._data;function u(h,f){var p=h.getItemVisual(f,"symbol")||"circle";if(p!=="none"){var g=_u(h.getItemVisual(f,"symbolSize")),m=J0(p,-1,-1,2,2),v=h.getItemVisual(f,"symbolRotate")||0;return m.attr({style:{strokeNoScale:!0},z2:100,scaleX:g[0]/2,scaleY:g[1]/2,rotation:v*Math.PI/180||0}),m}}function c(h,f,p,g,m,v){p.removeAll();for(var _=0;_<f.length-1;_++){var S=u(g,m);S&&(S.__dimIdx=_,h[_]?(S.setPosition(h[_]),bl[v?"initProps":"updateProps"](S,{x:f[_][0],y:f[_][1]},t,m)):S.setPosition(f[_]),p.add(S))}}function d(h){return j2(h,function(f){return[a.cx,a.cy]})}s.diff(l).add(function(h){var f=s.getItemLayout(h);if(f){var p=new gr,g=new Sr,m={shape:{points:f}};p.shape.points=d(f),g.shape.points=d(f),l0(p,m,t,h),l0(g,m,t,h);var v=new qt,_=new qt;v.add(g),v.add(p),v.add(_),c(g.shape.points,f,_,s,h,!0),s.setItemGraphicEl(h,v)}}).update(function(h,f){var p=l.getItemGraphicEl(f),g=p.childAt(0),m=p.childAt(1),v=p.childAt(2),_={shape:{points:s.getItemLayout(h)}};_.shape.points&&(c(g.shape.points,_.shape.points,v,s,h,!1),go(m),go(g),Q3(g,_,t),Q3(m,_,t),s.setItemGraphicEl(h,p))}).remove(function(h){o.remove(l.getItemGraphicEl(h))}).execute(),s.eachItemGraphicEl(function(h,f){var p=s.getItemModel(f),g=h.childAt(0),m=h.childAt(1),v=h.childAt(2),_=s.getItemVisual(f,"style"),S=_.fill;o.add(h),g.useStyle(Vt(p.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:S})),Jn(g,p,"lineStyle"),Jn(m,p,"areaStyle");var x=p.getModel("areaStyle"),A=x.isEmpty()&&x.parentModel.isEmpty();m.ignore=A,ne(["emphasis","select","blur"],function(I){var D=p.getModel([I,"areaStyle"]),E=D.isEmpty()&&D.parentModel.isEmpty();m.ensureState(I).ignore=E&&A}),m.useStyle(Vt(x.getAreaStyle(),{fill:S,opacity:.7,decal:_.decal}));var C=p.getModel("emphasis"),M=C.getModel("itemStyle").getItemStyle();v.eachChild(function(I){if(I instanceof ti){var D=I.style;I.useStyle(L2({image:D.image,x:D.x,y:D.y,width:D.width,height:D.height},_))}else I.useStyle(_),I.setColor(S),I.style.strokeNoScale=!0;var E=I.ensureState("emphasis");E.style=$t(M);var L=s.getStore().get(s.getDimensionIndex(I.__dimIdx),f);(L==null||isNaN(L))&&(L=""),Qn(I,bn(p),{labelFetcher:s.hostModel,labelDataIndex:f,labelDimIndex:I.__dimIdx,defaultText:L,inheritColor:S,defaultOpacity:_.opacity})}),b0(h,C.get("focus"),C.get("blurScope"),C.get("disabled"))}),this._data=s},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.type="radar",e}(K1);const lpe=spe;var upe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments),this.legendVisualProvider=new df(St(this.getData,this),St(this.getRawData,this))},e.prototype.getInitialData=function(t,i){return bu(this,{generateCoord:"indicator_",generateCoordCount:1/0})},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=this.coordinateSystem,s=o.getIndicatorAxes(),l=this.getData().getName(t),u=l===""?this.name:l,c=nK(this,t);return xn("section",{header:u,sortBlocks:!0,blocks:j2(s,function(d){var h=a.get(a.mapDimension(d.dim),t);return xn("nameValue",{markerType:"subItem",markerColor:c,name:d.name,value:h,sortParam:h})})})},e.prototype.getTooltipPosition=function(t){if(t!=null){for(var i=this.getData(),r=this.coordinateSystem,a=i.getValues(j2(r.dimensions,function(u){return i.mapDimension(u)}),t),o=0,s=a.length;o<s;o++)if(!isNaN(a[o])){var l=r.getIndicatorAxes();return r.coordToPoint(l[o].dataToCoord(a[o]),o)}}},e.type="series.radar",e.dependencies=["radar"],e.defaultOption={z:2,colorBy:"data",coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid",join:"round"},label:{position:"top"},symbolSize:8},e}(m0);const cpe=upe;var yc=nJ.value;function hm(n,e){return Vt({show:e},n)}var dpe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){var t=this.get("boundaryGap"),i=this.get("splitNumber"),r=this.get("scale"),a=this.get("axisLine"),o=this.get("axisTick"),s=this.get("axisLabel"),l=this.get("axisName"),u=this.get(["axisName","show"]),c=this.get(["axisName","formatter"]),d=this.get("axisNameGap"),h=this.get("triggerEvent"),f=j2(this.get("indicator")||[],function(p){p.max!=null&&p.max>0&&!p.min?p.min=0:p.min!=null&&p.min<0&&!p.max&&(p.max=0);var g=l;p.color!=null&&(g=Vt({color:p.color},l));var m=l3($t(p),{boundaryGap:t,splitNumber:i,scale:r,axisLine:a,axisTick:o,axisLabel:s,name:p.text,showName:u,nameLocation:"end",nameGap:d,nameTextStyle:g,triggerEvent:h},!1);if(_t(c)){var v=m.name;m.name=c.replace("{value}",v!=null?v:"")}else Gt(c)&&(m.name=c(m.name,m));var _=new X1(m,null,this.ecModel);return en(_,af.prototype),_.mainType="radar",_.componentIndex=this.componentIndex,_},this);this._indicatorModels=f},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type="radar",e.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:l3({lineStyle:{color:"#bbb"}},yc.axisLine),axisLabel:hm(yc.axisLabel,!1),axisTick:hm(yc.axisTick,!1),splitLine:hm(yc.splitLine,!0),splitArea:hm(yc.splitArea,!0),indicator:[]},e}(j3);const hpe=dpe;var fpe=["axisLine","axisTickLabel","axisName"],ppe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=this.group;a.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var i=t.coordinateSystem,r=i.getIndicatorAxes(),a=j2(r,function(o){var s=o.model.get("showName")?o.name:"",l=new u6(o.model,{axisName:s,position:[i.cx,i.cy],rotation:o.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return l});ne(a,function(o){ne(fpe,o.add,o),this.group.add(o.getGroup())},this)},e.prototype._buildSplitLineAndArea=function(t){var i=t.coordinateSystem,r=i.getIndicatorAxes();if(!r.length)return;var a=t.get("shape"),o=t.getModel("splitLine"),s=t.getModel("splitArea"),l=o.getModel("lineStyle"),u=s.getModel("areaStyle"),c=o.get("show"),d=s.get("show"),h=l.get("color"),f=u.get("color"),p=H2(h)?h:[h],g=H2(f)?f:[f],m=[],v=[];function _(W,q,ce){var J=ce%q.length;return W[J]=W[J]||[],J}if(a==="circle")for(var S=r[0].getTicksCoords(),x=i.cx,A=i.cy,C=0;C<S.length;C++){if(c){var M=_(m,p,C);m[M].push(new n9({shape:{cx:x,cy:A,r:S[C].coord}}))}if(d&&C<S.length-1){var M=_(v,g,C);v[M].push(new P_({shape:{cx:x,cy:A,r0:S[C].coord,r:S[C+1].coord}}))}}else for(var I,D=j2(r,function(W,q){var ce=W.getTicksCoords();return I=I==null?ce.length-1:Math.min(ce.length-1,I),j2(ce,function(J){return i.coordToPoint(J.coord,q)})}),E=[],C=0;C<=I;C++){for(var L=[],V=0;V<r.length;V++)L.push(D[V][C]);if(L[0]&&L.push(L[0].slice()),c){var M=_(m,p,C);m[M].push(new Sr({shape:{points:L}}))}if(d&&E){var M=_(v,g,C-1);v[M].push(new gr({shape:{points:L.concat(E)}}))}E=L.slice().reverse()}var Y=l.getLineStyle(),G=u.getAreaStyle();ne(v,function(W,q){this.group.add(Aa(W,{style:Vt({stroke:"none",fill:g[q%g.length]},G),silent:!0}))},this),ne(m,function(W,q){this.group.add(Aa(W,{style:Vt({fill:"none",stroke:p[q%p.length]},Y),silent:!0}))},this)},e.type="radar",e}(T0);const mpe=ppe;var gpe=function(n){g2(e,n);function e(t,i,r){var a=n.call(this,t,i,r)||this;return a.type="value",a.angle=0,a.name="",a}return e}(So);const vpe=gpe;var ype=function(){function n(e,t,i){this.dimensions=[],this._model=e,this._indicatorAxes=j2(e.getIndicatorModels(),function(r,a){var o="indicator_"+a,s=new vpe(o,new q5);return s.name=r.get("name"),s.model=r,r.axis=s,this.dimensions.push(o),s},this),this.resize(e,i)}return n.prototype.getIndicatorAxes=function(){return this._indicatorAxes},n.prototype.dataToPoint=function(e,t){var i=this._indicatorAxes[t];return this.coordToPoint(i.dataToCoord(e),t)},n.prototype.coordToPoint=function(e,t){var i=this._indicatorAxes[t],r=i.angle,a=this.cx+e*Math.cos(r),o=this.cy-e*Math.sin(r);return[a,o]},n.prototype.pointToData=function(e){var t=e[0]-this.cx,i=e[1]-this.cy,r=Math.sqrt(t*t+i*i);t/=r,i/=r;for(var a=Math.atan2(-i,t),o=1/0,s,l=-1,u=0;u<this._indicatorAxes.length;u++){var c=this._indicatorAxes[u],d=Math.abs(a-c.angle);d<o&&(s=c,l=u,o=d)}return[l,+(s&&s.coordToData(r))]},n.prototype.resize=function(e,t){var i=e.get("center"),r=t.getWidth(),a=t.getHeight(),o=Math.min(r,a)/2;this.cx=ft(i[0],r),this.cy=ft(i[1],a),this.startAngle=e.get("startAngle")*Math.PI/180;var s=e.get("radius");(_t(s)||q3(s))&&(s=[0,s]),this.r0=ft(s[0],o),this.r=ft(s[1],o),ne(this._indicatorAxes,function(l,u){l.setExtent(this.r0,this.r);var c=this.startAngle+u*Math.PI*2/this._indicatorAxes.length;c=Math.atan2(Math.sin(c),Math.cos(c)),l.angle=c},this)},n.prototype.update=function(e,t){var i=this._indicatorAxes,r=this._model;ne(i,function(s){s.scale.setExtent(1/0,-1/0)}),e.eachSeriesByType("radar",function(s,l){if(!(s.get("coordinateSystem")!=="radar"||e.getComponent("radar",s.get("radarIndex"))!==r)){var u=s.getData();ne(i,function(c){c.scale.unionExtentFromData(u,u.mapDimension(c.dim))})}},this);var a=r.get("splitNumber"),o=new q5;o.setExtent(0,a),o.setInterval(1),ne(i,function(s,l){iJ(s.scale,s.model,o)})},n.prototype.convertToPixel=function(e,t,i){return console.warn("Not implemented."),null},n.prototype.convertFromPixel=function(e,t,i){return console.warn("Not implemented."),null},n.prototype.containPoint=function(e){return console.warn("Not implemented."),!1},n.create=function(e,t){var i=[];return e.eachComponent("radar",function(r){var a=new n(r,e,t);i.push(a),r.coordinateSystem=a}),e.eachSeriesByType("radar",function(r){r.get("coordinateSystem")==="radar"&&(r.coordinateSystem=i[r.get("radarIndex")||0])}),i},n.dimensions=[],n}();const _pe=ype;function Spe(n){n.registerCoordinateSystem("radar",_pe),n.registerComponentModel(hpe),n.registerComponentView(mpe),n.registerVisual({seriesType:"radar",reset:function(e){var t=e.getData();t.each(function(i){t.setItemVisual(i,"legendIcon","roundRect")}),t.setVisual("legendIcon","roundRect")}})}function bpe(n){T3(Spe),n.registerChartView(lpe),n.registerSeriesModel(cpe),n.registerLayout(ape),n.registerProcessor(cf("radar")),n.registerPreprocessor(ope)}var OB="\0_ec_interaction_mutex";function xpe(n,e,t){var i=cR(n);i[e]=t}function wpe(n,e,t){var i=cR(n),r=i[e];r===t&&(i[e]=null)}function BB(n,e){return!!cR(n)[e]}function cR(n){return n[OB]||(n[OB]={})}ps({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},U0);var Tpe=function(n){g2(e,n);function e(t){var i=n.call(this)||this;i._zr=t;var r=St(i._mousedownHandler,i),a=St(i._mousemoveHandler,i),o=St(i._mouseupHandler,i),s=St(i._mousewheelHandler,i),l=St(i._pinchHandler,i);return i.enable=function(u,c){this.disable(),this._opt=Vt($t(c)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),u==null&&(u=!0),(u===!0||u==="move"||u==="pan")&&(t.on("mousedown",r),t.on("mousemove",a),t.on("mouseup",o)),(u===!0||u==="scale"||u==="zoom")&&(t.on("mousewheel",s),t.on("pinch",l))},i.disable=function(){t.off("mousedown",r),t.off("mousemove",a),t.off("mouseup",o),t.off("mousewheel",s),t.off("pinch",l)},i}return e.prototype.isDragging=function(){return this._dragging},e.prototype.isPinching=function(){return this._pinching},e.prototype.setPointerChecker=function(t){this.pointerChecker=t},e.prototype.dispose=function(){this.disable()},e.prototype._mousedownHandler=function(t){if(!ck(t)){for(var i=t.target;i;){if(i.draggable)return;i=i.__hostTarget||i.parent}var r=t.offsetX,a=t.offsetY;this.pointerChecker&&this.pointerChecker(t,r,a)&&(this._x=r,this._y=a,this._dragging=!0)}},e.prototype._mousemoveHandler=function(t){if(!(!this._dragging||!iv("moveOnMouseMove",t,this._opt)||t.gestureEvent==="pinch"||BB(this._zr,"globalPan"))){var i=t.offsetX,r=t.offsetY,a=this._x,o=this._y,s=i-a,l=r-o;this._x=i,this._y=r,this._opt.preventDefaultMouseMove&&r6(t.event),cJ(this,"pan","moveOnMouseMove",t,{dx:s,dy:l,oldX:a,oldY:o,newX:i,newY:r,isAvailableBehavior:null})}},e.prototype._mouseupHandler=function(t){ck(t)||(this._dragging=!1)},e.prototype._mousewheelHandler=function(t){var i=iv("zoomOnMouseWheel",t,this._opt),r=iv("moveOnMouseWheel",t,this._opt),a=t.wheelDelta,o=Math.abs(a),s=t.offsetX,l=t.offsetY;if(!(a===0||!i&&!r)){if(i){var u=o>3?1.4:o>1?1.2:1.1,c=a>0?u:1/u;Tw(this,"zoom","zoomOnMouseWheel",t,{scale:c,originX:s,originY:l,isAvailableBehavior:null})}if(r){var d=Math.abs(a),h=(a>0?1:-1)*(d>3?.4:d>1?.15:.05);Tw(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:h,originX:s,originY:l,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){if(!BB(this._zr,"globalPan")){var i=t.pinchScale>1?1.1:1/1.1;Tw(this,"zoom",null,t,{scale:i,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})}},e}(Ua);function Tw(n,e,t,i,r){n.pointerChecker&&n.pointerChecker(i,r.originX,r.originY)&&(r6(i.event),cJ(n,e,t,i,r))}function cJ(n,e,t,i,r){r.isAvailableBehavior=St(iv,null,t,i),n.trigger(e,r)}function iv(n,e,t){var i=t[n];return!n||i&&(!_t(i)||e.event[i+"Key"])}const hf=Tpe;function dR(n,e,t){var i=n.target;i.x+=e,i.y+=t,i.dirty()}function hR(n,e,t,i){var r=n.target,a=n.zoomLimit,o=n.zoom=n.zoom||1;if(o*=e,a){var s=a.min||0,l=a.max||1/0;o=Math.max(Math.min(l,o),s)}var u=o/n.zoom;n.zoom=o,r.x-=(t-r.x)*(u-1),r.y-=(i-r.y)*(u-1),r.scaleX*=u,r.scaleY*=u,r.dirty()}var Ape={axisPointer:1,tooltip:1,brush:1};function Z_(n,e,t){var i=e.getComponentByElement(n.topTarget),r=i&&i.coordinateSystem;return i&&i!==t&&!Ape.hasOwnProperty(i.mainType)&&r&&r.model!==t}function dJ(n){if(_t(n)){var e=new DOMParser;n=e.parseFromString(n,"text/xml")}var t=n;for(t.nodeType===9&&(t=t.firstChild);t.nodeName.toLowerCase()!=="svg"||t.nodeType!==1;)t=t.nextSibling;return t}var Aw,cy={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},zB=E3(cy),dy={"alignment-baseline":"textBaseline","stop-color":"stopColor"},UB=E3(dy),Cpe=function(){function n(){this._defs={},this._root=null}return n.prototype.parse=function(e,t){t=t||{};var i=dJ(e);this._defsUsePending=[];var r=new qt;this._root=r;var a=[],o=i.getAttribute("viewBox")||"",s=parseFloat(i.getAttribute("width")||t.width),l=parseFloat(i.getAttribute("height")||t.height);isNaN(s)&&(s=null),isNaN(l)&&(l=null),Pr(i,r,null,!0,!1);for(var u=i.firstChild;u;)this._parseNode(u,r,a,null,!1,!1),u=u.nextSibling;Ppe(this._defs,this._defsUsePending),this._defsUsePending=[];var c,d;if(o){var h=J_(o);h.length>=4&&(c={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(c&&s!=null&&l!=null&&(d=fJ(c,{x:0,y:0,width:s,height:l}),!t.ignoreViewBox)){var f=r;r=new qt,r.add(f),f.scaleX=f.scaleY=d.scale,f.x=d.x,f.y=d.y}return!t.ignoreRootClip&&s!=null&&l!=null&&r.setClipPath(new V3({shape:{x:0,y:0,width:s,height:l}})),{root:r,width:s,height:l,viewBoxRect:c,viewBoxTransform:d,named:a}},n.prototype._parseNode=function(e,t,i,r,a,o){var s=e.nodeName.toLowerCase(),l,u=r;if(s==="defs"&&(a=!0),s==="text"&&(o=!0),s==="defs"||s==="switch")l=t;else{if(!a){var c=Aw[s];if(c&&xt(Aw,s)){l=c.call(this,e,t);var d=e.getAttribute("name");if(d){var h={name:d,namedFrom:null,svgNodeTagLower:s,el:l};i.push(h),s==="g"&&(u=h)}else r&&i.push({name:r.name,namedFrom:r,svgNodeTagLower:s,el:l});t.add(l)}}var f=GB[s];if(f&&xt(GB,s)){var p=f.call(this,e),g=e.getAttribute("id");g&&(this._defs[g]=p)}}if(l&&l.isGroup)for(var m=e.firstChild;m;)m.nodeType===1?this._parseNode(m,l,i,u,a,o):m.nodeType===3&&o&&this._parseText(m,l),m=m.nextSibling},n.prototype._parseText=function(e,t){var i=new rh({style:{text:e.textContent},silent:!0,x:this._textX||0,y:this._textY||0});oa(t,i),Pr(e,i,this._defsUsePending,!1,!1),Mpe(i,t);var r=i.style,a=r.fontSize;a&&a<9&&(r.fontSize=9,i.scaleX*=a/9,i.scaleY*=a/9);var o=(r.fontSize||r.fontFamily)&&[r.fontStyle,r.fontWeight,(r.fontSize||12)+"px",r.fontFamily||"sans-serif"].join(" ");r.font=o;var s=i.getBoundingRect();return this._textX+=s.width,t.add(i),i},n.internalField=function(){Aw={g:function(e,t){var i=new qt;return oa(t,i),Pr(e,i,this._defsUsePending,!1,!1),i},rect:function(e,t){var i=new V3;return oa(t,i),Pr(e,i,this._defsUsePending,!1,!1),i.setShape({x:parseFloat(e.getAttribute("x")||"0"),y:parseFloat(e.getAttribute("y")||"0"),width:parseFloat(e.getAttribute("width")||"0"),height:parseFloat(e.getAttribute("height")||"0")}),i.silent=!0,i},circle:function(e,t){var i=new n9;return oa(t,i),Pr(e,i,this._defsUsePending,!1,!1),i.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),r:parseFloat(e.getAttribute("r")||"0")}),i.silent=!0,i},line:function(e,t){var i=new Fn;return oa(t,i),Pr(e,i,this._defsUsePending,!1,!1),i.setShape({x1:parseFloat(e.getAttribute("x1")||"0"),y1:parseFloat(e.getAttribute("y1")||"0"),x2:parseFloat(e.getAttribute("x2")||"0"),y2:parseFloat(e.getAttribute("y2")||"0")}),i.silent=!0,i},ellipse:function(e,t){var i=new bP;return oa(t,i),Pr(e,i,this._defsUsePending,!1,!1),i.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),rx:parseFloat(e.getAttribute("rx")||"0"),ry:parseFloat(e.getAttribute("ry")||"0")}),i.silent=!0,i},polygon:function(e,t){var i=e.getAttribute("points"),r;i&&(r=WB(i));var a=new gr({shape:{points:r||[]},silent:!0});return oa(t,a),Pr(e,a,this._defsUsePending,!1,!1),a},polyline:function(e,t){var i=e.getAttribute("points"),r;i&&(r=WB(i));var a=new Sr({shape:{points:r||[]},silent:!0});return oa(t,a),Pr(e,a,this._defsUsePending,!1,!1),a},image:function(e,t){var i=new ti;return oa(t,i),Pr(e,i,this._defsUsePending,!1,!1),i.setStyle({image:e.getAttribute("xlink:href")||e.getAttribute("href"),x:+e.getAttribute("x"),y:+e.getAttribute("y"),width:+e.getAttribute("width"),height:+e.getAttribute("height")}),i.silent=!0,i},text:function(e,t){var i=e.getAttribute("x")||"0",r=e.getAttribute("y")||"0",a=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0";this._textX=parseFloat(i)+parseFloat(a),this._textY=parseFloat(r)+parseFloat(o);var s=new qt;return oa(t,s),Pr(e,s,this._defsUsePending,!1,!0),s},tspan:function(e,t){var i=e.getAttribute("x"),r=e.getAttribute("y");i!=null&&(this._textX=parseFloat(i)),r!=null&&(this._textY=parseFloat(r));var a=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0",s=new qt;return oa(t,s),Pr(e,s,this._defsUsePending,!1,!0),this._textX+=parseFloat(a),this._textY+=parseFloat(o),s},path:function(e,t){var i=e.getAttribute("d")||"",r=zq(i);return oa(t,r),Pr(e,r,this._defsUsePending,!1,!1),r.silent=!0,r}}}(),n}(),GB={lineargradient:function(n){var e=parseInt(n.getAttribute("x1")||"0",10),t=parseInt(n.getAttribute("y1")||"0",10),i=parseInt(n.getAttribute("x2")||"10",10),r=parseInt(n.getAttribute("y2")||"0",10),a=new gn(e,t,i,r);return VB(n,a),HB(n,a),a},radialgradient:function(n){var e=parseInt(n.getAttribute("cx")||"0",10),t=parseInt(n.getAttribute("cy")||"0",10),i=parseInt(n.getAttribute("r")||"0",10),r=new Jq(e,t,i);return VB(n,r),HB(n,r),r}};function VB(n,e){var t=n.getAttribute("gradientUnits");t==="userSpaceOnUse"&&(e.global=!0)}function HB(n,e){for(var t=n.firstChild;t;){if(t.nodeType===1&&t.nodeName.toLocaleLowerCase()==="stop"){var i=t.getAttribute("offset"),r=void 0;i&&i.indexOf("%")>0?r=parseInt(i,10)/100:i?r=parseFloat(i):r=0;var a={};hJ(t,a,a);var o=a.stopColor||t.getAttribute("stop-color")||"#000000";e.colorStops.push({offset:r,color:o})}t=t.nextSibling}}function oa(n,e){n&&n.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),Vt(e.__inheritedStyle,n.__inheritedStyle))}function WB(n){for(var e=J_(n),t=[],i=0;i<e.length;i+=2){var r=parseFloat(e[i]),a=parseFloat(e[i+1]);t.push([r,a])}return t}function Pr(n,e,t,i,r){var a=e,o=a.__inheritedStyle=a.__inheritedStyle||{},s={};n.nodeType===1&&(Ipe(n,e),hJ(n,o,s),i||Dpe(n,o,s)),a.style=a.style||{},o.fill!=null&&(a.style.fill=jB(a,"fill",o.fill,t)),o.stroke!=null&&(a.style.stroke=jB(a,"stroke",o.stroke,t)),ne(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(l){o[l]!=null&&(a.style[l]=parseFloat(o[l]))}),ne(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign"],function(l){o[l]!=null&&(a.style[l]=o[l])}),r&&(a.__selfStyle=s),o.lineDash&&(a.style.lineDash=j2(J_(o.lineDash),function(l){return parseFloat(l)})),(o.visibility==="hidden"||o.visibility==="collapse")&&(a.invisible=!0),o.display==="none"&&(a.ignore=!0)}function Mpe(n,e){var t=e.__selfStyle;if(t){var i=t.textBaseline,r=i;!i||i==="auto"||i==="baseline"?r="alphabetic":i==="before-edge"||i==="text-before-edge"?r="top":i==="after-edge"||i==="text-after-edge"?r="bottom":(i==="central"||i==="mathematical")&&(r="middle"),n.style.textBaseline=r}var a=e.__inheritedStyle;if(a){var o=a.textAlign,s=o;o&&(o==="middle"&&(s="center"),n.style.textAlign=s)}}var Epe=/^url\(\s*#(.*?)\)/;function jB(n,e,t,i){var r=t&&t.match(Epe);if(r){var a=lo(r[1]);i.push([n,e,a]);return}return t==="none"&&(t=null),t}function Ppe(n,e){for(var t=0;t<e.length;t++){var i=e[t];i[0].style[i[1]]=n[i[2]]}}var Rpe=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function J_(n){return n.match(Rpe)||[]}var Lpe=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.eE,]*)\)/g,Cw=Math.PI/180;function Ipe(n,e){var t=n.getAttribute("transform");if(t){t=t.replace(/,/g," ");var i=[],r=null;t.replace(Lpe,function(d,h,f){return i.push(h,f),""});for(var a=i.length-1;a>0;a-=2){var o=i[a],s=i[a-1],l=J_(o);switch(r=r||Gr(),s){case"translate":ls(r,r,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":rP(r,r,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":_l(r,r,-parseFloat(l[0])*Cw,[parseFloat(l[1]||"0"),parseFloat(l[2]||"0")]);break;case"skewX":var u=Math.tan(parseFloat(l[0])*Cw);Js(r,[1,0,u,1,0,0],r);break;case"skewY":var c=Math.tan(parseFloat(l[0])*Cw);Js(r,[1,c,0,1,0,0],r);break;case"matrix":r[0]=parseFloat(l[0]),r[1]=parseFloat(l[1]),r[2]=parseFloat(l[2]),r[3]=parseFloat(l[3]),r[4]=parseFloat(l[4]),r[5]=parseFloat(l[5]);break}}e.setLocalTransform(r)}}var $B=/([^\s:;]+)\s*:\s*([^:;]+)/g;function hJ(n,e,t){var i=n.getAttribute("style");if(i){$B.lastIndex=0;for(var r;(r=$B.exec(i))!=null;){var a=r[1],o=xt(cy,a)?cy[a]:null;o&&(e[o]=r[2]);var s=xt(dy,a)?dy[a]:null;s&&(t[s]=r[2])}}}function Dpe(n,e,t){for(var i=0;i<zB.length;i++){var r=zB[i],a=n.getAttribute(r);a!=null&&(e[cy[r]]=a)}for(var i=0;i<UB.length;i++){var r=UB[i],a=n.getAttribute(r);a!=null&&(t[dy[r]]=a)}}function fJ(n,e){var t=e.width/n.width,i=e.height/n.height,r=Math.min(t,i);return{scale:r,x:-(n.x+n.width/2)*r+(e.x+e.width/2),y:-(n.y+n.height/2)*r+(e.y+e.height/2)}}function Npe(n,e){var t=new Cpe;return t.parse(n,e)}var kpe=Ct(["rect","circle","line","ellipse","polygon","polyline","path","text","tspan","g"]),Fpe=function(){function n(e,t){this.type="geoSVG",this._usedGraphicMap=Ct(),this._freedGraphics=[],this._mapName=e,this._parsedXML=dJ(t)}return n.prototype.load=function(){var e=this._firstGraphic;if(!e){e=this._firstGraphic=this._buildGraphic(this._parsedXML),this._freedGraphics.push(e),this._boundingRect=this._firstGraphic.boundingRect.clone();var t=Bpe(e.named),i=t.regions,r=t.regionsMap;this._regions=i,this._regionsMap=r}return{boundingRect:this._boundingRect,regions:this._regions,regionsMap:this._regionsMap}},n.prototype._buildGraphic=function(e){var t,i;try{t=e&&Npe(e,{ignoreViewBox:!0,ignoreRootClip:!0})||{},i=t.root,Bi(i!=null)}catch(m){throw new Error(`Invalid svg format |
|
|
`+m.message)}var r=new qt;r.add(i),r.isGeoSVGGraphicRoot=!0;var a=t.width,o=t.height,s=t.viewBoxRect,l=this._boundingRect;if(!l){var u=void 0,c=void 0,d=void 0,h=void 0;if(a!=null?(u=0,d=a):s&&(u=s.x,d=s.width),o!=null?(c=0,h=o):s&&(c=s.y,h=s.height),u==null||c==null){var f=i.getBoundingRect();u==null&&(u=f.x,d=f.width),c==null&&(c=f.y,h=f.height)}l=this._boundingRect=new h3(u,c,d,h)}if(s){var p=fJ(s,l);i.scaleX=i.scaleY=p.scale,i.x=p.x,i.y=p.y}r.setClipPath(new V3({shape:l.plain()}));var g=[];return ne(t.named,function(m){kpe.get(m.svgNodeTagLower)!=null&&(g.push(m),Ope(m.el))}),{root:r,boundingRect:l,named:g}},n.prototype.useGraphic=function(e){var t=this._usedGraphicMap,i=t.get(e);return i||(i=this._freedGraphics.pop()||this._buildGraphic(this._parsedXML),t.set(e,i),i)},n.prototype.freeGraphic=function(e){var t=this._usedGraphicMap,i=t.get(e);i&&(t.removeKey(e),this._freedGraphics.push(i))},n}();function Ope(n){n.silent=!1,n.isGroup&&n.traverse(function(e){e.silent=!1})}function Bpe(n){var e=[],t=Ct();return ne(n,function(i){if(i.namedFrom==null){var r=new tde(i.name,i.el);e.push(r),t.set(i.name,r)}}),{regions:e,regionsMap:t}}var sM=[126,25],YB="南海诸岛",s8=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]];for(var K9=0;K9<s8.length;K9++)for(var a4=0;a4<s8[K9].length;a4++)s8[K9][a4][0]/=10.5,s8[K9][a4][1]/=-10.5/.75,s8[K9][a4][0]+=sM[0],s8[K9][a4][1]+=sM[1];function zpe(n,e){if(n==="china"){for(var t=0;t<e.length;t++)if(e[t].name===YB)return;e.push(new lZ(YB,j2(s8,function(i){return{type:"polygon",exterior:i}}),sM))}}var Upe={南海诸岛:[32,80],广东:[0,-10],香港:[10,5],澳门:[-10,10],天津:[5,5]};function Gpe(n,e){if(n==="china"){var t=Upe[e.name];if(t){var i=e.getCenter();i[0]+=t[0]/10.5,i[1]+=-t[1]/(10.5/.75),e.setCenter(i)}}}var Vpe=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]];function Hpe(n,e){n==="china"&&e.name==="台湾"&&e.geometries.push({type:"polygon",exterior:Vpe[0]})}var Wpe="name",jpe=function(){function n(e,t,i){this.type="geoJSON",this._parsedMap=Ct(),this._mapName=e,this._specialAreas=i,this._geoJSON=Ype(t)}return n.prototype.load=function(e,t){t=t||Wpe;var i=this._parsedMap.get(t);if(!i){var r=this._parseToRegions(t);i=this._parsedMap.set(t,{regions:r,boundingRect:$pe(r)})}var a=Ct(),o=[];return ne(i.regions,function(s){var l=s.name;e&&xt(e,l)&&(s=s.cloneShallow(l=e[l])),o.push(s),a.set(l,s)}),{regions:o,boundingRect:i.boundingRect||new h3(0,0,0,0),regionsMap:a}},n.prototype._parseToRegions=function(e){var t=this._mapName,i=this._geoJSON,r;try{r=i?ide(i,e):[]}catch(a){throw new Error(`Invalid geoJson format |
|
|
`+a.message)}return zpe(t,r),ne(r,function(a){var o=a.name;Gpe(t,a),Hpe(t,a);var s=this._specialAreas&&this._specialAreas[o];s&&a.transformTo(s.left,s.top,s.width,s.height)},this),r},n.prototype.getMapForUser=function(){return{geoJson:this._geoJSON,geoJSON:this._geoJSON,specialAreas:this._specialAreas}},n}();function $pe(n){for(var e,t=0;t<n.length;t++){var i=n[t].getBoundingRect();e=e||i.clone(),e.union(i)}return e}function Ype(n){return _t(n)?typeof JSON!="undefined"&&JSON.parse?JSON.parse(n):new Function("return ("+n+");")():n}var _c=Ct();const c6={registerMap:function(n,e,t){if(e.svg){var i=new Fpe(n,e.svg);_c.set(n,i)}else{var r=e.geoJson||e.geoJSON;r&&!e.features?t=e.specialAreas:r=e;var i=new jpe(n,r,t);_c.set(n,i)}},getGeoResource:function(n){return _c.get(n)},getMapForUser:function(n){var e=_c.get(n);return e&&e.type==="geoJSON"&&e.getMapForUser()},load:function(n,e,t){var i=_c.get(n);if(i)return i.load(e,t)}};var fR=["rect","circle","line","ellipse","polygon","polyline","path"],qpe=Ct(fR),Xpe=Ct(fR.concat(["g"])),Kpe=Ct(fR.concat(["g"])),pJ=B3();function fm(n){var e=n.getItemStyle(),t=n.get("areaColor");return t!=null&&(e.fill=t),e}function qB(n){var e=n.style;e&&(e.stroke=e.stroke||e.fill,e.fill=null)}var Zpe=function(){function n(e){var t=new qt;this.uid=hu("ec_map_draw"),this._controller=new hf(e.getZr()),this._controllerHost={target:t},this.group=t,t.add(this._regionsGroup=new qt),t.add(this._svgGroup=new qt)}return n.prototype.draw=function(e,t,i,r,a){var o=e.mainType==="geo",s=e.getData&&e.getData();o&&t.eachComponent({mainType:"series",subType:"map"},function(v){!s&&v.getHostGeoModel()===e&&(s=v.getData())});var l=e.coordinateSystem,u=this._regionsGroup,c=this.group,d=l.getTransformInfo(),h=d.raw,f=d.roam,p=!u.childAt(0)||a;p?(c.x=f.x,c.y=f.y,c.scaleX=f.scaleX,c.scaleY=f.scaleY,c.dirty()):Q3(c,f,e);var g=s&&s.getVisual("visualMeta")&&s.getVisual("visualMeta").length>0,m={api:i,geo:l,mapOrGeoModel:e,data:s,isVisualEncodedByVisualMap:g,isGeo:o,transformInfoRaw:h};l.resourceType==="geoJSON"?this._buildGeoJSON(m):l.resourceType==="geoSVG"&&this._buildSVG(m),this._updateController(e,t,i),this._updateMapSelectHandler(e,u,i,r)},n.prototype._buildGeoJSON=function(e){var t=this._regionsGroupByName=Ct(),i=Ct(),r=this._regionsGroup,a=e.transformInfoRaw,o=e.mapOrGeoModel,s=e.data,l=e.geo.projection,u=l&&l.stream;function c(f,p){return p&&(f=p(f)),f&&[f[0]*a.scaleX+a.x,f[1]*a.scaleY+a.y]}function d(f){for(var p=[],g=!u&&l&&l.project,m=0;m<f.length;++m){var v=c(f[m],g);v&&p.push(v)}return p}function h(f){return{shape:{points:d(f)}}}r.removeAll(),ne(e.geo.regions,function(f){var p=f.name,g=t.get(p),m=i.get(p)||{},v=m.dataIdx,_=m.regionModel;if(!g){g=t.set(p,new qt),r.add(g),v=s?s.indexOfName(p):null,_=e.isGeo?o.getRegionModel(p):s?s.getItemModel(v):null;var S=_.get("silent",!0);S!=null&&(g.silent=S),i.set(p,{dataIdx:v,regionModel:_})}var x=[],A=[];ne(f.geometries,function(I){if(I.type==="polygon"){var D=[I.exterior].concat(I.interiors||[]);u&&(D=ez(D,u)),ne(D,function(L){x.push(new gr(h(L)))})}else{var E=I.points;u&&(E=ez(E,u,!0)),ne(E,function(L){A.push(new Sr(h(L)))})}});var C=c(f.getCenter(),l&&l.project);function M(I,D){if(I.length){var E=new wP({culling:!0,segmentIgnoreThreshold:1,shape:{paths:I}});g.add(E),XB(e,E,v,_),KB(e,E,p,_,o,v,C),D&&(qB(E),ne(E.states,qB))}}M(x),M(A,!0)}),t.each(function(f,p){var g=i.get(p),m=g.dataIdx,v=g.regionModel;ZB(e,f,p,v,o,m),JB(e,f,p,v,o),QB(e,f,p,v,o)},this)},n.prototype._buildSVG=function(e){var t=e.geo.map,i=e.transformInfoRaw;this._svgGroup.x=i.x,this._svgGroup.y=i.y,this._svgGroup.scaleX=i.scaleX,this._svgGroup.scaleY=i.scaleY,this._svgResourceChanged(t)&&(this._freeSVG(),this._useSVG(t));var r=this._svgDispatcherMap=Ct(),a=!1;ne(this._svgGraphicRecord.named,function(o){var s=o.name,l=e.mapOrGeoModel,u=e.data,c=o.svgNodeTagLower,d=o.el,h=u?u.indexOfName(s):null,f=l.getRegionModel(s);qpe.get(c)!=null&&d instanceof Ba&&XB(e,d,h,f),d instanceof Ba&&(d.culling=!0);var p=f.get("silent",!0);if(p!=null&&(d.silent=p),d.z2EmphasisLift=0,!o.namedFrom&&(Kpe.get(c)!=null&&KB(e,d,s,f,l,h,null),ZB(e,d,s,f,l,h),JB(e,d,s,f,l),Xpe.get(c)!=null)){var g=QB(e,d,s,f,l);g==="self"&&(a=!0);var m=r.get(s)||r.set(s,[]);m.push(d)}},this),this._enableBlurEntireSVG(a,e)},n.prototype._enableBlurEntireSVG=function(e,t){if(e&&t.isGeo){var i=t.mapOrGeoModel.getModel(["blur","itemStyle"]).getItemStyle(),r=i.opacity;this._svgGraphicRecord.root.traverse(function(a){if(!a.isGroup){al(a);var o=a.ensureState("blur").style||{};o.opacity==null&&r!=null&&(o.opacity=r),a.ensureState("emphasis")}})}},n.prototype.remove=function(){this._regionsGroup.removeAll(),this._regionsGroupByName=null,this._svgGroup.removeAll(),this._freeSVG(),this._controller.dispose(),this._controllerHost=null},n.prototype.findHighDownDispatchers=function(e,t){if(e==null)return[];var i=t.coordinateSystem;if(i.resourceType==="geoJSON"){var r=this._regionsGroupByName;if(r){var a=r.get(e);return a?[a]:[]}}else if(i.resourceType==="geoSVG")return this._svgDispatcherMap&&this._svgDispatcherMap.get(e)||[]},n.prototype._svgResourceChanged=function(e){return this._svgMapName!==e},n.prototype._useSVG=function(e){var t=c6.getGeoResource(e);if(t&&t.type==="geoSVG"){var i=t.useGraphic(this.uid);this._svgGroup.add(i.root),this._svgGraphicRecord=i,this._svgMapName=e}},n.prototype._freeSVG=function(){var e=this._svgMapName;if(e!=null){var t=c6.getGeoResource(e);t&&t.type==="geoSVG"&&t.freeGraphic(this.uid),this._svgGraphicRecord=null,this._svgDispatcherMap=null,this._svgGroup.removeAll(),this._svgMapName=null}},n.prototype._updateController=function(e,t,i){var r=e.coordinateSystem,a=this._controller,o=this._controllerHost;o.zoomLimit=e.get("scaleLimit"),o.zoom=r.getZoom(),a.enable(e.get("roam")||!1);var s=e.mainType;function l(){var u={type:"geoRoam",componentType:s};return u[s+"Id"]=e.id,u}a.off("pan").on("pan",function(u){this._mouseDownFlag=!1,dR(o,u.dx,u.dy),i.dispatchAction(L2(l(),{dx:u.dx,dy:u.dy,animation:{duration:0}}))},this),a.off("zoom").on("zoom",function(u){this._mouseDownFlag=!1,hR(o,u.scale,u.originX,u.originY),i.dispatchAction(L2(l(),{totalZoom:o.zoom,zoom:u.scale,originX:u.originX,originY:u.originY,animation:{duration:0}}))},this),a.setPointerChecker(function(u,c,d){return r.containPoint([c,d])&&!Z_(u,i,e)})},n.prototype.resetForLabelLayout=function(){this.group.traverse(function(e){var t=e.getTextContent();t&&(t.ignore=pJ(t).ignore)})},n.prototype._updateMapSelectHandler=function(e,t,i,r){var a=this;t.off("mousedown"),t.off("click"),e.get("selectedMode")&&(t.on("mousedown",function(){a._mouseDownFlag=!0}),t.on("click",function(o){a._mouseDownFlag&&(a._mouseDownFlag=!1)}))},n}();function XB(n,e,t,i){var r=i.getModel("itemStyle"),a=i.getModel(["emphasis","itemStyle"]),o=i.getModel(["blur","itemStyle"]),s=i.getModel(["select","itemStyle"]),l=fm(r),u=fm(a),c=fm(s),d=fm(o),h=n.data;if(h){var f=h.getItemVisual(t,"style"),p=h.getItemVisual(t,"decal");n.isVisualEncodedByVisualMap&&f.fill&&(l.fill=f.fill),p&&(l.decal=k7(p,n.api))}e.setStyle(l),e.style.strokeNoScale=!0,e.ensureState("emphasis").style=u,e.ensureState("select").style=c,e.ensureState("blur").style=d,al(e)}function KB(n,e,t,i,r,a,o){var s=n.data,l=n.isGeo,u=s&&isNaN(s.get(s.mapDimension("value"),a)),c=s&&s.getItemLayout(a);if(l||u||c&&c.showLabel){var d=l?t:a,h=void 0;(!s||a>=0)&&(h=r);var f=o?{normal:{align:"center",verticalAlign:"middle"}}:null;Qn(e,bn(i),{labelFetcher:h,labelDataIndex:d,defaultText:t},f);var p=e.getTextContent();if(p&&(pJ(p).ignore=p.ignore,e.textConfig&&o)){var g=e.getBoundingRect().clone();e.textConfig.layoutRect=g,e.textConfig.position=[(o[0]-g.x)/g.width*100+"%",(o[1]-g.y)/g.height*100+"%"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function ZB(n,e,t,i,r,a){n.data?n.data.setItemGraphicEl(a,e):Xt(e).eventData={componentType:"geo",componentIndex:r.componentIndex,geoIndex:r.componentIndex,name:t,region:i&&i.option||{}}}function JB(n,e,t,i,r){n.data||Sl({el:e,componentModel:r,itemName:t,itemTooltipOption:i.get("tooltip")})}function QB(n,e,t,i,r){e.highDownSilentOnTouch=!!r.get("selectedMode");var a=i.getModel("emphasis"),o=a.get("focus");return b0(e,o,a.get("blurScope"),a.get("disabled")),n.isGeo&&Z8e(e,r,t),o}function ez(n,e,t){var i=[],r;function a(){r=[]}function o(){r.length&&(i.push(r),r=[])}var s=e({polygonStart:a,polygonEnd:o,lineStart:a,lineEnd:o,point:function(l,u){isFinite(l)&&isFinite(u)&&r.push([l,u])},sphere:function(){}});return!t&&s.polygonStart(),ne(n,function(l){s.lineStart();for(var u=0;u<l.length;u++)s.point(l[u][0],l[u][1]);s.lineEnd()}),!t&&s.polygonEnd(),i}const mJ=Zpe;var Jpe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){if(!(a&&a.type==="mapToggleSelect"&&a.from===this.uid)){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(this._mapDraw&&a&&a.type==="geoRoam"&&this._mapDraw.resetForLabelLayout(),a&&a.type==="geoRoam"&&a.componentType==="series"&&a.seriesId===t.id){var s=this._mapDraw;s&&o.add(s.group)}else if(t.needsDrawMap){var s=this._mapDraw||new mJ(r);o.add(s.group),s.draw(t,i,r,this,a),this._mapDraw=s}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&i.getComponent("legend")&&this._renderSymbols(t,i,r)}}},e.prototype.remove=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},e.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},e.prototype._renderSymbols=function(t,i,r){var a=t.originalData,o=this.group;a.each(a.mapDimension("value"),function(s,l){if(!isNaN(s)){var u=a.getItemLayout(l);if(!(!u||!u.point)){var c=u.point,d=u.offset,h=new n9({style:{fill:t.getData().getVisual("style").fill},shape:{cx:c[0]+d*9,cy:c[1],r:3},silent:!0,z2:8+(d?0:uu+1)});if(!d){var f=t.mainSeries.getData(),p=a.getName(l),g=f.indexOfName(p),m=a.getItemModel(l),v=m.getModel("label"),_=f.getItemGraphicEl(g);Qn(h,bn(m),{labelFetcher:{getFormattedLabel:function(S,x){return t.getFormattedLabel(g,x)}},defaultText:p}),h.disableLabelAnimation=!0,v.get("position")||h.setTextConfig({position:"bottom"}),_.onHoverStateChange=function(S){Hv(h,S)}}o.add(h)}}})},e.type="map",e}(K1);const Qpe=Jpe;var eme=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.needsDrawMap=!1,t.seriesGroup=[],t.getTooltipPosition=function(i){if(i!=null){var r=this.getData().getName(i),a=this.coordinateSystem,o=a.getRegion(r);return o&&a.dataToPoint(o.getCenter())}},t}return e.prototype.getInitialData=function(t){for(var i=bu(this,{coordDimensions:["value"],encodeDefaulter:r3(DP,this)}),r=Ct(),a=[],o=0,s=i.count();o<s;o++){var l=i.getName(o);r.set(l,o)}var u=c6.load(this.getMapType(),this.option.nameMap,this.option.nameProperty);return ne(u.regions,function(c){var d=c.name,h=r.get(d),f=c.properties&&c.properties.echartsStyle,p;h==null?(p={name:d},a.push(p)):p=i.getRawDataItem(h),f&&l3(p,f)}),i.appendData(a),i},e.prototype.getHostGeoModel=function(){var t=this.option.geoIndex;return t!=null?this.ecModel.getComponent("geo",t):null},e.prototype.getMapType=function(){return(this.getHostGeoModel()||this).option.map},e.prototype.getRawValue=function(t){var i=this.getData();return i.get(i.mapDimension("value"),t)},e.prototype.getRegionModel=function(t){var i=this.getData();return i.getItemModel(i.indexOfName(t))},e.prototype.formatTooltip=function(t,i,r){for(var a=this.getData(),o=this.getRawValue(t),s=a.getName(t),l=this.seriesGroup,u=[],c=0;c<l.length;c++){var d=l[c].originalData.indexOfName(s),h=a.mapDimension("value");isNaN(l[c].originalData.get(h,d))||u.push(l[c].name)}return xn("section",{header:u.join(", "),noHeader:!u.length,blocks:[xn("nameValue",{name:s,value:o})]})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.getLegendIcon=function(t){var i=t.icon||"roundRect",r=J0(i,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill);return r.setStyle(t.itemStyle),r.style.stroke="none",i.indexOf("empty")>-1&&(r.style.stroke=r.style.fill,r.style.fill="#fff",r.style.lineWidth=2),r},e.type="series.map",e.dependencies=["geo"],e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},e}(m0);const tme=eme;function nme(n,e){var t={};return ne(n,function(i){i.each(i.mapDimension("value"),function(r,a){var o="ec-"+i.getName(a);t[o]=t[o]||[],isNaN(r)||t[o].push(r)})}),n[0].map(n[0].mapDimension("value"),function(i,r){for(var a="ec-"+n[0].getName(r),o=0,s=1/0,l=-1/0,u=t[a].length,c=0;c<u;c++)s=Math.min(s,t[a][c]),l=Math.max(l,t[a][c]),o+=t[a][c];var d;return e==="min"?d=s:e==="max"?d=l:e==="average"?d=o/u:d=o,u===0?NaN:d})}function ime(n){var e={};n.eachSeriesByType("map",function(t){var i=t.getHostGeoModel(),r=i?"o"+i.id:"i"+t.getMapType();(e[r]=e[r]||[]).push(t)}),ne(e,function(t,i){for(var r=nme(j2(t,function(o){return o.getData()}),t[0].get("mapValueCalculation")),a=0;a<t.length;a++)t[a].originalData=t[a].getData();for(var a=0;a<t.length;a++)t[a].seriesGroup=t,t[a].needsDrawMap=a===0&&!t[a].getHostGeoModel(),t[a].setData(r.cloneShallow()),t[a].mainSeries=t[0]})}function rme(n){var e={};n.eachSeriesByType("map",function(t){var i=t.getMapType();if(!(t.getHostGeoModel()||e[i])){var r={};ne(t.seriesGroup,function(o){var s=o.coordinateSystem,l=o.originalData;o.get("showLegendSymbol")&&n.getComponent("legend")&&l.each(l.mapDimension("value"),function(u,c){var d=l.getName(c),h=s.getRegion(d);if(!(!h||isNaN(u))){var f=r[d]||0,p=s.dataToPoint(h.getCenter());r[d]=f+1,l.setItemLayout(c,{point:p,offset:f})}})});var a=t.getData();a.each(function(o){var s=a.getName(o),l=a.getItemLayout(o)||{};l.showLabel=!r[s],a.setItemLayout(o,l)}),e[i]=!0}})}var tz=Kn,ame=function(n){g2(e,n);function e(t){var i=n.call(this)||this;return i.type="view",i.dimensions=["x","y"],i._roamTransformable=new Ys,i._rawTransformable=new Ys,i.name=t,i}return e.prototype.setBoundingRect=function(t,i,r,a){return this._rect=new h3(t,i,r,a),this._rect},e.prototype.getBoundingRect=function(){return this._rect},e.prototype.setViewRect=function(t,i,r,a){this._transformTo(t,i,r,a),this._viewRect=new h3(t,i,r,a)},e.prototype._transformTo=function(t,i,r,a){var o=this.getBoundingRect(),s=this._rawTransformable;s.transform=o.calculateTransform(new h3(t,i,r,a));var l=s.parent;s.parent=null,s.decomposeTransform(),s.parent=l,this._updateTransform()},e.prototype.setCenter=function(t,i){t&&(this._center=[ft(t[0],i.getWidth()),ft(t[1],i.getHeight())],this._updateCenterAndZoom())},e.prototype.setZoom=function(t){t=t||1;var i=this.zoomLimit;i&&(i.max!=null&&(t=Math.min(i.max,t)),i.min!=null&&(t=Math.max(i.min,t))),this._zoom=t,this._updateCenterAndZoom()},e.prototype.getDefaultCenter=function(){var t=this.getBoundingRect(),i=t.x+t.width/2,r=t.y+t.height/2;return[i,r]},e.prototype.getCenter=function(){return this._center||this.getDefaultCenter()},e.prototype.getZoom=function(){return this._zoom||1},e.prototype.getRoamTransform=function(){return this._roamTransformable.getLocalTransform()},e.prototype._updateCenterAndZoom=function(){var t=this._rawTransformable.getLocalTransform(),i=this._roamTransformable,r=this.getDefaultCenter(),a=this.getCenter(),o=this.getZoom();a=Kn([],a,t),r=Kn([],r,t),i.originX=a[0],i.originY=a[1],i.x=r[0]-a[0],i.y=r[1]-a[1],i.scaleX=i.scaleY=o,this._updateTransform()},e.prototype._updateTransform=function(){var t=this._roamTransformable,i=this._rawTransformable;i.parent=t,t.updateTransform(),i.updateTransform(),iP(this.transform||(this.transform=[]),i.transform||Gr()),this._rawTransform=i.getLocalTransform(),this.invTransform=this.invTransform||[],su(this.invTransform,this.transform),this.decomposeTransform()},e.prototype.getTransformInfo=function(){var t=this._rawTransformable,i=this._roamTransformable,r=new Ys;return r.transform=i.transform,r.decomposeTransform(),{roam:{x:r.x,y:r.y,scaleX:r.scaleX,scaleY:r.scaleY},raw:{x:t.x,y:t.y,scaleX:t.scaleX,scaleY:t.scaleY}}},e.prototype.getViewRect=function(){return this._viewRect},e.prototype.getViewRectAfterRoam=function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},e.prototype.dataToPoint=function(t,i,r){var a=i?this._rawTransform:this.transform;return r=r||[],a?tz(r,t,a):Pi(r,t)},e.prototype.pointToData=function(t){var i=this.invTransform;return i?tz([],t,i):[t[0],t[1]]},e.prototype.convertToPixel=function(t,i,r){var a=nz(i);return a===this?a.dataToPoint(r):null},e.prototype.convertFromPixel=function(t,i,r){var a=nz(i);return a===this?a.pointToData(r):null},e.prototype.containPoint=function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])},e.dimensions=["x","y"],e}(Ys);function nz(n){var e=n.seriesModel;return e?e.coordinateSystem:null}const ff=ame;var ome={geoJSON:{aspectScale:.75,invertLongitute:!0},geoSVG:{aspectScale:1,invertLongitute:!1}},gJ=["lng","lat"],vJ=function(n){g2(e,n);function e(t,i,r){var a=n.call(this,t)||this;a.dimensions=gJ,a.type="geo",a._nameCoordMap=Ct(),a.map=i;var o=r.projection,s=c6.load(i,r.nameMap,r.nameProperty),l=c6.getGeoResource(i);a.resourceType=l?l.type:null;var u=a.regions=s.regions,c=ome[l.type];a._regionsMap=s.regionsMap,a.regions=s.regions,a.projection=o;var d;if(o)for(var h=0;h<u.length;h++){var f=u[h].getBoundingRect(o);d=d||f.clone(),d.union(f)}else d=s.boundingRect;return a.setBoundingRect(d.x,d.y,d.width,d.height),a.aspectScale=o?1:e3(r.aspectScale,c.aspectScale),a._invertLongitute=o?!1:c.invertLongitute,a}return e.prototype._transformTo=function(t,i,r,a){var o=this.getBoundingRect(),s=this._invertLongitute;o=o.clone(),s&&(o.y=-o.y-o.height);var l=this._rawTransformable;l.transform=o.calculateTransform(new h3(t,i,r,a));var u=l.parent;l.parent=null,l.decomposeTransform(),l.parent=u,s&&(l.scaleY=-l.scaleY),this._updateTransform()},e.prototype.getRegion=function(t){return this._regionsMap.get(t)},e.prototype.getRegionByCoord=function(t){for(var i=this.regions,r=0;r<i.length;r++){var a=i[r];if(a.type==="geoJSON"&&a.contain(t))return i[r]}},e.prototype.addGeoCoord=function(t,i){this._nameCoordMap.set(t,i)},e.prototype.getGeoCoord=function(t){var i=this._regionsMap.get(t);return this._nameCoordMap.get(t)||i&&i.getCenter()},e.prototype.dataToPoint=function(t,i,r){if(_t(t)&&(t=this.getGeoCoord(t)),t){var a=this.projection;return a&&(t=a.project(t)),t&&this.projectedToPoint(t,i,r)}},e.prototype.pointToData=function(t){var i=this.projection;return i&&(t=i.unproject(t)),t&&this.pointToProjected(t)},e.prototype.pointToProjected=function(t){return n.prototype.pointToData.call(this,t)},e.prototype.projectedToPoint=function(t,i,r){return n.prototype.dataToPoint.call(this,t,i,r)},e.prototype.convertToPixel=function(t,i,r){var a=iz(i);return a===this?a.dataToPoint(r):null},e.prototype.convertFromPixel=function(t,i,r){var a=iz(i);return a===this?a.pointToData(r):null},e}(ff);en(vJ,ff);function iz(n){var e=n.geoModel,t=n.seriesModel;return e?e.coordinateSystem:t?t.coordinateSystem||(t.getReferringComponents("geo",Z0).models[0]||{}).coordinateSystem:null}const rz=vJ;function az(n,e){var t=n.get("boundingCoords");if(t!=null){var i=t[0],r=t[1];if(isFinite(i[0])&&isFinite(i[1])&&isFinite(r[0])&&isFinite(r[1])){var a=this.projection;if(a){var o=i[0],s=i[1],l=r[0],u=r[1];i=[1/0,1/0],r=[-1/0,-1/0];var c=function(C,M,I,D){for(var E=I-C,L=D-M,V=0;V<=100;V++){var Y=V/100,G=a.project([C+E*Y,M+L*Y]);v5(i,i,G),y5(r,r,G)}};c(o,s,l,s),c(l,s,l,u),c(l,u,o,u),c(o,u,l,s)}this.setBoundingRect(i[0],i[1],r[0]-i[0],r[1]-i[1])}}var d=this.getBoundingRect(),h=n.get("layoutCenter"),f=n.get("layoutSize"),p=e.getWidth(),g=e.getHeight(),m=d.width/d.height*this.aspectScale,v=!1,_,S;h&&f&&(_=[ft(h[0],p),ft(h[1],g)],S=ft(f,Math.min(p,g)),!isNaN(_[0])&&!isNaN(_[1])&&!isNaN(S)&&(v=!0));var x;if(v)x={},m>1?(x.width=S,x.height=S/m):(x.height=S,x.width=S*m),x.y=_[1]-x.height/2,x.x=_[0]-x.width/2;else{var A=n.getBoxLayoutParams();A.aspect=m,x=hn(A,{width:p,height:g})}this.setViewRect(x.x,x.y,x.width,x.height),this.setCenter(n.get("center"),e),this.setZoom(n.get("zoom"))}function sme(n,e){ne(e.get("geoCoord"),function(t,i){n.addGeoCoord(i,t)})}var lme=function(){function n(){this.dimensions=gJ}return n.prototype.create=function(e,t){var i=[];function r(o){return{nameProperty:o.get("nameProperty"),aspectScale:o.get("aspectScale"),projection:o.get("projection")}}e.eachComponent("geo",function(o,s){var l=o.get("map"),u=new rz(l+s,l,L2({nameMap:o.get("nameMap")},r(o)));u.zoomLimit=o.get("scaleLimit"),i.push(u),o.coordinateSystem=u,u.model=o,u.resize=az,u.resize(o,t)}),e.eachSeries(function(o){var s=o.get("coordinateSystem");if(s==="geo"){var l=o.get("geoIndex")||0;o.coordinateSystem=i[l]}});var a={};return e.eachSeriesByType("map",function(o){if(!o.getHostGeoModel()){var s=o.getMapType();a[s]=a[s]||[],a[s].push(o)}}),ne(a,function(o,s){var l=j2(o,function(c){return c.get("nameMap")}),u=new rz(s,s,L2({nameMap:QE(l)},r(o[0])));u.zoomLimit=kn.apply(null,j2(o,function(c){return c.get("scaleLimit")})),i.push(u),u.resize=az,u.resize(o[0],t),ne(o,function(c){c.coordinateSystem=u,sme(u,c)})}),i},n.prototype.getFilledRegions=function(e,t,i,r){for(var a=(e||[]).slice(),o=Ct(),s=0;s<a.length;s++)o.set(a[s].name,a[s]);var l=c6.load(t,i,r);return ne(l.regions,function(u){var c=u.name,d=o.get(c),h=u.properties&&u.properties.echartsStyle;d||(d={name:c},a.push(d)),h&&l3(d,h)}),a},n}(),ume=new lme;const yJ=ume;var cme=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i,r){var a=c6.getGeoResource(t.map);if(a&&a.type==="geoJSON"){var o=t.itemStyle=t.itemStyle||{};"color"in o||(o.color="#eee")}this.mergeDefaultAndTheme(t,r),nl(t,"label",["show"])},e.prototype.optionUpdated=function(){var t=this,i=this.option;i.regions=yJ.getFilledRegions(i.regions,i.map,i.nameMap,i.nameProperty);var r={};this._optionModelMap=ss(i.regions||[],function(a,o){var s=o.name;return s&&(a.set(s,new X1(o,t,t.ecModel)),o.selected&&(r[s]=!0)),a},Ct()),i.selectedMap||(i.selectedMap=r)},e.prototype.getRegionModel=function(t){return this._optionModelMap.get(t)||new X1(null,this,this.ecModel)},e.prototype.getFormattedLabel=function(t,i){var r=this.getRegionModel(t),a=i==="normal"?r.get(["label","formatter"]):r.get(["emphasis","label","formatter"]),o={name:t};if(Gt(a))return o.status=i,a(o);if(_t(a))return a.replace("{a}",t!=null?t:"")},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.select=function(t){var i=this.option,r=i.selectedMode;if(r){r!=="multiple"&&(i.selectedMap=null);var a=i.selectedMap||(i.selectedMap={});a[t]=!0}},e.prototype.unSelect=function(t){var i=this.option.selectedMap;i&&(i[t]=!1)},e.prototype.toggleSelected=function(t){this[this.isSelected(t)?"unSelect":"select"](t)},e.prototype.isSelected=function(t){var i=this.option.selectedMap;return!!(i&&i[t])},e.type="geo",e.layoutMode="box",e.defaultOption={z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},e}(j3);const dme=cme;function oz(n,e){return n.pointToProjected?n.pointToProjected(e):n.pointToData(e)}function pR(n,e,t,i){var r=n.getZoom(),a=n.getCenter(),o=e.zoom,s=n.projectedToPoint?n.projectedToPoint(a):n.dataToPoint(a);if(e.dx!=null&&e.dy!=null&&(s[0]-=e.dx,s[1]-=e.dy,n.setCenter(oz(n,s),i)),o!=null){if(t){var l=t.min||0,u=t.max||1/0;o=Math.max(Math.min(r*o,u),l)/r}n.scaleX*=o,n.scaleY*=o;var c=(e.originX-n.x)*(o-1),d=(e.originY-n.y)*(o-1);n.x-=c,n.y-=d,n.updateTransform(),n.setCenter(oz(n,s),i),n.setZoom(o*r)}return{center:n.getCenter(),zoom:n.getZoom()}}var hme=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.focusBlurEnabled=!0,t}return e.prototype.init=function(t,i){this._api=i},e.prototype.render=function(t,i,r,a){if(this._model=t,!t.get("show")){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;return}this._mapDraw||(this._mapDraw=new mJ(r));var o=this._mapDraw;o.draw(t,i,r,this,a),o.group.on("click",this._handleRegionClick,this),o.group.silent=t.get("silent"),this.group.add(o.group),this.updateSelectStatus(t,i,r)},e.prototype._handleRegionClick=function(t){var i;C8(t.target,function(r){return(i=Xt(r).eventData)!=null},!0),i&&this._api.dispatchAction({type:"geoToggleSelect",geoId:this._model.id,name:i.name})},e.prototype.updateSelectStatus=function(t,i,r){var a=this;this._mapDraw.group.traverse(function(o){var s=Xt(o).eventData;if(s)return a._model.isSelected(s.name)?r.enterSelect(o):r.leaveSelect(o),!0})},e.prototype.findHighDownDispatchers=function(t){return this._mapDraw&&this._mapDraw.findHighDownDispatchers(t,this._model)},e.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove()},e.type="geo",e}(T0);const fme=hme;function pme(n,e,t){c6.registerMap(n,e,t)}function _J(n){n.registerCoordinateSystem("geo",yJ),n.registerComponentModel(dme),n.registerComponentView(fme),n.registerImpl("registerMap",pme),n.registerImpl("getMap",function(t){return c6.getMapForUser(t)});function e(t,i){i.update="geo:updateSelectStatus",n.registerAction(i,function(r,a){var o={},s=[];return a.eachComponent({mainType:"geo",query:r},function(l){l[t](r.name);var u=l.coordinateSystem;ne(u.regions,function(d){o[d.name]=l.isSelected(d.name)||!1});var c=[];ne(o,function(d,h){o[h]&&c.push(h)}),s.push({geoIndex:l.componentIndex,name:c})}),{selected:o,allSelected:s,name:r.name}})}e("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),e("select",{type:"geoSelect",event:"geoselected"}),e("unSelect",{type:"geoUnSelect",event:"geounselected"}),n.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,i,r){var a=t.componentType||"series";i.eachComponent({mainType:a,query:t},function(o){var s=o.coordinateSystem;if(s.type==="geo"){var l=pR(s,t,o.get("scaleLimit"),r);o.setCenter&&o.setCenter(l.center),o.setZoom&&o.setZoom(l.zoom),a==="series"&&ne(o.seriesGroup,function(u){u.setCenter(l.center),u.setZoom(l.zoom)})}})})}function mme(n){T3(_J),n.registerChartView(Qpe),n.registerSeriesModel(tme),n.registerLayout(rme),n.registerProcessor(n.PRIORITY.PROCESSOR.STATISTIC,ime),pK("map",n.registerAction)}function gme(n){var e=n;e.hierNode={defaultAncestor:null,ancestor:e,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var t=[e],i,r;i=t.pop();)if(r=i.children,i.isExpand&&r.length)for(var a=r.length,o=a-1;o>=0;o--){var s=r[o];s.hierNode={defaultAncestor:null,ancestor:s,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},t.push(s)}}function vme(n,e){var t=n.isExpand?n.children:[],i=n.parentNode.children,r=n.hierNode.i?i[n.hierNode.i-1]:null;if(t.length){Sme(n);var a=(t[0].hierNode.prelim+t[t.length-1].hierNode.prelim)/2;r?(n.hierNode.prelim=r.hierNode.prelim+e(n,r),n.hierNode.modifier=n.hierNode.prelim-a):n.hierNode.prelim=a}else r&&(n.hierNode.prelim=r.hierNode.prelim+e(n,r));n.parentNode.hierNode.defaultAncestor=bme(n,r,n.parentNode.hierNode.defaultAncestor||i[0],e)}function yme(n){var e=n.hierNode.prelim+n.parentNode.hierNode.modifier;n.setLayout({x:e},!0),n.hierNode.modifier+=n.parentNode.hierNode.modifier}function sz(n){return arguments.length?n:Tme}function td(n,e){return n-=Math.PI/2,{x:e*Math.cos(n),y:e*Math.sin(n)}}function _me(n,e){return hn(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Sme(n){for(var e=n.children,t=e.length,i=0,r=0;--t>=0;){var a=e[t];a.hierNode.prelim+=i,a.hierNode.modifier+=i,r+=a.hierNode.change,i+=a.hierNode.shift+r}}function bme(n,e,t,i){if(e){for(var r=n,a=n,o=a.parentNode.children[0],s=e,l=r.hierNode.modifier,u=a.hierNode.modifier,c=o.hierNode.modifier,d=s.hierNode.modifier;s=Mw(s),a=Ew(a),s&&a;){r=Mw(r),o=Ew(o),r.hierNode.ancestor=n;var h=s.hierNode.prelim+d-a.hierNode.prelim-u+i(s,a);h>0&&(wme(xme(s,n,t),n,h),u+=h,l+=h),d+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=r.hierNode.modifier,c+=o.hierNode.modifier}s&&!Mw(r)&&(r.hierNode.thread=s,r.hierNode.modifier+=d-l),a&&!Ew(o)&&(o.hierNode.thread=a,o.hierNode.modifier+=u-c,t=n)}return t}function Mw(n){var e=n.children;return e.length&&n.isExpand?e[e.length-1]:n.hierNode.thread}function Ew(n){var e=n.children;return e.length&&n.isExpand?e[0]:n.hierNode.thread}function xme(n,e,t){return n.hierNode.ancestor.parentNode===e.parentNode?n.hierNode.ancestor:t}function wme(n,e,t){var i=t/(e.hierNode.i-n.hierNode.i);e.hierNode.change-=i,e.hierNode.shift+=t,e.hierNode.modifier+=t,e.hierNode.prelim+=t,n.hierNode.change+=i}function Tme(n,e){return n.parentNode===e.parentNode?1:2}var Ame=function(){function n(){this.parentPoint=[],this.childPoints=[]}return n}(),Cme=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new Ame},e.prototype.buildPath=function(t,i){var r=i.childPoints,a=r.length,o=i.parentPoint,s=r[0],l=r[a-1];if(a===1){t.moveTo(o[0],o[1]),t.lineTo(s[0],s[1]);return}var u=i.orient,c=u==="TB"||u==="BT"?0:1,d=1-c,h=ft(i.forkPosition,1),f=[];f[c]=o[c],f[d]=o[d]+(l[d]-o[d])*h,t.moveTo(o[0],o[1]),t.lineTo(f[0],f[1]),t.moveTo(s[0],s[1]),f[c]=s[c],t.lineTo(f[0],f[1]),f[c]=l[c],t.lineTo(f[0],f[1]),t.lineTo(l[0],l[1]);for(var p=1;p<a-1;p++){var g=r[p];t.moveTo(g[0],g[1]),f[c]=g[c],t.lineTo(f[0],f[1])}},e}(C3),Mme=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._mainGroup=new qt,t}return e.prototype.init=function(t,i){this._controller=new hf(i.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},e.prototype.render=function(t,i,r){var a=t.getData(),o=t.layoutInfo,s=this._mainGroup,l=t.get("layout");l==="radial"?(s.x=o.x+o.width/2,s.y=o.y+o.height/2):(s.x=o.x,s.y=o.y),this._updateViewCoordSys(t,r),this._updateController(t,i,r);var u=this._data;a.diff(u).add(function(c){lz(a,c)&&uz(a,c,null,s,t)}).update(function(c,d){var h=u.getItemGraphicEl(d);if(!lz(a,c)){h&&dz(u,d,h,s,t);return}uz(a,c,h,s,t)}).remove(function(c){var d=u.getItemGraphicEl(c);d&&dz(u,c,d,s,t)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),t.get("expandAndCollapse")===!0&&a.eachItemGraphicEl(function(c,d){c.off("click").on("click",function(){r.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:d})})}),this._data=a},e.prototype._updateViewCoordSys=function(t,i){var r=t.getData(),a=[];r.each(function(d){var h=r.getItemLayout(d);h&&!isNaN(h.x)&&!isNaN(h.y)&&a.push([+h.x,+h.y])});var o=[],s=[];C_(a,o,s);var l=this._min,u=this._max;s[0]-o[0]===0&&(o[0]=l?l[0]:o[0]-1,s[0]=u?u[0]:s[0]+1),s[1]-o[1]===0&&(o[1]=l?l[1]:o[1]-1,s[1]=u?u[1]:s[1]+1);var c=t.coordinateSystem=new ff;c.zoomLimit=t.get("scaleLimit"),c.setBoundingRect(o[0],o[1],s[0]-o[0],s[1]-o[1]),c.setCenter(t.get("center"),i),c.setZoom(t.get("zoom")),this.group.attr({x:c.x,y:c.y,scaleX:c.scaleX,scaleY:c.scaleY}),this._min=o,this._max=s},e.prototype._updateController=function(t,i,r){var a=this,o=this._controller,s=this._controllerHost,l=this.group;o.setPointerChecker(function(u,c,d){var h=l.getBoundingRect();return h.applyTransform(l.transform),h.contain(c,d)&&!Z_(u,r,t)}),o.enable(t.get("roam")),s.zoomLimit=t.get("scaleLimit"),s.zoom=t.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){dR(s,u.dx,u.dy),r.dispatchAction({seriesId:t.id,type:"treeRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){hR(s,u.scale,u.originX,u.originY),r.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),a._updateNodeAndLinkScale(t),r.updateLabelLayout()})},e.prototype._updateNodeAndLinkScale=function(t){var i=t.getData(),r=this._getNodeGlobalScale(t);i.eachItemGraphicEl(function(a,o){a.setSymbolScale(r)})},e.prototype._getNodeGlobalScale=function(t){var i=t.coordinateSystem;if(i.type!=="view")return 1;var r=this._nodeScaleRatio,a=i.scaleX||1,o=i.getZoom(),s=(o-1)*r+1;return s/a},e.prototype.dispose=function(){this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype.remove=function(){this._mainGroup.removeAll(),this._data=null},e.type="tree",e}(K1);function lz(n,e){var t=n.getItemLayout(e);return t&&!isNaN(t.x)&&!isNaN(t.y)}function uz(n,e,t,i,r){var a=!t,o=n.tree.getNodeByDataIndex(e),s=o.getModel(),l=o.getVisual("style").fill,u=o.isExpand===!1&&o.children.length!==0?l:"#fff",c=n.tree.root,d=o.parentNode===c?o:o.parentNode||o,h=n.getItemGraphicEl(d.dataIndex),f=d.getLayout(),p=h?{x:h.__oldX,y:h.__oldY,rawX:h.__radialOldRawX,rawY:h.__radialOldRawY}:f,g=o.getLayout();a?(t=new of(n,e,null,{symbolInnerColor:u,useNameLabel:!0}),t.x=p.x,t.y=p.y):t.updateData(n,e,null,{symbolInnerColor:u,useNameLabel:!0}),t.__radialOldRawX=t.__radialRawX,t.__radialOldRawY=t.__radialRawY,t.__radialRawX=g.rawX,t.__radialRawY=g.rawY,i.add(t),n.setItemGraphicEl(e,t),t.__oldX=t.x,t.__oldY=t.y,Q3(t,{x:g.x,y:g.y},r);var m=t.getSymbolPath();if(r.get("layout")==="radial"){var v=c.children[0],_=v.getLayout(),S=v.children.length,x=void 0,A=void 0;if(g.x===_.x&&o.isExpand===!0&&v.children.length){var C={x:(v.children[0].getLayout().x+v.children[S-1].getLayout().x)/2,y:(v.children[0].getLayout().y+v.children[S-1].getLayout().y)/2};x=Math.atan2(C.y-_.y,C.x-_.x),x<0&&(x=Math.PI*2+x),A=C.x<_.x,A&&(x=x-Math.PI)}else x=Math.atan2(g.y-_.y,g.x-_.x),x<0&&(x=Math.PI*2+x),o.children.length===0||o.children.length!==0&&o.isExpand===!1?(A=g.x<_.x,A&&(x=x-Math.PI)):(A=g.x>_.x,A||(x=x-Math.PI));var M=A?"left":"right",I=s.getModel("label"),D=I.get("rotate"),E=D*(Math.PI/180),L=m.getTextContent();L&&(m.setTextConfig({position:I.get("position")||M,rotation:D==null?-x:E,origin:"center"}),L.setStyle("verticalAlign","middle"))}var V=s.get(["emphasis","focus"]),Y=V==="relative"?Jd(o.getAncestorsIndices(),o.getDescendantIndices()):V==="ancestor"?o.getAncestorsIndices():V==="descendant"?o.getDescendantIndices():null;Y&&(Xt(t).focus=Y),Eme(r,o,c,t,p,f,g,i),t.__edge&&(t.onHoverStateChange=function(G){if(G!=="blur"){var W=o.parentNode&&n.getItemGraphicEl(o.parentNode.dataIndex);W&&W.hoverState===Jh||Hv(t.__edge,G)}})}function Eme(n,e,t,i,r,a,o,s){var l=e.getModel(),u=n.get("edgeShape"),c=n.get("layout"),d=n.getOrient(),h=n.get(["lineStyle","curveness"]),f=n.get("edgeForkPosition"),p=l.getModel("lineStyle").getLineStyle(),g=i.__edge;if(u==="curve")e.parentNode&&e.parentNode!==t&&(g||(g=i.__edge=new R_({shape:lM(c,d,h,r,r)})),Q3(g,{shape:lM(c,d,h,a,o)},n));else if(u==="polyline"&&c==="orthogonal"&&e!==t&&e.children&&e.children.length!==0&&e.isExpand===!0){for(var m=e.children,v=[],_=0;_<m.length;_++){var S=m[_].getLayout();v.push([S.x,S.y])}g||(g=i.__edge=new Cme({shape:{parentPoint:[o.x,o.y],childPoints:[[o.x,o.y]],orient:d,forkPosition:f}})),Q3(g,{shape:{parentPoint:[o.x,o.y],childPoints:v}},n)}g&&!(u==="polyline"&&!e.isExpand)&&(g.useStyle(Vt({strokeNoScale:!0,fill:null},p)),Jn(g,l,"lineStyle"),al(g),s.add(g))}function cz(n,e,t,i,r){var a=e.tree.root,o=SJ(a,n),s=o.source,l=o.sourceLayout,u=e.getItemGraphicEl(n.dataIndex);if(u){var c=e.getItemGraphicEl(s.dataIndex),d=c.__edge,h=u.__edge||(s.isExpand===!1||s.children.length===1?d:void 0),f=i.get("edgeShape"),p=i.get("layout"),g=i.get("orient"),m=i.get(["lineStyle","curveness"]);h&&(f==="curve"?j5(h,{shape:lM(p,g,m,l,l),style:{opacity:0}},i,{cb:function(){t.remove(h)},removeOpt:r}):f==="polyline"&&i.get("layout")==="orthogonal"&&j5(h,{shape:{parentPoint:[l.x,l.y],childPoints:[[l.x,l.y]]},style:{opacity:0}},i,{cb:function(){t.remove(h)},removeOpt:r}))}}function SJ(n,e){for(var t=e.parentNode===n?e:e.parentNode||e,i;i=t.getLayout(),i==null;)t=t.parentNode===n?t:t.parentNode||t;return{source:t,sourceLayout:i}}function dz(n,e,t,i,r){var a=n.tree.getNodeByDataIndex(e),o=n.tree.root,s=SJ(o,a).sourceLayout,l={duration:r.get("animationDurationUpdate"),easing:r.get("animationEasingUpdate")};j5(t,{x:s.x+1,y:s.y+1},r,{cb:function(){i.remove(t),n.setItemGraphicEl(e,null)},removeOpt:l}),t.fadeOut(null,n.hostModel,{fadeLabel:!0,animation:l}),a.children.forEach(function(u){cz(u,n,i,r,l)}),cz(a,n,i,r,l)}function lM(n,e,t,i,r){var a,o,s,l,u,c,d,h;if(n==="radial"){u=i.rawX,d=i.rawY,c=r.rawX,h=r.rawY;var f=td(u,d),p=td(u,d+(h-d)*t),g=td(c,h+(d-h)*t),m=td(c,h);return{x1:f.x||0,y1:f.y||0,x2:m.x||0,y2:m.y||0,cpx1:p.x||0,cpy1:p.y||0,cpx2:g.x||0,cpy2:g.y||0}}else u=i.x,d=i.y,c=r.x,h=r.y,(e==="LR"||e==="RL")&&(a=u+(c-u)*t,o=d,s=c+(u-c)*t,l=h),(e==="TB"||e==="BT")&&(a=u,o=d+(h-d)*t,s=c,l=h+(d-h)*t);return{x1:u,y1:d,x2:c,y2:h,cpx1:a,cpy1:o,cpx2:s,cpy2:l}}const Pme=Mme;var Ia=B3();function bJ(n){var e=n.mainData,t=n.datas;t||(t={main:e},n.datasAttr={main:"data"}),n.datas=n.mainData=null,xJ(e,t,n),ne(t,function(i){ne(e.TRANSFERABLE_METHODS,function(r){i.wrapMethod(r,r3(Rme,n))})}),e.wrapMethod("cloneShallow",r3(Ime,n)),ne(e.CHANGABLE_METHODS,function(i){e.wrapMethod(i,r3(Lme,n))}),Bi(t[e.dataType]===e)}function Rme(n,e){if(kme(this)){var t=L2({},Ia(this).datas);t[this.dataType]=e,xJ(e,t,n)}else mR(e,this.dataType,Ia(this).mainData,n);return e}function Lme(n,e){return n.struct&&n.struct.update(),e}function Ime(n,e){return ne(Ia(e).datas,function(t,i){t!==e&&mR(t.cloneShallow(),i,e,n)}),e}function Dme(n){var e=Ia(this).mainData;return n==null||e==null?e:Ia(e).datas[n]}function Nme(){var n=Ia(this).mainData;return n==null?[{data:n}]:j2(E3(Ia(n).datas),function(e){return{type:e,data:Ia(n).datas[e]}})}function kme(n){return Ia(n).mainData===n}function xJ(n,e,t){Ia(n).datas={},ne(e,function(i,r){mR(i,r,n,t)})}function mR(n,e,t,i){Ia(t).datas[e]=n,Ia(n).mainData=t,n.dataType=e,i.struct&&(n[i.structAttr]=i.struct,i.struct[i.datasAttr[e]]=n),n.getLinkedData=Dme,n.getLinkedDataAll=Nme}var Fme=function(){function n(e,t){this.depth=0,this.height=0,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.isExpand=!1,this.name=e||"",this.hostTree=t}return n.prototype.isRemoved=function(){return this.dataIndex<0},n.prototype.eachNode=function(e,t,i){Gt(e)&&(i=t,t=e,e=null),e=e||{},_t(e)&&(e={order:e});var r=e.order||"preorder",a=this[e.attr||"children"],o;r==="preorder"&&(o=t.call(i,this));for(var s=0;!o&&s<a.length;s++)a[s].eachNode(e,t,i);r==="postorder"&&t.call(i,this)},n.prototype.updateDepthAndHeight=function(e){var t=0;this.depth=e;for(var i=0;i<this.children.length;i++){var r=this.children[i];r.updateDepthAndHeight(e+1),r.height>t&&(t=r.height)}this.height=t+1},n.prototype.getNodeById=function(e){if(this.getId()===e)return this;for(var t=0,i=this.children,r=i.length;t<r;t++){var a=i[t].getNodeById(e);if(a)return a}},n.prototype.contains=function(e){if(e===this)return!0;for(var t=0,i=this.children,r=i.length;t<r;t++){var a=i[t].contains(e);if(a)return a}},n.prototype.getAncestors=function(e){for(var t=[],i=e?this:this.parentNode;i;)t.push(i),i=i.parentNode;return t.reverse(),t},n.prototype.getAncestorsIndices=function(){for(var e=[],t=this;t;)e.push(t.dataIndex),t=t.parentNode;return e.reverse(),e},n.prototype.getDescendantIndices=function(){var e=[];return this.eachNode(function(t){e.push(t.dataIndex)}),e},n.prototype.getValue=function(e){var t=this.hostTree.data;return t.getStore().get(t.getDimensionIndex(e||"value"),this.dataIndex)},n.prototype.setLayout=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,e,t)},n.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},n.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostTree,i=t.data.getItemModel(this.dataIndex);return i.getModel(e)}},n.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},n.prototype.setVisual=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,e,t)},n.prototype.getVisual=function(e){return this.hostTree.data.getItemVisual(this.dataIndex,e)},n.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},n.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},n.prototype.getChildIndex=function(){if(this.parentNode){for(var e=this.parentNode.children,t=0;t<e.length;++t)if(e[t]===this)return t;return-1}return-1},n.prototype.isAncestorOf=function(e){for(var t=e.parentNode;t;){if(t===this)return!0;t=t.parentNode}return!1},n.prototype.isDescendantOf=function(e){return e!==this&&e.isAncestorOf(this)},n}(),Ome=function(){function n(e){this.type="tree",this._nodes=[],this.hostModel=e}return n.prototype.eachNode=function(e,t,i){this.root.eachNode(e,t,i)},n.prototype.getNodeByDataIndex=function(e){var t=this.data.getRawIndex(e);return this._nodes[t]},n.prototype.getNodeById=function(e){return this.root.getNodeById(e)},n.prototype.update=function(){for(var e=this.data,t=this._nodes,i=0,r=t.length;i<r;i++)t[i].dataIndex=-1;for(var i=0,r=e.count();i<r;i++)t[e.getRawIndex(i)].dataIndex=i},n.prototype.clearLayouts=function(){this.data.clearItemLayouts()},n.createTree=function(e,t,i){var r=new n(t),a=[],o=1;s(e);function s(c,d){var h=c.value;o=Math.max(o,H2(h)?h.length:1),a.push(c);var f=new Fme(dn(c.name,""),r);d?Bme(f,d):r.root=f,r._nodes.push(f);var p=c.children;if(p)for(var g=0;g<p.length;g++)s(p[g],f)}r.root.updateDepthAndHeight(0);var l=rf(a,{coordDimensions:["value"],dimensionsCount:o}).dimensions,u=new Oi(l,t);return u.initData(a),i&&i(u),bJ({mainData:u,struct:r,structAttr:"tree"}),r.update(),r},n}();function Bme(n,e){var t=e.children;n.parentNode!==e&&(t.push(n),n.parentNode=e)}const gR=Ome;function yh(n,e,t){if(n&&_3(e,n.type)>=0){var i=t.getData().tree.root,r=n.targetNode;if(_t(r)&&(r=i.getNodeById(r)),r&&i.contains(r))return{node:r};var a=n.targetNodeId;if(a!=null&&(r=i.getNodeById(a)))return{node:r}}}function wJ(n){for(var e=[];n;)n=n.parentNode,n&&e.push(n);return e.reverse()}function vR(n,e){var t=wJ(n);return _3(t,e)>=0}function Q_(n,e){for(var t=[];n;){var i=n.dataIndex;t.push({name:n.name,dataIndex:i,value:e.getRawValue(i)}),n=n.parentNode}return t.reverse(),t}var zme=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.hasSymbolVisual=!0,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t){var i={name:t.name,children:t.data},r=t.leaves||{},a=new X1(r,this,this.ecModel),o=gR.createTree(i,this,s);function s(d){d.wrapMethod("getItemModel",function(h,f){var p=o.getNodeByDataIndex(f);return p&&p.children.length&&p.isExpand||(h.parentModel=a),h})}var l=0;o.eachNode("preorder",function(d){d.depth>l&&(l=d.depth)});var u=t.expandAndCollapse,c=u&&t.initialTreeDepth>=0?t.initialTreeDepth:l;return o.root.eachNode("preorder",function(d){var h=d.hostTree.data.getRawDataItem(d.dataIndex);d.isExpand=h&&h.collapsed!=null?!h.collapsed:d.depth<=c}),o.data},e.prototype.getOrient=function(){var t=this.get("orient");return t==="horizontal"?t="LR":t==="vertical"&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,i,r){for(var a=this.getData().tree,o=a.root.children[0],s=a.getNodeByDataIndex(t),l=s.getValue(),u=s.name;s&&s!==o;)u=s.parentNode.name+"."+u,s=s.parentNode;return xn("nameValue",{name:u,value:l,noValue:isNaN(l)||l==null})},e.prototype.getDataParams=function(t){var i=n.prototype.getDataParams.apply(this,arguments),r=this.getData().tree.getNodeByDataIndex(t);return i.treeAncestors=Q_(r,this),i.collapsed=!r.isExpand,i},e.type="series.tree",e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(m0);const Ume=zme;function Gme(n,e,t){for(var i=[n],r=[],a;a=i.pop();)if(r.push(a),a.isExpand){var o=a.children;if(o.length)for(var s=0;s<o.length;s++)i.push(o[s])}for(;a=r.pop();)e(a,t)}function Sc(n,e){for(var t=[n],i;i=t.pop();)if(e(i),i.isExpand){var r=i.children;if(r.length)for(var a=r.length-1;a>=0;a--)t.push(r[a])}}function Vme(n,e){n.eachSeriesByType("tree",function(t){Hme(t,e)})}function Hme(n,e){var t=_me(n,e);n.layoutInfo=t;var i=n.get("layout"),r=0,a=0,o=null;i==="radial"?(r=2*Math.PI,a=Math.min(t.height,t.width)/2,o=sz(function(S,x){return(S.parentNode===x.parentNode?1:2)/S.depth})):(r=t.width,a=t.height,o=sz());var s=n.getData().tree.root,l=s.children[0];if(l){gme(s),Gme(l,vme,o),s.hierNode.modifier=-l.hierNode.prelim,Sc(l,yme);var u=l,c=l,d=l;Sc(l,function(S){var x=S.getLayout().x;x<u.getLayout().x&&(u=S),x>c.getLayout().x&&(c=S),S.depth>d.depth&&(d=S)});var h=u===c?1:o(u,c)/2,f=h-u.getLayout().x,p=0,g=0,m=0,v=0;if(i==="radial")p=r/(c.getLayout().x+h+f),g=a/(d.depth-1||1),Sc(l,function(S){m=(S.getLayout().x+f)*p,v=(S.depth-1)*g;var x=td(m,v);S.setLayout({x:x.x,y:x.y,rawX:m,rawY:v},!0)});else{var _=n.getOrient();_==="RL"||_==="LR"?(g=a/(c.getLayout().x+h+f),p=r/(d.depth-1||1),Sc(l,function(S){v=(S.getLayout().x+f)*g,m=_==="LR"?(S.depth-1)*p:r-(S.depth-1)*p,S.setLayout({x:m,y:v},!0)})):(_==="TB"||_==="BT")&&(p=r/(c.getLayout().x+h+f),g=a/(d.depth-1||1),Sc(l,function(S){m=(S.getLayout().x+f)*p,v=_==="TB"?(S.depth-1)*g:a-(S.depth-1)*g,S.setLayout({x:m,y:v},!0)}))}}}function Wme(n){n.eachSeriesByType("tree",function(e){var t=e.getData(),i=t.tree;i.eachNode(function(r){var a=r.getModel(),o=a.getModel("itemStyle").getItemStyle(),s=t.ensureUniqueItemVisual(r.dataIndex,"style");L2(s,o)})})}function jme(n){n.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"tree",query:e},function(i){var r=e.dataIndex,a=i.getData().tree,o=a.getNodeByDataIndex(r);o.isExpand=!o.isExpand})}),n.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(e,t,i){t.eachComponent({mainType:"series",subType:"tree",query:e},function(r){var a=r.coordinateSystem,o=pR(a,e,void 0,i);r.setCenter&&r.setCenter(o.center),r.setZoom&&r.setZoom(o.zoom)})})}function $me(n){n.registerChartView(Pme),n.registerSeriesModel(Ume),n.registerLayout(Vme),n.registerVisual(Wme),jme(n)}var hz=["treemapZoomToNode","treemapRender","treemapMove"];function Yme(n){for(var e=0;e<hz.length;e++)n.registerAction({type:hz[e],update:"updateView"},U0);n.registerAction({type:"treemapRootToNode",update:"updateView"},function(t,i){i.eachComponent({mainType:"series",subType:"treemap",query:t},r);function r(a,o){var s=["treemapZoomToNode","treemapRootToNode"],l=yh(t,s,a);if(l){var u=a.getViewRoot();u&&(t.direction=vR(u,l.node)?"rollUp":"drillDown"),a.resetViewRoot(l.node)}}})}function TJ(n){var e=n.getData(),t=e.tree,i={};t.eachNode(function(r){for(var a=r;a&&a.depth>1;)a=a.parentNode;var o=OC(n.ecModel,a.name||a.dataIndex+"",i);r.setVisual("decal",o)})}var qme=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.preventUsingHoverLayer=!0,t}return e.prototype.getInitialData=function(t,i){var r={name:t.name,children:t.data};AJ(r);var a=t.levels||[],o=this.designatedVisualItemStyle={},s=new X1({itemStyle:o},this,i);a=t.levels=Xme(a,i);var l=j2(a||[],function(d){return new X1(d,s,i)},this),u=gR.createTree(r,this,c);function c(d){d.wrapMethod("getItemModel",function(h,f){var p=u.getNodeByDataIndex(f),g=p?l[p.depth]:null;return h.parentModel=g||s,h})}return u.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=this.getRawValue(t),s=a.getName(t);return xn("nameValue",{name:s,value:o})},e.prototype.getDataParams=function(t){var i=n.prototype.getDataParams.apply(this,arguments),r=this.getData().tree.getNodeByDataIndex(t);return i.treeAncestors=Q_(r,this),i.treePathInfo=i.treeAncestors,i},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},L2(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var i=this._idIndexMap;i||(i=this._idIndexMap=Ct(),this._idIndexMapCount=0);var r=i.get(t);return r==null&&i.set(t,r=this._idIndexMapCount++),r},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var i=this.getRawData().tree.root;(!t||t!==i&&!i.contains(t))&&(this._viewRoot=i)},e.prototype.enableAriaDecal=function(){TJ(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,scaleLimit:null,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(m0);function AJ(n){var e=0;ne(n.children,function(i){AJ(i);var r=i.value;H2(r)&&(r=r[0]),e+=r});var t=n.value;H2(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),H2(n.value)?n.value[0]=t:n.value=t}function Xme(n,e){var t=A1(e.get("color")),i=A1(e.get(["aria","decal","decals"]));if(t){n=n||[];var r,a;ne(n,function(s){var l=new X1(s),u=l.get("color"),c=l.get("decal");(l.get(["itemStyle","color"])||u&&u!=="none")&&(r=!0),(l.get(["itemStyle","decal"])||c&&c!=="none")&&(a=!0)});var o=n[0]||(n[0]={});return r||(o.color=t.slice()),!a&&i&&(o.decal=i.slice()),n}}const Kme=qme;var Zme=8,fz=8,Pw=5,Jme=function(){function n(e){this.group=new qt,e.add(this.group)}return n.prototype.render=function(e,t,i,r){var a=e.getModel("breadcrumb"),o=this.group;if(o.removeAll(),!(!a.get("show")||!i)){var s=a.getModel("itemStyle"),l=a.getModel("emphasis"),u=s.getModel("textStyle"),c=l.getModel(["itemStyle","textStyle"]),d={pos:{left:a.get("left"),right:a.get("right"),top:a.get("top"),bottom:a.get("bottom")},box:{width:t.getWidth(),height:t.getHeight()},emptyItemWidth:a.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,d,u),this._renderContent(e,d,s,l,u,c,r),z_(o,d.pos,d.box)}},n.prototype._prepare=function(e,t,i){for(var r=e;r;r=r.parentNode){var a=dn(r.getModel().get("name"),""),o=i.getTextRect(a),s=Math.max(o.width+Zme*2,t.emptyItemWidth);t.totalWidth+=s+fz,t.renderList.push({node:r,text:a,width:s})}},n.prototype._renderContent=function(e,t,i,r,a,o,s){for(var l=0,u=t.emptyItemWidth,c=e.get(["breadcrumb","height"]),d=o4e(t.pos,t.box),h=t.totalWidth,f=t.renderList,p=r.getModel("itemStyle").getItemStyle(),g=f.length-1;g>=0;g--){var m=f[g],v=m.node,_=m.width,S=m.text;h>d.width&&(h-=_-u,_=u,S=null);var x=new gr({shape:{points:Qme(l,0,_,c,g===f.length-1,g===0)},style:Vt(i.getItemStyle(),{lineJoin:"bevel"}),textContent:new Y3({style:q1(a,{text:S})}),textConfig:{position:"inside"},z2:uu*1e4,onclick:r3(s,v)});x.disableLabelAnimation=!0,x.getTextContent().ensureState("emphasis").style=q1(o,{text:S}),x.ensureState("emphasis").style=p,b0(x,r.get("focus"),r.get("blurScope"),r.get("disabled")),this.group.add(x),ege(x,e,v),l+=_+fz}},n.prototype.remove=function(){this.group.removeAll()},n}();function Qme(n,e,t,i,r,a){var o=[[r?n:n-Pw,e],[n+t,e],[n+t,e+i],[r?n:n-Pw,e+i]];return!a&&o.splice(2,0,[n+t+Pw,e+i/2]),!r&&o.push([n,e+i/2]),o}function ege(n,e,t){Xt(n).eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:t&&t.dataIndex,name:t&&t.name},treePathInfo:t&&Q_(t,e)}}const tge=Jme;var nge=function(){function n(){this._storage=[],this._elExistsMap={}}return n.prototype.add=function(e,t,i,r,a){return this._elExistsMap[e.id]?!1:(this._elExistsMap[e.id]=!0,this._storage.push({el:e,target:t,duration:i,delay:r,easing:a}),!0)},n.prototype.finished=function(e){return this._finishedCallback=e,this},n.prototype.start=function(){for(var e=this,t=this._storage.length,i=function(){t--,t<=0&&(e._storage.length=0,e._elExistsMap={},e._finishedCallback&&e._finishedCallback())},r=0,a=this._storage.length;r<a;r++){var o=this._storage[r];o.el.animateTo(o.target,{duration:o.duration,delay:o.delay,easing:o.easing,setToFinal:!0,done:i,aborted:i})}return this},n}();function ige(){return new nge}var uM=qt,pz=V3,mz=3,gz="label",vz="upperLabel",rge=uu*10,age=uu*2,oge=uu*3,l8=rl([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),yz=function(n){var e=l8(n);return e.stroke=e.fill=e.lineWidth=null,e},hy=B3(),sge=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._state="ready",t._storage=bc(),t}return e.prototype.render=function(t,i,r,a){var o=i.findComponents({mainType:"series",subType:"treemap",query:a});if(!(_3(o,t)<0)){this.seriesModel=t,this.api=r,this.ecModel=i;var s=["treemapZoomToNode","treemapRootToNode"],l=yh(a,s,t),u=a&&a.type,c=t.layoutInfo,d=!this._oldTree,h=this._storage,f=u==="treemapRootToNode"&&l&&h?{rootNodeGroup:h.nodeGroup[l.node.getRawIndex()],direction:a.direction}:null,p=this._giveContainerGroup(c),g=t.get("animation"),m=this._doRender(p,t,f);g&&!d&&(!u||u==="treemapZoomToNode"||u==="treemapRootToNode")?this._doAnimation(p,m,t,f):m.renderFinally(),this._resetController(r),this._renderBreadcrumb(t,r,l)}},e.prototype._giveContainerGroup=function(t){var i=this._containerGroup;return i||(i=this._containerGroup=new uM,this._initEvents(i),this.group.add(i)),i.x=t.x,i.y=t.y,i},e.prototype._doRender=function(t,i,r){var a=i.getData().tree,o=this._oldTree,s=bc(),l=bc(),u=this._storage,c=[];function d(_,S,x,A){return lge(i,l,u,r,s,c,_,S,x,A)}g(a.root?[a.root]:[],o&&o.root?[o.root]:[],t,a===o||!o,0);var h=m(u);if(this._oldTree=a,this._storage=l,this._controllerHost){var f=this.seriesModel.layoutInfo,p=a.root.getLayout();p.width===f.width&&p.height===f.height&&(this._controllerHost.zoom=1)}return{lastsForAnimation:s,willDeleteEls:h,renderFinally:v};function g(_,S,x,A,C){A?(S=_,ne(_,function(D,E){!D.isRemoved()&&I(E,E)})):new l6(S,_,M,M).add(I).update(I).remove(r3(I,null)).execute();function M(D){return D.getId()}function I(D,E){var L=D!=null?_[D]:null,V=E!=null?S[E]:null,Y=d(L,V,x,C);Y&&g(L&&L.viewChildren||[],V&&V.viewChildren||[],Y,A,C+1)}}function m(_){var S=bc();return _&&ne(_,function(x,A){var C=S[A];ne(x,function(M){M&&(C.push(M),hy(M).willDelete=!0)})}),S}function v(){ne(h,function(_){ne(_,function(S){S.parent&&S.parent.remove(S)})}),ne(c,function(_){_.invisible=!0,_.dirty()})}},e.prototype._doAnimation=function(t,i,r,a){var o=r.get("animationDurationUpdate"),s=r.get("animationEasing"),l=(Gt(o)?0:o)||0,u=(Gt(s)?null:s)||"cubicOut",c=ige();ne(i.willDeleteEls,function(d,h){ne(d,function(f,p){if(!f.invisible){var g=f.parent,m,v=hy(g);if(a&&a.direction==="drillDown")m=g===a.rootNodeGroup?{shape:{x:0,y:0,width:v.nodeWidth,height:v.nodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var _=0,S=0;v.willDelete||(_=v.nodeWidth/2,S=v.nodeHeight/2),m=h==="nodeGroup"?{x:_,y:S,style:{opacity:0}}:{shape:{x:_,y:S,width:0,height:0},style:{opacity:0}}}m&&c.add(f,m,l,0,u)}})}),ne(this._storage,function(d,h){ne(d,function(f,p){var g=i.lastsForAnimation[h][p],m={};g&&(f instanceof qt?g.oldX!=null&&(m.x=f.x,m.y=f.y,f.x=g.oldX,f.y=g.oldY):(g.oldShape&&(m.shape=L2({},f.shape),f.setShape(g.oldShape)),g.fadein?(f.setStyle("opacity",0),m.style={opacity:1}):f.style.opacity!==1&&(m.style={opacity:1})),c.add(f,m,l,0,u))})},this),this._state="animating",c.finished(St(function(){this._state="ready",i.renderFinally()},this)).start()},e.prototype._resetController=function(t){var i=this._controller,r=this._controllerHost;r||(this._controllerHost={target:this.group},r=this._controllerHost),i||(i=this._controller=new hf(t.getZr()),i.enable(this.seriesModel.get("roam")),r.zoomLimit=this.seriesModel.get("scaleLimit"),r.zoom=this.seriesModel.get("zoom"),i.on("pan",St(this._onPan,this)),i.on("zoom",St(this._onZoom,this)));var a=new h3(0,0,t.getWidth(),t.getHeight());i.setPointerChecker(function(o,s,l){return a.contain(s,l)})},e.prototype._clearController=function(){var t=this._controller;this._controllerHost=null,t&&(t.dispose(),t=null)},e.prototype._onPan=function(t){if(this._state!=="animating"&&(Math.abs(t.dx)>mz||Math.abs(t.dy)>mz)){var i=this.seriesModel.getData().tree.root;if(!i)return;var r=i.getLayout();if(!r)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:r.x+t.dx,y:r.y+t.dy,width:r.width,height:r.height}})}},e.prototype._onZoom=function(t){var i=t.originX,r=t.originY,a=t.scale;if(this._state!=="animating"){var o=this.seriesModel.getData().tree.root;if(!o)return;var s=o.getLayout();if(!s)return;var l=new h3(s.x,s.y,s.width,s.height),u=null,c=this._controllerHost;u=c.zoomLimit;var d=c.zoom=c.zoom||1;if(d*=a,u){var h=u.min||0,f=u.max||1/0;d=Math.max(Math.min(f,d),h)}var p=d/c.zoom;c.zoom=d;var g=this.seriesModel.layoutInfo;i-=g.x,r-=g.y;var m=Gr();ls(m,m,[-i,-r]),rP(m,m,[p,p]),ls(m,m,[i,r]),l.applyTransform(m),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:l.x,y:l.y,width:l.width,height:l.height}})}},e.prototype._initEvents=function(t){var i=this;t.on("click",function(r){if(i._state==="ready"){var a=i.seriesModel.get("nodeClick",!0);if(a){var o=i.findTarget(r.offsetX,r.offsetY);if(o){var s=o.node;if(s.getLayout().isLeafRoot)i._rootToNode(o);else if(a==="zoomToNode")i._zoomToNode(o);else if(a==="link"){var l=s.hostTree.data.getItemModel(s.dataIndex),u=l.get("link",!0),c=l.get("target",!0)||"blank";u&&Xv(u,c)}}}}},this)},e.prototype._renderBreadcrumb=function(t,i,r){var a=this;r||(r=t.get("leafDepth",!0)!=null?{node:t.getViewRoot()}:this.findTarget(i.getWidth()/2,i.getHeight()/2),r||(r={node:t.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new tge(this.group))).render(t,i,r.node,function(o){a._state!=="animating"&&(vR(t.getViewRoot(),o)?a._rootToNode({node:o}):a._zoomToNode({node:o}))})},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=bc(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,i){var r,a=this.seriesModel.getViewRoot();return a.eachNode({attr:"viewChildren",order:"preorder"},function(o){var s=this._storage.background[o.getRawIndex()];if(s){var l=s.transformCoordToLocal(t,i),u=s.shape;if(u.x<=l[0]&&l[0]<=u.x+u.width&&u.y<=l[1]&&l[1]<=u.y+u.height)r={node:o,offsetX:l[0],offsetY:l[1]};else return!1}},this),r},e.type="treemap",e}(K1);function bc(){return{nodeGroup:[],background:[],content:[]}}function lge(n,e,t,i,r,a,o,s,l,u){if(!o)return;var c=o.getLayout(),d=n.getData(),h=o.getModel();if(d.setItemGraphicEl(o.dataIndex,null),!c||!c.isInView)return;var f=c.width,p=c.height,g=c.borderWidth,m=c.invisible,v=o.getRawIndex(),_=s&&s.getRawIndex(),S=o.viewChildren,x=c.upperHeight,A=S&&S.length,C=h.getModel("itemStyle"),M=h.getModel(["emphasis","itemStyle"]),I=h.getModel(["blur","itemStyle"]),D=h.getModel(["select","itemStyle"]),E=C.get("borderRadius")||0,L=ve("nodeGroup",uM);if(!L)return;if(l.add(L),L.x=c.x||0,L.y=c.y||0,L.markRedraw(),hy(L).nodeWidth=f,hy(L).nodeHeight=p,c.isAboveViewRoot)return L;var V=ve("background",pz,u,age);V&&re(L,V,A&&c.upperLabelHeight);var Y=h.getModel("emphasis"),G=Y.get("focus"),W=Y.get("blurScope"),q=Y.get("disabled"),ce=G==="ancestor"?o.getAncestorsIndices():G==="descendant"?o.getDescendantIndices():G;if(A)oh(L)&&T8(L,!1),V&&(T8(V,!q),d.setItemGraphicEl(o.dataIndex,V),PC(V,ce,W));else{var J=ve("content",pz,u,oge);J&&ee(L,J),V.disableMorphing=!0,V&&oh(V)&&T8(V,!1),T8(L,!q),d.setItemGraphicEl(o.dataIndex,L);var H=h.getShallow("cursor");H&&J.attr("cursor",H),PC(L,ce,W)}return L;function re(c2,s2,R2){var w2=Xt(s2);if(w2.dataIndex=o.dataIndex,w2.seriesIndex=n.seriesIndex,s2.setShape({x:0,y:0,width:f,height:p,r:E}),m)se(s2);else{s2.invisible=!1;var Re=o.getVisual("style"),k2=Re.stroke,x2=yz(C);x2.fill=k2;var D2=l8(M);D2.fill=M.get("borderColor");var z=l8(I);z.fill=I.get("borderColor");var Q2=l8(D);if(Q2.fill=D.get("borderColor"),R2){var Y2=f-2*g;Be(s2,k2,Re.opacity,{x:g,y:0,width:Y2,height:x})}else s2.removeTextContent();s2.setStyle(x2),s2.ensureState("emphasis").style=D2,s2.ensureState("blur").style=z,s2.ensureState("select").style=Q2,al(s2)}c2.add(s2)}function ee(c2,s2){var R2=Xt(s2);R2.dataIndex=o.dataIndex,R2.seriesIndex=n.seriesIndex;var w2=Math.max(f-2*g,0),Re=Math.max(p-2*g,0);if(s2.culling=!0,s2.setShape({x:g,y:g,width:w2,height:Re,r:E}),m)se(s2);else{s2.invisible=!1;var k2=o.getVisual("style"),x2=k2.fill,D2=yz(C);D2.fill=x2,D2.decal=k2.decal;var z=l8(M),Q2=l8(I),Y2=l8(D);Be(s2,x2,k2.opacity,null),s2.setStyle(D2),s2.ensureState("emphasis").style=z,s2.ensureState("blur").style=Q2,s2.ensureState("select").style=Y2,al(s2)}c2.add(s2)}function se(c2){!c2.invisible&&a.push(c2)}function Be(c2,s2,R2,w2){var Re=h.getModel(w2?vz:gz),k2=dn(h.get("name"),null),x2=Re.getShallow("show");Qn(c2,bn(h,w2?vz:gz),{defaultText:x2?k2:null,inheritColor:s2,defaultOpacity:R2,labelFetcher:n,labelDataIndex:o.dataIndex});var D2=c2.getTextContent();if(D2){var z=D2.style,Q2=tP(z.padding||0);w2&&(c2.setTextConfig({layoutRect:w2}),D2.disableLabelLayout=!0),D2.beforeUpdate=function(){var Ae=Math.max((w2?w2.width:c2.shape.width)-Q2[1]-Q2[3],0),ge=Math.max((w2?w2.height:c2.shape.height)-Q2[0]-Q2[2],0);(z.width!==Ae||z.height!==ge)&&D2.setStyle({width:Ae,height:ge})},z.truncateMinChar=2,z.lineOverflow="truncate",we(z,w2,c);var Y2=D2.getState("emphasis");we(Y2?Y2.style:null,w2,c)}}function we(c2,s2,R2){var w2=c2?c2.text:null;if(!s2&&R2.isLeafRoot&&w2!=null){var Re=n.get("drillDownIcon",!0);c2.text=Re?Re+" "+w2:w2}}function ve(c2,s2,R2,w2){var Re=_!=null&&t[c2][_],k2=r[c2];return Re?(t[c2][_]=null,Ke(k2,Re)):m||(Re=new s2,Re instanceof Ba&&(Re.z2=uge(R2,w2)),p2(k2,Re)),e[c2][v]=Re}function Ke(c2,s2){var R2=c2[v]={};s2 instanceof uM?(R2.oldX=s2.x,R2.oldY=s2.y):R2.oldShape=L2({},s2.shape)}function p2(c2,s2){var R2=c2[v]={},w2=o.parentNode,Re=s2 instanceof qt;if(w2&&(!i||i.direction==="drillDown")){var k2=0,x2=0,D2=r.background[w2.getRawIndex()];!i&&D2&&D2.oldShape&&(k2=D2.oldShape.width,x2=D2.oldShape.height),Re?(R2.oldX=0,R2.oldY=x2):R2.oldShape={x:k2,y:x2,width:0,height:0}}R2.fadein=!Re}}function uge(n,e){return n*rge+e}const cge=sge;var _h=ne,dge=jt,fy=-1,yR=function(){function n(e){var t=e.mappingMethod,i=e.type,r=this.option=$t(e);this.type=i,this.mappingMethod=t,this._normalizeData=pge[t];var a=n.visualHandlers[i];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._normalizedToVisual=a._normalizedToVisual[t],t==="piecewise"?(Rw(r),hge(r)):t==="category"?r.categories?fge(r):Rw(r,!0):(Bi(t!=="linear"||r.dataExtent),Rw(r))}return n.prototype.mapValueToVisual=function(e){var t=this._normalizeData(e);return this._normalizedToVisual(t,e)},n.prototype.getNormalizer=function(){return St(this._normalizeData,this)},n.listVisualTypes=function(){return E3(n.visualHandlers)},n.isValidType=function(e){return n.visualHandlers.hasOwnProperty(e)},n.eachVisual=function(e,t,i){jt(e)?ne(e,t,i):t.call(i,e)},n.mapVisual=function(e,t,i){var r,a=H2(e)?[]:jt(e)?{}:(r=!0,null);return n.eachVisual(e,function(o,s){var l=t.call(i,o,s);r?a=l:a[s]=l}),a},n.retrieveVisuals=function(e){var t={},i;return e&&_h(n.visualHandlers,function(r,a){e.hasOwnProperty(a)&&(t[a]=e[a],i=!0)}),i?t:null},n.prepareVisualTypes=function(e){if(H2(e))e=e.slice();else if(dge(e)){var t=[];_h(e,function(i,r){t.push(r)}),e=t}else return[];return e.sort(function(i,r){return r==="color"&&i!=="color"&&i.indexOf("color")===0?1:-1}),e},n.dependsOn=function(e,t){return t==="color"?!!(e&&e.indexOf(t)===0):e===t},n.findPieceIndex=function(e,t,i){for(var r,a=1/0,o=0,s=t.length;o<s;o++){var l=t[o].value;if(l!=null){if(l===e||_t(l)&&l===e+"")return o;i&&h(l,o)}}for(var o=0,s=t.length;o<s;o++){var u=t[o],c=u.interval,d=u.close;if(c){if(c[0]===-1/0){if(mm(d[1],e,c[1]))return o}else if(c[1]===1/0){if(mm(d[0],c[0],e))return o}else if(mm(d[0],c[0],e)&&mm(d[1],e,c[1]))return o;i&&h(c[0],o),i&&h(c[1],o)}}if(i)return e===1/0?t.length-1:e===-1/0?0:r;function h(f,p){var g=Math.abs(f-e);g<a&&(a=g,r=p)}},n.visualHandlers={color:{applyVisual:xc("color"),getColorMapper:function(){var e=this.option;return St(e.mappingMethod==="category"?function(t,i){return!i&&(t=this._normalizeData(t)),nd.call(this,t)}:function(t,i,r){var a=!!r;return!i&&(t=this._normalizeData(t)),r=ux(t,e.parsedVisual,r),a?r:Qs(r,"rgba")},this)},_normalizedToVisual:{linear:function(e){return Qs(ux(e,this.option.parsedVisual),"rgba")},category:nd,piecewise:function(e,t){var i=dM.call(this,t);return i==null&&(i=Qs(ux(e,this.option.parsedVisual),"rgba")),i},fixed:u8}},colorHue:pm(function(e,t){return md(e,t)}),colorSaturation:pm(function(e,t){return md(e,null,t)}),colorLightness:pm(function(e,t){return md(e,null,null,t)}),colorAlpha:pm(function(e,t){return Ov(e,t)}),decal:{applyVisual:xc("decal"),_normalizedToVisual:{linear:null,category:nd,piecewise:null,fixed:null}},opacity:{applyVisual:xc("opacity"),_normalizedToVisual:cM([0,1])},liftZ:{applyVisual:xc("liftZ"),_normalizedToVisual:{linear:u8,category:u8,piecewise:u8,fixed:u8}},symbol:{applyVisual:function(e,t,i){var r=this.mapValueToVisual(e);i("symbol",r)},_normalizedToVisual:{linear:_z,category:nd,piecewise:function(e,t){var i=dM.call(this,t);return i==null&&(i=_z.call(this,e)),i},fixed:u8}},symbolSize:{applyVisual:xc("symbolSize"),_normalizedToVisual:cM([0,1])}},n}();function hge(n){var e=n.pieceList;n.hasSpecialVisual=!1,ne(e,function(t,i){t.originIndex=i,t.visual!=null&&(n.hasSpecialVisual=!0)})}function fge(n){var e=n.categories,t=n.categoryMap={},i=n.visual;if(_h(e,function(o,s){t[o]=s}),!H2(i)){var r=[];jt(i)?_h(i,function(o,s){var l=t[s];r[l!=null?l:fy]=o}):r[fy]=i,i=CJ(n,r)}for(var a=e.length-1;a>=0;a--)i[a]==null&&(delete t[e[a]],e.pop())}function Rw(n,e){var t=n.visual,i=[];jt(t)?_h(t,function(a){i.push(a)}):t!=null&&i.push(t);var r={color:1,symbol:1};!e&&i.length===1&&!r.hasOwnProperty(n.type)&&(i[1]=i[0]),CJ(n,i)}function pm(n){return{applyVisual:function(e,t,i){var r=this.mapValueToVisual(e);i("color",n(t("color"),r))},_normalizedToVisual:cM([0,1])}}function _z(n){var e=this.option.visual;return e[Math.round(p1(n,[0,1],[0,e.length-1],!0))]||{}}function xc(n){return function(e,t,i){i(n,this.mapValueToVisual(e))}}function nd(n){var e=this.option.visual;return e[this.option.loop&&n!==fy?n%e.length:n]}function u8(){return this.option.visual[0]}function cM(n){return{linear:function(e){return p1(e,n,this.option.visual,!0)},category:nd,piecewise:function(e,t){var i=dM.call(this,t);return i==null&&(i=p1(e,n,this.option.visual,!0)),i},fixed:u8}}function dM(n){var e=this.option,t=e.pieceList;if(e.hasSpecialVisual){var i=yR.findPieceIndex(n,t),r=t[i];if(r&&r.visual)return r.visual[this.type]}}function CJ(n,e){return n.visual=e,n.type==="color"&&(n.parsedVisual=j2(e,function(t){var i=Vr(t);return i||[0,0,0,1]})),e}var pge={linear:function(n){return p1(n,this.option.dataExtent,[0,1],!0)},piecewise:function(n){var e=this.option.pieceList,t=yR.findPieceIndex(n,e,!0);if(t!=null)return p1(t,[0,e.length-1],[0,1],!0)},category:function(n){var e=this.option.categories?this.option.categoryMap[n]:n;return e==null?fy:e},fixed:U0};function mm(n,e,t){return n?e<=t:e<t}const Zn=yR;var mge="itemStyle",MJ=B3();const gge={seriesType:"treemap",reset:function(n){var e=n.getData().tree,t=e.root;t.isRemoved()||EJ(t,{},n.getViewRoot().getAncestors(),n)}};function EJ(n,e,t,i){var r=n.getModel(),a=n.getLayout(),o=n.hostTree.data;if(!(!a||a.invisible||!a.isInView)){var s=r.getModel(mge),l=vge(s,e,i),u=o.ensureUniqueItemVisual(n.dataIndex,"style"),c=s.get("borderColor"),d=s.get("borderColorSaturation"),h;d!=null&&(h=Sz(l),c=yge(d,h)),u.stroke=c;var f=n.viewChildren;if(!f||!f.length)h=Sz(l),u.fill=h;else{var p=_ge(n,r,a,s,l,f);ne(f,function(g,m){if(g.depth>=t.length||g===t[g.depth]){var v=Sge(r,l,g,m,p,i);EJ(g,v,t,i)}})}}}function vge(n,e,t){var i=L2({},e),r=t.designatedVisualItemStyle;return ne(["color","colorAlpha","colorSaturation"],function(a){r[a]=e[a];var o=n.get(a);r[a]=null,o!=null&&(i[a]=o)}),i}function Sz(n){var e=Lw(n,"color");if(e){var t=Lw(n,"colorAlpha"),i=Lw(n,"colorSaturation");return i&&(e=md(e,null,null,i)),t&&(e=Ov(e,t)),e}}function yge(n,e){return e!=null?md(e,null,null,n):null}function Lw(n,e){var t=n[e];if(t!=null&&t!=="none")return t}function _ge(n,e,t,i,r,a){if(!(!a||!a.length)){var o=Iw(e,"color")||r.color!=null&&r.color!=="none"&&(Iw(e,"colorAlpha")||Iw(e,"colorSaturation"));if(o){var s=e.get("visualMin"),l=e.get("visualMax"),u=t.dataExtent.slice();s!=null&&s<u[0]&&(u[0]=s),l!=null&&l>u[1]&&(u[1]=l);var c=e.get("colorMappingBy"),d={type:o.name,dataExtent:u,visual:o.range};d.type==="color"&&(c==="index"||c==="id")?(d.mappingMethod="category",d.loop=!0):d.mappingMethod="linear";var h=new Zn(d);return MJ(h).drColorMappingBy=c,h}}}function Iw(n,e){var t=n.get(e);return H2(t)&&t.length?{name:e,range:t}:null}function Sge(n,e,t,i,r,a){var o=L2({},e);if(r){var s=r.type,l=s==="color"&&MJ(r).drColorMappingBy,u=l==="index"?i:l==="id"?a.mapIdToIndex(t.getId()):t.getValue(n.get("visualDimension"));o[s]=r.mapValueToVisual(u)}return o}var Sh=Math.max,py=Math.min,bz=kn,_R=ne,PJ=["itemStyle","borderWidth"],bge=["itemStyle","gapWidth"],xge=["upperLabel","show"],wge=["upperLabel","height"];const Tge={seriesType:"treemap",reset:function(n,e,t,i){var r=t.getWidth(),a=t.getHeight(),o=n.option,s=hn(n.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),l=o.size||[],u=ft(bz(s.width,l[0]),r),c=ft(bz(s.height,l[1]),a),d=i&&i.type,h=["treemapZoomToNode","treemapRootToNode"],f=yh(i,h,n),p=d==="treemapRender"||d==="treemapMove"?i.rootRect:null,g=n.getViewRoot(),m=wJ(g);if(d!=="treemapMove"){var v=d==="treemapZoomToNode"?Rge(n,f,g,u,c):p?[p.width,p.height]:[u,c],_=o.sort;_&&_!=="asc"&&_!=="desc"&&(_="desc");var S={squareRatio:o.squareRatio,sort:_,leafDepth:o.leafDepth};g.hostTree.clearLayouts();var x={x:0,y:0,width:v[0],height:v[1],area:v[0]*v[1]};g.setLayout(x),RJ(g,S,!1,0),x=g.getLayout(),_R(m,function(C,M){var I=(m[M+1]||g).getValue();C.setLayout(L2({dataExtent:[I,I],borderWidth:0,upperHeight:0},x))})}var A=n.getData().tree.root;A.setLayout(Lge(s,p,f),!0),n.setLayoutInfo(s),LJ(A,new h3(-s.x,-s.y,r,a),m,g,0)}};function RJ(n,e,t,i){var r,a;if(!n.isRemoved()){var o=n.getLayout();r=o.width,a=o.height;var s=n.getModel(),l=s.get(PJ),u=s.get(bge)/2,c=IJ(s),d=Math.max(l,c),h=l-u,f=d-u;n.setLayout({borderWidth:l,upperHeight:d,upperLabelHeight:c},!0),r=Sh(r-2*h,0),a=Sh(a-h-f,0);var p=r*a,g=Age(n,s,p,e,t,i);if(g.length){var m={x:h,y:f,width:r,height:a},v=py(r,a),_=1/0,S=[];S.area=0;for(var x=0,A=g.length;x<A;){var C=g[x];S.push(C),S.area+=C.getLayout().area;var M=Pge(S,v,e.squareRatio);M<=_?(x++,_=M):(S.area-=S.pop().getLayout().area,xz(S,v,m,u,!1),v=py(m.width,m.height),S.length=S.area=0,_=1/0)}if(S.length&&xz(S,v,m,u,!0),!t){var I=s.get("childrenVisibleMin");I!=null&&p<I&&(t=!0)}for(var x=0,A=g.length;x<A;x++)RJ(g[x],e,t,i+1)}}}function Age(n,e,t,i,r,a){var o=n.children||[],s=i.sort;s!=="asc"&&s!=="desc"&&(s=null);var l=i.leafDepth!=null&&i.leafDepth<=a;if(r&&!l)return n.viewChildren=[];o=c1(o,function(f){return!f.isRemoved()}),Mge(o,s);var u=Ege(e,o,s);if(u.sum===0)return n.viewChildren=[];if(u.sum=Cge(e,t,u.sum,s,o),u.sum===0)return n.viewChildren=[];for(var c=0,d=o.length;c<d;c++){var h=o[c].getValue()/u.sum*t;o[c].setLayout({area:h})}return l&&(o.length&&n.setLayout({isLeafRoot:!0},!0),o.length=0),n.viewChildren=o,n.setLayout({dataExtent:u.dataExtent},!0),o}function Cge(n,e,t,i,r){if(!i)return t;for(var a=n.get("visibleMin"),o=r.length,s=o,l=o-1;l>=0;l--){var u=r[i==="asc"?o-l-1:l].getValue();u/t*e<a&&(s=l,t-=u)}return i==="asc"?r.splice(0,o-s):r.splice(s,o-s),t}function Mge(n,e){return e&&n.sort(function(t,i){var r=e==="asc"?t.getValue()-i.getValue():i.getValue()-t.getValue();return r===0?e==="asc"?t.dataIndex-i.dataIndex:i.dataIndex-t.dataIndex:r}),n}function Ege(n,e,t){for(var i=0,r=0,a=e.length;r<a;r++)i+=e[r].getValue();var o=n.get("visualDimension"),s;return!e||!e.length?s=[NaN,NaN]:o==="value"&&t?(s=[e[e.length-1].getValue(),e[0].getValue()],t==="asc"&&s.reverse()):(s=[1/0,-1/0],_R(e,function(l){var u=l.getValue(o);u<s[0]&&(s[0]=u),u>s[1]&&(s[1]=u)})),{sum:i,dataExtent:s}}function Pge(n,e,t){for(var i=0,r=1/0,a=0,o=void 0,s=n.length;a<s;a++)o=n[a].getLayout().area,o&&(o<r&&(r=o),o>i&&(i=o));var l=n.area*n.area,u=e*e*t;return l?Sh(u*i/l,l/(u*r)):1/0}function xz(n,e,t,i,r){var a=e===t.width?0:1,o=1-a,s=["x","y"],l=["width","height"],u=t[s[a]],c=e?n.area/e:0;(r||c>t[l[o]])&&(c=t[l[o]]);for(var d=0,h=n.length;d<h;d++){var f=n[d],p={},g=c?f.getLayout().area/c:0,m=p[l[o]]=Sh(c-2*i,0),v=t[s[a]]+t[l[a]]-u,_=d===h-1||v<g?v:g,S=p[l[a]]=Sh(_-2*i,0);p[s[o]]=t[s[o]]+py(i,m/2),p[s[a]]=u+py(i,S/2),u+=_,f.setLayout(p,!0)}t[s[o]]+=c,t[l[o]]-=c}function Rge(n,e,t,i,r){var a=(e||{}).node,o=[i,r];if(!a||a===t)return o;for(var s,l=i*r,u=l*n.option.zoomToNodeRatio;s=a.parentNode;){for(var c=0,d=s.children,h=0,f=d.length;h<f;h++)c+=d[h].getValue();var p=a.getValue();if(p===0)return o;u*=c/p;var g=s.getModel(),m=g.get(PJ),v=Math.max(m,IJ(g));u+=4*m*m+(3*m+v)*Math.pow(u,.5),u>Nk&&(u=Nk),a=s}u<l&&(u=l);var _=Math.pow(u/l,.5);return[i*_,r*_]}function Lge(n,e,t){if(e)return{x:e.x,y:e.y};var i={x:0,y:0};if(!t)return i;var r=t.node,a=r.getLayout();if(!a)return i;for(var o=[a.width/2,a.height/2],s=r;s;){var l=s.getLayout();o[0]+=l.x,o[1]+=l.y,s=s.parentNode}return{x:n.width/2-o[0],y:n.height/2-o[1]}}function LJ(n,e,t,i,r){var a=n.getLayout(),o=t[r],s=o&&o===n;if(!(o&&!s||r===t.length&&n!==i)){n.setLayout({isInView:!0,invisible:!s&&!e.intersect(a),isAboveViewRoot:s},!0);var l=new h3(e.x-a.x,e.y-a.y,e.width,e.height);_R(n.viewChildren||[],function(u){LJ(u,l,t,i,r+1)})}}function IJ(n){return n.get(xge)?n.get(wge):0}function Ige(n){n.registerSeriesModel(Kme),n.registerChartView(cge),n.registerVisual(gge),n.registerLayout(Tge),Yme(n)}function Dge(n){var e=n.findComponents({mainType:"legend"});!e||!e.length||n.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),r=t.getGraph(),a=r.data,o=i.mapArray(i.getName);a.filterSelf(function(s){var l=a.getItemModel(s),u=l.getShallow("category");if(u!=null){q3(u)&&(u=o[u]);for(var c=0;c<e.length;c++)if(!e[c].isSelected(u))return!1}return!0})})}function Nge(n){var e={};n.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),r=t.getData(),a={};i.each(function(o){var s=i.getName(o);a["ec-"+s]=o;var l=i.getItemModel(o),u=l.getModel("itemStyle").getItemStyle();u.fill||(u.fill=t.getColorFromPalette(s,e)),i.setItemVisual(o,"style",u);for(var c=["symbol","symbolSize","symbolKeepAspect"],d=0;d<c.length;d++){var h=l.getShallow(c[d],!0);h!=null&&i.setItemVisual(o,c[d],h)}}),i.count()&&r.each(function(o){var s=r.getItemModel(o),l=s.getShallow("category");if(l!=null){_t(l)&&(l=a["ec-"+l]);var u=i.getItemVisual(l,"style"),c=r.ensureUniqueItemVisual(o,"style");L2(c,u);for(var d=["symbol","symbolSize","symbolKeepAspect"],h=0;h<d.length;h++)r.setItemVisual(o,d[h],i.getItemVisual(l,d[h]))}})})}function gm(n){return n instanceof Array||(n=[n,n]),n}function kge(n){n.eachSeriesByType("graph",function(e){var t=e.getGraph(),i=e.getEdgeData(),r=gm(e.get("edgeSymbol")),a=gm(e.get("edgeSymbolSize"));i.setVisual("fromSymbol",r&&r[0]),i.setVisual("toSymbol",r&&r[1]),i.setVisual("fromSymbolSize",a&&a[0]),i.setVisual("toSymbolSize",a&&a[1]),i.setVisual("style",e.getModel("lineStyle").getLineStyle()),i.each(function(o){var s=i.getItemModel(o),l=t.getEdgeByIndex(o),u=gm(s.getShallow("symbol",!0)),c=gm(s.getShallow("symbolSize",!0)),d=s.getModel("lineStyle").getLineStyle(),h=i.ensureUniqueItemVisual(o,"style");switch(L2(h,d),h.stroke){case"source":{var f=l.node1.getVisual("style");h.stroke=f&&f.fill;break}case"target":{var f=l.node2.getVisual("style");h.stroke=f&&f.fill;break}}u[0]&&l.setVisual("fromSymbol",u[0]),u[1]&&l.setVisual("toSymbol",u[1]),c[0]&&l.setVisual("fromSymbolSize",c[0]),c[1]&&l.setVisual("toSymbolSize",c[1])})})}var hM="-->",eS=function(n){return n.get("autoCurveness")||null},DJ=function(n,e){var t=eS(n),i=20,r=[];if(q3(t))i=t;else if(H2(t)){n.__curvenessList=t;return}e>i&&(i=e);var a=i%2?i+2:i+3;r=[];for(var o=0;o<a;o++)r.push((o%2?o+1:o)/10*(o%2?-1:1));n.__curvenessList=r},bh=function(n,e,t){var i=[n.id,n.dataIndex].join("."),r=[e.id,e.dataIndex].join(".");return[t.uid,i,r].join(hM)},NJ=function(n){var e=n.split(hM);return[e[0],e[2],e[1]].join(hM)},Fge=function(n,e){var t=bh(n.node1,n.node2,e);return e.__edgeMap[t]},Oge=function(n,e){var t=fM(bh(n.node1,n.node2,e),e),i=fM(bh(n.node2,n.node1,e),e);return t+i},fM=function(n,e){var t=e.__edgeMap;return t[n]?t[n].length:0};function Bge(n){eS(n)&&(n.__curvenessList=[],n.__edgeMap={},DJ(n))}function zge(n,e,t,i){if(eS(t)){var r=bh(n,e,t),a=t.__edgeMap,o=a[NJ(r)];a[r]&&!o?a[r].isForward=!0:o&&a[r]&&(o.isForward=!0,a[r].isForward=!1),a[r]=a[r]||[],a[r].push(i)}}function SR(n,e,t,i){var r=eS(e),a=H2(r);if(!r)return null;var o=Fge(n,e);if(!o)return null;for(var s=-1,l=0;l<o.length;l++)if(o[l]===t){s=l;break}var u=Oge(n,e);DJ(e,u),n.lineStyle=n.lineStyle||{};var c=bh(n.node1,n.node2,e),d=e.__curvenessList,h=a||u%2?0:1;if(o.isForward)return d[h+s];var f=NJ(c),p=fM(f,e),g=d[s+p+h];return i?a?r&&r[0]===0?(p+h)%2?g:-g:((p%2?0:1)+h)%2?g:-g:(p+h)%2?g:-g:d[s+p+h]}function kJ(n){var e=n.coordinateSystem;if(!(e&&e.type!=="view")){var t=n.getGraph();t.eachNode(function(i){var r=i.getModel();i.setLayout([+r.get("x"),+r.get("y")])}),bR(t,n)}}function bR(n,e){n.eachEdge(function(t,i){var r=es(t.getModel().get(["lineStyle","curveness"]),-SR(t,e,i,!0),0),a=Zs(t.node1.getLayout()),o=Zs(t.node2.getLayout()),s=[a,o];+r&&s.push([(a[0]+o[0])/2-(a[1]-o[1])*r,(a[1]+o[1])/2-(o[0]-a[0])*r]),t.setLayout(s)})}function Uge(n,e){n.eachSeriesByType("graph",function(t){var i=t.get("layout"),r=t.coordinateSystem;if(r&&r.type!=="view"){var a=t.getData(),o=[];ne(r.dimensions,function(h){o=o.concat(a.mapDimensionsAll(h))});for(var s=0;s<a.count();s++){for(var l=[],u=!1,c=0;c<o.length;c++){var d=a.get(o[c],s);isNaN(d)||(u=!0),l.push(d)}u?a.setItemLayout(s,r.dataToPoint(l)):a.setItemLayout(s,[NaN,NaN])}bR(a.graph,t)}else(!i||i==="none")&&kJ(t)})}function id(n){var e=n.coordinateSystem;if(e.type!=="view")return 1;var t=n.option.nodeScaleRatio,i=e.scaleX,r=e.getZoom(),a=(r-1)*t+1;return a/i}function rd(n){var e=n.getVisual("symbolSize");return e instanceof Array&&(e=(e[0]+e[1])/2),+e}var wz=Math.PI,Dw=[];function xR(n,e,t,i){var r=n.coordinateSystem;if(!(r&&r.type!=="view")){var a=r.getBoundingRect(),o=n.getData(),s=o.graph,l=a.width/2+a.x,u=a.height/2+a.y,c=Math.min(a.width,a.height)/2,d=o.count();if(o.setLayout({cx:l,cy:u}),!!d){if(t){var h=r.pointToData(i),f=h[0],p=h[1],g=[f-l,p-u];ou(g,g),Vg(g,g,c),t.setLayout([l+g[0],u+g[1]],!0);var m=n.get(["circular","rotateLabel"]);FJ(t,m,l,u)}Gge[e](n,s,o,c,l,u,d),s.eachEdge(function(v,_){var S=es(v.getModel().get(["lineStyle","curveness"]),SR(v,n,_),0),x=Zs(v.node1.getLayout()),A=Zs(v.node2.getLayout()),C,M=(x[0]+A[0])/2,I=(x[1]+A[1])/2;+S&&(S*=3,C=[l*S+M*(1-S),u*S+I*(1-S)]),v.setLayout([x,A,C])})}}}var Gge={value:function(n,e,t,i,r,a,o){var s=0,l=t.getSum("value"),u=Math.PI*2/(l||o);e.eachNode(function(c){var d=c.getValue("value"),h=u*(l?d:1)/2;s+=h,c.setLayout([i*Math.cos(s)+r,i*Math.sin(s)+a]),s+=h})},symbolSize:function(n,e,t,i,r,a,o){var s=0;Dw.length=o;var l=id(n);e.eachNode(function(d){var h=rd(d);isNaN(h)&&(h=2),h<0&&(h=0),h*=l;var f=Math.asin(h/2/i);isNaN(f)&&(f=wz/2),Dw[d.dataIndex]=f,s+=f*2});var u=(2*wz-s)/o/2,c=0;e.eachNode(function(d){var h=u+Dw[d.dataIndex];c+=h,(!d.getLayout()||!d.getLayout().fixed)&&d.setLayout([i*Math.cos(c)+r,i*Math.sin(c)+a]),c+=h})}};function FJ(n,e,t,i){var r=n.getGraphicEl();if(r){var a=n.getModel(),o=a.get(["label","rotate"])||0,s=r.getSymbolPath();if(e){var l=n.getLayout(),u=Math.atan2(l[1]-i,l[0]-t);u<0&&(u=Math.PI*2+u);var c=l[0]<t;c&&(u=u-Math.PI);var d=c?"left":"right";s.setTextConfig({rotation:-u,position:d,origin:"center"});var h=s.ensureState("emphasis");L2(h.textConfig||(h.textConfig={}),{position:d})}else s.setTextConfig({rotation:o*=Math.PI/180})}}function Vge(n){n.eachSeriesByType("graph",function(e){e.get("layout")==="circular"&&xR(e,"symbolSize")})}var o4=QA;function Hge(n,e,t){for(var i=n,r=e,a=t.rect,o=a.width,s=a.height,l=[a.x+o/2,a.y+s/2],u=t.gravity==null?.1:t.gravity,c=0;c<i.length;c++){var d=i[c];d.p||(d.p=yl(o*(Math.random()-.5)+l[0],s*(Math.random()-.5)+l[1])),d.pp=Zs(d.p),d.edges=null}var h=t.friction==null?.6:t.friction,f=h,p,g;return{warmUp:function(){f=h*.8},setFixed:function(m){i[m].fixed=!0},setUnfixed:function(m){i[m].fixed=!1},beforeStep:function(m){p=m},afterStep:function(m){g=m},step:function(m){p&&p(i,r);for(var v=[],_=i.length,S=0;S<r.length;S++){var x=r[S];if(!x.ignoreForceLayout){var A=x.n1,C=x.n2;x8(v,C.p,A.p);var M=eC(v)-x.d,I=C.w/(A.w+C.w);isNaN(I)&&(I=0),ou(v,v),!A.fixed&&o4(A.p,A.p,v,I*M*f),!C.fixed&&o4(C.p,C.p,v,-(1-I)*M*f)}}for(var S=0;S<_;S++){var D=i[S];D.fixed||(x8(v,l,D.p),o4(D.p,D.p,v,u*f))}for(var S=0;S<_;S++)for(var A=i[S],E=S+1;E<_;E++){var C=i[E];x8(v,C.p,A.p);var M=eC(v);M===0&&(X6e(v,Math.random()-.5,Math.random()-.5),M=1);var L=(A.rep+C.rep)/M/M;!A.fixed&&o4(A.pp,A.pp,v,L),!C.fixed&&o4(C.pp,C.pp,v,-L)}for(var V=[],S=0;S<_;S++){var D=i[S];D.fixed||(x8(V,D.p,D.pp),o4(D.p,D.p,V,f),Pi(D.pp,D.p))}f=f*.992;var Y=f<.01;g&&g(i,r,Y),m&&m(Y)}}}function Wge(n){n.eachSeriesByType("graph",function(e){var t=e.coordinateSystem;if(!(t&&t.type!=="view"))if(e.get("layout")==="force"){var i=e.preservedPoints||{},r=e.getGraph(),a=r.data,o=r.edgeData,s=e.getModel("force"),l=s.get("initLayout");e.preservedPoints?a.each(function(S){var x=a.getId(S);a.setItemLayout(S,i[x]||[NaN,NaN])}):!l||l==="none"?kJ(e):l==="circular"&&xR(e,"value");var u=a.getDataExtent("value"),c=o.getDataExtent("value"),d=s.get("repulsion"),h=s.get("edgeLength"),f=H2(d)?d:[d,d],p=H2(h)?h:[h,h];p=[p[1],p[0]];var g=a.mapArray("value",function(S,x){var A=a.getItemLayout(x),C=p1(S,u,f);return isNaN(C)&&(C=(f[0]+f[1])/2),{w:C,rep:C,fixed:a.getItemModel(x).get("fixed"),p:!A||isNaN(A[0])||isNaN(A[1])?null:A}}),m=o.mapArray("value",function(S,x){var A=r.getEdgeByIndex(x),C=p1(S,c,p);isNaN(C)&&(C=(p[0]+p[1])/2);var M=A.getModel(),I=es(A.getModel().get(["lineStyle","curveness"]),-SR(A,e,x,!0),0);return{n1:g[A.node1.dataIndex],n2:g[A.node2.dataIndex],d:C,curveness:I,ignoreForceLayout:M.get("ignoreForceLayout")}}),v=t.getBoundingRect(),_=Hge(g,m,{rect:v,gravity:s.get("gravity"),friction:s.get("friction")});_.beforeStep(function(S,x){for(var A=0,C=S.length;A<C;A++)S[A].fixed&&Pi(S[A].p,r.getNodeByIndex(A).getLayout())}),_.afterStep(function(S,x,A){for(var C=0,M=S.length;C<M;C++)S[C].fixed||r.getNodeByIndex(C).setLayout(S[C].p),i[a.getId(C)]=S[C].p;for(var C=0,M=x.length;C<M;C++){var I=x[C],D=r.getEdgeByIndex(C),E=I.n1.p,L=I.n2.p,V=D.getLayout();V=V?V.slice():[],V[0]=V[0]||[],V[1]=V[1]||[],Pi(V[0],E),Pi(V[1],L),+I.curveness&&(V[2]=[(E[0]+L[0])/2-(E[1]-L[1])*I.curveness,(E[1]+L[1])/2-(L[0]-E[0])*I.curveness]),D.setLayout(V)}}),e.forceLayout=_,e.preservedPoints=i,_.step()}else e.forceLayout=null})}function jge(n,e,t){var i=L2(n.getBoxLayoutParams(),{aspect:t});return hn(i,{width:e.getWidth(),height:e.getHeight()})}function $ge(n,e){var t=[];return n.eachSeriesByType("graph",function(i){var r=i.get("coordinateSystem");if(!r||r==="view"){var a=i.getData(),o=a.mapArray(function(m){var v=a.getItemModel(m);return[+v.get("x"),+v.get("y")]}),s=[],l=[];C_(o,s,l),l[0]-s[0]===0&&(l[0]+=1,s[0]-=1),l[1]-s[1]===0&&(l[1]+=1,s[1]-=1);var u=(l[0]-s[0])/(l[1]-s[1]),c=jge(i,e,u);isNaN(u)&&(s=[c.x,c.y],l=[c.x+c.width,c.y+c.height]);var d=l[0]-s[0],h=l[1]-s[1],f=c.width,p=c.height,g=i.coordinateSystem=new ff;g.zoomLimit=i.get("scaleLimit"),g.setBoundingRect(s[0],s[1],d,h),g.setViewRect(c.x,c.y,f,p),g.setCenter(i.get("center"),e),g.setZoom(i.get("zoom")),t.push(g)}}),t}var Tz=Fn.prototype,Nw=R_.prototype,OJ=function(){function n(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1}return n}();(function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e})(OJ);function kw(n){return isNaN(+n.cpx1)||isNaN(+n.cpy1)}var Yge=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="ec-line",i}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new OJ},e.prototype.buildPath=function(t,i){kw(i)?Tz.buildPath.call(this,t,i):Nw.buildPath.call(this,t,i)},e.prototype.pointAt=function(t){return kw(this.shape)?Tz.pointAt.call(this,t):Nw.pointAt.call(this,t)},e.prototype.tangentAt=function(t){var i=this.shape,r=kw(i)?[i.x2-i.x1,i.y2-i.y1]:Nw.tangentAt.call(this,t);return ou(r,r)},e}(C3);const qge=Yge;var Fw=["fromSymbol","toSymbol"];function Az(n){return"_"+n+"Type"}function Cz(n,e,t){var i=e.getItemVisual(t,n);if(!i||i==="none")return i;var r=e.getItemVisual(t,n+"Size"),a=e.getItemVisual(t,n+"Rotate"),o=e.getItemVisual(t,n+"Offset"),s=e.getItemVisual(t,n+"KeepAspect"),l=_u(r),u=wl(o||0,l);return i+l+u+(a||"")+(s||"")}function Mz(n,e,t){var i=e.getItemVisual(t,n);if(!(!i||i==="none")){var r=e.getItemVisual(t,n+"Size"),a=e.getItemVisual(t,n+"Rotate"),o=e.getItemVisual(t,n+"Offset"),s=e.getItemVisual(t,n+"KeepAspect"),l=_u(r),u=wl(o||0,l),c=J0(i,-l[0]/2+u[0],-l[1]/2+u[1],l[0],l[1],null,s);return c.__specifiedRotation=a==null||isNaN(a)?void 0:+a*Math.PI/180||0,c.name=n,c}}function Xge(n){var e=new qge({name:"line",subPixelOptimize:!0});return pM(e.shape,n),e}function pM(n,e){n.x1=e[0][0],n.y1=e[0][1],n.x2=e[1][0],n.y2=e[1][1],n.percent=1;var t=e[2];t?(n.cpx1=t[0],n.cpy1=t[1]):(n.cpx1=NaN,n.cpy1=NaN)}var Kge=function(n){g2(e,n);function e(t,i,r){var a=n.call(this)||this;return a._createLine(t,i,r),a}return e.prototype._createLine=function(t,i,r){var a=t.hostModel,o=t.getItemLayout(i),s=Xge(o);s.shape.percent=0,l0(s,{shape:{percent:1}},a,i),this.add(s),ne(Fw,function(l){var u=Mz(l,t,i);this.add(u),this[Az(l)]=Cz(l,t,i)},this),this._updateCommonStl(t,i,r)},e.prototype.updateData=function(t,i,r){var a=t.hostModel,o=this.childOfName("line"),s=t.getItemLayout(i),l={shape:{}};pM(l.shape,s),Q3(o,l,a,i),ne(Fw,function(u){var c=Cz(u,t,i),d=Az(u);if(this[d]!==c){this.remove(this.childOfName(u));var h=Mz(u,t,i);this.add(h)}this[d]=c},this),this._updateCommonStl(t,i,r)},e.prototype.getLinePath=function(){return this.childAt(0)},e.prototype._updateCommonStl=function(t,i,r){var a=t.hostModel,o=this.childOfName("line"),s=r&&r.emphasisLineStyle,l=r&&r.blurLineStyle,u=r&&r.selectLineStyle,c=r&&r.labelStatesModels,d=r&&r.emphasisDisabled,h=r&&r.focus,f=r&&r.blurScope;if(!r||t.hasItemOption){var p=t.getItemModel(i),g=p.getModel("emphasis");s=g.getModel("lineStyle").getLineStyle(),l=p.getModel(["blur","lineStyle"]).getLineStyle(),u=p.getModel(["select","lineStyle"]).getLineStyle(),d=g.get("disabled"),h=g.get("focus"),f=g.get("blurScope"),c=bn(p)}var m=t.getItemVisual(i,"style"),v=m.stroke;o.useStyle(m),o.style.fill=null,o.style.strokeNoScale=!0,o.ensureState("emphasis").style=s,o.ensureState("blur").style=l,o.ensureState("select").style=u,ne(Fw,function(C){var M=this.childOfName(C);if(M){M.setColor(v),M.style.opacity=m.opacity;for(var I=0;I<zi.length;I++){var D=zi[I],E=o.getState(D);if(E){var L=E.style||{},V=M.ensureState(D),Y=V.style||(V.style={});L.stroke!=null&&(Y[M.__isEmptyBrush?"stroke":"fill"]=L.stroke),L.opacity!=null&&(Y.opacity=L.opacity)}}M.markRedraw()}},this);var _=a.getRawValue(i);Qn(this,c,{labelDataIndex:i,labelFetcher:{getFormattedLabel:function(C,M){return a.getFormattedLabel(C,M,t.dataType)}},inheritColor:v||"#000",defaultOpacity:m.opacity,defaultText:(_==null?t.getName(i):isFinite(_)?L0(_):_)+""});var S=this.getTextContent();if(S){var x=c.normal;S.__align=S.style.align,S.__verticalAlign=S.style.verticalAlign,S.__position=x.get("position")||"middle";var A=x.get("distance");H2(A)||(A=[A,A]),S.__labelDistance=A}this.setTextConfig({position:null,local:!0,inside:!1}),b0(this,h,f,d)},e.prototype.highlight=function(){o6(this)},e.prototype.downplay=function(){s6(this)},e.prototype.updateLayout=function(t,i){this.setLinePoints(t.getItemLayout(i))},e.prototype.setLinePoints=function(t){var i=this.childOfName("line");pM(i.shape,t),i.dirty()},e.prototype.beforeUpdate=function(){var t=this,i=t.childOfName("fromSymbol"),r=t.childOfName("toSymbol"),a=t.getTextContent();if(!i&&!r&&(!a||a.ignore))return;for(var o=1,s=this.parent;s;)s.scaleX&&(o/=s.scaleX),s=s.parent;var l=t.childOfName("line");if(!this.__dirty&&!l.__dirty)return;var u=l.shape.percent,c=l.pointAt(0),d=l.pointAt(u),h=x8([],d,c);ou(h,h);function f(E,L){var V=E.__specifiedRotation;if(V==null){var Y=l.tangentAt(L);E.attr("rotation",(L===1?-1:1)*Math.PI/2-Math.atan2(Y[1],Y[0]))}else E.attr("rotation",V)}if(i&&(i.setPosition(c),f(i,0),i.scaleX=i.scaleY=o*u,i.markRedraw()),r&&(r.setPosition(d),f(r,1),r.scaleX=r.scaleY=o*u,r.markRedraw()),a&&!a.ignore){a.x=a.y=0,a.originX=a.originY=0;var p=void 0,g=void 0,m=a.__labelDistance,v=m[0]*o,_=m[1]*o,S=u/2,x=l.tangentAt(S),A=[x[1],-x[0]],C=l.pointAt(S);A[1]>0&&(A[0]=-A[0],A[1]=-A[1]);var M=x[0]<0?-1:1;if(a.__position!=="start"&&a.__position!=="end"){var I=-Math.atan2(x[1],x[0]);d[0]<c[0]&&(I=Math.PI+I),a.rotation=I}var D=void 0;switch(a.__position){case"insideStartTop":case"insideMiddleTop":case"insideEndTop":case"middle":D=-_,g="bottom";break;case"insideStartBottom":case"insideMiddleBottom":case"insideEndBottom":D=_,g="top";break;default:D=0,g="middle"}switch(a.__position){case"end":a.x=h[0]*v+d[0],a.y=h[1]*_+d[1],p=h[0]>.8?"left":h[0]<-.8?"right":"center",g=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":a.x=-h[0]*v+c[0],a.y=-h[1]*_+c[1],p=h[0]>.8?"right":h[0]<-.8?"left":"center",g=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":a.x=v*M+c[0],a.y=c[1]+D,p=x[0]<0?"right":"left",a.originX=-v*M,a.originY=-D;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":a.x=C[0],a.y=C[1]+D,p="center",a.originY=-D;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":a.x=-v*M+d[0],a.y=d[1]+D,p=x[0]>=0?"right":"left",a.originX=v*M,a.originY=-D;break}a.scaleX=a.scaleY=o,a.setStyle({verticalAlign:a.__verticalAlign||g,align:a.__align||p})}},e}(qt);const wR=Kge;var Zge=function(){function n(e){this.group=new qt,this._LineCtor=e||wR}return n.prototype.updateData=function(e){var t=this;this._progressiveEls=null;var i=this,r=i.group,a=i._lineData;i._lineData=e,a||r.removeAll();var o=Ez(e);e.diff(a).add(function(s){t._doAdd(e,s,o)}).update(function(s,l){t._doUpdate(a,e,l,s,o)}).remove(function(s){r.remove(a.getItemGraphicEl(s))}).execute()},n.prototype.updateLayout=function(){var e=this._lineData;e&&e.eachItemGraphicEl(function(t,i){t.updateLayout(e,i)},this)},n.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=Ez(e),this._lineData=null,this.group.removeAll()},n.prototype.incrementalUpdate=function(e,t){this._progressiveEls=[];function i(s){!s.isGroup&&!Jge(s)&&(s.incremental=!0,s.ensureState("emphasis").hoverLayer=!0)}for(var r=e.start;r<e.end;r++){var a=t.getItemLayout(r);if(Ow(a)){var o=new this._LineCtor(t,r,this._seriesScope);o.traverse(i),this.group.add(o),t.setItemGraphicEl(r,o),this._progressiveEls.push(o)}}},n.prototype.remove=function(){this.group.removeAll()},n.prototype.eachRendered=function(e){i9(this._progressiveEls||this.group,e)},n.prototype._doAdd=function(e,t,i){var r=e.getItemLayout(t);if(Ow(r)){var a=new this._LineCtor(e,t,i);e.setItemGraphicEl(t,a),this.group.add(a)}},n.prototype._doUpdate=function(e,t,i,r,a){var o=e.getItemGraphicEl(i);if(!Ow(t.getItemLayout(r))){this.group.remove(o);return}o?o.updateData(t,r,a):o=new this._LineCtor(t,r,a),t.setItemGraphicEl(r,o),this.group.add(o)},n}();function Jge(n){return n.animators&&n.animators.length>0}function Ez(n){var e=n.hostModel,t=e.getModel("emphasis");return{lineStyle:e.getModel("lineStyle").getLineStyle(),emphasisLineStyle:t.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:e.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:e.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:t.get("disabled"),blurScope:t.get("blurScope"),focus:t.get("focus"),labelStatesModels:bn(e)}}function Pz(n){return isNaN(n[0])||isNaN(n[1])}function Ow(n){return n&&!Pz(n[0])&&!Pz(n[1])}const TR=Zge;var Bw=[],zw=[],Uw=[],s4=Dn,Gw=B8,Rz=Math.abs;function Lz(n,e,t){for(var i=n[0],r=n[1],a=n[2],o=1/0,s,l=t*t,u=.1,c=.1;c<=.9;c+=.1){Bw[0]=s4(i[0],r[0],a[0],c),Bw[1]=s4(i[1],r[1],a[1],c);var d=Rz(Gw(Bw,e)-l);d<o&&(o=d,s=c)}for(var h=0;h<32;h++){var f=s+u;zw[0]=s4(i[0],r[0],a[0],s),zw[1]=s4(i[1],r[1],a[1],s),Uw[0]=s4(i[0],r[0],a[0],f),Uw[1]=s4(i[1],r[1],a[1],f);var d=Gw(zw,e)-l;if(Rz(d)<.01)break;var p=Gw(Uw,e)-l;u/=2,d<0?p>=0?s=s+u:s=s-u:p>=0?s=s-u:s=s+u}return s}function Vw(n,e){var t=[],i=Qd,r=[[],[],[]],a=[[],[]],o=[];e/=2,n.eachEdge(function(s,l){var u=s.getLayout(),c=s.getVisual("fromSymbol"),d=s.getVisual("toSymbol");u.__original||(u.__original=[Zs(u[0]),Zs(u[1])],u[2]&&u.__original.push(Zs(u[2])));var h=u.__original;if(u[2]!=null){if(Pi(r[0],h[0]),Pi(r[1],h[2]),Pi(r[2],h[1]),c&&c!=="none"){var f=rd(s.node1),p=Lz(r,h[0],f*e);i(r[0][0],r[1][0],r[2][0],p,t),r[0][0]=t[3],r[1][0]=t[4],i(r[0][1],r[1][1],r[2][1],p,t),r[0][1]=t[3],r[1][1]=t[4]}if(d&&d!=="none"){var f=rd(s.node2),p=Lz(r,h[1],f*e);i(r[0][0],r[1][0],r[2][0],p,t),r[1][0]=t[1],r[2][0]=t[2],i(r[0][1],r[1][1],r[2][1],p,t),r[1][1]=t[1],r[2][1]=t[2]}Pi(u[0],r[0]),Pi(u[1],r[2]),Pi(u[2],r[1])}else{if(Pi(a[0],h[0]),Pi(a[1],h[1]),x8(o,a[1],a[0]),ou(o,o),c&&c!=="none"){var f=rd(s.node1);QA(a[0],a[0],o,f*e)}if(d&&d!=="none"){var f=rd(s.node2);QA(a[1],a[1],o,-f*e)}Pi(u[0],a[0]),Pi(u[1],a[1])}})}function Iz(n){return n.type==="view"}var Qge=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){var r=new sf,a=new TR,o=this.group;this._controller=new hf(i.getZr()),this._controllerHost={target:o},o.add(r.group),o.add(a.group),this._symbolDraw=r,this._lineDraw=a,this._firstRender=!0},e.prototype.render=function(t,i,r){var a=this,o=t.coordinateSystem;this._model=t;var s=this._symbolDraw,l=this._lineDraw,u=this.group;if(Iz(o)){var c={x:o.x,y:o.y,scaleX:o.scaleX,scaleY:o.scaleY};this._firstRender?u.attr(c):Q3(u,c,t)}Vw(t.getGraph(),id(t));var d=t.getData();s.updateData(d);var h=t.getEdgeData();l.updateData(h),this._updateNodeAndLinkScale(),this._updateController(t,i,r),clearTimeout(this._layoutTimeout);var f=t.forceLayout,p=t.get(["force","layoutAnimation"]);f&&this._startForceLayoutIteration(f,p);var g=t.get("layout");d.graph.eachNode(function(S){var x=S.dataIndex,A=S.getGraphicEl(),C=S.getModel();if(A){A.off("drag").off("dragend");var M=C.get("draggable");M&&A.on("drag",function(D){switch(g){case"force":f.warmUp(),!a._layouting&&a._startForceLayoutIteration(f,p),f.setFixed(x),d.setItemLayout(x,[A.x,A.y]);break;case"circular":d.setItemLayout(x,[A.x,A.y]),S.setLayout({fixed:!0},!0),xR(t,"symbolSize",S,[D.offsetX,D.offsetY]),a.updateLayout(t);break;case"none":default:d.setItemLayout(x,[A.x,A.y]),bR(t.getGraph(),t),a.updateLayout(t);break}}).on("dragend",function(){f&&f.setUnfixed(x)}),A.setDraggable(M,!!C.get("cursor"));var I=C.get(["emphasis","focus"]);I==="adjacency"&&(Xt(A).focus=S.getAdjacentDataIndices())}}),d.graph.eachEdge(function(S){var x=S.getGraphicEl(),A=S.getModel().get(["emphasis","focus"]);x&&A==="adjacency"&&(Xt(x).focus={edge:[S.dataIndex],node:[S.node1.dataIndex,S.node2.dataIndex]})});var m=t.get("layout")==="circular"&&t.get(["circular","rotateLabel"]),v=d.getLayout("cx"),_=d.getLayout("cy");d.graph.eachNode(function(S){FJ(S,m,v,_)}),this._firstRender=!1},e.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,i){var r=this;(function a(){t.step(function(o){r.updateLayout(r._model),(r._layouting=!o)&&(i?r._layoutTimeout=setTimeout(a,16):a())})})()},e.prototype._updateController=function(t,i,r){var a=this,o=this._controller,s=this._controllerHost,l=this.group;if(o.setPointerChecker(function(u,c,d){var h=l.getBoundingRect();return h.applyTransform(l.transform),h.contain(c,d)&&!Z_(u,r,t)}),!Iz(t.coordinateSystem)){o.disable();return}o.enable(t.get("roam")),s.zoomLimit=t.get("scaleLimit"),s.zoom=t.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){dR(s,u.dx,u.dy),r.dispatchAction({seriesId:t.id,type:"graphRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){hR(s,u.scale,u.originX,u.originY),r.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),a._updateNodeAndLinkScale(),Vw(t.getGraph(),id(t)),a._lineDraw.updateLayout(),r.updateLabelLayout()})},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,i=t.getData(),r=id(t);i.eachItemGraphicEl(function(a,o){a&&a.setSymbolScale(r)})},e.prototype.updateLayout=function(t){Vw(t.getGraph(),id(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type="graph",e}(K1);const eve=Qge;function l4(n){return"_EC_"+n}var tve=function(){function n(e){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=e||!1}return n.prototype.isDirected=function(){return this._directed},n.prototype.addNode=function(e,t){e=e==null?""+t:""+e;var i=this._nodesMap;if(!i[l4(e)]){var r=new c8(e,t);return r.hostGraph=this,this.nodes.push(r),i[l4(e)]=r,r}},n.prototype.getNodeByIndex=function(e){var t=this.data.getRawIndex(e);return this.nodes[t]},n.prototype.getNodeById=function(e){return this._nodesMap[l4(e)]},n.prototype.addEdge=function(e,t,i){var r=this._nodesMap,a=this._edgesMap;if(q3(e)&&(e=this.nodes[e]),q3(t)&&(t=this.nodes[t]),e instanceof c8||(e=r[l4(e)]),t instanceof c8||(t=r[l4(t)]),!(!e||!t)){var o=e.id+"-"+t.id,s=new BJ(e,t,i);return s.hostGraph=this,this._directed&&(e.outEdges.push(s),t.inEdges.push(s)),e.edges.push(s),e!==t&&t.edges.push(s),this.edges.push(s),a[o]=s,s}},n.prototype.getEdgeByIndex=function(e){var t=this.edgeData.getRawIndex(e);return this.edges[t]},n.prototype.getEdge=function(e,t){e instanceof c8&&(e=e.id),t instanceof c8&&(t=t.id);var i=this._edgesMap;return this._directed?i[e+"-"+t]:i[e+"-"+t]||i[t+"-"+e]},n.prototype.eachNode=function(e,t){for(var i=this.nodes,r=i.length,a=0;a<r;a++)i[a].dataIndex>=0&&e.call(t,i[a],a)},n.prototype.eachEdge=function(e,t){for(var i=this.edges,r=i.length,a=0;a<r;a++)i[a].dataIndex>=0&&i[a].node1.dataIndex>=0&&i[a].node2.dataIndex>=0&&e.call(t,i[a],a)},n.prototype.breadthFirstTraverse=function(e,t,i,r){if(t instanceof c8||(t=this._nodesMap[l4(t)]),!!t){for(var a=i==="out"?"outEdges":i==="in"?"inEdges":"edges",o=0;o<this.nodes.length;o++)this.nodes[o].__visited=!1;if(!e.call(r,t,null))for(var s=[t];s.length;)for(var l=s.shift(),u=l[a],o=0;o<u.length;o++){var c=u[o],d=c.node1===l?c.node2:c.node1;if(!d.__visited){if(e.call(r,d,l))return;s.push(d),d.__visited=!0}}}},n.prototype.update=function(){for(var e=this.data,t=this.edgeData,i=this.nodes,r=this.edges,a=0,o=i.length;a<o;a++)i[a].dataIndex=-1;for(var a=0,o=e.count();a<o;a++)i[e.getRawIndex(a)].dataIndex=a;t.filterSelf(function(s){var l=r[t.getRawIndex(s)];return l.node1.dataIndex>=0&&l.node2.dataIndex>=0});for(var a=0,o=r.length;a<o;a++)r[a].dataIndex=-1;for(var a=0,o=t.count();a<o;a++)r[t.getRawIndex(a)].dataIndex=a},n.prototype.clone=function(){for(var e=new n(this._directed),t=this.nodes,i=this.edges,r=0;r<t.length;r++)e.addNode(t[r].id,t[r].dataIndex);for(var r=0;r<i.length;r++){var a=i[r];e.addEdge(a.node1.id,a.node2.id,a.dataIndex)}return e},n}(),c8=function(){function n(e,t){this.inEdges=[],this.outEdges=[],this.edges=[],this.dataIndex=-1,this.id=e==null?"":e,this.dataIndex=t==null?-1:t}return n.prototype.degree=function(){return this.edges.length},n.prototype.inDegree=function(){return this.inEdges.length},n.prototype.outDegree=function(){return this.outEdges.length},n.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostGraph,i=t.data.getItemModel(this.dataIndex);return i.getModel(e)}},n.prototype.getAdjacentDataIndices=function(){for(var e={edge:[],node:[]},t=0;t<this.edges.length;t++){var i=this.edges[t];i.dataIndex<0||(e.edge.push(i.dataIndex),e.node.push(i.node1.dataIndex,i.node2.dataIndex))}return e},n.prototype.getTrajectoryDataIndices=function(){for(var e=Ct(),t=Ct(),i=0;i<this.edges.length;i++){var r=this.edges[i];if(!(r.dataIndex<0)){e.set(r.dataIndex,!0);for(var a=[r.node1],o=[r.node2],s=0;s<a.length;){var l=a[s];s++,t.set(l.dataIndex,!0);for(var u=0;u<l.inEdges.length;u++)e.set(l.inEdges[u].dataIndex,!0),a.push(l.inEdges[u].node1)}for(s=0;s<o.length;){var c=o[s];s++,t.set(c.dataIndex,!0);for(var u=0;u<c.outEdges.length;u++)e.set(c.outEdges[u].dataIndex,!0),o.push(c.outEdges[u].node2)}}}return{edge:e.keys(),node:t.keys()}},n}(),BJ=function(){function n(e,t,i){this.dataIndex=-1,this.node1=e,this.node2=t,this.dataIndex=i==null?-1:i}return n.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostGraph,i=t.edgeData.getItemModel(this.dataIndex);return i.getModel(e)}},n.prototype.getAdjacentDataIndices=function(){return{edge:[this.dataIndex],node:[this.node1.dataIndex,this.node2.dataIndex]}},n.prototype.getTrajectoryDataIndices=function(){var e=Ct(),t=Ct();e.set(this.dataIndex,!0);for(var i=[this.node1],r=[this.node2],a=0;a<i.length;){var o=i[a];a++,t.set(o.dataIndex,!0);for(var s=0;s<o.inEdges.length;s++)e.set(o.inEdges[s].dataIndex,!0),i.push(o.inEdges[s].node1)}for(a=0;a<r.length;){var l=r[a];a++,t.set(l.dataIndex,!0);for(var s=0;s<l.outEdges.length;s++)e.set(l.outEdges[s].dataIndex,!0),r.push(l.outEdges[s].node2)}return{edge:e.keys(),node:t.keys()}},n}();function zJ(n,e){return{getValue:function(t){var i=this[n][e];return i.getStore().get(i.getDimensionIndex(t||"value"),this.dataIndex)},setVisual:function(t,i){this.dataIndex>=0&&this[n][e].setItemVisual(this.dataIndex,t,i)},getVisual:function(t){return this[n][e].getItemVisual(this.dataIndex,t)},setLayout:function(t,i){this.dataIndex>=0&&this[n][e].setItemLayout(this.dataIndex,t,i)},getLayout:function(){return this[n][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[n][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[n][e].getRawIndex(this.dataIndex)}}}en(c8,zJ("hostGraph","data"));en(BJ,zJ("hostGraph","edgeData"));const nve=tve;function UJ(n,e,t,i,r){for(var a=new nve(i),o=0;o<n.length;o++)a.addNode(kn(n[o].id,n[o].name,o),o);for(var s=[],l=[],u=0,o=0;o<e.length;o++){var c=e[o],d=c.source,h=c.target;a.addEdge(d,h,u)&&(l.push(c),s.push(kn(dn(c.id,null),d+" > "+h)),u++)}var f=t.get("coordinateSystem"),p;if(f==="cartesian2d"||f==="polar")p=v6(n,t);else{var g=tf.get(f),m=g?g.dimensions||[]:[];_3(m,"value")<0&&m.concat(["value"]);var v=rf(n,{coordDimensions:m,encodeDefine:t.getEncode()}).dimensions;p=new Oi(v,t),p.initData(n)}var _=new Oi(["value"],t);return _.initData(l,s),r&&r(p,_),bJ({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:_},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a}var ive=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments);var i=this;function r(){return i._categoriesData}this.legendVisualProvider=new df(r,r),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeOption=function(t){n.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(t){n.prototype.mergeDefaultAndTheme.apply(this,arguments),nl(t,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,i){var r=t.edges||t.links||[],a=t.data||t.nodes||[],o=this;if(a&&r){Bge(this);var s=UJ(a,r,this,!0,l);return ne(s.edges,function(u){zge(u.node1,u.node2,this,u.dataIndex)},this),s.data}function l(u,c){u.wrapMethod("getItemModel",function(p){var g=o._categoriesModels,m=p.getShallow("category"),v=g[m];return v&&(v.parentModel=p.parentModel,p.parentModel=v),p});var d=X1.prototype.getModel;function h(p,g){var m=d.call(this,p,g);return m.resolveParentPath=f,m}c.wrapMethod("getItemModel",function(p){return p.resolveParentPath=f,p.getModel=h,p});function f(p){if(p&&(p[0]==="label"||p[1]==="label")){var g=p.slice();return p[0]==="label"?g[0]="edgeLabel":p[1]==="label"&&(g[1]="edgeLabel"),g}return p}}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,i,r){if(r==="edge"){var a=this.getData(),o=this.getDataParams(t,r),s=a.graph.getEdgeByIndex(t),l=a.getName(s.node1.dataIndex),u=a.getName(s.node2.dataIndex),c=[];return l!=null&&c.push(l),u!=null&&c.push(u),xn("nameValue",{name:c.join(" > "),value:o.value,noValue:o.value==null})}var d=rK({series:this,dataIndex:t,multipleSeries:i});return d},e.prototype._updateCategoriesData=function(){var t=j2(this.option.categories||[],function(r){return r.value!=null?r:L2({value:0},r)}),i=new Oi(["value"],this);i.initData(t),this._categoriesData=i,this._categoriesModels=i.mapArray(function(r){return i.getItemModel(r)})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return n.prototype.isAnimationEnabled.call(this)&&!(this.get("layout")==="force"&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(m0);const rve=ive;var ave={type:"graphRoam",event:"graphRoam",update:"none"};function ove(n){n.registerChartView(eve),n.registerSeriesModel(rve),n.registerProcessor(Dge),n.registerVisual(Nge),n.registerVisual(kge),n.registerLayout(Uge),n.registerLayout(n.PRIORITY.VISUAL.POST_CHART_LAYOUT,Vge),n.registerLayout(Wge),n.registerCoordinateSystem("graphView",{dimensions:ff.dimensions,create:$ge}),n.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},U0),n.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},U0),n.registerAction(ave,function(e,t,i){t.eachComponent({mainType:"series",query:e},function(r){var a=r.coordinateSystem,o=pR(a,e,void 0,i);r.setCenter&&r.setCenter(o.center),r.setZoom&&r.setZoom(o.zoom)})})}var sve=function(){function n(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return n}(),lve=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="pointer",i}return e.prototype.getDefaultShape=function(){return new sve},e.prototype.buildPath=function(t,i){var r=Math.cos,a=Math.sin,o=i.r,s=i.width,l=i.angle,u=i.x-r(l)*s*(s>=o/3?1:2),c=i.y-a(l)*s*(s>=o/3?1:2);l=i.angle-Math.PI/2,t.moveTo(u,c),t.lineTo(i.x+r(l)*s,i.y+a(l)*s),t.lineTo(i.x+r(i.angle)*o,i.y+a(i.angle)*o),t.lineTo(i.x-r(l)*s,i.y-a(l)*s),t.lineTo(u,c)},e}(C3);const uve=lve;function cve(n,e){var t=n.get("center"),i=e.getWidth(),r=e.getHeight(),a=Math.min(i,r),o=ft(t[0],e.getWidth()),s=ft(t[1],e.getHeight()),l=ft(n.get("radius"),a/2);return{cx:o,cy:s,r:l}}function vm(n,e){var t=n==null?"":n+"";return e&&(_t(e)?t=e.replace("{value}",t):Gt(e)&&(t=e(n))),t}var dve=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){this.group.removeAll();var a=t.get(["axisLine","lineStyle","color"]),o=cve(t,r);this._renderMain(t,i,r,a,o),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,i,r,a,o){var s=this.group,l=t.get("clockwise"),u=-t.get("startAngle")/180*Math.PI,c=-t.get("endAngle")/180*Math.PI,d=t.getModel("axisLine"),h=d.get("roundCap"),f=h?uy:mr,p=d.get("show"),g=d.getModel("lineStyle"),m=g.get("width"),v=[u,c];pP(v,!l),u=v[0],c=v[1];for(var _=c-u,S=u,x=[],A=0;p&&A<a.length;A++){var C=Math.min(Math.max(a[A][0],0),1);c=u+_*C;var M=new f({shape:{startAngle:S,endAngle:c,cx:o.cx,cy:o.cy,clockwise:l,r0:o.r-m,r:o.r},silent:!0});M.setStyle({fill:a[A][1]}),M.setStyle(g.getLineStyle(["color","width"])),x.push(M),S=c}x.reverse(),ne(x,function(D){return s.add(D)});var I=function(D){if(D<=0)return a[0][1];var E;for(E=0;E<a.length;E++)if(a[E][0]>=D&&(E===0?0:a[E-1][0])<D)return a[E][1];return a[E-1][1]};this._renderTicks(t,i,r,I,o,u,c,l,m),this._renderTitleAndDetail(t,i,r,I,o),this._renderAnchor(t,o),this._renderPointer(t,i,r,I,o,u,c,l,m)},e.prototype._renderTicks=function(t,i,r,a,o,s,l,u,c){for(var d=this.group,h=o.cx,f=o.cy,p=o.r,g=+t.get("min"),m=+t.get("max"),v=t.getModel("splitLine"),_=t.getModel("axisTick"),S=t.getModel("axisLabel"),x=t.get("splitNumber"),A=_.get("splitNumber"),C=ft(v.get("length"),p),M=ft(_.get("length"),p),I=s,D=(l-s)/x,E=D/A,L=v.getModel("lineStyle").getLineStyle(),V=_.getModel("lineStyle").getLineStyle(),Y=v.get("distance"),G,W,q=0;q<=x;q++){if(G=Math.cos(I),W=Math.sin(I),v.get("show")){var ce=Y?Y+c:c,J=new Fn({shape:{x1:G*(p-ce)+h,y1:W*(p-ce)+f,x2:G*(p-C-ce)+h,y2:W*(p-C-ce)+f},style:L,silent:!0});L.stroke==="auto"&&J.setStyle({stroke:a(q/x)}),d.add(J)}if(S.get("show")){var ce=S.get("distance")+Y,H=vm(L0(q/x*(m-g)+g),S.get("formatter")),re=a(q/x),ee=G*(p-C-ce)+h,se=W*(p-C-ce)+f,Be=S.get("rotate"),we=0;Be==="radial"?(we=-I+2*Math.PI,we>Math.PI/2&&(we+=Math.PI)):Be==="tangential"?we=-I-Math.PI/2:q3(Be)&&(we=Be*Math.PI/180),we===0?d.add(new Y3({style:q1(S,{text:H,x:ee,y:se,verticalAlign:W<-.8?"top":W>.8?"bottom":"middle",align:G<-.4?"left":G>.4?"right":"center"},{inheritColor:re}),silent:!0})):d.add(new Y3({style:q1(S,{text:H,x:ee,y:se,verticalAlign:"middle",align:"center"},{inheritColor:re}),silent:!0,originX:ee,originY:se,rotation:we}))}if(_.get("show")&&q!==x){var ce=_.get("distance");ce=ce?ce+c:c;for(var ve=0;ve<=A;ve++){G=Math.cos(I),W=Math.sin(I);var Ke=new Fn({shape:{x1:G*(p-ce)+h,y1:W*(p-ce)+f,x2:G*(p-M-ce)+h,y2:W*(p-M-ce)+f},silent:!0,style:V});V.stroke==="auto"&&Ke.setStyle({stroke:a((q+ve/A)/x)}),d.add(Ke),I+=E}I-=E}else I+=D}},e.prototype._renderPointer=function(t,i,r,a,o,s,l,u,c){var d=this.group,h=this._data,f=this._progressEls,p=[],g=t.get(["pointer","show"]),m=t.getModel("progress"),v=m.get("show"),_=t.getData(),S=_.mapDimension("value"),x=+t.get("min"),A=+t.get("max"),C=[x,A],M=[s,l];function I(E,L){var V=_.getItemModel(E),Y=V.getModel("pointer"),G=ft(Y.get("width"),o.r),W=ft(Y.get("length"),o.r),q=t.get(["pointer","icon"]),ce=Y.get("offsetCenter"),J=ft(ce[0],o.r),H=ft(ce[1],o.r),re=Y.get("keepAspect"),ee;return q?ee=J0(q,J-G/2,H-W,G,W,null,re):ee=new uve({shape:{angle:-Math.PI/2,width:G,r:W,x:J,y:H}}),ee.rotation=-(L+Math.PI/2),ee.x=o.cx,ee.y=o.cy,ee}function D(E,L){var V=m.get("roundCap"),Y=V?uy:mr,G=m.get("overlap"),W=G?m.get("width"):c/_.count(),q=G?o.r-W:o.r-(E+1)*W,ce=G?o.r:o.r-E*W,J=new Y({shape:{startAngle:s,endAngle:L,cx:o.cx,cy:o.cy,clockwise:u,r0:q,r:ce}});return G&&(J.z2=p1(_.get(S,E),[x,A],[100,0],!0)),J}(v||g)&&(_.diff(h).add(function(E){var L=_.get(S,E);if(g){var V=I(E,s);l0(V,{rotation:-((isNaN(+L)?M[0]:p1(L,C,M,!0))+Math.PI/2)},t),d.add(V),_.setItemGraphicEl(E,V)}if(v){var Y=D(E,s),G=m.get("clip");l0(Y,{shape:{endAngle:p1(L,C,M,G)}},t),d.add(Y),CC(t.seriesIndex,_.dataType,E,Y),p[E]=Y}}).update(function(E,L){var V=_.get(S,E);if(g){var Y=h.getItemGraphicEl(L),G=Y?Y.rotation:s,W=I(E,G);W.rotation=G,Q3(W,{rotation:-((isNaN(+V)?M[0]:p1(V,C,M,!0))+Math.PI/2)},t),d.add(W),_.setItemGraphicEl(E,W)}if(v){var q=f[L],ce=q?q.shape.endAngle:s,J=D(E,ce),H=m.get("clip");Q3(J,{shape:{endAngle:p1(V,C,M,H)}},t),d.add(J),CC(t.seriesIndex,_.dataType,E,J),p[E]=J}}).execute(),_.each(function(E){var L=_.getItemModel(E),V=L.getModel("emphasis"),Y=V.get("focus"),G=V.get("blurScope"),W=V.get("disabled");if(g){var q=_.getItemGraphicEl(E),ce=_.getItemVisual(E,"style"),J=ce.fill;if(q instanceof ti){var H=q.style;q.useStyle(L2({image:H.image,x:H.x,y:H.y,width:H.width,height:H.height},ce))}else q.useStyle(ce),q.type!=="pointer"&&q.setColor(J);q.setStyle(L.getModel(["pointer","itemStyle"]).getItemStyle()),q.style.fill==="auto"&&q.setStyle("fill",a(p1(_.get(S,E),C,[0,1],!0))),q.z2EmphasisLift=0,Jn(q,L),b0(q,Y,G,W)}if(v){var re=p[E];re.useStyle(_.getItemVisual(E,"style")),re.setStyle(L.getModel(["progress","itemStyle"]).getItemStyle()),re.z2EmphasisLift=0,Jn(re,L),b0(re,Y,G,W)}}),this._progressEls=p)},e.prototype._renderAnchor=function(t,i){var r=t.getModel("anchor"),a=r.get("show");if(a){var o=r.get("size"),s=r.get("icon"),l=r.get("offsetCenter"),u=r.get("keepAspect"),c=J0(s,i.cx-o/2+ft(l[0],i.r),i.cy-o/2+ft(l[1],i.r),o,o,null,u);c.z2=r.get("showAbove")?1:0,c.setStyle(r.getModel("itemStyle").getItemStyle()),this.group.add(c)}},e.prototype._renderTitleAndDetail=function(t,i,r,a,o){var s=this,l=t.getData(),u=l.mapDimension("value"),c=+t.get("min"),d=+t.get("max"),h=new qt,f=[],p=[],g=t.isAnimationEnabled(),m=t.get(["pointer","showAbove"]);l.diff(this._data).add(function(v){f[v]=new Y3({silent:!0}),p[v]=new Y3({silent:!0})}).update(function(v,_){f[v]=s._titleEls[_],p[v]=s._detailEls[_]}).execute(),l.each(function(v){var _=l.getItemModel(v),S=l.get(u,v),x=new qt,A=a(p1(S,[c,d],[0,1],!0)),C=_.getModel("title");if(C.get("show")){var M=C.get("offsetCenter"),I=o.cx+ft(M[0],o.r),D=o.cy+ft(M[1],o.r),E=f[v];E.attr({z2:m?0:2,style:q1(C,{x:I,y:D,text:l.getName(v),align:"center",verticalAlign:"middle"},{inheritColor:A})}),x.add(E)}var L=_.getModel("detail");if(L.get("show")){var V=L.get("offsetCenter"),Y=o.cx+ft(V[0],o.r),G=o.cy+ft(V[1],o.r),W=ft(L.get("width"),o.r),q=ft(L.get("height"),o.r),ce=t.get(["progress","show"])?l.getItemVisual(v,"style").fill:A,E=p[v],J=L.get("formatter");E.attr({z2:m?0:2,style:q1(L,{x:Y,y:G,text:vm(S,J),width:isNaN(W)?null:W,height:isNaN(q)?null:q,align:"center",verticalAlign:"middle"},{inheritColor:ce})}),oX(E,{normal:L},S,function(re){return vm(re,J)}),g&&sX(E,v,l,t,{getFormattedLabel:function(re,ee,se,Be,we,ve){return vm(ve?ve.interpolatedValue:S,J)}}),x.add(E)}h.add(x)}),this.group.add(h),this._titleEls=f,this._detailEls=p},e.type="gauge",e}(K1);const hve=dve;var fve=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="itemStyle",t}return e.prototype.getInitialData=function(t,i){return bu(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},e}(m0);const pve=fve;function mve(n){n.registerChartView(hve),n.registerSeriesModel(pve)}var gve=["itemStyle","opacity"],vve=function(n){g2(e,n);function e(t,i){var r=n.call(this)||this,a=r,o=new Sr,s=new Y3;return a.setTextContent(s),r.setTextGuideLine(o),r.updateData(t,i,!0),r}return e.prototype.updateData=function(t,i,r){var a=this,o=t.hostModel,s=t.getItemModel(i),l=t.getItemLayout(i),u=s.getModel("emphasis"),c=s.get(gve);c=c==null?1:c,r||go(a),a.useStyle(t.getItemVisual(i,"style")),a.style.lineJoin="round",r?(a.setShape({points:l.points}),a.style.opacity=0,l0(a,{style:{opacity:c}},o,i)):Q3(a,{style:{opacity:c},shape:{points:l.points}},o,i),Jn(a,s),this._updateLabel(t,i),b0(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t,i){var r=this,a=this.getTextGuideLine(),o=r.getTextContent(),s=t.hostModel,l=t.getItemModel(i),u=t.getItemLayout(i),c=u.label,d=t.getItemVisual(i,"style"),h=d.fill;Qn(o,bn(l),{labelFetcher:t.hostModel,labelDataIndex:i,defaultOpacity:d.opacity,defaultText:t.getName(i)},{normal:{align:c.textAlign,verticalAlign:c.verticalAlign}}),r.setTextConfig({local:!0,inside:!!c.inside,insideStroke:h,outsideFill:h});var f=c.linePoints;a.setShape({points:f}),r.textGuideLineConfig={anchor:f?new d3(f[0][0],f[0][1]):null},Q3(o,{style:{x:c.x,y:c.y}},s,i),o.attr({rotation:c.rotation,originX:c.x,originY:c.y,z2:10}),tR(r,nR(l),{stroke:h})},e}(gr),yve=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.ignoreLabelLineUpdate=!0,t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this._data,s=this.group;a.diff(o).add(function(l){var u=new vve(a,l);a.setItemGraphicEl(l,u),s.add(u)}).update(function(l,u){var c=o.getItemGraphicEl(u);c.updateData(a,l),s.add(c),a.setItemGraphicEl(l,c)}).remove(function(l){var u=o.getItemGraphicEl(l);sh(u,t,l)}).execute(),this._data=a},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(K1);const _ve=yve;var Sve=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments),this.legendVisualProvider=new df(St(this.getData,this),St(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.getInitialData=function(t,i){return bu(this,{coordDimensions:["value"],encodeDefaulter:r3(DP,this)})},e.prototype._defaultLabelLine=function(t){nl(t,"labelLine",["show"]);var i=t.labelLine,r=t.emphasis.labelLine;i.show=i.show&&t.label.show,r.show=r.show&&t.emphasis.label.show},e.prototype.getDataParams=function(t){var i=this.getData(),r=n.prototype.getDataParams.call(this,t),a=i.mapDimension("value"),o=i.getSum(a);return r.percent=o?+(i.get(a,t)/o*100).toFixed(2):0,r.$vars.push("percent"),r},e.type="series.funnel",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(m0);const bve=Sve;function xve(n,e){return hn(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function wve(n,e){for(var t=n.mapDimension("value"),i=n.mapArray(t,function(l){return l}),r=[],a=e==="ascending",o=0,s=n.count();o<s;o++)r[o]=o;return Gt(e)?r.sort(e):e!=="none"&&r.sort(function(l,u){return a?i[l]-i[u]:i[u]-i[l]}),r}function Tve(n){var e=n.hostModel,t=e.get("orient");n.each(function(i){var r=n.getItemModel(i),a=r.getModel("label"),o=a.get("position"),s=r.getModel("labelLine"),l=n.getItemLayout(i),u=l.points,c=o==="inner"||o==="inside"||o==="center"||o==="insideLeft"||o==="insideRight",d,h,f,p;if(c)o==="insideLeft"?(h=(u[0][0]+u[3][0])/2+5,f=(u[0][1]+u[3][1])/2,d="left"):o==="insideRight"?(h=(u[1][0]+u[2][0])/2-5,f=(u[1][1]+u[2][1])/2,d="right"):(h=(u[0][0]+u[1][0]+u[2][0]+u[3][0])/4,f=(u[0][1]+u[1][1]+u[2][1]+u[3][1])/4,d="center"),p=[[h,f],[h,f]];else{var g=void 0,m=void 0,v=void 0,_=void 0,S=s.get("length");o==="left"?(g=(u[3][0]+u[0][0])/2,m=(u[3][1]+u[0][1])/2,v=g-S,h=v-5,d="right"):o==="right"?(g=(u[1][0]+u[2][0])/2,m=(u[1][1]+u[2][1])/2,v=g+S,h=v+5,d="left"):o==="top"?(g=(u[3][0]+u[0][0])/2,m=(u[3][1]+u[0][1])/2,_=m-S,f=_-5,d="center"):o==="bottom"?(g=(u[1][0]+u[2][0])/2,m=(u[1][1]+u[2][1])/2,_=m+S,f=_+5,d="center"):o==="rightTop"?(g=t==="horizontal"?u[3][0]:u[1][0],m=t==="horizontal"?u[3][1]:u[1][1],t==="horizontal"?(_=m-S,f=_-5,d="center"):(v=g+S,h=v+5,d="top")):o==="rightBottom"?(g=u[2][0],m=u[2][1],t==="horizontal"?(_=m+S,f=_+5,d="center"):(v=g+S,h=v+5,d="bottom")):o==="leftTop"?(g=u[0][0],m=t==="horizontal"?u[0][1]:u[1][1],t==="horizontal"?(_=m-S,f=_-5,d="center"):(v=g-S,h=v-5,d="right")):o==="leftBottom"?(g=t==="horizontal"?u[1][0]:u[3][0],m=t==="horizontal"?u[1][1]:u[2][1],t==="horizontal"?(_=m+S,f=_+5,d="center"):(v=g-S,h=v-5,d="right")):(g=(u[1][0]+u[2][0])/2,m=(u[1][1]+u[2][1])/2,t==="horizontal"?(_=m+S,f=_+5,d="center"):(v=g+S,h=v+5,d="left")),t==="horizontal"?(v=g,h=v):(_=m,f=_),p=[[g,m],[v,_]]}l.label={linePoints:p,x:h,y:f,verticalAlign:"middle",textAlign:d,inside:c}})}function Ave(n,e){n.eachSeriesByType("funnel",function(t){var i=t.getData(),r=i.mapDimension("value"),a=t.get("sort"),o=xve(t,e),s=t.get("orient"),l=o.width,u=o.height,c=wve(i,a),d=o.x,h=o.y,f=s==="horizontal"?[ft(t.get("minSize"),u),ft(t.get("maxSize"),u)]:[ft(t.get("minSize"),l),ft(t.get("maxSize"),l)],p=i.getDataExtent(r),g=t.get("min"),m=t.get("max");g==null&&(g=Math.min(p[0],0)),m==null&&(m=p[1]);var v=t.get("funnelAlign"),_=t.get("gap"),S=s==="horizontal"?l:u,x=(S-_*(i.count()-1))/i.count(),A=function(G,W){if(s==="horizontal"){var q=i.get(r,G)||0,ce=p1(q,[g,m],f,!0),J=void 0;switch(v){case"top":J=h;break;case"center":J=h+(u-ce)/2;break;case"bottom":J=h+(u-ce);break}return[[W,J],[W,J+ce]]}var H=i.get(r,G)||0,re=p1(H,[g,m],f,!0),ee;switch(v){case"left":ee=d;break;case"center":ee=d+(l-re)/2;break;case"right":ee=d+l-re;break}return[[ee,W],[ee+re,W]]};a==="ascending"&&(x=-x,_=-_,s==="horizontal"?d+=l:h+=u,c=c.reverse());for(var C=0;C<c.length;C++){var M=c[C],I=c[C+1],D=i.getItemModel(M);if(s==="horizontal"){var E=D.get(["itemStyle","width"]);E==null?E=x:(E=ft(E,l),a==="ascending"&&(E=-E));var L=A(M,d),V=A(I,d+E);d+=E+_,i.setItemLayout(M,{points:L.concat(V.slice().reverse())})}else{var Y=D.get(["itemStyle","height"]);Y==null?Y=x:(Y=ft(Y,u),a==="ascending"&&(Y=-Y));var L=A(M,h),V=A(I,h+Y);h+=Y+_,i.setItemLayout(M,{points:L.concat(V.slice().reverse())})}}Tve(i)})}function Cve(n){n.registerChartView(_ve),n.registerSeriesModel(bve),n.registerLayout(Ave),n.registerProcessor(cf("funnel"))}var Mve=.3,Eve=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._dataGroup=new qt,t._initialized=!1,t}return e.prototype.init=function(){this.group.add(this._dataGroup)},e.prototype.render=function(t,i,r,a){this._progressiveEls=null;var o=this._dataGroup,s=t.getData(),l=this._data,u=t.coordinateSystem,c=u.dimensions,d=Nz(t);s.diff(l).add(h).update(f).remove(p).execute();function h(m){var v=Dz(s,o,m,c,u);Hw(v,s,m,d)}function f(m,v){var _=l.getItemGraphicEl(v),S=GJ(s,m,c,u);s.setItemGraphicEl(m,_),Q3(_,{shape:{points:S}},t,m),go(_),Hw(_,s,m,d)}function p(m){var v=l.getItemGraphicEl(m);o.remove(v)}if(!this._initialized){this._initialized=!0;var g=Pve(u,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(g)}this._data=s},e.prototype.incrementalPrepareRender=function(t,i,r){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},e.prototype.incrementalRender=function(t,i,r){for(var a=i.getData(),o=i.coordinateSystem,s=o.dimensions,l=Nz(i),u=this._progressiveEls=[],c=t.start;c<t.end;c++){var d=Dz(a,this._dataGroup,c,s,o);d.incremental=!0,Hw(d,a,c,l),u.push(d)}},e.prototype.remove=function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null},e.type="parallel",e}(K1);function Pve(n,e,t){var i=n.model,r=n.getRect(),a=new V3({shape:{x:r.x,y:r.y,width:r.width,height:r.height}}),o=i.get("layout")==="horizontal"?"width":"height";return a.setShape(o,0),l0(a,{shape:{width:r.width,height:r.height}},e,t),a}function GJ(n,e,t,i){for(var r=[],a=0;a<t.length;a++){var o=t[a],s=n.get(n.mapDimension(o),e);Rve(s,i.getAxis(o).type)||r.push(i.dataToPoint(s,o))}return r}function Dz(n,e,t,i,r){var a=GJ(n,t,i,r),o=new Sr({shape:{points:a},z2:10});return e.add(o),n.setItemGraphicEl(t,o),o}function Nz(n){var e=n.get("smooth",!0);return e===!0&&(e=Mve),e=a6(e),Zd(e)&&(e=0),{smooth:e}}function Hw(n,e,t,i){n.useStyle(e.getItemVisual(t,"style")),n.style.fill=null,n.setShape("smooth",i.smooth);var r=e.getItemModel(t),a=r.getModel("emphasis");Jn(n,r,"lineStyle"),b0(n,a.get("focus"),a.get("blurScope"),a.get("disabled"))}function Rve(n,e){return e==="category"?n==null:n==null||isNaN(n)}const Lve=Eve;var Ive=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="lineStyle",t.visualDrawType="stroke",t}return e.prototype.getInitialData=function(t,i){return v6(null,this,{useEncodeDefaulter:St(Dve,null,this)})},e.prototype.getRawIndicesByActiveState=function(t){var i=this.coordinateSystem,r=this.getData(),a=[];return i.eachActiveState(r,function(o,s){t===o&&a.push(r.getRawIndex(s))}),a},e.type="series.parallel",e.dependencies=["parallel"],e.defaultOption={z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"},e}(m0);function Dve(n){var e=n.ecModel.getComponent("parallel",n.get("parallelIndex"));if(e){var t={};return ne(e.dimensions,function(i){var r=Nve(i);t[i]=r}),t}}function Nve(n){return+n.replace("dim","")}const kve=Ive;var Fve=["lineStyle","opacity"],Ove={seriesType:"parallel",reset:function(n,e){var t=n.coordinateSystem,i={normal:n.get(["lineStyle","opacity"]),active:n.get("activeOpacity"),inactive:n.get("inactiveOpacity")};return{progress:function(r,a){t.eachActiveState(a,function(o,s){var l=i[o];if(o==="normal"&&a.hasItemOption){var u=a.getItemModel(s).get(Fve,!0);u!=null&&(l=u)}var c=a.ensureUniqueItemVisual(s,"style");c.opacity=l},r.start,r.end)}}}};const Bve=Ove;function zve(n){Uve(n),Gve(n)}function Uve(n){if(!n.parallel){var e=!1;ne(n.series,function(t){t&&t.type==="parallel"&&(e=!0)}),e&&(n.parallel=[{}])}}function Gve(n){var e=A1(n.parallelAxis);ne(e,function(t){if(jt(t)){var i=t.parallelIndex||0,r=A1(n.parallel)[i];r&&r.parallelAxisDefault&&l3(t,r.parallelAxisDefault,!1)}})}var Vve=5,Hve=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){this._model=t,this._api=r,this._handlers||(this._handlers={},ne(Wve,function(a,o){r.getZr().on(o,this._handlers[o]=St(a,this))},this)),yu(this,"_throttledDispatchExpand",t.get("axisExpandRate"),"fixRate")},e.prototype.dispose=function(t,i){dh(this,"_throttledDispatchExpand"),ne(this._handlers,function(r,a){i.getZr().off(a,r)}),this._handlers=null},e.prototype._throttledDispatchExpand=function(t){this._dispatchExpand(t)},e.prototype._dispatchExpand=function(t){t&&this._api.dispatchAction(L2({type:"parallelAxisExpand"},t))},e.type="parallel",e}(T0),Wve={mousedown:function(n){Ww(this,"click")&&(this._mouseDownPoint=[n.offsetX,n.offsetY])},mouseup:function(n){var e=this._mouseDownPoint;if(Ww(this,"click")&&e){var t=[n.offsetX,n.offsetY],i=Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2);if(i>Vve)return;var r=this._model.coordinateSystem.getSlidedAxisExpandWindow([n.offsetX,n.offsetY]);r.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:r.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(n){if(!(this._mouseDownPoint||!Ww(this,"mousemove"))){var e=this._model,t=e.coordinateSystem.getSlidedAxisExpandWindow([n.offsetX,n.offsetY]),i=t.behavior;i==="jump"&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand(i==="none"?null:{axisExpandWindow:t.axisExpandWindow,animation:i==="jump"?null:{duration:0}})}}};function Ww(n,e){var t=n._model;return t.get("axisExpandable")&&t.get("axisExpandTriggerOn")===e}const jve=Hve;var $ve=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){n.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var i=this.option;t&&l3(i,t,!0),this._initDimensions()},e.prototype.contains=function(t,i){var r=t.get("parallelIndex");return r!=null&&i.getComponent("parallel",r)===this},e.prototype.setAxisExpand=function(t){ne(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(i){t.hasOwnProperty(i)&&(this.option[i]=t[i])},this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],i=this.parallelAxisIndex=[],r=c1(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(a){return(a.get("parallelIndex")||0)===this.componentIndex},this);ne(r,function(a){t.push("dim"+a.get("dim")),i.push(a.componentIndex)})},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}(j3);const Yve=$ve;var qve=function(n){g2(e,n);function e(t,i,r,a,o){var s=n.call(this,t,i,r)||this;return s.type=a||"value",s.axisIndex=o,s}return e.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"},e}(So);const Xve=qve;function Ml(n,e,t,i,r,a){n=n||0;var o=t[1]-t[0];if(r!=null&&(r=u4(r,[0,o])),a!=null&&(a=Math.max(a,r!=null?r:0)),i==="all"){var s=Math.abs(e[1]-e[0]);s=u4(s,[0,o]),r=a=u4(s,[r,a]),i=0}e[0]=u4(e[0],t),e[1]=u4(e[1],t);var l=jw(e,i);e[i]+=n;var u=r||0,c=t.slice();l.sign<0?c[0]+=u:c[1]-=u,e[i]=u4(e[i],c);var d;return d=jw(e,i),r!=null&&(d.sign!==l.sign||d.span<r)&&(e[1-i]=e[i]+l.sign*r),d=jw(e,i),a!=null&&d.span>a&&(e[1-i]=e[i]+d.sign*a),e}function jw(n,e){var t=n[e]-n[1-e];return{span:Math.abs(t),sign:t>0?-1:t<0?1:e?-1:1}}function u4(n,e){return Math.min(e[1]!=null?e[1]:1/0,Math.max(e[0]!=null?e[0]:-1/0,n))}var $w=ne,VJ=Math.min,HJ=Math.max,kz=Math.floor,Kve=Math.ceil,Fz=L0,Zve=Math.PI,Jve=function(){function n(e,t,i){this.type="parallel",this._axesMap=Ct(),this._axesLayout={},this.dimensions=e.dimensions,this._model=e,this._init(e,t,i)}return n.prototype._init=function(e,t,i){var r=e.dimensions,a=e.parallelAxisIndex;$w(r,function(o,s){var l=a[s],u=t.getComponent("parallelAxis",l),c=this._axesMap.set(o,new Xve(o,X_(u),[0,0],u.get("type"),l)),d=c.type==="category";c.onBand=d&&u.get("boundaryGap"),c.inverse=u.get("inverse"),u.axis=c,c.model=u,c.coordinateSystem=u.coordinateSystem=this},this)},n.prototype.update=function(e,t){this._updateAxesFromSeries(this._model,e)},n.prototype.containPoint=function(e){var t=this._makeLayoutInfo(),i=t.axisBase,r=t.layoutBase,a=t.pixelDimIndex,o=e[1-a],s=e[a];return o>=i&&o<=i+t.axisLength&&s>=r&&s<=r+t.layoutLength},n.prototype.getModel=function(){return this._model},n.prototype._updateAxesFromSeries=function(e,t){t.eachSeries(function(i){if(e.contains(i,t)){var r=i.getData();$w(this.dimensions,function(a){var o=this._axesMap.get(a);o.scale.unionExtentFromData(r,r.mapDimension(a)),F7(o.scale,o.model)},this)}},this)},n.prototype.resize=function(e,t){this._rect=hn(e.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),this._layoutAxes()},n.prototype.getRect=function(){return this._rect},n.prototype._makeLayoutInfo=function(){var e=this._model,t=this._rect,i=["x","y"],r=["width","height"],a=e.get("layout"),o=a==="horizontal"?0:1,s=t[r[o]],l=[0,s],u=this.dimensions.length,c=ym(e.get("axisExpandWidth"),l),d=ym(e.get("axisExpandCount")||0,[0,u]),h=e.get("axisExpandable")&&u>3&&u>d&&d>1&&c>0&&s>0,f=e.get("axisExpandWindow"),p;if(f)p=ym(f[1]-f[0],l),f[1]=f[0]+p;else{p=ym(c*(d-1),l);var g=e.get("axisExpandCenter")||kz(u/2);f=[c*g-p/2],f[1]=f[0]+p}var m=(s-p)/(u-d);m<3&&(m=0);var v=[kz(Fz(f[0]/c,1))+1,Kve(Fz(f[1]/c,1))-1],_=m/c*f[0];return{layout:a,pixelDimIndex:o,layoutBase:t[i[o]],layoutLength:s,axisBase:t[i[1-o]],axisLength:t[r[1-o]],axisExpandable:h,axisExpandWidth:c,axisCollapseWidth:m,axisExpandWindow:f,axisCount:u,winInnerIndices:v,axisExpandWindow0Pos:_}},n.prototype._layoutAxes=function(){var e=this._rect,t=this._axesMap,i=this.dimensions,r=this._makeLayoutInfo(),a=r.layout;t.each(function(o){var s=[0,r.axisLength],l=o.inverse?1:0;o.setExtent(s[l],s[1-l])}),$w(i,function(o,s){var l=(r.axisExpandable?eye:Qve)(s,r),u={horizontal:{x:l.position,y:r.axisLength},vertical:{x:0,y:l.position}},c={horizontal:Zve/2,vertical:0},d=[u[a].x+e.x,u[a].y+e.y],h=c[a],f=Gr();_l(f,f,h),ls(f,f,d),this._axesLayout[o]={position:d,rotation:h,transform:f,axisNameAvailableWidth:l.axisNameAvailableWidth,axisLabelShow:l.axisLabelShow,nameTruncateMaxWidth:l.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},n.prototype.getAxis=function(e){return this._axesMap.get(e)},n.prototype.dataToPoint=function(e,t){return this.axisCoordToPoint(this._axesMap.get(t).dataToCoord(e),t)},n.prototype.eachActiveState=function(e,t,i,r){i==null&&(i=0),r==null&&(r=e.count());var a=this._axesMap,o=this.dimensions,s=[],l=[];ne(o,function(m){s.push(e.mapDimension(m)),l.push(a.get(m).model)});for(var u=this.hasAxisBrushed(),c=i;c<r;c++){var d=void 0;if(!u)d="normal";else{d="active";for(var h=e.getValues(s,c),f=0,p=o.length;f<p;f++){var g=l[f].getActiveState(h[f]);if(g==="inactive"){d="inactive";break}}}t(d,c)}},n.prototype.hasAxisBrushed=function(){for(var e=this.dimensions,t=this._axesMap,i=!1,r=0,a=e.length;r<a;r++)t.get(e[r]).model.getActiveState()!=="normal"&&(i=!0);return i},n.prototype.axisCoordToPoint=function(e,t){var i=this._axesLayout[t];return fo([e,0],i.transform)},n.prototype.getAxisLayout=function(e){return $t(this._axesLayout[e])},n.prototype.getSlidedAxisExpandWindow=function(e){var t=this._makeLayoutInfo(),i=t.pixelDimIndex,r=t.axisExpandWindow.slice(),a=r[1]-r[0],o=[0,t.axisExpandWidth*(t.axisCount-1)];if(!this.containPoint(e))return{behavior:"none",axisExpandWindow:r};var s=e[i]-t.layoutBase-t.axisExpandWindow0Pos,l,u="slide",c=t.axisCollapseWidth,d=this._model.get("axisExpandSlideTriggerArea"),h=d[0]!=null;if(c)h&&c&&s<a*d[0]?(u="jump",l=s-a*d[2]):h&&c&&s>a*(1-d[0])?(u="jump",l=s-a*(1-d[2])):(l=s-a*d[1])>=0&&(l=s-a*(1-d[1]))<=0&&(l=0),l*=t.axisExpandWidth/c,l?Ml(l,r,o,"all"):u="none";else{var f=r[1]-r[0],p=o[1]*s/f;r=[HJ(0,p-f/2)],r[1]=VJ(o[1],r[0]+f),r[0]=r[1]-f}return{axisExpandWindow:r,behavior:u}},n}();function ym(n,e){return VJ(HJ(n,e[0]),e[1])}function Qve(n,e){var t=e.layoutLength/(e.axisCount-1);return{position:t*n,axisNameAvailableWidth:t,axisLabelShow:!0}}function eye(n,e){var t=e.layoutLength,i=e.axisExpandWidth,r=e.axisCount,a=e.axisCollapseWidth,o=e.winInnerIndices,s,l=a,u=!1,c;return n<o[0]?(s=n*a,c=a):n<=o[1]?(s=e.axisExpandWindow0Pos+n*i-e.axisExpandWindow[0],l=i,u=!0):(s=t-(r-1-n)*a,c=a),{position:s,axisNameAvailableWidth:l,axisLabelShow:u,nameTruncateMaxWidth:c}}const tye=Jve;function nye(n,e){var t=[];return n.eachComponent("parallel",function(i,r){var a=new tye(i,n,e);a.name="parallel_"+r,a.resize(i,e),i.coordinateSystem=a,a.model=i,t.push(a)}),n.eachSeries(function(i){if(i.get("coordinateSystem")==="parallel"){var r=i.getReferringComponents("parallel",Z0).models[0];i.coordinateSystem=r.coordinateSystem}}),t}var iye={create:nye};const rye=iye;var WJ=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.activeIntervals=[],t}return e.prototype.getAreaSelectStyle=function(){return rl([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},e.prototype.setActiveIntervals=function(t){var i=this.activeIntervals=$t(t);if(i)for(var r=i.length-1;r>=0;r--)La(i[r])},e.prototype.getActiveState=function(t){var i=this.activeIntervals;if(!i.length)return"normal";if(t==null||isNaN(+t))return"inactive";if(i.length===1){var r=i[0];if(r[0]<=t&&t<=r[1])return"active"}else for(var a=0,o=i.length;a<o;a++)if(i[a][0]<=t&&t<=i[a][1])return"active";return"inactive"},e}(j3);en(WJ,af);const Oz=WJ;var sl=!0,xh=Math.min,z7=Math.max,aye=Math.pow,oye=1e4,sye=6,lye=6,Bz="globalPan",uye={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},cye={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},zz={brushStyle:{lineWidth:2,stroke:"rgba(210,219,238,0.3)",fill:"#D2DBEE"},transformable:!0,brushMode:"single",removeOnClick:!1},dye=0,hye=function(n){g2(e,n);function e(t){var i=n.call(this)||this;return i._track=[],i._covers=[],i._handlers={},i._zr=t,i.group=new qt,i._uid="brushController_"+dye++,ne(_ye,function(r,a){this._handlers[a]=St(r,this)},i),i}return e.prototype.enableBrush=function(t){return this._brushType&&this._doDisableBrush(),t.brushType&&this._doEnableBrush(t),this},e.prototype._doEnableBrush=function(t){var i=this._zr;this._enableGlobalPan||xpe(i,Bz,this._uid),ne(this._handlers,function(r,a){i.on(a,r)}),this._brushType=t.brushType,this._brushOption=l3($t(zz),t,!0)},e.prototype._doDisableBrush=function(){var t=this._zr;wpe(t,Bz,this._uid),ne(this._handlers,function(i,r){t.off(r,i)}),this._brushType=this._brushOption=null},e.prototype.setPanels=function(t){if(t&&t.length){var i=this._panels={};ne(t,function(r){i[r.panelId]=$t(r)})}else this._panels=null;return this},e.prototype.mount=function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var i=this.group;return this._zr.add(i),i.attr({x:t.x||0,y:t.y||0,rotation:t.rotation||0,scaleX:t.scaleX||1,scaleY:t.scaleY||1}),this._transform=i.getLocalTransform(),this},e.prototype.updateCovers=function(t){t=j2(t,function(h){return l3($t(zz),h,!0)});var i="\0-brush-index-",r=this._covers,a=this._covers=[],o=this,s=this._creatingCover;return new l6(r,t,u,l).add(c).update(c).remove(d).execute(),this;function l(h,f){return(h.id!=null?h.id:i+f)+"-"+h.brushType}function u(h,f){return l(h.__brushOption,f)}function c(h,f){var p=t[h];if(f!=null&&r[f]===s)a[h]=r[f];else{var g=a[h]=f!=null?(r[f].__brushOption=p,r[f]):$J(o,jJ(o,p));AR(o,g)}}function d(h){r[h]!==s&&o.group.remove(r[h])}},e.prototype.unmount=function(){return this.enableBrush(!1),mM(this),this._zr.remove(this.group),this},e.prototype.dispose=function(){this.unmount(),this.off()},e}(Ua);function jJ(n,e){var t=tS[e.brushType].createCover(n,e);return t.__brushOption=e,qJ(t,e),n.group.add(t),t}function $J(n,e){var t=CR(e);return t.endCreating&&(t.endCreating(n,e),qJ(e,e.__brushOption)),e}function YJ(n,e){var t=e.__brushOption;CR(e).updateCoverShape(n,e,t.range,t)}function qJ(n,e){var t=e.z;t==null&&(t=oye),n.traverse(function(i){i.z=t,i.z2=t})}function AR(n,e){CR(e).updateCommon(n,e),YJ(n,e)}function CR(n){return tS[n.__brushOption.brushType]}function MR(n,e,t){var i=n._panels;if(!i)return sl;var r,a=n._transform;return ne(i,function(o){o.isTargetByCursor(e,t,a)&&(r=o)}),r}function XJ(n,e){var t=n._panels;if(!t)return sl;var i=e.__brushOption.panelId;return i!=null?t[i]:sl}function mM(n){var e=n._covers,t=e.length;return ne(e,function(i){n.group.remove(i)},n),e.length=0,!!t}function ll(n,e){var t=j2(n._covers,function(i){var r=i.__brushOption,a=$t(r.range);return{brushType:r.brushType,panelId:r.panelId,range:a}});n.trigger("brush",{areas:t,isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function fye(n){var e=n._track;if(!e.length)return!1;var t=e[e.length-1],i=e[0],r=t[0]-i[0],a=t[1]-i[1],o=aye(r*r+a*a,.5);return o>sye}function KJ(n){var e=n.length-1;return e<0&&(e=0),[n[0],n[e]]}function ZJ(n,e,t,i){var r=new qt;return r.add(new V3({name:"main",style:ER(t),silent:!0,draggable:!0,cursor:"move",drift:r3(Uz,n,e,r,["n","s","w","e"]),ondragend:r3(ll,e,{isEnd:!0})})),ne(i,function(a){r.add(new V3({name:a.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:r3(Uz,n,e,r,a),ondragend:r3(ll,e,{isEnd:!0})}))}),r}function JJ(n,e,t,i){var r=i.brushStyle.lineWidth||0,a=z7(r,lye),o=t[0][0],s=t[1][0],l=o-r/2,u=s-r/2,c=t[0][1],d=t[1][1],h=c-a+r/2,f=d-a+r/2,p=c-o,g=d-s,m=p+r,v=g+r;Ds(n,e,"main",o,s,p,g),i.transformable&&(Ds(n,e,"w",l,u,a,v),Ds(n,e,"e",h,u,a,v),Ds(n,e,"n",l,u,m,a),Ds(n,e,"s",l,f,m,a),Ds(n,e,"nw",l,u,a,a),Ds(n,e,"ne",h,u,a,a),Ds(n,e,"sw",l,f,a,a),Ds(n,e,"se",h,f,a,a))}function gM(n,e){var t=e.__brushOption,i=t.transformable,r=e.childAt(0);r.useStyle(ER(t)),r.attr({silent:!i,cursor:i?"move":"default"}),ne([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(a){var o=e.childOfName(a.join("")),s=a.length===1?vM(n,a[0]):mye(n,a);o&&o.attr({silent:!i,invisible:!i,cursor:i?cye[s]+"-resize":null})})}function Ds(n,e,t,i,r,a,o){var s=e.childOfName(t);s&&s.setShape(vye(PR(n,e,[[i,r],[i+a,r+o]])))}function ER(n){return Vt({strokeNoScale:!0},n.brushStyle)}function QJ(n,e,t,i){var r=[xh(n,t),xh(e,i)],a=[z7(n,t),z7(e,i)];return[[r[0],a[0]],[r[1],a[1]]]}function pye(n){return H8(n.group)}function vM(n,e){var t={w:"left",e:"right",n:"top",s:"bottom"},i={left:"w",right:"e",top:"n",bottom:"s"},r=I_(t[e],pye(n));return i[r]}function mye(n,e){var t=[vM(n,e[0]),vM(n,e[1])];return(t[0]==="e"||t[0]==="w")&&t.reverse(),t.join("")}function Uz(n,e,t,i,r,a){var o=t.__brushOption,s=n.toRectRange(o.range),l=eQ(e,r,a);ne(i,function(u){var c=uye[u];s[c[0]][c[1]]+=l[c[0]]}),o.range=n.fromRectRange(QJ(s[0][0],s[1][0],s[0][1],s[1][1])),AR(e,t),ll(e,{isEnd:!1})}function gye(n,e,t,i){var r=e.__brushOption.range,a=eQ(n,t,i);ne(r,function(o){o[0]+=a[0],o[1]+=a[1]}),AR(n,e),ll(n,{isEnd:!1})}function eQ(n,e,t){var i=n.group,r=i.transformCoordToLocal(e,t),a=i.transformCoordToLocal(0,0);return[r[0]-a[0],r[1]-a[1]]}function PR(n,e,t){var i=XJ(n,e);return i&&i!==sl?i.clipPath(t,n._transform):$t(t)}function vye(n){var e=xh(n[0][0],n[1][0]),t=xh(n[0][1],n[1][1]),i=z7(n[0][0],n[1][0]),r=z7(n[0][1],n[1][1]);return{x:e,y:t,width:i-e,height:r-t}}function yye(n,e,t){if(!(!n._brushType||Sye(n,e.offsetX,e.offsetY))){var i=n._zr,r=n._covers,a=MR(n,e,t);if(!n._dragging)for(var o=0;o<r.length;o++){var s=r[o].__brushOption;if(a&&(a===sl||s.panelId===a.panelId)&&tS[s.brushType].contain(r[o],t[0],t[1]))return}a&&i.setCursorStyle("crosshair")}}function yM(n){var e=n.event;e.preventDefault&&e.preventDefault()}function _M(n,e,t){return n.childOfName("main").contain(e,t)}function tQ(n,e,t,i){var r=n._creatingCover,a=n._creatingPanel,o=n._brushOption,s;if(n._track.push(t.slice()),fye(n)||r){if(a&&!r){o.brushMode==="single"&&mM(n);var l=$t(o);l.brushType=Gz(l.brushType,a),l.panelId=a===sl?null:a.panelId,r=n._creatingCover=jJ(n,l),n._covers.push(r)}if(r){var u=tS[Gz(n._brushType,a)],c=r.__brushOption;c.range=u.getCreatingRange(PR(n,r,n._track)),i&&($J(n,r),u.updateCommon(n,r)),YJ(n,r),s={isEnd:i}}}else i&&o.brushMode==="single"&&o.removeOnClick&&MR(n,e,t)&&mM(n)&&(s={isEnd:i,removeOnClick:!0});return s}function Gz(n,e){return n==="auto"?e.defaultBrushType:n}var _ye={mousedown:function(n){if(this._dragging)Vz(this,n);else if(!n.target||!n.target.draggable){yM(n);var e=this.group.transformCoordToLocal(n.offsetX,n.offsetY);this._creatingCover=null;var t=this._creatingPanel=MR(this,n,e);t&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(n){var e=n.offsetX,t=n.offsetY,i=this.group.transformCoordToLocal(e,t);if(yye(this,n,i),this._dragging){yM(n);var r=tQ(this,n,i,!1);r&&ll(this,r)}},mouseup:function(n){Vz(this,n)}};function Vz(n,e){if(n._dragging){yM(e);var t=e.offsetX,i=e.offsetY,r=n.group.transformCoordToLocal(t,i),a=tQ(n,e,r,!0);n._dragging=!1,n._track=[],n._creatingCover=null,a&&ll(n,a)}}function Sye(n,e,t){var i=n._zr;return e<0||e>i.getWidth()||t<0||t>i.getHeight()}var tS={lineX:Hz(0),lineY:Hz(1),rect:{createCover:function(n,e){function t(i){return i}return ZJ({toRectRange:t,fromRectRange:t},n,e,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(n){var e=KJ(n);return QJ(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(n,e,t,i){JJ(n,e,t,i)},updateCommon:gM,contain:_M},polygon:{createCover:function(n,e){var t=new qt;return t.add(new Sr({name:"main",style:ER(e),silent:!0})),t},getCreatingRange:function(n){return n},endCreating:function(n,e){e.remove(e.childAt(0)),e.add(new gr({name:"main",draggable:!0,drift:r3(gye,n,e),ondragend:r3(ll,n,{isEnd:!0})}))},updateCoverShape:function(n,e,t,i){e.childAt(0).setShape({points:PR(n,e,t)})},updateCommon:gM,contain:_M}};function Hz(n){return{createCover:function(e,t){return ZJ({toRectRange:function(i){var r=[i,[0,100]];return n&&r.reverse(),r},fromRectRange:function(i){return i[n]}},e,t,[[["w"],["e"]],[["n"],["s"]]][n])},getCreatingRange:function(e){var t=KJ(e),i=xh(t[0][n],t[1][n]),r=z7(t[0][n],t[1][n]);return[i,r]},updateCoverShape:function(e,t,i,r){var a,o=XJ(e,t);if(o!==sl&&o.getLinearBrushOtherExtent)a=o.getLinearBrushOtherExtent(n);else{var s=e._zr;a=[0,[s.getWidth(),s.getHeight()][1-n]]}var l=[i,a];n&&l.reverse(),JJ(e,t,l,r)},updateCommon:gM,contain:_M}}const RR=hye;function nQ(n){return n=LR(n),function(e){return iX(e,n)}}function iQ(n,e){return n=LR(n),function(t){var i=e!=null?e:t,r=i?n.width:n.height,a=i?n.x:n.y;return[a,a+(r||0)]}}function rQ(n,e,t){var i=LR(n);return function(r,a){return i.contain(a[0],a[1])&&!Z_(r,e,t)}}function LR(n){return h3.create(n)}var bye=["axisLine","axisTickLabel","axisName"],xye=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){n.prototype.init.apply(this,arguments),(this._brushController=new RR(i.getZr())).on("brush",St(this._onBrush,this))},e.prototype.render=function(t,i,r,a){if(!wye(t,i,a)){this.axisModel=t,this.api=r,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new qt,this.group.add(this._axisGroup),!!t.get("show")){var s=Aye(t,i),l=s.coordinateSystem,u=t.getAreaSelectStyle(),c=u.width,d=t.axis.dim,h=l.getAxisLayout(d),f=L2({strokeContainThreshold:c},h),p=new u6(t,f);ne(bye,p.add,p),this._axisGroup.add(p.getGroup()),this._refreshBrushController(f,u,t,s,c,r),Qh(o,this._axisGroup,t)}}},e.prototype._refreshBrushController=function(t,i,r,a,o,s){var l=r.axis.getExtent(),u=l[1]-l[0],c=Math.min(30,Math.abs(u)*.1),d=h3.create({x:l[0],y:-o/2,width:u,height:o});d.x-=c,d.width+=2*c,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,x:t.position[0],y:t.position[1]}).setPanels([{panelId:"pl",clipPath:nQ(d),isTargetByCursor:rQ(d,s,a),getLinearBrushOtherExtent:iQ(d,0)}]).enableBrush({brushType:"lineX",brushStyle:i,removeOnClick:!0}).updateCovers(Tye(r))},e.prototype._onBrush=function(t){var i=t.areas,r=this.axisModel,a=r.axis,o=j2(i,function(s){return[a.coordToData(s.range[0],!0),a.coordToData(s.range[1],!0)]});(!r.option.realtime===t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:r.id,intervals:o})},e.prototype.dispose=function(){this._brushController.dispose()},e.type="parallelAxis",e}(T0);function wye(n,e,t){return t&&t.type==="axisAreaSelect"&&e.findComponents({mainType:"parallelAxis",query:t})[0]===n}function Tye(n){var e=n.axis;return j2(n.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}function Aye(n,e){return e.getComponent("parallel",n.get("parallelIndex"))}const Cye=xye;var Mye={type:"axisAreaSelect",event:"axisAreaSelected"};function Eye(n){n.registerAction(Mye,function(e,t){t.eachComponent({mainType:"parallelAxis",query:e},function(i){i.axis.model.setActiveIntervals(e.intervals)})}),n.registerAction("parallelAxisExpand",function(e,t){t.eachComponent({mainType:"parallel",query:e},function(i){i.setAxisExpand(e)})})}var Pye={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};function aQ(n){n.registerComponentView(jve),n.registerComponentModel(Yve),n.registerCoordinateSystem("parallel",rye),n.registerPreprocessor(zve),n.registerComponentModel(Oz),n.registerComponentView(Cye),B7(n,"parallel",Oz,Pye),Eye(n)}function Rye(n){T3(aQ),n.registerChartView(Lve),n.registerSeriesModel(kve),n.registerVisual(n.PRIORITY.VISUAL.BRUSH,Bve)}var Lye=function(){function n(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.cpx2=0,this.cpy2=0,this.extent=0}return n}(),Iye=function(n){g2(e,n);function e(t){return n.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new Lye},e.prototype.buildPath=function(t,i){var r=i.extent;t.moveTo(i.x1,i.y1),t.bezierCurveTo(i.cpx1,i.cpy1,i.cpx2,i.cpy2,i.x2,i.y2),i.orient==="vertical"?(t.lineTo(i.x2+r,i.y2),t.bezierCurveTo(i.cpx2+r,i.cpy2,i.cpx1+r,i.cpy1,i.x1+r,i.y1)):(t.lineTo(i.x2,i.y2+r),t.bezierCurveTo(i.cpx2,i.cpy2+r,i.cpx1,i.cpy1+r,i.x1,i.y1+r)),t.closePath()},e.prototype.highlight=function(){o6(this)},e.prototype.downplay=function(){s6(this)},e}(C3),Dye=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._focusAdjacencyDisabled=!1,t}return e.prototype.render=function(t,i,r){var a=this,o=t.getGraph(),s=this.group,l=t.layoutInfo,u=l.width,c=l.height,d=t.getData(),h=t.getData("edge"),f=t.get("orient");this._model=t,s.removeAll(),s.x=l.x,s.y=l.y,o.eachEdge(function(p){var g=new Iye,m=Xt(g);m.dataIndex=p.dataIndex,m.seriesIndex=t.seriesIndex,m.dataType="edge";var v=p.getModel(),_=v.getModel("lineStyle"),S=_.get("curveness"),x=p.node1.getLayout(),A=p.node1.getModel(),C=A.get("localX"),M=A.get("localY"),I=p.node2.getLayout(),D=p.node2.getModel(),E=D.get("localX"),L=D.get("localY"),V=p.getLayout(),Y,G,W,q,ce,J,H,re;g.shape.extent=Math.max(1,V.dy),g.shape.orient=f,f==="vertical"?(Y=(C!=null?C*u:x.x)+V.sy,G=(M!=null?M*c:x.y)+x.dy,W=(E!=null?E*u:I.x)+V.ty,q=L!=null?L*c:I.y,ce=Y,J=G*(1-S)+q*S,H=W,re=G*S+q*(1-S)):(Y=(C!=null?C*u:x.x)+x.dx,G=(M!=null?M*c:x.y)+V.sy,W=E!=null?E*u:I.x,q=(L!=null?L*c:I.y)+V.ty,ce=Y*(1-S)+W*S,J=G,H=Y*S+W*(1-S),re=q),g.setShape({x1:Y,y1:G,x2:W,y2:q,cpx1:ce,cpy1:J,cpx2:H,cpy2:re}),g.useStyle(_.getItemStyle()),Wz(g.style,f,p);var ee=""+v.get("value"),se=bn(v,"edgeLabel");Qn(g,se,{labelFetcher:{getFormattedLabel:function(ve,Ke,p2,c2,s2,R2){return t.getFormattedLabel(ve,Ke,"edge",c2,es(s2,se.normal&&se.normal.get("formatter"),ee),R2)}},labelDataIndex:p.dataIndex,defaultText:ee}),g.setTextConfig({position:"inside"});var Be=v.getModel("emphasis");Jn(g,v,"lineStyle",function(ve){var Ke=ve.getItemStyle();return Wz(Ke,f,p),Ke}),s.add(g),h.setItemGraphicEl(p.dataIndex,g);var we=Be.get("focus");b0(g,we==="adjacency"?p.getAdjacentDataIndices():we==="trajectory"?p.getTrajectoryDataIndices():we,Be.get("blurScope"),Be.get("disabled"))}),o.eachNode(function(p){var g=p.getLayout(),m=p.getModel(),v=m.get("localX"),_=m.get("localY"),S=m.getModel("emphasis"),x=m.get(["itemStyle","borderRadius"])||0,A=new V3({shape:{x:v!=null?v*u:g.x,y:_!=null?_*c:g.y,width:g.dx,height:g.dy,r:x},style:m.getModel("itemStyle").getItemStyle(),z2:10});Qn(A,bn(m),{labelFetcher:{getFormattedLabel:function(M,I){return t.getFormattedLabel(M,I,"node")}},labelDataIndex:p.dataIndex,defaultText:p.id}),A.disableLabelAnimation=!0,A.setStyle("fill",p.getVisual("color")),A.setStyle("decal",p.getVisual("style").decal),Jn(A,m),s.add(A),d.setItemGraphicEl(p.dataIndex,A),Xt(A).dataType="node";var C=S.get("focus");b0(A,C==="adjacency"?p.getAdjacentDataIndices():C==="trajectory"?p.getTrajectoryDataIndices():C,S.get("blurScope"),S.get("disabled"))}),d.eachItemGraphicEl(function(p,g){var m=d.getItemModel(g);m.get("draggable")&&(p.drift=function(v,_){a._focusAdjacencyDisabled=!0,this.shape.x+=v,this.shape.y+=_,this.dirty(),r.dispatchAction({type:"dragNode",seriesId:t.id,dataIndex:d.getRawIndex(g),localX:this.shape.x/u,localY:this.shape.y/c})},p.ondragend=function(){a._focusAdjacencyDisabled=!1},p.draggable=!0,p.cursor="move")}),!this._data&&t.isAnimationEnabled()&&s.setClipPath(Nye(s.getBoundingRect(),t,function(){s.removeClipPath()})),this._data=t.getData()},e.prototype.dispose=function(){},e.type="sankey",e}(K1);function Wz(n,e,t){switch(n.fill){case"source":n.fill=t.node1.getVisual("color"),n.decal=t.node1.getVisual("style").decal;break;case"target":n.fill=t.node2.getVisual("color"),n.decal=t.node2.getVisual("style").decal;break;case"gradient":var i=t.node1.getVisual("color"),r=t.node2.getVisual("color");_t(i)&&_t(r)&&(n.fill=new gn(0,0,+(e==="horizontal"),+(e==="vertical"),[{color:i,offset:0},{color:r,offset:1}]))}}function Nye(n,e,t){var i=new V3({shape:{x:n.x-10,y:n.y-10,width:0,height:n.height+20}});return l0(i,{shape:{width:n.width+20}},e,t),i}const kye=Dye;var Fye=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,i){var r=t.edges||t.links||[],a=t.data||t.nodes||[],o=t.levels||[];this.levelModels=[];for(var s=this.levelModels,l=0;l<o.length;l++)o[l].depth!=null&&o[l].depth>=0&&(s[o[l].depth]=new X1(o[l],this,i));var u=UJ(a,r,this,!0,c);return u.data;function c(d,h){d.wrapMethod("getItemModel",function(f,p){var g=f.parentModel,m=g.getData().getItemLayout(p);if(m){var v=m.depth,_=g.levelModels[v];_&&(f.parentModel=_)}return f}),h.wrapMethod("getItemModel",function(f,p){var g=f.parentModel,m=g.getGraph().getEdgeByIndex(p),v=m.node1.getLayout();if(v){var _=v.depth,S=g.levelModels[_];S&&(f.parentModel=S)}return f})}},e.prototype.setNodePosition=function(t,i){var r=this.option.data||this.option.nodes,a=r[t];a.localX=i[0],a.localY=i[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,i,r){function a(f){return isNaN(f)||f==null}if(r==="edge"){var o=this.getDataParams(t,r),s=o.data,l=o.value,u=s.source+" -- "+s.target;return xn("nameValue",{name:u,value:l,noValue:a(l)})}else{var c=this.getGraph().getNodeByIndex(t),d=c.getLayout().value,h=this.getDataParams(t,r).data.name;return xn("nameValue",{name:h!=null?h+"":null,value:d,noValue:a(d)})}},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(t,i){var r=n.prototype.getDataParams.call(this,t,i);if(r.value==null&&i==="node"){var a=this.getGraph().getNodeByIndex(t),o=a.getLayout().value;r.value=o}return r},e.type="series.sankey",e.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},e}(m0);const Oye=Fye;function Bye(n,e){n.eachSeriesByType("sankey",function(t){var i=t.get("nodeWidth"),r=t.get("nodeGap"),a=zye(t,e);t.layoutInfo=a;var o=a.width,s=a.height,l=t.getGraph(),u=l.nodes,c=l.edges;Gye(u);var d=c1(u,function(g){return g.getLayout().value===0}),h=d.length!==0?0:t.get("layoutIterations"),f=t.get("orient"),p=t.get("nodeAlign");Uye(u,c,i,r,o,s,h,f,p)})}function zye(n,e){return hn(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Uye(n,e,t,i,r,a,o,s,l){Vye(n,e,t,r,a,s,l),$ye(n,e,a,r,i,o,s),t_e(n,s)}function Gye(n){ne(n,function(e){var t=N5(e.outEdges,my),i=N5(e.inEdges,my),r=e.getValue()||0,a=Math.max(t,i,r);e.setLayout({value:a},!0)})}function Vye(n,e,t,i,r,a,o){for(var s=[],l=[],u=[],c=[],d=0,h=0;h<e.length;h++)s[h]=1;for(var h=0;h<n.length;h++)l[h]=n[h].inEdges.length,l[h]===0&&u.push(n[h]);for(var f=-1;u.length;){for(var p=0;p<u.length;p++){var g=u[p],m=g.hostGraph.data.getRawDataItem(g.dataIndex),v=m.depth!=null&&m.depth>=0;v&&m.depth>f&&(f=m.depth),g.setLayout({depth:v?m.depth:d},!0),a==="vertical"?g.setLayout({dy:t},!0):g.setLayout({dx:t},!0);for(var _=0;_<g.outEdges.length;_++){var S=g.outEdges[_],x=e.indexOf(S);s[x]=0;var A=S.node2,C=n.indexOf(A);--l[C]===0&&c.indexOf(A)<0&&c.push(A)}}++d,u=c,c=[]}for(var h=0;h<s.length;h++)if(s[h]===1)throw new Error("Sankey is a DAG, the original data has cycle!");var M=f>d-1?f:d-1;o&&o!=="left"&&Hye(n,o,a,M);var I=a==="vertical"?(r-t)/M:(i-t)/M;jye(n,I,a)}function oQ(n){var e=n.hostGraph.data.getRawDataItem(n.dataIndex);return e.depth!=null&&e.depth>=0}function Hye(n,e,t,i){if(e==="right"){for(var r=[],a=n,o=0;a.length;){for(var s=0;s<a.length;s++){var l=a[s];l.setLayout({skNodeHeight:o},!0);for(var u=0;u<l.inEdges.length;u++){var c=l.inEdges[u];r.indexOf(c.node1)<0&&r.push(c.node1)}}a=r,r=[],++o}ne(n,function(d){oQ(d)||d.setLayout({depth:Math.max(0,i-d.getLayout().skNodeHeight)},!0)})}else e==="justify"&&Wye(n,i)}function Wye(n,e){ne(n,function(t){!oQ(t)&&!t.outEdges.length&&t.setLayout({depth:e},!0)})}function jye(n,e,t){ne(n,function(i){var r=i.getLayout().depth*e;t==="vertical"?i.setLayout({y:r},!0):i.setLayout({x:r},!0)})}function $ye(n,e,t,i,r,a,o){var s=Yye(n,o);qye(s,e,t,i,r,o),Yw(s,r,t,i,o);for(var l=1;a>0;a--)l*=.99,Xye(s,l,o),Yw(s,r,t,i,o),e_e(s,l,o),Yw(s,r,t,i,o)}function Yye(n,e){var t=[],i=e==="vertical"?"y":"x",r=xC(n,function(a){return a.getLayout()[i]});return r.keys.sort(function(a,o){return a-o}),ne(r.keys,function(a){t.push(r.buckets.get(a))}),t}function qye(n,e,t,i,r,a){var o=1/0;ne(n,function(s){var l=s.length,u=0;ne(s,function(d){u+=d.getLayout().value});var c=a==="vertical"?(i-(l-1)*r)/u:(t-(l-1)*r)/u;c<o&&(o=c)}),ne(n,function(s){ne(s,function(l,u){var c=l.getLayout().value*o;a==="vertical"?(l.setLayout({x:u},!0),l.setLayout({dx:c},!0)):(l.setLayout({y:u},!0),l.setLayout({dy:c},!0))})}),ne(e,function(s){var l=+s.getValue()*o;s.setLayout({dy:l},!0)})}function Yw(n,e,t,i,r){var a=r==="vertical"?"x":"y";ne(n,function(o){o.sort(function(g,m){return g.getLayout()[a]-m.getLayout()[a]});for(var s,l,u,c=0,d=o.length,h=r==="vertical"?"dx":"dy",f=0;f<d;f++)l=o[f],u=c-l.getLayout()[a],u>0&&(s=l.getLayout()[a]+u,r==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),c=l.getLayout()[a]+l.getLayout()[h]+e;var p=r==="vertical"?i:t;if(u=c-e-p,u>0){s=l.getLayout()[a]-u,r==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0),c=s;for(var f=d-2;f>=0;--f)l=o[f],u=l.getLayout()[a]+l.getLayout()[h]+e-c,u>0&&(s=l.getLayout()[a]-u,r==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),c=l.getLayout()[a]}})}function Xye(n,e,t){ne(n.slice().reverse(),function(i){ne(i,function(r){if(r.outEdges.length){var a=N5(r.outEdges,Kye,t)/N5(r.outEdges,my);if(isNaN(a)){var o=r.outEdges.length;a=o?N5(r.outEdges,Zye,t)/o:0}if(t==="vertical"){var s=r.getLayout().x+(a-X5(r,t))*e;r.setLayout({x:s},!0)}else{var l=r.getLayout().y+(a-X5(r,t))*e;r.setLayout({y:l},!0)}}})})}function Kye(n,e){return X5(n.node2,e)*n.getValue()}function Zye(n,e){return X5(n.node2,e)}function Jye(n,e){return X5(n.node1,e)*n.getValue()}function Qye(n,e){return X5(n.node1,e)}function X5(n,e){return e==="vertical"?n.getLayout().x+n.getLayout().dx/2:n.getLayout().y+n.getLayout().dy/2}function my(n){return n.getValue()}function N5(n,e,t){for(var i=0,r=n.length,a=-1;++a<r;){var o=+e(n[a],t);isNaN(o)||(i+=o)}return i}function e_e(n,e,t){ne(n,function(i){ne(i,function(r){if(r.inEdges.length){var a=N5(r.inEdges,Jye,t)/N5(r.inEdges,my);if(isNaN(a)){var o=r.inEdges.length;a=o?N5(r.inEdges,Qye,t)/o:0}if(t==="vertical"){var s=r.getLayout().x+(a-X5(r,t))*e;r.setLayout({x:s},!0)}else{var l=r.getLayout().y+(a-X5(r,t))*e;r.setLayout({y:l},!0)}}})})}function t_e(n,e){var t=e==="vertical"?"x":"y";ne(n,function(i){i.outEdges.sort(function(r,a){return r.node2.getLayout()[t]-a.node2.getLayout()[t]}),i.inEdges.sort(function(r,a){return r.node1.getLayout()[t]-a.node1.getLayout()[t]})}),ne(n,function(i){var r=0,a=0;ne(i.outEdges,function(o){o.setLayout({sy:r},!0),r+=o.getLayout().dy}),ne(i.inEdges,function(o){o.setLayout({ty:a},!0),a+=o.getLayout().dy})})}function n_e(n){n.eachSeriesByType("sankey",function(e){var t=e.getGraph(),i=t.nodes,r=t.edges;if(i.length){var a=1/0,o=-1/0;ne(i,function(s){var l=s.getLayout().value;l<a&&(a=l),l>o&&(o=l)}),ne(i,function(s){var l=new Zn({type:"color",mappingMethod:"linear",dataExtent:[a,o],visual:e.get("color")}),u=l.mapValueToVisual(s.getLayout().value),c=s.getModel().get(["itemStyle","color"]);c!=null?(s.setVisual("color",c),s.setVisual("style",{fill:c})):(s.setVisual("color",u),s.setVisual("style",{fill:u}))})}r.length&&ne(r,function(s){var l=s.getModel().get("lineStyle");s.setVisual("style",l)})})}function i_e(n){n.registerChartView(kye),n.registerSeriesModel(Oye),n.registerLayout(Bye),n.registerVisual(n_e),n.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"sankey",query:e},function(i){i.setNodePosition(e.dataIndex,[e.localX,e.localY])})})}var sQ=function(){function n(){}return n.prototype._hasEncodeRule=function(e){var t=this.getEncode();return t&&t.get(e)!=null},n.prototype.getInitialData=function(e,t){var i,r=t.getComponent("xAxis",this.get("xAxisIndex")),a=t.getComponent("yAxis",this.get("yAxisIndex")),o=r.get("type"),s=a.get("type"),l;o==="category"?(e.layout="horizontal",i=r.getOrdinalMeta(),l=!this._hasEncodeRule("x")):s==="category"?(e.layout="vertical",i=a.getOrdinalMeta(),l=!this._hasEncodeRule("y")):e.layout=e.layout||"horizontal";var u=["x","y"],c=e.layout==="horizontal"?0:1,d=this._baseAxisDim=u[c],h=u[1-c],f=[r,a],p=f[c].get("type"),g=f[1-c].get("type"),m=e.data;if(m&&l){var v=[];ne(m,function(x,A){var C;H2(x)?(C=x.slice(),x.unshift(A)):H2(x.value)?(C=L2({},x),C.value=C.value.slice(),x.value.unshift(A)):C=x,v.push(C)}),e.data=v}var _=this.defaultValueDimensions,S=[{name:d,type:iy(p),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:h,type:iy(g),dimsDef:_.slice()}];return bu(this,{coordDimensions:S,dimensionsCount:_.length+1,encodeDefaulter:r3(PX,S,this)})},n.prototype.getBaseAxis=function(){var e=this._baseAxisDim;return this.ecModel.getComponent(e+"Axis",this.get(e+"AxisIndex")).axis},n}(),lQ=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],t.visualDrawType="stroke",t}return e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},e}(m0);en(lQ,sQ,!0);const r_e=lQ;var a_e=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this.group,s=this._data;this._data||o.removeAll();var l=t.get("layout")==="horizontal"?1:0;a.diff(s).add(function(u){if(a.hasValue(u)){var c=a.getItemLayout(u),d=jz(c,a,u,l,!0);a.setItemGraphicEl(u,d),o.add(d)}}).update(function(u,c){var d=s.getItemGraphicEl(c);if(!a.hasValue(u)){o.remove(d);return}var h=a.getItemLayout(u);d?(go(d),uQ(h,d,a,u)):d=jz(h,a,u,l),o.add(d),a.setItemGraphicEl(u,d)}).remove(function(u){var c=s.getItemGraphicEl(u);c&&o.remove(c)}).execute(),this._data=a},e.prototype.remove=function(t){var i=this.group,r=this._data;this._data=null,r&&r.eachItemGraphicEl(function(a){a&&i.remove(a)})},e.type="boxplot",e}(K1),o_e=function(){function n(){}return n}(),s_e=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="boxplotBoxPath",i}return e.prototype.getDefaultShape=function(){return new o_e},e.prototype.buildPath=function(t,i){var r=i.points,a=0;for(t.moveTo(r[a][0],r[a][1]),a++;a<4;a++)t.lineTo(r[a][0],r[a][1]);for(t.closePath();a<r.length;a++)t.moveTo(r[a][0],r[a][1]),a++,t.lineTo(r[a][0],r[a][1])},e}(C3);function jz(n,e,t,i,r){var a=n.ends,o=new s_e({shape:{points:r?l_e(a,i,n):a}});return uQ(n,o,e,t,r),o}function uQ(n,e,t,i,r){var a=t.hostModel,o=bl[r?"initProps":"updateProps"];o(e,{shape:{points:n.ends}},a,i),e.useStyle(t.getItemVisual(i,"style")),e.style.strokeNoScale=!0,e.z2=100;var s=t.getItemModel(i),l=s.getModel("emphasis");Jn(e,s),b0(e,l.get("focus"),l.get("blurScope"),l.get("disabled"))}function l_e(n,e,t){return j2(n,function(i){return i=i.slice(),i[e]=t.initBaseline,i})}const u_e=a_e;var Ed=ne;function c_e(n){var e=d_e(n);Ed(e,function(t){var i=t.seriesModels;i.length&&(h_e(t),Ed(i,function(r,a){f_e(r,t.boxOffsetList[a],t.boxWidthList[a])}))})}function d_e(n){var e=[],t=[];return n.eachSeriesByType("boxplot",function(i){var r=i.getBaseAxis(),a=_3(t,r);a<0&&(a=t.length,t[a]=r,e[a]={axis:r,seriesModels:[]}),e[a].seriesModels.push(i)}),e}function h_e(n){var e=n.axis,t=n.seriesModels,i=t.length,r=n.boxWidthList=[],a=n.boxOffsetList=[],o=[],s;if(e.type==="category")s=e.getBandWidth();else{var l=0;Ed(t,function(p){l=Math.max(l,p.getData().count())});var u=e.getExtent();s=Math.abs(u[1]-u[0])/l}Ed(t,function(p){var g=p.get("boxWidth");H2(g)||(g=[g,g]),o.push([ft(g[0],s)||0,ft(g[1],s)||0])});var c=s*.8-2,d=c/i*.3,h=(c-d*(i-1))/i,f=h/2-c/2;Ed(t,function(p,g){a.push(f),f+=d+h,r.push(Math.min(Math.max(h,o[g][0]),o[g][1]))})}function f_e(n,e,t){var i=n.coordinateSystem,r=n.getData(),a=t/2,o=n.get("layout")==="horizontal"?0:1,s=1-o,l=["x","y"],u=r.mapDimension(l[o]),c=r.mapDimensionsAll(l[s]);if(u==null||c.length<5)return;for(var d=0;d<r.count();d++){var h=r.get(u,d),f=S(h,c[2],d),p=S(h,c[0],d),g=S(h,c[1],d),m=S(h,c[3],d),v=S(h,c[4],d),_=[];x(_,g,!1),x(_,m,!0),_.push(p,g,v,m),A(_,p),A(_,v),A(_,f),r.setItemLayout(d,{initBaseline:f[s],ends:_})}function S(C,M,I){var D=r.get(M,I),E=[];E[o]=C,E[s]=D;var L;return isNaN(C)||isNaN(D)?L=[NaN,NaN]:(L=i.dataToPoint(E),L[o]+=e),L}function x(C,M,I){var D=M.slice(),E=M.slice();D[o]+=a,E[o]-=a,I?C.push(D,E):C.push(E,D)}function A(C,M){var I=M.slice(),D=M.slice();I[o]-=a,D[o]+=a,C.push(I,D)}}function p_e(n,e){e=e||{};for(var t=[],i=[],r=e.boundIQR,a=r==="none"||r===0,o=0;o<n.length;o++){var s=La(n[o].slice()),l=bx(s,.25),u=bx(s,.5),c=bx(s,.75),d=s[0],h=s[s.length-1],f=(r==null?1.5:r)*(c-l),p=a?d:Math.max(d,l-f),g=a?h:Math.min(h,c+f),m=e.itemNameFormatter,v=Gt(m)?m({value:o}):_t(m)?m.replace("{value}",o+""):o+"";t.push([v,p,l,u,c,g]);for(var _=0;_<s.length;_++){var S=s[_];if(S<p||S>g){var x=[v,S];i.push(x)}}}return{boxData:t,outliers:i}}var m_e={type:"echarts:boxplot",transform:function(e){var t=e.upstream;if(t.sourceFormat!==bi){var i="";l1(i)}var r=p_e(t.getRawData(),e.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:r.boxData},{data:r.outliers}]}};function g_e(n){n.registerSeriesModel(r_e),n.registerChartView(u_e),n.registerLayout(c_e),n.registerTransform(m_e)}var v_e=["itemStyle","borderColor"],y_e=["itemStyle","borderColor0"],__e=["itemStyle","borderColorDoji"],S_e=["itemStyle","color"],b_e=["itemStyle","color0"];function IR(n,e){return e.get(n>0?S_e:b_e)}function DR(n,e){return e.get(n===0?__e:n>0?v_e:y_e)}var x_e={seriesType:"candlestick",plan:vu(),performRawSeries:!0,reset:function(n,e){if(!e.isSeriesFiltered(n)){var t=n.pipelineContext.large;return!t&&{progress:function(i,r){for(var a;(a=i.next())!=null;){var o=r.getItemModel(a),s=r.getItemLayout(a).sign,l=o.getItemStyle();l.fill=IR(s,o),l.stroke=DR(s,o)||l.fill;var u=r.ensureUniqueItemVisual(a,"style");L2(u,l)}}}}}};const w_e=x_e;var T_e=["color","borderColor"],A_e=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,i,r){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,i,r,a){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,i):this._incrementalRenderNormal(t,i)},e.prototype.eachRendered=function(t){i9(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var i=t.pipelineContext.large;(this._isLargeDraw==null||i!==this._isLargeDraw)&&(this._isLargeDraw=i,this._clear())},e.prototype._renderNormal=function(t){var i=t.getData(),r=this._data,a=this.group,o=i.getLayout("isSimpleBox"),s=t.get("clip",!0),l=t.coordinateSystem,u=l.getArea&&l.getArea();this._data||a.removeAll(),i.diff(r).add(function(c){if(i.hasValue(c)){var d=i.getItemLayout(c);if(s&&$z(u,d))return;var h=qw(d,c,!0);l0(h,{shape:{points:d.ends}},t,c),Xw(h,i,c,o),a.add(h),i.setItemGraphicEl(c,h)}}).update(function(c,d){var h=r.getItemGraphicEl(d);if(!i.hasValue(c)){a.remove(h);return}var f=i.getItemLayout(c);if(s&&$z(u,f)){a.remove(h);return}h?(Q3(h,{shape:{points:f.ends}},t,c),go(h)):h=qw(f),Xw(h,i,c,o),a.add(h),i.setItemGraphicEl(c,h)}).remove(function(c){var d=r.getItemGraphicEl(c);d&&a.remove(d)}).execute(),this._data=i},e.prototype._renderLarge=function(t){this._clear(),Yz(t,this.group);var i=t.get("clip",!0)?lf(t.coordinateSystem,!1,t):null;i?this.group.setClipPath(i):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,i){for(var r=i.getData(),a=r.getLayout("isSimpleBox"),o;(o=t.next())!=null;){var s=r.getItemLayout(o),l=qw(s);Xw(l,r,o,a),l.incremental=!0,this.group.add(l),this._progressiveEls.push(l)}},e.prototype._incrementalRenderLarge=function(t,i){Yz(i,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type="candlestick",e}(K1),C_e=function(){function n(){}return n}(),M_e=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="normalCandlestickBox",i}return e.prototype.getDefaultShape=function(){return new C_e},e.prototype.buildPath=function(t,i){var r=i.points;this.__simpleBox?(t.moveTo(r[4][0],r[4][1]),t.lineTo(r[6][0],r[6][1])):(t.moveTo(r[0][0],r[0][1]),t.lineTo(r[1][0],r[1][1]),t.lineTo(r[2][0],r[2][1]),t.lineTo(r[3][0],r[3][1]),t.closePath(),t.moveTo(r[4][0],r[4][1]),t.lineTo(r[5][0],r[5][1]),t.moveTo(r[6][0],r[6][1]),t.lineTo(r[7][0],r[7][1]))},e}(C3);function qw(n,e,t){var i=n.ends;return new M_e({shape:{points:t?E_e(i,n):i},z2:100})}function $z(n,e){for(var t=!0,i=0;i<e.ends.length;i++)if(n.contain(e.ends[i][0],e.ends[i][1])){t=!1;break}return t}function Xw(n,e,t,i){var r=e.getItemModel(t);n.useStyle(e.getItemVisual(t,"style")),n.style.strokeNoScale=!0,n.__simpleBox=i,Jn(n,r);var a=e.getItemLayout(t).sign;ne(n.states,function(s,l){var u=r.getModel(l),c=IR(a,u),d=DR(a,u)||c,h=s.style||(s.style={});c&&(h.fill=c),d&&(h.stroke=d)});var o=r.getModel("emphasis");b0(n,o.get("focus"),o.get("blurScope"),o.get("disabled"))}function E_e(n,e){return j2(n,function(t){return t=t.slice(),t[1]=e.initBaseline,t})}var P_e=function(){function n(){}return n}(),Kw=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i.type="largeCandlestickBox",i}return e.prototype.getDefaultShape=function(){return new P_e},e.prototype.buildPath=function(t,i){for(var r=i.points,a=0;a<r.length;)if(this.__sign===r[a++]){var o=r[a++];t.moveTo(o,r[a++]),t.lineTo(o,r[a++])}else a+=3},e}(C3);function Yz(n,e,t,i){var r=n.getData(),a=r.getLayout("largePoints"),o=new Kw({shape:{points:a},__sign:1,ignoreCoarsePointer:!0});e.add(o);var s=new Kw({shape:{points:a},__sign:-1,ignoreCoarsePointer:!0});e.add(s);var l=new Kw({shape:{points:a},__sign:0,ignoreCoarsePointer:!0});e.add(l),Zw(1,o,n),Zw(-1,s,n),Zw(0,l,n),i&&(o.incremental=!0,s.incremental=!0),t&&t.push(o,s)}function Zw(n,e,t,i){var r=DR(n,t)||IR(n,t),a=t.getModel("itemStyle").getItemStyle(T_e);e.useStyle(a),e.style.fill=null,e.style.stroke=r}const R_e=A_e;var cQ=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],t}return e.prototype.getShadowDim=function(){return"open"},e.prototype.brushSelector=function(t,i,r){var a=i.getItemLayout(t);return a&&r.rect(a.brushRect)},e.type="series.candlestick",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderColorDoji:null,borderWidth:1},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300},e}(m0);en(cQ,sQ,!0);const L_e=cQ;function I_e(n){!n||!H2(n.series)||ne(n.series,function(e){jt(e)&&e.type==="k"&&(e.type="candlestick")})}var D_e={seriesType:"candlestick",plan:vu(),reset:function(n){var e=n.coordinateSystem,t=n.getData(),i=N_e(n,t),r=0,a=1,o=["x","y"],s=t.getDimensionIndex(t.mapDimension(o[r])),l=j2(t.mapDimensionsAll(o[a]),t.getDimensionIndex,t),u=l[0],c=l[1],d=l[2],h=l[3];if(t.setLayout({candleWidth:i,isSimpleBox:i<=1.3}),s<0||l.length<4)return;return{progress:n.pipelineContext.large?p:f};function f(g,m){for(var v,_=m.getStore();(v=g.next())!=null;){var S=_.get(s,v),x=_.get(u,v),A=_.get(c,v),C=_.get(d,v),M=_.get(h,v),I=Math.min(x,A),D=Math.max(x,A),E=ce(I,S),L=ce(D,S),V=ce(C,S),Y=ce(M,S),G=[];J(G,L,0),J(G,E,1),G.push(re(Y),re(L),re(V),re(E));var W=m.getItemModel(v),q=!!W.get(["itemStyle","borderColorDoji"]);m.setItemLayout(v,{sign:qz(_,v,x,A,c,q),initBaseline:x>A?L[a]:E[a],ends:G,brushRect:H(C,M,S)})}function ce(ee,se){var Be=[];return Be[r]=se,Be[a]=ee,isNaN(se)||isNaN(ee)?[NaN,NaN]:e.dataToPoint(Be)}function J(ee,se,Be){var we=se.slice(),ve=se.slice();we[r]=Jg(we[r]+i/2,1,!1),ve[r]=Jg(ve[r]-i/2,1,!0),Be?ee.push(we,ve):ee.push(ve,we)}function H(ee,se,Be){var we=ce(ee,Be),ve=ce(se,Be);return we[r]-=i/2,ve[r]-=i/2,{x:we[0],y:we[1],width:i,height:ve[1]-we[1]}}function re(ee){return ee[r]=Jg(ee[r],1),ee}}function p(g,m){for(var v=Jo(g.count*4),_=0,S,x=[],A=[],C,M=m.getStore(),I=!!n.get(["itemStyle","borderColorDoji"]);(C=g.next())!=null;){var D=M.get(s,C),E=M.get(u,C),L=M.get(c,C),V=M.get(d,C),Y=M.get(h,C);if(isNaN(D)||isNaN(V)||isNaN(Y)){v[_++]=NaN,_+=3;continue}v[_++]=qz(M,C,E,L,c,I),x[r]=D,x[a]=V,S=e.dataToPoint(x,null,A),v[_++]=S?S[0]:NaN,v[_++]=S?S[1]:NaN,x[a]=Y,S=e.dataToPoint(x,null,A),v[_++]=S?S[1]:NaN}m.setLayout("largePoints",v)}}};function qz(n,e,t,i,r,a){var o;return t>i?o=-1:t<i?o=1:o=a?0:e>0?n.get(r,e-1)<=i?1:-1:1,o}function N_e(n,e){var t=n.getBaseAxis(),i,r=t.type==="category"?t.getBandWidth():(i=t.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=ft(e3(n.get("barMaxWidth"),r),r),o=ft(e3(n.get("barMinWidth"),1),r),s=n.get("barWidth");return s!=null?ft(s,r):Math.max(Math.min(r/2,a),o)}const k_e=D_e;function F_e(n){n.registerChartView(R_e),n.registerSeriesModel(L_e),n.registerPreprocessor(I_e),n.registerVisual(w_e),n.registerLayout(k_e)}function Xz(n,e){var t=e.rippleEffectColor||e.color;n.eachChild(function(i){i.attr({z:e.z,zlevel:e.zlevel,style:{stroke:e.brushType==="stroke"?t:null,fill:e.brushType==="fill"?t:null}})})}var O_e=function(n){g2(e,n);function e(t,i){var r=n.call(this)||this,a=new of(t,i),o=new qt;return r.add(a),r.add(o),r.updateData(t,i),r}return e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var i=t.symbolType,r=t.color,a=t.rippleNumber,o=this.childAt(1),s=0;s<a;s++){var l=J0(i,-1,-1,2,2,r);l.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scaleX:.5,scaleY:.5});var u=-s/a*t.period+t.effectOffset;l.animate("",!0).when(t.period,{scaleX:t.rippleScale/2,scaleY:t.rippleScale/2}).delay(u).start(),l.animateStyle(!0).when(t.period,{opacity:0}).delay(u).start(),o.add(l)}Xz(o,t)},e.prototype.updateEffectAnimation=function(t){for(var i=this._effectCfg,r=this.childAt(1),a=["symbolType","period","rippleScale","rippleNumber"],o=0;o<a.length;o++){var s=a[o];if(i[s]!==t[s]){this.stopEffectAnimation(),this.startEffectAnimation(t);return}}Xz(r,t)},e.prototype.highlight=function(){o6(this)},e.prototype.downplay=function(){s6(this)},e.prototype.getSymbolType=function(){var t=this.childAt(0);return t&&t.getSymbolType()},e.prototype.updateData=function(t,i){var r=this,a=t.hostModel;this.childAt(0).updateData(t,i);var o=this.childAt(1),s=t.getItemModel(i),l=t.getItemVisual(i,"symbol"),u=_u(t.getItemVisual(i,"symbolSize")),c=t.getItemVisual(i,"style"),d=c&&c.fill,h=s.getModel("emphasis");o.setScale(u),o.traverse(function(m){m.setStyle("fill",d)});var f=wl(t.getItemVisual(i,"symbolOffset"),u);f&&(o.x=f[0],o.y=f[1]);var p=t.getItemVisual(i,"symbolRotate");o.rotation=(p||0)*Math.PI/180||0;var g={};g.showEffectOn=a.get("showEffectOn"),g.rippleScale=s.get(["rippleEffect","scale"]),g.brushType=s.get(["rippleEffect","brushType"]),g.period=s.get(["rippleEffect","period"])*1e3,g.effectOffset=i/t.count(),g.z=a.getShallow("z")||0,g.zlevel=a.getShallow("zlevel")||0,g.symbolType=l,g.color=d,g.rippleEffectColor=s.get(["rippleEffect","color"]),g.rippleNumber=s.get(["rippleEffect","number"]),g.showEffectOn==="render"?(this._effectCfg?this.updateEffectAnimation(g):this.startEffectAnimation(g),this._effectCfg=g):(this._effectCfg=null,this.stopEffectAnimation(),this.onHoverStateChange=function(m){m==="emphasis"?g.showEffectOn!=="render"&&r.startEffectAnimation(g):m==="normal"&&g.showEffectOn!=="render"&&r.stopEffectAnimation()}),this._effectCfg=g,b0(this,h.get("focus"),h.get("blurScope"),h.get("disabled"))},e.prototype.fadeOut=function(t){t&&t()},e}(qt);const B_e=O_e;var z_e=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this._symbolDraw=new sf(B_e)},e.prototype.render=function(t,i,r){var a=t.getData(),o=this._symbolDraw;o.updateData(a,{clipShape:this._getClipShape(t)}),this.group.add(o.group)},e.prototype._getClipShape=function(t){var i=t.coordinateSystem,r=i&&i.getArea&&i.getArea();return t.get("clip",!0)?r:null},e.prototype.updateTransform=function(t,i,r){var a=t.getData();this.group.dirty();var o=uf("").reset(t,i,r);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._symbolDraw.updateLayout()},e.prototype._updateGroupTransform=function(t){var i=t.coordinateSystem;i&&i.getRoamTransform&&(this.group.transform=f5e(i.getRoamTransform()),this.group.decomposeTransform())},e.prototype.remove=function(t,i){this._symbolDraw&&this._symbolDraw.remove(!0)},e.type="effectScatter",e}(K1);const U_e=z_e;var G_e=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t,i){return v6(null,this,{useEncodeDefaulter:!0})},e.prototype.brushSelector=function(t,i,r){return r.point(i.getItemLayout(t))},e.type="series.effectScatter",e.dependencies=["grid","polar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",clip:!0,rippleEffect:{period:4,scale:2.5,brushType:"fill",number:3},universalTransition:{divideShape:"clone"},symbolSize:10},e}(m0);const V_e=G_e;function H_e(n){n.registerChartView(U_e),n.registerSeriesModel(V_e),n.registerLayout(uf("effectScatter"))}var W_e=function(n){g2(e,n);function e(t,i,r){var a=n.call(this)||this;return a.add(a.createLine(t,i,r)),a._updateEffectSymbol(t,i),a}return e.prototype.createLine=function(t,i,r){return new wR(t,i,r)},e.prototype._updateEffectSymbol=function(t,i){var r=t.getItemModel(i),a=r.getModel("effect"),o=a.get("symbolSize"),s=a.get("symbol");H2(o)||(o=[o,o]);var l=t.getItemVisual(i,"style"),u=a.get("color")||l&&l.stroke,c=this.childAt(1);this._symbolType!==s&&(this.remove(c),c=J0(s,-.5,-.5,1,1,u),c.z2=100,c.culling=!0,this.add(c)),c&&(c.setStyle("shadowColor",u),c.setStyle(a.getItemStyle(["color"])),c.scaleX=o[0],c.scaleY=o[1],c.setColor(u),this._symbolType=s,this._symbolScale=o,this._updateEffectAnimation(t,a,i))},e.prototype._updateEffectAnimation=function(t,i,r){var a=this.childAt(1);if(a){var o=t.getItemLayout(r),s=i.get("period")*1e3,l=i.get("loop"),u=i.get("roundTrip"),c=i.get("constantSpeed"),d=kn(i.get("delay"),function(f){return f/t.count()*s/3});if(a.ignore=!0,this._updateAnimationPoints(a,o),c>0&&(s=this._getLineLength(a)/c*1e3),s!==this._period||l!==this._loop||u!==this._roundTrip){a.stopAnimation();var h=void 0;Gt(d)?h=d(r):h=d,a.__t>0&&(h=-s*a.__t),this._animateSymbol(a,s,h,l,u)}this._period=s,this._loop=l,this._roundTrip=u}},e.prototype._animateSymbol=function(t,i,r,a,o){if(i>0){t.__t=0;var s=this,l=t.animate("",a).when(o?i*2:i,{__t:o?2:1}).delay(r).during(function(){s._updateSymbolPosition(t)});a||l.done(function(){s.remove(t)}),l.start()}},e.prototype._getLineLength=function(t){return g5(t.__p1,t.__cp1)+g5(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,i){t.__p1=i[0],t.__p2=i[1],t.__cp1=i[2]||[(i[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2]},e.prototype.updateData=function(t,i,r){this.childAt(0).updateData(t,i,r),this._updateEffectSymbol(t,i)},e.prototype._updateSymbolPosition=function(t){var i=t.__p1,r=t.__p2,a=t.__cp1,o=t.__t<1?t.__t:2-t.__t,s=[t.x,t.y],l=s.slice(),u=Dn,c=sC;s[0]=u(i[0],a[0],r[0],o),s[1]=u(i[1],a[1],r[1],o);var d=t.__t<1?c(i[0],a[0],r[0],o):c(r[0],a[0],i[0],1-o),h=t.__t<1?c(i[1],a[1],r[1],o):c(r[1],a[1],i[1],1-o);t.rotation=-Math.atan2(h,d)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(t.__lastT!==void 0&&t.__lastT<t.__t?(t.scaleY=g5(l,s)*1.05,o===1&&(s[0]=l[0]+(s[0]-l[0])/2,s[1]=l[1]+(s[1]-l[1])/2)):t.__lastT===1?t.scaleY=2*g5(i,s):t.scaleY=this._symbolScale[1]),t.__lastT=t.__t,t.ignore=!1,t.x=s[0],t.y=s[1]},e.prototype.updateLayout=function(t,i){this.childAt(0).updateLayout(t,i);var r=t.getItemModel(i).getModel("effect");this._updateEffectAnimation(t,r,i)},e}(qt);const dQ=W_e;var j_e=function(n){g2(e,n);function e(t,i,r){var a=n.call(this)||this;return a._createPolyline(t,i,r),a}return e.prototype._createPolyline=function(t,i,r){var a=t.getItemLayout(i),o=new Sr({shape:{points:a}});this.add(o),this._updateCommonStl(t,i,r)},e.prototype.updateData=function(t,i,r){var a=t.hostModel,o=this.childAt(0),s={shape:{points:t.getItemLayout(i)}};Q3(o,s,a,i),this._updateCommonStl(t,i,r)},e.prototype._updateCommonStl=function(t,i,r){var a=this.childAt(0),o=t.getItemModel(i),s=r&&r.emphasisLineStyle,l=r&&r.focus,u=r&&r.blurScope,c=r&&r.emphasisDisabled;if(!r||t.hasItemOption){var d=o.getModel("emphasis");s=d.getModel("lineStyle").getLineStyle(),c=d.get("disabled"),l=d.get("focus"),u=d.get("blurScope")}a.useStyle(t.getItemVisual(i,"style")),a.style.fill=null,a.style.strokeNoScale=!0;var h=a.ensureState("emphasis");h.style=s,b0(this,l,u,c)},e.prototype.updateLayout=function(t,i){var r=this.childAt(0);r.setShape("points",t.getItemLayout(i))},e}(qt);const hQ=j_e;var $_e=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t._lastFrame=0,t._lastFramePercent=0,t}return e.prototype.createLine=function(t,i,r){return new hQ(t,i,r)},e.prototype._updateAnimationPoints=function(t,i){this._points=i;for(var r=[0],a=0,o=1;o<i.length;o++){var s=i[o-1],l=i[o];a+=g5(s,l),r.push(a)}if(a===0){this._length=0;return}for(var o=0;o<r.length;o++)r[o]/=a;this._offsets=r,this._length=a},e.prototype._getLineLength=function(){return this._length},e.prototype._updateSymbolPosition=function(t){var i=t.__t<1?t.__t:2-t.__t,r=this._points,a=this._offsets,o=r.length;if(a){var s=this._lastFrame,l;if(i<this._lastFramePercent){var u=Math.min(s+1,o-1);for(l=u;l>=0&&!(a[l]<=i);l--);l=Math.min(l,o-2)}else{for(l=s;l<o&&!(a[l]>i);l++);l=Math.min(l-1,o-2)}var c=(i-a[l])/(a[l+1]-a[l]),d=r[l],h=r[l+1];t.x=d[0]*(1-c)+c*h[0],t.y=d[1]*(1-c)+c*h[1];var f=t.__t<1?h[0]-d[0]:d[0]-h[0],p=t.__t<1?h[1]-d[1]:d[1]-h[1];t.rotation=-Math.atan2(p,f)-Math.PI/2,this._lastFrame=l,this._lastFramePercent=i,t.ignore=!1}},e}(dQ);const Y_e=$_e;var q_e=function(){function n(){this.polyline=!1,this.curveness=0,this.segs=[]}return n}(),X_e=function(n){g2(e,n);function e(t){var i=n.call(this,t)||this;return i._off=0,i.hoverDataIdx=-1,i}return e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new q_e},e.prototype.buildPath=function(t,i){var r=i.segs,a=i.curveness,o;if(i.polyline)for(o=this._off;o<r.length;){var s=r[o++];if(s>0){t.moveTo(r[o++],r[o++]);for(var l=1;l<s;l++)t.lineTo(r[o++],r[o++])}}else for(o=this._off;o<r.length;){var u=r[o++],c=r[o++],d=r[o++],h=r[o++];if(t.moveTo(u,c),a>0){var f=(u+d)/2-(c-h)*a,p=(c+h)/2-(d-u)*a;t.quadraticCurveTo(f,p,d,h)}else t.lineTo(d,h)}this.incremental&&(this._off=o,this.notClear=!0)},e.prototype.findDataIndex=function(t,i){var r=this.shape,a=r.segs,o=r.curveness,s=this.style.lineWidth;if(r.polyline)for(var l=0,u=0;u<a.length;){var c=a[u++];if(c>0)for(var d=a[u++],h=a[u++],f=1;f<c;f++){var p=a[u++],g=a[u++];if(a5(d,h,p,g,s,t,i))return l}l++}else for(var l=0,u=0;u<a.length;){var d=a[u++],h=a[u++],p=a[u++],g=a[u++];if(o>0){var m=(d+p)/2-(h-g)*o,v=(h+g)/2-(p-d)*o;if(gq(d,h,m,v,p,g,s,t,i))return l}else if(a5(d,h,p,g,s,t,i))return l;l++}return-1},e.prototype.contain=function(t,i){var r=this.transformCoordToLocal(t,i),a=this.getBoundingRect();if(t=r[0],i=r[1],a.contain(t,i)){var o=this.hoverDataIdx=this.findDataIndex(t,i);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var i=this.shape,r=i.segs,a=1/0,o=1/0,s=-1/0,l=-1/0,u=0;u<r.length;){var c=r[u++],d=r[u++];a=Math.min(c,a),s=Math.max(c,s),o=Math.min(d,o),l=Math.max(d,l)}t=this._rect=new h3(a,o,s,l)}return t},e}(C3),K_e=function(){function n(){this.group=new qt}return n.prototype.updateData=function(e){this._clear();var t=this._create();t.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(t,e)},n.prototype.incrementalPrepareUpdate=function(e){this.group.removeAll(),this._clear()},n.prototype.incrementalUpdate=function(e,t){var i=this._newAdded[0],r=t.getLayout("linesPoints"),a=i&&i.shape.segs;if(a&&a.length<2e4){var o=a.length,s=new Float32Array(o+r.length);s.set(a),s.set(r,o),i.setShape({segs:s})}else{this._newAdded=[];var l=this._create();l.incremental=!0,l.setShape({segs:r}),this._setCommon(l,t),l.__startIndex=e.start}},n.prototype.remove=function(){this._clear()},n.prototype.eachRendered=function(e){this._newAdded[0]&&e(this._newAdded[0])},n.prototype._create=function(){var e=new X_e({cursor:"default",ignoreCoarsePointer:!0});return this._newAdded.push(e),this.group.add(e),e},n.prototype._setCommon=function(e,t,i){var r=t.hostModel;e.setShape({polyline:r.get("polyline"),curveness:r.get(["lineStyle","curveness"])}),e.useStyle(r.getModel("lineStyle").getLineStyle()),e.style.strokeNoScale=!0;var a=t.getVisual("style");a&&a.stroke&&e.setStyle("stroke",a.stroke),e.setStyle("fill",null);var o=Xt(e);o.seriesIndex=r.seriesIndex,e.on("mousemove",function(s){o.dataIndex=null;var l=e.hoverDataIdx;l>0&&(o.dataIndex=l+e.__startIndex)})},n.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},n}();const Z_e=K_e;var J_e={seriesType:"lines",plan:vu(),reset:function(n){var e=n.coordinateSystem;if(e){var t=n.get("polyline"),i=n.pipelineContext.large;return{progress:function(r,a){var o=[];if(i){var s=void 0,l=r.end-r.start;if(t){for(var u=0,c=r.start;c<r.end;c++)u+=n.getLineCoordsCount(c);s=new Float32Array(l+u*2)}else s=new Float32Array(l*4);for(var d=0,h=[],c=r.start;c<r.end;c++){var f=n.getLineCoords(c,o);t&&(s[d++]=f);for(var p=0;p<f;p++)h=e.dataToPoint(o[p],!1,h),s[d++]=h[0],s[d++]=h[1]}a.setLayout("linesPoints",s)}else for(var c=r.start;c<r.end;c++){var g=a.getItemModel(c),f=n.getLineCoords(c,o),m=[];if(t)for(var v=0;v<f;v++)m.push(e.dataToPoint(o[v]));else{m[0]=e.dataToPoint(o[0]),m[1]=e.dataToPoint(o[1]);var _=g.get(["lineStyle","curveness"]);+_&&(m[2]=[(m[0][0]+m[1][0])/2-(m[0][1]-m[1][1])*_,(m[0][1]+m[1][1])/2-(m[1][0]-m[0][0])*_])}a.setItemLayout(c,m)}}}}}};const fQ=J_e;var Q_e=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this._updateLineDraw(a,t),s=t.get("zlevel"),l=t.get(["effect","trailLength"]),u=r.getZr(),c=u.painter.getType()==="svg";c||u.painter.getLayer(s).clear(!0),this._lastZlevel!=null&&!c&&u.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&l>0&&(c||u.configLayer(s,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(l/10+.9,1),0)})),o.updateData(a);var d=t.get("clip",!0)&&lf(t.coordinateSystem,!1,t);d?this.group.setClipPath(d):this.group.removeClipPath(),this._lastZlevel=s,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,i,r){var a=t.getData(),o=this._updateLineDraw(a,t);o.incrementalPrepareUpdate(a),this._clearLayer(r),this._finished=!1},e.prototype.incrementalRender=function(t,i,r){this._lineDraw.incrementalUpdate(t,i.getData()),this._finished=t.end===i.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,i,r){var a=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var s=fQ.reset(t,i,r);s.progress&&s.progress({start:0,end:a.count(),count:a.count()},a),this._lineDraw.updateLayout(),this._clearLayer(r)},e.prototype._updateLineDraw=function(t,i){var r=this._lineDraw,a=this._showEffect(i),o=!!i.get("polyline"),s=i.pipelineContext,l=s.large;return(!r||a!==this._hasEffet||o!==this._isPolyline||l!==this._isLargeDraw)&&(r&&r.remove(),r=this._lineDraw=l?new Z_e:new TR(o?a?Y_e:hQ:a?dQ:wR),this._hasEffet=a,this._isPolyline=o,this._isLargeDraw=l),this.group.add(r.group),r},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var i=t.getZr(),r=i.painter.getType()==="svg";!r&&this._lastZlevel!=null&&i.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,i){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(i)},e.prototype.dispose=function(t,i){this.remove(t,i)},e.type="lines",e}(K1);const eSe=Q_e;var tSe=typeof Uint32Array=="undefined"?Array:Uint32Array,nSe=typeof Float64Array=="undefined"?Array:Float64Array;function Kz(n){var e=n.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(n.data=j2(e,function(t){var i=[t[0].coord,t[1].coord],r={coords:i};return t[0].name&&(r.fromName=t[0].name),t[1].name&&(r.toName=t[1].name),QE([r,t[0],t[1]])}))}var iSe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="lineStyle",t.visualDrawType="stroke",t}return e.prototype.init=function(t){t.data=t.data||[],Kz(t);var i=this._processFlatCoordsArray(t.data);this._flatCoords=i.flatCoords,this._flatCoordsOffset=i.flatCoordsOffset,i.flatCoords&&(t.data=new Float32Array(i.count)),n.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(t){if(Kz(t),t.data){var i=this._processFlatCoordsArray(t.data);this._flatCoords=i.flatCoords,this._flatCoordsOffset=i.flatCoordsOffset,i.flatCoords&&(t.data=new Float32Array(i.count))}n.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var i=this._processFlatCoordsArray(t.data);i.flatCoords&&(this._flatCoords?(this._flatCoords=Jd(this._flatCoords,i.flatCoords),this._flatCoordsOffset=Jd(this._flatCoordsOffset,i.flatCoordsOffset)):(this._flatCoords=i.flatCoords,this._flatCoordsOffset=i.flatCoordsOffset),t.data=new Float32Array(i.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var i=this.getData().getItemModel(t),r=i.option instanceof Array?i.option:i.getShallow("coords");return r},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[t*2+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,i){if(this._flatCoordsOffset){for(var r=this._flatCoordsOffset[t*2],a=this._flatCoordsOffset[t*2+1],o=0;o<a;o++)i[o]=i[o]||[],i[o][0]=this._flatCoords[r+o*2],i[o][1]=this._flatCoords[r+o*2+1];return a}else{for(var s=this._getCoordsFromItemModel(t),o=0;o<s.length;o++)i[o]=i[o]||[],i[o][0]=s[o][0],i[o][1]=s[o][1];return s.length}},e.prototype._processFlatCoordsArray=function(t){var i=0;if(this._flatCoords&&(i=this._flatCoords.length),q3(t[0])){for(var r=t.length,a=new tSe(r),o=new nSe(r),s=0,l=0,u=0,c=0;c<r;){u++;var d=t[c++];a[l++]=s+i,a[l++]=d;for(var h=0;h<d;h++){var f=t[c++],p=t[c++];o[s++]=f,o[s++]=p}}return{flatCoordsOffset:new Uint32Array(a.buffer,0,l),flatCoords:o,count:u}}return{flatCoordsOffset:null,flatCoords:null,count:t.length}},e.prototype.getInitialData=function(t,i){var r=new Oi(["value"],this);return r.hasItemOption=!1,r.initData(t.data,[],function(a,o,s,l){if(a instanceof Array)return NaN;r.hasItemOption=!0;var u=a.value;if(u!=null)return u instanceof Array?u[l]:u}),r},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=a.getItemModel(t),s=o.get("name");if(s)return s;var l=o.get("fromName"),u=o.get("toName"),c=[];return l!=null&&c.push(l),u!=null&&c.push(u),xn("nameValue",{name:c.join(" > ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return t==null?this.option.large?1e4:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t==null?this.option.large?2e4:this.get("progressiveThreshold"):t},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),i=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&i>0?i+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(m0);const rSe=iSe;function _m(n){return n instanceof Array||(n=[n,n]),n}var aSe={seriesType:"lines",reset:function(n){var e=_m(n.get("symbol")),t=_m(n.get("symbolSize")),i=n.getData();i.setVisual("fromSymbol",e&&e[0]),i.setVisual("toSymbol",e&&e[1]),i.setVisual("fromSymbolSize",t&&t[0]),i.setVisual("toSymbolSize",t&&t[1]);function r(a,o){var s=a.getItemModel(o),l=_m(s.getShallow("symbol",!0)),u=_m(s.getShallow("symbolSize",!0));l[0]&&a.setItemVisual(o,"fromSymbol",l[0]),l[1]&&a.setItemVisual(o,"toSymbol",l[1]),u[0]&&a.setItemVisual(o,"fromSymbolSize",u[0]),u[1]&&a.setItemVisual(o,"toSymbolSize",u[1])}return{dataEach:i.hasItemOption?r:null}}};const oSe=aSe;function sSe(n){n.registerChartView(eSe),n.registerSeriesModel(rSe),n.registerLayout(fQ),n.registerVisual(oSe)}var lSe=256,uSe=function(){function n(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var e=H5.createCanvas();this.canvas=e}return n.prototype.update=function(e,t,i,r,a,o){var s=this._getBrush(),l=this._getGradient(a,"inRange"),u=this._getGradient(a,"outOfRange"),c=this.pointSize+this.blurSize,d=this.canvas,h=d.getContext("2d"),f=e.length;d.width=t,d.height=i;for(var p=0;p<f;++p){var g=e[p],m=g[0],v=g[1],_=g[2],S=r(_);h.globalAlpha=S,h.drawImage(s,m-c,v-c)}if(!d.width||!d.height)return d;for(var x=h.getImageData(0,0,d.width,d.height),A=x.data,C=0,M=A.length,I=this.minOpacity,D=this.maxOpacity,E=D-I;C<M;){var S=A[C+3]/256,L=Math.floor(S*(lSe-1))*4;if(S>0){var V=o(S)?l:u;S>0&&(S=S*E+I),A[C++]=V[L],A[C++]=V[L+1],A[C++]=V[L+2],A[C++]=V[L+3]*S*256}else C+=4}return h.putImageData(x,0,0),d},n.prototype._getBrush=function(){var e=this._brushCanvas||(this._brushCanvas=H5.createCanvas()),t=this.pointSize+this.blurSize,i=t*2;e.width=i,e.height=i;var r=e.getContext("2d");return r.clearRect(0,0,i,i),r.shadowOffsetX=i,r.shadowBlur=this.blurSize,r.shadowColor="#000",r.beginPath(),r.arc(-t,t,this.pointSize,0,Math.PI*2,!0),r.closePath(),r.fill(),e},n.prototype._getGradient=function(e,t){for(var i=this._gradientPixels,r=i[t]||(i[t]=new Uint8ClampedArray(256*4)),a=[0,0,0,0],o=0,s=0;s<256;s++)e[t](s/255,!0,a),r[o++]=a[0],r[o++]=a[1],r[o++]=a[2],r[o++]=a[3];return r},n}();const cSe=uSe;function dSe(n,e,t){var i=n[1]-n[0];e=j2(e,function(o){return{interval:[(o.interval[0]-n[0])/i,(o.interval[1]-n[0])/i]}});var r=e.length,a=0;return function(o){var s;for(s=a;s<r;s++){var l=e[s].interval;if(l[0]<=o&&o<=l[1]){a=s;break}}if(s===r)for(s=a-1;s>=0;s--){var l=e[s].interval;if(l[0]<=o&&o<=l[1]){a=s;break}}return s>=0&&s<r&&t[s]}}function hSe(n,e){var t=n[1]-n[0];return e=[(e[0]-n[0])/t,(e[1]-n[0])/t],function(i){return i>=e[0]&&i<=e[1]}}function Zz(n){var e=n.dimensions;return e[0]==="lng"&&e[1]==="lat"}var fSe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a;i.eachComponent("visualMap",function(s){s.eachTargetSeries(function(l){l===t&&(a=s)})}),this._progressiveEls=null,this.group.removeAll();var o=t.coordinateSystem;o.type==="cartesian2d"||o.type==="calendar"?this._renderOnCartesianAndCalendar(t,r,0,t.getData().count()):Zz(o)&&this._renderOnGeo(o,t,a,r)},e.prototype.incrementalPrepareRender=function(t,i,r){this.group.removeAll()},e.prototype.incrementalRender=function(t,i,r,a){var o=i.coordinateSystem;o&&(Zz(o)?this.render(i,r,a):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(i,a,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){i9(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,i,r,a,o){var s=t.coordinateSystem,l=Al(s,"cartesian2d"),u,c,d,h;if(l){var f=s.getAxis("x"),p=s.getAxis("y");u=f.getBandWidth()+.5,c=p.getBandWidth()+.5,d=f.scale.getExtent(),h=p.scale.getExtent()}for(var g=this.group,m=t.getData(),v=t.getModel(["emphasis","itemStyle"]).getItemStyle(),_=t.getModel(["blur","itemStyle"]).getItemStyle(),S=t.getModel(["select","itemStyle"]).getItemStyle(),x=t.get(["itemStyle","borderRadius"]),A=bn(t),C=t.getModel("emphasis"),M=C.get("focus"),I=C.get("blurScope"),D=C.get("disabled"),E=l?[m.mapDimension("x"),m.mapDimension("y"),m.mapDimension("value")]:[m.mapDimension("time"),m.mapDimension("value")],L=r;L<a;L++){var V=void 0,Y=m.getItemVisual(L,"style");if(l){var G=m.get(E[0],L),W=m.get(E[1],L);if(isNaN(m.get(E[2],L))||isNaN(G)||isNaN(W)||G<d[0]||G>d[1]||W<h[0]||W>h[1])continue;var q=s.dataToPoint([G,W]);V=new V3({shape:{x:q[0]-u/2,y:q[1]-c/2,width:u,height:c},style:Y})}else{if(isNaN(m.get(E[1],L)))continue;V=new V3({z2:1,shape:s.dataToRect([m.get(E[0],L)]).contentShape,style:Y})}if(m.hasItemOption){var ce=m.getItemModel(L),J=ce.getModel("emphasis");v=J.getModel("itemStyle").getItemStyle(),_=ce.getModel(["blur","itemStyle"]).getItemStyle(),S=ce.getModel(["select","itemStyle"]).getItemStyle(),x=ce.get(["itemStyle","borderRadius"]),M=J.get("focus"),I=J.get("blurScope"),D=J.get("disabled"),A=bn(ce)}V.shape.r=x;var H=t.getRawValue(L),re="-";H&&H[2]!=null&&(re=H[2]+""),Qn(V,A,{labelFetcher:t,labelDataIndex:L,defaultOpacity:Y.opacity,defaultText:re}),V.ensureState("emphasis").style=v,V.ensureState("blur").style=_,V.ensureState("select").style=S,b0(V,M,I,D),V.incremental=o,o&&(V.states.emphasis.hoverLayer=!0),g.add(V),m.setItemGraphicEl(L,V),this._progressiveEls&&this._progressiveEls.push(V)}},e.prototype._renderOnGeo=function(t,i,r,a){var o=r.targetVisuals.inRange,s=r.targetVisuals.outOfRange,l=i.getData(),u=this._hmLayer||this._hmLayer||new cSe;u.blurSize=i.get("blurSize"),u.pointSize=i.get("pointSize"),u.minOpacity=i.get("minOpacity"),u.maxOpacity=i.get("maxOpacity");var c=t.getViewRect().clone(),d=t.getRoamTransform();c.applyTransform(d);var h=Math.max(c.x,0),f=Math.max(c.y,0),p=Math.min(c.width+c.x,a.getWidth()),g=Math.min(c.height+c.y,a.getHeight()),m=p-h,v=g-f,_=[l.mapDimension("lng"),l.mapDimension("lat"),l.mapDimension("value")],S=l.mapArray(_,function(M,I,D){var E=t.dataToPoint([M,I]);return E[0]-=h,E[1]-=f,E.push(D),E}),x=r.getExtent(),A=r.type==="visualMap.continuous"?hSe(x,r.option.range):dSe(x,r.getPieceList(),r.option.selected);u.update(S,m,v,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:s.color.getColorMapper()},A);var C=new ti({style:{width:m,height:v,x:h,y:f,image:u.canvas},silent:!0});this.group.add(C)},e.type="heatmap",e}(K1);const pSe=fSe;var mSe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,i){return v6(null,this,{generateCoord:"value"})},e.prototype.preventIncremental=function(){var t=tf.get(this.get("coordinateSystem"));if(t&&t.dimensions)return t.dimensions[0]==="lng"&&t.dimensions[1]==="lat"},e.type="series.heatmap",e.dependencies=["grid","geo","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}},e}(m0);const gSe=mSe;function vSe(n){n.registerChartView(pSe),n.registerSeriesModel(gSe)}var ySe=["itemStyle","borderWidth"],Jz=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],Jw=new n9,_Se=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=this.group,o=t.getData(),s=this._data,l=t.coordinateSystem,u=l.getBaseAxis(),c=u.isHorizontal(),d=l.master.getRect(),h={ecSize:{width:r.getWidth(),height:r.getHeight()},seriesModel:t,coordSys:l,coordSysExtent:[[d.x,d.x+d.width],[d.y,d.y+d.height]],isHorizontal:c,valueDim:Jz[+c],categoryDim:Jz[1-+c]};o.diff(s).add(function(p){if(o.hasValue(p)){var g=eU(o,p),m=Qz(o,p,g,h),v=tU(o,h,m);o.setItemGraphicEl(p,v),a.add(v),iU(v,h,m)}}).update(function(p,g){var m=s.getItemGraphicEl(g);if(!o.hasValue(p)){a.remove(m);return}var v=eU(o,p),_=Qz(o,p,v,h),S=_Q(o,_);m&&S!==m.__pictorialShapeStr&&(a.remove(m),o.setItemGraphicEl(p,null),m=null),m?CSe(m,h,_):m=tU(o,h,_,!0),o.setItemGraphicEl(p,m),m.__pictorialSymbolMeta=_,a.add(m),iU(m,h,_)}).remove(function(p){var g=s.getItemGraphicEl(p);g&&nU(s,p,g.__pictorialSymbolMeta.animationModel,g)}).execute();var f=t.get("clip",!0)?lf(t.coordinateSystem,!1,t):null;return f?a.setClipPath(f):a.removeClipPath(),this._data=o,this.group},e.prototype.remove=function(t,i){var r=this.group,a=this._data;t.get("animation")?a&&a.eachItemGraphicEl(function(o){nU(a,Xt(o).dataIndex,t,o)}):r.removeAll()},e.type="pictorialBar",e}(K1);function Qz(n,e,t,i){var r=n.getItemLayout(e),a=t.get("symbolRepeat"),o=t.get("symbolClip"),s=t.get("symbolPosition")||"start",l=t.get("symbolRotate"),u=(l||0)*Math.PI/180||0,c=t.get("symbolPatternSize")||2,d=t.isAnimationEnabled(),h={dataIndex:e,layout:r,itemModel:t,symbolType:n.getItemVisual(e,"symbol")||"circle",style:n.getItemVisual(e,"style"),symbolClip:o,symbolRepeat:a,symbolRepeatDirection:t.get("symbolRepeatDirection"),symbolPatternSize:c,rotation:u,animationModel:d?t:null,hoverScale:d&&t.get(["emphasis","scale"]),z2:t.getShallow("z",!0)||0};SSe(t,a,r,i,h),bSe(n,e,r,a,o,h.boundingLength,h.pxSign,c,i,h),xSe(t,h.symbolScale,u,i,h);var f=h.symbolSize,p=wl(t.get("symbolOffset"),f);return wSe(t,f,r,a,o,p,s,h.valueLineWidth,h.boundingLength,h.repeatCutLength,i,h),h}function SSe(n,e,t,i,r){var a=i.valueDim,o=n.get("symbolBoundingData"),s=i.coordSys.getOtherAxis(i.coordSys.getBaseAxis()),l=s.toGlobalCoord(s.dataToCoord(0)),u=1-+(t[a.wh]<=0),c;if(H2(o)){var d=[Qw(s,o[0])-l,Qw(s,o[1])-l];d[1]<d[0]&&d.reverse(),c=d[u]}else o!=null?c=Qw(s,o)-l:e?c=i.coordSysExtent[a.index][u]-l:c=t[a.wh];r.boundingLength=c,e&&(r.repeatCutLength=t[a.wh]);var h=a.xy==="x",f=s.inverse;r.pxSign=h&&!f||!h&&f?c>=0?1:-1:c>0?1:-1}function Qw(n,e){return n.toGlobalCoord(n.dataToCoord(n.scale.parse(e)))}function bSe(n,e,t,i,r,a,o,s,l,u){var c=l.valueDim,d=l.categoryDim,h=Math.abs(t[d.wh]),f=n.getItemVisual(e,"symbolSize"),p;H2(f)?p=f.slice():f==null?p=["100%","100%"]:p=[f,f],p[d.index]=ft(p[d.index],h),p[c.index]=ft(p[c.index],i?h:Math.abs(a)),u.symbolSize=p;var g=u.symbolScale=[p[0]/s,p[1]/s];g[c.index]*=(l.isHorizontal?-1:1)*o}function xSe(n,e,t,i,r){var a=n.get(ySe)||0;a&&(Jw.attr({scaleX:e[0],scaleY:e[1],rotation:t}),Jw.updateTransform(),a/=Jw.getLineScale(),a*=e[i.valueDim.index]),r.valueLineWidth=a||0}function wSe(n,e,t,i,r,a,o,s,l,u,c,d){var h=c.categoryDim,f=c.valueDim,p=d.pxSign,g=Math.max(e[f.index]+s,0),m=g;if(i){var v=Math.abs(l),_=kn(n.get("symbolMargin"),"15%")+"",S=!1;_.lastIndexOf("!")===_.length-1&&(S=!0,_=_.slice(0,_.length-1));var x=ft(_,e[f.index]),A=Math.max(g+x*2,0),C=S?0:x*2,M=nq(i),I=M?i:rU((v+C)/A),D=v-I*g;x=D/2/(S?I:Math.max(I-1,1)),A=g+x*2,C=S?0:x*2,!M&&i!=="fixed"&&(I=u?rU((Math.abs(u)+C)/A):0),m=I*A-C,d.repeatTimes=I,d.symbolMargin=x}var E=p*(m/2),L=d.pathPosition=[];L[h.index]=t[h.wh]/2,L[f.index]=o==="start"?E:o==="end"?l-E:l/2,a&&(L[0]+=a[0],L[1]+=a[1]);var V=d.bundlePosition=[];V[h.index]=t[h.xy],V[f.index]=t[f.xy];var Y=d.barRectShape=L2({},t);Y[f.wh]=p*Math.max(Math.abs(t[f.wh]),Math.abs(L[f.index]+E)),Y[h.wh]=t[h.wh];var G=d.clipShape={};G[h.xy]=-t[h.xy],G[h.wh]=c.ecSize[h.wh],G[f.xy]=0,G[f.wh]=t[f.wh]}function pQ(n){var e=n.symbolPatternSize,t=J0(n.symbolType,-e/2,-e/2,e,e);return t.attr({culling:!0}),t.type!=="image"&&t.setStyle({strokeNoScale:!0}),t}function mQ(n,e,t,i){var r=n.__pictorialBundle,a=t.symbolSize,o=t.valueLineWidth,s=t.pathPosition,l=e.valueDim,u=t.repeatTimes||0,c=0,d=a[e.valueDim.index]+o+t.symbolMargin*2;for(NR(n,function(g){g.__pictorialAnimationIndex=c,g.__pictorialRepeatTimes=u,c<u?y7(g,null,p(c),t,i):y7(g,null,{scaleX:0,scaleY:0},t,i,function(){r.remove(g)}),c++});c<u;c++){var h=pQ(t);h.__pictorialAnimationIndex=c,h.__pictorialRepeatTimes=u,r.add(h);var f=p(c);y7(h,{x:f.x,y:f.y,scaleX:0,scaleY:0},{scaleX:f.scaleX,scaleY:f.scaleY,rotation:f.rotation},t,i)}function p(g){var m=s.slice(),v=t.pxSign,_=g;return(t.symbolRepeatDirection==="start"?v>0:v<0)&&(_=u-1-g),m[l.index]=d*(_-u/2+.5)+s[l.index],{x:m[0],y:m[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation}}}function gQ(n,e,t,i){var r=n.__pictorialBundle,a=n.__pictorialMainPath;a?y7(a,null,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation},t,i):(a=n.__pictorialMainPath=pQ(t),r.add(a),y7(a,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:0,scaleY:0,rotation:t.rotation},{scaleX:t.symbolScale[0],scaleY:t.symbolScale[1]},t,i))}function vQ(n,e,t){var i=L2({},e.barRectShape),r=n.__pictorialBarRect;r?y7(r,null,{shape:i},e,t):(r=n.__pictorialBarRect=new V3({z2:2,shape:i,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),r.disableMorphing=!0,n.add(r))}function yQ(n,e,t,i){if(t.symbolClip){var r=n.__pictorialClipPath,a=L2({},t.clipShape),o=e.valueDim,s=t.animationModel,l=t.dataIndex;if(r)Q3(r,{shape:a},s,l);else{a[o.wh]=0,r=new V3({shape:a}),n.__pictorialBundle.setClipPath(r),n.__pictorialClipPath=r;var u={};u[o.wh]=t.clipShape[o.wh],bl[i?"updateProps":"initProps"](r,{shape:u},s,l)}}}function eU(n,e){var t=n.getItemModel(e);return t.getAnimationDelayParams=TSe,t.isAnimationEnabled=ASe,t}function TSe(n){return{index:n.__pictorialAnimationIndex,count:n.__pictorialRepeatTimes}}function ASe(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function tU(n,e,t,i){var r=new qt,a=new qt;return r.add(a),r.__pictorialBundle=a,a.x=t.bundlePosition[0],a.y=t.bundlePosition[1],t.symbolRepeat?mQ(r,e,t):gQ(r,e,t),vQ(r,t,i),yQ(r,e,t,i),r.__pictorialShapeStr=_Q(n,t),r.__pictorialSymbolMeta=t,r}function CSe(n,e,t){var i=t.animationModel,r=t.dataIndex,a=n.__pictorialBundle;Q3(a,{x:t.bundlePosition[0],y:t.bundlePosition[1]},i,r),t.symbolRepeat?mQ(n,e,t,!0):gQ(n,e,t,!0),vQ(n,t,!0),yQ(n,e,t,!0)}function nU(n,e,t,i){var r=i.__pictorialBarRect;r&&r.removeTextContent();var a=[];NR(i,function(o){a.push(o)}),i.__pictorialMainPath&&a.push(i.__pictorialMainPath),i.__pictorialClipPath&&(t=null),ne(a,function(o){j5(o,{scaleX:0,scaleY:0},t,e,function(){i.parent&&i.parent.remove(i)})}),n.setItemGraphicEl(e,null)}function _Q(n,e){return[n.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function NR(n,e,t){ne(n.__pictorialBundle.children(),function(i){i!==n.__pictorialBarRect&&e.call(t,i)})}function y7(n,e,t,i,r,a){e&&n.attr(e),i.symbolClip&&!r?t&&n.attr(t):t&&bl[r?"updateProps":"initProps"](n,t,i.animationModel,i.dataIndex,a)}function iU(n,e,t){var i=t.dataIndex,r=t.itemModel,a=r.getModel("emphasis"),o=a.getModel("itemStyle").getItemStyle(),s=r.getModel(["blur","itemStyle"]).getItemStyle(),l=r.getModel(["select","itemStyle"]).getItemStyle(),u=r.getShallow("cursor"),c=a.get("focus"),d=a.get("blurScope"),h=a.get("scale");NR(n,function(g){if(g instanceof ti){var m=g.style;g.useStyle(L2({image:m.image,x:m.x,y:m.y,width:m.width,height:m.height},t.style))}else g.useStyle(t.style);var v=g.ensureState("emphasis");v.style=o,h&&(v.scaleX=g.scaleX*1.1,v.scaleY=g.scaleY*1.1),g.ensureState("blur").style=s,g.ensureState("select").style=l,u&&(g.cursor=u),g.z2=t.z2});var f=e.valueDim.posDesc[+(t.boundingLength>0)],p=n.__pictorialBarRect;p.ignoreClip=!0,Qn(p,bn(r),{labelFetcher:e.seriesModel,labelDataIndex:i,defaultText:O7(e.seriesModel.getData(),i),inheritColor:t.style.fill,defaultOpacity:t.style.opacity,defaultOutsidePosition:f}),b0(n,c,d,a.get("disabled"))}function rU(n){var e=Math.round(n);return Math.abs(n-e)<1e-4?e:Math.ceil(n)}const MSe=_Se;var ESe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t.defaultSymbol="roundRect",t}return e.prototype.getInitialData=function(t){return t.stack=null,n.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=r9(ly.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),e}(ly);const PSe=ESe;function RSe(n){n.registerChartView(MSe),n.registerSeriesModel(PSe),n.registerLayout(n.PRIORITY.VISUAL.LAYOUT,r3(ZK,"pictorialBar")),n.registerLayout(n.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,JK("pictorialBar"))}var LSe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._layers=[],t}return e.prototype.render=function(t,i,r){var a=t.getData(),o=this,s=this.group,l=t.getLayerSeries(),u=a.getLayout("layoutInfo"),c=u.rect,d=u.boundaryGap;s.x=0,s.y=c.y+d[0];function h(m){return m.name}var f=new l6(this._layersSeries||[],l,h,h),p=[];f.add(St(g,this,"add")).update(St(g,this,"update")).remove(St(g,this,"remove")).execute();function g(m,v,_){var S=o._layers;if(m==="remove"){s.remove(S[v]);return}for(var x=[],A=[],C,M=l[v].indices,I=0;I<M.length;I++){var D=a.getItemLayout(M[I]),E=D.x,L=D.y0,V=D.y;x.push(E,L),A.push(E,L+V),C=a.getItemVisual(M[I],"style")}var Y,G=a.getItemLayout(M[0]),W=t.getModel("label"),q=W.get("margin"),ce=t.getModel("emphasis");if(m==="add"){var J=p[v]=new qt;Y=new VZ({shape:{points:x,stackedOnPoints:A,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),J.add(Y),s.add(J),t.isAnimationEnabled()&&Y.setClipPath(ISe(Y.getBoundingRect(),t,function(){Y.removeClipPath()}))}else{var J=S[_];Y=J.childAt(0),s.add(J),p[v]=J,Q3(Y,{shape:{points:x,stackedOnPoints:A}},t),go(Y)}Qn(Y,bn(t),{labelDataIndex:M[I-1],defaultText:a.getName(M[I-1]),inheritColor:C.fill},{normal:{verticalAlign:"middle"}}),Y.setTextConfig({position:null,local:!0});var H=Y.getTextContent();H&&(H.x=G.x-q,H.y=G.y0+G.y/2),Y.useStyle(C),a.setItemGraphicEl(v,Y),Jn(Y,t),b0(Y,ce.get("focus"),ce.get("blurScope"),ce.get("disabled"))}this._layersSeries=l,this._layers=p},e.type="themeRiver",e}(K1);function ISe(n,e,t){var i=new V3({shape:{x:n.x-10,y:n.y-10,width:0,height:n.height+20}});return l0(i,{shape:{x:n.x-50,width:n.width+100,height:n.height+20}},e,t),i}const DSe=LSe;var eT=2,NSe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t){n.prototype.init.apply(this,arguments),this.legendVisualProvider=new df(St(this.getData,this),St(this.getRawData,this))},e.prototype.fixData=function(t){var i=t.length,r={},a=xC(t,function(h){return r.hasOwnProperty(h[0]+"")||(r[h[0]+""]=-1),h[2]}),o=[];a.buckets.each(function(h,f){o.push({name:f,dataList:h})});for(var s=o.length,l=0;l<s;++l){for(var u=o[l].name,c=0;c<o[l].dataList.length;++c){var d=o[l].dataList[c][0]+"";r[d]=l}for(var d in r)r.hasOwnProperty(d)&&r[d]!==l&&(r[d]=l,t[i]=[d,0,u],i++)}return t},e.prototype.getInitialData=function(t,i){for(var r=this.getReferringComponents("singleAxis",Z0).models[0],a=r.get("type"),o=c1(t.data,function(p){return p[2]!==void 0}),s=this.fixData(o||[]),l=[],u=this.nameMap=Ct(),c=0,d=0;d<s.length;++d)l.push(s[d][eT]),u.get(s[d][eT])||(u.set(s[d][eT],c),c++);var h=rf(s,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:iy(a)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}).dimensions,f=new Oi(h,this);return f.initData(s),f},e.prototype.getLayerSeries=function(){for(var t=this.getData(),i=t.count(),r=[],a=0;a<i;++a)r[a]=a;var o=t.mapDimension("single"),s=xC(r,function(u){return t.get("name",u)}),l=[];return s.buckets.each(function(u,c){u.sort(function(d,h){return t.get(o,d)-t.get(o,h)}),l.push({name:c,indices:u})}),l},e.prototype.getAxisTooltipData=function(t,i,r){H2(t)||(t=t?[t]:[]);for(var a=this.getData(),o=this.getLayerSeries(),s=[],l=o.length,u,c=0;c<l;++c){for(var d=Number.MAX_VALUE,h=-1,f=o[c].indices.length,p=0;p<f;++p){var g=a.get(t[0],o[c].indices[p]),m=Math.abs(g-i);m<=d&&(u=g,d=m,h=o[c].indices[p])}s.push(h)}return{dataIndices:s,nestestValue:u}},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=a.getName(t),s=a.get(a.mapDimension("value"),t);return xn("nameValue",{name:o,value:s})},e.type="series.themeRiver",e.dependencies=["singleAxis"],e.defaultOption={z:2,colorBy:"data",coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",fontSize:11},emphasis:{label:{show:!0}}},e}(m0);const kSe=NSe;function FSe(n,e){n.eachSeriesByType("themeRiver",function(t){var i=t.getData(),r=t.coordinateSystem,a={},o=r.getRect();a.rect=o;var s=t.get("boundaryGap"),l=r.getAxis();if(a.boundaryGap=s,l.orient==="horizontal"){s[0]=ft(s[0],o.height),s[1]=ft(s[1],o.height);var u=o.height-s[0]-s[1];aU(i,t,u)}else{s[0]=ft(s[0],o.width),s[1]=ft(s[1],o.width);var c=o.width-s[0]-s[1];aU(i,t,c)}i.setLayout("layoutInfo",a)})}function aU(n,e,t){if(n.count())for(var i=e.coordinateSystem,r=e.getLayerSeries(),a=n.mapDimension("single"),o=n.mapDimension("value"),s=j2(r,function(m){return j2(m.indices,function(v){var _=i.dataToPoint(n.get(a,v));return _[1]=n.get(o,v),_})}),l=OSe(s),u=l.y0,c=t/l.max,d=r.length,h=r[0].indices.length,f,p=0;p<h;++p){f=u[p]*c,n.setItemLayout(r[0].indices[p],{layerIndex:0,x:s[0][p][0],y0:f,y:s[0][p][1]*c});for(var g=1;g<d;++g)f+=s[g-1][p][1]*c,n.setItemLayout(r[g].indices[p],{layerIndex:g,x:s[g][p][0],y0:f,y:s[g][p][1]*c})}}function OSe(n){for(var e=n.length,t=n[0].length,i=[],r=[],a=0,o=0;o<t;++o){for(var s=0,l=0;l<e;++l)s+=n[l][o][1];s>a&&(a=s),i.push(s)}for(var u=0;u<t;++u)r[u]=(a-i[u])/2;a=0;for(var c=0;c<t;++c){var d=i[c]+r[c];d>a&&(a=d)}return{y0:r,max:a}}function BSe(n){n.registerChartView(DSe),n.registerSeriesModel(kSe),n.registerLayout(FSe),n.registerProcessor(cf("themeRiver"))}var zSe=2,USe=4,GSe=function(n){g2(e,n);function e(t,i,r,a){var o=n.call(this)||this;o.z2=zSe,o.textConfig={inside:!0},Xt(o).seriesIndex=i.seriesIndex;var s=new Y3({z2:USe,silent:t.getModel().get(["label","silent"])});return o.setTextContent(s),o.updateData(!0,t,i,r,a),o}return e.prototype.updateData=function(t,i,r,a,o){this.node=i,i.piece=this,r=r||this._seriesModel,a=a||this._ecModel;var s=this;Xt(s).dataIndex=i.dataIndex;var l=i.getModel(),u=l.getModel("emphasis"),c=i.getLayout(),d=L2({},c);d.label=null;var h=i.getVisual("style");h.lineJoin="bevel";var f=i.getVisual("decal");f&&(h.decal=k7(f,o));var p=P8(l.getModel("itemStyle"),d,!0);L2(d,p),ne(zi,function(_){var S=s.ensureState(_),x=l.getModel([_,"itemStyle"]);S.style=x.getItemStyle();var A=P8(x,d);A&&(S.shape=A)}),t?(s.setShape(d),s.shape.r=c.r0,l0(s,{shape:{r:c.r}},r,i.dataIndex)):(Q3(s,{shape:d},r),go(s)),s.useStyle(h),this._updateLabel(r);var g=l.getShallow("cursor");g&&s.attr("cursor",g),this._seriesModel=r||this._seriesModel,this._ecModel=a||this._ecModel;var m=u.get("focus"),v=m==="relative"?Jd(i.getAncestorsIndices(),i.getDescendantIndices()):m==="ancestor"?i.getAncestorsIndices():m==="descendant"?i.getDescendantIndices():m;b0(this,v,u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t){var i=this,r=this.node.getModel(),a=r.getModel("label"),o=this.node.getLayout(),s=o.endAngle-o.startAngle,l=(o.startAngle+o.endAngle)/2,u=Math.cos(l),c=Math.sin(l),d=this,h=d.getTextContent(),f=this.node.dataIndex,p=a.get("minAngle")/180*Math.PI,g=a.get("show")&&!(p!=null&&Math.abs(s)<p);h.ignore=!g,ne(ah,function(v){var _=v==="normal"?r.getModel("label"):r.getModel([v,"label"]),S=v==="normal",x=S?h:h.ensureState(v),A=t.getFormattedLabel(f,v);S&&(A=A||i.node.name),x.style=q1(_,{},null,v!=="normal",!0),A&&(x.style.text=A);var C=_.get("show");C!=null&&!S&&(x.ignore=!C);var M=m(_,"position"),I=S?d:d.states[v],D=I.style.fill;I.textConfig={outsideFill:_.get("color")==="inherit"?D:null,inside:M!=="outside"};var E,L=m(_,"distance")||0,V=m(_,"align"),Y=m(_,"rotate"),G=Math.PI*.5,W=Math.PI*1.5,q=zr(Y==="tangential"?Math.PI/2-l:l),ce=q>G&&!nh(q-G)&&q<W;M==="outside"?(E=o.r+L,V=ce?"right":"left"):!V||V==="center"?(s===2*Math.PI&&o.r0===0?E=0:E=(o.r+o.r0)/2,V="center"):V==="left"?(E=o.r0+L,V=ce?"right":"left"):V==="right"&&(E=o.r-L,V=ce?"left":"right"),x.style.align=V,x.style.verticalAlign=m(_,"verticalAlign")||"middle",x.x=E*u+o.cx,x.y=E*c+o.cy;var J=0;Y==="radial"?J=zr(-l)+(ce?Math.PI:0):Y==="tangential"?J=zr(Math.PI/2-l)+(ce?Math.PI:0):q3(Y)&&(J=Y*Math.PI/180),x.rotation=zr(J)});function m(v,_){var S=v.get(_);return S==null?a.get(_):S}h.dirtyStyle()},e}(mr);const oU=GSe;var SM="sunburstRootToNode",sU="sunburstHighlight",VSe="sunburstUnhighlight";function HSe(n){n.registerAction({type:SM,update:"updateView"},function(e,t){t.eachComponent({mainType:"series",subType:"sunburst",query:e},i);function i(r,a){var o=yh(e,[SM],r);if(o){var s=r.getViewRoot();s&&(e.direction=vR(s,o.node)?"rollUp":"drillDown"),r.resetViewRoot(o.node)}}}),n.registerAction({type:sU,update:"none"},function(e,t,i){e=L2({},e),t.eachComponent({mainType:"series",subType:"sunburst",query:e},r);function r(a){var o=yh(e,[sU],a);o&&(e.dataIndex=o.node.dataIndex)}i.dispatchAction(L2(e,{type:"highlight"}))}),n.registerAction({type:VSe,update:"updateView"},function(e,t,i){e=L2({},e),i.dispatchAction(L2(e,{type:"downplay"}))})}var WSe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){var o=this;this.seriesModel=t,this.api=r,this.ecModel=i;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),c=this.group,d=t.get("renderLabelForZeroData"),h=[];u.eachNode(function(_){h.push(_)});var f=this._oldChildren||[];p(h,f),v(l,u),this._initEvents(),this._oldChildren=h;function p(_,S){if(_.length===0&&S.length===0)return;new l6(S,_,x,x).add(A).update(A).remove(r3(A,null)).execute();function x(C){return C.getId()}function A(C,M){var I=C==null?null:_[C],D=M==null?null:S[M];g(I,D)}}function g(_,S){if(!d&&_&&!_.getValue()&&(_=null),_!==l&&S!==l){if(S&&S.piece)_?(S.piece.updateData(!1,_,t,i,r),s.setItemGraphicEl(_.dataIndex,S.piece)):m(S);else if(_){var x=new oU(_,t,i,r);c.add(x),s.setItemGraphicEl(_.dataIndex,x)}}}function m(_){_&&_.piece&&(c.remove(_.piece),_.piece=null)}function v(_,S){S.depth>0?(o.virtualPiece?o.virtualPiece.updateData(!1,_,t,i,r):(o.virtualPiece=new oU(_,t,i,r),c.add(o.virtualPiece)),S.piece.off("click"),o.virtualPiece.on("click",function(x){o._rootToNode(S.parentNode)})):o.virtualPiece&&(c.remove(o.virtualPiece),o.virtualPiece=null)}},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",function(i){var r=!1,a=t.seriesModel.getViewRoot();a.eachNode(function(o){if(!r&&o.piece&&o.piece===i.target){var s=o.getModel().get("nodeClick");if(s==="rootToNode")t._rootToNode(o);else if(s==="link"){var l=o.getModel(),u=l.get("link");if(u){var c=l.get("target",!0)||"_blank";Xv(u,c)}}r=!0}})})},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:SM,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,i){var r=i.getData(),a=r.getItemLayout(0);if(a){var o=t[0]-a.cx,s=t[1]-a.cy,l=Math.sqrt(o*o+s*s);return l<=a.r&&l>=a.r0}},e.type="sunburst",e}(K1);const jSe=WSe;var $Se=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t,i){var r={name:t.name,children:t.data};SQ(r);var a=this._levelModels=j2(t.levels||[],function(l){return new X1(l,this,i)},this),o=gR.createTree(r,this,s);function s(l){l.wrapMethod("getItemModel",function(u,c){var d=o.getNodeByDataIndex(c),h=a[d.depth];return h&&(u.parentModel=h),u})}return o.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(t){var i=n.prototype.getDataParams.apply(this,arguments),r=this.getData().tree.getNodeByDataIndex(t);return i.treePathInfo=Q_(r,this),i},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var i=this.getRawData().tree.root;(!t||t!==i&&!i.contains(t))&&(this._viewRoot=i)},e.prototype.enableAriaDecal=function(){TJ(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(m0);function SQ(n){var e=0;ne(n.children,function(i){SQ(i);var r=i.value;H2(r)&&(r=r[0]),e+=r});var t=n.value;H2(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),H2(n.value)?n.value[0]=t:n.value=t}const YSe=$Se;var lU=Math.PI/180;function qSe(n,e,t){e.eachSeriesByType(n,function(i){var r=i.get("center"),a=i.get("radius");H2(a)||(a=[0,a]),H2(r)||(r=[r,r]);var o=t.getWidth(),s=t.getHeight(),l=Math.min(o,s),u=ft(r[0],o),c=ft(r[1],s),d=ft(a[0],l/2),h=ft(a[1],l/2),f=-i.get("startAngle")*lU,p=i.get("minAngle")*lU,g=i.getData().tree.root,m=i.getViewRoot(),v=m.depth,_=i.get("sort");_!=null&&bQ(m,_);var S=0;ne(m.children,function(q){!isNaN(q.getValue())&&S++});var x=m.getValue(),A=Math.PI/(x||S)*2,C=m.depth>0,M=m.height-(C?-1:1),I=(h-d)/(M||1),D=i.get("clockwise"),E=i.get("stillShowZeroSum"),L=D?1:-1,V=function(q,ce){if(q){var J=ce;if(q!==g){var H=q.getValue(),re=x===0&&E?A:H*A;re<p&&(re=p),J=ce+L*re;var ee=q.depth-v-(C?-1:1),se=d+I*ee,Be=d+I*(ee+1),we=i.getLevelModel(q);if(we){var ve=we.get("r0",!0),Ke=we.get("r",!0),p2=we.get("radius",!0);p2!=null&&(ve=p2[0],Ke=p2[1]),ve!=null&&(se=ft(ve,l/2)),Ke!=null&&(Be=ft(Ke,l/2))}q.setLayout({angle:re,startAngle:ce,endAngle:J,clockwise:D,cx:u,cy:c,r0:se,r:Be})}if(q.children&&q.children.length){var c2=0;ne(q.children,function(s2){c2+=V(s2,ce+c2)})}return J-ce}};if(C){var Y=d,G=d+I,W=Math.PI*2;g.setLayout({angle:W,startAngle:f,endAngle:f+W,clockwise:D,cx:u,cy:c,r0:Y,r:G})}V(m,f)})}function bQ(n,e){var t=n.children||[];n.children=XSe(t,e),t.length&&ne(n.children,function(i){bQ(i,e)})}function XSe(n,e){if(Gt(e)){var t=j2(n,function(r,a){var o=r.getValue();return{params:{depth:r.depth,height:r.height,dataIndex:r.dataIndex,getValue:function(){return o}},index:a}});return t.sort(function(r,a){return e(r.params,a.params)}),j2(t,function(r){return n[r.index]})}else{var i=e==="asc";return n.sort(function(r,a){var o=(r.getValue()-a.getValue())*(i?1:-1);return o===0?(r.dataIndex-a.dataIndex)*(i?-1:1):o})}}function KSe(n){var e={};function t(i,r,a){for(var o=i;o&&o.depth>1;)o=o.parentNode;var s=r.getColorFromPalette(o.name||o.dataIndex+"",e);return i.depth>1&&_t(s)&&(s=cC(s,(i.depth-1)/(a-1)*.5)),s}n.eachSeriesByType("sunburst",function(i){var r=i.getData(),a=r.tree;a.eachNode(function(o){var s=o.getModel(),l=s.getModel("itemStyle").getItemStyle();l.fill||(l.fill=t(o,i,a.root.height));var u=r.ensureUniqueItemVisual(o.dataIndex,"style");L2(u,l)})})}function ZSe(n){n.registerChartView(jSe),n.registerSeriesModel(YSe),n.registerLayout(r3(qSe,"sunburst")),n.registerProcessor(r3(cf,"sunburst")),n.registerVisual(KSe),HSe(n)}var uU={color:"fill",borderColor:"stroke"},JSe={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},e6=B3(),QSe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,i){return v6(null,this)},e.prototype.getDataParams=function(t,i,r){var a=n.prototype.getDataParams.call(this,t,i);return r&&(a.info=e6(r).info),a},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(m0);const ebe=QSe;function tbe(n,e){return e=e||[0,0],j2(["x","y"],function(t,i){var r=this.getAxis(t),a=e[i],o=n[i]/2;return r.type==="category"?r.getBandWidth():Math.abs(r.dataToCoord(a-o)-r.dataToCoord(a+o))},this)}function nbe(n){var e=n.master.getRect();return{coordSys:{type:"cartesian2d",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return n.dataToPoint(t)},size:St(tbe,n)}}}function ibe(n,e){return e=e||[0,0],j2([0,1],function(t){var i=e[t],r=n[t]/2,a=[],o=[];return a[t]=i-r,o[t]=i+r,a[1-t]=o[1-t]=e[1-t],Math.abs(this.dataToPoint(a)[t]-this.dataToPoint(o)[t])},this)}function rbe(n){var e=n.getBoundingRect();return{coordSys:{type:"geo",x:e.x,y:e.y,width:e.width,height:e.height,zoom:n.getZoom()},api:{coord:function(t){return n.dataToPoint(t)},size:St(ibe,n)}}}function abe(n,e){var t=this.getAxis(),i=e instanceof Array?e[0]:e,r=(n instanceof Array?n[0]:n)/2;return t.type==="category"?t.getBandWidth():Math.abs(t.dataToCoord(i-r)-t.dataToCoord(i+r))}function obe(n){var e=n.getRect();return{coordSys:{type:"singleAxis",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return n.dataToPoint(t)},size:St(abe,n)}}}function sbe(n,e){return e=e||[0,0],j2(["Radius","Angle"],function(t,i){var r="get"+t+"Axis",a=this[r](),o=e[i],s=n[i]/2,l=a.type==="category"?a.getBandWidth():Math.abs(a.dataToCoord(o-s)-a.dataToCoord(o+s));return t==="Angle"&&(l=l*Math.PI/180),l},this)}function lbe(n){var e=n.getRadiusAxis(),t=n.getAngleAxis(),i=e.getExtent();return i[0]>i[1]&&i.reverse(),{coordSys:{type:"polar",cx:n.cx,cy:n.cy,r:i[1],r0:i[0]},api:{coord:function(r){var a=e.dataToRadius(r[0]),o=t.dataToAngle(r[1]),s=n.coordToPoint([a,o]);return s.push(a,o*Math.PI/180),s},size:St(sbe,n)}}}function ube(n){var e=n.getRect(),t=n.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:n.getCellWidth(),cellHeight:n.getCellHeight(),rangeInfo:{start:t.start,end:t.end,weeks:t.weeks,dayCount:t.allDay}},api:{coord:function(i,r){return n.dataToPoint(i,r)}}}}function xQ(n,e,t,i){return n&&(n.legacy||n.legacy!==!1&&!t&&!i&&e!=="tspan"&&(e==="text"||xt(n,"text")))}function wQ(n,e,t){var i=n,r,a,o;if(e==="text")o=i;else{o={},xt(i,"text")&&(o.text=i.text),xt(i,"rich")&&(o.rich=i.rich),xt(i,"textFill")&&(o.fill=i.textFill),xt(i,"textStroke")&&(o.stroke=i.textStroke),xt(i,"fontFamily")&&(o.fontFamily=i.fontFamily),xt(i,"fontSize")&&(o.fontSize=i.fontSize),xt(i,"fontStyle")&&(o.fontStyle=i.fontStyle),xt(i,"fontWeight")&&(o.fontWeight=i.fontWeight),a={type:"text",style:o,silent:!0},r={};var s=xt(i,"textPosition");t?r.position=s?i.textPosition:"inside":s&&(r.position=i.textPosition),xt(i,"textPosition")&&(r.position=i.textPosition),xt(i,"textOffset")&&(r.offset=i.textOffset),xt(i,"textRotation")&&(r.rotation=i.textRotation),xt(i,"textDistance")&&(r.distance=i.textDistance)}return cU(o,n),ne(o.rich,function(l){cU(l,l)}),{textConfig:r,textContent:a}}function cU(n,e){e&&(e.font=e.textFont||e.font,xt(e,"textStrokeWidth")&&(n.lineWidth=e.textStrokeWidth),xt(e,"textAlign")&&(n.align=e.textAlign),xt(e,"textVerticalAlign")&&(n.verticalAlign=e.textVerticalAlign),xt(e,"textLineHeight")&&(n.lineHeight=e.textLineHeight),xt(e,"textWidth")&&(n.width=e.textWidth),xt(e,"textHeight")&&(n.height=e.textHeight),xt(e,"textBackgroundColor")&&(n.backgroundColor=e.textBackgroundColor),xt(e,"textPadding")&&(n.padding=e.textPadding),xt(e,"textBorderColor")&&(n.borderColor=e.textBorderColor),xt(e,"textBorderWidth")&&(n.borderWidth=e.textBorderWidth),xt(e,"textBorderRadius")&&(n.borderRadius=e.textBorderRadius),xt(e,"textBoxShadowColor")&&(n.shadowColor=e.textBoxShadowColor),xt(e,"textBoxShadowBlur")&&(n.shadowBlur=e.textBoxShadowBlur),xt(e,"textBoxShadowOffsetX")&&(n.shadowOffsetX=e.textBoxShadowOffsetX),xt(e,"textBoxShadowOffsetY")&&(n.shadowOffsetY=e.textBoxShadowOffsetY))}function dU(n,e,t){var i=n;i.textPosition=i.textPosition||t.position||"inside",t.offset!=null&&(i.textOffset=t.offset),t.rotation!=null&&(i.textRotation=t.rotation),t.distance!=null&&(i.textDistance=t.distance);var r=i.textPosition.indexOf("inside")>=0,a=n.fill||"#000";hU(i,e);var o=i.textFill==null;return r?o&&(i.textFill=t.insideFill||"#fff",!i.textStroke&&t.insideStroke&&(i.textStroke=t.insideStroke),!i.textStroke&&(i.textStroke=a),i.textStrokeWidth==null&&(i.textStrokeWidth=2)):(o&&(i.textFill=n.fill||t.outsideFill||"#000"),!i.textStroke&&t.outsideStroke&&(i.textStroke=t.outsideStroke)),i.text=e.text,i.rich=e.rich,ne(e.rich,function(s){hU(s,s)}),i}function hU(n,e){e&&(xt(e,"fill")&&(n.textFill=e.fill),xt(e,"stroke")&&(n.textStroke=e.fill),xt(e,"lineWidth")&&(n.textStrokeWidth=e.lineWidth),xt(e,"font")&&(n.font=e.font),xt(e,"fontStyle")&&(n.fontStyle=e.fontStyle),xt(e,"fontWeight")&&(n.fontWeight=e.fontWeight),xt(e,"fontSize")&&(n.fontSize=e.fontSize),xt(e,"fontFamily")&&(n.fontFamily=e.fontFamily),xt(e,"align")&&(n.textAlign=e.align),xt(e,"verticalAlign")&&(n.textVerticalAlign=e.verticalAlign),xt(e,"lineHeight")&&(n.textLineHeight=e.lineHeight),xt(e,"width")&&(n.textWidth=e.width),xt(e,"height")&&(n.textHeight=e.height),xt(e,"backgroundColor")&&(n.textBackgroundColor=e.backgroundColor),xt(e,"padding")&&(n.textPadding=e.padding),xt(e,"borderColor")&&(n.textBorderColor=e.borderColor),xt(e,"borderWidth")&&(n.textBorderWidth=e.borderWidth),xt(e,"borderRadius")&&(n.textBorderRadius=e.borderRadius),xt(e,"shadowColor")&&(n.textBoxShadowColor=e.shadowColor),xt(e,"shadowBlur")&&(n.textBoxShadowBlur=e.shadowBlur),xt(e,"shadowOffsetX")&&(n.textBoxShadowOffsetX=e.shadowOffsetX),xt(e,"shadowOffsetY")&&(n.textBoxShadowOffsetY=e.shadowOffsetY),xt(e,"textShadowColor")&&(n.textShadowColor=e.textShadowColor),xt(e,"textShadowBlur")&&(n.textShadowBlur=e.textShadowBlur),xt(e,"textShadowOffsetX")&&(n.textShadowOffsetX=e.textShadowOffsetX),xt(e,"textShadowOffsetY")&&(n.textShadowOffsetY=e.textShadowOffsetY))}var TQ={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},fU=E3(TQ);ss(us,function(n,e){return n[e]=1,n},{});us.join(", ");var gy=["","style","shape","extra"],U7=B3();function kR(n,e,t,i,r){var a=n+"Animation",o=cu(n,i,r)||{},s=U7(e).userDuring;return o.duration>0&&(o.during=s?St(pbe,{el:e,userDuring:s}):null,o.setToFinal=!0,o.scope=n),L2(o,t[a]),o}function rv(n,e,t,i){i=i||{};var r=i.dataIndex,a=i.isInit,o=i.clearStyle,s=t.isAnimationEnabled(),l=U7(n),u=e.style;l.userDuring=e.during;var c={},d={};if(gbe(n,e,d),mU("shape",e,d),mU("extra",e,d),!a&&s&&(mbe(n,e,c),pU("shape",n,e,c),pU("extra",n,e,c),vbe(n,e,u,c)),d.style=u,cbe(n,d,o),hbe(n,e),s)if(a){var h={};ne(gy,function(p){var g=p?e[p]:e;g&&g.enterFrom&&(p&&(h[p]=h[p]||{}),L2(p?h[p]:h,g.enterFrom))});var f=kR("enter",n,e,t,r);f.duration>0&&n.animateFrom(h,f)}else dbe(n,e,r||0,t,c);AQ(n,e),u?n.dirty():n.markRedraw()}function AQ(n,e){for(var t=U7(n).leaveToProps,i=0;i<gy.length;i++){var r=gy[i],a=r?e[r]:e;a&&a.leaveTo&&(t||(t=U7(n).leaveToProps={}),r&&(t[r]=t[r]||{}),L2(r?t[r]:t,a.leaveTo))}}function nS(n,e,t,i){if(n){var r=n.parent,a=U7(n).leaveToProps;if(a){var o=kR("update",n,e,t,0);o.done=function(){r.remove(n),i&&i()},n.animateTo(a,o)}else r.remove(n),i&&i()}}function Y8(n){return n==="all"}function cbe(n,e,t){var i=e.style;if(!n.isGroup&&i){if(t){n.useStyle({});for(var r=n.animators,a=0;a<r.length;a++){var o=r[a];o.targetName==="style"&&o.changeTarget(n.style)}}n.setStyle(i)}e&&(e.style=null,e&&n.attr(e),e.style=i)}function dbe(n,e,t,i,r){if(r){var a=kR("update",n,e,i,t);a.duration>0&&n.animateFrom(r,a)}}function hbe(n,e){xt(e,"silent")&&(n.silent=e.silent),xt(e,"ignore")&&(n.ignore=e.ignore),n instanceof Ba&&xt(e,"invisible")&&(n.invisible=e.invisible),n instanceof C3&&xt(e,"autoBatch")&&(n.autoBatch=e.autoBatch)}var ko={},fbe={setTransform:function(n,e){return ko.el[n]=e,this},getTransform:function(n){return ko.el[n]},setShape:function(n,e){var t=ko.el,i=t.shape||(t.shape={});return i[n]=e,t.dirtyShape&&t.dirtyShape(),this},getShape:function(n){var e=ko.el.shape;if(e)return e[n]},setStyle:function(n,e){var t=ko.el,i=t.style;return i&&(i[n]=e,t.dirtyStyle&&t.dirtyStyle()),this},getStyle:function(n){var e=ko.el.style;if(e)return e[n]},setExtra:function(n,e){var t=ko.el.extra||(ko.el.extra={});return t[n]=e,this},getExtra:function(n){var e=ko.el.extra;if(e)return e[n]}};function pbe(){var n=this,e=n.el;if(e){var t=U7(e).userDuring,i=n.userDuring;if(t!==i){n.el=n.userDuring=null;return}ko.el=e,i(fbe)}}function pU(n,e,t,i){var r=t[n];if(r){var a=e[n],o;if(a){var s=t.transition,l=r.transition;if(l)if(!o&&(o=i[n]={}),Y8(l))L2(o,a);else for(var u=A1(l),c=0;c<u.length;c++){var d=u[c],h=a[d];o[d]=h}else if(Y8(s)||_3(s,n)>=0){!o&&(o=i[n]={});for(var f=E3(a),c=0;c<f.length;c++){var d=f[c],h=a[d];ybe(r[d],h)&&(o[d]=h)}}}}}function mU(n,e,t){var i=e[n];if(i)for(var r=t[n]={},a=E3(i),o=0;o<a.length;o++){var s=a[o];r[s]=gd(i[s])}}function mbe(n,e,t){for(var i=e.transition,r=Y8(i)?us:A1(i||[]),a=0;a<r.length;a++){var o=r[a];if(!(o==="style"||o==="shape"||o==="extra")){var s=n[o];t[o]=s}}}function gbe(n,e,t){for(var i=0;i<fU.length;i++){var r=fU[i],a=TQ[r],o=e[r];o&&(t[a[0]]=o[0],t[a[1]]=o[1])}for(var i=0;i<us.length;i++){var s=us[i];e[s]!=null&&(t[s]=e[s])}}function vbe(n,e,t,i){if(t){var r=n.style,a;if(r){var o=t.transition,s=e.transition;if(o&&!Y8(o)){var l=A1(o);!a&&(a=i.style={});for(var u=0;u<l.length;u++){var c=l[u],d=r[c];a[c]=d}}else if(n.getAnimationStyleProps&&(Y8(s)||Y8(o)||_3(s,"style")>=0)){var h=n.getAnimationStyleProps(),f=h?h.style:null;if(f){!a&&(a=i.style={});for(var p=E3(t),u=0;u<p.length;u++){var c=p[u];if(f[c]){var d=r[c];a[c]=d}}}}}}}function ybe(n,e){return Si(n)?n!==e:n!=null&&isFinite(n)}var CQ=B3(),_be=["percent","easing","shape","style","extra"];function MQ(n){n.stopAnimation("keyframe"),n.attr(CQ(n))}function vy(n,e,t){if(!(!t.isAnimationEnabled()||!e)){if(H2(e)){ne(e,function(s){vy(n,s,t)});return}var i=e.keyframes,r=e.duration;if(t&&r==null){var a=cu("enter",t,0);r=a&&a.duration}if(!(!i||!r)){var o=CQ(n);ne(gy,function(s){if(!(s&&!n[s])){var l;i.sort(function(u,c){return u.percent-c.percent}),ne(i,function(u){var c=n.animators,d=s?u[s]:u;if(d){var h=E3(d);if(s||(h=c1(h,function(g){return _3(_be,g)<0})),!!h.length){l||(l=n.animate(s,e.loop,!0),l.scope="keyframe");for(var f=0;f<c.length;f++)c[f]!==l&&c[f].targetName===l.targetName&&c[f].stopTracks(h);s&&(o[s]=o[s]||{});var p=s?o[s]:o;ne(h,function(g){p[g]=((s?n[s]:n)||{})[g]}),l.whenWithKeys(r*u.percent,d,h,u.easing)}}}),l&&l.delay(e.delay||0).duration(r).start(e.easing)}})}}}var t6="emphasis",w5="normal",FR="blur",OR="select",K5=[w5,t6,FR,OR],tT={normal:["itemStyle"],emphasis:[t6,"itemStyle"],blur:[FR,"itemStyle"],select:[OR,"itemStyle"]},nT={normal:["label"],emphasis:[t6,"label"],blur:[FR,"label"],select:[OR,"label"]},Sbe=["x","y"],bbe="e\0\0",sa={normal:{},emphasis:{},blur:{},select:{}},xbe={cartesian2d:nbe,geo:rbe,single:obe,polar:lbe,calendar:ube};function bM(n){return n instanceof C3}function xM(n){return n instanceof Ba}function wbe(n,e){e.copyTransform(n),xM(e)&&xM(n)&&(e.setStyle(n.style),e.z=n.z,e.z2=n.z2,e.zlevel=n.zlevel,e.invisible=n.invisible,e.ignore=n.ignore,bM(e)&&bM(n)&&e.setShape(n.shape))}var Tbe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){this._progressiveEls=null;var o=this._data,s=t.getData(),l=this.group,u=gU(t,s,i,r);o||l.removeAll(),s.diff(o).add(function(d){iT(r,null,d,u(d,a),t,l,s)}).remove(function(d){var h=o.getItemGraphicEl(d);h&&nS(h,e6(h).option,t)}).update(function(d,h){var f=o.getItemGraphicEl(h);iT(r,f,d,u(d,a),t,l,s)}).execute();var c=t.get("clip",!0)?lf(t.coordinateSystem,!1,t):null;c?l.setClipPath(c):l.removeClipPath(),this._data=s},e.prototype.incrementalPrepareRender=function(t,i,r){this.group.removeAll(),this._data=null},e.prototype.incrementalRender=function(t,i,r,a,o){var s=i.getData(),l=gU(i,s,r,a),u=this._progressiveEls=[];function c(f){f.isGroup||(f.incremental=!0,f.ensureState("emphasis").hoverLayer=!0)}for(var d=t.start;d<t.end;d++){var h=iT(null,null,d,l(d,o),i,this.group,s);h&&(h.traverse(c),u.push(h))}},e.prototype.eachRendered=function(t){i9(this._progressiveEls||this.group,t)},e.prototype.filterForExposedEvent=function(t,i,r,a){var o=i.element;if(o==null||r.name===o)return!0;for(;(r=r.__hostTarget||r.parent)&&r!==this.group;)if(r.name===o)return!0;return!1},e.type="custom",e}(K1);const Abe=Tbe;function BR(n){var e=n.type,t;if(e==="path"){var i=n.shape,r=i.width!=null&&i.height!=null?{x:i.x||0,y:i.y||0,width:i.width,height:i.height}:null,a=RQ(i);t=L_(a,null,r,i.layout||"center"),e6(t).customPathData=a}else if(e==="image")t=new ti({}),e6(t).customImagePath=n.style.image;else if(e==="text")t=new Y3({});else if(e==="group")t=new qt;else{if(e==="compoundPath")throw new Error('"compoundPath" is not supported yet.');var o=AP(e);if(!o){var s="";l1(s)}t=new o}return e6(t).customGraphicType=e,t.name=n.name,t.z2EmphasisLift=1,t.z2SelectLift=1,t}function zR(n,e,t,i,r,a,o){MQ(e);var s=r&&r.normal.cfg;s&&e.setTextConfig(s),i&&i.transition==null&&(i.transition=Sbe);var l=i&&i.style;if(l){if(e.type==="text"){var u=l;xt(u,"textFill")&&(u.fill=u.textFill),xt(u,"textStroke")&&(u.stroke=u.textStroke)}var c=void 0,d=bM(e)?l.decal:null;n&&d&&(d.dirty=!0,c=k7(d,n)),l.__decalPattern=c}if(xM(e)&&l){var c=l.__decalPattern;c&&(l.decal=c)}rv(e,i,a,{dataIndex:t,isInit:o,clearStyle:!0}),vy(e,i.keyframeAnimation,a)}function EQ(n,e,t,i,r){var a=e.isGroup?null:e,o=r&&r[n].cfg;if(a){var s=a.ensureState(n);if(i===!1){var l=a.getState(n);l&&(l.style=null)}else s.style=i||null;o&&(s.textConfig=o),al(a)}}function Cbe(n,e,t){if(!n.isGroup){var i=n,r=t.currentZ,a=t.currentZLevel;i.z=r,i.zlevel=a;var o=e.z2;o!=null&&(i.z2=o||0);for(var s=0;s<K5.length;s++)Mbe(i,e,K5[s])}}function Mbe(n,e,t){var i=t===w5,r=i?e:yy(e,t),a=r?r.z2:null,o;a!=null&&(o=i?n:n.ensureState(t),o.z2=a||0)}function gU(n,e,t,i){var r=n.get("renderItem"),a=n.coordinateSystem,o={};a&&(o=a.prepareCustoms?a.prepareCustoms(a):xbe[a.type](a));for(var s=Vt({getWidth:i.getWidth,getHeight:i.getHeight,getZr:i.getZr,getDevicePixelRatio:i.getDevicePixelRatio,value:x,style:C,ordinalRawValue:A,styleEmphasis:M,visual:E,barLayout:L,currentSeriesIndices:V,font:Y},o.api||{}),l={context:{},seriesId:n.id,seriesName:n.name,seriesIndex:n.seriesIndex,coordSys:o.coordSys,dataInsideLength:e.count(),encode:Ebe(n.getData())},u,c,d={},h={},f={},p={},g=0;g<K5.length;g++){var m=K5[g];f[m]=n.getModel(tT[m]),p[m]=n.getModel(nT[m])}function v(G){return G===u?c||(c=e.getItemModel(G)):e.getItemModel(G)}function _(G,W){return e.hasItemOption?G===u?d[W]||(d[W]=v(G).getModel(tT[W])):v(G).getModel(tT[W]):f[W]}function S(G,W){return e.hasItemOption?G===u?h[W]||(h[W]=v(G).getModel(nT[W])):v(G).getModel(nT[W]):p[W]}return function(G,W){return u=G,c=null,d={},h={},r&&r(Vt({dataIndexInside:G,dataIndex:e.getRawIndex(G),actionType:W?W.type:null},l),s)};function x(G,W){return W==null&&(W=u),e.getStore().get(e.getDimensionIndex(G||0),W)}function A(G,W){W==null&&(W=u),G=G||0;var q=e.getDimensionInfo(G);if(!q){var ce=e.getDimensionIndex(G);return ce>=0?e.getStore().get(ce,W):void 0}var J=e.get(q.name,W),H=q&&q.ordinalMeta;return H?H.categories[J]:J}function C(G,W){W==null&&(W=u);var q=e.getItemVisual(W,"style"),ce=q&&q.fill,J=q&&q.opacity,H=_(W,w5).getItemStyle();ce!=null&&(H.fill=ce),J!=null&&(H.opacity=J);var re={inheritColor:_t(ce)?ce:"#000"},ee=S(W,w5),se=q1(ee,null,re,!1,!0);se.text=ee.getShallow("show")?e3(n.getFormattedLabel(W,w5),O7(e,W)):null;var Be=Yv(ee,re,!1);return D(G,H),H=dU(H,se,Be),G&&I(H,G),H.legacy=!0,H}function M(G,W){W==null&&(W=u);var q=_(W,t6).getItemStyle(),ce=S(W,t6),J=q1(ce,null,null,!0,!0);J.text=ce.getShallow("show")?es(n.getFormattedLabel(W,t6),n.getFormattedLabel(W,w5),O7(e,W)):null;var H=Yv(ce,null,!0);return D(G,q),q=dU(q,J,H),G&&I(q,G),q.legacy=!0,q}function I(G,W){for(var q in W)xt(W,q)&&(G[q]=W[q])}function D(G,W){G&&(G.textFill&&(W.textFill=G.textFill),G.textPosition&&(W.textPosition=G.textPosition))}function E(G,W){if(W==null&&(W=u),xt(uU,G)){var q=e.getItemVisual(W,"style");return q?q[uU[G]]:null}if(xt(JSe,G))return e.getItemVisual(W,G)}function L(G){if(a.type==="cartesian2d"){var W=a.getBaseAxis();return Ece(Vt({axis:W},G))}}function V(){return t.getCurrentSeriesIndices()}function Y(G){return CP(G,t)}}function Ebe(n){var e={};return ne(n.dimensions,function(t){var i=n.getDimensionInfo(t);if(!i.isExtraCoord){var r=i.coordDim,a=e[r]=e[r]||[];a[i.coordDimIndex]=n.getDimensionIndex(t)}}),e}function iT(n,e,t,i,r,a,o){if(!i){a.remove(e);return}var s=UR(n,e,t,i,r,a);return s&&o.setItemGraphicEl(t,s),s&&b0(s,i.focus,i.blurScope,i.emphasisDisabled),s}function UR(n,e,t,i,r,a){var o=-1,s=e;e&&PQ(e,i,r)&&(o=_3(a.childrenRef(),e),e=null);var l=!e,u=e;u?u.clearStates():(u=BR(i),s&&wbe(s,u)),i.morph===!1?u.disableMorphing=!0:u.disableMorphing&&(u.disableMorphing=!1),sa.normal.cfg=sa.normal.conOpt=sa.emphasis.cfg=sa.emphasis.conOpt=sa.blur.cfg=sa.blur.conOpt=sa.select.cfg=sa.select.conOpt=null,sa.isLegacy=!1,Rbe(u,t,i,r,l,sa),Pbe(u,t,i,r,l),zR(n,u,t,i,sa,r,l),xt(i,"info")&&(e6(u).info=i.info);for(var c=0;c<K5.length;c++){var d=K5[c];if(d!==w5){var h=yy(i,d),f=GR(i,h,d);EQ(d,u,h,f,sa)}}return Cbe(u,i,r),i.type==="group"&&Lbe(n,u,t,i,r),o>=0?a.replaceAt(u,o):a.add(u),u}function PQ(n,e,t){var i=e6(n),r=e.type,a=e.shape,o=e.style;return t.isUniversalTransitionEnabled()||r!=null&&r!==i.customGraphicType||r==="path"&&kbe(a)&&RQ(a)!==i.customPathData||r==="image"&&xt(o,"image")&&o.image!==i.customImagePath}function Pbe(n,e,t,i,r){var a=t.clipPath;if(a===!1)n&&n.getClipPath()&&n.removeClipPath();else if(a){var o=n.getClipPath();o&&PQ(o,a,i)&&(o=null),o||(o=BR(a),n.setClipPath(o)),zR(null,o,e,a,null,i,r)}}function Rbe(n,e,t,i,r,a){if(!n.isGroup){vU(t,null,a),vU(t,t6,a);var o=a.normal.conOpt,s=a.emphasis.conOpt,l=a.blur.conOpt,u=a.select.conOpt;if(o!=null||s!=null||u!=null||l!=null){var c=n.getTextContent();if(o===!1)c&&n.removeTextContent();else{o=a.normal.conOpt=o||{type:"text"},c?c.clearStates():(c=BR(o),n.setTextContent(c)),zR(null,c,e,o,null,i,r);for(var d=o&&o.style,h=0;h<K5.length;h++){var f=K5[h];if(f!==w5){var p=a[f].conOpt;EQ(f,c,p,GR(o,p,f),null)}}d?c.dirty():c.markRedraw()}}}}function vU(n,e,t){var i=e?yy(n,e):n,r=e?GR(n,i,t6):n.style,a=n.type,o=i?i.textConfig:null,s=n.textContent,l=s?e?yy(s,e):s:null;if(r&&(t.isLegacy||xQ(r,a,!!o,!!l))){t.isLegacy=!0;var u=wQ(r,a,!e);!o&&u.textConfig&&(o=u.textConfig),!l&&u.textContent&&(l=u.textContent)}if(!e&&l){var c=l;!c.type&&(c.type="text")}var d=e?t[e]:t.normal;d.cfg=o,d.conOpt=l}function yy(n,e){return e?n?n[e]:null:n}function GR(n,e,t){var i=e&&e.style;return i==null&&t===t6&&n&&(i=n.styleEmphasis),i}function Lbe(n,e,t,i,r){var a=i.children,o=a?a.length:0,s=i.$mergeChildren,l=s==="byName"||i.diffChildrenByName,u=s===!1;if(!(!o&&!l&&!u)){if(l){Dbe({api:n,oldChildren:e.children()||[],newChildren:a||[],dataIndex:t,seriesModel:r,group:e});return}u&&e.removeAll();for(var c=0;c<o;c++){var d=a[c],h=e.childAt(c);d?(d.ignore==null&&(d.ignore=!1),UR(n,h,t,d,r,e)):h.ignore=!0}for(var f=e.childCount()-1;f>=c;f--){var p=e.childAt(f);Ibe(e,p,r)}}}function Ibe(n,e,t){e&&nS(e,e6(n).option,t)}function Dbe(n){new l6(n.oldChildren,n.newChildren,yU,yU,n).add(_U).update(_U).remove(Nbe).execute()}function yU(n,e){var t=n&&n.name;return t!=null?t:bbe+e}function _U(n,e){var t=this.context,i=n!=null?t.newChildren[n]:null,r=e!=null?t.oldChildren[e]:null;UR(t.api,r,t.dataIndex,i,t.seriesModel,t.group)}function Nbe(n){var e=this.context,t=e.oldChildren[n];t&&nS(t,e6(t).option,e.seriesModel)}function RQ(n){return n&&(n.pathData||n.d)}function kbe(n){return n&&(xt(n,"pathData")||xt(n,"d"))}function Fbe(n){n.registerChartView(Abe),n.registerSeriesModel(ebe)}var y8=B3(),SU=$t,rT=St,Obe=function(){function n(){this._dragging=!1,this.animationThreshold=15}return n.prototype.render=function(e,t,i,r){var a=t.get("value"),o=t.get("status");if(this._axisModel=e,this._axisPointerModel=t,this._api=i,!(!r&&this._lastValue===a&&this._lastStatus===o)){this._lastValue=a,this._lastStatus=o;var s=this._group,l=this._handle;if(!o||o==="hide"){s&&s.hide(),l&&l.hide();return}s&&s.show(),l&&l.show();var u={};this.makeElOption(u,a,e,t,i);var c=u.graphicKey;c!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=c;var d=this._moveAnimation=this.determineAnimation(e,t);if(!s)s=this._group=new qt,this.createPointerEl(s,u,e,t),this.createLabelEl(s,u,e,t),i.getZr().add(s);else{var h=r3(bU,t,d);this.updatePointerEl(s,u,h),this.updateLabelEl(s,u,h,t)}wU(s,t,!0),this._renderHandle(a)}},n.prototype.remove=function(e){this.clear(e)},n.prototype.dispose=function(e){this.clear(e)},n.prototype.determineAnimation=function(e,t){var i=t.get("animation"),r=e.axis,a=r.type==="category",o=t.get("snap");if(!o&&!a)return!1;if(i==="auto"||i==null){var s=this.animationThreshold;if(a&&r.getBandWidth()>s)return!0;if(o){var l=uR(e).seriesDataCount,u=r.getExtent();return Math.abs(u[0]-u[1])/l>s}return!1}return i===!0},n.prototype.makeElOption=function(e,t,i,r,a){},n.prototype.createPointerEl=function(e,t,i,r){var a=t.pointer;if(a){var o=y8(e).pointerEl=new bl[a.type](SU(t.pointer));e.add(o)}},n.prototype.createLabelEl=function(e,t,i,r){if(t.label){var a=y8(e).labelEl=new Y3(SU(t.label));e.add(a),xU(a,r)}},n.prototype.updatePointerEl=function(e,t,i){var r=y8(e).pointerEl;r&&t.pointer&&(r.setStyle(t.pointer.style),i(r,{shape:t.pointer.shape}))},n.prototype.updateLabelEl=function(e,t,i,r){var a=y8(e).labelEl;a&&(a.setStyle(t.label.style),i(a,{x:t.label.x,y:t.label.y}),xU(a,r))},n.prototype._renderHandle=function(e){if(!(this._dragging||!this.updateHandleTransform)){var t=this._axisPointerModel,i=this._api.getZr(),r=this._handle,a=t.getModel("handle"),o=t.get("status");if(!a.get("show")||!o||o==="hide"){r&&i.remove(r),this._handle=null;return}var s;this._handle||(s=!0,r=this._handle=ef(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(u){r6(u.event)},onmousedown:rT(this._onHandleDragMove,this,0,0),drift:rT(this._onHandleDragMove,this),ondragend:rT(this._onHandleDragEnd,this)}),i.add(r)),wU(r,t,!1),r.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var l=a.get("size");H2(l)||(l=[l,l]),r.scaleX=l[0]/2,r.scaleY=l[1]/2,yu(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(e,s)}},n.prototype._moveHandleToValue=function(e,t){bU(this._axisPointerModel,!t&&this._moveAnimation,this._handle,aT(this.getHandleTransform(e,this._axisModel,this._axisPointerModel)))},n.prototype._onHandleDragMove=function(e,t){var i=this._handle;if(i){this._dragging=!0;var r=this.updateHandleTransform(aT(i),[e,t],this._axisModel,this._axisPointerModel);this._payloadInfo=r,i.stopAnimation(),i.attr(aT(r)),y8(i).lastProp=null,this._doDispatchAxisPointer()}},n.prototype._doDispatchAxisPointer=function(){var e=this._handle;if(e){var t=this._payloadInfo,i=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:i.axis.dim,axisIndex:i.componentIndex}]})}},n.prototype._onHandleDragEnd=function(){this._dragging=!1;var e=this._handle;if(e){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},n.prototype.clear=function(e){this._lastValue=null,this._lastStatus=null;var t=e.getZr(),i=this._group,r=this._handle;t&&i&&(this._lastGraphicKey=null,i&&t.remove(i),r&&t.remove(r),this._group=null,this._handle=null,this._payloadInfo=null),dh(this,"_doDispatchAxisPointer")},n.prototype.doClear=function(){},n.prototype.buildLabel=function(e,t,i){return i=i||0,{x:e[i],y:e[1-i],width:t[i],height:t[1-i]}},n}();function bU(n,e,t,i){LQ(y8(t).lastProp,i)||(y8(t).lastProp=i,e?Q3(t,i,n):(t.stopAnimation(),t.attr(i)))}function LQ(n,e){if(jt(n)&&jt(e)){var t=!0;return ne(e,function(i,r){t=t&&LQ(n[r],i)}),!!t}else return n===e}function xU(n,e){n[e.get(["label","show"])?"show":"hide"]()}function aT(n){return{x:n.x||0,y:n.y||0,rotation:n.rotation||0}}function wU(n,e,t){var i=e.get("z"),r=e.get("zlevel");n&&n.traverse(function(a){a.type!=="group"&&(i!=null&&(a.z=i),r!=null&&(a.zlevel=r),a.silent=t)})}const VR=Obe;function HR(n){var e=n.get("type"),t=n.getModel(e+"Style"),i;return e==="line"?(i=t.getLineStyle(),i.fill=null):e==="shadow"&&(i=t.getAreaStyle(),i.stroke=null),i}function IQ(n,e,t,i,r){var a=t.get("value"),o=DQ(a,e.axis,e.ecModel,t.get("seriesDataIndices"),{precision:t.get(["label","precision"]),formatter:t.get(["label","formatter"])}),s=t.getModel("label"),l=fu(s.get("padding")||0),u=s.getFont(),c=Kh(o,u),d=r.position,h=c.width+l[1]+l[3],f=c.height+l[0]+l[2],p=r.align;p==="right"&&(d[0]-=h),p==="center"&&(d[0]-=h/2);var g=r.verticalAlign;g==="bottom"&&(d[1]-=f),g==="middle"&&(d[1]-=f/2),Bbe(d,h,f,i);var m=s.get("backgroundColor");(!m||m==="auto")&&(m=e.get(["axisLine","lineStyle","color"])),n.label={x:d[0],y:d[1],style:q1(s,{text:o,font:u,fill:s.getTextColor(),padding:l,backgroundColor:m}),z2:10}}function Bbe(n,e,t,i){var r=i.getWidth(),a=i.getHeight();n[0]=Math.min(n[0]+e,r)-e,n[1]=Math.min(n[1]+t,a)-t,n[0]=Math.max(n[0],0),n[1]=Math.max(n[1],0)}function DQ(n,e,t,i,r){n=e.scale.parse(n);var a=e.scale.getLabel({value:n},{precision:r.precision}),o=r.formatter;if(o){var s={value:QP(e,{value:n}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};ne(i,function(l){var u=t.getSeriesByIndex(l.seriesIndex),c=l.dataIndexInside,d=u&&u.getDataParams(c);d&&s.seriesData.push(d)}),_t(o)?a=o.replace("{value}",a):Gt(o)&&(a=o(s))}return a}function WR(n,e,t){var i=Gr();return _l(i,i,t.rotation),ls(i,i,t.position),fo([n.dataToCoord(e),(t.labelOffset||0)+(t.labelDirection||1)*(t.labelMargin||0)],i)}function NQ(n,e,t,i,r,a){var o=u6.innerTextLayout(t.rotation,0,t.labelDirection);t.labelMargin=r.get(["label","margin"]),IQ(e,i,r,a,{position:WR(i.axis,n,t),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function jR(n,e,t){return t=t||0,{x1:n[t],y1:n[1-t],x2:e[t],y2:e[1-t]}}function kQ(n,e,t){return t=t||0,{x:n[t],y:n[1-t],width:e[t],height:e[1-t]}}function TU(n,e,t,i,r,a){return{cx:n,cy:e,r0:t,r:i,startAngle:r,endAngle:a,clockwise:!0}}var zbe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,i,r,a,o){var s=r.axis,l=s.grid,u=a.get("type"),c=AU(l,s).getOtherAxis(s).getGlobalExtent(),d=s.toGlobalCoord(s.dataToCoord(i,!0));if(u&&u!=="none"){var h=HR(a),f=Ube[u](s,d,c);f.style=h,t.graphicKey=f.type,t.pointer=f}var p=rM(l.model,r);NQ(i,t,p,r,a,o)},e.prototype.getHandleTransform=function(t,i,r){var a=rM(i.axis.grid.model,i,{labelInside:!1});a.labelMargin=r.get(["handle","margin"]);var o=WR(i.axis,t,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,i,r,a){var o=r.axis,s=o.grid,l=o.getGlobalExtent(!0),u=AU(s,o).getOtherAxis(o).getGlobalExtent(),c=o.dim==="x"?0:1,d=[t.x,t.y];d[c]+=i[c],d[c]=Math.min(l[1],d[c]),d[c]=Math.max(l[0],d[c]);var h=(u[1]+u[0])/2,f=[h,h];f[c]=d[c];var p=[{verticalAlign:"middle"},{align:"center"}];return{x:d[0],y:d[1],rotation:t.rotation,cursorPoint:f,tooltipOption:p[c]}},e}(VR);function AU(n,e){var t={};return t[e.dim+"AxisIndex"]=e.index,n.getCartesian(t)}var Ube={line:function(n,e,t){var i=jR([e,t[0]],[e,t[1]],CU(n));return{type:"Line",subPixelOptimize:!0,shape:i}},shadow:function(n,e,t){var i=Math.max(1,n.getBandWidth()),r=t[1]-t[0];return{type:"Rect",shape:kQ([e-i/2,t[0]],[i,r],CU(n))}}};function CU(n){return n.dim==="x"?0:1}const Gbe=zbe;var Vbe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(j3);const Hbe=Vbe;var qs=B3(),Wbe=ne;function FQ(n,e,t){if(!$3.node){var i=e.getZr();qs(i).records||(qs(i).records={}),jbe(i,e);var r=qs(i).records[n]||(qs(i).records[n]={});r.handler=t}}function jbe(n,e){if(qs(n).initialized)return;qs(n).initialized=!0,t("click",r3(MU,"click")),t("mousemove",r3(MU,"mousemove")),t("globalout",Ybe);function t(i,r){n.on(i,function(a){var o=qbe(e);Wbe(qs(n).records,function(s){s&&r(s,a,o.dispatchAction)}),$be(o.pendings,e)})}}function $be(n,e){var t=n.showTip.length,i=n.hideTip.length,r;t?r=n.showTip[t-1]:i&&(r=n.hideTip[i-1]),r&&(r.dispatchAction=null,e.dispatchAction(r))}function Ybe(n,e,t){n.handler("leave",null,t)}function MU(n,e,t,i){e.handler(n,t,i)}function qbe(n){var e={showTip:[],hideTip:[]},t=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=t,n.dispatchAction(i))};return{dispatchAction:t,pendings:e}}function wM(n,e){if(!$3.node){var t=e.getZr(),i=(qs(t).records||{})[n];i&&(qs(t).records[n]=null)}}var Xbe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=i.getComponent("tooltip"),o=t.get("triggerOn")||a&&a.get("triggerOn")||"mousemove|click";FQ("axisPointer",r,function(s,l,u){o!=="none"&&(s==="leave"||o.indexOf(s)>=0)&&u({type:"updateAxisPointer",currTrigger:s,x:l&&l.offsetX,y:l&&l.offsetY})})},e.prototype.remove=function(t,i){wM("axisPointer",i)},e.prototype.dispose=function(t,i){wM("axisPointer",i)},e.type="axisPointer",e}(T0);const Kbe=Xbe;function OQ(n,e){var t=[],i=n.seriesIndex,r;if(i==null||!(r=e.getSeriesByIndex(i)))return{point:[]};var a=r.getData(),o=il(a,n);if(o==null||o<0||H2(o))return{point:[]};var s=a.getItemGraphicEl(o),l=r.coordinateSystem;if(r.getTooltipPosition)t=r.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)if(n.isStacked){var u=l.getBaseAxis(),c=l.getOtherAxis(u),d=c.dim,h=u.dim,f=d==="x"||d==="radius"?1:0,p=a.mapDimension(h),g=[];g[f]=a.get(p,o),g[1-f]=a.get(a.getCalculationInfo("stackResultDimension"),o),t=l.dataToPoint(g)||[]}else t=l.dataToPoint(a.getValues(j2(l.dimensions,function(v){return a.mapDimension(v)}),o))||[];else if(s){var m=s.getBoundingRect().clone();m.applyTransform(s.transform),t=[m.x+m.width/2,m.y+m.height/2]}return{point:t,el:s}}var EU=B3();function Zbe(n,e,t){var i=n.currTrigger,r=[n.x,n.y],a=n,o=n.dispatchAction||St(t.dispatchAction,t),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){av(r)&&(r=OQ({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=av(r),u=a.axesInfo,c=s.axesInfo,d=i==="leave"||av(r),h={},f={},p={list:[],map:{}},g={showPointer:r3(Qbe,f),showTooltip:r3(exe,p)};ne(s.coordSysMap,function(v,_){var S=l||v.containPoint(r);ne(s.coordSysAxesInfo[_],function(x,A){var C=x.axis,M=rxe(u,x);if(!d&&S&&(!u||M)){var I=M&&M.value;I==null&&!l&&(I=C.pointToData(r)),I!=null&&PU(x,I,g,!1,h)}})});var m={};return ne(c,function(v,_){var S=v.linkGroup;S&&!f[_]&&ne(S.axesInfo,function(x,A){var C=f[A];if(x!==v&&C){var M=C.value;S.mapper&&(M=v.axis.scale.parse(S.mapper(M,RU(x),RU(v)))),m[v.key]=M}})}),ne(m,function(v,_){PU(c[_],v,g,!0,h)}),txe(f,c,h),nxe(p,r,n,o),ixe(c,o,t),h}}function PU(n,e,t,i,r){var a=n.axis;if(!(a.scale.isBlank()||!a.containData(e))){if(!n.involveSeries){t.showPointer(n,e);return}var o=Jbe(e,n),s=o.payloadBatch,l=o.snapToValue;s[0]&&r.seriesIndex==null&&L2(r,s[0]),!i&&n.snap&&a.containData(l)&&l!=null&&(e=l),t.showPointer(n,e,s),t.showTooltip(n,o,l)}}function Jbe(n,e){var t=e.axis,i=t.dim,r=n,a=[],o=Number.MAX_VALUE,s=-1;return ne(e.seriesModels,function(l,u){var c=l.getData().mapDimensionsAll(i),d,h;if(l.getAxisTooltipData){var f=l.getAxisTooltipData(c,n,t);h=f.dataIndices,d=f.nestestValue}else{if(h=l.getData().indicesOfNearest(c[0],n,t.type==="category"?.5:null),!h.length)return;d=l.getData().get(c[0],h[0])}if(!(d==null||!isFinite(d))){var p=n-d,g=Math.abs(p);g<=o&&((g<o||p>=0&&s<0)&&(o=g,s=p,r=d,a.length=0),ne(h,function(m){a.push({seriesIndex:l.seriesIndex,dataIndexInside:m,dataIndex:l.getData().getRawIndex(m)})}))}}),{payloadBatch:a,snapToValue:r}}function Qbe(n,e,t,i){n[e.key]={value:t,payloadBatch:i}}function exe(n,e,t,i){var r=t.payloadBatch,a=e.axis,o=a.model,s=e.axisPointerModel;if(!(!e.triggerTooltip||!r.length)){var l=e.coordSys.model,u=vh(l),c=n.map[u];c||(c=n.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},n.list.push(c)),c.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:r.slice()})}}function txe(n,e,t){var i=t.axesInfo=[];ne(e,function(r,a){var o=r.axisPointerModel.option,s=n[a];s?(!r.useHandle&&(o.status="show"),o.value=s.value,o.seriesDataIndices=(s.payloadBatch||[]).slice()):!r.useHandle&&(o.status="hide"),o.status==="show"&&i.push({axisDim:r.axis.dim,axisIndex:r.axis.model.componentIndex,value:o.value})})}function nxe(n,e,t,i){if(av(e)||!n.list.length){i({type:"hideTip"});return}var r=((n.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:t.tooltipOption,position:t.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:n.list})}function ixe(n,e,t){var i=t.getZr(),r="axisPointerLastHighlights",a=EU(i)[r]||{},o=EU(i)[r]={};ne(n,function(u,c){var d=u.axisPointerModel.option;d.status==="show"&&u.triggerEmphasis&&ne(d.seriesDataIndices,function(h){var f=h.seriesIndex+" | "+h.dataIndex;o[f]=h})});var s=[],l=[];ne(a,function(u,c){!o[c]&&l.push(u)}),ne(o,function(u,c){!a[c]&&s.push(u)}),l.length&&t.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&t.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}function rxe(n,e){for(var t=0;t<(n||[]).length;t++){var i=n[t];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}function RU(n){var e=n.axis.model,t={},i=t.axisDim=n.axis.dim;return t.axisIndex=t[i+"AxisIndex"]=e.componentIndex,t.axisName=t[i+"AxisName"]=e.name,t.axisId=t[i+"AxisId"]=e.id,t}function av(n){return!n||n[0]==null||isNaN(n[0])||n[1]==null||isNaN(n[1])}function pf(n){Cl.registerAxisPointerClass("CartesianAxisPointer",Gbe),n.registerComponentModel(Hbe),n.registerComponentView(Kbe),n.registerPreprocessor(function(e){if(e){(!e.axisPointer||e.axisPointer.length===0)&&(e.axisPointer={});var t=e.axisPointer.link;t&&!H2(t)&&(e.axisPointer.link=[t])}}),n.registerProcessor(n.PRIORITY.PROCESSOR.STATISTIC,function(e,t){e.getComponent("axisPointer").coordSysAxesInfo=jfe(e,t)}),n.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},Zbe)}function axe(n){T3(uJ),T3(pf)}var oxe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,i,r,a,o){var s=r.axis;s.dim==="angle"&&(this.animationThreshold=Math.PI/18);var l=s.polar,u=l.getOtherAxis(s),c=u.getExtent(),d=s.dataToCoord(i),h=a.get("type");if(h&&h!=="none"){var f=HR(a),p=lxe[h](s,l,d,c);p.style=f,t.graphicKey=p.type,t.pointer=p}var g=a.get(["label","margin"]),m=sxe(i,r,a,l,g);IQ(t,r,a,o,m)},e}(VR);function sxe(n,e,t,i,r){var a=e.axis,o=a.dataToCoord(n),s=i.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l=i.getRadiusAxis().getExtent(),u,c,d;if(a.dim==="radius"){var h=Gr();_l(h,h,s),ls(h,h,[i.cx,i.cy]),u=fo([o,-r],h);var f=e.getModel("axisLabel").get("rotate")||0,p=u6.innerTextLayout(s,f*Math.PI/180,-1);c=p.textAlign,d=p.textVerticalAlign}else{var g=l[1];u=i.coordToPoint([g+r,o]);var m=i.cx,v=i.cy;c=Math.abs(u[0]-m)/g<.3?"center":u[0]>m?"left":"right",d=Math.abs(u[1]-v)/g<.3?"middle":u[1]>v?"top":"bottom"}return{position:u,align:c,verticalAlign:d}}var lxe={line:function(n,e,t,i){return n.dim==="angle"?{type:"Line",shape:jR(e.coordToPoint([i[0],t]),e.coordToPoint([i[1],t]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:t}}},shadow:function(n,e,t,i){var r=Math.max(1,n.getBandWidth()),a=Math.PI/180;return n.dim==="angle"?{type:"Sector",shape:TU(e.cx,e.cy,i[0],i[1],(-t-r/2)*a,(-t+r/2)*a)}:{type:"Sector",shape:TU(e.cx,e.cy,t-r/2,t+r/2,0,Math.PI*2)}}};const uxe=oxe;var cxe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.findAxisModel=function(t){var i,r=this.ecModel;return r.eachComponent(t,function(a){a.getCoordSysModel()===this&&(i=a)},this),i},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}(j3);const dxe=cxe;var $R=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Z0).models[0]},e.type="polarAxis",e}(j3);en($R,af);var hxe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="angleAxis",e}($R),fxe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="radiusAxis",e}($R),YR=function(n){g2(e,n);function e(t,i){return n.call(this,"radius",t,i)||this}return e.prototype.pointToData=function(t,i){return this.polar.pointToData(t,i)[this.dim==="radius"?0:1]},e}(So);YR.prototype.dataToRadius=So.prototype.dataToCoord;YR.prototype.radiusToData=So.prototype.coordToData;const pxe=YR;var mxe=B3(),qR=function(n){g2(e,n);function e(t,i){return n.call(this,"angle",t,i||[0,360])||this}return e.prototype.pointToData=function(t,i){return this.polar.pointToData(t,i)[this.dim==="radius"?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,i=t.getLabelModel(),r=t.scale,a=r.getExtent(),o=r.count();if(a[1]-a[0]<1)return 0;var s=a[0],l=t.dataToCoord(s+1)-t.dataToCoord(s),u=Math.abs(l),c=Kh(s==null?"":s+"",i.getFont(),"center","top"),d=Math.max(c.height,7),h=d/u;isNaN(h)&&(h=1/0);var f=Math.max(0,Math.floor(h)),p=mxe(t.model),g=p.lastAutoInterval,m=p.lastTickCount;return g!=null&&m!=null&&Math.abs(g-f)<=1&&Math.abs(m-o)<=1&&g>f?f=g:(p.lastTickCount=o,p.lastAutoInterval=f),f},e}(So);qR.prototype.dataToAngle=So.prototype.dataToCoord;qR.prototype.angleToData=So.prototype.coordToData;const gxe=qR;var BQ=["radius","angle"],vxe=function(){function n(e){this.dimensions=BQ,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new pxe,this._angleAxis=new gxe,this.axisPointerEnabled=!0,this.name=e||"",this._radiusAxis.polar=this._angleAxis.polar=this}return n.prototype.containPoint=function(e){var t=this.pointToCoord(e);return this._radiusAxis.contain(t[0])&&this._angleAxis.contain(t[1])},n.prototype.containData=function(e){return this._radiusAxis.containData(e[0])&&this._angleAxis.containData(e[1])},n.prototype.getAxis=function(e){var t="_"+e+"Axis";return this[t]},n.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},n.prototype.getAxesByScale=function(e){var t=[],i=this._angleAxis,r=this._radiusAxis;return i.scale.type===e&&t.push(i),r.scale.type===e&&t.push(r),t},n.prototype.getAngleAxis=function(){return this._angleAxis},n.prototype.getRadiusAxis=function(){return this._radiusAxis},n.prototype.getOtherAxis=function(e){var t=this._angleAxis;return e===t?this._radiusAxis:t},n.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},n.prototype.getTooltipAxes=function(e){var t=e!=null&&e!=="auto"?this.getAxis(e):this.getBaseAxis();return{baseAxes:[t],otherAxes:[this.getOtherAxis(t)]}},n.prototype.dataToPoint=function(e,t){return this.coordToPoint([this._radiusAxis.dataToRadius(e[0],t),this._angleAxis.dataToAngle(e[1],t)])},n.prototype.pointToData=function(e,t){var i=this.pointToCoord(e);return[this._radiusAxis.radiusToData(i[0],t),this._angleAxis.angleToData(i[1],t)]},n.prototype.pointToCoord=function(e){var t=e[0]-this.cx,i=e[1]-this.cy,r=this.getAngleAxis(),a=r.getExtent(),o=Math.min(a[0],a[1]),s=Math.max(a[0],a[1]);r.inverse?o=s-360:s=o+360;var l=Math.sqrt(t*t+i*i);t/=l,i/=l;for(var u=Math.atan2(-i,t)/Math.PI*180,c=u<o?1:-1;u<o||u>s;)u+=c*360;return[l,u]},n.prototype.coordToPoint=function(e){var t=e[0],i=e[1]/180*Math.PI,r=Math.cos(i)*t+this.cx,a=-Math.sin(i)*t+this.cy;return[r,a]},n.prototype.getArea=function(){var e=this.getAngleAxis(),t=this.getRadiusAxis(),i=t.getExtent().slice();i[0]>i[1]&&i.reverse();var r=e.getExtent(),a=Math.PI/180,o=1e-4;return{cx:this.cx,cy:this.cy,r0:i[0],r:i[1],startAngle:-r[0]*a,endAngle:-r[1]*a,clockwise:e.inverse,contain:function(s,l){var u=s-this.cx,c=l-this.cy,d=u*u+c*c,h=this.r,f=this.r0;return h!==f&&d-o<=h*h&&d+o>=f*f}}},n.prototype.convertToPixel=function(e,t,i){var r=LU(t);return r===this?this.dataToPoint(i):null},n.prototype.convertFromPixel=function(e,t,i){var r=LU(t);return r===this?this.pointToData(i):null},n}();function LU(n){var e=n.seriesModel,t=n.polarModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}const yxe=vxe;function _xe(n,e,t){var i=e.get("center"),r=t.getWidth(),a=t.getHeight();n.cx=ft(i[0],r),n.cy=ft(i[1],a);var o=n.getRadiusAxis(),s=Math.min(r,a)/2,l=e.get("radius");l==null?l=[0,"100%"]:H2(l)||(l=[0,l]);var u=[ft(l[0],s),ft(l[1],s)];o.inverse?o.setExtent(u[1],u[0]):o.setExtent(u[0],u[1])}function Sxe(n,e){var t=this,i=t.getAngleAxis(),r=t.getRadiusAxis();if(i.scale.setExtent(1/0,-1/0),r.scale.setExtent(1/0,-1/0),n.eachSeries(function(s){if(s.coordinateSystem===t){var l=s.getData();ne(ry(l,"radius"),function(u){r.scale.unionExtentFromData(l,u)}),ne(ry(l,"angle"),function(u){i.scale.unionExtentFromData(l,u)})}}),F7(i.scale,i.model),F7(r.scale,r.model),i.type==="category"&&!i.onBand){var a=i.getExtent(),o=360/i.scale.count();i.inverse?a[1]+=o:a[1]-=o,i.setExtent(a[0],a[1])}}function bxe(n){return n.mainType==="angleAxis"}function IU(n,e){var t;if(n.type=e.get("type"),n.scale=X_(e),n.onBand=e.get("boundaryGap")&&n.type==="category",n.inverse=e.get("inverse"),bxe(e)){n.inverse=n.inverse!==e.get("clockwise");var i=e.get("startAngle"),r=(t=e.get("endAngle"))!==null&&t!==void 0?t:i+(n.inverse?-360:360);n.setExtent(i,r)}e.axis=n,n.model=e}var xxe={dimensions:BQ,create:function(n,e){var t=[];return n.eachComponent("polar",function(i,r){var a=new yxe(r+"");a.update=Sxe;var o=a.getRadiusAxis(),s=a.getAngleAxis(),l=i.findAxisModel("radiusAxis"),u=i.findAxisModel("angleAxis");IU(o,l),IU(s,u),_xe(a,i,e),t.push(a),i.coordinateSystem=a,a.model=i}),n.eachSeries(function(i){if(i.get("coordinateSystem")==="polar"){var r=i.getReferringComponents("polar",Z0).models[0];i.coordinateSystem=r.coordinateSystem}}),t}};const wxe=xxe;var Txe=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function Sm(n,e,t){e[1]>e[0]&&(e=e.slice().reverse());var i=n.coordToPoint([e[0],t]),r=n.coordToPoint([e[1],t]);return{x1:i[0],y1:i[1],x2:r[0],y2:r[1]}}function bm(n){var e=n.getRadiusAxis();return e.inverse?0:1}function DU(n){var e=n[0],t=n[n.length-1];e&&t&&Math.abs(Math.abs(e.coord-t.coord)-360)<1e-4&&n.pop()}var Axe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="PolarAxisPointer",t}return e.prototype.render=function(t,i){if(this.group.removeAll(),!!t.get("show")){var r=t.axis,a=r.polar,o=a.getRadiusAxis().getExtent(),s=r.getTicksCoords(),l=r.getMinorTicksCoords(),u=j2(r.getViewLabels(),function(c){c=$t(c);var d=r.scale,h=d.type==="ordinal"?d.getRawOrdinalNumber(c.tickValue):c.tickValue;return c.coord=r.dataToCoord(h),c});DU(u),DU(s),ne(Txe,function(c){t.get([c,"show"])&&(!r.scale.isBlank()||c==="axisLine")&&Cxe[c](this.group,t,a,s,l,o,u)},this)}},e.type="angleAxis",e}(Cl),Cxe={axisLine:function(n,e,t,i,r,a){var o=e.getModel(["axisLine","lineStyle"]),s=t.getAngleAxis(),l=Math.PI/180,u=s.getExtent(),c=bm(t),d=c?0:1,h,f=Math.abs(u[1]-u[0])===360?"Circle":"Arc";a[d]===0?h=new bl[f]({shape:{cx:t.cx,cy:t.cy,r:a[c],startAngle:-u[0]*l,endAngle:-u[1]*l,clockwise:s.inverse},style:o.getLineStyle(),z2:1,silent:!0}):h=new P_({shape:{cx:t.cx,cy:t.cy,r:a[c],r0:a[d]},style:o.getLineStyle(),z2:1,silent:!0}),h.style.fill=null,n.add(h)},axisTick:function(n,e,t,i,r,a){var o=e.getModel("axisTick"),s=(o.get("inside")?-1:1)*o.get("length"),l=a[bm(t)],u=j2(i,function(c){return new Fn({shape:Sm(t,[l,l+s],c.coord)})});n.add(Aa(u,{style:Vt(o.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(n,e,t,i,r,a){if(r.length){for(var o=e.getModel("axisTick"),s=e.getModel("minorTick"),l=(o.get("inside")?-1:1)*s.get("length"),u=a[bm(t)],c=[],d=0;d<r.length;d++)for(var h=0;h<r[d].length;h++)c.push(new Fn({shape:Sm(t,[u,u+l],r[d][h].coord)}));n.add(Aa(c,{style:Vt(s.getModel("lineStyle").getLineStyle(),Vt(o.getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])}))}))}},axisLabel:function(n,e,t,i,r,a,o){var s=e.getCategories(!0),l=e.getModel("axisLabel"),u=l.get("margin"),c=e.get("triggerEvent");ne(o,function(d,h){var f=l,p=d.tickValue,g=a[bm(t)],m=t.coordToPoint([g+u,d.coord]),v=t.cx,_=t.cy,S=Math.abs(m[0]-v)/g<.3?"center":m[0]>v?"left":"right",x=Math.abs(m[1]-_)/g<.3?"middle":m[1]>_?"top":"bottom";if(s&&s[p]){var A=s[p];jt(A)&&A.textStyle&&(f=new X1(A.textStyle,l,l.ecModel))}var C=new Y3({silent:u6.isLabelSilent(e),style:q1(f,{x:m[0],y:m[1],fill:f.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:d.formattedLabel,align:S,verticalAlign:x})});if(n.add(C),c){var M=u6.makeAxisEventDataBase(e);M.targetType="axisLabel",M.value=d.rawLabel,Xt(C).eventData=M}},this)},splitLine:function(n,e,t,i,r,a){var o=e.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var c=[],d=0;d<i.length;d++){var h=u++%l.length;c[h]=c[h]||[],c[h].push(new Fn({shape:Sm(t,a,i[d].coord)}))}for(var d=0;d<c.length;d++)n.add(Aa(c[d],{style:Vt({stroke:l[d%l.length]},s.getLineStyle()),silent:!0,z:e.get("z")}))},minorSplitLine:function(n,e,t,i,r,a){if(r.length){for(var o=e.getModel("minorSplitLine"),s=o.getModel("lineStyle"),l=[],u=0;u<r.length;u++)for(var c=0;c<r[u].length;c++)l.push(new Fn({shape:Sm(t,a,r[u][c].coord)}));n.add(Aa(l,{style:s.getLineStyle(),silent:!0,z:e.get("z")}))}},splitArea:function(n,e,t,i,r,a){if(i.length){var o=e.getModel("splitArea"),s=o.getModel("areaStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var c=[],d=Math.PI/180,h=-i[0].coord*d,f=Math.min(a[0],a[1]),p=Math.max(a[0],a[1]),g=e.get("clockwise"),m=1,v=i.length;m<=v;m++){var _=m===v?i[0].coord:i[m].coord,S=u++%l.length;c[S]=c[S]||[],c[S].push(new mr({shape:{cx:t.cx,cy:t.cy,r0:f,r:p,startAngle:h,endAngle:-_*d,clockwise:g},silent:!0})),h=-_*d}for(var m=0;m<c.length;m++)n.add(Aa(c[m],{style:Vt({fill:l[m%l.length]},s.getAreaStyle()),silent:!0}))}}};const Mxe=Axe;var Exe=["axisLine","axisTickLabel","axisName"],Pxe=["splitLine","splitArea","minorSplitLine"],Rxe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="PolarAxisPointer",t}return e.prototype.render=function(t,i){if(this.group.removeAll(),!!t.get("show")){var r=this._axisGroup,a=this._axisGroup=new qt;this.group.add(a);var o=t.axis,s=o.polar,l=s.getAngleAxis(),u=o.getTicksCoords(),c=o.getMinorTicksCoords(),d=l.getExtent()[0],h=o.getExtent(),f=Ixe(s,t,d),p=new u6(t,f);ne(Exe,p.add,p),a.add(p.getGroup()),Qh(r,a,t),ne(Pxe,function(g){t.get([g,"show"])&&!o.scale.isBlank()&&Lxe[g](this.group,t,s,d,h,u,c)},this)}},e.type="radiusAxis",e}(Cl),Lxe={splitLine:function(n,e,t,i,r,a){var o=e.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0,c=t.getAngleAxis(),d=Math.PI/180,h=c.getExtent(),f=Math.abs(h[1]-h[0])===360?"Circle":"Arc";l=l instanceof Array?l:[l];for(var p=[],g=0;g<a.length;g++){var m=u++%l.length;p[m]=p[m]||[],p[m].push(new bl[f]({shape:{cx:t.cx,cy:t.cy,r:Math.max(a[g].coord,0),startAngle:-h[0]*d,endAngle:-h[1]*d,clockwise:c.inverse}}))}for(var g=0;g<p.length;g++)n.add(Aa(p[g],{style:Vt({stroke:l[g%l.length],fill:null},s.getLineStyle()),silent:!0}))},minorSplitLine:function(n,e,t,i,r,a,o){if(o.length){for(var s=e.getModel("minorSplitLine"),l=s.getModel("lineStyle"),u=[],c=0;c<o.length;c++)for(var d=0;d<o[c].length;d++)u.push(new n9({shape:{cx:t.cx,cy:t.cy,r:o[c][d].coord}}));n.add(Aa(u,{style:Vt({fill:null},l.getLineStyle()),silent:!0}))}},splitArea:function(n,e,t,i,r,a){if(a.length){var o=e.getModel("splitArea"),s=o.getModel("areaStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var c=[],d=a[0].coord,h=1;h<a.length;h++){var f=u++%l.length;c[f]=c[f]||[],c[f].push(new mr({shape:{cx:t.cx,cy:t.cy,r0:d,r:a[h].coord,startAngle:0,endAngle:Math.PI*2},silent:!0})),d=a[h].coord}for(var h=0;h<c.length;h++)n.add(Aa(c[h],{style:Vt({fill:l[h%l.length]},s.getAreaStyle()),silent:!0}))}}};function Ixe(n,e,t){return{position:[n.cx,n.cy],rotation:t/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}const Dxe=Rxe;function zQ(n){return n.get("stack")||"__ec_stack_"+n.seriesIndex}function UQ(n,e){return e.dim+n.model.componentIndex}function Nxe(n,e,t){var i={},r=kxe(c1(e.getSeriesByType(n),function(a){return!e.isSeriesFiltered(a)&&a.coordinateSystem&&a.coordinateSystem.type==="polar"}));e.eachSeriesByType(n,function(a){if(a.coordinateSystem.type==="polar"){var o=a.getData(),s=a.coordinateSystem,l=s.getBaseAxis(),u=UQ(s,l),c=zQ(a),d=r[u][c],h=d.offset,f=d.width,p=s.getOtherAxis(l),g=a.coordinateSystem.cx,m=a.coordinateSystem.cy,v=a.get("barMinHeight")||0,_=a.get("barMinAngle")||0;i[c]=i[c]||[];for(var S=o.mapDimension(p.dim),x=o.mapDimension(l.dim),A=Y5(o,S),C=l.dim!=="radius"||!a.get("roundCap",!0),M=p.model,I=M.get("startValue"),D=p.dataToCoord(I||0),E=0,L=o.count();E<L;E++){var V=o.get(S,E),Y=o.get(x,E),G=V>=0?"p":"n",W=D;A&&(i[c][Y]||(i[c][Y]={p:D,n:D}),W=i[c][Y][G]);var q=void 0,ce=void 0,J=void 0,H=void 0;if(p.dim==="radius"){var re=p.dataToCoord(V)-D,ee=l.dataToCoord(Y);Math.abs(re)<v&&(re=(re<0?-1:1)*v),q=W,ce=W+re,J=ee-h,H=J-f,A&&(i[c][Y][G]=ce)}else{var se=p.dataToCoord(V,C)-D,Be=l.dataToCoord(Y);Math.abs(se)<_&&(se=(se<0?-1:1)*_),q=Be+h,ce=q+f,J=W,H=W+se,A&&(i[c][Y][G]=H)}o.setItemLayout(E,{cx:g,cy:m,r0:q,r:ce,startAngle:-J*Math.PI/180,endAngle:-H*Math.PI/180,clockwise:J>=H})}}})}function kxe(n){var e={};ne(n,function(i,r){var a=i.getData(),o=i.coordinateSystem,s=o.getBaseAxis(),l=UQ(o,s),u=s.getExtent(),c=s.type==="category"?s.getBandWidth():Math.abs(u[1]-u[0])/a.count(),d=e[l]||{bandWidth:c,remainedWidth:c,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},h=d.stacks;e[l]=d;var f=zQ(i);h[f]||d.autoWidthCount++,h[f]=h[f]||{width:0,maxWidth:0};var p=ft(i.get("barWidth"),c),g=ft(i.get("barMaxWidth"),c),m=i.get("barGap"),v=i.get("barCategoryGap");p&&!h[f].width&&(p=Math.min(d.remainedWidth,p),h[f].width=p,d.remainedWidth-=p),g&&(h[f].maxWidth=g),m!=null&&(d.gap=m),v!=null&&(d.categoryGap=v)});var t={};return ne(e,function(i,r){t[r]={};var a=i.stacks,o=i.bandWidth,s=ft(i.categoryGap,o),l=ft(i.gap,1),u=i.remainedWidth,c=i.autoWidthCount,d=(u-s)/(c+(c-1)*l);d=Math.max(d,0),ne(a,function(g,m){var v=g.maxWidth;v&&v<d&&(v=Math.min(v,u),g.width&&(v=Math.min(v,g.width)),u-=v,g.width=v,c--)}),d=(u-s)/(c+(c-1)*l),d=Math.max(d,0);var h=0,f;ne(a,function(g,m){g.width||(g.width=d),f=g,h+=g.width*(1+l)}),f&&(h-=f.width*l);var p=-h/2;ne(a,function(g,m){t[r][m]=t[r][m]||{offset:p,width:g.width},p+=g.width*(1+l)})}),t}var Fxe={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},Oxe={splitNumber:5},Bxe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="polar",e}(T0);function zxe(n){T3(pf),Cl.registerAxisPointerClass("PolarAxisPointer",uxe),n.registerCoordinateSystem("polar",wxe),n.registerComponentModel(dxe),n.registerComponentView(Bxe),B7(n,"angle",hxe,Fxe),B7(n,"radius",fxe,Oxe),n.registerComponentView(Mxe),n.registerComponentView(Dxe),n.registerLayout(r3(Nxe,"bar"))}function TM(n,e){e=e||{};var t=n.coordinateSystem,i=n.axis,r={},a=i.position,o=i.orient,s=t.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};r.position=[o==="vertical"?u.vertical[a]:l[0],o==="horizontal"?u.horizontal[a]:l[3]];var c={horizontal:0,vertical:1};r.rotation=Math.PI/2*c[o];var d={top:-1,bottom:1,right:1,left:-1};r.labelDirection=r.tickDirection=r.nameDirection=d[a],n.get(["axisTick","inside"])&&(r.tickDirection=-r.tickDirection),kn(e.labelInside,n.get(["axisLabel","inside"]))&&(r.labelDirection=-r.labelDirection);var h=e.rotate;return h==null&&(h=n.get(["axisLabel","rotate"])),r.labelRotation=a==="top"?-h:h,r.z2=1,r}var Uxe=["axisLine","axisTickLabel","axisName"],Gxe=["splitArea","splitLine"],Vxe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="SingleAxisPointer",t}return e.prototype.render=function(t,i,r,a){var o=this.group;o.removeAll();var s=this._axisGroup;this._axisGroup=new qt;var l=TM(t),u=new u6(t,l);ne(Uxe,u.add,u),o.add(this._axisGroup),o.add(u.getGroup()),ne(Gxe,function(c){t.get([c,"show"])&&Hxe[c](this,this.group,this._axisGroup,t)},this),Qh(s,this._axisGroup,t),n.prototype.render.call(this,t,i,r,a)},e.prototype.remove=function(){oJ(this)},e.type="singleAxis",e}(Cl),Hxe={splitLine:function(n,e,t,i){var r=i.axis;if(!r.scale.isBlank()){var a=i.getModel("splitLine"),o=a.getModel("lineStyle"),s=o.get("color");s=s instanceof Array?s:[s];for(var l=o.get("width"),u=i.coordinateSystem.getRect(),c=r.isHorizontal(),d=[],h=0,f=r.getTicksCoords({tickModel:a}),p=[],g=[],m=0;m<f.length;++m){var v=r.toGlobalCoord(f[m].coord);c?(p[0]=v,p[1]=u.y,g[0]=v,g[1]=u.y+u.height):(p[0]=u.x,p[1]=v,g[0]=u.x+u.width,g[1]=v);var _=new Fn({shape:{x1:p[0],y1:p[1],x2:g[0],y2:g[1]},silent:!0});D7(_.shape,l);var S=h++%s.length;d[S]=d[S]||[],d[S].push(_)}for(var x=o.getLineStyle(["color"]),m=0;m<d.length;++m)e.add(Aa(d[m],{style:Vt({stroke:s[m%s.length]},x),silent:!0}))}},splitArea:function(n,e,t,i){aJ(n,t,i,i)}};const Wxe=Vxe;var GQ=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getCoordSysModel=function(){return this},e.type="singleAxis",e.layoutMode="box",e.defaultOption={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}},e}(j3);en(GQ,af.prototype);const oT=GQ;var jxe=function(n){g2(e,n);function e(t,i,r,a,o){var s=n.call(this,t,i,r)||this;return s.type=a||"value",s.position=o||"bottom",s}return e.prototype.isHorizontal=function(){var t=this.position;return t==="top"||t==="bottom"},e.prototype.pointToData=function(t,i){return this.coordinateSystem.pointToData(t)[0]},e}(So);const $xe=jxe;var VQ=["single"],Yxe=function(){function n(e,t,i){this.type="single",this.dimension="single",this.dimensions=VQ,this.axisPointerEnabled=!0,this.model=e,this._init(e,t,i)}return n.prototype._init=function(e,t,i){var r=this.dimension,a=new $xe(r,X_(e),[0,0],e.get("type"),e.get("position")),o=a.type==="category";a.onBand=o&&e.get("boundaryGap"),a.inverse=e.get("inverse"),a.orient=e.get("orient"),e.axis=a,a.model=e,a.coordinateSystem=this,this._axis=a},n.prototype.update=function(e,t){e.eachSeries(function(i){if(i.coordinateSystem===this){var r=i.getData();ne(r.mapDimensionsAll(this.dimension),function(a){this._axis.scale.unionExtentFromData(r,a)},this),F7(this._axis.scale,this._axis.model)}},this)},n.prototype.resize=function(e,t){this._rect=hn({left:e.get("left"),top:e.get("top"),right:e.get("right"),bottom:e.get("bottom"),width:e.get("width"),height:e.get("height")},{width:t.getWidth(),height:t.getHeight()}),this._adjustAxis()},n.prototype.getRect=function(){return this._rect},n.prototype._adjustAxis=function(){var e=this._rect,t=this._axis,i=t.isHorizontal(),r=i?[0,e.width]:[0,e.height],a=t.inverse?1:0;t.setExtent(r[a],r[1-a]),this._updateAxisTransform(t,i?e.x:e.y)},n.prototype._updateAxisTransform=function(e,t){var i=e.getExtent(),r=i[0]+i[1],a=e.isHorizontal();e.toGlobalCoord=a?function(o){return o+t}:function(o){return r-o+t},e.toLocalCoord=a?function(o){return o-t}:function(o){return r-o+t}},n.prototype.getAxis=function(){return this._axis},n.prototype.getBaseAxis=function(){return this._axis},n.prototype.getAxes=function(){return[this._axis]},n.prototype.getTooltipAxes=function(){return{baseAxes:[this.getAxis()],otherAxes:[]}},n.prototype.containPoint=function(e){var t=this.getRect(),i=this.getAxis(),r=i.orient;return r==="horizontal"?i.contain(i.toLocalCoord(e[0]))&&e[1]>=t.y&&e[1]<=t.y+t.height:i.contain(i.toLocalCoord(e[1]))&&e[0]>=t.y&&e[0]<=t.y+t.height},n.prototype.pointToData=function(e){var t=this.getAxis();return[t.coordToData(t.toLocalCoord(e[t.orient==="horizontal"?0:1]))]},n.prototype.dataToPoint=function(e){var t=this.getAxis(),i=this.getRect(),r=[],a=t.orient==="horizontal"?0:1;return e instanceof Array&&(e=e[0]),r[a]=t.toGlobalCoord(t.dataToCoord(+e)),r[1-a]=a===0?i.y+i.height/2:i.x+i.width/2,r},n.prototype.convertToPixel=function(e,t,i){var r=NU(t);return r===this?this.dataToPoint(i):null},n.prototype.convertFromPixel=function(e,t,i){var r=NU(t);return r===this?this.pointToData(i):null},n}();function NU(n){var e=n.seriesModel,t=n.singleAxisModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function qxe(n,e){var t=[];return n.eachComponent("singleAxis",function(i,r){var a=new Yxe(i,n,e);a.name="single_"+r,a.resize(i,e),i.coordinateSystem=a,t.push(a)}),n.eachSeries(function(i){if(i.get("coordinateSystem")==="singleAxis"){var r=i.getReferringComponents("singleAxis",Z0).models[0];i.coordinateSystem=r&&r.coordinateSystem}}),t}var Xxe={create:qxe,dimensions:VQ};const Kxe=Xxe;var kU=["x","y"],Zxe=["width","height"],Jxe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,i,r,a,o){var s=r.axis,l=s.coordinateSystem,u=sT(l,1-_y(s)),c=l.dataToPoint(i)[0],d=a.get("type");if(d&&d!=="none"){var h=HR(a),f=Qxe[d](s,c,u);f.style=h,t.graphicKey=f.type,t.pointer=f}var p=TM(r);NQ(i,t,p,r,a,o)},e.prototype.getHandleTransform=function(t,i,r){var a=TM(i,{labelInside:!1});a.labelMargin=r.get(["handle","margin"]);var o=WR(i.axis,t,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,i,r,a){var o=r.axis,s=o.coordinateSystem,l=_y(o),u=sT(s,l),c=[t.x,t.y];c[l]+=i[l],c[l]=Math.min(u[1],c[l]),c[l]=Math.max(u[0],c[l]);var d=sT(s,1-l),h=(d[1]+d[0])/2,f=[h,h];return f[l]=c[l],{x:c[0],y:c[1],rotation:t.rotation,cursorPoint:f,tooltipOption:{verticalAlign:"middle"}}},e}(VR),Qxe={line:function(n,e,t){var i=jR([e,t[0]],[e,t[1]],_y(n));return{type:"Line",subPixelOptimize:!0,shape:i}},shadow:function(n,e,t){var i=n.getBandWidth(),r=t[1]-t[0];return{type:"Rect",shape:kQ([e-i/2,t[0]],[i,r],_y(n))}}};function _y(n){return n.isHorizontal()?0:1}function sT(n,e){var t=n.getRect();return[t[kU[e]],t[kU[e]]+t[Zxe[e]]]}const ewe=Jxe;var twe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="single",e}(T0);function nwe(n){T3(pf),Cl.registerAxisPointerClass("SingleAxisPointer",ewe),n.registerComponentView(twe),n.registerComponentView(Wxe),n.registerComponentModel(oT),B7(n,"single",oT,oT.defaultOption),n.registerCoordinateSystem("single",Kxe)}var iwe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i,r){var a=pu(t);n.prototype.init.apply(this,arguments),FU(t,a)},e.prototype.mergeOption=function(t){n.prototype.mergeOption.apply(this,arguments),FU(this.option,t)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}(j3);function FU(n,e){var t=n.cellSize,i;H2(t)?i=t:i=n.cellSize=[t,t],i.length===1&&(i[1]=i[0]);var r=j2([0,1],function(a){return s4e(e,a)&&(i[a]="auto"),i[a]!=null&&i[a]!=="auto"});$5(n,e,{type:"box",ignoreSize:r})}const rwe=iwe;var awe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){var a=this.group;a.removeAll();var o=t.coordinateSystem,s=o.getRangeInfo(),l=o.getOrient(),u=i.getLocaleModel();this._renderDayRect(t,s,a),this._renderLines(t,s,l,a),this._renderYearText(t,s,l,a),this._renderMonthText(t,u,l,a),this._renderWeekText(t,u,s,l,a)},e.prototype._renderDayRect=function(t,i,r){for(var a=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),s=a.getCellWidth(),l=a.getCellHeight(),u=i.start.time;u<=i.end.time;u=a.getNextNDay(u,1).time){var c=a.dataToRect([u],!1).tl,d=new V3({shape:{x:c[0],y:c[1],width:s,height:l},cursor:"default",style:o});r.add(d)}},e.prototype._renderLines=function(t,i,r,a){var o=this,s=t.coordinateSystem,l=t.getModel(["splitLine","lineStyle"]).getLineStyle(),u=t.get(["splitLine","show"]),c=l.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var d=i.start,h=0;d.time<=i.end.time;h++){p(d.formatedDate),h===0&&(d=s.getDateInfo(i.start.y+"-"+i.start.m));var f=d.date;f.setMonth(f.getMonth()+1),d=s.getDateInfo(f)}p(s.getNextNDay(i.end.time,1).formatedDate);function p(g){o._firstDayOfMonth.push(s.getDateInfo(g)),o._firstDayPoints.push(s.dataToRect([g],!1).tl);var m=o._getLinePointsOfOneWeek(t,g,r);o._tlpoints.push(m[0]),o._blpoints.push(m[m.length-1]),u&&o._drawSplitline(m,l,a)}u&&this._drawSplitline(o._getEdgesPoints(o._tlpoints,c,r),l,a),u&&this._drawSplitline(o._getEdgesPoints(o._blpoints,c,r),l,a)},e.prototype._getEdgesPoints=function(t,i,r){var a=[t[0].slice(),t[t.length-1].slice()],o=r==="horizontal"?0:1;return a[0][o]=a[0][o]-i/2,a[1][o]=a[1][o]+i/2,a},e.prototype._drawSplitline=function(t,i,r){var a=new Sr({z2:20,shape:{points:t},style:i});r.add(a)},e.prototype._getLinePointsOfOneWeek=function(t,i,r){for(var a=t.coordinateSystem,o=a.getDateInfo(i),s=[],l=0;l<7;l++){var u=a.getNextNDay(o.time,l),c=a.dataToRect([u.time],!1);s[2*u.day]=c.tl,s[2*u.day+1]=c[r==="horizontal"?"bl":"tr"]}return s},e.prototype._formatterLabel=function(t,i){return _t(t)&&t?r4e(t,i):Gt(t)?t(i):i.nameMap},e.prototype._yearTextPositionControl=function(t,i,r,a,o){var s=i[0],l=i[1],u=["center","bottom"];a==="bottom"?(l+=o,u=["center","top"]):a==="left"?s-=o:a==="right"?(s+=o,u=["center","top"]):l-=o;var c=0;return(a==="left"||a==="right")&&(c=Math.PI/2),{rotation:c,x:s,y:l,style:{align:u[0],verticalAlign:u[1]}}},e.prototype._renderYearText=function(t,i,r,a){var o=t.getModel("yearLabel");if(o.get("show")){var s=o.get("margin"),l=o.get("position");l||(l=r!=="horizontal"?"top":"left");var u=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],c=(u[0][0]+u[1][0])/2,d=(u[0][1]+u[1][1])/2,h=r==="horizontal"?0:1,f={top:[c,u[h][1]],bottom:[c,u[1-h][1]],left:[u[1-h][0],d],right:[u[h][0],d]},p=i.start.y;+i.end.y>+i.start.y&&(p=p+"-"+i.end.y);var g=o.get("formatter"),m={start:i.start.y,end:i.end.y,nameMap:p},v=this._formatterLabel(g,m),_=new Y3({z2:30,style:q1(o,{text:v}),silent:o.get("silent")});_.attr(this._yearTextPositionControl(_,f[l],r,l,s)),a.add(_)}},e.prototype._monthTextPositionControl=function(t,i,r,a,o){var s="left",l="top",u=t[0],c=t[1];return r==="horizontal"?(c=c+o,i&&(s="center"),a==="start"&&(l="bottom")):(u=u+o,i&&(l="middle"),a==="start"&&(s="right")),{x:u,y:c,align:s,verticalAlign:l}},e.prototype._renderMonthText=function(t,i,r,a){var o=t.getModel("monthLabel");if(o.get("show")){var s=o.get("nameMap"),l=o.get("margin"),u=o.get("position"),c=o.get("align"),d=[this._tlpoints,this._blpoints];(!s||_t(s))&&(s&&(i=NC(s)||i),s=i.get(["time","monthAbbr"])||[]);var h=u==="start"?0:1,f=r==="horizontal"?0:1;l=u==="start"?-l:l;for(var p=c==="center",g=o.get("silent"),m=0;m<d[h].length-1;m++){var v=d[h][m].slice(),_=this._firstDayOfMonth[m];if(p){var S=this._firstDayPoints[m];v[f]=(S[f]+d[0][m+1][f])/2}var x=o.get("formatter"),A=s[+_.m-1],C={yyyy:_.y,yy:(_.y+"").slice(2),MM:_.m,M:+_.m,nameMap:A},M=this._formatterLabel(x,C),I=new Y3({z2:30,style:L2(q1(o,{text:M}),this._monthTextPositionControl(v,p,r,u,l)),silent:g});a.add(I)}}},e.prototype._weekTextPositionControl=function(t,i,r,a,o){var s="center",l="middle",u=t[0],c=t[1],d=r==="start";return i==="horizontal"?(u=u+a+(d?1:-1)*o[0]/2,s=d?"right":"left"):(c=c+a+(d?1:-1)*o[1]/2,l=d?"bottom":"top"),{x:u,y:c,align:s,verticalAlign:l}},e.prototype._renderWeekText=function(t,i,r,a,o){var s=t.getModel("dayLabel");if(s.get("show")){var l=t.coordinateSystem,u=s.get("position"),c=s.get("nameMap"),d=s.get("margin"),h=l.getFirstDayOfWeek();if(!c||_t(c)){c&&(i=NC(c)||i);var f=i.get(["time","dayOfWeekShort"]);c=f||j2(i.get(["time","dayOfWeekAbbr"]),function(C){return C[0]})}var p=l.getNextNDay(r.end.time,7-r.lweek).time,g=[l.getCellWidth(),l.getCellHeight()];d=ft(d,Math.min(g[1],g[0])),u==="start"&&(p=l.getNextNDay(r.start.time,-(7+r.fweek)).time,d=-d);for(var m=s.get("silent"),v=0;v<7;v++){var _=l.getNextNDay(p,v),S=l.dataToRect([_.time],!1).center,x=v;x=Math.abs((v+h)%7);var A=new Y3({z2:30,style:L2(q1(s,{text:c[x]}),this._weekTextPositionControl(S,a,u,d,g)),silent:m});o.add(A)}}},e.type="calendar",e}(T0);const owe=awe;var lT=864e5,swe=function(){function n(e,t,i){this.type="calendar",this.dimensions=n.dimensions,this.getDimensionsInfo=n.getDimensionsInfo,this._model=e}return n.getDimensionsInfo=function(){return[{name:"time",type:"time"},"value"]},n.prototype.getRangeInfo=function(){return this._rangeInfo},n.prototype.getModel=function(){return this._model},n.prototype.getRect=function(){return this._rect},n.prototype.getCellWidth=function(){return this._sw},n.prototype.getCellHeight=function(){return this._sh},n.prototype.getOrient=function(){return this._orient},n.prototype.getFirstDayOfWeek=function(){return this._firstDayOfWeek},n.prototype.getDateInfo=function(e){e=cs(e);var t=e.getFullYear(),i=e.getMonth()+1,r=i<10?"0"+i:""+i,a=e.getDate(),o=a<10?"0"+a:""+a,s=e.getDay();return s=Math.abs((s+7-this.getFirstDayOfWeek())%7),{y:t+"",m:r,d:o,day:s,time:e.getTime(),formatedDate:t+"-"+r+"-"+o,date:e}},n.prototype.getNextNDay=function(e,t){return t=t||0,t===0?this.getDateInfo(e):(e=new Date(this.getDateInfo(e).time),e.setDate(e.getDate()+t),this.getDateInfo(e))},n.prototype.update=function(e,t){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var i=this._rangeInfo.weeks||1,r=["width","height"],a=this._model.getCellSize().slice(),o=this._model.getBoxLayoutParams(),s=this._orient==="horizontal"?[i,7]:[7,i];ne([0,1],function(d){c(a,d)&&(o[r[d]]=a[d]*s[d])});var l={width:t.getWidth(),height:t.getHeight()},u=this._rect=hn(o,l);ne([0,1],function(d){c(a,d)||(a[d]=u[r[d]]/s[d])});function c(d,h){return d[h]!=null&&d[h]!=="auto"}this._sw=a[0],this._sh=a[1]},n.prototype.dataToPoint=function(e,t){H2(e)&&(e=e[0]),t==null&&(t=!0);var i=this.getDateInfo(e),r=this._rangeInfo,a=i.formatedDate;if(t&&!(i.time>=r.start.time&&i.time<r.end.time+lT))return[NaN,NaN];var o=i.day,s=this._getRangeInfo([r.start.time,a]).nthWeek;return this._orient==="vertical"?[this._rect.x+o*this._sw+this._sw/2,this._rect.y+s*this._sh+this._sh/2]:[this._rect.x+s*this._sw+this._sw/2,this._rect.y+o*this._sh+this._sh/2]},n.prototype.pointToData=function(e){var t=this.pointToDate(e);return t&&t.time},n.prototype.dataToRect=function(e,t){var i=this.dataToPoint(e,t);return{contentShape:{x:i[0]-(this._sw-this._lineWidth)/2,y:i[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:i,tl:[i[0]-this._sw/2,i[1]-this._sh/2],tr:[i[0]+this._sw/2,i[1]-this._sh/2],br:[i[0]+this._sw/2,i[1]+this._sh/2],bl:[i[0]-this._sw/2,i[1]+this._sh/2]}},n.prototype.pointToDate=function(e){var t=Math.floor((e[0]-this._rect.x)/this._sw)+1,i=Math.floor((e[1]-this._rect.y)/this._sh)+1,r=this._rangeInfo.range;return this._orient==="vertical"?this._getDateByWeeksAndDay(i,t-1,r):this._getDateByWeeksAndDay(t,i-1,r)},n.prototype.convertToPixel=function(e,t,i){var r=OU(t);return r===this?r.dataToPoint(i):null},n.prototype.convertFromPixel=function(e,t,i){var r=OU(t);return r===this?r.pointToData(i):null},n.prototype.containPoint=function(e){return console.warn("Not implemented."),!1},n.prototype._initRangeOption=function(){var e=this._model.get("range"),t;if(H2(e)&&e.length===1&&(e=e[0]),H2(e))t=e;else{var i=e.toString();if(/^\d{4}$/.test(i)&&(t=[i+"-01-01",i+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(i)){var r=this.getDateInfo(i),a=r.date;a.setMonth(a.getMonth()+1);var o=this.getNextNDay(a,-1);t=[r.formatedDate,o.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(i)&&(t=[i,i])}if(!t)return e;var s=this._getRangeInfo(t);return s.start.time>s.end.time&&t.reverse(),t},n.prototype._getRangeInfo=function(e){var t=[this.getDateInfo(e[0]),this.getDateInfo(e[1])],i;t[0].time>t[1].time&&(i=!0,t.reverse());var r=Math.floor(t[1].time/lT)-Math.floor(t[0].time/lT)+1,a=new Date(t[0].time),o=a.getDate(),s=t[1].date.getDate();a.setDate(o+r-1);var l=a.getDate();if(l!==s)for(var u=a.getTime()-t[1].time>0?1:-1;(l=a.getDate())!==s&&(a.getTime()-t[1].time)*u>0;)r-=u,a.setDate(l-u);var c=Math.floor((r+t[0].day+6)/7),d=i?-c+1:c-1;return i&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:r,weeks:c,nthWeek:d,fweek:t[0].day,lweek:t[1].day}},n.prototype._getDateByWeeksAndDay=function(e,t,i){var r=this._getRangeInfo(i);if(e>r.weeks||e===0&&t<r.fweek||e===r.weeks&&t>r.lweek)return null;var a=(e-1)*7-r.fweek+t,o=new Date(r.start.time);return o.setDate(+r.start.d+a),this.getDateInfo(o)},n.create=function(e,t){var i=[];return e.eachComponent("calendar",function(r){var a=new n(r);i.push(a),r.coordinateSystem=a}),e.eachSeries(function(r){r.get("coordinateSystem")==="calendar"&&(r.coordinateSystem=i[r.get("calendarIndex")||0])}),i},n.dimensions=["time","value"],n}();function OU(n){var e=n.calendarModel,t=n.seriesModel,i=e?e.coordinateSystem:t?t.coordinateSystem:null;return i}const lwe=swe;function uwe(n){n.registerComponentModel(rwe),n.registerComponentView(owe),n.registerCoordinateSystem("calendar",lwe)}function cwe(n,e){var t=n.existing;if(e.id=n.keyInfo.id,!e.type&&t&&(e.type=t.type),e.parentId==null){var i=e.parentOption;i?e.parentId=i.id:t&&(e.parentId=t.parentId)}e.parentOption=null}function BU(n,e){var t;return ne(e,function(i){n[i]!=null&&n[i]!=="auto"&&(t=!0)}),t}function dwe(n,e,t){var i=L2({},t),r=n[e],a=t.$action||"merge";a==="merge"?r?(l3(r,i,!0),$5(r,i,{ignoreSize:!0}),TX(t,r),xm(t,r),xm(t,r,"shape"),xm(t,r,"style"),xm(t,r,"extra"),t.clipPath=r.clipPath):n[e]=i:a==="replace"?n[e]=i:a==="remove"&&r&&(n[e]=null)}var HQ=["transition","enterFrom","leaveTo"],hwe=HQ.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function xm(n,e,t){if(t&&(!n[t]&&e[t]&&(n[t]={}),n=n[t],e=e[t]),!(!n||!e))for(var i=t?HQ:hwe,r=0;r<i.length;r++){var a=i[r];n[a]==null&&e[a]!=null&&(n[a]=e[a])}}function fwe(n,e){if(n&&(n.hv=e.hv=[BU(e,["left","right"]),BU(e,["top","bottom"])],n.type==="group")){var t=n,i=e;t.width==null&&(t.width=i.width=0),t.height==null&&(t.height=i.height=0)}}var pwe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.preventAutoZ=!0,t}return e.prototype.mergeOption=function(t,i){var r=this.option.elements;this.option.elements=null,n.prototype.mergeOption.call(this,t,i),this.option.elements=r},e.prototype.optionUpdated=function(t,i){var r=this.option,a=(i?r:t).elements,o=r.elements=i?[]:r.elements,s=[];this._flatten(a,s,null);var l=sq(o,s,"normalMerge"),u=this._elOptionsToUpdate=[];ne(l,function(c,d){var h=c.newOption;h&&(u.push(h),cwe(c,h),dwe(o,d,h),fwe(o[d],h))},this),r.elements=c1(o,function(c){return c&&delete c.$action,c!=null})},e.prototype._flatten=function(t,i,r){ne(t,function(a){if(a){r&&(a.parentOption=r),i.push(a);var o=a.children;o&&o.length&&this._flatten(o,i,a),delete a.children}},this)},e.prototype.useElOptionsToUpdate=function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t},e.type="graphic",e.defaultOption={elements:[]},e}(j3),zU={path:null,compoundPath:null,group:qt,image:ti,text:Y3},_a=B3(),mwe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this._elMap=Ct()},e.prototype.render=function(t,i,r){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,r)},e.prototype._updateElements=function(t){var i=t.useElOptionsToUpdate();if(i){var r=this._elMap,a=this.group,o=t.get("z"),s=t.get("zlevel");ne(i,function(l){var u=dn(l.id,null),c=u!=null?r.get(u):null,d=dn(l.parentId,null),h=d!=null?r.get(d):a,f=l.type,p=l.style;f==="text"&&p&&l.hv&&l.hv[1]&&(p.textVerticalAlign=p.textBaseline=p.verticalAlign=p.align=null);var g=l.textContent,m=l.textConfig;if(p&&xQ(p,f,!!m,!!g)){var v=wQ(p,f,!0);!m&&v.textConfig&&(m=l.textConfig=v.textConfig),!g&&v.textContent&&(g=v.textContent)}var _=gwe(l),S=l.$action||"merge",x=S==="merge",A=S==="replace";if(x){var C=!c,M=c;C?M=UU(u,h,l.type,r):(M&&(_a(M).isNew=!1),MQ(M)),M&&(rv(M,_,t,{isInit:C}),GU(M,l,o,s))}else if(A){ov(c,l,r,t);var I=UU(u,h,l.type,r);I&&(rv(I,_,t,{isInit:!0}),GU(I,l,o,s))}else S==="remove"&&(AQ(c,l),ov(c,l,r,t));var D=r.get(u);if(D&&g)if(x){var E=D.getTextContent();E?E.attr(g):D.setTextContent(new Y3(g))}else A&&D.setTextContent(new Y3(g));if(D){var L=l.clipPath;if(L){var V=L.type,Y=void 0,C=!1;if(x){var G=D.getClipPath();C=!G||_a(G).type!==V,Y=C?AM(V):G}else A&&(C=!0,Y=AM(V));D.setClipPath(Y),rv(Y,L,t,{isInit:C}),vy(Y,L.keyframeAnimation,t)}var W=_a(D);D.setTextConfig(m),W.option=l,vwe(D,t,l),Sl({el:D,componentModel:t,itemName:D.name,itemTooltipOption:l.tooltip}),vy(D,l.keyframeAnimation,t)}})}},e.prototype._relocate=function(t,i){for(var r=t.option.elements,a=this.group,o=this._elMap,s=i.getWidth(),l=i.getHeight(),u=["x","y"],c=0;c<r.length;c++){var d=r[c],h=dn(d.id,null),f=h!=null?o.get(h):null;if(!(!f||!f.isGroup)){var p=f.parent,g=p===a,m=_a(f),v=_a(p);m.width=ft(m.option.width,g?s:v.width)||0,m.height=ft(m.option.height,g?l:v.height)||0}}for(var c=r.length-1;c>=0;c--){var d=r[c],h=dn(d.id,null),f=h!=null?o.get(h):null;if(f){var p=f.parent,v=_a(p),_=p===a?{width:s,height:l}:{width:v.width,height:v.height},S={},x=z_(f,d,_,null,{hv:d.hv,boundingMode:d.bounding},S);if(!_a(f).isNew&&x){for(var A=d.transition,C={},M=0;M<u.length;M++){var I=u[M],D=S[I];A&&(Y8(A)||_3(A,I)>=0)?C[I]=D:f[I]=D}Q3(f,C,t,0)}else f.attr(S)}}},e.prototype._clear=function(){var t=this,i=this._elMap;i.each(function(r){ov(r,_a(r).option,i,t._lastGraphicModel)}),this._elMap=Ct()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(T0);function AM(n){var e=xt(zU,n)?zU[n]:AP(n),t=new e({});return _a(t).type=n,t}function UU(n,e,t,i){var r=AM(t);return e.add(r),i.set(n,r),_a(r).id=n,_a(r).isNew=!0,r}function ov(n,e,t,i){var r=n&&n.parent;r&&(n.type==="group"&&n.traverse(function(a){ov(a,e,t,i)}),nS(n,e,i),t.removeKey(_a(n).id))}function GU(n,e,t,i){n.isGroup||ne([["cursor",Ba.prototype.cursor],["zlevel",i||0],["z",t||0],["z2",0]],function(r){var a=r[0];xt(e,a)?n[a]=e3(e[a],r[1]):n[a]==null&&(n[a]=r[1])}),ne(E3(e),function(r){if(r.indexOf("on")===0){var a=e[r];n[r]=Gt(a)?a:null}}),xt(e,"draggable")&&(n.draggable=e.draggable),e.name!=null&&(n.name=e.name),e.id!=null&&(n.id=e.id)}function gwe(n){return n=L2({},n),ne(["id","parentId","$action","hv","bounding","textContent","clipPath"].concat(wX),function(e){delete n[e]}),n}function vwe(n,e,t){var i=Xt(n).eventData;!n.silent&&!n.ignore&&!i&&(i=Xt(n).eventData={componentType:"graphic",componentIndex:e.componentIndex,name:n.name}),i&&(i.info=t.info)}function ywe(n){n.registerComponentModel(pwe),n.registerComponentView(mwe),n.registerPreprocessor(function(e){var t=e.graphic;H2(t)?!t[0]||!t[0].elements?e.graphic=[{elements:t}]:e.graphic=[e.graphic[0]]:t&&!t.elements&&(e.graphic=[{elements:[t]}])})}var VU=["x","y","radius","angle","single"],_we=["cartesian2d","polar","singleAxis"];function Swe(n){var e=n.get("coordinateSystem");return _3(_we,e)>=0}function T5(n){return n+"Axis"}function bwe(n,e){var t=Ct(),i=[],r=Ct();n.eachComponent({mainType:"dataZoom",query:e},function(c){r.get(c.uid)||s(c)});var a;do a=!1,n.eachComponent("dataZoom",o);while(a);function o(c){!r.get(c.uid)&&l(c)&&(s(c),a=!0)}function s(c){r.set(c.uid,!0),i.push(c),u(c)}function l(c){var d=!1;return c.eachTargetAxis(function(h,f){var p=t.get(h);p&&p[f]&&(d=!0)}),d}function u(c){c.eachTargetAxis(function(d,h){(t.get(d)||t.set(d,[]))[h]=!0})}return i}function WQ(n){var e=n.ecModel,t={infoList:[],infoMap:Ct()};return n.eachTargetAxis(function(i,r){var a=e.getComponent(T5(i),r);if(a){var o=a.getCoordSysModel();if(o){var s=o.uid,l=t.infoMap.get(s);l||(l={model:o,axisModels:[]},t.infoList.push(l),t.infoMap.set(s,l)),l.axisModels.push(a)}}}),t}var uT=function(){function n(){this.indexList=[],this.indexMap=[]}return n.prototype.add=function(e){this.indexMap[e]||(this.indexList.push(e),this.indexMap[e]=!0)},n}(),xwe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._autoThrottle=!0,t._noTarget=!0,t._rangePropMode=["percent","percent"],t}return e.prototype.init=function(t,i,r){var a=HU(t);this.settledOption=a,this.mergeDefaultAndTheme(t,r),this._doInit(a)},e.prototype.mergeOption=function(t){var i=HU(t);l3(this.option,t,!0),l3(this.settledOption,i,!0),this._doInit(i)},e.prototype._doInit=function(t){var i=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var r=this.settledOption;ne([["start","startValue"],["end","endValue"]],function(a,o){this._rangePropMode[o]==="value"&&(i[a[0]]=r[a[0]]=null)},this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),i=this._targetAxisInfoMap=Ct(),r=this._fillSpecifiedTargetAxis(i);r?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(i,this._orient)),this._noTarget=!0,i.each(function(a){a.indexList.length&&(this._noTarget=!1)},this)},e.prototype._fillSpecifiedTargetAxis=function(t){var i=!1;return ne(VU,function(r){var a=this.getReferringComponents(T5(r),B9e);if(a.specified){i=!0;var o=new uT;ne(a.models,function(s){o.add(s.componentIndex)}),t.set(r,o)}},this),i},e.prototype._fillAutoTargetAxisByOrient=function(t,i){var r=this.ecModel,a=!0;if(a){var o=i==="vertical"?"y":"x",s=r.findComponents({mainType:o+"Axis"});l(s,o)}if(a){var s=r.findComponents({mainType:"singleAxis",filter:function(c){return c.get("orient",!0)===i}});l(s,"single")}function l(u,c){var d=u[0];if(d){var h=new uT;if(h.add(d.componentIndex),t.set(c,h),a=!1,c==="x"||c==="y"){var f=d.getReferringComponents("grid",Z0).models[0];f&&ne(u,function(p){d.componentIndex!==p.componentIndex&&f===p.getReferringComponents("grid",Z0).models[0]&&h.add(p.componentIndex)})}}}a&&ne(VU,function(u){if(a){var c=r.findComponents({mainType:T5(u),filter:function(h){return h.get("type",!0)==="category"}});if(c[0]){var d=new uT;d.add(c[0].componentIndex),t.set(u,d),a=!1}}},this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis(function(i){!t&&(t=i)},this),t==="y"?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var i=this.ecModel.option;this.option.throttle=i.animation&&i.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var i=this._rangePropMode,r=this.get("rangeMode");ne([["start","startValue"],["end","endValue"]],function(a,o){var s=t[a[0]]!=null,l=t[a[1]]!=null;s&&!l?i[o]="percent":!s&&l?i[o]="value":r?i[o]=r[o]:s&&(i[o]="percent")})},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis(function(i,r){t==null&&(t=this.ecModel.getComponent(T5(i),r))},this),t},e.prototype.eachTargetAxis=function(t,i){this._targetAxisInfoMap.each(function(r,a){ne(r.indexList,function(o){t.call(i,a,o)})})},e.prototype.getAxisProxy=function(t,i){var r=this.getAxisModel(t,i);if(r)return r.__dzAxisProxy},e.prototype.getAxisModel=function(t,i){var r=this._targetAxisInfoMap.get(t);if(r&&r.indexMap[i])return this.ecModel.getComponent(T5(t),i)},e.prototype.setRawRange=function(t){var i=this.option,r=this.settledOption;ne([["start","startValue"],["end","endValue"]],function(a){(t[a[0]]!=null||t[a[1]]!=null)&&(i[a[0]]=r[a[0]]=t[a[0]],i[a[1]]=r[a[1]]=t[a[1]])},this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var i=this.option;ne(["start","startValue","end","endValue"],function(r){i[r]=t[r]})},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,i){if(t==null&&i==null){var r=this.findRepresentativeAxisProxy();if(r)return r.getDataValueWindow()}else return this.getAxisProxy(t,i).getDataValueWindow()},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var i,r=this._targetAxisInfoMap.keys(),a=0;a<r.length;a++)for(var o=r[a],s=this._targetAxisInfoMap.get(o),l=0;l<s.indexList.length;l++){var u=this.getAxisProxy(o,s.indexList[l]);if(u.hostedBy(this))return u;i||(i=u)}return i},e.prototype.getRangePropMode=function(){return this._rangePropMode.slice()},e.prototype.getOrient=function(){return this._orient},e.type="dataZoom",e.dependencies=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","series","toolbox"],e.defaultOption={z:4,filterMode:"filter",start:0,end:100},e}(j3);function HU(n){var e={};return ne(["start","end","startValue","endValue","throttle"],function(t){n.hasOwnProperty(t)&&(e[t]=n[t])}),e}const wh=xwe;var wwe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.select",e}(wh);const Twe=wwe;var Awe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r,a){this.dataZoomModel=t,this.ecModel=i,this.api=r},e.type="dataZoom",e}(T0);const XR=Awe;var Cwe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.select",e}(XR);const Mwe=Cwe;var G4=ne,WU=La,Ewe=function(){function n(e,t,i,r){this._dimName=e,this._axisIndex=t,this.ecModel=r,this._dataZoomModel=i}return n.prototype.hostedBy=function(e){return this._dataZoomModel===e},n.prototype.getDataValueWindow=function(){return this._valueWindow.slice()},n.prototype.getDataPercentWindow=function(){return this._percentWindow.slice()},n.prototype.getTargetSeriesModels=function(){var e=[];return this.ecModel.eachSeries(function(t){if(Swe(t)){var i=T5(this._dimName),r=t.getReferringComponents(i,Z0).models[0];r&&this._axisIndex===r.componentIndex&&e.push(t)}},this),e},n.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},n.prototype.getMinMaxSpan=function(){return $t(this._minMaxSpan)},n.prototype.calculateDataWindow=function(e){var t=this._dataExtent,i=this.getAxisModel(),r=i.axis.scale,a=this._dataZoomModel.getRangePropMode(),o=[0,100],s=[],l=[],u;G4(["start","end"],function(h,f){var p=e[h],g=e[h+"Value"];a[f]==="percent"?(p==null&&(p=o[f]),g=r.parse(p1(p,o,t))):(u=!0,g=g==null?t[f]:r.parse(g),p=p1(g,t,o)),l[f]=g==null||isNaN(g)?t[f]:g,s[f]=p==null||isNaN(p)?o[f]:p}),WU(l),WU(s);var c=this._minMaxSpan;u?d(l,s,t,o,!1):d(s,l,o,t,!0);function d(h,f,p,g,m){var v=m?"Span":"ValueSpan";Ml(0,h,p,"all",c["min"+v],c["max"+v]);for(var _=0;_<2;_++)f[_]=p1(h[_],p,g,!0),m&&(f[_]=r.parse(f[_]))}return{valueWindow:l,percentWindow:s}},n.prototype.reset=function(e){if(e===this._dataZoomModel){var t=this.getTargetSeriesModels();this._dataExtent=Pwe(this,this._dimName,t),this._updateMinMaxSpan();var i=this.calculateDataWindow(e.settledOption);this._valueWindow=i.valueWindow,this._percentWindow=i.percentWindow,this._setAxisModel()}},n.prototype.filterData=function(e,t){if(e!==this._dataZoomModel)return;var i=this._dimName,r=this.getTargetSeriesModels(),a=e.get("filterMode"),o=this._valueWindow;if(a==="none")return;G4(r,function(l){var u=l.getData(),c=u.mapDimensionsAll(i);if(c.length){if(a==="weakFilter"){var d=u.getStore(),h=j2(c,function(f){return u.getDimensionIndex(f)},u);u.filterSelf(function(f){for(var p,g,m,v=0;v<c.length;v++){var _=d.get(h[v],f),S=!isNaN(_),x=_<o[0],A=_>o[1];if(S&&!x&&!A)return!0;S&&(m=!0),x&&(p=!0),A&&(g=!0)}return m&&p&&g})}else G4(c,function(f){if(a==="empty")l.setData(u=u.map(f,function(g){return s(g)?g:NaN}));else{var p={};p[f]=o,u.selectRange(p)}});G4(c,function(f){u.setApproximateExtent(o,f)})}});function s(l){return l>=o[0]&&l<=o[1]}},n.prototype._updateMinMaxSpan=function(){var e=this._minMaxSpan={},t=this._dataZoomModel,i=this._dataExtent;G4(["min","max"],function(r){var a=t.get(r+"Span"),o=t.get(r+"ValueSpan");o!=null&&(o=this.getAxisModel().axis.scale.parse(o)),o!=null?a=p1(i[0]+o,i,[0,100],!0):a!=null&&(o=p1(a,[0,100],i,!0)-i[0]),e[r+"Span"]=a,e[r+"ValueSpan"]=o},this)},n.prototype._setAxisModel=function(){var e=this.getAxisModel(),t=this._percentWindow,i=this._valueWindow;if(t){var r=QY(i,[0,500]);r=Math.min(r,20);var a=e.axis.scale.rawExtentInfo;t[0]!==0&&a.setDeterminedMinMax("min",+i[0].toFixed(r)),t[1]!==100&&a.setDeterminedMinMax("max",+i[1].toFixed(r)),a.freeze()}},n}();function Pwe(n,e,t){var i=[1/0,-1/0];G4(t,function(o){Zce(i,o.getData(),e)});var r=n.getAxisModel(),a=rZ(r.axis.scale,r,i).calculate();return[a.min,a.max]}const Rwe=Ewe;var Lwe={getTargetSeries:function(n){function e(r){n.eachComponent("dataZoom",function(a){a.eachTargetAxis(function(o,s){var l=n.getComponent(T5(o),s);r(o,s,l,a)})})}e(function(r,a,o,s){o.__dzAxisProxy=null});var t=[];e(function(r,a,o,s){o.__dzAxisProxy||(o.__dzAxisProxy=new Rwe(r,a,s,n),t.push(o.__dzAxisProxy))});var i=Ct();return ne(t,function(r){ne(r.getTargetSeriesModels(),function(a){i.set(a.uid,a)})}),i},overallReset:function(n,e){n.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(i,r){t.getAxisProxy(i,r).reset(t)}),t.eachTargetAxis(function(i,r){t.getAxisProxy(i,r).filterData(t,e)})}),n.eachComponent("dataZoom",function(t){var i=t.findRepresentativeAxisProxy();if(i){var r=i.getDataPercentWindow(),a=i.getDataValueWindow();t.setCalculatedRange({start:r[0],end:r[1],startValue:a[0],endValue:a[1]})}})}};const Iwe=Lwe;function Dwe(n){n.registerAction("dataZoom",function(e,t){var i=bwe(t,e);ne(i,function(r){r.setRawRange({start:e.start,end:e.end,startValue:e.startValue,endValue:e.endValue})})})}var jU=!1;function KR(n){jU||(jU=!0,n.registerProcessor(n.PRIORITY.PROCESSOR.FILTER,Iwe),Dwe(n),n.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function Nwe(n){n.registerComponentModel(Twe),n.registerComponentView(Mwe),KR(n)}var xa=function(){function n(){}return n}(),jQ={};function V4(n,e){jQ[n]=e}function $Q(n){return jQ[n]}var kwe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){n.prototype.optionUpdated.apply(this,arguments);var t=this.ecModel;ne(this.option.feature,function(i,r){var a=$Q(r);a&&(a.getDefaultOption&&(a.defaultOption=a.getDefaultOption(t)),l3(i,a.defaultOption))})},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(j3);const Fwe=kwe;function Owe(n,e,t){var i=e.getBoxLayoutParams(),r=e.get("padding"),a={width:t.getWidth(),height:t.getHeight()},o=hn(i,a,r);W8(e.get("orient"),n,e.get("itemGap"),o.width,o.height),z_(n,i,a,r)}function YQ(n,e){var t=fu(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),n=new V3({shape:{x:n.x-t[3],y:n.y-t[0],width:n.width+t[1]+t[3],height:n.height+t[0]+t[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1}),n}var Bwe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.render=function(t,i,r,a){var o=this.group;if(o.removeAll(),!t.get("show"))return;var s=+t.get("itemSize"),l=t.get("orient")==="vertical",u=t.get("feature")||{},c=this._features||(this._features={}),d=[];ne(u,function(p,g){d.push(g)}),new l6(this._featureNames||[],d).add(h).update(h).remove(r3(h,null)).execute(),this._featureNames=d;function h(p,g){var m=d[p],v=d[g],_=u[m],S=new X1(_,t,t.ecModel),x;if(a&&a.newTitle!=null&&a.featureName===m&&(_.title=a.newTitle),m&&!v){if(zwe(m))x={onclick:S.option.onclick,featureName:m};else{var A=$Q(m);if(!A)return;x=new A}c[m]=x}else if(x=c[v],!x)return;x.uid=hu("toolbox-feature"),x.model=S,x.ecModel=i,x.api=r;var C=x instanceof xa;if(!m&&v){C&&x.dispose&&x.dispose(i,r);return}if(!S.get("show")||C&&x.unusable){C&&x.remove&&x.remove(i,r);return}f(S,x,m),S.setIconStatus=function(M,I){var D=this.option,E=this.iconPaths;D.iconStatus=D.iconStatus||{},D.iconStatus[M]=I,E[M]&&(I==="emphasis"?o6:s6)(E[M])},x instanceof xa&&x.render&&x.render(S,i,r,a)}function f(p,g,m){var v=p.getModel("iconStyle"),_=p.getModel(["emphasis","iconStyle"]),S=g instanceof xa&&g.getIcons?g.getIcons():p.get("icon"),x=p.get("title")||{},A,C;_t(S)?(A={},A[m]=S):A=S,_t(x)?(C={},C[m]=x):C=x;var M=p.iconPaths={};ne(A,function(I,D){var E=ef(I,{},{x:-s/2,y:-s/2,width:s,height:s});E.setStyle(v.getItemStyle());var L=E.ensureState("emphasis");L.style=_.getItemStyle();var V=new Y3({style:{text:C[D],align:_.get("textAlign"),borderRadius:_.get("textBorderRadius"),padding:_.get("textPadding"),fill:null,font:CP({fontStyle:_.get("textFontStyle"),fontFamily:_.get("textFontFamily"),fontSize:_.get("textFontSize"),fontWeight:_.get("textFontWeight")},i)},ignore:!0});E.setTextContent(V),Sl({el:E,componentModel:t,itemName:D,formatterParamsExtra:{title:C[D]}}),E.__title=C[D],E.on("mouseover",function(){var Y=_.getItemStyle(),G=l?t.get("right")==null&&t.get("left")!=="right"?"right":"left":t.get("bottom")==null&&t.get("top")!=="bottom"?"bottom":"top";V.setStyle({fill:_.get("textFill")||Y.fill||Y.stroke||"#000",backgroundColor:_.get("textBackgroundColor")}),E.setTextConfig({position:_.get("textPosition")||G}),V.ignore=!t.get("showTitle"),r.enterEmphasis(this)}).on("mouseout",function(){p.get(["iconStatus",D])!=="emphasis"&&r.leaveEmphasis(this),V.hide()}),(p.get(["iconStatus",D])==="emphasis"?o6:s6)(E),o.add(E),E.on("click",St(g.onclick,g,i,r,D)),M[D]=E})}Owe(o,t,r),o.add(YQ(o.getBoundingRect(),t)),l||o.eachChild(function(p){var g=p.__title,m=p.ensureState("emphasis"),v=m.textConfig||(m.textConfig={}),_=p.getTextContent(),S=_&&_.ensureState("emphasis");if(S&&!Gt(S)&&g){var x=S.style||(S.style={}),A=Kh(g,Y3.makeFont(x)),C=p.x+o.x,M=p.y+o.y+s,I=!1;M+A.height>r.getHeight()&&(v.position="top",I=!0);var D=I?-5-A.height:s+10;C+A.width/2>r.getWidth()?(v.position=["100%",D],x.align="right"):C-A.width/2<0&&(v.position=[0,D],x.align="left")}})},e.prototype.updateView=function(t,i,r,a){ne(this._features,function(o){o instanceof xa&&o.updateView&&o.updateView(o.model,i,r,a)})},e.prototype.remove=function(t,i){ne(this._features,function(r){r instanceof xa&&r.remove&&r.remove(t,i)}),this.group.removeAll()},e.prototype.dispose=function(t,i){ne(this._features,function(r){r instanceof xa&&r.dispose&&r.dispose(t,i)})},e.type="toolbox",e}(T0);function zwe(n){return n.indexOf("my")===0}const Uwe=Bwe;var Gwe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.onclick=function(t,i){var r=this.model,a=r.get("name")||t.get("title.0.text")||"echarts",o=i.getZr().painter.getType()==="svg",s=o?"svg":r.get("type",!0)||"png",l=i.getConnectedDataURL({type:s,backgroundColor:r.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:r.get("connectedBackgroundColor"),excludeComponents:r.get("excludeComponents"),pixelRatio:r.get("pixelRatio")}),u=$3.browser;if(typeof MouseEvent=="function"&&(u.newEdge||!u.ie&&!u.edge)){var c=document.createElement("a");c.download=a+"."+s,c.target="_blank",c.href=l;var d=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});c.dispatchEvent(d)}else if(window.navigator.msSaveOrOpenBlob||o){var h=l.split(","),f=h[0].indexOf("base64")>-1,p=o?decodeURIComponent(h[1]):h[1];f&&(p=window.atob(p));var g=a+"."+s;if(window.navigator.msSaveOrOpenBlob){for(var m=p.length,v=new Uint8Array(m);m--;)v[m]=p.charCodeAt(m);var _=new Blob([v]);window.navigator.msSaveOrOpenBlob(_,g)}else{var S=document.createElement("iframe");document.body.appendChild(S);var x=S.contentWindow,A=x.document;A.open("image/svg+xml","replace"),A.write(p),A.close(),x.focus(),A.execCommand("SaveAs",!0,g),document.body.removeChild(S)}}else{var C=r.get("lang"),M='<body style="margin:0;"><img src="'+l+'" style="max-width:100%;" title="'+(C&&C[0]||"")+'" /></body>',I=window.open();I.document.write(M),I.document.title=a}},e.getDefaultOption=function(t){var i={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])};return i},e}(xa);const Vwe=Gwe;var $U="__ec_magicType_stack__",Hwe=[["line","bar"],["stack"]],Wwe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.getIcons=function(){var t=this.model,i=t.get("icon"),r={};return ne(t.get("type"),function(a){i[a]&&(r[a]=i[a])}),r},e.getDefaultOption=function(t){var i={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}};return i},e.prototype.onclick=function(t,i,r){var a=this.model,o=a.get(["seriesIndex",r]);if(YU[r]){var s={series:[]},l=function(d){var h=d.subType,f=d.id,p=YU[r](h,f,d,a);p&&(Vt(p,d.option),s.series.push(p));var g=d.coordinateSystem;if(g&&g.type==="cartesian2d"&&(r==="line"||r==="bar")){var m=g.getAxesByScale("ordinal")[0];if(m){var v=m.dim,_=v+"Axis",S=d.getReferringComponents(_,Z0).models[0],x=S.componentIndex;s[_]=s[_]||[];for(var A=0;A<=x;A++)s[_][x]=s[_][x]||{};s[_][x].boundaryGap=r==="bar"}}};ne(Hwe,function(d){_3(d,r)>=0&&ne(d,function(h){a.setIconStatus(h,"normal")})}),a.setIconStatus(r,"emphasis"),t.eachComponent({mainType:"series",query:o==null?null:{seriesIndex:o}},l);var u,c=r;r==="stack"&&(u=l3({stack:a.option.title.tiled,tiled:a.option.title.stack},a.option.title),a.get(["iconStatus",r])!=="emphasis"&&(c="tiled")),i.dispatchAction({type:"changeMagicType",currentType:c,newOption:s,newTitle:u,featureName:"magicType"})}},e}(xa),YU={line:function(n,e,t,i){if(n==="bar")return l3({id:e,type:"line",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},i.get(["option","line"])||{},!0)},bar:function(n,e,t,i){if(n==="line")return l3({id:e,type:"bar",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},i.get(["option","bar"])||{},!0)},stack:function(n,e,t,i){var r=t.get("stack")===$U;if(n==="line"||n==="bar")return i.setIconStatus("stack",r?"normal":"emphasis"),l3({id:e,stack:r?"":$U},i.get(["option","stack"])||{},!0)}};ps({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(n,e){e.mergeOption(n.newOption)});const jwe=Wwe;var iS=new Array(60).join("-"),G7=" ";function $we(n){var e={},t=[],i=[];return n.eachRawSeries(function(r){var a=r.coordinateSystem;if(a&&(a.type==="cartesian2d"||a.type==="polar")){var o=a.getBaseAxis();if(o.type==="category"){var s=o.dim+"_"+o.index;e[s]||(e[s]={categoryAxis:o,valueAxis:a.getOtherAxis(o),series:[]},i.push({axisDim:o.dim,axisIndex:o.index})),e[s].series.push(r)}else t.push(r)}else t.push(r)}),{seriesGroupByCategoryAxis:e,other:t,meta:i}}function Ywe(n){var e=[];return ne(n,function(t,i){var r=t.categoryAxis,a=t.valueAxis,o=a.dim,s=[" "].concat(j2(t.series,function(f){return f.name})),l=[r.model.getCategories()];ne(t.series,function(f){var p=f.getRawData();l.push(f.getRawData().mapArray(p.mapDimension(o),function(g){return g}))});for(var u=[s.join(G7)],c=0;c<l[0].length;c++){for(var d=[],h=0;h<l.length;h++)d.push(l[h][c]);u.push(d.join(G7))}e.push(u.join(` |
|
|
`))}),e.join(` |
|
|
|
|
|
`+iS+` |
|
|
|
|
|
`)}function qwe(n){return j2(n,function(e){var t=e.getRawData(),i=[e.name],r=[];return t.each(t.dimensions,function(){for(var a=arguments.length,o=arguments[a-1],s=t.getName(o),l=0;l<a-1;l++)r[l]=arguments[l];i.push((s?s+G7:"")+r.join(G7))}),i.join(` |
|
|
`)}).join(` |
|
|
|
|
|
`+iS+` |
|
|
|
|
|
`)}function Xwe(n){var e=$we(n);return{value:c1([Ywe(e.seriesGroupByCategoryAxis),qwe(e.other)],function(t){return!!t.replace(/[\n\t\s]/g,"")}).join(` |
|
|
|
|
|
`+iS+` |
|
|
|
|
|
`),meta:e.meta}}function Sy(n){return n.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function Kwe(n){var e=n.slice(0,n.indexOf(` |
|
|
`));if(e.indexOf(G7)>=0)return!0}var CM=new RegExp("["+G7+"]+","g");function Zwe(n){for(var e=n.split(/\n+/g),t=Sy(e.shift()).split(CM),i=[],r=j2(t,function(l){return{name:l,data:[]}}),a=0;a<e.length;a++){var o=Sy(e[a]).split(CM);i.push(o.shift());for(var s=0;s<o.length;s++)r[s]&&(r[s].data[a]=o[s])}return{series:r,categories:i}}function Jwe(n){for(var e=n.split(/\n+/g),t=Sy(e.shift()),i=[],r=0;r<e.length;r++){var a=Sy(e[r]);if(a){var o=a.split(CM),s="",l=void 0,u=!1;isNaN(o[0])?(u=!0,s=o[0],o=o.slice(1),i[r]={name:s,value:[]},l=i[r].value):l=i[r]=[];for(var c=0;c<o.length;c++)l.push(+o[c]);l.length===1&&(u?i[r].value=l[0]:i[r]=l[0])}}return{name:t,data:i}}function Qwe(n,e){var t=n.split(new RegExp(` |
|
|
*`+iS+` |
|
|
*`,"g")),i={series:[]};return ne(t,function(r,a){if(Kwe(r)){var o=Zwe(r),s=e[a],l=s.axisDim+"Axis";s&&(i[l]=i[l]||[],i[l][s.axisIndex]={data:o.categories},i.series=i.series.concat(o.series))}else{var o=Jwe(r);i.series.push(o)}}),i}var eTe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.onclick=function(t,i){setTimeout(function(){i.dispatchAction({type:"hideTip"})});var r=i.getDom(),a=this.model;this._dom&&r.removeChild(this._dom);var o=document.createElement("div");o.style.cssText="position:absolute;top:0;bottom:0;left:0;right:0;padding:5px",o.style.backgroundColor=a.get("backgroundColor")||"#fff";var s=document.createElement("h4"),l=a.get("lang")||[];s.innerHTML=l[0]||a.get("title"),s.style.cssText="margin:10px 20px",s.style.color=a.get("textColor");var u=document.createElement("div"),c=document.createElement("textarea");u.style.cssText="overflow:auto";var d=a.get("optionToContent"),h=a.get("contentToOption"),f=Xwe(t);if(Gt(d)){var p=d(i.getOption());_t(p)?u.innerHTML=p:I7(p)&&u.appendChild(p)}else{c.readOnly=a.get("readOnly");var g=c.style;g.cssText="display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none",g.color=a.get("textColor"),g.borderColor=a.get("textareaBorderColor"),g.backgroundColor=a.get("textareaColor"),c.value=f.value,u.appendChild(c)}var m=f.meta,v=document.createElement("div");v.style.cssText="position:absolute;bottom:5px;left:0;right:0";var _="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",S=document.createElement("div"),x=document.createElement("div");_+=";background-color:"+a.get("buttonColor"),_+=";color:"+a.get("buttonTextColor");var A=this;function C(){r.removeChild(o),A._dom=null}aC(S,"click",C),aC(x,"click",function(){if(h==null&&d!=null||h!=null&&d==null){C();return}var M;try{Gt(h)?M=h(u,i.getOption()):M=Qwe(c.value,m)}catch(I){throw C(),new Error("Data view format error "+I)}M&&i.dispatchAction({type:"changeDataView",newOption:M}),C()}),S.innerHTML=l[1],x.innerHTML=l[2],x.style.cssText=S.style.cssText=_,!a.get("readOnly")&&v.appendChild(x),v.appendChild(S),o.appendChild(s),o.appendChild(u),o.appendChild(v),u.style.height=r.clientHeight-80+"px",r.appendChild(o),this._dom=o},e.prototype.remove=function(t,i){this._dom&&i.getDom().removeChild(this._dom)},e.prototype.dispose=function(t,i){this.remove(t,i)},e.getDefaultOption=function(t){var i={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:t.getLocaleModel().get(["toolbox","dataView","title"]),lang:t.getLocaleModel().get(["toolbox","dataView","lang"]),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"};return i},e}(xa);function tTe(n,e){return j2(n,function(t,i){var r=e&&e[i];if(jt(r)&&!H2(r)){var a=jt(t)&&!H2(t);a||(t={value:t});var o=r.name!=null&&t.name==null;return t=Vt(t,r),o&&delete t.name,t}else return t})}ps({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(n,e){var t=[];ne(n.newOption.series,function(i){var r=e.getSeriesByName(i.name)[0];if(!r)t.push(L2({type:"scatter"},i));else{var a=r.get("data");t.push({name:i.name,data:tTe(i.data,a)})}}),e.mergeOption(Vt({series:t},n.newOption))});const nTe=eTe;var qQ=ne,XQ=B3();function iTe(n,e){var t=ZR(n);qQ(e,function(i,r){for(var a=t.length-1;a>=0;a--){var o=t[a];if(o[r])break}if(a<0){var s=n.queryComponents({mainType:"dataZoom",subType:"select",id:r})[0];if(s){var l=s.getPercentRange();t[0][r]={dataZoomId:r,start:l[0],end:l[1]}}}}),t.push(e)}function rTe(n){var e=ZR(n),t=e[e.length-1];e.length>1&&e.pop();var i={};return qQ(t,function(r,a){for(var o=e.length-1;o>=0;o--)if(r=e[o][a],r){i[a]=r;break}}),i}function aTe(n){XQ(n).snapshots=null}function oTe(n){return ZR(n).length}function ZR(n){var e=XQ(n);return e.snapshots||(e.snapshots=[{}]),e.snapshots}var sTe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.onclick=function(t,i){aTe(t),i.dispatchAction({type:"restore",from:this.uid})},e.getDefaultOption=function(t){var i={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:t.getLocaleModel().get(["toolbox","restore","title"])};return i},e}(xa);ps({type:"restore",event:"restore",update:"prepareAndUpdate"},function(n,e){e.resetOption("recreate")});const lTe=sTe;var uTe=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],cTe=function(){function n(e,t,i){var r=this;this._targetInfoList=[];var a=qU(t,e);ne(dTe,function(o,s){(!i||!i.include||_3(i.include,s)>=0)&&o(a,r._targetInfoList)})}return n.prototype.setOutputRanges=function(e,t){return this.matchOutputRanges(e,t,function(i,r,a){if((i.coordRanges||(i.coordRanges=[])).push(r),!i.coordRange){i.coordRange=r;var o=cT[i.brushType](0,a,r);i.__rangeOffset={offset:JU[i.brushType](o.values,i.range,[1,1]),xyMinMax:o.xyMinMax}}}),e},n.prototype.matchOutputRanges=function(e,t,i){ne(e,function(r){var a=this.findTargetInfo(r,t);a&&a!==!0&&ne(a.coordSyses,function(o){var s=cT[r.brushType](1,o,r.range,!0);i(r,s.values,o,t)})},this)},n.prototype.setInputRanges=function(e,t){ne(e,function(i){var r=this.findTargetInfo(i,t);if(i.range=i.range||[],r&&r!==!0){i.panelId=r.panelId;var a=cT[i.brushType](0,r.coordSys,i.coordRange),o=i.__rangeOffset;i.range=o?JU[i.brushType](a.values,o.offset,hTe(a.xyMinMax,o.xyMinMax)):a.values}},this)},n.prototype.makePanelOpts=function(e,t){return j2(this._targetInfoList,function(i){var r=i.getPanelRect();return{panelId:i.panelId,defaultBrushType:t?t(i):null,clipPath:nQ(r),isTargetByCursor:rQ(r,e,i.coordSysModel),getLinearBrushOtherExtent:iQ(r)}})},n.prototype.controlSeries=function(e,t,i){var r=this.findTargetInfo(e,i);return r===!0||r&&_3(r.coordSyses,t.coordinateSystem)>=0},n.prototype.findTargetInfo=function(e,t){for(var i=this._targetInfoList,r=qU(t,e),a=0;a<i.length;a++){var o=i[a],s=e.panelId;if(s){if(o.panelId===s)return o}else for(var l=0;l<XU.length;l++)if(XU[l](r,o))return o}return!0},n}();function MM(n){return n[0]>n[1]&&n.reverse(),n}function qU(n,e){return yd(n,e,{includeMainTypes:uTe})}var dTe={grid:function(n,e){var t=n.xAxisModels,i=n.yAxisModels,r=n.gridModels,a=Ct(),o={},s={};!t&&!i&&!r||(ne(t,function(l){var u=l.axis.grid.model;a.set(u.id,u),o[u.id]=!0}),ne(i,function(l){var u=l.axis.grid.model;a.set(u.id,u),s[u.id]=!0}),ne(r,function(l){a.set(l.id,l),o[l.id]=!0,s[l.id]=!0}),a.each(function(l){var u=l.coordinateSystem,c=[];ne(u.getCartesians(),function(d,h){(_3(t,d.getAxis("x").model)>=0||_3(i,d.getAxis("y").model)>=0)&&c.push(d)}),e.push({panelId:"grid--"+l.id,gridModel:l,coordSysModel:l,coordSys:c[0],coordSyses:c,getPanelRect:KU.grid,xAxisDeclared:o[l.id],yAxisDeclared:s[l.id]})}))},geo:function(n,e){ne(n.geoModels,function(t){var i=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:i,coordSyses:[i],getPanelRect:KU.geo})})}},XU=[function(n,e){var t=n.xAxisModel,i=n.yAxisModel,r=n.gridModel;return!r&&t&&(r=t.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(n,e){var t=n.geoModel;return t&&t===e.geoModel}],KU={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var n=this.coordSys,e=n.getBoundingRect().clone();return e.applyTransform(H8(n)),e}},cT={lineX:r3(ZU,0),lineY:r3(ZU,1),rect:function(n,e,t,i){var r=n?e.pointToData([t[0][0],t[1][0]],i):e.dataToPoint([t[0][0],t[1][0]],i),a=n?e.pointToData([t[0][1],t[1][1]],i):e.dataToPoint([t[0][1],t[1][1]],i),o=[MM([r[0],a[0]]),MM([r[1],a[1]])];return{values:o,xyMinMax:o}},polygon:function(n,e,t,i){var r=[[1/0,-1/0],[1/0,-1/0]],a=j2(t,function(o){var s=n?e.pointToData(o,i):e.dataToPoint(o,i);return r[0][0]=Math.min(r[0][0],s[0]),r[1][0]=Math.min(r[1][0],s[1]),r[0][1]=Math.max(r[0][1],s[0]),r[1][1]=Math.max(r[1][1],s[1]),s});return{values:a,xyMinMax:r}}};function ZU(n,e,t,i){var r=t.getAxis(["x","y"][n]),a=MM(j2([0,1],function(s){return e?r.coordToData(r.toLocalCoord(i[s]),!0):r.toGlobalCoord(r.dataToCoord(i[s]))})),o=[];return o[n]=a,o[1-n]=[NaN,NaN],{values:a,xyMinMax:o}}var JU={lineX:r3(QU,0),lineY:r3(QU,1),rect:function(n,e,t){return[[n[0][0]-t[0]*e[0][0],n[0][1]-t[0]*e[0][1]],[n[1][0]-t[1]*e[1][0],n[1][1]-t[1]*e[1][1]]]},polygon:function(n,e,t){return j2(n,function(i,r){return[i[0]-t[0]*e[r][0],i[1]-t[1]*e[r][1]]})}};function QU(n,e,t,i){return[e[0]-i[n]*t[0],e[1]-i[n]*t[1]]}function hTe(n,e){var t=eG(n),i=eG(e),r=[t[0]/i[0],t[1]/i[1]];return isNaN(r[0])&&(r[0]=1),isNaN(r[1])&&(r[1]=1),r}function eG(n){return n?[n[0][1]-n[0][0],n[1][1]-n[1][0]]:[NaN,NaN]}const JR=cTe;var EM=ne,fTe=D9e("toolbox-dataZoom_"),pTe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.render=function(t,i,r,a){this._brushController||(this._brushController=new RR(r.getZr()),this._brushController.on("brush",St(this._onBrush,this)).mount()),vTe(t,i,this,a,r),gTe(t,i)},e.prototype.onclick=function(t,i,r){mTe[r].call(this)},e.prototype.remove=function(t,i){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,i){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var i=t.areas;if(!t.isEnd||!i.length)return;var r={},a=this.ecModel;this._brushController.updateCovers([]);var o=new JR(QR(this.model),a,{include:["grid"]});o.matchOutputRanges(i,a,function(u,c,d){if(d.type==="cartesian2d"){var h=u.brushType;h==="rect"?(s("x",d,c[0]),s("y",d,c[1])):s({lineX:"x",lineY:"y"}[h],d,c)}}),iTe(a,r),this._dispatchZoomAction(r);function s(u,c,d){var h=c.getAxis(u),f=h.model,p=l(u,f,a),g=p.findRepresentativeAxisProxy(f).getMinMaxSpan();(g.minValueSpan!=null||g.maxValueSpan!=null)&&(d=Ml(0,d.slice(),h.scale.getExtent(),0,g.minValueSpan,g.maxValueSpan)),p&&(r[p.id]={dataZoomId:p.id,startValue:d[0],endValue:d[1]})}function l(u,c,d){var h;return d.eachComponent({mainType:"dataZoom",subType:"select"},function(f){var p=f.getAxisModel(u,c.componentIndex);p&&(h=f)}),h}},e.prototype._dispatchZoomAction=function(t){var i=[];EM(t,function(r,a){i.push($t(r))}),i.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:i})},e.getDefaultOption=function(t){var i={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}};return i},e}(xa),mTe={zoom:function(){var n=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:n})},back:function(){this._dispatchZoomAction(rTe(this.ecModel))}};function QR(n){var e={xAxisIndex:n.get("xAxisIndex",!0),yAxisIndex:n.get("yAxisIndex",!0),xAxisId:n.get("xAxisId",!0),yAxisId:n.get("yAxisId",!0)};return e.xAxisIndex==null&&e.xAxisId==null&&(e.xAxisIndex="all"),e.yAxisIndex==null&&e.yAxisId==null&&(e.yAxisIndex="all"),e}function gTe(n,e){n.setIconStatus("back",oTe(e)>1?"emphasis":"normal")}function vTe(n,e,t,i,r){var a=t._isZoomActive;i&&i.type==="takeGlobalCursor"&&(a=i.key==="dataZoomSelect"?i.dataZoomSelectActive:!1),t._isZoomActive=a,n.setIconStatus("zoom",a?"emphasis":"normal");var o=new JR(QR(n),e,{include:["grid"]}),s=o.makePanelOpts(r,function(l){return l.xAxisDeclared&&!l.yAxisDeclared?"lineX":!l.xAxisDeclared&&l.yAxisDeclared?"lineY":"rect"});t._brushController.setPanels(s).enableBrush(a&&s.length?{brushType:"auto",brushStyle:n.getModel("brushStyle").getItemStyle()}:!1)}f4e("dataZoom",function(n){var e=n.getComponent("toolbox",0),t=["feature","dataZoom"];if(!e||e.get(t)==null)return;var i=e.getModel(t),r=[],a=QR(i),o=yd(n,a);EM(o.xAxisModels,function(l){return s(l,"xAxis","xAxisIndex")}),EM(o.yAxisModels,function(l){return s(l,"yAxis","yAxisIndex")});function s(l,u,c){var d=l.componentIndex,h={type:"select",$fromToolbox:!0,filterMode:i.get("filterMode",!0)||"filter",id:fTe+u+d};h[c]=d,r.push(h)}return r});const yTe=pTe;function _Te(n){n.registerComponentModel(Fwe),n.registerComponentView(Uwe),V4("saveAsImage",Vwe),V4("magicType",jwe),V4("dataView",nTe),V4("dataZoom",yTe),V4("restore",lTe),T3(Nwe)}var STe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},e}(j3);const bTe=STe;function KQ(n){var e=n.get("confine");return e!=null?!!e:n.get("renderMode")==="richText"}function ZQ(n){if($3.domSupported){for(var e=document.documentElement.style,t=0,i=n.length;t<i;t++)if(n[t]in e)return n[t]}}var JQ=ZQ(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),xTe=ZQ(["webkitTransition","transition","OTransition","MozTransition","msTransition"]);function QQ(n,e){if(!n)return e;e=bX(e,!0);var t=n.indexOf(e);return n=t===-1?e:"-"+n.slice(0,t)+"-"+e,n.toLowerCase()}function wTe(n,e){var t=n.currentStyle||document.defaultView&&document.defaultView.getComputedStyle(n);return t?e?t[e]:t:null}var TTe=QQ(xTe,"transition"),eL=QQ(JQ,"transform"),ATe="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+($3.transform3dSupported?"will-change:transform;":"");function CTe(n){return n=n==="left"?"right":n==="right"?"left":n==="top"?"bottom":"top",n}function MTe(n,e,t){if(!_t(t)||t==="inside")return"";var i=n.get("backgroundColor"),r=n.get("borderWidth");e=ol(e);var a=CTe(t),o=Math.max(Math.round(r)*1.5,6),s="",l=eL+":",u;_3(["left","right"],a)>-1?(s+="top:50%",l+="translateY(-50%) rotate("+(u=a==="left"?-225:-45)+"deg)"):(s+="left:50%",l+="translateX(-50%) rotate("+(u=a==="top"?225:45)+"deg)");var c=u*Math.PI/180,d=o+r,h=d*Math.abs(Math.cos(c))+d*Math.abs(Math.sin(c)),f=Math.round(((h-Math.SQRT2*r)/2+Math.SQRT2*r-(h-d)/2)*100)/100;s+=";"+a+":-"+f+"px";var p=e+" solid "+r+"px;",g=["position:absolute;width:"+o+"px;height:"+o+"px;z-index:-1;",s+";"+l+";","border-bottom:"+p,"border-right:"+p,"background-color:"+i+";"];return'<div style="'+g.join("")+'"></div>'}function ETe(n,e){var t="cubic-bezier(0.23,1,0.32,1)",i=" "+n/2+"s "+t,r="opacity"+i+",visibility"+i;return e||(i=" "+n+"s "+t,r+=$3.transformSupported?","+eL+i:",left"+i+",top"+i),TTe+":"+r}function tG(n,e,t){var i=n.toFixed(0)+"px",r=e.toFixed(0)+"px";if(!$3.transformSupported)return t?"top:"+r+";left:"+i+";":[["top",r],["left",i]];var a=$3.transform3dSupported,o="translate"+(a?"3d":"")+"("+i+","+r+(a?",0":"")+")";return t?"top:0;left:0;"+eL+":"+o+";":[["top",0],["left",0],[JQ,o]]}function PTe(n){var e=[],t=n.get("fontSize"),i=n.getTextColor();i&&e.push("color:"+i),e.push("font:"+n.getFont());var r=e3(n.get("lineHeight"),Math.round(t*3/2));t&&e.push("line-height:"+r+"px");var a=n.get("textShadowColor"),o=n.get("textShadowBlur")||0,s=n.get("textShadowOffsetX")||0,l=n.get("textShadowOffsetY")||0;return a&&o&&e.push("text-shadow:"+s+"px "+l+"px "+o+"px "+a),ne(["decoration","align"],function(u){var c=n.get(u);c&&e.push("text-"+u+":"+c)}),e.join(";")}function RTe(n,e,t){var i=[],r=n.get("transitionDuration"),a=n.get("backgroundColor"),o=n.get("shadowBlur"),s=n.get("shadowColor"),l=n.get("shadowOffsetX"),u=n.get("shadowOffsetY"),c=n.getModel("textStyle"),d=iK(n,"html"),h=l+"px "+u+"px "+o+"px "+s;return i.push("box-shadow:"+h),e&&r&&i.push(ETe(r,t)),a&&i.push("background-color:"+a),ne(["width","color","radius"],function(f){var p="border-"+f,g=bX(p),m=n.get(g);m!=null&&i.push(p+":"+m+(f==="color"?"":"px"))}),i.push(PTe(c)),d!=null&&i.push("padding:"+fu(d).join("px ")+"px"),i.join(";")+";"}function nG(n,e,t,i,r){var a=e&&e.painter;if(t){var o=a&&a.getViewportRoot();o&&n5e(n,o,t,i,r)}else{n[0]=i,n[1]=r;var s=a&&a.getViewportRootOffset();s&&(n[0]+=s.offsetLeft,n[1]+=s.offsetTop)}n[2]=n[0]/e.getWidth(),n[3]=n[1]/e.getHeight()}var LTe=function(){function n(e,t){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,$3.wxa)return null;var i=document.createElement("div");i.domBelongToZr=!0,this.el=i;var r=this._zr=e.getZr(),a=t.appendTo,o=a&&(_t(a)?document.querySelector(a):I7(a)?a:Gt(a)&&a(e.getDom()));nG(this._styleCoord,r,o,e.getWidth()/2,e.getHeight()/2),(o||e.getDom()).appendChild(i),this._api=e,this._container=o;var s=this;i.onmouseenter=function(){s._enterable&&(clearTimeout(s._hideTimeout),s._show=!0),s._inContent=!0},i.onmousemove=function(l){if(l=l||window.event,!s._enterable){var u=r.handler,c=r.painter.getViewportRoot();ma(c,l,!0),u.dispatch("mousemove",l)}},i.onmouseleave=function(){s._inContent=!1,s._enterable&&s._show&&s.hideLater(s._hideDelay)}}return n.prototype.update=function(e){if(!this._container){var t=this._api.getDom(),i=wTe(t,"position"),r=t.style;r.position!=="absolute"&&i!=="absolute"&&(r.position="relative")}var a=e.get("alwaysShowContent");a&&this._moveIfResized(),this._alwaysShowContent=a,this.el.className=e.get("className")||""},n.prototype.show=function(e,t){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var i=this.el,r=i.style,a=this._styleCoord;i.innerHTML?r.cssText=ATe+RTe(e,!this._firstShow,this._longHide)+tG(a[0],a[1],!0)+("border-color:"+ol(t)+";")+(e.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):r.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},n.prototype.setContent=function(e,t,i,r,a){var o=this.el;if(e==null){o.innerHTML="";return}var s="";if(_t(a)&&i.get("trigger")==="item"&&!KQ(i)&&(s=MTe(i,r,a)),_t(e))o.innerHTML=e+s;else if(e){o.innerHTML="",H2(e)||(e=[e]);for(var l=0;l<e.length;l++)I7(e[l])&&e[l].parentNode!==o&&o.appendChild(e[l]);if(s&&o.childNodes.length){var u=document.createElement("div");u.innerHTML=s,o.appendChild(u)}}},n.prototype.setEnterable=function(e){this._enterable=e},n.prototype.getSize=function(){var e=this.el;return e?[e.offsetWidth,e.offsetHeight]:[0,0]},n.prototype.moveTo=function(e,t){if(this.el){var i=this._styleCoord;if(nG(i,this._zr,this._container,e,t),i[0]!=null&&i[1]!=null){var r=this.el.style,a=tG(i[0],i[1]);ne(a,function(o){r[o[0]]=o[1]})}}},n.prototype._moveIfResized=function(){var e=this._styleCoord[2],t=this._styleCoord[3];this.moveTo(e*this._zr.getWidth(),t*this._zr.getHeight())},n.prototype.hide=function(){var e=this,t=this.el.style;t.visibility="hidden",t.opacity="0",$3.transform3dSupported&&(t.willChange=""),this._show=!1,this._longHideTimeout=setTimeout(function(){return e._longHide=!0},500)},n.prototype.hideLater=function(e){this._show&&!(this._inContent&&this._enterable)&&!this._alwaysShowContent&&(e?(this._hideDelay=e,this._show=!1,this._hideTimeout=setTimeout(St(this.hide,this),e)):this.hide())},n.prototype.isShow=function(){return this._show},n.prototype.dispose=function(){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var e=this.el.parentNode;e&&e.removeChild(this.el),this.el=this._container=null},n}();const ITe=LTe;var DTe=function(){function n(e){this._show=!1,this._styleCoord=[0,0,0,0],this._alwaysShowContent=!1,this._enterable=!0,this._zr=e.getZr(),rG(this._styleCoord,this._zr,e.getWidth()/2,e.getHeight()/2)}return n.prototype.update=function(e){var t=e.get("alwaysShowContent");t&&this._moveIfResized(),this._alwaysShowContent=t},n.prototype.show=function(){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.show(),this._show=!0},n.prototype.setContent=function(e,t,i,r,a){var o=this;jt(e)&&l1(""),this.el&&this._zr.remove(this.el);var s=i.getModel("textStyle");this.el=new Y3({style:{rich:t.richTextStyles,text:e,lineHeight:22,borderWidth:1,borderColor:r,textShadowColor:s.get("textShadowColor"),fill:i.get(["textStyle","color"]),padding:iK(i,"richText"),verticalAlign:"top",align:"left"},z:i.get("z")}),ne(["backgroundColor","borderRadius","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"],function(u){o.el.style[u]=i.get(u)}),ne(["textShadowBlur","textShadowOffsetX","textShadowOffsetY"],function(u){o.el.style[u]=s.get(u)||0}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},n.prototype.setEnterable=function(e){this._enterable=e},n.prototype.getSize=function(){var e=this.el,t=this.el.getBoundingRect(),i=iG(e.style);return[t.width+i.left+i.right,t.height+i.top+i.bottom]},n.prototype.moveTo=function(e,t){var i=this.el;if(i){var r=this._styleCoord;rG(r,this._zr,e,t),e=r[0],t=r[1];var a=i.style,o=r5(a.borderWidth||0),s=iG(a);i.x=e+o+s.left,i.y=t+o+s.top,i.markRedraw()}},n.prototype._moveIfResized=function(){var e=this._styleCoord[2],t=this._styleCoord[3];this.moveTo(e*this._zr.getWidth(),t*this._zr.getHeight())},n.prototype.hide=function(){this.el&&this.el.hide(),this._show=!1},n.prototype.hideLater=function(e){this._show&&!(this._inContent&&this._enterable)&&!this._alwaysShowContent&&(e?(this._hideDelay=e,this._show=!1,this._hideTimeout=setTimeout(St(this.hide,this),e)):this.hide())},n.prototype.isShow=function(){return this._show},n.prototype.dispose=function(){this._zr.remove(this.el)},n}();function r5(n){return Math.max(0,n)}function iG(n){var e=r5(n.shadowBlur||0),t=r5(n.shadowOffsetX||0),i=r5(n.shadowOffsetY||0);return{left:r5(e-t),right:r5(e+t),top:r5(e-i),bottom:r5(e+i)}}function rG(n,e,t,i){n[0]=t,n[1]=i,n[2]=n[0]/e.getWidth(),n[3]=n[1]/e.getHeight()}const NTe=DTe;var kTe=new V3({shape:{x:-1,y:-1,width:2,height:2}}),FTe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){if(!($3.node||!i.getDom())){var r=t.getComponent("tooltip"),a=this._renderMode=U9e(r.get("renderMode"));this._tooltipContent=a==="richText"?new NTe(i):new ITe(i,{appendTo:r.get("appendToBody",!0)?"body":r.get("appendTo",!0)})}},e.prototype.render=function(t,i,r){if(!($3.node||!r.getDom())){this.group.removeAll(),this._tooltipModel=t,this._ecModel=i,this._api=r;var a=this._tooltipContent;a.update(t),a.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow(),this._renderMode!=="richText"&&t.get("transitionDuration")?yu(this,"_updatePosition",50,"fixRate"):dh(this,"_updatePosition")}},e.prototype._initGlobalListener=function(){var t=this._tooltipModel,i=t.get("triggerOn");FQ("itemTooltip",this._api,St(function(r,a,o){i!=="none"&&(i.indexOf(r)>=0?this._tryShow(a,o):r==="leave"&&this._hide(o))},this))},e.prototype._keepShow=function(){var t=this._tooltipModel,i=this._ecModel,r=this._api,a=t.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&a!=="none"&&a!=="click"){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!r.isDisposed()&&o.manuallyShowTip(t,i,r,{x:o._lastX,y:o._lastY,dataByCoordSys:o._lastDataByCoordSys})})}},e.prototype.manuallyShowTip=function(t,i,r,a){if(!(a.from===this.uid||$3.node||!r.getDom())){var o=aG(a,r);this._ticket="";var s=a.dataByCoordSys,l=UTe(a,i,r);if(l){var u=l.el.getBoundingRect().clone();u.applyTransform(l.el.transform),this._tryShow({offsetX:u.x+u.width/2,offsetY:u.y+u.height/2,target:l.el,position:a.position,positionDefault:"bottom"},o)}else if(a.tooltip&&a.x!=null&&a.y!=null){var c=kTe;c.x=a.x,c.y=a.y,c.update(),Xt(c).tooltipConfig={name:null,option:a.tooltip},this._tryShow({offsetX:a.x,offsetY:a.y,target:c},o)}else if(s)this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,dataByCoordSys:s,tooltipOption:a.tooltipOption},o);else if(a.seriesIndex!=null){if(this._manuallyAxisShowTip(t,i,r,a))return;var d=OQ(a,i),h=d.point[0],f=d.point[1];h!=null&&f!=null&&this._tryShow({offsetX:h,offsetY:f,target:d.el,position:a.position,positionDefault:"bottom"},o)}else a.x!=null&&a.y!=null&&(r.dispatchAction({type:"updateAxisPointer",x:a.x,y:a.y}),this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,target:r.getZr().findHover(a.x,a.y).target},o))}},e.prototype.manuallyHideTip=function(t,i,r,a){var o=this._tooltipContent;this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,a.from!==this.uid&&this._hide(aG(a,r))},e.prototype._manuallyAxisShowTip=function(t,i,r,a){var o=a.seriesIndex,s=a.dataIndex,l=i.getComponent("axisPointer").coordSysAxesInfo;if(!(o==null||s==null||l==null)){var u=i.getSeriesByIndex(o);if(u){var c=u.getData(),d=wc([c.getItemModel(s),u,(u.coordinateSystem||{}).model],this._tooltipModel);if(d.get("trigger")==="axis")return r.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:s,position:a.position}),!0}}},e.prototype._tryShow=function(t,i){var r=t.target,a=this._tooltipModel;if(a){this._lastX=t.offsetX,this._lastY=t.offsetY;var o=t.dataByCoordSys;if(o&&o.length)this._showAxisTooltip(o,t);else if(r){var s=Xt(r);if(s.ssrType==="legend")return;this._lastDataByCoordSys=null;var l,u;C8(r,function(c){if(Xt(c).dataIndex!=null)return l=c,!0;if(Xt(c).tooltipConfig!=null)return u=c,!0},!0),l?this._showSeriesItemTooltip(t,l,i):u?this._showComponentItemTooltip(t,u,i):this._hide(i)}else this._lastDataByCoordSys=null,this._hide(i)}},e.prototype._showOrMove=function(t,i){var r=t.get("showDelay");i=St(i,this),clearTimeout(this._showTimout),r>0?this._showTimout=setTimeout(i,r):i()},e.prototype._showAxisTooltip=function(t,i){var r=this._ecModel,a=this._tooltipModel,o=[i.offsetX,i.offsetY],s=wc([i.tooltipOption],a),l=this._renderMode,u=[],c=xn("section",{blocks:[],noHeader:!0}),d=[],h=new qx;ne(t,function(_){ne(_.dataByAxis,function(S){var x=r.getComponent(S.axisDim+"Axis",S.axisIndex),A=S.value;if(!(!x||A==null)){var C=DQ(A,x.axis,r,S.seriesDataIndices,S.valueLabelOpt),M=xn("section",{header:C,noHeader:!lo(C),sortBlocks:!0,blocks:[]});c.blocks.push(M),ne(S.seriesDataIndices,function(I){var D=r.getSeriesByIndex(I.seriesIndex),E=I.dataIndexInside,L=D.getDataParams(E);if(!(L.dataIndex<0)){L.axisDim=S.axisDim,L.axisIndex=S.axisIndex,L.axisType=S.axisType,L.axisId=S.axisId,L.axisValue=QP(x.axis,{value:A}),L.axisValueLabel=C,L.marker=h.makeTooltipMarker("item",ol(L.color),l);var V=HF(D.formatTooltip(E,!0,null)),Y=V.frag;if(Y){var G=wc([D],a).get("valueFormatter");M.blocks.push(G?L2({valueFormatter:G},Y):Y)}V.text&&d.push(V.text),u.push(L)}})}})}),c.blocks.reverse(),d.reverse();var f=i.position,p=s.get("order"),g=XF(c,h,l,p,r.get("useUTC"),s.get("textStyle"));g&&d.unshift(g);var m=l==="richText"?` |
|
|
|
|
|
`:"<br/>",v=d.join(m);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(t,u)?this._updatePosition(s,f,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,v,u,Math.random()+"",o[0],o[1],f,null,h)})},e.prototype._showSeriesItemTooltip=function(t,i,r){var a=this._ecModel,o=Xt(i),s=o.seriesIndex,l=a.getSeriesByIndex(s),u=o.dataModel||l,c=o.dataIndex,d=o.dataType,h=u.getData(d),f=this._renderMode,p=t.positionDefault,g=wc([h.getItemModel(c),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,p?{position:p}:null),m=g.get("trigger");if(!(m!=null&&m!=="item")){var v=u.getDataParams(c,d),_=new qx;v.marker=_.makeTooltipMarker("item",ol(v.color),f);var S=HF(u.formatTooltip(c,!1,d)),x=g.get("order"),A=g.get("valueFormatter"),C=S.frag,M=C?XF(A?L2({valueFormatter:A},C):C,_,f,x,a.get("useUTC"),g.get("textStyle")):S.text,I="item_"+u.name+"_"+c;this._showOrMove(g,function(){this._showTooltipContent(g,M,v,I,t.offsetX,t.offsetY,t.position,t.target,_)}),r({type:"showTip",dataIndexInside:c,dataIndex:h.getRawIndex(c),seriesIndex:s,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,i,r){var a=this._renderMode==="html",o=Xt(i),s=o.tooltipConfig,l=s.option||{},u=l.encodeHTMLContent;if(_t(l)){var c=l;l={content:c,formatter:c},u=!0}u&&a&&l.content&&(l=$t(l),l.content=mi(l.content));var d=[l],h=this._ecModel.getComponent(o.componentMainType,o.componentIndex);h&&d.push(h),d.push({formatter:l.content});var f=t.positionDefault,p=wc(d,this._tooltipModel,f?{position:f}:null),g=p.get("content"),m=Math.random()+"",v=new qx;this._showOrMove(p,function(){var _=$t(p.get("formatterParams")||{});this._showTooltipContent(p,g,_,m,t.offsetX,t.offsetY,t.position,i,v)}),r({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,i,r,a,o,s,l,u,c){if(this._ticket="",!(!t.get("showContent")||!t.get("show"))){var d=this._tooltipContent;d.setEnterable(t.get("enterable"));var h=t.get("formatter");l=l||t.get("position");var f=i,p=this._getNearestPoint([o,s],r,t.get("trigger"),t.get("borderColor")),g=p.color;if(h)if(_t(h)){var m=t.ecModel.get("useUTC"),v=H2(r)?r[0]:r,_=v&&v.axisType&&v.axisType.indexOf("time")>=0;f=h,_&&(f=N_(v.axisValue,f,m)),f=xX(f,r,!0)}else if(Gt(h)){var S=St(function(x,A){x===this._ticket&&(d.setContent(A,c,t,g,l),this._updatePosition(t,l,o,s,d,r,u))},this);this._ticket=a,f=h(r,a,S)}else f=h;d.setContent(f,c,t,g,l),d.show(t,g),this._updatePosition(t,l,o,s,d,r,u)}},e.prototype._getNearestPoint=function(t,i,r,a){if(r==="axis"||H2(i))return{color:a||(this._renderMode==="html"?"#fff":"none")};if(!H2(i))return{color:a||i.color||i.borderColor}},e.prototype._updatePosition=function(t,i,r,a,o,s,l){var u=this._api.getWidth(),c=this._api.getHeight();i=i||t.get("position");var d=o.getSize(),h=t.get("align"),f=t.get("verticalAlign"),p=l&&l.getBoundingRect().clone();if(l&&p.applyTransform(l.transform),Gt(i)&&(i=i([r,a],s,o.el,p,{viewSize:[u,c],contentSize:d.slice()})),H2(i))r=ft(i[0],u),a=ft(i[1],c);else if(jt(i)){var g=i;g.width=d[0],g.height=d[1];var m=hn(g,{width:u,height:c});r=m.x,a=m.y,h=null,f=null}else if(_t(i)&&l){var v=zTe(i,p,d,t.get("borderWidth"));r=v[0],a=v[1]}else{var v=OTe(r,a,o,u,c,h?null:20,f?null:20);r=v[0],a=v[1]}if(h&&(r-=oG(h)?d[0]/2:h==="right"?d[0]:0),f&&(a-=oG(f)?d[1]/2:f==="bottom"?d[1]:0),KQ(t)){var v=BTe(r,a,o,u,c);r=v[0],a=v[1]}o.moveTo(r,a)},e.prototype._updateContentNotChangedOnAxis=function(t,i){var r=this._lastDataByCoordSys,a=this._cbParamsList,o=!!r&&r.length===t.length;return o&&ne(r,function(s,l){var u=s.dataByAxis||[],c=t[l]||{},d=c.dataByAxis||[];o=o&&u.length===d.length,o&&ne(u,function(h,f){var p=d[f]||{},g=h.seriesDataIndices||[],m=p.seriesDataIndices||[];o=o&&h.value===p.value&&h.axisType===p.axisType&&h.axisId===p.axisId&&g.length===m.length,o&&ne(g,function(v,_){var S=m[_];o=o&&v.seriesIndex===S.seriesIndex&&v.dataIndex===S.dataIndex}),a&&ne(h.seriesDataIndices,function(v){var _=v.seriesIndex,S=i[_],x=a[_];S&&x&&x.data!==S.data&&(o=!1)})})}),this._lastDataByCoordSys=t,this._cbParamsList=i,!!o},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,i){$3.node||!i.getDom()||(dh(this,"_updatePosition"),this._tooltipContent.dispose(),wM("itemTooltip",i))},e.type="tooltip",e}(T0);function wc(n,e,t){var i=e.ecModel,r;t?(r=new X1(t,i,i),r=new X1(e.option,r,i)):r=e;for(var a=n.length-1;a>=0;a--){var o=n[a];o&&(o instanceof X1&&(o=o.get("tooltip",!0)),_t(o)&&(o={formatter:o}),o&&(r=new X1(o,r,i)))}return r}function aG(n,e){return n.dispatchAction||St(e.dispatchAction,e)}function OTe(n,e,t,i,r,a,o){var s=t.getSize(),l=s[0],u=s[1];return a!=null&&(n+l+a+2>i?n-=l+a:n+=a),o!=null&&(e+u+o>r?e-=u+o:e+=o),[n,e]}function BTe(n,e,t,i,r){var a=t.getSize(),o=a[0],s=a[1];return n=Math.min(n+o,i)-o,e=Math.min(e+s,r)-s,n=Math.max(n,0),e=Math.max(e,0),[n,e]}function zTe(n,e,t,i){var r=t[0],a=t[1],o=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=e.width,c=e.height;switch(n){case"inside":s=e.x+u/2-r/2,l=e.y+c/2-a/2;break;case"top":s=e.x+u/2-r/2,l=e.y-a-o;break;case"bottom":s=e.x+u/2-r/2,l=e.y+c+o;break;case"left":s=e.x-r-o,l=e.y+c/2-a/2;break;case"right":s=e.x+u+o,l=e.y+c/2-a/2}return[s,l]}function oG(n){return n==="center"||n==="middle"}function UTe(n,e,t){var i=dP(n).queryOptionMap,r=i.keys()[0];if(!(!r||r==="series")){var a=Zh(e,r,i.get(r),{useDefault:!1,enableAll:!1,enableNone:!1}),o=a.models[0];if(o){var s=t.getViewOfComponentModel(o),l;if(s.group.traverse(function(u){var c=Xt(u).tooltipConfig;if(c&&c.name===n.name)return l=u,!0}),l)return{componentMainType:r,componentIndex:o.componentIndex,el:l}}}}const GTe=FTe;function VTe(n){T3(pf),n.registerComponentModel(bTe),n.registerComponentView(GTe),n.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},U0),n.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},U0)}var HTe=["rect","polygon","keep","clear"];function WTe(n,e){var t=A1(n?n.brush:[]);if(t.length){var i=[];ne(t,function(l){var u=l.hasOwnProperty("toolbox")?l.toolbox:[];u instanceof Array&&(i=i.concat(u))});var r=n&&n.toolbox;H2(r)&&(r=r[0]),r||(r={feature:{}},n.toolbox=[r]);var a=r.feature||(r.feature={}),o=a.brush||(a.brush={}),s=o.type||(o.type=[]);s.push.apply(s,i),jTe(s),e&&!s.length&&s.push.apply(s,HTe)}}function jTe(n){var e={};ne(n,function(t){e[t]=1}),n.length=0,ne(e,function(t,i){n.push(i)})}var sG=ne;function lG(n){if(n){for(var e in n)if(n.hasOwnProperty(e))return!0}}function PM(n,e,t){var i={};return sG(e,function(a){var o=i[a]=r();sG(n[a],function(s,l){if(Zn.isValidType(l)){var u={type:l,visual:s};t&&t(u,a),o[l]=new Zn(u),l==="opacity"&&(u=$t(u),u.type="colorAlpha",o.__hidden.__alphaForOpacity=new Zn(u))}})}),i;function r(){var a=function(){};a.prototype.__hidden=a.prototype;var o=new a;return o}}function eee(n,e,t){var i;ne(t,function(r){e.hasOwnProperty(r)&&lG(e[r])&&(i=!0)}),i&&ne(t,function(r){e.hasOwnProperty(r)&&lG(e[r])?n[r]=$t(e[r]):delete n[r]})}function $Te(n,e,t,i,r,a){var o={};ne(n,function(d){var h=Zn.prepareVisualTypes(e[d]);o[d]=h});var s;function l(d){return VP(t,s,d)}function u(d,h){fK(t,s,d,h)}a==null?t.each(c):t.each([a],c);function c(d,h){s=a==null?d:h;var f=t.getRawDataItem(s);if(!(f&&f.visualMap===!1))for(var p=i.call(r,d),g=e[p],m=o[p],v=0,_=m.length;v<_;v++){var S=m[v];g[S]&&g[S].applyVisual(d,l,u)}}}function YTe(n,e,t,i){var r={};return ne(n,function(a){var o=Zn.prepareVisualTypes(e[a]);r[a]=o}),{progress:function(o,s){var l;i!=null&&(l=s.getDimensionIndex(i));function u(A){return VP(s,d,A)}function c(A,C){fK(s,d,A,C)}for(var d,h=s.getStore();(d=o.next())!=null;){var f=s.getRawDataItem(d);if(!(f&&f.visualMap===!1))for(var p=i!=null?h.get(l,d):d,g=t(p),m=e[g],v=r[g],_=0,S=v.length;_<S;_++){var x=v[_];m[x]&&m[x].applyVisual(p,u,c)}}}}}function qTe(n){var e=n.brushType,t={point:function(i){return uG[e].point(i,t,n)},rect:function(i){return uG[e].rect(i,t,n)}};return t}var uG={lineX:cG(0),lineY:cG(1),rect:{point:function(n,e,t){return n&&t.boundingRect.contain(n[0],n[1])},rect:function(n,e,t){return n&&t.boundingRect.intersect(n)}},polygon:{point:function(n,e,t){return n&&t.boundingRect.contain(n[0],n[1])&&g8(t.range,n[0],n[1])},rect:function(n,e,t){var i=t.range;if(!n||i.length<=1)return!1;var r=n.x,a=n.y,o=n.width,s=n.height,l=i[0];if(g8(i,r,a)||g8(i,r+o,a)||g8(i,r,a+s)||g8(i,r+o,a+s)||h3.create(n).contain(l[0],l[1])||Zc(r,a,r+o,a,i)||Zc(r,a,r,a+s,i)||Zc(r+o,a,r+o,a+s,i)||Zc(r,a+s,r+o,a+s,i))return!0}}};function cG(n){var e=["x","y"],t=["width","height"];return{point:function(i,r,a){if(i){var o=a.range,s=i[n];return Tc(s,o)}},rect:function(i,r,a){if(i){var o=a.range,s=[i[e[n]],i[e[n]]+i[t[n]]];return s[1]<s[0]&&s.reverse(),Tc(s[0],o)||Tc(s[1],o)||Tc(o[0],s)||Tc(o[1],s)}}}}function Tc(n,e){return e[0]<=n&&n<=e[1]}var dG=["inBrush","outOfBrush"],dT="__ecBrushSelect",RM="__ecInBrushSelectEvent";function tee(n){n.eachComponent({mainType:"brush"},function(e){var t=e.brushTargetManager=new JR(e.option,n);t.setInputRanges(e.areas,n)})}function XTe(n,e,t){var i=[],r,a;n.eachComponent({mainType:"brush"},function(o){t&&t.type==="takeGlobalCursor"&&o.setBrushOption(t.key==="brush"?t.brushOption:{brushType:!1})}),tee(n),n.eachComponent({mainType:"brush"},function(o,s){var l={brushId:o.id,brushIndex:s,brushName:o.name,areas:$t(o.areas),selected:[]};i.push(l);var u=o.option,c=u.brushLink,d=[],h=[],f=[],p=!1;s||(r=u.throttleType,a=u.throttleDelay);var g=j2(o.areas,function(A){var C=QTe[A.brushType],M=Vt({boundingRect:C?C(A):void 0},A);return M.selectors=qTe(M),M}),m=PM(o.option,dG,function(A){A.mappingMethod="fixed"});H2(c)&&ne(c,function(A){d[A]=1});function v(A){return c==="all"||!!d[A]}function _(A){return!!A.length}n.eachSeries(function(A,C){var M=f[C]=[];A.subType==="parallel"?S(A,C):x(A,C,M)});function S(A,C){var M=A.coordinateSystem;p=p||M.hasAxisBrushed(),v(C)&&M.eachActiveState(A.getData(),function(I,D){I==="active"&&(h[D]=1)})}function x(A,C,M){if(!(!A.brushSelector||JTe(o,C))&&(ne(g,function(D){o.brushTargetManager.controlSeries(D,A,n)&&M.push(D),p=p||_(M)}),v(C)&&_(M))){var I=A.getData();I.each(function(D){hG(A,M,I,D)&&(h[D]=1)})}}n.eachSeries(function(A,C){var M={seriesId:A.id,seriesIndex:C,seriesName:A.name,dataIndex:[]};l.selected.push(M);var I=f[C],D=A.getData(),E=v(C)?function(L){return h[L]?(M.dataIndex.push(D.getRawIndex(L)),"inBrush"):"outOfBrush"}:function(L){return hG(A,I,D,L)?(M.dataIndex.push(D.getRawIndex(L)),"inBrush"):"outOfBrush"};(v(C)?p:_(I))&&$Te(dG,m,D,E)})}),KTe(e,r,a,i,t)}function KTe(n,e,t,i,r){if(r){var a=n.getZr();if(!a[RM]){a[dT]||(a[dT]=ZTe);var o=yu(a,dT,t,e);o(n,i)}}}function ZTe(n,e){if(!n.isDisposed()){var t=n.getZr();t[RM]=!0,n.dispatchAction({type:"brushSelect",batch:e}),t[RM]=!1}}function hG(n,e,t,i){for(var r=0,a=e.length;r<a;r++){var o=e[r];if(n.brushSelector(i,t,o.selectors,o))return!0}}function JTe(n,e){var t=n.option.seriesIndex;return t!=null&&t!=="all"&&(H2(t)?_3(t,e)<0:e!==t)}var QTe={rect:function(n){return fG(n.range)},polygon:function(n){for(var e,t=n.range,i=0,r=t.length;i<r;i++){e=e||[[1/0,-1/0],[1/0,-1/0]];var a=t[i];a[0]<e[0][0]&&(e[0][0]=a[0]),a[0]>e[0][1]&&(e[0][1]=a[0]),a[1]<e[1][0]&&(e[1][0]=a[1]),a[1]>e[1][1]&&(e[1][1]=a[1])}return e&&fG(e)}};function fG(n){return new h3(n[0][0],n[1][0],n[0][1]-n[0][0],n[1][1]-n[1][0])}var eAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){this.ecModel=t,this.api=i,this.model,(this._brushController=new RR(i.getZr())).on("brush",St(this._onBrush,this)).mount()},e.prototype.render=function(t,i,r,a){this.model=t,this._updateController(t,i,r,a)},e.prototype.updateTransform=function(t,i,r,a){tee(i),this._updateController(t,i,r,a)},e.prototype.updateVisual=function(t,i,r,a){this.updateTransform(t,i,r,a)},e.prototype.updateView=function(t,i,r,a){this._updateController(t,i,r,a)},e.prototype._updateController=function(t,i,r,a){(!a||a.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(r)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var i=this.model.id,r=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:i,areas:$t(r),$from:i}),t.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:i,areas:$t(r),$from:i})},e.type="brush",e}(T0);const tAe=eAe;var nAe="#ddd",iAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.areas=[],t.brushOption={},t}return e.prototype.optionUpdated=function(t,i){var r=this.option;!i&&eee(r,t,["inBrush","outOfBrush"]);var a=r.inBrush=r.inBrush||{};r.outOfBrush=r.outOfBrush||{color:nAe},a.hasOwnProperty("liftZ")||(a.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=j2(t,function(i){return pG(this.option,i)},this))},e.prototype.setBrushOption=function(t){this.brushOption=pG(this.option,t),this.brushType=this.brushOption.brushType},e.type="brush",e.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],e.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},e}(j3);function pG(n,e){return l3({brushType:n.brushType,brushMode:n.brushMode,transformable:n.transformable,brushStyle:new X1(n.brushStyle).getItemStyle(),removeOnClick:n.removeOnClick,z:n.z},e,!0)}const rAe=iAe;var aAe=["rect","polygon","lineX","lineY","keep","clear"],oAe=function(n){g2(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.render=function(t,i,r){var a,o,s;i.eachComponent({mainType:"brush"},function(l){a=l.brushType,o=l.brushOption.brushMode||"single",s=s||!!l.areas.length}),this._brushType=a,this._brushMode=o,ne(t.get("type",!0),function(l){t.setIconStatus(l,(l==="keep"?o==="multiple":l==="clear"?s:l===a)?"emphasis":"normal")})},e.prototype.updateView=function(t,i,r){this.render(t,i,r)},e.prototype.getIcons=function(){var t=this.model,i=t.get("icon",!0),r={};return ne(t.get("type",!0),function(a){i[a]&&(r[a]=i[a])}),r},e.prototype.onclick=function(t,i,r){var a=this._brushType,o=this._brushMode;r==="clear"?(i.dispatchAction({type:"axisAreaSelect",intervals:[]}),i.dispatchAction({type:"brush",command:"clear",areas:[]})):i.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:r==="keep"?a:a===r?!1:r,brushMode:r==="keep"?o==="multiple"?"single":"multiple":o}})},e.getDefaultOption=function(t){var i={show:!0,type:aAe.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:t.getLocaleModel().get(["toolbox","brush","title"])};return i},e}(xa);const sAe=oAe;function lAe(n){n.registerComponentView(tAe),n.registerComponentModel(rAe),n.registerPreprocessor(WTe),n.registerVisual(n.PRIORITY.VISUAL.BRUSH,XTe),n.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(e,t){t.eachComponent({mainType:"brush",query:e},function(i){i.setAreas(e.areas)})}),n.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},U0),n.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},U0),V4("brush",sAe)}var uAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.layoutMode={type:"box",ignoreSize:!0},t}return e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(j3),cAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,i,r){if(this.group.removeAll(),!!t.get("show")){var a=this.group,o=t.getModel("textStyle"),s=t.getModel("subtextStyle"),l=t.get("textAlign"),u=e3(t.get("textBaseline"),t.get("textVerticalAlign")),c=new Y3({style:q1(o,{text:t.get("text"),fill:o.getTextColor()},{disableBox:!0}),z2:10}),d=c.getBoundingRect(),h=t.get("subtext"),f=new Y3({style:q1(s,{text:h,fill:s.getTextColor(),y:d.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),p=t.get("link"),g=t.get("sublink"),m=t.get("triggerEvent",!0);c.silent=!p&&!m,f.silent=!g&&!m,p&&c.on("click",function(){Xv(p,"_"+t.get("target"))}),g&&f.on("click",function(){Xv(g,"_"+t.get("subtarget"))}),Xt(c).eventData=Xt(f).eventData=m?{componentType:"title",componentIndex:t.componentIndex}:null,a.add(c),h&&a.add(f);var v=a.getBoundingRect(),_=t.getBoxLayoutParams();_.width=v.width,_.height=v.height;var S=hn(_,{width:r.getWidth(),height:r.getHeight()},t.get("padding"));l||(l=t.get("left")||t.get("right"),l==="middle"&&(l="center"),l==="right"?S.x+=S.width:l==="center"&&(S.x+=S.width/2)),u||(u=t.get("top")||t.get("bottom"),u==="center"&&(u="middle"),u==="bottom"?S.y+=S.height:u==="middle"&&(S.y+=S.height/2),u=u||"top"),a.x=S.x,a.y=S.y,a.markRedraw();var x={align:l,verticalAlign:u};c.setStyle(x),f.setStyle(x),v=a.getBoundingRect();var A=S.margin,C=t.getItemStyle(["color","opacity"]);C.fill=t.get("backgroundColor");var M=new V3({shape:{x:v.x-A[3],y:v.y-A[0],width:v.width+A[1]+A[3],height:v.height+A[0]+A[2],r:t.get("borderRadius")},style:C,subPixelOptimize:!0,silent:!0});a.add(M)}},e.type="title",e}(T0);function dAe(n){n.registerComponentModel(uAe),n.registerComponentView(cAe)}var hAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.layoutMode="box",t}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r),this._initData()},e.prototype.mergeOption=function(t){n.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){t==null&&(t=this.option.currentIndex);var i=this._data.count();this.option.loop?t=(t%i+i)%i:(t>=i&&(t=i-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t=this.option,i=t.data||[],r=t.axisType,a=this._names=[],o;r==="category"?(o=[],ne(i,function(u,c){var d=dn(lu(u),""),h;jt(u)?(h=$t(u),h.value=c):h=c,o.push(h),a.push(d)})):o=i;var s={category:"ordinal",time:"time",value:"number"}[r]||"number",l=this._data=new Oi([{name:"value",type:s}],this);l.initData(o,a)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if(this.get("axisType")==="category")return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},e}(j3);const mG=hAe;var nee=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline.slider",e.defaultOption=r9(mG.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),e}(mG);en(nee,G_.prototype);const fAe=nee;var pAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline",e}(T0);const mAe=pAe;var gAe=function(n){g2(e,n);function e(t,i,r,a){var o=n.call(this,t,i,r)||this;return o.type=a||"value",o}return e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return this.model.get("orient")==="horizontal"},e}(So);const vAe=gAe;var hT=Math.PI,gG=B3(),yAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,i){this.api=i},e.prototype.render=function(t,i,r){if(this.model=t,this.api=r,this.ecModel=i,this.group.removeAll(),t.get("show",!0)){var a=this._layout(t,r),o=this._createGroup("_mainGroup"),s=this._createGroup("_labelGroup"),l=this._axis=this._createAxis(a,t);t.formatTooltip=function(u){var c=l.scale.getLabel({value:u});return xn("nameValue",{noName:!0,value:c})},ne(["AxisLine","AxisTick","Control","CurrentPointer"],function(u){this["_render"+u](a,o,l,t)},this),this._renderAxisLabel(a,s,l,t),this._position(a,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,i){var r=t.get(["label","position"]),a=t.get("orient"),o=SAe(t,i),s;r==null||r==="auto"?s=a==="horizontal"?o.y+o.height/2<i.getHeight()/2?"-":"+":o.x+o.width/2<i.getWidth()/2?"+":"-":_t(r)?s={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[a][r]:s=r;var l={horizontal:"center",vertical:s>=0||s==="+"?"left":"right"},u={horizontal:s>=0||s==="+"?"top":"bottom",vertical:"middle"},c={horizontal:0,vertical:hT/2},d=a==="vertical"?o.height:o.width,h=t.getModel("controlStyle"),f=h.get("show",!0),p=f?h.get("itemSize"):0,g=f?h.get("itemGap"):0,m=p+g,v=t.get(["label","rotate"])||0;v=v*hT/180;var _,S,x,A=h.get("position",!0),C=f&&h.get("showPlayBtn",!0),M=f&&h.get("showPrevBtn",!0),I=f&&h.get("showNextBtn",!0),D=0,E=d;A==="left"||A==="bottom"?(C&&(_=[0,0],D+=m),M&&(S=[D,0],D+=m),I&&(x=[E-p,0],E-=m)):(C&&(_=[E-p,0],E-=m),M&&(S=[0,0],D+=m),I&&(x=[E-p,0],E-=m));var L=[D,E];return t.get("inverse")&&L.reverse(),{viewRect:o,mainLength:d,orient:a,rotation:c[a],labelRotation:v,labelPosOpt:s,labelAlign:t.get(["label","align"])||l[a],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||u[a],playPosition:_,prevBtnPosition:S,nextBtnPosition:x,axisExtent:L,controlSize:p,controlGap:g}},e.prototype._position=function(t,i){var r=this._mainGroup,a=this._labelGroup,o=t.viewRect;if(t.orient==="vertical"){var s=Gr(),l=o.x,u=o.y+o.height;ls(s,s,[-l,-u]),_l(s,s,-hT/2),ls(s,s,[l,u]),o=o.clone(),o.applyTransform(s)}var c=_(o),d=_(r.getBoundingRect()),h=_(a.getBoundingRect()),f=[r.x,r.y],p=[a.x,a.y];p[0]=f[0]=c[0][0];var g=t.labelPosOpt;if(g==null||_t(g)){var m=g==="+"?0:1;S(f,d,c,1,m),S(p,h,c,1,1-m)}else{var m=g>=0?0:1;S(f,d,c,1,m),p[1]=f[1]+g}r.setPosition(f),a.setPosition(p),r.rotation=a.rotation=t.rotation,v(r),v(a);function v(x){x.originX=c[0][0]-x.x,x.originY=c[1][0]-x.y}function _(x){return[[x.x,x.x+x.width],[x.y,x.y+x.height]]}function S(x,A,C,M,I){x[M]+=C[M][I]-A[M][I]}},e.prototype._createAxis=function(t,i){var r=i.getData(),a=i.get("axisType"),o=_Ae(i,a);o.getTicks=function(){return r.mapArray(["value"],function(u){return{value:u}})};var s=r.getDataExtent("value");o.setExtent(s[0],s[1]),o.calcNiceTicks();var l=new vAe("value",o,t.axisExtent,a);return l.model=i,l},e.prototype._createGroup=function(t){var i=this[t]=new qt;return this.group.add(i),i},e.prototype._renderAxisLine=function(t,i,r,a){var o=r.getExtent();if(a.get(["lineStyle","show"])){var s=new Fn({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:L2({lineCap:"round"},a.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});i.add(s);var l=this._progressLine=new Fn({shape:{x1:o[0],x2:this._currentPointer?this._currentPointer.x:o[0],y1:0,y2:0},style:Vt({lineCap:"round",lineWidth:s.style.lineWidth},a.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});i.add(l)}},e.prototype._renderAxisTick=function(t,i,r,a){var o=this,s=a.getData(),l=r.scale.getTicks();this._tickSymbols=[],ne(l,function(u){var c=r.dataToCoord(u.value),d=s.getItemModel(u.value),h=d.getModel("itemStyle"),f=d.getModel(["emphasis","itemStyle"]),p=d.getModel(["progress","itemStyle"]),g={x:c,y:0,onclick:St(o._changeTimeline,o,u.value)},m=vG(d,h,i,g);m.ensureState("emphasis").style=f.getItemStyle(),m.ensureState("progress").style=p.getItemStyle(),V8(m);var v=Xt(m);d.get("tooltip")?(v.dataIndex=u.value,v.dataModel=a):v.dataIndex=v.dataModel=null,o._tickSymbols.push(m)})},e.prototype._renderAxisLabel=function(t,i,r,a){var o=this,s=r.getLabelModel();if(s.get("show")){var l=a.getData(),u=r.getViewLabels();this._tickLabels=[],ne(u,function(c){var d=c.tickValue,h=l.getItemModel(d),f=h.getModel("label"),p=h.getModel(["emphasis","label"]),g=h.getModel(["progress","label"]),m=r.dataToCoord(c.tickValue),v=new Y3({x:m,y:0,rotation:t.labelRotation-t.rotation,onclick:St(o._changeTimeline,o,d),silent:!1,style:q1(f,{text:c.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});v.ensureState("emphasis").style=q1(p),v.ensureState("progress").style=q1(g),i.add(v),V8(v),gG(v).dataIndex=d,o._tickLabels.push(v)})}},e.prototype._renderControl=function(t,i,r,a){var o=t.controlSize,s=t.rotation,l=a.getModel("controlStyle").getItemStyle(),u=a.getModel(["emphasis","controlStyle"]).getItemStyle(),c=a.getPlayState(),d=a.get("inverse",!0);h(t.nextBtnPosition,"next",St(this._changeTimeline,this,d?"-":"+")),h(t.prevBtnPosition,"prev",St(this._changeTimeline,this,d?"+":"-")),h(t.playPosition,c?"stop":"play",St(this._handlePlayClick,this,!c),!0);function h(f,p,g,m){if(f){var v=mo(e3(a.get(["controlStyle",p+"BtnSize"]),o),o),_=[0,-v/2,v,v],S=bAe(a,p+"Icon",_,{x:f[0],y:f[1],originX:o/2,originY:0,rotation:m?-s:0,rectHover:!0,style:l,onclick:g});S.ensureState("emphasis").style=u,i.add(S),V8(S)}}},e.prototype._renderCurrentPointer=function(t,i,r,a){var o=a.getData(),s=a.getCurrentIndex(),l=o.getItemModel(s).getModel("checkpointStyle"),u=this,c={onCreate:function(d){d.draggable=!0,d.drift=St(u._handlePointerDrag,u),d.ondragend=St(u._handlePointerDragend,u),yG(d,u._progressLine,s,r,a,!0)},onUpdate:function(d){yG(d,u._progressLine,s,r,a)}};this._currentPointer=vG(l,l,this._mainGroup,{},this._currentPointer,c)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,i,r){this._clearTimer(),this._pointerChangeTimeline([r.offsetX,r.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,i){var r=this._toAxisCoord(t)[0],a=this._axis,o=La(a.getExtent().slice());r>o[1]&&(r=o[1]),r<o[0]&&(r=o[0]),this._currentPointer.x=r,this._currentPointer.markRedraw();var s=this._progressLine;s&&(s.shape.x2=r,s.dirty());var l=this._findNearestTick(r),u=this.model;(i||l!==u.getCurrentIndex()&&u.get("realtime"))&&this._changeTimeline(l)},e.prototype._doPlayStop=function(){var t=this;this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(function(){var i=t.model;t._changeTimeline(i.getCurrentIndex()+(i.get("rewind",!0)?-1:1))},this.model.get("playInterval")))},e.prototype._toAxisCoord=function(t){var i=this._mainGroup.getLocalTransform();return fo(t,i,!0)},e.prototype._findNearestTick=function(t){var i=this.model.getData(),r=1/0,a,o=this._axis;return i.each(["value"],function(s,l){var u=o.dataToCoord(s),c=Math.abs(u-t);c<r&&(r=c,a=l)}),a},e.prototype._clearTimer=function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},e.prototype._changeTimeline=function(t){var i=this.model.getCurrentIndex();t==="+"?t=i+1:t==="-"&&(t=i-1),this.api.dispatchAction({type:"timelineChange",currentIndex:t,from:this.uid})},e.prototype._updateTicksStatus=function(){var t=this.model.getCurrentIndex(),i=this._tickSymbols,r=this._tickLabels;if(i)for(var a=0;a<i.length;a++)i&&i[a]&&i[a].toggleState("progress",a<t);if(r)for(var a=0;a<r.length;a++)r&&r[a]&&r[a].toggleState("progress",gG(r[a]).dataIndex<=t)},e.type="timeline.slider",e}(mAe);function _Ae(n,e){if(e=e||n.get("type"),e)switch(e){case"category":return new XP({ordinalMeta:n.getCategories(),extent:[1/0,-1/0]});case"time":return new nZ({locale:n.ecModel.getLocaleModel(),useUTC:n.ecModel.get("useUTC")});default:return new q5}}function SAe(n,e){return hn(n.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},n.get("padding"))}function bAe(n,e,t,i){var r=i.style,a=ef(n.get(["controlStyle",e]),i||{},new h3(t[0],t[1],t[2],t[3]));return r&&a.setStyle(r),a}function vG(n,e,t,i,r,a){var o=e.get("color");if(r)r.setColor(o),t.add(r),a&&a.onUpdate(r);else{var s=n.get("symbol");r=J0(s,-1,-1,2,2,o),r.setStyle("strokeNoScale",!0),t.add(r),a&&a.onCreate(r)}var l=e.getItemStyle(["color"]);r.setStyle(l),i=l3({rectHover:!0,z2:100},i,!0);var u=_u(n.get("symbolSize"));i.scaleX=u[0]/2,i.scaleY=u[1]/2;var c=wl(n.get("symbolOffset"),u);c&&(i.x=(i.x||0)+c[0],i.y=(i.y||0)+c[1]);var d=n.get("symbolRotate");return i.rotation=(d||0)*Math.PI/180||0,r.attr(i),r.updateTransform(),r}function yG(n,e,t,i,r,a){if(!n.dragging){var o=r.getModel("checkpointStyle"),s=i.dataToCoord(r.getData().get("value",t));if(a||!o.get("animation",!0))n.attr({x:s,y:0}),e&&e.attr({shape:{x2:s}});else{var l={duration:o.get("animationDuration",!0),easing:o.get("animationEasing",!0)};n.stopAnimation(null,!0),n.animateTo({x:s,y:0},l),e&&e.animateTo({shape:{x2:s}},l)}}}const xAe=yAe;function wAe(n){n.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(e,t,i){var r=t.getComponent("timeline");return r&&e.currentIndex!=null&&(r.setCurrentIndex(e.currentIndex),!r.get("loop",!0)&&r.isIndexMax()&&r.getPlayState()&&(r.setPlayState(!1),i.dispatchAction({type:"timelinePlayChange",playState:!1,from:e.from}))),t.resetOption("timeline",{replaceMerge:r.get("replaceMerge",!0)}),Vt({currentIndex:r.option.currentIndex},e)}),n.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(e,t){var i=t.getComponent("timeline");i&&e.playState!=null&&i.setPlayState(e.playState)})}function TAe(n){var e=n&&n.timeline;H2(e)||(e=e?[e]:[]),ne(e,function(t){t&&AAe(t)})}function AAe(n){var e=n.type,t={number:"value",time:"time"};if(t[e]&&(n.axisType=t[e],delete n.type),_G(n),_8(n,"controlPosition")){var i=n.controlStyle||(n.controlStyle={});_8(i,"position")||(i.position=n.controlPosition),i.position==="none"&&!_8(i,"show")&&(i.show=!1,delete i.position),delete n.controlPosition}ne(n.data||[],function(r){jt(r)&&!H2(r)&&(!_8(r,"value")&&_8(r,"name")&&(r.value=r.name),_G(r))})}function _G(n){var e=n.itemStyle||(n.itemStyle={}),t=e.emphasis||(e.emphasis={}),i=n.label||n.label||{},r=i.normal||(i.normal={}),a={normal:1,emphasis:1};ne(i,function(o,s){!a[s]&&!_8(r,s)&&(r[s]=o)}),t.label&&!_8(i,"emphasis")&&(i.emphasis=t.label,delete t.label)}function _8(n,e){return n.hasOwnProperty(e)}function CAe(n){n.registerComponentModel(fAe),n.registerComponentView(xAe),n.registerSubTypeDefaulter("timeline",function(){return"slider"}),wAe(n),n.registerPreprocessor(TAe)}function tL(n,e){if(!n)return!1;for(var t=H2(n)?n:[n],i=0;i<t.length;i++)if(t[i]&&t[i][e])return!0;return!1}function wm(n){nl(n,"label",["show"])}var Tm=B3(),iee=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.createdBySelf=!1,t}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r),this._mergeOption(t,r,!1,!0)},e.prototype.isAnimationEnabled=function(){if($3.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},e.prototype.mergeOption=function(t,i){this._mergeOption(t,i,!1,!1)},e.prototype._mergeOption=function(t,i,r,a){var o=this.mainType;r||i.eachSeries(function(s){var l=s.get(this.mainType,!0),u=Tm(s)[o];if(!l||!l.data){Tm(s)[o]=null;return}u?u._mergeOption(l,i,!0):(a&&wm(l),ne(l.data,function(c){c instanceof Array?(wm(c[0]),wm(c[1])):wm(c)}),u=this.createMarkerModelFromSeries(l,this,i),L2(u,{mainType:this.mainType,seriesIndex:s.seriesIndex,name:s.name,createdBySelf:!0}),u.__hostSeries=s),Tm(s)[o]=u},this)},e.prototype.formatTooltip=function(t,i,r){var a=this.getData(),o=this.getRawValue(t),s=a.getName(t);return xn("section",{header:this.name,blocks:[xn("nameValue",{name:s,value:o,noName:!s,noValue:o==null})]})},e.prototype.getData=function(){return this._data},e.prototype.setData=function(t){this._data=t},e.prototype.getDataParams=function(t,i){var r=G_.prototype.getDataParams.call(this,t,i),a=this.__hostSeries;return a&&(r.seriesId=a.id,r.seriesName=a.name,r.seriesType=a.subType),r},e.getMarkerModelFromSeries=function(t,i){return Tm(t)[i]},e.type="marker",e.dependencies=["series","grid","polar","geo"],e}(j3);en(iee,G_.prototype);const Z5=iee;var MAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,i,r){return new e(t,i,r)},e.type="markPoint",e.defaultOption={z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}},e}(Z5);const EAe=MAe;function LM(n){return!(isNaN(parseFloat(n.x))&&isNaN(parseFloat(n.y)))}function PAe(n){return!isNaN(parseFloat(n.x))&&!isNaN(parseFloat(n.y))}function Am(n,e,t,i,r,a){var o=[],s=Y5(e,i),l=s?e.getCalculationInfo("stackResultDimension"):i,u=nL(e,l,n),c=e.indicesOfNearest(l,u)[0];o[r]=e.get(t,c),o[a]=e.get(l,c);var d=e.get(i,c),h=Ko(e.get(i,c));return h=Math.min(h,20),h>=0&&(o[a]=+o[a].toFixed(h)),[o,d]}var fT={min:r3(Am,"min"),max:r3(Am,"max"),average:r3(Am,"average"),median:r3(Am,"median")};function Th(n,e){if(e){var t=n.getData(),i=n.coordinateSystem,r=i&&i.dimensions;if(!PAe(e)&&!H2(e.coord)&&H2(r)){var a=ree(e,t,i,n);if(e=$t(e),e.type&&fT[e.type]&&a.baseAxis&&a.valueAxis){var o=_3(r,a.baseAxis.dim),s=_3(r,a.valueAxis.dim),l=fT[e.type](t,a.baseDataDim,a.valueDataDim,o,s);e.coord=l[0],e.value=l[1]}else e.coord=[e.xAxis!=null?e.xAxis:e.radiusAxis,e.yAxis!=null?e.yAxis:e.angleAxis]}if(e.coord==null||!H2(r))e.coord=[];else for(var u=e.coord,c=0;c<2;c++)fT[u[c]]&&(u[c]=nL(t,t.mapDimension(r[c]),u[c]));return e}}function ree(n,e,t,i){var r={};return n.valueIndex!=null||n.valueDim!=null?(r.valueDataDim=n.valueIndex!=null?e.getDimension(n.valueIndex):n.valueDim,r.valueAxis=t.getAxis(RAe(i,r.valueDataDim)),r.baseAxis=t.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=t.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function RAe(n,e){var t=n.getData().getDimensionInfo(e);return t&&t.coordDim}function Ah(n,e){return n&&n.containData&&e.coord&&!LM(e)?n.containData(e.coord):!0}function LAe(n,e,t){return n&&n.containZone&&e.coord&&t.coord&&!LM(e)&&!LM(t)?n.containZone(e.coord,t.coord):!0}function aee(n,e){return n?function(t,i,r,a){var o=a<2?t.coord&&t.coord[a]:t.value;return D5(o,e[a])}:function(t,i,r,a){return D5(t.value,e[a])}}function nL(n,e,t){if(t==="average"){var i=0,r=0;return n.each(e,function(a,o){isNaN(a)||(i+=a,r++)}),i/r}else return t==="median"?n.getMedian(e):n.getDataExtent(e)[t==="max"?1:0]}var pT=B3(),IAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this.markerGroupMap=Ct()},e.prototype.render=function(t,i,r){var a=this,o=this.markerGroupMap;o.each(function(s){pT(s).keep=!1}),i.eachSeries(function(s){var l=Z5.getMarkerModelFromSeries(s,a.type);l&&a.renderSeries(s,l,i,r)}),o.each(function(s){!pT(s).keep&&a.group.remove(s.group)})},e.prototype.markKeep=function(t){pT(t).keep=!0},e.prototype.toggleBlurSeries=function(t,i){var r=this;ne(t,function(a){var o=Z5.getMarkerModelFromSeries(a,r.type);if(o){var s=o.getData();s.eachItemGraphicEl(function(l){l&&(i?Rq(l):yP(l))})}})},e.type="marker",e}(T0);const iL=IAe;function SG(n,e,t){var i=e.coordinateSystem;n.each(function(r){var a=n.getItemModel(r),o,s=ft(a.get("x"),t.getWidth()),l=ft(a.get("y"),t.getHeight());if(!isNaN(s)&&!isNaN(l))o=[s,l];else if(e.getMarkerPosition)o=e.getMarkerPosition(n.getValues(n.dimensions,r));else if(i){var u=n.get(i.dimensions[0],r),c=n.get(i.dimensions[1],r);o=i.dataToPoint([u,c])}isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),n.setItemLayout(r,o)})}var DAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,i,r){i.eachSeries(function(a){var o=Z5.getMarkerModelFromSeries(a,"markPoint");o&&(SG(o.getData(),a,r),this.markerGroupMap.get(a.id).updateLayout())},this)},e.prototype.renderSeries=function(t,i,r,a){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,c=u.get(s)||u.set(s,new sf),d=NAe(o,t,i);i.setData(d),SG(i.getData(),t,a),d.each(function(h){var f=d.getItemModel(h),p=f.getShallow("symbol"),g=f.getShallow("symbolSize"),m=f.getShallow("symbolRotate"),v=f.getShallow("symbolOffset"),_=f.getShallow("symbolKeepAspect");if(Gt(p)||Gt(g)||Gt(m)||Gt(v)){var S=i.getRawValue(h),x=i.getDataParams(h);Gt(p)&&(p=p(S,x)),Gt(g)&&(g=g(S,x)),Gt(m)&&(m=m(S,x)),Gt(v)&&(v=v(S,x))}var A=f.getModel("itemStyle").getItemStyle(),C=nf(l,"color");A.fill||(A.fill=C),d.setItemVisual(h,{symbol:p,symbolSize:g,symbolRotate:m,symbolOffset:v,symbolKeepAspect:_,style:A})}),c.updateData(d),this.group.add(c.group),d.eachItemGraphicEl(function(h){h.traverse(function(f){Xt(f).dataModel=i})}),this.markKeep(c),c.group.silent=i.get("silent")||t.get("silent")},e.type="markPoint",e}(iL);function NAe(n,e,t){var i;n?i=j2(n&&n.dimensions,function(s){var l=e.getData().getDimensionInfo(e.getData().mapDimension(s))||{};return L2(L2({},l),{name:s,ordinalMeta:null})}):i=[{name:"value",type:"float"}];var r=new Oi(i,t),a=j2(t.get("data"),r3(Th,e));n&&(a=c1(a,r3(Ah,n)));var o=aee(!!n,i);return r.initData(a,null,o),r}const kAe=DAe;function FAe(n){n.registerComponentModel(EAe),n.registerComponentView(kAe),n.registerPreprocessor(function(e){tL(e.series,"markPoint")&&(e.markPoint=e.markPoint||{})})}var OAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,i,r){return new e(t,i,r)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(Z5);const BAe=OAe;var Cm=B3(),zAe=function(n,e,t,i){var r=n.getData(),a;if(H2(i))a=i;else{var o=i.type;if(o==="min"||o==="max"||o==="average"||o==="median"||i.xAxis!=null||i.yAxis!=null){var s=void 0,l=void 0;if(i.yAxis!=null||i.xAxis!=null)s=e.getAxis(i.yAxis!=null?"y":"x"),l=kn(i.yAxis,i.xAxis);else{var u=ree(i,r,e,n);s=u.valueAxis;var c=VK(r,u.valueDataDim);l=nL(r,c,o)}var d=s.dim==="x"?0:1,h=1-d,f=$t(i),p={coord:[]};f.type=null,f.coord=[],f.coord[h]=-1/0,p.coord[h]=1/0;var g=t.get("precision");g>=0&&q3(l)&&(l=+l.toFixed(Math.min(g,20))),f.coord[d]=p.coord[d]=l,a=[f,p,{type:o,valueIndex:i.valueIndex,value:l}]}else a=[]}var m=[Th(n,a[0]),Th(n,a[1]),L2({},a[2])];return m[2].type=m[2].type||null,l3(m[2],m[0]),l3(m[2],m[1]),m};function by(n){return!isNaN(n)&&!isFinite(n)}function bG(n,e,t,i){var r=1-n,a=i.dimensions[n];return by(e[r])&&by(t[r])&&e[n]===t[n]&&i.getAxis(a).containData(e[n])}function UAe(n,e){if(n.type==="cartesian2d"){var t=e[0].coord,i=e[1].coord;if(t&&i&&(bG(1,t,i,n)||bG(0,t,i,n)))return!0}return Ah(n,e[0])&&Ah(n,e[1])}function mT(n,e,t,i,r){var a=i.coordinateSystem,o=n.getItemModel(e),s,l=ft(o.get("x"),r.getWidth()),u=ft(o.get("y"),r.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(i.getMarkerPosition)s=i.getMarkerPosition(n.getValues(n.dimensions,e));else{var c=a.dimensions,d=n.get(c[0],e),h=n.get(c[1],e);s=a.dataToPoint([d,h])}if(Al(a,"cartesian2d")){var f=a.getAxis("x"),p=a.getAxis("y"),c=a.dimensions;by(n.get(c[0],e))?s[0]=f.toGlobalCoord(f.getExtent()[t?0:1]):by(n.get(c[1],e))&&(s[1]=p.toGlobalCoord(p.getExtent()[t?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}n.setItemLayout(e,s)}var GAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,i,r){i.eachSeries(function(a){var o=Z5.getMarkerModelFromSeries(a,"markLine");if(o){var s=o.getData(),l=Cm(o).from,u=Cm(o).to;l.each(function(c){mT(l,c,!0,a,r),mT(u,c,!1,a,r)}),s.each(function(c){s.setItemLayout(c,[l.getItemLayout(c),u.getItemLayout(c)])}),this.markerGroupMap.get(a.id).updateLayout()}},this)},e.prototype.renderSeries=function(t,i,r,a){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,c=u.get(s)||u.set(s,new TR);this.group.add(c.group);var d=VAe(o,t,i),h=d.from,f=d.to,p=d.line;Cm(i).from=h,Cm(i).to=f,i.setData(p);var g=i.get("symbol"),m=i.get("symbolSize"),v=i.get("symbolRotate"),_=i.get("symbolOffset");H2(g)||(g=[g,g]),H2(m)||(m=[m,m]),H2(v)||(v=[v,v]),H2(_)||(_=[_,_]),d.from.each(function(x){S(h,x,!0),S(f,x,!1)}),p.each(function(x){var A=p.getItemModel(x).getModel("lineStyle").getLineStyle();p.setItemLayout(x,[h.getItemLayout(x),f.getItemLayout(x)]),A.stroke==null&&(A.stroke=h.getItemVisual(x,"style").fill),p.setItemVisual(x,{fromSymbolKeepAspect:h.getItemVisual(x,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(x,"symbolOffset"),fromSymbolRotate:h.getItemVisual(x,"symbolRotate"),fromSymbolSize:h.getItemVisual(x,"symbolSize"),fromSymbol:h.getItemVisual(x,"symbol"),toSymbolKeepAspect:f.getItemVisual(x,"symbolKeepAspect"),toSymbolOffset:f.getItemVisual(x,"symbolOffset"),toSymbolRotate:f.getItemVisual(x,"symbolRotate"),toSymbolSize:f.getItemVisual(x,"symbolSize"),toSymbol:f.getItemVisual(x,"symbol"),style:A})}),c.updateData(p),d.line.eachItemGraphicEl(function(x){Xt(x).dataModel=i,x.traverse(function(A){Xt(A).dataModel=i})});function S(x,A,C){var M=x.getItemModel(A);mT(x,A,C,t,a);var I=M.getModel("itemStyle").getItemStyle();I.fill==null&&(I.fill=nf(l,"color")),x.setItemVisual(A,{symbolKeepAspect:M.get("symbolKeepAspect"),symbolOffset:e3(M.get("symbolOffset",!0),_[C?0:1]),symbolRotate:e3(M.get("symbolRotate",!0),v[C?0:1]),symbolSize:e3(M.get("symbolSize"),m[C?0:1]),symbol:e3(M.get("symbol",!0),g[C?0:1]),style:I})}this.markKeep(c),c.group.silent=i.get("silent")||t.get("silent")},e.type="markLine",e}(iL);function VAe(n,e,t){var i;n?i=j2(n&&n.dimensions,function(u){var c=e.getData().getDimensionInfo(e.getData().mapDimension(u))||{};return L2(L2({},c),{name:u,ordinalMeta:null})}):i=[{name:"value",type:"float"}];var r=new Oi(i,t),a=new Oi(i,t),o=new Oi([],t),s=j2(t.get("data"),r3(zAe,e,n,t));n&&(s=c1(s,r3(UAe,n)));var l=aee(!!n,i);return r.initData(j2(s,function(u){return u[0]}),null,l),a.initData(j2(s,function(u){return u[1]}),null,l),o.initData(j2(s,function(u){return u[2]})),o.hasItemOption=!0,{from:r,to:a,line:o}}const HAe=GAe;function WAe(n){n.registerComponentModel(BAe),n.registerComponentView(HAe),n.registerPreprocessor(function(e){tL(e.series,"markLine")&&(e.markLine=e.markLine||{})})}var jAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,i,r){return new e(t,i,r)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(Z5);const $Ae=jAe;var Mm=B3(),YAe=function(n,e,t,i){var r=i[0],a=i[1];if(!(!r||!a)){var o=Th(n,r),s=Th(n,a),l=o.coord,u=s.coord;l[0]=kn(l[0],-1/0),l[1]=kn(l[1],-1/0),u[0]=kn(u[0],1/0),u[1]=kn(u[1],1/0);var c=QE([{},o,s]);return c.coord=[o.coord,s.coord],c.x0=o.x,c.y0=o.y,c.x1=s.x,c.y1=s.y,c}};function xy(n){return!isNaN(n)&&!isFinite(n)}function xG(n,e,t,i){var r=1-n;return xy(e[r])&&xy(t[r])}function qAe(n,e){var t=e.coord[0],i=e.coord[1],r={coord:t,x:e.x0,y:e.y0},a={coord:i,x:e.x1,y:e.y1};return Al(n,"cartesian2d")?t&&i&&(xG(1,t,i)||xG(0,t,i))?!0:LAe(n,r,a):Ah(n,r)||Ah(n,a)}function wG(n,e,t,i,r){var a=i.coordinateSystem,o=n.getItemModel(e),s,l=ft(o.get(t[0]),r.getWidth()),u=ft(o.get(t[1]),r.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(i.getMarkerPosition){var c=n.getValues(["x0","y0"],e),d=n.getValues(["x1","y1"],e),h=a.clampData(c),f=a.clampData(d),p=[];t[0]==="x0"?p[0]=h[0]>f[0]?d[0]:c[0]:p[0]=h[0]>f[0]?c[0]:d[0],t[1]==="y0"?p[1]=h[1]>f[1]?d[1]:c[1]:p[1]=h[1]>f[1]?c[1]:d[1],s=i.getMarkerPosition(p,t,!0)}else{var g=n.get(t[0],e),m=n.get(t[1],e),v=[g,m];a.clampData&&a.clampData(v,v),s=a.dataToPoint(v,!0)}if(Al(a,"cartesian2d")){var _=a.getAxis("x"),S=a.getAxis("y"),g=n.get(t[0],e),m=n.get(t[1],e);xy(g)?s[0]=_.toGlobalCoord(_.getExtent()[t[0]==="x0"?0:1]):xy(m)&&(s[1]=S.toGlobalCoord(S.getExtent()[t[1]==="y0"?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}return s}var TG=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],XAe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,i,r){i.eachSeries(function(a){var o=Z5.getMarkerModelFromSeries(a,"markArea");if(o){var s=o.getData();s.each(function(l){var u=j2(TG,function(d){return wG(s,l,d,a,r)});s.setItemLayout(l,u);var c=s.getItemGraphicEl(l);c.setShape("points",u)})}},this)},e.prototype.renderSeries=function(t,i,r,a){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,c=u.get(s)||u.set(s,{group:new qt});this.group.add(c.group),this.markKeep(c);var d=KAe(o,t,i);i.setData(d),d.each(function(h){var f=j2(TG,function(I){return wG(d,h,I,t,a)}),p=o.getAxis("x").scale,g=o.getAxis("y").scale,m=p.getExtent(),v=g.getExtent(),_=[p.parse(d.get("x0",h)),p.parse(d.get("x1",h))],S=[g.parse(d.get("y0",h)),g.parse(d.get("y1",h))];La(_),La(S);var x=!(m[0]>_[1]||m[1]<_[0]||v[0]>S[1]||v[1]<S[0]),A=!x;d.setItemLayout(h,{points:f,allClipped:A});var C=d.getItemModel(h).getModel("itemStyle").getItemStyle(),M=nf(l,"color");C.fill||(C.fill=M,_t(C.fill)&&(C.fill=Ov(C.fill,.4))),C.stroke||(C.stroke=M),d.setItemVisual(h,"style",C)}),d.diff(Mm(c).data).add(function(h){var f=d.getItemLayout(h);if(!f.allClipped){var p=new gr({shape:{points:f.points}});d.setItemGraphicEl(h,p),c.group.add(p)}}).update(function(h,f){var p=Mm(c).data.getItemGraphicEl(f),g=d.getItemLayout(h);g.allClipped?p&&c.group.remove(p):(p?Q3(p,{shape:{points:g.points}},i,h):p=new gr({shape:{points:g.points}}),d.setItemGraphicEl(h,p),c.group.add(p))}).remove(function(h){var f=Mm(c).data.getItemGraphicEl(h);c.group.remove(f)}).execute(),d.eachItemGraphicEl(function(h,f){var p=d.getItemModel(f),g=d.getItemVisual(f,"style");h.useStyle(d.getItemVisual(f,"style")),Qn(h,bn(p),{labelFetcher:i,labelDataIndex:f,defaultText:d.getName(f)||"",inheritColor:_t(g.fill)?Ov(g.fill,1):"#000"}),Jn(h,p),b0(h,null,null,p.get(["emphasis","disabled"])),Xt(h).dataModel=i}),Mm(c).data=d,c.group.silent=i.get("silent")||t.get("silent")},e.type="markArea",e}(iL);function KAe(n,e,t){var i,r,a=["x0","y0","x1","y1"];if(n){var o=j2(n&&n.dimensions,function(u){var c=e.getData(),d=c.getDimensionInfo(c.mapDimension(u))||{};return L2(L2({},d),{name:u,ordinalMeta:null})});r=j2(a,function(u,c){return{name:u,type:o[c%2].type}}),i=new Oi(r,t)}else r=[{name:"value",type:"float"}],i=new Oi(r,t);var s=j2(t.get("data"),r3(YAe,e,n,t));n&&(s=c1(s,r3(qAe,n)));var l=n?function(u,c,d,h){var f=u.coord[Math.floor(h/2)][h%2];return D5(f,r[h])}:function(u,c,d,h){return D5(u.value,r[h])};return i.initData(s,null,l),i.hasItemOption=!0,i}const ZAe=XAe;function JAe(n){n.registerComponentModel($Ae),n.registerComponentView(ZAe),n.registerPreprocessor(function(e){tL(e.series,"markArea")&&(e.markArea=e.markArea||{})})}var QAe=function(n,e){if(e==="all")return{type:"all",title:n.getLocaleModel().get(["legend","selector","all"])};if(e==="inverse")return{type:"inverse",title:n.getLocaleModel().get(["legend","selector","inverse"])}},eCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.layoutMode={type:"box",ignoreSize:!0},t}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r),t.selected=t.selected||{},this._updateSelector(t)},e.prototype.mergeOption=function(t,i){n.prototype.mergeOption.call(this,t,i),this._updateSelector(t)},e.prototype._updateSelector=function(t){var i=t.selector,r=this.ecModel;i===!0&&(i=t.selector=["all","inverse"]),H2(i)&&ne(i,function(a,o){_t(a)&&(a={type:a}),i[o]=l3(a,QAe(r,a.type))})},e.prototype.optionUpdated=function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&this.get("selectedMode")==="single"){for(var i=!1,r=0;r<t.length;r++){var a=t[r].get("name");if(this.isSelected(a)){this.select(a),i=!0;break}}!i&&this.select(t[0].get("name"))}},e.prototype._updateData=function(t){var i=[],r=[];t.eachRawSeries(function(l){var u=l.name;r.push(u);var c;if(l.legendVisualProvider){var d=l.legendVisualProvider,h=d.getAllNames();t.isSeriesFiltered(l)||(r=r.concat(h)),h.length?i=i.concat(h):c=!0}else c=!0;c&&cP(l)&&i.push(l.name)}),this._availableNames=r;var a=this.get("data")||i,o=Ct(),s=j2(a,function(l){return(_t(l)||q3(l))&&(l={name:l}),o.get(l.name)?null:(o.set(l.name,!0),new X1(l,this,this.ecModel))},this);this._data=c1(s,function(l){return!!l})},e.prototype.getData=function(){return this._data},e.prototype.select=function(t){var i=this.option.selected,r=this.get("selectedMode");if(r==="single"){var a=this._data;ne(a,function(o){i[o.get("name")]=!1})}i[t]=!0},e.prototype.unSelect=function(t){this.get("selectedMode")!=="single"&&(this.option.selected[t]=!1)},e.prototype.toggleSelected=function(t){var i=this.option.selected;i.hasOwnProperty(t)||(i[t]=!0),this[i[t]?"unSelect":"select"](t)},e.prototype.allSelect=function(){var t=this._data,i=this.option.selected;ne(t,function(r){i[r.get("name",!0)]=!0})},e.prototype.inverseSelect=function(){var t=this._data,i=this.option.selected;ne(t,function(r){var a=r.get("name",!0);i.hasOwnProperty(a)||(i[a]=!0),i[a]=!i[a]})},e.prototype.isSelected=function(t){var i=this.option.selected;return!(i.hasOwnProperty(t)&&!i[t])&&_3(this._availableNames,t)>=0},e.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(j3);const IM=eCe;var c4=r3,DM=ne,Em=qt,tCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.newlineDisabled=!1,t}return e.prototype.init=function(){this.group.add(this._contentGroup=new Em),this.group.add(this._selectorGroup=new Em),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,i,r){var a=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!t.get("show",!0)){var o=t.get("align"),s=t.get("orient");(!o||o==="auto")&&(o=t.get("left")==="right"&&s==="vertical"?"right":"left");var l=t.get("selector",!0),u=t.get("selectorPosition",!0);l&&(!u||u==="auto")&&(u=s==="horizontal"?"end":"start"),this.renderInner(o,t,i,r,l,s,u);var c=t.getBoxLayoutParams(),d={width:r.getWidth(),height:r.getHeight()},h=t.get("padding"),f=hn(c,d,h),p=this.layoutInner(t,o,f,a,l,u),g=hn(Vt({width:p.width,height:p.height},c),d,h);this.group.x=g.x-p.x,this.group.y=g.y-p.y,this.group.markRedraw(),this.group.add(this._backgroundEl=YQ(p,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,i,r,a,o,s,l){var u=this.getContentGroup(),c=Ct(),d=i.get("selectedMode"),h=[];r.eachRawSeries(function(f){!f.get("legendHoverLink")&&h.push(f.id)}),DM(i.getData(),function(f,p){var g=f.get("name");if(!this.newlineDisabled&&(g===""||g===` |
|
|
`)){var m=new Em;m.newline=!0,u.add(m);return}var v=r.getSeriesByName(g)[0];if(!c.get(g))if(v){var _=v.getData(),S=_.getVisual("legendLineStyle")||{},x=_.getVisual("legendIcon"),A=_.getVisual("style"),C=this._createItem(v,g,p,f,i,t,S,A,x,d,a);C.on("click",c4(AG,g,null,a,h)).on("mouseover",c4(NM,v.name,null,a,h)).on("mouseout",c4(kM,v.name,null,a,h)),r.ssr&&C.eachChild(function(M){var I=Xt(M);I.seriesIndex=v.seriesIndex,I.dataIndex=p,I.ssrType="legend"}),c.set(g,!0)}else r.eachRawSeries(function(M){if(!c.get(g)&&M.legendVisualProvider){var I=M.legendVisualProvider;if(!I.containName(g))return;var D=I.indexOfName(g),E=I.getItemVisual(D,"style"),L=I.getItemVisual(D,"legendIcon"),V=Vr(E.fill);V&&V[3]===0&&(V[3]=.2,E=L2(L2({},E),{fill:Qs(V,"rgba")}));var Y=this._createItem(M,g,p,f,i,t,{},E,L,d,a);Y.on("click",c4(AG,null,g,a,h)).on("mouseover",c4(NM,null,g,a,h)).on("mouseout",c4(kM,null,g,a,h)),r.ssr&&Y.eachChild(function(G){var W=Xt(G);W.seriesIndex=M.seriesIndex,W.dataIndex=p,W.ssrType="legend"}),c.set(g,!0)}},this)},this),o&&this._createSelector(o,i,a,s,l)},e.prototype._createSelector=function(t,i,r,a,o){var s=this.getSelectorGroup();DM(t,function(u){var c=u.type,d=new Y3({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){r.dispatchAction({type:c==="all"?"legendAllSelect":"legendInverseSelect",legendId:i.id})}});s.add(d);var h=i.getModel("selectorLabel"),f=i.getModel(["emphasis","selectorLabel"]);Qn(d,{normal:h,emphasis:f},{defaultText:u.title}),V8(d)})},e.prototype._createItem=function(t,i,r,a,o,s,l,u,c,d,h){var f=t.visualDrawType,p=o.get("itemWidth"),g=o.get("itemHeight"),m=o.isSelected(i),v=a.get("symbolRotate"),_=a.get("symbolKeepAspect"),S=a.get("icon");c=S||c||"roundRect";var x=nCe(c,a,l,u,f,m,h),A=new Em,C=a.getModel("textStyle");if(Gt(t.getLegendIcon)&&(!S||S==="inherit"))A.add(t.getLegendIcon({itemWidth:p,itemHeight:g,icon:c,iconRotate:v,itemStyle:x.itemStyle,lineStyle:x.lineStyle,symbolKeepAspect:_}));else{var M=S==="inherit"&&t.getData().getVisual("symbol")?v==="inherit"?t.getData().getVisual("symbolRotate"):v:0;A.add(iCe({itemWidth:p,itemHeight:g,icon:c,iconRotate:M,itemStyle:x.itemStyle,lineStyle:x.lineStyle,symbolKeepAspect:_}))}var I=s==="left"?p+5:-5,D=s,E=o.get("formatter"),L=i;_t(E)&&E?L=E.replace("{name}",i!=null?i:""):Gt(E)&&(L=E(i));var V=m?C.getTextColor():a.get("inactiveColor");A.add(new Y3({style:q1(C,{text:L,x:I,y:g/2,fill:V,align:D,verticalAlign:"middle"},{inheritColor:V})}));var Y=new V3({shape:A.getBoundingRect(),style:{fill:"transparent"}}),G=a.getModel("tooltip");return G.get("show")&&Sl({el:Y,componentModel:o,itemName:i,itemTooltipOption:G.option}),A.add(Y),A.eachChild(function(W){W.silent=!0}),Y.silent=!d,this.getContentGroup().add(A),V8(A),A.__legendDataIndex=r,A},e.prototype.layoutInner=function(t,i,r,a,o,s){var l=this.getContentGroup(),u=this.getSelectorGroup();W8(t.get("orient"),l,t.get("itemGap"),r.width,r.height);var c=l.getBoundingRect(),d=[-c.x,-c.y];if(u.markRedraw(),l.markRedraw(),o){W8("horizontal",u,t.get("selectorItemGap",!0));var h=u.getBoundingRect(),f=[-h.x,-h.y],p=t.get("selectorButtonGap",!0),g=t.getOrient().index,m=g===0?"width":"height",v=g===0?"height":"width",_=g===0?"y":"x";s==="end"?f[g]+=c[m]+p:d[g]+=h[m]+p,f[1-g]+=c[v]/2-h[v]/2,u.x=f[0],u.y=f[1],l.x=d[0],l.y=d[1];var S={x:0,y:0};return S[m]=c[m]+p+h[m],S[v]=Math.max(c[v],h[v]),S[_]=Math.min(0,h[_]+f[1-g]),S}else return l.x=d[0],l.y=d[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(T0);function nCe(n,e,t,i,r,a,o){function s(m,v){m.lineWidth==="auto"&&(m.lineWidth=v.lineWidth>0?2:0),DM(m,function(_,S){m[S]==="inherit"&&(m[S]=v[S])})}var l=e.getModel("itemStyle"),u=l.getItemStyle(),c=n.lastIndexOf("empty",0)===0?"fill":"stroke",d=l.getShallow("decal");u.decal=!d||d==="inherit"?i.decal:k7(d,o),u.fill==="inherit"&&(u.fill=i[r]),u.stroke==="inherit"&&(u.stroke=i[c]),u.opacity==="inherit"&&(u.opacity=(r==="fill"?i:t).opacity),s(u,i);var h=e.getModel("lineStyle"),f=h.getLineStyle();if(s(f,t),u.fill==="auto"&&(u.fill=i.fill),u.stroke==="auto"&&(u.stroke=i.fill),f.stroke==="auto"&&(f.stroke=i.fill),!a){var p=e.get("inactiveBorderWidth"),g=u[c];u.lineWidth=p==="auto"?i.lineWidth>0&&g?2:0:u.lineWidth,u.fill=e.get("inactiveColor"),u.stroke=e.get("inactiveBorderColor"),f.stroke=h.get("inactiveColor"),f.lineWidth=h.get("inactiveWidth")}return{itemStyle:u,lineStyle:f}}function iCe(n){var e=n.icon||"roundRect",t=J0(e,0,0,n.itemWidth,n.itemHeight,n.itemStyle.fill,n.symbolKeepAspect);return t.setStyle(n.itemStyle),t.rotation=(n.iconRotate||0)*Math.PI/180,t.setOrigin([n.itemWidth/2,n.itemHeight/2]),e.indexOf("empty")>-1&&(t.style.stroke=t.style.fill,t.style.fill="#fff",t.style.lineWidth=2),t}function AG(n,e,t,i){kM(n,e,t,i),t.dispatchAction({type:"legendToggleSelect",name:n!=null?n:e}),NM(n,e,t,i)}function oee(n){for(var e=n.getZr().storage.getDisplayList(),t,i=0,r=e.length;i<r&&!(t=e[i].states.emphasis);)i++;return t&&t.hoverLayer}function NM(n,e,t,i){oee(t)||t.dispatchAction({type:"highlight",seriesName:n,name:e,excludeSeriesId:i})}function kM(n,e,t,i){oee(t)||t.dispatchAction({type:"downplay",seriesName:n,name:e,excludeSeriesId:i})}const see=tCe;function rCe(n){var e=n.findComponents({mainType:"legend"});e&&e.length&&n.filterSeries(function(t){for(var i=0;i<e.length;i++)if(!e[i].isSelected(t.name))return!1;return!0})}function Ac(n,e,t){var i=n==="allSelect"||n==="inverseSelect",r={},a=[];t.eachComponent({mainType:"legend",query:e},function(s){i?s[n]():s[n](e.name),CG(s,r),a.push(s.componentIndex)});var o={};return t.eachComponent("legend",function(s){ne(r,function(l,u){s[l?"select":"unSelect"](u)}),CG(s,o)}),i?{selected:o,legendIndex:a}:{name:e.name,selected:o}}function CG(n,e){var t=e||{};return ne(n.getData(),function(i){var r=i.get("name");if(!(r===` |
|
|
`||r==="")){var a=n.isSelected(r);xt(t,r)?t[r]=t[r]&&a:t[r]=a}}),t}function aCe(n){n.registerAction("legendToggleSelect","legendselectchanged",r3(Ac,"toggleSelected")),n.registerAction("legendAllSelect","legendselectall",r3(Ac,"allSelect")),n.registerAction("legendInverseSelect","legendinverseselect",r3(Ac,"inverseSelect")),n.registerAction("legendSelect","legendselected",r3(Ac,"select")),n.registerAction("legendUnSelect","legendunselected",r3(Ac,"unSelect"))}function lee(n){n.registerComponentModel(IM),n.registerComponentView(see),n.registerProcessor(n.PRIORITY.PROCESSOR.SERIES_FILTER,rCe),n.registerSubTypeDefaulter("legend",function(){return"plain"}),aCe(n)}var oCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.setScrollDataIndex=function(t){this.option.scrollDataIndex=t},e.prototype.init=function(t,i,r){var a=pu(t);n.prototype.init.call(this,t,i,r),MG(this,t,a)},e.prototype.mergeOption=function(t,i){n.prototype.mergeOption.call(this,t,i),MG(this,this.option,t)},e.type="legend.scroll",e.defaultOption=r9(IM.defaultOption,{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800}),e}(IM);function MG(n,e,t){var i=n.getOrient(),r=[1,1];r[i.index]=0,$5(e,t,{type:"box",ignoreSize:!!r})}const sCe=oCe;var EG=qt,gT=["width","height"],vT=["x","y"],lCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.newlineDisabled=!0,t._currentIndex=0,t}return e.prototype.init=function(){n.prototype.init.call(this),this.group.add(this._containerGroup=new EG),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new EG)},e.prototype.resetInner=function(){n.prototype.resetInner.call(this),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},e.prototype.renderInner=function(t,i,r,a,o,s,l){var u=this;n.prototype.renderInner.call(this,t,i,r,a,o,s,l);var c=this._controllerGroup,d=i.get("pageIconSize",!0),h=H2(d)?d:[d,d];p("pagePrev",0);var f=i.getModel("pageTextStyle");c.add(new Y3({name:"pageText",style:{text:"xx/xx",fill:f.getTextColor(),font:f.getFont(),verticalAlign:"middle",align:"center"},silent:!0})),p("pageNext",1);function p(g,m){var v=g+"DataIndex",_=ef(i.get("pageIcons",!0)[i.getOrient().name][m],{onclick:St(u._pageGo,u,v,i,a)},{x:-h[0]/2,y:-h[1]/2,width:h[0],height:h[1]});_.name=g,c.add(_)}},e.prototype.layoutInner=function(t,i,r,a,o,s){var l=this.getSelectorGroup(),u=t.getOrient().index,c=gT[u],d=vT[u],h=gT[1-u],f=vT[1-u];o&&W8("horizontal",l,t.get("selectorItemGap",!0));var p=t.get("selectorButtonGap",!0),g=l.getBoundingRect(),m=[-g.x,-g.y],v=$t(r);o&&(v[c]=r[c]-g[c]-p);var _=this._layoutContentAndController(t,a,v,u,c,h,f,d);if(o){if(s==="end")m[u]+=_[c]+p;else{var S=g[c]+p;m[u]-=S,_[d]-=S}_[c]+=g[c]+p,m[1-u]+=_[f]+_[h]/2-g[h]/2,_[h]=Math.max(_[h],g[h]),_[f]=Math.min(_[f],g[f]+m[1-u]),l.x=m[0],l.y=m[1],l.markRedraw()}return _},e.prototype._layoutContentAndController=function(t,i,r,a,o,s,l,u){var c=this.getContentGroup(),d=this._containerGroup,h=this._controllerGroup;W8(t.get("orient"),c,t.get("itemGap"),a?r.width:null,a?null:r.height),W8("horizontal",h,t.get("pageButtonItemGap",!0));var f=c.getBoundingRect(),p=h.getBoundingRect(),g=this._showController=f[o]>r[o],m=[-f.x,-f.y];i||(m[a]=c[u]);var v=[0,0],_=[-p.x,-p.y],S=e3(t.get("pageButtonGap",!0),t.get("itemGap",!0));if(g){var x=t.get("pageButtonPosition",!0);x==="end"?_[a]+=r[o]-p[o]:v[a]+=p[o]+S}_[1-a]+=f[s]/2-p[s]/2,c.setPosition(m),d.setPosition(v),h.setPosition(_);var A={x:0,y:0};if(A[o]=g?r[o]:f[o],A[s]=Math.max(f[s],p[s]),A[l]=Math.min(0,p[l]+_[1-a]),d.__rectSize=r[o],g){var C={x:0,y:0};C[o]=Math.max(r[o]-p[o]-S,0),C[s]=A[s],d.setClipPath(new V3({shape:C})),d.__rectSize=C[o]}else h.eachChild(function(I){I.attr({invisible:!0,silent:!0})});var M=this._getPageInfo(t);return M.pageIndex!=null&&Q3(c,{x:M.contentPosition[0],y:M.contentPosition[1]},g?t:null),this._updatePageInfoView(t,M),A},e.prototype._pageGo=function(t,i,r){var a=this._getPageInfo(i)[t];a!=null&&r.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:i.id})},e.prototype._updatePageInfoView=function(t,i){var r=this._controllerGroup;ne(["pagePrev","pageNext"],function(c){var d=c+"DataIndex",h=i[d]!=null,f=r.childOfName(c);f&&(f.setStyle("fill",h?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),f.cursor=h?"pointer":"default")});var a=r.childOfName("pageText"),o=t.get("pageFormatter"),s=i.pageIndex,l=s!=null?s+1:0,u=i.pageCount;a&&o&&a.setStyle("text",_t(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},e.prototype._getPageInfo=function(t){var i=t.get("scrollDataIndex",!0),r=this.getContentGroup(),a=this._containerGroup.__rectSize,o=t.getOrient().index,s=gT[o],l=vT[o],u=this._findTargetItemIndex(i),c=r.children(),d=c[u],h=c.length,f=h?1:0,p={contentPosition:[r.x,r.y],pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!d)return p;var g=x(d);p.contentPosition[o]=-g.s;for(var m=u+1,v=g,_=g,S=null;m<=h;++m)S=x(c[m]),(!S&&_.e>v.s+a||S&&!A(S,v.s))&&(_.i>v.i?v=_:v=S,v&&(p.pageNextDataIndex==null&&(p.pageNextDataIndex=v.i),++p.pageCount)),_=S;for(var m=u-1,v=g,_=g,S=null;m>=-1;--m)S=x(c[m]),(!S||!A(_,S.s))&&v.i<_.i&&(_=v,p.pagePrevDataIndex==null&&(p.pagePrevDataIndex=v.i),++p.pageCount,++p.pageIndex),v=S;return p;function x(C){if(C){var M=C.getBoundingRect(),I=M[l]+C[l];return{s:I,e:I+M[s],i:C.__legendDataIndex}}}function A(C,M){return C.e>=M&&C.s<=M+a}},e.prototype._findTargetItemIndex=function(t){if(!this._showController)return 0;var i,r=this.getContentGroup(),a;return r.eachChild(function(o,s){var l=o.__legendDataIndex;a==null&&l!=null&&(a=s),l===t&&(i=s)}),i!=null?i:a},e.type="legend.scroll",e}(see);const uCe=lCe;function cCe(n){n.registerAction("legendScroll","legendscroll",function(e,t){var i=e.scrollDataIndex;i!=null&&t.eachComponent({mainType:"legend",subType:"scroll",query:e},function(r){r.setScrollDataIndex(i)})})}function dCe(n){T3(lee),n.registerComponentModel(sCe),n.registerComponentView(uCe),cCe(n)}function hCe(n){T3(lee),T3(dCe)}var fCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.inside",e.defaultOption=r9(wh.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(wh);const pCe=fCe;var rL=B3();function mCe(n,e,t){rL(n).coordSysRecordMap.each(function(i){var r=i.dataZoomInfoMap.get(e.uid);r&&(r.getRange=t)})}function gCe(n,e){for(var t=rL(n).coordSysRecordMap,i=t.keys(),r=0;r<i.length;r++){var a=i[r],o=t.get(a),s=o.dataZoomInfoMap;if(s){var l=e.uid,u=s.get(l);u&&(s.removeKey(l),s.keys().length||uee(t,o))}}}function uee(n,e){if(e){n.removeKey(e.model.uid);var t=e.controller;t&&t.dispose()}}function vCe(n,e){var t={model:e,containsPoint:r3(_Ce,e),dispatchAction:r3(yCe,n),dataZoomInfoMap:null,controller:null},i=t.controller=new hf(n.getZr());return ne(["pan","zoom","scrollMove"],function(r){i.on(r,function(a){var o=[];t.dataZoomInfoMap.each(function(s){if(a.isAvailableBehavior(s.model.option)){var l=(s.getRange||{})[r],u=l&&l(s.dzReferCoordSysInfo,t.model.mainType,t.controller,a);!s.model.get("disabled",!0)&&u&&o.push({dataZoomId:s.model.id,start:u[0],end:u[1]})}}),o.length&&t.dispatchAction(o)})}),t}function yCe(n,e){n.isDisposed()||n.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:e})}function _Ce(n,e,t,i){return n.coordinateSystem.containPoint([t,i])}function SCe(n){var e,t="type_",i={type_true:2,type_move:1,type_false:0,type_undefined:-1},r=!0;return n.each(function(a){var o=a.model,s=o.get("disabled",!0)?!1:o.get("zoomLock",!0)?"move":!0;i[t+s]>i[t+e]&&(e=s),r=r&&o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!r}}}function bCe(n){n.registerProcessor(n.PRIORITY.PROCESSOR.FILTER,function(e,t){var i=rL(t),r=i.coordSysRecordMap||(i.coordSysRecordMap=Ct());r.each(function(a){a.dataZoomInfoMap=null}),e.eachComponent({mainType:"dataZoom",subType:"inside"},function(a){var o=WQ(a);ne(o.infoList,function(s){var l=s.model.uid,u=r.get(l)||r.set(l,vCe(t,s.model)),c=u.dataZoomInfoMap||(u.dataZoomInfoMap=Ct());c.set(a.uid,{dzReferCoordSysInfo:s,model:a,getRange:null})})}),r.each(function(a){var o=a.controller,s,l=a.dataZoomInfoMap;if(l){var u=l.keys()[0];u!=null&&(s=l.get(u))}if(!s){uee(r,a);return}var c=SCe(l);o.enable(c.controlType,c.opt),o.setPointerChecker(a.containsPoint),yu(a,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var xCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="dataZoom.inside",t}return e.prototype.render=function(t,i,r){if(n.prototype.render.apply(this,arguments),t.noTarget()){this._clear();return}this.range=t.getPercentRange(),mCe(r,t,{pan:St(yT.pan,this),zoom:St(yT.zoom,this),scrollMove:St(yT.scrollMove,this)})},e.prototype.dispose=function(){this._clear(),n.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){gCe(this.api,this.dataZoomModel),this.range=null},e.type="dataZoom.inside",e}(XR),yT={zoom:function(n,e,t,i){var r=this.range,a=r.slice(),o=n.axisModels[0];if(o){var s=_T[e](null,[i.originX,i.originY],o,t,n),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/i.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var c=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(Ml(0,a,[0,100],0,c.minSpan,c.maxSpan),this.range=a,r[0]!==a[0]||r[1]!==a[1])return a}},pan:PG(function(n,e,t,i,r,a){var o=_T[i]([a.oldX,a.oldY],[a.newX,a.newY],e,r,t);return o.signal*(n[1]-n[0])*o.pixel/o.pixelLength}),scrollMove:PG(function(n,e,t,i,r,a){var o=_T[i]([0,0],[a.scrollDelta,a.scrollDelta],e,r,t);return o.signal*(n[1]-n[0])*a.scrollDelta})};function PG(n){return function(e,t,i,r){var a=this.range,o=a.slice(),s=e.axisModels[0];if(s){var l=n(o,s,e,t,i,r);if(Ml(l,o,[0,100],"all"),this.range=o,a[0]!==o[0]||a[1]!==o[1])return o}}}var _T={grid:function(n,e,t,i,r){var a=t.axis,o={},s=r.model.coordinateSystem.getRect();return n=n||[0,0],a.dim==="x"?(o.pixel=e[0]-n[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=a.inverse?1:-1):(o.pixel=e[1]-n[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=a.inverse?-1:1),o},polar:function(n,e,t,i,r){var a=t.axis,o={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return n=n?s.pointToCoord(n):[0,0],e=s.pointToCoord(e),t.mainType==="radiusAxis"?(o.pixel=e[0]-n[0],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=a.inverse?1:-1):(o.pixel=e[1]-n[1],o.pixelLength=u[1]-u[0],o.pixelStart=u[0],o.signal=a.inverse?-1:1),o},singleAxis:function(n,e,t,i,r){var a=t.axis,o=r.model.coordinateSystem.getRect(),s={};return n=n||[0,0],a.orient==="horizontal"?(s.pixel=e[0]-n[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-n[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=a.inverse?-1:1),s}};const wCe=xCe;function cee(n){KR(n),n.registerComponentModel(pCe),n.registerComponentView(wCe),bCe(n)}var TCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=r9(wh.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(wh);const ACe=TCe;var Cc=V3,RG=7,CCe=1,ST=30,MCe=7,Mc="horizontal",LG="vertical",ECe=5,PCe=["line","bar","candlestick","scatter"],RCe={easing:"cubicOut",duration:100,delay:0},LCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._displayables={},t}return e.prototype.init=function(t,i){this.api=i,this._onBrush=St(this._onBrush,this),this._onBrushEnd=St(this._onBrushEnd,this)},e.prototype.render=function(t,i,r,a){if(n.prototype.render.apply(this,arguments),yu(this,"_dispatchZoomAction",t.get("throttle"),"fixRate"),this._orient=t.getOrient(),t.get("show")===!1){this.group.removeAll();return}if(t.noTarget()){this._clear(),this.group.removeAll();return}(!a||a.type!=="dataZoom"||a.from!==this.uid)&&this._buildView(),this._updateView()},e.prototype.dispose=function(){this._clear(),n.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){dh(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var i=this._displayables.sliderGroup=new qt;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(i),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,i=this.api,r=t.get("brushSelect"),a=r?MCe:0,o=this._findCoordRect(),s={width:i.getWidth(),height:i.getHeight()},l=this._orient===Mc?{right:s.width-o.x-o.width,top:s.height-ST-RG-a,width:o.width,height:ST}:{right:RG,top:o.y,width:ST,height:o.height},u=pu(t.option);ne(["right","top","width","height"],function(d){u[d]==="ph"&&(u[d]=l[d])});var c=hn(u,s);this._location={x:c.x,y:c.y},this._size=[c.width,c.height],this._orient===LG&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,i=this._location,r=this._orient,a=this.dataZoomModel.getFirstTargetAxisModel(),o=a&&a.get("inverse"),s=this._displayables.sliderGroup,l=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(r===Mc&&!o?{scaleY:l?1:-1,scaleX:1}:r===Mc&&o?{scaleY:l?1:-1,scaleX:-1}:r===LG&&!o?{scaleY:l?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:l?-1:1,scaleX:-1,rotation:Math.PI/2});var u=t.getBoundingRect([s]);t.x=i.x-u.x,t.y=i.y-u.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,i=this._size,r=this._displayables.sliderGroup,a=t.get("brushSelect");r.add(new Cc({silent:!0,shape:{x:0,y:0,width:i[0],height:i[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var o=new Cc({shape:{x:0,y:0,width:i[0],height:i[1]},style:{fill:"transparent"},z2:0,onclick:St(this._onClickPanel,this)}),s=this.api.getZr();a?(o.on("mousedown",this._onBrushStart,this),o.cursor="crosshair",s.on("mousemove",this._onBrush),s.on("mouseup",this._onBrushEnd)):(s.off("mousemove",this._onBrush),s.off("mouseup",this._onBrushEnd)),r.add(o)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!t)return;var i=this._size,r=this._shadowSize||[],a=t.series,o=a.getRawData(),s=a.getShadowDim&&a.getShadowDim(),l=s&&o.getDimensionInfo(s)?a.getShadowDim():t.otherDim;if(l==null)return;var u=this._shadowPolygonPts,c=this._shadowPolylinePts;if(o!==this._shadowData||l!==this._shadowDim||i[0]!==r[0]||i[1]!==r[1]){var d=o.getDataExtent(l),h=(d[1]-d[0])*.3;d=[d[0]-h,d[1]+h];var f=[0,i[1]],p=[0,i[0]],g=[[i[0],0],[0,0]],m=[],v=p[1]/(o.count()-1),_=0,S=Math.round(o.count()/i[0]),x;o.each([l],function(D,E){if(S>0&&E%S){_+=v;return}var L=D==null||isNaN(D)||D==="",V=L?0:p1(D,d,f,!0);L&&!x&&E?(g.push([g[g.length-1][0],0]),m.push([m[m.length-1][0],0])):!L&&x&&(g.push([_,0]),m.push([_,0])),g.push([_,V]),m.push([_,V]),_+=v,x=L}),u=this._shadowPolygonPts=g,c=this._shadowPolylinePts=m}this._shadowData=o,this._shadowDim=l,this._shadowSize=[i[0],i[1]];var A=this.dataZoomModel;function C(D){var E=A.getModel(D?"selectedDataBackground":"dataBackground"),L=new qt,V=new gr({shape:{points:u},segmentIgnoreThreshold:1,style:E.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),Y=new Sr({shape:{points:c},segmentIgnoreThreshold:1,style:E.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return L.add(V),L.add(Y),L}for(var M=0;M<3;M++){var I=C(M===1);this._displayables.sliderGroup.add(I),this._displayables.dataShadowSegs.push(I)}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,i=t.get("showDataShadow");if(i!==!1){var r,a=this.ecModel;return t.eachTargetAxis(function(o,s){var l=t.getAxisProxy(o,s).getTargetSeriesModels();ne(l,function(u){if(!r&&!(i!==!0&&_3(PCe,u.get("type"))<0)){var c=a.getComponent(T5(o),s).axis,d=ICe(o),h,f=u.coordinateSystem;d!=null&&f.getOtherAxis&&(h=f.getOtherAxis(c).inverse),d=u.getData().mapDimension(d),r={thisAxis:c,series:u,thisDim:o,otherDim:d,otherAxisInverse:h}}},this)},this),r}},e.prototype._renderHandle=function(){var t=this.group,i=this._displayables,r=i.handles=[null,null],a=i.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,l=this.dataZoomModel,u=this.api,c=l.get("borderRadius")||0,d=l.get("brushSelect"),h=i.filler=new Cc({silent:d,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(h),o.add(new Cc({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:c},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:CCe,fill:"rgba(0,0,0,0)"}})),ne([0,1],function(S){var x=l.get("handleIcon");!Jv[x]&&x.indexOf("path://")<0&&x.indexOf("image://")<0&&(x="path://"+x);var A=J0(x,-1,0,2,2,null,!0);A.attr({cursor:IG(this._orient),draggable:!0,drift:St(this._onDragMove,this,S),ondragend:St(this._onDragEnd,this),onmouseover:St(this._showDataInfo,this,!0),onmouseout:St(this._showDataInfo,this,!1),z2:5});var C=A.getBoundingRect(),M=l.get("handleSize");this._handleHeight=ft(M,this._size[1]),this._handleWidth=C.width/C.height*this._handleHeight,A.setStyle(l.getModel("handleStyle").getItemStyle()),A.style.strokeNoScale=!0,A.rectHover=!0,A.ensureState("emphasis").style=l.getModel(["emphasis","handleStyle"]).getItemStyle(),V8(A);var I=l.get("handleColor");I!=null&&(A.style.fill=I),o.add(r[S]=A);var D=l.getModel("textStyle"),E=l.get("handleLabel")||{},L=E.show||!1;t.add(a[S]=new Y3({silent:!0,invisible:!L,style:q1(D,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:D.getTextColor(),font:D.getFont()}),z2:10}))},this);var f=h;if(d){var p=ft(l.get("moveHandleSize"),s[1]),g=i.moveHandle=new V3({style:l.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:p}}),m=p*.8,v=i.moveHandleIcon=J0(l.get("moveHandleIcon"),-m/2,-m/2,m,m,"#fff",!0);v.silent=!0,v.y=s[1]+p/2-.5,g.ensureState("emphasis").style=l.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var _=Math.min(s[1]/2,Math.max(p,10));f=i.moveZone=new V3({invisible:!0,shape:{y:s[1]-_,height:p+_}}),f.on("mouseover",function(){u.enterEmphasis(g)}).on("mouseout",function(){u.leaveEmphasis(g)}),o.add(g),o.add(v),o.add(f)}f.attr({draggable:!0,cursor:IG(this._orient),drift:St(this._onDragMove,this,"all"),ondragstart:St(this._showDataInfo,this,!0),ondragend:St(this._onDragEnd,this),onmouseover:St(this._showDataInfo,this,!0),onmouseout:St(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),i=this._getViewExtent();this._handleEnds=[p1(t[0],[0,100],i,!0),p1(t[1],[0,100],i,!0)]},e.prototype._updateInterval=function(t,i){var r=this.dataZoomModel,a=this._handleEnds,o=this._getViewExtent(),s=r.findRepresentativeAxisProxy().getMinMaxSpan(),l=[0,100];Ml(i,a,o,r.get("zoomLock")?"all":t,s.minSpan!=null?p1(s.minSpan,l,o,!0):null,s.maxSpan!=null?p1(s.maxSpan,l,o,!0):null);var u=this._range,c=this._range=La([p1(a[0],o,l,!0),p1(a[1],o,l,!0)]);return!u||u[0]!==c[0]||u[1]!==c[1]},e.prototype._updateView=function(t){var i=this._displayables,r=this._handleEnds,a=La(r.slice()),o=this._size;ne([0,1],function(f){var p=i.handles[f],g=this._handleHeight;p.attr({scaleX:g/2,scaleY:g/2,x:r[f]+(f?-1:1),y:o[1]/2-g/2})},this),i.filler.setShape({x:a[0],y:0,width:a[1]-a[0],height:o[1]});var s={x:a[0],width:a[1]-a[0]};i.moveHandle&&(i.moveHandle.setShape(s),i.moveZone.setShape(s),i.moveZone.getBoundingRect(),i.moveHandleIcon&&i.moveHandleIcon.attr("x",s.x+s.width/2));for(var l=i.dataShadowSegs,u=[0,a[0],a[1],o[0]],c=0;c<l.length;c++){var d=l[c],h=d.getClipPath();h||(h=new V3,d.setClipPath(h)),h.setShape({x:u[c],y:0,width:u[c+1]-u[c],height:o[1]})}this._updateDataInfo(t)},e.prototype._updateDataInfo=function(t){var i=this.dataZoomModel,r=this._displayables,a=r.handleLabels,o=this._orient,s=["",""];if(i.get("showDetail")){var l=i.findRepresentativeAxisProxy();if(l){var u=l.getAxisModel().axis,c=this._range,d=t?l.calculateDataWindow({start:c[0],end:c[1]}).valueWindow:l.getDataValueWindow();s=[this._formatLabel(d[0],u),this._formatLabel(d[1],u)]}}var h=La(this._handleEnds.slice());f.call(this,0),f.call(this,1);function f(p){var g=H8(r.handles[p].parent,this.group),m=I_(p===0?"right":"left",g),v=this._handleWidth/2+ECe,_=fo([h[p]+(p===0?-v:v),this._size[1]/2],g);a[p].setStyle({x:_[0],y:_[1],verticalAlign:o===Mc?"middle":m,align:o===Mc?m:"center",text:s[p]})}},e.prototype._formatLabel=function(t,i){var r=this.dataZoomModel,a=r.get("labelFormatter"),o=r.get("labelPrecision");(o==null||o==="auto")&&(o=i.getPixelPrecision());var s=t==null||isNaN(t)?"":i.type==="category"||i.type==="time"?i.scale.getLabel({value:Math.round(t)}):t.toFixed(Math.min(o,20));return Gt(a)?a(t,s):_t(a)?a.replace("{value}",s):s},e.prototype._showDataInfo=function(t){var i=this.dataZoomModel.get("handleLabel")||{},r=i.show||!1,a=this.dataZoomModel.getModel(["emphasis","handleLabel"]),o=a.get("show")||!1,s=t||this._dragging?o:r,l=this._displayables,u=l.handleLabels;u[0].attr("invisible",!s),u[1].attr("invisible",!s),l.moveHandle&&this.api[s?"enterEmphasis":"leaveEmphasis"](l.moveHandle,1)},e.prototype._onDragMove=function(t,i,r,a){this._dragging=!0,r6(a.event);var o=this._displayables.sliderGroup.getLocalTransform(),s=fo([i,r],o,!0),l=this._updateInterval(t,s[0]),u=this.dataZoomModel.get("realtime");this._updateView(!u),l&&u&&this._dispatchZoomAction(!0)},e.prototype._onDragEnd=function(){this._dragging=!1,this._showDataInfo(!1);var t=this.dataZoomModel.get("realtime");!t&&this._dispatchZoomAction(!1)},e.prototype._onClickPanel=function(t){var i=this._size,r=this._displayables.sliderGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(r[0]<0||r[0]>i[0]||r[1]<0||r[1]>i[1])){var a=this._handleEnds,o=(a[0]+a[1])/2,s=this._updateInterval("all",r[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var i=t.offsetX,r=t.offsetY;this._brushStart=new d3(i,r),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var i=this._displayables.brushRect;if(this._brushing=!1,!!i){i.attr("ignore",!0);var r=i.shape,a=+new Date;if(!(a-this._brushStartTime<200&&Math.abs(r.width)<5)){var o=this._getViewExtent(),s=[0,100];this._range=La([p1(r.x,o,s,!0),p1(r.x+r.width,o,s,!0)]),this._handleEnds=[r.x,r.x+r.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(r6(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,i){var r=this._displayables,a=this.dataZoomModel,o=r.brushRect;o||(o=r.brushRect=new Cc({silent:!0,style:a.getModel("brushStyle").getItemStyle()}),r.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,l=this._displayables.sliderGroup,u=l.transformCoordToLocal(t,i),c=l.transformCoordToLocal(s.x,s.y),d=this._size;u[0]=Math.max(Math.min(d[0],u[0]),0),o.setShape({x:c[0],y:0,width:u[0]-c[0],height:d[1]})},e.prototype._dispatchZoomAction=function(t){var i=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?RCe:null,start:i[0],end:i[1]})},e.prototype._findCoordRect=function(){var t,i=WQ(this.dataZoomModel).infoList;if(!t&&i.length){var r=i[0].model.coordinateSystem;t=r.getRect&&r.getRect()}if(!t){var a=this.api.getWidth(),o=this.api.getHeight();t={x:a*.2,y:o*.2,width:a*.6,height:o*.6}}return t},e.type="dataZoom.slider",e}(XR);function ICe(n){var e={x:"y",y:"x",radius:"angle",angle:"radius"};return e[n]}function IG(n){return n==="vertical"?"ns-resize":"ew-resize"}const DCe=LCe;function dee(n){n.registerComponentModel(ACe),n.registerComponentView(DCe),KR(n)}function NCe(n){T3(cee),T3(dee)}var kCe={get:function(n,e,t){var i=$t((FCe[n]||{})[e]);return t&&H2(i)?i[i.length-1]:i}},FCe={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}};const hee=kCe;var DG=Zn.mapVisual,OCe=Zn.eachVisual,BCe=H2,NG=ne,zCe=La,UCe=p1,GCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.stateList=["inRange","outOfRange"],t.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],t.layoutMode={type:"box",ignoreSize:!0},t.dataBound=[-1/0,1/0],t.targetVisuals={},t.controllerVisuals={},t}return e.prototype.init=function(t,i,r){this.mergeDefaultAndTheme(t,r)},e.prototype.optionUpdated=function(t,i){var r=this.option;!i&&eee(r,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},e.prototype.resetVisual=function(t){var i=this.stateList;t=St(t,this),this.controllerVisuals=PM(this.option.controller,i,t),this.targetVisuals=PM(this.option.target,i,t)},e.prototype.getItemSymbol=function(){return null},e.prototype.getTargetSeriesIndices=function(){var t=this.option.seriesIndex,i=[];return t==null||t==="all"?this.ecModel.eachSeries(function(r,a){i.push(a)}):i=A1(t),i},e.prototype.eachTargetSeries=function(t,i){ne(this.getTargetSeriesIndices(),function(r){var a=this.ecModel.getSeriesByIndex(r);a&&t.call(i,a)},this)},e.prototype.isTargetSeries=function(t){var i=!1;return this.eachTargetSeries(function(r){r===t&&(i=!0)}),i},e.prototype.formatValueText=function(t,i,r){var a=this.option,o=a.precision,s=this.dataBound,l=a.formatter,u;r=r||["<",">"],H2(t)&&(t=t.slice(),u=!0);var c=i?t:u?[d(t[0]),d(t[1])]:d(t);if(_t(l))return l.replace("{value}",u?c[0]:c).replace("{value2}",u?c[1]:c);if(Gt(l))return u?l(t[0],t[1]):l(t);if(u)return t[0]===s[0]?r[0]+" "+c[1]:t[1]===s[1]?r[1]+" "+c[0]:c[0]+" - "+c[1];return c;function d(h){return h===s[0]?"min":h===s[1]?"max":(+h).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,i=zCe([t.min,t.max]);this._dataExtent=i},e.prototype.getDataDimensionIndex=function(t){var i=this.option.dimension;if(i!=null)return t.getDimensionIndex(i);for(var r=t.dimensions,a=r.length-1;a>=0;a--){var o=r[a],s=t.getDimensionInfo(o);if(!s.isCalculationCoord)return s.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,i=this.option,r={inRange:i.inRange,outOfRange:i.outOfRange},a=i.target||(i.target={}),o=i.controller||(i.controller={});l3(a,r),l3(o,r);var s=this.isCategory();l.call(this,a),l.call(this,o),u.call(this,a,"inRange","outOfRange"),c.call(this,o);function l(d){BCe(i.color)&&!d.inRange&&(d.inRange={color:i.color.slice().reverse()}),d.inRange=d.inRange||{color:t.get("gradientColor")}}function u(d,h,f){var p=d[h],g=d[f];p&&!g&&(g=d[f]={},NG(p,function(m,v){if(Zn.isValidType(v)){var _=hee.get(v,"inactive",s);_!=null&&(g[v]=_,v==="color"&&!g.hasOwnProperty("opacity")&&!g.hasOwnProperty("colorAlpha")&&(g.opacity=[0,0]))}}))}function c(d){var h=(d.inRange||{}).symbol||(d.outOfRange||{}).symbol,f=(d.inRange||{}).symbolSize||(d.outOfRange||{}).symbolSize,p=this.get("inactiveColor"),g=this.getItemSymbol(),m=g||"roundRect";NG(this.stateList,function(v){var _=this.itemSize,S=d[v];S||(S=d[v]={color:s?p:[p]}),S.symbol==null&&(S.symbol=h&&$t(h)||(s?m:[m])),S.symbolSize==null&&(S.symbolSize=f&&$t(f)||(s?_[0]:[_[0],_[0]])),S.symbol=DG(S.symbol,function(C){return C==="none"?m:C});var x=S.symbolSize;if(x!=null){var A=-1/0;OCe(x,function(C){C>A&&(A=C)}),S.symbolSize=DG(x,function(C){return UCe(C,[0,A],[0,_[0]],!0)})}},this)}},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type="visualMap",e.dependencies=["series"],e.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},e}(j3);const wy=GCe;var kG=[20,140],VCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(t,i){n.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(r){r.mappingMethod="linear",r.dataExtent=this.getExtent()}),this._resetRange()},e.prototype.resetItemSize=function(){n.prototype.resetItemSize.apply(this,arguments);var t=this.itemSize;(t[0]==null||isNaN(t[0]))&&(t[0]=kG[0]),(t[1]==null||isNaN(t[1]))&&(t[1]=kG[1])},e.prototype._resetRange=function(){var t=this.getExtent(),i=this.option.range;!i||i.auto?(t.auto=1,this.option.range=t):H2(i)&&(i[0]>i[1]&&i.reverse(),i[0]=Math.max(i[0],t[0]),i[1]=Math.min(i[1],t[1]))},e.prototype.completeVisualOption=function(){n.prototype.completeVisualOption.apply(this,arguments),ne(this.stateList,function(t){var i=this.option.controller[t].symbolSize;i&&i[0]!==i[1]&&(i[0]=i[1]/3)},this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),i=La((this.get("range")||[]).slice());return i[0]>t[1]&&(i[0]=t[1]),i[1]>t[1]&&(i[1]=t[1]),i[0]<t[0]&&(i[0]=t[0]),i[1]<t[0]&&(i[1]=t[0]),i},e.prototype.getValueState=function(t){var i=this.option.range,r=this.getExtent();return(i[0]<=r[0]||i[0]<=t)&&(i[1]>=r[1]||t<=i[1])?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var i=[];return this.eachTargetSeries(function(r){var a=[],o=r.getData();o.each(this.getDataDimensionIndex(o),function(s,l){t[0]<=s&&s<=t[1]&&a.push(l)},this),i.push({seriesId:r.id,dataIndex:a})},this),i},e.prototype.getVisualMeta=function(t){var i=FG(this,"outOfRange",this.getExtent()),r=FG(this,"inRange",this.option.range.slice()),a=[];function o(f,p){a.push({value:f,color:t(f,p)})}for(var s=0,l=0,u=r.length,c=i.length;l<c&&(!r.length||i[l]<=r[0]);l++)i[l]<r[s]&&o(i[l],"outOfRange");for(var d=1;s<u;s++,d=0)d&&a.length&&o(r[s],"outOfRange"),o(r[s],"inRange");for(var d=1;l<c;l++)(!r.length||r[r.length-1]<i[l])&&(d&&(a.length&&o(a[a.length-1].value,"outOfRange"),d=0),o(i[l],"outOfRange"));var h=a.length;return{stops:a,outerColors:[h?a[0].color:"transparent",h?a[h-1].color:"transparent"]}},e.type="visualMap.continuous",e.defaultOption=r9(wy.defaultOption,{align:"auto",calculable:!1,hoverLink:!0,realtime:!0,handleIcon:"path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z",handleSize:"120%",handleStyle:{borderColor:"#fff",borderWidth:1},indicatorIcon:"circle",indicatorSize:"50%",indicatorStyle:{borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}}),e}(wy);function FG(n,e,t){if(t[0]===t[1])return t.slice();for(var i=200,r=(t[1]-t[0])/i,a=t[0],o=[],s=0;s<=i&&a<t[1];s++)o.push(a),a+=r;return o.push(t[1]),o}const HCe=VCe;var WCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t.autoPositionValues={left:1,right:1,top:1,bottom:1},t}return e.prototype.init=function(t,i){this.ecModel=t,this.api=i},e.prototype.render=function(t,i,r,a){if(this.visualMapModel=t,t.get("show")===!1){this.group.removeAll();return}this.doRender(t,i,r,a)},e.prototype.renderBackground=function(t){var i=this.visualMapModel,r=fu(i.get("padding")||0),a=t.getBoundingRect();t.add(new V3({z2:-1,silent:!0,shape:{x:a.x-r[3],y:a.y-r[0],width:a.width+r[3]+r[1],height:a.height+r[0]+r[2]},style:{fill:i.get("backgroundColor"),stroke:i.get("borderColor"),lineWidth:i.get("borderWidth")}}))},e.prototype.getControllerVisual=function(t,i,r){r=r||{};var a=r.forceState,o=this.visualMapModel,s={};if(i==="color"){var l=o.get("contentColor");s.color=l}function u(f){return s[f]}function c(f,p){s[f]=p}var d=o.controllerVisuals[a||o.getValueState(t)],h=Zn.prepareVisualTypes(d);return ne(h,function(f){var p=d[f];r.convertOpacityToAlpha&&f==="opacity"&&(f="colorAlpha",p=d.__alphaForOpacity),Zn.dependsOn(f,i)&&p&&p.applyVisual(t,u,c)}),s[i]},e.prototype.positionGroup=function(t){var i=this.visualMapModel,r=this.api;z_(t,i.getBoxLayoutParams(),{width:r.getWidth(),height:r.getHeight()})},e.prototype.doRender=function(t,i,r,a){},e.type="visualMap",e}(T0);const fee=WCe;var OG=[["left","right","width"],["top","bottom","height"]];function pee(n,e,t){var i=n.option,r=i.align;if(r!=null&&r!=="auto")return r;for(var a={width:e.getWidth(),height:e.getHeight()},o=i.orient==="horizontal"?1:0,s=OG[o],l=[0,null,10],u={},c=0;c<3;c++)u[OG[1-o][c]]=l[c],u[s[c]]=c===2?t[0]:i[s[c]];var d=[["x","width",3],["y","height",0]][o],h=hn(u,a,i.padding);return s[(h.margin[d[2]]||0)+h[d[0]]+h[d[1]]*.5<a[d[1]]*.5?0:1]}function sv(n,e){return ne(n||[],function(t){t.dataIndex!=null&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null),t.highlightKey="visualMap"+(e?e.componentIndex:"")}),n}var Fo=p1,jCe=ne,BG=Math.min,bT=Math.max,$Ce=12,YCe=6,qCe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._shapes={},t._dataInterval=[],t._handleEnds=[],t._hoverLinkDataIndices=[],t}return e.prototype.init=function(t,i){n.prototype.init.call(this,t,i),this._hoverLinkFromSeriesMouseOver=St(this._hoverLinkFromSeriesMouseOver,this),this._hideIndicator=St(this._hideIndicator,this)},e.prototype.doRender=function(t,i,r,a){(!a||a.type!=="selectDataRange"||a.from!==this.uid)&&this._buildView()},e.prototype._buildView=function(){this.group.removeAll();var t=this.visualMapModel,i=this.group;this._orient=t.get("orient"),this._useHandle=t.get("calculable"),this._resetInterval(),this._renderBar(i);var r=t.get("text");this._renderEndsText(i,r,0),this._renderEndsText(i,r,1),this._updateView(!0),this.renderBackground(i),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(i)},e.prototype._renderEndsText=function(t,i,r){if(i){var a=i[1-r];a=a!=null?a+"":"";var o=this.visualMapModel,s=o.get("textGap"),l=o.itemSize,u=this._shapes.mainGroup,c=this._applyTransform([l[0]/2,r===0?-s:l[1]+s],u),d=this._applyTransform(r===0?"bottom":"top",u),h=this._orient,f=this.visualMapModel.textStyleModel;this.group.add(new Y3({style:q1(f,{x:c[0],y:c[1],verticalAlign:h==="horizontal"?"middle":d,align:h==="horizontal"?d:"center",text:a})}))}},e.prototype._renderBar=function(t){var i=this.visualMapModel,r=this._shapes,a=i.itemSize,o=this._orient,s=this._useHandle,l=pee(i,this.api,a),u=r.mainGroup=this._createBarGroup(l),c=new qt;u.add(c),c.add(r.outOfRange=zG()),c.add(r.inRange=zG(null,s?GG(this._orient):null,St(this._dragHandle,this,"all",!1),St(this._dragHandle,this,"all",!0))),c.setClipPath(new V3({shape:{x:0,y:0,width:a[0],height:a[1],r:3}}));var d=i.textStyleModel.getTextRect("国"),h=bT(d.width,d.height);s&&(r.handleThumbs=[],r.handleLabels=[],r.handleLabelPoints=[],this._createHandle(i,u,0,a,h,o),this._createHandle(i,u,1,a,h,o)),this._createIndicator(i,u,a,h,o),t.add(u)},e.prototype._createHandle=function(t,i,r,a,o,s){var l=St(this._dragHandle,this,r,!1),u=St(this._dragHandle,this,r,!0),c=mo(t.get("handleSize"),a[0]),d=J0(t.get("handleIcon"),-c/2,-c/2,c,c,null,!0),h=GG(this._orient);d.attr({cursor:h,draggable:!0,drift:l,ondragend:u,onmousemove:function(v){r6(v.event)}}),d.x=a[0]/2,d.useStyle(t.getModel("handleStyle").getItemStyle()),d.setStyle({strokeNoScale:!0,strokeFirst:!0}),d.style.lineWidth*=2,d.ensureState("emphasis").style=t.getModel(["emphasis","handleStyle"]).getItemStyle(),T8(d,!0),i.add(d);var f=this.visualMapModel.textStyleModel,p=new Y3({cursor:h,draggable:!0,drift:l,onmousemove:function(v){r6(v.event)},ondragend:u,style:q1(f,{x:0,y:0,text:""})});p.ensureState("blur").style={opacity:.1},p.stateTransition={duration:200},this.group.add(p);var g=[c,0],m=this._shapes;m.handleThumbs[r]=d,m.handleLabelPoints[r]=g,m.handleLabels[r]=p},e.prototype._createIndicator=function(t,i,r,a,o){var s=mo(t.get("indicatorSize"),r[0]),l=J0(t.get("indicatorIcon"),-s/2,-s/2,s,s,null,!0);l.attr({cursor:"move",invisible:!0,silent:!0,x:r[0]/2});var u=t.getModel("indicatorStyle").getItemStyle();if(l instanceof ti){var c=l.style;l.useStyle(L2({image:c.image,x:c.x,y:c.y,width:c.width,height:c.height},u))}else l.useStyle(u);i.add(l);var d=this.visualMapModel.textStyleModel,h=new Y3({silent:!0,invisible:!0,style:q1(d,{x:0,y:0,text:""})});this.group.add(h);var f=[(o==="horizontal"?a/2:YCe)+r[0]/2,0],p=this._shapes;p.indicator=l,p.indicatorLabel=h,p.indicatorLabelPoint=f,this._firstShowIndicator=!0},e.prototype._dragHandle=function(t,i,r,a){if(this._useHandle){if(this._dragging=!i,!i){var o=this._applyTransform([r,a],this._shapes.mainGroup,!0);this._updateInterval(t,o[1]),this._hideIndicator(),this._updateView()}i===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),i?!this._hovering&&this._clearHoverLinkToSeries():UG(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},e.prototype._resetInterval=function(){var t=this.visualMapModel,i=this._dataInterval=t.getSelected(),r=t.getExtent(),a=[0,t.itemSize[1]];this._handleEnds=[Fo(i[0],r,a,!0),Fo(i[1],r,a,!0)]},e.prototype._updateInterval=function(t,i){i=i||0;var r=this.visualMapModel,a=this._handleEnds,o=[0,r.itemSize[1]];Ml(i,a,o,t,0);var s=r.getExtent();this._dataInterval=[Fo(a[0],o,s,!0),Fo(a[1],o,s,!0)]},e.prototype._updateView=function(t){var i=this.visualMapModel,r=i.getExtent(),a=this._shapes,o=[0,i.itemSize[1]],s=t?o:this._handleEnds,l=this._createBarVisual(this._dataInterval,r,s,"inRange"),u=this._createBarVisual(r,r,o,"outOfRange");a.inRange.setStyle({fill:l.barColor}).setShape("points",l.barPoints),a.outOfRange.setStyle({fill:u.barColor}).setShape("points",u.barPoints),this._updateHandle(s,l)},e.prototype._createBarVisual=function(t,i,r,a){var o={forceState:a,convertOpacityToAlpha:!0},s=this._makeColorGradient(t,o),l=[this.getControllerVisual(t[0],"symbolSize",o),this.getControllerVisual(t[1],"symbolSize",o)],u=this._createBarPoints(r,l);return{barColor:new gn(0,0,0,1,s),barPoints:u,handlesColor:[s[0].color,s[s.length-1].color]}},e.prototype._makeColorGradient=function(t,i){var r=100,a=[],o=(t[1]-t[0])/r;a.push({color:this.getControllerVisual(t[0],"color",i),offset:0});for(var s=1;s<r;s++){var l=t[0]+o*s;if(l>t[1])break;a.push({color:this.getControllerVisual(l,"color",i),offset:s/r})}return a.push({color:this.getControllerVisual(t[1],"color",i),offset:1}),a},e.prototype._createBarPoints=function(t,i){var r=this.visualMapModel.itemSize;return[[r[0]-i[0],t[0]],[r[0],t[0]],[r[0],t[1]],[r[0]-i[1],t[1]]]},e.prototype._createBarGroup=function(t){var i=this._orient,r=this.visualMapModel.get("inverse");return new qt(i==="horizontal"&&!r?{scaleX:t==="bottom"?1:-1,rotation:Math.PI/2}:i==="horizontal"&&r?{scaleX:t==="bottom"?-1:1,rotation:-Math.PI/2}:i==="vertical"&&!r?{scaleX:t==="left"?1:-1,scaleY:-1}:{scaleX:t==="left"?1:-1})},e.prototype._updateHandle=function(t,i){if(this._useHandle){var r=this._shapes,a=this.visualMapModel,o=r.handleThumbs,s=r.handleLabels,l=a.itemSize,u=a.getExtent(),c=this._applyTransform("left",r.mainGroup);jCe([0,1],function(d){var h=o[d];h.setStyle("fill",i.handlesColor[d]),h.y=t[d];var f=Fo(t[d],[0,l[1]],u,!0),p=this.getControllerVisual(f,"symbolSize");h.scaleX=h.scaleY=p/l[0],h.x=l[0]-p/2;var g=fo(r.handleLabelPoints[d],H8(h,this.group));if(this._orient==="horizontal"){var m=c==="left"||c==="top"?(l[0]-p)/2:(l[0]-p)/-2;g[1]+=m}s[d].setStyle({x:g[0],y:g[1],text:a.formatValueText(this._dataInterval[d]),verticalAlign:"middle",align:this._orient==="vertical"?this._applyTransform("left",r.mainGroup):"center"})},this)}},e.prototype._showIndicator=function(t,i,r,a){var o=this.visualMapModel,s=o.getExtent(),l=o.itemSize,u=[0,l[1]],c=this._shapes,d=c.indicator;if(d){d.attr("invisible",!1);var h={convertOpacityToAlpha:!0},f=this.getControllerVisual(t,"color",h),p=this.getControllerVisual(t,"symbolSize"),g=Fo(t,s,u,!0),m=l[0]-p/2,v={x:d.x,y:d.y};d.y=g,d.x=m;var _=fo(c.indicatorLabelPoint,H8(d,this.group)),S=c.indicatorLabel;S.attr("invisible",!1);var x=this._applyTransform("left",c.mainGroup),A=this._orient,C=A==="horizontal";S.setStyle({text:(r||"")+o.formatValueText(i),verticalAlign:C?x:"middle",align:C?"center":x});var M={x:m,y:g,style:{fill:f}},I={style:{x:_[0],y:_[1]}};if(o.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var D={duration:100,easing:"cubicInOut",additive:!0};d.x=v.x,d.y=v.y,d.animateTo(M,D),S.animateTo(I,D)}else d.attr(M),S.attr(I);this._firstShowIndicator=!1;var E=this._shapes.handleLabels;if(E)for(var L=0;L<E.length;L++)this.api.enterBlur(E[L])}},e.prototype._enableHoverLinkToSeries=function(){var t=this;this._shapes.mainGroup.on("mousemove",function(i){if(t._hovering=!0,!t._dragging){var r=t.visualMapModel.itemSize,a=t._applyTransform([i.offsetX,i.offsetY],t._shapes.mainGroup,!0,!0);a[1]=BG(bT(0,a[1]),r[1]),t._doHoverLinkToSeries(a[1],0<=a[0]&&a[0]<=r[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},e.prototype._enableHoverLinkFromSeries=function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},e.prototype._doHoverLinkToSeries=function(t,i){var r=this.visualMapModel,a=r.itemSize;if(r.option.hoverLink){var o=[0,a[1]],s=r.getExtent();t=BG(bT(o[0],t),o[1]);var l=XCe(r,s,o),u=[t-l,t+l],c=Fo(t,o,s,!0),d=[Fo(u[0],o,s,!0),Fo(u[1],o,s,!0)];u[0]<o[0]&&(d[0]=-1/0),u[1]>o[1]&&(d[1]=1/0),i&&(d[0]===-1/0?this._showIndicator(c,d[1],"< ",l):d[1]===1/0?this._showIndicator(c,d[0],"> ",l):this._showIndicator(c,c,"≈ ",l));var h=this._hoverLinkDataIndices,f=[];(i||UG(r))&&(f=this._hoverLinkDataIndices=r.findTargetDataIndices(d));var p=F9e(h,f);this._dispatchHighDown("downplay",sv(p[0],r)),this._dispatchHighDown("highlight",sv(p[1],r))}},e.prototype._hoverLinkFromSeriesMouseOver=function(t){var i;if(C8(t.target,function(l){var u=Xt(l);if(u.dataIndex!=null)return i=u,!0},!0),!!i){var r=this.ecModel.getSeriesByIndex(i.seriesIndex),a=this.visualMapModel;if(a.isTargetSeries(r)){var o=r.getData(i.dataType),s=o.getStore().get(a.getDataDimensionIndex(o),i.dataIndex);isNaN(s)||this._showIndicator(s,s)}}},e.prototype._hideIndicator=function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0);var i=this._shapes.handleLabels;if(i)for(var r=0;r<i.length;r++)this.api.leaveBlur(i[r])},e.prototype._clearHoverLinkToSeries=function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",sv(t,this.visualMapModel)),t.length=0},e.prototype._clearHoverLinkFromSeries=function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},e.prototype._applyTransform=function(t,i,r,a){var o=H8(i,a?null:this.group);return H2(t)?fo(t,o,r):I_(t,o,r)},e.prototype._dispatchHighDown=function(t,i){i&&i.length&&this.api.dispatchAction({type:t,batch:i})},e.prototype.dispose=function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},e.type="visualMap.continuous",e}(fee);function zG(n,e,t,i){return new gr({shape:{points:n},draggable:!!t,cursor:e,drift:t,onmousemove:function(r){r6(r.event)},ondragend:i})}function XCe(n,e,t){var i=$Ce/2,r=n.get("hoverLinkDataSize");return r&&(i=Fo(r,e,t,!0)/2),i}function UG(n){var e=n.get("hoverLinkOnHandle");return!!(e==null?n.get("realtime"):e)}function GG(n){return n==="vertical"?"ns-resize":"ew-resize"}const KCe=qCe;var ZCe={type:"selectDataRange",event:"dataRangeSelected",update:"update"},JCe=function(n,e){e.eachComponent({mainType:"visualMap",query:n},function(t){t.setSelected(n.selected)})},QCe=[{createOnAllSeries:!0,reset:function(n,e){var t=[];return e.eachComponent("visualMap",function(i){var r=n.pipelineContext;!i.isTargetSeries(n)||r&&r.large||t.push(YTe(i.stateList,i.targetVisuals,St(i.getValueState,i),i.getDataDimensionIndex(n.getData())))}),t}},{createOnAllSeries:!0,reset:function(n,e){var t=n.getData(),i=[];e.eachComponent("visualMap",function(r){if(r.isTargetSeries(n)){var a=r.getVisualMeta(St(eMe,null,n,r))||{stops:[],outerColors:[]},o=r.getDataDimensionIndex(t);o>=0&&(a.dimension=o,i.push(a))}}),n.getData().setVisual("visualMeta",i)}}];function eMe(n,e,t,i){for(var r=e.targetVisuals[i],a=Zn.prepareVisualTypes(r),o={color:nf(n.getData(),"color")},s=0,l=a.length;s<l;s++){var u=a[s],c=r[u==="opacity"?"__alphaForOpacity":u];c&&c.applyVisual(t,d,h)}return o.color;function d(f){return o[f]}function h(f,p){o[f]=p}}var VG=ne;function tMe(n){var e=n&&n.visualMap;H2(e)||(e=e?[e]:[]),VG(e,function(t){if(t){d4(t,"splitList")&&!d4(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var i=t.pieces;i&&H2(i)&&VG(i,function(r){jt(r)&&(d4(r,"start")&&!d4(r,"min")&&(r.min=r.start),d4(r,"end")&&!d4(r,"max")&&(r.max=r.end))})}})}function d4(n,e){return n&&n.hasOwnProperty&&n.hasOwnProperty(e)}var HG=!1;function mee(n){HG||(HG=!0,n.registerSubTypeDefaulter("visualMap",function(e){return!e.categories&&(!(e.pieces?e.pieces.length>0:e.splitNumber>0)||e.calculable)?"continuous":"piecewise"}),n.registerAction(ZCe,JCe),ne(QCe,function(e){n.registerVisual(n.PRIORITY.VISUAL.COMPONENT,e)}),n.registerPreprocessor(tMe))}function gee(n){n.registerComponentModel(HCe),n.registerComponentView(KCe),mee(n)}var nMe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t._pieceList=[],t}return e.prototype.optionUpdated=function(t,i){n.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var r=this._mode=this._determineMode();this._pieceList=[],iMe[this._mode].call(this,this._pieceList),this._resetSelected(t,i);var a=this.option.categories;this.resetVisual(function(o,s){r==="categories"?(o.mappingMethod="category",o.categories=$t(a)):(o.dataExtent=this.getExtent(),o.mappingMethod="piecewise",o.pieceList=j2(this._pieceList,function(l){return l=$t(l),s!=="inRange"&&(l.visual=null),l}))})},e.prototype.completeVisualOption=function(){var t=this.option,i={},r=Zn.listVisualTypes(),a=this.isCategory();ne(t.pieces,function(s){ne(r,function(l){s.hasOwnProperty(l)&&(i[l]=1)})}),ne(i,function(s,l){var u=!1;ne(this.stateList,function(c){u=u||o(t,c,l)||o(t.target,c,l)},this),!u&&ne(this.stateList,function(c){(t[c]||(t[c]={}))[l]=hee.get(l,c==="inRange"?"active":"inactive",a)})},this);function o(s,l,u){return s&&s[l]&&s[l].hasOwnProperty(u)}n.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,i){var r=this.option,a=this._pieceList,o=(i?r:t).selected||{};if(r.selected=o,ne(a,function(l,u){var c=this.getSelectedMapKey(l);o.hasOwnProperty(c)||(o[c]=!0)},this),r.selectedMode==="single"){var s=!1;ne(a,function(l,u){var c=this.getSelectedMapKey(l);o[c]&&(s?o[c]=!1:s=!0)},this)}},e.prototype.getItemSymbol=function(){return this.get("itemSymbol")},e.prototype.getSelectedMapKey=function(t){return this._mode==="categories"?t.value+"":t.index+""},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},e.prototype.setSelected=function(t){this.option.selected=$t(t)},e.prototype.getValueState=function(t){var i=Zn.findPieceIndex(t,this._pieceList);return i!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[i])]?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var i=[],r=this._pieceList;return this.eachTargetSeries(function(a){var o=[],s=a.getData();s.each(this.getDataDimensionIndex(s),function(l,u){var c=Zn.findPieceIndex(l,r);c===t&&o.push(u)},this),i.push({seriesId:a.id,dataIndex:o})},this),i},e.prototype.getRepresentValue=function(t){var i;if(this.isCategory())i=t.value;else if(t.value!=null)i=t.value;else{var r=t.interval||[];i=r[0]===-1/0&&r[1]===1/0?0:(r[0]+r[1])/2}return i},e.prototype.getVisualMeta=function(t){if(this.isCategory())return;var i=[],r=["",""],a=this;function o(c,d){var h=a.getRepresentValue({interval:c});d||(d=a.getValueState(h));var f=t(h,d);c[0]===-1/0?r[0]=f:c[1]===1/0?r[1]=f:i.push({value:c[0],color:f},{value:c[1],color:f})}var s=this._pieceList.slice();if(!s.length)s.push({interval:[-1/0,1/0]});else{var l=s[0].interval[0];l!==-1/0&&s.unshift({interval:[-1/0,l]}),l=s[s.length-1].interval[1],l!==1/0&&s.push({interval:[l,1/0]})}var u=-1/0;return ne(s,function(c){var d=c.interval;d&&(d[0]>u&&o([u,d[0]],"outOfRange"),o(d.slice()),u=d[1])},this),{stops:i,outerColors:r}},e.type="visualMap.piecewise",e.defaultOption=r9(wy.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),e}(wy),iMe={splitNumber:function(n){var e=this.option,t=Math.min(e.precision,20),i=this.getExtent(),r=e.splitNumber;r=Math.max(parseInt(r,10),1),e.splitNumber=r;for(var a=(i[1]-i[0])/r;+a.toFixed(t)!==a&&t<5;)t++;e.precision=t,a=+a.toFixed(t),e.minOpen&&n.push({interval:[-1/0,i[0]],close:[0,0]});for(var o=0,s=i[0];o<r;s+=a,o++){var l=o===r-1?i[1]:s+a;n.push({interval:[s,l],close:[1,1]})}e.maxOpen&&n.push({interval:[i[1],1/0],close:[0,0]}),kk(n),ne(n,function(u,c){u.index=c,u.text=this.formatValueText(u.interval)},this)},categories:function(n){var e=this.option;ne(e.categories,function(t){n.push({text:this.formatValueText(t,!0),value:t})},this),WG(e,n)},pieces:function(n){var e=this.option;ne(e.pieces,function(t,i){jt(t)||(t={value:t});var r={text:"",index:i};if(t.label!=null&&(r.text=t.label),t.hasOwnProperty("value")){var a=r.value=t.value;r.interval=[a,a],r.close=[1,1]}else{for(var o=r.interval=[],s=r.close=[0,0],l=[1,0,1],u=[-1/0,1/0],c=[],d=0;d<2;d++){for(var h=[["gte","gt","min"],["lte","lt","max"]][d],f=0;f<3&&o[d]==null;f++)o[d]=t[h[f]],s[d]=l[f],c[d]=f===2;o[d]==null&&(o[d]=u[d])}c[0]&&o[1]===1/0&&(s[0]=0),c[1]&&o[0]===-1/0&&(s[1]=0),o[0]===o[1]&&s[0]&&s[1]&&(r.value=o[0])}r.visual=Zn.retrieveVisuals(t),n.push(r)},this),WG(e,n),kk(n),ne(n,function(t){var i=t.close,r=[["<","≤"][i[1]],[">","≥"][i[0]]];t.text=t.text||this.formatValueText(t.value!=null?t.value:t.interval,!1,r)},this)}};function WG(n,e){var t=n.inverse;(n.orient==="vertical"?!t:t)&&e.reverse()}const rMe=nMe;var aMe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.doRender=function(){var t=this.group;t.removeAll();var i=this.visualMapModel,r=i.get("textGap"),a=i.textStyleModel,o=a.getFont(),s=a.getTextColor(),l=this._getItemAlign(),u=i.itemSize,c=this._getViewData(),d=c.endsText,h=kn(i.get("showLabel",!0),!d),f=!i.get("selectedMode");d&&this._renderEndsText(t,d[0],u,h,l),ne(c.viewPieceList,function(p){var g=p.piece,m=new qt;m.onclick=St(this._onItemClick,this,g),this._enableHoverLink(m,p.indexInModelPieceList);var v=i.getRepresentValue(g);if(this._createItemSymbol(m,v,[0,0,u[0],u[1]],f),h){var _=this.visualMapModel.getValueState(v);m.add(new Y3({style:{x:l==="right"?-r:u[0]+r,y:u[1]/2,text:g.text,verticalAlign:"middle",align:l,font:o,fill:s,opacity:_==="outOfRange"?.5:1},silent:f}))}t.add(m)},this),d&&this._renderEndsText(t,d[1],u,h,l),W8(i.get("orient"),t,i.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,i){var r=this;t.on("mouseover",function(){return a("highlight")}).on("mouseout",function(){return a("downplay")});var a=function(o){var s=r.visualMapModel;s.option.hoverLink&&r.api.dispatchAction({type:o,batch:sv(s.findTargetDataIndices(i),s)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,i=t.option;if(i.orient==="vertical")return pee(t,this.api,t.itemSize);var r=i.align;return(!r||r==="auto")&&(r="left"),r},e.prototype._renderEndsText=function(t,i,r,a,o){if(i){var s=new qt,l=this.visualMapModel.textStyleModel;s.add(new Y3({style:q1(l,{x:a?o==="right"?r[0]:0:r[0]/2,y:r[1]/2,verticalAlign:"middle",align:a?o:"center",text:i})})),t.add(s)}},e.prototype._getViewData=function(){var t=this.visualMapModel,i=j2(t.getPieceList(),function(s,l){return{piece:s,indexInModelPieceList:l}}),r=t.get("text"),a=t.get("orient"),o=t.get("inverse");return(a==="horizontal"?o:!o)?i.reverse():r&&(r=r.slice().reverse()),{viewPieceList:i,endsText:r}},e.prototype._createItemSymbol=function(t,i,r,a){var o=J0(this.getControllerVisual(i,"symbol"),r[0],r[1],r[2],r[3],this.getControllerVisual(i,"color"));o.silent=a,t.add(o)},e.prototype._onItemClick=function(t){var i=this.visualMapModel,r=i.option,a=r.selectedMode;if(a){var o=$t(r.selected),s=i.getSelectedMapKey(t);a==="single"||a===!0?(o[s]=!0,ne(o,function(l,u){o[u]=u===s})):o[s]=!o[s],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}},e.type="visualMap.piecewise",e}(fee);const oMe=aMe;function vee(n){n.registerComponentModel(rMe),n.registerComponentView(oMe),mee(n)}function sMe(n){T3(gee),T3(vee)}var lMe={label:{enabled:!0},decal:{show:!1}},jG=B3(),uMe={};function cMe(n,e){var t=n.getModel("aria");if(!t.get("enabled"))return;var i=$t(lMe);l3(i.label,n.getLocaleModel().get("aria"),!1),l3(t.option,i,!1),r(),a();function r(){var u=t.getModel("decal"),c=u.get("show");if(c){var d=Ct();n.eachSeries(function(h){if(!h.isColorBySeries()){var f=d.get(h.type);f||(f={},d.set(h.type,f)),jG(h).scope=f}}),n.eachRawSeries(function(h){if(n.isSeriesFiltered(h))return;if(Gt(h.enableAriaDecal)){h.enableAriaDecal();return}var f=h.getData();if(h.isColorBySeries()){var _=OC(h.ecModel,h.name,uMe,n.getSeriesCount()),S=f.getVisual("decal");f.setVisual("decal",x(S,_))}else{var p=h.getRawData(),g={},m=jG(h).scope;f.each(function(A){var C=f.getRawIndex(A);g[C]=A});var v=p.count();p.each(function(A){var C=g[A],M=p.getName(A)||A+"",I=OC(h.ecModel,M,m,v),D=f.getItemVisual(C,"decal");f.setItemVisual(C,"decal",x(D,I))})}function x(A,C){var M=A?L2(L2({},C),A):C;return M.dirty=!0,M}})}}function a(){var u=e.getZr().dom;if(u){var c=n.getLocaleModel().get("aria"),d=t.getModel("label");if(d.option=Vt(d.option,c),!!d.get("enabled")){if(u.setAttribute("role","img"),d.get("description")){u.setAttribute("aria-label",d.get("description"));return}var h=n.getSeriesCount(),f=d.get(["data","maxCount"])||10,p=d.get(["series","maxCount"])||10,g=Math.min(h,p),m;if(!(h<1)){var v=s();if(v){var _=d.get(["general","withTitle"]);m=o(_,{title:v})}else m=d.get(["general","withoutTitle"]);var S=[],x=h>1?d.get(["series","multiple","prefix"]):d.get(["series","single","prefix"]);m+=o(x,{seriesCount:h}),n.eachSeries(function(I,D){if(D<g){var E=void 0,L=I.get("name"),V=L?"withName":"withoutName";E=h>1?d.get(["series","multiple",V]):d.get(["series","single",V]),E=o(E,{seriesId:I.seriesIndex,seriesName:I.get("name"),seriesType:l(I.subType)});var Y=I.getData();if(Y.count()>f){var G=d.get(["data","partialData"]);E+=o(G,{displayCnt:f})}else E+=d.get(["data","allData"]);for(var W=d.get(["data","separator","middle"]),q=d.get(["data","separator","end"]),ce=d.get(["data","excludeDimensionId"]),J=[],H=0;H<Y.count();H++)if(H<f){var re=Y.getName(H),ee=ce?c1(Y.getValues(H),function(Be,we){return _3(ce,we)===-1}):Y.getValues(H),se=d.get(["data",re?"withName":"withoutName"]);J.push(o(se,{name:re,value:ee.join(W)}))}E+=J.join(W)+q,S.push(E)}});var A=d.getModel(["series","multiple","separator"]),C=A.get("middle"),M=A.get("end");m+=S.join(C)+M,u.setAttribute("aria-label",m)}}}}function o(u,c){if(!_t(u))return u;var d=u;return ne(c,function(h,f){d=d.replace(new RegExp("\\{\\s*"+f+"\\s*\\}","g"),h)}),d}function s(){var u=n.get("title");return u&&u.length&&(u=u[0]),u&&u.text}function l(u){var c=n.getLocaleModel().get(["series","typeNames"]);return c[u]||c.chart}}function dMe(n){if(!(!n||!n.aria)){var e=n.aria;e.show!=null&&(e.enabled=e.show),e.label=e.label||{},ne(["description","general","series","data"],function(t){e[t]!=null&&(e.label[t]=e[t])})}}function hMe(n){n.registerPreprocessor(dMe),n.registerVisual(n.PRIORITY.VISUAL.ARIA,cMe)}var $G={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},fMe=function(){function n(e){var t=this._condVal=_t(e)?new RegExp(e):j6e(e)?e:null;if(t==null){var i="";l1(i)}}return n.prototype.evaluate=function(e){var t=typeof e;return _t(t)?this._condVal.test(e):q3(t)?this._condVal.test(e+""):!1},n}(),pMe=function(){function n(){}return n.prototype.evaluate=function(){return this.value},n}(),mMe=function(){function n(){}return n.prototype.evaluate=function(){for(var e=this.children,t=0;t<e.length;t++)if(!e[t].evaluate())return!1;return!0},n}(),gMe=function(){function n(){}return n.prototype.evaluate=function(){for(var e=this.children,t=0;t<e.length;t++)if(e[t].evaluate())return!0;return!1},n}(),vMe=function(){function n(){}return n.prototype.evaluate=function(){return!this.child.evaluate()},n}(),yMe=function(){function n(){}return n.prototype.evaluate=function(){for(var e=!!this.valueParser,t=this.getValue,i=t(this.valueGetterParam),r=e?this.valueParser(i):null,a=0;a<this.subCondList.length;a++)if(!this.subCondList[a].evaluate(e?r:i))return!1;return!0},n}();function aL(n,e){if(n===!0||n===!1){var t=new pMe;return t.value=n,t}var i="";return yee(n)||l1(i),n.and?YG("and",n,e):n.or?YG("or",n,e):n.not?_Me(n,e):SMe(n,e)}function YG(n,e,t){var i=e[n],r="";H2(i)||l1(r),i.length||l1(r);var a=n==="and"?new mMe:new gMe;return a.children=j2(i,function(o){return aL(o,t)}),a.children.length||l1(r),a}function _Me(n,e){var t=n.not,i="";yee(t)||l1(i);var r=new vMe;return r.child=aL(t,e),r.child||l1(i),r}function SMe(n,e){for(var t="",i=e.prepareGetValue(n),r=[],a=E3(n),o=n.parser,s=o?WX(o):null,l=0;l<a.length;l++){var u=a[l];if(!(u==="parser"||e.valueGetterAttrMap.get(u))){var c=xt($G,u)?$G[u]:u,d=n[u],h=s?s(d):d,f=Z4e(c,h)||c==="reg"&&new fMe(h);f||l1(t),r.push(f)}}r.length||l1(t);var p=new yMe;return p.valueGetterParam=i,p.valueParser=s,p.getValue=e.getValue,p.subCondList=r,p}function yee(n){return jt(n)&&!Si(n)}var bMe=function(){function n(e,t){this._cond=aL(e,t)}return n.prototype.evaluate=function(){return this._cond.evaluate()},n}();function xMe(n,e){return new bMe(n,e)}var wMe={type:"echarts:filter",transform:function(n){for(var e=n.upstream,t,i=xMe(n.config,{valueGetterAttrMap:Ct({dimension:!0}),prepareGetValue:function(s){var l="",u=s.dimension;xt(s,"dimension")||l1(l);var c=e.getDimensionInfo(u);return c||l1(l),{dimIdx:c.index}},getValue:function(s){return e.retrieveValueFromItem(t,s.dimIdx)}}),r=[],a=0,o=e.count();a<o;a++)t=e.getRawDataItem(a),i.evaluate()&&r.push(t);return{data:r}}},TMe={type:"echarts:sort",transform:function(n){var e=n.upstream,t=n.config,i="",r=A1(t);r.length||l1(i);var a=[];ne(r,function(c){var d=c.dimension,h=c.order,f=c.parser,p=c.incomparable;if(d==null&&l1(i),h!=="asc"&&h!=="desc"&&l1(i),p&&p!=="min"&&p!=="max"){var g="";l1(g)}if(h!=="asc"&&h!=="desc"){var m="";l1(m)}var v=e.getDimensionInfo(d);v||l1(i);var _=f?WX(f):null;f&&!_&&l1(i),a.push({dimIdx:v.index,parser:_,comparator:new $X(h,p)})});var o=e.sourceFormat;o!==bi&&o!==Va&&l1(i);for(var s=[],l=0,u=e.count();l<u;l++)s.push(e.getRawDataItem(l));return s.sort(function(c,d){for(var h=0;h<a.length;h++){var f=a[h],p=e.retrieveValueFromItem(c,f.dimIdx),g=e.retrieveValueFromItem(d,f.dimIdx);f.parser&&(p=f.parser(p),g=f.parser(g));var m=f.comparator.evaluate(p,g);if(m!==0)return m}return 0}),{data:s}}};function AMe(n){n.registerTransform(wMe),n.registerTransform(TMe)}var CMe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="dataset",t}return e.prototype.init=function(t,i,r){n.prototype.init.call(this,t,i,r),this._sourceManager=new KX(this),YF(this)},e.prototype.mergeOption=function(t,i){n.prototype.mergeOption.call(this,t,i),YF(this)},e.prototype.optionUpdated=function(){this._sourceManager.dirty()},e.prototype.getSourceManager=function(){return this._sourceManager},e.type="dataset",e.defaultOption={seriesLayoutBy:ts},e}(j3),MMe=function(n){g2(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.type="dataset",t}return e.type="dataset",e}(T0);function EMe(n){n.registerComponentModel(CMe),n.registerComponentView(MMe)}var Ro=ds.CMD;function Q4(n,e){return Math.abs(n-e)<1e-5}function FM(n){var e=n.data,t=n.len(),i=[],r,a=0,o=0,s=0,l=0;function u(Y,G){r&&r.length>2&&i.push(r),r=[Y,G]}function c(Y,G,W,q){Q4(Y,W)&&Q4(G,q)||r.push(Y,G,W,q,W,q)}function d(Y,G,W,q,ce,J){var H=Math.abs(G-Y),re=Math.tan(H/4)*4/3,ee=G<Y?-1:1,se=Math.cos(Y),Be=Math.sin(Y),we=Math.cos(G),ve=Math.sin(G),Ke=se*ce+W,p2=Be*J+q,c2=we*ce+W,s2=ve*J+q,R2=ce*re*ee,w2=J*re*ee;r.push(Ke-R2*Be,p2+w2*se,c2+R2*ve,s2-w2*we,c2,s2)}for(var h,f,p,g,m=0;m<t;){var v=e[m++],_=m===1;switch(_&&(a=e[m],o=e[m+1],s=a,l=o,(v===Ro.L||v===Ro.C||v===Ro.Q)&&(r=[s,l])),v){case Ro.M:a=s=e[m++],o=l=e[m++],u(s,l);break;case Ro.L:h=e[m++],f=e[m++],c(a,o,h,f),a=h,o=f;break;case Ro.C:r.push(e[m++],e[m++],e[m++],e[m++],a=e[m++],o=e[m++]);break;case Ro.Q:h=e[m++],f=e[m++],p=e[m++],g=e[m++],r.push(a+2/3*(h-a),o+2/3*(f-o),p+2/3*(h-p),g+2/3*(f-g),p,g),a=p,o=g;break;case Ro.A:var S=e[m++],x=e[m++],A=e[m++],C=e[m++],M=e[m++],I=e[m++]+M;m+=1;var D=!e[m++];h=Math.cos(M)*A+S,f=Math.sin(M)*C+x,_?(s=h,l=f,u(s,l)):c(a,o,h,f),a=Math.cos(I)*A+S,o=Math.sin(I)*C+x;for(var E=(D?-1:1)*Math.PI/2,L=M;D?L>I:L<I;L+=E){var V=D?Math.max(L+E,I):Math.min(L+E,I);d(L,V,S,x,A,C)}break;case Ro.R:s=a=e[m++],l=o=e[m++],h=s+e[m++],f=l+e[m++],u(h,l),c(h,l,h,f),c(h,f,s,f),c(s,f,s,l),c(s,l,h,l);break;case Ro.Z:r&&c(a,o,s,l),a=s,o=l;break}}return r&&r.length>2&&i.push(r),i}function OM(n,e,t,i,r,a,o,s,l,u){if(Q4(n,t)&&Q4(e,i)&&Q4(r,o)&&Q4(a,s)){l.push(o,s);return}var c=2/u,d=c*c,h=o-n,f=s-e,p=Math.sqrt(h*h+f*f);h/=p,f/=p;var g=t-n,m=i-e,v=r-o,_=a-s,S=g*g+m*m,x=v*v+_*_;if(S<d&&x<d){l.push(o,s);return}var A=h*g+f*m,C=-h*v-f*_,M=S-A*A,I=x-C*C;if(M<d&&A>=0&&I<d&&C>=0){l.push(o,s);return}var D=[],E=[];W5(n,t,r,o,.5,D),W5(e,i,a,s,.5,E),OM(D[0],E[0],D[1],E[1],D[2],E[2],D[3],E[3],l,u),OM(D[4],E[4],D[5],E[5],D[6],E[6],D[7],E[7],l,u)}function PMe(n,e){var t=FM(n),i=[];e=e||1;for(var r=0;r<t.length;r++){var a=t[r],o=[],s=a[0],l=a[1];o.push(s,l);for(var u=2;u<a.length;){var c=a[u++],d=a[u++],h=a[u++],f=a[u++],p=a[u++],g=a[u++];OM(s,l,c,d,h,f,p,g,o,e),s=p,l=g}i.push(o)}return i}function _ee(n,e,t){var i=n[e],r=n[1-e],a=Math.abs(i/r),o=Math.ceil(Math.sqrt(a*t)),s=Math.floor(t/o);s===0&&(s=1,o=t);for(var l=[],u=0;u<o;u++)l.push(s);var c=o*s,d=t-c;if(d>0)for(var u=0;u<d;u++)l[u%o]+=1;return l}function qG(n,e,t){for(var i=n.r0,r=n.r,a=n.startAngle,o=n.endAngle,s=Math.abs(o-a),l=s*r,u=r-i,c=l>Math.abs(u),d=_ee([l,u],c?0:1,e),h=(c?s:u)/d.length,f=0;f<d.length;f++)for(var p=(c?u:s)/d[f],g=0;g<d[f];g++){var m={};c?(m.startAngle=a+h*f,m.endAngle=a+h*(f+1),m.r0=i+p*g,m.r=i+p*(g+1)):(m.startAngle=a+p*g,m.endAngle=a+p*(g+1),m.r0=i+h*f,m.r=i+h*(f+1)),m.clockwise=n.clockwise,m.cx=n.cx,m.cy=n.cy,t.push(m)}}function RMe(n,e,t){for(var i=n.width,r=n.height,a=i>r,o=_ee([i,r],a?0:1,e),s=a?"width":"height",l=a?"height":"width",u=a?"x":"y",c=a?"y":"x",d=n[s]/o.length,h=0;h<o.length;h++)for(var f=n[l]/o[h],p=0;p<o[h];p++){var g={};g[u]=h*d,g[c]=p*f,g[s]=d,g[l]=f,g.x+=n.x,g.y+=n.y,t.push(g)}}function XG(n,e,t,i){return n*i-t*e}function LMe(n,e,t,i,r,a,o,s){var l=t-n,u=i-e,c=o-r,d=s-a,h=XG(c,d,l,u);if(Math.abs(h)<1e-6)return null;var f=n-r,p=e-a,g=XG(f,p,c,d)/h;return g<0||g>1?null:new d3(g*l+n,g*u+e)}function IMe(n,e,t){var i=new d3;d3.sub(i,t,e),i.normalize();var r=new d3;d3.sub(r,n,e);var a=r.dot(i);return a}function h4(n,e){var t=n[n.length-1];t&&t[0]===e[0]&&t[1]===e[1]||n.push(e)}function DMe(n,e,t){for(var i=n.length,r=[],a=0;a<i;a++){var o=n[a],s=n[(a+1)%i],l=LMe(o[0],o[1],s[0],s[1],e.x,e.y,t.x,t.y);l&&r.push({projPt:IMe(l,e,t),pt:l,idx:a})}if(r.length<2)return[{points:n},{points:n}];r.sort(function(m,v){return m.projPt-v.projPt});var u=r[0],c=r[r.length-1];if(c.idx<u.idx){var d=u;u=c,c=d}for(var h=[u.pt.x,u.pt.y],f=[c.pt.x,c.pt.y],p=[h],g=[f],a=u.idx+1;a<=c.idx;a++)h4(p,n[a].slice());h4(p,f),h4(p,h);for(var a=c.idx+1;a<=u.idx+i;a++)h4(g,n[a%i].slice());return h4(g,h),h4(g,f),[{points:p},{points:g}]}function KG(n){var e=n.points,t=[],i=[];C_(e,t,i);var r=new h3(t[0],t[1],i[0]-t[0],i[1]-t[1]),a=r.width,o=r.height,s=r.x,l=r.y,u=new d3,c=new d3;return a>o?(u.x=c.x=s+a/2,u.y=l,c.y=l+o):(u.y=c.y=l+o/2,u.x=s,c.x=s+a),DMe(e,u,c)}function Ty(n,e,t,i){if(t===1)i.push(e);else{var r=Math.floor(t/2),a=n(e);Ty(n,a[0],r,i),Ty(n,a[1],t-r,i)}return i}function NMe(n,e){for(var t=[],i=0;i<e;i++)t.push(SP(n));return t}function kMe(n,e){e.setStyle(n.style),e.z=n.z,e.z2=n.z2,e.zlevel=n.zlevel}function FMe(n){for(var e=[],t=0;t<n.length;)e.push([n[t++],n[t++]]);return e}function OMe(n,e){var t=[],i=n.shape,r;switch(n.type){case"rect":RMe(i,e,t),r=V3;break;case"sector":qG(i,e,t),r=mr;break;case"circle":qG({r0:0,r:i.r,startAngle:0,endAngle:Math.PI*2,cx:i.cx,cy:i.cy},e,t),r=mr;break;default:var a=n.getComputedTransform(),o=a?Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1],a[2]*a[2]+a[3]*a[3])):1,s=j2(PMe(n.getUpdatedPathProxy(),o),function(v){return FMe(v)}),l=s.length;if(l===0)Ty(KG,{points:s[0]},e,t);else if(l===e)for(var u=0;u<l;u++)t.push({points:s[u]});else{var c=0,d=j2(s,function(v){var _=[],S=[];C_(v,_,S);var x=(S[1]-_[1])*(S[0]-_[0]);return c+=x,{poly:v,area:x}});d.sort(function(v,_){return _.area-v.area});for(var h=e,u=0;u<l;u++){var f=d[u];if(h<=0)break;var p=u===l-1?h:Math.ceil(f.area/c*e);p<0||(Ty(KG,{points:f.poly},p,t),h-=p)}}r=gr;break}if(!r)return NMe(n,e);for(var g=[],u=0;u<t.length;u++){var m=new r;m.setShape(t[u]),kMe(n,m),g.push(m)}return g}function BMe(n,e){var t=n.length,i=e.length;if(t===i)return[n,e];for(var r=[],a=[],o=t<i?n:e,s=Math.min(t,i),l=Math.abs(i-t)/6,u=(s-2)/6,c=Math.ceil(l/u)+1,d=[o[0],o[1]],h=l,f=2;f<s;){var p=o[f-2],g=o[f-1],m=o[f++],v=o[f++],_=o[f++],S=o[f++],x=o[f++],A=o[f++];if(h<=0){d.push(m,v,_,S,x,A);continue}for(var C=Math.min(h,c-1)+1,M=1;M<=C;M++){var I=M/C;W5(p,m,_,x,I,r),W5(g,v,S,A,I,a),p=r[3],g=a[3],d.push(r[1],a[1],r[2],a[2],p,g),m=r[5],v=a[5],_=r[6],S=a[6]}h-=C-1}return o===n?[d,e]:[n,d]}function ZG(n,e){for(var t=n.length,i=n[t-2],r=n[t-1],a=[],o=0;o<e.length;)a[o++]=i,a[o++]=r;return a}function zMe(n,e){for(var t,i,r,a=[],o=[],s=0;s<Math.max(n.length,e.length);s++){var l=n[s],u=e[s],c=void 0,d=void 0;l?u?(t=BMe(l,u),c=t[0],d=t[1],i=c,r=d):(d=ZG(r||l,l),c=l):(c=ZG(i||u,u),d=u),a.push(c),o.push(d)}return[a,o]}function JG(n){for(var e=0,t=0,i=0,r=n.length,a=0,o=r-2;a<r;o=a,a+=2){var s=n[o],l=n[o+1],u=n[a],c=n[a+1],d=s*c-u*l;e+=d,t+=(s+u)*d,i+=(l+c)*d}return e===0?[n[0]||0,n[1]||0]:[t/e/3,i/e/3,e]}function UMe(n,e,t,i){for(var r=(n.length-2)/6,a=1/0,o=0,s=n.length,l=s-2,u=0;u<r;u++){for(var c=u*6,d=0,h=0;h<s;h+=2){var f=h===0?c:(c+h-2)%l+2,p=n[f]-t[0],g=n[f+1]-t[1],m=e[h]-i[0],v=e[h+1]-i[1],_=m-p,S=v-g;d+=_*_+S*S}d<a&&(a=d,o=u)}return o}function GMe(n){for(var e=[],t=n.length,i=0;i<t;i+=2)e[i]=n[t-i-2],e[i+1]=n[t-i-1];return e}function VMe(n,e,t,i){for(var r=[],a,o=0;o<n.length;o++){var s=n[o],l=e[o],u=JG(s),c=JG(l);a==null&&(a=u[2]<0!=c[2]<0);var d=[],h=[],f=0,p=1/0,g=[],m=s.length;a&&(s=GMe(s));for(var v=UMe(s,l,u,c)*6,_=m-2,S=0;S<_;S+=2){var x=(v+S)%_+2;d[S+2]=s[x]-u[0],d[S+3]=s[x+1]-u[1]}if(d[0]=s[v]-u[0],d[1]=s[v+1]-u[1],t>0)for(var A=i/t,C=-i/2;C<=i/2;C+=A){for(var M=Math.sin(C),I=Math.cos(C),D=0,S=0;S<s.length;S+=2){var E=d[S],L=d[S+1],V=l[S]-c[0],Y=l[S+1]-c[1],G=V*I-Y*M,W=V*M+Y*I;g[S]=G,g[S+1]=W;var q=G-E,ce=W-L;D+=q*q+ce*ce}if(D<p){p=D,f=C;for(var J=0;J<g.length;J++)h[J]=g[J]}}else for(var H=0;H<m;H+=2)h[H]=l[H]-c[0],h[H+1]=l[H+1]-c[1];r.push({from:d,to:h,fromCp:u,toCp:c,rotation:-f})}return r}function Ay(n){return n.__isCombineMorphing}var See="__mOriginal_";function Cy(n,e,t){var i=See+e,r=n[i]||n[e];n[i]||(n[i]=n[e]);var a=t.replace,o=t.after,s=t.before;n[e]=function(){var l=arguments,u;return s&&s.apply(this,l),a?u=a.apply(this,l):u=r.apply(this,l),o&&o.apply(this,l),u}}function Pd(n,e){var t=See+e;n[t]&&(n[e]=n[t],n[t]=null)}function QG(n,e){for(var t=0;t<n.length;t++)for(var i=n[t],r=0;r<i.length;){var a=i[r],o=i[r+1];i[r++]=e[0]*a+e[2]*o+e[4],i[r++]=e[1]*a+e[3]*o+e[5]}}function bee(n,e){var t=n.getUpdatedPathProxy(),i=e.getUpdatedPathProxy(),r=zMe(FM(t),FM(i)),a=r[0],o=r[1],s=n.getComputedTransform(),l=e.getComputedTransform();function u(){this.transform=null}s&&QG(a,s),l&&QG(o,l),Cy(e,"updateTransform",{replace:u}),e.transform=null;var c=VMe(a,o,10,Math.PI),d=[];Cy(e,"buildPath",{replace:function(h){for(var f=e.__morphT,p=1-f,g=[],m=0;m<c.length;m++){var v=c[m],_=v.from,S=v.to,x=v.rotation*f,A=v.fromCp,C=v.toCp,M=Math.sin(x),I=Math.cos(x);Hg(g,A,C,f);for(var D=0;D<_.length;D+=2){var E=_[D],L=_[D+1],V=S[D],Y=S[D+1],G=E*p+V*f,W=L*p+Y*f;d[D]=G*I-W*M+g[0],d[D+1]=G*M+W*I+g[1]}var q=d[0],ce=d[1];h.moveTo(q,ce);for(var D=2;D<_.length;){var V=d[D++],Y=d[D++],J=d[D++],H=d[D++],re=d[D++],ee=d[D++];q===V&&ce===Y&&J===re&&H===ee?h.lineTo(re,ee):h.bezierCurveTo(V,Y,J,H,re,ee),q=re,ce=ee}}}})}function oL(n,e,t){if(!n||!e)return e;var i=t.done,r=t.during;bee(n,e),e.__morphT=0;function a(){Pd(e,"buildPath"),Pd(e,"updateTransform"),e.__morphT=-1,e.createPathProxy(),e.dirtyShape()}return e.animateTo({__morphT:1},Vt({during:function(o){e.dirtyShape(),r&&r(o)},done:function(){a(),i&&i()}},t)),e}function HMe(n,e,t,i,r,a){var o=16;n=r===t?0:Math.round(32767*(n-t)/(r-t)),e=a===i?0:Math.round(32767*(e-i)/(a-i));for(var s=0,l,u=(1<<o)/2;u>0;u/=2){var c=0,d=0;(n&u)>0&&(c=1),(e&u)>0&&(d=1),s+=u*u*(3*c^d),d===0&&(c===1&&(n=u-1-n,e=u-1-e),l=n,n=e,e=l)}return s}function My(n){var e=1/0,t=1/0,i=-1/0,r=-1/0,a=j2(n,function(s){var l=s.getBoundingRect(),u=s.getComputedTransform(),c=l.x+l.width/2+(u?u[4]:0),d=l.y+l.height/2+(u?u[5]:0);return e=Math.min(c,e),t=Math.min(d,t),i=Math.max(c,i),r=Math.max(d,r),[c,d]}),o=j2(a,function(s,l){return{cp:s,z:HMe(s[0],s[1],e,t,i,r),path:n[l]}});return o.sort(function(s,l){return s.z-l.z}).map(function(s){return s.path})}function xee(n){return OMe(n.path,n.count)}function BM(){return{fromIndividuals:[],toIndividuals:[],count:0}}function WMe(n,e,t){var i=[];function r(A){for(var C=0;C<A.length;C++){var M=A[C];Ay(M)?r(M.childrenRef()):M instanceof C3&&i.push(M)}}r(n);var a=i.length;if(!a)return BM();var o=t.dividePath||xee,s=o({path:e,count:a});if(s.length!==a)return console.error("Invalid morphing: unmatched splitted path"),BM();i=My(i),s=My(s);for(var l=t.done,u=t.during,c=t.individualDelay,d=new Ys,h=0;h<a;h++){var f=i[h],p=s[h];p.parent=e,p.copyTransform(d),c||bee(f,p)}e.__isCombineMorphing=!0,e.childrenRef=function(){return s};function g(A){for(var C=0;C<s.length;C++)s[C].addSelfToZr(A)}Cy(e,"addSelfToZr",{after:function(A){g(A)}}),Cy(e,"removeSelfFromZr",{after:function(A){for(var C=0;C<s.length;C++)s[C].removeSelfFromZr(A)}});function m(){e.__isCombineMorphing=!1,e.__morphT=-1,e.childrenRef=null,Pd(e,"addSelfToZr"),Pd(e,"removeSelfFromZr")}var v=s.length;if(c)for(var _=v,S=function(){_--,_===0&&(m(),l&&l())},h=0;h<v;h++){var x=c?Vt({delay:(t.delay||0)+c(h,v,i[h],s[h]),done:S},t):t;oL(i[h],s[h],x)}else e.__morphT=0,e.animateTo({__morphT:1},Vt({during:function(A){for(var C=0;C<v;C++){var M=s[C];M.__morphT=e.__morphT,M.dirtyShape()}u&&u(A)},done:function(){m();for(var A=0;A<n.length;A++)Pd(n[A],"updateTransform");l&&l()}},t));return e.__zr&&g(e.__zr),{fromIndividuals:i,toIndividuals:s,count:v}}function jMe(n,e,t){var i=e.length,r=[],a=t.dividePath||xee;function o(f){for(var p=0;p<f.length;p++){var g=f[p];Ay(g)?o(g.childrenRef()):g instanceof C3&&r.push(g)}}if(Ay(n)){o(n.childrenRef());var s=r.length;if(s<i)for(var l=0,u=s;u<i;u++)r.push(SP(r[l++%s]));r.length=i}else{r=a({path:n,count:i});for(var c=n.getComputedTransform(),u=0;u<r.length;u++)r[u].setLocalTransform(c);if(r.length!==i)return console.error("Invalid morphing: unmatched splitted path"),BM()}r=My(r),e=My(e);for(var d=t.individualDelay,u=0;u<i;u++){var h=d?Vt({delay:(t.delay||0)+d(u,i,r[u],e[u])},t):t;oL(r[u],e[u],h)}return{fromIndividuals:r,toIndividuals:e,count:e.length}}function eV(n){return H2(n[0])}function tV(n,e){for(var t=[],i=n.length,r=0;r<i;r++)t.push({one:n[r],many:[]});for(var r=0;r<e.length;r++){var a=e[r].length,o=void 0;for(o=0;o<a;o++)t[o%i].many.push(e[r][o])}for(var s=0,r=i-1;r>=0;r--)if(!t[r].many.length){var l=t[s].many;if(l.length<=1)if(s)s=0;else return t;var a=l.length,u=Math.ceil(a/2);t[r].many=l.slice(u,a),t[s].many=l.slice(0,u),s++}return t}var $Me={clone:function(n){for(var e=[],t=1-Math.pow(1-n.path.style.opacity,1/n.count),i=0;i<n.count;i++){var r=SP(n.path);r.setStyle("opacity",t),e.push(r)}return e},split:null};function xT(n,e,t,i,r,a){if(!n.length||!e.length)return;var o=cu("update",i,r);if(!(o&&o.duration>0))return;var s=i.getModel("universalTransition").get("delay"),l=Object.assign({setToFinal:!0},o),u,c;eV(n)&&(u=n,c=e),eV(e)&&(u=e,c=n);function d(v,_,S,x,A){var C=v.many,M=v.one;if(C.length===1&&!A){var I=_?C[0]:M,D=_?M:C[0];if(Ay(I))d({many:[I],one:D},!0,S,x,!0);else{var E=s?Vt({delay:s(S,x)},l):l;oL(I,D,E),a(I,D,I,D,E)}}else for(var L=Vt({dividePath:$Me[t],individualDelay:s&&function(ce,J,H,re){return s(ce+S,x)}},l),V=_?WMe(C,M,L):jMe(M,C,L),Y=V.fromIndividuals,G=V.toIndividuals,W=Y.length,q=0;q<W;q++){var E=s?Vt({delay:s(q,W)},l):l;a(Y[q],G[q],_?C[q]:v.one,_?v.one:C[q],E)}}for(var h=u?u===n:n.length>e.length,f=u?tV(c,u):tV(h?e:n,[h?n:e]),p=0,g=0;g<f.length;g++)p+=f[g].many.length;for(var m=0,g=0;g<f.length;g++)d(f[g],h,m,p),m+=f[g].many.length}function d8(n){if(!n)return[];if(H2(n)){for(var e=[],t=0;t<n.length;t++)e.push(d8(n[t]));return e}var i=[];return n.traverse(function(r){r instanceof C3&&!r.disableMorphing&&!r.invisible&&!r.ignore&&i.push(r)}),i}var wee=1e4,YMe=0,nV=1,iV=2,qMe=B3();function XMe(n,e){for(var t=n.dimensions,i=0;i<t.length;i++){var r=n.getDimensionInfo(t[i]);if(r&&r.otherDims[e]===0)return t[i]}}function KMe(n,e,t){var i=n.getDimensionInfo(t),r=i&&i.ordinalMeta;if(i){var a=n.get(i.name,e);return r&&r.categories[a]||a+""}}function rV(n,e,t,i){var r=i?"itemChildGroupId":"itemGroupId",a=XMe(n,r);if(a){var o=KMe(n,e,a);return o}var s=n.getRawDataItem(e),l=i?"childGroupId":"groupId";if(s&&s[l])return s[l]+"";if(!i)return t||n.getId(e)}function aV(n){var e=[];return ne(n,function(t){var i=t.data,r=t.dataGroupId;if(!(i.count()>wee))for(var a=i.getIndices(),o=0;o<a.length;o++)e.push({data:i,groupId:rV(i,o,r,!1),childGroupId:rV(i,o,r,!0),divide:t.divide,dataIndex:o})}),e}function wT(n,e,t){n.traverse(function(i){i instanceof C3&&l0(i,{style:{opacity:0}},e,{dataIndex:t,isFrom:!0})})}function TT(n){if(n.parent){var e=n.getComputedTransform();n.setLocalTransform(e),n.parent.remove(n)}}function f4(n){n.stopAnimation(),n.isGroup&&n.traverse(function(e){e.stopAnimation()})}function ZMe(n,e,t){var i=cu("update",t,e);i&&n.traverse(function(r){if(r instanceof Ba){var a=Rle(r);a&&r.animateFrom({style:a},i)}})}function JMe(n,e){var t=n.length;if(t!==e.length)return!1;for(var i=0;i<t;i++){var r=n[i],a=e[i];if(r.data.getId(r.dataIndex)!==a.data.getId(a.dataIndex))return!1}return!0}function Tee(n,e,t){var i=aV(n),r=aV(e);function a(S,x,A,C,M){(A||S)&&x.animateFrom({style:A&&A!==S?L2(L2({},A.style),S.style):S.style},M)}var o=!1,s=YMe,l=Ct(),u=Ct();i.forEach(function(S){S.groupId&&l.set(S.groupId,!0),S.childGroupId&&u.set(S.childGroupId,!0)});for(var c=0;c<r.length;c++){var d=r[c].groupId;if(u.get(d)){s=nV;break}var h=r[c].childGroupId;if(h&&l.get(h)){s=iV;break}}function f(S,x){return function(A){var C=A.data,M=A.dataIndex;return x?C.getId(M):S?s===nV?A.childGroupId:A.groupId:s===iV?A.childGroupId:A.groupId}}var p=JMe(i,r),g={};if(!p)for(var c=0;c<r.length;c++){var m=r[c],v=m.data.getItemGraphicEl(m.dataIndex);v&&(g[v.id]=!0)}function _(S,x){var A=i[x],C=r[S],M=C.data.hostModel,I=A.data.getItemGraphicEl(A.dataIndex),D=C.data.getItemGraphicEl(C.dataIndex);if(I===D){D&&ZMe(D,C.dataIndex,M);return}I&&g[I.id]||D&&(f4(D),I?(f4(I),TT(I),o=!0,xT(d8(I),d8(D),C.divide,M,S,a)):wT(D,M,S))}new l6(i,r,f(!0,p),f(!1,p),null,"multiple").update(_).updateManyToOne(function(S,x){var A=r[S],C=A.data,M=C.hostModel,I=C.getItemGraphicEl(A.dataIndex),D=c1(j2(x,function(E){return i[E].data.getItemGraphicEl(i[E].dataIndex)}),function(E){return E&&E!==I&&!g[E.id]});I&&(f4(I),D.length?(ne(D,function(E){f4(E),TT(E)}),o=!0,xT(d8(D),d8(I),A.divide,M,S,a)):wT(I,M,A.dataIndex))}).updateOneToMany(function(S,x){var A=i[x],C=A.data.getItemGraphicEl(A.dataIndex);if(!(C&&g[C.id])){var M=c1(j2(S,function(D){return r[D].data.getItemGraphicEl(r[D].dataIndex)}),function(D){return D&&D!==C}),I=r[S[0]].data.hostModel;M.length&&(ne(M,function(D){return f4(D)}),C?(f4(C),TT(C),o=!0,xT(d8(C),d8(M),A.divide,I,S[0],a)):ne(M,function(D){return wT(D,I,S[0])}))}}).updateManyToMany(function(S,x){new l6(x,S,function(A){return i[A].data.getId(i[A].dataIndex)},function(A){return r[A].data.getId(r[A].dataIndex)}).update(function(A,C){_(S[A],x[C])}).execute()}).execute(),o&&ne(e,function(S){var x=S.data,A=x.hostModel,C=A&&t.getViewOfSeriesModel(A),M=cu("update",A,0);C&&A.isAnimationEnabled()&&M&&M.duration>0&&C.group.traverse(function(I){I instanceof C3&&!I.animators.length&&I.animateFrom({style:{opacity:0}},M)})})}function oV(n){var e=n.getModel("universalTransition").get("seriesKey");return e||n.id}function sV(n){return H2(n)?n.sort().join(","):n}function o5(n){if(n.hostModel)return n.hostModel.getModel("universalTransition").get("divideShape")}function QMe(n,e){var t=Ct(),i=Ct(),r=Ct();return ne(n.oldSeries,function(a,o){var s=n.oldDataGroupIds[o],l=n.oldData[o],u=oV(a),c=sV(u);i.set(c,{dataGroupId:s,data:l}),H2(u)&&ne(u,function(d){r.set(d,{key:c,dataGroupId:s,data:l})})}),ne(e.updatedSeries,function(a){if(a.isUniversalTransitionEnabled()&&a.isAnimationEnabled()){var o=a.get("dataGroupId"),s=a.getData(),l=oV(a),u=sV(l),c=i.get(u);if(c)t.set(u,{oldSeries:[{dataGroupId:c.dataGroupId,divide:o5(c.data),data:c.data}],newSeries:[{dataGroupId:o,divide:o5(s),data:s}]});else if(H2(l)){var d=[];ne(l,function(p){var g=i.get(p);g.data&&d.push({dataGroupId:g.dataGroupId,divide:o5(g.data),data:g.data})}),d.length&&t.set(u,{oldSeries:d,newSeries:[{dataGroupId:o,data:s,divide:o5(s)}]})}else{var h=r.get(l);if(h){var f=t.get(h.key);f||(f={oldSeries:[{dataGroupId:h.dataGroupId,data:h.data,divide:o5(h.data)}],newSeries:[]},t.set(h.key,f)),f.newSeries.push({dataGroupId:o,data:s,divide:o5(s)})}}}}),t}function lV(n,e){for(var t=0;t<n.length;t++){var i=e.seriesIndex!=null&&e.seriesIndex===n[t].seriesIndex||e.seriesId!=null&&e.seriesId===n[t].id;if(i)return t}}function eEe(n,e,t,i){var r=[],a=[];ne(A1(n.from),function(o){var s=lV(e.oldSeries,o);s>=0&&r.push({dataGroupId:e.oldDataGroupIds[s],data:e.oldData[s],divide:o5(e.oldData[s]),groupIdDim:o.dimension})}),ne(A1(n.to),function(o){var s=lV(t.updatedSeries,o);if(s>=0){var l=t.updatedSeries[s].getData();a.push({dataGroupId:e.oldDataGroupIds[s],data:l,divide:o5(l),groupIdDim:o.dimension})}}),r.length>0&&a.length>0&&Tee(r,a,i)}function tEe(n){n.registerUpdateLifecycle("series:beforeupdate",function(e,t,i){ne(A1(i.seriesTransition),function(r){ne(A1(r.to),function(a){for(var o=i.updatedSeries,s=0;s<o.length;s++)(a.seriesIndex!=null&&a.seriesIndex===o[s].seriesIndex||a.seriesId!=null&&a.seriesId===o[s].id)&&(o[s][tv]=!0)})})}),n.registerUpdateLifecycle("series:transition",function(e,t,i){var r=qMe(t);if(r.oldSeries&&i.updatedSeries&&i.optionChanged){var a=i.seriesTransition;if(a)ne(A1(a),function(f){eEe(f,r,i,t)});else{var o=QMe(r,i);ne(o.keys(),function(f){var p=o.get(f);Tee(p.oldSeries,p.newSeries,t)})}ne(i.updatedSeries,function(f){f[tv]&&(f[tv]=!1)})}for(var s=e.getSeries(),l=r.oldSeries=[],u=r.oldDataGroupIds=[],c=r.oldData=[],d=0;d<s.length;d++){var h=s[d].getData();h.count()<wee&&(l.push(s[d]),u.push(s[d].get("dataGroupId")),c.push(h))}})}T3([ghe]);T3([uhe]);T3([Uhe,rfe,vfe,rpe,bpe,mme,$me,Ige,ove,mve,Cve,Rye,i_e,g_e,F_e,H_e,sSe,vSe,RSe,BSe,ZSe,Fbe]);T3(axe);T3(zxe);T3(_J);T3(nwe);T3(aQ);T3(uwe);T3(ywe);T3(_Te);T3(VTe);T3(pf);T3(lAe);T3(dAe);T3(CAe);T3(FAe);T3(WAe);T3(JAe);T3(hCe);T3(NCe);T3(cee);T3(dee);T3(sMe);T3(gee);T3(vee);T3(hMe);T3(AMe);T3(EMe);T3(tEe);T3(Mde);var Pm=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function nEe(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Rm(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ey={exports:{}};Ey.exports;(function(n,e){function t(Q){"@babel/helpers - typeof";return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(U){return typeof U}:function(U){return U&&typeof Symbol=="function"&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},t(Q)}function i(Q,U){if(!(Q instanceof U))throw new TypeError("Cannot call a class as a function")}function r(Q,U){for(var w=0;w<U.length;w++){var T=U[w];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(Q,T.key,T)}}function a(Q,U,w){return U&&r(Q.prototype,U),w&&r(Q,w),Object.defineProperty(Q,"prototype",{writable:!1}),Q}function o(Q,U,w){return U in Q?Object.defineProperty(Q,U,{value:w,enumerable:!0,configurable:!0,writable:!0}):Q[U]=w,Q}var s=function(){function Q(U,w){i(this,Q),this.coreX=U,this.coreY=w}return a(Q,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}}]),Q}();Date.prototype.Format=function(Q){var U={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(Q)&&(Q=Q.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var w in U)new RegExp("("+w+")").test(Q)&&(Q=Q.replace(RegExp.$1,RegExp.$1.length==1?U[w]:("00"+U[w]).substr((""+U[w]).length)));return Q};var l=function(U,w,T){var P=document.getElementsByTagName("head")[0].getElementsByTagName("script"),N=!1;if(T)N=T();else for(var O=0;O<P.length;O++)P[O].getAttribute("src")==U&&(N=!0,w());if(N)w();else{var B=document.createElement("script");B.setAttribute("src",U),B.setAttribute("crossorigin",!0),B.onload=w,document.getElementsByTagName("head")[0].appendChild(B)}},u=function(U,w){for(var T=document.getElementsByTagName("head")[0].getElementsByTagName("link"),P=!1,N=0;N<T.length;N++)T[N].getAttribute("href")==U&&(P=!0);if(!P){var O=document.createElement("link");O.rel="stylesheet",O.type="text/css",O.href=U,O.onload=w,document.getElementsByTagName("head")[0].appendChild(O)}},c=function(U){return!!U&&(t(U)==="object"||typeof U=="function")&&typeof U.then=="function"},d=function(U,w){var T=new RegExp("(\\?|#|&)"+U+"=(.*?)(#|&|$)"),P=(w||window.location.href).match(T);return decodeURIComponent(P?P[2]:"")},h=function(U,w){var T=w.parentNode;T.lastChild==w?T.appendChild(U):T.insertBefore(U,w.nextSibling)},f=function(U){console.log("requestFullScreen",document.getElementById(U));var w=U.requestFullScreen||U.webkitRequestFullScreen||U.mozRequestFullScreen||U.msRequestFullScreen;if(w)w.call(U);else if(typeof window.ActiveXObject!="undefined"){var T=new window.ActiveXObject("WScript.Shell");T!==null&&T.SendKeys("{F11}")}},p=function(U){var w=document.documentElement.clientWidth,T=document.documentElement.clientHeight,P=U,N="";N+="width:"+T+"px;",N+="height:"+w+"px;",N+="-webkit-transform: rotate(90.001deg); transform: rotate(90.001deg);",N+="-webkit-transform-origin: "+w/2+"px "+w/2+"px;",N+="transform-origin: "+w/2+"px "+w/2+"px;",N+="position: fixed;top: 0;left: 0;z-index:10",P.style.cssText=N},g=function(U){f(U);var w=new Promise(function(T,P){var N=setInterval(function(){var B=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;if(B)return clearInterval(N),T(!0)},100),O=setTimeout(function(){var B=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;B||P(!1),clearTimeout(O)},2e3)});return w},m=function(U,w,T){var P="";P+="width:"+w+"px;",P+="height:"+T+"px;",P+="-webkit-transform: none; transform: none;",P+="-webkit-transform-origin: 0 0;",P+="transform-origin: 0 0;",U.style.cssText=P},v=function(){document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen&&document.mozCancelFullScreen()},_=function(U){v();var w=new Promise(function(T,P){var N=setInterval(function(){var B=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;if(!B)return clearInterval(N),T(!0)},50),O=setTimeout(function(){var B=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;B&&P(!1),clearTimeout(O)},2e3)});return w},S=function(U){var w=U.split("/")[3],T=U.split("/")[4].split(".")[0],P=U.split("/")[2].split("@").length===2?U.split("/")[2].split("@")[0]:"",N=U.indexOf(".hd")!==-1,O=U.split("/")[4].split(".")[U.split("/")[4].split(".").length-1].split("?")[0];return O==="rec"&&U.indexOf(".cloud.rec")!==-1&&(O="cloud.rec"),{deviceSerial:w,channelNo:T,validCode:P,hd:N,type:O}};function x(Q){if(typeof Q=="string")try{var U=JSON.parse(Q);return!!(t(U)==="object"&&U)}catch(w){return!1}console.log("It is not a string!")}var A=function(U,w,T,P,N,O){var B=U,de=new XMLHttpRequest;de.onreadystatechange=function(){if(de.readyState==4&&de.status==200)if(x(de.responseText)){var le=JSON.parse(de.responseText);N(le)}else N(de.responseText)},de.open(w,B,!0);var me=new FormData;for(var fe in T)me.append(fe,T[fe]);de.send(me)},C=function(){function Q(U,w){var T=this;i(this,Q),l("https://open.ys7.com/assets/ezuikit_v3.4/js/hls.js",function(){console.log("加载hls.min.js成功",window.Hls),console.log("isSupportHls",window.Hls.isSupported()),window.Hls.isSupported()&&T.initHLS(U,w)},function(){return!!window.Hls})}return a(Q,[{key:"toString",value:function(){return"hls ".concat(this.coreX,"-").concat(this.coreY)}},{key:"initHLS",value:function(w,T){var P=document.getElementById(w),N=new window.Hls({defaultAudioCodec:"mp4a.40.2"});N.loadSource(T),N.attachMedia(P),N.on(window.Hls.Events.MANIFEST_PARSED,function(){P.play()}),N.on(window.Hls.Events.ERROR,function(O,B){if(B.fatal)switch(B.type){case window.Hls.ErrorTypes.NETWORK_ERROR:console.log("fatal network error encountered, try to recover"),N.startLoad();break;case window.Hls.ErrorTypes.MEDIA_ERROR:console.log("fatal media error encountered, try to recover"),N.recoverMediaError();break;default:N.destroy();break}}),this.hls=N,this.video=P,this.hlsUrl=T}},{key:"play",value:function(){console.log("执行hls播放",this.video),this.hls.startLoad(),this.video.play()}},{key:"stop",value:function(){this.video.pause(),this.hls.stopLoad()}}]),Q}(),M=function(){function Q(U,w){var T=this;i(this,Q),l("https://open.ys7.com/assets/ezuikit_v3.4/js/flv.min.js",function(){console.log("加载flv.min.js成功",window.flvjs),console.log("isSupportFlv",window.flvjs.isSupported()),window.flvjs.isSupported()&&T.initFLV(U,w)})}return a(Q,[{key:"toString",value:function(){return"Flv ".concat(this.coreX,"-").concat(this.coreY)}},{key:"initFLV",value:function(w,T){var P=document.getElementById(w),N=P.getAttribute("controls");N||P.setAttribute("controls",!0);var O=window.flvjs.createPlayer({type:"flv",url:T,isLive:!0},{enableStashBuffer:!0,stashInitialSize:128,enableWorker:!0});O.attachMediaElement(P),O.load(),O.play(),this.flvUrl=T,this.flv=O,this.video=P}},{key:"play",value:function(){console.log("执行flv播放",this.video),this.video.play()}},{key:"stop",value:function(){this.video.pause(),this.flv.unload()}}]),Q}(),I=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof Pm!="undefined"?Pm:typeof self!="undefined"?self:{};function D(Q,U){return U={exports:{}},Q(U,U.exports),U.exports}var E=D(function(Q,U){(function(){var w,T="4.17.21",P=200,N="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",O="Expected a function",B="Invalid `variable` option passed into `_.template`",de="__lodash_hash_undefined__",me=500,fe="__lodash_placeholder__",le=1,ae=2,We=4,Pe=1,_e=2,Se=1,n2=2,pe=4,F=8,te=16,oe=32,ze=64,Ye=128,u2=256,f2=512,C2=30,F2="...",W2=800,N2=16,Lt=1,Ot=2,Bt=3,Kt=1/0,Zt=9007199254740991,c3=17976931348623157e292,X3=0/0,Xe=4294967295,E2=Xe-1,G2=Xe>>>1,pt=[["ary",Ye],["bind",Se],["bindKey",n2],["curry",F],["curryRight",te],["flip",f2],["partial",oe],["partialRight",ze],["rearg",u2]],It="[object Arguments]",m3="[object Array]",o3="[object AsyncFunction]",n3="[object Boolean]",O3="[object Date]",xr="[object DOMException]",ni="[object Error]",tn="[object Function]",zn="[object GeneratorFunction]",t1="[object Map]",g0="[object Number]",Mn="[object Null]",z3="[object Object]",w1="[object Promise]",Qt="[object Proxy]",zt="[object RegExp]",w3="[object Set]",g1="[object String]",xe="[object Symbol]",qe="[object Undefined]",Je="[object WeakMap]",r2="[object WeakSet]",Ce="[object ArrayBuffer]",v2="[object DataView]",l2="[object Float32Array]",A2="[object Float64Array]",P2="[object Int8Array]",it="[object Int16Array]",O2="[object Int32Array]",ut="[object Uint8Array]",a1="[object Uint8ClampedArray]",t3="[object Uint16Array]",f3="[object Uint32Array]",N3=/\b__p \+= '';/g,g3=/\b(__p \+=) '' \+/g,v1=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ui=/&(?:amp|lt|gt|quot|#39);/g,xi=/[&<>"']/g,U3=RegExp(Ui.source),G1=RegExp(xi.source),xo=/<%-([\s\S]+?)%>/g,x6=/<%([\s\S]+?)%>/g,ys=/<%=([\s\S]+?)%>/g,Pl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,c9=/^\w*$/,v0=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,t0=/[\\^$.*+?()[\]{}|]/g,ii=RegExp(t0.source),Gi=/^\s+/,qr=/\s/,_s=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ss=/\{\n\/\* \[wrapped with (.+)\] \*/,d9=/,? & /,h9=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,w6=/[()=,{}\[\]\/\s]/,Vi=/\\(\\)?/g,Df=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Iu=/\w*$/,RS=/^[-+]0x[0-9a-f]+$/i,Nf=/^0b[01]+$/i,Rl=/^\[object .+?Constructor\]$/,kf=/^0o[0-7]+$/i,LS=/^(?:0|[1-9]\d*)$/,Ff=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,f9=/($^)/,IS=/['\n\r\u2028\u2029\\]/g,T6="\\ud800-\\udfff",DS="\\u0300-\\u036f",Du="\\ufe20-\\ufe2f",NS="\\u20d0-\\u20ff",Of=DS+Du+NS,G0="\\u2700-\\u27bf",Bf="a-z\\xdf-\\xf6\\xf8-\\xff",v3="\\xac\\xb1\\xd7\\xf7",c0="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",zf="\\u2000-\\u206f",p9=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ll="A-Z\\xc0-\\xd6\\xd8-\\xde",K="\\ufe0e\\ufe0f",X=v3+c0+zf+p9,he="['’]",a2="["+T6+"]",I2="["+X+"]",bt="["+Of+"]",R3="\\d+",K3="["+G0+"]",b1="["+Bf+"]",y1="[^"+T6+X+R3+G0+Bf+Ll+"]",d1="\\ud83c[\\udffb-\\udfff]",Hi="(?:"+bt+"|"+d1+")",En="[^"+T6+"]",d0="(?:\\ud83c[\\udde6-\\uddff]){2}",D0="[\\ud800-\\udbff][\\udc00-\\udfff]",Xr="["+Ll+"]",A6="\\u200d",C6="(?:"+b1+"|"+y1+")",m9="(?:"+Xr+"|"+y1+")",M6="(?:"+he+"(?:d|ll|m|re|s|t|ve))?",E6="(?:"+he+"(?:D|LL|M|RE|S|T|VE))?",Nu=Hi+"?",ku="["+K+"]?",M3e="(?:"+A6+"(?:"+[En,d0,D0].join("|")+")"+ku+Nu+")*",E3e="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",P3e="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",bI=ku+Nu+M3e,R3e="(?:"+[K3,d0,D0].join("|")+")"+bI,L3e="(?:"+[En+bt+"?",bt,d0,D0,a2].join("|")+")",I3e=RegExp(he,"g"),D3e=RegExp(bt,"g"),kS=RegExp(d1+"(?="+d1+")|"+L3e+bI,"g"),N3e=RegExp([Xr+"?"+b1+"+"+M6+"(?="+[I2,Xr,"$"].join("|")+")",m9+"+"+E6+"(?="+[I2,Xr+C6,"$"].join("|")+")",Xr+"?"+C6+"+"+M6,Xr+"+"+E6,P3e,E3e,R3,R3e].join("|"),"g"),k3e=RegExp("["+A6+T6+Of+K+"]"),F3e=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,O3e=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],B3e=-1,y0={};y0[l2]=y0[A2]=y0[P2]=y0[it]=y0[O2]=y0[ut]=y0[a1]=y0[t3]=y0[f3]=!0,y0[It]=y0[m3]=y0[Ce]=y0[n3]=y0[v2]=y0[O3]=y0[ni]=y0[tn]=y0[t1]=y0[g0]=y0[z3]=y0[zt]=y0[w3]=y0[g1]=y0[Je]=!1;var h0={};h0[It]=h0[m3]=h0[Ce]=h0[v2]=h0[n3]=h0[O3]=h0[l2]=h0[A2]=h0[P2]=h0[it]=h0[O2]=h0[t1]=h0[g0]=h0[z3]=h0[zt]=h0[w3]=h0[g1]=h0[xe]=h0[ut]=h0[a1]=h0[t3]=h0[f3]=!0,h0[ni]=h0[tn]=h0[Je]=!1;var z3e={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},U3e={"&":"&","<":"<",">":">",'"':""","'":"'"},G3e={"&":"&","<":"<",">":">",""":'"',"'":"'"},V3e={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},H3e=parseFloat,W3e=parseInt,xI=typeof I=="object"&&I&&I.Object===Object&&I,j3e=typeof self=="object"&&self&&self.Object===Object&&self,Un=xI||j3e||Function("return this")(),FS=U&&!U.nodeType&&U,g9=FS&&!0&&Q&&!Q.nodeType&&Q,wI=g9&&g9.exports===FS,OS=wI&&xI.process,Kr=function(){try{var S2=g9&&g9.require&&g9.require("util").types;return S2||OS&&OS.binding&&OS.binding("util")}catch(X2){}}(),TI=Kr&&Kr.isArrayBuffer,AI=Kr&&Kr.isDate,CI=Kr&&Kr.isMap,MI=Kr&&Kr.isRegExp,EI=Kr&&Kr.isSet,PI=Kr&&Kr.isTypedArray;function wr(S2,X2,B2){switch(B2.length){case 0:return S2.call(X2);case 1:return S2.call(X2,B2[0]);case 2:return S2.call(X2,B2[0],B2[1]);case 3:return S2.call(X2,B2[0],B2[1],B2[2])}return S2.apply(X2,B2)}function $3e(S2,X2,B2,Wt){for(var L3=-1,C1=S2==null?0:S2.length;++L3<C1;){var fn=S2[L3];X2(Wt,fn,B2(fn),S2)}return Wt}function Zr(S2,X2){for(var B2=-1,Wt=S2==null?0:S2.length;++B2<Wt&&X2(S2[B2],B2,S2)!==!1;);return S2}function Y3e(S2,X2){for(var B2=S2==null?0:S2.length;B2--&&X2(S2[B2],B2,S2)!==!1;);return S2}function RI(S2,X2){for(var B2=-1,Wt=S2==null?0:S2.length;++B2<Wt;)if(!X2(S2[B2],B2,S2))return!1;return!0}function P6(S2,X2){for(var B2=-1,Wt=S2==null?0:S2.length,L3=0,C1=[];++B2<Wt;){var fn=S2[B2];X2(fn,B2,S2)&&(C1[L3++]=fn)}return C1}function Uf(S2,X2){var B2=S2==null?0:S2.length;return!!B2&&Il(S2,X2,0)>-1}function BS(S2,X2,B2){for(var Wt=-1,L3=S2==null?0:S2.length;++Wt<L3;)if(B2(X2,S2[Wt]))return!0;return!1}function x0(S2,X2){for(var B2=-1,Wt=S2==null?0:S2.length,L3=Array(Wt);++B2<Wt;)L3[B2]=X2(S2[B2],B2,S2);return L3}function R6(S2,X2){for(var B2=-1,Wt=X2.length,L3=S2.length;++B2<Wt;)S2[L3+B2]=X2[B2];return S2}function zS(S2,X2,B2,Wt){var L3=-1,C1=S2==null?0:S2.length;for(Wt&&C1&&(B2=S2[++L3]);++L3<C1;)B2=X2(B2,S2[L3],L3,S2);return B2}function q3e(S2,X2,B2,Wt){var L3=S2==null?0:S2.length;for(Wt&&L3&&(B2=S2[--L3]);L3--;)B2=X2(B2,S2[L3],L3,S2);return B2}function US(S2,X2){for(var B2=-1,Wt=S2==null?0:S2.length;++B2<Wt;)if(X2(S2[B2],B2,S2))return!0;return!1}var X3e=GS("length");function K3e(S2){return S2.split("")}function Z3e(S2){return S2.match(h9)||[]}function LI(S2,X2,B2){var Wt;return B2(S2,function(L3,C1,fn){if(X2(L3,C1,fn))return Wt=C1,!1}),Wt}function Gf(S2,X2,B2,Wt){for(var L3=S2.length,C1=B2+(Wt?1:-1);Wt?C1--:++C1<L3;)if(X2(S2[C1],C1,S2))return C1;return-1}function Il(S2,X2,B2){return X2===X2?u1e(S2,X2,B2):Gf(S2,II,B2)}function J3e(S2,X2,B2,Wt){for(var L3=B2-1,C1=S2.length;++L3<C1;)if(Wt(S2[L3],X2))return L3;return-1}function II(S2){return S2!==S2}function DI(S2,X2){var B2=S2==null?0:S2.length;return B2?HS(S2,X2)/B2:X3}function GS(S2){return function(X2){return X2==null?w:X2[S2]}}function VS(S2){return function(X2){return S2==null?w:S2[X2]}}function NI(S2,X2,B2,Wt,L3){return L3(S2,function(C1,fn,n0){B2=Wt?(Wt=!1,C1):X2(B2,C1,fn,n0)}),B2}function Q3e(S2,X2){var B2=S2.length;for(S2.sort(X2);B2--;)S2[B2]=S2[B2].value;return S2}function HS(S2,X2){for(var B2,Wt=-1,L3=S2.length;++Wt<L3;){var C1=X2(S2[Wt]);C1!==w&&(B2=B2===w?C1:B2+C1)}return B2}function WS(S2,X2){for(var B2=-1,Wt=Array(S2);++B2<S2;)Wt[B2]=X2(B2);return Wt}function e1e(S2,X2){return x0(X2,function(B2){return[B2,S2[B2]]})}function kI(S2){return S2&&S2.slice(0,zI(S2)+1).replace(Gi,"")}function Tr(S2){return function(X2){return S2(X2)}}function jS(S2,X2){return x0(X2,function(B2){return S2[B2]})}function Fu(S2,X2){return S2.has(X2)}function FI(S2,X2){for(var B2=-1,Wt=S2.length;++B2<Wt&&Il(X2,S2[B2],0)>-1;);return B2}function OI(S2,X2){for(var B2=S2.length;B2--&&Il(X2,S2[B2],0)>-1;);return B2}function t1e(S2,X2){for(var B2=S2.length,Wt=0;B2--;)S2[B2]===X2&&++Wt;return Wt}var n1e=VS(z3e),i1e=VS(U3e);function r1e(S2){return"\\"+V3e[S2]}function a1e(S2,X2){return S2==null?w:S2[X2]}function Dl(S2){return k3e.test(S2)}function o1e(S2){return F3e.test(S2)}function s1e(S2){for(var X2,B2=[];!(X2=S2.next()).done;)B2.push(X2.value);return B2}function $S(S2){var X2=-1,B2=Array(S2.size);return S2.forEach(function(Wt,L3){B2[++X2]=[L3,Wt]}),B2}function BI(S2,X2){return function(B2){return S2(X2(B2))}}function L6(S2,X2){for(var B2=-1,Wt=S2.length,L3=0,C1=[];++B2<Wt;){var fn=S2[B2];(fn===X2||fn===fe)&&(S2[B2]=fe,C1[L3++]=B2)}return C1}function Vf(S2){var X2=-1,B2=Array(S2.size);return S2.forEach(function(Wt){B2[++X2]=Wt}),B2}function l1e(S2){var X2=-1,B2=Array(S2.size);return S2.forEach(function(Wt){B2[++X2]=[Wt,Wt]}),B2}function u1e(S2,X2,B2){for(var Wt=B2-1,L3=S2.length;++Wt<L3;)if(S2[Wt]===X2)return Wt;return-1}function c1e(S2,X2,B2){for(var Wt=B2+1;Wt--;)if(S2[Wt]===X2)return Wt;return Wt}function Nl(S2){return Dl(S2)?h1e(S2):X3e(S2)}function $a(S2){return Dl(S2)?f1e(S2):K3e(S2)}function zI(S2){for(var X2=S2.length;X2--&&qr.test(S2.charAt(X2)););return X2}var d1e=VS(G3e);function h1e(S2){for(var X2=kS.lastIndex=0;kS.test(S2);)++X2;return X2}function f1e(S2){return S2.match(kS)||[]}function p1e(S2){return S2.match(N3e)||[]}var m1e=function S2(X2){X2=X2==null?Un:kl.defaults(Un.Object(),X2,kl.pick(Un,O3e));var B2=X2.Array,Wt=X2.Date,L3=X2.Error,C1=X2.Function,fn=X2.Math,n0=X2.Object,YS=X2.RegExp,g1e=X2.String,Jr=X2.TypeError,Hf=B2.prototype,v1e=C1.prototype,Fl=n0.prototype,Wf=X2["__core-js_shared__"],jf=v1e.toString,V1=Fl.hasOwnProperty,y1e=0,UI=function(){var y=/[^.]+$/.exec(Wf&&Wf.keys&&Wf.keys.IE_PROTO||"");return y?"Symbol(src)_1."+y:""}(),$f=Fl.toString,_1e=jf.call(n0),S1e=Un._,b1e=YS("^"+jf.call(V1).replace(t0,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Yf=wI?X2.Buffer:w,I6=X2.Symbol,qf=X2.Uint8Array,GI=Yf?Yf.allocUnsafe:w,Xf=BI(n0.getPrototypeOf,n0),VI=n0.create,HI=Fl.propertyIsEnumerable,Kf=Hf.splice,WI=I6?I6.isConcatSpreadable:w,Ou=I6?I6.iterator:w,v9=I6?I6.toStringTag:w,Zf=function(){try{var y=x9(n0,"defineProperty");return y({},"",{}),y}catch(b){}}(),x1e=X2.clearTimeout!==Un.clearTimeout&&X2.clearTimeout,w1e=Wt&&Wt.now!==Un.Date.now&&Wt.now,T1e=X2.setTimeout!==Un.setTimeout&&X2.setTimeout,Jf=fn.ceil,Qf=fn.floor,qS=n0.getOwnPropertySymbols,A1e=Yf?Yf.isBuffer:w,jI=X2.isFinite,C1e=Hf.join,M1e=BI(n0.keys,n0),pn=fn.max,ri=fn.min,E1e=Wt.now,P1e=X2.parseInt,$I=fn.random,R1e=Hf.reverse,XS=x9(X2,"DataView"),Bu=x9(X2,"Map"),KS=x9(X2,"Promise"),Ol=x9(X2,"Set"),zu=x9(X2,"WeakMap"),Uu=x9(n0,"create"),ep=zu&&new zu,Bl={},L1e=w9(XS),I1e=w9(Bu),D1e=w9(KS),N1e=w9(Ol),k1e=w9(zu),tp=I6?I6.prototype:w,Gu=tp?tp.valueOf:w,YI=tp?tp.toString:w;function Me(y){if(N0(y)&&!k3(y)&&!(y instanceof o1)){if(y instanceof Qr)return y;if(V1.call(y,"__wrapped__"))return qD(y)}return new Qr(y)}var zl=function(){function y(){}return function(b){if(!A0(b))return{};if(VI)return VI(b);y.prototype=b;var R=new y;return y.prototype=w,R}}();function np(){}function Qr(y,b){this.__wrapped__=y,this.__actions__=[],this.__chain__=!!b,this.__index__=0,this.__values__=w}Me.templateSettings={escape:xo,evaluate:x6,interpolate:ys,variable:"",imports:{_:Me}},Me.prototype=np.prototype,Me.prototype.constructor=Me,Qr.prototype=zl(np.prototype),Qr.prototype.constructor=Qr;function o1(y){this.__wrapped__=y,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Xe,this.__views__=[]}function F1e(){var y=new o1(this.__wrapped__);return y.__actions__=Wi(this.__actions__),y.__dir__=this.__dir__,y.__filtered__=this.__filtered__,y.__iteratees__=Wi(this.__iteratees__),y.__takeCount__=this.__takeCount__,y.__views__=Wi(this.__views__),y}function O1e(){if(this.__filtered__){var y=new o1(this);y.__dir__=-1,y.__filtered__=!0}else y=this.clone(),y.__dir__*=-1;return y}function B1e(){var y=this.__wrapped__.value(),b=this.__dir__,R=k3(y),j=b<0,ue=R?y.length:0,Ie=K0e(0,ue,this.__views__),e2=Ie.start,h2=Ie.end,b2=h2-e2,et=j?h2:e2-1,nt=this.__iteratees__,ct=nt.length,Dt=0,Jt=ri(b2,this.__takeCount__);if(!R||!j&&ue==b2&&Jt==b2)return vD(y,this.__actions__);var S3=[];e:for(;b2--&&Dt<Jt;){et+=b;for(var H3=-1,b3=y[et];++H3<ct;){var r1=nt[H3],h1=r1.iteratee,Mr=r1.type,Ai=h1(b3);if(Mr==Ot)b3=Ai;else if(!Ai){if(Mr==Lt)continue e;break e}}S3[Dt++]=b3}return S3}o1.prototype=zl(np.prototype),o1.prototype.constructor=o1;function y9(y){var b=-1,R=y==null?0:y.length;for(this.clear();++b<R;){var j=y[b];this.set(j[0],j[1])}}function z1e(){this.__data__=Uu?Uu(null):{},this.size=0}function U1e(y){var b=this.has(y)&&delete this.__data__[y];return this.size-=b?1:0,b}function G1e(y){var b=this.__data__;if(Uu){var R=b[y];return R===de?w:R}return V1.call(b,y)?b[y]:w}function V1e(y){var b=this.__data__;return Uu?b[y]!==w:V1.call(b,y)}function H1e(y,b){var R=this.__data__;return this.size+=this.has(y)?0:1,R[y]=Uu&&b===w?de:b,this}y9.prototype.clear=z1e,y9.prototype.delete=U1e,y9.prototype.get=G1e,y9.prototype.has=V1e,y9.prototype.set=H1e;function bs(y){var b=-1,R=y==null?0:y.length;for(this.clear();++b<R;){var j=y[b];this.set(j[0],j[1])}}function W1e(){this.__data__=[],this.size=0}function j1e(y){var b=this.__data__,R=ip(b,y);if(R<0)return!1;var j=b.length-1;return R==j?b.pop():Kf.call(b,R,1),--this.size,!0}function $1e(y){var b=this.__data__,R=ip(b,y);return R<0?w:b[R][1]}function Y1e(y){return ip(this.__data__,y)>-1}function q1e(y,b){var R=this.__data__,j=ip(R,y);return j<0?(++this.size,R.push([y,b])):R[j][1]=b,this}bs.prototype.clear=W1e,bs.prototype.delete=j1e,bs.prototype.get=$1e,bs.prototype.has=Y1e,bs.prototype.set=q1e;function xs(y){var b=-1,R=y==null?0:y.length;for(this.clear();++b<R;){var j=y[b];this.set(j[0],j[1])}}function X1e(){this.size=0,this.__data__={hash:new y9,map:new(Bu||bs),string:new y9}}function K1e(y){var b=mp(this,y).delete(y);return this.size-=b?1:0,b}function Z1e(y){return mp(this,y).get(y)}function J1e(y){return mp(this,y).has(y)}function Q1e(y,b){var R=mp(this,y),j=R.size;return R.set(y,b),this.size+=R.size==j?0:1,this}xs.prototype.clear=X1e,xs.prototype.delete=K1e,xs.prototype.get=Z1e,xs.prototype.has=J1e,xs.prototype.set=Q1e;function _9(y){var b=-1,R=y==null?0:y.length;for(this.__data__=new xs;++b<R;)this.add(y[b])}function e0e(y){return this.__data__.set(y,de),this}function t0e(y){return this.__data__.has(y)}_9.prototype.add=_9.prototype.push=e0e,_9.prototype.has=t0e;function Ya(y){var b=this.__data__=new bs(y);this.size=b.size}function n0e(){this.__data__=new bs,this.size=0}function i0e(y){var b=this.__data__,R=b.delete(y);return this.size=b.size,R}function r0e(y){return this.__data__.get(y)}function a0e(y){return this.__data__.has(y)}function o0e(y,b){var R=this.__data__;if(R instanceof bs){var j=R.__data__;if(!Bu||j.length<P-1)return j.push([y,b]),this.size=++R.size,this;R=this.__data__=new xs(j)}return R.set(y,b),this.size=R.size,this}Ya.prototype.clear=n0e,Ya.prototype.delete=i0e,Ya.prototype.get=r0e,Ya.prototype.has=a0e,Ya.prototype.set=o0e;function qI(y,b){var R=k3(y),j=!R&&T9(y),ue=!R&&!j&&O6(y),Ie=!R&&!j&&!ue&&Hl(y),e2=R||j||ue||Ie,h2=e2?WS(y.length,g1e):[],b2=h2.length;for(var et in y)(b||V1.call(y,et))&&!(e2&&(et=="length"||ue&&(et=="offset"||et=="parent")||Ie&&(et=="buffer"||et=="byteLength"||et=="byteOffset")||Cs(et,b2)))&&h2.push(et);return h2}function XI(y){var b=y.length;return b?y[sb(0,b-1)]:w}function s0e(y,b){return gp(Wi(y),S9(b,0,y.length))}function l0e(y){return gp(Wi(y))}function ZS(y,b,R){(R!==w&&!qa(y[b],R)||R===w&&!(b in y))&&ws(y,b,R)}function Vu(y,b,R){var j=y[b];(!(V1.call(y,b)&&qa(j,R))||R===w&&!(b in y))&&ws(y,b,R)}function ip(y,b){for(var R=y.length;R--;)if(qa(y[R][0],b))return R;return-1}function u0e(y,b,R,j){return D6(y,function(ue,Ie,e2){b(j,ue,R(ue),e2)}),j}function KI(y,b){return y&&To(b,Pn(b),y)}function c0e(y,b){return y&&To(b,$i(b),y)}function ws(y,b,R){b=="__proto__"&&Zf?Zf(y,b,{configurable:!0,enumerable:!0,value:R,writable:!0}):y[b]=R}function JS(y,b){for(var R=-1,j=b.length,ue=B2(j),Ie=y==null;++R<j;)ue[R]=Ie?w:Ib(y,b[R]);return ue}function S9(y,b,R){return y===y&&(R!==w&&(y=y<=R?y:R),b!==w&&(y=y>=b?y:b)),y}function ea(y,b,R,j,ue,Ie){var e2,h2=b&le,b2=b&ae,et=b&We;if(R&&(e2=ue?R(y,j,ue,Ie):R(y)),e2!==w)return e2;if(!A0(y))return y;var nt=k3(y);if(nt){if(e2=J0e(y),!h2)return Wi(y,e2)}else{var ct=ai(y),Dt=ct==tn||ct==zn;if(O6(y))return SD(y,h2);if(ct==z3||ct==It||Dt&&!ue){if(e2=b2||Dt?{}:zD(y),!h2)return b2?G0e(y,c0e(e2,y)):U0e(y,KI(e2,y))}else{if(!h0[ct])return ue?y:{};e2=Q0e(y,ct,h2)}}Ie||(Ie=new Ya);var Jt=Ie.get(y);if(Jt)return Jt;Ie.set(y,e2),pN(y)?y.forEach(function(b3){e2.add(ea(b3,b,R,b3,y,Ie))}):hN(y)&&y.forEach(function(b3,r1){e2.set(r1,ea(b3,b,R,r1,y,Ie))});var S3=et?b2?yb:vb:b2?$i:Pn,H3=nt?w:S3(y);return Zr(H3||y,function(b3,r1){H3&&(r1=b3,b3=y[r1]),Vu(e2,r1,ea(b3,b,R,r1,y,Ie))}),e2}function d0e(y){var b=Pn(y);return function(R){return ZI(R,y,b)}}function ZI(y,b,R){var j=R.length;if(y==null)return!j;for(y=n0(y);j--;){var ue=R[j],Ie=b[ue],e2=y[ue];if(e2===w&&!(ue in y)||!Ie(e2))return!1}return!0}function JI(y,b,R){if(typeof y!="function")throw new Jr(O);return Xu(function(){y.apply(w,R)},b)}function Hu(y,b,R,j){var ue=-1,Ie=Uf,e2=!0,h2=y.length,b2=[],et=b.length;if(!h2)return b2;R&&(b=x0(b,Tr(R))),j?(Ie=BS,e2=!1):b.length>=P&&(Ie=Fu,e2=!1,b=new _9(b));e:for(;++ue<h2;){var nt=y[ue],ct=R==null?nt:R(nt);if(nt=j||nt!==0?nt:0,e2&&ct===ct){for(var Dt=et;Dt--;)if(b[Dt]===ct)continue e;b2.push(nt)}else Ie(b,ct,j)||b2.push(nt)}return b2}var D6=AD(wo),QI=AD(eb,!0);function h0e(y,b){var R=!0;return D6(y,function(j,ue,Ie){return R=!!b(j,ue,Ie),R}),R}function rp(y,b,R){for(var j=-1,ue=y.length;++j<ue;){var Ie=y[j],e2=b(Ie);if(e2!=null&&(h2===w?e2===e2&&!Cr(e2):R(e2,h2)))var h2=e2,b2=Ie}return b2}function f0e(y,b,R,j){var ue=y.length;for(R=G3(R),R<0&&(R=-R>ue?0:ue+R),j=j===w||j>ue?ue:G3(j),j<0&&(j+=ue),j=R>j?0:gN(j);R<j;)y[R++]=b;return y}function eD(y,b){var R=[];return D6(y,function(j,ue,Ie){b(j,ue,Ie)&&R.push(j)}),R}function Gn(y,b,R,j,ue){var Ie=-1,e2=y.length;for(R||(R=tne),ue||(ue=[]);++Ie<e2;){var h2=y[Ie];b>0&&R(h2)?b>1?Gn(h2,b-1,R,j,ue):R6(ue,h2):j||(ue[ue.length]=h2)}return ue}var QS=CD(),tD=CD(!0);function wo(y,b){return y&&QS(y,b,Pn)}function eb(y,b){return y&&tD(y,b,Pn)}function ap(y,b){return P6(b,function(R){return Ms(y[R])})}function b9(y,b){b=k6(b,y);for(var R=0,j=b.length;y!=null&&R<j;)y=y[Ao(b[R++])];return R&&R==j?y:w}function nD(y,b,R){var j=b(y);return k3(y)?j:R6(j,R(y))}function wi(y){return y==null?y===w?qe:Mn:v9&&v9 in n0(y)?X0e(y):lne(y)}function tb(y,b){return y>b}function p0e(y,b){return y!=null&&V1.call(y,b)}function m0e(y,b){return y!=null&&b in n0(y)}function g0e(y,b,R){return y>=ri(b,R)&&y<pn(b,R)}function nb(y,b,R){for(var j=R?BS:Uf,ue=y[0].length,Ie=y.length,e2=Ie,h2=B2(Ie),b2=1/0,et=[];e2--;){var nt=y[e2];e2&&b&&(nt=x0(nt,Tr(b))),b2=ri(nt.length,b2),h2[e2]=!R&&(b||ue>=120&&nt.length>=120)?new _9(e2&&nt):w}nt=y[0];var ct=-1,Dt=h2[0];e:for(;++ct<ue&&et.length<b2;){var Jt=nt[ct],S3=b?b(Jt):Jt;if(Jt=R||Jt!==0?Jt:0,!(Dt?Fu(Dt,S3):j(et,S3,R))){for(e2=Ie;--e2;){var H3=h2[e2];if(!(H3?Fu(H3,S3):j(y[e2],S3,R)))continue e}Dt&&Dt.push(S3),et.push(Jt)}}return et}function v0e(y,b,R,j){return wo(y,function(ue,Ie,e2){b(j,R(ue),Ie,e2)}),j}function Wu(y,b,R){b=k6(b,y),y=HD(y,b);var j=y==null?y:y[Ao(na(b))];return j==null?w:wr(j,y,R)}function iD(y){return N0(y)&&wi(y)==It}function y0e(y){return N0(y)&&wi(y)==Ce}function _0e(y){return N0(y)&&wi(y)==O3}function ju(y,b,R,j,ue){return y===b?!0:y==null||b==null||!N0(y)&&!N0(b)?y!==y&&b!==b:S0e(y,b,R,j,ju,ue)}function S0e(y,b,R,j,ue,Ie){var e2=k3(y),h2=k3(b),b2=e2?m3:ai(y),et=h2?m3:ai(b);b2=b2==It?z3:b2,et=et==It?z3:et;var nt=b2==z3,ct=et==z3,Dt=b2==et;if(Dt&&O6(y)){if(!O6(b))return!1;e2=!0,nt=!1}if(Dt&&!nt)return Ie||(Ie=new Ya),e2||Hl(y)?FD(y,b,R,j,ue,Ie):Y0e(y,b,b2,R,j,ue,Ie);if(!(R&Pe)){var Jt=nt&&V1.call(y,"__wrapped__"),S3=ct&&V1.call(b,"__wrapped__");if(Jt||S3){var H3=Jt?y.value():y,b3=S3?b.value():b;return Ie||(Ie=new Ya),ue(H3,b3,R,j,Ie)}}return Dt?(Ie||(Ie=new Ya),q0e(y,b,R,j,ue,Ie)):!1}function b0e(y){return N0(y)&&ai(y)==t1}function ib(y,b,R,j){var ue=R.length,Ie=ue,e2=!j;if(y==null)return!Ie;for(y=n0(y);ue--;){var h2=R[ue];if(e2&&h2[2]?h2[1]!==y[h2[0]]:!(h2[0]in y))return!1}for(;++ue<Ie;){h2=R[ue];var b2=h2[0],et=y[b2],nt=h2[1];if(e2&&h2[2]){if(et===w&&!(b2 in y))return!1}else{var ct=new Ya;if(j)var Dt=j(et,nt,b2,y,b,ct);if(!(Dt===w?ju(nt,et,Pe|_e,j,ct):Dt))return!1}}return!0}function rD(y){if(!A0(y)||ine(y))return!1;var b=Ms(y)?b1e:Rl;return b.test(w9(y))}function x0e(y){return N0(y)&&wi(y)==zt}function w0e(y){return N0(y)&&ai(y)==w3}function T0e(y){return N0(y)&&xp(y.length)&&!!y0[wi(y)]}function aD(y){return typeof y=="function"?y:y==null?Yi:typeof y=="object"?k3(y)?lD(y[0],y[1]):sD(y):MN(y)}function rb(y){if(!qu(y))return M1e(y);var b=[];for(var R in n0(y))V1.call(y,R)&&R!="constructor"&&b.push(R);return b}function A0e(y){if(!A0(y))return sne(y);var b=qu(y),R=[];for(var j in y)j=="constructor"&&(b||!V1.call(y,j))||R.push(j);return R}function ab(y,b){return y<b}function oD(y,b){var R=-1,j=ji(y)?B2(y.length):[];return D6(y,function(ue,Ie,e2){j[++R]=b(ue,Ie,e2)}),j}function sD(y){var b=Sb(y);return b.length==1&&b[0][2]?GD(b[0][0],b[0][1]):function(R){return R===y||ib(R,y,b)}}function lD(y,b){return xb(y)&&UD(b)?GD(Ao(y),b):function(R){var j=Ib(R,y);return j===w&&j===b?Db(R,y):ju(b,j,Pe|_e)}}function op(y,b,R,j,ue){y!==b&&QS(b,function(Ie,e2){if(ue||(ue=new Ya),A0(Ie))C0e(y,b,e2,R,op,j,ue);else{var h2=j?j(Tb(y,e2),Ie,e2+"",y,b,ue):w;h2===w&&(h2=Ie),ZS(y,e2,h2)}},$i)}function C0e(y,b,R,j,ue,Ie,e2){var h2=Tb(y,R),b2=Tb(b,R),et=e2.get(b2);if(et){ZS(y,R,et);return}var nt=Ie?Ie(h2,b2,R+"",y,b,e2):w,ct=nt===w;if(ct){var Dt=k3(b2),Jt=!Dt&&O6(b2),S3=!Dt&&!Jt&&Hl(b2);nt=b2,Dt||Jt||S3?k3(h2)?nt=h2:V0(h2)?nt=Wi(h2):Jt?(ct=!1,nt=SD(b2,!0)):S3?(ct=!1,nt=bD(b2,!0)):nt=[]:Ku(b2)||T9(b2)?(nt=h2,T9(h2)?nt=vN(h2):(!A0(h2)||Ms(h2))&&(nt=zD(b2))):ct=!1}ct&&(e2.set(b2,nt),ue(nt,b2,j,Ie,e2),e2.delete(b2)),ZS(y,R,nt)}function uD(y,b){var R=y.length;if(R)return b+=b<0?R:0,Cs(b,R)?y[b]:w}function cD(y,b,R){b.length?b=x0(b,function(Ie){return k3(Ie)?function(e2){return b9(e2,Ie.length===1?Ie[0]:Ie)}:Ie}):b=[Yi];var j=-1;b=x0(b,Tr(y3()));var ue=oD(y,function(Ie,e2,h2){var b2=x0(b,function(et){return et(Ie)});return{criteria:b2,index:++j,value:Ie}});return Q3e(ue,function(Ie,e2){return z0e(Ie,e2,R)})}function M0e(y,b){return dD(y,b,function(R,j){return Db(y,j)})}function dD(y,b,R){for(var j=-1,ue=b.length,Ie={};++j<ue;){var e2=b[j],h2=b9(y,e2);R(h2,e2)&&$u(Ie,k6(e2,y),h2)}return Ie}function E0e(y){return function(b){return b9(b,y)}}function ob(y,b,R,j){var ue=j?J3e:Il,Ie=-1,e2=b.length,h2=y;for(y===b&&(b=Wi(b)),R&&(h2=x0(y,Tr(R)));++Ie<e2;)for(var b2=0,et=b[Ie],nt=R?R(et):et;(b2=ue(h2,nt,b2,j))>-1;)h2!==y&&Kf.call(h2,b2,1),Kf.call(y,b2,1);return y}function hD(y,b){for(var R=y?b.length:0,j=R-1;R--;){var ue=b[R];if(R==j||ue!==Ie){var Ie=ue;Cs(ue)?Kf.call(y,ue,1):cb(y,ue)}}return y}function sb(y,b){return y+Qf($I()*(b-y+1))}function P0e(y,b,R,j){for(var ue=-1,Ie=pn(Jf((b-y)/(R||1)),0),e2=B2(Ie);Ie--;)e2[j?Ie:++ue]=y,y+=R;return e2}function lb(y,b){var R="";if(!y||b<1||b>Zt)return R;do b%2&&(R+=y),b=Qf(b/2),b&&(y+=y);while(b);return R}function Z3(y,b){return Ab(VD(y,b,Yi),y+"")}function R0e(y){return XI(Wl(y))}function L0e(y,b){var R=Wl(y);return gp(R,S9(b,0,R.length))}function $u(y,b,R,j){if(!A0(y))return y;b=k6(b,y);for(var ue=-1,Ie=b.length,e2=Ie-1,h2=y;h2!=null&&++ue<Ie;){var b2=Ao(b[ue]),et=R;if(b2==="__proto__"||b2==="constructor"||b2==="prototype")return y;if(ue!=e2){var nt=h2[b2];et=j?j(nt,b2,h2):w,et===w&&(et=A0(nt)?nt:Cs(b[ue+1])?[]:{})}Vu(h2,b2,et),h2=h2[b2]}return y}var fD=ep?function(y,b){return ep.set(y,b),y}:Yi,I0e=Zf?function(y,b){return Zf(y,"toString",{configurable:!0,enumerable:!1,value:kb(b),writable:!0})}:Yi;function D0e(y){return gp(Wl(y))}function ta(y,b,R){var j=-1,ue=y.length;b<0&&(b=-b>ue?0:ue+b),R=R>ue?ue:R,R<0&&(R+=ue),ue=b>R?0:R-b>>>0,b>>>=0;for(var Ie=B2(ue);++j<ue;)Ie[j]=y[j+b];return Ie}function N0e(y,b){var R;return D6(y,function(j,ue,Ie){return R=b(j,ue,Ie),!R}),!!R}function sp(y,b,R){var j=0,ue=y==null?j:y.length;if(typeof b=="number"&&b===b&&ue<=G2){for(;j<ue;){var Ie=j+ue>>>1,e2=y[Ie];e2!==null&&!Cr(e2)&&(R?e2<=b:e2<b)?j=Ie+1:ue=Ie}return ue}return ub(y,b,Yi,R)}function ub(y,b,R,j){var ue=0,Ie=y==null?0:y.length;if(Ie===0)return 0;b=R(b);for(var e2=b!==b,h2=b===null,b2=Cr(b),et=b===w;ue<Ie;){var nt=Qf((ue+Ie)/2),ct=R(y[nt]),Dt=ct!==w,Jt=ct===null,S3=ct===ct,H3=Cr(ct);if(e2)var b3=j||S3;else et?b3=S3&&(j||Dt):h2?b3=S3&&Dt&&(j||!Jt):b2?b3=S3&&Dt&&!Jt&&(j||!H3):Jt||H3?b3=!1:b3=j?ct<=b:ct<b;b3?ue=nt+1:Ie=nt}return ri(Ie,E2)}function pD(y,b){for(var R=-1,j=y.length,ue=0,Ie=[];++R<j;){var e2=y[R],h2=b?b(e2):e2;if(!R||!qa(h2,b2)){var b2=h2;Ie[ue++]=e2===0?0:e2}}return Ie}function mD(y){return typeof y=="number"?y:Cr(y)?X3:+y}function Ar(y){if(typeof y=="string")return y;if(k3(y))return x0(y,Ar)+"";if(Cr(y))return YI?YI.call(y):"";var b=y+"";return b=="0"&&1/y==-Kt?"-0":b}function N6(y,b,R){var j=-1,ue=Uf,Ie=y.length,e2=!0,h2=[],b2=h2;if(R)e2=!1,ue=BS;else if(Ie>=P){var et=b?null:j0e(y);if(et)return Vf(et);e2=!1,ue=Fu,b2=new _9}else b2=b?[]:h2;e:for(;++j<Ie;){var nt=y[j],ct=b?b(nt):nt;if(nt=R||nt!==0?nt:0,e2&&ct===ct){for(var Dt=b2.length;Dt--;)if(b2[Dt]===ct)continue e;b&&b2.push(ct),h2.push(nt)}else ue(b2,ct,R)||(b2!==h2&&b2.push(ct),h2.push(nt))}return h2}function cb(y,b){return b=k6(b,y),y=HD(y,b),y==null||delete y[Ao(na(b))]}function gD(y,b,R,j){return $u(y,b,R(b9(y,b)),j)}function lp(y,b,R,j){for(var ue=y.length,Ie=j?ue:-1;(j?Ie--:++Ie<ue)&&b(y[Ie],Ie,y););return R?ta(y,j?0:Ie,j?Ie+1:ue):ta(y,j?Ie+1:0,j?ue:Ie)}function vD(y,b){var R=y;return R instanceof o1&&(R=R.value()),zS(b,function(j,ue){return ue.func.apply(ue.thisArg,R6([j],ue.args))},R)}function db(y,b,R){var j=y.length;if(j<2)return j?N6(y[0]):[];for(var ue=-1,Ie=B2(j);++ue<j;)for(var e2=y[ue],h2=-1;++h2<j;)h2!=ue&&(Ie[ue]=Hu(Ie[ue]||e2,y[h2],b,R));return N6(Gn(Ie,1),b,R)}function yD(y,b,R){for(var j=-1,ue=y.length,Ie=b.length,e2={};++j<ue;){var h2=j<Ie?b[j]:w;R(e2,y[j],h2)}return e2}function hb(y){return V0(y)?y:[]}function fb(y){return typeof y=="function"?y:Yi}function k6(y,b){return k3(y)?y:xb(y,b)?[y]:YD(I1(y))}var k0e=Z3;function F6(y,b,R){var j=y.length;return R=R===w?j:R,!b&&R>=j?y:ta(y,b,R)}var _D=x1e||function(y){return Un.clearTimeout(y)};function SD(y,b){if(b)return y.slice();var R=y.length,j=GI?GI(R):new y.constructor(R);return y.copy(j),j}function pb(y){var b=new y.constructor(y.byteLength);return new qf(b).set(new qf(y)),b}function F0e(y,b){var R=b?pb(y.buffer):y.buffer;return new y.constructor(R,y.byteOffset,y.byteLength)}function O0e(y){var b=new y.constructor(y.source,Iu.exec(y));return b.lastIndex=y.lastIndex,b}function B0e(y){return Gu?n0(Gu.call(y)):{}}function bD(y,b){var R=b?pb(y.buffer):y.buffer;return new y.constructor(R,y.byteOffset,y.length)}function xD(y,b){if(y!==b){var R=y!==w,j=y===null,ue=y===y,Ie=Cr(y),e2=b!==w,h2=b===null,b2=b===b,et=Cr(b);if(!h2&&!et&&!Ie&&y>b||Ie&&e2&&b2&&!h2&&!et||j&&e2&&b2||!R&&b2||!ue)return 1;if(!j&&!Ie&&!et&&y<b||et&&R&&ue&&!j&&!Ie||h2&&R&&ue||!e2&&ue||!b2)return-1}return 0}function z0e(y,b,R){for(var j=-1,ue=y.criteria,Ie=b.criteria,e2=ue.length,h2=R.length;++j<e2;){var b2=xD(ue[j],Ie[j]);if(b2){if(j>=h2)return b2;var et=R[j];return b2*(et=="desc"?-1:1)}}return y.index-b.index}function wD(y,b,R,j){for(var ue=-1,Ie=y.length,e2=R.length,h2=-1,b2=b.length,et=pn(Ie-e2,0),nt=B2(b2+et),ct=!j;++h2<b2;)nt[h2]=b[h2];for(;++ue<e2;)(ct||ue<Ie)&&(nt[R[ue]]=y[ue]);for(;et--;)nt[h2++]=y[ue++];return nt}function TD(y,b,R,j){for(var ue=-1,Ie=y.length,e2=-1,h2=R.length,b2=-1,et=b.length,nt=pn(Ie-h2,0),ct=B2(nt+et),Dt=!j;++ue<nt;)ct[ue]=y[ue];for(var Jt=ue;++b2<et;)ct[Jt+b2]=b[b2];for(;++e2<h2;)(Dt||ue<Ie)&&(ct[Jt+R[e2]]=y[ue++]);return ct}function Wi(y,b){var R=-1,j=y.length;for(b||(b=B2(j));++R<j;)b[R]=y[R];return b}function To(y,b,R,j){var ue=!R;R||(R={});for(var Ie=-1,e2=b.length;++Ie<e2;){var h2=b[Ie],b2=j?j(R[h2],y[h2],h2,R,y):w;b2===w&&(b2=y[h2]),ue?ws(R,h2,b2):Vu(R,h2,b2)}return R}function U0e(y,b){return To(y,bb(y),b)}function G0e(y,b){return To(y,OD(y),b)}function up(y,b){return function(R,j){var ue=k3(R)?$3e:u0e,Ie=b?b():{};return ue(R,y,y3(j,2),Ie)}}function Ul(y){return Z3(function(b,R){var j=-1,ue=R.length,Ie=ue>1?R[ue-1]:w,e2=ue>2?R[2]:w;for(Ie=y.length>3&&typeof Ie=="function"?(ue--,Ie):w,e2&&Ti(R[0],R[1],e2)&&(Ie=ue<3?w:Ie,ue=1),b=n0(b);++j<ue;){var h2=R[j];h2&&y(b,h2,j,Ie)}return b})}function AD(y,b){return function(R,j){if(R==null)return R;if(!ji(R))return y(R,j);for(var ue=R.length,Ie=b?ue:-1,e2=n0(R);(b?Ie--:++Ie<ue)&&j(e2[Ie],Ie,e2)!==!1;);return R}}function CD(y){return function(b,R,j){for(var ue=-1,Ie=n0(b),e2=j(b),h2=e2.length;h2--;){var b2=e2[y?h2:++ue];if(R(Ie[b2],b2,Ie)===!1)break}return b}}function V0e(y,b,R){var j=b&Se,ue=Yu(y);function Ie(){var e2=this&&this!==Un&&this instanceof Ie?ue:y;return e2.apply(j?R:this,arguments)}return Ie}function MD(y){return function(b){b=I1(b);var R=Dl(b)?$a(b):w,j=R?R[0]:b.charAt(0),ue=R?F6(R,1).join(""):b.slice(1);return j[y]()+ue}}function Gl(y){return function(b){return zS(AN(TN(b).replace(I3e,"")),y,"")}}function Yu(y){return function(){var b=arguments;switch(b.length){case 0:return new y;case 1:return new y(b[0]);case 2:return new y(b[0],b[1]);case 3:return new y(b[0],b[1],b[2]);case 4:return new y(b[0],b[1],b[2],b[3]);case 5:return new y(b[0],b[1],b[2],b[3],b[4]);case 6:return new y(b[0],b[1],b[2],b[3],b[4],b[5]);case 7:return new y(b[0],b[1],b[2],b[3],b[4],b[5],b[6])}var R=zl(y.prototype),j=y.apply(R,b);return A0(j)?j:R}}function H0e(y,b,R){var j=Yu(y);function ue(){for(var Ie=arguments.length,e2=B2(Ie),h2=Ie,b2=Vl(ue);h2--;)e2[h2]=arguments[h2];var et=Ie<3&&e2[0]!==b2&&e2[Ie-1]!==b2?[]:L6(e2,b2);if(Ie-=et.length,Ie<R)return ID(y,b,cp,ue.placeholder,w,e2,et,w,w,R-Ie);var nt=this&&this!==Un&&this instanceof ue?j:y;return wr(nt,this,e2)}return ue}function ED(y){return function(b,R,j){var ue=n0(b);if(!ji(b)){var Ie=y3(R,3);b=Pn(b),R=function(h2){return Ie(ue[h2],h2,ue)}}var e2=y(b,R,j);return e2>-1?ue[Ie?b[e2]:e2]:w}}function PD(y){return As(function(b){var R=b.length,j=R,ue=Qr.prototype.thru;for(y&&b.reverse();j--;){var Ie=b[j];if(typeof Ie!="function")throw new Jr(O);if(ue&&!e2&&pp(Ie)=="wrapper")var e2=new Qr([],!0)}for(j=e2?j:R;++j<R;){Ie=b[j];var h2=pp(Ie),b2=h2=="wrapper"?_b(Ie):w;b2&&wb(b2[0])&&b2[1]==(Ye|F|oe|u2)&&!b2[4].length&&b2[9]==1?e2=e2[pp(b2[0])].apply(e2,b2[3]):e2=Ie.length==1&&wb(Ie)?e2[h2]():e2.thru(Ie)}return function(){var et=arguments,nt=et[0];if(e2&&et.length==1&&k3(nt))return e2.plant(nt).value();for(var ct=0,Dt=R?b[ct].apply(this,et):nt;++ct<R;)Dt=b[ct].call(this,Dt);return Dt}})}function cp(y,b,R,j,ue,Ie,e2,h2,b2,et){var nt=b&Ye,ct=b&Se,Dt=b&n2,Jt=b&(F|te),S3=b&f2,H3=Dt?w:Yu(y);function b3(){for(var r1=arguments.length,h1=B2(r1),Mr=r1;Mr--;)h1[Mr]=arguments[Mr];if(Jt)var Ai=Vl(b3),Er=t1e(h1,Ai);if(j&&(h1=wD(h1,j,ue,Jt)),Ie&&(h1=TD(h1,Ie,e2,Jt)),r1-=Er,Jt&&r1<et){var H0=L6(h1,Ai);return ID(y,b,cp,b3.placeholder,R,h1,H0,h2,b2,et-r1)}var Xa=ct?R:this,Ps=Dt?Xa[y]:y;return r1=h1.length,h2?h1=une(h1,h2):S3&&r1>1&&h1.reverse(),nt&&b2<r1&&(h1.length=b2),this&&this!==Un&&this instanceof b3&&(Ps=H3||Yu(Ps)),Ps.apply(Xa,h1)}return b3}function RD(y,b){return function(R,j){return v0e(R,y,b(j),{})}}function dp(y,b){return function(R,j){var ue;if(R===w&&j===w)return b;if(R!==w&&(ue=R),j!==w){if(ue===w)return j;typeof R=="string"||typeof j=="string"?(R=Ar(R),j=Ar(j)):(R=mD(R),j=mD(j)),ue=y(R,j)}return ue}}function mb(y){return As(function(b){return b=x0(b,Tr(y3())),Z3(function(R){var j=this;return y(b,function(ue){return wr(ue,j,R)})})})}function hp(y,b){b=b===w?" ":Ar(b);var R=b.length;if(R<2)return R?lb(b,y):b;var j=lb(b,Jf(y/Nl(b)));return Dl(b)?F6($a(j),0,y).join(""):j.slice(0,y)}function W0e(y,b,R,j){var ue=b&Se,Ie=Yu(y);function e2(){for(var h2=-1,b2=arguments.length,et=-1,nt=j.length,ct=B2(nt+b2),Dt=this&&this!==Un&&this instanceof e2?Ie:y;++et<nt;)ct[et]=j[et];for(;b2--;)ct[et++]=arguments[++h2];return wr(Dt,ue?R:this,ct)}return e2}function LD(y){return function(b,R,j){return j&&typeof j!="number"&&Ti(b,R,j)&&(R=j=w),b=Es(b),R===w?(R=b,b=0):R=Es(R),j=j===w?b<R?1:-1:Es(j),P0e(b,R,j,y)}}function fp(y){return function(b,R){return typeof b=="string"&&typeof R=="string"||(b=ia(b),R=ia(R)),y(b,R)}}function ID(y,b,R,j,ue,Ie,e2,h2,b2,et){var nt=b&F,ct=nt?e2:w,Dt=nt?w:e2,Jt=nt?Ie:w,S3=nt?w:Ie;b|=nt?oe:ze,b&=~(nt?ze:oe),b&pe||(b&=~(Se|n2));var H3=[y,b,ue,Jt,ct,S3,Dt,h2,b2,et],b3=R.apply(w,H3);return wb(y)&&WD(b3,H3),b3.placeholder=j,jD(b3,y,b)}function gb(y){var b=fn[y];return function(R,j){if(R=ia(R),j=j==null?0:ri(G3(j),292),j&&jI(R)){var ue=(I1(R)+"e").split("e"),Ie=b(ue[0]+"e"+(+ue[1]+j));return ue=(I1(Ie)+"e").split("e"),+(ue[0]+"e"+(+ue[1]-j))}return b(R)}}var j0e=Ol&&1/Vf(new Ol([,-0]))[1]==Kt?function(y){return new Ol(y)}:Bb;function DD(y){return function(b){var R=ai(b);return R==t1?$S(b):R==w3?l1e(b):e1e(b,y(b))}}function Ts(y,b,R,j,ue,Ie,e2,h2){var b2=b&n2;if(!b2&&typeof y!="function")throw new Jr(O);var et=j?j.length:0;if(et||(b&=~(oe|ze),j=ue=w),e2=e2===w?e2:pn(G3(e2),0),h2=h2===w?h2:G3(h2),et-=ue?ue.length:0,b&ze){var nt=j,ct=ue;j=ue=w}var Dt=b2?w:_b(y),Jt=[y,b,R,j,ue,nt,ct,Ie,e2,h2];if(Dt&&one(Jt,Dt),y=Jt[0],b=Jt[1],R=Jt[2],j=Jt[3],ue=Jt[4],h2=Jt[9]=Jt[9]===w?b2?0:y.length:pn(Jt[9]-et,0),!h2&&b&(F|te)&&(b&=~(F|te)),!b||b==Se)var S3=V0e(y,b,R);else b==F||b==te?S3=H0e(y,b,h2):(b==oe||b==(Se|oe))&&!ue.length?S3=W0e(y,b,R,j):S3=cp.apply(w,Jt);var H3=Dt?fD:WD;return jD(H3(S3,Jt),y,b)}function ND(y,b,R,j){return y===w||qa(y,Fl[R])&&!V1.call(j,R)?b:y}function kD(y,b,R,j,ue,Ie){return A0(y)&&A0(b)&&(Ie.set(b,y),op(y,b,w,kD,Ie),Ie.delete(b)),y}function $0e(y){return Ku(y)?w:y}function FD(y,b,R,j,ue,Ie){var e2=R&Pe,h2=y.length,b2=b.length;if(h2!=b2&&!(e2&&b2>h2))return!1;var et=Ie.get(y),nt=Ie.get(b);if(et&&nt)return et==b&&nt==y;var ct=-1,Dt=!0,Jt=R&_e?new _9:w;for(Ie.set(y,b),Ie.set(b,y);++ct<h2;){var S3=y[ct],H3=b[ct];if(j)var b3=e2?j(H3,S3,ct,b,y,Ie):j(S3,H3,ct,y,b,Ie);if(b3!==w){if(b3)continue;Dt=!1;break}if(Jt){if(!US(b,function(r1,h1){if(!Fu(Jt,h1)&&(S3===r1||ue(S3,r1,R,j,Ie)))return Jt.push(h1)})){Dt=!1;break}}else if(!(S3===H3||ue(S3,H3,R,j,Ie))){Dt=!1;break}}return Ie.delete(y),Ie.delete(b),Dt}function Y0e(y,b,R,j,ue,Ie,e2){switch(R){case v2:if(y.byteLength!=b.byteLength||y.byteOffset!=b.byteOffset)return!1;y=y.buffer,b=b.buffer;case Ce:return!(y.byteLength!=b.byteLength||!Ie(new qf(y),new qf(b)));case n3:case O3:case g0:return qa(+y,+b);case ni:return y.name==b.name&&y.message==b.message;case zt:case g1:return y==b+"";case t1:var h2=$S;case w3:var b2=j&Pe;if(h2||(h2=Vf),y.size!=b.size&&!b2)return!1;var et=e2.get(y);if(et)return et==b;j|=_e,e2.set(y,b);var nt=FD(h2(y),h2(b),j,ue,Ie,e2);return e2.delete(y),nt;case xe:if(Gu)return Gu.call(y)==Gu.call(b)}return!1}function q0e(y,b,R,j,ue,Ie){var e2=R&Pe,h2=vb(y),b2=h2.length,et=vb(b),nt=et.length;if(b2!=nt&&!e2)return!1;for(var ct=b2;ct--;){var Dt=h2[ct];if(!(e2?Dt in b:V1.call(b,Dt)))return!1}var Jt=Ie.get(y),S3=Ie.get(b);if(Jt&&S3)return Jt==b&&S3==y;var H3=!0;Ie.set(y,b),Ie.set(b,y);for(var b3=e2;++ct<b2;){Dt=h2[ct];var r1=y[Dt],h1=b[Dt];if(j)var Mr=e2?j(h1,r1,Dt,b,y,Ie):j(r1,h1,Dt,y,b,Ie);if(!(Mr===w?r1===h1||ue(r1,h1,R,j,Ie):Mr)){H3=!1;break}b3||(b3=Dt=="constructor")}if(H3&&!b3){var Ai=y.constructor,Er=b.constructor;Ai!=Er&&"constructor"in y&&"constructor"in b&&!(typeof Ai=="function"&&Ai instanceof Ai&&typeof Er=="function"&&Er instanceof Er)&&(H3=!1)}return Ie.delete(y),Ie.delete(b),H3}function As(y){return Ab(VD(y,w,ZD),y+"")}function vb(y){return nD(y,Pn,bb)}function yb(y){return nD(y,$i,OD)}var _b=ep?function(y){return ep.get(y)}:Bb;function pp(y){for(var b=y.name+"",R=Bl[b],j=V1.call(Bl,b)?R.length:0;j--;){var ue=R[j],Ie=ue.func;if(Ie==null||Ie==y)return ue.name}return b}function Vl(y){var b=V1.call(Me,"placeholder")?Me:y;return b.placeholder}function y3(){var y=Me.iteratee||Fb;return y=y===Fb?aD:y,arguments.length?y(arguments[0],arguments[1]):y}function mp(y,b){var R=y.__data__;return nne(b)?R[typeof b=="string"?"string":"hash"]:R.map}function Sb(y){for(var b=Pn(y),R=b.length;R--;){var j=b[R],ue=y[j];b[R]=[j,ue,UD(ue)]}return b}function x9(y,b){var R=a1e(y,b);return rD(R)?R:w}function X0e(y){var b=V1.call(y,v9),R=y[v9];try{y[v9]=w;var j=!0}catch(Ie){}var ue=$f.call(y);return j&&(b?y[v9]=R:delete y[v9]),ue}var bb=qS?function(y){return y==null?[]:(y=n0(y),P6(qS(y),function(b){return HI.call(y,b)}))}:zb,OD=qS?function(y){for(var b=[];y;)R6(b,bb(y)),y=Xf(y);return b}:zb,ai=wi;(XS&&ai(new XS(new ArrayBuffer(1)))!=v2||Bu&&ai(new Bu)!=t1||KS&&ai(KS.resolve())!=w1||Ol&&ai(new Ol)!=w3||zu&&ai(new zu)!=Je)&&(ai=function(y){var b=wi(y),R=b==z3?y.constructor:w,j=R?w9(R):"";if(j)switch(j){case L1e:return v2;case I1e:return t1;case D1e:return w1;case N1e:return w3;case k1e:return Je}return b});function K0e(y,b,R){for(var j=-1,ue=R.length;++j<ue;){var Ie=R[j],e2=Ie.size;switch(Ie.type){case"drop":y+=e2;break;case"dropRight":b-=e2;break;case"take":b=ri(b,y+e2);break;case"takeRight":y=pn(y,b-e2);break}}return{start:y,end:b}}function Z0e(y){var b=y.match(Ss);return b?b[1].split(d9):[]}function BD(y,b,R){b=k6(b,y);for(var j=-1,ue=b.length,Ie=!1;++j<ue;){var e2=Ao(b[j]);if(!(Ie=y!=null&&R(y,e2)))break;y=y[e2]}return Ie||++j!=ue?Ie:(ue=y==null?0:y.length,!!ue&&xp(ue)&&Cs(e2,ue)&&(k3(y)||T9(y)))}function J0e(y){var b=y.length,R=new y.constructor(b);return b&&typeof y[0]=="string"&&V1.call(y,"index")&&(R.index=y.index,R.input=y.input),R}function zD(y){return typeof y.constructor=="function"&&!qu(y)?zl(Xf(y)):{}}function Q0e(y,b,R){var j=y.constructor;switch(b){case Ce:return pb(y);case n3:case O3:return new j(+y);case v2:return F0e(y,R);case l2:case A2:case P2:case it:case O2:case ut:case a1:case t3:case f3:return bD(y,R);case t1:return new j;case g0:case g1:return new j(y);case zt:return O0e(y);case w3:return new j;case xe:return B0e(y)}}function ene(y,b){var R=b.length;if(!R)return y;var j=R-1;return b[j]=(R>1?"& ":"")+b[j],b=b.join(R>2?", ":" "),y.replace(_s,`{ |
|
|
/* [wrapped with `+b+`] */ |
|
|
`)}function tne(y){return k3(y)||T9(y)||!!(WI&&y&&y[WI])}function Cs(y,b){var R=typeof y;return b=b==null?Zt:b,!!b&&(R=="number"||R!="symbol"&&LS.test(y))&&y>-1&&y%1==0&&y<b}function Ti(y,b,R){if(!A0(R))return!1;var j=typeof b;return(j=="number"?ji(R)&&Cs(b,R.length):j=="string"&&b in R)?qa(R[b],y):!1}function xb(y,b){if(k3(y))return!1;var R=typeof y;return R=="number"||R=="symbol"||R=="boolean"||y==null||Cr(y)?!0:c9.test(y)||!Pl.test(y)||b!=null&&y in n0(b)}function nne(y){var b=typeof y;return b=="string"||b=="number"||b=="symbol"||b=="boolean"?y!=="__proto__":y===null}function wb(y){var b=pp(y),R=Me[b];if(typeof R!="function"||!(b in o1.prototype))return!1;if(y===R)return!0;var j=_b(R);return!!j&&y===j[0]}function ine(y){return!!UI&&UI in y}var rne=Wf?Ms:Ub;function qu(y){var b=y&&y.constructor,R=typeof b=="function"&&b.prototype||Fl;return y===R}function UD(y){return y===y&&!A0(y)}function GD(y,b){return function(R){return R==null?!1:R[y]===b&&(b!==w||y in n0(R))}}function ane(y){var b=Sp(y,function(j){return R.size===me&&R.clear(),j}),R=b.cache;return b}function one(y,b){var R=y[1],j=b[1],ue=R|j,Ie=ue<(Se|n2|Ye),e2=j==Ye&&R==F||j==Ye&&R==u2&&y[7].length<=b[8]||j==(Ye|u2)&&b[7].length<=b[8]&&R==F;if(!(Ie||e2))return y;j&Se&&(y[2]=b[2],ue|=R&Se?0:pe);var h2=b[3];if(h2){var b2=y[3];y[3]=b2?wD(b2,h2,b[4]):h2,y[4]=b2?L6(y[3],fe):b[4]}return h2=b[5],h2&&(b2=y[5],y[5]=b2?TD(b2,h2,b[6]):h2,y[6]=b2?L6(y[5],fe):b[6]),h2=b[7],h2&&(y[7]=h2),j&Ye&&(y[8]=y[8]==null?b[8]:ri(y[8],b[8])),y[9]==null&&(y[9]=b[9]),y[0]=b[0],y[1]=ue,y}function sne(y){var b=[];if(y!=null)for(var R in n0(y))b.push(R);return b}function lne(y){return $f.call(y)}function VD(y,b,R){return b=pn(b===w?y.length-1:b,0),function(){for(var j=arguments,ue=-1,Ie=pn(j.length-b,0),e2=B2(Ie);++ue<Ie;)e2[ue]=j[b+ue];ue=-1;for(var h2=B2(b+1);++ue<b;)h2[ue]=j[ue];return h2[b]=R(e2),wr(y,this,h2)}}function HD(y,b){return b.length<2?y:b9(y,ta(b,0,-1))}function une(y,b){for(var R=y.length,j=ri(b.length,R),ue=Wi(y);j--;){var Ie=b[j];y[j]=Cs(Ie,R)?ue[Ie]:w}return y}function Tb(y,b){if(!(b==="constructor"&&typeof y[b]=="function")&&b!="__proto__")return y[b]}var WD=$D(fD),Xu=T1e||function(y,b){return Un.setTimeout(y,b)},Ab=$D(I0e);function jD(y,b,R){var j=b+"";return Ab(y,ene(j,cne(Z0e(j),R)))}function $D(y){var b=0,R=0;return function(){var j=E1e(),ue=N2-(j-R);if(R=j,ue>0){if(++b>=W2)return arguments[0]}else b=0;return y.apply(w,arguments)}}function gp(y,b){var R=-1,j=y.length,ue=j-1;for(b=b===w?j:b;++R<b;){var Ie=sb(R,ue),e2=y[Ie];y[Ie]=y[R],y[R]=e2}return y.length=b,y}var YD=ane(function(y){var b=[];return y.charCodeAt(0)===46&&b.push(""),y.replace(v0,function(R,j,ue,Ie){b.push(ue?Ie.replace(Vi,"$1"):j||R)}),b});function Ao(y){if(typeof y=="string"||Cr(y))return y;var b=y+"";return b=="0"&&1/y==-Kt?"-0":b}function w9(y){if(y!=null){try{return jf.call(y)}catch(b){}try{return y+""}catch(b){}}return""}function cne(y,b){return Zr(pt,function(R){var j="_."+R[0];b&R[1]&&!Uf(y,j)&&y.push(j)}),y.sort()}function qD(y){if(y instanceof o1)return y.clone();var b=new Qr(y.__wrapped__,y.__chain__);return b.__actions__=Wi(y.__actions__),b.__index__=y.__index__,b.__values__=y.__values__,b}function dne(y,b,R){(R?Ti(y,b,R):b===w)?b=1:b=pn(G3(b),0);var j=y==null?0:y.length;if(!j||b<1)return[];for(var ue=0,Ie=0,e2=B2(Jf(j/b));ue<j;)e2[Ie++]=ta(y,ue,ue+=b);return e2}function hne(y){for(var b=-1,R=y==null?0:y.length,j=0,ue=[];++b<R;){var Ie=y[b];Ie&&(ue[j++]=Ie)}return ue}function fne(){var y=arguments.length;if(!y)return[];for(var b=B2(y-1),R=arguments[0],j=y;j--;)b[j-1]=arguments[j];return R6(k3(R)?Wi(R):[R],Gn(b,1))}var pne=Z3(function(y,b){return V0(y)?Hu(y,Gn(b,1,V0,!0)):[]}),mne=Z3(function(y,b){var R=na(b);return V0(R)&&(R=w),V0(y)?Hu(y,Gn(b,1,V0,!0),y3(R,2)):[]}),gne=Z3(function(y,b){var R=na(b);return V0(R)&&(R=w),V0(y)?Hu(y,Gn(b,1,V0,!0),w,R):[]});function vne(y,b,R){var j=y==null?0:y.length;return j?(b=R||b===w?1:G3(b),ta(y,b<0?0:b,j)):[]}function yne(y,b,R){var j=y==null?0:y.length;return j?(b=R||b===w?1:G3(b),b=j-b,ta(y,0,b<0?0:b)):[]}function _ne(y,b){return y&&y.length?lp(y,y3(b,3),!0,!0):[]}function Sne(y,b){return y&&y.length?lp(y,y3(b,3),!0):[]}function bne(y,b,R,j){var ue=y==null?0:y.length;return ue?(R&&typeof R!="number"&&Ti(y,b,R)&&(R=0,j=ue),f0e(y,b,R,j)):[]}function XD(y,b,R){var j=y==null?0:y.length;if(!j)return-1;var ue=R==null?0:G3(R);return ue<0&&(ue=pn(j+ue,0)),Gf(y,y3(b,3),ue)}function KD(y,b,R){var j=y==null?0:y.length;if(!j)return-1;var ue=j-1;return R!==w&&(ue=G3(R),ue=R<0?pn(j+ue,0):ri(ue,j-1)),Gf(y,y3(b,3),ue,!0)}function ZD(y){var b=y==null?0:y.length;return b?Gn(y,1):[]}function xne(y){var b=y==null?0:y.length;return b?Gn(y,Kt):[]}function wne(y,b){var R=y==null?0:y.length;return R?(b=b===w?1:G3(b),Gn(y,b)):[]}function Tne(y){for(var b=-1,R=y==null?0:y.length,j={};++b<R;){var ue=y[b];j[ue[0]]=ue[1]}return j}function JD(y){return y&&y.length?y[0]:w}function Ane(y,b,R){var j=y==null?0:y.length;if(!j)return-1;var ue=R==null?0:G3(R);return ue<0&&(ue=pn(j+ue,0)),Il(y,b,ue)}function Cne(y){var b=y==null?0:y.length;return b?ta(y,0,-1):[]}var Mne=Z3(function(y){var b=x0(y,hb);return b.length&&b[0]===y[0]?nb(b):[]}),Ene=Z3(function(y){var b=na(y),R=x0(y,hb);return b===na(R)?b=w:R.pop(),R.length&&R[0]===y[0]?nb(R,y3(b,2)):[]}),Pne=Z3(function(y){var b=na(y),R=x0(y,hb);return b=typeof b=="function"?b:w,b&&R.pop(),R.length&&R[0]===y[0]?nb(R,w,b):[]});function Rne(y,b){return y==null?"":C1e.call(y,b)}function na(y){var b=y==null?0:y.length;return b?y[b-1]:w}function Lne(y,b,R){var j=y==null?0:y.length;if(!j)return-1;var ue=j;return R!==w&&(ue=G3(R),ue=ue<0?pn(j+ue,0):ri(ue,j-1)),b===b?c1e(y,b,ue):Gf(y,II,ue,!0)}function Ine(y,b){return y&&y.length?uD(y,G3(b)):w}var Dne=Z3(QD);function QD(y,b){return y&&y.length&&b&&b.length?ob(y,b):y}function Nne(y,b,R){return y&&y.length&&b&&b.length?ob(y,b,y3(R,2)):y}function kne(y,b,R){return y&&y.length&&b&&b.length?ob(y,b,w,R):y}var Fne=As(function(y,b){var R=y==null?0:y.length,j=JS(y,b);return hD(y,x0(b,function(ue){return Cs(ue,R)?+ue:ue}).sort(xD)),j});function One(y,b){var R=[];if(!(y&&y.length))return R;var j=-1,ue=[],Ie=y.length;for(b=y3(b,3);++j<Ie;){var e2=y[j];b(e2,j,y)&&(R.push(e2),ue.push(j))}return hD(y,ue),R}function Cb(y){return y==null?y:R1e.call(y)}function Bne(y,b,R){var j=y==null?0:y.length;return j?(R&&typeof R!="number"&&Ti(y,b,R)?(b=0,R=j):(b=b==null?0:G3(b),R=R===w?j:G3(R)),ta(y,b,R)):[]}function zne(y,b){return sp(y,b)}function Une(y,b,R){return ub(y,b,y3(R,2))}function Gne(y,b){var R=y==null?0:y.length;if(R){var j=sp(y,b);if(j<R&&qa(y[j],b))return j}return-1}function Vne(y,b){return sp(y,b,!0)}function Hne(y,b,R){return ub(y,b,y3(R,2),!0)}function Wne(y,b){var R=y==null?0:y.length;if(R){var j=sp(y,b,!0)-1;if(qa(y[j],b))return j}return-1}function jne(y){return y&&y.length?pD(y):[]}function $ne(y,b){return y&&y.length?pD(y,y3(b,2)):[]}function Yne(y){var b=y==null?0:y.length;return b?ta(y,1,b):[]}function qne(y,b,R){return y&&y.length?(b=R||b===w?1:G3(b),ta(y,0,b<0?0:b)):[]}function Xne(y,b,R){var j=y==null?0:y.length;return j?(b=R||b===w?1:G3(b),b=j-b,ta(y,b<0?0:b,j)):[]}function Kne(y,b){return y&&y.length?lp(y,y3(b,3),!1,!0):[]}function Zne(y,b){return y&&y.length?lp(y,y3(b,3)):[]}var Jne=Z3(function(y){return N6(Gn(y,1,V0,!0))}),Qne=Z3(function(y){var b=na(y);return V0(b)&&(b=w),N6(Gn(y,1,V0,!0),y3(b,2))}),eie=Z3(function(y){var b=na(y);return b=typeof b=="function"?b:w,N6(Gn(y,1,V0,!0),w,b)});function tie(y){return y&&y.length?N6(y):[]}function nie(y,b){return y&&y.length?N6(y,y3(b,2)):[]}function iie(y,b){return b=typeof b=="function"?b:w,y&&y.length?N6(y,w,b):[]}function Mb(y){if(!(y&&y.length))return[];var b=0;return y=P6(y,function(R){if(V0(R))return b=pn(R.length,b),!0}),WS(b,function(R){return x0(y,GS(R))})}function eN(y,b){if(!(y&&y.length))return[];var R=Mb(y);return b==null?R:x0(R,function(j){return wr(b,w,j)})}var rie=Z3(function(y,b){return V0(y)?Hu(y,b):[]}),aie=Z3(function(y){return db(P6(y,V0))}),oie=Z3(function(y){var b=na(y);return V0(b)&&(b=w),db(P6(y,V0),y3(b,2))}),sie=Z3(function(y){var b=na(y);return b=typeof b=="function"?b:w,db(P6(y,V0),w,b)}),lie=Z3(Mb);function uie(y,b){return yD(y||[],b||[],Vu)}function cie(y,b){return yD(y||[],b||[],$u)}var die=Z3(function(y){var b=y.length,R=b>1?y[b-1]:w;return R=typeof R=="function"?(y.pop(),R):w,eN(y,R)});function tN(y){var b=Me(y);return b.__chain__=!0,b}function hie(y,b){return b(y),y}function vp(y,b){return b(y)}var fie=As(function(y){var b=y.length,R=b?y[0]:0,j=this.__wrapped__,ue=function(Ie){return JS(Ie,y)};return b>1||this.__actions__.length||!(j instanceof o1)||!Cs(R)?this.thru(ue):(j=j.slice(R,+R+(b?1:0)),j.__actions__.push({func:vp,args:[ue],thisArg:w}),new Qr(j,this.__chain__).thru(function(Ie){return b&&!Ie.length&&Ie.push(w),Ie}))});function pie(){return tN(this)}function mie(){return new Qr(this.value(),this.__chain__)}function gie(){this.__values__===w&&(this.__values__=mN(this.value()));var y=this.__index__>=this.__values__.length,b=y?w:this.__values__[this.__index__++];return{done:y,value:b}}function vie(){return this}function yie(y){for(var b,R=this;R instanceof np;){var j=qD(R);j.__index__=0,j.__values__=w,b?ue.__wrapped__=j:b=j;var ue=j;R=R.__wrapped__}return ue.__wrapped__=y,b}function _ie(){var y=this.__wrapped__;if(y instanceof o1){var b=y;return this.__actions__.length&&(b=new o1(this)),b=b.reverse(),b.__actions__.push({func:vp,args:[Cb],thisArg:w}),new Qr(b,this.__chain__)}return this.thru(Cb)}function Sie(){return vD(this.__wrapped__,this.__actions__)}var bie=up(function(y,b,R){V1.call(y,R)?++y[R]:ws(y,R,1)});function xie(y,b,R){var j=k3(y)?RI:h0e;return R&&Ti(y,b,R)&&(b=w),j(y,y3(b,3))}function wie(y,b){var R=k3(y)?P6:eD;return R(y,y3(b,3))}var Tie=ED(XD),Aie=ED(KD);function Cie(y,b){return Gn(yp(y,b),1)}function Mie(y,b){return Gn(yp(y,b),Kt)}function Eie(y,b,R){return R=R===w?1:G3(R),Gn(yp(y,b),R)}function nN(y,b){var R=k3(y)?Zr:D6;return R(y,y3(b,3))}function iN(y,b){var R=k3(y)?Y3e:QI;return R(y,y3(b,3))}var Pie=up(function(y,b,R){V1.call(y,R)?y[R].push(b):ws(y,R,[b])});function Rie(y,b,R,j){y=ji(y)?y:Wl(y),R=R&&!j?G3(R):0;var ue=y.length;return R<0&&(R=pn(ue+R,0)),wp(y)?R<=ue&&y.indexOf(b,R)>-1:!!ue&&Il(y,b,R)>-1}var Lie=Z3(function(y,b,R){var j=-1,ue=typeof b=="function",Ie=ji(y)?B2(y.length):[];return D6(y,function(e2){Ie[++j]=ue?wr(b,e2,R):Wu(e2,b,R)}),Ie}),Iie=up(function(y,b,R){ws(y,R,b)});function yp(y,b){var R=k3(y)?x0:oD;return R(y,y3(b,3))}function Die(y,b,R,j){return y==null?[]:(k3(b)||(b=b==null?[]:[b]),R=j?w:R,k3(R)||(R=R==null?[]:[R]),cD(y,b,R))}var Nie=up(function(y,b,R){y[R?0:1].push(b)},function(){return[[],[]]});function kie(y,b,R){var j=k3(y)?zS:NI,ue=arguments.length<3;return j(y,y3(b,4),R,ue,D6)}function Fie(y,b,R){var j=k3(y)?q3e:NI,ue=arguments.length<3;return j(y,y3(b,4),R,ue,QI)}function Oie(y,b){var R=k3(y)?P6:eD;return R(y,bp(y3(b,3)))}function Bie(y){var b=k3(y)?XI:R0e;return b(y)}function zie(y,b,R){(R?Ti(y,b,R):b===w)?b=1:b=G3(b);var j=k3(y)?s0e:L0e;return j(y,b)}function Uie(y){var b=k3(y)?l0e:D0e;return b(y)}function Gie(y){if(y==null)return 0;if(ji(y))return wp(y)?Nl(y):y.length;var b=ai(y);return b==t1||b==w3?y.size:rb(y).length}function Vie(y,b,R){var j=k3(y)?US:N0e;return R&&Ti(y,b,R)&&(b=w),j(y,y3(b,3))}var Hie=Z3(function(y,b){if(y==null)return[];var R=b.length;return R>1&&Ti(y,b[0],b[1])?b=[]:R>2&&Ti(b[0],b[1],b[2])&&(b=[b[0]]),cD(y,Gn(b,1),[])}),_p=w1e||function(){return Un.Date.now()};function Wie(y,b){if(typeof b!="function")throw new Jr(O);return y=G3(y),function(){if(--y<1)return b.apply(this,arguments)}}function rN(y,b,R){return b=R?w:b,b=y&&b==null?y.length:b,Ts(y,Ye,w,w,w,w,b)}function aN(y,b){var R;if(typeof b!="function")throw new Jr(O);return y=G3(y),function(){return--y>0&&(R=b.apply(this,arguments)),y<=1&&(b=w),R}}var Eb=Z3(function(y,b,R){var j=Se;if(R.length){var ue=L6(R,Vl(Eb));j|=oe}return Ts(y,j,b,R,ue)}),oN=Z3(function(y,b,R){var j=Se|n2;if(R.length){var ue=L6(R,Vl(oN));j|=oe}return Ts(b,j,y,R,ue)});function sN(y,b,R){b=R?w:b;var j=Ts(y,F,w,w,w,w,w,b);return j.placeholder=sN.placeholder,j}function lN(y,b,R){b=R?w:b;var j=Ts(y,te,w,w,w,w,w,b);return j.placeholder=lN.placeholder,j}function uN(y,b,R){var j,ue,Ie,e2,h2,b2,et=0,nt=!1,ct=!1,Dt=!0;if(typeof y!="function")throw new Jr(O);b=ia(b)||0,A0(R)&&(nt=!!R.leading,ct="maxWait"in R,Ie=ct?pn(ia(R.maxWait)||0,b):Ie,Dt="trailing"in R?!!R.trailing:Dt);function Jt(H0){var Xa=j,Ps=ue;return j=ue=w,et=H0,e2=y.apply(Ps,Xa),e2}function S3(H0){return et=H0,h2=Xu(r1,b),nt?Jt(H0):e2}function H3(H0){var Xa=H0-b2,Ps=H0-et,EN=b-Xa;return ct?ri(EN,Ie-Ps):EN}function b3(H0){var Xa=H0-b2,Ps=H0-et;return b2===w||Xa>=b||Xa<0||ct&&Ps>=Ie}function r1(){var H0=_p();if(b3(H0))return h1(H0);h2=Xu(r1,H3(H0))}function h1(H0){return h2=w,Dt&&j?Jt(H0):(j=ue=w,e2)}function Mr(){h2!==w&&_D(h2),et=0,j=b2=ue=h2=w}function Ai(){return h2===w?e2:h1(_p())}function Er(){var H0=_p(),Xa=b3(H0);if(j=arguments,ue=this,b2=H0,Xa){if(h2===w)return S3(b2);if(ct)return _D(h2),h2=Xu(r1,b),Jt(b2)}return h2===w&&(h2=Xu(r1,b)),e2}return Er.cancel=Mr,Er.flush=Ai,Er}var jie=Z3(function(y,b){return JI(y,1,b)}),$ie=Z3(function(y,b,R){return JI(y,ia(b)||0,R)});function Yie(y){return Ts(y,f2)}function Sp(y,b){if(typeof y!="function"||b!=null&&typeof b!="function")throw new Jr(O);var R=function(){var j=arguments,ue=b?b.apply(this,j):j[0],Ie=R.cache;if(Ie.has(ue))return Ie.get(ue);var e2=y.apply(this,j);return R.cache=Ie.set(ue,e2)||Ie,e2};return R.cache=new(Sp.Cache||xs),R}Sp.Cache=xs;function bp(y){if(typeof y!="function")throw new Jr(O);return function(){var b=arguments;switch(b.length){case 0:return!y.call(this);case 1:return!y.call(this,b[0]);case 2:return!y.call(this,b[0],b[1]);case 3:return!y.call(this,b[0],b[1],b[2])}return!y.apply(this,b)}}function qie(y){return aN(2,y)}var Xie=k0e(function(y,b){b=b.length==1&&k3(b[0])?x0(b[0],Tr(y3())):x0(Gn(b,1),Tr(y3()));var R=b.length;return Z3(function(j){for(var ue=-1,Ie=ri(j.length,R);++ue<Ie;)j[ue]=b[ue].call(this,j[ue]);return wr(y,this,j)})}),Pb=Z3(function(y,b){var R=L6(b,Vl(Pb));return Ts(y,oe,w,b,R)}),cN=Z3(function(y,b){var R=L6(b,Vl(cN));return Ts(y,ze,w,b,R)}),Kie=As(function(y,b){return Ts(y,u2,w,w,w,b)});function Zie(y,b){if(typeof y!="function")throw new Jr(O);return b=b===w?b:G3(b),Z3(y,b)}function Jie(y,b){if(typeof y!="function")throw new Jr(O);return b=b==null?0:pn(G3(b),0),Z3(function(R){var j=R[b],ue=F6(R,0,b);return j&&R6(ue,j),wr(y,this,ue)})}function Qie(y,b,R){var j=!0,ue=!0;if(typeof y!="function")throw new Jr(O);return A0(R)&&(j="leading"in R?!!R.leading:j,ue="trailing"in R?!!R.trailing:ue),uN(y,b,{leading:j,maxWait:b,trailing:ue})}function ere(y){return rN(y,1)}function tre(y,b){return Pb(fb(b),y)}function nre(){if(!arguments.length)return[];var y=arguments[0];return k3(y)?y:[y]}function ire(y){return ea(y,We)}function rre(y,b){return b=typeof b=="function"?b:w,ea(y,We,b)}function are(y){return ea(y,le|We)}function ore(y,b){return b=typeof b=="function"?b:w,ea(y,le|We,b)}function sre(y,b){return b==null||ZI(y,b,Pn(b))}function qa(y,b){return y===b||y!==y&&b!==b}var lre=fp(tb),ure=fp(function(y,b){return y>=b}),T9=iD(function(){return arguments}())?iD:function(y){return N0(y)&&V1.call(y,"callee")&&!HI.call(y,"callee")},k3=B2.isArray,cre=TI?Tr(TI):y0e;function ji(y){return y!=null&&xp(y.length)&&!Ms(y)}function V0(y){return N0(y)&&ji(y)}function dre(y){return y===!0||y===!1||N0(y)&&wi(y)==n3}var O6=A1e||Ub,hre=AI?Tr(AI):_0e;function fre(y){return N0(y)&&y.nodeType===1&&!Ku(y)}function pre(y){if(y==null)return!0;if(ji(y)&&(k3(y)||typeof y=="string"||typeof y.splice=="function"||O6(y)||Hl(y)||T9(y)))return!y.length;var b=ai(y);if(b==t1||b==w3)return!y.size;if(qu(y))return!rb(y).length;for(var R in y)if(V1.call(y,R))return!1;return!0}function mre(y,b){return ju(y,b)}function gre(y,b,R){R=typeof R=="function"?R:w;var j=R?R(y,b):w;return j===w?ju(y,b,w,R):!!j}function Rb(y){if(!N0(y))return!1;var b=wi(y);return b==ni||b==xr||typeof y.message=="string"&&typeof y.name=="string"&&!Ku(y)}function vre(y){return typeof y=="number"&&jI(y)}function Ms(y){if(!A0(y))return!1;var b=wi(y);return b==tn||b==zn||b==o3||b==Qt}function dN(y){return typeof y=="number"&&y==G3(y)}function xp(y){return typeof y=="number"&&y>-1&&y%1==0&&y<=Zt}function A0(y){var b=typeof y;return y!=null&&(b=="object"||b=="function")}function N0(y){return y!=null&&typeof y=="object"}var hN=CI?Tr(CI):b0e;function yre(y,b){return y===b||ib(y,b,Sb(b))}function _re(y,b,R){return R=typeof R=="function"?R:w,ib(y,b,Sb(b),R)}function Sre(y){return fN(y)&&y!=+y}function bre(y){if(rne(y))throw new L3(N);return rD(y)}function xre(y){return y===null}function wre(y){return y==null}function fN(y){return typeof y=="number"||N0(y)&&wi(y)==g0}function Ku(y){if(!N0(y)||wi(y)!=z3)return!1;var b=Xf(y);if(b===null)return!0;var R=V1.call(b,"constructor")&&b.constructor;return typeof R=="function"&&R instanceof R&&jf.call(R)==_1e}var Lb=MI?Tr(MI):x0e;function Tre(y){return dN(y)&&y>=-Zt&&y<=Zt}var pN=EI?Tr(EI):w0e;function wp(y){return typeof y=="string"||!k3(y)&&N0(y)&&wi(y)==g1}function Cr(y){return typeof y=="symbol"||N0(y)&&wi(y)==xe}var Hl=PI?Tr(PI):T0e;function Are(y){return y===w}function Cre(y){return N0(y)&&ai(y)==Je}function Mre(y){return N0(y)&&wi(y)==r2}var Ere=fp(ab),Pre=fp(function(y,b){return y<=b});function mN(y){if(!y)return[];if(ji(y))return wp(y)?$a(y):Wi(y);if(Ou&&y[Ou])return s1e(y[Ou]());var b=ai(y),R=b==t1?$S:b==w3?Vf:Wl;return R(y)}function Es(y){if(!y)return y===0?y:0;if(y=ia(y),y===Kt||y===-Kt){var b=y<0?-1:1;return b*c3}return y===y?y:0}function G3(y){var b=Es(y),R=b%1;return b===b?R?b-R:b:0}function gN(y){return y?S9(G3(y),0,Xe):0}function ia(y){if(typeof y=="number")return y;if(Cr(y))return X3;if(A0(y)){var b=typeof y.valueOf=="function"?y.valueOf():y;y=A0(b)?b+"":b}if(typeof y!="string")return y===0?y:+y;y=kI(y);var R=Nf.test(y);return R||kf.test(y)?W3e(y.slice(2),R?2:8):RS.test(y)?X3:+y}function vN(y){return To(y,$i(y))}function Rre(y){return y?S9(G3(y),-Zt,Zt):y===0?y:0}function I1(y){return y==null?"":Ar(y)}var Lre=Ul(function(y,b){if(qu(b)||ji(b)){To(b,Pn(b),y);return}for(var R in b)V1.call(b,R)&&Vu(y,R,b[R])}),yN=Ul(function(y,b){To(b,$i(b),y)}),Tp=Ul(function(y,b,R,j){To(b,$i(b),y,j)}),Ire=Ul(function(y,b,R,j){To(b,Pn(b),y,j)}),Dre=As(JS);function Nre(y,b){var R=zl(y);return b==null?R:KI(R,b)}var kre=Z3(function(y,b){y=n0(y);var R=-1,j=b.length,ue=j>2?b[2]:w;for(ue&&Ti(b[0],b[1],ue)&&(j=1);++R<j;)for(var Ie=b[R],e2=$i(Ie),h2=-1,b2=e2.length;++h2<b2;){var et=e2[h2],nt=y[et];(nt===w||qa(nt,Fl[et])&&!V1.call(y,et))&&(y[et]=Ie[et])}return y}),Fre=Z3(function(y){return y.push(w,kD),wr(_N,w,y)});function Ore(y,b){return LI(y,y3(b,3),wo)}function Bre(y,b){return LI(y,y3(b,3),eb)}function zre(y,b){return y==null?y:QS(y,y3(b,3),$i)}function Ure(y,b){return y==null?y:tD(y,y3(b,3),$i)}function Gre(y,b){return y&&wo(y,y3(b,3))}function Vre(y,b){return y&&eb(y,y3(b,3))}function Hre(y){return y==null?[]:ap(y,Pn(y))}function Wre(y){return y==null?[]:ap(y,$i(y))}function Ib(y,b,R){var j=y==null?w:b9(y,b);return j===w?R:j}function jre(y,b){return y!=null&&BD(y,b,p0e)}function Db(y,b){return y!=null&&BD(y,b,m0e)}var $re=RD(function(y,b,R){b!=null&&typeof b.toString!="function"&&(b=$f.call(b)),y[b]=R},kb(Yi)),Yre=RD(function(y,b,R){b!=null&&typeof b.toString!="function"&&(b=$f.call(b)),V1.call(y,b)?y[b].push(R):y[b]=[R]},y3),qre=Z3(Wu);function Pn(y){return ji(y)?qI(y):rb(y)}function $i(y){return ji(y)?qI(y,!0):A0e(y)}function Xre(y,b){var R={};return b=y3(b,3),wo(y,function(j,ue,Ie){ws(R,b(j,ue,Ie),j)}),R}function Kre(y,b){var R={};return b=y3(b,3),wo(y,function(j,ue,Ie){ws(R,ue,b(j,ue,Ie))}),R}var Zre=Ul(function(y,b,R){op(y,b,R)}),_N=Ul(function(y,b,R,j){op(y,b,R,j)}),Jre=As(function(y,b){var R={};if(y==null)return R;var j=!1;b=x0(b,function(Ie){return Ie=k6(Ie,y),j||(j=Ie.length>1),Ie}),To(y,yb(y),R),j&&(R=ea(R,le|ae|We,$0e));for(var ue=b.length;ue--;)cb(R,b[ue]);return R});function Qre(y,b){return SN(y,bp(y3(b)))}var eae=As(function(y,b){return y==null?{}:M0e(y,b)});function SN(y,b){if(y==null)return{};var R=x0(yb(y),function(j){return[j]});return b=y3(b),dD(y,R,function(j,ue){return b(j,ue[0])})}function tae(y,b,R){b=k6(b,y);var j=-1,ue=b.length;for(ue||(ue=1,y=w);++j<ue;){var Ie=y==null?w:y[Ao(b[j])];Ie===w&&(j=ue,Ie=R),y=Ms(Ie)?Ie.call(y):Ie}return y}function nae(y,b,R){return y==null?y:$u(y,b,R)}function iae(y,b,R,j){return j=typeof j=="function"?j:w,y==null?y:$u(y,b,R,j)}var bN=DD(Pn),xN=DD($i);function rae(y,b,R){var j=k3(y),ue=j||O6(y)||Hl(y);if(b=y3(b,4),R==null){var Ie=y&&y.constructor;ue?R=j?new Ie:[]:A0(y)?R=Ms(Ie)?zl(Xf(y)):{}:R={}}return(ue?Zr:wo)(y,function(e2,h2,b2){return b(R,e2,h2,b2)}),R}function aae(y,b){return y==null?!0:cb(y,b)}function oae(y,b,R){return y==null?y:gD(y,b,fb(R))}function sae(y,b,R,j){return j=typeof j=="function"?j:w,y==null?y:gD(y,b,fb(R),j)}function Wl(y){return y==null?[]:jS(y,Pn(y))}function lae(y){return y==null?[]:jS(y,$i(y))}function uae(y,b,R){return R===w&&(R=b,b=w),R!==w&&(R=ia(R),R=R===R?R:0),b!==w&&(b=ia(b),b=b===b?b:0),S9(ia(y),b,R)}function cae(y,b,R){return b=Es(b),R===w?(R=b,b=0):R=Es(R),y=ia(y),g0e(y,b,R)}function dae(y,b,R){if(R&&typeof R!="boolean"&&Ti(y,b,R)&&(b=R=w),R===w&&(typeof b=="boolean"?(R=b,b=w):typeof y=="boolean"&&(R=y,y=w)),y===w&&b===w?(y=0,b=1):(y=Es(y),b===w?(b=y,y=0):b=Es(b)),y>b){var j=y;y=b,b=j}if(R||y%1||b%1){var ue=$I();return ri(y+ue*(b-y+H3e("1e-"+((ue+"").length-1))),b)}return sb(y,b)}var hae=Gl(function(y,b,R){return b=b.toLowerCase(),y+(R?wN(b):b)});function wN(y){return Nb(I1(y).toLowerCase())}function TN(y){return y=I1(y),y&&y.replace(Ff,n1e).replace(D3e,"")}function fae(y,b,R){y=I1(y),b=Ar(b);var j=y.length;R=R===w?j:S9(G3(R),0,j);var ue=R;return R-=b.length,R>=0&&y.slice(R,ue)==b}function pae(y){return y=I1(y),y&&G1.test(y)?y.replace(xi,i1e):y}function mae(y){return y=I1(y),y&&ii.test(y)?y.replace(t0,"\\$&"):y}var gae=Gl(function(y,b,R){return y+(R?"-":"")+b.toLowerCase()}),vae=Gl(function(y,b,R){return y+(R?" ":"")+b.toLowerCase()}),yae=MD("toLowerCase");function _ae(y,b,R){y=I1(y),b=G3(b);var j=b?Nl(y):0;if(!b||j>=b)return y;var ue=(b-j)/2;return hp(Qf(ue),R)+y+hp(Jf(ue),R)}function Sae(y,b,R){y=I1(y),b=G3(b);var j=b?Nl(y):0;return b&&j<b?y+hp(b-j,R):y}function bae(y,b,R){y=I1(y),b=G3(b);var j=b?Nl(y):0;return b&&j<b?hp(b-j,R)+y:y}function xae(y,b,R){return R||b==null?b=0:b&&(b=+b),P1e(I1(y).replace(Gi,""),b||0)}function wae(y,b,R){return(R?Ti(y,b,R):b===w)?b=1:b=G3(b),lb(I1(y),b)}function Tae(){var y=arguments,b=I1(y[0]);return y.length<3?b:b.replace(y[1],y[2])}var Aae=Gl(function(y,b,R){return y+(R?"_":"")+b.toLowerCase()});function Cae(y,b,R){return R&&typeof R!="number"&&Ti(y,b,R)&&(b=R=w),R=R===w?Xe:R>>>0,R?(y=I1(y),y&&(typeof b=="string"||b!=null&&!Lb(b))&&(b=Ar(b),!b&&Dl(y))?F6($a(y),0,R):y.split(b,R)):[]}var Mae=Gl(function(y,b,R){return y+(R?" ":"")+Nb(b)});function Eae(y,b,R){return y=I1(y),R=R==null?0:S9(G3(R),0,y.length),b=Ar(b),y.slice(R,R+b.length)==b}function Pae(y,b,R){var j=Me.templateSettings;R&&Ti(y,b,R)&&(b=w),y=I1(y),b=Tp({},b,j,ND);var ue=Tp({},b.imports,j.imports,ND),Ie=Pn(ue),e2=jS(ue,Ie),h2,b2,et=0,nt=b.interpolate||f9,ct="__p += '",Dt=YS((b.escape||f9).source+"|"+nt.source+"|"+(nt===ys?Df:f9).source+"|"+(b.evaluate||f9).source+"|$","g"),Jt="//# sourceURL="+(V1.call(b,"sourceURL")?(b.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++B3e+"]")+` |
|
|
`;y.replace(Dt,function(b3,r1,h1,Mr,Ai,Er){return h1||(h1=Mr),ct+=y.slice(et,Er).replace(IS,r1e),r1&&(h2=!0,ct+=`' + |
|
|
__e(`+r1+`) + |
|
|
'`),Ai&&(b2=!0,ct+=`'; |
|
|
`+Ai+`; |
|
|
__p += '`),h1&&(ct+=`' + |
|
|
((__t = (`+h1+`)) == null ? '' : __t) + |
|
|
'`),et=Er+b3.length,b3}),ct+=`'; |
|
|
`;var S3=V1.call(b,"variable")&&b.variable;if(!S3)ct=`with (obj) { |
|
|
`+ct+` |
|
|
} |
|
|
`;else if(w6.test(S3))throw new L3(B);ct=(b2?ct.replace(N3,""):ct).replace(g3,"$1").replace(v1,"$1;"),ct="function("+(S3||"obj")+`) { |
|
|
`+(S3?"":`obj || (obj = {}); |
|
|
`)+"var __t, __p = ''"+(h2?", __e = _.escape":"")+(b2?`, __j = Array.prototype.join; |
|
|
function print() { __p += __j.call(arguments, '') } |
|
|
`:`; |
|
|
`)+ct+`return __p |
|
|
}`;var H3=CN(function(){return C1(Ie,Jt+"return "+ct).apply(w,e2)});if(H3.source=ct,Rb(H3))throw H3;return H3}function Rae(y){return I1(y).toLowerCase()}function Lae(y){return I1(y).toUpperCase()}function Iae(y,b,R){if(y=I1(y),y&&(R||b===w))return kI(y);if(!y||!(b=Ar(b)))return y;var j=$a(y),ue=$a(b),Ie=FI(j,ue),e2=OI(j,ue)+1;return F6(j,Ie,e2).join("")}function Dae(y,b,R){if(y=I1(y),y&&(R||b===w))return y.slice(0,zI(y)+1);if(!y||!(b=Ar(b)))return y;var j=$a(y),ue=OI(j,$a(b))+1;return F6(j,0,ue).join("")}function Nae(y,b,R){if(y=I1(y),y&&(R||b===w))return y.replace(Gi,"");if(!y||!(b=Ar(b)))return y;var j=$a(y),ue=FI(j,$a(b));return F6(j,ue).join("")}function kae(y,b){var R=C2,j=F2;if(A0(b)){var ue="separator"in b?b.separator:ue;R="length"in b?G3(b.length):R,j="omission"in b?Ar(b.omission):j}y=I1(y);var Ie=y.length;if(Dl(y)){var e2=$a(y);Ie=e2.length}if(R>=Ie)return y;var h2=R-Nl(j);if(h2<1)return j;var b2=e2?F6(e2,0,h2).join(""):y.slice(0,h2);if(ue===w)return b2+j;if(e2&&(h2+=b2.length-h2),Lb(ue)){if(y.slice(h2).search(ue)){var et,nt=b2;for(ue.global||(ue=YS(ue.source,I1(Iu.exec(ue))+"g")),ue.lastIndex=0;et=ue.exec(nt);)var ct=et.index;b2=b2.slice(0,ct===w?h2:ct)}}else if(y.indexOf(Ar(ue),h2)!=h2){var Dt=b2.lastIndexOf(ue);Dt>-1&&(b2=b2.slice(0,Dt))}return b2+j}function Fae(y){return y=I1(y),y&&U3.test(y)?y.replace(Ui,d1e):y}var Oae=Gl(function(y,b,R){return y+(R?" ":"")+b.toUpperCase()}),Nb=MD("toUpperCase");function AN(y,b,R){return y=I1(y),b=R?w:b,b===w?o1e(y)?p1e(y):Z3e(y):y.match(b)||[]}var CN=Z3(function(y,b){try{return wr(y,w,b)}catch(R){return Rb(R)?R:new L3(R)}}),Bae=As(function(y,b){return Zr(b,function(R){R=Ao(R),ws(y,R,Eb(y[R],y))}),y});function zae(y){var b=y==null?0:y.length,R=y3();return y=b?x0(y,function(j){if(typeof j[1]!="function")throw new Jr(O);return[R(j[0]),j[1]]}):[],Z3(function(j){for(var ue=-1;++ue<b;){var Ie=y[ue];if(wr(Ie[0],this,j))return wr(Ie[1],this,j)}})}function Uae(y){return d0e(ea(y,le))}function kb(y){return function(){return y}}function Gae(y,b){return y==null||y!==y?b:y}var Vae=PD(),Hae=PD(!0);function Yi(y){return y}function Fb(y){return aD(typeof y=="function"?y:ea(y,le))}function Wae(y){return sD(ea(y,le))}function jae(y,b){return lD(y,ea(b,le))}var $ae=Z3(function(y,b){return function(R){return Wu(R,y,b)}}),Yae=Z3(function(y,b){return function(R){return Wu(y,R,b)}});function Ob(y,b,R){var j=Pn(b),ue=ap(b,j);R==null&&!(A0(b)&&(ue.length||!j.length))&&(R=b,b=y,y=this,ue=ap(b,Pn(b)));var Ie=!(A0(R)&&"chain"in R)||!!R.chain,e2=Ms(y);return Zr(ue,function(h2){var b2=b[h2];y[h2]=b2,e2&&(y.prototype[h2]=function(){var et=this.__chain__;if(Ie||et){var nt=y(this.__wrapped__),ct=nt.__actions__=Wi(this.__actions__);return ct.push({func:b2,args:arguments,thisArg:y}),nt.__chain__=et,nt}return b2.apply(y,R6([this.value()],arguments))})}),y}function qae(){return Un._===this&&(Un._=S1e),this}function Bb(){}function Xae(y){return y=G3(y),Z3(function(b){return uD(b,y)})}var Kae=mb(x0),Zae=mb(RI),Jae=mb(US);function MN(y){return xb(y)?GS(Ao(y)):E0e(y)}function Qae(y){return function(b){return y==null?w:b9(y,b)}}var eoe=LD(),toe=LD(!0);function zb(){return[]}function Ub(){return!1}function noe(){return{}}function ioe(){return""}function roe(){return!0}function aoe(y,b){if(y=G3(y),y<1||y>Zt)return[];var R=Xe,j=ri(y,Xe);b=y3(b),y-=Xe;for(var ue=WS(j,b);++R<y;)b(R);return ue}function ooe(y){return k3(y)?x0(y,Ao):Cr(y)?[y]:Wi(YD(I1(y)))}function soe(y){var b=++y1e;return I1(y)+b}var loe=dp(function(y,b){return y+b},0),uoe=gb("ceil"),coe=dp(function(y,b){return y/b},1),doe=gb("floor");function hoe(y){return y&&y.length?rp(y,Yi,tb):w}function foe(y,b){return y&&y.length?rp(y,y3(b,2),tb):w}function poe(y){return DI(y,Yi)}function moe(y,b){return DI(y,y3(b,2))}function goe(y){return y&&y.length?rp(y,Yi,ab):w}function voe(y,b){return y&&y.length?rp(y,y3(b,2),ab):w}var yoe=dp(function(y,b){return y*b},1),_oe=gb("round"),Soe=dp(function(y,b){return y-b},0);function boe(y){return y&&y.length?HS(y,Yi):0}function xoe(y,b){return y&&y.length?HS(y,y3(b,2)):0}return Me.after=Wie,Me.ary=rN,Me.assign=Lre,Me.assignIn=yN,Me.assignInWith=Tp,Me.assignWith=Ire,Me.at=Dre,Me.before=aN,Me.bind=Eb,Me.bindAll=Bae,Me.bindKey=oN,Me.castArray=nre,Me.chain=tN,Me.chunk=dne,Me.compact=hne,Me.concat=fne,Me.cond=zae,Me.conforms=Uae,Me.constant=kb,Me.countBy=bie,Me.create=Nre,Me.curry=sN,Me.curryRight=lN,Me.debounce=uN,Me.defaults=kre,Me.defaultsDeep=Fre,Me.defer=jie,Me.delay=$ie,Me.difference=pne,Me.differenceBy=mne,Me.differenceWith=gne,Me.drop=vne,Me.dropRight=yne,Me.dropRightWhile=_ne,Me.dropWhile=Sne,Me.fill=bne,Me.filter=wie,Me.flatMap=Cie,Me.flatMapDeep=Mie,Me.flatMapDepth=Eie,Me.flatten=ZD,Me.flattenDeep=xne,Me.flattenDepth=wne,Me.flip=Yie,Me.flow=Vae,Me.flowRight=Hae,Me.fromPairs=Tne,Me.functions=Hre,Me.functionsIn=Wre,Me.groupBy=Pie,Me.initial=Cne,Me.intersection=Mne,Me.intersectionBy=Ene,Me.intersectionWith=Pne,Me.invert=$re,Me.invertBy=Yre,Me.invokeMap=Lie,Me.iteratee=Fb,Me.keyBy=Iie,Me.keys=Pn,Me.keysIn=$i,Me.map=yp,Me.mapKeys=Xre,Me.mapValues=Kre,Me.matches=Wae,Me.matchesProperty=jae,Me.memoize=Sp,Me.merge=Zre,Me.mergeWith=_N,Me.method=$ae,Me.methodOf=Yae,Me.mixin=Ob,Me.negate=bp,Me.nthArg=Xae,Me.omit=Jre,Me.omitBy=Qre,Me.once=qie,Me.orderBy=Die,Me.over=Kae,Me.overArgs=Xie,Me.overEvery=Zae,Me.overSome=Jae,Me.partial=Pb,Me.partialRight=cN,Me.partition=Nie,Me.pick=eae,Me.pickBy=SN,Me.property=MN,Me.propertyOf=Qae,Me.pull=Dne,Me.pullAll=QD,Me.pullAllBy=Nne,Me.pullAllWith=kne,Me.pullAt=Fne,Me.range=eoe,Me.rangeRight=toe,Me.rearg=Kie,Me.reject=Oie,Me.remove=One,Me.rest=Zie,Me.reverse=Cb,Me.sampleSize=zie,Me.set=nae,Me.setWith=iae,Me.shuffle=Uie,Me.slice=Bne,Me.sortBy=Hie,Me.sortedUniq=jne,Me.sortedUniqBy=$ne,Me.split=Cae,Me.spread=Jie,Me.tail=Yne,Me.take=qne,Me.takeRight=Xne,Me.takeRightWhile=Kne,Me.takeWhile=Zne,Me.tap=hie,Me.throttle=Qie,Me.thru=vp,Me.toArray=mN,Me.toPairs=bN,Me.toPairsIn=xN,Me.toPath=ooe,Me.toPlainObject=vN,Me.transform=rae,Me.unary=ere,Me.union=Jne,Me.unionBy=Qne,Me.unionWith=eie,Me.uniq=tie,Me.uniqBy=nie,Me.uniqWith=iie,Me.unset=aae,Me.unzip=Mb,Me.unzipWith=eN,Me.update=oae,Me.updateWith=sae,Me.values=Wl,Me.valuesIn=lae,Me.without=rie,Me.words=AN,Me.wrap=tre,Me.xor=aie,Me.xorBy=oie,Me.xorWith=sie,Me.zip=lie,Me.zipObject=uie,Me.zipObjectDeep=cie,Me.zipWith=die,Me.entries=bN,Me.entriesIn=xN,Me.extend=yN,Me.extendWith=Tp,Ob(Me,Me),Me.add=loe,Me.attempt=CN,Me.camelCase=hae,Me.capitalize=wN,Me.ceil=uoe,Me.clamp=uae,Me.clone=ire,Me.cloneDeep=are,Me.cloneDeepWith=ore,Me.cloneWith=rre,Me.conformsTo=sre,Me.deburr=TN,Me.defaultTo=Gae,Me.divide=coe,Me.endsWith=fae,Me.eq=qa,Me.escape=pae,Me.escapeRegExp=mae,Me.every=xie,Me.find=Tie,Me.findIndex=XD,Me.findKey=Ore,Me.findLast=Aie,Me.findLastIndex=KD,Me.findLastKey=Bre,Me.floor=doe,Me.forEach=nN,Me.forEachRight=iN,Me.forIn=zre,Me.forInRight=Ure,Me.forOwn=Gre,Me.forOwnRight=Vre,Me.get=Ib,Me.gt=lre,Me.gte=ure,Me.has=jre,Me.hasIn=Db,Me.head=JD,Me.identity=Yi,Me.includes=Rie,Me.indexOf=Ane,Me.inRange=cae,Me.invoke=qre,Me.isArguments=T9,Me.isArray=k3,Me.isArrayBuffer=cre,Me.isArrayLike=ji,Me.isArrayLikeObject=V0,Me.isBoolean=dre,Me.isBuffer=O6,Me.isDate=hre,Me.isElement=fre,Me.isEmpty=pre,Me.isEqual=mre,Me.isEqualWith=gre,Me.isError=Rb,Me.isFinite=vre,Me.isFunction=Ms,Me.isInteger=dN,Me.isLength=xp,Me.isMap=hN,Me.isMatch=yre,Me.isMatchWith=_re,Me.isNaN=Sre,Me.isNative=bre,Me.isNil=wre,Me.isNull=xre,Me.isNumber=fN,Me.isObject=A0,Me.isObjectLike=N0,Me.isPlainObject=Ku,Me.isRegExp=Lb,Me.isSafeInteger=Tre,Me.isSet=pN,Me.isString=wp,Me.isSymbol=Cr,Me.isTypedArray=Hl,Me.isUndefined=Are,Me.isWeakMap=Cre,Me.isWeakSet=Mre,Me.join=Rne,Me.kebabCase=gae,Me.last=na,Me.lastIndexOf=Lne,Me.lowerCase=vae,Me.lowerFirst=yae,Me.lt=Ere,Me.lte=Pre,Me.max=hoe,Me.maxBy=foe,Me.mean=poe,Me.meanBy=moe,Me.min=goe,Me.minBy=voe,Me.stubArray=zb,Me.stubFalse=Ub,Me.stubObject=noe,Me.stubString=ioe,Me.stubTrue=roe,Me.multiply=yoe,Me.nth=Ine,Me.noConflict=qae,Me.noop=Bb,Me.now=_p,Me.pad=_ae,Me.padEnd=Sae,Me.padStart=bae,Me.parseInt=xae,Me.random=dae,Me.reduce=kie,Me.reduceRight=Fie,Me.repeat=wae,Me.replace=Tae,Me.result=tae,Me.round=_oe,Me.runInContext=S2,Me.sample=Bie,Me.size=Gie,Me.snakeCase=Aae,Me.some=Vie,Me.sortedIndex=zne,Me.sortedIndexBy=Une,Me.sortedIndexOf=Gne,Me.sortedLastIndex=Vne,Me.sortedLastIndexBy=Hne,Me.sortedLastIndexOf=Wne,Me.startCase=Mae,Me.startsWith=Eae,Me.subtract=Soe,Me.sum=boe,Me.sumBy=xoe,Me.template=Pae,Me.times=aoe,Me.toFinite=Es,Me.toInteger=G3,Me.toLength=gN,Me.toLower=Rae,Me.toNumber=ia,Me.toSafeInteger=Rre,Me.toString=I1,Me.toUpper=Lae,Me.trim=Iae,Me.trimEnd=Dae,Me.trimStart=Nae,Me.truncate=kae,Me.unescape=Fae,Me.uniqueId=soe,Me.upperCase=Oae,Me.upperFirst=Nb,Me.each=nN,Me.eachRight=iN,Me.first=JD,Ob(Me,function(){var y={};return wo(Me,function(b,R){V1.call(Me.prototype,R)||(y[R]=b)}),y}(),{chain:!1}),Me.VERSION=T,Zr(["bind","bindKey","curry","curryRight","partial","partialRight"],function(y){Me[y].placeholder=Me}),Zr(["drop","take"],function(y,b){o1.prototype[y]=function(R){R=R===w?1:pn(G3(R),0);var j=this.__filtered__&&!b?new o1(this):this.clone();return j.__filtered__?j.__takeCount__=ri(R,j.__takeCount__):j.__views__.push({size:ri(R,Xe),type:y+(j.__dir__<0?"Right":"")}),j},o1.prototype[y+"Right"]=function(R){return this.reverse()[y](R).reverse()}}),Zr(["filter","map","takeWhile"],function(y,b){var R=b+1,j=R==Lt||R==Bt;o1.prototype[y]=function(ue){var Ie=this.clone();return Ie.__iteratees__.push({iteratee:y3(ue,3),type:R}),Ie.__filtered__=Ie.__filtered__||j,Ie}}),Zr(["head","last"],function(y,b){var R="take"+(b?"Right":"");o1.prototype[y]=function(){return this[R](1).value()[0]}}),Zr(["initial","tail"],function(y,b){var R="drop"+(b?"":"Right");o1.prototype[y]=function(){return this.__filtered__?new o1(this):this[R](1)}}),o1.prototype.compact=function(){return this.filter(Yi)},o1.prototype.find=function(y){return this.filter(y).head()},o1.prototype.findLast=function(y){return this.reverse().find(y)},o1.prototype.invokeMap=Z3(function(y,b){return typeof y=="function"?new o1(this):this.map(function(R){return Wu(R,y,b)})}),o1.prototype.reject=function(y){return this.filter(bp(y3(y)))},o1.prototype.slice=function(y,b){y=G3(y);var R=this;return R.__filtered__&&(y>0||b<0)?new o1(R):(y<0?R=R.takeRight(-y):y&&(R=R.drop(y)),b!==w&&(b=G3(b),R=b<0?R.dropRight(-b):R.take(b-y)),R)},o1.prototype.takeRightWhile=function(y){return this.reverse().takeWhile(y).reverse()},o1.prototype.toArray=function(){return this.take(Xe)},wo(o1.prototype,function(y,b){var R=/^(?:filter|find|map|reject)|While$/.test(b),j=/^(?:head|last)$/.test(b),ue=Me[j?"take"+(b=="last"?"Right":""):b],Ie=j||/^find/.test(b);ue&&(Me.prototype[b]=function(){var e2=this.__wrapped__,h2=j?[1]:arguments,b2=e2 instanceof o1,et=h2[0],nt=b2||k3(e2),ct=function(r1){var h1=ue.apply(Me,R6([r1],h2));return j&&Dt?h1[0]:h1};nt&&R&&typeof et=="function"&&et.length!=1&&(b2=nt=!1);var Dt=this.__chain__,Jt=!!this.__actions__.length,S3=Ie&&!Dt,H3=b2&&!Jt;if(!Ie&&nt){e2=H3?e2:new o1(this);var b3=y.apply(e2,h2);return b3.__actions__.push({func:vp,args:[ct],thisArg:w}),new Qr(b3,Dt)}return S3&&H3?y.apply(this,h2):(b3=this.thru(ct),S3?j?b3.value()[0]:b3.value():b3)})}),Zr(["pop","push","shift","sort","splice","unshift"],function(y){var b=Hf[y],R=/^(?:push|sort|unshift)$/.test(y)?"tap":"thru",j=/^(?:pop|shift)$/.test(y);Me.prototype[y]=function(){var ue=arguments;if(j&&!this.__chain__){var Ie=this.value();return b.apply(k3(Ie)?Ie:[],ue)}return this[R](function(e2){return b.apply(k3(e2)?e2:[],ue)})}}),wo(o1.prototype,function(y,b){var R=Me[b];if(R){var j=R.name+"";V1.call(Bl,j)||(Bl[j]=[]),Bl[j].push({name:b,func:R})}}),Bl[cp(w,n2).name]=[{name:"wrapper",func:w}],o1.prototype.clone=F1e,o1.prototype.reverse=O1e,o1.prototype.value=B1e,Me.prototype.at=fie,Me.prototype.chain=pie,Me.prototype.commit=mie,Me.prototype.next=gie,Me.prototype.plant=yie,Me.prototype.reverse=_ie,Me.prototype.toJSON=Me.prototype.valueOf=Me.prototype.value=Sie,Me.prototype.first=Me.prototype.head,Ou&&(Me.prototype[Ou]=vie),Me},kl=m1e();g9?((g9.exports=kl)._=kl,FS._=kl):Un._=kl}).call(I)});function L(Q,U){var w=U.parentNode;w.lastChild==U?w.appendChild(Q):w.insertBefore(Q,U.nextSibling)}var V=function(){function Q(U,w){i(this,Q),this.id=w,this.jSPlugin=U,this.state={play:!1,loading:!1,text:""},this.loadingSetText=this.loadingSetText}return a(Q,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"setPlayStatus",value:function(w){this.state=Object.assign(this.state,w)}},{key:"loadingStart",value:function(w){var T=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(T),T.innerHTML="@keyframes antRotate {to {transform: rotate(400deg);transform-origin:50% 50%;}} .loading {display: inline-block;z-index: 1000;-webkit-animation: antRotate 1s infinite linear;animation: antRotate 1s infinite linear;}";var P=w,N=document.getElementById(P),O=N.offsetWidth,B=N.offsetHeight,de=0,me=N.offsetLeft;document.getElementById("".concat(w,"-loading-id-0"))&&document.getElementById("".concat(w,"-loading-id-0")).parentNode.removeChild(document.getElementById("".concat(w,"-loading-id-0")));var fe=document.createElement("div");fe.setAttribute("id","".concat(w,"-loading-id-0"));var Pe="position:absolute;outline:none;pointer-events:none;";console.log("this.jSPlugin",this.jSPlugin),Pe+="width: 100%;background-size: cover; background-repeat:no-repeat;",Pe+="height: 100%;",Pe+="top:"+de+";",Pe+="left:"+me+"px;",fe.setAttribute("style",Pe),fe.style.height=B,fe.setAttribute("class","loading-container"),L(fe,N);var le=1,ae=document.createElement("div"),We=document.createElement("div");ae.setAttribute("class","loading-item"),ae.setAttribute("id","".concat(w,"-loading-item-0"));var Pe="display:inline-flex;pointer-events:none;flex-direction:column;justify-content:center;align-items: center;width:100%;height:"+B+"px;outline:none;vertical-align: top;position:absolute;";Pe+="left:"+_e(B,O,le,0).left+"px;",Pe+="top:"+_e(B,O,le,0).top+"px;",ae.setAttribute("style",Pe);function _e(pe,F,te,oe){var ze=parseInt(oe/te,10)*(pe/te),Ye=oe%te*(F/te);return{top:ze,left:Ye}}var Se=document.createElement("div");We.innerHTML="",We.style.color="#fff",Se.setAttribute("class","loading"),Se.setAttribute("id","loading-icon");var n2='<svg t="1567069979438" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2399" width="32" height="32"><path d="M538.5344 266.4448a133.12 133.12 0 1 1 133.12-133.12 133.4272 133.4272 0 0 1-133.12 133.12zM255.0144 372.1984a121.6768 121.6768 0 1 1 121.6768-121.6768 121.856 121.856 0 0 1-121.6768 121.6768zM134.72 647.424a107.3664 107.3664 0 1 1 107.3664-107.264A107.52 107.52 0 0 1 134.72 647.424z m120.32 272.4608a90.9824 90.9824 0 1 1 90.9824-90.9824A91.1616 91.1616 0 0 1 255.04 919.8848zM538.5344 1024a79.36 79.36 0 1 1 79.36-79.36 79.36 79.36 0 0 1-79.36 79.36z m287.6928-134.144a64.1792 64.1792 0 1 1 64.1792-64.1792 64.3584 64.3584 0 0 1-64.1792 64.1792z m117.76-296.704a52.6336 52.6336 0 1 1 52.6592-52.6336 52.608 52.608 0 0 1-52.6336 52.6336z m-158.72-338.7136a40.96 40.96 0 1 1 12.0064 28.8512 40.5248 40.5248 0 0 1-12.0064-28.8512z" fill="#ffffff" p-id="2400"></path></svg>';Se.innerHTML=n2,ae.appendChild(Se),ae.appendChild(We),fe.appendChild(ae)}},{key:"loadingStop",value:function(w){var T=document.getElementById("".concat(w,"-loading-item-0"));T&&T.removeChild(document.getElementById("loading-icon"))}},{key:"loadingSetText",value:function(w){var T=this;if(this.loadingClearText(),document.getElementById("".concat(this.id,"-loading-item-0"))){var P=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes[1];if(!P){var N=document.getElementById("".concat(this.id,"-loading-item-0"));N.style.height="100%",P=document.createElement("div"),P.innerHTML=w.text,N.appendChild(P)}P.innerHTML=w.text,P.style.fontSize="14px",P.style.color=w.color||"#FFFFFF",this.state.text=w.text,w.delayClear&&setTimeout(function(){T.loadingClearText()},parseInt(w.delayClear))}}},{key:"loadingClearText",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){var w=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes;w.length>1?w[1].parentNode.removeChild(w[1]):w[0]&&w[0].parentNode.removeChild(w[0])}}},{key:"loadingClear",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){for(var w=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes,T=w.length-1;T>=0;T--)w[T].parentNode.removeChild(w[T]);document.getElementById("".concat(this.id,"-loading-id-0"))&&(document.getElementById("".concat(this.id,"-loading-id-0")).style.background="none"),document.getElementById("loading-icon")&&document.getElementById("loading-icon").parentNode.removeChild(document.getElementById("loading-icon"))}}},{key:"loadingEnd",value:function(){var w=document.getElementById("".concat(this.id,"-loading-item-0"));if(w){w.parentNode.removeChild(w);var T=document.getElementById("".concat(this.id,"-loading-id-0"));T&&T.children.length===0&&T.parentNode.removeChild(T)}document.getElementById("".concat(this.id,"-loading-item-0")).style.background="none"}}]),Q}(),Y=function(){function Q(U,w){i(this,Q),this.id=w,this.jSPlugin=U,this.timer=null,this.state={play:!1,loading:!1}}return a(Q,[{key:"default",value:function(w){var T=this,P="msgId";document.getElementById("".concat(this.id,"-").concat(P))&&document.getElementById("".concat(this.id,"-wrap")).removeChild(document.getElementById("".concat(this.id,"-").concat(P)));var N=document.createElement("div");N.id="".concat(this.id,"-").concat(P),N.style="position: absolute;top: 50%;left:calc(50% - ".concat(w.length*14/2,"px);padding: 4px 16px;background: #00000080;color: #FFFFFF;font-size: 14px"),N.innerHTML=w,document.getElementById("".concat(this.id,"-wrap")).appendChild(N),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(function(){document.getElementById("".concat(T.id,"-wrap")).removeChild(document.getElementById("".concat(T.id,"-").concat(P)))},2e3)}}]),Q}(),G=[{moduleCode:"",detailCode:"405984",description:"",solution:"",updateTime:1559564188e3},{moduleCode:"",detailCode:"10035",description:"获取子账户AccessToken异常,子账户不存在或子账户不属于该开发者",solution:"",updateTime:1559551958e3},{moduleCode:"",detailCode:"1052674",description:"获取本地录像失败",solution:"",updateTime:1558579653e3},{moduleCode:"",detailCode:"395547",description:"",solution:"",updateTime:1557367296e3},{moduleCode:"",detailCode:"12",description:"",solution:"",updateTime:1557229476e3},{moduleCode:"",detailCode:"10052",description:"余额不足",solution:"",updateTime:1557121463e3},{moduleCode:"",detailCode:"20108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:1556541725e3},{moduleCode:"",detailCode:"10009",description:"",solution:"",updateTime:1556422452e3},{moduleCode:"",detailCode:"320001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:1556419044e3},{moduleCode:"",detailCode:"120001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:155641903e4},{moduleCode:"",detailCode:"320049",description:"",solution:"",updateTime:1556272984e3},{moduleCode:"",detailCode:"380227",description:"",solution:"",updateTime:1556264379e3},{moduleCode:"",detailCode:"10033",description:"policy参数信息异常",solution:"",updateTime:1555922124e3},{moduleCode:"",detailCode:"10065",description:"weakAppKey 不属于accessToken对应的用户",solution:"",updateTime:1555497522e3},{moduleCode:"",detailCode:"100001",description:"",solution:"",updateTime:1555141776e3},{moduleCode:"",detailCode:"395558",description:"",solution:"",updateTime:1554987121e3},{moduleCode:"",detailCode:"70001",description:"智能家居买断用户设备受到限制,建议合理选择pagestart和pageSize",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"170001",description:"",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"1012",description:"重置失败",solution:"",updateTime:1554645841e3},{moduleCode:"",detailCode:"1043",description:"重置失败",solution:"",updateTime:1554645834e3},{moduleCode:"",detailCode:"60060",description:"直播功能未开通",solution:"通道未开通直播功能,请先开通直播",updateTime:1554346018e3},{moduleCode:"",detailCode:"380203",description:"",solution:"",updateTime:1554093666e3},{moduleCode:"",detailCode:"399048",description:"免费版并发数达到上限,请升级企业版使用多并发能力",solution:"升级成为企业版套餐即可取消并发数限制",updateTime:1553839878e3},{moduleCode:"",detailCode:"60007",description:"预置点个数超过最大值",solution:"",updateTime:1553671316e3},{moduleCode:"",detailCode:"1005",description:"",solution:"",updateTime:1553513701e3},{moduleCode:"",detailCode:"20605",description:"其他用户正在认证中",solution:"",updateTime:1552976317e3},{moduleCode:"",detailCode:"90004",description:"当前型号设备暂时不支持AI任务:CS-C3W-3B1WFR-YGL",solution:"",updateTime:1552898525e3},{moduleCode:"",detailCode:"60046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:1552872372e3},{moduleCode:"",detailCode:"3",description:"修改视频清晰度失败!",solution:"",updateTime:1552440229e3},{moduleCode:"",detailCode:"1013",description:"",solution:"",updateTime:1552035069e3},{moduleCode:"",detailCode:"370007",description:"",solution:"",updateTime:1551852327e3},{moduleCode:"",detailCode:"-1",description:"",solution:"",updateTime:1551752889e3},{moduleCode:"",detailCode:"30005",description:"弱账户不存在",solution:"",updateTime:1551422358e3},{moduleCode:"",detailCode:"90006",description:"用户操作AI任务受限",solution:"",updateTime:155107332e4},{moduleCode:"",detailCode:"60203",description:"未开通相关服务",solution:"",updateTime:155062307e4},{moduleCode:"",detailCode:"10002",description:"accessToken过期或异常",solution:"",updateTime:1550300346e3},{moduleCode:"",detailCode:"380339",description:"",solution:"",updateTime:1549889458e3},{moduleCode:"",detailCode:"90002",description:"AI任务设备配置数达到上限:3",solution:"",updateTime:1549071664e3},{moduleCode:"",detailCode:"380008",description:"",solution:"",updateTime:1549005979e3},{moduleCode:"",detailCode:"320227",description:"",solution:"",updateTime:1548739731e3},{moduleCode:"",detailCode:"60059",description:"ezopen地址均不可用",solution:"",updateTime:154839535e4},{moduleCode:"",detailCode:"10005",description:"appKey异常",solution:"",updateTime:1548317858e3},{moduleCode:"",detailCode:"60045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:1548155085e3},{moduleCode:"",detailCode:"60047",description:"码流类型不支持",solution:"",updateTime:1547962108e3},{moduleCode:"",detailCode:"60041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:154796098e4},{moduleCode:"",detailCode:"110029",description:"个人用户接口调用频率超限",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1547606859e3},{moduleCode:"",detailCode:"380355",description:"设备直连推流异常结束",solution:"",updateTime:1547106294e3},{moduleCode:"",detailCode:"320081",description:"",solution:"",updateTime:1547106279e3},{moduleCode:"",detailCode:"60035",description:"购买云存储服务失败",solution:"",updateTime:1547026959e3},{moduleCode:"",detailCode:"90005",description:"设备已存在:C75714141",solution:"",updateTime:1546940622e3},{moduleCode:"",detailCode:"1053445",description:"该时间段没有录像片段",solution:"",updateTime:1546935727e3},{moduleCode:"",detailCode:"90007",description:"设备未加入到AI任务",solution:"",updateTime:1546932948e3},{moduleCode:"",detailCode:"326000",description:"",solution:"",updateTime:1546823143e3},{moduleCode:"",detailCode:"1021",description:"重置失败",solution:"",updateTime:1546781152e3},{moduleCode:"",detailCode:"2001",description:"删除设备失败!",solution:"",updateTime:1546422886e3},{moduleCode:"",detailCode:"380425",description:"",solution:"",updateTime:1546407694e3},{moduleCode:"",detailCode:"120097",description:"",solution:"",updateTime:1546085995e3},{moduleCode:"",detailCode:"10059",description:"requestId已存在",solution:"",updateTime:1545824509e3},{moduleCode:"",detailCode:"1154723",description:"",solution:"",updateTime:1545795209e3},{moduleCode:"",detailCode:"60043",description:"添加的设备超出最大数量",solution:"",updateTime:1545493607e3},{moduleCode:"",detailCode:"1152677",description:"",solution:"",updateTime:1545313404e3},{moduleCode:"",detailCode:"20097",description:"设备添加异常,设备验证码为ABCDEF或设备被N1,R1关联",solution:"",updateTime:1545310795e3},{moduleCode:"",detailCode:"10060",description:"设备不支持该云存储类型",solution:"",updateTime:1545309064e3},{moduleCode:"",detailCode:"20102",description:"无相应邀请信息,无法接受邀请",solution:"",updateTime:1545204966e3},{moduleCode:"",detailCode:"10053",description:"云存储开通中",solution:"",updateTime:1545100293e3},{moduleCode:"",detailCode:"20401",description:"用户云空间信息不存在",solution:"",updateTime:154501788e4},{moduleCode:"",detailCode:"20600",description:"临时密码数已达上限",solution:"",updateTime:1544873457e3},{moduleCode:"",detailCode:"901",description:"",solution:"",updateTime:1544693519e3},{moduleCode:"",detailCode:"60210",description:"图片数据错误",solution:"",updateTime:1544604457e3},{moduleCode:"",detailCode:"10013",description:"您的应用没有权限调用",solution:"",updateTime:1544416237e3},{moduleCode:"",detailCode:"70007",description:"授权码不存在",solution:"",updateTime:1544179533e3},{moduleCode:"",detailCode:"10015",description:"授权地址不存在",solution:"",updateTime:154416324e4},{moduleCode:"",detailCode:"320423",description:"",solution:"",updateTime:1544100685e3},{moduleCode:"",detailCode:"370009",description:"",solution:"",updateTime:1544077151e3},{moduleCode:"",detailCode:"10031",description:"子账户或萤石用户没有权限",solution:"",updateTime:1543990462e3},{moduleCode:"",detailCode:"10055",description:"设备不支持试用云存储服务",solution:"",updateTime:1543986292e3},{moduleCode:"",detailCode:"60042",description:"添加的设备密码错误",solution:"",updateTime:1543710913e3},{moduleCode:"",detailCode:"60082",description:"设备正在响应本次声源定位",solution:"",updateTime:1543647426e3},{moduleCode:"",detailCode:"10056",description:"设备不支持云存储服务转出",solution:"",updateTime:1543558342e3},{moduleCode:"",detailCode:"20104",description:"好友不存在",solution:"",updateTime:1543492403e3},{moduleCode:"",detailCode:"20111",description:"好友不是等待验证状态,无法接受邀请",solution:"",updateTime:1543492365e3},{moduleCode:"",detailCode:"20107",description:"不能添加自己为好友",solution:"",updateTime:1543480986e3},{moduleCode:"",detailCode:"1",description:"设备返回其他错误",solution:"",updateTime:1543459921e3},{moduleCode:"",detailCode:"60084",description:"当前正在关闭隐私遮蔽",solution:"",updateTime:1543456515e3},{moduleCode:"",detailCode:"380255",description:"",solution:"",updateTime:1543411652e3},{moduleCode:"",detailCode:"20015",description:"设备不支持",solution:"",updateTime:1543390936e3},{moduleCode:"",detailCode:"30003",description:"手机验证码错误",solution:"",updateTime:1543389137e3},{moduleCode:"",detailCode:"20615",description:"锁用户已存在",solution:"",updateTime:1543388325e3},{moduleCode:"",detailCode:"60061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:1543372581e3},{moduleCode:"",detailCode:"60020",description:"设备不支持该信令",solution:"",updateTime:1543321636e3},{moduleCode:"",detailCode:"320146",description:"",solution:"",updateTime:1543318472e3},{moduleCode:"",detailCode:"60018",description:"设备升级失败",solution:"",updateTime:1543304928e3},{moduleCode:"",detailCode:"60044",description:"添加的设备网络不可达超时",solution:"",updateTime:1543304102e3},{moduleCode:"",detailCode:"20619",description:"主用户无法删除",solution:"",updateTime:1543290219e3},{moduleCode:"",detailCode:"20608",description:"锁用户不存在",solution:"",updateTime:154328195e4},{moduleCode:"",detailCode:"20609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:1543281601e3},{moduleCode:"",detailCode:"1049954",description:"升级设备失败",solution:"",updateTime:1543279264e3},{moduleCode:"",detailCode:"60009",description:"正在调用预置点",solution:"",updateTime:1543238114e3},{moduleCode:"",detailCode:"1052677",description:"获取本地录像失败",solution:"",updateTime:1543207604e3},{moduleCode:"",detailCode:"327000",description:"",solution:"",updateTime:1543196609e3},{moduleCode:"",detailCode:"20021",description:"设备在线,未被用户添加",solution:"",updateTime:1543193436e3},{moduleCode:"",detailCode:"20202",description:"操作留言信息失败",solution:"",updateTime:1543191562e3},{moduleCode:"",detailCode:"1052678",description:"获取本地录像失败",solution:"",updateTime:1543132218e3},{moduleCode:"",detailCode:"1054723",description:"格式化设备失败",solution:"",updateTime:1543129833e3},{moduleCode:"",detailCode:"20109",description:"对应分享不存在",solution:"",updateTime:1543129111e3},{moduleCode:"",detailCode:"60026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:1543110403e3},{moduleCode:"",detailCode:"60083",description:"当前正在开启隐私遮蔽",solution:"",updateTime:1543071148e3},{moduleCode:"",detailCode:"60001",description:"用户无云台控制权限",solution:"",updateTime:1543059167e3},{moduleCode:"",detailCode:"2003",description:"设备不在线",solution:"",updateTime:1543051046e3},{moduleCode:"",detailCode:"-24",description:"设置设备enable错误",solution:"",updateTime:1543042701e3},{moduleCode:"",detailCode:"10018",description:"",solution:"",updateTime:1543041564e3},{moduleCode:"",detailCode:"20103",description:"好友已存在",solution:"",updateTime:154303843e4},{moduleCode:"",detailCode:"70010",description:"授权异常请重试",solution:"",updateTime:154303559e4},{moduleCode:"",detailCode:"60056",description:"删除设备失败",solution:"",updateTime:1543031275e3},{moduleCode:"",detailCode:"60040",description:"添加的设备不在同一局域网",solution:"",updateTime:154303121e4},{moduleCode:"",detailCode:"60019",description:"加密已开启",solution:"",updateTime:1543029931e3},{moduleCode:"",detailCode:"1054722",description:"格式化设备失败",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"20016",description:"当前设备正在格式化",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"10024",description:"透明通道权限校验不通过",solution:"",updateTime:154302554e4},{moduleCode:"",detailCode:"6002",description:"删除设备失败!",solution:"",updateTime:1543025026e3},{moduleCode:"",detailCode:"1011",description:"验证码错误!",solution:"",updateTime:1543016865e3},{moduleCode:"",detailCode:"60032",description:"卡密已使用",solution:"",updateTime:1543006668e3},{moduleCode:"",detailCode:"10034",description:"子账号已存在",solution:"",updateTime:1542989194e3},{moduleCode:"",detailCode:"20301",description:"根据uuid查询联动信息不存在",solution:"",updateTime:1542988651e3},{moduleCode:"",detailCode:"1041",description:"获取验证码过于频繁",solution:"",updateTime:1542980953e3},{moduleCode:"",detailCode:"10012",description:"该appkey下已绑定重复的phone!",solution:"",updateTime:15429808e5},{moduleCode:"",detailCode:"1008",description:"phone不合法!",solution:"",updateTime:1542979812e3},{moduleCode:"",detailCode:"60023",description:"订阅操作失败",solution:"",updateTime:1542979006e3},{moduleCode:"",detailCode:"5",description:"设备返回其他错误",solution:"",updateTime:1542977828e3},{moduleCode:"",detailCode:"60006",description:"云台当前操作失败",solution:"",updateTime:1542977598e3},{moduleCode:"",detailCode:"131",description:"修改视频清晰度失败!",solution:"",updateTime:1542977246e3},{moduleCode:"",detailCode:"10019",description:"密码错误",solution:"",updateTime:1542976628e3},{moduleCode:"",detailCode:"10004",description:"用户不存在",solution:"",updateTime:1542976268e3},{moduleCode:"",detailCode:"20201",description:"操作报警信息失败",solution:"",updateTime:1542975906e3},{moduleCode:"",detailCode:"20024",description:"设备不在线,已经被别的用户添加",solution:"",updateTime:1542975858e3},{moduleCode:"",detailCode:"60004",description:"设备云台旋转达到左限位",solution:"",updateTime:1542975207e3},{moduleCode:"",detailCode:"1052679",description:"修改视频清晰度失败!",solution:"",updateTime:1542974886e3},{moduleCode:"",detailCode:"20031",description:"请在萤石客户端关闭终端绑定",solution:"",updateTime:1542974756e3},{moduleCode:"",detailCode:"1053825",description:"获取本地录像失败",solution:"",updateTime:1542974692e3},{moduleCode:"",detailCode:"60011",description:"预置点不存在",solution:"",updateTime:1542974414e3},{moduleCode:"",detailCode:"1052936",description:"修改视频清晰度失败!",solution:"",updateTime:154297439e4},{moduleCode:"",detailCode:"1016",description:"",solution:"",updateTime:1542974273e3},{moduleCode:"",detailCode:"10032",description:"子账号不存在",solution:"",updateTime:1542973906e3},{moduleCode:"",detailCode:"20013",description:"设备已被别人添加",solution:"",updateTime:1542973817e3},{moduleCode:"",detailCode:"50000",description:"服务器错误!",solution:"",updateTime:1542973801e3},{moduleCode:"",detailCode:"60010",description:"该预置点已经是当前位置",solution:"",updateTime:15429738e5},{moduleCode:"",detailCode:"60003",description:"设备云台旋转达到下限位",solution:"",updateTime:154297377e4},{moduleCode:"",detailCode:"4",description:"设备返回其他错误",solution:"",updateTime:1542973755e3},{moduleCode:"",detailCode:"60016",description:"加密未开启,无需关闭",solution:"",updateTime:1542973753e3},{moduleCode:"",detailCode:"60002",description:"设备云台旋转达到上限位",solution:"",updateTime:1542973742e3},{moduleCode:"",detailCode:"20023",description:"设备不在线,未被用户添加",solution:"",updateTime:1542973685e3},{moduleCode:"",detailCode:"10008",description:"",solution:"",updateTime:1542973676e3},{moduleCode:"",detailCode:"20010",description:"设备验证码错误",solution:"",updateTime:1542973658e3},{moduleCode:"",detailCode:"60005",description:"设备云台旋转达到右限位",solution:"",updateTime:1542973657e3},{moduleCode:"",detailCode:"20017",description:"设备已经被自己添加",solution:"",updateTime:1542973648e3},{moduleCode:"",detailCode:"20020",description:"设备在线,已经被自己添加",solution:"",updateTime:1542973533e3},{moduleCode:"",detailCode:"20029",description:"设备不在线,已经被自己添加",solution:"",updateTime:154297353e4},{moduleCode:"",detailCode:"10014",description:"APPKEY下对应的第三方userId和phone未绑定!",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"20002",description:"设备不存在",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"10030",description:"appkey和appsecret不匹配",solution:"",updateTime:154297349e4},{moduleCode:"",detailCode:"20022",description:"设备在线,已经被别的用户添加",solution:"",updateTime:1542973486e3},{moduleCode:"",detailCode:"20008",description:"设备响应超时",solution:"",updateTime:1542973484e3},{moduleCode:"",detailCode:"20032",description:"该用户下通道不存在",solution:"",updateTime:1542973481e3},{moduleCode:"",detailCode:"20006",description:"网络异常",solution:"",updateTime:1542973475e3},{moduleCode:"",detailCode:"20014",description:"deviceSerial不合法!",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20007",description:"设备不在线",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20018",description:"该用户不拥有该设备",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10010",description:"",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10011",description:"未绑定!",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"20001",description:"通道不存在!",solution:"",updateTime:1542973452e3},{moduleCode:"",detailCode:"10017",description:"appKey不存在",solution:"",updateTime:1542973451e3},{moduleCode:"",detailCode:"400259",description:"",solution:"",updateTime:1542875643e3},{moduleCode:"",detailCode:"400004",description:"",solution:"",updateTime:1542873364e3},{moduleCode:"",detailCode:"3840",description:"",solution:"",updateTime:154186e7},{moduleCode:"",detailCode:"-1017",description:"",solution:"",updateTime:1541733663e3},{moduleCode:"",detailCode:"320025",description:"",solution:"",updateTime:1541078281e3},{moduleCode:"",detailCode:"320024",description:"",solution:"",updateTime:1540801374e3},{moduleCode:"",detailCode:"321002",description:"",solution:"",updateTime:1540631734e3},{moduleCode:"",detailCode:"321000",description:"",solution:"",updateTime:1540609178e3},{moduleCode:"",detailCode:"321022",description:"",solution:"",updateTime:1540548345e3},{moduleCode:"",detailCode:"321016",description:"",solution:"",updateTime:1540287187e3},{moduleCode:"",detailCode:"320023",description:"",solution:"",updateTime:1539825993e3},{moduleCode:"",detailCode:"-1016",description:"",solution:"",updateTime:1539584931e3},{moduleCode:"",detailCode:"8",description:"",solution:"",updateTime:1539391812e3},{moduleCode:"",detailCode:"1075127593",description:"",solution:"",updateTime:1538959251e3},{moduleCode:"",detailCode:"380421",description:"",solution:"",updateTime:1537288465e3},{moduleCode:"",detailCode:"322000",description:"麦克风权限未开启",solution:"",updateTime:1536820136e3},{moduleCode:"",detailCode:"1152678",description:"",solution:"",updateTime:1536738348e3},{moduleCode:"",detailCode:"320047",description:"",solution:"",updateTime:1536664472e3},{moduleCode:"",detailCode:"327006",description:"",solution:"",updateTime:153613612e4},{moduleCode:"",detailCode:"1074807593",description:"",solution:"",updateTime:1536135035e3},{moduleCode:"",detailCode:"320291",description:"",solution:"",updateTime:1536110836e3},{moduleCode:"",detailCode:"320045",description:"",solution:"",updateTime:1535963775e3},{moduleCode:"",detailCode:"370004",description:"",solution:"",updateTime:1535883699e3},{moduleCode:"",detailCode:"1149954",description:"",solution:"",updateTime:1535700674e3},{moduleCode:"",detailCode:"320053",description:"",solution:"",updateTime:1535681079e3},{moduleCode:"",detailCode:"400000",description:"",solution:"",updateTime:1535532332e3},{moduleCode:"",detailCode:"110028",description:"个人版抓图接口日调用次数超出限制",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348756e3},{moduleCode:"",detailCode:"110027",description:"个人版帐号数量超出安全限制,无法调用",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348734e3},{moduleCode:"",detailCode:"110026",description:"设备数量超出个人版限制,当前设备无法操作",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348588e3},{moduleCode:"",detailCode:"100000",description:"",solution:"",updateTime:1534980008e3},{moduleCode:"",detailCode:"324004",description:"",solution:"",updateTime:1534927762e3},{moduleCode:"",detailCode:"360104",description:"",solution:"",updateTime:1534761006e3},{moduleCode:"",detailCode:"320204",description:"",solution:"",updateTime:1534584221e3},{moduleCode:"",detailCode:"380001",description:"",solution:"",updateTime:1534404715e3},{moduleCode:"",detailCode:"380204",description:"",solution:"",updateTime:1534401682e3},{moduleCode:"",detailCode:"328006",description:"",solution:"",updateTime:1534144407e3},{moduleCode:"",detailCode:"321703",description:"",solution:"",updateTime:1534127274e3},{moduleCode:"",detailCode:"321510",description:"",solution:"",updateTime:1533428892e3},{moduleCode:"",detailCode:"321006",description:"",solution:"",updateTime:1533036916e3},{moduleCode:"",detailCode:"50009",description:"",solution:"",updateTime:1532078548e3},{moduleCode:"",detailCode:"50007",description:"",solution:"",updateTime:153199172e4},{moduleCode:"",detailCode:"50018",description:"",solution:"",updateTime:1531912829e3},{moduleCode:"",detailCode:"380451",description:"",solution:"",updateTime:15316157e5},{moduleCode:"",detailCode:"380336",description:"",solution:"",updateTime:1531231721e3},{moduleCode:"",detailCode:"360020",description:"",solution:"",updateTime:1531117554e3},{moduleCode:"",detailCode:"380418",description:"",solution:"",updateTime:153110707e4},{moduleCode:"",detailCode:"1153445",description:"设备在该时间段内没有录像",solution:"",updateTime:1530944007e3},{moduleCode:"",detailCode:"110007",description:"调用接口总次数达到上限",solution:"请升级企业版,获取更高能力",updateTime:1530935584e3},{moduleCode:"",detailCode:"360019",description:"",solution:"",updateTime:1530869771e3},{moduleCode:"",detailCode:"360100",description:"",solution:"",updateTime:1530786188e3},{moduleCode:"",detailCode:"380042",description:"",solution:"",updateTime:1530775199e3},{moduleCode:"",detailCode:"320355",description:"",solution:"",updateTime:1530716074e3},{moduleCode:"",detailCode:"100003",description:"",solution:"",updateTime:1530232541e3},{moduleCode:"",detailCode:"371026",description:"",solution:"",updateTime:15301926e5},{moduleCode:"",detailCode:"102",description:"",solution:"",updateTime:1529895641e3},{moduleCode:"",detailCode:"380201",description:"",solution:"",updateTime:1529740929e3},{moduleCode:"",detailCode:"320054",description:"",solution:"",updateTime:1529544875e3},{moduleCode:"",detailCode:"500101",description:"",solution:"",updateTime:1529485953e3},{moduleCode:"",detailCode:"321001",description:"",solution:"",updateTime:1529411048e3},{moduleCode:"",detailCode:"321508",description:"",solution:"",updateTime:1529393279e3},{moduleCode:"",detailCode:"405991",description:"",solution:"",updateTime:1529380238e3},{moduleCode:"",detailCode:"380461",description:"",solution:"",updateTime:1529130941e3},{moduleCode:"",detailCode:"-1019",description:"",solution:"",updateTime:1529057245e3},{moduleCode:"",detailCode:"322009",description:"",solution:"",updateTime:1528965717e3},{moduleCode:"",detailCode:"324005",description:"",solution:"",updateTime:1528950153e3},{moduleCode:"",detailCode:"325000",description:"",solution:"",updateTime:1528947143e3},{moduleCode:"",detailCode:"326032",description:"",solution:"",updateTime:1528872971e3},{moduleCode:"",detailCode:"325032",description:"",solution:"",updateTime:1528863189e3},{moduleCode:"",detailCode:"328000",description:"",solution:"",updateTime:1528794505e3},{moduleCode:"",detailCode:"53",description:"",solution:"",updateTime:1528693249e3},{moduleCode:"",detailCode:"-1020",description:"",solution:"",updateTime:152849944e4},{moduleCode:"",detailCode:"329032",description:"",solution:"",updateTime:1528446301e3},{moduleCode:"",detailCode:"-1202",description:"",solution:"",updateTime:152843982e4},{moduleCode:"",detailCode:"2",description:"",solution:"",updateTime:1528434175e3},{moduleCode:"",detailCode:"1152936",description:"",solution:"",updateTime:1528345986e3},{moduleCode:"",detailCode:"328011",description:"",solution:"",updateTime:15283386e5},{moduleCode:"",detailCode:"28",description:"",solution:"",updateTime:152833753e4},{moduleCode:"",detailCode:"320356",description:"",solution:"",updateTime:1528188693e3},{moduleCode:"",detailCode:"320357",description:"",solution:"",updateTime:1528188517e3},{moduleCode:"",detailCode:"405800",description:"",solution:"",updateTime:1528168732e3},{moduleCode:"",detailCode:"405996",description:"",solution:"",updateTime:1528168686e3},{moduleCode:"",detailCode:"380357",description:"",solution:"",updateTime:1528011565e3},{moduleCode:"",detailCode:"328022",description:"",solution:"",updateTime:1527929065e3},{moduleCode:"",detailCode:"380003",description:"",solution:"",updateTime:1527927819e3},{moduleCode:"",detailCode:"50004",description:"",solution:"",updateTime:1527770643e3},{moduleCode:"",detailCode:"50011",description:"",solution:"",updateTime:1527770635e3},{moduleCode:"",detailCode:"370017",description:"",solution:"",updateTime:1527739514e3},{moduleCode:"",detailCode:"327032",description:"",solution:"",updateTime:1527726704e3},{moduleCode:"",detailCode:"324001",description:"",solution:"",updateTime:1527681892e3},{moduleCode:"",detailCode:"405997",description:"",solution:"",updateTime:1527653408e3},{moduleCode:"",detailCode:"405995",description:"",solution:"",updateTime:1527647283e3},{moduleCode:"",detailCode:"1153825",description:"",solution:"",updateTime:1527601747e3},{moduleCode:"",detailCode:"328002",description:"",solution:"",updateTime:1527495292e3},{moduleCode:"",detailCode:"1152679",description:"",solution:"",updateTime:1527486665e3},{moduleCode:"",detailCode:"380356",description:"",solution:"",updateTime:1527125669e3},{moduleCode:"",detailCode:"328032",description:"",solution:"",updateTime:1527069382e3},{moduleCode:"",detailCode:"22",description:"",solution:"",updateTime:1527049826e3},{moduleCode:"",detailCode:"9",description:"",solution:"",updateTime:1527006778e3},{moduleCode:"",detailCode:"89",description:"",solution:"",updateTime:1526622784e3},{moduleCode:"",detailCode:"328016",description:"",solution:"",updateTime:1526452365e3},{moduleCode:"",detailCode:"368005",description:"",solution:"",updateTime:1525921264e3},{moduleCode:"",detailCode:"0",description:"",solution:"",updateTime:1525920242e3},{moduleCode:"",detailCode:"380006",description:"",solution:"",updateTime:1525918868e3},{moduleCode:"",detailCode:"310",description:"",solution:"",updateTime:1525834436e3},{moduleCode:"",detailCode:"360011",description:"",solution:"",updateTime:1525681552e3},{moduleCode:"",detailCode:"170005",description:"",solution:"",updateTime:15254339e5},{moduleCode:"",detailCode:"50023",description:"",solution:"",updateTime:1525403338e3},{moduleCode:"",detailCode:"100131",description:"",solution:"",updateTime:1525229691e3},{moduleCode:"",detailCode:"-1018",description:"",solution:"",updateTime:1525142341e3},{moduleCode:"",detailCode:"362026",description:"",solution:"",updateTime:1524882677e3},{moduleCode:"",detailCode:"368007",description:"",solution:"",updateTime:1524832269e3},{moduleCode:"",detailCode:"54",description:"",solution:"",updateTime:1524793646e3},{moduleCode:"",detailCode:"1154722",description:"",solution:"",updateTime:1524620807e3},{moduleCode:"",detailCode:"320229",description:"",solution:"",updateTime:1524551682e3},{moduleCode:"",detailCode:"360012",description:"",solution:"",updateTime:1524472094e3},{moduleCode:"",detailCode:"380229",description:"",solution:"",updateTime:1524110755e3},{moduleCode:"",detailCode:"360016",description:"",solution:"",updateTime:1523933518e3},{moduleCode:"",detailCode:"-1003",description:"",solution:"",updateTime:1523584804e3},{moduleCode:"",detailCode:"410026",description:"",solution:"",updateTime:152351743e4},{moduleCode:"",detailCode:"360102",description:"TTS初始化失败",solution:"",updateTime:1523503528e3},{moduleCode:"",detailCode:"360013",description:"设备开启了隐私保护",solution:"",updateTime:1523503507e3},{moduleCode:"",detailCode:"360010",description:"设备正在对讲中",solution:"",updateTime:1523503491e3},{moduleCode:"",detailCode:"360007",description:"TTS关闭了与客户端的连接",solution:"",updateTime:1523503475e3},{moduleCode:"",detailCode:"360006",description:"客户端接收发生错误",solution:"",updateTime:1523503457e3},{moduleCode:"",detailCode:"360005",description:"客户端发送的消息错误",solution:"",updateTime:1523503437e3},{moduleCode:"",detailCode:"360004",description:"TTS内部发生错误",solution:"",updateTime:1523503421e3},{moduleCode:"",detailCode:"360003",description:"TTS的设备端发生错误",solution:"",updateTime:1523503397e3},{moduleCode:"",detailCode:"360002",description:"对讲发起超时",solution:"",updateTime:1523503376e3},{moduleCode:"",detailCode:"360001",description:"客户端请求超时",solution:"",updateTime:1523503357e3},{moduleCode:"",detailCode:"320077",description:"",solution:"",updateTime:1523444274e3},{moduleCode:"",detailCode:"370047",description:"",solution:"",updateTime:152344048e4},{moduleCode:"",detailCode:"100002",description:"",solution:"",updateTime:1523413964e3},{moduleCode:"",detailCode:"-1004",description:"",solution:"",updateTime:1523336653e3},{moduleCode:"",detailCode:"380000",description:"",solution:"",updateTime:1523180856e3},{moduleCode:"",detailCode:"380213",description:"",solution:"",updateTime:1523180623e3},{moduleCode:"",detailCode:"380101",description:"",solution:"",updateTime:1522834231e3},{moduleCode:"",detailCode:"50047",description:"",solution:"",updateTime:1522833243e3},{moduleCode:"",detailCode:"-999",description:"",solution:"",updateTime:1522831034e3},{moduleCode:"",detailCode:"320418",description:"",solution:"",updateTime:1522829072e3},{moduleCode:"",detailCode:"-1009",description:"",solution:"",updateTime:1522746247e3},{moduleCode:"",detailCode:"320209",description:"",solution:"",updateTime:1522744395e3},{moduleCode:"",detailCode:"368006",description:"",solution:"",updateTime:15227443e5},{moduleCode:"",detailCode:"369003",description:"",solution:"",updateTime:1522736355e3},{moduleCode:"",detailCode:"405989",description:"",solution:"",updateTime:1522726571e3},{moduleCode:"",detailCode:"-1012",description:"",solution:"",updateTime:1522726203e3},{moduleCode:"",detailCode:"322016",description:"",solution:"",updateTime:1522722918e3},{moduleCode:"",detailCode:"500103",description:"",solution:"",updateTime:1522655556e3},{moduleCode:"",detailCode:"405999",description:"",solution:"",updateTime:1522654716e3},{moduleCode:"",detailCode:"321032",description:"",solution:"",updateTime:1522647732e3},{moduleCode:"",detailCode:"381101",description:"",solution:"",updateTime:1522392414e3},{moduleCode:"",detailCode:"399999",description:"",solution:"",updateTime:1522379834e3},{moduleCode:"",detailCode:"380103",description:"",solution:"",updateTime:1522312724e3},{moduleCode:"",detailCode:"360014",description:"",solution:"",updateTime:1522304341e3},{moduleCode:"",detailCode:"-1005",description:"",solution:"",updateTime:1522288195e3},{moduleCode:"",detailCode:"100005",description:"",solution:"",updateTime:1522218849e3},{moduleCode:"",detailCode:"100004",description:"",solution:"",updateTime:1522209053e3},{moduleCode:"",detailCode:"106002",description:"",solution:"",updateTime:15222062e5},{moduleCode:"",detailCode:"410030",description:"",solution:"",updateTime:1522162252e3},{moduleCode:"",detailCode:"-1002",description:"",solution:"",updateTime:152215069e4},{moduleCode:"",detailCode:"-1200",description:"",solution:"",updateTime:1522139025e3},{moduleCode:"",detailCode:"-1001",description:"",solution:"",updateTime:1522046436e3},{moduleCode:"",detailCode:"-1011",description:"",solution:"",updateTime:1522045931e3},{moduleCode:"",detailCode:"381102",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"381103",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"391205",description:"vtdu解析服务器ip失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391206",description:"vtdu描述符select失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391207",description:"vtdu文件描述符不在可读中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391208",description:"vtdu网络发生错误getsockopt",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391209",description:"vtdu描述符select超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395000",description:"cas回复信令,发现内存已经释放(和设备之间异常断开)",msg:"播放失败请重试",solution:"检查设备网络;刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395400",description:"私有化协议vtm检测私有化协议中码流类型小于0或者设备序列号为空等非法参数场景返回(app不重试取流)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395402",description:"回放找不到录像文件",msg:"回放找不到录像文件,本地存储请检查存储卡是否接触良好",solution:"检查是否有存储卡并且接触良好",updateTime:1522034841e3},{moduleCode:"",detailCode:"395403",description:"操作码或信令密钥与设备不匹配",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395404",description:"设备不在线",solution:"检查设备网络;重启设备接入萤石云",msg:"设备不在线,请检查设备网络或重启设备接入萤石云",updateTime:1522034841e3},{moduleCode:"",detailCode:"395405",description:"流媒体向设备发送或接受信令超时/cas响应超时",msg:"播放失败,请检查设备网络或重启设备",solution:"检查设备网络;重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395406",description:"token失效",msg:"播放失败请重试或重启设备",solution:"刷新重试或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395407",description:"客户端的URL格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395409",description:"预览开启隐私保护",msg:"播放失败请关闭隐私遮蔽",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395410",description:"设备达到最大连接数",solution:"请升级设备固件版本",updateTime:1522034841e3},{moduleCode:"",detailCode:"395411",description:"token无权限",msg:"播放失败",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395412",description:"session不存在",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395413",description:"验证token的他异常(不具体) ",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395415",description:"设备通道错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395416",description:"设备资源受限",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395451",description:"设备不支持的码流类型",msg:"播放失败请重试或切换设备码流",solution:"刷新重试或者切换到高清模式",updateTime:1522034841e3},{moduleCode:"",detailCode:"395452",description:"设备链接流媒体服务器失败",msg:"播放失败,请检查设备网络或重启设备或重新加载",solution:"检查设备网络,重启设备,刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395454",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395455",description:"设备通道未关联",msg:"播放失败,请检查设备通道是否关联",solution:"检查设备通道是否关联",updateTime:152222018e4},{moduleCode:"",detailCode:"395456",description:"设备通道关联设备不在线",msg:"播放失败,请检查设备通道是否上线",solution:"检查设备通道是否上线",updateTime:152222018e4},{moduleCode:"",detailCode:"395457",description:"客户端不支持端到端加密",msg:"播放失败",solution:"客户端不支持端到端加密",updateTime:152222018e4},{moduleCode:"",detailCode:"395458",description:"设备不支持当前并发ECDH密",msg:"客户端不支持端到端加密",solution:"设备不支持当前并发ECDH密",updateTime:152222018e4},{moduleCode:"",detailCode:"395459",description:"VTDU 处理ECDH 加密失败",msg:"播放失败",solution:"VTDU 处理ECDH 加密失败",updateTime:152222018e4},{moduleCode:"",detailCode:"395460",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395492",description:"设备不支持的命令",msg:"操作失败,设备不支持",solution:"",updateTime:152222018e4},{moduleCode:"",detailCode:"395500",description:"服务器处理失败",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395501",description:"流媒体vtdu达到最大负载,请扩容",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395503",description:"vtm返回分配vtdu失败",msg:"播放失败请重试",solution:"vtdu服务异常,请请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395504",description:"流媒体vtdu达到最大负载",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395505",description:"vtm ecdh解密失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395506",description:"vtm 返回IPC不支持取流(需要IPC添加NVR后支持)",msg:"播放失败,请绑定NVR使用",solution:"IPC绑定NVR使用",updateTime:1522034841e3},{moduleCode:"",detailCode:"395544",description:"设备返回无视频源",msg:"播放失败,请检查设备接触情况",solution:"设备是否接触良好; 如果一直无法解决,请联系技术支持",updateTime:1522034841e3},{moduleCode:"",detailCode:"395545",description:"视频分享时间已经结束",msg:"视频分享时间已结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395546",description:"vtdu返回达到取流并发路数限制",msg:"并发上限,请升级为企业版",solution:"请升级为企业版,放开并发限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395547",description:"vtdu返回开放平台用户并发限制",msg:"并发上限,请升级为企业版",solution:"请确定开放平台用户预览是否超过用户并发数量限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395556",description:"ticket校验失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395557",description:"回放服务器等待流头超时",msg:"播放失败请重试",solution:"刷新重试,检测设备网络,重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395558",description:"查找录像开始时间错误",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395560",description:"群组分享取流二次验证失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395561",description:"分享群组用户被锁住",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395562",description:"群组分享用户权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395563",description:"认证服务连接失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395564",description:"认证超时",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395566",description:"不在分享时间内预览",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395567",description:"分享通道被锁定",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395568",description:"未找到认证类型",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395569",description:"认证返回的参数异常",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395600",description:"分享设备不在分享时间内",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395601",description:"群组分享用户没权限",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395602",description:"群组分享权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395610",description:"接收流头失败",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395620",description:"心跳超时",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395530",description:"机房故障不可用",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395701",description:"cas信令返回格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395702",description:"SPGW请求Cas、Status透传超时",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395703",description:"SPGW请求http不通",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396001",description:"客户端参数出错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396099",description:"客户端默认错误",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396101",description:"不支持的命令",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396102",description:"设备流头发送失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396103",description:"cas/设备返回错误1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396104",description:"cas/设备返回错误-1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396105",description:"设备返回错误码3",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396106",description:"设备返回错误码4",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396107",description:"设备返回错误码5",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396108",description:"cas信令回应重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396109",description:"视频广场取消分享",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396110",description:"设备信令默认错误",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396501",description:"设备数据链路和实际链路不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396502",description:"设备数据链路重复建立连接",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396503",description:"设备数据链路端口不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396504",description:"缓存设备数据链路失败(内存块不足)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396505",description:"设备发送确认头消息重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396506",description:"设备数据先于确定头部到达",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396508",description:"设备数据头部长度非法",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396509",description:"索引找不到设备数据管理块",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396510",description:"设备数据链路vtdu内存块协议状态不匹配",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396511",description:"设备数据头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396512",description:"设备数据头部非法(较笼统)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396513",description:"设备数据长度过小",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396514",description:"设备老协议推流头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396515",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396516",description:"设备老协议索引找不到内存管理块",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396517",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396518",description:"设备数据包过大",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396519",description:"设备推流链路网络不稳定",msg:"播放失败,请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396520",description:"设备推流链路网络不稳定(默认)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396700",description:"异常数据包",msg:"播放失败,设备重启",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396701",description:"回放结束数据包",msg:"回放结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397001",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397002",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397003",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397004",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397005",description:"VTDU连接失败,或VTDU侧断开连接",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397006",description:"vtm断开连接(无需 关注)",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397007",description:"客户端发送缓冲区满(上行带宽太小)",msg:"播放失败,上行带宽过小请检查设备网络情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399000",description:"无效包,包过大",msg:" 检查设备重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399001",description:"地址不合法",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399002",description:"缺少端口",msg:" 播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"170003",description:"refreshToken不存在",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"170004",description:"refreshToken已过期",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"380011",description:"设备隐私保护中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380045",description:"设备直连取流连接数量过大",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380047",description:"设备不支持该命令",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380077",description:"设备正在对讲中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380102",description:"数据接收异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380205",description:"设备检测入参异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380209",description:"网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380212",description:"设备端网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"101007",description:"手机号未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120503",description:"正在响铃",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390016",description:"vtdu成功响应未携带流头",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101008",description:"手机号码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120504",description:"室内机正在通话",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390017",description:"无数据流,尚未使用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101009",description:"用户名与手机不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120505",description:"设备操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390018",description:"信令消息体PB解析失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101010",description:"获取验证码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120506",description:"非法命令",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390019",description:"信令消息体PB封装失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101011",description:"验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120507",description:"智能锁密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390020",description:"申请系统内存资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101012",description:"验证码失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120508",description:"开关锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390021",description:"vtdu地址尚未获取到",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101013",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120509",description:"开关锁超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390022",description:"客户端尚未支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101014",description:"密码不正确或者appKey不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120510",description:"智能锁设备繁忙",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390023",description:"获取系统socket资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101015",description:"用户被锁住",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120511",description:"远程开锁功能未打开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390024",description:"上层填充的StreamSsnId不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101021",description:"验证参数异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120600",description:"临时密码数已达上限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390025",description:"链接服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101026",description:"邮箱已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120601",description:"添加临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390026",description:"客户端请求未收到服务端应答",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101031",description:"邮箱未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120602",description:"删除临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390027",description:"链路断开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101032",description:"邮箱不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120603",description:"该临时密码不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390028",description:"没有取流链接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101041",description:"获取验证码过于频繁",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120604",description:"指纹锁射频通信失败,请稍后再试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390029",description:"流成功停止",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101043",description:"手机验证码输入错误超过规定次数",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120605",description:"其他用户正在认证中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390030",description:"客户端防串流校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102000",description:"设备不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120606",description:"验证已启动,请在120s内进行本地验证和调用添加设备接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390031",description:"应用层tcp粘包处理缓冲区满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102001",description:"摄像机不存在",solution:"摄像机未注册到萤石云平台,请仔细检查摄像机的网络配置,确保连接到网络",updateTime:152203484e4},{moduleCode:"",detailCode:"120607",description:"删除用户失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390032",description:"无效状态迁移",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102003",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"120608",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390033",description:"无效客户端状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102004",description:"设备异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390034",description:"向vtm取流流媒体信息请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102007",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120610",description:"获取临时密码列表失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390035",description:"向代理取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102009",description:"设备请求响应超时异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130001",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390036",description:"向代理保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105000",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130002",description:"手机号码已经注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390037",description:"向vtdu取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105001",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130003",description:"手机验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390038",description:"向vtdu保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105002",description:"设备验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130004",description:"终端绑定操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391001",description:"vtm地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107001",description:"邀请不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"149999",description:"数据异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391002",description:"vtm生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107002",description:"邀请验证失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"150000",description:"服务器异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391003",description:"vtm设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107003",description:"邀请用户不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160000",description:"设备不支持云台控制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391004",description:"vtm设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107004",description:"云存储连接失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160001",description:"用户无云台控制权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391005",description:"vtm解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"7005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160002",description:"设备云台旋转达到上限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391006",description:"vtm描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107006",description:"不能邀请自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160003",description:"设备云台旋转达到下限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391007",description:"vtm文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107007",description:"重复邀请",solution:"分享和删除分享必须全部由接口形式操作,如果与萤石客户端混用会造成这个问题,解决办法:在萤石客户端清空所有相关分享数据并重新添加设备,再通过接口操作即可",updateTime:152203484e4},{moduleCode:"",detailCode:"160004",description:"设备云台旋转达到左限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391008",description:"vtm网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110001",description:"参数错误",solution:"参数为空或者格式不对",updateTime:152203484e4},{moduleCode:"",detailCode:"160005",description:"设备云台旋转达到右限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391009",description:"vtm描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110002",description:"accessToken异常或过期",solution:"accessToken有效期为七天,建议在accessToken即将过期或者出现10002错误码的时候重新获取accessToken",updateTime:152203484e4},{moduleCode:"",detailCode:"160006",description:"云台当前操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391101",description:"proxy地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110004",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160007",description:"预置点个数超过最大值",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391102",description:"proxy生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110005",description:"appKey异常",solution:"确认appKey状态,不通过或者冻结状态会返回该错误码",updateTime:152203484e4},{moduleCode:"",detailCode:"160009",description:"正在调用预置点",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391103",description:"proxy设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110006",description:"ip受限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160010",description:"该预置点已经是当前位置",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391104",description:"proxy设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160011",description:"预置点不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391105",description:"proxy解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110008",description:"签名错误",solution:"①获取签名方式详见apidemo及[旧]API文档 ②注意编码格式为UTF-8",updateTime:152203484e4},{moduleCode:"",detailCode:"160013",description:"设备版本已是最新",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391106",description:"proxy描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110009",description:"签名参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160014",description:"设备正在升级",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391107",description:"proxy文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110010",description:"签名超时",solution:"请调用同步服务器时间接口进行校时",updateTime:152203484e4},{moduleCode:"",detailCode:"160015",description:"设备正在重启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391108",description:"proxy网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110011",description:"未开通萤石云服务",solution:"参照绑定流程",updateTime:152203484e4},{moduleCode:"",detailCode:"160016",description:"加密未开启,无须关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391109",description:"proxy描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110012",description:"第三方账户与萤石账号已经绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160017",description:"设备抓图失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391201",description:"vtdu地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110013",description:"应用没有权限调用此接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160018",description:"设备升级失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391202",description:"vtdu生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110014",description:"APPKEY下对应的第三方userId和phone未绑定",solution:"获取AccessToken时所用appKey与SDK所用appKey不一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160019",description:"加密已开启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391203",description:"vtdu设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110017",description:"appKey不存在",solution:"请填写在官网申请的应用秘钥",updateTime:152203484e4},{moduleCode:"",detailCode:"160020",description:"不支持该命令",solution:"请确认设备是否支持该命令",updateTime:152203484e4},{moduleCode:"",detailCode:"391204",description:"vtdu设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110018",description:"AccessToken与Appkey不匹配",solution:"请检查获取accessToken对应的appKey和SDK中设置的appKey是否一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160023",description:"订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110019",description:"密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160024",description:"取消订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110020",description:"请求方法为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160025",description:"客流统计配置失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110021",description:"ticket校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110022",description:"透传目的地非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160027",description:"设备正在镜像操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110024",description:"无透传权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160028",description:"设备正在键控动作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110025",description:"appKey被禁止使用通明通道",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160029",description:"设备处于语音对讲状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160030",description:"卡密输入错误次数过多,24小时后再输入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160031",description:"卡密信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160032",description:"卡密状态不对或已过期",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160033",description:"卡密非卖品,只能开通对应的绑定设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110030",description:"appKey和appSecret不匹配",solution:"请检查appKey和appSecret是否对应",updateTime:152203484e4},{moduleCode:"",detailCode:"160035",description:"购买云存储服务失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110031",description:"子账户或萤石用户没有权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160040",description:"添加的设备不在同一局域网",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110032",description:"子账户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110033",description:"子账户未设置授权策略",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160042",description:"添加的设备密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110034",description:"子账户已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160043",description:"添加的设备超出最大数量",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110035",description:"获取子账户AccessToken异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160044",description:"添加的设备网络不可达超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110036",description:"子账户被禁用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110051",description:"无权限进行抓图",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160047",description:"码流类型不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120002",description:"设备不存在",solution:"①设备没有注册到萤石云平台,请检查下设备网络参数,确保能正常连接网络②设备序列号不存在",updateTime:152203484e4},{moduleCode:"",detailCode:"160048",description:"带宽超出系统接入带宽",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120003",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160049",description:"IP或者端口不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120004",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160050",description:"添加的设备版本不支持需要升级才能接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120005",description:"安全认证失败,需进行SDK安全认证",solution:"已去掉安全验证",updateTime:152203484e4},{moduleCode:"",detailCode:"160051",description:"添加的设备不支持接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120006",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160052",description:"添加的设备通道号出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120007",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"160053",description:"添加的设备分辨率不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120008",description:"设备响应超时",solution:"设备响应超时,请检测设备网络或重试",updateTime:152203484e4},{moduleCode:"",detailCode:"160054",description:"添加的设备账号被锁定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120009",description:"子账号不能添加设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160055",description:"添加的设备取码流出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120010",description:"设备验证码错误",solution:"验证码在设备标签上,六位大写字母,注意大小写",updateTime:152203484e4},{moduleCode:"",detailCode:"160056",description:"删除设备失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120012",description:"设备添加失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160057",description:"删除的设备未关联",solution:"检查IPC与NVR是否有关联关系",updateTime:152203484e4},{moduleCode:"",detailCode:"120013",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160060",description:"地址未绑定",solution:"请前往官网设置直播",updateTime:152203484e4},{moduleCode:"",detailCode:"120014",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120015",description:"设备不支持该功能",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160062",description:"该通道直播已开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120016",description:"当前设备正在格式化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160063",description:"直播未使用或直播已关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120017",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160070",description:"设备不能转移给自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120018",description:"该用户不拥有该设备",solution:"确认设备是否属于用户",updateTime:152203484e4},{moduleCode:"",detailCode:"160071",description:"设备不能转移,设备与其他设备存在关联关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400001",description:"参数为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120019",description:"设备不支持云存储服务",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160072",description:"设备不能转移,通道被分享给其他用户或者分享到视频广场",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400002",description:"参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120020",description:"设备在线,被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160073",description:"云存储转移失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400025",description:"设备不支持对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120021",description:"设备在线,但是未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160080",description:"当前正在声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400029",description:"没有初始化或资源被释放",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120022",description:"设备在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160081",description:"当前正在轨迹巡航",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400030",description:"json解析异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120023",description:"设备不在线,未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160082",description:"设备正在响应本次声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400031",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120024",description:"设备不在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160083",description:"当前正在开启隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400032",description:"设备信息异常为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120025",description:"重复申请分享",solution:"确认设备是否由添加过该设备且申请过分享的账户下是否还存在分享记录",updateTime:152203484e4},{moduleCode:"",detailCode:"160084",description:"当前正在关闭隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400034",description:"取流超时",solution:"一般是由于网络状况不好导致,可以尝试下让用户重新播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120026",description:"视频广场不存在该视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"380290",description:" 连接CAS服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400035",description:"设备已加密,需要输入验证码",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120027",description:"视频转码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361001",description:"对讲服务端排队超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400036",description:"播放验证码错误",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120028",description:"设备固件升级包不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361002",description:"对讲服务端处理超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400037",description:"surfacehold错误",solution:"请检查是否是播放之前销毁了surface,收到此错误也可以重新建立surface后播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120029",description:"设备不在线,但是已经被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361003",description:"设备链接对讲服务器超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400100",description:"未知错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120030",description:"该用户不拥有该视频广场视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361004",description:"服务器内部错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400200",description:"player sdk出错,这种错误一般开发者也是无法解决,不具体分类传出,传一个统一的inner错误码出去",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120031",description:"开启终端绑定,硬件特征码验证失败",solution:"请在萤石客户端关闭终端绑定,参考此步骤",updateTime:152203484e4},{moduleCode:"",detailCode:"361005",description:"解析消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400300",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120032",description:"该用户下通道不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361006",description:"请求重定向--需要向其他服务申请对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400901",description:"设备不在线,可以提示用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120033",description:"无法收藏自己分享的视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361007",description:"请求url非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400902",description:"accesstoken异常或失效,需要重新获取accesstoken,并传入到sdk",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120034",description:"该用户下无设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361008",description:"token失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400903",description:"当前账号开启了终端绑定,只允许指定设备登录操作,提示用户登录i.ys7.com解除终端绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120090",description:"用户反馈失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361009",description:"设备验证码或者通信秘钥不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400904",description:"设备正在对讲中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120095",description:"APP包下载失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361010",description:"设备已经在对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400905",description:"设备开启了隐私保护,不允许预览、对讲等",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120096",description:"APP包信息删除失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361011",description:"设备10s响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120101",description:"视频不支持分享给本人",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361012",description:"设备不在线",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320002",description:"参数无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120102",description:"无相应邀请信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361013",description:"设备开启隐私保护拒绝对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320003",description:"暂不支持此操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120103",description:"好友已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361014",description:"token无权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320004",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120104",description:"好友不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361015",description:"设备返回session不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320005",description:"创建CAS session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120105",description:"好友状态错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361016",description:"验证token其他异常错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320006",description:"创建cloud session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120106",description:"对应群组不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361017",description:"服务端监听设备建立端口超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320007",description:"token失效",solution:"重新设置token后再重试",updateTime:152203484e4},{moduleCode:"",detailCode:"120107",description:"不能添加自己为好友",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361018",description:"设备链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320008",description:"token池里面没有token,请传入token",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361019",description:"对讲服务端不支持的信令消息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320009",description:"传入新的INIT_PARAM并reset(保留,目前未用)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120109",description:"对应分享不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361020",description:"对讲服务端解析对讲请求未携带会话描述能力集",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320010",description:"请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120110",description:"好友群组不属于当前用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361021",description:"对讲服务端优先能力集结果为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320011",description:"500毫秒后请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120111",description:"好友不是等待验证状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361022",description:"cas链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320012",description:"token池已满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120112",description:"添加应用下的用户为好友失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361023",description:"对讲服务端分配对讲会话资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320013",description:"P2P client超过限制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120201",description:"操作报警信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361024",description:"对讲服务端解析信令消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320014",description:"sdk未初始化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120202",description:"操作留言信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390001",description:"通用错误返回",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320015",description:"超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120301",description:"根据UUID查询报警消息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390002",description:"入参为空指针",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320016",description:"正在打洞中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120302",description:"根据UUID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390003",description:"入参值无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320017",description:"没有视频文件头(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120303",description:"根据FID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390004",description:"信令消息解析非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320018",description:"解码错误/超时(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120305",description:"设备ip解析错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390005",description:"内存资源不足",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320019",description:"取消(保留,用户不用处理)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120401",description:"用户云空间信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390006",description:"协议格式不对或者消息体长度超过STREAM_MAX_MSGBODY_LEN",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320020",description:"播放过程中预连接被用户清除预操作信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120402",description:"云空间操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390007",description:"设备序列号长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320021",description:"流加密码不对",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120403",description:"用户目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390008",description:"取流url长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320022",description:"未传入播放窗口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120404",description:"要操作的目标目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390009",description:"解析vtm返回vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"100200",description:"操作成功",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120405",description:"要删除的文件信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390010",description:"解析vtm返回级联vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101001",description:"用户名不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120406",description:"已开通云存储",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390011",description:"解析vtm返回会话标识长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101002",description:"用户名已被占用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120407",description:"开通记录失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390012",description:"vtdu返回流头长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101003",description:"密码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120500",description:"获取数据错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390013",description:"vtdu会话长度非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101004",description:"密码为同一字符",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120501",description:"开锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390014",description:"回调函数未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101006",description:"手机号码已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120502",description:"室内机未收到呼叫",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390015",description:"vtdu成功响应未携带会话标识",solution:"",updateTime:152203484e4}],W="200",q="操作成功!",ce={data:G,code:W,msg:q},J=function(){function Q(U,w){i(this,Q),this.coreX=U,this.coreY=w,console.log("ErrorCode",ce)}return a(Q,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchErrorInfo",value:function(w){return ce.data.find(function(T){return T.detailCode.substr(-4)==w})}}]),Q}(),H={color:"red",backgroundColor:"red",activeColor:"red",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-0",iconId:"deviceID",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"},{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-1",iconId:"deviceName",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},re={color:"blue",backgroundColor:"blue",activeColor:"blue",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-footer-0",iconId:"play",part:"left",defaultActive:0,isrender:0,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},ee={header:H,footer:re},se=function Q(U){this.jsPlugin=U;var w={isMouseDown:!1,isOver:!1,mousePosition:null,oldTime:null,nowTime:null,moved:null,hoverTime:"2018-12-07 12:00:00",hoverLeft:0,timeTipShow:!1,randomNum:123,timeWidthTbls:[60,1800,3600,86400],timeUnits:["范围: 1分钟; 单位: 秒","范围: 30分钟; 单位: 分钟","范围: 1小时; 单位: 分钟","范围: 1天; 单位: 小时","范围: 3天; 单位: 小时"],drawPen:null,timeSection:[],canvasWidth:null,canvasHeight:null,timeTips:null},T=this;Object.keys(w).forEach(function(P){T[P]=w[P]}),this.options={width:this.canvasWidth,height:48,time:new Date().getTime(),timeSection:[],timeWidth:0},Q.prototype.subTime=function(P){return P<10?"0"+P:P},Q.prototype.tranTime=function(P){var N=P;if(P){var O=new Date(P);N=O.getFullYear()+"/"+(O.getMonth()+1)+"/"+O.getDate()+" "+this.subTime(O.getHours())+":"+this.subTime(O.getMinutes())+":"+this.subTime(O.getSeconds())}return N},Q.prototype.init=function(P){P.width&&document.getElementById(P.id).setAttribute("width",parseInt(P.width,10)+"px");var N=this,O=this.options;N.randomNum=(Math.random()+"").split(".").join(""),N.timeWidthTblIndex=O.timeWidth;var B=document.querySelector("#".concat(this.jsPlugin.id,"-canvas"));N.drawPen=B.getContext("2d"),N.nowTime=O.time||Date.now(),N.timeSection=O.timeSection||[],N.canvasWidth=B.offsetWidth,N.canvasHeight=B.offsetHeight,N.updata(),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousemove",function(de){N.options.readOnly||N.mousemove(de)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseover",function(de){N.options.readOnly||N.mouseover(de)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseleave",function(de){N.options.readOnly||N.mouseleave(de)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousedown",function(de){N.options.readOnly||N.mousedown(de)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseup",function(de){if(!N.options.readOnly){var me=P.onChange;N.mouseUpFn(de,me)}})},Q.prototype.setWidth=function(P){var N=this,O=this;P.width&&(document.getElementById(this.jsPlugin.id).style.width=P.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=P.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=P.width,O.canvasWidth=P.width,setTimeout(function(){N.updata({time:new Date})},500))},Q.prototype.mousemove=function(P){if(this.isMouseDown&&this.isOver){var N=this.mousePosition-P.pageX;if(N===0)return;var O=0;switch(this.timeWidth){case 60:O=1/10;break;case 1800:O=1/20*60;break;case 3600:O=1/20*60;break;case 86400:O=1/30*60*60;break}var B=new Date(this.oldTime).getTime()+N*O*1e3;this.updata({time:B}),this.moved=!0}else{var de=parseInt(document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).offsetLeft,10);this.mousePosition=P.pageX-de,this.updata()}},Q.prototype.mousedown=function(P){this.isMouseDown=!0,this.mousePosition=P.pageX,this.oldTime=this.nowTime},Q.prototype.mouseover=function(P){this.isOver=!0},Q.prototype.mouseleave=function(P){this.isOver=!1,this.isMouseDown=!1,this.updata()},Q.prototype.changeSize=function(P){console.log("changeSize",P),this.options.timeWidth=P,this.updata({timeWidth:P})},Q.prototype.mouseUpFn=function(P,N){if(this.isMouseDown&&(this.isMouseDown=!1,this.moved)){this.moved=!1;var O=this.subTime(new Date(this.nowTime).getHours())+":"+this.subTime(new Date(this.nowTime).getMinutes())+":"+this.subTime(new Date(this.nowTime).getSeconds()),B=new Date(this.oldTime).getFullYear()+"/"+(new Date(this.oldTime).getMonth()+1)+"/"+new Date(this.oldTime).getDate();this.nowTime=new Date("".concat(B," ").concat(O)),this.updata({time:this.nowTime}),this.oldTime=this.nowTime,console.log("nowTime",new Date(this.nowTime),"".concat(B," ").concat(O)),N(this.nowTime)}},Q.prototype.readOnly=function(P){console.log("更改为只读"),this.options.readOnly=!0,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="not-allowed"},Q.prototype.unReadOnly=function(P){console.log("更改为只读"),this.options.readOnly=!1,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="pointer"},Q.prototype.run=function(P){this.isMouseDown||this.updata(P)},Q.prototype.getTime=function(P){console.log("this",this),console.log("当前时间",new Date(this.nowTime))},Q.prototype.updata=function(P){var N=this;P=P||{},N.nowTime=P.time||N.nowTime,N.timeSection=P.timeSection||N.timeSection,N.timeWidthTblIndex=P.timeWidth||N.timeWidthTblIndex,N.timeWidth=N.timeWidthTbls[P.timeWidth||N.timeWidthTblIndex],N.timeUnit=N.timeUnits[P.timeWidth||N.timeWidthTblIndex],P.timeWidth===0&&(N.timeWidthTblIndex=0,N.timeWidth=N.timeWidthTbls[0],N.timeUnit=N.timeUnits[0]),N.drawPen.fillStyle="#000000",N.drawPen.fillRect(0,0,N.canvasWidth,N.canvasHeight),N.drawScale(),N.drawRecord(),N.drawOtherMsg(),document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=N.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=N.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.height=N.options.height+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.height=N.options.height+"px"},Q.prototype.drawSolidLine=function(P,N,O,B,de,me){this.drawPen.save(),this.drawPen.strokeStyle=me,this.drawPen.lineWidth=de,this.drawPen.beginPath(),this.drawPen.moveTo(P,N),this.drawPen.lineTo(O,B),this.drawPen.stroke(),this.drawPen.restore()},Q.prototype.drawString=function(P,N,O,B,de){this.drawPen.font="12px serif",this.drawPen.fillStyle="#ffffff",this.drawPen.textAlign=B||"left",this.drawPen.fillText(P,N,O+10)},Q.prototype.drawScale=function(){var P=this,N="rgba(255,255,255)",O=new Date(P.nowTime),B=O.getFullYear(),de=O.getSeconds(),me=O.getMinutes(),fe=O.getHours(),le=O.getDate(),ae=0;switch(P.timeWidth){case 60:{var We=parseInt(P.canvasWidth/10);O.setSeconds(O.getSeconds()-parseInt(We/2,10)),le=O.getDate(),fe=O.getHours(),me=O.getMinutes(),de=O.getSeconds();for(var Pe=0;Pe<We;Pe++){if(ae=de+Pe,O.setSeconds(ae),ae%10===0){P.drawSolidLine(Pe*P.canvasWidth/We,8,Pe*P.canvasWidth/We,P.canvasHeight/5+8,1,N);var _e=this.subTime(O.getHours())+":"+this.subTime(O.getMinutes())+":"+this.subTime(O.getSeconds());P.drawString(_e,Pe*P.canvasWidth/We,P.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else P.drawSolidLine(Pe*P.canvasWidth/We,8,Pe*P.canvasWidth/We,P.canvasHeight/5*.5+8,1,N);O.setDate(le),O.setHours(fe),O.setMinutes(me)}break}case 1800:{var We=parseInt(P.canvasWidth/20);O.setMinutes(O.getMinutes()-parseInt(We/2,10)),fe=O.getHours(),me=O.getMinutes();for(var Pe=0;Pe<=We;Pe++){if(ae=me+Pe,O.setMinutes(ae),ae%5===0){P.drawSolidLine(Pe*P.canvasWidth/We,8,Pe*P.canvasWidth/We,P.canvasHeight/5*1.5+8,1,N);var _e=this.subTime(O.getHours())+":"+this.subTime(O.getMinutes());P.drawString(_e,Pe*P.canvasWidth/We,P.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else P.drawSolidLine(Pe*P.canvasWidth/We,8,Pe*P.canvasWidth/We,P.canvasHeight/5*.5+8,1,N);O.setHours(fe)}break}case 3600:{var We=parseInt(P.canvasWidth/20);O.setMinutes(O.getMinutes()-parseInt(We/2,10)),fe=O.getHours(),me=O.getMinutes();for(var Pe=0;Pe<=We;Pe++){if(ae=me+Pe,O.setMinutes(ae),ae%10===0){P.drawSolidLine(Pe*P.canvasWidth/We,8,Pe*P.canvasWidth/We,P.canvasHeight/5*1.5+8,1,N);var _e=this.subTime(O.getHours())+":"+this.subTime(O.getMinutes());P.drawString(_e,Pe*P.canvasWidth/We,P.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else P.drawSolidLine(Pe*P.canvasWidth/We,8,Pe*P.canvasWidth/We,P.canvasHeight/5*.5+8,1,N);O.setHours(fe)}break}case 86400:{var We=parseInt(P.canvasWidth/30);O.setHours(O.getHours()-parseInt(We/2,10)),de=O.getSeconds(),me=O.getMinutes(),fe=O.getHours(),le=O.getDate(),B=O.getFullYear();for(var Pe=0;Pe<=We;Pe++){ae=fe+Pe,O.setHours(ae);var _e;_e=this.subTime(O.getHours())+":00",P.drawSolidLine(Pe*P.canvasWidth/We,8,Pe*P.canvasWidth/We,P.canvasHeight/5*.5+8,1,N),ae%2===0&&P.drawString(_e,Pe*P.canvasWidth/We,P.canvasHeight/5*2,"center","rgba(255,255,255,0.3)"),O.setFullYear(B),O.setDate(le),O.setHours(fe)}break}}},Q.prototype.getRecord=function(P,N,O){this.timeSection=P,this.drawRecord()},Q.prototype.drawRecord=function(){for(var P=this.timeSection||[],N=this,O=N.drawPen,B=0;B<P.length;B++){var de=fe(P[B].startTime),me=fe(P[B].endTime);O.fillStyle="#1890ff80",O.fillRect(de,0,me-de,48)}function fe(le){var ae=10;switch(N.timeWidth){case 60:ae=10;break;case 1800:ae=20/60;break;case 3600:ae=20/60;break;case 86400:ae=20/60/60;break}var We=N.canvasWidth/2,Pe=We+(le-N.nowTime)/1e3*ae;return Pe>N.canvasWidth&&(Pe=N.canvasWidth),Pe<=0&&(Pe=0),Pe}},Q.prototype.drawOtherMsg=function(){this.drawSolidLine(this.canvasWidth/2,0,this.canvasWidth/2,this.canvasHeight,2,"#1890FF"),this.drawPen.shadowBlur=0,this.isOver&&!this.isMouseDown?(this.mouseTime=this.mousePosition/this.canvasWidth*this.timeWidth*1e3+this.nowTime-this.timeWidth/2*1e3,this.mouseString=this.tranTime(this.mouseTime),this.hoverTime=this.mouseString,this.hoverLeft=this.mousePosition-60,this.timeTipShow=!0):this.timeTipShow=!1}},Be=function(){function Q(U){if(i(this,Q),this.jSPlugin=U,!document.getElementById("".concat(this.jSPlugin.id,"-audioControls")))return!1;this.currentTimeWidth=0,this.date=new Date,this.datepickerVisible=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency),this.recInit()}return a(Q,[{key:"recInit",value:function(){var w=this;this.currentTimeWidth=0;var T=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100,P=document.createElement("div");P.style="display:inline-block;height:48px;",P.id=this.jSPlugin.id+"-canvas-container";var N=document.createElement("canvas");N.id=this.jSPlugin.id+"-canvas",N.className="time-line-body",N.height="48",N.width=T,N.style="display:inline-block;",N.innerHTML="该浏览器不支持canvas",P.appendChild(N),h(P,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")));var O=document.createElement("div");O.className="timeline-controls",O.style="display:flex;width:100px;height:48px;text-align:center;line-height: 48px;vertical-align: top;background: #000000;";var B=` |
|
|
<div class="timeline-controls-scale" style="display: inline-flex;flex-direction: column;justify-content: center;vertical-align: top;padding: 0 20px;"> |
|
|
<span style="vertical-Align: middle;line-height: 14px;height: 18px; width: 18px;cursor:pointer;" id="`.concat(this.jSPlugin.id,`-timeline-scale-add"> |
|
|
<svg fill="#2C2C2C" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" |
|
|
viewBox="0 0 20 20"> |
|
|
<title>add</title> |
|
|
<g> |
|
|
<polygon points="0.1,0.5 15,0.5 15,15.4 0.1,15.4 " /> |
|
|
</g> |
|
|
<g> |
|
|
<path |
|
|
fill="#FFFFFF"; |
|
|
d="M7.6,12.4c-0.3,0-0.5-0.2-0.5-0.5v-8c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v8C8.1,12.2,7.9,12.4,7.6,12.4z" /> |
|
|
</g> |
|
|
<g> |
|
|
<path |
|
|
fill="#FFFFFF"; |
|
|
d="M11.6,8.4h-8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h8c0.3,0,0.5,0.2,0.5,0.5S11.8,8.4,11.6,8.4z" /> |
|
|
</g> |
|
|
</svg> |
|
|
</span> |
|
|
<span style="vertical-Align: middle;line-height: 14px;height: 18px; width: 18px;cursor:pointer;" id="`).concat(this.jSPlugin.id,`-timeline-scale-sub"> |
|
|
<svg fill="#2C2C2C" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" |
|
|
viewBox="0 0 20 20"> |
|
|
<title>reduce</title> |
|
|
<g> |
|
|
<polygon class="st0" points="1,0.8 15.2,0.8 15.2,15 1,15 " /> |
|
|
</g> |
|
|
<g> |
|
|
<path class="st1" |
|
|
fill="#FFFFFF"; |
|
|
d="M12.1,8.4h-8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h8c0.3,0,0.5,0.2,0.5,0.5S12.4,8.4,12.1,8.4z" /> |
|
|
</g> |
|
|
</svg> |
|
|
</span> |
|
|
</div> |
|
|
<label for="`).concat(this.jSPlugin.id,`-datepicker"> |
|
|
<div class="timeline-controls-date"> |
|
|
<span> |
|
|
<svg fill="#2C2C2C" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" |
|
|
viewBox="0 0 20 20"> |
|
|
<title>ifttt</title> |
|
|
<g id="Rectangle"> |
|
|
<rect x="0.6" y="0.9" class="st0" width="20" height="20" /> |
|
|
</g> |
|
|
<g id="Stroke-1"> |
|
|
<path fill="#FFFFFF"; class="st1" |
|
|
d="M14,7.2c-0.3,0-0.5-0.2-0.5-0.5V3.4c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v3.3C14.5,7,14.2,7.2,14,7.2z" /> |
|
|
</g> |
|
|
<g id="Stroke-3"> |
|
|
<path fill="#FFFFFF"; class="st1" |
|
|
d="M7.3,7.2C7,7.2,6.8,7,6.8,6.7V3.4c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v3.3C7.8,7,7.6,7.2,7.3,7.2z" /> |
|
|
</g> |
|
|
<g id="Stroke-5"> |
|
|
<path fill="#FFFFFF"; class="st1" |
|
|
d="M18.1,9.7h-15c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h15c0.3,0,0.5,0.2,0.5,0.5S18.4,9.7,18.1,9.7z" /> |
|
|
</g> |
|
|
<g id="Stroke-7"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M16.5,19.7H4.8c-1.2,0-2.2-1-2.2-2.2V6.7c0-1.2,1-2.2,2.2-2.2h11.7c1.2,0,2.2,1,2.2,2.2v10.8 |
|
|
C18.6,18.8,17.7,19.7,16.5,19.7z M4.8,5.6c-0.6,0-1.2,0.5-1.2,1.2v10.8c0,0.6,0.5,1.2,1.2,1.2h11.7c0.6,0,1.2-0.5,1.2-1.2V6.7 |
|
|
c0-0.6-0.5-1.2-1.2-1.2H4.8z" /> |
|
|
</g> |
|
|
<g id="Stroke-9"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M10.6,13.3c-0.4,0-0.7-0.3-0.7-0.7c0-0.2,0.1-0.4,0.2-0.5s0.3-0.2,0.5-0.2h0h0c0.4,0,0.7,0.3,0.7,0.7 |
|
|
S11,13.3,10.6,13.3z" /> |
|
|
</g> |
|
|
<g id="Stroke-11"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M14.8,13.3c-0.4,0-0.7-0.3-0.7-0.7c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2c0.4,0,0.7,0.3,0.7,0.7 |
|
|
S15.2,13.3,14.8,13.3z M14.8,12.3c-0.2,0-0.3,0.1-0.3,0.3c0,0.2,0.3,0.4,0.5,0.2c0.1-0.1,0.1-0.1,0.1-0.2 |
|
|
C15.1,12.4,15,12.3,14.8,12.3z" /> |
|
|
</g> |
|
|
<g id="Stroke-13"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M6.5,16.6c-0.4,0-0.7-0.3-0.7-0.7c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h0h0c0.4,0,0.7,0.3,0.7,0.7 |
|
|
C7.2,16.3,6.9,16.6,6.5,16.6z" /> |
|
|
</g> |
|
|
<g id="Stroke-15"> |
|
|
<path fill="#FFFFFF"; class="st1" d="M10.6,16.6c-0.4,0-0.7-0.3-0.7-0.7c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h0h0c0.4,0,0.7,0.3,0.7,0.7 |
|
|
C11.4,16.3,11,16.6,10.6,16.6z" /> |
|
|
</g> |
|
|
</svg> |
|
|
</span> |
|
|
</div> |
|
|
</label> |
|
|
<input autocomplete="off" data-toggle="`).concat(this.jSPlugin.id,'-datepicker" id="').concat(this.jSPlugin.id,'-datepicker" name="').concat(this.jSPlugin.id,`-datepicker" style="opacity:0;width:24px;margin-left:-24px;cursor:pointer;" /> |
|
|
`);O.innerHTML=B,h(O,P),this.timeLine=new se(this.jSPlugin),this.timeLine.init({id:this.jSPlugin.id+"-canvas",width:T,onChange:function(ae){console.log("time",ae,new Date(ae).Format("yyyyMMddhhmmss"));var We=new Date(ae).Format("yyyyMMddhhmmss");if(console.log("----------------this.jSPlugin.url",w.jSPlugin.url),S(w.jSPlugin.url).type==="cloud.rec"||w.jSPlugin.capacity&&w.jSPlugin.capacity.support_seek_playback=="1"){var Pe=function(){w.jSPlugin.seek(We.substr(8,6),"235959"),w.unSyncTimeLine(),setTimeout(function(){w.syncTimeLine()},6e3)};w.seekTimer?clearTimeout(w.seekTimer):Pe(),w.seekTimer=setTimeout(function(){Pe(),clearTimeout(w.seekTimer),w.seekTimer=null},w.seekFrequency)}else{var _e=function(){setTimeout(function(){w.disabled=!1},w.seekFrequency)},Se=function(pe){w.disabled=!0,w.jSPlugin.pause().then(function(){console.log("暂停成功"),w.jSPlugin.resume(We).then(function(F){console.log("恢复成功:",F),w.jSPlugin.Theme&&w.jSPlugin.Theme.setDecoderState({play:!0}),w.jSPlugin.Theme&&w.jSPlugin.Theme.decoderState.state.sound&&w.jSPlugin.openSound(),pe&&pe()}).catch(function(F){console.log("恢复失败",F)})}).catch(function(){console.log("暂停失败"),w.jSPlugin.resume(We).then(function(F){console.log("恢复成功"),w.jSPlugin.Theme&&w.jSPlugin.Theme.setDecoderState({play:!0}),pe&&pe()}).catch(function(F){console.log("恢复失败",F)})})};w.disabled?(console.log("操作频繁,等待2秒后执行"),w.seekTimer&&clearTimeout(w.seekTimer),w.seekTimer=setTimeout(function(){Se(_e)},w.seekFrequency)):Se(_e)}}}),this.syncTimeLine(),u("".concat(this.jSPlugin.staticPath,"/rec/datepicker.min.css")),l("".concat(this.jSPlugin.staticPath,"/rec/jquery.min.js"),function(){l("".concat(w.jSPlugin.staticPath,"/rec/datepicker.js"),function(){l("".concat(w.jSPlugin.staticPath,"/rec/datepicker.zh-CN.js"),function(){!document.getElementsByClassName("datepicker-container")[0]&&$("#".concat(w.jSPlugin.id,"-datepicker")).datepicker&&$("#".concat(w.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",date:new Date(d("begin",w.jSPlugin.params.url).replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"))||new Date,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(w.jSPlugin.id,"-wrap"))}),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),w.datepickerVisible=!1,$("#".concat(w.jSPlugin.id,"-datepicker")).on("pick.datepicker",function(le){console.log("重新选择日期",le.date,new Date(le.date).Format("yyyyMMdd"),new Date(document.getElementById("".concat(w.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")),le.date>new Date||new Date(le.date).Format("yyyyMMdd")===new Date(document.getElementById("".concat(w.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")?le.preventDefault():(document.getElementById("".concat(w.jSPlugin.id,"-datepicker")).value=new Date(le.date).Format("yyyy-MM-dd"),w.renderRec(le.date),w.jSPlugin.decoderState&&w.jSPlugin.decoderState.state?w.jSPlugin.decoderState.state.cloudRec?w.jSPlugin.changePlayUrl({begin:new Date(le.date).Format("yyyyMMdd"),type:"cloud.rec"}):w.jSPlugin.decoderState.state.rec?w.jSPlugin.changePlayUrl({begin:new Date(le.date).Format("yyyyMMdd"),type:"rec"}):w.jSPlugin.changePlayUrl({begin:new Date(le.date).Format("yyyyMMdd")}):w.jSPlugin.changePlayUrl({begin:new Date(le.date).Format("yyyyMMdd")})),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),w.datepickerVisible=!1,w.jSPlugin.decoderState&&w.jSPlugin.decoderState&&w.jSPlugin.decoderState.state&&w.jSPlugin.decoderState.state.zoom&&(w.jSPlugin.setDecoderState({zoom:!1}),w.jSPlugin.Zoom.stopZoom())}),$("#".concat(w.jSPlugin.id,"-datepicker")).off("click").on("click",function(le){console.log("点击日期"),w.datepickerVisible?document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"):document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),w.datepickerVisible=!w.datepickerVisible})})})}),document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-add")).onclick=function(){var le=w.currentTimeWidth;le<3&&w.timeLine.changeSize(++w.currentTimeWidth)},document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-sub")).onclick=function(){var le=w.currentTimeWidth;le>0&&w.timeLine.changeSize(--w.currentTimeWidth)};var de=d("begin",this.jSPlugin.url)||new Date().Format("yyyyMMdd");this.renderRec("".concat(de.slice(0,4),"-").concat(de.slice(4,6),"-").concat(de.slice(6,8))),this.observer=new MutationObserver(function(le,ae){w.recAutoSize()});var me={attributes:!0,attributeOldValue:!0,attributeFilter:["style"]},fe=document.getElementById("".concat(this.jSPlugin.id));this.observer.observe(fe,me)}},{key:"setDatepickerDate",value:function(w){if(document.getElementsByClassName("datepicker-container")[0]){var T=document.getElementsByClassName("datepicker-container")[0],P=T.parentNode;P.removeChild(T),document.getElementById("".concat(this.jSPlugin.id,"-datepicker")).value=w.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"),$("#".concat(this.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",defaultDate:w,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(this.jSPlugin.id,"-wrap"))})}}},{key:"datepickerHide",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),this.datepickerVisible=!1}},{key:"datepickerShow",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),this.datepickerVisible=!0}},{key:"recAutoSize",value:function(){var w=this;if(document.getElementById("".concat(this.jSPlugin.id,"-canvas"))){var T=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100;T!==parseInt(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width)&&(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width=T,this.timeLine.init({id:"".concat(this.jSPlugin.id,"-canvas"),width:T,onChange:function(N){console.log("time",N,new Date(N).Format("yyyyMMddhhmmss")),console.log("jSPlugin",w.jSPlugin);var O=new Date(N).Format("yyyyMMddhhmmss");w.jSPlugin.changePlayUrl({begin:O})}}),this.renderRec(this.date),this.syncTimeLine())}}},{key:"syncTimeLine",value:function(){var w=this;this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer),this.jSPlugin.recTimer=setInterval(function(){var T=w.jSPlugin.getOSDTime();T.then(function(P){var N=P.data;N===-1?console.log("获取播放时间错误"):N>0&&w.timeLine.run({time:new Date(N>1e12?N:N*1e3)})}).catch(function(P){})},1e3)}},{key:"unSyncTimeLine",value:function(){this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer)}},{key:"renderRec",value:function(w){var T=this;this.date=w;var P=this,N=new Date(new Date(w).Format("yyyy-MM-dd 00:00:00").replace(/-/g,"/")).getTime(),O=new Date(new Date(w).Format("yyyy-MM-dd 23:59:59").replace(/-/g,"/")).getTime();this.timeLine.getRecord([],N,O),console.log("-----------233---------this.jSPlugin.url",this.jSPlugin.url);var B={accessToken:this.jSPlugin.accessToken,recType:S(this.jSPlugin.url).type==="cloud.rec"?1:2,deviceSerial:S(this.jSPlugin.url).deviceSerial,channelNo:S(this.jSPlugin.url).channelNo,startTime:N,endTime:O,version:"2.0"},de=function(le){if(le.data&&le.data.files&&le.data.files.length>0){var ae=le.data.files,We=new Date().getTime(),Pe=le.data.isAll;if(Pe)T.timeLine.getRecord(ae,N,O);else{var _e=function Se(){function n2(pe){pe.data&&pe.data.files&&pe.data.files.length>0?pe.data.isAll==!1?(pe.data.files&&(ae=ae.concat(pe.data.files)),We=pe.data.nextFileTime>0?pe.data.nextFileTime:new Date().getTime(),Se()):(console.log("云存储执行渲染片段"),P.timeLine.getRecord(ae,N,O)):P.timeLine.getRecord(ae,N,O)}B.startTime=We,A(this.jSPlugin.env.domain+"/api/lapp/video/by/time","POST",B,"",n2)};_e()}T.timeLine.run({time:new Date(N)})}else le.data&&le.data.length>0&&(console.log("获取本地录像片段成功",le),P.timeLine.getRecord(le.data,N,O),P.timeLine.run({time:new Date(N)}))},me=this.jSPlugin.env.domain+"/api/lapp/video/by/time";A(me,"POST",B,"",de)}}]),Q}(),we=function(U){console.log("执行TimeLine - params",U),this.state={id:U.id,start:"00:00:00",end:"24:00:00",current:0,timelag:30,timeArr:[],availTimeLine:[],scrollTop:0,index:0,date:"",noTimeLineTxt:"",disabled:!1};var w=this;this.setState=function(T){Object.keys(T).forEach(function(P){w.state[P]=T[P],P==="scrollTop"&&document.getElementById("time-line-item").parentNode.scrollTo(0,T[P]),P==="current"&&(document.getElementById("time-line-current").innerHTML=T[P])})},this.setDisabled=function(T){this.setState({disabled:T}),document.getElementById("time-line-item").parentNode.style.overflowY=T?"hidden":"scroll"},this.timeToSecond=function(T){var P=T.split(":"),N=Number(P[0]),O=Number(P[1]),B=Number(P[2]);return N*60*60+O*60+(B||0)},this.minuteToTime=function(T){var P=Math.floor(T/60),N=T%60;return(P>9?P:"0"+P)+":"+(N>9?N:"0"+N)},this.timeToMinute=function(T){var P=T.split(":"),N=Number(P[0]),O=Number(P[1]);return N*60+O},this.getPalyParam=U.getPalyParam,document.getElementById("time-line-item").parentNode.ontouchstart=function(){if(w.state.disabled)return!1;U.ontouchstart()},document.getElementById("time-line-item").parentNode.ontouchmove=function(){if(w.state.disabled)return!1;U.ontouchmove()},document.getElementById("time-line-item").parentNode.ontouchend=function(){if(w.state.disabled)return!1;var T,P=new Promise(function(N,O){var B=-1;T=setInterval(function(){var de=document.getElementById("time-line-item").parentNode.scrollTop;de!==B?(console.log("scolling",de,B),B=de):(console.log("scoll stop",de,B),clearInterval(T),N(de))},100)});P.then(function(N){console.log("scollPromise: then",N,w),w.rectTopTotime(N),console.log("页面滚动实际高度",N,w.state),w.getPalyParam({current:w.state.current})}),U.ontouchend()},this.matchTimeDot()};we.prototype.changeScale=function(Q){this.setState({timelag:Q}),this.matchTimeDot()},we.prototype.setDateLine=function(Q,U){Q.length>0?(typeof U=="undefined"&&(U=Q.length-1),this.setState({availTimeLine:Q,start:Q[U].st,end:Q[U].et,current:Q[U].st}),console.log("this.state",this.state),this.matchRecTimeDot(),this.primaryOffsetH()):(this.setState({availTimeLine:[]}),console.log("this.state",this.state),this.matchRecTimeDot())},we.prototype.matchTimeDot=function(){var Q=this.state,U=Q.start,w=Q.end,T=Q.timelag;Q.availTimeLine,console.log("start",U,"end",w);var P=[],N=this.timeToMinute(w);N=Math.floor(N/T)*T;for(var O=N;O>=0;){var B=0,de=0,me=[];O==N&&(B=70),O==0&&(de=230);var fe=this.minuteToTime(O);P.push({id:O,current:fe,label:"a"+O,marginTop:B,marginBottom:de,recArr:me}),O=O-T}this.setState({timeArr:P}),this.renderDateLine()},we.prototype.matchRecTimeDot=function(){var Q=this.state,U=Q.start,w=Q.end,T=Q.timelag,P=Q.availTimeLine,N=Q.timeArr;console.log("start",U,"end",w);var O=[],B=P.length;if(B===0)for(var de=0;de<N.length;de++)N[de].recArr=[];else{for(var me=0;me<N.length;me++)N[me].recArr=[];for(var fe=0;fe<B;fe++){var le=P[fe],ae=this.timeToSecond(le.st),We=this.timeToSecond(le.et),Pe=void 0,_e=void 0,Se=0,n2=0;Pe=Math.floor(ae/(T*60))*T,Se=(ae-Pe*60)/T,_e=Math.floor(We/(T*60))*T,n2=(We-_e*60)/T,O[fe]={st:Pe,et:_e,stAvailPercent:Se,etAvailPercent:n2};for(var de=0;de<N.length;de++)if(N[de].id==Pe&&N[de].id==_e){var pe=n2-Se,F=60-n2;N[de].recArr.push({height:pe,top:F})}else N[de].id==Pe?N[de].recArr.push({height:60-Se,top:0}):N[de].id==_e?N[de].recArr.push({height:n2,top:60-n2}):N[de].id>Pe&&N[de].id<_e&&N[de].recArr.push({height:60,top:0})}}console.log("availArr: ",O),this.setState({timeArr:N}),console.log("timeArr:",this.state),this.renderDateLine()},we.prototype.renderDateLine=function(){var Q=this.state,U=Q.id,w=Q.timeArr;console.log("id,timeArr",U,w);var T=document.getElementById("time-line-item");T.innerHTML="",w.forEach(function(P,N){var O=document.createElement("div");O.setAttribute("class","time-item"),O.style="margin-top: ".concat(P.marginTop,"px; margin-bottom: ").concat(P.marginBottom,"px; border-right-color: ").concat(P.borderColor,";");var B=document.createElement("div");B.setAttribute("class","scale");var de='<div class="scale"></div><div class="scale"></div><div class="scale"></div><div class="scale"></div><div class="scale"></div><div class="scale" style="width:10px"></div>';P.recArr.forEach(function(me,fe){de+='<div class="item-unavail" style="height: '.concat(me.height,"px;background-color:#A8B9ED; top: ").concat(me.top,'px"></div>')}),de+="<div id=".concat(P.label,' style="position: relative; top: 51px; left: 40%"> ').concat(P.current,"</div>"),O.innerHTML=de,T.appendChild(O)})},we.prototype.primaryOffsetH=function(){var Q=this.state,U=Q.start,w=Q.timelag,T=Q.timeArr,P=T[0].current,N=this.timeToSecond(P),O=this.timeToSecond(U),B=N-O,de=Math.ceil(B/w)+60;this.setState({scrollTop:de}),console.log("起始偏移量",de)},we.prototype.currentOffsetH=function(){var Q=this.state,U=Q.current,w=Q.timelag,T=Q.timeArr,P=T[0].current,N=this.timeToSecond(P),O=this.timeToSecond(U),B=N-O,de=Math.ceil(B/w)+60;this.setState({scrollTop:de})},we.prototype.rectTopTotime=function(Q){var U=this.state.timelag,w=Math.floor(Q/60),T=Q-w*60,P,N;if(console.log("index:",w,"offsetH:",T),T==0)P=this.state.timeArr[w-1].current,N=0;else{var O=this.state.timeArr[w].current,B=this.timeToMinute(O),de=60-T,me=de*U,fe=Math.floor(me/60)+B,le=Math.floor(me/60)*60;N=Math.ceil(me-le),P=this.minuteToTime(fe)}this.setState({current:P+":"+(N>9?N:"0"+N),scrollTop:Q})},we.prototype.stepScrollTimeLine=function(Q){this.setState({current:Q}),this.currentOffsetH()},we.prototype.secondCountDown=function(Q){var U=this.state.current,w=U.split(":"),T=Number(w[0]),P=Number(w[1]),N=Number(w[2]),O=T*60*60+P*60+N+1,B=Math.floor(O/3600),de=Math.floor((O-B*3600)/60),me=O-B*3600-de*60;this.setState({current:(B>9?B:"0"+B)+":"+(de>9?de:"0"+de)+":"+(me>9?me:"0"+me)})};var ve=we;Date.prototype.Format=function(Q){var U={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(Q)&&(Q=Q.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var w in U)new RegExp("("+w+")").test(Q)&&(Q=Q.replace(RegExp.$1,RegExp.$1.length==1?U[w]:("00"+U[w]).substr((""+U[w]).length)));return Q};function Ke(Q){var U=new Date(Q),w=U.getHours(),T=U.getMinutes(),P=U.getSeconds();return(w>9?w:"0"+w)+":"+(T>9?T:"0"+T)+":"+(P>9?P:"0"+P)}var p2=function(){function Q(U,w,T){var P=this;i(this,Q),this.changeRecSpeed=w,this.resetMobileZoomStatus=T,this.isMobile=!0,this.jSPlugin=U,this.timer=null,this.date=new Date().Format("yyyy-MM-dd"),this.begin=(new Date().Format("yyyy-MM-dd")+" 00:00:00").replace(/-/g,"/"),this.end=(new Date().Format("yyyy-MM-dd")+" 23:59:59").replace(/-/g,"/"),this.initBegin=null,this.initEnd=null,this.type=S(this.jSPlugin.url).type,this.operating=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency);var N=document.createElement("style");if(N.innerHTML=` |
|
|
body{ |
|
|
padding: 0; |
|
|
margin: 0; |
|
|
} |
|
|
.time-line-container { |
|
|
text-align: left; |
|
|
height: 300px; |
|
|
/* outline: 1px solid red; */ |
|
|
/* background: gray; */ |
|
|
position: relative; |
|
|
/* padding-top: 60px; */ |
|
|
margin-top: 20px; |
|
|
} |
|
|
|
|
|
.time-line-container .time-line-item-container { |
|
|
display: inline-block; |
|
|
/* height: 400px; */ |
|
|
width: 30%; |
|
|
/* background: indianred; */ |
|
|
overflow-y: scroll; |
|
|
overflow-x: hidden; |
|
|
/* padding-top: 60px; */ |
|
|
height: 300px; |
|
|
box-sizing: border-box; |
|
|
white-space: nowrap; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.time-line-container .time-line-item-container::-webkit-scrollbar { |
|
|
width: 0px; |
|
|
/*滚动条宽度*/ |
|
|
height: 0px; |
|
|
/*滚动条高度*/ |
|
|
} |
|
|
|
|
|
.time-line-item .time-item { |
|
|
position: relative; |
|
|
box-sizing: border-box; |
|
|
height: 60px; |
|
|
font-size: 12px; |
|
|
color: rgb(150, 150, 150); |
|
|
border-right: 6px solid; |
|
|
border-right-color: #ddd; |
|
|
} |
|
|
|
|
|
.time-line-item .time-item .scale { |
|
|
width: 6px; |
|
|
height: 9px; |
|
|
border-bottom: 1px solid #ccc; |
|
|
float: right; |
|
|
clear: both; |
|
|
} |
|
|
|
|
|
.time-line-item .time-item .item-unavail { |
|
|
width: 6px; |
|
|
position: absolute; |
|
|
left: 100%; |
|
|
background-color: #ddd; |
|
|
} |
|
|
|
|
|
.time-line-container .current-time { |
|
|
position: absolute; |
|
|
left: 0; |
|
|
top: 40px; |
|
|
height: 29px; |
|
|
/* line-height: 58px; */ |
|
|
border-bottom: 1px solid #648FFC; |
|
|
width: 60%; |
|
|
margin-left: 26%; |
|
|
} |
|
|
|
|
|
.time-line-container .current-time .current-time-bg { |
|
|
position: relative; |
|
|
top: 15px; |
|
|
width: 100px; |
|
|
height: 29px; |
|
|
line-height: 29px; |
|
|
left: -70px; |
|
|
font-size: 12px; |
|
|
color: #2C2C2C; |
|
|
} |
|
|
|
|
|
.time-line-container .current-time .current-time-bg::before { |
|
|
content: ''; |
|
|
display: inline-block; |
|
|
width: 6px; |
|
|
height: 6px; |
|
|
border-radius: 100%; |
|
|
background: #648FFC; |
|
|
top: 11px; |
|
|
position: absolute; |
|
|
right: 30px; |
|
|
} |
|
|
|
|
|
.date-switch-container { |
|
|
height: 40px; |
|
|
position: relative; |
|
|
text-align: center; |
|
|
margin: 20px 10px; |
|
|
} |
|
|
|
|
|
.date-switch-container .current-date { |
|
|
line-height: 40px; |
|
|
height: 22px; |
|
|
font-size: 16px; |
|
|
color: #2C2C2C; |
|
|
text-align: center; |
|
|
font-weight: bold; |
|
|
} |
|
|
|
|
|
.date-container { |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
position: absolute; |
|
|
right: 0; |
|
|
top: 0; |
|
|
} |
|
|
|
|
|
.rec-type-container { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
} |
|
|
|
|
|
.rec-type-container .rec-type-text { |
|
|
padding: 0 15px; |
|
|
font-size: 12px; |
|
|
color: #2C2C2C; |
|
|
} |
|
|
|
|
|
.rec-type-container .rec-type-switch { |
|
|
padding: 0 20px; |
|
|
} |
|
|
|
|
|
.date-container input { |
|
|
position: absolute; |
|
|
opacity: 0; |
|
|
display: inline-block; |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
z-index: 10; |
|
|
left: 0; |
|
|
} |
|
|
|
|
|
.date-container label { |
|
|
position: absolute; |
|
|
left: 0; |
|
|
top: 0; |
|
|
/* display: none; */ |
|
|
z-index: 0; |
|
|
} |
|
|
|
|
|
.date-icon { |
|
|
display: inline-block; |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
background: url('https://resource.eziot.com/group2/M00/00/6A/CtwQF2F6VieAQrU9AAABP-_Nsqo949.png') no-repeat 100% 100%; |
|
|
} |
|
|
.select-container { |
|
|
padding: 10px; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
} |
|
|
|
|
|
.advice { |
|
|
height: 24px; |
|
|
width: 70px; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
line-height: 24px; |
|
|
background: #F8F8F8; |
|
|
border-radius: 8px; |
|
|
} |
|
|
|
|
|
.advice span { |
|
|
width: 40px; |
|
|
display: inline-block; |
|
|
} |
|
|
|
|
|
input[type="checkbox"]:not(:checked)+.advice span:first-child { |
|
|
box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); |
|
|
border-radius: 8px; |
|
|
text-align: center; |
|
|
|
|
|
} |
|
|
|
|
|
input[type="checkbox"]:checked+.advice span:last-child { |
|
|
box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); |
|
|
border-radius: 8px; |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
input[type="checkbox"]:not(:checked)+.advice span:first-child svg { |
|
|
fill: #648FFC !important; |
|
|
} |
|
|
|
|
|
input[type="checkbox"]:checked+.advice span:last-child svg { |
|
|
fill: #648FFC !important; |
|
|
}`,document.getElementsByTagName("head")[0].appendChild(N),d("begin",this.jSPlugin.url)){var O=d("begin",this.jSPlugin.url);this.date=O.slice(0,4)+"/"+O.slice(4,6)+"/"+O.slice(6,8),this.begin=this.date+" ".concat(O.slice(8,10)||"00",":").concat(O.slice(10,12)||"00",":").concat(O.slice(12,14)||"00"),this.end=this.date+" 23:59:59",this.initBegin=this.begin}if(d("end",this.jSPlugin.url)){var B=d("end",this.jSPlugin.url);this.end=this.date+" ".concat(B.slice(8,10)||"23",":").concat(B.slice(10,12)||"59",":").concat(B.slice(12,14)||"59"),this.initEnd=this.end}var de=document.createElement("div");de.id="date-switch-container-wrap",de.className="date-switch-container-wrap",de.style="",de.innerHTML=` |
|
|
<div class="date-switch-container"> |
|
|
<div class="current-date" id="current-date">今日录像</div> |
|
|
<div class="date-container"> |
|
|
<label for="date"> |
|
|
<div class="date-icon"></div> |
|
|
</label> |
|
|
<input type="date" name="date" id="date" /> |
|
|
</div> |
|
|
</div> |
|
|
`,h(de,document.getElementById("".concat(this.jSPlugin.id,"-wrap")));var me=document.createElement("div");me.id="rec-type-container-wrap",me.className="rec-type-container-wrap",me.style="",me.innerHTML=` |
|
|
<div class="rec-type-container"> |
|
|
<div class="rec-type-text">共<span id="recCount">0</span>个录像</div> |
|
|
<div class="rec-type-switch"> |
|
|
<label> |
|
|
<input type="checkbox" name="type" id="cloudType" value="1" hidden /> |
|
|
<label for="cloudType" class="advice"> |
|
|
<span> |
|
|
<svg fill="#CCCCCC" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 0 20 20"> |
|
|
<path class="st0" d="M12.6,5c-2.3,0.1-4.3,1.4-5.3,3.3L7.2,8.6c-2.4,0.5-4.1,2.5-4.1,4.9c0,2.8,2.4,5,5.2,5h9.9 |
|
|
c2.4,0,4.3-1.9,4.3-4.2l0-0.2c-0.1-2-1.6-3.5-3.5-3.9l-0.1,0l0-0.2c-0.4-2.8-3-5-6.1-5L12.6,5z"/> |
|
|
</svg> |
|
|
</span> |
|
|
<span> |
|
|
<svg fill="#CCCCCC" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 0 20 20"> |
|
|
<path id="形状结合" class="st0" d="M14.3,4c0.6,0,1.2,0.2,1.7,0.7l0,0L18.3,7C18.7,7.4,19,8,19,8.6l0,0v9c0,1.3-1.1,2.3-2.4,2.3 |
|
|
l0,0H8.4C7.1,20,6,19,6,17.7l0,0V6.3C6,5,7.1,4,8.4,4l0,0H14.3z M9.7,7.2C9.3,7.2,8.9,7.6,8.9,8l0,0v2.5l0,0.1 |
|
|
c0,0.4,0.4,0.6,0.7,0.6c0.4,0,0.8-0.3,0.8-0.8l0,0V8l0-0.1C10.4,7.5,10,7.2,9.7,7.2z M12.2,7.2c-0.4,0-0.8,0.3-0.8,0.8l0,0v2.5 |
|
|
l0,0.1c0,0.4,0.4,0.6,0.7,0.6c0.4,0,0.8-0.3,0.8-0.8l0,0V8l0-0.1C12.9,7.5,12.5,7.2,12.2,7.2z M14.7,7.2c-0.4,0-0.8,0.3-0.8,0.8l0,0 |
|
|
v2.5l0,0.1c0,0.4,0.4,0.6,0.7,0.6c0.4,0,0.8-0.3,0.8-0.8l0,0V8l0-0.1C15.4,7.5,15,7.2,14.7,7.2z"/> |
|
|
</svg> |
|
|
</span> |
|
|
</label> |
|
|
</label> |
|
|
</div> |
|
|
</div> |
|
|
`,h(me,de);var fe=document.createElement("div");fe.id="mobile-rec-wrap",fe.className="mobileRec-wrap",fe.style="",fe.innerHTML=` |
|
|
<div class="time-line-container"> |
|
|
<div class="current-time"> |
|
|
<div class="current-time-bg" id="time-line-current">2020-01-01 00:00:00</div> |
|
|
</div> |
|
|
<div class="time-line-item-container"> |
|
|
<div class="time-line-item" id="time-line-item"> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
`,h(fe,me);var le=function(Se){console.log("子组件传值到父组件",Se,Se.current);var n2=Se.current,pe=new Date(P.date).Format("yyyyMMdd").substr(0,8)+(Se.current?n2.replace(/:/g,""):Se.current.replace(/:/g,""));if(P.initBegin&&new Date("".concat(P.date," ").concat(Se.current)).getTime()<new Date(P.initBegin).getTime()&&(console.log("超过限制最低值"),pe=new Date(P.initBegin).Format("yyyyMMddhhmmss")),P.initEnd&&new Date("".concat(P.date," ").concat(Se.current)).getTime()>new Date(P.initEnd).getTime()&&(console.log("超过限制最高值"),pe=new Date(P.initBegin).Format("yyyyMMddhhmmss")),P.type==="cloud.rec"){var F=function(){P.jSPlugin.seek(pe.substr(8,6),"235959"),setTimeout(function(){P.syncTimeLine()},6e3)};P.seekTimer?clearTimeout(P.seekTimer):F(),console.log("this.jsPlug",P.jSPlugin.params),P.seekTimer=setTimeout(function(){F(),clearTimeout(P.seekTimer),P.seekTimer=null},P.seekFrequency)}else{var te=function(){setTimeout(function(){P.disabled=!1},P.seekFrequency)},oe=function(Ye){P.disabled=!0,P.jSPlugin.pause().then(function(){console.log("暂停成功"),P.jSPlugin.resume(pe).then(function(u2){console.log("恢复成功"),P.jSPlugin.Theme&&P.jSPlugin.Theme.setDecoderState({play:!0}),P.jSPlugin.Theme&&P.jSPlugin.Theme.decoderState.state.sound&&P.jSPlugin.openSound(),P.syncTimeLine(),Ye&&Ye()})}).catch(function(){console.log("暂停失败"),P.jSPlugin.resume(pe).then(function(u2){console.log("恢复成功"),P.jSPlugin.Theme&&P.jSPlugin.Theme.setDecoderState({play:!0}),P.syncTimeLine(),Ye&&Ye()})})};P.disabled?(console.log("操作频繁,等待2秒后执行"),P.seekTimer&&clearTimeout(P.seekTimer),P.seekTimer=setTimeout(function(){oe(te)},P.seekFrequency)):oe(te)}},ae=function(){P.operating=!0,P.unSyncTimeLine()},We=function(){},Pe=function(){P.operating=!1,console.log("ontouchend")};this.TimeLineOBJ=new ve({id:"time-line-item",getPalyParam:le,ontouchstart:ae,ontouchmove:We,ontouchend:Pe}),this.fetchDeviceRec(),document.getElementById("date").addEventListener("change",function(_e){if(console.log("日期变化",_e.target.value),P.initBegin||P.initEnd)return console.log("您开启了时间限制,无法切换日期"),!1;P.date=new Date(_e.target.value).Format("yyyy/MM/dd"),P.begin=P.date+" 00:00:00",P.end=P.date+" 23:59:59",P.fetchDeviceRec(),P.jSPlugin.changePlayUrl({type:P.type,begin:"".concat(new Date(P.date).Format("yyyyMMdd"),"000000")}),P.changeRecSpeed(1),P.resetMobileZoomStatus()}),document.getElementById("cloudType").checked=this.type==="rec",document.getElementById("cloudType").addEventListener("change",function(_e){var Se=_e.target.checked?2:1;P.type=_e.target.checked?"rec":"cloud.rec",console.log("recType",Se),P.fetchDeviceRec(),P.jSPlugin.changePlayUrl({type:P.type,begin:"".concat(new Date(P.date).Format("yyyyMMdd"),"000000")}).then(function(){console.log("切换类型成功"),P.syncTimeLine(),P.changeRecSpeed(1),P.resetMobileZoomStatus()},function(n2){console.log("err",n2)}).catch(function(n2){console.log(n2)})}),this.syncTimeLine()}return a(Q,[{key:"fetchDeviceRec",value:function(){var w=this,T=function(O){var B=O.length;document.getElementById("recCount").innerHTML=B;for(var de=[],me=B-1;me>=0;me--){var fe=O[me],le=Ke(fe.endTime),ae=Ke(fe.startTime);de.push({st:ae,et:le})}w.TimeLineOBJ.setDateLine(de)},P=new FormData;P.append("deviceSerial",S(this.jSPlugin.url).deviceSerial),P.append("channelNo",S(this.jSPlugin.url).channelNo),P.append("accessToken",this.jSPlugin.accessToken),P.append("recType",this.type==="cloud.rec"?1:2),P.append("startTime",new Date(this.begin).getTime()),P.append("endTime",new Date(this.end).getTime()),fetch(this.jSPlugin.env.domain+"/api/lapp/video/by/time",{method:"POST",body:P}).then(function(N){return N.json()}).then(function(N){if(N.code==200&&N.data){var O=[];O=N.data,T(O)}else T([])})}},{key:"syncTimeLine",value:function(){var w=this,T=function(N){var O=new Date(N),B=O.getHours(),de=O.getMinutes(),me=O.getSeconds();return(B>9?B:"0"+B)+":"+(de>9?de:"0"+de)+":"+(me>9?me:"0"+me)};this.timer&&clearInterval(this.timer),this.timer=setInterval(function(){if(w.operating)return console.log("操作中"),!1;w.jSPlugin.getOSDTime().then(function(P){P.data>0?w.TimeLineOBJ.stepScrollTimeLine(T(P.data*1e3)):(console.log("未找到当前获取播放时间,等待中..."),console.log("res:-----------------",P))}).catch(function(P){console.log("err:-----",P),console.log("未找到当前获取播放时间,等待中...")})},1e3)}},{key:"unSyncTimeLine",value:function(){this.timer&&clearInterval(this.timer)}}]),Q}(),c2=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStart"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStart"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStart"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStart"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStart"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStart"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStart"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStart"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStart"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStart"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStart"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStart"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStart"},{code:60002,msg:"设备已旋转到上限位",desc:"",text:"设备云台旋转达到上限位",type:"ptzStart"},{code:60003,msg:"设备已旋转到下限位",desc:"",text:"设备云台旋转达到下限位",type:"ptzStart"},{code:60004,msg:"设备已旋转到左限位",desc:"",text:"设备云台旋转达到左限位",type:"ptzStart"},{code:60005,msg:"设备已旋转到右限位",desc:"",text:"设备云台旋转达到右限位",type:"ptzStart"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStart"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStart"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStart"}],s2=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStop"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStop"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStop"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStop"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStop"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStop"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStop"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStop"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStop"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStop"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStop"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStop"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStop"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStop"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStop"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStop"}],R2=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"talk"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"talk"},{code:10002,msg:"账号异常,操作失败",desc:"",text:"accessToken异常或过期",type:"talk"},{code:10031,msg:"账号异常,操作失败",desc:"",text:"子账户或萤石用户没有权限",type:"talk"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"talk"},{code:60059,msg:"播放失败",desc:"",text:"ezopen地址均不可用",type:"talk"}],w2=[{code:200,msg:"",desc:"",text:"操作成功",type:"time"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"time"},{code:10002,msg:"账号异常,播放失败",desc:"",text:"accessToken异常或过期",type:"time"},{code:10004,msg:"账号异常,播放失败",desc:"",text:"用户不存在",type:"time"},{code:10005,msg:"账号异常,播放失败",desc:"",text:"appKey异常",type:"time"},{code:10011,msg:"播放失败",desc:"设备对应用户未注册至应用下",text:"未开通萤石服务",type:"time"},{code:10013,msg:"账号异常,播放失败",desc:"",text:"非开发者账号无权限调用",type:"time"},{code:10030,msg:"播放失败",desc:"",text:"appkey和appsecret不匹配",type:"time"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"time"},{code:20014,msg:"播放失败",desc:"",text:"deviceSerial不合法",type:"time"},{code:20032,msg:"设备不存在请检查设备连接情况",desc:"",text:"该用户下通道不存在",type:"time"},{code:60024,msg:"播放失败请重试",desc:"",text:"取消订阅操作失败",type:"time"},{code:49999,msg:"播放失败请重试",desc:"",text:"操作异常",type:"time"}],Re={ptzStart:c2,ptzStop:s2,talk:R2,time:w2},k2=function(){function Q(U,w){i(this,Q),this.coreX=U,this.coreY=w,console.log("uikitCode",Re)}return a(Q,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchInfo",value:function(w,T){if(Re[T]){var P={};return Re[T].map(function(N){N.code==w&&(P=N)}),P}else return{code:500,msg:"未知错误",desc:"未知的错误码,或错误码类型有误",text:"",type:T}}}]),Q}(),x2=function(){function Q(U){var w=this;if(i(this,Q),this.jSPlugin=U,this.codeHandler=new k2,this.pluginStatus=new V(this,this.jSPlugin.id),console.log("云台初始化"),document.getElementById(this.jSPlugin.id+"-ez-ptz-item"))return!1;var T=document.createElement("div");T.id=this.jSPlugin.id+"-ez-ptz-item",T.className="ez-ptz-wrap",T.style="display:none";var P=document.createElement("style");P.innerHTML=` |
|
|
.ez-ptz-container { |
|
|
position: relative; |
|
|
width: 80px; |
|
|
height: 80px; |
|
|
background: rgba(255, 255, 255, 0.80); |
|
|
box-shadow: 0px 0px 33px 4px rgb(0 0 0 / 15%); |
|
|
border: 1px solid rgba(255, 255, 255, 0.80); |
|
|
border-radius: 100%; |
|
|
cursor: pointer; |
|
|
overflow: hidden; |
|
|
user-select: none; |
|
|
} |
|
|
.ez-ptz-container .ez-ptz-icon.top { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-left: 3px solid transparent; |
|
|
border-right: 3px solid transparent; |
|
|
border-bottom: 6px solid #333333; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
left: calc(50% - 3px); |
|
|
top: 2px; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.top.active { |
|
|
border-bottom-color: #1890FF; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.bottom { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-left: 3px solid transparent; |
|
|
border-right: 3px solid transparent; |
|
|
border-top: 6px solid #333333; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
left: calc(50% - 3px); |
|
|
bottom: 2px; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.bottom.active { |
|
|
border-top-color: #1890FF; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.right { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-top: 3px solid transparent; |
|
|
border-bottom: 3px solid transparent; |
|
|
border-left: 6px solid #333333; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
top: calc(50% - 3px); |
|
|
right: 2px; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.right.active { |
|
|
border-left-color: #1890FF; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.left { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-top: 3px solid transparent; |
|
|
border-bottom: 3px solid transparent; |
|
|
border-right: 6px solid #333333; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
top: calc(50% - 3px); |
|
|
left: 2px; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-icon.left.active { |
|
|
border-right-color: #1890FF; |
|
|
} |
|
|
|
|
|
.ez-ptz-container .ez-ptz-main.center { |
|
|
width: 23px; |
|
|
height: 23px; |
|
|
background: #1890FF; |
|
|
border-radius: 100%; |
|
|
top: calc(50% - 12.3px); |
|
|
left: calc(50% - 12.3px); |
|
|
position: absolute; |
|
|
} |
|
|
|
|
|
.ez-ptz-wrap { |
|
|
position: absolute; |
|
|
right: 20px; |
|
|
top: calc(50% - 50px); |
|
|
width: 100px; |
|
|
height: 100px; |
|
|
z-index: 999; |
|
|
} |
|
|
|
|
|
.ez-ptz-close { |
|
|
position: absolute; |
|
|
color: #FFFFFF; |
|
|
top: 0; |
|
|
right: 0px; |
|
|
}`,document.getElementsByTagName("head")[0].appendChild(P),T.innerHTML=` |
|
|
<div class="ez-ptz-container" id="`.concat(this.jSPlugin.id,`-ez-ptz-container" style="position: relative;width: 80px;height: 80px;background: rgba(255, 255, 255, 0.80);box-shadow: 0px 0px 33px 4px rgba(0, 0, 0, 0.15);border: 1px solid rgba(255, 255, 255, 0.80);border-radius: 100%;cursor: pointer;overflow: hidden;user-select: none;"> |
|
|
<div class="ez-ptz-main center"></div> |
|
|
<div class="ez-ptz-icon top active"></div> |
|
|
<div class="ez-ptz-icon left active"></div> |
|
|
<div class="ez-ptz-icon bottom active"></div> |
|
|
<div class="ez-ptz-icon right active"></div> |
|
|
`),document.getElementById("".concat(U.id,"-wrap")).appendChild(T),document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmousedown=function(N){N.preventDefault(),console.log("触摸开始"),w._handlePtzTouch(N,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmouseup=function(N){N.preventDefault(),console.log("触摸结束"),w._handlePtzTouch(N,"stop")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchstart=function(N){N.preventDefault(),console.log("触摸开始"),w._handlePtzTouch(N,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchend=function(N){N.preventDefault(),console.log("触摸结束",N),w._handlePtzTouch(N,"stop")}}return a(Q,[{key:"show",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: none"}},{key:"_handlePtzTouch",value:function(w,T){var P=this,N=document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).getBoundingClientRect(),O=N.left+41,B=N.top+41,de=w.x||w.changedTouches[0].clientX,me=w.y||w.changedTouches[0].clientY,fe=de-O,le=me-B,ae=0,We=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";if(Math.abs(fe)>Math.abs(le)?fe>0?ae=3:ae=2:le>0?ae=1:ae=0,/^rotate\(90/.test(document.getElementById("".concat(this.jSPlugin.id,"-wrap")).style.transform))switch(ae){case 0:ae=2;break;case 1:ae=3;break;case 2:ae=1;break;case 3:ae=0;break}document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(ae===0?180:ae===1?0:ae===2?90:270,"deg, #1d8dd8 0%, rgba(100,143,252,0.00) 30%)"),T==="stop"&&(We=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="");var Pe=new FormData;Pe.append("deviceSerial",S(this.jSPlugin.url).deviceSerial),Pe.append("channelNo",S(this.jSPlugin.url).channelNo),Pe.append("speed",1),Pe.append("direction",ae),Pe.append("accessToken",this.jSPlugin.accessToken),fetch(We,{method:"POST",body:Pe}).then(function(_e){return _e.json()}).then(function(_e){_e.code==200||(console.log(_e.code,P.codeHandler.matchInfo(_e.code,T==="start"?"ptzStart":"ptzStop")),P.pluginStatus.loadingSetText({text:P.codeHandler.matchInfo(_e.code,T==="start"?"ptzStart":"ptzStop").msg,color:"red",delayClear:2e3}),(_e.code==60005||_e.code==60002||_e.code==60003||_e.code==60004)&&(document.getElementById("".concat(P.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(ae===0?180:ae===1?0:ae===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 30%)")))}).catch(function(_e){console.log("云台调用异常",_e)})}}]),Q}();(function(Q){if(t(e)==="object")n.exports=Q();else{var U;typeof window!="undefined"?U=window:typeof Pm!="undefined"?U=Pm:typeof self!="undefined"?U=self:U=this,U.adapter=Q()}})(function(){return function(){function Q(U,w,T){function P(B,de){if(!w[B]){if(!U[B]){var me=typeof Rm=="function"&&Rm;if(!de&&me)return me(B,!0);if(N)return N(B,!0);var fe=new Error("Cannot find module '"+B+"'");throw fe.code="MODULE_NOT_FOUND",fe}var le=w[B]={exports:{}};U[B][0].call(le.exports,function(ae){var We=U[B][1][ae];return P(We||ae)},le,le.exports,Q,U,w,T)}return w[B].exports}for(var N=typeof Rm=="function"&&Rm,O=0;O<T.length;O++)P(T[O]);return P}return Q}()({1:[function(Q,U,w){var T=Q("./adapter_factory.js"),P=(0,T.adapterFactory)({window});window.adapter=P,U.exports=P},{"./adapter_factory.js":2}],2:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.adapterFactory=Se;var T=Q("./utils"),P=_e(T),N=Q("./chrome/chrome_shim"),O=_e(N),B=Q("./edge/edge_shim"),de=_e(B),me=Q("./firefox/firefox_shim"),fe=_e(me),le=Q("./safari/safari_shim"),ae=_e(le),We=Q("./common_shim"),Pe=_e(We);function _e(n2){if(n2&&n2.__esModule)return n2;var pe={};if(n2!=null)for(var F in n2)Object.prototype.hasOwnProperty.call(n2,F)&&(pe[F]=n2[F]);return pe.default=n2,pe}function Se(){var n2=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},pe=n2.window,F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0},te=P.log,oe=P.detectBrowser(pe),ze={browserDetails:oe,commonShim:Pe,extractVersion:P.extractVersion,disableLog:P.disableLog,disableWarnings:P.disableWarnings};switch(oe.browser){case"chrome":if(!O||!O.shimPeerConnection||!F.shimChrome)return te("Chrome shim is not included in this adapter release."),ze;te("adapter.js shimming chrome."),ze.browserShim=O,O.shimGetUserMedia(pe),O.shimMediaStream(pe),O.shimPeerConnection(pe),O.shimOnTrack(pe),O.shimAddTrackRemoveTrack(pe),O.shimGetSendersWithDtmf(pe),O.shimGetStats(pe),O.shimSenderReceiverGetStats(pe),O.fixNegotiationNeeded(pe),Pe.shimRTCIceCandidate(pe),Pe.shimConnectionState(pe),Pe.shimMaxMessageSize(pe),Pe.shimSendThrowTypeError(pe),Pe.removeAllowExtmapMixed(pe);break;case"firefox":if(!fe||!fe.shimPeerConnection||!F.shimFirefox)return te("Firefox shim is not included in this adapter release."),ze;te("adapter.js shimming firefox."),ze.browserShim=fe,fe.shimGetUserMedia(pe),fe.shimPeerConnection(pe),fe.shimOnTrack(pe),fe.shimRemoveStream(pe),fe.shimSenderGetStats(pe),fe.shimReceiverGetStats(pe),fe.shimRTCDataChannel(pe),fe.shimAddTransceiver(pe),fe.shimCreateOffer(pe),fe.shimCreateAnswer(pe),Pe.shimRTCIceCandidate(pe),Pe.shimConnectionState(pe),Pe.shimMaxMessageSize(pe),Pe.shimSendThrowTypeError(pe);break;case"edge":if(!de||!de.shimPeerConnection||!F.shimEdge)return te("MS edge shim is not included in this adapter release."),ze;te("adapter.js shimming edge."),ze.browserShim=de,de.shimGetUserMedia(pe),de.shimGetDisplayMedia(pe),de.shimPeerConnection(pe),de.shimReplaceTrack(pe),Pe.shimMaxMessageSize(pe),Pe.shimSendThrowTypeError(pe);break;case"safari":if(!ae||!F.shimSafari)return te("Safari shim is not included in this adapter release."),ze;te("adapter.js shimming safari."),ze.browserShim=ae,ae.shimRTCIceServerUrls(pe),ae.shimCreateOfferLegacy(pe),ae.shimCallbacksAPI(pe),ae.shimLocalStreamsAPI(pe),ae.shimRemoteStreamsAPI(pe),ae.shimTrackEventTransceiver(pe),ae.shimGetUserMedia(pe),Pe.shimRTCIceCandidate(pe),Pe.shimMaxMessageSize(pe),Pe.shimSendThrowTypeError(pe),Pe.removeAllowExtmapMixed(pe);break;default:te("Unsupported browser!");break}return ze}},{"./chrome/chrome_shim":3,"./common_shim":6,"./edge/edge_shim":7,"./firefox/firefox_shim":11,"./safari/safari_shim":14,"./utils":15}],3:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=w.shimGetUserMedia=void 0;var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(F){return t(F)}:function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":t(F)},P=Q("./getusermedia");Object.defineProperty(w,"shimGetUserMedia",{enumerable:!0,get:function(){return P.shimGetUserMedia}});var N=Q("./getdisplaymedia");Object.defineProperty(w,"shimGetDisplayMedia",{enumerable:!0,get:function(){return N.shimGetDisplayMedia}}),w.shimMediaStream=fe,w.shimOnTrack=le,w.shimGetSendersWithDtmf=ae,w.shimGetStats=We,w.shimSenderReceiverGetStats=Pe,w.shimAddTrackRemoveTrackWithNative=_e,w.shimAddTrackRemoveTrack=Se,w.shimPeerConnection=n2,w.fixNegotiationNeeded=pe;var O=Q("../utils.js"),B=de(O);function de(F){if(F&&F.__esModule)return F;var te={};if(F!=null)for(var oe in F)Object.prototype.hasOwnProperty.call(F,oe)&&(te[oe]=F[oe]);return te.default=F,te}function me(F,te,oe){return te in F?Object.defineProperty(F,te,{value:oe,enumerable:!0,configurable:!0,writable:!0}):F[te]=oe,F}function fe(F){F.MediaStream=F.MediaStream||F.webkitMediaStream}function le(F){if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection&&!("ontrack"in F.RTCPeerConnection.prototype)){Object.defineProperty(F.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(ze){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=ze)},enumerable:!0,configurable:!0});var te=F.RTCPeerConnection.prototype.setRemoteDescription;F.RTCPeerConnection.prototype.setRemoteDescription=function(){var ze=this;return this._ontrackpoly||(this._ontrackpoly=function(Ye){Ye.stream.addEventListener("addtrack",function(u2){var f2=void 0;F.RTCPeerConnection.prototype.getReceivers?f2=ze.getReceivers().find(function(F2){return F2.track&&F2.track.id===u2.track.id}):f2={track:u2.track};var C2=new Event("track");C2.track=u2.track,C2.receiver=f2,C2.transceiver={receiver:f2},C2.streams=[Ye.stream],ze.dispatchEvent(C2)}),Ye.stream.getTracks().forEach(function(u2){var f2=void 0;F.RTCPeerConnection.prototype.getReceivers?f2=ze.getReceivers().find(function(F2){return F2.track&&F2.track.id===u2.id}):f2={track:u2};var C2=new Event("track");C2.track=u2,C2.receiver=f2,C2.transceiver={receiver:f2},C2.streams=[Ye.stream],ze.dispatchEvent(C2)})},this.addEventListener("addstream",this._ontrackpoly)),te.apply(this,arguments)}}else B.wrapPeerConnectionEvent(F,"track",function(oe){return oe.transceiver||Object.defineProperty(oe,"transceiver",{value:{receiver:oe.receiver}}),oe})}function ae(F){if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection&&!("getSenders"in F.RTCPeerConnection.prototype)&&"createDTMFSender"in F.RTCPeerConnection.prototype){var te=function(F2,W2){return{track:W2,get dtmf(){return this._dtmf===void 0&&(W2.kind==="audio"?this._dtmf=F2.createDTMFSender(W2):this._dtmf=null),this._dtmf},_pc:F2}};if(!F.RTCPeerConnection.prototype.getSenders){F.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var oe=F.RTCPeerConnection.prototype.addTrack;F.RTCPeerConnection.prototype.addTrack=function(F2,W2){var N2=oe.apply(this,arguments);return N2||(N2=te(this,F2),this._senders.push(N2)),N2};var ze=F.RTCPeerConnection.prototype.removeTrack;F.RTCPeerConnection.prototype.removeTrack=function(F2){ze.apply(this,arguments);var W2=this._senders.indexOf(F2);W2!==-1&&this._senders.splice(W2,1)}}var Ye=F.RTCPeerConnection.prototype.addStream;F.RTCPeerConnection.prototype.addStream=function(F2){var W2=this;this._senders=this._senders||[],Ye.apply(this,[F2]),F2.getTracks().forEach(function(N2){W2._senders.push(te(W2,N2))})};var u2=F.RTCPeerConnection.prototype.removeStream;F.RTCPeerConnection.prototype.removeStream=function(F2){var W2=this;this._senders=this._senders||[],u2.apply(this,[F2]),F2.getTracks().forEach(function(N2){var Lt=W2._senders.find(function(Ot){return Ot.track===N2});Lt&&W2._senders.splice(W2._senders.indexOf(Lt),1)})}}else if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection&&"getSenders"in F.RTCPeerConnection.prototype&&"createDTMFSender"in F.RTCPeerConnection.prototype&&F.RTCRtpSender&&!("dtmf"in F.RTCRtpSender.prototype)){var f2=F.RTCPeerConnection.prototype.getSenders;F.RTCPeerConnection.prototype.getSenders=function(){var F2=this,W2=f2.apply(this,[]);return W2.forEach(function(N2){return N2._pc=F2}),W2},Object.defineProperty(F.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function We(F){if(F.RTCPeerConnection){var te=F.RTCPeerConnection.prototype.getStats;F.RTCPeerConnection.prototype.getStats=function(){var ze=this,Ye=Array.prototype.slice.call(arguments),u2=Ye[0],f2=Ye[1],C2=Ye[2];if(arguments.length>0&&typeof u2=="function")return te.apply(this,arguments);if(te.length===0&&(arguments.length===0||typeof u2!="function"))return te.apply(this,[]);var F2=function(Ot){var Bt={},Kt=Ot.result();return Kt.forEach(function(Zt){var c3={id:Zt.id,timestamp:Zt.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[Zt.type]||Zt.type};Zt.names().forEach(function(X3){c3[X3]=Zt.stat(X3)}),Bt[c3.id]=c3}),Bt},W2=function(Ot){return new Map(Object.keys(Ot).map(function(Bt){return[Bt,Ot[Bt]]}))};if(arguments.length>=2){var N2=function(Ot){f2(W2(F2(Ot)))};return te.apply(this,[N2,u2])}return new Promise(function(Lt,Ot){te.apply(ze,[function(Bt){Lt(W2(F2(Bt)))},Ot])}).then(f2,C2)}}}function Pe(F){if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection&&F.RTCRtpSender&&F.RTCRtpReceiver){if(!("getStats"in F.RTCRtpSender.prototype)){var te=F.RTCPeerConnection.prototype.getSenders;te&&(F.RTCPeerConnection.prototype.getSenders=function(){var f2=this,C2=te.apply(this,[]);return C2.forEach(function(F2){return F2._pc=f2}),C2});var oe=F.RTCPeerConnection.prototype.addTrack;oe&&(F.RTCPeerConnection.prototype.addTrack=function(){var f2=oe.apply(this,arguments);return f2._pc=this,f2}),F.RTCRtpSender.prototype.getStats=function(){var f2=this;return this._pc.getStats().then(function(C2){return B.filterStats(C2,f2.track,!0)})}}if(!("getStats"in F.RTCRtpReceiver.prototype)){var ze=F.RTCPeerConnection.prototype.getReceivers;ze&&(F.RTCPeerConnection.prototype.getReceivers=function(){var f2=this,C2=ze.apply(this,[]);return C2.forEach(function(F2){return F2._pc=f2}),C2}),B.wrapPeerConnectionEvent(F,"track",function(u2){return u2.receiver._pc=u2.srcElement,u2}),F.RTCRtpReceiver.prototype.getStats=function(){var f2=this;return this._pc.getStats().then(function(C2){return B.filterStats(C2,f2.track,!1)})}}if("getStats"in F.RTCRtpSender.prototype&&"getStats"in F.RTCRtpReceiver.prototype){var Ye=F.RTCPeerConnection.prototype.getStats;F.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof F.MediaStreamTrack){var f2=arguments[0],C2=void 0,F2=void 0,W2=void 0;return this.getSenders().forEach(function(N2){N2.track===f2&&(C2?W2=!0:C2=N2)}),this.getReceivers().forEach(function(N2){return N2.track===f2&&(F2?W2=!0:F2=N2),N2.track===f2}),W2||C2&&F2?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):C2?C2.getStats():F2?F2.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return Ye.apply(this,arguments)}}}}function _e(F){F.RTCPeerConnection.prototype.getLocalStreams=function(){var f2=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(function(C2){return f2._shimmedLocalStreams[C2][0]})};var te=F.RTCPeerConnection.prototype.addTrack;F.RTCPeerConnection.prototype.addTrack=function(f2,C2){if(!C2)return te.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var F2=te.apply(this,arguments);return this._shimmedLocalStreams[C2.id]?this._shimmedLocalStreams[C2.id].indexOf(F2)===-1&&this._shimmedLocalStreams[C2.id].push(F2):this._shimmedLocalStreams[C2.id]=[C2,F2],F2};var oe=F.RTCPeerConnection.prototype.addStream;F.RTCPeerConnection.prototype.addStream=function(f2){var C2=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},f2.getTracks().forEach(function(N2){var Lt=C2.getSenders().find(function(Ot){return Ot.track===N2});if(Lt)throw new DOMException("Track already exists.","InvalidAccessError")});var F2=this.getSenders();oe.apply(this,arguments);var W2=this.getSenders().filter(function(N2){return F2.indexOf(N2)===-1});this._shimmedLocalStreams[f2.id]=[f2].concat(W2)};var ze=F.RTCPeerConnection.prototype.removeStream;F.RTCPeerConnection.prototype.removeStream=function(f2){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[f2.id],ze.apply(this,arguments)};var Ye=F.RTCPeerConnection.prototype.removeTrack;F.RTCPeerConnection.prototype.removeTrack=function(f2){var C2=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},f2&&Object.keys(this._shimmedLocalStreams).forEach(function(F2){var W2=C2._shimmedLocalStreams[F2].indexOf(f2);W2!==-1&&C2._shimmedLocalStreams[F2].splice(W2,1),C2._shimmedLocalStreams[F2].length===1&&delete C2._shimmedLocalStreams[F2]}),Ye.apply(this,arguments)}}function Se(F){if(!F.RTCPeerConnection)return;var te=B.detectBrowser(F);if(F.RTCPeerConnection.prototype.addTrack&&te.version>=65)return _e(F);var oe=F.RTCPeerConnection.prototype.getLocalStreams;F.RTCPeerConnection.prototype.getLocalStreams=function(){var N2=this,Lt=oe.apply(this);return this._reverseStreams=this._reverseStreams||{},Lt.map(function(Ot){return N2._reverseStreams[Ot.id]})};var ze=F.RTCPeerConnection.prototype.addStream;F.RTCPeerConnection.prototype.addStream=function(N2){var Lt=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},N2.getTracks().forEach(function(Bt){var Kt=Lt.getSenders().find(function(Zt){return Zt.track===Bt});if(Kt)throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[N2.id]){var Ot=new F.MediaStream(N2.getTracks());this._streams[N2.id]=Ot,this._reverseStreams[Ot.id]=N2,N2=Ot}ze.apply(this,[N2])};var Ye=F.RTCPeerConnection.prototype.removeStream;F.RTCPeerConnection.prototype.removeStream=function(N2){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},Ye.apply(this,[this._streams[N2.id]||N2]),delete this._reverseStreams[this._streams[N2.id]?this._streams[N2.id].id:N2.id],delete this._streams[N2.id]},F.RTCPeerConnection.prototype.addTrack=function(N2,Lt){var Ot=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var Bt=[].slice.call(arguments,1);if(Bt.length!==1||!Bt[0].getTracks().find(function(X3){return X3===N2}))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");var Kt=this.getSenders().find(function(X3){return X3.track===N2});if(Kt)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var Zt=this._streams[Lt.id];if(Zt)Zt.addTrack(N2),Promise.resolve().then(function(){Ot.dispatchEvent(new Event("negotiationneeded"))});else{var c3=new F.MediaStream([N2]);this._streams[Lt.id]=c3,this._reverseStreams[c3.id]=Lt,this.addStream(c3)}return this.getSenders().find(function(X3){return X3.track===N2})};function u2(W2,N2){var Lt=N2.sdp;return Object.keys(W2._reverseStreams||[]).forEach(function(Ot){var Bt=W2._reverseStreams[Ot],Kt=W2._streams[Bt.id];Lt=Lt.replace(new RegExp(Kt.id,"g"),Bt.id)}),new RTCSessionDescription({type:N2.type,sdp:Lt})}function f2(W2,N2){var Lt=N2.sdp;return Object.keys(W2._reverseStreams||[]).forEach(function(Ot){var Bt=W2._reverseStreams[Ot],Kt=W2._streams[Bt.id];Lt=Lt.replace(new RegExp(Bt.id,"g"),Kt.id)}),new RTCSessionDescription({type:N2.type,sdp:Lt})}["createOffer","createAnswer"].forEach(function(W2){var N2=F.RTCPeerConnection.prototype[W2],Lt=me({},W2,function(){var Ot=this,Bt=arguments,Kt=arguments.length&&typeof arguments[0]=="function";return Kt?N2.apply(this,[function(Zt){var c3=u2(Ot,Zt);Bt[0].apply(null,[c3])},function(Zt){Bt[1]&&Bt[1].apply(null,Zt)},arguments[2]]):N2.apply(this,arguments).then(function(Zt){return u2(Ot,Zt)})});F.RTCPeerConnection.prototype[W2]=Lt[W2]});var C2=F.RTCPeerConnection.prototype.setLocalDescription;F.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?C2.apply(this,arguments):(arguments[0]=f2(this,arguments[0]),C2.apply(this,arguments))};var F2=Object.getOwnPropertyDescriptor(F.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(F.RTCPeerConnection.prototype,"localDescription",{get:function(){var N2=F2.get.apply(this);return N2.type===""?N2:u2(this,N2)}}),F.RTCPeerConnection.prototype.removeTrack=function(N2){var Lt=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!N2._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");var Ot=N2._pc===this;if(!Ot)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};var Bt=void 0;Object.keys(this._streams).forEach(function(Kt){var Zt=Lt._streams[Kt].getTracks().find(function(c3){return N2.track===c3});Zt&&(Bt=Lt._streams[Kt])}),Bt&&(Bt.getTracks().length===1?this.removeStream(this._reverseStreams[Bt.id]):Bt.removeTrack(N2.track),this.dispatchEvent(new Event("negotiationneeded")))}}function n2(F){var te=B.detectBrowser(F);if(!F.RTCPeerConnection&&F.webkitRTCPeerConnection&&(F.RTCPeerConnection=F.webkitRTCPeerConnection),!!F.RTCPeerConnection){te.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(ze){var Ye=F.RTCPeerConnection.prototype[ze],u2=me({},ze,function(){return arguments[0]=new(ze==="addIceCandidate"?F.RTCIceCandidate:F.RTCSessionDescription)(arguments[0]),Ye.apply(this,arguments)});F.RTCPeerConnection.prototype[ze]=u2[ze]});var oe=F.RTCPeerConnection.prototype.addIceCandidate;F.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?te.version<78&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():oe.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}}function pe(F){B.wrapPeerConnectionEvent(F,"negotiationneeded",function(te){var oe=te.target;if(oe.signalingState==="stable")return te})}},{"../utils.js":15,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=T;function T(P,N){if(!(P.navigator.mediaDevices&&"getDisplayMedia"in P.navigator.mediaDevices)&&P.navigator.mediaDevices){if(typeof N!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}P.navigator.mediaDevices.getDisplayMedia=function(B){return N(B).then(function(de){var me=B.video&&B.video.width,fe=B.video&&B.video.height,le=B.video&&B.video.frameRate;return B.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:de,maxFrameRate:le||3}},me&&(B.video.mandatory.maxWidth=me),fe&&(B.video.mandatory.maxHeight=fe),P.navigator.mediaDevices.getUserMedia(B)})}}}},{}],5:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(me){return t(me)}:function(me){return me&&typeof Symbol=="function"&&me.constructor===Symbol&&me!==Symbol.prototype?"symbol":t(me)};w.shimGetUserMedia=de;var P=Q("../utils.js"),N=O(P);function O(me){if(me&&me.__esModule)return me;var fe={};if(me!=null)for(var le in me)Object.prototype.hasOwnProperty.call(me,le)&&(fe[le]=me[le]);return fe.default=me,fe}var B=N.log;function de(me){var fe=me&&me.navigator;if(fe.mediaDevices){var le=N.detectBrowser(me),ae=function(pe){if((typeof pe=="undefined"?"undefined":T(pe))!=="object"||pe.mandatory||pe.optional)return pe;var F={};return Object.keys(pe).forEach(function(te){if(!(te==="require"||te==="advanced"||te==="mediaSource")){var oe=T(pe[te])==="object"?pe[te]:{ideal:pe[te]};oe.exact!==void 0&&typeof oe.exact=="number"&&(oe.min=oe.max=oe.exact);var ze=function(f2,C2){return f2?f2+C2.charAt(0).toUpperCase()+C2.slice(1):C2==="deviceId"?"sourceId":C2};if(oe.ideal!==void 0){F.optional=F.optional||[];var Ye={};typeof oe.ideal=="number"?(Ye[ze("min",te)]=oe.ideal,F.optional.push(Ye),Ye={},Ye[ze("max",te)]=oe.ideal,F.optional.push(Ye)):(Ye[ze("",te)]=oe.ideal,F.optional.push(Ye))}oe.exact!==void 0&&typeof oe.exact!="number"?(F.mandatory=F.mandatory||{},F.mandatory[ze("",te)]=oe.exact):["min","max"].forEach(function(u2){oe[u2]!==void 0&&(F.mandatory=F.mandatory||{},F.mandatory[ze(u2,te)]=oe[u2])})}}),pe.advanced&&(F.optional=(F.optional||[]).concat(pe.advanced)),F},We=function(pe,F){if(le.version>=61)return F(pe);if(pe=JSON.parse(JSON.stringify(pe)),pe&&T(pe.audio)==="object"){var te=function(f2,C2,F2){C2 in f2&&!(F2 in f2)&&(f2[F2]=f2[C2],delete f2[C2])};pe=JSON.parse(JSON.stringify(pe)),te(pe.audio,"autoGainControl","googAutoGainControl"),te(pe.audio,"noiseSuppression","googNoiseSuppression"),pe.audio=ae(pe.audio)}if(pe&&T(pe.video)==="object"){var oe=pe.video.facingMode;oe=oe&&((typeof oe=="undefined"?"undefined":T(oe))==="object"?oe:{ideal:oe});var ze=le.version<66;if(oe&&(oe.exact==="user"||oe.exact==="environment"||oe.ideal==="user"||oe.ideal==="environment")&&!(fe.mediaDevices.getSupportedConstraints&&fe.mediaDevices.getSupportedConstraints().facingMode&&!ze)){delete pe.video.facingMode;var Ye=void 0;if(oe.exact==="environment"||oe.ideal==="environment"?Ye=["back","rear"]:(oe.exact==="user"||oe.ideal==="user")&&(Ye=["front"]),Ye)return fe.mediaDevices.enumerateDevices().then(function(u2){u2=u2.filter(function(C2){return C2.kind==="videoinput"});var f2=u2.find(function(C2){return Ye.some(function(F2){return C2.label.toLowerCase().includes(F2)})});return!f2&&u2.length&&Ye.includes("back")&&(f2=u2[u2.length-1]),f2&&(pe.video.deviceId=oe.exact?{exact:f2.deviceId}:{ideal:f2.deviceId}),pe.video=ae(pe.video),B("chrome: "+JSON.stringify(pe)),F(pe)})}pe.video=ae(pe.video)}return B("chrome: "+JSON.stringify(pe)),F(pe)},Pe=function(pe){return le.version>=64?pe:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[pe.name]||pe.name,message:pe.message,constraint:pe.constraint||pe.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},_e=function(pe,F,te){We(pe,function(oe){fe.webkitGetUserMedia(oe,F,function(ze){te&&te(Pe(ze))})})};if(fe.getUserMedia=_e.bind(fe),fe.mediaDevices.getUserMedia){var Se=fe.mediaDevices.getUserMedia.bind(fe.mediaDevices);fe.mediaDevices.getUserMedia=function(n2){return We(n2,function(pe){return Se(pe).then(function(F){if(pe.audio&&!F.getAudioTracks().length||pe.video&&!F.getVideoTracks().length)throw F.getTracks().forEach(function(te){te.stop()}),new DOMException("","NotFoundError");return F},function(F){return Promise.reject(Pe(F))})})}}}}},{"../utils.js":15}],6:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(_e){return t(_e)}:function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":t(_e)};w.shimRTCIceCandidate=fe,w.shimMaxMessageSize=le,w.shimSendThrowTypeError=ae,w.shimConnectionState=We,w.removeAllowExtmapMixed=Pe;var P=Q("sdp"),N=me(P),O=Q("./utils"),B=de(O);function de(_e){if(_e&&_e.__esModule)return _e;var Se={};if(_e!=null)for(var n2 in _e)Object.prototype.hasOwnProperty.call(_e,n2)&&(Se[n2]=_e[n2]);return Se.default=_e,Se}function me(_e){return _e&&_e.__esModule?_e:{default:_e}}function fe(_e){if(!(!_e.RTCIceCandidate||_e.RTCIceCandidate&&"foundation"in _e.RTCIceCandidate.prototype)){var Se=_e.RTCIceCandidate;_e.RTCIceCandidate=function(pe){if((typeof pe=="undefined"?"undefined":T(pe))==="object"&&pe.candidate&&pe.candidate.indexOf("a=")===0&&(pe=JSON.parse(JSON.stringify(pe)),pe.candidate=pe.candidate.substr(2)),pe.candidate&&pe.candidate.length){var F=new Se(pe),te=N.default.parseCandidate(pe.candidate),oe=Object.assign(F,te);return oe.toJSON=function(){return{candidate:oe.candidate,sdpMid:oe.sdpMid,sdpMLineIndex:oe.sdpMLineIndex,usernameFragment:oe.usernameFragment}},oe}return new Se(pe)},_e.RTCIceCandidate.prototype=Se.prototype,B.wrapPeerConnectionEvent(_e,"icecandidate",function(n2){return n2.candidate&&Object.defineProperty(n2,"candidate",{value:new _e.RTCIceCandidate(n2.candidate),writable:"false"}),n2})}}function le(_e){if(_e.RTCPeerConnection){var Se=B.detectBrowser(_e);"sctp"in _e.RTCPeerConnection.prototype||Object.defineProperty(_e.RTCPeerConnection.prototype,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp}});var n2=function(Ye){if(!Ye||!Ye.sdp)return!1;var u2=N.default.splitSections(Ye.sdp);return u2.shift(),u2.some(function(f2){var C2=N.default.parseMLine(f2);return C2&&C2.kind==="application"&&C2.protocol.indexOf("SCTP")!==-1})},pe=function(Ye){var u2=Ye.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(u2===null||u2.length<2)return-1;var f2=parseInt(u2[1],10);return f2!==f2?-1:f2},F=function(Ye){var u2=65536;return Se.browser==="firefox"&&(Se.version<57?Ye===-1?u2=16384:u2=2147483637:Se.version<60?u2=Se.version===57?65535:65536:u2=2147483637),u2},te=function(Ye,u2){var f2=65536;Se.browser==="firefox"&&Se.version===57&&(f2=65535);var C2=N.default.matchPrefix(Ye.sdp,"a=max-message-size:");return C2.length>0?f2=parseInt(C2[0].substr(19),10):Se.browser==="firefox"&&u2!==-1&&(f2=2147483637),f2},oe=_e.RTCPeerConnection.prototype.setRemoteDescription;_e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,Se.browser==="chrome"&&Se.version>=76){var Ye=this.getConfiguration(),u2=Ye.sdpSemantics;u2==="plan-b"&&Object.defineProperty(this,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(n2(arguments[0])){var f2=pe(arguments[0]),C2=F(f2),F2=te(arguments[0],f2),W2=void 0;C2===0&&F2===0?W2=Number.POSITIVE_INFINITY:C2===0||F2===0?W2=Math.max(C2,F2):W2=Math.min(C2,F2);var N2={};Object.defineProperty(N2,"maxMessageSize",{get:function(){return W2}}),this._sctp=N2}return oe.apply(this,arguments)}}}function ae(_e){if(!(_e.RTCPeerConnection&&"createDataChannel"in _e.RTCPeerConnection.prototype))return;function Se(pe,F){var te=pe.send;pe.send=function(){var ze=arguments[0],Ye=ze.length||ze.size||ze.byteLength;if(pe.readyState==="open"&&F.sctp&&Ye>F.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+F.sctp.maxMessageSize+" bytes)");return te.apply(pe,arguments)}}var n2=_e.RTCPeerConnection.prototype.createDataChannel;_e.RTCPeerConnection.prototype.createDataChannel=function(){var F=n2.apply(this,arguments);return Se(F,this),F},B.wrapPeerConnectionEvent(_e,"datachannel",function(pe){return Se(pe.channel,pe.target),pe})}function We(_e){if(!(!_e.RTCPeerConnection||"connectionState"in _e.RTCPeerConnection.prototype)){var Se=_e.RTCPeerConnection.prototype;Object.defineProperty(Se,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(Se,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(pe){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),pe&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=pe)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(function(n2){var pe=Se[n2];Se[n2]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(F){var te=F.target;if(te._lastConnectionState!==te.connectionState){te._lastConnectionState=te.connectionState;var oe=new Event("connectionstatechange",F);te.dispatchEvent(oe)}return F},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),pe.apply(this,arguments)}})}}function Pe(_e){if(_e.RTCPeerConnection){var Se=B.detectBrowser(_e);if(!(Se.browser==="chrome"&&Se.version>=71)){var n2=_e.RTCPeerConnection.prototype.setRemoteDescription;_e.RTCPeerConnection.prototype.setRemoteDescription=function(F){return F&&F.sdp&&F.sdp.indexOf(` |
|
|
a=extmap-allow-mixed`)!==-1&&(F.sdp=F.sdp.split(` |
|
|
`).filter(function(te){return te.trim()!=="a=extmap-allow-mixed"}).join(` |
|
|
`)),n2.apply(this,arguments)}}}}},{"./utils":15,sdp:17}],7:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=w.shimGetUserMedia=void 0;var T=Q("./getusermedia");Object.defineProperty(w,"shimGetUserMedia",{enumerable:!0,get:function(){return T.shimGetUserMedia}});var P=Q("./getdisplaymedia");Object.defineProperty(w,"shimGetDisplayMedia",{enumerable:!0,get:function(){return P.shimGetDisplayMedia}}),w.shimPeerConnection=ae,w.shimReplaceTrack=We;var N=Q("../utils"),O=le(N),B=Q("./filtericeservers"),de=Q("rtcpeerconnection-shim"),me=fe(de);function fe(Pe){return Pe&&Pe.__esModule?Pe:{default:Pe}}function le(Pe){if(Pe&&Pe.__esModule)return Pe;var _e={};if(Pe!=null)for(var Se in Pe)Object.prototype.hasOwnProperty.call(Pe,Se)&&(_e[Se]=Pe[Se]);return _e.default=Pe,_e}function ae(Pe){var _e=O.detectBrowser(Pe);if(Pe.RTCIceGatherer&&(Pe.RTCIceCandidate||(Pe.RTCIceCandidate=function(F){return F}),Pe.RTCSessionDescription||(Pe.RTCSessionDescription=function(F){return F}),_e.version<15025)){var Se=Object.getOwnPropertyDescriptor(Pe.MediaStreamTrack.prototype,"enabled");Object.defineProperty(Pe.MediaStreamTrack.prototype,"enabled",{set:function(F){Se.set.call(this,F);var te=new Event("enabled");te.enabled=F,this.dispatchEvent(te)}})}Pe.RTCRtpSender&&!("dtmf"in Pe.RTCRtpSender.prototype)&&Object.defineProperty(Pe.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=new Pe.RTCDtmfSender(this):this.track.kind==="video"&&(this._dtmf=null)),this._dtmf}}),Pe.RTCDtmfSender&&!Pe.RTCDTMFSender&&(Pe.RTCDTMFSender=Pe.RTCDtmfSender);var n2=(0,me.default)(Pe,_e.version);Pe.RTCPeerConnection=function(F){return F&&F.iceServers&&(F.iceServers=(0,B.filterIceServers)(F.iceServers,_e.version),O.log("ICE servers after filtering:",F.iceServers)),new n2(F)},Pe.RTCPeerConnection.prototype=n2.prototype}function We(Pe){Pe.RTCRtpSender&&!("replaceTrack"in Pe.RTCRtpSender.prototype)&&(Pe.RTCRtpSender.prototype.replaceTrack=Pe.RTCRtpSender.prototype.setTrack)}},{"../utils":15,"./filtericeservers":8,"./getdisplaymedia":9,"./getusermedia":10,"rtcpeerconnection-shim":16}],8:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.filterIceServers=O;var T=Q("../utils"),P=N(T);function N(B){if(B&&B.__esModule)return B;var de={};if(B!=null)for(var me in B)Object.prototype.hasOwnProperty.call(B,me)&&(de[me]=B[me]);return de.default=B,de}function O(B,de){var me=!1;return B=JSON.parse(JSON.stringify(B)),B.filter(function(fe){if(fe&&(fe.urls||fe.url)){var le=fe.urls||fe.url;fe.url&&!fe.urls&&P.deprecated("RTCIceServer.url","RTCIceServer.urls");var ae=typeof le=="string";return ae&&(le=[le]),le=le.filter(function(We){if(We.indexOf("stun:")===0)return!1;var Pe=We.startsWith("turn")&&!We.startsWith("turn:[")&&We.includes("transport=udp");return Pe&&!me?(me=!0,!0):Pe&&!me}),delete fe.url,fe.urls=ae?le[0]:le,!!le.length}})}},{"../utils":15}],9:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=T;function T(P){"getDisplayMedia"in P.navigator&&P.navigator.mediaDevices&&(P.navigator.mediaDevices&&"getDisplayMedia"in P.navigator.mediaDevices||(P.navigator.mediaDevices.getDisplayMedia=P.navigator.getDisplayMedia.bind(P.navigator)))}},{}],10:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetUserMedia=T;function T(P){var N=P&&P.navigator,O=function(me){return{name:{PermissionDeniedError:"NotAllowedError"}[me.name]||me.name,message:me.message,constraint:me.constraint,toString:function(){return this.name}}},B=N.mediaDevices.getUserMedia.bind(N.mediaDevices);N.mediaDevices.getUserMedia=function(de){return B(de).catch(function(me){return Promise.reject(O(me))})}}},{}],11:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=w.shimGetUserMedia=void 0;var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(F){return t(F)}:function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":t(F)},P=Q("./getusermedia");Object.defineProperty(w,"shimGetUserMedia",{enumerable:!0,get:function(){return P.shimGetUserMedia}});var N=Q("./getdisplaymedia");Object.defineProperty(w,"shimGetDisplayMedia",{enumerable:!0,get:function(){return N.shimGetDisplayMedia}}),w.shimOnTrack=fe,w.shimPeerConnection=le,w.shimSenderGetStats=ae,w.shimReceiverGetStats=We,w.shimRemoveStream=Pe,w.shimRTCDataChannel=_e,w.shimAddTransceiver=Se,w.shimCreateOffer=n2,w.shimCreateAnswer=pe;var O=Q("../utils"),B=de(O);function de(F){if(F&&F.__esModule)return F;var te={};if(F!=null)for(var oe in F)Object.prototype.hasOwnProperty.call(F,oe)&&(te[oe]=F[oe]);return te.default=F,te}function me(F,te,oe){return te in F?Object.defineProperty(F,te,{value:oe,enumerable:!0,configurable:!0,writable:!0}):F[te]=oe,F}function fe(F){(typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCTrackEvent&&"receiver"in F.RTCTrackEvent.prototype&&!("transceiver"in F.RTCTrackEvent.prototype)&&Object.defineProperty(F.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function le(F){var te=B.detectBrowser(F);if(!((typeof F=="undefined"?"undefined":T(F))!=="object"||!(F.RTCPeerConnection||F.mozRTCPeerConnection))){if(!F.RTCPeerConnection&&F.mozRTCPeerConnection&&(F.RTCPeerConnection=F.mozRTCPeerConnection),te.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(u2){var f2=F.RTCPeerConnection.prototype[u2],C2=me({},u2,function(){return arguments[0]=new(u2==="addIceCandidate"?F.RTCIceCandidate:F.RTCSessionDescription)(arguments[0]),f2.apply(this,arguments)});F.RTCPeerConnection.prototype[u2]=C2[u2]}),te.version<68){var oe=F.RTCPeerConnection.prototype.addIceCandidate;F.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?arguments[0]&&arguments[0].candidate===""?Promise.resolve():oe.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}var ze={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},Ye=F.RTCPeerConnection.prototype.getStats;F.RTCPeerConnection.prototype.getStats=function(){var f2=Array.prototype.slice.call(arguments),C2=f2[0],F2=f2[1],W2=f2[2];return Ye.apply(this,[C2||null]).then(function(N2){if(te.version<53&&!F2)try{N2.forEach(function(Lt){Lt.type=ze[Lt.type]||Lt.type})}catch(Lt){if(Lt.name!=="TypeError")throw Lt;N2.forEach(function(Ot,Bt){N2.set(Bt,Object.assign({},Ot,{type:ze[Ot.type]||Ot.type}))})}return N2}).then(F2,W2)}}}function ae(F){if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection&&F.RTCRtpSender&&!(F.RTCRtpSender&&"getStats"in F.RTCRtpSender.prototype)){var te=F.RTCPeerConnection.prototype.getSenders;te&&(F.RTCPeerConnection.prototype.getSenders=function(){var Ye=this,u2=te.apply(this,[]);return u2.forEach(function(f2){return f2._pc=Ye}),u2});var oe=F.RTCPeerConnection.prototype.addTrack;oe&&(F.RTCPeerConnection.prototype.addTrack=function(){var Ye=oe.apply(this,arguments);return Ye._pc=this,Ye}),F.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}}function We(F){if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection&&F.RTCRtpSender&&!(F.RTCRtpSender&&"getStats"in F.RTCRtpReceiver.prototype)){var te=F.RTCPeerConnection.prototype.getReceivers;te&&(F.RTCPeerConnection.prototype.getReceivers=function(){var ze=this,Ye=te.apply(this,[]);return Ye.forEach(function(u2){return u2._pc=ze}),Ye}),B.wrapPeerConnectionEvent(F,"track",function(oe){return oe.receiver._pc=oe.srcElement,oe}),F.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}}function Pe(F){!F.RTCPeerConnection||"removeStream"in F.RTCPeerConnection.prototype||(F.RTCPeerConnection.prototype.removeStream=function(oe){var ze=this;B.deprecated("removeStream","removeTrack"),this.getSenders().forEach(function(Ye){Ye.track&&oe.getTracks().includes(Ye.track)&&ze.removeTrack(Ye)})})}function _e(F){F.DataChannel&&!F.RTCDataChannel&&(F.RTCDataChannel=F.DataChannel)}function Se(F){if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection){var te=F.RTCPeerConnection.prototype.addTransceiver;te&&(F.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var ze=arguments[1],Ye=ze&&"sendEncodings"in ze;Ye&&ze.sendEncodings.forEach(function(F2){if("rid"in F2){var W2=/^[a-z0-9]{0,16}$/i;if(!W2.test(F2.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in F2&&!(parseFloat(F2.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in F2&&!(parseFloat(F2.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});var u2=te.apply(this,arguments);if(Ye){var f2=u2.sender,C2=f2.getParameters();"encodings"in C2||(C2.encodings=ze.sendEncodings,this.setParametersPromises.push(f2.setParameters(C2).catch(function(){})))}return u2})}}function n2(F){if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection){var te=F.RTCPeerConnection.prototype.createOffer;F.RTCPeerConnection.prototype.createOffer=function(){var ze=this,Ye=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return te.apply(ze,Ye)}).finally(function(){ze.setParametersPromises=[]}):te.apply(this,arguments)}}}function pe(F){if((typeof F=="undefined"?"undefined":T(F))==="object"&&F.RTCPeerConnection){var te=F.RTCPeerConnection.prototype.createAnswer;F.RTCPeerConnection.prototype.createAnswer=function(){var ze=this,Ye=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return te.apply(ze,Ye)}).finally(function(){ze.setParametersPromises=[]}):te.apply(this,arguments)}}}},{"../utils":15,"./getdisplaymedia":12,"./getusermedia":13}],12:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0}),w.shimGetDisplayMedia=T;function T(P,N){P.navigator.mediaDevices&&"getDisplayMedia"in P.navigator.mediaDevices||P.navigator.mediaDevices&&(P.navigator.mediaDevices.getDisplayMedia=function(B){if(!(B&&B.video)){var de=new DOMException("getDisplayMedia without video constraints is undefined");return de.name="NotFoundError",de.code=8,Promise.reject(de)}return B.video===!0?B.video={mediaSource:N}:B.video.mediaSource=N,P.navigator.mediaDevices.getUserMedia(B)})}},{}],13:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(de){return t(de)}:function(de){return de&&typeof Symbol=="function"&&de.constructor===Symbol&&de!==Symbol.prototype?"symbol":t(de)};w.shimGetUserMedia=B;var P=Q("../utils"),N=O(P);function O(de){if(de&&de.__esModule)return de;var me={};if(de!=null)for(var fe in de)Object.prototype.hasOwnProperty.call(de,fe)&&(me[fe]=de[fe]);return me.default=de,me}function B(de){var me=N.detectBrowser(de),fe=de&&de.navigator,le=de&&de.MediaStreamTrack;if(fe.getUserMedia=function(Se,n2,pe){N.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),fe.mediaDevices.getUserMedia(Se).then(n2,pe)},!(me.version>55&&"autoGainControl"in fe.mediaDevices.getSupportedConstraints())){var ae=function(n2,pe,F){pe in n2&&!(F in n2)&&(n2[F]=n2[pe],delete n2[pe])},We=fe.mediaDevices.getUserMedia.bind(fe.mediaDevices);if(fe.mediaDevices.getUserMedia=function(Se){return(typeof Se=="undefined"?"undefined":T(Se))==="object"&&T(Se.audio)==="object"&&(Se=JSON.parse(JSON.stringify(Se)),ae(Se.audio,"autoGainControl","mozAutoGainControl"),ae(Se.audio,"noiseSuppression","mozNoiseSuppression")),We(Se)},le&&le.prototype.getSettings){var Pe=le.prototype.getSettings;le.prototype.getSettings=function(){var Se=Pe.apply(this,arguments);return ae(Se,"mozAutoGainControl","autoGainControl"),ae(Se,"mozNoiseSuppression","noiseSuppression"),Se}}if(le&&le.prototype.applyConstraints){var _e=le.prototype.applyConstraints;le.prototype.applyConstraints=function(Se){return this.kind==="audio"&&(typeof Se=="undefined"?"undefined":T(Se))==="object"&&(Se=JSON.parse(JSON.stringify(Se)),ae(Se,"autoGainControl","mozAutoGainControl"),ae(Se,"noiseSuppression","mozNoiseSuppression")),_e.apply(this,[Se])}}}}},{"../utils":15}],14:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(_e){return t(_e)}:function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":t(_e)};w.shimLocalStreamsAPI=B,w.shimRemoteStreamsAPI=de,w.shimCallbacksAPI=me,w.shimGetUserMedia=fe,w.shimConstraints=le,w.shimRTCIceServerUrls=ae,w.shimTrackEventTransceiver=We,w.shimCreateOfferLegacy=Pe;var P=Q("../utils"),N=O(P);function O(_e){if(_e&&_e.__esModule)return _e;var Se={};if(_e!=null)for(var n2 in _e)Object.prototype.hasOwnProperty.call(_e,n2)&&(Se[n2]=_e[n2]);return Se.default=_e,Se}function B(_e){if(!((typeof _e=="undefined"?"undefined":T(_e))!=="object"||!_e.RTCPeerConnection)){if("getLocalStreams"in _e.RTCPeerConnection.prototype||(_e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in _e.RTCPeerConnection.prototype)){var Se=_e.RTCPeerConnection.prototype.addTrack;_e.RTCPeerConnection.prototype.addStream=function(pe){var F=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(pe)||this._localStreams.push(pe),pe.getAudioTracks().forEach(function(te){return Se.call(F,te,pe)}),pe.getVideoTracks().forEach(function(te){return Se.call(F,te,pe)})},_e.RTCPeerConnection.prototype.addTrack=function(pe){var F=arguments[1];return F&&(this._localStreams?this._localStreams.includes(F)||this._localStreams.push(F):this._localStreams=[F]),Se.apply(this,arguments)}}"removeStream"in _e.RTCPeerConnection.prototype||(_e.RTCPeerConnection.prototype.removeStream=function(pe){var F=this;this._localStreams||(this._localStreams=[]);var te=this._localStreams.indexOf(pe);if(te!==-1){this._localStreams.splice(te,1);var oe=pe.getTracks();this.getSenders().forEach(function(ze){oe.includes(ze.track)&&F.removeTrack(ze)})}})}}function de(_e){if(!((typeof _e=="undefined"?"undefined":T(_e))!=="object"||!_e.RTCPeerConnection)&&("getRemoteStreams"in _e.RTCPeerConnection.prototype||(_e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in _e.RTCPeerConnection.prototype))){Object.defineProperty(_e.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(pe){var F=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=pe),this.addEventListener("track",this._onaddstreampoly=function(te){te.streams.forEach(function(oe){if(F._remoteStreams||(F._remoteStreams=[]),!F._remoteStreams.includes(oe)){F._remoteStreams.push(oe);var ze=new Event("addstream");ze.stream=oe,F.dispatchEvent(ze)}})})}});var Se=_e.RTCPeerConnection.prototype.setRemoteDescription;_e.RTCPeerConnection.prototype.setRemoteDescription=function(){var pe=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(F){F.streams.forEach(function(te){if(pe._remoteStreams||(pe._remoteStreams=[]),!(pe._remoteStreams.indexOf(te)>=0)){pe._remoteStreams.push(te);var oe=new Event("addstream");oe.stream=te,pe.dispatchEvent(oe)}})}),Se.apply(pe,arguments)}}}function me(_e){if(!((typeof _e=="undefined"?"undefined":T(_e))!=="object"||!_e.RTCPeerConnection)){var Se=_e.RTCPeerConnection.prototype,n2=Se.createOffer,pe=Se.createAnswer,F=Se.setLocalDescription,te=Se.setRemoteDescription,oe=Se.addIceCandidate;Se.createOffer=function(u2,f2){var C2=arguments.length>=2?arguments[2]:arguments[0],F2=n2.apply(this,[C2]);return f2?(F2.then(u2,f2),Promise.resolve()):F2},Se.createAnswer=function(u2,f2){var C2=arguments.length>=2?arguments[2]:arguments[0],F2=pe.apply(this,[C2]);return f2?(F2.then(u2,f2),Promise.resolve()):F2};var ze=function(u2,f2,C2){var F2=F.apply(this,[u2]);return C2?(F2.then(f2,C2),Promise.resolve()):F2};Se.setLocalDescription=ze,ze=function(u2,f2,C2){var F2=te.apply(this,[u2]);return C2?(F2.then(f2,C2),Promise.resolve()):F2},Se.setRemoteDescription=ze,ze=function(u2,f2,C2){var F2=oe.apply(this,[u2]);return C2?(F2.then(f2,C2),Promise.resolve()):F2},Se.addIceCandidate=ze}}function fe(_e){var Se=_e&&_e.navigator;if(Se.mediaDevices&&Se.mediaDevices.getUserMedia){var n2=Se.mediaDevices,pe=n2.getUserMedia.bind(n2);Se.mediaDevices.getUserMedia=function(F){return pe(le(F))}}!Se.getUserMedia&&Se.mediaDevices&&Se.mediaDevices.getUserMedia&&(Se.getUserMedia=function(te,oe,ze){Se.mediaDevices.getUserMedia(te).then(oe,ze)}.bind(Se))}function le(_e){return _e&&_e.video!==void 0?Object.assign({},_e,{video:N.compactObject(_e.video)}):_e}function ae(_e){var Se=_e.RTCPeerConnection;_e.RTCPeerConnection=function(pe,F){if(pe&&pe.iceServers){for(var te=[],oe=0;oe<pe.iceServers.length;oe++){var ze=pe.iceServers[oe];!ze.hasOwnProperty("urls")&&ze.hasOwnProperty("url")?(N.deprecated("RTCIceServer.url","RTCIceServer.urls"),ze=JSON.parse(JSON.stringify(ze)),ze.urls=ze.url,delete ze.url,te.push(ze)):te.push(pe.iceServers[oe])}pe.iceServers=te}return new Se(pe,F)},_e.RTCPeerConnection.prototype=Se.prototype,"generateCertificate"in _e.RTCPeerConnection&&Object.defineProperty(_e.RTCPeerConnection,"generateCertificate",{get:function(){return Se.generateCertificate}})}function We(_e){(typeof _e=="undefined"?"undefined":T(_e))==="object"&&_e.RTCTrackEvent&&"receiver"in _e.RTCTrackEvent.prototype&&!("transceiver"in _e.RTCTrackEvent.prototype)&&Object.defineProperty(_e.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function Pe(_e){var Se=_e.RTCPeerConnection.prototype.createOffer;_e.RTCPeerConnection.prototype.createOffer=function(pe){if(pe){typeof pe.offerToReceiveAudio!="undefined"&&(pe.offerToReceiveAudio=!!pe.offerToReceiveAudio);var F=this.getTransceivers().find(function(oe){return oe.receiver.track.kind==="audio"});pe.offerToReceiveAudio===!1&&F?F.direction==="sendrecv"?F.setDirection?F.setDirection("sendonly"):F.direction="sendonly":F.direction==="recvonly"&&(F.setDirection?F.setDirection("inactive"):F.direction="inactive"):pe.offerToReceiveAudio===!0&&!F&&this.addTransceiver("audio"),typeof pe.offerToReceiveVideo!="undefined"&&(pe.offerToReceiveVideo=!!pe.offerToReceiveVideo);var te=this.getTransceivers().find(function(oe){return oe.receiver.track.kind==="video"});pe.offerToReceiveVideo===!1&&te?te.direction==="sendrecv"?te.setDirection?te.setDirection("sendonly"):te.direction="sendonly":te.direction==="recvonly"&&(te.setDirection?te.setDirection("inactive"):te.direction="inactive"):pe.offerToReceiveVideo===!0&&!te&&this.addTransceiver("video")}return Se.apply(this,arguments)}}},{"../utils":15}],15:[function(Q,U,w){Object.defineProperty(w,"__esModule",{value:!0});var T=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(pe){return t(pe)}:function(pe){return pe&&typeof Symbol=="function"&&pe.constructor===Symbol&&pe!==Symbol.prototype?"symbol":t(pe)};w.extractVersion=B,w.wrapPeerConnectionEvent=de,w.disableLog=me,w.disableWarnings=fe,w.log=le,w.deprecated=ae,w.detectBrowser=We,w.compactObject=_e,w.walkStats=Se,w.filterStats=n2;function P(pe,F,te){return F in pe?Object.defineProperty(pe,F,{value:te,enumerable:!0,configurable:!0,writable:!0}):pe[F]=te,pe}var N=!0,O=!0;function B(pe,F,te){var oe=pe.match(F);return oe&&oe.length>=te&&parseInt(oe[te],10)}function de(pe,F,te){if(pe.RTCPeerConnection){var oe=pe.RTCPeerConnection.prototype,ze=oe.addEventListener;oe.addEventListener=function(u2,f2){if(u2!==F)return ze.apply(this,arguments);var C2=function(W2){var N2=te(W2);N2&&f2(N2)};return this._eventMap=this._eventMap||{},this._eventMap[f2]=C2,ze.apply(this,[u2,C2])};var Ye=oe.removeEventListener;oe.removeEventListener=function(u2,f2){if(u2!==F||!this._eventMap||!this._eventMap[f2])return Ye.apply(this,arguments);var C2=this._eventMap[f2];return delete this._eventMap[f2],Ye.apply(this,[u2,C2])},Object.defineProperty(oe,"on"+F,{get:function(){return this["_on"+F]},set:function(f2){this["_on"+F]&&(this.removeEventListener(F,this["_on"+F]),delete this["_on"+F]),f2&&this.addEventListener(F,this["_on"+F]=f2)},enumerable:!0,configurable:!0})}}function me(pe){return typeof pe!="boolean"?new Error("Argument type: "+(typeof pe=="undefined"?"undefined":T(pe))+". Please use a boolean."):(N=pe,pe?"adapter.js logging disabled":"adapter.js logging enabled")}function fe(pe){return typeof pe!="boolean"?new Error("Argument type: "+(typeof pe=="undefined"?"undefined":T(pe))+". Please use a boolean."):(O=!pe,"adapter.js deprecation warnings "+(pe?"disabled":"enabled"))}function le(){if((typeof window=="undefined"?"undefined":T(window))==="object"){if(N)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function ae(pe,F){O&&console.warn(pe+" is deprecated, please use "+F+" instead.")}function We(pe){var F=pe.navigator,te={browser:null,version:null};if(typeof pe=="undefined"||!pe.navigator)return te.browser="Not a browser.",te;if(F.mozGetUserMedia)te.browser="firefox",te.version=B(F.userAgent,/Firefox\/(\d+)\./,1);else if(F.webkitGetUserMedia||pe.isSecureContext===!1&&pe.webkitRTCPeerConnection&&!pe.RTCIceGatherer)te.browser="chrome",te.version=B(F.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(F.mediaDevices&&F.userAgent.match(/Edge\/(\d+).(\d+)$/))te.browser="edge",te.version=B(F.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(pe.RTCPeerConnection&&F.userAgent.match(/AppleWebKit\/(\d+)\./))te.browser="safari",te.version=B(F.userAgent,/AppleWebKit\/(\d+)\./,1),te.supportsUnifiedPlan=pe.RTCRtpTransceiver&&"currentDirection"in pe.RTCRtpTransceiver.prototype;else return te.browser="Not a supported browser.",te;return te}function Pe(pe){return Object.prototype.toString.call(pe)==="[object Object]"}function _e(pe){return Pe(pe)?Object.keys(pe).reduce(function(F,te){var oe=Pe(pe[te]),ze=oe?_e(pe[te]):pe[te],Ye=oe&&!Object.keys(ze).length;return ze===void 0||Ye?F:Object.assign(F,P({},te,ze))},{}):pe}function Se(pe,F,te){!F||te.has(F.id)||(te.set(F.id,F),Object.keys(F).forEach(function(oe){oe.endsWith("Id")?Se(pe,pe.get(F[oe]),te):oe.endsWith("Ids")&&F[oe].forEach(function(ze){Se(pe,pe.get(ze),te)})}))}function n2(pe,F,te){var oe=te?"outbound-rtp":"inbound-rtp",ze=new Map;if(F===null)return ze;var Ye=[];return pe.forEach(function(u2){u2.type==="track"&&u2.trackIdentifier===F.id&&Ye.push(u2)}),Ye.forEach(function(u2){pe.forEach(function(f2){f2.type===oe&&f2.trackId===u2.id&&Se(pe,f2,ze)})}),ze}},{}],16:[function(Q,U,w){var T=Q("sdp");function P(le){return{inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[le.type]||le.type}function N(le,ae,We,Pe,_e){var Se=T.writeRtpDescription(le.kind,ae);if(Se+=T.writeIceParameters(le.iceGatherer.getLocalParameters()),Se+=T.writeDtlsParameters(le.dtlsTransport.getLocalParameters(),We==="offer"?"actpass":_e||"active"),Se+="a=mid:"+le.mid+`\r |
|
|
`,le.rtpSender&&le.rtpReceiver?Se+=`a=sendrecv\r |
|
|
`:le.rtpSender?Se+=`a=sendonly\r |
|
|
`:le.rtpReceiver?Se+=`a=recvonly\r |
|
|
`:Se+=`a=inactive\r |
|
|
`,le.rtpSender){var n2=le.rtpSender._initialTrackId||le.rtpSender.track.id;le.rtpSender._initialTrackId=n2;var pe="msid:"+(Pe?Pe.id:"-")+" "+n2+`\r |
|
|
`;Se+="a="+pe,Se+="a=ssrc:"+le.sendEncodingParameters[0].ssrc+" "+pe,le.sendEncodingParameters[0].rtx&&(Se+="a=ssrc:"+le.sendEncodingParameters[0].rtx.ssrc+" "+pe,Se+="a=ssrc-group:FID "+le.sendEncodingParameters[0].ssrc+" "+le.sendEncodingParameters[0].rtx.ssrc+`\r |
|
|
`)}return Se+="a=ssrc:"+le.sendEncodingParameters[0].ssrc+" cname:"+T.localCName+`\r |
|
|
`,le.rtpSender&&le.sendEncodingParameters[0].rtx&&(Se+="a=ssrc:"+le.sendEncodingParameters[0].rtx.ssrc+" cname:"+T.localCName+`\r |
|
|
`),Se}function O(le,ae){var We=!1;return le=JSON.parse(JSON.stringify(le)),le.filter(function(Pe){if(Pe&&(Pe.urls||Pe.url)){var _e=Pe.urls||Pe.url;Pe.url&&!Pe.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var Se=typeof _e=="string";return Se&&(_e=[_e]),_e=_e.filter(function(n2){var pe=n2.indexOf("turn:")===0&&n2.indexOf("transport=udp")!==-1&&n2.indexOf("turn:[")===-1&&!We;return pe?(We=!0,!0):n2.indexOf("stun:")===0&&ae>=14393&&n2.indexOf("?transport=udp")===-1}),delete Pe.url,Pe.urls=Se?_e[0]:_e,!!_e.length}})}function B(le,ae){var We={codecs:[],headerExtensions:[],fecMechanisms:[]},Pe=function(n2,pe){n2=parseInt(n2,10);for(var F=0;F<pe.length;F++)if(pe[F].payloadType===n2||pe[F].preferredPayloadType===n2)return pe[F]},_e=function(n2,pe,F,te){var oe=Pe(n2.parameters.apt,F),ze=Pe(pe.parameters.apt,te);return oe&&ze&&oe.name.toLowerCase()===ze.name.toLowerCase()};return le.codecs.forEach(function(Se){for(var n2=0;n2<ae.codecs.length;n2++){var pe=ae.codecs[n2];if(Se.name.toLowerCase()===pe.name.toLowerCase()&&Se.clockRate===pe.clockRate){if(Se.name.toLowerCase()==="rtx"&&Se.parameters&&pe.parameters.apt&&!_e(Se,pe,le.codecs,ae.codecs))continue;pe=JSON.parse(JSON.stringify(pe)),pe.numChannels=Math.min(Se.numChannels,pe.numChannels),We.codecs.push(pe),pe.rtcpFeedback=pe.rtcpFeedback.filter(function(F){for(var te=0;te<Se.rtcpFeedback.length;te++)if(Se.rtcpFeedback[te].type===F.type&&Se.rtcpFeedback[te].parameter===F.parameter)return!0;return!1});break}}}),le.headerExtensions.forEach(function(Se){for(var n2=0;n2<ae.headerExtensions.length;n2++){var pe=ae.headerExtensions[n2];if(Se.uri===pe.uri){We.headerExtensions.push(pe);break}}}),We}function de(le,ae,We){return{offer:{setLocalDescription:["stable","have-local-offer"],setRemoteDescription:["stable","have-remote-offer"]},answer:{setLocalDescription:["have-remote-offer","have-local-pranswer"],setRemoteDescription:["have-local-offer","have-remote-pranswer"]}}[ae][le].indexOf(We)!==-1}function me(le,ae){var We=le.getRemoteCandidates().find(function(Pe){return ae.foundation===Pe.foundation&&ae.ip===Pe.ip&&ae.port===Pe.port&&ae.priority===Pe.priority&&ae.protocol===Pe.protocol&&ae.type===Pe.type});return We||le.addRemoteCandidate(ae),!We}function fe(le,ae){var We=new Error(ae);return We.name=le,We.code={NotSupportedError:9,InvalidStateError:11,InvalidAccessError:15,TypeError:void 0,OperationError:void 0}[le],We}U.exports=function(le,ae){function We(F,te){te.addTrack(F),te.dispatchEvent(new le.MediaStreamTrackEvent("addtrack",{track:F}))}function Pe(F,te){te.removeTrack(F),te.dispatchEvent(new le.MediaStreamTrackEvent("removetrack",{track:F}))}function _e(F,te,oe,ze){var Ye=new Event("track");Ye.track=te,Ye.receiver=oe,Ye.transceiver={receiver:oe},Ye.streams=ze,le.setTimeout(function(){F._dispatchEvent("track",Ye)})}var Se=function(te){var oe=this,ze=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(u2){oe[u2]=ze[u2].bind(ze)}),this.canTrickleIceCandidates=null,this.needNegotiation=!1,this.localStreams=[],this.remoteStreams=[],this._localDescription=null,this._remoteDescription=null,this.signalingState="stable",this.iceConnectionState="new",this.connectionState="new",this.iceGatheringState="new",te=JSON.parse(JSON.stringify(te||{})),this.usingBundle=te.bundlePolicy==="max-bundle",te.rtcpMuxPolicy==="negotiate")throw fe("NotSupportedError","rtcpMuxPolicy 'negotiate' is not supported");switch(te.rtcpMuxPolicy||(te.rtcpMuxPolicy="require"),te.iceTransportPolicy){case"all":case"relay":break;default:te.iceTransportPolicy="all";break}switch(te.bundlePolicy){case"balanced":case"max-compat":case"max-bundle":break;default:te.bundlePolicy="balanced";break}if(te.iceServers=O(te.iceServers||[],ae),this._iceGatherers=[],te.iceCandidatePoolSize)for(var Ye=te.iceCandidatePoolSize;Ye>0;Ye--)this._iceGatherers.push(new le.RTCIceGatherer({iceServers:te.iceServers,gatherPolicy:te.iceTransportPolicy}));else te.iceCandidatePoolSize=0;this._config=te,this.transceivers=[],this._sdpSessionId=T.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(Se.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(Se.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),Se.prototype.onicecandidate=null,Se.prototype.onaddstream=null,Se.prototype.ontrack=null,Se.prototype.onremovestream=null,Se.prototype.onsignalingstatechange=null,Se.prototype.oniceconnectionstatechange=null,Se.prototype.onconnectionstatechange=null,Se.prototype.onicegatheringstatechange=null,Se.prototype.onnegotiationneeded=null,Se.prototype.ondatachannel=null,Se.prototype._dispatchEvent=function(F,te){this._isClosed||(this.dispatchEvent(te),typeof this["on"+F]=="function"&&this["on"+F](te))},Se.prototype._emitGatheringStateChange=function(){var F=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",F)},Se.prototype.getConfiguration=function(){return this._config},Se.prototype.getLocalStreams=function(){return this.localStreams},Se.prototype.getRemoteStreams=function(){return this.remoteStreams},Se.prototype._createTransceiver=function(F,te){var oe=this.transceivers.length>0,ze={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:F,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&oe)ze.iceTransport=this.transceivers[0].iceTransport,ze.dtlsTransport=this.transceivers[0].dtlsTransport;else{var Ye=this._createIceAndDtlsTransports();ze.iceTransport=Ye.iceTransport,ze.dtlsTransport=Ye.dtlsTransport}return te||this.transceivers.push(ze),ze},Se.prototype.addTrack=function(F,te){if(this._isClosed)throw fe("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var oe=this.transceivers.find(function(u2){return u2.track===F});if(oe)throw fe("InvalidAccessError","Track already exists.");for(var ze,Ye=0;Ye<this.transceivers.length;Ye++)!this.transceivers[Ye].track&&this.transceivers[Ye].kind===F.kind&&(ze=this.transceivers[Ye]);return ze||(ze=this._createTransceiver(F.kind)),this._maybeFireNegotiationNeeded(),this.localStreams.indexOf(te)===-1&&this.localStreams.push(te),ze.track=F,ze.stream=te,ze.rtpSender=new le.RTCRtpSender(F,ze.dtlsTransport),ze.rtpSender},Se.prototype.addStream=function(F){var te=this;if(ae>=15025)F.getTracks().forEach(function(ze){te.addTrack(ze,F)});else{var oe=F.clone();F.getTracks().forEach(function(ze,Ye){var u2=oe.getTracks()[Ye];ze.addEventListener("enabled",function(f2){u2.enabled=f2.enabled})}),oe.getTracks().forEach(function(ze){te.addTrack(ze,oe)})}},Se.prototype.removeTrack=function(F){if(this._isClosed)throw fe("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(F instanceof le.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var te=this.transceivers.find(function(Ye){return Ye.rtpSender===F});if(!te)throw fe("InvalidAccessError","Sender was not created by this connection.");var oe=te.stream;te.rtpSender.stop(),te.rtpSender=null,te.track=null,te.stream=null;var ze=this.transceivers.map(function(Ye){return Ye.stream});ze.indexOf(oe)===-1&&this.localStreams.indexOf(oe)>-1&&this.localStreams.splice(this.localStreams.indexOf(oe),1),this._maybeFireNegotiationNeeded()},Se.prototype.removeStream=function(F){var te=this;F.getTracks().forEach(function(oe){var ze=te.getSenders().find(function(Ye){return Ye.track===oe});ze&&te.removeTrack(ze)})},Se.prototype.getSenders=function(){return this.transceivers.filter(function(F){return!!F.rtpSender}).map(function(F){return F.rtpSender})},Se.prototype.getReceivers=function(){return this.transceivers.filter(function(F){return!!F.rtpReceiver}).map(function(F){return F.rtpReceiver})},Se.prototype._createIceGatherer=function(F,te){var oe=this;if(te&&F>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var ze=new le.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(ze,"state",{value:"new",writable:!0}),this.transceivers[F].bufferedCandidateEvents=[],this.transceivers[F].bufferCandidates=function(Ye){var u2=!Ye.candidate||Object.keys(Ye.candidate).length===0;ze.state=u2?"completed":"gathering",oe.transceivers[F].bufferedCandidateEvents!==null&&oe.transceivers[F].bufferedCandidateEvents.push(Ye)},ze.addEventListener("localcandidate",this.transceivers[F].bufferCandidates),ze},Se.prototype._gather=function(F,te){var oe=this,ze=this.transceivers[te].iceGatherer;if(!ze.onlocalcandidate){var Ye=this.transceivers[te].bufferedCandidateEvents;this.transceivers[te].bufferedCandidateEvents=null,ze.removeEventListener("localcandidate",this.transceivers[te].bufferCandidates),ze.onlocalcandidate=function(u2){if(!(oe.usingBundle&&te>0)){var f2=new Event("icecandidate");f2.candidate={sdpMid:F,sdpMLineIndex:te};var C2=u2.candidate,F2=!C2||Object.keys(C2).length===0;if(F2)(ze.state==="new"||ze.state==="gathering")&&(ze.state="completed");else{ze.state==="new"&&(ze.state="gathering"),C2.component=1,C2.ufrag=ze.getLocalParameters().usernameFragment;var W2=T.writeCandidate(C2);f2.candidate=Object.assign(f2.candidate,T.parseCandidate(W2)),f2.candidate.candidate=W2,f2.candidate.toJSON=function(){return{candidate:f2.candidate.candidate,sdpMid:f2.candidate.sdpMid,sdpMLineIndex:f2.candidate.sdpMLineIndex,usernameFragment:f2.candidate.usernameFragment}}}var N2=T.getMediaSections(oe._localDescription.sdp);F2?N2[f2.candidate.sdpMLineIndex]+=`a=end-of-candidates\r |
|
|
`:N2[f2.candidate.sdpMLineIndex]+="a="+f2.candidate.candidate+`\r |
|
|
`,oe._localDescription.sdp=T.getDescription(oe._localDescription.sdp)+N2.join("");var Lt=oe.transceivers.every(function(Ot){return Ot.iceGatherer&&Ot.iceGatherer.state==="completed"});oe.iceGatheringState!=="gathering"&&(oe.iceGatheringState="gathering",oe._emitGatheringStateChange()),F2||oe._dispatchEvent("icecandidate",f2),Lt&&(oe._dispatchEvent("icecandidate",new Event("icecandidate")),oe.iceGatheringState="complete",oe._emitGatheringStateChange())}},le.setTimeout(function(){Ye.forEach(function(u2){ze.onlocalcandidate(u2)})},0)}},Se.prototype._createIceAndDtlsTransports=function(){var F=this,te=new le.RTCIceTransport(null);te.onicestatechange=function(){F._updateIceConnectionState(),F._updateConnectionState()};var oe=new le.RTCDtlsTransport(te);return oe.ondtlsstatechange=function(){F._updateConnectionState()},oe.onerror=function(){Object.defineProperty(oe,"state",{value:"failed",writable:!0}),F._updateConnectionState()},{iceTransport:te,dtlsTransport:oe}},Se.prototype._disposeIceAndDtlsTransports=function(F){var te=this.transceivers[F].iceGatherer;te&&(delete te.onlocalcandidate,delete this.transceivers[F].iceGatherer);var oe=this.transceivers[F].iceTransport;oe&&(delete oe.onicestatechange,delete this.transceivers[F].iceTransport);var ze=this.transceivers[F].dtlsTransport;ze&&(delete ze.ondtlsstatechange,delete ze.onerror,delete this.transceivers[F].dtlsTransport)},Se.prototype._transceive=function(F,te,oe){var ze=B(F.localCapabilities,F.remoteCapabilities);te&&F.rtpSender&&(ze.encodings=F.sendEncodingParameters,ze.rtcp={cname:T.localCName,compound:F.rtcpParameters.compound},F.recvEncodingParameters.length&&(ze.rtcp.ssrc=F.recvEncodingParameters[0].ssrc),F.rtpSender.send(ze)),oe&&F.rtpReceiver&&ze.codecs.length>0&&(F.kind==="video"&&F.recvEncodingParameters&&ae<15019&&F.recvEncodingParameters.forEach(function(Ye){delete Ye.rtx}),F.recvEncodingParameters.length?ze.encodings=F.recvEncodingParameters:ze.encodings=[{}],ze.rtcp={compound:F.rtcpParameters.compound},F.rtcpParameters.cname&&(ze.rtcp.cname=F.rtcpParameters.cname),F.sendEncodingParameters.length&&(ze.rtcp.ssrc=F.sendEncodingParameters[0].ssrc),F.rtpReceiver.receive(ze))},Se.prototype.setLocalDescription=function(F){var te=this;if(["offer","answer"].indexOf(F.type)===-1)return Promise.reject(fe("TypeError",'Unsupported type "'+F.type+'"'));if(!de("setLocalDescription",F.type,te.signalingState)||te._isClosed)return Promise.reject(fe("InvalidStateError","Can not set local "+F.type+" in state "+te.signalingState));var oe,ze;if(F.type==="offer")oe=T.splitSections(F.sdp),ze=oe.shift(),oe.forEach(function(u2,f2){var C2=T.parseRtpParameters(u2);te.transceivers[f2].localCapabilities=C2}),te.transceivers.forEach(function(u2,f2){te._gather(u2.mid,f2)});else if(F.type==="answer"){oe=T.splitSections(te._remoteDescription.sdp),ze=oe.shift();var Ye=T.matchPrefix(ze,"a=ice-lite").length>0;oe.forEach(function(u2,f2){var C2=te.transceivers[f2],F2=C2.iceGatherer,W2=C2.iceTransport,N2=C2.dtlsTransport,Lt=C2.localCapabilities,Ot=C2.remoteCapabilities,Bt=T.isRejected(u2)&&T.matchPrefix(u2,"a=bundle-only").length===0;if(!Bt&&!C2.rejected){var Kt=T.getIceParameters(u2,ze),Zt=T.getDtlsParameters(u2,ze);Ye&&(Zt.role="server"),(!te.usingBundle||f2===0)&&(te._gather(C2.mid,f2),W2.state==="new"&&W2.start(F2,Kt,Ye?"controlling":"controlled"),N2.state==="new"&&N2.start(Zt));var c3=B(Lt,Ot);te._transceive(C2,c3.codecs.length>0,!1)}})}return te._localDescription={type:F.type,sdp:F.sdp},F.type==="offer"?te._updateSignalingState("have-local-offer"):te._updateSignalingState("stable"),Promise.resolve()},Se.prototype.setRemoteDescription=function(F){var te=this;if(["offer","answer"].indexOf(F.type)===-1)return Promise.reject(fe("TypeError",'Unsupported type "'+F.type+'"'));if(!de("setRemoteDescription",F.type,te.signalingState)||te._isClosed)return Promise.reject(fe("InvalidStateError","Can not set remote "+F.type+" in state "+te.signalingState));var oe={};te.remoteStreams.forEach(function(W2){oe[W2.id]=W2});var ze=[],Ye=T.splitSections(F.sdp),u2=Ye.shift(),f2=T.matchPrefix(u2,"a=ice-lite").length>0,C2=T.matchPrefix(u2,"a=group:BUNDLE ").length>0;te.usingBundle=C2;var F2=T.matchPrefix(u2,"a=ice-options:")[0];return F2?te.canTrickleIceCandidates=F2.substr(14).split(" ").indexOf("trickle")>=0:te.canTrickleIceCandidates=!1,Ye.forEach(function(W2,N2){var Lt=T.splitLines(W2),Ot=T.getKind(W2),Bt=T.isRejected(W2)&&T.matchPrefix(W2,"a=bundle-only").length===0,Kt=Lt[0].substr(2).split(" ")[2],Zt=T.getDirection(W2,u2),c3=T.parseMsid(W2),X3=T.getMid(W2)||T.generateIdentifier();if(Bt||Ot==="application"&&(Kt==="DTLS/SCTP"||Kt==="UDP/DTLS/SCTP")){te.transceivers[N2]={mid:X3,kind:Ot,protocol:Kt,rejected:!0};return}!Bt&&te.transceivers[N2]&&te.transceivers[N2].rejected&&(te.transceivers[N2]=te._createTransceiver(Ot,!0));var Xe,E2,G2,pt,It,m3,o3,n3,O3,xr=T.parseRtpParameters(W2),ni,tn;Bt||(ni=T.getIceParameters(W2,u2),tn=T.getDtlsParameters(W2,u2),tn.role="client"),o3=T.parseRtpEncodingParameters(W2);var zn=T.parseRtcpParameters(W2),t1=T.matchPrefix(W2,"a=end-of-candidates",u2).length>0,g0=T.matchPrefix(W2,"a=candidate:").map(function(zt){return T.parseCandidate(zt)}).filter(function(zt){return zt.component===1});if((F.type==="offer"||F.type==="answer")&&!Bt&&C2&&N2>0&&te.transceivers[N2]&&(te._disposeIceAndDtlsTransports(N2),te.transceivers[N2].iceGatherer=te.transceivers[0].iceGatherer,te.transceivers[N2].iceTransport=te.transceivers[0].iceTransport,te.transceivers[N2].dtlsTransport=te.transceivers[0].dtlsTransport,te.transceivers[N2].rtpSender&&te.transceivers[N2].rtpSender.setTransport(te.transceivers[0].dtlsTransport),te.transceivers[N2].rtpReceiver&&te.transceivers[N2].rtpReceiver.setTransport(te.transceivers[0].dtlsTransport)),F.type==="offer"&&!Bt){Xe=te.transceivers[N2]||te._createTransceiver(Ot),Xe.mid=X3,Xe.iceGatherer||(Xe.iceGatherer=te._createIceGatherer(N2,C2)),g0.length&&Xe.iceTransport.state==="new"&&(t1&&(!C2||N2===0)?Xe.iceTransport.setRemoteCandidates(g0):g0.forEach(function(zt){me(Xe.iceTransport,zt)})),n3=le.RTCRtpReceiver.getCapabilities(Ot),ae<15019&&(n3.codecs=n3.codecs.filter(function(zt){return zt.name!=="rtx"})),m3=Xe.sendEncodingParameters||[{ssrc:(2*N2+2)*1001}];var Mn=!1;if(Zt==="sendrecv"||Zt==="sendonly"){if(Mn=!Xe.rtpReceiver,It=Xe.rtpReceiver||new le.RTCRtpReceiver(Xe.dtlsTransport,Ot),Mn){var z3;O3=It.track,c3&&c3.stream==="-"||(c3?(oe[c3.stream]||(oe[c3.stream]=new le.MediaStream,Object.defineProperty(oe[c3.stream],"id",{get:function(){return c3.stream}})),Object.defineProperty(O3,"id",{get:function(){return c3.track}}),z3=oe[c3.stream]):(oe.default||(oe.default=new le.MediaStream),z3=oe.default)),z3&&(We(O3,z3),Xe.associatedRemoteMediaStreams.push(z3)),ze.push([O3,It,z3])}}else Xe.rtpReceiver&&Xe.rtpReceiver.track&&(Xe.associatedRemoteMediaStreams.forEach(function(zt){var w3=zt.getTracks().find(function(g1){return g1.id===Xe.rtpReceiver.track.id});w3&&Pe(w3,zt)}),Xe.associatedRemoteMediaStreams=[]);Xe.localCapabilities=n3,Xe.remoteCapabilities=xr,Xe.rtpReceiver=It,Xe.rtcpParameters=zn,Xe.sendEncodingParameters=m3,Xe.recvEncodingParameters=o3,te._transceive(te.transceivers[N2],!1,Mn)}else if(F.type==="answer"&&!Bt){Xe=te.transceivers[N2],E2=Xe.iceGatherer,G2=Xe.iceTransport,pt=Xe.dtlsTransport,It=Xe.rtpReceiver,m3=Xe.sendEncodingParameters,n3=Xe.localCapabilities,te.transceivers[N2].recvEncodingParameters=o3,te.transceivers[N2].remoteCapabilities=xr,te.transceivers[N2].rtcpParameters=zn,g0.length&&G2.state==="new"&&((f2||t1)&&(!C2||N2===0)?G2.setRemoteCandidates(g0):g0.forEach(function(zt){me(Xe.iceTransport,zt)})),(!C2||N2===0)&&(G2.state==="new"&&G2.start(E2,ni,"controlling"),pt.state==="new"&&pt.start(tn));var w1=B(Xe.localCapabilities,Xe.remoteCapabilities),Qt=w1.codecs.filter(function(zt){return zt.name.toLowerCase()==="rtx"}).length;!Qt&&Xe.sendEncodingParameters[0].rtx&&delete Xe.sendEncodingParameters[0].rtx,te._transceive(Xe,Zt==="sendrecv"||Zt==="recvonly",Zt==="sendrecv"||Zt==="sendonly"),It&&(Zt==="sendrecv"||Zt==="sendonly")?(O3=It.track,c3?(oe[c3.stream]||(oe[c3.stream]=new le.MediaStream),We(O3,oe[c3.stream]),ze.push([O3,It,oe[c3.stream]])):(oe.default||(oe.default=new le.MediaStream),We(O3,oe.default),ze.push([O3,It,oe.default]))):delete Xe.rtpReceiver}}),te._dtlsRole===void 0&&(te._dtlsRole=F.type==="offer"?"active":"passive"),te._remoteDescription={type:F.type,sdp:F.sdp},F.type==="offer"?te._updateSignalingState("have-remote-offer"):te._updateSignalingState("stable"),Object.keys(oe).forEach(function(W2){var N2=oe[W2];if(N2.getTracks().length){if(te.remoteStreams.indexOf(N2)===-1){te.remoteStreams.push(N2);var Lt=new Event("addstream");Lt.stream=N2,le.setTimeout(function(){te._dispatchEvent("addstream",Lt)})}ze.forEach(function(Ot){var Bt=Ot[0],Kt=Ot[1];N2.id===Ot[2].id&&_e(te,Bt,Kt,[N2])})}}),ze.forEach(function(W2){W2[2]||_e(te,W2[0],W2[1],[])}),le.setTimeout(function(){te&&te.transceivers&&te.transceivers.forEach(function(W2){W2.iceTransport&&W2.iceTransport.state==="new"&&W2.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),W2.iceTransport.addRemoteCandidate({}))})},4e3),Promise.resolve()},Se.prototype.close=function(){this.transceivers.forEach(function(F){F.iceTransport&&F.iceTransport.stop(),F.dtlsTransport&&F.dtlsTransport.stop(),F.rtpSender&&F.rtpSender.stop(),F.rtpReceiver&&F.rtpReceiver.stop()}),this._isClosed=!0,this._updateSignalingState("closed")},Se.prototype._updateSignalingState=function(F){this.signalingState=F;var te=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",te)},Se.prototype._maybeFireNegotiationNeeded=function(){var F=this;this.signalingState!=="stable"||this.needNegotiation===!0||(this.needNegotiation=!0,le.setTimeout(function(){if(F.needNegotiation){F.needNegotiation=!1;var te=new Event("negotiationneeded");F._dispatchEvent("negotiationneeded",te)}},0))},Se.prototype._updateIceConnectionState=function(){var F,te={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(ze){ze.iceTransport&&!ze.rejected&&te[ze.iceTransport.state]++}),F="new",te.failed>0?F="failed":te.checking>0?F="checking":te.disconnected>0?F="disconnected":te.new>0?F="new":te.connected>0?F="connected":te.completed>0&&(F="completed"),F!==this.iceConnectionState){this.iceConnectionState=F;var oe=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",oe)}},Se.prototype._updateConnectionState=function(){var F,te={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(ze){ze.iceTransport&&ze.dtlsTransport&&!ze.rejected&&(te[ze.iceTransport.state]++,te[ze.dtlsTransport.state]++)}),te.connected+=te.completed,F="new",te.failed>0?F="failed":te.connecting>0?F="connecting":te.disconnected>0?F="disconnected":te.new>0?F="new":te.connected>0&&(F="connected"),F!==this.connectionState){this.connectionState=F;var oe=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",oe)}},Se.prototype.createOffer=function(){var F=this;if(F._isClosed)return Promise.reject(fe("InvalidStateError","Can not call createOffer after close"));var te=F.transceivers.filter(function(f2){return f2.kind==="audio"}).length,oe=F.transceivers.filter(function(f2){return f2.kind==="video"}).length,ze=arguments[0];if(ze){if(ze.mandatory||ze.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");ze.offerToReceiveAudio!==void 0&&(ze.offerToReceiveAudio===!0?te=1:ze.offerToReceiveAudio===!1?te=0:te=ze.offerToReceiveAudio),ze.offerToReceiveVideo!==void 0&&(ze.offerToReceiveVideo===!0?oe=1:ze.offerToReceiveVideo===!1?oe=0:oe=ze.offerToReceiveVideo)}for(F.transceivers.forEach(function(f2){f2.kind==="audio"?(te--,te<0&&(f2.wantReceive=!1)):f2.kind==="video"&&(oe--,oe<0&&(f2.wantReceive=!1))});te>0||oe>0;)te>0&&(F._createTransceiver("audio"),te--),oe>0&&(F._createTransceiver("video"),oe--);var Ye=T.writeSessionBoilerplate(F._sdpSessionId,F._sdpSessionVersion++);F.transceivers.forEach(function(f2,C2){var F2=f2.track,W2=f2.kind,N2=f2.mid||T.generateIdentifier();f2.mid=N2,f2.iceGatherer||(f2.iceGatherer=F._createIceGatherer(C2,F.usingBundle));var Lt=le.RTCRtpSender.getCapabilities(W2);ae<15019&&(Lt.codecs=Lt.codecs.filter(function(Bt){return Bt.name!=="rtx"})),Lt.codecs.forEach(function(Bt){Bt.name==="H264"&&Bt.parameters["level-asymmetry-allowed"]===void 0&&(Bt.parameters["level-asymmetry-allowed"]="1"),f2.remoteCapabilities&&f2.remoteCapabilities.codecs&&f2.remoteCapabilities.codecs.forEach(function(Kt){Bt.name.toLowerCase()===Kt.name.toLowerCase()&&Bt.clockRate===Kt.clockRate&&(Bt.preferredPayloadType=Kt.payloadType)})}),Lt.headerExtensions.forEach(function(Bt){var Kt=f2.remoteCapabilities&&f2.remoteCapabilities.headerExtensions||[];Kt.forEach(function(Zt){Bt.uri===Zt.uri&&(Bt.id=Zt.id)})});var Ot=f2.sendEncodingParameters||[{ssrc:(2*C2+1)*1001}];F2&&ae>=15019&&W2==="video"&&!Ot[0].rtx&&(Ot[0].rtx={ssrc:Ot[0].ssrc+1}),f2.wantReceive&&(f2.rtpReceiver=new le.RTCRtpReceiver(f2.dtlsTransport,W2)),f2.localCapabilities=Lt,f2.sendEncodingParameters=Ot}),F._config.bundlePolicy!=="max-compat"&&(Ye+="a=group:BUNDLE "+F.transceivers.map(function(f2){return f2.mid}).join(" ")+`\r |
|
|
`),Ye+=`a=ice-options:trickle\r |
|
|
`,F.transceivers.forEach(function(f2,C2){Ye+=N(f2,f2.localCapabilities,"offer",f2.stream,F._dtlsRole),Ye+=`a=rtcp-rsize\r |
|
|
`,f2.iceGatherer&&F.iceGatheringState!=="new"&&(C2===0||!F.usingBundle)&&(f2.iceGatherer.getLocalCandidates().forEach(function(F2){F2.component=1,Ye+="a="+T.writeCandidate(F2)+`\r |
|
|
`}),f2.iceGatherer.state==="completed"&&(Ye+=`a=end-of-candidates\r |
|
|
`))});var u2=new le.RTCSessionDescription({type:"offer",sdp:Ye});return Promise.resolve(u2)},Se.prototype.createAnswer=function(){var F=this;if(F._isClosed)return Promise.reject(fe("InvalidStateError","Can not call createAnswer after close"));if(!(F.signalingState==="have-remote-offer"||F.signalingState==="have-local-pranswer"))return Promise.reject(fe("InvalidStateError","Can not call createAnswer in signalingState "+F.signalingState));var te=T.writeSessionBoilerplate(F._sdpSessionId,F._sdpSessionVersion++);F.usingBundle&&(te+="a=group:BUNDLE "+F.transceivers.map(function(Ye){return Ye.mid}).join(" ")+`\r |
|
|
`),te+=`a=ice-options:trickle\r |
|
|
`;var oe=T.getMediaSections(F._remoteDescription.sdp).length;F.transceivers.forEach(function(Ye,u2){if(!(u2+1>oe)){if(Ye.rejected){Ye.kind==="application"?Ye.protocol==="DTLS/SCTP"?te+=`m=application 0 DTLS/SCTP 5000\r |
|
|
`:te+="m=application 0 "+Ye.protocol+` webrtc-datachannel\r |
|
|
`:Ye.kind==="audio"?te+=`m=audio 0 UDP/TLS/RTP/SAVPF 0\r |
|
|
a=rtpmap:0 PCMU/8000\r |
|
|
`:Ye.kind==="video"&&(te+=`m=video 0 UDP/TLS/RTP/SAVPF 120\r |
|
|
a=rtpmap:120 VP8/90000\r |
|
|
`),te+=`c=IN IP4 0.0.0.0\r |
|
|
a=inactive\r |
|
|
a=mid:`+Ye.mid+`\r |
|
|
`;return}if(Ye.stream){var f2;Ye.kind==="audio"?f2=Ye.stream.getAudioTracks()[0]:Ye.kind==="video"&&(f2=Ye.stream.getVideoTracks()[0]),f2&&ae>=15019&&Ye.kind==="video"&&!Ye.sendEncodingParameters[0].rtx&&(Ye.sendEncodingParameters[0].rtx={ssrc:Ye.sendEncodingParameters[0].ssrc+1})}var C2=B(Ye.localCapabilities,Ye.remoteCapabilities),F2=C2.codecs.filter(function(W2){return W2.name.toLowerCase()==="rtx"}).length;!F2&&Ye.sendEncodingParameters[0].rtx&&delete Ye.sendEncodingParameters[0].rtx,te+=N(Ye,C2,"answer",Ye.stream,F._dtlsRole),Ye.rtcpParameters&&Ye.rtcpParameters.reducedSize&&(te+=`a=rtcp-rsize\r |
|
|
`)}});var ze=new le.RTCSessionDescription({type:"answer",sdp:te});return Promise.resolve(ze)},Se.prototype.addIceCandidate=function(F){var te=this,oe;return F&&!(F.sdpMLineIndex!==void 0||F.sdpMid)?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise(function(ze,Ye){if(te._remoteDescription)if(!F||F.candidate==="")for(var u2=0;u2<te.transceivers.length&&!(!te.transceivers[u2].rejected&&(te.transceivers[u2].iceTransport.addRemoteCandidate({}),oe=T.getMediaSections(te._remoteDescription.sdp),oe[u2]+=`a=end-of-candidates\r |
|
|
`,te._remoteDescription.sdp=T.getDescription(te._remoteDescription.sdp)+oe.join(""),te.usingBundle));u2++);else{var f2=F.sdpMLineIndex;if(F.sdpMid){for(var C2=0;C2<te.transceivers.length;C2++)if(te.transceivers[C2].mid===F.sdpMid){f2=C2;break}}var F2=te.transceivers[f2];if(F2){if(F2.rejected)return ze();var W2=Object.keys(F.candidate).length>0?T.parseCandidate(F.candidate):{};if(W2.protocol==="tcp"&&(W2.port===0||W2.port===9)||W2.component&&W2.component!==1)return ze();if((f2===0||f2>0&&F2.iceTransport!==te.transceivers[0].iceTransport)&&!me(F2.iceTransport,W2))return Ye(fe("OperationError","Can not add ICE candidate"));var N2=F.candidate.trim();N2.indexOf("a=")===0&&(N2=N2.substr(2)),oe=T.getMediaSections(te._remoteDescription.sdp),oe[f2]+="a="+(W2.type?N2:"end-of-candidates")+`\r |
|
|
`,te._remoteDescription.sdp=T.getDescription(te._remoteDescription.sdp)+oe.join("")}else return Ye(fe("OperationError","Can not add ICE candidate"))}else return Ye(fe("InvalidStateError","Can not add ICE candidate without a remote description"));ze()})},Se.prototype.getStats=function(F){if(F&&F instanceof le.MediaStreamTrack){var te=null;if(this.transceivers.forEach(function(ze){ze.rtpSender&&ze.rtpSender.track===F?te=ze.rtpSender:ze.rtpReceiver&&ze.rtpReceiver.track===F&&(te=ze.rtpReceiver)}),!te)throw fe("InvalidAccessError","Invalid selector.");return te.getStats()}var oe=[];return this.transceivers.forEach(function(ze){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(Ye){ze[Ye]&&oe.push(ze[Ye].getStats())})}),Promise.all(oe).then(function(ze){var Ye=new Map;return ze.forEach(function(u2){u2.forEach(function(f2){Ye.set(f2.id,f2)})}),Ye})};var n2=["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"];n2.forEach(function(F){var te=le[F];if(te&&te.prototype&&te.prototype.getStats){var oe=te.prototype.getStats;te.prototype.getStats=function(){return oe.apply(this).then(function(ze){var Ye=new Map;return Object.keys(ze).forEach(function(u2){ze[u2].type=P(ze[u2]),Ye.set(u2,ze[u2])}),Ye})}}});var pe=["createOffer","createAnswer"];return pe.forEach(function(F){var te=Se.prototype[F];Se.prototype[F]=function(){var oe=arguments;return typeof oe[0]=="function"||typeof oe[1]=="function"?te.apply(this,[arguments[2]]).then(function(ze){typeof oe[0]=="function"&&oe[0].apply(null,[ze])},function(ze){typeof oe[1]=="function"&&oe[1].apply(null,[ze])}):te.apply(this,arguments)}}),pe=["setLocalDescription","setRemoteDescription","addIceCandidate"],pe.forEach(function(F){var te=Se.prototype[F];Se.prototype[F]=function(){var oe=arguments;return typeof oe[1]=="function"||typeof oe[2]=="function"?te.apply(this,arguments).then(function(){typeof oe[1]=="function"&&oe[1].apply(null)},function(ze){typeof oe[2]=="function"&&oe[2].apply(null,[ze])}):te.apply(this,arguments)}}),["getStats"].forEach(function(F){var te=Se.prototype[F];Se.prototype[F]=function(){var oe=arguments;return typeof oe[1]=="function"?te.apply(this,arguments).then(function(){typeof oe[1]=="function"&&oe[1].apply(null)}):te.apply(this,arguments)}}),Se}},{sdp:17}],17:[function(Q,U,w){var T={};T.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},T.localCName=T.generateIdentifier(),T.splitLines=function(P){return P.trim().split(` |
|
|
`).map(function(N){return N.trim()})},T.splitSections=function(P){var N=P.split(` |
|
|
m=`);return N.map(function(O,B){return(B>0?"m="+O:O).trim()+`\r |
|
|
`})},T.getDescription=function(P){var N=T.splitSections(P);return N&&N[0]},T.getMediaSections=function(P){var N=T.splitSections(P);return N.shift(),N},T.matchPrefix=function(P,N){return T.splitLines(P).filter(function(O){return O.indexOf(N)===0})},T.parseCandidate=function(P){var N;P.indexOf("a=candidate:")===0?N=P.substring(12).split(" "):N=P.substring(10).split(" ");for(var O={foundation:N[0],component:parseInt(N[1],10),protocol:N[2].toLowerCase(),priority:parseInt(N[3],10),ip:N[4],address:N[4],port:parseInt(N[5],10),type:N[7]},B=8;B<N.length;B+=2)switch(N[B]){case"raddr":O.relatedAddress=N[B+1];break;case"rport":O.relatedPort=parseInt(N[B+1],10);break;case"tcptype":O.tcpType=N[B+1];break;case"ufrag":O.ufrag=N[B+1],O.usernameFragment=N[B+1];break;default:O[N[B]]=N[B+1];break}return O},T.writeCandidate=function(P){var N=[];N.push(P.foundation),N.push(P.component),N.push(P.protocol.toUpperCase()),N.push(P.priority),N.push(P.address||P.ip),N.push(P.port);var O=P.type;return N.push("typ"),N.push(O),O!=="host"&&P.relatedAddress&&P.relatedPort&&(N.push("raddr"),N.push(P.relatedAddress),N.push("rport"),N.push(P.relatedPort)),P.tcpType&&P.protocol.toLowerCase()==="tcp"&&(N.push("tcptype"),N.push(P.tcpType)),(P.usernameFragment||P.ufrag)&&(N.push("ufrag"),N.push(P.usernameFragment||P.ufrag)),"candidate:"+N.join(" ")},T.parseIceOptions=function(P){return P.substr(14).split(" ")},T.parseRtpMap=function(P){var N=P.substr(9).split(" "),O={payloadType:parseInt(N.shift(),10)};return N=N[0].split("/"),O.name=N[0],O.clockRate=parseInt(N[1],10),O.channels=N.length===3?parseInt(N[2],10):1,O.numChannels=O.channels,O},T.writeRtpMap=function(P){var N=P.payloadType;P.preferredPayloadType!==void 0&&(N=P.preferredPayloadType);var O=P.channels||P.numChannels||1;return"a=rtpmap:"+N+" "+P.name+"/"+P.clockRate+(O!==1?"/"+O:"")+`\r |
|
|
`},T.parseExtmap=function(P){var N=P.substr(9).split(" ");return{id:parseInt(N[0],10),direction:N[0].indexOf("/")>0?N[0].split("/")[1]:"sendrecv",uri:N[1]}},T.writeExtmap=function(P){return"a=extmap:"+(P.id||P.preferredId)+(P.direction&&P.direction!=="sendrecv"?"/"+P.direction:"")+" "+P.uri+`\r |
|
|
`},T.parseFmtp=function(P){for(var N={},O,B=P.substr(P.indexOf(" ")+1).split(";"),de=0;de<B.length;de++)O=B[de].trim().split("="),N[O[0].trim()]=O[1];return N},T.writeFmtp=function(P){var N="",O=P.payloadType;if(P.preferredPayloadType!==void 0&&(O=P.preferredPayloadType),P.parameters&&Object.keys(P.parameters).length){var B=[];Object.keys(P.parameters).forEach(function(de){P.parameters[de]?B.push(de+"="+P.parameters[de]):B.push(de)}),N+="a=fmtp:"+O+" "+B.join(";")+`\r |
|
|
`}return N},T.parseRtcpFb=function(P){var N=P.substr(P.indexOf(" ")+1).split(" ");return{type:N.shift(),parameter:N.join(" ")}},T.writeRtcpFb=function(P){var N="",O=P.payloadType;return P.preferredPayloadType!==void 0&&(O=P.preferredPayloadType),P.rtcpFeedback&&P.rtcpFeedback.length&&P.rtcpFeedback.forEach(function(B){N+="a=rtcp-fb:"+O+" "+B.type+(B.parameter&&B.parameter.length?" "+B.parameter:"")+`\r |
|
|
`}),N},T.parseSsrcMedia=function(P){var N=P.indexOf(" "),O={ssrc:parseInt(P.substr(7,N-7),10)},B=P.indexOf(":",N);return B>-1?(O.attribute=P.substr(N+1,B-N-1),O.value=P.substr(B+1)):O.attribute=P.substr(N+1),O},T.parseSsrcGroup=function(P){var N=P.substr(13).split(" ");return{semantics:N.shift(),ssrcs:N.map(function(O){return parseInt(O,10)})}},T.getMid=function(P){var N=T.matchPrefix(P,"a=mid:")[0];if(N)return N.substr(6)},T.parseFingerprint=function(P){var N=P.substr(14).split(" ");return{algorithm:N[0].toLowerCase(),value:N[1]}},T.getDtlsParameters=function(P,N){var O=T.matchPrefix(P+N,"a=fingerprint:");return{role:"auto",fingerprints:O.map(T.parseFingerprint)}},T.writeDtlsParameters=function(P,N){var O="a=setup:"+N+`\r |
|
|
`;return P.fingerprints.forEach(function(B){O+="a=fingerprint:"+B.algorithm+" "+B.value+`\r |
|
|
`}),O},T.getIceParameters=function(P,N){var O=T.splitLines(P);O=O.concat(T.splitLines(N));var B={usernameFragment:O.filter(function(de){return de.indexOf("a=ice-ufrag:")===0})[0].substr(12),password:O.filter(function(de){return de.indexOf("a=ice-pwd:")===0})[0].substr(10)};return B},T.writeIceParameters=function(P){return"a=ice-ufrag:"+P.usernameFragment+`\r |
|
|
a=ice-pwd:`+P.password+`\r |
|
|
`},T.parseRtpParameters=function(P){for(var N={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},O=T.splitLines(P),B=O[0].split(" "),de=3;de<B.length;de++){var me=B[de],fe=T.matchPrefix(P,"a=rtpmap:"+me+" ")[0];if(fe){var le=T.parseRtpMap(fe),ae=T.matchPrefix(P,"a=fmtp:"+me+" ");switch(le.parameters=ae.length?T.parseFmtp(ae[0]):{},le.rtcpFeedback=T.matchPrefix(P,"a=rtcp-fb:"+me+" ").map(T.parseRtcpFb),N.codecs.push(le),le.name.toUpperCase()){case"RED":case"ULPFEC":N.fecMechanisms.push(le.name.toUpperCase());break}}}return T.matchPrefix(P,"a=extmap:").forEach(function(We){N.headerExtensions.push(T.parseExtmap(We))}),N},T.writeRtpDescription=function(P,N){var O="";O+="m="+P+" ",O+=N.codecs.length>0?"9":"0",O+=" UDP/TLS/RTP/SAVPF ",O+=N.codecs.map(function(de){return de.preferredPayloadType!==void 0?de.preferredPayloadType:de.payloadType}).join(" ")+`\r |
|
|
`,O+=`c=IN IP4 0.0.0.0\r |
|
|
`,O+=`a=rtcp:9 IN IP4 0.0.0.0\r |
|
|
`,N.codecs.forEach(function(de){O+=T.writeRtpMap(de),O+=T.writeFmtp(de),O+=T.writeRtcpFb(de)});var B=0;return N.codecs.forEach(function(de){de.maxptime>B&&(B=de.maxptime)}),B>0&&(O+="a=maxptime:"+B+`\r |
|
|
`),O+=`a=rtcp-mux\r |
|
|
`,N.headerExtensions&&N.headerExtensions.forEach(function(de){O+=T.writeExtmap(de)}),O},T.parseRtpEncodingParameters=function(P){var N=[],O=T.parseRtpParameters(P),B=O.fecMechanisms.indexOf("RED")!==-1,de=O.fecMechanisms.indexOf("ULPFEC")!==-1,me=T.matchPrefix(P,"a=ssrc:").map(function(Pe){return T.parseSsrcMedia(Pe)}).filter(function(Pe){return Pe.attribute==="cname"}),fe=me.length>0&&me[0].ssrc,le,ae=T.matchPrefix(P,"a=ssrc-group:FID").map(function(Pe){var _e=Pe.substr(17).split(" ");return _e.map(function(Se){return parseInt(Se,10)})});ae.length>0&&ae[0].length>1&&ae[0][0]===fe&&(le=ae[0][1]),O.codecs.forEach(function(Pe){if(Pe.name.toUpperCase()==="RTX"&&Pe.parameters.apt){var _e={ssrc:fe,codecPayloadType:parseInt(Pe.parameters.apt,10)};fe&&le&&(_e.rtx={ssrc:le}),N.push(_e),B&&(_e=JSON.parse(JSON.stringify(_e)),_e.fec={ssrc:fe,mechanism:de?"red+ulpfec":"red"},N.push(_e))}}),N.length===0&&fe&&N.push({ssrc:fe});var We=T.matchPrefix(P,"b=");return We.length&&(We[0].indexOf("b=TIAS:")===0?We=parseInt(We[0].substr(7),10):We[0].indexOf("b=AS:")===0?We=parseInt(We[0].substr(5),10)*1e3*.95-50*40*8:We=void 0,N.forEach(function(Pe){Pe.maxBitrate=We})),N},T.parseRtcpParameters=function(P){var N={},O=T.matchPrefix(P,"a=ssrc:").map(function(me){return T.parseSsrcMedia(me)}).filter(function(me){return me.attribute==="cname"})[0];O&&(N.cname=O.value,N.ssrc=O.ssrc);var B=T.matchPrefix(P,"a=rtcp-rsize");N.reducedSize=B.length>0,N.compound=B.length===0;var de=T.matchPrefix(P,"a=rtcp-mux");return N.mux=de.length>0,N},T.parseMsid=function(P){var N,O=T.matchPrefix(P,"a=msid:");if(O.length===1)return N=O[0].substr(7).split(" "),{stream:N[0],track:N[1]};var B=T.matchPrefix(P,"a=ssrc:").map(function(de){return T.parseSsrcMedia(de)}).filter(function(de){return de.attribute==="msid"});if(B.length>0)return N=B[0].value.split(" "),{stream:N[0],track:N[1]}},T.parseSctpDescription=function(P){var N=T.parseMLine(P),O=T.matchPrefix(P,"a=max-message-size:"),B;O.length>0&&(B=parseInt(O[0].substr(19),10)),isNaN(B)&&(B=65536);var de=T.matchPrefix(P,"a=sctp-port:");if(de.length>0)return{port:parseInt(de[0].substr(12),10),protocol:N.fmt,maxMessageSize:B};var me=T.matchPrefix(P,"a=sctpmap:");if(me.length>0){var fe=T.matchPrefix(P,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(fe[0],10),protocol:fe[1],maxMessageSize:B}}},T.writeSctpDescription=function(P,N){var O=[];return P.protocol!=="DTLS/SCTP"?O=["m="+P.kind+" 9 "+P.protocol+" "+N.protocol+`\r |
|
|
`,`c=IN IP4 0.0.0.0\r |
|
|
`,"a=sctp-port:"+N.port+`\r |
|
|
`]:O=["m="+P.kind+" 9 "+P.protocol+" "+N.port+`\r |
|
|
`,`c=IN IP4 0.0.0.0\r |
|
|
`,"a=sctpmap:"+N.port+" "+N.protocol+` 65535\r |
|
|
`],N.maxMessageSize!==void 0&&O.push("a=max-message-size:"+N.maxMessageSize+`\r |
|
|
`),O.join("")},T.generateSessionId=function(){return Math.random().toString().substr(2,21)},T.writeSessionBoilerplate=function(P,N,O){var B,de=N!==void 0?N:2;P?B=P:B=T.generateSessionId();var me=O||"thisisadapterortc";return`v=0\r |
|
|
o=`+me+" "+B+" "+de+` IN IP4 127.0.0.1\r |
|
|
s=-\r |
|
|
t=0 0\r |
|
|
`},T.writeMediaSection=function(P,N,O,B){var de=T.writeRtpDescription(P.kind,N);if(de+=T.writeIceParameters(P.iceGatherer.getLocalParameters()),de+=T.writeDtlsParameters(P.dtlsTransport.getLocalParameters(),O==="offer"?"actpass":"active"),de+="a=mid:"+P.mid+`\r |
|
|
`,P.direction?de+="a="+P.direction+`\r |
|
|
`:P.rtpSender&&P.rtpReceiver?de+=`a=sendrecv\r |
|
|
`:P.rtpSender?de+=`a=sendonly\r |
|
|
`:P.rtpReceiver?de+=`a=recvonly\r |
|
|
`:de+=`a=inactive\r |
|
|
`,P.rtpSender){var me="msid:"+B.id+" "+P.rtpSender.track.id+`\r |
|
|
`;de+="a="+me,de+="a=ssrc:"+P.sendEncodingParameters[0].ssrc+" "+me,P.sendEncodingParameters[0].rtx&&(de+="a=ssrc:"+P.sendEncodingParameters[0].rtx.ssrc+" "+me,de+="a=ssrc-group:FID "+P.sendEncodingParameters[0].ssrc+" "+P.sendEncodingParameters[0].rtx.ssrc+`\r |
|
|
`)}return de+="a=ssrc:"+P.sendEncodingParameters[0].ssrc+" cname:"+T.localCName+`\r |
|
|
`,P.rtpSender&&P.sendEncodingParameters[0].rtx&&(de+="a=ssrc:"+P.sendEncodingParameters[0].rtx.ssrc+" cname:"+T.localCName+`\r |
|
|
`),de},T.getDirection=function(P,N){for(var O=T.splitLines(P),B=0;B<O.length;B++)switch(O[B]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return O[B].substr(2)}return N?T.getDirection(N):"sendrecv"},T.getKind=function(P){var N=T.splitLines(P),O=N[0].split(" ");return O[0].substr(2)},T.isRejected=function(P){return P.split(" ",2)[1]==="0"},T.parseMLine=function(P){var N=T.splitLines(P),O=N[0].substr(2).split(" ");return{kind:O[0],port:parseInt(O[1],10),protocol:O[2],fmt:O.slice(3).join(" ")}},T.parseOLine=function(P){var N=T.matchPrefix(P,"o=")[0],O=N.substr(2).split(" ");return{username:O[0],sessionId:O[1],sessionVersion:parseInt(O[2],10),netType:O[3],addressType:O[4],address:O[5]}},T.isValidSDP=function(P){if(typeof P!="string"||P.length===0)return!1;for(var N=T.splitLines(P),O=0;O<N.length;O++)if(N[O].length<2||N[O].charAt(1)!=="=")return!1;return!0},t(U)==="object"&&(U.exports=T)},{}]},{},[1])(1)}),z.sessions={},z.isExtensionEnabled=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)return!0;if(window.navigator.userAgent.match("Chrome")){var Q=parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1],10),U=33;return window.navigator.userAgent.match("Linux")&&(U=35),Q>=26&&Q<=U?!0:z.extension.isInstalled()}else return!0};var D2={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return document.querySelector("#janus-extension-installed")!==null},getScreen:function(U){var w=window.setTimeout(function(){var T=new Error("NavigatorUserMediaError");return T.name='The required Chrome extension is not installed: click <a href="#">here</a> to install it. (NOTE: this will need you to refresh the page)',U(T)},1e3);this.cache[w]=U,window.postMessage({type:"janusGetScreen",id:w},"*")},init:function(){var U={};this.cache=U,window.addEventListener("message",function(w){if(w.origin==window.location.origin)if(w.data.type=="janusGotScreen"&&U[w.data.id]){var T=U[w.data.id];if(delete U[w.data.id],w.data.sourceId===""){var P=new Error("NavigatorUserMediaError");P.name="You cancelled the request for permission, giving up...",T(P)}else T(null,w.data.sourceId)}else w.data.type=="janusGetScreenPending"&&(console.log("clearing ",w.data.id),window.clearTimeout(w.data.id))})}};z.useDefaultDependencies=function(Q){var U=Q&&Q.fetch||fetch,w=Q&&Q.Promise||Promise,T=Q&&Q.WebSocket||WebSocket;return{newWebSocket:function(N,O){return new T(N,O)},extension:Q&&Q.extension||D2,isArray:function(N){return Array.isArray(N)},webRTCAdapter:Q&&Q.adapter||window.adapter,httpAPICall:function(N,O){var B={method:O.verb,headers:{Accept:"application/json, text/plain, */*"},cache:"no-cache"};O.verb==="POST"&&(B.headers["Content-Type"]="application/json"),O.withCredentials!==void 0&&(B.credentials=O.withCredentials===!0?"include":O.withCredentials?O.withCredentials:"omit"),O.body!==void 0&&(B.body=JSON.stringify(O.body));var de=U(N,B).catch(function(fe){return w.reject({message:"Probably a network error, is the server down?",error:fe})});if(O.timeout!==void 0){var me=new w(function(fe,le){var ae=setTimeout(function(){return clearTimeout(ae),le({message:"Request timed out",timeout:O.timeout})},O.timeout)});de=w.race([de,me])}return de.then(function(fe){if(fe.ok){if(t(O.success)===t(z.noop))return fe.json().then(function(le){O.success(le)}).catch(function(le){return w.reject({message:"Failed to parse response body",error:le,response:fe})})}else return w.reject({message:"API call failed",response:fe})}).catch(function(fe){t(O.error)===t(z.noop)&&O.error(fe.message||"<< internal error >>",fe)}),de}}},z.useOldDependencies=function(Q){var U=Q&&Q.jQuery||jQuery,w=Q&&Q.WebSocket||WebSocket;return{newWebSocket:function(P,N){return new w(P,N)},isArray:function(P){return U.isArray(P)},extension:Q&&Q.extension||D2,webRTCAdapter:Q&&Q.adapter||adapter,httpAPICall:function(P,N){var O=N.body!==void 0?{contentType:"application/json",data:JSON.stringify(N.body)}:{},B=N.withCredentials!==void 0?{xhrFields:{withCredentials:N.withCredentials}}:{};return U.ajax(U.extend(O,B,{url:P,type:N.verb,cache:!1,dataType:"json",async:N.async,timeout:N.timeout,success:function(me){t(N.success)===t(z.noop)&&N.success(me)},error:function(me,fe,le){t(N.error)===t(z.noop)&&N.error(fe,le)}}))}}},z.noop=function(){},z.dataChanDefaultLabel="JanusDataChannel",z.endOfCandidates=null,z.init=function(Q){if(Q=Q||{},Q.callback=typeof Q.callback=="function"?Q.callback:z.noop,z.initDone===!0)Q.callback();else{if((typeof console=="undefined"||typeof console.log=="undefined")&&(console={log:function(){}}),z.trace=z.noop,z.debug=z.noop,z.vdebug=z.noop,z.log=z.noop,z.warn=z.noop,z.error=z.noop,Q.debug===!0||Q.debug==="all")z.trace=console.trace.bind(console),z.debug=console.debug.bind(console),z.vdebug=console.debug.bind(console),z.log=console.log.bind(console),z.warn=console.warn.bind(console),z.error=console.error.bind(console);else if(Array.isArray(Q.debug))for(var U in Q.debug){var w=Q.debug[U];switch(w){case"trace":z.trace=console.trace.bind(console);break;case"debug":z.debug=console.debug.bind(console);break;case"vdebug":z.vdebug=console.debug.bind(console);break;case"log":z.log=console.log.bind(console);break;case"warn":z.warn=console.warn.bind(console);break;case"error":z.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+w+"' (supported: 'trace', 'debug', 'vdebug', 'log', warn', 'error')");break}}z.log("Initializing library");var T=Q.dependencies||z.useDefaultDependencies();z.isArray=T.isArray,z.webRTCAdapter=T.webRTCAdapter,z.httpAPICall=T.httpAPICall,z.newWebSocket=T.newWebSocket,z.extension=T.extension,z.extension.init(),z.listDevices=function(fe,le){fe=typeof fe=="function"?fe:z.noop,le==null&&(le={audio:!0,video:!0}),z.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(le).then(function(ae){navigator.mediaDevices.enumerateDevices().then(function(We){z.debug(We),fe(We);try{var Pe=ae.getTracks();for(var _e in Pe){var Se=Pe[_e];Se!=null&&Se.stop()}}catch(n2){}})}).catch(function(ae){z.error(ae),fe([])}):(z.warn("navigator.mediaDevices unavailable"),fe([]))},z.attachMediaStream=function(fe,le){if(z.webRTCAdapter.browserDetails.browser==="chrome"){var ae=z.webRTCAdapter.browserDetails.version;ae>=52?fe.srcObject=le:z.error("Error attaching stream to element")}else fe.srcObject=le},z.reattachMediaStream=function(fe,le){if(z.webRTCAdapter.browserDetails.browser==="chrome"){var ae=z.webRTCAdapter.browserDetails.version;ae>=52?fe.srcObject=le.srcObject:typeof fe.src!="undefined"?fe.src=le.src:z.error("Error reattaching stream to element")}else fe.srcObject=le.srcObject};var P=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0,N=P?"pagehide":"beforeunload",O=window["on"+N];if(window.addEventListener(N,function(fe){z.log("Closing window");for(var le in z.sessions)z.sessions[le]!==null&&z.sessions[le]!==void 0&&z.sessions[le].destroyOnUnload&&(z.log("Destroying session "+le),z.sessions[le].destroy({asyncRequest:!1,notifyDestroyed:!1}));O&&typeof O=="function"&&O()}),z.safariVp8=!1,z.webRTCAdapter.browserDetails.browser==="safari"&&z.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var U in RTCRtpSender.getCapabilities("video").codecs){var B=RTCRtpSender.getCapabilities("video").codecs[U];if(B&&B.mimeType&&B.mimeType.toLowerCase()==="video/vp8"){z.safariVp8=!0;break}}z.safariVp8?z.log("This version of Safari supports VP8"):z.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var de=new RTCPeerConnection({},{});de.createOffer({offerToReceiveVideo:!0}).then(function(fe){z.safariVp8=fe.sdp.indexOf("VP8")!==-1,z.safariVp8?z.log("This version of Safari supports VP8"):z.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),de.close(),de=null})}if(z.unifiedPlan=!1,z.webRTCAdapter.browserDetails.browser==="firefox"&&z.webRTCAdapter.browserDetails.version>=59)z.unifiedPlan=!0;else if(z.webRTCAdapter.browserDetails.browser==="chrome"&&z.webRTCAdapter.browserDetails.version<72)z.unifiedPlan=!1;else if(typeof RTCRtpTransceiver!="undefined"&&!("currentDirection"in RTCRtpTransceiver.prototype))z.unifiedPlan=!1;else{var me=new RTCPeerConnection;try{me.addTransceiver("audio"),z.unifiedPlan=!0}catch(fe){}me.close()}z.initDone=!0,Q.callback()}},z.isWebrtcSupported=function(){return window.RTCPeerConnection!==void 0&&window.RTCPeerConnection!==null},z.isGetUserMediaAvailable=function(){return navigator.mediaDevices!==void 0&&navigator.mediaDevices!==null&&navigator.mediaDevices.getUserMedia!==void 0&&navigator.mediaDevices.getUserMedia!==null},z.randomString=function(Q){for(var U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",w="",T=0;T<Q;T++){var P=Math.floor(Math.random()*U.length);w+=U.substring(P,P+1)}return w};function z(Q){if(z.initDone===void 0)return Q.error("Library not initialized"),{};if(!z.isWebrtcSupported())return Q.error("WebRTC not supported by this browser"),{};if(z.log("Library initialized: "+z.initDone),Q=Q||{},Q.success=typeof Q.success=="function"?Q.success:z.noop,Q.error=typeof Q.error=="function"?Q.error:z.noop,Q.destroyed=typeof Q.destroyed=="function"?Q.destroyed:z.noop,Q.server===null||Q.server===void 0)return Q.error("Invalid server url"),{};var U=!1,w=null,T={},P=null,N=null,O=0,B=Q.server;z.isArray(B)?(z.log("Multiple servers provided ("+B.length+"), will use the first that works"),B=null,N=Q.server,z.debug(N)):B.indexOf("ws")===0?(U=!0,z.log("Using WebSockets to contact Janus: "+B)):(U=!1,z.log("Using REST API to contact Janus: "+B));var de=Q.iceServers;de==null&&(de=[{urls:"stun:stun.l.google.com:19302"}]);var me=Q.iceTransportPolicy,fe=Q.bundlePolicy,le=Q.ipv6;le==null&&(le=!1);var ae=!1;Q.withCredentials!==void 0&&Q.withCredentials!==null&&(ae=Q.withCredentials===!0);var We=10;Q.max_poll_events!==void 0&&Q.max_poll_events!==null&&(We=Q.max_poll_events),We<1&&(We=1);var Pe=null;Q.token!==void 0&&Q.token!==null&&(Pe=Q.token);var _e=null;Q.apisecret!==void 0&&Q.apisecret!==null&&(_e=Q.apisecret),this.destroyOnUnload=!0,Q.destroyOnUnload!==void 0&&Q.destroyOnUnload!==null&&(this.destroyOnUnload=Q.destroyOnUnload===!0);var Se=25e3;Q.keepAlivePeriod!==void 0&&Q.keepAlivePeriod!==null&&(Se=Q.keepAlivePeriod),isNaN(Se)&&(Se=25e3);var n2=6e4;Q.longPollTimeout!==void 0&&Q.longPollTimeout!==null&&(n2=Q.longPollTimeout),isNaN(n2)&&(n2=6e4);function pe(xe){var qe={high:9e5,medium:3e5,low:1e5};return xe!=null&&(xe.high&&(qe.high=xe.high),xe.medium&&(qe.medium=xe.medium),xe.low&&(qe.low=xe.low)),qe}var F=!1,te=null,oe={},ze=this,Ye=0,u2={};W2(Q),this.getServer=function(){return B},this.isConnected=function(){return F},this.reconnect=function(xe){xe=xe||{},xe.success=typeof xe.success=="function"?xe.success:z.noop,xe.error=typeof xe.error=="function"?xe.error:z.noop,xe.reconnect=!0,W2(xe)},this.getSessionId=function(){return te},this.destroy=function(xe){N2(xe)},this.attach=function(xe){Lt(xe)};function f2(){if(te!=null){if(z.debug("Long poll..."),!F){z.warn("Is the server down? (connected=false)");return}var xe=B+"/"+te+"?rid="+new Date().getTime();We!=null&&(xe=xe+"&maxev="+We),Pe!=null&&(xe=xe+"&token="+encodeURIComponent(Pe)),_e!=null&&(xe=xe+"&apisecret="+encodeURIComponent(_e)),z.httpAPICall(xe,{verb:"GET",withCredentials:ae,success:C2,timeout:n2,error:function(Je,r2){if(z.error(Je+":",r2),Ye++,Ye>3){F=!1,Q.error("Lost connection to the server (is it down?)");return}f2()}})}}function C2(xe,qe){if(Ye=0,!U&&te!==void 0&&te!==null&&qe!==!0&&f2(),!U&&z.isArray(xe)){for(var Je=0;Je<xe.length;Je++)C2(xe[Je],!0);return}if(xe.rtcgw==="keepalive"){z.vdebug("Got a keepalive on session "+te);return}else if(xe.rtcgw==="ack"){z.debug("Got an ack on session "+te),z.debug(xe);var r2=xe.transaction;if(r2!=null){var Ce=u2[r2];Ce!=null&&Ce(xe),delete u2[r2]}return}else if(xe.rtcgw==="success"){z.debug("Got a success on session "+te),z.debug(xe);var r2=xe.transaction;if(r2!=null){var Ce=u2[r2];Ce!=null&&Ce(xe),delete u2[r2]}return}else if(xe.rtcgw==="trickle"){var v2=xe.sender;if(v2==null){z.warn("Missing sender...");return}var l2=oe[v2];if(l2==null){z.debug("This handle is not attached to this session");return}var A2=xe.candidate;z.debug("Got a trickled candidate on session "+te),z.debug(A2);var P2=l2.webrtcStuff;P2.pc&&P2.remoteSdp?(z.debug("Adding remote candidate:",A2),!A2||A2.completed===!0?P2.pc.addIceCandidate(z.endOfCandidates):P2.pc.addIceCandidate(A2)):(z.debug("We didn't do setRemoteDescription (trickle got here before the offer?), caching candidate"),P2.candidates||(P2.candidates=[]),P2.candidates.push(A2),z.debug(P2.candidates))}else if(xe.rtcgw==="webrtcup"){z.debug("Got a webrtcup event on session "+te),z.debug(xe);var v2=xe.sender;if(v2==null){z.warn("Missing sender...");return}var l2=oe[v2];if(l2==null){z.debug("This handle is not attached to this session");return}l2.webrtcState(!0);return}else if(xe.rtcgw==="hangup"){z.debug("Got a hangup event on session "+te),z.debug(xe);var v2=xe.sender;if(v2==null){z.warn("Missing sender...");return}var l2=oe[v2];if(l2==null){z.debug("This handle is not attached to this session");return}l2.webrtcState(!1,xe.reason),l2.hangup()}else if(xe.rtcgw==="detached"){z.debug("Got a detached event on session "+te),z.debug(xe);var v2=xe.sender;if(v2==null){z.warn("Missing sender...");return}var l2=oe[v2];if(l2==null)return;l2.detached=!0,l2.ondetached(),l2.detach()}else if(xe.rtcgw==="media"){z.debug("Got a media event on session "+te),z.debug(xe);var v2=xe.sender;if(v2==null){z.warn("Missing sender...");return}var l2=oe[v2];if(l2==null){z.debug("This handle is not attached to this session");return}l2.mediaState(xe.type,xe.receiving)}else if(xe.rtcgw==="slowlink"){z.debug("Got a slowlink event on session "+te),z.debug(xe);var v2=xe.sender;if(v2==null){z.warn("Missing sender...");return}var l2=oe[v2];if(l2==null){z.debug("This handle is not attached to this session");return}l2.slowLink(xe.uplink,xe.lost)}else if(xe.rtcgw==="error"){z.error("Ooops: "+xe.error.code+" "+xe.error.reason),z.debug(xe);var r2=xe.transaction;if(r2!=null){var Ce=u2[r2];Ce!=null&&Ce(xe),delete u2[r2]}return}else if(xe.rtcgw==="event"){z.debug("Got a plugin event on session "+te),z.debug(xe);var v2=xe.sender;if(v2==null){z.warn("Missing sender...");return}var it=xe.plugindata;if(it==null){z.warn("Missing plugindata...");return}z.debug(" -- Event is coming from "+v2+" ("+it.plugin+")");var O2=it.data;z.debug(O2);var l2=oe[v2];if(l2==null){z.warn("This handle is not attached to this session");return}var ut=xe.jsep;ut!=null&&(z.debug("Handling SDP as well..."),z.debug(ut));var a1=l2.onmessage;a1!=null?(z.debug("Notifying application..."),a1(O2,ut)):z.debug("No provided notification callback")}else if(xe.rtcgw==="timeout"){z.error("Timeout on session "+te),z.debug(xe),U&&w.close(3504,"Gateway timeout");return}else z.warn("Unknown message/event '"+xe.rtcgw+"' on session "+te),z.debug(xe)}function F2(){if(!(B===null||!U||!F)){P=setTimeout(F2,Se);var xe={rtcgw:"keepalive",session_id:te,transaction:z.randomString(12)};Pe!=null&&(xe.token=Pe),_e!=null&&(xe.apisecret=_e),w.send(JSON.stringify(xe))}}function W2(xe){var qe=z.randomString(12),Je={rtcgw:"create",transaction:qe,token:window.EZUIKit.opt.stream,device:window.EZUIKit.opt.deviceSerial,channel:window.EZUIKit.opt.channelNo};if(xe.reconnect&&(F=!1,Je.rtcgw="claim",Je.session_id=te,w&&(w.onopen=null,w.onerror=null,w.onclose=null,P&&(clearTimeout(P),P=null))),Pe!=null&&(Je.token=Pe),_e!=null&&(Je.apisecret=_e),B===null&&z.isArray(N)&&(B=N[O],B.indexOf("ws")===0?(U=!0,z.log("Server #"+(O+1)+": trying WebSockets to contact Janus ("+B+")")):(U=!1,z.log("Server #"+(O+1)+": trying REST API to contact Janus ("+B+")"))),U){w=z.newWebSocket(B,"rtcgw-protocol"),T={error:function(){if(z.error("Error connecting to the Janus WebSockets server... "+B),z.isArray(N)&&!xe.reconnect){if(O++,O==N.length){xe.error("Error connecting to any of the provided Janus servers: Is the server down?");return}B=null,setTimeout(function(){W2(xe)},200);return}xe.error("Error connecting to the Janus WebSockets server: Is the server down?")},open:function(){u2[qe]=function(v2){if(z.debug(v2),v2.rtcgw!=="success"){z.error("Ooops: "+v2.error.code+" "+v2.error.reason),xe.error(v2.error.reason);return}P=setTimeout(F2,Se),F=!0,te=v2.session_id?v2.session_id:v2.data.id,xe.reconnect?z.log("Claimed session: "+te):z.log("Created session: "+te),z.sessions[te]=ze,xe.success()},w.send(JSON.stringify(Je))},message:function(v2){C2(JSON.parse(v2.data))},close:function(){B===null||!F||(F=!1,Q.error("Lost connection to the server (is it down?)"))}};for(var r2 in T)w.addEventListener(r2,T[r2]);return}z.httpAPICall(B,{verb:"POST",withCredentials:ae,body:Je,success:function(v2){if(z.debug(v2),v2.rtcgw!=="success"){z.error("Ooops: "+v2.error.code+" "+v2.error.reason),xe.error(v2.error.reason);return}F=!0,te=v2.session_id?v2.session_id:v2.data.id,xe.reconnect?z.log("Claimed session: "+te):z.log("Created session: "+te),z.sessions[te]=ze,f2(),xe.success()},error:function(v2,l2){if(z.error(v2+":",l2),z.isArray(N)&&!xe.reconnect){if(O++,O==N.length){xe.error("Error connecting to any of the provided Janus servers: Is the server down?");return}B=null,setTimeout(function(){W2(xe)},200);return}l2===""?xe.error(v2+": Is the server down?"):xe.error(v2+": "+l2)}})}function N2(xe){xe=xe||{},xe.success=typeof xe.success=="function"?xe.success:z.noop;var qe=!0;xe.asyncRequest!==void 0&&xe.asyncRequest!==null&&(qe=xe.asyncRequest===!0);var Je=!0;xe.notifyDestroyed!==void 0&&xe.notifyDestroyed!==null&&(Je=xe.notifyDestroyed===!0);var r2=!1;if(xe.cleanupHandles!==void 0&&xe.cleanupHandles!==null&&(r2=xe.cleanupHandles===!0),z.log("Destroying session "+te+" (async="+qe+")"),!F){z.warn("Is the server down? (connected=false)"),xe.success();return}if(te==null){z.warn("No session to destroy"),xe.success(),Je&&Q.destroyed();return}if(r2)for(var Ce in oe)X3(Ce,{noRequest:!0});var v2={rtcgw:"destroy",transaction:z.randomString(12)};if(Pe!=null&&(v2.token=Pe),_e!=null&&(v2.apisecret=_e),U){v2.session_id=te;var l2=function(){for(var O2 in T)w.removeEventListener(O2,T[O2]);w.removeEventListener("message",A2),w.removeEventListener("error",P2),P&&clearTimeout(P),w.close()},A2=function(O2){var ut=JSON.parse(O2.data);ut.session_id==v2.session_id&&ut.transaction==v2.transaction&&(l2(),xe.success(),Je&&Q.destroyed())},P2=function(O2){l2(),xe.error("Failed to destroy the server: Is the server down?"),Je&&Q.destroyed()};w.addEventListener("message",A2),w.addEventListener("error",P2),w.send(JSON.stringify(v2));return}z.httpAPICall(B+"/"+te,{verb:"POST",async:qe,withCredentials:ae,body:v2,success:function(O2){z.log("Destroyed session:"),z.debug(O2),te=null,F=!1,O2.rtcgw!=="success"&&z.error("Ooops: "+O2.error.code+" "+O2.error.reason),xe.success(),Je&&Q.destroyed()},error:function(O2,ut){z.error(O2+":",ut),te=null,F=!1,xe.success(),Je&&Q.destroyed()}})}function Lt(xe){if(xe=xe||{},xe.success=typeof xe.success=="function"?xe.success:z.noop,xe.error=typeof xe.error=="function"?xe.error:z.noop,xe.consentDialog=typeof xe.consentDialog=="function"?xe.consentDialog:z.noop,xe.iceState=typeof xe.iceState=="function"?xe.iceState:z.noop,xe.mediaState=typeof xe.mediaState=="function"?xe.mediaState:z.noop,xe.webrtcState=typeof xe.webrtcState=="function"?xe.webrtcState:z.noop,xe.slowLink=typeof xe.slowLink=="function"?xe.slowLink:z.noop,xe.onmessage=typeof xe.onmessage=="function"?xe.onmessage:z.noop,xe.onlocalstream=typeof xe.onlocalstream=="function"?xe.onlocalstream:z.noop,xe.onremotestream=typeof xe.onremotestream=="function"?xe.onremotestream:z.noop,xe.ondata=typeof xe.ondata=="function"?xe.ondata:z.noop,xe.ondataopen=typeof xe.ondataopen=="function"?xe.ondataopen:z.noop,xe.oncleanup=typeof xe.oncleanup=="function"?xe.oncleanup:z.noop,xe.ondetached=typeof xe.ondetached=="function"?xe.ondetached:z.noop,!F){z.warn("Is the server down? (connected=false)"),xe.error("Is the server down? (connected=false)");return}var qe=xe.plugin;if(qe==null){z.error("Invalid plugin"),xe.error("Invalid plugin");return}var Je=xe.opaqueId,r2=xe.token?xe.token:Pe,Ce=z.randomString(12),v2={rtcgw:"attach",plugin:qe,opaque_id:Je,transaction:Ce};if(r2!=null&&(v2.token=r2),_e!=null&&(v2.apisecret=_e),U){u2[Ce]=function(l2){if(z.debug(l2),l2.rtcgw!=="success"){z.error("Ooops: "+l2.error.code+" "+l2.error.reason),xe.error("Ooops: "+l2.error.code+" "+l2.error.reason);return}var A2=l2.data.id;z.log("Created handle: "+A2);var P2={session:ze,plugin:qe,id:A2,token:r2,detached:!1,webrtcStuff:{started:!1,myStream:null,streamExternal:!1,remoteStream:null,mySdp:null,mediaConstraints:null,pc:null,dataChannel:{},dtmfSender:null,trickle:!0,iceDone:!1,volume:{value:null,timer:null},bitrate:{value:null,bsnow:null,bsbefore:null,tsnow:null,tsbefore:null,timer:null}},getId:function(){return A2},getPlugin:function(){return qe},getVolume:function(){return o3(A2,!0)},getRemoteVolume:function(){return o3(A2,!0)},getLocalVolume:function(){return o3(A2,!1)},isAudioMuted:function(){return n3(A2,!1)},muteAudio:function(){return O3(A2,!1,!0)},unmuteAudio:function(){return O3(A2,!1,!1)},isVideoMuted:function(){return n3(A2,!0)},muteVideo:function(){return O3(A2,!0,!0)},unmuteVideo:function(){return O3(A2,!0,!1)},getBitrate:function(){return xr(A2)},send:function(O2){Ot(A2,O2)},data:function(O2){Zt(A2,O2)},dtmf:function(O2){c3(A2,O2)},consentDialog:xe.consentDialog,iceState:xe.iceState,mediaState:xe.mediaState,webrtcState:xe.webrtcState,slowLink:xe.slowLink,onmessage:xe.onmessage,createOffer:function(O2){E2(A2,!0,O2)},createAnswer:function(O2){E2(A2,!1,O2)},handleRemoteJsep:function(O2){G2(A2,O2)},onlocalstream:xe.onlocalstream,onremotestream:xe.onremotestream,ondata:xe.ondata,ondataopen:xe.ondataopen,oncleanup:xe.oncleanup,ondetached:xe.ondetached,hangup:function(O2){tn(A2,O2===!0)},detach:function(O2){X3(A2,O2)}};oe[A2]=P2,xe.success(P2)},v2.session_id=te,w.send(JSON.stringify(v2));return}z.httpAPICall(B+"/"+te,{verb:"POST",withCredentials:ae,body:v2,success:function(A2){if(z.debug(A2),A2.rtcgw!=="success"){z.error("Ooops: "+A2.error.code+" "+A2.error.reason),xe.error("Ooops: "+A2.error.code+" "+A2.error.reason);return}var P2=A2.data.id;z.log("Created handle: "+P2);var it={session:ze,plugin:qe,id:P2,token:r2,detached:!1,webrtcStuff:{started:!1,myStream:null,streamExternal:!1,remoteStream:null,mySdp:null,mediaConstraints:null,pc:null,dataChannel:{},dtmfSender:null,trickle:!0,iceDone:!1,volume:{value:null,timer:null},bitrate:{value:null,bsnow:null,bsbefore:null,tsnow:null,tsbefore:null,timer:null}},getId:function(){return P2},getPlugin:function(){return qe},getVolume:function(){return o3(P2,!0)},getRemoteVolume:function(){return o3(P2,!0)},getLocalVolume:function(){return o3(P2,!1)},isAudioMuted:function(){return n3(P2,!1)},muteAudio:function(){return O3(P2,!1,!0)},unmuteAudio:function(){return O3(P2,!1,!1)},isVideoMuted:function(){return n3(P2,!0)},muteVideo:function(){return O3(P2,!0,!0)},unmuteVideo:function(){return O3(P2,!0,!1)},getBitrate:function(){return xr(P2)},send:function(ut){Ot(P2,ut)},data:function(ut){Zt(P2,ut)},dtmf:function(ut){c3(P2,ut)},consentDialog:xe.consentDialog,iceState:xe.iceState,mediaState:xe.mediaState,webrtcState:xe.webrtcState,slowLink:xe.slowLink,onmessage:xe.onmessage,createOffer:function(ut){E2(P2,!0,ut)},createAnswer:function(ut){E2(P2,!1,ut)},handleRemoteJsep:function(ut){G2(P2,ut)},onlocalstream:xe.onlocalstream,onremotestream:xe.onremotestream,ondata:xe.ondata,ondataopen:xe.ondataopen,oncleanup:xe.oncleanup,ondetached:xe.ondetached,hangup:function(ut){tn(P2,ut===!0)},detach:function(ut){X3(P2,ut)}};oe[P2]=it,xe.success(it)},error:function(A2,P2){z.error(A2+":",P2)}})}function Ot(xe,qe){if(qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:z.noop,qe.error=typeof qe.error=="function"?qe.error:z.noop,!F){z.warn("Is the server down? (connected=false)"),qe.error("Is the server down? (connected=false)");return}var Je=oe[xe];if(Je==null||Je.webrtcStuff===null||Je.webrtcStuff===void 0){z.warn("Invalid handle"),qe.error("Invalid handle");return}var r2=qe.message,Ce=qe.jsep,v2=z.randomString(12),l2={rtcgw:"message",body:r2,transaction:v2};if(Je.token!==null&&Je.token!==void 0&&(l2.token=Je.token),_e!=null&&(l2.apisecret=_e),Ce!=null&&(l2.jsep=Ce),z.debug("Sending message to plugin (handle="+xe+"):"),z.debug(l2),U){l2.session_id=te,l2.handle_id=xe,u2[v2]=function(A2){if(z.debug("Message sent!"),z.debug(A2),A2.rtcgw==="success"){var P2=A2.plugindata;if(P2==null){z.warn("Request succeeded, but missing plugindata..."),qe.success();return}z.log("Synchronous transaction successful ("+P2.plugin+")");var it=P2.data;z.debug(it),qe.success(it);return}else if(A2.rtcgw!=="ack"){A2.error!==void 0&&A2.error!==null?(z.error("Ooops: "+A2.error.code+" "+A2.error.reason),qe.error(A2.error.code+" "+A2.error.reason)):(z.error("Unknown error"),qe.error("Unknown error"));return}qe.success()},w.send(JSON.stringify(l2));return}z.httpAPICall(B+"/"+te+"/"+xe,{verb:"POST",withCredentials:ae,body:l2,success:function(P2){if(z.debug("Message sent!"),z.debug(P2),P2.rtcgw==="success"){var it=P2.plugindata;if(it==null){z.warn("Request succeeded, but missing plugindata..."),qe.success();return}z.log("Synchronous transaction successful ("+it.plugin+")");var O2=it.data;z.debug(O2),qe.success(O2);return}else if(P2.rtcgw!=="ack"){P2.error!==void 0&&P2.error!==null?(z.error("Ooops: "+P2.error.code+" "+P2.error.reason),qe.error(P2.error.code+" "+P2.error.reason)):(z.error("Unknown error"),qe.error("Unknown error"));return}qe.success()},error:function(P2,it){z.error(P2+":",it),qe.error(P2+": "+it)}})}function Bt(xe,qe){if(!F){z.warn("Is the server down? (connected=false)");return}var Je=oe[xe];if(Je==null||Je.webrtcStuff===null||Je.webrtcStuff===void 0){z.warn("Invalid handle");return}var r2={rtcgw:"trickle",candidate:qe,transaction:z.randomString(12)};if(Je.token!==null&&Je.token!==void 0&&(r2.token=Je.token),_e!=null&&(r2.apisecret=_e),z.vdebug("Sending trickle candidate (handle="+xe+"):"),z.vdebug(r2),U){r2.session_id=te,r2.handle_id=xe,w.send(JSON.stringify(r2));return}z.httpAPICall(B+"/"+te+"/"+xe,{verb:"POST",withCredentials:ae,body:r2,success:function(v2){if(z.vdebug("Candidate sent!"),z.vdebug(v2),v2.rtcgw!=="ack"){z.error("Ooops: "+v2.error.code+" "+v2.error.reason);return}},error:function(v2,l2){z.error(v2+":",l2)}})}function Kt(xe,qe,Je,r2){var Ce=oe[xe];if(Ce==null||Ce.webrtcStuff===null||Ce.webrtcStuff===void 0){z.warn("Invalid handle");return}var v2=Ce.webrtcStuff,l2=function(O2){z.log("Received message on data channel:",O2);var ut=O2.target.label;Ce.ondata(O2.data,ut)},A2=function(O2){z.log("Received state change on data channel:",O2);var ut=O2.target.label,a1=v2.dataChannel[ut]?v2.dataChannel[ut].readyState:"null";if(z.log("State change on <"+ut+"> data channel: "+a1),a1==="open"){if(v2.dataChannel[ut].pending&&v2.dataChannel[ut].pending.length>0){z.log("Sending pending messages on <"+ut+">:",v2.dataChannel[ut].pending.length);for(var t3 in v2.dataChannel[ut].pending){var f3=v2.dataChannel[ut].pending[t3];z.log("Sending string on data channel <"+ut+">: "+f3),v2.dataChannel[ut].send(f3)}v2.dataChannel[ut].pending=[]}Ce.ondataopen(ut)}},P2=function(O2){z.error("Got error on data channel:",O2)};Je?v2.dataChannel[qe]=Je:v2.dataChannel[qe]=v2.pc.createDataChannel(qe,{ordered:!1}),v2.dataChannel[qe].onmessage=l2,v2.dataChannel[qe].onopen=A2,v2.dataChannel[qe].onclose=A2,v2.dataChannel[qe].onerror=P2,v2.dataChannel[qe].pending=[],r2&&v2.dataChannel[qe].pending.push(r2)}function Zt(xe,qe){qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:z.noop,qe.error=typeof qe.error=="function"?qe.error:z.noop;var Je=oe[xe];if(Je==null||Je.webrtcStuff===null||Je.webrtcStuff===void 0){z.warn("Invalid handle"),qe.error("Invalid handle");return}var r2=Je.webrtcStuff,Ce=qe.text;if(Ce==null){z.warn("Invalid text"),qe.error("Invalid text");return}var v2=qe.label?qe.label:z.dataChanDefaultLabel;if(!r2.dataChannel[v2]){Kt(xe,v2,!1,Ce),qe.success();return}if(r2.dataChannel[v2].readyState!=="open"){r2.dataChannel[v2].pending.push(Ce),qe.success();return}z.log("Sending string on data channel <"+v2+">: "+Ce),r2.dataChannel[v2].send(Ce),qe.success()}function c3(xe,qe){qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:z.noop,qe.error=typeof qe.error=="function"?qe.error:z.noop;var Je=oe[xe];if(Je==null||Je.webrtcStuff===null||Je.webrtcStuff===void 0){z.warn("Invalid handle"),qe.error("Invalid handle");return}var r2=Je.webrtcStuff;if(r2.dtmfSender===null||r2.dtmfSender===void 0){if(r2.pc!==void 0&&r2.pc!==null){var Ce=r2.pc.getSenders(),v2=Ce.find(function(O2){return O2.track&&O2.track.kind==="audio"});if(!v2){z.warn("Invalid DTMF configuration (no audio track)"),qe.error("Invalid DTMF configuration (no audio track)");return}r2.dtmfSender=v2.dtmf,r2.dtmfSender&&(z.log("Created DTMF Sender"),r2.dtmfSender.ontonechange=function(O2){z.debug("Sent DTMF tone: "+O2.tone)})}if(r2.dtmfSender===null||r2.dtmfSender===void 0){z.warn("Invalid DTMF configuration"),qe.error("Invalid DTMF configuration");return}}var l2=qe.dtmf;if(l2==null){z.warn("Invalid DTMF parameters"),qe.error("Invalid DTMF parameters");return}var A2=l2.tones;if(A2==null){z.warn("Invalid DTMF string"),qe.error("Invalid DTMF string");return}var P2=l2.duration;P2==null&&(P2=500);var it=l2.gap;it==null&&(it=50),z.debug("Sending DTMF string "+A2+" (duration "+P2+"ms, gap "+it+"ms)"),r2.dtmfSender.insertDTMF(A2,P2,it),qe.success()}function X3(xe,qe){qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:z.noop,qe.error=typeof qe.error=="function"?qe.error:z.noop;var Je=!0;qe.asyncRequest!==void 0&&qe.asyncRequest!==null&&(Je=qe.asyncRequest===!0);var r2=!0;qe.noRequest!==void 0&&qe.noRequest!==null&&(r2=qe.noRequest===!0),z.log("Destroying handle "+xe+" (async="+Je+")"),tn(xe);var Ce=oe[xe];if(Ce==null||Ce.detached){delete oe[xe],qe.success();return}if(r2){delete oe[xe],qe.success();return}if(!F){z.warn("Is the server down? (connected=false)"),qe.error("Is the server down? (connected=false)");return}var v2={rtcgw:"detach",transaction:z.randomString(12)};if(Ce.token!==null&&Ce.token!==void 0&&(v2.token=Ce.token),_e!=null&&(v2.apisecret=_e),U){v2.session_id=te,v2.handle_id=xe,w.send(JSON.stringify(v2)),delete oe[xe],qe.success();return}z.httpAPICall(B+"/"+te+"/"+xe,{verb:"POST",async:Je,withCredentials:ae,body:v2,success:function(A2){z.log("Destroyed handle:"),z.debug(A2),A2.rtcgw!=="success"&&z.error("Ooops: "+A2.error.code+" "+A2.error.reason),delete oe[xe],qe.success()},error:function(A2,P2){z.error(A2+":",P2),delete oe[xe],qe.success()}})}function Xe(xe,qe,Je,r2,Ce){var v2=oe[xe];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0){z.warn("Invalid handle"),r2.error("Invalid handle");return}var l2=v2.webrtcStuff;z.debug("streamsDone:",Ce),Ce&&(z.debug(" -- Audio tracks:",Ce.getAudioTracks()),z.debug(" -- Video tracks:",Ce.getVideoTracks()));var A2=!1;if(!l2.myStream||!Je.update||l2.streamExternal)l2.myStream=Ce,A2=!0;else{if((!Je.update&&t1(Je)||Je.update&&(Je.addAudio||Je.replaceAudio))&&Ce.getAudioTracks()&&Ce.getAudioTracks().length)if(l2.myStream.addTrack(Ce.getAudioTracks()[0]),z.unifiedPlan){z.log((Je.replaceAudio?"Replacing":"Adding")+" audio track:",Ce.getAudioTracks()[0]);var P2=null,it=l2.pc.getTransceivers();if(it&&it.length>0)for(var O2 in it){var ut=it[O2];if(ut.sender&&ut.sender.track&&ut.sender.track.kind==="audio"||ut.receiver&&ut.receiver.track&&ut.receiver.track.kind==="audio"){P2=ut;break}}P2&&P2.sender?P2.sender.replaceTrack(Ce.getAudioTracks()[0]):l2.pc.addTrack(Ce.getAudioTracks()[0],Ce)}else z.log((Je.replaceAudio?"Replacing":"Adding")+" audio track:",Ce.getAudioTracks()[0]),l2.pc.addTrack(Ce.getAudioTracks()[0],Ce);if((!Je.update&&z3(Je)||Je.update&&(Je.addVideo||Je.replaceVideo))&&Ce.getVideoTracks()&&Ce.getVideoTracks().length)if(l2.myStream.addTrack(Ce.getVideoTracks()[0]),z.unifiedPlan){z.log((Je.replaceVideo?"Replacing":"Adding")+" video track:",Ce.getVideoTracks()[0]);var a1=null,it=l2.pc.getTransceivers();if(it&&it.length>0)for(var O2 in it){var ut=it[O2];if(ut.sender&&ut.sender.track&&ut.sender.track.kind==="video"||ut.receiver&&ut.receiver.track&&ut.receiver.track.kind==="video"){a1=ut;break}}a1&&a1.sender?a1.sender.replaceTrack(Ce.getVideoTracks()[0]):l2.pc.addTrack(Ce.getVideoTracks()[0],Ce)}else z.log((Je.replaceVideo?"Replacing":"Adding")+" video track:",Ce.getVideoTracks()[0]),l2.pc.addTrack(Ce.getVideoTracks()[0],Ce)}if(!l2.pc){var t3={iceServers:de,iceTransportPolicy:me,bundlePolicy:fe};z.webRTCAdapter.browserDetails.browser==="chrome"&&(t3.sdpSemantics=z.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var f3={optional:[{DtlsSrtpKeyAgreement:!0}]};if(le===!0&&f3.optional.push({googIPv6:!0}),r2.rtcConstraints&&t(r2.rtcConstraints)==="object"){z.debug("Adding custom PeerConnection constraints:",r2.rtcConstraints);for(var O2 in r2.rtcConstraints)f3.optional.push(r2.rtcConstraints[O2])}z.webRTCAdapter.browserDetails.browser==="edge"&&(t3.bundlePolicy="max-bundle"),z.log("Creating PeerConnection"),z.debug(f3),l2.pc=new RTCPeerConnection(t3,f3),z.debug(l2.pc),l2.pc.getStats&&(l2.volume={},l2.bitrate.value="0 kbits/sec"),z.log("Preparing local SDP and gathering candidates (trickle="+l2.trickle+")"),l2.pc.oniceconnectionstatechange=function(g3){l2.pc&&v2.iceState(l2.pc.iceConnectionState)},l2.pc.onicecandidate=function(g3){if(g3.candidate==null||z.webRTCAdapter.browserDetails.browser==="edge"&&g3.candidate.candidate.indexOf("endOfCandidates")>0)z.log("End of candidates."),l2.iceDone=!0,l2.trickle===!0?Bt(xe,{completed:!0}):m3(xe,r2);else{var v1={candidate:g3.candidate.candidate,sdpMid:g3.candidate.sdpMid,sdpMLineIndex:g3.candidate.sdpMLineIndex};l2.trickle===!0&&Bt(xe,v1)}},l2.pc.ontrack=function(g3){z.log("Handling Remote Track"),z.debug(g3),g3.streams&&(l2.remoteStream=g3.streams[0],v2.onremotestream(l2.remoteStream),!g3.track.onended&&(z.log("Adding onended callback to track:",g3.track),g3.track.onended=function(v1){z.log("Remote track muted/removed:",v1),l2.remoteStream&&(l2.remoteStream.removeTrack(v1.target),v2.onremotestream(l2.remoteStream))},g3.track.onmute=g3.track.onended,g3.track.onunmute=function(v1){z.log("Remote track flowing again:",v1);try{l2.remoteStream.addTrack(v1.target),v2.onremotestream(l2.remoteStream)}catch(Ui){z.error(Ui)}}))}}if(A2&&Ce!==null&&Ce!==void 0){z.log("Adding local stream");var N3=r2.simulcast2===!0;Ce.getTracks().forEach(function(g3){if(z.log("Adding local track:",g3),!N3)l2.pc.addTrack(g3,Ce);else if(g3.kind==="audio")l2.pc.addTrack(g3,Ce);else{z.log("Enabling rid-based simulcasting:",g3);var v1=pe(r2.simulcastMaxBitrates);l2.pc.addTransceiver(g3,{direction:"sendrecv",streams:[Ce],sendEncodings:[{rid:"h",active:!0,maxBitrate:v1.high},{rid:"m",active:!0,maxBitrate:v1.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:v1.low,scaleResolutionDownBy:4}]})}})}w3(Je)&&!l2.dataChannel[z.dataChanDefaultLabel]&&(z.log("Creating data channel"),Kt(xe,z.dataChanDefaultLabel,!1),l2.pc.ondatachannel=function(g3){z.log("Data channel created by Janus:",g3),Kt(xe,g3.channel.label,g3.channel)}),l2.myStream&&v2.onlocalstream(l2.myStream),qe==null?pt(xe,Je,r2):l2.pc.setRemoteDescription(qe).then(function(){if(z.log("Remote description accepted!"),l2.remoteSdp=qe.sdp,l2.candidates&&l2.candidates.length>0){for(var g3=0;g3<l2.candidates.length;g3++){var v1=l2.candidates[g3];z.debug("Adding remote candidate:",v1),!v1||v1.completed===!0?l2.pc.addIceCandidate(z.endOfCandidates):l2.pc.addIceCandidate(v1)}l2.candidates=[]}It(xe,Je,r2)},r2.error)}function E2(xe,qe,Je){Je=Je||{},Je.success=typeof Je.success=="function"?Je.success:z.noop,Je.error=typeof Je.error=="function"?Je.error:ni;var r2=Je.jsep;if(qe&&r2){z.error("Provided a JSEP to a createOffer"),Je.error("Provided a JSEP to a createOffer");return}else if(!qe&&(!r2||!r2.type||!r2.sdp)){z.error("A valid JSEP is required for createAnswer"),Je.error("A valid JSEP is required for createAnswer");return}Je.media=Je.media||{audio:!0,video:!0};var Ce=Je.media,v2=oe[xe];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0){z.warn("Invalid handle"),Je.error("Invalid handle");return}var l2=v2.webrtcStuff;if(l2.trickle=g1(Je.trickle),l2.pc===void 0||l2.pc===null)Ce.update=!1,Ce.keepAudio=!1,Ce.keepVideo=!1;else if(l2.pc!==void 0&&l2.pc!==null){if(z.log("Updating existing media session"),Ce.update=!0,Je.stream!==null&&Je.stream!==void 0)Je.stream!==l2.myStream&&z.log("Renegotiation involves a new external stream");else{if(Ce.addAudio){if(Ce.keepAudio=!1,Ce.replaceAudio=!1,Ce.removeAudio=!1,Ce.audioSend=!0,l2.myStream&&l2.myStream.getAudioTracks()&&l2.myStream.getAudioTracks().length){z.error("Can't add audio stream, there already is one"),Je.error("Can't add audio stream, there already is one");return}}else Ce.removeAudio?(Ce.keepAudio=!1,Ce.replaceAudio=!1,Ce.addAudio=!1,Ce.audioSend=!1):Ce.replaceAudio&&(Ce.keepAudio=!1,Ce.addAudio=!1,Ce.removeAudio=!1,Ce.audioSend=!0);if(l2.myStream===null||l2.myStream===void 0?(Ce.replaceAudio&&(Ce.keepAudio=!1,Ce.replaceAudio=!1,Ce.addAudio=!0,Ce.audioSend=!0),t1(Ce)&&(Ce.keepAudio=!1,Ce.addAudio=!0)):l2.myStream.getAudioTracks()===null||l2.myStream.getAudioTracks()===void 0||l2.myStream.getAudioTracks().length===0?(Ce.replaceAudio&&(Ce.keepAudio=!1,Ce.replaceAudio=!1,Ce.addAudio=!0,Ce.audioSend=!0),t1(Ce)&&(Ce.keepVideo=!1,Ce.addAudio=!0)):t1(Ce)&&!Ce.removeAudio&&!Ce.replaceAudio&&(Ce.keepAudio=!0),Ce.addVideo){if(Ce.keepVideo=!1,Ce.replaceVideo=!1,Ce.removeVideo=!1,Ce.videoSend=!0,l2.myStream&&l2.myStream.getVideoTracks()&&l2.myStream.getVideoTracks().length){z.error("Can't add video stream, there already is one"),Je.error("Can't add video stream, there already is one");return}}else Ce.removeVideo?(Ce.keepVideo=!1,Ce.replaceVideo=!1,Ce.addVideo=!1,Ce.videoSend=!1):Ce.replaceVideo&&(Ce.keepVideo=!1,Ce.addVideo=!1,Ce.removeVideo=!1,Ce.videoSend=!0);l2.myStream===null||l2.myStream===void 0||l2.myStream.getVideoTracks()===null||l2.myStream.getVideoTracks()===void 0||l2.myStream.getVideoTracks().length===0?(Ce.replaceVideo&&(Ce.keepVideo=!1,Ce.replaceVideo=!1,Ce.addVideo=!0,Ce.videoSend=!0),z3(Ce)&&(Ce.keepVideo=!1,Ce.addVideo=!0)):z3(Ce)&&!Ce.removeVideo&&!Ce.replaceVideo&&(Ce.keepVideo=!0),Ce.addData&&(Ce.data=!0)}if(t1(Ce)&&Ce.keepAudio&&z3(Ce)&&Ce.keepVideo){v2.consentDialog(!1),Xe(xe,r2,Ce,Je,l2.myStream);return}}if(Ce.update&&!l2.streamExternal){if(Ce.removeAudio||Ce.replaceAudio){if(l2.myStream&&l2.myStream.getAudioTracks()&&l2.myStream.getAudioTracks().length){var A2=l2.myStream.getAudioTracks()[0];z.log("Removing audio track:",A2),l2.myStream.removeTrack(A2);try{A2.stop()}catch(v0){}}if(l2.pc.getSenders()&&l2.pc.getSenders().length){var P2=!0;if(Ce.replaceAudio&&z.unifiedPlan&&(P2=!1),P2)for(var it in l2.pc.getSenders()){var A2=l2.pc.getSenders()[it];A2&&A2.track&&A2.track.kind==="audio"&&(z.log("Removing audio sender:",A2),l2.pc.removeTrack(A2))}}}if(Ce.removeVideo||Ce.replaceVideo){if(l2.myStream&&l2.myStream.getVideoTracks()&&l2.myStream.getVideoTracks().length){var A2=l2.myStream.getVideoTracks()[0];z.log("Removing video track:",A2),l2.myStream.removeTrack(A2);try{A2.stop()}catch(t0){}}if(l2.pc.getSenders()&&l2.pc.getSenders().length){var O2=!0;if(Ce.replaceVideo&&z.unifiedPlan&&(O2=!1),O2)for(var it in l2.pc.getSenders()){var A2=l2.pc.getSenders()[it];A2&&A2.track&&A2.track.kind==="video"&&(z.log("Removing video sender:",A2),l2.pc.removeTrack(A2))}}}}if(Je.stream!==null&&Je.stream!==void 0){var ut=Je.stream;if(z.log("MediaStream provided by the application"),z.debug(ut),Ce.update&&l2.myStream&&l2.myStream!==Je.stream&&!l2.streamExternal){try{var a1=l2.myStream.getTracks();for(var t3 in a1){var f3=a1[t3];z.log(f3),f3!=null&&f3.stop()}}catch(v0){}l2.myStream=null}l2.streamExternal=!0,v2.consentDialog(!1),Xe(xe,r2,Ce,Je,ut);return}if(t1(Ce)||z3(Ce)){if(!z.isGetUserMediaAvailable()){Je.error("getUserMedia not available");return}var N3={mandatory:{},optional:[]};v2.consentDialog(!0);var g3=t1(Ce);g3===!0&&Ce!=null&&Ce!=null&&t(Ce.audio)==="object"&&(g3=Ce.audio);var v1=z3(Ce);if(v1===!0&&Ce!=null&&Ce!=null){var Ui=Je.simulcast===!0,xi=Je.simulcast2===!0;if((Ui||xi)&&!r2&&(Ce.video===void 0||Ce.video===!1)&&(Ce.video="hires"),Ce.video&&Ce.video!="screen"&&Ce.video!="window")if(t(Ce.video)==="object")v1=Ce.video;else{var U3=0,G1=0;Ce.video==="lowres"?(G1=240,U3=320):Ce.video==="lowres-16:9"?(G1=180,U3=320):Ce.video==="hires"||Ce.video==="hires-16:9"||Ce.video==="hdres"?(G1=720,U3=1280):Ce.video==="fhdres"?(G1=1080,U3=1920):Ce.video==="4kres"?(G1=2160,U3=3840):Ce.video==="stdres"?(G1=480,U3=640):Ce.video==="stdres-16:9"?(G1=360,U3=640):(z.log("Default video setting is stdres 4:3"),G1=480,U3=640),z.log("Adding media constraint:",Ce.video),v1={height:{ideal:G1},width:{ideal:U3}},z.log("Adding video constraint:",v1)}else if(Ce.video==="screen"||Ce.video==="window"){var xo=function(t0,ii){v2.consentDialog(!1),t0?Je.error(t0):Xe(xe,r2,Ce,Je,ii)},x6=function(t0,ii,Gi){z.log("Adding media constraint (screen capture)"),z.debug(t0),navigator.mediaDevices.getUserMedia(t0).then(function(qr){Gi?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(_s){qr.addTrack(_s.getAudioTracks()[0]),ii(null,qr)}):ii(null,qr)}).catch(function(qr){v2.consentDialog(!1),ii(qr)})};if(Ce.screenshareFrameRate||(Ce.screenshareFrameRate=3),navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia){navigator.mediaDevices.getDisplayMedia({video:!0}).then(function(v0){v2.consentDialog(!1),t1(Ce)&&!Ce.keepAudio?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(t0){v0.addTrack(t0.getAudioTracks()[0]),Xe(xe,r2,Ce,Je,v0)}):Xe(xe,r2,Ce,Je,v0)},function(v0){v2.consentDialog(!1),Je.error(v0)});return}if(z.webRTCAdapter.browserDetails.browser==="chrome"){var ys=z.webRTCAdapter.browserDetails.version,Pl=33;window.navigator.userAgent.match("Linux")&&(Pl=35),ys>=26&&ys<=Pl?(N3={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:Ce.screenshareFrameRate,maxFrameRate:Ce.screenshareFrameRate,chromeMediaSource:"screen"}},audio:t1(Ce)&&!Ce.keepAudio},x6(N3,xo)):z.extension.getScreen(function(v0,t0){if(v0)return v2.consentDialog(!1),Je.error(v0);N3={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:Ce.screenshareFrameRate,maxFrameRate:Ce.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},N3.video.mandatory.chromeMediaSourceId=t0,x6(N3,xo,t1(Ce)&&!Ce.keepAudio)})}else if(z.webRTCAdapter.browserDetails.browser==="firefox")if(z.webRTCAdapter.browserDetails.version>=33)N3={video:{mozMediaSource:Ce.video,mediaSource:Ce.video},audio:t1(Ce)&&!Ce.keepAudio},x6(N3,function(v0,t0){if(xo(v0,t0),!v0)var ii=t0.currentTime,Gi=window.setInterval(function(){t0||window.clearInterval(Gi),t0.currentTime==ii&&(window.clearInterval(Gi),t0.onended&&t0.onended()),ii=t0.currentTime},500)});else{var c9=new Error("NavigatorUserMediaError");c9.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",v2.consentDialog(!1),Je.error(c9);return}return}}(Ce==null||Ce.video!=="screen")&&navigator.mediaDevices.enumerateDevices().then(function(v0){var t0=v0.some(function(Vi){return Vi.kind==="audioinput"}),ii=zt(Ce)||v0.some(function(Vi){return Vi.kind==="videoinput"}),Gi=t1(Ce),qr=z3(Ce),_s=g0(Ce),Ss=w1(Ce);if(Gi||qr||_s||Ss){var d9=Gi?t0:!1,h9=qr?ii:!1;if(!d9&&!h9)return v2.consentDialog(!1),Je.error("No capture device found"),!1;if(!d9&&_s)return v2.consentDialog(!1),Je.error("Audio capture is required, but no capture device found"),!1;if(!h9&&Ss)return v2.consentDialog(!1),Je.error("Video capture is required, but no capture device found"),!1}var w6={audio:t0&&!Ce.keepAudio?g3:!1,video:ii&&!Ce.keepVideo?v1:!1};z.debug("getUserMedia constraints",w6),!w6.audio&&!w6.video?(v2.consentDialog(!1),Xe(xe,r2,Ce,Je,ut)):navigator.mediaDevices.getUserMedia(w6).then(function(Vi){v2.consentDialog(!1),Xe(xe,r2,Ce,Je,Vi)}).catch(function(Vi){v2.consentDialog(!1),Je.error({code:Vi.code,name:Vi.name,message:Vi.message})})}).catch(function(v0){v2.consentDialog(!1),Je.error("enumerateDevices error",v0)})}else Xe(xe,r2,Ce,Je)}function G2(xe,qe){qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:z.noop,qe.error=typeof qe.error=="function"?qe.error:ni;var Je=qe.jsep,r2=oe[xe];if(r2==null||r2.webrtcStuff===null||r2.webrtcStuff===void 0){z.warn("Invalid handle"),qe.error("Invalid handle");return}var Ce=r2.webrtcStuff;if(Je!=null){if(Ce.pc===null){z.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),qe.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");return}Ce.pc.setRemoteDescription(Je).then(function(){if(z.log("Remote description accepted!"),Ce.remoteSdp=Je.sdp,Ce.candidates&&Ce.candidates.length>0){for(var v2=0;v2<Ce.candidates.length;v2++){var l2=Ce.candidates[v2];z.debug("Adding remote candidate:",l2),!l2||l2.completed===!0?Ce.pc.addIceCandidate(z.endOfCandidates):Ce.pc.addIceCandidate(l2)}Ce.candidates=[]}qe.success()},qe.error)}else qe.error("Invalid JSEP")}function pt(xe,qe,Je){Je=Je||{},Je.success=typeof Je.success=="function"?Je.success:z.noop,Je.error=typeof Je.error=="function"?Je.error:z.noop,Je.customizeSdp=typeof Je.customizeSdp=="function"?Je.customizeSdp:z.noop;var r2=oe[xe];if(r2==null||r2.webrtcStuff===null||r2.webrtcStuff===void 0){z.warn("Invalid handle"),Je.error("Invalid handle");return}var Ce=r2.webrtcStuff,v2=Je.simulcast===!0;v2?z.log("Creating offer (iceDone="+Ce.iceDone+", simulcast="+v2+")"):z.log("Creating offer (iceDone="+Ce.iceDone+")");var l2={};if(z.unifiedPlan){var A2=null,P2=null,it=Ce.pc.getTransceivers();if(it&&it.length>0)for(var O2 in it){var ut=it[O2];if(ut.sender&&ut.sender.track&&ut.sender.track.kind==="audio"||ut.receiver&&ut.receiver.track&&ut.receiver.track.kind==="audio"){A2||(A2=ut);continue}if(ut.sender&&ut.sender.track&&ut.sender.track.kind==="video"||ut.receiver&&ut.receiver.track&&ut.receiver.track.kind==="video"){P2||(P2=ut);continue}}var a1=t1(qe),t3=Mn(qe);!a1&&!t3?qe.removeAudio&&A2&&(A2.setDirection?A2.setDirection("inactive"):A2.direction="inactive",z.log("Setting audio transceiver to inactive:",A2)):a1&&t3?A2&&(A2.setDirection?A2.setDirection("sendrecv"):A2.direction="sendrecv",z.log("Setting audio transceiver to sendrecv:",A2)):a1&&!t3?A2&&(A2.setDirection?A2.setDirection("sendonly"):A2.direction="sendonly",z.log("Setting audio transceiver to sendonly:",A2)):!a1&&t3&&(A2?(A2.setDirection?A2.setDirection("recvonly"):A2.direction="recvonly",z.log("Setting audio transceiver to recvonly:",A2)):(A2=Ce.pc.addTransceiver("audio",{direction:"recvonly"}),z.log("Adding recvonly audio transceiver:",A2)));var f3=z3(qe),N3=Qt(qe);!f3&&!N3?qe.removeVideo&&P2&&(P2.setDirection?P2.setDirection("inactive"):P2.direction="inactive",z.log("Setting video transceiver to inactive:",P2)):f3&&N3?P2&&(P2.setDirection?P2.setDirection("sendrecv"):P2.direction="sendrecv",z.log("Setting video transceiver to sendrecv:",P2)):f3&&!N3?P2&&(P2.setDirection?P2.setDirection("sendonly"):P2.direction="sendonly",z.log("Setting video transceiver to sendonly:",P2)):!f3&&N3&&(P2?(P2.setDirection?P2.setDirection("recvonly"):P2.direction="recvonly",z.log("Setting video transceiver to recvonly:",P2)):(P2=Ce.pc.addTransceiver("video",{direction:"recvonly"}),z.log("Adding recvonly video transceiver:",P2)))}else l2.offerToReceiveAudio=Mn(qe),l2.offerToReceiveVideo=Qt(qe);var g3=Je.iceRestart===!0;g3&&(l2.iceRestart=!0),z.debug(l2);var v1=z3(qe);if(v1&&v2&&z.webRTCAdapter.browserDetails.browser==="firefox"){z.log("Enabling Simulcasting for Firefox (RID)");var Ui=Ce.pc.getSenders().find(function(G1){return G1.track.kind=="video"});if(Ui){var xi=Ui.getParameters();xi||(xi={});var U3=pe(Je.simulcastMaxBitrates);xi.encodings=[{rid:"h",active:!0,maxBitrate:U3.high},{rid:"m",active:!0,maxBitrate:U3.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:U3.low,scaleResolutionDownBy:4}],Ui.setParameters(xi)}}Ce.pc.createOffer(l2).then(function(G1){z.debug(G1);var xo={type:G1.type,sdp:G1.sdp};if(Je.customizeSdp(xo),G1.sdp=xo.sdp,z.log("Setting local description"),v1&&v2&&(z.webRTCAdapter.browserDetails.browser==="chrome"||z.webRTCAdapter.browserDetails.browser==="safari"?(z.log("Enabling Simulcasting for Chrome (SDP munging)"),G1.sdp=zn(G1.sdp)):z.webRTCAdapter.browserDetails.browser!=="firefox"&&z.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),Ce.mySdp=G1.sdp,Ce.pc.setLocalDescription(G1).catch(Je.error),Ce.mediaConstraints=l2,!Ce.iceDone&&!Ce.trickle){z.log("Waiting for all candidates...");return}z.log("Offer ready"),z.debug(Je),Je.success(G1)},Je.error)}function It(xe,qe,Je){Je=Je||{},Je.success=typeof Je.success=="function"?Je.success:z.noop,Je.error=typeof Je.error=="function"?Je.error:z.noop,Je.customizeSdp=typeof Je.customizeSdp=="function"?Je.customizeSdp:z.noop;var r2=oe[xe];if(r2==null||r2.webrtcStuff===null||r2.webrtcStuff===void 0){z.warn("Invalid handle"),Je.error("Invalid handle");return}var Ce=r2.webrtcStuff,v2=Je.simulcast===!0;v2?z.log("Creating answer (iceDone="+Ce.iceDone+", simulcast="+v2+")"):z.log("Creating answer (iceDone="+Ce.iceDone+")");var l2=null;if(z.unifiedPlan){l2={};var A2=null,P2=null,it=Ce.pc.getTransceivers();if(it&&it.length>0)for(var O2 in it){var ut=it[O2];if(ut.sender&&ut.sender.track&&ut.sender.track.kind==="audio"||ut.receiver&&ut.receiver.track&&ut.receiver.track.kind==="audio"){A2||(A2=ut);continue}if(ut.sender&&ut.sender.track&&ut.sender.track.kind==="video"||ut.receiver&&ut.receiver.track&&ut.receiver.track.kind==="video"){P2||(P2=ut);continue}}var a1=t1(qe),t3=Mn(qe);if(!a1&&!t3){if(qe.removeAudio&&A2)try{A2.setDirection?A2.setDirection("inactive"):A2.direction="inactive",z.log("Setting audio transceiver to inactive:",A2)}catch(U3){z.error(U3)}}else if(a1&&t3){if(A2)try{A2.setDirection?A2.setDirection("sendrecv"):A2.direction="sendrecv",z.log("Setting audio transceiver to sendrecv:",A2)}catch(U3){z.error(U3)}}else if(a1&&!t3)try{A2&&(A2.setDirection?A2.setDirection("sendonly"):A2.direction="sendonly",z.log("Setting audio transceiver to sendonly:",A2))}catch(U3){z.error(U3)}else if(!a1&&t3)if(A2)try{A2.setDirection?A2.setDirection("recvonly"):A2.direction="recvonly",z.log("Setting audio transceiver to recvonly:",A2)}catch(U3){z.error(U3)}else A2=Ce.pc.addTransceiver("audio",{direction:"recvonly"}),z.log("Adding recvonly audio transceiver:",A2);var f3=z3(qe),N3=Qt(qe);if(!f3&&!N3){if(qe.removeVideo&&P2)try{P2.setDirection?P2.setDirection("inactive"):P2.direction="inactive",z.log("Setting video transceiver to inactive:",P2)}catch(U3){z.error(U3)}}else if(f3&&N3){if(P2)try{P2.setDirection?P2.setDirection("sendrecv"):P2.direction="sendrecv",z.log("Setting video transceiver to sendrecv:",P2)}catch(U3){z.error(U3)}}else if(f3&&!N3){if(P2)try{P2.setDirection?P2.setDirection("sendonly"):P2.direction="sendonly",z.log("Setting video transceiver to sendonly:",P2)}catch(U3){z.error(U3)}}else if(!f3&&N3)if(P2)try{P2.setDirection?P2.setDirection("recvonly"):P2.direction="recvonly",z.log("Setting video transceiver to recvonly:",P2)}catch(U3){z.error(U3)}else P2=Ce.pc.addTransceiver("video",{direction:"recvonly"}),z.log("Adding recvonly video transceiver:",P2)}else z.webRTCAdapter.browserDetails.browser=="firefox"||z.webRTCAdapter.browserDetails.browser=="edge"?l2={offerToReceiveAudio:Mn(qe),offerToReceiveVideo:Qt(qe)}:l2={mandatory:{OfferToReceiveAudio:Mn(qe),OfferToReceiveVideo:Qt(qe)}};z.debug(l2);var g3=z3(qe);if(g3&&v2&&z.webRTCAdapter.browserDetails.browser==="firefox"){z.log("Enabling Simulcasting for Firefox (RID)");var v1=Ce.pc.getSenders()[1];z.log(v1);var Ui=v1.getParameters();z.log(Ui);var xi=pe(Je.simulcastMaxBitrates);v1.setParameters({encodings:[{rid:"high",active:!0,priority:"high",maxBitrate:xi.high},{rid:"medium",active:!0,priority:"medium",maxBitrate:xi.medium},{rid:"low",active:!0,priority:"low",maxBitrate:xi.low}]})}Ce.pc.createAnswer(l2).then(function(U3){z.debug(U3);var G1={type:U3.type,sdp:U3.sdp};if(Je.customizeSdp(G1),U3.sdp=G1.sdp,z.log("Setting local description"),g3&&v2&&(z.webRTCAdapter.browserDetails.browser==="chrome"?z.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):z.webRTCAdapter.browserDetails.browser!=="firefox"&&z.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),Ce.mySdp=U3.sdp,Ce.pc.setLocalDescription(U3).catch(Je.error),Ce.mediaConstraints=l2,!Ce.iceDone&&!Ce.trickle){z.log("Waiting for all candidates...");return}Je.success(U3)},Je.error)}function m3(xe,qe){qe=qe||{},qe.success=typeof qe.success=="function"?qe.success:z.noop,qe.error=typeof qe.error=="function"?qe.error:z.noop;var Je=oe[xe];if(Je==null||Je.webrtcStuff===null||Je.webrtcStuff===void 0){z.warn("Invalid handle, not sending anything");return}var r2=Je.webrtcStuff;if(z.log("Sending offer/answer SDP..."),r2.mySdp===null||r2.mySdp===void 0){z.warn("Local SDP instance is invalid, not sending anything...");return}r2.mySdp={type:r2.pc.localDescription.type,sdp:r2.pc.localDescription.sdp},r2.trickle===!1&&(r2.mySdp.trickle=!1),z.debug(qe),r2.sdpSent=!0,qe.success(r2.mySdp)}function o3(xe,qe){var Je=oe[xe];if(Je==null||Je.webrtcStuff===null||Je.webrtcStuff===void 0)return z.warn("Invalid handle"),0;var r2=qe?"remote":"local",Ce=Je.webrtcStuff;return Ce.volume[r2]||(Ce.volume[r2]={value:0}),Ce.pc.getStats&&z.webRTCAdapter.browserDetails.browser==="chrome"?qe&&(Ce.remoteStream===null||Ce.remoteStream===void 0)?(z.warn("Remote stream unavailable"),0):!qe&&(Ce.myStream===null||Ce.myStream===void 0)?(z.warn("Local stream unavailable"),0):Ce.volume[r2].timer===null||Ce.volume[r2].timer===void 0?(z.log("Starting "+r2+" volume monitor"),Ce.volume[r2].timer=setInterval(function(){Ce.pc.getStats(function(v2){for(var l2=v2.result(),A2=0;A2<l2.length;A2++){var P2=l2[A2];P2.type=="ssrc"&&(qe&&P2.stat("audioOutputLevel")?Ce.volume[r2].value=parseInt(P2.stat("audioOutputLevel")):!qe&&P2.stat("audioInputLevel")&&(Ce.volume[r2].value=parseInt(P2.stat("audioInputLevel"))))}})},200),0):Ce.volume[r2].value:(z.warn("Getting the "+r2+" volume unsupported by browser"),0)}function n3(xe,qe){var Je=oe[xe];if(Je==null||Je.webrtcStuff===null||Je.webrtcStuff===void 0)return z.warn("Invalid handle"),!0;var r2=Je.webrtcStuff;return r2.pc===null||r2.pc===void 0?(z.warn("Invalid PeerConnection"),!0):r2.myStream===void 0||r2.myStream===null?(z.warn("Invalid local MediaStream"),!0):qe?r2.myStream.getVideoTracks()===null||r2.myStream.getVideoTracks()===void 0||r2.myStream.getVideoTracks().length===0?(z.warn("No video track"),!0):!r2.myStream.getVideoTracks()[0].enabled:r2.myStream.getAudioTracks()===null||r2.myStream.getAudioTracks()===void 0||r2.myStream.getAudioTracks().length===0?(z.warn("No audio track"),!0):!r2.myStream.getAudioTracks()[0].enabled}function O3(xe,qe,Je){var r2=oe[xe];if(r2==null||r2.webrtcStuff===null||r2.webrtcStuff===void 0)return z.warn("Invalid handle"),!1;var Ce=r2.webrtcStuff;return Ce.pc===null||Ce.pc===void 0?(z.warn("Invalid PeerConnection"),!1):Ce.myStream===void 0||Ce.myStream===null?(z.warn("Invalid local MediaStream"),!1):qe?Ce.myStream.getVideoTracks()===null||Ce.myStream.getVideoTracks()===void 0||Ce.myStream.getVideoTracks().length===0?(z.warn("No video track"),!1):(Ce.myStream.getVideoTracks()[0].enabled=!Je,!0):Ce.myStream.getAudioTracks()===null||Ce.myStream.getAudioTracks()===void 0||Ce.myStream.getAudioTracks().length===0?(z.warn("No audio track"),!1):(Ce.myStream.getAudioTracks()[0].enabled=!Je,!0)}function xr(xe){var qe=oe[xe];if(qe==null||qe.webrtcStuff===null||qe.webrtcStuff===void 0)return z.warn("Invalid handle"),"Invalid handle";var Je=qe.webrtcStuff;return Je.pc===null||Je.pc===void 0?"Invalid PeerConnection":Je.pc.getStats?Je.bitrate.timer===null||Je.bitrate.timer===void 0?(z.log("Starting bitrate timer (via getStats)"),Je.bitrate.timer=setInterval(function(){Je.pc.getStats().then(function(r2){r2.forEach(function(Ce){if(Ce){var v2=!1;if(((Ce.mediaType==="video"||Ce.id.toLowerCase().indexOf("video")>-1)&&Ce.type==="inbound-rtp"&&Ce.id.indexOf("rtcp")<0||Ce.type=="ssrc"&&Ce.bytesReceived&&(Ce.googCodecName==="VP8"||Ce.googCodecName===""))&&(v2=!0),v2)if(Je.bitrate.bsnow=Ce.bytesReceived,Je.bitrate.tsnow=Ce.timestamp,Je.bitrate.bsbefore===null||Je.bitrate.tsbefore===null)Je.bitrate.bsbefore=Je.bitrate.bsnow,Je.bitrate.tsbefore=Je.bitrate.tsnow;else{var l2=Je.bitrate.tsnow-Je.bitrate.tsbefore;z.webRTCAdapter.browserDetails.browser=="safari"&&(l2=l2/1e3);var A2=Math.round((Je.bitrate.bsnow-Je.bitrate.bsbefore)*8/l2);z.webRTCAdapter.browserDetails.browser==="safari"&&(A2=parseInt(A2/1e3)),Je.bitrate.value=A2+" kbits/sec",Je.bitrate.bsbefore=Je.bitrate.bsnow,Je.bitrate.tsbefore=Je.bitrate.tsnow}}})})},1e3),"0 kbits/sec"):Je.bitrate.value:(z.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser")}function ni(xe){z.error("WebRTC error:",xe)}function tn(xe,qe){z.log("Cleaning WebRTC stuff");var Je=oe[xe];if(Je!=null){var r2=Je.webrtcStuff;if(r2!=null){if(qe===!0){var Ce={rtcgw:"hangup",transaction:z.randomString(12)};Je.token!==null&&Je.token!==void 0&&(Ce.token=Je.token),_e!=null&&(Ce.apisecret=_e),z.debug("Sending hangup request (handle="+xe+"):"),z.debug(Ce),U?(Ce.session_id=te,Ce.handle_id=xe,w.send(JSON.stringify(Ce))):z.httpAPICall(B+"/"+te+"/"+xe,{verb:"POST",withCredentials:ae,body:Ce})}r2.remoteStream=null,r2.volume&&(r2.volume.local&&r2.volume.local.timer&&clearInterval(r2.volume.local.timer),r2.volume.remote&&r2.volume.remote.timer&&clearInterval(r2.volume.remote.timer)),r2.volume={},r2.bitrate.timer&&clearInterval(r2.bitrate.timer),r2.bitrate.timer=null,r2.bitrate.bsnow=null,r2.bitrate.bsbefore=null,r2.bitrate.tsnow=null,r2.bitrate.tsbefore=null,r2.bitrate.value=null;try{if(!r2.streamExternal&&r2.myStream!==null&&r2.myStream!==void 0){z.log("Stopping local stream tracks");var v2=r2.myStream.getTracks();for(var l2 in v2){var A2=v2[l2];z.log(A2),A2!=null&&A2.stop()}}}catch(P2){}r2.streamExternal=!1,r2.myStream=null;try{r2.pc.close()}catch(P2){}r2.pc=null,r2.candidates=null,r2.mySdp=null,r2.remoteSdp=null,r2.iceDone=!1,r2.dataChannel={},r2.dtmfSender=null}Je.oncleanup()}}function zn(xe){for(var qe=xe.split(`\r |
|
|
`),Je=!1,r2=[-1],Ce=[-1],v2=null,l2=null,A2=null,P2=null,it=-1,O2=0;O2<qe.length;O2++){var ut=qe[O2].match(/m=(\w+) */);if(ut){var a1=ut[1];if(a1==="video")if(r2[0]<0)Je=!0;else{it=O2;break}else if(r2[0]>-1){it=O2;break}continue}if(Je){var t3=qe[O2].match(/a=ssrc-group:FID (\d+) (\d+)/);if(t3){r2[0]=t3[1],Ce[0]=t3[2],qe.splice(O2,1),O2--;continue}if(r2[0]){var f3=qe[O2].match("a=ssrc:"+r2[0]+" cname:(.+)");if(f3&&(v2=f3[1]),f3=qe[O2].match("a=ssrc:"+r2[0]+" msid:(.+)"),f3&&(l2=f3[1]),f3=qe[O2].match("a=ssrc:"+r2[0]+" mslabel:(.+)"),f3&&(A2=f3[1]),f3=qe[O2].match("a=ssrc:"+r2[0]+" label:(.+)"),f3&&(P2=f3[1]),qe[O2].indexOf("a=ssrc:"+Ce[0])===0){qe.splice(O2,1),O2--;continue}if(qe[O2].indexOf("a=ssrc:"+r2[0])===0){qe.splice(O2,1),O2--;continue}}if(qe[O2].length==0){qe.splice(O2,1),O2--;continue}}}if(r2[0]<0){it=-1,Je=!1;for(var O2=0;O2<qe.length;O2++){var ut=qe[O2].match(/m=(\w+) */);if(ut){var a1=ut[1];if(a1==="video")if(r2[0]<0)Je=!0;else{it=O2;break}else if(r2[0]>-1){it=O2;break}continue}if(Je){if(r2[0]<0){var N3=qe[O2].match(/a=ssrc:(\d+)/);if(N3){r2[0]=N3[1],qe.splice(O2,1),O2--;continue}}else{var f3=qe[O2].match("a=ssrc:"+r2[0]+" cname:(.+)");if(f3&&(v2=f3[1]),f3=qe[O2].match("a=ssrc:"+r2[0]+" msid:(.+)"),f3&&(l2=f3[1]),f3=qe[O2].match("a=ssrc:"+r2[0]+" mslabel:(.+)"),f3&&(A2=f3[1]),f3=qe[O2].match("a=ssrc:"+r2[0]+" label:(.+)"),f3&&(P2=f3[1]),qe[O2].indexOf("a=ssrc:"+Ce[0])===0){qe.splice(O2,1),O2--;continue}if(qe[O2].indexOf("a=ssrc:"+r2[0])===0){qe.splice(O2,1),O2--;continue}}if(qe[O2].length==0){qe.splice(O2,1),O2--;continue}}}}if(r2[0]<0)return z.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),xe;it<0&&(it=qe.length),r2[1]=Math.floor(Math.random()*4294967295),r2[2]=Math.floor(Math.random()*4294967295),Ce[1]=Math.floor(Math.random()*4294967295),Ce[2]=Math.floor(Math.random()*4294967295);for(var O2=0;O2<r2.length;O2++)v2&&(qe.splice(it,0,"a=ssrc:"+r2[O2]+" cname:"+v2),it++),l2&&(qe.splice(it,0,"a=ssrc:"+r2[O2]+" msid:"+l2),it++),A2&&(qe.splice(it,0,"a=ssrc:"+r2[O2]+" mslabel:"+A2),it++),P2&&(qe.splice(it,0,"a=ssrc:"+r2[O2]+" label:"+P2),it++),v2&&(qe.splice(it,0,"a=ssrc:"+Ce[O2]+" cname:"+v2),it++),l2&&(qe.splice(it,0,"a=ssrc:"+Ce[O2]+" msid:"+l2),it++),A2&&(qe.splice(it,0,"a=ssrc:"+Ce[O2]+" mslabel:"+A2),it++),P2&&(qe.splice(it,0,"a=ssrc:"+Ce[O2]+" label:"+P2),it++);return qe.splice(it,0,"a=ssrc-group:FID "+r2[2]+" "+Ce[2]),qe.splice(it,0,"a=ssrc-group:FID "+r2[1]+" "+Ce[1]),qe.splice(it,0,"a=ssrc-group:FID "+r2[0]+" "+Ce[0]),qe.splice(it,0,"a=ssrc-group:SIM "+r2[0]+" "+r2[1]+" "+r2[2]),xe=qe.join(`\r |
|
|
`),xe.endsWith(`\r |
|
|
`)||(xe+=`\r |
|
|
`),xe}function t1(xe){return z.debug("isAudioSendEnabled:",xe),xe==null?!0:xe.audio===!1?!1:xe.audioSend===void 0||xe.audioSend===null?!0:xe.audioSend===!0}function g0(xe){return z.debug("isAudioSendRequired:",xe),xe==null||xe.audio===!1||xe.audioSend===!1||xe.failIfNoAudio===void 0||xe.failIfNoAudio===null?!1:xe.failIfNoAudio===!0}function Mn(xe){return z.debug("isAudioRecvEnabled:",xe),xe==null?!0:xe.audio===!1?!1:xe.audioRecv===void 0||xe.audioRecv===null?!0:xe.audioRecv===!0}function z3(xe){return z.debug("isVideoSendEnabled:",xe),xe==null?!0:xe.video===!1?!1:xe.videoSend===void 0||xe.videoSend===null?!0:xe.videoSend===!0}function w1(xe){return z.debug("isVideoSendRequired:",xe),xe==null||xe.video===!1||xe.videoSend===!1||xe.failIfNoVideo===void 0||xe.failIfNoVideo===null?!1:xe.failIfNoVideo===!0}function Qt(xe){return z.debug("isVideoRecvEnabled:",xe),xe==null?!0:xe.video===!1?!1:xe.videoRecv===void 0||xe.videoRecv===null?!0:xe.videoRecv===!0}function zt(xe){if(z.debug("isScreenSendEnabled:",xe),xe==null||t(xe.video)!=="object"||t(xe.video.mandatory)!=="object")return!1;var qe=xe.video.mandatory;return qe.chromeMediaSource?qe.chromeMediaSource==="desktop"||qe.chromeMediaSource==="screen":qe.mozMediaSource?qe.mozMediaSource==="window"||qe.mozMediaSource==="screen":qe.mediaSource?qe.mediaSource==="window"||qe.mediaSource==="screen":!1}function w3(xe){return z.debug("isDataEnabled:",xe),z.webRTCAdapter.browserDetails.browser=="edge"?(z.warn("Edge doesn't support data channels yet"),!1):xe==null?!1:xe.data===!0}function g1(xe){return z.debug("isTrickleEnabled:",xe),xe==null?!0:xe===!0}}window.Janus=z;var Q2=null,Y2=null,Ae="tts-"+Janus.randomString(12),ge=null;Janus=window.Janus,Janus.init({debug:"all",callback:function(){window.stopTalk=function(){Q2.destroy()},window.startTalk=function(){if(!Janus.isWebrtcSupported()){bootbox.alert("No WebRTC support... ");return}Q2=new Janus({server:window.EZUIKit.opt.rtcUrl,success:function(){Q2.attach({plugin:"rtcgw.plugin.tts",opaqueId:Ae,success:function(T){Y2=T,Janus.log("Plugin attached! ("+Y2.getPlugin()+", id="+Y2.getId()+")");var P=window.EZUIKit.opt.talkLink;console.log("ttsUlr",P);var N={request:"start",url:P,codec:"opus",dir:"sendrecv",audio_debug:1};window.EZUIKit.opt.talkType==="gb28181"&&(N.devProto="gb28181"),Janus.debug("Trying a createOffer too (audio/video sendrecv)"),Y2.createOffer({media:{audio:!0,video:!1,data:!1},simulcast:!1,simulcast2:!1,success:function(B){Janus.debug("Got SDP!"),Janus.debug(B),Y2.send({message:N,jsep:B}),typeof window.EZUIKit.handleTalkSuccess!="undefined"&&window.EZUIKit.handleTalkSuccess()},error:function(B){Janus.error("WebRTC error:",B),typeof window.EZUIKit.handleTalkError!="undefined"&&window.EZUIKit.handleTalkError(B)}})},error:function(T){console.error(" -- Error attaching plugin...",T),bootbox.alert("Error attaching plugin... "+T),window.EZUIKit.handleTalkError!=="undefined"&&window.EZUIKit.handleTalkError(T)},consentDialog:function(T){Janus.debug("Consent dialog should be "+(T?"on":"off")+" now")},iceState:function(T){Janus.log("ICE state changed to "+T)},mediaState:function(T,P){Janus.log("Janus "+(P?"started":"stopped")+" receiving our "+T)},webrtcState:function(T){Janus.log("Janus says our WebRTC PeerConnection is "+(T?"up":"down")+" now")},slowLink:function(T,P){Janus.warn("Janus reports problems "+(T?"sending":"receiving")+" packets on this PeerConnection ("+P+" lost packets)")},onmessage:function(T,P){Janus.debug(" ::: Got a message :::"),Janus.debug(T),P!=null&&(Janus.debug("Handling SDP as well..."),Janus.debug(P),Y2.handleRemoteJsep({jsep:P}));var N=T.result;if(N!=null){if(N==="done"){bootbox.alert("The TTS Test is over"),ge!=null&&ge.stop(),ge=null;return}N==="msg"&&typeof window.EZUIKit.handleTalkMessage!="undefined"&&window.EZUIKit.handleTalkMessage(T);var O=N.status;O==="slow_link"&&toastr.warning("Janus apparently missed many packets we sent, maybe we should reduce the bitrate","Packet loss?",{timeOut:2e3})}},onlocalstream:function(T){Janus.debug(" ::: Got a local stream :::"),Janus.debug(T),Janus.attachMediaStream(document.getElementById("myaudio"),T),Y2.webrtcStuff.pc.iceConnectionState!=="completed"&&Y2.webrtcStuff.pc.iceConnectionState!=="connected"&&(ge==null?document.getElementById("audioright"):ge.spin());var P=T.getAudioTracks();P==null||P.length},onremotestream:function(T){Janus.debug(" ::: Got a remote stream :::"),Janus.debug(T),Janus.attachMediaStream(document.getElementById("peeraudio"),T);var P=T.getAudioTracks();P==null||P.length===0||document.getElementById("peeraudio").play()},ondataopen:function(T){Janus.log("The DataChannel is available!")},ondata:function(T){Janus.debug("We got data from the DataChannel! "+T)},oncleanup:function(){Janus.log(" ::: Got a cleanup notification :::"),ge!=null&&ge.stop(),ge=null}})},error:function(w){Janus.error(w),window.EZUIKit.handleTalkError!=="undefined"&&window.EZUIKit.handleTalkError(w)},destroyed:function(){}})}}}),window.janus=Q2,window.tts=Y2;var ke=function(){function Q(U){var w=this;i(this,Q),this.jSPlugin=U,this.codeHandler=new k2,this.pluginStatus=new V(this,this.jSPlugin.params.id);var T=document.createElement("div");T.id="audioleft";var P=document.createElement("div");P.id="audioright",P.style="display:none;";var N=document.createElement("audio");N.id="myaudio",N.muted=!0,N.setAttribute("autoplay",!0),N.setAttribute("controls",!0),T.appendChild(N),T.style="display:none;";var O=document.createElement("audio");O.id="peeraudio",O.setAttribute("autoplay",!0),O.setAttribute("controls",!0),P.appendChild(O),window.EZUIKit.handleTalkError=function(B){console.log("talk err",B),typeof w.jSPlugin.handleTalkError!="undefined"&&w.jSPlugin.handleTalkError(B)},window.EZUIKit.handleTalkSuccess=function(B){console.log("talk success",B),typeof w.jSPlugin.handleTalkSuccess!="undefined"&&w.jSPlugin.handleTalkSuccess(B)},window.EZUIKit.opt={rtcUrl:"",talkLink:"",ttsUrl:"",stream:"",deviceSerial:S(this.jSPlugin.url).deviceSerial,channelNo:S(this.jSPlugin.url).channelNo},document.body.appendChild(T),document.body.appendChild(P)}return a(Q,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"startTalk",value:function(){var w=this;if(this.jSPlugin.capacity&&this.jSPlugin.capacity.support_talk&&!(this.jSPlugin.capacity&&(this.jSPlugin.capacity.support_talk==="3"||this.jSPlugin.capacity.support_talk==="1")))return typeof this.jSPlugin.params.handleError=="function"&&(this.pluginStatus.loadingSetText({text:"设备不支持对讲",color:"red",delayClear:2e3}),this.jSPlugin.params.handleError({msg:"设备不支持对讲",retcode:-1e3,id:this.jSPlugin.params.id,type:"handleError"})),console.log("设备不支持对讲"),!1;var T=new FormData;T.append("accessToken",this.jSPlugin.accessToken),T.append("deviceSerial",S(this.jSPlugin.url).deviceSerial),T.append("channelNo",S(this.jSPlugin.url).channelNo),fetch(this.jSPlugin.env.domain+"/api/lapp/live/talk/url",{method:"POST",body:T}).then(function(P){return P.json()}).then(function(P){if(P.code==200){var N=P.data;if(N){var O=N.rtcUrl;O.indexOf("ws")===-1&&(O=O.replace("https","wss").replace("rtcgw","rtcgw-ws")),window.EZUIKit.opt.rtcUrl=O,window.EZUIKit.opt.ttsUrl="tts://"+N.ttsUrl,window.EZUIKit.opt.deviceSerial=S(w.jSPlugin.url).deviceSerial,window.EZUIKit.opt.channelNo=S(w.jSPlugin.url).channelNo;var B=window.EZUIKit.opt.ttsUrl.split("?");if(B.length===2){var de="talk?dev="+window.EZUIKit.opt.deviceSerial+"&chann="+window.EZUIKit.opt.channelNo+"&encodetype=2";window.EZUIKit.opt.talkLink=window.EZUIKit.opt.ttsUrl.split("?")[0]+"/"+de,window.EZUIKit.opt.talkType="gb28181"}else{var de="talk://"+window.EZUIKit.opt.deviceSerial+":0:"+window.EZUIKit.opt.channelNo+":cas.ys7.com:6500";window.EZUIKit.opt.talkLink=window.EZUIKit.opt.ttsUrl.split("?")[0]+"/"+de}window.EZUIKit.opt.stream=N.stream,window.startTalk()}}else console.log(P.code,w.codeHandler.matchInfo(P.code,"talk")),w.pluginStatus.loadingSetText({text:w.codeHandler.matchInfo(P.code,"talk").msg||P.msg,color:"red",delayClear:2e3}),typeof w.jSPlugin.params.handleError=="function"&&w.jSPlugin.params.handleError({msg:P.msg,retcode:P.code,id:w.jSPlugin.params.id,type:"handleError"})}).catch(function(P){console.log("err",P)})}},{key:"stopTalk",value:function(){window.stopTalk(),document.getElementById("myaudio")&&document.getElementById("myaudio").srcObject&&document.getElementById("myaudio").srcObject.getTracks()[0].stop()}}]),Q}(),d2=function(){function Q(U){var w=this;i(this,Q),this.jSPlugin=U;var T=document.createElement("style");T.innerHTML=` |
|
|
body{ |
|
|
padding: 0; |
|
|
margin: 0; |
|
|
} |
|
|
#mobile-ez-ptz-container { |
|
|
display: inline-block; |
|
|
width: 375px; |
|
|
text-align: center; |
|
|
} |
|
|
.live-ptz-title{ |
|
|
height: 25px; |
|
|
font-size: 18px; |
|
|
color: #2c2c2c; |
|
|
text-align: center; |
|
|
font-weight: 700; |
|
|
margin: 24px 0 12px; |
|
|
} |
|
|
.live-ptz-intro { |
|
|
margin-bottom: 24px; |
|
|
color: #aaaaaa; |
|
|
} |
|
|
.mobile-ez-ptz-wrap { |
|
|
background-image: linear-gradient(180deg, #f6f8ff 0%, #ededed6b 50%) |
|
|
} |
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container { |
|
|
position: relative; |
|
|
width: 260px; |
|
|
height: 260px; |
|
|
background: rgba(255, 255, 255, 0.80); |
|
|
border: 1px solid rgba(255, 255, 255, 0.80); |
|
|
border-radius: 100%; |
|
|
cursor: pointer; |
|
|
overflow: hidden; |
|
|
margin: auto; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.top { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-left: 6px solid transparent; |
|
|
border-right: 6px solid transparent; |
|
|
border-bottom: 6px solid #aaaaaa; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
left: calc(50% - 6px); |
|
|
top: 10px; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.top.active { |
|
|
border-bottom-color: #1890FF; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.bottom { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-left: 6px solid transparent; |
|
|
border-right: 6px solid transparent; |
|
|
border-top: 6px solid #aaaaaa; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
left: calc(50% - 6px); |
|
|
bottom: 10px; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.bottom.active { |
|
|
border-top-color: #1890FF; |
|
|
|
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.right { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-top: 6px solid transparent; |
|
|
border-bottom: 6px solid transparent; |
|
|
border-left: 6px solid #aaaaaa; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
top: calc(50% - 6px); |
|
|
right: 10px; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.right.active { |
|
|
border-left-color: #1890FF; |
|
|
|
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.left { |
|
|
width: 0; |
|
|
height: 0; |
|
|
border-top: 6px solid transparent; |
|
|
border-bottom: 6px solid transparent; |
|
|
border-right: 6px solid #aaaaaa; |
|
|
position: absolute; |
|
|
display: inline-block; |
|
|
top: calc(50% - 6px); |
|
|
left: 10px; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .mobile-ez-ptz-icon.left.active { |
|
|
border-right-color: #1890FF; |
|
|
|
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-container .ez-ptz-main.center { |
|
|
width: 52px; |
|
|
height: 52px; |
|
|
background: #FFFFFF; |
|
|
border: 2px solid #eee; |
|
|
border-radius: 100%; |
|
|
top: calc(50% - 26px); |
|
|
left: calc(50% - 26px); |
|
|
position: absolute; |
|
|
/* box-shadow: 0px -39px 40px 6px #1890ff; */ |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .mobile-ez-ptz-wrap { |
|
|
display: inline-block; |
|
|
padding: 24px 24px; |
|
|
border-radius: 100%; |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
#mobile-ez-ptz-container .ez-ptz-close { |
|
|
position: absolute; |
|
|
color: #FFFFFF; |
|
|
top: 0; |
|
|
right: 0px; |
|
|
}`,document.getElementsByTagName("head")[0].appendChild(T);var P=document.createElement("div");P.className="mobile-ez-ptz-container",P.id="mobile-ez-ptz-container",P.style="display:inline-block;width: ".concat(this.jSPlugin.width,"px;text-align:center;");var N=document.createElement("div");N.className="live-ptz-title",N.id="live-ptz-title",N.innerHTML="云台控制",document.getElementById("live-ptz-title")||P.appendChild(N);var O=document.createElement("div");O.className="live-ptz-intro",O.id="live-ptz-intro",O.innerHTML="请通过操控云台来调整摄像机视角",document.getElementById("live-ptz-intro")||P.appendChild(O);var B=document.createElement("div");B.id="mobile-ez-ptz-item",B.className="mobile-ez-ptz-wrap",B.innerHTML=` |
|
|
<div class="mobile-ez-ptz-container" id="mobile-ez-ptz-container"> |
|
|
<div class="ez-ptz-main center"></div> |
|
|
<div class="mobile-ez-ptz-icon top default"></div> |
|
|
<div class="mobile-ez-ptz-icon left default"></div> |
|
|
<div class="mobile-ez-ptz-icon bottom default"></div> |
|
|
<div class="mobile-ez-ptz-icon right default"></div> |
|
|
</div> |
|
|
`,document.getElementById("mobile-ez-ptz-item")||P.appendChild(B),h(P,document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),document.getElementById("mobile-ez-ptz-item").ontouchstart=function(de){de.preventDefault(),console.log("触摸开始"),w._handlePtzTouch(de,"start")},document.getElementById("mobile-ez-ptz-item").ontouchend=function(de){de.preventDefault(),console.log("触摸结束",de),w._handlePtzTouch(de,"stop")},document.getElementById("mobile-ez-ptz-item").onmousedown=function(de){de.preventDefault(),console.log("触摸开始"),w._handlePtzTouch(de,"start")},document.getElementById("mobile-ez-ptz-item").onmouseup=function(de){de.preventDefault(),console.log("触摸结束",de),w._handlePtzTouch(de,"stop")}}return a(Q,[{key:"show",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: none"}},{key:"_handlePtzTouch",value:function(w,T){var P=document.getElementById("mobile-ez-ptz-item").getBoundingClientRect(),N=P.left+130,O=P.top+130,B=w.x||w.changedTouches[0].clientX,de=w.y||w.changedTouches[0].clientY,me=B-N,fe=de-O,le=0,ae=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";Math.abs(me)>Math.abs(fe)?me>0?(le=3,document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("default","active")):(le=2,document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("default","active")):fe>0?(le=1,document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("default","active")):(le=0,document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("default","active")),document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(le===0?180:le===1?0:le===2?90:270,"deg, #c0ddf1 0%, rgba(100,143,252,0.00) 50%)"),T==="stop"&&(ae=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("mobile-ez-ptz-item").style="",document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("active","default"));var We=new FormData;We.append("deviceSerial",S(this.jSPlugin.url).deviceSerial),We.append("channelNo",S(this.jSPlugin.url).channelNo),We.append("speed",1),We.append("direction",le),We.append("accessToken",this.jSPlugin.accessToken),fetch(ae,{method:"POST",body:We}).then(function(Pe){return Pe.json()}).then(function(Pe){Pe.code==200||(Pe.code==60005||Pe.code==60002||Pe.code==60003||Pe.code==60004)&&(document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(le===0?180:le===1?0:le===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 50%)"))}).catch(function(Pe){console.log("云台调用异常",Pe)})}}]),Q}(),m2=0,Te="成功",ye={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]},footer:{color:"#FFFFFF",backgroundColor:"rgb(0 0 0 / 0%)",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-0",iconId:"play",part:"left",defaultActive:1,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-1",iconId:"capturePicture",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-2",iconId:"sound",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-3",iconId:"pantile",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-4",iconId:"recordvideo",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-5",iconId:"talk",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-6",iconId:"hd",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-7",iconId:"webExpend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-8",iconId:"expend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]}},Le={retcode:m2,msg:Te,data:ye},t2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},Oe={data:t2},T2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},o2={data:T2},q2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},K2={data:q2},st={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},lt={data:st},rt={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:0},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:0},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:0}]}},Ut={data:rt},Qe={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},ot={data:Qe},vt={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},Nt={data:vt},je=[{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcLive",themeIntro:"PC直播全量版",themeName:"PC直播全量版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:K2.data.header,footer:K2.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"security",themeIntro:"PC直播安防版",themeName:"PC直播安防版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:lt.data.header,footer:lt.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"voice",themeIntro:"PC直播语音版",themeName:"PC直播语音版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:ot.data.header,footer:ot.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"simple",themeIntro:"PC直播极简版",themeName:"PC直播极简版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"",header:Ut.data.header,footer:Ut.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcRec",themeIntro:"PC回放全量版",themeName:"PC回放全量版",themeType:"webRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:Nt.data.header,footer:Nt.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileLive",themeIntro:"Mobile直播全量版",themeName:"Mobile直播全量版",themeType:"mobileLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:Oe.data.header,footer:Oe.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileRec",themeIntro:"Mobile回放全量版",themeName:"Mobile回放全量版",themeType:"mobileRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:o2.data.header,footer:o2.data.footer}],$2=function(){function Q(U){var w=this;i(this,Q),this.jSPlugin=U,this.enableZoom=!1,this.isMouseDown=!1,this.videoWidth=1920,this.videoHeight=1080,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(U.id),this.clientRect=document.getElementById(U.id).getBoundingClientRect();var T=document.createElement("div");T.id="".concat(U.id,"-zoom-container"),T.style=`position: absolute; |
|
|
display:none; |
|
|
left: 12px; |
|
|
bottom: 80px;`;var P=` |
|
|
<div |
|
|
style="display: inline-flex;flex-direction: column;width: 38px;height: 160px;background:rgba(0,0,0,0.60);border-radius: 8px;align-items: center;"> |
|
|
<div id="`.concat(this.jSPlugin.id,`-scale-value" style="font-size: 12px;color:#FFFFFF;margin-top:10px;margin-bottom:4px;">2.0X</div> |
|
|
<div style="width: 24px;" id="`).concat(this.jSPlugin.id,`-addScale"> |
|
|
<?xml version="1.0" encoding="utf-8"?> |
|
|
<svg version="1.1" fill="#FFFFFF" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|
|
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"> |
|
|
<title>放大</title> |
|
|
<g id="矩形"> |
|
|
<rect class="st0" width="20" height="20" fill="none"/> |
|
|
</g> |
|
|
<g id="形状结合"> |
|
|
<path class="st1" d="M10,3.8c3.5,0,6.2,2.8,6.2,6.2s-2.8,6.2-6.2,6.2S3.8,13.5,3.8,10S6.5,3.8,10,3.8z M10,5c-2.8,0-5,2.2-5,5 |
|
|
s2.2,5,5,5s5-2.2,5-5S12.8,5,10,5z"/> |
|
|
</g> |
|
|
<g id="路径-4"> |
|
|
<path class="st2" d="M12.5,10.7h-5c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6h5c0.3,0,0.6,0.3,0.6,0.6S12.8,10.7,12.5,10.7z"/> |
|
|
</g> |
|
|
<g id="路径-4备份"> |
|
|
<path class="st2" d="M10,13.2c-0.3,0-0.6-0.3-0.6-0.6v-5c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6v5C10.6,12.9,10.3,13.2,10,13.2z"/> |
|
|
</g> |
|
|
</svg> |
|
|
</div> |
|
|
<div style=" |
|
|
position: relative; |
|
|
width: 1px; |
|
|
height: 64px; |
|
|
border: 1px solid rgba(255,255,255,0.75); |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
align-items: center; |
|
|
justify-content: flex-end;"> |
|
|
<div class="scale-body-line-dot" id="`).concat(this.jSPlugin.id,`-scale-body-line-dot" style="width: 8px; |
|
|
height: 8px; |
|
|
background: #FFFFFF; |
|
|
border-radius: 100%; |
|
|
position: absolute; |
|
|
border: 1.5px solid rgba(64,122,255,1);"></div> |
|
|
<div id="`).concat(this.jSPlugin.id,`-line-dot" style="width: 1px; |
|
|
height: 0%; |
|
|
background: #1890FF; |
|
|
bottom: 0;"></div> |
|
|
</div> |
|
|
<div style="width: 24px;margin-top: 6px;" id="`).concat(this.jSPlugin.id,`-subScale"> |
|
|
<?xml version="1.0" encoding="utf-8"?> |
|
|
<svg fill="#FFFFFF" version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|
|
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"> |
|
|
<title>缩小</title> |
|
|
<g id="矩形"> |
|
|
<rect class="st0" width="20" height="20" fill="none"/> |
|
|
</g> |
|
|
<g id="形状结合"> |
|
|
<path class="st1" d="M10,3.8c3.5,0,6.2,2.8,6.2,6.2s-2.8,6.2-6.2,6.2S3.8,13.5,3.8,10S6.5,3.8,10,3.8z M10,5c-2.8,0-5,2.2-5,5 |
|
|
s2.2,5,5,5s5-2.2,5-5S12.8,5,10,5z"/> |
|
|
</g> |
|
|
<g id="路径-4"> |
|
|
<path class="st2" d="M12.5,10.7h-5c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6h5c0.3,0,0.6,0.3,0.6,0.6S12.8,10.7,12.5,10.7z"/> |
|
|
</g> |
|
|
</svg> |
|
|
</div> |
|
|
</div> |
|
|
`);T.innerHTML=P,document.getElementById("".concat(U.id,"-audioControls-left")).parentNode.appendChild(T),document.getElementById("".concat(U.id,"-addScale")).onclick=function(){w.addScale()},document.getElementById("".concat(U.id,"-subScale")).onclick=function(){w.subScale()}}return a(Q,[{key:"onMouseDown",value:function(w){this.currentPosition,this.currentScale;var T=this.enableZoom;if(!T)return!1;this.moveX=w.clientX,this.moveY=w.clientY,this.isMouseDown=!0}},{key:"onMouseUp",value:function(w){var T=this.currentPosition,P=this.enableZoom;if(!P)return!1;this.isMouseDown=!1,T.left=T.left-(w.clientX-this.moveX),T.top=T.top-(w.clientY-this.moveY),this.doScale()}},{key:"onMouseOut",value:function(w){var T=this.enableZoom;if(!T)return!1;this.isMouseDown&&(console.log("鼠标按上",w),this.isMouseDown=!1),this.isMouseDown=!1}},{key:"renderDot",value:function(){var w=this.currentScale;document.getElementById("".concat(this.jSPlugin.id,"-scale-value")).innerHTML="".concat(w,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-line-dot")).style.height="".concat((w-1)/7*100,"%"),document.getElementById("".concat(this.jSPlugin.id,"-scale-body-line-dot")).style.bottom="calc(".concat((w-1)/7*100,"% - 6px)")}},{key:"startZoom",value:function(){var w=this,T=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=T.width,this.videoHeight=T.height,this.currentPosition.right=T.width,this.currentPosition.bottom=T.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot(),this.enableZoom=!0,document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0"))?(document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mousedown",function(P){return w.onMouseDown(P)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseup",function(P){return w.onMouseUp(P)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseout",function(P){return w.onMouseOut(P)})):document.getElementById("".concat(this.jSPlugin.id,"-player"))&&(document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mousedown",function(P){return w.onMouseDown(P)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseup",function(P){return w.onMouseUp(P)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseout",function(P){return w.onMouseOut(P)}))}},{key:"stopZoom",value:function(){var w=this;this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot(),this.enableZoom=!1,document.getElementById(this.jSPlugin.id).removeEventListener("mousedown",function(T){return w.onMouseDown(T)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseup",function(T){return w.onMouseUp(T)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseout",function(T){return w.onMouseOut(T)})}},{key:"doScale",value:function(){console.log("执行放大");var w=this.currentPosition,T=this.currentScale;w.left=w.left+w.xPercent*(w.right-w.left)-1/2*(this.videoWidth/T),w.left<0?w.left=0:w.left>this.videoWidth-this.videoWidth/T&&(w.left=this.videoWidth-this.videoWidth/T),w.right=w.left+this.videoWidth/T,w.top=w.top+w.yPercent*(w.bottom-w.top)-1/2*(this.videoHeight/T),w.top<0?w.top=0:w.top>this.videoHeight-this.videoHeight/T&&(w.top=this.videoHeight-this.videoHeight/T),w.bottom=w.top+this.videoHeight/T,w.left=parseInt(w.left,10),w.right=parseInt(w.right,10),w.top=parseInt(w.top,10),w.bottom=parseInt(w.bottom,10),console.log("计算后,",this.jSPlugin.jSPlugin,w.left,w.right,w.top,w.bottom,w.xPercent,w.yPercent),this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(w.left,w.right,w.top,w.bottom),this.renderDot()}},{key:"calCurrentPosition",value:function(w){var T=this.currentPosition,P=this.clientRect;T.x=w.clientX,T.y=w.clientY,T.xPercent=(w.clientX-P.x)/P.width,T.yPercent=(w.clientY-P.y)/P.height,this.doScale()}},{key:"addScale",value:function(){var w=this.currentScale,T=this.currentPosition;if(w>=8)return console.log("达到最大倍率了"),this.jSPlugin.Message&&this.jSPlugin.Message.default("已经放大到最大倍数8.0X"),!1;this.currentScale++,T.xPercent=.5,T.yPercent=.5,this.doScale()}},{key:"subScale",value:function(){var w=this.currentScale,T=this.currentPosition;if(w<=1)return console.log("达到最小倍率了"),!1;this.currentScale--,T.xPercent=.5,T.yPercent=.5,this.doScale()}}]),Q}();function tt(Q,U){return Math.abs(U.clientX-Q.clientX)*Math.abs(U.clientX-Q.clientX)+Math.abs(U.clientY-Q.clientY)*Math.abs(U.clientY-Q.clientY)}var Et=function(){function Q(U){var w=this;i(this,Q),this.jSPlugin=U,this.enableZoom=!1,this.isDubboTouch=!1,this.videoWidth=0,this.videoHeight=0,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(U.id),this.clientRect=document.getElementById(U.id).getBoundingClientRect(),this.point1={clientX:0,clientY:0},this.point2={clientX:0,clientY:0},this.touchLineLength=0,this.inited=!1;var T=document.createElement("div");T.id="".concat(U.id,"-zoom-container"),T.style=`display:none; |
|
|
position: absolute; |
|
|
left: 10px; |
|
|
top: -30px; |
|
|
border: 1px solid rgba(0,0,0,0.6); |
|
|
color: #FFFFFF; |
|
|
background: rgba(0,0,0,0.6); |
|
|
border-radius: 10px; |
|
|
width: 36px; |
|
|
font-size: 12px; |
|
|
text-align: center; |
|
|
height: 22px; |
|
|
line-height: 22px;`;var P="1X";T.innerHTML=P,document.getElementById("".concat(U.id,"-audioControls-left")).parentNode.appendChild(T),document.getElementById(this.jSPlugin.id).addEventListener("touchstart",function(N){return w.onTouchstart(N)}),document.getElementById(this.jSPlugin.id).addEventListener("touchmove",function(N){return w.onTouchmove(N)})}return a(Q,[{key:"onTouchstart",value:function(w){var T=this.jSPlugin.beforeMobileZoomVerify();if(!T)return!1;if(!this.inited){var P=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=P.width,this.videoHeight=P.height,this.currentPosition.right=P.width,this.currentPosition.bottom=P.height,this.inited=!0}var N=this.currentPosition;this.currentScale,console.log("双指按下",N);var O=w.touches,B=O[0],de=O[1];B&&(this.point1.clientX=B.clientX,this.point1.clientY=B.clientY),de&&(this.point2.clientX=de.clientX,this.point2.clientY=de.clientY,this.touchLineLength=tt(this.point1,this.point2),this.isDubboTouch=!0,this.moveX=B.clientX,this.moveY=B.clientY),console.log("双指按下2",N)}},{key:"onTouchmove",value:function(w){var T=this.isDubboTouch,P=this.currentPosition,N=this.clientRect,O=this.jSPlugin.beforeMobileZoomVerify();if(!O)return!1;if(w.touches.length===1){var de=w.touches[0];return P.xPercent=P.xPercent+(this.point1.clientX-de.clientX)/N.width/this.currentScale,P.yPercent=P.yPercent+(this.point1.clientY-de.clientY)/N.height/this.currentScale,this.doScale(),this.point1.clientX=de.clientX,this.point1.clientY=de.clientY,!1}if(!T)return!1;var B=w.touches,de=B[0],me=B[1];if(de&&(this.point1.clientX=de.clientX,this.point1.clientY=de.clientY),me){this.point2.clientX=me.clientX,this.point2.clientY=me.clientY;var fe=tt(this.point1,this.point2);fe!==this.touchLineLength&&(fe>this.touchLineLength?this.currentScale<8?(++this.currentScale,P.xPercent=(this.point1.clientX+this.point2.clientX)/2/N.width,P.yPercent=(this.point1.clientY+this.point2.clientY)/2/N.height,this.doScale()):console.log("已经是最大8倍率了"):this.currentScale>1?(--this.currentScale,P.xPercent=(this.point1.clientX+this.point2.clientX)/2/N.width,P.yPercent=(this.point1.clientY+this.point2.clientY)/2/N.height,this.doScale()):console.log("已经是最小1倍率了"),this.isDubboTouch=!1)}}},{key:"startZoom",value:function(){var w=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=w.width,this.videoHeight=w.height,this.currentPosition.right=w.width,this.currentPosition.bottom=w.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot()}},{key:"stopZoom",value:function(){this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot()}},{key:"resetZoom",value:function(){this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none"}},{key:"doScale",value:function(){var w=this.currentPosition,T=this.currentScale;w.left=w.left+w.xPercent*(w.right-w.left)-1/2*(this.videoWidth/T),w.left<0?w.left=0:w.left>this.videoWidth-this.videoWidth/T&&(w.left=this.videoWidth-this.videoWidth/T),w.right=w.left+this.videoWidth/T,w.top=w.top+w.yPercent*(w.bottom-w.top)-1/2*(this.videoHeight/T),w.top<0?w.top=0:w.top>this.videoHeight-this.videoHeight/T&&(w.top=this.videoHeight-this.videoHeight/T),w.bottom=w.top+this.videoHeight/T,w.left=parseInt(w.left,10),w.right=parseInt(w.right,10),w.top=parseInt(w.top,10),w.bottom=parseInt(w.bottom,10),console.log("视频宽高",this.videoWidth,this.videoHeight),console.log("计算后,",w.left,w.right,w.top,w.bottom,w.xPercent,w.yPercent),w.left<w.right&&w.top<w.bottom&&w.bottom<=this.videoHeight&&w.right<=this.videoWidth&&this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(w.left,w.right,w.top,w.bottom),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).innerHTML="".concat(T,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display=T===1?"none":"inline-block"}},{key:"calCurrentPosition",value:function(w){var T=this.currentPosition,P=this.clientRect;T.x=w.clientX,T.y=w.clientY,T.xPercent=(w.clientX-P.x)/P.width,T.yPercent=(w.clientY-P.y)/P.height,this.doScale()}}]),Q}(),Ft=function(U){var w="";return Object.keys(U).map(function(T,P){w+="".concat(T,":").concat(U[T]).concat(P<Object.keys(U).length-1?";":"")}),w},yt=500,p3=function(){function Q(U){var w=this;if(i(this,Q),this.jSPlugin=U,this.isNeedRenderHeader=!1,this.isNeedRenderFooter=!1,this.autoFocus=0,this.autoFocusTimer=null,this.recordTimer=null,this.nextRate=1,this.showHD=!1,this.themeInited=!1,this.decoderState={state:{isEditing:!1,play:!1,sound:!1,recordvideo:!1,recordCount:"00:00",talk:!1,zoom:!1,pantile:!1,hd:!1,speed:!1,expend:!1,webExpend:!1,cloudRec:S(U.url).type==="cloud.rec",rec:S(U.url).type==="rec",type:S(U.url).type}},this.pluginStatus=new V(this,this.jSPlugin.params.id),console.log(" matchEzopenUrl(jSPlugin.url)",S(U.url),this.decoderState.state),this.inited=!1,this.isMobile=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i),typeof U.isMobile!="undefined"&&(this.isMobile=U.isMobile),this.themeData=Le.data,this.jSPlugin.themeId)switch(this.jSPlugin.themeId){case"pcLive":case"pcRec":case"mobileLive":case"mobileRec":case"security":case"voice":case"simple":var T=E.find(je,function(P){return P.themeId===w.jSPlugin.themeId});T&&(this.themeData=T),this.initThemeData(),this.renderThemeData();break;case"themeData":this.themeData=this.jSPlugin.params.themeData,this.initThemeData(),this.renderThemeData();break;default:this.fetchThemeData(this.jSPlugin.themeId);break}this.jSPlugin.Talk||(this.jSPlugin.Talk=new ke(this.jSPlugin)),u("".concat(this.jSPlugin.staticPath,"/speed/speed.css")),u("".concat(this.jSPlugin.staticPath,"/css/theme.css"))}return a(Q,[{key:"fetchThemeData",value:function(w){var T=this,P="".concat(this.jSPlugin.env.domain,"/console/jssdk/ezopen/template/getDetail?accessToken=").concat(this.jSPlugin.accessToken,"&id=").concat(w);(window.location.hostname==="test11open.ys7.com"||window.location.hostname==="127.0.0.1"||window.location.hostname==="jianboyu.top")&&(P=P.replace("test12open.ys7.com/console/jssdk","test11open.ys7.com/console/jssdk")),fetch(P,{method:"GET"}).then(function(N){return N.json()}).then(function(N){console.log("get theme data",N),N.meta.code===0&&N.data&&(T.themeData=N.data,N.data.header&&(T.themeData.header=N.data.header,T.themeData.header.btnList=T.themeData.header.btnList.sort(function(O,B){return O.btnKey.split("-")[3]-B.btnKey.split("-")[3]})),N.data.footer&&(T.themeData.footer=N.data.footer,T.themeData.footer.btnList=T.themeData.footer.btnList.sort(function(O,B){return O.btnKey.split("-")[3]-B.btnKey.split("-")[3]})),T.initThemeData(),T.renderThemeData())}).catch(function(N){T.renderThemeData()})}},{key:"changeTheme",value:function(w){var T=this;if(typeof w=="string")switch(this.jSPlugin.themeId=w,this.jSPlugin.themeId){case"pcLive":case"pcRec":case"mobileLive":case"mobileRec":case"security":case"voice":case"simple":var P=E.find(je,function(N){return N.themeId===T.jSPlugin.themeId});P&&(this.themeData=P),this.initThemeData(),this.renderThemeData();break;default:this.fetchThemeData(w);break}else t(w)==="object"&&(this.themeData=w,this.initThemeData(),this.renderThemeData(),this.decoderState.state.isEditing&&this.editStart());this.jSPlugin&&this.jSPlugin.handleThemeChange&&this.jSPlugin.handleThemeChange(w)}},{key:"renderThemeData",value:function(){var w=this,T=this.themeData,P=T.header,N=T.footer;if(this.isNeedRenderHeader&&P&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.background=P.backgroundColor.replace("-diy",""),document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=P.color.replace("-diy",""),P.btnList.map(function(me,fe){me.isrender&&w.setDecoderState(o({},me.iconId,w.decoderState.state[me.iconId]))})),this.isNeedRenderFooter&&N)document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=N.backgroundColor.replace("-diy",""),document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=N.color.replace("-diy",""),N.btnList.map(function(me,fe){if(me.isrender&&w.setDecoderState(o({},me.iconId,w.decoderState.state[me.iconId])),me.iconId==="play"&&me.defaultActive&&!w.themeInited)var le=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(le),w.jSPlugin.play(),w.themeInited=!0)},50)}),this.jSPlugin.url.indexOf("hd.live")!==-1&&this.setDecoderState({hd:!0}),this.themeData.autoFocus>0&&(this.autoFocus=parseInt(this.themeData.autoFocus),this.startAutoFocus(),document.getElementById("".concat(this.jSPlugin.id,"-wrap")).addEventListener("click",function(){w.stopAutoFocus()})),this.setDecoderState({cloudRec:S(this.jSPlugin.url).type==="cloud.rec",rec:S(this.jSPlugin.url).type==="rec",type:S(this.jSPlugin.url).type});else if(!this.themeInited)var O=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(O),w.jSPlugin.play(),w.themeInited=!0)},50);var B=E.findIndex(this.themeData.footer.btnList,function(me){return me.iconId==="zoom"&&me.isrender>0})>=0;B&&(this.isMobile?(this.jSPlugin.beforeMobileZoomVerify=function(){var me=w.decoderState.state.play;return console.log("手机端电子放大前校验回调play------------",me),!!me},this.jSPlugin.Zoom=new Et(this.jSPlugin)):this.jSPlugin.Zoom=new $2(this.jSPlugin));var de=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(de),w.jSPlugin.reSize(w.jSPlugin.params.width,w.jSPlugin.params.height))},50)}},{key:"setDecoderState",value:function(w){var T=this,P=this.themeData,N=P.header,O=P.footer;Object.keys(w).map(function(B,de){var me="#FFFFFF",fe="#FFFFFF",le=N.btnList.findIndex(function(ae){return ae.iconId===B});switch(le===-1?(me=O.color.replace("-diy",""),fe=O.activeColor.replace("-diy","")):(me=N.color.replace("-diy",""),fe=O.activeColor.replace("-diy","")),B){case"play":w[B]?document.getElementById("".concat(T.jSPlugin.id,"-play"))&&(document.getElementById("".concat(T.jSPlugin.id,"-play-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-play-content")).children[0].children[1].style="display:none",document.getElementById("".concat(T.jSPlugin.id,"-play")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-play-content")).childNodes[0].children[0].style.fill=w[B]?fe:me):document.getElementById("".concat(T.jSPlugin.id,"-play"))&&(document.getElementById("".concat(T.jSPlugin.id,"-play-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-play-content")).children[0].children[0].style="display:none",document.getElementById("".concat(T.jSPlugin.id,"-play")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-play-content")).childNodes[0].children[1].style.fill=w[B]?fe:me);break;case"sound":document.getElementById("".concat(T.jSPlugin.id,"-sound"))&&(w[B]?(document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:none",document.getElementById("".concat(T.jSPlugin.id,"-sound")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).childNodes[0].children[1].style.fill=w[B]?fe:me):(document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:none",document.getElementById("".concat(T.jSPlugin.id,"-sound")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-sound-content")).childNodes[0].children[0].style.fill=w[B]?fe:me));break;case"recordvideo":document.getElementById("".concat(T.jSPlugin.id,"-recordvideo"))&&(document.getElementById("".concat(T.jSPlugin.id,"-recordvideo")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-recordvideo-content")).childNodes[0].style.fill=w[B]?fe:me,w[B]?T.countTime("add",0):T.countTime("destroy",0));break;case"talk":document.getElementById("".concat(T.jSPlugin.id,"-talk"))&&(document.getElementById("".concat(T.jSPlugin.id,"-talk")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-talk-content")).childNodes[1].style.fill=w[B]?fe:me);break;case"zoom":document.getElementById("".concat(T.jSPlugin.id,"-zoom"))&&(document.getElementById("".concat(T.jSPlugin.id,"-zoom")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-zoom-content")).childNodes[1].style.fill=w[B]?fe:me);break;case"pantile":document.getElementById("".concat(T.jSPlugin.id,"-pantile"))&&(document.getElementById("".concat(T.jSPlugin.id,"-pantile")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-pantile-content")).childNodes[0].style.fill=w[B]?fe:me);break;case"webExpend":w[B]?(document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend")).className="disabled")):(document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend")).className="")),document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[0].style.fill=w[B]?fe:me,document.getElementById("".concat(T.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[1].style.fill=w[B]?fe:me);break;case"capturePicture":document.getElementById("".concat(T.jSPlugin.id,"-capturePicture"))&&(document.getElementById("".concat(T.jSPlugin.id,"-capturePicture")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-capturePicture-content")).childNodes[0].style.fill=w[B]?fe:me);break;case"expend":w[B]?(document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend")).className="disabled")):(document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(T.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-webExpend")).className="")),document.getElementById("".concat(T.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(T.jSPlugin.id,"-expend")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[0].style.fill=w[B]?fe:me,document.getElementById("".concat(T.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[1].style.fill=w[B]?fe:me);break;case"hd":w[B]?document.getElementById("".concat(T.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(T.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:block",document.getElementById("".concat(T.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:none"):document.getElementById("".concat(T.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(T.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:block",document.getElementById("".concat(T.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:none");break;case"speed":document.getElementById("".concat(T.jSPlugin.id,"-speed"))&&(document.getElementById("".concat(T.jSPlugin.id,"-speed-content")).children[1].children[0].style.color=w[B]?fe:me,document.getElementById("".concat(T.jSPlugin.id,"-speed-content")).children[1].children[0].style.borderColor=w[B]?fe:me),document.getElementById("".concat(T.jSPlugin.id,"-select-mask"))&&(T.isMobile&&w[B]?document.getElementById("".concat(T.jSPlugin.id,"-select-mask")).style.display="block":document.getElementById("".concat(T.jSPlugin.id,"-select-mask")).style.display="none");break;case"cloudRec":document.getElementById("".concat(T.jSPlugin.id,"-cloudRec"))&&(console.log("document.getElementById(`${this.jSPlugin.id}-cloudRec-content`)",document.getElementById("".concat(T.jSPlugin.id,"-cloudRec"))),document.getElementById("".concat(T.jSPlugin.id,"-cloudRec")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=w[B]?fe:me),document.getElementById("".concat(T.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(T.jSPlugin.id,"-rec")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=w[B]?me:fe);break;case"rec":document.getElementById("".concat(T.jSPlugin.id,"-cloudRec"))&&(document.getElementById("".concat(T.jSPlugin.id,"-cloudRec")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=w[B]?me:fe),document.getElementById("".concat(T.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(T.jSPlugin.id,"-rec")).className=w[B]?"active":"",document.getElementById("".concat(T.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=w[B]?fe:me);break}T.decoderState.state=Object.assign(T.decoderState.state,w)})}},{key:"startAutoFocus",value:function(){var w=this,T=this.autoFocus;this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.autoFocusTimer=setTimeout(function(){document.getElementById("".concat(w.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(w.jSPlugin.id,"-audioControls")).style.opacity=0,document.getElementById("".concat(w.jSPlugin.id,"-audioControls")).style.pointerEvents="none")},T*1e3)}},{key:"stopAutoFocus",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.opacity=1,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.pointerEvents="all"),this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.startAutoFocus()}},{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"renderFooter",value:function(w,T){var P=this,N=this.matchBtn(w);if(this.isMobile&&N.id==="zoom")return!1;var O=document.createElement("div");O.className="theme-icon-item",O.innerHTML="".concat('<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'" style="position:relative;">')+'<div id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-content" title="').concat(N.title,'" style="height:').concat(this.jSPlugin.width>yt?48:32,'px;display: flex;align-items: center;position:relative;">')).concat(N.domString,"</div>")+"</span>",O.onclick=function(fe){if(P.decoderState.state.isEditing)return!1;N.onclick(fe)},N.onmouseenter&&(O.onmouseenter=function(fe){if(P.decoderState.state.isEditing)return!1;N.onmouseenter(fe)}),N.onmouseleave&&(O.onmouseleave=function(fe){if(P.decoderState.state.isEditing)return!1;N.onmouseleave(fe)});var B=document.createElement("span");B.className="icon-move left",B.innerHTML='<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-left" title="左移" style="position: absolute;top: calc(50% - 10px);left: -4px;"><svg fill="#ffffff" version="1.1" xmlns="http://www.w3.org/2000/svg" width="12" height="24" viewBox="0 0 10 15" style="background:#00000080;"><path d="M7.4,10V5.3c0-0.3-0.3-0.6-0.6-0.6c-0.1,0-0.3,0.1-0.4,0.2L3.7,7.4c-0.2,0.2-0.3,0.6,0,0.8 c0,0,0,0,0.1,0.1l2.7,2.2c0.2,0.2,0.6,0.2,0.8-0.1C7.3,10.3,7.4,10.2,7.4,10z"></path></svg></span>'),B.onclick=function(){P.editIcon(N.id,"left","footer")},O.appendChild(B);var de=document.createElement("span");de.className="icon-move right",de.innerHTML='<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-right" class="ezuikit-theme-icon" title="右移" style="position: absolute;top: calc(50% - 10px);left: calc(100% - 8px);"><svg fill="#ffffff" version="1.1" xmlns="http://www.w3.org/2000/svg" width="12" height="24" viewBox="0 0 10 15" style="background:#00000080"><path d="M3.4,5.2v4.7c0,0.3,0.3,0.6,0.6,0.6c0.1,0,0.3-0.1,0.4-0.2l2.7-2.5c0.2-0.2,0.3-0.6,0-0.8 c0,0,0,0-0.1-0.1L4.4,4.8C4.1,4.6,3.8,4.6,3.6,4.9C3.5,5,3.4,5.1,3.4,5.2z"></path></svg></span>'),de.onclick=function(){P.editIcon(N.id,"right","footer")},O.appendChild(de);var me=document.createElement("span");me.className="icon-move close",me.innerHTML='<span id="'.concat(N.id,'-remove" class="ezuikit-theme-icon" title="移除" style="position: absolute;top: -10px;right: -10px;">')+'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 15 15"><circle style="fill-rule:evenodd;clip-rule:evenodd;fill-opacity:0.8011;" cx="7.5" cy="7.6" r="7" /><rect x="3.9" y="3.5" class="st1" style="fill:none;" width="8.1" height="8.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="5" x2="10" y2="10.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="10.1" x2="10" y2="5" /></svg></span>',me.onclick=function(){P.editIcon(N.id,"delete","footer")},O.appendChild(me),T==="left"?document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[0].appendChild(O):document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[1].appendChild(O)}},{key:"editIcon",value:function(w,T,P){console.log("编辑组件",w,T,P);var N=this.themeData;console.log("themeData",this.themeData);var O=this.themeData[P].btnList,B=E.findIndex(O,function(We){return We.iconId===w}),de=O[B];switch(T){case"delete":if(w==="rec"){if(E.findIndex(O,function(We){return We.iconId==="cloudRec"&&We.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1}else if(w==="cloudRec"&&E.findIndex(O,function(We){return We.iconId==="rec"&&We.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1;O[B].isrender=0;break;case"right":for(var me=-1,fe=B+1;fe<O.length;fe++)if(O[fe].part===O[B].part&&O[fe].isrender==1){me=fe;break}me!==-1&&(O[B]=O[me],O[me]=de);break;case"left":for(var le=-1,ae=B-1;ae>=0;ae--)if(O[ae].part===O[B].part&&O[ae].isrender==1){le=ae;break}le!==-1&&(O[B]=O[le],O[le]=de);break}console.log("new btnList",O),N[P].btnList=O,this.changeTheme(N)}},{key:"renderHeader",value:function(w,T){var P=this,N=this.matchBtn(w),O=document.createElement("div");O.className="theme-icon-item",O.style="max-width:50%;",O.innerHTML="".concat('<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'" style="position:relative;";>')+'<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-content" title="').concat(N.title,'" style="display:inline-block;height:').concat(this.width>yt?48:32,'px;">')).concat(N.domString,"</span>")+'<span id="'.concat(this.jSPlugin.id,"-").concat(N.id,'-remove" title="移除" style="position: absolute;top: -6px;left: 38px;display: none;">')+'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 15 15"><circle style="fill-rule:evenodd;clip-rule:evenodd;fill-opacity:0.8011;" cx="7.5" cy="7.6" r="7" /><rect x="3.9" y="3.5" class="st1" style="fill:none;" width="8.1" height="8.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="5" x2="10" y2="10.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="10.1" x2="10" y2="5" /></svg></span></span>',O.onclick=function(de){if(P.decoderState.state.isEditing)return!1;N.onclick(de)};var B=document.createElement("span");B.className="icon-move close",B.innerHTML='<span id="'.concat(N.id,'-remove" class="ezuikit-theme-icon" title="移除" style="position: absolute;top: -6px;right: -6px;">')+'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 15 15"><circle style="fill-rule:evenodd;clip-rule:evenodd;fill-opacity:0.8011;" cx="7.5" cy="7.6" r="7" /><rect x="3.9" y="3.5" class="st1" style="fill:none;" width="8.1" height="8.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="5" x2="10" y2="10.1" /><line style="fill:none;stroke:#ffffff;stroke-width:0.5833;stroke-linecap:round;" x1="4.9" y1="10.1" x2="10" y2="5" /></svg></span>',B.onclick=function(){P.editIcon(N.id,"delete","header")},O.appendChild(B),T==="left"?document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[0].appendChild(O):document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[1].appendChild(O)}},{key:"countTime",value:function(w){var T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,P=this;if(!document.getElementById(this.jSPlugin.id+"time-area")){var N=document.createElement("div");N.id=this.jSPlugin.id+"time-area",N.className="time-area",N.innerHTML='<span class="dot"></span><span class="value">00:00</span>',document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).appendChild(N)}if(this.countTimer&&clearInterval(this.countTimer),w==="add"){var O=T;document.getElementById(P.jSPlugin.id+"time-area").style.display="flex",this.countTimer=setInterval(function(){++O,document.getElementById(P.jSPlugin.id+"time-area").children[1].innerHTML=B(O)},1e3)}else w==="destroy"&&(this.countTimer&&clearInterval(this.countTimer),this.countTimer=void 0,document.getElementById(P.jSPlugin.id+"time-area")&&(document.getElementById(P.jSPlugin.id+"time-area").children[1].innerHTML="00:00",document.getElementById(P.jSPlugin.id+"time-area").style.display="none"));function B(de){var me=parseInt(de),fe=0,le=0,ae="00",We="00",Pe="00";return me>59&&(fe=parseInt(me/60),me=parseInt(me%60),fe>59&&(le=parseInt(fe/60),fe=parseInt(fe%60))),ae=parseInt(me)>9?parseInt(me):"0"+parseInt(me),We=parseInt(fe)>9?parseInt(fe):"0"+parseInt(fe),Pe=parseInt(le)>9?parseInt(le):"0"+parseInt(le),le>0?Pe+":"+We+":"+ae:fe>0?We+":"+ae:"00:"+ae}}},{key:"setDisabled",value:function(w){var T=this.decoderState.state,P=T.sound,N=T.hd;document.getElementById(P?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon"))!=null&&document.getElementById(P?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-talk-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-talk-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById(N?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon"))!=null&&document.getElementById(N?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon")).setAttribute("style",w?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).setAttribute("style",document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).getAttribute("style")+";"+(w?"cursor: not-allowed;color: gray;border-color: gray;":"cursor: default;color: #ffffff;border-color: #ffffff;"))}},{key:"matchBtn",value:function(w){var T=this,P=this.themeData,N=P.header,O=P.footer,B={title:"",id:"",domString:"",color:"#FFFFFF",activeColor:"#FFFFFF",onclick:function(){},onmoveleft:function(){},onmoveright:function(){},onremove:function(){}},de=N.btnList.findIndex(function(me){return me.iconId===w});switch(de===-1?(B.color=O.color,B.backgroundColor=O.backgroundColor,B.activeColor=O.activeColor):(B.color=N.color,B.backgroundColor=N.backgroundColor,B.activeColor=N.activeColor),w){case"play":return B.title="播放/结束播放",B.id=w,B.domString='<div style="height: 100%">'+'<svg id="'.concat(this.jSPlugin.id+"-play-icon",'" class="theme-icon-item-icon" style="display:none" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" fill="').concat(B.color,`" viewBox="-6 -6 32 32"> |
|
|
<path id="Stroke-1" class="st1" d="M10.5,1.7c-4.9,0-8.8,4-8.8,8.8s4,8.8,8.8,8.8s8.8-4,8.8-8.8S15.4,1.7,10.5,1.7z M10.5,2.7 |
|
|
c4.3,0,7.8,3.5,7.8,7.8s-3.5,7.8-7.8,7.8s-7.8-3.5-7.8-7.8S6.2,2.7,10.5,2.7z"/> |
|
|
<path class="st2" d="M8.7,8C9,8,9.3,8.3,9.3,8.6v3.8C9.3,12.7,9,13,8.7,13C8.3,13,8,12.7,8,12.4V8.6C8,8.3,8.3,8,8.7,8z"/> |
|
|
<path id="Rectangle-Copy-10" class="st2" d="M12.8,8c0.3,0,0.6,0.3,0.6,0.6v3.8c0,0.3-0.3,0.6-0.6,0.6c-0.3,0-0.6-0.3-0.6-0.6V8.6 |
|
|
C12.2,8.3,12.5,8,12.8,8z"/> |
|
|
</svg>`)+'<svg id="'.concat(this.jSPlugin.id+"-stop-icon",'" class="theme-icon-item-icon" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M13,9.8L10.1,8C9.9,7.9,9.7,7.9,9.5,7.9c-0.6,0-1,0.4-1,1v3.7c0,0.2,0.1,0.4,0.2,0.5c0.3,0.5,0.9,0.6,1.4,0.3 l2.9-1.8c0.1-0.1,0.2-0.2,0.3-0.3C13.6,10.7,13.4,10.1,13,9.8z" /><path d="M10.5,1.9c-4.9,0-8.8,4-8.8,8.8c0,4.9,4,8.8,8.8,8.8s8.8-4,8.8-8.8C19.4,5.8,15.4,1.9,10.5,1.9z M10.5,18.5 c-4.3,0-7.8-3.5-7.8-7.8s3.5-7.8,7.8-7.8c4.3,0,7.8,3.5,7.8,7.8S14.9,18.5,10.5,18.5z" /></svg></div>',B.onclick=function(){var me=T.decoderState.state,fe=me.play,le=me.isEditing,ae=me.rec,We=me.cloudRec,Pe=me.recordvideo;if(le)return!1;fe?(ae||We?T.jSPlugin.pause():T.jSPlugin.stop(),Pe&&T.setDecoderState({recordvideo:!1}),T.jSPlugin.Zoom.stopZoom()):(ae||We?T.jSPlugin.resume():T.jSPlugin.play(),T.resetMobileZoomStatus()),T.setDecoderState({zoom:!1,play:!fe}),T.setDisabled(fe)},B;case"sound":return B.title="声音",B.id=w,B.domString='<span style="height: 100%">'+'<svg class="theme-icon-item-icon" id="'.concat(this.jSPlugin.id,'-nosound-icon" style="display:none" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,`" viewBox="-6 -6 32 32"> |
|
|
<path d="M8.5,4.2c0.8-0.7,2.1-0.2,2.2,0.9l0,0.1v10c0,1.1-1.2,1.7-2.1,1.1l-0.1-0.1l-3.3-2.8C5,13.2,5,12.9,5.1,12.7 c0.2-0.2,0.4-0.2,0.6-0.1l0.1,0.1l3.3,2.8c0.2,0.2,0.5,0.1,0.5-0.2l0-0.1v-10c0-0.3-0.3-0.4-0.5-0.3L9.2,5L5.9,7.8 C5.6,7.9,5.3,7.9,5.1,7.7C5,7.5,5,7.3,5.1,7.1L5.2,7L8.5,4.2z"/> |
|
|
<path d="M5.5,6.9C5.8,6.9,6,7.1,6,7.4c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-2C3.4,7.9,3.3,8,3.2,8.2l0,0.1v4 c0,0.2,0.1,0.3,0.3,0.3l0.1,0h2C5.8,12.5,6,12.7,6,13c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-2c-0.7,0-1.3-0.5-1.3-1.2l0-0.1v-4 c0-0.7,0.5-1.3,1.2-1.3l0.1,0H5.5z"/> |
|
|
<path d="M17.4,7.9c0.2-0.2,0.5-0.2,0.7,0c0.2,0.2,0.2,0.4,0.1,0.6l-0.1,0.1l-3.8,3.8c-0.2,0.2-0.5,0.2-0.7,0 c-0.2-0.2-0.2-0.4-0.1-0.6l0.1-0.1L17.4,7.9z"/> |
|
|
<path d="M13.7,7.9c0.2-0.2,0.4-0.2,0.6-0.1l0.1,0.1l3.8,3.8c0.2,0.2,0.2,0.5,0,0.7c-0.2,0.2-0.4,0.2-0.6,0.1l-0.1-0.1 l-3.7-3.8C13.5,8.4,13.5,8.1,13.7,7.9z"/> |
|
|
</svg>`)+'<svg class="theme-icon-item-icon" id="'.concat(this.jSPlugin.id,'-sound-icon" style="display:inline-block" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" fill="').concat(B.color,`" viewBox="-6 -6 32 32"> |
|
|
<path d="M13.2,7.1c0.1-0.2,0.5-0.3,0.7-0.2c1.1,0.7,1.9,2.2,1.9,3.7c0,1.6-0.7,3-1.9,3.7 |
|
|
c-0.2,0.1-0.5,0.1-0.7-0.2c-0.1-0.2-0.1-0.5,0.2-0.7c0.8-0.5,1.4-1.6,1.4-2.9c0-1.3-0.6-2.4-1.4-2.9C13.1,7.6,13,7.3,13.2,7.1z"/> |
|
|
<path d="M15.7,4.5c0.2-0.2,0.5-0.2,0.7-0.1C18,5.8,19,8.2,19,10.7c0,2.5-1,4.8-2.7,6.3 |
|
|
c-0.2,0.2-0.5,0.2-0.7-0.1c-0.2-0.2-0.2-0.5,0.1-0.7c1.4-1.2,2.3-3.3,2.3-5.5c0-2.2-0.9-4.3-2.3-5.5C15.5,5,15.5,4.7,15.7,4.5z"/> |
|
|
<path id="Stroke-5" class="st1" d="M8.5,4.7c0.8-0.7,2.1-0.2,2.2,0.9l0,0.1v10c0,1.1-1.2,1.7-2.1,1.1l-0.1-0.1l-3.3-2.8 |
|
|
C5,13.7,5,13.4,5.1,13.2c0.2-0.2,0.4-0.2,0.6-0.1l0.1,0.1l3.3,2.8c0.2,0.2,0.5,0.1,0.5-0.2l0-0.1v-10c0-0.3-0.3-0.4-0.5-0.3l-0.1,0 |
|
|
L5.9,8.3C5.6,8.4,5.3,8.4,5.1,8.2C5,8,5,7.7,5.1,7.6l0.1-0.1L8.5,4.7z"/> |
|
|
<path d="M5.5,7.4C5.8,7.4,6,7.6,6,7.9c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-2c-0.2,0-0.3,0.1-0.3,0.3l0,0.1v4 |
|
|
c0,0.2,0.1,0.3,0.3,0.3l0.1,0h2C5.8,13,6,13.2,6,13.5c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-2c-0.7,0-1.3-0.5-1.3-1.2l0-0.1v-4 |
|
|
c0-0.7,0.5-1.3,1.2-1.3l0.1,0H5.5z"/> |
|
|
</svg>`)+"</span>",B.onclick=function(){var me=T.decoderState.state,fe=me.play,le=me.sound,ae=me.talk;fe&&(le?(T.jSPlugin.closeSound(),T.setDecoderState({sound:!1})):ae||(T.jSPlugin.openSound(),T.setDecoderState({sound:!0})))},B;case"recordvideo":return B.title="录屏",B.id=w,B.domString='<svg id="'.concat(this.jSPlugin.id,'-recordvideo-icon" class="theme-icon-item-icon" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M11.6,5.3H4.7c-1.4,0-2.5,1.1-2.5,2.5v5.9c0,1.4,1.1,2.5,2.5,2.5h6.9c1.4,0,2.5-1.1,2.5-2.5V7.7 C14.1,6.4,13,5.3,11.6,5.3z M4.7,6.3h6.9c0.8,0,1.5,0.7,1.5,1.5v5.9c0,0.8-0.7,1.5-1.5,1.5H4.7c-0.8,0-1.5-0.7-1.5-1.5V7.7 C3.3,6.9,3.9,6.3,4.7,6.3z" /><path d="M16.6,6.7c0.9-0.8,2.3-0.1,2.4,1l0,0.1v5.7c0,1.2-1.3,1.9-2.3,1.2l-0.1-0.1L13.3,12 c-0.2-0.2-0.2-0.5-0.1-0.7c0.2-0.2,0.4-0.2,0.6-0.1l0.1,0.1l3.3,2.7c0.3,0.2,0.7,0.1,0.8-0.3l0-0.1V7.8c0-0.4-0.4-0.6-0.7-0.4 l-0.1,0l-3.3,2.7c-0.2,0.2-0.5,0.1-0.7-0.1c-0.2-0.2-0.1-0.5,0-0.6l0.1-0.1L16.6,6.7z" /></svg>',B.onclick=function(){var me=T.decoderState.state,fe=me.play,le=me.recordvideo;fe&&(le?(T.jSPlugin.stopSave(),T.setDecoderState({recordvideo:!1})):(T.jSPlugin.startSave("".concat(new Date().getTime())),T.setDecoderState({recordvideo:!0})))},B;case"capturePicture":return B.title="截图",B.id=w,B.domString='<svg id="'.concat(this.jSPlugin.id,'-capturePicture-icon" class="theme-icon-item-icon" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M10.8,7.7c-2,0-3.7,1.6-3.7,3.7S8.7,15,10.8,15c2,0,3.7-1.6,3.7-3.7S12.8,7.7,10.8,7.7z M10.8,8.7c1.5,0,2.7,1.2,2.7,2.7S12.2,14,10.8,14c-1.5,0-2.7-1.2-2.7-2.7S9.3,8.7,10.8,8.7z" /><path d="M8.6,3.7l-0.1,0C8,3.7,7.7,4,7.5,4.3l-1,1.7l-1.3,0C4,6.1,3.1,7,3.1,8.2v7.1 c0,1.2,0.9,2.1,2.1,2.1h11.1c1.2,0,2.1-0.9,2.1-2.1V8.2l0-0.1c-0.1-1.1-1-1.9-2.1-1.9l-1.3,0l-1.1-1.8c-0.2-0.4-0.7-0.6-1.1-0.6H8.6 z M8.6,4.7h4.2c0.1,0,0.2,0.1,0.3,0.1l1.2,2c0.1,0.2,0.3,0.2,0.4,0.2h1.6c0.6,0,1.1,0.5,1.1,1.1v7.1c0,0.6-0.5,1.1-1.1,1.1H5.1 c-0.6,0-1.1-0.5-1.1-1.1V8.2c0-0.6,0.5-1.1,1.1-1.1h1.6c0.2,0,0.3-0.1,0.4-0.2l1.2-2C8.4,4.7,8.5,4.7,8.6,4.7z" /></svg>',B.onclick=function(){var me=T.decoderState.state.play;me?T.jSPlugin.capturePicture("".concat(new Date().getTime())):console.log("视频未播放,无法截图")},B;case"talk":return B.title="对讲",B.id=w,B.domString="<div></div>"+'<svg id="'.concat(this.jSPlugin.id,'-talk-icon" class="theme-icon-item-icon" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M10.1,2.7C8.5,2.7,7.2,4,7.2,5.6v5.2c0,1.6,1.3,2.9,2.9,2.9l0.2,0c1.5-0.1,2.7-1.4,2.7-2.9V5.6 C13,4,11.7,2.7,10.1,2.7z M10.1,3.7c1.1,0,1.9,0.9,1.9,1.9v5.2c0,1-0.8,1.8-1.8,1.9l-0.1,0c-1,0-1.9-0.9-1.9-1.9V5.6 C8.2,4.5,9,3.7,10.1,3.7z" /><path d="M15.1,8.5c0.2,0,0.4,0.2,0.5,0.4l0,0.1v1.7c0,3-2.5,5.5-5.5,5.5c-3,0-5.4-2.3-5.5-5.3l0-0.2V9 c0-0.3,0.2-0.5,0.5-0.5c0.2,0,0.4,0.2,0.5,0.4l0,0.1v1.7c0,2.5,2,4.5,4.5,4.5c2.4,0,4.4-1.9,4.5-4.3l0-0.2V9 C14.6,8.7,14.8,8.5,15.1,8.5z" /><path d="M13.5,17.7c0.3,0,0.5,0.2,0.5,0.5c0,0.2-0.2,0.4-0.4,0.5l-0.1,0h-7c-0.3,0-0.5-0.2-0.5-0.5 c0-0.2,0.2-0.4,0.4-0.5l0.1,0H13.5z" /><path d="M10.1,15.2c0.2,0,0.4,0.2,0.5,0.4l0,0.1v2.5c0,0.3-0.2,0.5-0.5,0.5c-0.2,0-0.4-0.2-0.5-0.4l0-0.1 v-2.5C9.6,15.4,9.8,15.2,10.1,15.2z" /></svg>',B.onclick=function(){var me=T.decoderState.state,fe=me.talk,le=me.sound,ae=me.play;if(ae)if(fe){console.log("结束对讲"),T.setDecoderState({talk:!1}),T.jSPlugin.Talk.stopTalk();var We=E.findIndex(T.themeData.footer.btnList,function(Pe){return Pe.iconId==="sound"&&Pe.isrender===1&&Pe.defaultActive===1})>-1;T.themeData&&We&&(T.jSPlugin.openSound(),T.setDecoderState({sound:!0}))}else console.log("开始对讲"),T.setDecoderState({talk:!0}),le&&(T.jSPlugin.closeSound(),T.setDecoderState({sound:!1})),T.jSPlugin.Talk.startTalk()},B;case"zoom":return B.title="电子放大",B.id=w,B.domString="<div></div>"+'<svg id="'.concat(this.jSPlugin.id,'-zoom-icon" class="theme-icon-item-icon" fill="').concat(B.color,`" version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|
|
width="`).concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,`" viewBox="5 -6 5 32" style="enable-background:new 0 0 20 20.1;" xml:space="preserve"> |
|
|
<path class="st1" d="M8.8,2.6c3.5,0,6.2,2.8,6.2,6.2s-2.8,6.2-6.2,6.2s-6.2-2.8-6.2-6.2S5.3,2.6,8.8,2.6z M8.8,3.9 |
|
|
c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5S11.5,3.9,8.8,3.9z M12.7,12.7l3.9,3.9"/> |
|
|
<path class="st2" d="M11.2,9.5h-5c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6h5c0.3,0,0.6,0.3,0.6,0.6S11.6,9.5,11.2,9.5z"/> |
|
|
<path class="st2" d="M8.7,12c-0.3,0-0.6-0.3-0.6-0.6v-5c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6v5C9.3,11.8,9.1,12,8.7,12z"/> |
|
|
<path class="st2" d="M16.9,17.6c-0.1,0-0.3-0.1-0.4-0.2l-3.9-3.9c-0.2-0.2-0.2-0.6,0-0.8s0.6-0.2,0.8,0l3.9,3.9 |
|
|
c0.2,0.2,0.2,0.6,0,0.8C17.2,17.5,17,17.6,16.9,17.6z"/> |
|
|
</svg>`),B.onclick=function(){var me=T.decoderState.state,fe=me.zoom,le=me.play;if(!le)return!1;fe?(console.log("结束电子放大"),T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom()):(console.log("开始电子放大"),T.jSPlugin.Zoom.startZoom(),T.setDecoderState({zoom:!0}))},B;case"pantile":return B.title="云台控制",B.id=w,B.domString='<svg id="'.concat(this.jSPlugin.id,'-pantile-icon" class="theme-icon-item-icon" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M10.2,7.8c1.6,0,2.9,1.3,2.9,2.9s-1.3,2.9-2.9,2.9s-2.9-1.3-2.9-2.9S8.5,7.8,10.2,7.8z M10.2,8.8c-1.1,0-1.9,0.9-1.9,1.9s0.9,1.9,1.9,1.9s1.9-0.9,1.9-1.9S11.2,8.8,10.2,8.8z" /><path d="M8.8,3.5c0.7-0.6,1.8-0.6,2.5-0.1l0.1,0.1l1.4,1.1c0.2,0.2,0.3,0.5,0.1,0.7 c-0.2,0.2-0.4,0.2-0.6,0.1l-0.1,0l-1.4-1.1C10.5,3.9,10,3.9,9.6,4.2L9.4,4.3L8,5.4C7.8,5.5,7.5,5.5,7.3,5.3c-0.2-0.2-0.1-0.5,0-0.6 l0.1-0.1L8.8,3.5z" /><path d="M2.5,12.3c-0.6-0.7-0.6-1.8-0.1-2.5l0.1-0.1l1.1-1.4c0.2-0.2,0.5-0.3,0.7-0.1 c0.2,0.2,0.2,0.4,0.1,0.6l0,0.1l-1.1,1.4C3,10.6,3,11.1,3.2,11.5l0.1,0.1L4.4,13c0.2,0.2,0.1,0.5-0.1,0.7c-0.2,0.2-0.5,0.1-0.6,0 l-0.1-0.1L2.5,12.3z" /><path d="M17.7,12.3c0.6-0.7,0.6-1.8,0.1-2.5l-0.1-0.1l-1.1-1.4c-0.2-0.2-0.5-0.3-0.7-0.1 c-0.2,0.2-0.2,0.4-0.1,0.6l0,0.1l1.1,1.4c0.3,0.4,0.3,0.9,0.1,1.3l-0.1,0.1L15.8,13c-0.2,0.2-0.1,0.5,0.1,0.7c0.2,0.2,0.5,0.1,0.6,0 l0.1-0.1L17.7,12.3z" /><path d="M8.8,18.2c0.7,0.6,1.8,0.6,2.5,0.1l0.1-0.1l1.4-1.1c0.2-0.2,0.3-0.5,0.1-0.7 c-0.2-0.2-0.4-0.2-0.6-0.1l-0.1,0l-1.4,1.1c-0.4,0.3-0.9,0.3-1.3,0.1l-0.1-0.1L8,16.3c-0.2-0.2-0.5-0.1-0.7,0.1 c-0.2,0.2-0.1,0.5,0,0.6l0.1,0.1L8.8,18.2z" /></svg>',B.onclick=function(){var me=T.decoderState.state,fe=me.play,le=me.pantile,ae=me.expend;if(fe)if(le)console.log("隐藏云台"),T.Ptz.hide(),T.setDecoderState({pantile:!1});else{if(console.log("显示云台"),T.isMobile&&!ae)return console.log("移动端,非全屏状态不展示云台"),!1;T.Ptz.show(),T.setDecoderState({pantile:!0})}},B;case"expend":return B.title="全局全屏",B.id=w,B.domString='<span><svg id="'.concat(this.jSPlugin.id,'-expend-icon" class="theme-icon-item-icon" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M3.4,7.6c-0.3,0-0.5-0.2-0.5-0.5V5.3c0-1.2,1-2.3,2.2-2.3h1.8c0.3,0,0.5,0.2,0.5,0.5S7.2,4.1,6.9,4.1H5.2 c-0.7,0-1.2,0.6-1.2,1.3v1.8C3.9,7.4,3.7,7.6,3.4,7.6z" /><path d="M6.9,18.1H5.2c-1.2,0-2.2-1-2.2-2.2v-1.8c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v1.8c0,0.7,0.6,1.2,1.2,1.2 h1.8c0.3,0,0.5,0.2,0.5,0.5S7.2,18.1,6.9,18.1z" /><path d="M15.7,18.1h-1.8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h1.8c0.7,0,1.2-0.6,1.2-1.2v-1.8 c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v1.8C17.9,17.1,16.9,18.1,15.7,18.1z" /><path d="M17.4,7.6c-0.3,0-0.5-0.2-0.5-0.5V5.3c0-0.7-0.6-1.3-1.2-1.3h-1.8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h1.8 c1.2,0,2.2,1,2.2,2.3v1.8C17.9,7.4,17.7,7.6,17.4,7.6z" /></svg>'+'<svg class="theme-icon-item-icon" style="display:none" width="'.concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" fill="').concat(B.color,`" viewBox="-6 -6 32 32"> |
|
|
<path class="st1" d="M5.7,8.1H3.9c-0.3,0-0.6-0.2-0.6-0.6S3.6,7,3.9,7h1.9c0.7,0,1.3-0.6,1.3-1.3V3.8c0-0.3,0.2-0.6,0.6-0.6 |
|
|
s0.6,0.2,0.6,0.6v1.9C8.2,7,7.1,8.1,5.7,8.1z"/> |
|
|
<path class="st1" d="M7.6,17.7c-0.3,0-0.6-0.2-0.6-0.6v-1.9c0-0.7-0.6-1.3-1.3-1.3H3.9c-0.3,0-0.6-0.2-0.6-0.6s0.2-0.6,0.6-0.6h1.9 |
|
|
c1.3,0,2.4,1.1,2.4,2.4v1.9C8.2,17.5,7.9,17.7,7.6,17.7z"/> |
|
|
<path class="st1" d="M13.4,17.7c-0.3,0-0.6-0.2-0.6-0.6v-1.9c0-1.3,1.1-2.4,2.4-2.4h1.9c0.3,0,0.6,0.2,0.6,0.6S17.5,14,17.2,14 |
|
|
h-1.9c-0.7,0-1.3,0.6-1.3,1.3v1.9C14,17.5,13.8,17.7,13.4,17.7z"/> |
|
|
<path class="st1" d="M17.2,8.1h-1.9c-1.3,0-2.4-1.1-2.4-2.4V3.8c0-0.3,0.2-0.6,0.6-0.6S14,3.5,14,3.8v1.9C14,6.4,14.6,7,15.3,7h1.9 |
|
|
c0.3,0,0.6,0.2,0.6,0.6S17.5,8.1,17.2,8.1z"/> |
|
|
</svg> |
|
|
</span>`),B.onclick=function(){var me=T.decoderState.state,fe=me.webExpend,le=me.expend;me.play;var ae=me.pantile;if(fe)return console.log("正在网站全屏"),!1;if(le)if(T.isMobile){var We=parseInt(getComputedStyle(document.getElementById("".concat(T.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(T.jSPlugin.id)).height,10);document.getElementById("".concat(T.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(T.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-32px"),document.getElementById("".concat(T.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(T.jSPlugin.id,"-headControl")).style.position="relative"),m(document.getElementById("".concat(T.jSPlugin.id,"-wrap")),T.jSPlugin.width,T.jSPlugin.height+We),T.jSPlugin.jSPlugin.JS_Resize(T.jSPlugin.width,T.jSPlugin.height),ae&&(T.Ptz.hide(),T.setDecoderState({pantile:!1}))}else{console.log("取消全局全屏");var n2=_();n2.then(function(pe){console.log("取消全屏",pe,T.jSPlugin),T.jSPlugin.jSPlugin.JS_Resize(T.jSPlugin.width,T.jSPlugin.height)})}else if(console.log("执行全局全屏"),T.isMobile){var We=parseInt(getComputedStyle(document.getElementById("".concat(T.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(T.jSPlugin.id)).height,10);p(document.getElementById("".concat(T.jSPlugin.id,"-wrap"))),setTimeout(function(){var pe=document.documentElement.clientWidth,F=document.documentElement.clientHeight;document.getElementById("".concat(T.jSPlugin.id)).style["backface-visibility"]="hidden",T.jSPlugin.jSPlugin.JS_Resize(F,pe-We)},100)}else{var Pe=window.screen.width,_e=window.screen.height,Se=g(document.getElementById("".concat(T.jSPlugin.id)));Se.then(function(pe){T.jSPlugin.jSPlugin.JS_Resize(Pe,_e)}).catch(function(pe){console.log(pe)})}T.setDecoderState({expend:!le})},B;case"webExpend":return B.title="网页全屏",B.id=w,B.domString='<span><svg id="'.concat(this.jSPlugin.id,'-webExpend-icon" class="theme-icon-item-icon" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M3.1,7.6c-0.3,0-0.5-0.2-0.5-0.5V5.3c0-1.2,1-2.3,2.2-2.3h1.8c0.3,0,0.5,0.2,0.5,0.5S6.8,4.1,6.6,4.1H4.8 c-0.7,0-1.2,0.6-1.2,1.3v1.8C3.6,7.4,3.3,7.6,3.1,7.6z" /><path d="M15.3,18.1h-1.8c-0.3,0-0.5-0.2-0.5-0.5s0.2-0.5,0.5-0.5h1.8c0.7,0,1.2-0.6,1.2-1.2v-1.8 c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v1.8C17.6,17.1,16.6,18.1,15.3,18.1z" /><circle class="st2" cx="10.2" cy="10.4" r="1.1"/></svg>'+'<svg class="theme-icon-item-icon" fill="'.concat(B.color,'" style="display:none;" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,`" viewBox="-6 -6 32 32"> |
|
|
<path class="st1" d="M5.4,8.1H3.5C3.2,8.1,3,7.9,3,7.6s0.2-0.5,0.5-0.5h1.9c0.8,0,1.4-0.6,1.4-1.4V3.8c0-0.3,0.2-0.5,0.5-0.5 |
|
|
s0.5,0.2,0.5,0.5v1.9C7.7,7,6.7,8.1,5.4,8.1z"/> |
|
|
<path class="st1" d="M13.1,17.7c-0.3,0-0.5-0.2-0.5-0.5v-1.9c0-1.3,1.1-2.4,2.4-2.4h1.9c0.3,0,0.5,0.2,0.5,0.5s-0.2,0.5-0.5,0.5H15 |
|
|
c-0.8,0-1.4,0.6-1.4,1.4v1.9C13.6,17.4,13.4,17.7,13.1,17.7z"/> |
|
|
<circle class="st2" cx="10.2" cy="10.4" r="1.1"/> |
|
|
`)+"</svg></span>",B.onclick=function(){var me=T.decoderState.state,fe=me.webExpend,le=me.expend;if(me.play,le)return console.log("正在全局全屏"),!1;if(T.jSPlugin.recTimer&&clearInterval(T.jSPlugin.recTimer),fe){console.log("取消网页全屏");var pe=_();pe.then(function(F){T.jSPlugin.jSPlugin.JS_Resize(T.jSPlugin.width,T.jSPlugin.height),T.jSPlugin.Theme.Rec&&T.jSPlugin.Theme.Rec.recAutoSize()})}else{console.log("执行网页全屏");var ae=0,We=0,Pe=T;["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(F){window.addEventListener(F,function(oe){var ze=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;return ze?document.getElementById("".concat(Pe.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(Pe.jSPlugin.id,"-loading-item-0")).style.height=window.screen.height-parseInt(window.getComputedStyle(document.getElementById("".concat(Pe.jSPlugin.id,"-headControl"))).height,10)+"px"):document.getElementById("".concat(Pe.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(Pe.jSPlugin.id,"-loading-item-0")).style.height=Pe.jSPlugin.height+parseInt(window.getComputedStyle(document.getElementById("".concat(Pe.jSPlugin.id,"-headControl"))).height,10)+"px"),ze})});var _e=window.screen.width,Se=window.screen.height,n2=g(document.getElementById("".concat(T.jSPlugin.id,"-wrap")));n2.then(function(F){document.getElementById("".concat(T.jSPlugin.id,"-canvas-container"))&&(ae=parseInt(window.getComputedStyle(document.getElementById("".concat(T.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(T.jSPlugin.id,"-headControl"))&&(We=parseInt(window.getComputedStyle(document.getElementById("".concat(T.jSPlugin.id,"-headControl"))).height,10)),T.jSPlugin.jSPlugin.JS_Resize(_e,Se-ae-We),T.jSPlugin.Theme.Rec&&T.jSPlugin.Theme.Rec.recAutoSize()}).catch(function(F){console.log(F)})}T.setDecoderState({webExpend:!fe})},B;case"hd":return B.title="画面清晰度",B.id=w,B.domString='<ul id="'.concat(this.jSPlugin.id,'-hdSelect" class="hd speed-select ').concat(this.isMobile?"mobile":"",'" style="display:none;">')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;" name="option" id="'.concat(this.jSPlugin.id,'-select-hd">高清</li>')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;" name="option" id="'.concat(this.jSPlugin.id,'-select-sd">标清</li>')+'<li class="selectOption cancel" style="'.concat(this.isMobile?"":"display:none;",'" name="option" id="').concat(this.jSPlugin.id,'-select-speed">取消</li>')+"</ul>"+'<span><svg id="'.concat(this.jSPlugin.id,'-hdSelect-icon" class="theme-icon-item-icon" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,'" viewBox="-6 -6 32 32">')+'<path d="M17.4,16.5H3.1c-0.8,0-1.4-0.6-1.4-1.4V5.4c0-0.9,0.7-1.6,1.6-1.6h14.1c0.8,0,1.4,0.6,1.4,1.4v9.8 C18.8,15.9,18.2,16.5,17.4,16.5z M3.3,5C3.1,5,2.9,5.2,2.9,5.4v9.7c0,0.2,0.1,0.3,0.3,0.3h14.3c0.2,0,0.3-0.1,0.3-0.3V5.3 c0-0.2-0.1-0.3-0.3-0.3H3.3z" /><path d="M13.3,13.6h-1.6c-0.4,0-0.7-0.3-0.7-0.7V7.4c0-0.4,0.3-0.7,0.7-0.7h1.6c1.2,0,2.2,1,2.2,2.2v2.4 C15.6,12.6,14.6,13.6,13.3,13.6z M12.2,12.5h1.1c0.6,0,1.1-0.5,1.1-1.1V9c0-0.6-0.5-1.1-1.1-1.1h-1.1V12.5z" /><path d="M5.5,13.6c-0.3,0-0.6-0.2-0.6-0.6V7.3C5,7,5.2,6.8,5.5,6.8S6.1,7,6.1,7.3v5.7C6.1,13.4,5.8,13.6,5.5,13.6z" /><path d="M9.2,13.6c-0.3,0-0.6-0.2-0.6-0.6V7.3c0-0.3,0.2-0.6,0.6-0.6S9.8,7,9.8,7.3v5.7C9.8,13.4,9.5,13.6,9.2,13.6z" /><rect x="5.6" y="9.6" width="3.6" height="1.1" /></svg>'+'<svg id="'.concat(this.jSPlugin.id,'-sdSelect-icon" class="theme-icon-item-icon" style="display:none" fill="').concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,`" viewBox="-6 -8 40 44"> |
|
|
<path d="M24.1,23.8h-20c-1.1,0-1.9-0.9-1.9-1.9V8.4c0-1.2,1-2.2,2.1-2.2h19.7c1.1,0,1.9,0.9,1.9,1.9v13.8 |
|
|
C26,23,25.1,23.8,24.1,23.8z M4.3,7.7C4,7.7,3.7,8,3.7,8.4v13.5c0,0.2,0.2,0.4,0.4,0.4h20c0.2,0,0.4-0.2,0.4-0.4V8.2 |
|
|
c0-0.2-0.2-0.4-0.4-0.4H4.3z"/> |
|
|
<path d="M18.4,19.8h-2.2c-0.5,0-0.9-0.4-0.9-0.9v-7.8c0-0.5,0.4-0.9,0.9-0.9h2.2c1.7,0,3.1,1.4,3.1,3.1v3.3 |
|
|
C21.5,18.4,20.1,19.8,18.4,19.8z M16.7,18.3h1.6c0.9,0,1.6-0.7,1.6-1.6v-3.3c0-0.9-0.7-1.6-1.6-1.6h-1.6V18.3z"/> |
|
|
<path d="M10.5,19.8c1.2,0,2.1-0.3,2.7-0.9c0.6-0.6,0.9-1.3,0.9-2.1c0-0.8-0.3-1.4-0.9-1.8c-0.4-0.2-1.1-0.5-2.2-0.8 |
|
|
l0,0l-1-0.2c-0.4-0.1-0.8-0.2-1-0.4c-0.4-0.2-0.6-0.5-0.6-0.9c0-0.4,0.1-0.6,0.4-0.9s0.7-0.3,1.3-0.3c0.8,0,1.4,0.2,1.8,0.6 |
|
|
c0.2,0.3,0.3,0.6,0.4,0.9l0,0h1.4c0-0.6-0.2-1.1-0.5-1.6c-0.6-0.8-1.6-1.2-2.9-1.2c-1,0-1.8,0.3-2.4,0.8c-0.6,0.5-0.9,1.2-0.9,2 |
|
|
c0,0.7,0.3,1.3,1,1.7c0.4,0.2,0.9,0.4,1.7,0.6l0,0l1.2,0.3c0.6,0.2,1.1,0.3,1.3,0.4c0.3,0.2,0.5,0.5,0.5,0.9c0,0.5-0.2,0.9-0.6,1.1 |
|
|
s-0.9,0.4-1.5,0.4c-0.9,0-1.6-0.2-2-0.7c-0.2-0.3-0.3-0.6-0.4-1.1l0,0H6.8c0,0.9,0.3,1.6,0.9,2.2C8.2,19.5,9.2,19.8,10.5,19.8z"/> |
|
|
<defs> |
|
|
<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="15.2" y="10.3" width="6.2" height="9.5"> |
|
|
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> |
|
|
</filter> |
|
|
</defs> |
|
|
<mask maskUnits="userSpaceOnUse" x="15.2" y="10.3" width="6.2" height="9.5" id="mask-2_2_"> |
|
|
<g class="st2"> |
|
|
<path id="path-1_2_" class="st3" d="M24.1,23.1h-20c-0.6,0-1.2-0.5-1.2-1.2V8.2C2.9,7.5,3.5,7,4.1,7h19.7c0.8,0,1.4,0.6,1.4,1.4 |
|
|
v13.5C25.2,22.6,24.7,23.1,24.1,23.1z"/> |
|
|
</g> |
|
|
</mask> |
|
|
<defs> |
|
|
<filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="6.8" y="10.3" width="7.3" height="9.5"> |
|
|
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> |
|
|
</filter> |
|
|
</defs> |
|
|
<mask maskUnits="userSpaceOnUse" x="6.8" y="10.3" width="7.3" height="9.5" id="mask-2_3_"> |
|
|
<g class="st5"> |
|
|
<path id="path-1_3_" class="st3" d="M24.1,23.1h-20c-0.6,0-1.2-0.5-1.2-1.2V8.2C2.9,7.5,3.5,7,4.1,7h19.7c0.8,0,1.4,0.6,1.4,1.4 |
|
|
v13.5C25.2,22.6,24.7,23.1,24.1,23.1z"/> |
|
|
</g> |
|
|
</mask> |
|
|
</svg> |
|
|
`)+`<span class='speed-select-mask' style="display:none" id="`.concat(this.jSPlugin.id,'-select-hd-mask"></span>')+"</span>",B.onclick=function(me){var fe=T.decoderState.state,le=fe.hd,ae=fe.expend,We=fe.recordvideo,Pe=fe.play;Pe&&(le&&me.target.id==="".concat(T.jSPlugin.id,"-select-sd")?(console.log("切换到标清"),T.jSPlugin.changeVideoLevel(0),T.setDecoderState({hd:!1}),T.resetMobileZoomStatus(),We&&T.setDecoderState({recordvideo:!1}),T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom()):!le&&me.target.id==="".concat(T.jSPlugin.id,"-select-hd")&&(T.jSPlugin.changeVideoLevel(1),T.setDecoderState({hd:!0}),T.resetMobileZoomStatus(),We&&T.setDecoderState({recordvideo:!1}),T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom()),T.showHD=!T.showHD,document.getElementById("".concat(T.jSPlugin.id,"-hdSelect"))&&(document.getElementById("".concat(T.jSPlugin.id,"-hdSelect")).style.display=document.getElementById("".concat(T.jSPlugin.id,"-hdSelect")).style.display==="none"?"block":"none",T.isMobile&&(document.getElementById("".concat(T.jSPlugin.id,"-select-hd-mask")).style.display=document.getElementById("".concat(T.jSPlugin.id,"-select-hd-mask")).style.display==="none"?"block":"none")),T.isMobile&&ae&&T.showHD?document.getElementById("".concat(T.jSPlugin.id,"-hdSelect")).className="hd speed-select mobile expend":document.getElementById("".concat(T.jSPlugin.id,"-hdSelect")).className=T.isMobile?"hd speed-select mobile":"speed-select")},B;case"speed":return B.title="回放倍速",B.id=w,B.domString='<ul id="'.concat(this.jSPlugin.id,'-speedSelect" class="speed speed-select ').concat(this.isMobile?"mobile":"",'" style="display:none;">')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;font-size: 13px;" name="option" id="'.concat(this.jSPlugin.id,'-select-speed4">4倍</li>')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;font-size: 13px;" name="option" id="'.concat(this.jSPlugin.id,'-select-speed2">2倍</li>')+'<li class="selectOption active" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;font-size: 13px;" name="option" id="'.concat(this.jSPlugin.id,'-select-speed1">1倍(正常播放)</li>')+'<li class="selectOption default" style="height: 45px;text-align: center;line-height: 45px;list-style: none;cursor: pointer;font-size: 13px;" name="option" id="'.concat(this.jSPlugin.id,'-select-speed05">0.5倍</li>')+'<li class="selectOption cancel" style="'.concat(this.isMobile?"":"display:none;",'" name="option" id="').concat(this.jSPlugin.id,'-select-speed">取消</li>')+"</ul>"+`<span> |
|
|
<div style="font-size: 12px; |
|
|
vertical-align: bottom; |
|
|
display: inline-flex; |
|
|
padding: 0px 7px; |
|
|
width: 48px; |
|
|
line-height: 24px; |
|
|
justify-content: center; |
|
|
border: 1px solid `.concat(B.color,`; |
|
|
text-align: center;border-radius: 12.5px;" |
|
|
id="`).concat(this.jSPlugin.id,`-speed-text" |
|
|
>`).concat(this.nextRate===1?"倍速":"".concat(this.nextRate,"倍").replace("3","0.5"),`</div> |
|
|
`)+`<span class='speed-select-mask' style="display:none" id="`.concat(this.jSPlugin.id,'-select-mask"></span>')+"</span>",this.isMobile||(B.onmouseenter=function(me){var fe=T.decoderState.state.play;if(!fe)return!1;console.log("鼠标移入",me),T.setDecoderState({speed:!0}),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display="block")},B.onmouseleave=function(me){var fe=T.decoderState.state.play;if(!fe)return!1;console.log("鼠标移出",me),T.setDecoderState({speed:!1}),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display="none")}),B.onclick=function(me){var fe=T.decoderState.state,le=fe.speed,ae=fe.expend,We=fe.play;if(!We)return!1;if(!le&&T.isMobile&&(document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).className=ae?"speed speed-select mobile expend":"speed speed-select mobile"),T.nextRate=1,me.target.id)switch(me.target.id){case"".concat(T.jSPlugin.id,"-select-speed1"):console.log("倍速1"),T.nextRate=1,T.jSPlugin.jSPlugin.JS_Speed(T.nextRate),T.changeRecSpeed(1),T.jSPlugin.speed=1,T.setDecoderState({speed:!le});break;case"".concat(T.jSPlugin.id,"-select-speed2"):console.log("倍速2"),T.nextRate=2,T.jSPlugin.jSPlugin.JS_Speed(T.nextRate),T.changeRecSpeed(2),T.jSPlugin.speed=2,T.setDecoderState({speed:!le});break;case"".concat(T.jSPlugin.id,"-select-speed4"):console.log("倍速4"),T.nextRate=4,T.jSPlugin.jSPlugin.JS_Speed(T.nextRate),T.changeRecSpeed(4),T.jSPlugin.speed=4,T.setDecoderState({speed:!le});break;case"".concat(T.jSPlugin.id,"-select-speed05"):console.log("倍速05"),T.nextRate=3,T.jSPlugin.jSPlugin.JS_Speed(T.nextRate),T.changeRecSpeed(.5),T.jSPlugin.speed=.5,T.setDecoderState({speed:!le});break;default:T.isMobile?T.setDecoderState({speed:!le}):T.setDecoderState({speed:!0});break}!T.isMobile&&me.target.id==="".concat(T.jSPlugin.id,"-speed-text")?document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display="block":document.getElementById("".concat(T.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).style.display==="none"?"block":"none")},B;case"deviceName":return B.title="设备名称",B.id=w,B.domString="<span>设备名称</span>",B.onclick=function(){},B;case"deviceID":return B.title="设备序列号",B.id=w,B.domString="<span>设备序列号</span>",B.onclick=function(){},B;case"cloudRec":return B.title="云存储回放",B.id=w,B.domString=` |
|
|
<span> |
|
|
<svg class="theme-icon-item-icon" fill="`.concat(B.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,`" viewBox="-10 0 40 15"> |
|
|
<path d="M9.5,13.1c-0.3,0-0.5-0.2-0.5-0.5V8.8c0-0.3,0.2-0.5,0.5-0.5S10,8.5,10,8.8v3.8C10,12.8,9.8,13.1,9.5,13.1z"/> |
|
|
<path d="M7.6,10.6c-0.1,0-0.3-0.1-0.4-0.2C7,10.2,7,9.9,7.3,9.7l1.9-1.7c0.2-0.2,0.5-0.2,0.7,0l1.8,1.7 |
|
|
c0.2,0.2,0.2,0.5,0,0.7c-0.2,0.2-0.5,0.2-0.7,0L9.5,9.1l-1.6,1.4C7.8,10.6,7.7,10.6,7.6,10.6z"/> |
|
|
<path d="M13.2,15.7H5.6c-2.1-0.1-3.8-1.8-3.8-3.9c0-1.8,1.3-3.4,3-3.8c0.4-2.2,2.3-3.9,4.6-3.9c2.3,0,4.2,1.7,4.6,3.8 |
|
|
c1.8,0.4,3.1,1.9,3.1,3.8C17.1,13.9,15.4,15.7,13.2,15.7z M5.6,14.7h7.6c1.6,0,2.9-1.3,2.9-2.9c0-1.5-1.1-2.7-2.6-2.9l-0.4,0l0-0.4 |
|
|
c-0.2-1.9-1.7-3.3-3.6-3.3C7.5,5.1,6,6.6,5.8,8.5l0,0.4l-0.4,0c-1.4,0.2-2.5,1.4-2.5,2.9C2.8,13.3,4.1,14.6,5.6,14.7z"/> |
|
|
</svg> |
|
|
</span> |
|
|
`),B.onclick=function(){console.log("点击云回放"),T.setDecoderState({type:"cloud.rec",cloudRec:!0,rec:!1}),T.jSPlugin.changePlayUrl({type:"cloud.rec"},function(){console.log(T.jSPlugin);var me=d("begin",T.jSPlugin.url)||new Date().Format("yyyyMMdd");T.Rec.renderRec("".concat(me.slice(0,4),"-").concat(me.slice(4,6),"-").concat(me.slice(6,8)));var fe=T.decoderState.state.zoom;fe&&(T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom())}),console.log(T.jSPlugin)},B;case"rec":return B.title="本地存储",B.id=w,B.domString=` |
|
|
<span> |
|
|
<svg class="theme-icon-item-icon" fill=`.concat(B.color,' version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>yt?48:32,'" height="').concat(this.jSPlugin.width>yt?48:32,`" viewBox="0 0 40 15"> |
|
|
<path d="M13,16.3H5.5c-1.1,0-2-0.9-2-2V3.8c0-1.1,0.9-2,2-2h5.4c0.5,0,1,0.2,1.4,0.6l2.1,2.1C14.8,4.8,15,5.3,15,5.9 |
|
|
v8.4C15,15.4,14.1,16.3,13,16.3z M5.5,2.8c-0.6,0-1,0.4-1,1v10.5c0,0.6,0.4,1,1,1H13c0.6,0,1-0.4,1-1V5.9c0-0.3-0.1-0.5-0.3-0.7 |
|
|
L11.6,3c-0.2-0.2-0.4-0.3-0.7-0.3H5.5z"/> |
|
|
<path d="M6.3,7.3C6,7.3,5.8,7,5.8,6.8V4.5C5.8,4.2,6,4,6.3,4s0.5,0.2,0.5,0.5v2.2C6.8,7,6.6,7.3,6.3,7.3z"/> |
|
|
<path d="M8.5,7.3C8.3,7.3,8,7,8,6.8V4.5C8,4.2,8.3,4,8.5,4S9,4.2,9,4.5v2.2C9,7,8.8,7.3,8.5,7.3z"/> |
|
|
<path d="M10.8,7.3c-0.3,0-0.5-0.2-0.5-0.5V4.5c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v2.2C11.3,7,11.1,7.3,10.8,7.3z" |
|
|
/> |
|
|
</svg> |
|
|
</span> |
|
|
`),B.onclick=function(){console.log("点击本地回放"),T.setDecoderState({type:"rec",cloudRec:!1,rec:!0}),T.jSPlugin.changePlayUrl({type:"rec"},function(){console.log("---------本地回放"),console.log(T.jSPlugin);var me=d("begin",T.jSPlugin.url)||new Date().Format("yyyyMMdd");T.Rec.renderRec("".concat(me.slice(0,4),"-").concat(me.slice(4,6),"-").concat(me.slice(6,8)));var fe=T.decoderState.state.zoom;fe&&(T.setDecoderState({zoom:!1}),T.jSPlugin.Zoom.stopZoom())}),console.log(T.jSPlugin)},B;default:return B}}},{key:"changeRecSpeed",value:function(w){var T=this,P=function(B){if(console.log("setLiActive",B),!document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")))return!1;document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[0].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[0].className.replace("active","default"),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[1].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[1].className.replace("active","default"),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[2].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[2].className.replace("active","default"),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[3].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[3].className.replace("active","default"),document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[B].className=document.getElementById("".concat(T.jSPlugin.id,"-speedSelect")).childNodes[B].className.replace("default","active")},N="1";switch(w){case 1:P(2),N="倍速";break;case 2:P(1),N="".concat(w,"倍");break;case 4:P(0),N="".concat(w,"倍");break;case .5:P(3),N="".concat(w,"倍");break;default:P(2),N="".concat(w,"倍");break}document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))&&(document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).innerHTML=N)}},{key:"initThemeData",value:function(){var w=this,T=this.themeData,P=T.header,N=T.footer,O=this.jSPlugin.id;if(this.header=ee.header,this.footer=ee.footer,this.isNeedRenderHeader=E.findIndex(P.btnList,function(Se){return Se.isrender>0})>=0,this.isMobile&&(this.isNeedRenderHeader=E.findIndex(P.btnList,function(Se){return Se.isrender>0&&Se.iconId==="deviceID"||Se.isrender>0&&Se.iconId==="deviceName"})>=0),this.isNeedRenderFooter=E.findIndex(N.btnList,function(Se){return Se.isrender>0})>=0,this.isNeedRenderTimeLine=E.findIndex(P.btnList,function(Se){return Se.iconId==="cloudRec"&&Se.isrender===1||Se.iconId==="rec"&&Se.isrender===1})>=0&&!this.jSPlugin.disabledTimeLine,["date-switch-container-wrap","rec-type-container-wrap","mobile-rec-wrap","mobile-ez-ptz-container"].forEach(function(Se,n2){document.getElementById(Se)&&document.getElementById(Se).parentElement.removeChild(document.getElementById(Se))}),this.isNeedRenderHeader)if(document.getElementById("".concat(this.jSPlugin.id,"-headControl")))document.getElementById("".concat(this.jSPlugin.id,"-headControl")).innerHTML="<div id='".concat(this.jSPlugin.id,"-headControl-left' style='display:flex;width: calc(100% - 100px);'></div><div id='").concat(this.jSPlugin.id,"-headControl-right' style='display:flex'></div>");else{var B=document.createElement("div");B.setAttribute("id","".concat(this.jSPlugin.id,"-headControl")),B.setAttribute("class","header-controls"),B.innerHTML="<div id='".concat(this.jSPlugin.id,`-headControl-left' class="header-controls-left" style='display:flex;width:calc(100% - 100px);overflow:hidden;'></div><div id='`).concat(this.jSPlugin.id,`-headControl-right' class="header-controls-right" style='display:flex;'></div>`);var de={height:this.jSPlugin.width>yt?"48px":"32px","line-height":this.jSPlugin.width>yt?"48px":"32px",display:"flex","justify-content":"space-between",top:0,"z-index":1,background:"#000000",color:"#FFFFFF",width:"100%"};B.style=Ft(de),document.getElementById("".concat(O,"-wrap")).insertBefore(B,document.getElementById(O));var me=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(me)},50)}else document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&document.getElementById("".concat(this.jSPlugin.id,"-headControl")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-headControl")));if(this.isNeedRenderFooter)if(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")))document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-".concat(this.jSPlugin.width>yt?48:32,"px"),document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).innerHTML='<div id="'.concat(this.jSPlugin.id,`-audioControls" class="footer-controls" style='display:flex;justify-content: space-between;height: `).concat(this.jSPlugin.width>yt?48:32,"px;width:100%;'><div id='").concat(this.jSPlugin.id,`-audioControls-left' class="footer-controls-left" style='display:flex'></div><div id='`).concat(this.jSPlugin.id,`-audioControls-right' class="footer-controls-right" style='display:flex'></div></div>`));else{var fe=document.createElement("div");fe.setAttribute("id","".concat(this.jSPlugin.id,"-ez-iframe-footer-container")),fe.setAttribute("class","ez-iframe-footer-container");var le={"min-height":this.jSPlugin.width>yt?"48px":"32px","max-height":this.jSPlugin.width>yt?"96px":"80px",position:"relative","margin-top":this.jSPlugin.width>yt?"-48px":"-32px",display:"flex","flex-wrap":"wrap","justify-content":"space-between","z-index":999,top:0,color:"#FFFFFF",width:"100%"};fe.style=Ft(le),fe.innerHTML='<div id="'.concat(this.jSPlugin.id,`-audioControls" class="footer-controls" style='display:flex;height:`).concat(this.jSPlugin.width>yt?48:32,"px;justify-content: space-between;width:100%;z-index:999;position: relative;'><div id='").concat(this.jSPlugin.id,`-audioControls-left' class="footer-controls-left" style='display:flex;margin-lefacti'></div><div id='`).concat(this.jSPlugin.id,`-audioControls-right' class="footer-controls-right" style='display:flex'></div></div>`),h(fe,document.getElementById(O))}else document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")));if(this.isNeedRenderHeader&&document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.background=P.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=P.color,P.btnList.map(function(Se,n2){Se.isrender&&w.renderHeader(Se.iconId,Se.part)})),this.isNeedRenderFooter&&document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=N.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=N.color,N.btnList.map(function(Se,n2){Se.isrender&&w.renderFooter(Se.iconId,Se.part)})),this.isNeedRenderTimeLine)if(this.isMobile)document.getElementById("".concat(this.jSPlugin.id,"-headControl-right"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl-right")).style.display="none"),this.Rec=new p2(this.jSPlugin,this.changeRecSpeed,this.resetMobileZoomStatus);else{this.Rec?(this.Rec.unSyncTimeLine(),this.Rec.recInit()):(this.jSPlugin.decoderState=this.decoderState,this.jSPlugin.setDecoderState=this.setDecoderState,this.Rec=new Be(this.jSPlugin));var ae=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(ae)},50)}var We=E.findIndex(this.themeData.footer.btnList,function(Se){return Se.iconId==="pantile"&&Se.isrender===1})>=0&&!this.jSPlugin.disabledPTZ;We&&(this.isMobile&&(this.MobilePtz=new d2(this.jSPlugin)),this.Ptz=new x2(this.jSPlugin));var Pe=function(){var n2=w.decoderState.state,pe=n2.expend,F=n2.webExpend,te=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;te||(w.jSPlugin.jSPlugin.JS_Resize(w.jSPlugin.width,w.jSPlugin.height),pe&&w.setDecoderState({expend:!1}),F&&w.setDecoderState({webExpend:!1})),w.jSPlugin.Theme.Rec&&w.jSPlugin.Theme.Rec.recAutoSize()};if(["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(Se){window.addEventListener(Se,function(n2){return Pe()})}),this.themeData.poster){this.jSPlugin.poster=this.themeData.poster;var _e=setInterval(function(){window.EZUIKit[w.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(_e),w.jSPlugin.setPoster(w.themeData.poster))},50)}this.inited=!0,this.getDeviceInfo()}},{key:"resetMobileZoomStatus",value:function(){if(this.isMobile){var w=document.getElementById("".concat(this.jSPlugin.id,"-zoom-container"));w&&w.style&&w.style.display!="none"&&(console.log("结束电子放大"),w.style.display="none"),this.jSPlugin.Zoom.resetZoom()}}},{key:"getDeviceInfo",value:function(){var w=this,T=function(N){N.code==200&&N.data&&(N.data.isEncrypt&&setTimeout(function(){w.pluginStatus.loadingClear(),w.pluginStatus.loadingSetText({text:"设备已加密",color:"red"})},1500),document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content"))&&(document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).style.maxWidth="100%",document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).style.overflow="hidden",document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).style.textOverflow="ellipsis",document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).style.whiteSpace="nowrap",document.getElementById("".concat(w.jSPlugin.id,"-deviceName-content")).innerHTML=N.data.deviceName),document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content"))&&(document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).style.maxWidth="100%",document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).style.overflow="hidden",document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).style.textOverflow="ellipsis",document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).style.whiteSpace="nowrap",document.getElementById("".concat(w.jSPlugin.id,"-deviceID-content")).innerHTML=S(w.jSPlugin.url).deviceSerial))};A(this.jSPlugin.env.domain+"/api/lapp/device/info","POST",{accessToken:this.jSPlugin.accessToken,deviceSerial:S(this.jSPlugin.url).deviceSerial},"",T)}},{key:"editStart",value:function(w){var T=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),P=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));P&&P.setAttribute("class","header-controls themeEditing"),T&&T.setAttribute("class","footer-controls themeEditing"),this.setDecoderState({isEditing:!0})}},{key:"editEnd",value:function(w){var T=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),P=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));P&&P.setAttribute("class","header-controls"),T&&T.setAttribute("class","footer-controls"),this.setDecoderState({isEditing:!1})}},{key:"webExpend",value:function(){var w=this,T=this.decoderState.state;T.webExpend;var P=T.expend,N=T.play;if(!N)return!1;if(P)return console.log("正在全局全屏"),!1;console.log("执行网页全屏");var O=0,B=0,de=g(document.getElementById("".concat(this.jSPlugin.id,"-wrap")));de.then(function(me){console.log("全屏promise",window.screen.width),document.getElementById("".concat(w.jSPlugin.id,"-canvas-container"))&&(O=parseInt(window.getComputedStyle(document.getElementById("".concat(w.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(w.jSPlugin.id,"-headControl"))&&(B=parseInt(window.getComputedStyle(document.getElementById("".concat(w.jSPlugin.id,"-headControl"))).height,10)),console.log("this.jSPlugin.JS_Resiz",O,B,document.body.clientWidth),w.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height-O-B)}).catch(function(me){console.log(me)})}},{key:"expend",value:function(){var w=this,T=this.decoderState.state,P=T.webExpend;T.expend;var N=T.play;if(T.pantile,!N)return!1;if(P)return console.log("正在网站全屏"),!1;if(console.log("执行全局全屏"),this.isMobile){var O=parseInt(getComputedStyle(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).height,10);p(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),setTimeout(function(){var de=document.documentElement.clientWidth,me=document.documentElement.clientHeight;document.getElementById("".concat(w.jSPlugin.id)).style["backface-visibility"]="hidden",w.jSPlugin.jSPlugin.JS_Resize(me,de-O)},100)}else{var B=g(document.getElementById("".concat(this.jSPlugin.id)));B.then(function(de){w.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height)}).catch(function(de){console.log(de)})}}}]),Q}();Date.prototype.Format=function(Q){var U={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(Q)&&(Q=Q.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var w in U)new RegExp("("+w+")").test(Q)&&(Q=Q.replace(RegExp.$1,RegExp.$1.length==1?U[w]:("00"+U[w]).substr((""+U[w]).length)));return Q};var a3=function(){function Q(U,w){if(i(this,Q),this.params=U,this.state={},this.jsPlugin=w,this.url="https://log.ys7.com/statistics.do?",U.env)switch(U.env){case"test12":this.url="https://test12dclog.ys7.com/statistics.do?";break;case"online":break;default:this.url=U.env;break}}return a(Q,[{key:"uuid",value:function(){for(var w=[],T="0123456789abcdef",P=0;P<36;P++)w[P]=T.substr(Math.floor(Math.random()*16),1);w[14]="4",w[19]=T.substr(w[19]&3|8,1),w[8]=w[13]=w[18]=w[23]="-";var N=w.join("");return N}},{key:"dclog",value:function(w){var T=this.url,P=Object.assign({},{systemName:"open_website_monitor"},{bn:"ezuikit-js"},w,{un:w.url},{st:new Date().getTime(),h:window.location.pathname});Object.keys(P).forEach(function(O,B){var de=P[O];typeof P[O]=="string"&&(de=P[O].replace("%","%25")),typeof P[O]!="undefined"&&(T+="".concat(B===0?"":"&").concat(O,"=").concat(encodeURIComponent(de)))});var N=new Image;N.src=T}},{key:"localInfoLog",value:function(w){var T=this.url,P=window.location.protocol+"//"+window.location.host,N={systemName:"open_netstream_localinfo",Ver:"v6.0.0",PlatAddr:P,ExterVer:"v6.0.0",OpId:this.uuid(),CltType:102,AppId:"",playurl:encodeURIComponent(this.jsPlugin.url),StartTime:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),OS:navigator.platform};N=Object.assign(N,w),Object.keys(N).forEach(function(B,de){var me=N[B];typeof N[B]=="string"&&(me=N[B].replace("%","%25")),typeof N[B]!="undefined"&&(T+="".concat(de===0?"":"&").concat(B,"=").concat(encodeURIComponent(me)))});var O=new Image;O.src=T}},{key:"playLog",value:function(w){var T=this.url,P=T,N={systemName:"open_netstream_play_main",playurl:encodeURIComponent(this.jsPlugin.url),Time:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),Via:2,OpId:this.uuid()};N=Object.assign(N,w),Object.keys(N).forEach(function(B,de){var me=N[B];typeof N[B]=="string"&&(me=N[B].replace("%","%25")),typeof N[B]!="undefined"&&(P+="".concat(de===0?"":"&").concat(B,"=").concat(encodeURIComponent(me)))});var O=new Image;O.src=P}}]),Q}();(function(Q,U){t(n)==="object"&&t(n.exports)==="object"?n.exports=Q.document?U(Q,!0):function(w){if(!w.document)throw new Error("EZUIPlayer requires a window with a document");return U(w)}:U(Q)})(typeof window!="undefined"?window:void 0,function(Q,U){var w;function T(le,ae){for(var We=document.getElementsByTagName("head")[0].getElementsByTagName("script"),Pe=!1,_e=0;_e<We.length;_e++)We[_e].getAttribute("src")==le&&(Pe=!0,ae());if(!Pe){var Se=document.createElement("script");Se.setAttribute("src",le),Se.onload=ae,document.getElementsByTagName("head")[0].appendChild(Se)}}function P(le,ae){for(var We=document.getElementsByTagName("head")[0].getElementsByTagName("link"),Pe=!1,_e=0;_e<We.length;_e++)We[_e].getAttribute("href")==le&&(Pe=!0,ae());if(!Pe){var Se=document.createElement("link");Se.rel="stylesheet",Se.type="text/css",Se.href=le,Se.onload=ae,document.getElementsByTagName("head")[0].appendChild(Se)}}function N(le,ae,We,Pe,_e,Se){var n2=le,pe=new XMLHttpRequest;pe.onreadystatechange=function(){if(pe.readyState==4&&pe.status==200){var oe=JSON.parse(pe.responseText);_e(oe)}},pe.open(ae,n2,!0);var F=new FormData;for(var te in We)F.append(te,We[te]);pe.send(F)}var O={EZUIKitPlayer:void 0,EZUIKitTalk:void 0,opt:{apiDomain:"https://open.ys7.com/api/lapp/live/talk/url",filePath:"https://open.ys7.com/assets/ezuikit_v2.6.4",accessToken:"",url:"",deviceSerial:"",channelNo:"",id:"",talkLink:"",rtcUrl:"",ttsUrl:"",stream:"",isReliesReady:!1,template:"simple",plugin:[],audio:1,autoplay:1,videoLoading:!1},state:(w={countTimer:void 0,recodeTime:0,recodeTimer:void 0},o(w,"recodeTime",0),o(w,"fetchDefaultList",!1),o(w,"page",0),o(w,"pageSize",5),w),handleTalkSuccess:function(){},handleTalkError:function(){}},B="https://open.ys7.com",de=B,me=function(ae){var oe=this;this.opt={id:ae.id,apiDomain:B+"/api/lapp/live/talk/url",filePath:de+"/assets/ezuikit_v2.6.4",decoderVersion:"",accessToken:"",url:"",deviceSerial:"",channelNo:"",talkLink:"",rtcUrl:"",ttsUrl:"",stream:"",isReliesReady:!1,template:"simple",plugin:[],audio:1,autoplay:1,fullScreenStatus:0,bSupporDoubleClickFull:!0,videoLoading:!1},this.params=ae,ae.id&&(this.opt.id=ae.id),ae.accessToken&&(this.opt.accessToken=ae.accessToken),typeof ae.audio!="undefined"&&(this.opt.audio=ae.audio),typeof ae.decoderVersion!="undefined"&&(this.opt.decoderVersion=ae.decoderVersion),typeof ae.env!="undefined"&&(typeof ae.env.domain!="undefined"&&(B=ae.env.domain,this.opt.apiDomain=B+"/api/lapp/live/talk/url"),typeof ae.env.filePathDomain!="undefined"&&(de=ae.env.filePathDomain,this.opt.filePathDomain=ae.env.filePathDomain)),ae.url&&(this.opt.url=ae.url,this.opt.deviceSerial=ae.url.split("/")[3],this.opt.channelNo=ae.url.split("/")[4].split(".")[0]),typeof ae.template!="undefined"&&(this.opt.template=ae.template),ae.plugin&&(this.opt.plugin=ae.plugin),typeof ae.autoplay!="undefined"&&(this.opt.autoplay=ae.autoplay?1:0),typeof ae.bSupporDoubleClickFull!="undefined"&&(this.opt.bSupporDoubleClickFull=ae.bSupporDoubleClickFull),typeof ae.handleTalkSuccess!="undefined"&&(Q.EZUIKit.handleTalkSuccess=ae.handleTalkSuccess),typeof ae.handleTalkError!="undefined"&&(Q.EZUIKit.handleTalkError=ae.handleTalkError);var We=this.opt.id,Pe=document.getElementById(We);Pe.style.fontSize=0,Pe.style.overflowY="auto",Pe.style.position="relative";var _e=document.createElement("iframe");function Se(){switch(oe.opt.template){case"simple":var Ye=B+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+oe.opt.url.replace("?","&")+"&autoplay="+oe.opt.autoplay+"&audio="+oe.opt.audio+"&accessToken="+ae.accessToken+"&templete=0&id="+We+"&decoderVersion="+oe.opt.decoderVersion,u2="";return typeof ae.controls!="undefined"&&ae.controls&&(console.log("typeof",t(ae.controls)),u2="play,voice,hd,fullScreen",ae.controls.length>0&&(u2=ae.controls.join(","),Ye+="&controls="+u2)),ae.websocketParams&&(Ye+="&websocketParams="+JSON.stringify(ae.websocketParams)),Ye;case"standard":return B+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+oe.opt.url.replace("?","&")+"&autoplay="+oe.opt.autoplay+"&audio="+oe.opt.audio+"&accessToken="+ae.accessToken+"&templete=1&id="+We+"&decoderVersion="+oe.opt.decoderVersion;case"security":return B+"/ezopen/h5/iframe_se?bSupporDoubleClickFull=0&url="+oe.opt.url.replace("?","&")+"&autoplay="+oe.opt.autoplay+"&audio="+oe.opt.audio+"&accessToken="+ae.accessToken+"&templete=0&id="+We+"&decoderVersion="+oe.opt.decoderVersion;case"theme":return Ye=B+"/jssdk/theme.html?url=".concat(ae.url,"&accessToken=").concat(ae.accessToken,"&id=").concat(We,"&isMobile=").concat(ae.isMobile),typeof ae.isMobile!="undefined"&&(Ye+="&isMobile="+ae.isMobile),typeof ae.autoplay!="undefined"&&(Ye+="&autoplay="+ae.autoplay),typeof ae.domain!="undefined"&&ae.domain=="https://test12open.ys7.com"&&(Ye+="&env=test12"),typeof ae.env!="undefined"&&typeof ae.env.domain!="undefined"&&ae.env.domain=="https://test12open.ys7.com"&&(Ye+="&env=test12"),typeof ae.header!="undefined"&&(Ye+="&header="+ae.header),Ye;default:return B+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+oe.opt.url.replace("?","&")+"&autoplay="+oe.opt.autoplay+"&audio="+oe.opt.audio+"&accessToken="+ae.accessToken+"&templete=0&id="+We+"&decoderVersion="+oe.opt.decoderVersion}}_e.src=Se();var n2=document.getElementById(We).offsetHeight,pe=document.getElementById(We).offsetWidth;ae.height&&(n2=parseInt(ae.height),/\%$/.test(ae.height)&&(pe=document.getElementById(We).offsetWidth*(parseInt(ae.height)/100))),ae.width&&(pe=parseInt(ae.width),/\%$/.test(ae.width)&&(pe=document.getElementById(We).offsetWidth*(parseInt(ae.width)/100))),_e.width=pe,_e.height=n2,_e.id="EZUIKitPlayer-"+We,_e.setAttribute("allowfullscreen",!0),_e.setAttribute("allow","autoplay"),_e.setAttribute("frameborder",0),Pe.appendChild(_e);var F=oe.opt.filePath+"/js/jquery.js",te="https://open.ys7.com/assets/layer/layer.js";T(F,function(){T(te,function(){if(Ot().headerContainer){var Ye=document.createElement("div");Ye.setAttribute("class","panel-top");var u2=document.createElement("div");if(u2.setAttribute("class","contros"),Ye.appendChild(u2),Pe.insertBefore(Ye,_e),Ot().capturePictureModule){var f2=document.createElement("span");f2.innerHTML='<span title="截图"><svg id="capturePicture" title="截图" t="1578882764585" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5958" width="24" height="24"> <path d="M887.296 315.904h-153.6c-51.2 0-68.096-102.4-119.296-102.4H392.704c-34.304 0-51.2 102.4-102.4 102.4h-153.6c-29.696 0-51.2 21.504-51.2 51.2v439.296c0 25.6 21.504 47.104 51.2 47.104h751.104c29.696 0 51.2-21.504 51.2-51.2v-435.2c-0.512-30.208-21.504-51.2-51.712-51.2zM512 768c-115.2 0-204.8-89.6-204.8-200.704s89.6-200.704 204.8-200.704 204.8 89.6 204.8 200.704-93.696 200.704-204.8 200.704z m247.296-354.304c-12.8 0-25.6-12.8-25.6-25.6s12.8-25.6 25.6-25.6 25.6 12.8 25.6 25.6c0 17.408-12.8 25.6-25.6 25.6zM256 264.704c0-8.704-8.704-16.896-16.896-16.896h-51.2c-8.704 0-16.896 8.704-16.896 16.896V281.6H256v-16.896z m256 148.992c-85.504 0-153.6 68.096-153.6 153.6s68.096 153.6 153.6 153.6 153.6-68.096 153.6-153.6-68.096-153.6-153.6-153.6z" fill="#ffffff" p-id="5959"></path></svg></span>',f2.onclick=function(){oe.capturePicture()},u2.appendChild(f2)}if(console.log("matchHeaderOpt().saveModule",Ot().saveModule),Ot().saveModule){var C2=document.createElement("span");C2.innerHTML='<span title="开始录像"> <svg id="startSave" t="1578882716693" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3782" width="24" height="24"> <path d="M915.2 729.6l-128-76.8c-25.6-12.8-44.8-32-44.8-51.2V435.2c0-25.6 19.2-38.4 44.8-51.2l128-76.8c25.6-12.8 44.8 0 44.8 19.2V704c0 32-19.2 38.4-44.8 25.6z m-332.8 89.6H96c-51.2 0-89.6-38.4-89.6-89.6V332.8c0-51.2 38.4-89.6 89.6-89.6h486.4c51.2 0 89.6 38.4 89.6 89.6v396.8c0 51.2-38.4 89.6-89.6 89.6zM192 364.8c-32 6.4-57.6 32-64 64-12.8 57.6 38.4 115.2 96 102.4 32-6.4 57.6-32 64-70.4 12.8-57.6-38.4-108.8-96-96z m0 0" p-id="3783" fill="#ffffff"></path> </svg></span>',C2.onclick=function(){oe.startSave(),document.getElementById("startSave").setAttribute("class","icon hide"),document.getElementById("stopSave").setAttribute("class","icon")},u2.appendChild(C2);var F2=document.createElement("span");F2.innerHTML='<span title="结束录像"> <svg id="stopSave" t="1578882716693" class="icon hide" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3782" width="24" height="24"> <path d="M915.2 729.6l-128-76.8c-25.6-12.8-44.8-32-44.8-51.2V435.2c0-25.6 19.2-38.4 44.8-51.2l128-76.8c25.6-12.8 44.8 0 44.8 19.2V704c0 32-19.2 38.4-44.8 25.6z m-332.8 89.6H96c-51.2 0-89.6-38.4-89.6-89.6V332.8c0-51.2 38.4-89.6 89.6-89.6h486.4c51.2 0 89.6 38.4 89.6 89.6v396.8c0 51.2-38.4 89.6-89.6 89.6zM192 364.8c-32 6.4-57.6 32-64 64-12.8 57.6 38.4 115.2 96 102.4 32-6.4 57.6-32 64-70.4 12.8-57.6-38.4-108.8-96-96z m0 0" p-id="3783" fill="red"></path> </svg> </span>',F2.onclick=function(){oe.stopSave(),document.getElementById("stopSave").setAttribute("class","icon hide"),document.getElementById("startSave").setAttribute("class","icon")},u2.appendChild(F2)}if(Ot().zoomModule){var W2=document.createElement("span");W2.innerHTML='<span title="开启电子放大"> <svg id="enableZoom" t="1578882639834" class="icon" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2227" width="24" height="24"> <path d="M830.6119 441.1089c0-193.7756-157.0939-350.8641-350.8775-350.8641S128.8559 247.3333 128.8559 441.1089 285.9508 791.972 479.7344 791.972 830.6119 634.8845 830.6119 441.1089zM483.2821 710.4863c-146.7975 0-265.8187-118.9953-265.8187-265.8088S336.4847 178.8697 483.2821 178.8697s265.8197 118.9953 265.8197 265.8078S630.0796 710.4863 483.2821 710.4863zM770.6031 653.5739l-72.6417 75.9485 141.6917 160.1814 82.0737-90.0739L770.6031 653.5739zM527.5849 267.4727h-88.60655762279428v132.90489048425167H306.0690340253259v88.60292721534799h132.90933675248866v132.9038911617923h88.60655762279428V488.9794719180395h132.90933675248866v-88.60292721534799H527.5849284006089V267.4726535408993z" p-id="2228" fill="#ffffff"></path> </svg></span>',W2.onclick=function(){oe.enableZoom(),document.getElementById("enableZoom").setAttribute("class","icon hide"),document.getElementById("closeZoom").setAttribute("class","icon")},u2.appendChild(W2);var N2=document.createElement("span");N2.innerHTML='<span title="关闭电子放大"> <svg id="closeZoom" t="1578882639834" class="icon hide" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2227" width="24" height="24"> <path d="M830.6119 441.1089c0-193.7756-157.0939-350.8641-350.8775-350.8641S128.8559 247.3333 128.8559 441.1089 285.9508 791.972 479.7344 791.972 830.6119 634.8845 830.6119 441.1089zM483.2821 710.4863c-146.7975 0-265.8187-118.9953-265.8187-265.8088S336.4847 178.8697 483.2821 178.8697s265.8197 118.9953 265.8197 265.8078S630.0796 710.4863 483.2821 710.4863zM770.6031 653.5739l-72.6417 75.9485 141.6917 160.1814 82.0737-90.0739L770.6031 653.5739zM527.5849 267.4727h-88.60655762279428v132.90489048425167H306.0690340253259v88.60292721534799h132.90933675248866v132.9038911617923h88.60655762279428V488.9794719180395h132.90933675248866v-88.60292721534799H527.5849284006089V267.4726535408993z" p-id="2228" fill="red"></path> </svg></span>',N2.onclick=function(){oe.closeZoom(),document.getElementById("closeZoom").setAttribute("class","icon hide"),document.getElementById("enableZoom").setAttribute("class","icon")},u2.appendChild(N2)}}function Lt(){var w1={footerContainer:!1,talkModule:!1,broadcastModule:!1,hdModule:!1,fullScreenModule:!1},Qt=oe.opt.template;switch(Qt){case"simple":if(ae.footer&&ae.footer instanceof Array){var zt=ae.footer;w1={footerContainer:!0,talkModule:zt.indexOf("talk")!==-1,broadcastModule:zt.indexOf("broadcast")!==-1,hdModule:zt.indexOf("hd")!==-1,fullScreenModule:zt.indexOf("fullScreen")!==-1}}break;case"standard":if(ae.footer&&ae.footer instanceof Array){var zt=ae.footer;w1={footerContainer:!0,talkModule:zt.indexOf("talk")!==-1,broadcastModule:zt.indexOf("broadcast")!==-1,hdModule:zt.indexOf("hd")!==-1,fullScreenModule:zt.indexOf("fullScreen")!==-1}}break;case"security":break;case"voice":w1={footerContainer:!0,talkModule:!0,broadcastModule:!0,hdModule:!0,fullScreenModule:!0};break}return w1}function Ot(){var w1={headerContainer:!1,capturePictureModule:!1,saveModule:!1,zoomModule:!1},Qt=oe.opt.template;switch(Qt){case"simple":if(ae.header&&ae.header instanceof Array){var zt=ae.header;w1={headerContainer:!0,capturePictureModule:zt.indexOf("capturePicture")!==-1,saveModule:zt.indexOf("save")!==-1,zoomModule:zt.indexOf("zoom")!==-1}}break;case"standard":break;case"security":break;case"voice":w1={headerContainer:!0,capturePictureModule:!0,saveModule:!0,zoomModule:!0};break}return w1}if(Lt().footerContainer||oe.opt.plugin.indexOf("talk")!==-1){var Bt=oe.opt.filePath+"/npm/css/recoder.css",Kt=oe.opt.filePath+"/npm/js/recoder.js",Zt=oe.opt.filePath+"/recorder.js";if(P(Bt,function(){}),T(Kt,function(){T(Zt,function(){})}),oe.opt.plugin.indexOf("talk")!==-1||Lt().talkModule){var c3=function(Qt){if(console.log("data",Qt),Qt.code==200){var zt=Qt.data;if(zt){var w3=zt.rtcUrl;w3.indexOf("ws")===-1&&(w3=w3.replace("https","wss").replace("rtcgw","rtcgw-ws")),oe.opt.rtcUrl=w3,oe.opt.ttsUrl="tts://"+zt.ttsUrl;var g1="talk://"+oe.opt.deviceSerial+":0:"+oe.opt.channelNo+":cas.ys7.com:6500";if(oe.opt.talkLink=oe.opt.ttsUrl+"/"+g1,oe.opt.stream=zt.stream,console.log("_this.opt",oe.opt),!oe.opt.isReliesReady){var xe=oe.opt.filePath+"/npm/js/adapeter.js",qe=oe.opt.filePath+"/npm/js/janus.js",Je=oe.opt.filePath+"/npm/js/tts.js";console.log("加载jquery.js"),T(xe,function(){console.log("加载adapeter.js"),T(qe,function(){console.log("加载janus.js"),T(Je,function(){console.log("加载tts.js"),oe.opt.isReliesReady=!0})})},function(){return!!Q.adapter})}if(!document.getElementById("audioleft")){var r2=document.createElement("div");r2.style.display="none",r2.id="audioleft",document.body.appendChild(r2)}if(!document.getElementById("audioright")){var Ce=document.createElement("div");Ce.style.display="none",Ce.id="audioright",document.body.appendChild(Ce)}}}O.opt=oe.opt,Q.EZUIKit&&(Q.EZUIKit.opt=oe.opt)};N(oe.opt.apiDomain,"POST",{accessToken:oe.opt.accessToken,deviceSerial:oe.opt.deviceSerial,channelNo:oe.opt.channelNo},"",c3)}if(Lt().footerContainer){var X3=function(Qt,zt){if(clearInterval(O.state.countTimer),Qt==="add"){var w3=zt;O.state.countTimer=setInterval(function(){++w3,document.getElementById("time-area").innerHTML=g1(w3)},1e3)}else if(Qt==="sub"){var w3=zt;O.state.countTimer=setInterval(function(){w3>0?(w3--,document.getElementById("time-area").innerHTML=g1(w3)):(clearInterval(O.state.countTimer),O.state.countTimer=void 0,console.log("倒计时结束,开启声音"))},1e3)}else Qt==="destory"&&(clearInterval(O.state.countTimer),O.state.countTimer=void 0,document.getElementById("time-area").innerHTML="00:00");function g1(xe){var qe=parseInt(xe),Je=0,r2=0,Ce="00",v2="00",l2="00";return qe>59&&(Je=parseInt(qe/60),qe=parseInt(qe%60),Je>59&&(r2=parseInt(Je/60),Je=parseInt(Je%60))),Ce=parseInt(qe)>9?parseInt(qe):"0"+parseInt(qe),v2=parseInt(Je)>9?parseInt(Je):"0"+parseInt(Je),l2=parseInt(r2)>9?parseInt(r2):"0"+parseInt(r2),r2>0?l2+":"+v2+":"+Ce:Je>0?v2+":"+Ce:"00:"+Ce}},Xe=document.createElement("div");if(Xe.setAttribute("class","audio-controls"),Pe.appendChild(Xe),Lt().hdModule||Lt().fullScreenModule){var E2=document.createElement("div");if(E2.setAttribute("class","contros"),Xe.appendChild(E2),Lt().hdModule){var G2=document.createElement("span");G2.setAttribute("id","video-hd"),G2.innerHTML=oe.opt.url.indexOf(".hd")===-1?"标清":"高清",G2.onclick=function(){if(oe.opt.videoLoading)return layer.msg("视频加载中,请稍后"),!1;var w1=oe.stop();oe.opt.videoLoading=!0,w1.then(function(Qt){oe.opt.videoLoading=!1,oe.opt.url.indexOf(".hd")===-1?(oe.opt.url=oe.opt.url.replace(".live",".hd.live"),G2.innerHTML=oe.opt.url.indexOf(".hd")===-1?"标清":"高清"):(oe.opt.url=oe.opt.url.replace(".hd.live",".live"),G2.innerHTML=oe.opt.url.indexOf(".hd")===-1?"标清":"高清"),oe.play(oe.opt.url)}).catch(function(Qt){console.log("error",Qt)})},E2.appendChild(G2)}if(Lt().fullScreenModule){var pt=document.createElement("span");pt.setAttribute("class","hide"),pt.setAttribute("id","ezuikit-open-sound"),pt.setAttribute("title","打开声音"),pt.setAttribute("style","vertical-align: top;"),pt.innerHTML='<svg t="1590476263239" class="icon" viewBox="0 0 1178 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2273" width="16" height="16"><path d="M665.6 51.2 665.6 51.2c-10.24-30.72-40.96-51.2-71.68-51.2-5.12 0-15.36 0-20.48 5.12l0 0L358.4 153.6 51.2 209.92l0 0C20.48 220.16 0 250.88 0 281.6 0 286.72 0 291.84 0 307.2l0 0 0 409.6 0 0c0 15.36 0 20.48 0 25.6 0 30.72 20.48 61.44 51.2 71.68l0 0L358.4 870.4l97.28 71.68 107.52 76.8 0 0c5.12 5.12 15.36 5.12 25.6 5.12 40.96 0 76.8-35.84 76.8-76.8 0-10.24 0-10.24 0-25.6l0 0L665.6 51.2zM563.2 870.4l-153.6-102.4-307.2-51.2L102.4 307.2l307.2-51.2 153.6-102.4L563.2 870.4z" p-id="2274" fill="#FF0000"></path><path d="M1049.6 537.6l112.64-112.64c20.48-20.48 20.48-56.32 0-76.8-20.48-20.48-56.32-20.48-76.8 0L972.8 460.8l-112.64-112.64c0 0 0 0 0 0-20.48-20.48-56.32-20.48-76.8 0 0 0 0 0 0 0-20.48 20.48-20.48 56.32 0 76.8l112.64 112.64-112.64 112.64c-20.48 20.48-20.48 56.32 0 76.8 20.48 20.48 56.32 20.48 76.8 0L972.8 614.4l112.64 112.64c20.48 20.48 56.32 20.48 76.8 0s20.48-56.32 0-76.8L1049.6 537.6z" p-id="2275" fill="#FF0000"></path></svg>',pt.onclick=function(){oe.openSound(0),pt.setAttribute("class","hide"),It.setAttribute("class","")};var It=document.createElement("span");pt.setAttribute("id","ezuikit-close-sound"),It.setAttribute("class","hide"),It.setAttribute("title","关闭声音"),It.setAttribute("style","vertical-align: top;"),It.innerHTML='<svg t="1590414410633" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20545" width="16" height="16"><path d="M840.533333 98.133333c-17.066667-17.066667-42.666667-17.066667-59.733333 0-17.066667 17.066667-17.066667 42.666667 0 59.733334C883.2 256 938.666667 392.533333 938.666667 533.333333c0 140.8-55.466667 277.333333-157.866667 375.466667-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 8.533333 21.333333 12.8 29.866667 12.8 8.533333 0 21.333333-4.266667 29.866666-12.8 115.2-110.933333 183.466667-268.8 183.466667-435.2 0-166.4-68.266667-324.266667-183.466667-435.2zM571.733333 12.8c-17.066667-8.533333-34.133333-4.266667-46.933333 8.533333L281.6 256H42.666667c-25.6 0-42.666667 17.066667-42.666667 42.666667v426.666666c0 25.6 17.066667 42.666667 42.666667 42.666667h238.933333l243.2 234.666667c8.533333 8.533333 17.066667 12.8 29.866667 12.8 4.266667 0 12.8 0 17.066666-4.266667 17.066667-8.533333 25.6-21.333333 25.6-38.4V51.2c0-17.066667-8.533333-34.133333-25.6-38.4zM512 870.4l-183.466667-179.2c-8.533333-4.266667-17.066667-8.533333-29.866666-8.533333H85.333333V341.333333h213.333334c12.8 0 21.333333-4.266667 29.866666-12.8L512 153.6v716.8z" p-id="20546" fill="#ffffff"></path><path d="M759.466667 349.866667c-12.8-21.333333-38.4-25.6-59.733334-8.533334-21.333333 12.8-25.6 38.4-8.533333 59.733334 21.333333 29.866667 34.133333 76.8 34.133333 123.733333 0 46.933333-12.8 93.866667-34.133333 123.733333-12.8 21.333333-8.533333 46.933333 8.533333 59.733334 8.533333 4.266667 17.066667 8.533333 25.6 8.533333 12.8 0 25.6-4.266667 34.133334-17.066667 34.133333-46.933333 51.2-106.666667 51.2-174.933333 0-68.266667-17.066667-128-51.2-174.933333z" p-id="20547" fill="#ffffff"></path></svg>',It.onclick=function(){oe.closeSound(0),pt.setAttribute("class",""),It.setAttribute("class","hide")},E2.appendChild(pt),E2.appendChild(It)}if(oe.opt.audio==1?It.setAttribute("class",""):(pt.setAttribute("class",""),oe.closeSound(0)),Lt().fullScreenModule){var m3=document.createElement("span");m3.setAttribute("title","全屏"),m3.setAttribute("style","vertical-align: top;"),m3.innerHTML='<svg id="fullScreen" t="1578020167938" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5035" width="16" height="16"> <path d="M348.373333 625.706667l-128 128-64 64v-128a33.28 33.28 0 0 0-35.413333-35.413334A33.493333 33.493333 0 0 0 85.333333 689.706667v213.333333A33.706667 33.706667 0 0 0 120.96 938.666667h213.333333a35.626667 35.626667 0 0 0 0-71.04h-128l64-64 128-128a35.2 35.2 0 0 0-49.92-49.92zM206.293333 156.373333h128a33.28 33.28 0 0 0 35.413334-35.413333A33.493333 33.493333 0 0 0 334.293333 85.333333H113.706667c-7.04 0-14.08 7.04-21.333334 14.293334a26.026667 26.026667 0 0 0-7.04 21.333333v213.333333a33.493333 33.493333 0 0 0 35.626667 35.413334 33.28 33.28 0 0 0 35.413333-35.413334v-128l192 192a35.2 35.2 0 0 0 49.92-49.92zM903.04 85.333333h-213.333333a33.493333 33.493333 0 0 0-35.413334 35.626667 33.28 33.28 0 0 0 35.413334 35.413333h128l-64 64-128 128a35.2 35.2 0 0 0 49.92 49.92l128-128 64-64v128a35.626667 35.626667 0 0 0 71.04 0v-213.333333A33.706667 33.706667 0 0 0 903.04 85.333333zM903.04 654.293333a33.28 33.28 0 0 0-35.413333 35.413334v128l-64-64-128-128a35.2 35.2 0 0 0-49.92 49.92l128 128 64 64h-128a35.626667 35.626667 0 0 0 0 71.04h213.333333A33.706667 33.706667 0 0 0 938.666667 903.04v-213.333333a33.493333 33.493333 0 0 0-35.626667-35.413334z" p-id="5036" fill="#ffffff"></path></svg>',m3.onclick=function(){oe.fullScreen()},E2.appendChild(m3)}}if(Lt().talkModule){var o3=document.createElement("div"),n3=document.createElement("div");o3.setAttribute("class","ptp-talk off"),o3.innerHTML='<span title="对讲"><svg t="1581930496966" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1641" width="16" height="16"> <path d="M715.648 647.872c-30.208-22.336-61.568 39.36-100.992 77.44-39.36 38.08-34.112 31.488-123.392-17.088S311.488 540.224 280 491.648C248.448 443.072 265.472 424.704 265.472 424.704s78.72-62.976 97.152-81.344c18.368-18.368 13.12-30.208 13.12-30.208l-128.64-190.144c-23.616-5.184-64.32 5.12-128.576 57.6C54.208 233.088 30.592 353.856 151.296 575.68c120.768 221.824 347.84 330.752 485.568 374.08 137.856 43.328 228.416-61.696 249.408-103.68 21.056-41.984 13.12-85.312 13.12-85.312S745.856 670.208 715.648 647.872z" p-id="1642" fill="#ffffff"></path> <path d="M715.328 64C580.992 64 472.192 172.864 472.192 307.2s108.8 243.2 243.136 243.2 243.2-108.864 243.2-243.2S849.6 64 715.328 64zM715.328 461.056c-84.992 0-153.856-68.864-153.856-153.856s68.864-153.856 153.856-153.856 153.856 68.928 153.856 153.856S800.32 461.056 715.328 461.056z" p-id="1643" fill="#ffffff"></path> <path d="M777.472 277.376c-18.176 0-32.96-14.784-32.96-33.024 0-8.448 3.136-16.064 8.32-21.888-11.52-5.12-24.128-8-37.568-8-51.2 0-92.672 41.472-92.672 92.736s41.472 92.736 92.672 92.736S808.064 358.4 808.064 307.2c0-13.696-3.072-26.688-8.384-38.4C793.728 274.112 786.048 277.376 777.472 277.376zM715.328 340.928c-18.624 0-33.664-15.104-33.664-33.728 0-18.624 15.04-33.728 33.664-33.728 18.688 0 33.728 15.104 33.728 33.728C749.056 325.824 734.016 340.928 715.328 340.928z" p-id="1644" fill="#ffffff"></path> </svg> </span> <span>开启对讲</span>',o3.onclick=function(){if(console.log("EZUIKit.state.countTimer",O.state.countTimer),O.state.countTimer)return Q.layer.msg("语音设备正忙,请稍后重试"),!1;X3("add",0),console.log("开始对讲,关闭声音"),oe.closeSound(0),console.log(oe.opt),oe.startTalk(),this.setAttribute("class","ptp-talk off hide"),n3.setAttribute("class","ptp-talk on")},n3.setAttribute("class","ptp-talk on hide"),n3.innerHTML='<span title="对讲"> <svg t="1581930496966" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1641" width="16" height="16"> <path d="M715.648 647.872c-30.208-22.336-61.568 39.36-100.992 77.44-39.36 38.08-34.112 31.488-123.392-17.088S311.488 540.224 280 491.648C248.448 443.072 265.472 424.704 265.472 424.704s78.72-62.976 97.152-81.344c18.368-18.368 13.12-30.208 13.12-30.208l-128.64-190.144c-23.616-5.184-64.32 5.12-128.576 57.6C54.208 233.088 30.592 353.856 151.296 575.68c120.768 221.824 347.84 330.752 485.568 374.08 137.856 43.328 228.416-61.696 249.408-103.68 21.056-41.984 13.12-85.312 13.12-85.312S745.856 670.208 715.648 647.872z" p-id="1642" fill="#ff0000"></path> <path d="M715.328 64C580.992 64 472.192 172.864 472.192 307.2s108.8 243.2 243.136 243.2 243.2-108.864 243.2-243.2S849.6 64 715.328 64zM715.328 461.056c-84.992 0-153.856-68.864-153.856-153.856s68.864-153.856 153.856-153.856 153.856 68.928 153.856 153.856S800.32 461.056 715.328 461.056z" p-id="1643" fill="#ff0000"></path> <path d="M777.472 277.376c-18.176 0-32.96-14.784-32.96-33.024 0-8.448 3.136-16.064 8.32-21.888-11.52-5.12-24.128-8-37.568-8-51.2 0-92.672 41.472-92.672 92.736s41.472 92.736 92.672 92.736S808.064 358.4 808.064 307.2c0-13.696-3.072-26.688-8.384-38.4C793.728 274.112 786.048 277.376 777.472 277.376zM715.328 340.928c-18.624 0-33.664-15.104-33.664-33.728 0-18.624 15.04-33.728 33.664-33.728 18.688 0 33.728 15.104 33.728 33.728C749.056 325.824 734.016 340.928 715.328 340.928z" p-id="1644" fill="#ff0000"></path> </svg> </span><span>关闭对讲</span>',n3.onclick=function(){console.log(oe.opt),oe.stopTalk(),X3("destory",0),oe.openSound(0),this.setAttribute("class","ptp-talk on hide"),o3.setAttribute("class","ptp-talk off")},Xe.appendChild(o3),Xe.appendChild(n3)}if(Lt().broadcastModule){var O3=function w1(Qt){function zt(w3){console.log("data",w3),w3.code==200&&(xr(w3.data,5),O.state.page=w3.page.page,Qt==0&&w3.data.length==0&&!O.state.fetchDefaultList&&(O.state.fetchDefaultList=!0,w1(0)))}N(B+"/api/lapp/voice/query","POST",{accessToken:oe.opt.accessToken,pageStart:Qt,pageSize:O.state.pageSize,default:O.state.fetchDefaultList?"true":"false"},"",zt)},xr=function(Qt){if(console.log("renderVoliceList",Qt),Qt&&Qt.length>0){for(var zt=0;zt<Qt.length;zt++){var w3=document.createElement("li");w3.innerHTML="<li class='voice-item' id='voice-item-"+zt+"' data-time="+(Qt[zt].duration||20)+" data-url="+Qt[zt].fileUrl+">"+(Qt[zt].voiceName.length>10?Qt[zt].voiceName.substr(0,10)+"...":Qt[zt].voiceName)+"</li>",document.getElementsByClassName("voice-list-ul")[0].append(w3),w3.onclick=function(g1){console.log("点击元素",g1.target,g1.target.dataset.url);var xe=g1.target.dataset.url,qe=g1.target.dataset.time;ni(xe,qe)}}Qt.length===O.state.pageSize?document.getElementById("voice-list-end").innerHTML="向下滚动加载更多":document.getElementById("voice-list-end").innerHTML="没有更多数据了"}},ni=function(Qt,zt){console.log("播放语音",Qt,zt);function w3(g1){console.log("data.data",g1.data),g1.code==200?X3("sub",parseInt(zt)):g1.code=="10001"?Q.layer.msg("未找到当前语音"):Q.layer.msg(g1.msg||"发送失败,请稍后再试")}N(B+"/api/lapp/voice/send","POST",{accessToken:oe.opt.accessToken,deviceSerial:oe.opt.deviceSerial,channelNo:oe.opt.channelNo,fileUrl:Qt},"",w3)},tn=document.createElement("div"),zn=document.createElement("div");tn.setAttribute("class","broadcast off"),zn.setAttribute("class","broadcast on hide"),tn.innerHTML=' <span title="语音播报"> <svg t="1583561695846" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1126" width="16" height="16"> <path d="M513.82044445 964.38044445c-8.192 0-15.47377778-2.73066667-21.84533334-8.192 0 0-46.42133333-41.87022222-99.21422222-86.47111112-89.20177778-73.728-117.41866667-88.29155555-123.79022222-90.112H35.04355555c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666666V271.70133333c0-14.56355555 11.83288889-27.30666667 26.39644444-27.30666666H246.21511111c7.28177778-2.73066667 37.31911111-15.47377778 137.44355556-91.02222222 58.25422222-43.69066667 111.04711111-86.47111111 111.04711111-86.47111112 5.46133333-4.55111111 12.74311111-7.28177778 20.02488889-7.28177778 4.55111111 0 10.01244445 0.91022222 14.56355555 3.6408889 10.92266667 5.46133333 18.20444445 17.29422222 18.20444445 30.03733333v837.40444444c0 12.74311111-7.28177778 25.48622222-19.11466667 30.94755556-5.46133333 1.82044445-10.01244445 2.73066667-14.56355555 2.73066667zM270.79111111 724.992c19.11466667 0 48.24177778 8.192 167.48088889 106.496 16.384 13.65333333 33.67822222 28.21688889 51.88266667 43.69066667l5.46133333 4.55111111V139.71911111l-5.46133333 3.64088889c-22.75555555 17.29422222-44.60088889 34.58844445-65.536 50.06222222C293.54666667 291.72622222 264.41955555 299.008 245.30488889 299.008H82.37511111c-20.02488889 0-21.84533333 12.74311111-21.84533333 26.39644445V694.04444445c0 23.66577778 6.37155555 30.03733333 28.21688889 30.03733333h180.224l1.82044444 0.91022222z m520.64711111 162.01955555c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666666 0-11.83288889 8.192-20.02488889 16.384-24.576 112.86755555-67.35644445 182.04444445-191.14666667 182.04444444-324.03911111 0-132.89244445-70.08711111-256.68266667-182.04444444-324.03911111-10.01244445-5.46133333-15.47377778-14.56355555-15.47377778-24.576 0-14.56355555 11.83288889-27.30666667 26.39644445-27.30666667 5.46133333 0 10.01244445 1.82044445 16.384 5.46133333 128.34133333 76.45866667 207.53066667 218.45333333 207.53066666 369.55022222 0 152.00711111-80.09955555 293.09155555-208.44088889 369.55022223-6.37155555 5.46133333-10.92266667 7.28177778-16.384 7.28177777z m-90.112-152.91733333c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666667 0-10.01244445 4.55111111-18.20444445 12.74311111-23.66577777 61.89511111-34.58844445 100.12444445-100.12444445 100.12444444-171.12177778 0-70.08711111-37.31911111-134.71288889-96.48355555-170.21155555-8.192-4.55111111-12.74311111-13.65333333-12.74311111-23.66577778 0-14.56355555 11.83288889-27.30666667 26.39644444-27.30666667 4.55111111 0 11.83288889 2.73066667 15.47377778 4.55111111 74.63822222 44.60088889 121.96977778 127.43111111 121.96977778 215.72266667 0 90.112-48.24177778 173.85244445-125.61066667 218.45333333-1.82044445 0-9.10222222 4.55111111-15.47377778 4.55111111z" fill="#ffffff" p-id="1127"></path> </svg></span><span>语音播报</span>',tn.onclick=function(){this.setAttribute("class","broadcast off hide"),zn.setAttribute("class","broadcast on")},zn.innerHTML='<div class="pop-hover"> <div class="pop-hover-content"> <div class="vioce-list" id="voice-list"> <ul class="voice-list-ul"> </ul> <div id="voice-list-end"></div> </div> <div id="voice-custom" style="text-align: center;">自定义语音</div> </div></div><span title="语音播报"> <svg t="1583561695846" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1126" width="16" height="16"> <path d="M513.82044445 964.38044445c-8.192 0-15.47377778-2.73066667-21.84533334-8.192 0 0-46.42133333-41.87022222-99.21422222-86.47111112-89.20177778-73.728-117.41866667-88.29155555-123.79022222-90.112H35.04355555c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666666V271.70133333c0-14.56355555 11.83288889-27.30666667 26.39644444-27.30666666H246.21511111c7.28177778-2.73066667 37.31911111-15.47377778 137.44355556-91.02222222 58.25422222-43.69066667 111.04711111-86.47111111 111.04711111-86.47111112 5.46133333-4.55111111 12.74311111-7.28177778 20.02488889-7.28177778 4.55111111 0 10.01244445 0.91022222 14.56355555 3.6408889 10.92266667 5.46133333 18.20444445 17.29422222 18.20444445 30.03733333v837.40444444c0 12.74311111-7.28177778 25.48622222-19.11466667 30.94755556-5.46133333 1.82044445-10.01244445 2.73066667-14.56355555 2.73066667zM270.79111111 724.992c19.11466667 0 48.24177778 8.192 167.48088889 106.496 16.384 13.65333333 33.67822222 28.21688889 51.88266667 43.69066667l5.46133333 4.55111111V139.71911111l-5.46133333 3.64088889c-22.75555555 17.29422222-44.60088889 34.58844445-65.536 50.06222222C293.54666667 291.72622222 264.41955555 299.008 245.30488889 299.008H82.37511111c-20.02488889 0-21.84533333 12.74311111-21.84533333 26.39644445V694.04444445c0 23.66577778 6.37155555 30.03733333 28.21688889 30.03733333h180.224l1.82044444 0.91022222z m520.64711111 162.01955555c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666666 0-11.83288889 8.192-20.02488889 16.384-24.576 112.86755555-67.35644445 182.04444445-191.14666667 182.04444444-324.03911111 0-132.89244445-70.08711111-256.68266667-182.04444444-324.03911111-10.01244445-5.46133333-15.47377778-14.56355555-15.47377778-24.576 0-14.56355555 11.83288889-27.30666667 26.39644445-27.30666667 5.46133333 0 10.01244445 1.82044445 16.384 5.46133333 128.34133333 76.45866667 207.53066667 218.45333333 207.53066666 369.55022222 0 152.00711111-80.09955555 293.09155555-208.44088889 369.55022223-6.37155555 5.46133333-10.92266667 7.28177778-16.384 7.28177777z m-90.112-152.91733333c-14.56355555 0-26.39644445-11.83288889-26.39644444-27.30666667 0-10.01244445 4.55111111-18.20444445 12.74311111-23.66577777 61.89511111-34.58844445 100.12444445-100.12444445 100.12444444-171.12177778 0-70.08711111-37.31911111-134.71288889-96.48355555-170.21155555-8.192-4.55111111-12.74311111-13.65333333-12.74311111-23.66577778 0-14.56355555 11.83288889-27.30666667 26.39644444-27.30666667 4.55111111 0 11.83288889 2.73066667 15.47377778 4.55111111 74.63822222 44.60088889 121.96977778 127.43111111 121.96977778 215.72266667 0 90.112-48.24177778 173.85244445-125.61066667 218.45333333-1.82044445 0-9.10222222 4.55111111-15.47377778 4.55111111z" fill="#ff0000" p-id="1127"></path> </svg></span><span>语音播报</span>',zn.onclick=function(){this.setAttribute("class","broadcast on hide"),tn.setAttribute("class","broadcast off")},Xe.appendChild(tn),Xe.appendChild(zn),document.getElementById("voice-custom").onclick=function(){console.log("显示自定义语音"),t1.setAttribute("class","speak off")},O3(0);var t1=document.createElement("div"),g0=document.createElement("div");t1.setAttribute("class","speak off hide"),g0.setAttribute("class","speak on hide"),t1.setAttribute("id","startSpeak"),g0.setAttribute("id","stopSpeak"),t1.innerHTML='<span title="按住说话"> <svg t="1581994757678" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1639" width="16" height="16"> <path d="M757.059829 393.846154v-52.512821h262.564103v52.512821H757.059829z m-420.102564 481.367521v96.273504h175.042735a8.752137 8.752137 0 0 1 8.752137 8.752137v35.008547a8.752137 8.752137 0 0 1-8.752137 8.752137H109.401709a8.752137 8.752137 0 0 1-8.752136-8.752137v-35.008547a8.752137 8.752137 0 0 1 8.752136-8.752137h175.042735v-96.273504C129.767932 875.213675 4.376068 749.821812 4.376068 595.145299V463.863248a26.25641 26.25641 0 1 1 52.512821 0v113.777778c0 140.174222 113.637744 253.811966 253.811966 253.811965s253.811966-113.637744 253.811966-253.811965V463.863248a26.25641 26.25641 0 1 1 52.51282 0v131.282051c0 154.676513-125.391863 280.068376-280.068376 280.068376z m-26.25641-96.273504c-111.178393 0-201.299145-90.120752-201.299146-201.299145V201.299145C109.401709 90.120752 199.522462 0 310.700855 0s201.299145 90.120752 201.299145 201.299145v376.341881c0 111.178393-90.120752 201.299145-201.299145 201.299145z m691.418803-280.068376H757.059829v-52.512821h245.059829v52.512821z m-17.504273 105.025641H757.059829v-52.512821h227.555556v52.512821z m-17.504274 105.025641H757.059829v-52.512821h210.051282v52.512821z m-8.752137 105.025641H757.059829v-52.512821h201.299145v52.512821z m-17.504273 105.025641H757.059829v-52.512821h183.794872v52.512821z m-26.25641 105.025641H757.059829v-52.512821h157.538462v52.512821z" p-id="1640" fill="#ffffff"></path> </svg></span><span>按住说话</span>',g0.innerHTML='<span title="按住说话"><svg t="1581994757678" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1639" width="16" height="16"> <path d="M757.059829 393.846154v-52.512821h262.564103v52.512821H757.059829z m-420.102564 481.367521v96.273504h175.042735a8.752137 8.752137 0 0 1 8.752137 8.752137v35.008547a8.752137 8.752137 0 0 1-8.752137 8.752137H109.401709a8.752137 8.752137 0 0 1-8.752136-8.752137v-35.008547a8.752137 8.752137 0 0 1 8.752136-8.752137h175.042735v-96.273504C129.767932 875.213675 4.376068 749.821812 4.376068 595.145299V463.863248a26.25641 26.25641 0 1 1 52.512821 0v113.777778c0 140.174222 113.637744 253.811966 253.811966 253.811965s253.811966-113.637744 253.811966-253.811965V463.863248a26.25641 26.25641 0 1 1 52.51282 0v131.282051c0 154.676513-125.391863 280.068376-280.068376 280.068376z m-26.25641-96.273504c-111.178393 0-201.299145-90.120752-201.299146-201.299145V201.299145C109.401709 90.120752 199.522462 0 310.700855 0s201.299145 90.120752 201.299145 201.299145v376.341881c0 111.178393-90.120752 201.299145-201.299145 201.299145z m691.418803-280.068376H757.059829v-52.512821h245.059829v52.512821z m-17.504273 105.025641H757.059829v-52.512821h227.555556v52.512821z m-17.504274 105.025641H757.059829v-52.512821h210.051282v52.512821z m-8.752137 105.025641H757.059829v-52.512821h201.299145v52.512821z m-17.504273 105.025641H757.059829v-52.512821h183.794872v52.512821z m-26.25641 105.025641H757.059829v-52.512821h157.538462v52.512821z" p-id="1640" fill="#ff0000"></path></svg></span><span>松开发送</span>',Xe.appendChild(t1),Xe.appendChild(g0),document.getElementById("voice-list").onscroll=function(w1){var Qt=this.scrollHeight;console.log("sum",Qt,this.scrollTop,document.getElementById("voice-list").clientHeight),Qt<=this.scrollTop+this.clientHeight&&(console.log("拖动到底,执行加载",O.state.page),O3(++O.state.page))};var Mn=document.createElement("div");Mn.setAttribute("class","time-area"),Mn.setAttribute("id","time-area"),Mn.innerHTML="00:00",Xe.appendChild(Mn);var z3;document.getElementById("startSpeak").onmousedown=function(){if(O.state.countTimer)return Q.layer.msg("语音设备正忙,请稍后重试"),!1;console.log("按住说话"),t1.setAttribute("class","speak off hide"),g0.setAttribute("class","speak on"),w3(),X3("add",0),setTimeout(function(){O.state.recodeTime=0,zt()},1e3),O.state.recodeTimer&&clearInterval(O.state.recodeTimer),O.state.recodeTimer=setInterval(function(){O.state.recodeTime>=59?(oe.stopTalk(),X3("destory",0),this.setAttribute("class","ptp-talk on hide"),o3.setAttribute("class","ptp-talk off"),Q.layer.msg("不超过1分钟")):O.state.recodeTime=O.state.recodeTime+1},1e3);var w1;function Qt(g1){var xe=w1.createMediaStreamSource(g1);z3=new Q.Recorder(xe)}function zt(){z3&&z3.record()}function w3(){console.log("run init");try{Q.AudioContext=Q.AudioContext||Q.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,Q.URL=Q.URL||Q.webkitURL,w1=new AudioContext,console.log("Audio context set up."),console.log("navigator.getUserMedia "+(navigator.getUserMedia?"available.":"not present!"))}catch(g1){console.log("err",g1),Q.layer.msg("No web audio support in this browser!")}navigator.getUserMedia({audio:!0},Qt,function(g1){console.log("No live audio input: "+g1)})}},document.getElementById("stopSpeak").onmouseup=function(){console.log("松开发送"),g0.setAttribute("class","speak on hide"),w1();function w1(){if(X3("destory",0),O.state.recodeTime<1)return Q.layer.msg("说话时间过短"),clearInterval(O.state.recodeTimer),!1;clearInterval(O.state.recodeTimer),Qt()}function Qt(){try{z3&&z3.stop(),z3&&z3.exportWAV(function(zt){if(console.log("wav_file",zt),zt.size<1e3)return Q.layer.msg("录音失败,请重试"),O.state.recodeTime=0,!1;X3("sub",O.state.recodeTime+2);var w3=new FormData;w3.append("voiceFile",zt),w3.append("accessToken",oe.opt.accessToken),w3.append("deviceSerial",oe.opt.deviceSerial),w3.append("channelNo",oe.opt.channelNo);function g1(qe){console.log("data.data",qe.data),qe.code==200?X3("sub",O.state.recodeTime+2):qe.code=="10001"?Q.layer.msg("未找到当前语音"):Q.layer.msg(qe.msg||"发送失败,请稍后再试")}function xe(qe){console.log("err",qe)}N(B+"/api/lapp/voice/sendonce","POST",{voiceFile:zt,accessToken:oe.opt.accessToken,deviceSerial:oe.opt.deviceSerial,channelNo:oe.opt.channelNo},"",g1,xe)}),z3&&z3.clear()}catch(zt){console.log(zt)}}}}}}})});var oe=this;Q.addEventListener("message",function(Ye){Ye.origin;var u2=oe.opt.id;if(Ye.data.type)switch(Ye.data.type){case"openSound":u2==Ye.data.id&&ae.openSoundCallBack&&ae.openSoundCallBack(Ye.data);break;case"closeSound":u2==Ye.data.id&&ae.closeSoundCallBack&&ae.closeSoundCallBack(Ye.data);break;case"capturePicture":u2==Ye.data.id&&ae.capturePictureCallBack&&ae.capturePictureCallBack(Ye.data);break;case"startSave":u2==Ye.data.id&&ae.startSaveCallBack&&ae.startSaveCallBack(Ye.data);break;case"stopSave":u2==Ye.data.id&&ae.stopSaveCallBack&&ae.stopSaveCallBack(Ye.data);break;case"fullScreen":u2==Ye.data.id&&ae.fullScreenCallBack&&ae.fullScreenCallBack(Ye.data);break;case"getOSDTime":u2==Ye.data.id&&ae.getOSDTimeCallBack&&ae.getOSDTimeCallBack(Ye.data);break;case"handleSuccess":u2==Ye.data.id&&ae.handleSuccess&&ae.handleSuccess(Ye.data);break;case"handleError":u2==Ye.data.id&&ae.handleError&&ae.handleError(Ye.data);break;case"dblclick":u2==Ye.data.id&&oe.opt.bSupporDoubleClickFull&&(oe.opt.fullScreenStatus===0?oe.fullScreen():oe.cancelFullScreen());break;case"startTalk":oe.startTalk(),oe.closeSound();break;case"stopTalk":oe.stopTalk(),oe.openSound();break;case"clickEventHandle":console.log("event.data",Ye.data),ae.clickEventHandle&&ae.clickEventHandle(Ye.data);break;case"removeEventHandle":ae.removeEventHandle&&ae.removeEventHandle(Ye.data);break;case"esc":ae.clickEventHandle&&ae.clickEventHandle(Ye.data);break;case"iframeFullScreen":if(u2==Ye.data.id){var f2=function(F2){var W2=F2.requestFullScreen||F2.webkitRequestFullScreen||F2.mozRequestFullScreen||F2.msRequestFullScreen;if(W2)W2.call(F2);else if(typeof Q.ActiveXObject!="undefined"){var N2=new ActiveXObject("WScript.Shell");N2!==null&&N2.SendKeys("{F11}")}};f2(document.getElementById("EZUIKitPlayer-"+Ye.data.id))}break}});function ze(Ye){oe.opt.fullScreenStatus=Ye?1:0,ae.fullScreenChangeCallBack&&ae.fullScreenChangeCallBack({data:Ye,id:oe.opt.id})}typeof document.fullScreen!="undefined"?document.addEventListener("fullscreenchange",function(){var Ye=document.fullscreen||!1;ze(Ye)}):typeof document.webkitIsFullScreen!="undefined"?document.addEventListener("webkitfullscreenchange",function(){var Ye=document.webkitIsFullScreen||!1;ze(Ye)}):typeof document.mozFullScreen!="undefined"&&document.addEventListener("mozfullscreenchange",function(){var Ye=document.mozFullScreen||!1;ze(Ye)})};me.prototype.play=function(le){var ae="EZUIKitPlayer-"+this.opt.id,We=document.getElementById(ae).contentWindow;t(le)==="object"&&le.url&&(this.opt.url=le.url),t(le)==="object"&&le.accessToken&&(this.opt.accessToken=le.accessToken),typeof le=="string"&&(this.opt.url=le),We.postMessage({action:"play",accessToken:this.opt.accessToken,url:this.opt.url},B+"/ezopen/h5/iframe");var Pe=this;this.opt.videoLoading=!0;var _e=new Promise(function(Se,n2){Q.addEventListener("message",function(pe){var F=Pe.opt.id;F==pe.data.id&&pe.data.type==="handleSuccess"&&(setTimeout(function(){Pe.opt.videoLoading=!1},1e3),Se(pe.data))})});return _e},me.prototype.stop=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("stop",B+"/ezopen/h5/iframe");var We=this,Pe=new Promise(function(_e,Se){Q.addEventListener("message",function(n2){var pe=We.opt.id;pe==n2.data.id&&n2.data.type==="stop"&&_e(n2.data)})});return Pe},me.prototype.openSound=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("openSound",B+"/ezopen/h5/iframe");var We=this,Pe=new Promise(function(_e,Se){Q.addEventListener("message",function(n2){var pe=We.opt.id;pe==n2.data.id&&n2.data.type==="openSound"&&_e(n2.data)})});return Pe},me.prototype.closeSound=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("closeSound",B+"/ezopen/h5/iframe");var We=this,Pe=new Promise(function(_e,Se){Q.addEventListener("message",function(n2){var pe=We.opt.id;pe==n2.data.id&&n2.data.type==="closeSound"&&_e(n2.data)})});return Pe},me.prototype.startSave=function(le){var ae="EZUIKitPlayer-"+this.opt.id,We=document.getElementById(ae).contentWindow;We.postMessage({action:"startSave",fileName:le||"default"},B+"/ezopen/h5/iframe");var Pe=this,_e=new Promise(function(Se,n2){Q.addEventListener("message",function(pe){var F=Pe.opt.id;F==pe.data.id&&pe.data.type==="startSave"&&Se(pe.data)})});return _e},me.prototype.stopSave=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("stopSave",B+"/ezopen/h5/iframe");var We=this,Pe=new Promise(function(_e,Se){Q.addEventListener("message",function(n2){var pe=We.opt.id;pe==n2.data.id&&n2.data.type==="stopSave"&&_e(n2.data)})});return Pe},me.prototype.fullScreen=function(){if(this.opt.fullScreenStatus===1)return!1;var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var We=document.documentElement.clientWidth,Pe=document.documentElement.clientHeight,_e=document.body;_e=document.getElementById(le);var Se="";Se+="width:"+Pe+"px;",Se+="height:"+We+"px;",Se+="-webkit-transform: rotate(90deg); transform: rotate(90deg);",Se+="-webkit-transform-origin: "+We/2+"px "+We/2+"px;",Se+="transform-origin: "+We/2+"px "+We/2+"px;",Se+="position: fixed;top: 0;left: 0;z-index:10",_e.style.cssText=Se,setTimeout(function(){ae.postMessage("autoResize",B+"/ezopen/h5/iframe")},500)}else{var n2=function(F){var te=F.requestFullScreen||F.webkitRequestFullScreen||F.mozRequestFullScreen||F.msRequestFullScreen;if(te)te.call(F);else if(typeof Q.ActiveXObject!="undefined"){var oe=new ActiveXObject("WScript.Shell");oe!==null&&oe.SendKeys("{F11}")}};n2(document.getElementById(le))}this.params.fullScreenCallBack&&this.params.fullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=1},me.prototype.cancelFullScreen=function(){if(this.opt.fullScreenStatus===0)return!1;var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var We=document.getElementById(le).width,Pe=document.getElementById(le).height,_e=document.body;_e=document.getElementById(le);var Se="";Se+="width:"+We+"px;",Se+="height:"+Pe+"px;",Se+="-webkit-transform: none; transform: none;",Se+="-webkit-transform-origin: 0 0;",Se+="transform-origin: 0 0;",_e.style.cssText=Se,setTimeout(function(){ae.postMessage("autoResize",B+"/ezopen/h5/iframe")},500);var n2=le+"cancel-full-screen",pe=document.getElementById(n2);pe&&document.body.removeChild(pe)}else document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen&&document.mozCancelFullScreen();this.params.cancelFullScreenCallBack&&this.params.cancelFullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=0},me.prototype.capturePicture=function(le,ae){var We="EZUIKitPlayer-"+this.opt.id,Pe=document.getElementById(We).contentWindow;Pe.postMessage({action:"capturePicture",fileName:le||"default",isUndownload:ae},B+"/ezopen/h5/iframe");var _e=this,Se=new Promise(function(n2,pe){Q.addEventListener("message",function(F){var te=_e.opt.id;te==F.data.id&&F.data.type==="capturePicture"&&n2(F.data)})});return Se},me.prototype.enableZoom=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("enableZoom",B+"/ezopen/h5/iframe")},me.prototype.closeZoom=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("closeZoom",B+"/ezopen/h5/iframe")},me.prototype.getOSDTime=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("getOSDTime",B+"/ezopen/h5/iframe");var We=this,Pe=new Promise(function(_e,Se){Q.addEventListener("message",function(n2){var pe=We.opt.id;pe==n2.data.id&&n2.data.type==="getOSDTime"&&_e(n2.data)})});return Pe},me.prototype.autoResize=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("autoResize",B+"/ezopen/h5/iframe")},me.prototype.reSize=function(le,ae){var We="EZUIKitPlayer-"+this.opt.id,Pe=document.getElementById(We).contentWindow,_e=document.getElementById(this.opt.id);_e.style.width=le+"px",_e.style.height=ae+"px",document.getElementById(this.opt.id).style.width=le+"px",document.getElementById(this.opt.id).style.height=ae+"px";var Se=document.getElementById(We);Se.setAttribute("width",le),Se.setAttribute("height",ae),Se.style.width=le+"px",Se.style.height=ae+"px",setTimeout(function(){Pe.postMessage({action:"autoResize"},B+"/ezopen/h5/iframe")},500)},me.prototype.startTalk=function(){console.log("执行开始对讲"),console.log(this.opt);var le=this;O.opt=this.opt,Q.EZUIKit&&(Q.EZUIKit.opt=this.opt);var ae=function(Pe){if(Pe.code==200){var _e=Pe.data;if(_e){var Se=_e.rtcUrl;Se.indexOf("ws")===-1&&(Se=Se.replace("https","wss").replace("rtcgw","rtcgw-ws")),le.opt.rtcUrl=Se,le.opt.ttsUrl="tts://"+_e.ttsUrl;var n2="talk://"+le.opt.deviceSerial+":0:"+le.opt.channelNo+":cas.ys7.com:6500";le.opt.talkLink=le.opt.ttsUrl+"/"+n2,le.opt.stream=_e.stream,Q.startTalk()}}};N(le.opt.apiDomain,"POST",{accessToken:le.opt.accessToken,deviceSerial:le.opt.deviceSerial,channelNo:le.opt.channelNo},"",ae)},me.prototype.stopTalk=function(){console.log("执行结束对讲"),Q.stopTalk()},me.prototype.edit=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage("edit",B+"/ezopen/h5/iframe")},me.prototype.btnReRender=function(le){var ae="EZUIKitPlayer-"+this.opt.id,We=document.getElementById(ae).contentWindow;We.postMessage({action:"btnReRender",data:le},B+"/ezopen/h5/iframe")},me.prototype.changePlayUrl=function(le){le.deviceSerial&&(this.opt.deviceSerial=le.deviceSerial),le.channelNo&&(this.opt.channelNo=le.channelNo),le.accessToken&&(this.opt.accessToken=le.accessToken);var ae="EZUIKitPlayer-"+this.opt.id,We=document.getElementById(ae).contentWindow;We.postMessage({action:"changePlayUrl",data:le},B+"/ezopen/h5/iframe")},me.prototype.fetchThemeData=function(){var le="EZUIKitPlayer-"+this.opt.id,ae=document.getElementById(le).contentWindow;ae.postMessage({action:"fetchThemeData"},B+"/ezopen/h5/iframe")},me.prototype.setThemeData=function(le,ae,We){var Pe="EZUIKitPlayer-"+this.opt.id,_e=document.getElementById(Pe).contentWindow;_e.postMessage({action:"setThemeData",data:{accessToken:le,header:ae,footer:We}},B+"/ezopen/h5/iframe")},O.EZUIKitPlayer=me,Q.EZUIKitV3=O;var fe=O;return fe});var R1=EZUIKitV3,P3=function(U){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},P=void 0,N=void 0,O=void 0,B=[];return function(){var fe=e1(w),le=new Date().getTime(),ae=!P||le-P>fe;P=le;for(var We=arguments.length,Pe=Array(We),_e=0;_e<We;_e++)Pe[_e]=arguments[_e];if(ae&&T.leading)return T.accumulate?Promise.resolve(U.call(this,[Pe])).then(function(n2){return n2[0]}):Promise.resolve(U.call.apply(U,[this].concat(Pe)));if(N?clearTimeout(O):N=L1(),B.push(Pe),O=setTimeout(de.bind(this),fe),T.accumulate){var Se=B.length-1;return N.promise.then(function(n2){return n2[Se]})}return N.promise};function de(){var me=N;clearTimeout(O),Promise.resolve(T.accumulate?U.call(this,B):U.apply(this,B[B.length-1])).then(me.resolve,me.reject),B=[],N=null}};function e1(Q){return typeof Q=="function"?Q():Q}function L1(){var Q={};return Q.promise=new Promise(function(U,w){Q.resolve=U,Q.reject=w}),Q}(function(){var Q;function U(Xe){var E2=0;return function(){return E2<Xe.length?{done:!1,value:Xe[E2++]}:{done:!0}}}var w=typeof Object.defineProperties=="function"?Object.defineProperty:function(Xe,E2,G2){return Xe==Array.prototype||Xe==Object.prototype||(Xe[E2]=G2.value),Xe};function T(Xe){Xe=[typeof globalThis=="object"&&globalThis,Xe,typeof window=="object"&&window,typeof self=="object"&&self,typeof I=="object"&&I];for(var E2=0;E2<Xe.length;++E2){var G2=Xe[E2];if(G2&&G2.Math==Math)return G2}throw Error("Cannot find global object")}var P=T(this);function N(Xe,E2){if(E2)e:{var G2=P;Xe=Xe.split(".");for(var pt=0;pt<Xe.length-1;pt++){var It=Xe[pt];if(!(It in G2))break e;G2=G2[It]}Xe=Xe[Xe.length-1],pt=G2[Xe],E2=E2(pt),E2!=pt&&E2!=null&&w(G2,Xe,{configurable:!0,writable:!0,value:E2})}}N("Symbol",function(Xe){function E2(m3){if(this instanceof E2)throw new TypeError("Symbol is not a constructor");return new G2(pt+(m3||"")+"_"+It++,m3)}function G2(m3,o3){this.A=m3,w(this,"description",{configurable:!0,writable:!0,value:o3})}if(Xe)return Xe;G2.prototype.toString=function(){return this.A};var pt="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",It=0;return E2}),N("Symbol.iterator",function(Xe){if(Xe)return Xe;Xe=Symbol("Symbol.iterator");for(var E2="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),G2=0;G2<E2.length;G2++){var pt=P[E2[G2]];typeof pt=="function"&&typeof pt.prototype[Xe]!="function"&&w(pt.prototype,Xe,{configurable:!0,writable:!0,value:function(){return O(U(this))}})}return Xe});function O(Xe){return Xe={next:Xe},Xe[Symbol.iterator]=function(){return this},Xe}function B(Xe){var E2=typeof Symbol!="undefined"&&Symbol.iterator&&Xe[Symbol.iterator];return E2?E2.call(Xe):{next:U(Xe)}}var de;if(typeof Object.setPrototypeOf=="function")de=Object.setPrototypeOf;else{var me;e:{var fe={a:!0},le={};try{le.__proto__=fe,me=le.a;break e}catch(Xe){}me=!1}de=me?function(Xe,E2){if(Xe.__proto__=E2,Xe.__proto__!==E2)throw new TypeError(Xe+" is not extensible");return Xe}:null}var ae=de;function We(){this.m=!1,this.j=null,this.v=void 0,this.h=1,this.u=this.C=0,this.l=null}function Pe(Xe){if(Xe.m)throw new TypeError("Generator is already running");Xe.m=!0}We.prototype.o=function(Xe){this.v=Xe},We.prototype.s=function(Xe){this.l={D:Xe,F:!0},this.h=this.C||this.u},We.prototype.return=function(Xe){this.l={return:Xe},this.h=this.u};function _e(Xe,E2){return Xe.h=3,{value:E2}}function Se(Xe){this.g=new We,this.G=Xe}Se.prototype.o=function(Xe){return Pe(this.g),this.g.j?pe(this,this.g.j.next,Xe,this.g.o):(this.g.o(Xe),F(this))};function n2(Xe,E2){Pe(Xe.g);var G2=Xe.g.j;return G2?pe(Xe,"return"in G2?G2.return:function(pt){return{value:pt,done:!0}},E2,Xe.g.return):(Xe.g.return(E2),F(Xe))}Se.prototype.s=function(Xe){return Pe(this.g),this.g.j?pe(this,this.g.j.throw,Xe,this.g.o):(this.g.s(Xe),F(this))};function pe(Xe,E2,G2,pt){try{var It=E2.call(Xe.g.j,G2);if(!(It instanceof Object))throw new TypeError("Iterator result "+It+" is not an object");if(!It.done)return Xe.g.m=!1,It;var m3=It.value}catch(o3){return Xe.g.j=null,Xe.g.s(o3),F(Xe)}return Xe.g.j=null,pt.call(Xe.g,m3),F(Xe)}function F(Xe){for(;Xe.g.h;)try{var E2=Xe.G(Xe.g);if(E2)return Xe.g.m=!1,{value:E2.value,done:!1}}catch(G2){Xe.g.v=void 0,Xe.g.s(G2)}if(Xe.g.m=!1,Xe.g.l){if(E2=Xe.g.l,Xe.g.l=null,E2.F)throw E2.D;return{value:E2.return,done:!0}}return{value:void 0,done:!0}}function te(Xe){this.next=function(E2){return Xe.o(E2)},this.throw=function(E2){return Xe.s(E2)},this.return=function(E2){return n2(Xe,E2)},this[Symbol.iterator]=function(){return this}}function oe(Xe,E2){return E2=new te(new Se(E2)),ae&&Xe.prototype&&ae(E2,Xe.prototype),E2}function ze(Xe,E2){Xe instanceof String&&(Xe+="");var G2=0,pt=!1,It={next:function(){if(!pt&&G2<Xe.length){var m3=G2++;return{value:E2(m3,Xe[m3]),done:!1}}return pt=!0,{done:!0,value:void 0}}};return It[Symbol.iterator]=function(){return It},It}if(N("Array.prototype.entries",function(Xe){return Xe||function(){return ze(this,function(E2,G2){return[E2,G2]})}}),typeof Blob!="undefined"&&(typeof FormData=="undefined"||!FormData.prototype.keys)){var Ye=function(Xe,E2){for(var G2=0;G2<Xe.length;G2++)E2(Xe[G2])},u2=function(Xe){return Xe.replace(/\r?\n|\r/g,`\r |
|
|
`)},f2=function(Xe,E2,G2){return E2 instanceof Blob?(G2=G2!==void 0?G2+"":typeof E2.name=="string"?E2.name:"blob",(E2.name!==G2||Object.prototype.toString.call(E2)==="[object Blob]")&&(E2=new File([E2],G2)),[String(Xe),E2]):[String(Xe),String(E2)]},C2=function(Xe,E2){if(Xe.length<E2)throw new TypeError(E2+" argument required, but only "+Xe.length+" present.")},F2=typeof globalThis=="object"?globalThis:typeof window=="object"?window:typeof self=="object"?self:this,W2=F2.FormData,N2=F2.XMLHttpRequest&&F2.XMLHttpRequest.prototype.send,Lt=F2.Request&&F2.fetch,Ot=F2.navigator&&F2.navigator.sendBeacon,Bt=F2.Element&&F2.Element.prototype,Kt=F2.Symbol&&Symbol.toStringTag;Kt&&(Blob.prototype[Kt]||(Blob.prototype[Kt]="Blob"),"File"in F2&&!File.prototype[Kt]&&(File.prototype[Kt]="File"));try{new File([],"")}catch(Xe){F2.File=function(E2,G2,pt){return E2=new Blob(E2,pt||{}),Object.defineProperties(E2,{name:{value:G2},lastModified:{value:+(pt&&pt.lastModified!==void 0?new Date(pt.lastModified):new Date)},toString:{value:function(){return"[object File]"}}}),Kt&&Object.defineProperty(E2,Kt,{value:"File"}),E2}}var Zt=function(Xe){return Xe.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22")},c3=function(Xe){this.i=[];var E2=this;Xe&&Ye(Xe.elements,function(G2){if(G2.name&&!G2.disabled&&G2.type!=="submit"&&G2.type!=="button"&&!G2.matches("form fieldset[disabled] *"))if(G2.type==="file"){var pt=G2.files&&G2.files.length?G2.files:[new File([],"",{type:"application/octet-stream"})];Ye(pt,function(It){E2.append(G2.name,It)})}else G2.type==="select-multiple"||G2.type==="select-one"?Ye(G2.options,function(It){!It.disabled&&It.selected&&E2.append(G2.name,It.value)}):G2.type==="checkbox"||G2.type==="radio"?G2.checked&&E2.append(G2.name,G2.value):(pt=G2.type==="textarea"?u2(G2.value):G2.value,E2.append(G2.name,pt))})};if(Q=c3.prototype,Q.append=function(Xe,E2,G2){C2(arguments,2),this.i.push(f2(Xe,E2,G2))},Q.delete=function(Xe){C2(arguments,1);var E2=[];Xe=String(Xe),Ye(this.i,function(G2){G2[0]!==Xe&&E2.push(G2)}),this.i=E2},Q.entries=function Xe(){var E2,G2=this;return oe(Xe,function(pt){if(pt.h==1&&(E2=0),pt.h!=3)return E2<G2.i.length?pt=_e(pt,G2.i[E2]):(pt.h=0,pt=void 0),pt;E2++,pt.h=2})},Q.forEach=function(Xe,E2){C2(arguments,1);for(var G2=B(this),pt=G2.next();!pt.done;pt=G2.next()){var It=B(pt.value);pt=It.next().value,It=It.next().value,Xe.call(E2,It,pt,this)}},Q.get=function(Xe){C2(arguments,1);var E2=this.i;Xe=String(Xe);for(var G2=0;G2<E2.length;G2++)if(E2[G2][0]===Xe)return E2[G2][1];return null},Q.getAll=function(Xe){C2(arguments,1);var E2=[];return Xe=String(Xe),Ye(this.i,function(G2){G2[0]===Xe&&E2.push(G2[1])}),E2},Q.has=function(Xe){C2(arguments,1),Xe=String(Xe);for(var E2=0;E2<this.i.length;E2++)if(this.i[E2][0]===Xe)return!0;return!1},Q.keys=function Xe(){var E2=this,G2,pt,It,m3,o3;return oe(Xe,function(n3){if(n3.h==1&&(G2=B(E2),pt=G2.next()),n3.h!=3){if(pt.done){n3.h=0;return}return It=pt.value,m3=B(It),o3=m3.next().value,_e(n3,o3)}pt=G2.next(),n3.h=2})},Q.set=function(Xe,E2,G2){C2(arguments,2),Xe=String(Xe);var pt=[],It=f2(Xe,E2,G2),m3=!0;Ye(this.i,function(o3){o3[0]===Xe?m3&&(m3=!pt.push(It)):pt.push(o3)}),m3&&pt.push(It),this.i=pt},Q.values=function Xe(){var E2=this,G2,pt,It,m3,o3;return oe(Xe,function(n3){if(n3.h==1&&(G2=B(E2),pt=G2.next()),n3.h!=3){if(pt.done){n3.h=0;return}return It=pt.value,m3=B(It),m3.next(),o3=m3.next().value,_e(n3,o3)}pt=G2.next(),n3.h=2})},c3.prototype._asNative=function(){for(var Xe=new W2,E2=B(this),G2=E2.next();!G2.done;G2=E2.next()){var pt=B(G2.value);G2=pt.next().value,pt=pt.next().value,Xe.append(G2,pt)}return Xe},c3.prototype._blob=function(){var Xe="----formdata-polyfill-"+Math.random(),E2=[],G2="--"+Xe+`\r |
|
|
Content-Disposition: form-data; name="`;return this.forEach(function(pt,It){return typeof pt=="string"?E2.push(G2+Zt(u2(It))+(`"\r |
|
|
\r |
|
|
`+u2(pt)+`\r |
|
|
`)):E2.push(G2+Zt(u2(It))+('"; filename="'+Zt(pt.name)+`"\r |
|
|
Content-Type: `+(pt.type||"application/octet-stream")+`\r |
|
|
\r |
|
|
`),pt,`\r |
|
|
`)}),E2.push("--"+Xe+"--"),new Blob(E2,{type:"multipart/form-data; boundary="+Xe})},c3.prototype[Symbol.iterator]=function(){return this.entries()},c3.prototype.toString=function(){return"[object FormData]"},Bt&&!Bt.matches&&(Bt.matches=Bt.matchesSelector||Bt.mozMatchesSelector||Bt.msMatchesSelector||Bt.oMatchesSelector||Bt.webkitMatchesSelector||function(Xe){Xe=(this.document||this.ownerDocument).querySelectorAll(Xe);for(var E2=Xe.length;0<=--E2&&Xe.item(E2)!==this;);return-1<E2}),Kt&&(c3.prototype[Kt]="FormData"),N2){var X3=F2.XMLHttpRequest.prototype.setRequestHeader;F2.XMLHttpRequest.prototype.setRequestHeader=function(Xe,E2){X3.call(this,Xe,E2),Xe.toLowerCase()==="content-type"&&(this.B=!0)},F2.XMLHttpRequest.prototype.send=function(Xe){Xe instanceof c3?(Xe=Xe._blob(),this.B||this.setRequestHeader("Content-Type",Xe.type),N2.call(this,Xe)):N2.call(this,Xe)}}Lt&&(F2.fetch=function(Xe,E2){return E2&&E2.body&&E2.body instanceof c3&&(E2.body=E2.body._blob()),Lt.call(this,Xe,E2)}),Ot&&(F2.navigator.sendBeacon=function(Xe,E2){return E2 instanceof c3&&(E2=E2._asNative()),Ot.call(this,Xe,E2)}),F2.FormData=c3}})();var Cn=function(){function Q(U,w){for(var T=0;T<w.length;T++){var P=w[T];P.enumerable=P.enumerable||!1,P.configurable=!0,"value"in P&&(P.writable=!0),Object.defineProperty(U,P.key,P)}}return function(U,w,T){return w&&Q(U.prototype,w),T&&Q(U,T),U}}();function M2(Q,U){if(!(Q instanceof U))throw new TypeError("Cannot call a class as a function")}var at=function(){var Q=void 0;return function(U){return U&&(Q=U),Q}}();(function(){function Q(){if(M2(this,Q),at())return at();if(Q.unique!==void 0)return Q.unique;Q.unique=this,this.oAudioContext=null,this.currentVolume=80,this.bSetVolume=!1,this.gainNode=null,this.iWndNum=-1,this.mVolumes=new Map;var U=window.AudioContext||window.webkitAudioContext;this.oAudioContext=new U,this.writeString=function(w,T,P){for(var N=0;N<P.length;N++)w.setUint8(T+N,P.charCodeAt(N))},this.setBufferToDataview=function(w,T,P){for(var N=0;N<P.length;N++,T++)w.setUint8(T,P[N])},at(this)}return Cn(Q,[{key:"Play",value:function(w,T,P){var N=new ArrayBuffer(44+T),O=new DataView(N),B=P.samplesPerSec,de=P.channels,me=P.bitsPerSample;this.writeString(O,0,"RIFF"),O.setUint32(4,32+T*2,!0),this.writeString(O,8,"WAVE"),this.writeString(O,12,"fmt "),O.setUint32(16,16,!0),O.setUint16(20,1,!0),O.setUint16(22,de,!0),O.setUint32(24,B,!0),O.setUint32(28,B*2,!0),O.setUint16(32,de*me/8,!0),O.setUint16(34,me,!0),this.writeString(O,36,"data"),O.setUint32(40,T,!0),this.setBufferToDataview(O,44,w);var fe=this;return this.oAudioContext.decodeAudioData(O.buffer,function(le){var ae=fe.oAudioContext.createBufferSource();if(ae==null)return-1;ae.buffer=le,ae.start(0),(fe.gainNode==null||fe.bSetVolume)&&(fe.gainNode=fe.oAudioContext.createGain(),fe.bSetVolume=!1),fe.gainNode.gain.value=fe.currentVolume/100,fe.gainNode.connect(fe.oAudioContext.destination),ae.connect(fe.gainNode)},function(le){return console.log("decode error"),-1}),0}},{key:"Stop",value:function(){return this.gainNode!=null&&(this.gainNode.disconnect(),this.gainNode=null),!0}},{key:"SetVolume",value:function(w){return this.bSetVolume=!0,this.currentVolume=w,this.mVolumes.set(this.iWndNum,this.currentVolume),!0}},{key:"SetWndNum",value:function(w){this.iWndNum=w;var T=this.mVolumes.get(w);return T==null&&(T=80),this.currentVolume=T,!0}},{key:"GetVolume",value:function(){var w=this.mVolumes.get(this.iWndNum);return w==null&&(w=80),w}}]),window.AudioRenderer=Q,Q})();var mt=["attribute vec4 vertexPos;","attribute vec2 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos;","}"].join(` |
|
|
`),u3=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join(` |
|
|
`);(function(Q,U){window.SuperRender=U()})(void 0,function(){function Q(U){this.canvasElement=document.getElementById(U),this.initContextGL(),this.contextGL&&(this.YUVProgram=this.initProgram(mt,u3),this.initBuffers(),this.initTextures())}return Q.prototype.initContextGL=function(){var U=this.canvasElement,w=null;try{w=U.getContext("webgl")||U.getContext("experimental-webgl")}catch(T){w=null}(!w||typeof w.getParameter!="function")&&(w=null),this.contextGL=w,console.log("WebGL1.0")},Q.prototype.initProgram=function(U,w){var T=this.contextGL,P=T.createShader(T.VERTEX_SHADER);T.shaderSource(P,U),T.compileShader(P),T.getShaderParameter(P,T.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+T.getShaderInfoLog(P));var N=T.createShader(T.FRAGMENT_SHADER);T.shaderSource(N,w),T.compileShader(N),T.getShaderParameter(N,T.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+T.getShaderInfoLog(N));var O=T.createProgram();return T.attachShader(O,P),T.attachShader(O,N),T.linkProgram(O),T.getProgramParameter(O,T.LINK_STATUS)||console.log("Program failed to compile: "+T.getProgramInfoLog(O)),T.deleteShader(P),T.deleteShader(N),O},Q.prototype.initBuffers=function(){var U=this.contextGL,w=U.createBuffer();U.bindBuffer(U.ARRAY_BUFFER,w),U.bufferData(U.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),U.STATIC_DRAW),U.bindBuffer(U.ARRAY_BUFFER,null);var T=U.createBuffer();U.bindBuffer(U.ARRAY_BUFFER,T),U.bufferData(U.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),U.DYNAMIC_DRAW),U.bindBuffer(U.ARRAY_BUFFER,null),this.vertexPosBuffer=w,this.texturePosBuffer=T},Q.prototype.initTexture=function(){var U=this.contextGL,w=U.createTexture();return U.bindTexture(U.TEXTURE_2D,w),U.texParameteri(U.TEXTURE_2D,U.TEXTURE_MAG_FILTER,U.LINEAR),U.texParameteri(U.TEXTURE_2D,U.TEXTURE_MIN_FILTER,U.LINEAR),U.texParameteri(U.TEXTURE_2D,U.TEXTURE_WRAP_S,U.CLAMP_TO_EDGE),U.texParameteri(U.TEXTURE_2D,U.TEXTURE_WRAP_T,U.CLAMP_TO_EDGE),U.bindTexture(U.TEXTURE_2D,null),w},Q.prototype.initTextures=function(){var U=this.contextGL,w=this.YUVProgram;U.useProgram(w);var T=this.initTexture(),P=U.getUniformLocation(w,"ySampler");U.uniform1i(P,0),this.yTextureRef=T;var N=this.initTexture(),O=U.getUniformLocation(w,"uSampler");U.uniform1i(O,1),this.uTextureRef=N;var B=this.initTexture(),de=U.getUniformLocation(w,"vSampler");U.uniform1i(de,2),this.vTextureRef=B,U.useProgram(null)},Q.prototype.SR_DisplayFrameData=function(U,w,T,P,N){if(!(U<=0||w<=0)){var O=this.contextGL;if(T==null){O.clearColor(0,0,0,0),O.clear(O.COLOR_BUFFER_BIT|O.DEPTH_BUFFER_BIT);return}var B=this.canvasElement;this.nWindowWidth=B.width,this.nWindowHeight=B.height;var de=this.nWindowWidth,me=this.nWindowHeight;O.clearColor(.8,.8,1,1),O.clear(O.COLOR_BUFFER_BIT|O.DEPTH_BUFFER_BIT),O.viewport(0,0,de,me),this.updateFrameData(U,w,T,P,N);var fe=this.YUVProgram;O.useProgram(fe);var le=this.vertexPosBuffer;O.bindBuffer(O.ARRAY_BUFFER,le);var ae=O.getAttribLocation(fe,"vertexPos");O.enableVertexAttribArray(ae),O.vertexAttribPointer(ae,2,O.FLOAT,!1,0,0),O.bindBuffer(O.ARRAY_BUFFER,null);var We=this.texturePosBuffer;O.bindBuffer(O.ARRAY_BUFFER,We);var Pe=O.getAttribLocation(fe,"texturePos");O.enableVertexAttribArray(Pe),O.vertexAttribPointer(Pe,2,O.FLOAT,!1,0,0),O.bindBuffer(O.ARRAY_BUFFER,null),O.drawArrays(O.TRIANGLE_STRIP,0,4),O.disableVertexAttribArray(ae),O.disableVertexAttribArray(Pe),O.useProgram(null)}},Q.prototype.updateFrameData=function(U,w,T,P,N){var O=this.contextGL,B=this.yTextureRef,de=this.uTextureRef,me=this.vTextureRef,fe=T;if(U==P&&w==N){var le=U*w,ae=fe.subarray(0,le);O.activeTexture(O.TEXTURE0),O.bindTexture(O.TEXTURE_2D,B),O.texImage2D(O.TEXTURE_2D,0,O.LUMINANCE,U,w,0,O.LUMINANCE,O.UNSIGNED_BYTE,ae);var We=U/2*w/2,Pe=fe.subarray(U*w,U*w+We);O.activeTexture(O.TEXTURE2),O.bindTexture(O.TEXTURE_2D,me),O.texImage2D(O.TEXTURE_2D,0,O.LUMINANCE,U/2,w/2,0,O.LUMINANCE,O.UNSIGNED_BYTE,Pe);var _e=We,Se=fe.subarray(U*w+U*w/4,U*w+U*w/4+_e);O.activeTexture(O.TEXTURE1),O.bindTexture(O.TEXTURE_2D,de),O.texImage2D(O.TEXTURE_2D,0,O.LUMINANCE,U/2,w/2,0,O.LUMINANCE,O.UNSIGNED_BYTE,Se)}else{for(var le=P*N,ae=new Uint8Array(le),n2=0;n2<N;n2++)for(var pe=fe.subarray(n2*U,n2*U+P),F=0;F<P;F++)ae[n2*P+F]=pe[F];O.activeTexture(O.TEXTURE0),O.bindTexture(O.TEXTURE_2D,B),O.texImage2D(O.TEXTURE_2D,0,O.LUMINANCE,P,N,0,O.LUMINANCE,O.UNSIGNED_BYTE,ae),ae=null,pe=null;for(var We=P/2*N/2,Pe=new Uint8Array(We),n2=0;n2<N/2;n2++)for(var te=fe.subarray(U*w+n2*U/2,U*w+n2*U/2+P/2),F=0;F<P/2;F++)Pe[n2*P/2+F]=te[F];O.activeTexture(O.TEXTURE2),O.bindTexture(O.TEXTURE_2D,me),O.texImage2D(O.TEXTURE_2D,0,O.LUMINANCE,P/2,N/2,0,O.LUMINANCE,O.UNSIGNED_BYTE,Pe),Pe=null,te=null;for(var _e=We,Se=new Uint8Array(_e),n2=0;n2<N/2;n2++)for(var oe=fe.subarray(U*w*5/4+n2*U/2,U*w*5/4+n2*U/2+P/2),F=0;F<P/2;F++)Se[n2*P/2+F]=oe[F];O.activeTexture(O.TEXTURE1),O.bindTexture(O.TEXTURE_2D,de),O.texImage2D(O.TEXTURE_2D,0,O.LUMINANCE,P/2,N/2,0,O.LUMINANCE,O.UNSIGNED_BYTE,Se),Se=null,oe=null}},Q.prototype.SR_SetDisplayRect=function(U){var w=this.contextGL,T=this.nWindowWidth,P=this.nWindowHeight,N=null;if(U&&T>0&&P>0){var O=U.left/T,B=U.top/P,de=U.right/T,me=U.bottom/P;N=new Float32Array([de,B,O,B,de,me,O,me])}else N=new Float32Array([1,0,0,0,1,1,0,1]);var fe=this.texturePosBuffer;w.bindBuffer(w.ARRAY_BUFFER,fe),w.bufferSubData(w.ARRAY_BUFFER,0,N),w.bindBuffer(w.ARRAY_BUFFER,null)},Q.prototype.SR_Destroy=function(){var U=this.contextGL,w=this.YUVProgram;U.deleteProgram(w);var T=this.vertexPosBuffer,P=this.texturePosBuffer;U.deleteBuffer(T),U.deleteBuffer(P);var N=this.yTextureRef,O=this.uTextureRef,B=this.vTextureRef;U.deleteTexture(N),U.deleteTexture(O),U.deleteTexture(B)},Q});var x1="https://open.ys7.com",Fe="".concat(x1,"/console/ezuikit_static/v66/v2"),Z="".concat(x1,"/console/ezuikit_static/v66/v1"),be=function(U,w){var T=["theme","standard"],P=["pcLive","pcRec","mobileLive","mobileRec","noData","security","voice","simple"];if(typeof U=="undefined")return w.themeData?{templateType:"themeData",templateId:"themeData"}:{templateType:"local",templateId:""};if(typeof U=="string"){if(U.length===32)return{templateType:"remote",templateId:U};if(T.indexOf(U)!==-1)return U==="simple"&&typeof w.header=="undefined"&&typeof w.footer=="undefined"?{templateType:"local",templateId:""}:{templateType:"iframe",templateId:U};if(P.indexOf(U)!==-1)return{templateType:"local",templateId:U}}},Ve=function(){var U=window.navigator.userAgent.toLowerCase(),w={sa:/version.*safari/.test(U),ch:/chrome/.test(U),ff:/gecko/.test(U)&&!/webkit/.test(U)},T=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);if(T)return!1;if(w.ch){var P=function(){for(var O=window.navigator.userAgent.split(" "),B="",de=0;de<O.length;de++)/chrome/i.test(O[de])&&(B=O[de]);return B?Number(B.split("/")[1].split(".")[0]):!1};return P()>91&&!!window.SharedArrayBuffer}return!1},ie=function(){function Q(U){var w=this;i(this,Q),this.isStoping=!1;var T=U.autoplay,P=T===void 0?!0:T;if((U.template||U.themeData)&&(P=!1),this.params=U,this.autoplay=P,window.EZUIKit[U.id]={state:{EZUIKitPlayer:{init:window.EZUIKit[U.id]&&window.EZUIKit[U.id].state&&window.EZUIKit[U.id].state.EZUIKitPlayer.init||!1,themeInit:window.EZUIKit[U.id]&&window.EZUIKit[U.id].state&&window.EZUIKit[U.id].state.EZUIKitPlayer.themeInit||!1,talkInit:window.EZUIKit[U.id]&&window.EZUIKit[U.id].state&&window.EZUIKit[U.id].state.EZUIKitPlayer.talkInit||!1}}},be(this.params.template,U).templateType!=="iframe"){this.Monitor=new a3({env:typeof U.disableMonitor!="undefined"&&U.disableMonitor?"test12":"online"},this),this.id=U.id,this.width=U.width,this.height=U.height,this.url=U.url,this.accessToken=U.accessToken,this.themeId=be(U.template,U).templateId,this.id=U.id,this.audio=!0,this.poster=U.poster,this.speed=1,this.disabledTimeLine=!1,this.disabledPTZ=!1,this.enableSharedArrayBufferGuide=!1,this.capacity={},this.playTimer=null,this.env={domain:"https://open.ys7.com"};var N=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);this.isMobile=N,document.getElementById("".concat(this.id,"-wrap"))&&(document.getElementById("".concat(this.id,"-wrap")).innerHTML="",document.getElementById("".concat(this.id,"-wrap")).id=this.id),this.staticPath=Ve()?Fe:Z,typeof U.staticPath=="string"&&(U.staticPath.startsWith("http")?this.staticPath=U.staticPath:this.staticPath=window.location.protocol+"//"+window.location.host+U.staticPath,Ve()?this.staticPath+="/v2":this.staticPath+="/v1"),typeof U.audio!="undefined"&&(this.audio=U.audio),typeof U.env!="undefined"&&(this.env=Object.assign(this.env,U.env)),typeof U.isMobile!="undefined"&&(this.isMobile=U.isMobile),typeof U.disabledTimeLine!="undefined"&&(this.disabledTimeLine=U.disabledTimeLine),typeof U.disabledPTZ!="undefined"&&(this.disabledPTZ=U.disabledPTZ),typeof U.enableSharedArrayBufferGuide!="undefined"&&(this.enableSharedArrayBufferGuide=U.enableSharedArrayBufferGuide);var O="".concat(this.staticPath,"/js/jsPluginV1-1.0.0.min.js"),B=function(){if(window.addPluginUrlIng=!0,Ve())console.log("启用多线程解析视频"),O="".concat(w.staticPath,"/js/jsPluginV2-2.0.1.min.js");else{var fe=function(){for(var Se=navigator.userAgent.split(" "),n2="",pe=0;pe<Se.length;pe++)/chrome/i.test(Se[pe])&&(n2=Se[pe]);return n2?Number(n2.split("/")[1].split(".")[0]):!1};if(!N&&91<fe&&w.enableSharedArrayBufferGuide){console.log("提示用户开启谷歌实验室特性");var le="".concat(w.id,"-wrap"),ae=document.createElement("div"),We=document.createElement("span");We.innerHTML="您当前浏览器可以开启谷歌实验室多线程特性,获取更好播放体验,避免浏览器卡顿及崩溃,详见",ae.appendChild(We);var Pe=document.createElement("a");Pe.href="https://open.ys7.com/help/384",Pe.setAttribute("target","_blank"),ae.appendChild(Pe),Pe.innerHTML="开启说明",ae.id="".concat(w.id,"-guide"),ae.style="font-size:12px;color:red;",setTimeout(function(){document.getElementById(le)&&document.getElementById(le).insertBefore(ae,document.getElementById(w.id))},5e3)}}w.pluginStatus=new V(w,w.id),l(O,function(){if(w.autoplay){w.initTime=new Date().getTime(),w.Monitor.dclog({url:w.url,action:0,text:"startInit",isVersion2Available:Ve()?1:0}),w.Monitor.localInfoLog({Serial:S(w.url).deviceSerial,Channel:S(w.url).channelNo,Ver:Ve()?"v7.0.0":"v6.0.0",ExterVer:Ve()?"v7.0.0":"v6.0.0"}),console.log("初始化-");var _e=w.initEZUIKitPlayer(U),Se=w._getRealUrlPromise(U.accessToken,U.url);Promise.all([_e,Se]).then(function(n2){n2[1]?(w.playStartTime=new Date().getTime(),w._pluginPlay(n2[1],function(){console.log("自动播放成功"),w.Monitor.dclog({url:w.url,action:202,d:new Date().getTime()-w.initTime,text:"autoPlaySuccess"})},function(){console.log("自动播放失败"),w.Monitor.dclog({url:w.url,action:402,d:new Date().getTime()-w.initTime,text:"autoPlayError"})})):console.log("promise of one",n2),window.EZUIKit[U.id].state.EZUIKitPlayer.init=!0,document.getElementById("".concat(U.id,"canvas_draw0"))&&(document.getElementById("".concat(U.id,"canvas_draw0")).style.border="none")}).catch(function(n2){console.log("err",n2),w.Theme&&w.Theme.setDisabled(!0),w.pluginStatus.loadingClear(),w.pluginStatus.loadingSetText({text:n2&&n2.msg||"获取播放地址失败",color:"red"})})}else{w.initTime=new Date().getTime(),w.Monitor.dclog({url:w.url,action:0,text:"startInit",isVersion2Available:Ve()?1:0}),w.Monitor.localInfoLog({Serial:S(w.url).deviceSerial,Channel:S(w.url).channelNo,Ver:Ve()?"v7.0.0":"v6.0.0"});var _e=w.initEZUIKitPlayer(U);_e.then(function(pe){console.log("初始化成功",pe),window.EZUIKit[U.id].state.EZUIKitPlayer.init=!0,document.getElementById("".concat(U.id,"canvas_draw0"))&&(document.getElementById("".concat(U.id,"canvas_draw0")).style.border="none"),w.initSuccessTime=new Date().getTime(),w.Monitor.dclog({url:w.url,action:201,d:w.initSuccessTime-w.initTime,text:"initSuccess",isVersion2Available:Ve()?1:0})})}},function(){return Ve()?!!window.JSPluginV2||!!window.addPluginUrled:!!window.JSPluginV1||!!window.addPluginUrled}),U.plugin&&U.plugin.indexOf("talk")!==-1&&(w.Talk=new ke(w),window.EZUIKit[U.id].state.EZUIKitPlayer.talkInit=!0),w.getDeviceCapacity()};if(window.addPluginUrlIng)var de=setInterval(function(){(window.JSPluginV1||window.JSPluginV2)&&(clearInterval(de),B())},50);else B()}else return new R1.EZUIKitPlayer(U);this.play=P3(function(me){return w._play(me)},500,!0),this.resume=P3(function(me){return w._resume(me)},500,!0),this.changePlayUrl=P3(function(me,fe){return w._changePlayUrl(me,fe)},500),window.addEventListener("beforeunload",function(){console.log("退出页面,停止视频流"),w.stop()})}return a(Q,[{key:"initEZUIKitPlayer",value:function(w){var T=this,P=w.id,N=w.width,O=N===void 0?600:N,B=w.height,de=B===void 0?400:B;if(!w.width||!w.height){var me=document.getElementById(P).getBoundingClientRect();!w.width&&me.width>0&&(O=me.width),!w.height&&me.height>0&&(de=me.height)}if(!document.getElementById("".concat(P,"-wrap"))){var fe=document.createElement("div");fe.id="".concat(P,"-wrap"),fe.style="display:inline-block;width:".concat(O,"px;position:relative;vertical-align: bottom;"),document.getElementById(P).parentNode.insertBefore(fe,document.getElementById(P)),document.getElementById(P).parentNode.removeChild(document.getElementById(P)),fe.innerHTML="<div id=".concat(P,"></div>"),document.getElementById(P).style="display:inline-block;width:".concat(O,"px;height:").concat(de,"px;"),document.getElementById(P).style.verticalAlign="top"}this.themeId&&(this.Theme=new p3(this,w.id),window.EZUIKit[w.id].state.EZUIKitPlayer.themeInit=!0,this.Monitor.dclog({url:this.url,action:2,text:this.themeId}),typeof this.params.handleThemeChange=="function"&&(this.handleThemeChange=this.params.handleThemeChange));var le=new Y(this,P);this.Message=le;var ae=function(_e,Se){var n2;if(Ve()){n2=new window.JSPluginV2({szId:P,iType:2,iWidth:O,iHeight:de,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:T.staticPath,oStyle:{border:"none",background:"#000000"}}),T.pluginStatus.loadingStart(P),T.pluginStatus.loadingSetText({text:"初始化播放器完成"}),n2.EventCallback={pluginErrorHandler:function(te,oe,ze){if(console.log(te,oe,ze),oe===1003)console.log("断流"),T.Theme.setDecoderState({play:!1}),T.pluginStatus.setPlayStatus({play:!1}),n2.bPlay||(T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof T.params.handleError=="function"&&T.params.handleError({msg:"连接断开,请重试",retcode:1003,id:T.params.id,type:"handleError"});else if(ze.errorCode!=1){var Ye=T.errorHander.matchErrorInfo(ze.errorCode),u2="连接断开,请重试";Ye&&Ye.msg?u2=Ye.msg:Ye&&Ye.description&&(u2=Ye.description),T.Theme.setDecoderState({play:!1}),T.pluginStatus.setPlayStatus({play:!1}),T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:u2,color:"red"})}else T.pluginStatus.loadingClear(),T.Theme&&T.Theme.setDisabled(!1)},openStreamCallback:function(){console.log("开启取流"),T.openStreamTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:224,d:T.openStreamTime-T.gotWsUrlTime,text:"openStream",isVersion2Available:Ve()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),T.getStreamHeaderTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:225,d:T.getStreamHeaderTime-T.openStreamTime,text:"getStreamHeader",isVersion2Available:Ve()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),T.getVideoStreamTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:226,d:T.getVideoStreamTime-T.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:Ve()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),T.appearFirstFrameTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:227,d:T.appearFirstFrameTime-T.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:Ve()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),T.averageStreamSuccessTime=T.initSuccessTime-T.initTime+(T.gotWsUrlTime-T.startGetWsUrlTime)+(T.appearFirstFrameTime-T.openStreamTime),T.Monitor.dclog({url:T.url,action:228,d:T.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:Ve()?1:0})}},T.env={domain:"https://open.ys7.com"},typeof w.env!="undefined"&&(T.env=Object.assign(T.env,w.env)),typeof w.handleTalkSuccess!="undefined"&&(T.handleTalkSuccess=w.handleTalkSuccess),typeof w.handleTalkError!="undefined"&&(T.handleTalkError=w.handleTalkError),T.errorHander=new J,T.jSPlugin=n2;var pe=setInterval(function(){window.JSPlayerModuleLoaded&&(clearInterval(pe),typeof T.params.handleInitSuccess=="function"&&T.params.handleInitSuccess({retcode:0,id:T.params.id,type:"handleInitSuccess"}),_e({meta:{retcode:200,msg:"初始化成功"}}),w.url.indexOf("rec")!=-1&&T.Theme.changeTheme(T.isMobile?"mobileRec":"pcRec"))},50)}else n2=new window.JSPluginV1({szId:P,iType:2,iWidth:O,iHeight:de,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:T.staticPath,oStyle:{border:"none",background:"#000000"}}),T.pluginStatus.loadingStart(P),T.pluginStatus.loadingSetText({text:"初始化播放器完成"}),n2.EventCallback={openStreamCallback:function(){console.log("开启取流---v1"),T.openStreamTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:224,d:T.openStreamTime-T.gotWsUrlTime,text:"openStream",isVersion2Available:Ve()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),T.getStreamHeaderTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:225,d:T.getStreamHeaderTime-T.openStreamTime,text:"getStreamHeader",isVersion2Available:Ve()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),T.getVideoStreamTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:226,d:T.getVideoStreamTime-T.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:Ve()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),T.appearFirstFrameTime=new Date().getTime(),T.Monitor.dclog({url:T.url,action:227,d:T.appearFirstFrameTime-T.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:Ve()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),T.averageStreamSuccessTime=T.initSuccessTime-T.initTime+(T.gotWsUrlTime-T.startGetWsUrlTime)+(T.appearFirstFrameTime-T.openStreamTime),T.Monitor.dclog({url:T.url,action:228,d:T.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:Ve()?1:0})},loadEventHandler:function(){},zoomEventResponse:function(){},windowEventSelect:function(te){},pluginErrorHandler:function(te,oe,ze){if(console.log(te,oe,ze),oe===1003)console.log("断流"),T.Theme.setDecoderState({play:!1}),T.pluginStatus.setPlayStatus({play:!1}),n2.bPlay||(T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof T.params.handleError=="function"&&T.params.handleError({msg:"连接断开,请重试",retcode:1003,id:T.params.id,type:"handleError"});else if(ze.errorCode!=1){var Ye=T.errorHander.matchErrorInfo(ze.errorCode),u2="连接断开,请重试";Ye&&Ye.msg?u2=Ye.msg:Ye&&Ye.description&&(u2=Ye.description),T.Theme.setDecoderState({play:!1}),T.pluginStatus.setPlayStatus({play:!1}),T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:u2,color:"red"})}else T.pluginStatus.loadingClear(),T.Theme&&T.Theme.setDisabled(!1)},windowEventOver:function(te){},windowEventOut:function(te){},windowEventUp:function(te){},windowFullCcreenChange:function(te){},firstFrameDisplay:function(te,oe,ze){console.log(oe,ze),n2.JS_SetCanFullScreen(!1)},performanceLack:function(){},mouseEvent:function(te,oe,ze){}},T.env={domain:"https://open.ys7.com"},typeof w.env!="undefined"&&(T.env=Object.assign(T.env,w.env)),typeof w.handleTalkSuccess!="undefined"&&(T.handleTalkSuccess=w.handleTalkSuccess),typeof w.handleTalkError!="undefined"&&(T.handleTalkError=w.handleTalkError),T.errorHander=new J,T.jSPlugin=n2,typeof T.params.handleInitSuccess=="function"&&T.params.handleInitSuccess({retcode:0,id:T.params.id,type:"handleInitSuccess"}),_e({meta:{retcode:200,msg:"初始化成功"}}),w.url.indexOf("rec")!=-1&&T.Theme.changeTheme(T.isMobile?"mobileRec":"pcRec")},We=new Promise(ae);return We}},{key:"_getRealUrlPromise",value:function(w,T){var P=this;console.log("获取播放地址 url => ".concat(T," ").concat(this.accessToken)),console.log("开始获取wsurl"),this.startGetWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:222,text:"startGetWsUrl",isVersion2Available:Ve()?1:0});var N=this.env.domain;this.env&&(N=this.env.domain);var O=function(fe,le){var ae="",We=N+"/api/lapp/live/url/ezopen",Pe=new FormData;Pe.append("ezopen",T),Pe.append("isFlv",!1),Pe.append("userAgent",window.navigator.userAgent),Pe.append("isHttp",!1),Pe.append("accessToken",w),fetch(We,{method:"POST",body:Pe}).then(function(_e){return _e.json()}).then(function(_e){if(_e.code==200||_e.retcode==0){var Se="",n2="";_e.ext&&_e.ext.token?(ae+=_e.data,n2=_e.ext.token,Se=_e.data):_e.data&&_e.data.token&&(ae+=_e.data.url,n2=_e.data.token,Se=_e.data.url);var pe=T.indexOf("live")!==-1?"live":"playback";pe==="live"?ae=ae+"&ssn="+n2+"&auth=1&biz=4&cln=100":ae=ae+"&ssn="+n2+"&auth=1&cln=100",console.log(ae);var F=d("checkCode",ae);if(F&&(typeof P.jSPlugin.decoderVersion!="undefined"&&P.jSPlugin.decoderVersion==="2.0"?P.validateCode=F:(console.log("设置密钥",F),P.jSPlugin.JS_SetSecretKey(0,F))),ae.indexOf("playback")!==-1){var te=d("begin",Se)||d("begin",T),oe=d("end",Se)||d("end",T);if(te)ae=ae.replace("&begin="+d("begin",Se),"&begin="+B(te,"000000")),d("begin",ae)||(ae+="&begin="+B(te,"000000"));else{var ze=new Date;ae=ae+"&begin="+ze.Format("yyyyMMdd")+"T000000Z"}if(oe?(ae=ae.replace("&end="+d("end",Se),"&end="+B(oe,"235959")),d("end",ae)||(ae+="&end="+B(oe,"235959"))):ae=ae+"&end="+B(d("begin",ae).substr(0,8),"235959"),d("stream",Se)||(ae=ae.replace("stream","&stream")),T.indexOf(".cloud")!==-1){var Ye=function(Kt){if(Kt.code==200){var Zt=[];if(Kt.data&&Kt.data.files&&Kt.data.files.length>0){var c3=Kt.data.files,X3=new Date().getTime(),Xe=Kt.data.isAll;if(Xe){Zt=pt(c3);var E2=JSON.stringify(Zt).replace("\\","");ae+="&recSlice="+E2.replace("\\","")+"&r="+Math.random(),fe(ae)}else{var G2=function It(){function m3(o3){if(o3.data&&o3.data.files&&o3.data.files.length>0)if(o3.data.isAll==!1)o3.data.files&&(c3=c3.concat(o3.data.files)),X3=o3.data.nextFileTime>0?o3.data.nextFileTime:new Date().getTime(),It();else{Zt=pt(c3);var n3=JSON.stringify(Zt).replace("\\","");ae+="&recSlice="+n3.replace("\\","")+"&r="+Math.random(),fe(ae)}else{Zt=pt(c3);var n3=JSON.stringify(Zt).replace("\\","");ae+="&recSlice="+n3.replace("\\","")+"&r="+Math.random(),fe(ae)}}N2.startTime=X3,A(W2,"POST",N2,"",m3)};G2()}}else le({retcode:-1,msg:"未找到录像片段"})}else le({retcode:-1,msg:"未找到录像片段"});function pt(It){var m3=[];return It.forEach(function(o3,n3){m3.length==0||o3.downloadPath!==m3[m3.length-1].downloadPath?m3.push({downloadPath:o3.downloadPath,ownerId:o3.ownerId,iStorageVersion:o3.iStorageVersion,videoType:o3.videoType,iPlaySpeed:0,startTime:o3.startTime,endTime:o3.endTime}):m3[m3.length-1].endTime=o3.endTime}),m3}},u2=de(d("begin",ae)),f2=de(d("end",ae)),C2=d("serial",ae),F2=d("chn",ae),W2=N+"/api/lapp/video/by/time",N2={accessToken:P.accessToken,recType:1,deviceSerial:C2,channelNo:F2,startTime:u2,endTime:f2,version:"2.0"};A(W2,"POST",N2,"",Ye)}else if(T.indexOf("alarmId")!==-1){var Lt=function(G2){if(G2.code==200){var pt=[];if(G2.data){pt=m3([G2.data]);var It=JSON.stringify(pt).replace("\\","");ae+="&recSlice="+It.replace("\\",""),console.log("realUrl",ae,G2.data.recType),G2.data.recType==1?ae=ae.replace("/playback","/cloudplayback"):ae=ae.replace("/cloudplayback","/playback"),fe(ae)}}function m3(o3){var n3=[];return o3.forEach(function(O3,xr){n3.length==0||O3.downloadPath!==n3[n3.length-1].downloadPath?n3.push({downloadPath:O3.downloadPath,ownerId:O3.ownerId,iStorageVersion:O3.iStorageVersion,videoType:O3.videoType,iPlaySpeed:0,startTime:O3.startTime,endTime:O3.endTime}):n3[n3.length-1].endTime=O3.endTime}),console.log("downloadPathArr",n3),n3}};console.log("进入alarmId回放");var Ot=d("alarmId",ae),u2=de(d("begin",ae)),f2=de(d("end",ae)),C2=d("serial",ae),F2=d("chn",ae),W2=N+"/api/lapp/video/by/id",N2={accessToken:P.accessToken,deviceSerial:C2,channelNo:F2,alarmId:Ot};A(W2,"POST",N2,"",Lt)}else fe(ae)}else fe(ae)}else P.Theme&&P.Theme.setDisabled(!0),P.pluginStatus.loadingClear(),P.pluginStatus.loadingSetText({text:_e.msg,color:"red"}),typeof P.params.handleError=="function"&&P.params.handleError({retcode:_e.code,msg:_e.msg,id:P.params.id,type:"handleError"}),le(_e)})};return new Promise(function(me,fe){return O(me,fe)});function B(me,fe){var le=/^[0-9]{8}T[0-9]{6}Z$/;if(le.test(me))return me;if(/[0-9]{8,14}/.test(me)){var ae=6-(14-me.length),We=fe.length,Pe=me+fe.substring(ae,We);return Pe.slice(0,8)+"T"+Pe.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}function de(me){var fe=me.slice(0,4),le=me.slice(4,6),ae=me.slice(6,8),We=me.slice(9,11),Pe=me.slice(11,13),_e=me.slice(13,15),Se=fe+"-"+le+"-"+ae+" "+We+":"+Pe+":"+_e;return new Date(Se.replace(/-/g,"/")).getTime()}}},{key:"_pluginPlay",value:function(w,T,P){var N=this;if(console.log("执行播放 _pluginPlay",w),!w)return!1;function O(fe){var le=fe.split("?")[0].replace("/live","").replace("/playback",""),ae=(fe.indexOf("/live")===-1?fe.indexOf("cloudplayback")!==-1?"/cloudplayback?":"/playback?":"/live?")+fe.split("?")[1];return ae.indexOf("/playback")!==-1&&(ae=ae.replace("stream=2","stream=1")),{websocketConnectUrl:le,websocketStreamingParam:ae}}var B=O(w).websocketConnectUrl;this.env&&this.env.wsUrl&&(B=this.env.wsUrl),this.gotWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:223,d:this.gotWsUrlTime-this.startGetWsUrlTime,text:"getWsUrlSuccess",isVersion2Available:Ve()?1:0});var de={playURL:O(w).websocketStreamingParam};console.log("播放前 stop 阶段 结束"),this.isStoping=!1;var me=Date.now();console.log("执行播放 ... this.jSPlugin.JS_Play at ",me),this.jSPlugin.JS_Play(B,de,0).then(function(){if(console.log("执行播放 ... this.jSPlugin.JS_Play 播放成功",B,de),console.log("执行播放耗时 ",Date.now()-me),N.isStoping){console.log("现在在播放前 stop 阶段,此次应为无效播放成功触发。不执行后续回调, 此次耗时无效");return}if(N.validateCode&&typeof N.jSPlugin.decoderVersion!="undefined"&&N.jSPlugin.decoderVersion==="2.0"&&N.jSPlugin.JS_SetSecretKey(0,N.validateCode),N.pluginStatus.loadingClear(),N.pluginStatus.setPlayStatus({play:!0,loading:!1}),N.Theme){N.Theme.setDecoderState({play:!0});var fe=E.findIndex(N.Theme.themeData.footer.btnList,function(le){return le.iconId==="sound"&&le.isrender===1&&le.defaultActive===1})>-1;N.audio=fe}N.audio&&setTimeout(function(){N.openSound()},500),typeof N.params.handleSuccess=="function"&&N.params.handleSuccess({retcode:0,id:N.params.id,type:"handleSuccess"}),T(de),N.Monitor.dclog({url:N.url,action:211,d:new Date().getTime()-N.playStartTime,text:"startPlaySuccess"}),N.Monitor.playLog({Enc:N.url.indexOf("@")===-1?0:1,PlTp:N.url.indexOf("back")===-1?1:2,Via:2,ErrCd:0,Cost:new Date().getTime()-N.playStartTime,Serial:S(N.url).deviceSerial,Channel:S(N.url).channelNo,Ver:Ve()?"v7.0.0":"v6.0.0"})},function(fe){console.log("err",fe);var le="播放失败,请检查设备及客户端网络",ae=-1;if(N.jSPlugin.bPlay)return!1;if(fe&&fe.errorCode){var We=N.errorHander.matchErrorInfo(fe.errorCode);N.Theme&&N.Theme.setDisabled(!0),We&&We.msg?le=We.msg:We&&We.description?le=We.description:le="播放失败,请检查设备及客户端网络",ae=fe.errorCode}N.pluginStatus.loadingClear(),N.pluginStatus.loadingSetText({text:le,color:"red"}),typeof N.params.handleError=="function"&&N.params.handleError({retcode:ae,msg:le,id:N.params.id,type:"handleError"}),P(),N.Monitor.dclog({url:N.url,action:411,d:new Date().getTime()-N.playStartTime,text:"startPlayError"}),N.Monitor.playLog({Enc:N.url.indexOf("@")===-1?0:1,PlTp:N.url.indexOf("back")===-1?1:2,Via:2,ErrCd:ae,Cost:-1,Serial:S(N.url).deviceSerial,Channel:S(N.url).channelNo,Ver:Ve()?"v7.0.0":"v6.0.0"})})}},{key:"_play",value:function(w){var T=this;console.log("执行播放 play options.url =>",w),this.pluginStatus.setPlayStatus({play:!1,loading:!0}),this.playStartTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:1,d:new Date().getTime()-this.initTime,text:"startPlay"}),w&&(typeof w=="string"&&(this.url=w),typeof w.url=="string"&&(this.url=w.url),typeof w.accessToken=="string"&&(this.accessToken=w.accessToken),this.Theme&&(typeof w.url=="string"||typeof w.accessToken=="string")&&this.Theme.getDeviceInfo());var P=new Promise(function(N,O){console.log("执行 播放前 stop"),T.isStoping=!0,T.jSPlugin.JS_Stop(0).then(function(){console.log("播放前 stop 执行成功 this.url => ".concat(T.url," ").concat(T.accessToken)),T._getRealUrlPromise(T.accessToken,T.url).then(function(B){T._pluginPlay(B,function(de){N(!0)},function(){return O(!1)})}).catch(function(B){var de=B.msg?B.msg:"播放失败,请检查设备及客户端网络";T.Theme&&T.Theme.setDisabled(!0),T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:de,color:"red"}),typeof T.params.handleError=="function"&&T.params.handleError({retcode:B.oError?B.oError.errorCode:-1,msg:de,id:T.params.id,type:"handleError"}),O({retcode:B.oError?B.oError.errorCode:-1,msg:de,id:T.params.id,type:"handleError"})})})});return P}},{key:"stop",value:function(){var w=this;return this.pluginStatus.setPlayStatus({loading:!0}),this.reSetTheme(),this.jSPlugin.JS_Stop(0).then(function(){console.log("停止成功"),w.pluginStatus.setPlayStatus({play:!1,loading:!1}),w.Theme&&w.Theme.setDecoderState({play:!1})})}},{key:"changeVideoLevel",value:function(w){var T=this,P=this.url,N=w?P.replace(".live",".hd.live"):P.replace(".hd.live",".live");this.jSPlugin.playURL=w?this.jSPlugin.playURL.replace("stream=2","stream=1"):this.jSPlugin.playURL.replace("stream=1","stream=2"),console.log("changeVideoLevel",N,this.jSPlugin.playURL),this.url=N;var O=new Promise(function(B,de){T.pause().then(function(){console.log("暂停成功"),T.resume().then(function(me){console.log("恢复成功")})}).catch(function(){console.log("暂停失败"),T.resume().then(function(me){console.log("恢复成功")})})});return O}},{key:"reSetTheme",value:function(){this.Theme&&this.Theme.Ptz&&(this.Theme.setDecoderState({pantile:!1}),this.Theme.Ptz.hide()),this.Theme&&this.Theme.decoderState.state.recordvideo&&this.Theme.setDecoderState({recordvideo:!1}),this.Theme&&this.Theme.decoderState.state.zoom&&(this.Zoom.stopZoom(),this.Theme.setDecoderState({zoom:!1})),this.Theme&&this.Theme.decoderState.state.talk&&(this.stopTalk(),this.Theme.setDecoderState({talk:!1})),this.Theme&&this.Theme.Rec&&!this.Theme.isMobile&&this.Theme.Rec.datepickerHide(),this.Theme&&this.Theme.Rec&&(this.Theme.changeRecSpeed(1),this.Theme.nextRate=1,this.speed=1,this.Theme.setDecoderState({speed:!1}))}},{key:"_changePlayUrl",value:function(w){var T=this,P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){};console.log("_changePlayUrl"),console.log(w),this.reSetTheme(),this.getDeviceCapacity({accessToken:w.accessToken,deviceSerial:w.deviceSerial});var N=this.url,O=de(N,w);w.accessToken&&(this.accessToken=w.accessToken),this.url=O,P(),this.pluginStatus.loadingStart(this.id),this.pluginStatus.loadingSetText({text:"加载中,请稍后"});var B=new Promise(function(me,fe){var le={url:O};return w.accessToken&&(le.accessToken=w.accessToken),console.log("切换播放地址 参数 ",le),T.play(le).then(function(){console.log("切换播放地址 play 执行成功 ",T.url,T.accessToken),T.Theme&&T.Theme.decoderState.state.webExpend&&T.Theme.webExpend(),T.Theme&&T.Theme.decoderState.state.expend&&T.Theme.expend(),w.type?w.type=="rec"||w.type=="cloud.rec"?T.Theme.changeTheme(T.isMobile?"mobileRec":"pcRec"):T.Theme.changeTheme(T.isMobile?"mobileLive":"pcLive"):T.url.indexOf(".rec")>-1?T.Theme.changeTheme(T.isMobile?"mobileRec":"pcRec"):T.Theme.changeTheme(T.isMobile?"mobileLive":"pcLive"),w&&w.begin&&w.deviceSerial&&T.Theme.Rec.setDatepickerDate(w.begin),T.Theme.setDisabled(!1),me(O)}).catch(function(ae){fe(O),ae&&ae.msg&&(T.Theme&&T.Theme.setDisabled(!0),T.pluginStatus.loadingClear(),T.pluginStatus.loadingSetText({text:ae.msg,color:"red"}))})});function de(me,fe){if(fe.url)return fe.url;console.log("--------------matchInitUrl",me);var le=me.split("/")[4].split(".")[me.split("/")[4].split(".").length-1].split("?")[0];le==="rec"&&me.indexOf(".cloud.rec")!==-1&&(le="cloud.rec"),fe.type&&(le=fe.type);var ae=me.split("/")[3];fe.deviceSerial&&(ae=fe.deviceSerial);var We=me.split("/")[4].split(".")[0];fe.channelNo&&(We=fe.channelNo);var Pe=me.split("/")[2].split("@").length===2?me.split("/")[2].split("@")[0]:"";typeof fe.validCode!="undefined"&&(Pe=fe.validCode);var _e=typeof fe.hd=="undefined"?me.indexOf(".hd")!==-1:fe.hd,Se="ezopen://".concat(Pe?"".concat(Pe,"@"):"","open.ys7.com/").concat(ae,"/").concat(We).concat(_e?".hd":"",".").concat(le);return le==="live"||(Se="ezopen://".concat(Pe?"".concat(Pe,"@"):"","open.ys7.com/").concat(ae,"/").concat(We,".").concat(le),fe.begin&&fe.end?Se+="?begin=".concat(fe.begin,"&end=").concat(fe.end):fe.begin?Se+="?begin=".concat(fe.begin):d("begin",me)&&(Se+="?begin=".concat(d("begin",me)))),Se}return B}},{key:"getOSDTime",value:function(){var w=this,T=new Promise(function(P,N){w.jSPlugin.JS_GetOSDTime(0).then(function(O){P({code:0,retcode:0,data:O}),typeof w.params.getOSDTimeCallBack=="function"&&w.params.getOSDTimeCallBack({id:w.id,type:"getOSDTime",code:0,data:O})}).catch(function(O){N({code:-1,retcode:-1,data:O}),typeof w.params.getOSDTimeCallBack=="function"&&w.params.getOSDTimeCallBack({id:w.id,type:"getOSDTime",code:-1,data:-1})})});return T}},{key:"capturePicture",value:function(w){var T=this,P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,N=this.jSPlugin.JS_CapturePicture(0,w,"JPEG",P,!!P);return c(N)?(typeof this.params.capturePictureCallBack=="function"&&N.then(function(){T.params.capturePictureCallBack({id:T.id,type:"capturePicture",code:0})}).catch(function(){T.params.capturePictureCallBack({id:T.id,type:"capturePicture",code:-1})}),N):new Promise(function(O){O(N)})}},{key:"startSave",value:function(w){var T=this,P=this.jSPlugin.JS_StartSave(0,w);return c(P)?(typeof this.params.startSaveCallBack=="function"&&P.then(function(){T.params.startSaveCallBack({id:T.id,type:"startSave",code:0})}).catch(function(){T.params.startSaveCallBack({id:T.id,type:"startSave",code:-1})}),P):(this.Theme&&this.Theme.setDecoderState({recordvideo:!0}),new Promise(function(N){N(P)}))}},{key:"stopSave",value:function(){var w=this,T=this.jSPlugin.JS_StopSave(0);return c(T)?(typeof this.params.startSaveCallBack=="function"&&T.then(function(){w.params.stopSaveCallBack({id:w.id,type:"stopSave",code:0})}).catch(function(){w.params.stopSaveCallBack({id:w.id,type:"stopSave",code:-1})}),T):(this.Theme&&this.Theme.setDecoderState({recordvideo:!1}),new Promise(function(P){P(T)}))}},{key:"openSound",value:function(){var w=this.jSPlugin.JS_OpenSound(0);return console.log("打开声音",w),c(w)?w:(this.Theme&&this.Theme.setDecoderState({sound:!0}),typeof this.params.openSoundCallBack=="function"&&this.params.openSoundCallBack({id:this.id,type:"openSound",code:w}),new Promise(function(T){T(w)}))}},{key:"closeSound",value:function(){var w=this.jSPlugin.JS_CloseSound(0);return c(w)?w:(this.Theme&&this.Theme.setDecoderState({sound:!1}),typeof this.params.closeSoundCallBack=="function"&&this.params.closeSoundCallBack({id:this.id,type:"closeSound",code:w}),new Promise(function(T){T(w)}))}},{key:"enableZoom",value:function(){var w=this.jSPlugin.JS_EnableZoom(0);return c(w)?w:new Promise(function(T){T(w)})}},{key:"closeZoom",value:function(){var w=this.jSPlugin.JS_DisableZoom(0);return c(w)?w:new Promise(function(T){T(w)})}},{key:"setPoster",value:function(w){Ve()?document.getElementById("".concat(this.id))&&(document.getElementById("".concat(this.id)).style.backgroundImage="url(".concat(w,")"),document.getElementById("".concat(this.id)).style.backgroundSize="100% 100%"):document.getElementById("".concat(this.id,"canvas0"))&&(document.getElementById("".concat(this.id,"canvas0")).style.backgroundImage="url(".concat(w,")"),document.getElementById("".concat(this.id,"canvas0")).style.backgroundSize="cover")}},{key:"reSize",value:function(w,T){var P=0,N=0;if(this.params.height=T,this.params.width=w,this.Theme&&this.Theme.isNeedRenderHeader&&document.getElementById("".concat(this.id,"-headControl"))&&(P=parseInt(document.getElementById("".concat(this.id,"-headControl")).style.height,10)),this.Theme&&this.Theme.isNeedRenderTimeLine&&!this.isMobile&&(N=48),T=T-P-N,this.width=w,this.height=T,document.getElementById("".concat(this.id,"-wrap")).style="width:".concat(w,"px;position:relative;display:inline-block;vertical-align: bottom;"),document.getElementById("".concat(this.id)).style.width=w+"px",document.getElementById("".concat(this.id)).style.height=T+"px",this.jSPlugin&&this.jSPlugin.bPlay)this.jSPlugin&&(this.jSPlugin.iHeight=T,this.jSPlugin.iWidth=w),this.jSPlugin.JS_Resize(w,T);else{document.getElementById("".concat(this.id,"-player"))&&(document.getElementById("".concat(this.id,"-player")).width=w,document.getElementById("".concat(this.id,"-player")).height=T,document.getElementById("".concat(this.id,"-player")).style.width=w+"px",document.getElementById("".concat(this.id,"-player")).style.height=T+"px");var O=1;if(document.getElementById("".concat(this.id,"canvas0"))){var B=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);B&&(O=2),document.getElementById("".concat(this.id,"canvas0")).style.width=w*O+"px",document.getElementById("".concat(this.id,"canvas0")).style.height=T*O+"px",document.getElementById("".concat(this.id,"canvas0")).width=w*O,document.getElementById("".concat(this.id,"canvas0")).height=T*O,document.getElementById("".concat(this.id,"canvas0")).parentNode.style.width=w*O+"px",document.getElementById("".concat(this.id,"canvas0")).parentNode.style.height=T*O+"px",document.getElementById("".concat(this.id,"canvas_draw0")).height=T*O}this.jSPlugin&&(this.jSPlugin.iHeight=T*O,this.jSPlugin.iWidth=w*O)}}},{key:"fast",value:function(w){var T=this,P=this.speed;if(w)var N=this.jSPlugin.JS_Fast(0,w);else{if(P===1)P=2;else if(P===2)P=4;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最大为4倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(B,de){T.speed=P,de({code:-1,data:{speed:P,result:"播放速度最大为4倍速度"}})});var N=this.jSPlugin.JS_Fast(0)}return new Promise(function(O){T.speed=P,O({code:0,data:{speed:P,result:N}})})}},{key:"slow",value:function(){var w=this,T=this.speed;if(T===4)T=2;else if(T===2)T=1;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最小为1倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(N,O){w.speed=T,O({code:-1,data:{speed:T,result:"播放速度最小为1倍速度"}})});var P=this.jSPlugin.JS_Slow(0);return new Promise(function(N){w.speed=T,N({code:0,data:{speed:T,result:P}})})}},{key:"seek",value:function(w,T){var P=this.url,N=(d("begin",P)||new Date().Format("yyyyMMdd")).substr(0,8);if(T=O(N,"235959"),w.length===6)w=O(N,w);else if(w.length===16){if(w.substr(0,8)!==N)return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间不能跨日期",retcode:-1,id:this.id,type:"handleError"}),!1}else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间格式错误",retcode:-1,id:this.id,type:"handleError"}),!1;function O(de,me){var fe=/^[0-9]{8}T[0-9]{6}Z$/;if(fe.test(de))return de;if(/[0-9]{8,14}/.test(de)){var le=6-(14-de.length),ae=me.length,We=de+me.substring(le,ae);return We.slice(0,8)+"T"+We.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}var B=this.jSPlugin.JS_Seek(0,w,T);return console.log("seekRT",B),c(B)?B:new Promise(function(de){de(B)})}},{key:"fullScreen",value:function(){var w=this,T=g(document.getElementById("".concat(this.id)));T.then(function(N){console.log("全屏promise",window.screen.availWidth),w.jSPlugin.JS_Resize(window.screen.availWidth,window.screen.availHeight),typeof w.params.fullScreenCallBack=="function"&&w.params.fullScreenCallBack({id:w.id,type:"fullScreen",code:0})});var P=function(){var O=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;O||w.jSPlugin.JS_Resize(w.width,w.height),typeof w.params.fullScreenChangeCallBack=="function"&&w.params.fullScreenChangeCallBack({id:w.id,type:"fullScreen",code:O})};["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(N){window.addEventListener(N,function(O){return P()})})}},{key:"cancelFullScreen",value:function(){var w=this,T=_();T.then(function(P){console.log("取消全屏",P,w.jSPlugin),w.jSPlugin.JS_Resize(w.width,w.height)})}},{key:"startTalk",value:function(){this.Talk.startTalk()}},{key:"stopTalk",value:function(){this.Talk.stopTalk()}},{key:"destroy",value:function(){var w=this.jSPlugin.JS_DestroyWorker(0);return this.Theme&&(this.Theme=null,window.EZUIKit[this.params.id].state.EZUIKitPlayer.themeInit=!1),c(w)?w:new Promise(function(T){T(w)})}},{key:"getDeviceCapacity",value:function(w){var T=this,P=this.env.domain;this.env&&(P=this.env.domain);var N=P+"/api/lapp/device/capacity",O=function(me){me.code==200&&me.data&&(T.capacity=me.data)},B=w||{accessToken:this.accessToken,deviceSerial:S(this.url).deviceSerial};A(N,"POST",B,"",O)}},{key:"pause",value:function(){var w=this;return new Promise(function(T,P){w.jSPlugin.JS_CloseSound(0),w.jSPlugin.JS_Pause(0,function(N){w.setPoster(N.base64)}).then(function(N){w.Theme&&w.Theme.setDecoderState({play:!1}),T()}).catch(function(N){console.log(N),P(N)})})}},{key:"_resume",value:function(w){var T=this;return new Promise(function(P,N){T.pluginStatus.setPlayStatus({play:!1,loading:!0}),T.jSPlugin.JS_Resume(w).then(function(O){if(setTimeout(function(){T.url.indexOf(".rec")!==-1&&T.speed!=1&&T.jSPlugin.JS_Speed(T.speed)},500),T.Theme){T.Theme.setDecoderState({play:!0,speed:T.speed});var B=T.Theme.decoderState.state.sound;B&&setTimeout(function(){T.openSound()},500)}P(O)}).catch(function(O){console.log("resume err",O),N(O)})})}}]),Q}(),Ne=null;function $e(Q,U,w,T){return new WebControl({szPluginContainer:Q,iServicePortStart:14510,iServicePortEnd:14519,cbConnectSuccess:U,cbConnectError:w,cbConnectClose:T})}function i2(){Ne!=null&&(Ne.JS_DestroyWnd().then(function(){console.log("JS_DestroyWnd")},function(){}),Ne.JS_StopService("window").then(function(){Ne.JS_Disconnect().then(function(){console.log("JS_Disconnect")},function(){})}))}function _2(Q){Q.responseMsg.eventName,console.log(Q.responseMsg)}function He(){Ne.JS_SetWindowControlCallback({cbIntegrationCallBack:_2}),Ne.JS_StartService("window",{dllPath:"./chain/cloudTransform.dll"}).then(function(){Ne.JS_CreateWnd("playWnd",900,500).then(function(){console.log("JS_CreateWnd success")})})}function z2(){console.log("cbConnectError"),Ne=null,console.error("确认本地进程是否已安装并开启成功!")}function kt(Q){console.log("cbConnectClose"),Ne=null}window.onscroll=function(){Ne!=null&&Ne.JS_Resize(900,500)},window.onresize=function(){Ne!=null&&Ne.JS_Resize(900,500)},window.onunload=function(){try{Ne.JS_HideWnd(),i2()}catch(Q){console.error(Q)}},window.onpagehide=function(){try{Ne.JS_HideWnd()}catch(Q){console.error(Q)}};var Pt=function(){function Q(U){var w=this;i(this,Q),o(this,"changeModel",function(T,P){var N=w;w.switchVideo=parseInt(T),Ne&&Ne.JS_RequestInterface({funcName:"ChangeModel",arguments:encodeURI(JSON.stringify({model:T}))}).then(function(O){T==0?N.play({deviceSerial:P.deviceSerial,channelNo:P.channelNo,validateCode:P.validateCode}):N.play({deviceSerial:P.deviceSerial,channelNo:P.channelNo,validateCode:P.validateCode,startTime:P.startTime,endTime:P.endTime})})}),o(this,"init",function(T){var P,N=w;if(!T.appKey||!T.accessToken){N.showTips(!1,"请输入appkey和token");return}typeof T.appKey!="undefined"&&(w.appKey=T.appKey),typeof T.accessToken!="undefined"&&(w.accessToken=T.accessToken),typeof T.platformId!="undefined"&&(w.platformId=T.platformId);var O=(P={layout:+N.layout,userName:"",waterMark:""},o(P,"waterMark","1"),o(P,"iWndType",0),o(P,"intelligenceEnable",1),o(P,"isRecord",1),o(P,"isSetPos",1),o(P,"motionDetectEnable",0),o(P,"playBackAlarmOverlyingEnable",0),o(P,"response",{code:0,message:null,data:{appKey:T.appKey,ezvizToken:T.accessToken,videoLevel:0,logLevel:3,showMainTool:1,showSubTool:1,waterMark:"1",userName:"openteam",platformId:T.platformId}}),P);console.log("初始化入参",O),Ne.JS_RequestInterface({funcName:"Init",arguments:encodeURI(JSON.stringify(O))}).then(function(B){console.log(B.responseMsg),N.showTips(!0,"视频初始化成功!")})}),o(this,"play",function(T){var P=w;if(!(!T.deviceSerial||!T.channelNo)){typeof T.deviceSerial!="undefined"&&(w.deviceSerial=T.deviceSerial),typeof T.channelNo!="undefined"&&(w.channelNo=T.channelNo),typeof T.startTime!="undefined"&&T.startTime&&(w.startTime=T.startTime+" 00:00:00"),typeof T.endTime!="undefined"&&T.endTime&&(w.endTime=T.endTime+" 23:59:59"),typeof T.validateCode!="undefined"&&T.validateCode&&(w.validateCode=T.validateCode);var N={response:{code:0,message:null,data:{deviceSerial:T.deviceSerial,channelCode:T.channelNo,channelNo:+T.channelNo,codeIsEncrypt:0,validateCode:T.validateCode,deviceClass:P.deviceClass,deviceType:"10222",channelId:"2222222222",channelName:"channelNameTest",storeName:"storeName",storeId:"storeid",startTime:w.startTime,endTime:w.endTime}}};P.deviceClass==="1"?(N.response.data.channelCode=P.channelNo,N.response.data.platformId=P.platformId):N.response.data.channelNo=+P.channelNo,w.switchVideo===1&&(w.startTime&&(N.response.data.startTime=w.startTime),w.endTime&&(N.response.data.endTime=w.endTime)),console.log("预览/回放入参",N),Ne.JS_RequestInterface({funcName:w.switchVideo===0?"StartPreview":"StartPlayback",arguments:encodeURI(JSON.stringify(N))}).then(function(O){console.log(O.responseMsg),P.showTips(!0,"预览/回放成功!")}).catch(function(O){console.log("开始播放:",O)})}}),o(this,"showCBInfo",function(T){w.callbackMessage=w.callbackMessage+JSON.stringify(T)+` |
|
|
|
|
|
`,console.log(w.callbackMessage)}),o(this,"showTips",function(T,P){}),o(this,"hideVideo",function(){Ne.JS_HideWnd()}),o(this,"showVideo",function(){Ne.JS_ShowWnd()}),o(this,"GetLayout",function(){var T=null;Ne.JS_RequestInterface({funcName:"GetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:T}}))}).then(function(P){console.log(JSON.stringify(P.responseMsg)),console.log(P.responseMsg)})}),o(this,"capturePicture",function(T){var P=null;Ne.JS_RequestInterface({funcName:"CaptureJPGEx",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:P}}))}).then(function(N){console.log(JSON.stringify(N.responseMsg)),console.log(N.responseMsg)})}),o(this,"stop",function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1;Ne.JS_RequestInterface({funcName:"StopPlay",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(P){console.log(JSON.stringify(P.responseMsg)),console.log(P.responseMsg)})}),o(this,"setLayout",function(T){var P=parseInt(T);if(isNaN(P)||P==0||P>=13){console.log("不支持实际布局大于16的窗口数");return}w.layout=P,Ne.JS_RequestInterface({funcName:"SetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{layout:P}}}))}).then(function(N){console.log(JSON.stringify(N.responseMsg)),console.log(N.responseMsg)})}),o(this,"setSoundVolumn",function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1,P=arguments.length>1?arguments[1]:void 0;Ne.JS_RequestInterface({funcName:"SoundVolumn",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T),volumn:parseInt(P)}}}))}).then(function(N){console.log(JSON.stringify(N.responseMsg)),console.log(N.responseMsg)})}),o(this,"testMute",function(){var T=parseInt(prompt("请输入窗口ID"));Ne.JS_RequestInterface({funcName:"MuteOnOff",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:T}}}))}).then(function(P){console.log(JSON.stringify(P.responseMsg)),console.log(P.responseMsg)})}),o(this,"testSelectWnd",function(){var T=parseInt(prompt("请输入窗口ID"));Ne.JS_RequestInterface({funcName:"SelectPlayWnd",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:T}}}))}).then(function(P){console.log(JSON.stringify(P.responseMsg)),console.log(P.responseMsg)})}),o(this,"setVideoLevel",function(T,P){Ne.JS_RequestInterface({funcName:"SetVideoLevel",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:w.switchVideo==1?0:parseInt(T),level:parseInt(P,10)}}}))}).then(function(N){console.log(JSON.stringify(N.responseMsg)),console.log(N.responseMsg)})}),o(this,"startTalk",function(T){Ne.JS_RequestInterface({funcName:"StartTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(P){console.log(JSON.stringify(P.responseMsg)),console.log(P.responseMsg)})}),o(this,"stopTalk",function(T){Ne.JS_RequestInterface({funcName:"StopTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(P){console.log(JSON.stringify(P.responseMsg)),console.log(P.responseMsg)})}),o(this,"startSave",function(T){Ne.JS_RequestInterface({funcName:"StartRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(P){console.log(JSON.stringify(P.responseMsg)),console.log(P.responseMsg)})}),o(this,"stopSave",function(T){Ne.JS_RequestInterface({funcName:"StopRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(T)}}}))}).then(function(P){console.log(JSON.stringify(P.responseMsg)),console.log(P.responseMsg)})}),this.appKey="b9a3ad6e8026410095d8252169fa430a",this.accessToken="at.2vtum8873rrcwbrv431qb6pn94dkbv23-8dw2twn355-1u3x014-wrthellzk",this.deviceSerial="C33368372",this.channelNo="1",this.validateCode="",this.deviceClass="0",this.platformId="",this.startTime="",this.endTime="",this.layout=2,this.switchVideo=0,this.tips="调用成功",this.successTip=!1,this.tipsShow=!1,Ne=$e("playWnd",He,z2,kt)}return a(Q,[{key:"alarmMsg",value:function(){var w={request:{body:{alarmTypes:[10800,0,0,0,0],channelId:"066dde0465dd4abaab6afe355baf9d0b",endTime:"1621007999000",startTime:"1620921600000"},callBack:"GetAlarmMsgOrders",majorKey:"",method:"POST",storeId:"",url:"/videoplugin/message/getMessageByTypes"},response:{code:0,message:null,data:[{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620921217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920678e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919513e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919483e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919333e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918913e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918305e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917858e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917658e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917244e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917064e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916668e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916529e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916343e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916081e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915825e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915394e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915197e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914971e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914644e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914533e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914457e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914376e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914284e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913431e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912354e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912275e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912093e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091189e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911839e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091176e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911682e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091127e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911184e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910982e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910781e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910727e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910677e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910647e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910588e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910544e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091041e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091035e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910278e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910124e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909939e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909847e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909817e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909664e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909605e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909575e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090912e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909028e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908999e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908969e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908909e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090888e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908835e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090875e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090872e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908652e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908582e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908552e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908456e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090805e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907918e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907758e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907625e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907386e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907292e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907127e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906828e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906797e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906747e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906717e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906632e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906368e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906013e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905946e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905823e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905622e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905511e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905382e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905352e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905322e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905262e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905196e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090515e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904813e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090473e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209047e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904618e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904286e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904173e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904053e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904023e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903854e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903723e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903643e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903573e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903505e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209032e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090312e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902977e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090286e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090277e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902639e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902517e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902373e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090232e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902253e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902198e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902132e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090194e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090185e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901685e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901638e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090152e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901489e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901424e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901271e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901233e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900915e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900774e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900744e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090065e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090044e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900409e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900175e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900134e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900069e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900016e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899908e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899826e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899756e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899467e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899406e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899265e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899211e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089914e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089911e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089905e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898785e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898666e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898507e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898248e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898218e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898088e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089802e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089796e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089785e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089769e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089763e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16208976e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089757e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089754e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897475e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897369e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897339e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897279e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897237e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897207e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897172e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896985e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896874e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896814e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896783e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896621e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896447e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896358e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896307e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896277e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896214e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089604e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895953e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895921e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895868e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089577e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895704e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089559e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089548e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895377e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895347e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895171e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895136e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895017e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894896e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894738e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894539e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894359e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894213e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894183e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893964e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893934e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893754e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893606e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089353e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893452e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893423e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893357e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892904e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892824e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892764e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892479e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892311e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892281e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892209e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892063e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089187e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089181e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891708e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891655e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891585e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891401e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891257e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891178e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891128e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891033e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089094e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890794e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890714e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890469e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890179e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890108e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890041e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889937e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889635e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889451e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889317e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889227e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889139e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888902e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888837e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888767e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888737e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888706e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888633e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888413e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888353e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888323e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888249e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888162e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888e6},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887859e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887776e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887734e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887692e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887619e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887355e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088732e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887289e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887126e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887066e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088697e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886884e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886804e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886728e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886538e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886396e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886334e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886246e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886111e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885956e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885894e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885696e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885514e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885341e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885306e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885276e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885186e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885114e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885037e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884975e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884945e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884911e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088478e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884696e3}],success:!0}};console.log(w),Ne.JS_RequestInterface({funcName:"TransFunctionResult",arguments:encodeURI(JSON.stringify(w))})}}]),Q}();(function(Q,U){t(n)==="object"&&t(n.exports)==="object"?n.exports=Q.document?U(Q,!0):function(w){if(!w.document)throw new Error("EZUIPlayer requires a window with a document");return U(w)}:U(Q)})(typeof window!="undefined"?window:void 0,function(Q,U){var w={Core:s,HLS:C,FLV:M,EZUIKitPlayer:ie,EZUIKitHD:Pt};return Q.EZUIKit=w,w})})(Ey,Ey.exports);var iEe=Ey.exports;const rEe=nEe(iEe);var AT=null;function aEe(n){return AT||(AT=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){return setTimeout(e,16)}).bind(window)),AT(n)}var CT=null;function oEe(n){CT||(CT=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(e){clearTimeout(e)}).bind(window)),CT(n)}function sEe(n){var e=document.createElement("style");return e.styleSheet?e.styleSheet.cssText=n:e.appendChild(document.createTextNode(n)),(document.querySelector("head")||document.body).appendChild(e),e}function Lm(n,e){e===void 0&&(e={});var t=document.createElement(n);return Object.keys(e).forEach(function(i){t[i]=e[i]}),t}function Aee(n,e,t){var i=window.getComputedStyle(n,t||null)||{display:"none"};return i[e]}function zM(n){if(!document.documentElement.contains(n))return{detached:!0,rendered:!1};for(var e=n;e!==document;){if(Aee(e,"display")==="none")return{detached:!1,rendered:!1};e=e.parentNode}return{detached:!1,rendered:!0}}var lEe='.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}',UM=0,lv=null;function uEe(n,e){n.__resize_mutation_handler__||(n.__resize_mutation_handler__=hEe.bind(n));var t=n.__resize_listeners__;if(!t){if(n.__resize_listeners__=[],window.ResizeObserver){var i=n.offsetWidth,r=n.offsetHeight,a=new ResizeObserver(function(){!n.__resize_observer_triggered__&&(n.__resize_observer_triggered__=!0,n.offsetWidth===i&&n.offsetHeight===r)||Py(n)}),o=zM(n),s=o.detached,l=o.rendered;n.__resize_observer_triggered__=s===!1&&l===!1,n.__resize_observer__=a,a.observe(n)}else if(n.attachEvent&&n.addEventListener)n.__resize_legacy_resize_handler__=function(){Py(n)},n.attachEvent("onresize",n.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",n.__resize_mutation_handler__);else if(UM||(lv=sEe(lEe)),fEe(n),n.__resize_rendered__=zM(n).rendered,window.MutationObserver){var u=new MutationObserver(n.__resize_mutation_handler__);u.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),n.__resize_mutation_observer__=u}}n.__resize_listeners__.push(e),UM++}function cEe(n,e){var t=n.__resize_listeners__;if(t){if(e&&t.splice(t.indexOf(e),1),!t.length||!e){if(n.detachEvent&&n.removeEventListener){n.detachEvent("onresize",n.__resize_legacy_resize_handler__),document.removeEventListener("DOMSubtreeModified",n.__resize_mutation_handler__);return}n.__resize_observer__?(n.__resize_observer__.unobserve(n),n.__resize_observer__.disconnect(),n.__resize_observer__=null):(n.__resize_mutation_observer__&&(n.__resize_mutation_observer__.disconnect(),n.__resize_mutation_observer__=null),n.removeEventListener("scroll",sL),n.removeChild(n.__resize_triggers__.triggers),n.__resize_triggers__=null),n.__resize_listeners__=null}!--UM&&lv&&lv.parentNode.removeChild(lv)}}function dEe(n){var e=n.__resize_last__,t=e.width,i=e.height,r=n.offsetWidth,a=n.offsetHeight;return r!==t||a!==i?{width:r,height:a}:null}function hEe(){var n=zM(this),e=n.rendered,t=n.detached;e!==this.__resize_rendered__&&(!t&&this.__resize_triggers__&&(lL(this),this.addEventListener("scroll",sL,!0)),this.__resize_rendered__=e,Py(this))}function sL(){var n=this;lL(this),this.__resize_raf__&&oEe(this.__resize_raf__),this.__resize_raf__=aEe(function(){var e=dEe(n);e&&(n.__resize_last__=e,Py(n))})}function Py(n){!n||!n.__resize_listeners__||n.__resize_listeners__.forEach(function(e){e.call(n,n)})}function fEe(n){var e=Aee(n,"position");(!e||e==="static")&&(n.style.position="relative"),n.__resize_old_position__=e,n.__resize_last__={};var t=Lm("div",{className:"resize-triggers"}),i=Lm("div",{className:"resize-expand-trigger"}),r=Lm("div"),a=Lm("div",{className:"resize-contract-trigger"});i.appendChild(r),t.appendChild(i),t.appendChild(a),n.appendChild(t),n.__resize_triggers__={triggers:t,expand:i,expandChild:r,contract:a},lL(n),n.addEventListener("scroll",sL,!0),n.__resize_last__={width:n.offsetWidth,height:n.offsetHeight}}function lL(n){var e=n.__resize_triggers__,t=e.expand,i=e.expandChild,r=e.contract,a=r.scrollWidth,o=r.scrollHeight,s=t.offsetWidth,l=t.offsetHeight,u=t.scrollWidth,c=t.scrollHeight;r.scrollLeft=a,r.scrollTop=o,i.style.width=s+1+"px",i.style.height=l+1+"px",t.scrollLeft=u,t.scrollTop=c}var Oo=function(){return Oo=Object.assign||function(n){for(var e,t=1,i=arguments.length;t<i;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},Oo.apply(this,arguments)};var pEe=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function mEe(n){return e=Object.create(null),pEe.forEach(function(t){e[t]=function(i){return function(){for(var r=[],a=0;a<arguments.length;a++)r[a]=arguments[a];if(!n.value)throw new Error("ECharts is not initialized yet.");return n.value[i].apply(n.value,r)}}(t)}),e;var e}var gEe={autoresize:[Boolean,Object]},vEe=/^on[^a-z]/,uV=function(n){return vEe.test(n)};function Im(n,e){var t=Poe(n)?_1(n):n;return t&&typeof t=="object"&&"value"in t?t.value||e:t||e}var yEe="ecLoadingOptions",_Ee={loading:Boolean,loadingOptions:Object},Ec=null,Cee="x-vue-echarts",cV=[],Pc=[];(function(n,e){if(n&&typeof document!="undefined"){var t,i=e.prepend===!0?"prepend":"append",r=e.singleTag===!0,a=typeof e.container=="string"?document.querySelector(e.container):document.getElementsByTagName("head")[0];if(r){var o=cV.indexOf(a);o===-1&&(o=cV.push(a)-1,Pc[o]={}),t=Pc[o]&&Pc[o][i]?Pc[o][i]:Pc[o][i]=s()}else t=s();n.charCodeAt(0)===65279&&(n=n.substring(1)),t.styleSheet?t.styleSheet.cssText+=n:t.appendChild(document.createTextNode(n))}function s(){var l=document.createElement("style");if(l.setAttribute("type","text/css"),e.attributes)for(var u=Object.keys(e.attributes),c=0;c<u.length;c++)l.setAttribute(u[c],e.attributes[u[c]]);var d=i==="prepend"?"afterbegin":"beforeend";return a.insertAdjacentElement(d,l),l}})(`x-vue-echarts{display:flex;flex-direction:column;width:100%;height:100%;min-width:0} |
|
|
.vue-echarts-inner{flex-grow:1;min-width:0;width:auto!important;height:auto!important} |
|
|
`,{});var SEe=function(){if(Ec!=null)return Ec;if(typeof HTMLElement=="undefined"||typeof customElements=="undefined")return Ec=!1;try{new Function("tag",`class EChartsElement extends HTMLElement { |
|
|
__dispose = null; |
|
|
|
|
|
disconnectedCallback() { |
|
|
if (this.__dispose) { |
|
|
this.__dispose(); |
|
|
this.__dispose = null; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if (customElements.get(tag) == null) { |
|
|
customElements.define(tag, EChartsElement); |
|
|
} |
|
|
`)(Cee)}catch(n){return Ec=!1}return Ec=!0}(),bEe="ecTheme",xEe="ecInitOptions",wEe="ecUpdateOptions",dV=/(^&?~?!?)native:/,W0=Moe({name:"echarts",props:Oo(Oo({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},gEe),_Ee),emits:{},inheritAttrs:!1,setup:function(n,e){var t=e.attrs,i=Wc(),r=Wc(),a=Wc(),o=Wc(),s=Y4(bEe,null),l=Y4(xEe,null),u=Y4(wEe,null),c=Eoe(n),d=c.autoresize,h=c.manualUpdate,f=c.loading,p=c.loadingOptions,g=Ze(function(){return o.value||n.option||null}),m=Ze(function(){return n.theme||Im(s,{})}),v=Ze(function(){return n.initOptions||Im(l,{})}),_=Ze(function(){return n.updateOptions||Im(u,{})}),S=Ze(function(){return function(L){var V={};for(var Y in L)uV(Y)||(V[Y]=L[Y]);return V}(t)}),x={},A=m$().proxy.$listeners,C={};function M(L){if(r.value){var V=a.value=Hue(r.value,m.value,v.value);n.group&&(V.group=n.group),Object.keys(C).forEach(function(G){var W=C[G];if(W){var q=G.toLowerCase();q.charAt(0)==="~"&&(q=q.substring(1),W.__once__=!0);var ce=V;if(q.indexOf("zr:")===0&&(ce=V.getZr(),q=q.substring(3)),W.__once__){delete W.__once__;var J=W;W=function(){for(var H=[],re=0;re<arguments.length;re++)H[re]=arguments[re];J.apply(void 0,H),ce.off(q,W)}}ce.on(q,W)}}),d.value?Nn(function(){V&&!V.isDisposed()&&V.resize(),Y()}):Y()}function Y(){var G=L||g.value;G&&V.setOption(G,_.value)}}function I(){a.value&&(a.value.dispose(),a.value=void 0)}A?Object.keys(A).forEach(function(L){dV.test(L)?x[L.replace(dV,"$1")]=A[L]:C[L]=A[L]}):Object.keys(t).filter(function(L){return uV(L)}).forEach(function(L){var V=L.charAt(2).toLowerCase()+L.slice(3);if(V.indexOf("native:")!==0)V.substring(V.length-4)==="Once"&&(V="~".concat(V.substring(0,V.length-4))),C[V]=t[L];else{var Y="on".concat(V.charAt(7).toUpperCase()).concat(V.slice(8));x[Y]=t[L]}});var D=null;U1(h,function(L){typeof D=="function"&&(D(),D=null),L||(D=U1(function(){return n.option},function(V,Y){V&&(a.value?a.value.setOption(V,Oo({notMerge:V!==Y},_.value)):M())},{deep:!0}))},{immediate:!0}),U1([m,v],function(){I(),M()},{deep:!0}),NN(function(){n.group&&a.value&&(a.value.group=n.group)});var E=mEe(a);return function(L,V,Y){var G=Y4(yEe,{}),W=Ze(function(){return Oo(Oo({},Im(G,{})),Y==null?void 0:Y.value)});NN(function(){var q=L.value;q&&(V.value?q.showLoading(W.value):q.hideLoading())})}(a,f,p),function(L,V,Y){var G=null;U1([Y,L,V],function(W,q,ce){var J=W[0],H=W[1],re=W[2];if(J&&H&&re){var ee=re===!0?{}:re,se=ee.throttle,Be=se===void 0?100:se,we=ee.onResize,ve=function(){H.resize(),we==null||we()};G=Be?W_(ve,Be):ve,uEe(J,G)}ce(function(){J&&G&&cEe(J,G)})})}(a,d,r),_r(function(){M()}),Yr(function(){SEe&&i.value?i.value.__dispose=I:I()}),Oo({chart:a,root:i,inner:r,setOption:function(L,V){n.manualUpdate&&(o.value=L),a.value?a.value.setOption(L,V||{}):M(L)},nonEventAttrs:S,nativeListeners:x},E)},render:function(){var n=Oo(Oo({},this.nonEventAttrs),this.nativeListeners);return n.ref="root",n.class=n.class?["echarts"].concat(n.class):"echarts",kN(Cee,n,[kN("div",{ref:"inner",class:"vue-echarts-inner"})])}});const TEe=""+new URL("title-zs1-c15a5ee8-balabala-1782986963996.svg",import.meta.url).href,AEe=""+new URL("saoguang-ccf84a88-balabala-1782986963996.svg",import.meta.url).href,CEe=""+new URL("content-bottom-left-arrow-3a8a61f3-balabala-1782986963996.svg",import.meta.url).href,MEe=""+new URL("content-bottom-right-arrow-a3c5270d-balabala-1782986963996.svg",import.meta.url).href,hV=""+new URL("content-middle-line-162bc0d5-balabala-1782986963996.svg",import.meta.url).href;const EEe={class:"m-card-hd"},PEe={class:"m-card-hd-bg"},REe=["width","viewBox"],LEe=["clip-path"],IEe=["width"],DEe=["id"],NEe=["d"],kEe=["d","fill"],FEe=["d","fill","mask"],OEe=["clip-path"],BEe=["x1"],zEe=["id","x1"],UEe=["id"],GEe=["id"],VEe=["width"],HEe=["id"],WEe={class:"m-card-hd-title"},jEe=["width","height","viewBox"],$Ee={opacity:"0.6"},YEe=["d"],qEe=["d"],XEe={class:"m-card-bd-content"},x3={__name:"index",props:{width:{type:Number,default:398},height:{type:Number,default:200},title:{type:String,default:"标题"}},setup(n){const e=n,t=U2(1),i=Ze(()=>{let o=e.width;return`M165 0.5 |
|
|
L165.707 -0.207107 |
|
|
L165.414 -0.5 |
|
|
H165 |
|
|
V0.5Z |
|
|
M10 0.5 |
|
|
V-0.5 |
|
|
H9.58579 |
|
|
L9.29289 -0.207107 |
|
|
L10 0.5Z |
|
|
M175 10.5 |
|
|
L174.293 11.2071 |
|
|
L174.586 11.5 |
|
|
H175 |
|
|
V10.5Z |
|
|
M${o} 10.5 |
|
|
H${o+1} |
|
|
V9.5 |
|
|
H${o} |
|
|
V10.5Z |
|
|
M${o} 34.5 |
|
|
V35.5 |
|
|
H${o+1} |
|
|
V34.5 |
|
|
H${o}Z |
|
|
M0 34.5 |
|
|
H-1 |
|
|
V35.5 |
|
|
H0 |
|
|
V34.5Z |
|
|
M0 10.5 |
|
|
L-0.707107 9.79289 |
|
|
L-1 10.0858 |
|
|
V10.5 |
|
|
H0Z |
|
|
M165 -0.5 |
|
|
H10 |
|
|
V1.5 |
|
|
H165 |
|
|
V-0.5Z |
|
|
M175.707 9.79289 |
|
|
L165.707 -0.207107 |
|
|
L164.293 1.20711 |
|
|
L174.293 11.2071 |
|
|
L175.707 9.79289Z |
|
|
M${o} 9.5 |
|
|
H175 |
|
|
V11.5 |
|
|
H${o} |
|
|
V9.5Z |
|
|
M${o+1} 34.5 |
|
|
V10.5 |
|
|
H397 |
|
|
V34.5 |
|
|
H${o+1}Z |
|
|
M0 35.5 |
|
|
H${o} |
|
|
V33.5 |
|
|
H0 |
|
|
V35.5Z |
|
|
M-1 10.5 |
|
|
V34.5 |
|
|
H1 |
|
|
V10.5 |
|
|
H-1Z |
|
|
M9.29289 -0.207107 |
|
|
L-0.707107 9.79289 |
|
|
L0.707107 11.2071 |
|
|
L10.7071 1.20711 |
|
|
L9.29289 -0.207107Z`}),r=Ze(()=>{let s=e.height-156,l=e.width;return`M3.485 ${46.0565+s/2} |
|
|
V${45.8735+s/2} |
|
|
L3.36682 ${45.7337+s/2} |
|
|
L0.5 ${42.343+s/2} |
|
|
V1 |
|
|
H${l-.5} |
|
|
V${42.3431+s/2} |
|
|
L${l-3.367} ${45.7337+s/2} |
|
|
L${l-3.485} ${45.8735+s/2} |
|
|
V${46.0565+s/2} |
|
|
L${l-3.367} ${88.745+s/2} |
|
|
L${l-.5} ${92.135+s/2} |
|
|
V${155+s} |
|
|
H0.5 |
|
|
V${92.135+s/2} |
|
|
L3.36682 ${88.745+s/2} |
|
|
L3.485 ${88.605+s/2} |
|
|
V${88.422+s/2} |
|
|
V${46.0565+s/2}Z`}),a=Ze(()=>`width:${e.width}px;height:${e.height}px;`);return _r(()=>{t.value="__"+m$().uid}),(o,s)=>(Ee(),De("div",{class:"m-card",style:J3(a.value)},[k("div",EEe,[k("div",PEe,[(Ee(),De("svg",{width:n.width,height:"36",viewBox:`0 0 ${n.width} 36`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[k("g",{"clip-path":`url(#clip0_70_69244${t.value})`},[k("rect",{y:"34.5",width:n.width,height:"1",fill:"url(#paint0_linear_70_69244)"},null,8,IEe),k("mask",{id:`path-2-inside-1_70_69244${t.value}`,fill:"white"},[k("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${n.width}V34.5H0V10.5L10 0.5Z`},null,8,NEe)],8,DEe),k("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${n.width}V34.5H0V10.5L10 0.5Z`,fill:`url(#paint1_linear_70_69244${t.value})`},null,8,kEe),k("path",{d:i.value,fill:`url(#paint2_linear_70_69244${t.value})`,mask:`url(#path-2-inside-1_70_69244${t.value})`},null,8,FEe),s[1]||(s[1]=D8('<g opacity="0.5"><mask id="mask0_70_69244" style="mask-type:alpha;" maskUnits="userSpaceOnUse" x="12" y="-12" width="165" height="29"><g style="mix-blend-mode:plus-lighter;" opacity="0.8"><path d="M177 2.5C177 -4.22 139.531 -11.5 93.9677 -11.5C48.4043 -11.5 12 -5.23199 12 2.5C12 10.232 48.4043 16.5 93.9677 16.5C139.531 16.5 177 9.22 177 2.5Z" fill="url(#paint3_diamond_70_69244)"></path></g></mask><g mask="url(#mask0_70_69244)"><g style="mix-blend-mode:plus-lighter;" opacity="0.8"><path d="M177 0.999998C177 -6 137.934 -11.5 92.371 -11.5C46.8075 -11.5 12 -5.90356 12 0.999998C12 7.90356 46.8075 13.5 92.371 13.5C137.934 13.5 177 8 177 0.999998Z" fill="url(#paint4_diamond_70_69244)"></path></g></g></g><g style="mix-blend-mode:plus-lighter;" opacity="0.1"><ellipse cx="81.5264" cy="12.5" rx="81.5264" ry="12.5" transform="matrix(1 0 0 -1 12 13.5)" fill="url(#paint5_radial_70_69244)"></ellipse></g><path d="M0 0.5H6L0 6.5V0.5Z" fill="#30DCFF"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M170 0.5H398V7.5H177L170 0.5Z" fill="url(#paint6_linear_70_69244)"></path>',4)),k("g",{style:{"mix-blend-mode":"plus-lighter"},"clip-path":`url(#clip1_70_69244${t.value})`},[...s[0]||(s[0]=[D8('<g style="mix-blend-mode:plus-lighter;" opacity="0.8"><ellipse cx="65" cy="2.16667" rx="65" ry="2.16667" transform="matrix(1 1.64302e-07 0.0495776 0.99877 27.6855 -1.82568)" fill="url(#paint7_radial_70_69244)"></ellipse></g><g style="mix-blend-mode:plus-lighter;" opacity="0.5"><ellipse cx="28.7857" cy="4.16667" rx="28.7857" ry="4.16667" transform="matrix(1 1.64302e-07 0.0495776 0.99877 63.8008 -3.82324)" fill="url(#paint8_radial_70_69244)"></ellipse></g><g style="mix-blend-mode:plus-lighter;" opacity="0.54"><ellipse cx="23.2143" cy="2.16667" rx="23.2143" ry="2.16667" transform="matrix(1 1.64302e-07 0.0495776 0.99877 69.4727 -1.82568)" fill="url(#paint9_radial_70_69244)"></ellipse></g><g style="mix-blend-mode:plus-lighter;" opacity="0.8"><ellipse cx="9.28571" cy="2.16667" rx="9.28571" ry="2.16667" transform="matrix(1 1.64302e-07 0.0495776 0.99877 83.4004 -1.82568)" fill="url(#paint10_radial_70_69244)"></ellipse></g>',4)])],8,OEe)],8,LEe),k("defs",null,[k("linearGradient",{id:"paint0_linear_70_69244",x1:n.width,y1:"35.5021",x2:"0",y2:"35.5021",gradientUnits:"userSpaceOnUse"},[...s[2]||(s[2]=[k("stop",{"stop-color":"#35A8EB","stop-opacity":"0.1"},null,-1),k("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,BEe),k("linearGradient",{id:`paint1_linear_70_69244${t.value}`,x1:n.width,y1:"17.5",x2:"7.94819",y2:"17.5",gradientUnits:"userSpaceOnUse"},[...s[3]||(s[3]=[k("stop",{offset:"0.0364889","stop-color":"#35A8EB","stop-opacity":"0.11"},null,-1),k("stop",{offset:"1","stop-color":"#30C1FF","stop-opacity":"0.27"},null,-1)])],8,zEe),k("linearGradient",{id:`paint2_linear_70_69244${t.value}`,x1:"40.8948",y1:"13.5",x2:"40.895",y2:"-6.50005",gradientUnits:"userSpaceOnUse"},[...s[4]||(s[4]=[k("stop",{"stop-color":"#35A8EB","stop-opacity":"0"},null,-1),k("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,UEe),s[6]||(s[6]=D8('<radialGradient id="paint3_diamond_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(94.5 3.62) rotate(-90) scale(41.1199 76.576)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint4_diamond_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(84.3871 2.00005) rotate(-90) scale(14.0001 188.259)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint5_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(80.7192 12.5) rotate(90) scale(12.5 73.8747)"><stop stop-color="#00B1E9"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><linearGradient id="paint6_linear_70_69244" x1="567.258" y1="5.49999" x2="177.933" y2="5.49993" gradientUnits="userSpaceOnUse"><stop offset="0.429792" stop-color="#35A8EB" stop-opacity="0"></stop><stop offset="1" stop-color="#30C1FF" stop-opacity="0.27"></stop></linearGradient><radialGradient id="paint7_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(64.3564 2.16667) rotate(90.0001) scale(2.16667 64.3564)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint8_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(28.5007 4.16667) rotate(90) scale(4.16667 28.5007)"><stop stop-color="#B7EEFF"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint9_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(22.9844 2.16667) rotate(90) scale(2.16667 22.9844)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient><radialGradient id="paint10_radial_70_69244" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.19377 2.16667) rotate(90) scale(2.16667 9.19377)"><stop stop-color="#B7EEFF"></stop><stop offset="0.302515" stop-color="#9BE2FF" stop-opacity="0.76"></stop><stop offset="1" stop-color="#6BD4FF" stop-opacity="0"></stop></radialGradient>',8)),k("clipPath",{id:`clip0_70_69244${t.value}`},[k("rect",{width:n.width,height:"35",fill:"white",transform:"translate(0 0.5)"},null,8,VEe)],8,GEe),k("clipPath",{id:`clip1_70_69244${t.value}`},[...s[5]||(s[5]=[k("rect",{width:"130",height:"4",fill:"white",transform:"matrix(1 1.64302e-07 -0.0495776 -0.99877 28 4.5)"},null,-1)])],8,HEe)])],8,REe))]),s[7]||(s[7]=k("img",{class:"m-card-hd-zs1",src:TEe,alt:""},null,-1)),s[8]||(s[8]=k("div",{class:"saoguang"},[k("img",{src:AEe,alt:""})],-1)),k("div",WEe,Ue(n.title),1)]),k("div",{class:"m-card-bd",style:J3(a.value)},[k("div",{class:"m-card-bd-bg",style:J3(a.value)},[(Ee(),De("svg",{width:n.width,height:n.height,viewBox:`0 0 ${n.width} ${n.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[k("g",$Ee,[k("path",{d:r.value,fill:"rgba(26, 57, 77,1)"},null,8,YEe),k("path",{d:r.value,stroke:"url(#paint1_linear_70_69585)"},null,8,qEe)]),s[9]||(s[9]=k("defs",null,[k("linearGradient",{id:"paint1_linear_70_69585",x1:"199",y1:"203.499",x2:"199",y2:"0.499359",gradientUnits:"userSpaceOnUse"},[k("stop",{"stop-color":"#4FC5DD"}),k("stop",{offset:"1","stop-color":"#05839D","stop-opacity":"0"})])],-1))],8,jEe)),s[10]||(s[10]=k("img",{class:"m-card-bd-bottom-left-arrow",src:CEe,alt:""},null,-1)),s[11]||(s[11]=k("img",{class:"m-card-bd-bottom-right-arrow",src:MEe,alt:""},null,-1)),s[12]||(s[12]=k("img",{class:"m-card-bd-middle-left-line",src:hV,alt:""},null,-1)),s[13]||(s[13]=k("img",{class:"m-card-bd-middle-right-line",src:hV,alt:""},null,-1))],4),k("div",XEe,[A7(o.$slots,"default")])],4)],4))}};/** |
|
|
* @license |
|
|
* Copyright 2010-2023 Three.js Authors |
|
|
* SPDX-License-Identifier: MIT |
|
|
*/const uL="161",p4={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},m4={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},KEe=0,fV=1,ZEe=2,Mee=1,JEe=2,Us=3,d6=0,dr=1,o0=2,k5=0,q8=1,Ln=2,pV=3,mV=4,Eee=5,c5=100,QEe=101,ePe=102,gV=103,vV=104,tPe=200,Pee=201,nPe=202,iPe=203,GM=204,VM=205,rPe=206,aPe=207,Ree=208,oPe=209,sPe=210,lPe=211,uPe=212,cPe=213,dPe=214,hPe=0,fPe=1,pPe=2,Ry=3,mPe=4,gPe=5,vPe=6,yPe=7,cL=0,_Pe=1,SPe=2,F5=0,bPe=1,xPe=2,wPe=3,TPe=4,APe=5,CPe=6,yV="attached",MPe="detached",Lee=300,V7=301,H7=302,HM=303,WM=304,rS=306,In=1e3,yi=1001,Ly=1002,yn=1003,jM=1004,H4=1005,ln=1006,uv=1007,Xs=1008,O5=1009,EPe=1010,PPe=1011,dL=1012,Iee=1013,A5=1014,$o=1015,Ch=1016,Dee=1017,Nee=1018,X8=1020,RPe=1021,Ma=1023,LPe=1024,IPe=1025,K8=1026,W7=1027,DPe=1028,kee=1029,NPe=1030,Fee=1031,Oee=1033,MT=33776,ET=33777,PT=33778,RT=33779,_V=35840,SV=35841,bV=35842,xV=35843,Bee=36196,wV=37492,TV=37496,AV=37808,CV=37809,MV=37810,EV=37811,PV=37812,RV=37813,LV=37814,IV=37815,DV=37816,NV=37817,kV=37818,FV=37819,OV=37820,BV=37821,LT=36492,zV=36494,UV=36495,kPe=36283,GV=36284,VV=36285,HV=36286,Mh=2300,j7=2301,IT=2302,WV=2400,jV=2401,$V=2402,FPe=2500,OPe=0,zee=1,$M=2,Uee=3e3,Z8=3001,BPe=3200,zPe=3201,hL=0,UPe=1,Ea="",Y1="srgb",wn="srgb-linear",fL="display-p3",aS="display-p3-linear",Iy="linear",_0="srgb",Dy="rec709",Ny="p3",g4=7680,YV=519,GPe=512,VPe=513,HPe=514,Gee=515,WPe=516,jPe=517,$Pe=518,YPe=519,YM=35044,qV="300 es",qM=1035,Ks=2e3,ky=2001;class El{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const r=this._listeners[e];if(r!==void 0){const a=r.indexOf(t);a!==-1&&r.splice(a,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const i=this._listeners[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let a=0,o=r.length;a<o;a++)r[a].call(this,e);e.target=null}}}const li=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let XV=1234567;const Rd=Math.PI/180,$7=180/Math.PI;function Da(){const n=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,i=Math.random()*4294967295|0;return(li[n&255]+li[n>>8&255]+li[n>>16&255]+li[n>>24&255]+"-"+li[e&255]+li[e>>8&255]+"-"+li[e>>16&15|64]+li[e>>24&255]+"-"+li[t&63|128]+li[t>>8&255]+"-"+li[t>>16&255]+li[t>>24&255]+li[i&255]+li[i>>8&255]+li[i>>16&255]+li[i>>24&255]).toLowerCase()}function cn(n,e,t){return Math.max(e,Math.min(t,n))}function pL(n,e){return(n%e+e)%e}function qPe(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function XPe(n,e,t){return n!==e?(t-n)/(e-n):0}function Ld(n,e,t){return(1-t)*n+t*e}function KPe(n,e,t,i){return Ld(n,e,1-Math.exp(-t*i))}function ZPe(n,e=1){return e-Math.abs(pL(n,e*2)-e)}function JPe(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function QPe(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function eRe(n,e){return n+Math.floor(Math.random()*(e-n+1))}function tRe(n,e){return n+Math.random()*(e-n)}function nRe(n){return n*(.5-Math.random())}function iRe(n){n!==void 0&&(XV=n);let e=XV+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function rRe(n){return n*Rd}function aRe(n){return n*$7}function XM(n){return(n&n-1)===0&&n!==0}function oRe(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function Fy(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function sRe(n,e,t,i,r){const a=Math.cos,o=Math.sin,s=a(t/2),l=o(t/2),u=a((e+i)/2),c=o((e+i)/2),d=a((e-i)/2),h=o((e-i)/2),f=a((i-e)/2),p=o((i-e)/2);switch(r){case"XYX":n.set(s*c,l*d,l*h,s*u);break;case"YZY":n.set(l*h,s*c,l*d,s*u);break;case"ZXZ":n.set(l*d,l*h,s*c,s*u);break;case"XZX":n.set(s*c,l*p,l*f,s*u);break;case"YXY":n.set(l*f,s*c,l*p,s*u);break;case"ZYZ":n.set(l*p,l*f,s*c,s*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function ao(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function H1(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const mL={DEG2RAD:Rd,RAD2DEG:$7,generateUUID:Da,clamp:cn,euclideanModulo:pL,mapLinear:qPe,inverseLerp:XPe,lerp:Ld,damp:KPe,pingpong:ZPe,smoothstep:JPe,smootherstep:QPe,randInt:eRe,randFloat:tRe,randFloatSpread:nRe,seededRandom:iRe,degToRad:rRe,radToDeg:aRe,isPowerOfTwo:XM,ceilPowerOfTwo:oRe,floorPowerOfTwo:Fy,setQuaternionFromProperEuler:sRe,normalize:H1,denormalize:ao};class J2{constructor(e=0,t=0){J2.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(cn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),a=this.x-e.x,o=this.y-e.y;return this.x=a*i-o*r+e.x,this.y=a*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class i1{constructor(e,t,i,r,a,o,s,l,u){i1.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,a,o,s,l,u)}set(e,t,i,r,a,o,s,l,u){const c=this.elements;return c[0]=e,c[1]=r,c[2]=s,c[3]=t,c[4]=a,c[5]=l,c[6]=i,c[7]=o,c[8]=u,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,a=this.elements,o=i[0],s=i[3],l=i[6],u=i[1],c=i[4],d=i[7],h=i[2],f=i[5],p=i[8],g=r[0],m=r[3],v=r[6],_=r[1],S=r[4],x=r[7],A=r[2],C=r[5],M=r[8];return a[0]=o*g+s*_+l*A,a[3]=o*m+s*S+l*C,a[6]=o*v+s*x+l*M,a[1]=u*g+c*_+d*A,a[4]=u*m+c*S+d*C,a[7]=u*v+c*x+d*M,a[2]=h*g+f*_+p*A,a[5]=h*m+f*S+p*C,a[8]=h*v+f*x+p*M,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8];return t*o*c-t*s*u-i*a*c+i*s*l+r*a*u-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],d=c*o-s*u,h=s*l-c*a,f=u*a-o*l,p=t*d+i*h+r*f;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);const g=1/p;return e[0]=d*g,e[1]=(r*u-c*i)*g,e[2]=(s*i-r*o)*g,e[3]=h*g,e[4]=(c*t-r*l)*g,e[5]=(r*a-s*t)*g,e[6]=f*g,e[7]=(i*l-u*t)*g,e[8]=(o*t-i*a)*g,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,a,o,s){const l=Math.cos(a),u=Math.sin(a);return this.set(i*l,i*u,-i*(l*o+u*s)+o+e,-r*u,r*l,-r*(-u*o+l*s)+s+t,0,0,1),this}scale(e,t){return this.premultiply(DT.makeScale(e,t)),this}rotate(e){return this.premultiply(DT.makeRotation(-e)),this}translate(e,t){return this.premultiply(DT.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const DT=new i1;function Vee(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}function Eh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function lRe(){const n=Eh("canvas");return n.style.display="block",n}const KV={};function J8(n){n in KV||(KV[n]=!0,console.warn(n))}const ZV=new i1().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),JV=new i1().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Dm={[wn]:{transfer:Iy,primaries:Dy,toReference:n=>n,fromReference:n=>n},[Y1]:{transfer:_0,primaries:Dy,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[aS]:{transfer:Iy,primaries:Ny,toReference:n=>n.applyMatrix3(JV),fromReference:n=>n.applyMatrix3(ZV)},[fL]:{transfer:_0,primaries:Ny,toReference:n=>n.convertSRGBToLinear().applyMatrix3(JV),fromReference:n=>n.applyMatrix3(ZV).convertLinearToSRGB()}},uRe=new Set([wn,aS]),z1={enabled:!0,_workingColorSpace:wn,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!uRe.has(n))throw new Error(`Unsupported working color space, "${n}".`);this._workingColorSpace=n},convert:function(n,e,t){if(this.enabled===!1||e===t||!e||!t)return n;const i=Dm[e].toReference,r=Dm[t].fromReference;return r(i(n))},fromWorkingColorSpace:function(n,e){return this.convert(n,this._workingColorSpace,e)},toWorkingColorSpace:function(n,e){return this.convert(n,e,this._workingColorSpace)},getPrimaries:function(n){return Dm[n].primaries},getTransfer:function(n){return n===Ea?Iy:Dm[n].transfer}};function _7(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function NT(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let v4;class Hee{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement=="undefined")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{v4===void 0&&(v4=Eh("canvas")),v4.width=e.width,v4.height=e.height;const i=v4.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=v4}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&e instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){const t=Eh("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),a=r.data;for(let o=0;o<a.length;o++)a[o]=_7(a[o]/255)*255;return i.putImageData(r,0,0),t}else if(e.data){const t=e.data.slice(0);for(let i=0;i<t.length;i++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[i]=Math.floor(_7(t[i]/255)*255):t[i]=_7(t[i]);return{data:t,width:e.width,height:e.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}}let cRe=0;class Wee{constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{value:cRe++}),this.uuid=Da(),this.data=e,this.dataReady=!0,this.version=0}set needsUpdate(e){e===!0&&this.version++}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.images[this.uuid]!==void 0)return e.images[this.uuid];const i={uuid:this.uuid,url:""},r=this.data;if(r!==null){let a;if(Array.isArray(r)){a=[];for(let o=0,s=r.length;o<s;o++)r[o].isDataTexture?a.push(kT(r[o].image)):a.push(kT(r[o]))}else a=kT(r);i.url=a}return t||(e.images[this.uuid]=i),i}}function kT(n){return typeof HTMLImageElement!="undefined"&&n instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&n instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?Hee.getDataURL(n):n.data?{data:Array.from(n.data),width:n.width,height:n.height,type:n.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let dRe=0;class Sn extends El{constructor(e=Sn.DEFAULT_IMAGE,t=Sn.DEFAULT_MAPPING,i=yi,r=yi,a=ln,o=Xs,s=Ma,l=O5,u=Sn.DEFAULT_ANISOTROPY,c=Ea){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:dRe++}),this.uuid=Da(),this.name="",this.source=new Wee(e),this.mipmaps=[],this.mapping=t,this.channel=0,this.wrapS=i,this.wrapT=r,this.magFilter=a,this.minFilter=o,this.anisotropy=u,this.format=s,this.internalFormat=null,this.type=l,this.offset=new J2(0,0),this.repeat=new J2(1,1),this.center=new J2(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new i1,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,typeof c=="string"?this.colorSpace=c:(J8("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=c===Z8?Y1:Ea),this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const i={metadata:{version:4.6,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Lee)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case In:e.x=e.x-Math.floor(e.x);break;case yi:e.x=e.x<0?0:1;break;case Ly:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case In:e.y=e.y-Math.floor(e.y);break;case yi:e.y=e.y<0?0:1;break;case Ly:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return J8("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Y1?Z8:Uee}set encoding(e){J8("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Z8?Y1:Ea}}Sn.DEFAULT_IMAGE=null;Sn.DEFAULT_MAPPING=Lee;Sn.DEFAULT_ANISOTROPY=1;class P1{constructor(e=0,t=0,i=0,r=1){P1.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,a=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*r+o[12]*a,this.y=o[1]*t+o[5]*i+o[9]*r+o[13]*a,this.z=o[2]*t+o[6]*i+o[10]*r+o[14]*a,this.w=o[3]*t+o[7]*i+o[11]*r+o[15]*a,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,a;const l=e.elements,u=l[0],c=l[4],d=l[8],h=l[1],f=l[5],p=l[9],g=l[2],m=l[6],v=l[10];if(Math.abs(c-h)<.01&&Math.abs(d-g)<.01&&Math.abs(p-m)<.01){if(Math.abs(c+h)<.1&&Math.abs(d+g)<.1&&Math.abs(p+m)<.1&&Math.abs(u+f+v-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const S=(u+1)/2,x=(f+1)/2,A=(v+1)/2,C=(c+h)/4,M=(d+g)/4,I=(p+m)/4;return S>x&&S>A?S<.01?(i=0,r=.707106781,a=.707106781):(i=Math.sqrt(S),r=C/i,a=M/i):x>A?x<.01?(i=.707106781,r=0,a=.707106781):(r=Math.sqrt(x),i=C/r,a=I/r):A<.01?(i=.707106781,r=.707106781,a=0):(a=Math.sqrt(A),i=M/a,r=I/a),this.set(i,r,a,t),this}let _=Math.sqrt((m-p)*(m-p)+(d-g)*(d-g)+(h-c)*(h-c));return Math.abs(_)<.001&&(_=1),this.x=(m-p)/_,this.y=(d-g)/_,this.z=(h-c)/_,this.w=Math.acos((u+f+v-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class hRe extends El{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new P1(0,0,e,t),this.scissorTest=!1,this.viewport=new P1(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(J8("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===Z8?Y1:Ea),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:ln,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new Sn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new Wee(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class ul extends hRe{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class jee extends Sn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=yn,this.minFilter=yn,this.wrapR=yi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class fRe extends Sn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=yn,this.minFilter=yn,this.wrapR=yi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class vo{constructor(e=0,t=0,i=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=i,this._w=r}static slerpFlat(e,t,i,r,a,o,s){let l=i[r+0],u=i[r+1],c=i[r+2],d=i[r+3];const h=a[o+0],f=a[o+1],p=a[o+2],g=a[o+3];if(s===0){e[t+0]=l,e[t+1]=u,e[t+2]=c,e[t+3]=d;return}if(s===1){e[t+0]=h,e[t+1]=f,e[t+2]=p,e[t+3]=g;return}if(d!==g||l!==h||u!==f||c!==p){let m=1-s;const v=l*h+u*f+c*p+d*g,_=v>=0?1:-1,S=1-v*v;if(S>Number.EPSILON){const A=Math.sqrt(S),C=Math.atan2(A,v*_);m=Math.sin(m*C)/A,s=Math.sin(s*C)/A}const x=s*_;if(l=l*m+h*x,u=u*m+f*x,c=c*m+p*x,d=d*m+g*x,m===1-s){const A=1/Math.sqrt(l*l+u*u+c*c+d*d);l*=A,u*=A,c*=A,d*=A}}e[t]=l,e[t+1]=u,e[t+2]=c,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,a,o){const s=i[r],l=i[r+1],u=i[r+2],c=i[r+3],d=a[o],h=a[o+1],f=a[o+2],p=a[o+3];return e[t]=s*p+c*d+l*f-u*h,e[t+1]=l*p+c*h+u*d-s*f,e[t+2]=u*p+c*f+s*h-l*d,e[t+3]=c*p-s*d-l*h-u*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,a=e._z,o=e._order,s=Math.cos,l=Math.sin,u=s(i/2),c=s(r/2),d=s(a/2),h=l(i/2),f=l(r/2),p=l(a/2);switch(o){case"XYZ":this._x=h*c*d+u*f*p,this._y=u*f*d-h*c*p,this._z=u*c*p+h*f*d,this._w=u*c*d-h*f*p;break;case"YXZ":this._x=h*c*d+u*f*p,this._y=u*f*d-h*c*p,this._z=u*c*p-h*f*d,this._w=u*c*d+h*f*p;break;case"ZXY":this._x=h*c*d-u*f*p,this._y=u*f*d+h*c*p,this._z=u*c*p+h*f*d,this._w=u*c*d-h*f*p;break;case"ZYX":this._x=h*c*d-u*f*p,this._y=u*f*d+h*c*p,this._z=u*c*p-h*f*d,this._w=u*c*d+h*f*p;break;case"YZX":this._x=h*c*d+u*f*p,this._y=u*f*d+h*c*p,this._z=u*c*p-h*f*d,this._w=u*c*d-h*f*p;break;case"XZY":this._x=h*c*d-u*f*p,this._y=u*f*d-h*c*p,this._z=u*c*p+h*f*d,this._w=u*c*d+h*f*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],a=t[8],o=t[1],s=t[5],l=t[9],u=t[2],c=t[6],d=t[10],h=i+s+d;if(h>0){const f=.5/Math.sqrt(h+1);this._w=.25/f,this._x=(c-l)*f,this._y=(a-u)*f,this._z=(o-r)*f}else if(i>s&&i>d){const f=2*Math.sqrt(1+i-s-d);this._w=(c-l)/f,this._x=.25*f,this._y=(r+o)/f,this._z=(a+u)/f}else if(s>d){const f=2*Math.sqrt(1+s-i-d);this._w=(a-u)/f,this._x=(r+o)/f,this._y=.25*f,this._z=(l+c)/f}else{const f=2*Math.sqrt(1+d-i-s);this._w=(o-r)/f,this._x=(a+u)/f,this._y=(l+c)/f,this._z=.25*f}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return i<Number.EPSILON?(i=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(cn(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,a=e._z,o=e._w,s=t._x,l=t._y,u=t._z,c=t._w;return this._x=i*c+o*s+r*u-a*l,this._y=r*c+o*l+a*s-i*u,this._z=a*c+o*u+i*l-r*s,this._w=o*c-i*s-r*l-a*u,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,a=this._z,o=this._w;let s=o*e._w+i*e._x+r*e._y+a*e._z;if(s<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,s=-s):this.copy(e),s>=1)return this._w=o,this._x=i,this._y=r,this._z=a,this;const l=1-s*s;if(l<=Number.EPSILON){const f=1-t;return this._w=f*o+t*this._w,this._x=f*i+t*this._x,this._y=f*r+t*this._y,this._z=f*a+t*this._z,this.normalize(),this}const u=Math.sqrt(l),c=Math.atan2(u,s),d=Math.sin((1-t)*c)/u,h=Math.sin(t*c)/u;return this._w=o*d+this._w*h,this._x=i*d+this._x*h,this._y=r*d+this._y*h,this._z=a*d+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),a=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(a),i*Math.cos(a),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Ge{constructor(e=0,t=0,i=0){Ge.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(QV.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(QV.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,a=e.elements;return this.x=a[0]*t+a[3]*i+a[6]*r,this.y=a[1]*t+a[4]*i+a[7]*r,this.z=a[2]*t+a[5]*i+a[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,a=e.elements,o=1/(a[3]*t+a[7]*i+a[11]*r+a[15]);return this.x=(a[0]*t+a[4]*i+a[8]*r+a[12])*o,this.y=(a[1]*t+a[5]*i+a[9]*r+a[13])*o,this.z=(a[2]*t+a[6]*i+a[10]*r+a[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,a=e.x,o=e.y,s=e.z,l=e.w,u=2*(o*r-s*i),c=2*(s*t-a*r),d=2*(a*i-o*t);return this.x=t+l*u+o*d-s*c,this.y=i+l*c+s*u-a*d,this.z=r+l*d+a*c-o*u,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,a=e.elements;return this.x=a[0]*t+a[4]*i+a[8]*r,this.y=a[1]*t+a[5]*i+a[9]*r,this.z=a[2]*t+a[6]*i+a[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,a=e.z,o=t.x,s=t.y,l=t.z;return this.x=r*l-a*s,this.y=a*o-i*l,this.z=i*s-r*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return FT.copy(this).projectOnVector(e),this.sub(FT)}reflect(e){return this.sub(FT.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(cn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-Rs(e,2));return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const FT=new Ge,QV=new vo;class Ha{constructor(e=new Ge(1/0,1/0,1/0),t=new Ge(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t+=3)this.expandByPoint(Ja.fromArray(e,t));return this}setFromBufferAttribute(e){this.makeEmpty();for(let t=0,i=e.count;t<i;t++)this.expandByPoint(Ja.fromBufferAttribute(e,t));return this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;t<i;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const i=Ja.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}setFromObject(e,t=!1){return this.makeEmpty(),this.expandByObject(e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e,t=!1){e.updateWorldMatrix(!1,!1);const i=e.geometry;if(i!==void 0){const a=i.getAttribute("position");if(t===!0&&a!==void 0&&e.isInstancedMesh!==!0)for(let o=0,s=a.count;o<s;o++)e.isMesh===!0?e.getVertexPosition(o,Ja):Ja.fromBufferAttribute(a,o),Ja.applyMatrix4(e.matrixWorld),this.expandByPoint(Ja);else e.boundingBox!==void 0?(e.boundingBox===null&&e.computeBoundingBox(),Nm.copy(e.boundingBox)):(i.boundingBox===null&&i.computeBoundingBox(),Nm.copy(i.boundingBox)),Nm.applyMatrix4(e.matrixWorld),this.union(Nm)}const r=e.children;for(let a=0,o=r.length;a<o;a++)this.expandByObject(r[a],t);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Ja),Ja.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Rc),km.subVectors(this.max,Rc),y4.subVectors(e.a,Rc),_4.subVectors(e.b,Rc),S4.subVectors(e.c,Rc),q6.subVectors(_4,y4),X6.subVectors(S4,_4),Z9.subVectors(y4,S4);let t=[0,-q6.z,q6.y,0,-X6.z,X6.y,0,-Z9.z,Z9.y,q6.z,0,-q6.x,X6.z,0,-X6.x,Z9.z,0,-Z9.x,-q6.y,q6.x,0,-X6.y,X6.x,0,-Z9.y,Z9.x,0];return!OT(t,y4,_4,S4,km)||(t=[1,0,0,0,1,0,0,0,1],!OT(t,y4,_4,S4,km))?!1:(Fm.crossVectors(q6,X6),t=[Fm.x,Fm.y,Fm.z],OT(t,y4,_4,S4,km))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Ja).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Ja).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Ns[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ns[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ns[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ns[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ns[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ns[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ns[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ns[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ns),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Ns=[new Ge,new Ge,new Ge,new Ge,new Ge,new Ge,new Ge,new Ge],Ja=new Ge,Nm=new Ha,y4=new Ge,_4=new Ge,S4=new Ge,q6=new Ge,X6=new Ge,Z9=new Ge,Rc=new Ge,km=new Ge,Fm=new Ge,J9=new Ge;function OT(n,e,t,i,r){for(let a=0,o=n.length-3;a<=o;a+=3){J9.fromArray(n,a);const s=r.x*Math.abs(J9.x)+r.y*Math.abs(J9.y)+r.z*Math.abs(J9.z),l=e.dot(J9),u=t.dot(J9),c=i.dot(J9);if(Math.max(-Math.max(l,u,c),Math.min(l,u,c))>s)return!1}return!0}const pRe=new Ha,Lc=new Ge,BT=new Ge;class Wa{constructor(e=new Ge,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):pRe.setFromPoints(e).getCenter(i);let r=0;for(let a=0,o=e.length;a<o;a++)r=Math.max(r,i.distanceToSquared(e[a]));return this.radius=Math.sqrt(r),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const i=this.center.distanceToSquared(e);return t.copy(e),i>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Lc.subVectors(e,this.center);const t=Lc.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(Lc,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(BT.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Lc.copy(e.center).add(BT)),this.expandByPoint(Lc.copy(e.center).sub(BT))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const ks=new Ge,zT=new Ge,Om=new Ge,K6=new Ge,UT=new Ge,Bm=new Ge,GT=new Ge;class xu{constructor(e=new Ge,t=new Ge(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,ks)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=ks.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(ks.copy(this.origin).addScaledVector(this.direction,t),ks.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){zT.copy(e).add(t).multiplyScalar(.5),Om.copy(t).sub(e).normalize(),K6.copy(this.origin).sub(zT);const a=e.distanceTo(t)*.5,o=-this.direction.dot(Om),s=K6.dot(this.direction),l=-K6.dot(Om),u=K6.lengthSq(),c=Math.abs(1-o*o);let d,h,f,p;if(c>0)if(d=o*l-s,h=o*s-l,p=a*c,d>=0)if(h>=-p)if(h<=p){const g=1/c;d*=g,h*=g,f=d*(d+o*h+2*s)+h*(o*d+h+2*l)+u}else h=a,d=Math.max(0,-(o*h+s)),f=-d*d+h*(h+2*l)+u;else h=-a,d=Math.max(0,-(o*h+s)),f=-d*d+h*(h+2*l)+u;else h<=-p?(d=Math.max(0,-(-o*a+s)),h=d>0?-a:Math.min(Math.max(-a,-l),a),f=-d*d+h*(h+2*l)+u):h<=p?(d=0,h=Math.min(Math.max(-a,-l),a),f=h*(h+2*l)+u):(d=Math.max(0,-(o*a+s)),h=d>0?a:Math.min(Math.max(-a,-l),a),f=-d*d+h*(h+2*l)+u);else h=o>0?-a:a,d=Math.max(0,-(o*h+s)),f=-d*d+h*(h+2*l)+u;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(zT).addScaledVector(Om,h),f}intersectSphere(e,t){ks.subVectors(e.center,this.origin);const i=ks.dot(this.direction),r=ks.dot(ks)-i*i,a=e.radius*e.radius;if(r>a)return null;const o=Math.sqrt(a-r),s=i-o,l=i+o;return l<0?null:s<0?this.at(l,t):this.at(s,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,a,o,s,l;const u=1/this.direction.x,c=1/this.direction.y,d=1/this.direction.z,h=this.origin;return u>=0?(i=(e.min.x-h.x)*u,r=(e.max.x-h.x)*u):(i=(e.max.x-h.x)*u,r=(e.min.x-h.x)*u),c>=0?(a=(e.min.y-h.y)*c,o=(e.max.y-h.y)*c):(a=(e.max.y-h.y)*c,o=(e.min.y-h.y)*c),i>o||a>r||((a>i||isNaN(i))&&(i=a),(o<r||isNaN(r))&&(r=o),d>=0?(s=(e.min.z-h.z)*d,l=(e.max.z-h.z)*d):(s=(e.max.z-h.z)*d,l=(e.min.z-h.z)*d),i>l||s>r)||((s>i||i!==i)&&(i=s),(l<r||r!==r)&&(r=l),r<0)?null:this.at(i>=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,ks)!==null}intersectTriangle(e,t,i,r,a){UT.subVectors(t,e),Bm.subVectors(i,e),GT.crossVectors(UT,Bm);let o=this.direction.dot(GT),s;if(o>0){if(r)return null;s=1}else if(o<0)s=-1,o=-o;else return null;K6.subVectors(this.origin,e);const l=s*this.direction.dot(Bm.crossVectors(K6,Bm));if(l<0)return null;const u=s*this.direction.dot(UT.cross(K6));if(u<0||l+u>o)return null;const c=-s*K6.dot(GT);return c<0?null:this.at(c/o,a)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class F3{constructor(e,t,i,r,a,o,s,l,u,c,d,h,f,p,g,m){F3.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,a,o,s,l,u,c,d,h,f,p,g,m)}set(e,t,i,r,a,o,s,l,u,c,d,h,f,p,g,m){const v=this.elements;return v[0]=e,v[4]=t,v[8]=i,v[12]=r,v[1]=a,v[5]=o,v[9]=s,v[13]=l,v[2]=u,v[6]=c,v[10]=d,v[14]=h,v[3]=f,v[7]=p,v[11]=g,v[15]=m,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new F3().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/b4.setFromMatrixColumn(e,0).length(),a=1/b4.setFromMatrixColumn(e,1).length(),o=1/b4.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*a,t[5]=i[5]*a,t[6]=i[6]*a,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,a=e.z,o=Math.cos(i),s=Math.sin(i),l=Math.cos(r),u=Math.sin(r),c=Math.cos(a),d=Math.sin(a);if(e.order==="XYZ"){const h=o*c,f=o*d,p=s*c,g=s*d;t[0]=l*c,t[4]=-l*d,t[8]=u,t[1]=f+p*u,t[5]=h-g*u,t[9]=-s*l,t[2]=g-h*u,t[6]=p+f*u,t[10]=o*l}else if(e.order==="YXZ"){const h=l*c,f=l*d,p=u*c,g=u*d;t[0]=h+g*s,t[4]=p*s-f,t[8]=o*u,t[1]=o*d,t[5]=o*c,t[9]=-s,t[2]=f*s-p,t[6]=g+h*s,t[10]=o*l}else if(e.order==="ZXY"){const h=l*c,f=l*d,p=u*c,g=u*d;t[0]=h-g*s,t[4]=-o*d,t[8]=p+f*s,t[1]=f+p*s,t[5]=o*c,t[9]=g-h*s,t[2]=-o*u,t[6]=s,t[10]=o*l}else if(e.order==="ZYX"){const h=o*c,f=o*d,p=s*c,g=s*d;t[0]=l*c,t[4]=p*u-f,t[8]=h*u+g,t[1]=l*d,t[5]=g*u+h,t[9]=f*u-p,t[2]=-u,t[6]=s*l,t[10]=o*l}else if(e.order==="YZX"){const h=o*l,f=o*u,p=s*l,g=s*u;t[0]=l*c,t[4]=g-h*d,t[8]=p*d+f,t[1]=d,t[5]=o*c,t[9]=-s*c,t[2]=-u*c,t[6]=f*d+p,t[10]=h-g*d}else if(e.order==="XZY"){const h=o*l,f=o*u,p=s*l,g=s*u;t[0]=l*c,t[4]=-d,t[8]=u*c,t[1]=h*d+g,t[5]=o*c,t[9]=f*d-p,t[2]=p*d-f,t[6]=s*c,t[10]=g*d+h}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(mRe,e,gRe)}lookAt(e,t,i){const r=this.elements;return Rr.subVectors(e,t),Rr.lengthSq()===0&&(Rr.z=1),Rr.normalize(),Z6.crossVectors(i,Rr),Z6.lengthSq()===0&&(Math.abs(i.z)===1?Rr.x+=1e-4:Rr.z+=1e-4,Rr.normalize(),Z6.crossVectors(i,Rr)),Z6.normalize(),zm.crossVectors(Rr,Z6),r[0]=Z6.x,r[4]=zm.x,r[8]=Rr.x,r[1]=Z6.y,r[5]=zm.y,r[9]=Rr.y,r[2]=Z6.z,r[6]=zm.z,r[10]=Rr.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,a=this.elements,o=i[0],s=i[4],l=i[8],u=i[12],c=i[1],d=i[5],h=i[9],f=i[13],p=i[2],g=i[6],m=i[10],v=i[14],_=i[3],S=i[7],x=i[11],A=i[15],C=r[0],M=r[4],I=r[8],D=r[12],E=r[1],L=r[5],V=r[9],Y=r[13],G=r[2],W=r[6],q=r[10],ce=r[14],J=r[3],H=r[7],re=r[11],ee=r[15];return a[0]=o*C+s*E+l*G+u*J,a[4]=o*M+s*L+l*W+u*H,a[8]=o*I+s*V+l*q+u*re,a[12]=o*D+s*Y+l*ce+u*ee,a[1]=c*C+d*E+h*G+f*J,a[5]=c*M+d*L+h*W+f*H,a[9]=c*I+d*V+h*q+f*re,a[13]=c*D+d*Y+h*ce+f*ee,a[2]=p*C+g*E+m*G+v*J,a[6]=p*M+g*L+m*W+v*H,a[10]=p*I+g*V+m*q+v*re,a[14]=p*D+g*Y+m*ce+v*ee,a[3]=_*C+S*E+x*G+A*J,a[7]=_*M+S*L+x*W+A*H,a[11]=_*I+S*V+x*q+A*re,a[15]=_*D+S*Y+x*ce+A*ee,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],a=e[12],o=e[1],s=e[5],l=e[9],u=e[13],c=e[2],d=e[6],h=e[10],f=e[14],p=e[3],g=e[7],m=e[11],v=e[15];return p*(+a*l*d-r*u*d-a*s*h+i*u*h+r*s*f-i*l*f)+g*(+t*l*f-t*u*h+a*o*h-r*o*f+r*u*c-a*l*c)+m*(+t*u*d-t*s*f-a*o*d+i*o*f+a*s*c-i*u*c)+v*(-r*s*c-t*l*d+t*s*h+r*o*d-i*o*h+i*l*c)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],d=e[9],h=e[10],f=e[11],p=e[12],g=e[13],m=e[14],v=e[15],_=d*m*u-g*h*u+g*l*f-s*m*f-d*l*v+s*h*v,S=p*h*u-c*m*u-p*l*f+o*m*f+c*l*v-o*h*v,x=c*g*u-p*d*u+p*s*f-o*g*f-c*s*v+o*d*v,A=p*d*l-c*g*l-p*s*h+o*g*h+c*s*m-o*d*m,C=t*_+i*S+r*x+a*A;if(C===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const M=1/C;return e[0]=_*M,e[1]=(g*h*a-d*m*a-g*r*f+i*m*f+d*r*v-i*h*v)*M,e[2]=(s*m*a-g*l*a+g*r*u-i*m*u-s*r*v+i*l*v)*M,e[3]=(d*l*a-s*h*a-d*r*u+i*h*u+s*r*f-i*l*f)*M,e[4]=S*M,e[5]=(c*m*a-p*h*a+p*r*f-t*m*f-c*r*v+t*h*v)*M,e[6]=(p*l*a-o*m*a-p*r*u+t*m*u+o*r*v-t*l*v)*M,e[7]=(o*h*a-c*l*a+c*r*u-t*h*u-o*r*f+t*l*f)*M,e[8]=x*M,e[9]=(p*d*a-c*g*a-p*i*f+t*g*f+c*i*v-t*d*v)*M,e[10]=(o*g*a-p*s*a+p*i*u-t*g*u-o*i*v+t*s*v)*M,e[11]=(c*s*a-o*d*a-c*i*u+t*d*u+o*i*f-t*s*f)*M,e[12]=A*M,e[13]=(c*g*r-p*d*r+p*i*h-t*g*h-c*i*m+t*d*m)*M,e[14]=(p*s*r-o*g*r-p*i*l+t*g*l+o*i*m-t*s*m)*M,e[15]=(o*d*r-c*s*r+c*i*l-t*d*l-o*i*h+t*s*h)*M,this}scale(e){const t=this.elements,i=e.x,r=e.y,a=e.z;return t[0]*=i,t[4]*=r,t[8]*=a,t[1]*=i,t[5]*=r,t[9]*=a,t[2]*=i,t[6]*=r,t[10]*=a,t[3]*=i,t[7]*=r,t[11]*=a,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),a=1-i,o=e.x,s=e.y,l=e.z,u=a*o,c=a*s;return this.set(u*o+i,u*s-r*l,u*l+r*s,0,u*s+r*l,c*s+i,c*l-r*o,0,u*l-r*s,c*l+r*o,a*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,a,o){return this.set(1,i,a,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,a=t._x,o=t._y,s=t._z,l=t._w,u=a+a,c=o+o,d=s+s,h=a*u,f=a*c,p=a*d,g=o*c,m=o*d,v=s*d,_=l*u,S=l*c,x=l*d,A=i.x,C=i.y,M=i.z;return r[0]=(1-(g+v))*A,r[1]=(f+x)*A,r[2]=(p-S)*A,r[3]=0,r[4]=(f-x)*C,r[5]=(1-(h+v))*C,r[6]=(m+_)*C,r[7]=0,r[8]=(p+S)*M,r[9]=(m-_)*M,r[10]=(1-(h+g))*M,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let a=b4.set(r[0],r[1],r[2]).length();const o=b4.set(r[4],r[5],r[6]).length(),s=b4.set(r[8],r[9],r[10]).length();this.determinant()<0&&(a=-a),e.x=r[12],e.y=r[13],e.z=r[14],Qa.copy(this);const u=1/a,c=1/o,d=1/s;return Qa.elements[0]*=u,Qa.elements[1]*=u,Qa.elements[2]*=u,Qa.elements[4]*=c,Qa.elements[5]*=c,Qa.elements[6]*=c,Qa.elements[8]*=d,Qa.elements[9]*=d,Qa.elements[10]*=d,t.setFromRotationMatrix(Qa),i.x=a,i.y=o,i.z=s,this}makePerspective(e,t,i,r,a,o,s=Ks){const l=this.elements,u=2*a/(t-e),c=2*a/(i-r),d=(t+e)/(t-e),h=(i+r)/(i-r);let f,p;if(s===Ks)f=-(o+a)/(o-a),p=-2*o*a/(o-a);else if(s===ky)f=-o/(o-a),p=-o*a/(o-a);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+s);return l[0]=u,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=c,l[9]=h,l[13]=0,l[2]=0,l[6]=0,l[10]=f,l[14]=p,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,a,o,s=Ks){const l=this.elements,u=1/(t-e),c=1/(i-r),d=1/(o-a),h=(t+e)*u,f=(i+r)*c;let p,g;if(s===Ks)p=(o+a)*d,g=-2*d;else if(s===ky)p=a*d,g=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+s);return l[0]=2*u,l[4]=0,l[8]=0,l[12]=-h,l[1]=0,l[5]=2*c,l[9]=0,l[13]=-f,l[2]=0,l[6]=0,l[10]=g,l[14]=-p,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const b4=new Ge,Qa=new F3,mRe=new Ge(0,0,0),gRe=new Ge(1,1,1),Z6=new Ge,zm=new Ge,Rr=new Ge,eH=new F3,tH=new vo;class oS{constructor(e=0,t=0,i=0,r=oS.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,a=r[0],o=r[4],s=r[8],l=r[1],u=r[5],c=r[9],d=r[2],h=r[6],f=r[10];switch(t){case"XYZ":this._y=Math.asin(cn(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-c,f),this._z=Math.atan2(-o,a)):(this._x=Math.atan2(h,u),this._z=0);break;case"YXZ":this._x=Math.asin(-cn(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(s,f),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-d,a),this._z=0);break;case"ZXY":this._x=Math.asin(cn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-d,f),this._z=Math.atan2(-o,u)):(this._y=0,this._z=Math.atan2(l,a));break;case"ZYX":this._y=Math.asin(-cn(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(h,f),this._z=Math.atan2(l,a)):(this._x=0,this._z=Math.atan2(-o,u));break;case"YZX":this._z=Math.asin(cn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-c,u),this._y=Math.atan2(-d,a)):(this._x=0,this._y=Math.atan2(s,f));break;case"XZY":this._z=Math.asin(-cn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(h,u),this._y=Math.atan2(s,a)):(this._x=Math.atan2(-c,f),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return eH.makeRotationFromQuaternion(e),this.setFromRotationMatrix(eH,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return tH.setFromEuler(this),this.setFromQuaternion(tH,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}oS.DEFAULT_ORDER="XYZ";class gL{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return(this.mask&e.mask)!==0}isEnabled(e){return(this.mask&(1<<e|0))!==0}}let vRe=0;const nH=new Ge,x4=new vo,Fs=new F3,Um=new Ge,Ic=new Ge,yRe=new Ge,_Re=new vo,iH=new Ge(1,0,0),rH=new Ge(0,1,0),aH=new Ge(0,0,1),SRe={type:"added"},bRe={type:"removed"};class u0 extends El{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:vRe++}),this.uuid=Da(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=u0.DEFAULT_UP.clone();const e=new Ge,t=new oS,i=new vo,r=new Ge(1,1,1);function a(){i.setFromEuler(t,!1)}function o(){t.setFromQuaternion(i,void 0,!1)}t._onChange(a),i._onChange(o),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:r},modelViewMatrix:{value:new F3},normalMatrix:{value:new i1}}),this.matrix=new F3,this.matrixWorld=new F3,this.matrixAutoUpdate=u0.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=u0.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new gL,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return x4.setFromAxisAngle(e,t),this.quaternion.multiply(x4),this}rotateOnWorldAxis(e,t){return x4.setFromAxisAngle(e,t),this.quaternion.premultiply(x4),this}rotateX(e){return this.rotateOnAxis(iH,e)}rotateY(e){return this.rotateOnAxis(rH,e)}rotateZ(e){return this.rotateOnAxis(aH,e)}translateOnAxis(e,t){return nH.copy(e).applyQuaternion(this.quaternion),this.position.add(nH.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(iH,e)}translateY(e){return this.translateOnAxis(rH,e)}translateZ(e){return this.translateOnAxis(aH,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(Fs.copy(this.matrixWorld).invert())}lookAt(e,t,i){e.isVector3?Um.copy(e):Um.set(e,t,i);const r=this.parent;this.updateWorldMatrix(!0,!1),Ic.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Fs.lookAt(Ic,Um,this.up):Fs.lookAt(Um,Ic,this.up),this.quaternion.setFromRotationMatrix(Fs),r&&(Fs.extractRotation(r.matrixWorld),x4.setFromRotationMatrix(Fs),this.quaternion.premultiply(x4.invert()))}add(e){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(e.parent!==null&&e.parent.remove(e),e.parent=this,this.children.push(e),e.dispatchEvent(SRe)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.remove(arguments[i]);return this}const t=this.children.indexOf(e);return t!==-1&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(bRe)),this}removeFromParent(){const e=this.parent;return e!==null&&e.remove(this),this}clear(){return this.remove(...this.children)}attach(e){return this.updateWorldMatrix(!0,!1),Fs.copy(this.matrixWorld).invert(),e.parent!==null&&(e.parent.updateWorldMatrix(!0,!1),Fs.multiply(e.parent.matrixWorld)),e.applyMatrix4(Fs),this.add(e),e.updateWorldMatrix(!1,!0),this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let i=0,r=this.children.length;i<r;i++){const o=this.children[i].getObjectByProperty(e,t);if(o!==void 0)return o}}getObjectsByProperty(e,t,i=[]){this[e]===t&&i.push(this);const r=this.children;for(let a=0,o=r.length;a<o;a++)r[a].getObjectsByProperty(e,t,i);return i}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Ic,e,yRe),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Ic,_Re,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverse(e)}traverseVisible(e){if(this.visible===!1)return;e(this);const t=this.children;for(let i=0,r=t.length;i<r;i++)t[i].traverseVisible(e)}traverseAncestors(e){const t=this.parent;t!==null&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);const t=this.children;for(let i=0,r=t.length;i<r;i++){const a=t[i];(a.matrixWorldAutoUpdate===!0||e===!0)&&a.updateMatrixWorld(e)}}updateWorldMatrix(e,t){const i=this.parent;if(e===!0&&i!==null&&i.matrixWorldAutoUpdate===!0&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),t===!0){const r=this.children;for(let a=0,o=r.length;a<o;a++){const s=r[a];s.matrixWorldAutoUpdate===!0&&s.updateWorldMatrix(!1,!0)}}}toJSON(e){const t=e===void 0||typeof e=="string",i={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},i.metadata={version:4.6,type:"Object",generator:"Object3D.toJSON"});const r={};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.castShadow===!0&&(r.castShadow=!0),this.receiveShadow===!0&&(r.receiveShadow=!0),this.visible===!1&&(r.visible=!1),this.frustumCulled===!1&&(r.frustumCulled=!1),this.renderOrder!==0&&(r.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map(s=>({boxInitialized:s.boxInitialized,boxMin:s.box.min.toArray(),boxMax:s.box.max.toArray(),sphereInitialized:s.sphereInitialized,sphereRadius:s.sphere.radius,sphereCenter:s.sphere.center.toArray()})),r.maxGeometryCount=this._maxGeometryCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()}));function a(s,l){return s[l.uuid]===void 0&&(s[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=a(e.geometries,this.geometry);const s=this.geometry.parameters;if(s!==void 0&&s.shapes!==void 0){const l=s.shapes;if(Array.isArray(l))for(let u=0,c=l.length;u<c;u++){const d=l[u];a(e.shapes,d)}else a(e.shapes,l)}}if(this.isSkinnedMesh&&(r.bindMode=this.bindMode,r.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(a(e.skeletons,this.skeleton),r.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){const s=[];for(let l=0,u=this.material.length;l<u;l++)s.push(a(e.materials,this.material[l]));r.material=s}else r.material=a(e.materials,this.material);if(this.children.length>0){r.children=[];for(let s=0;s<this.children.length;s++)r.children.push(this.children[s].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let s=0;s<this.animations.length;s++){const l=this.animations[s];r.animations.push(a(e.animations,l))}}if(t){const s=o(e.geometries),l=o(e.materials),u=o(e.textures),c=o(e.images),d=o(e.shapes),h=o(e.skeletons),f=o(e.animations),p=o(e.nodes);s.length>0&&(i.geometries=s),l.length>0&&(i.materials=l),u.length>0&&(i.textures=u),c.length>0&&(i.images=c),d.length>0&&(i.shapes=d),h.length>0&&(i.skeletons=h),f.length>0&&(i.animations=f),p.length>0&&(i.nodes=p)}return i.object=r,i;function o(s){const l=[];for(const u in s){const c=s[u];delete c.metadata,l.push(c)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i<e.children.length;i++){const r=e.children[i];this.add(r.clone())}return this}}u0.DEFAULT_UP=new Ge(0,1,0);u0.DEFAULT_MATRIX_AUTO_UPDATE=!0;u0.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const eo=new Ge,Os=new Ge,VT=new Ge,Bs=new Ge,w4=new Ge,T4=new Ge,oH=new Ge,HT=new Ge,WT=new Ge,jT=new Ge;class oo{constructor(e=new Ge,t=new Ge,i=new Ge){this.a=e,this.b=t,this.c=i}static getNormal(e,t,i,r){r.subVectors(i,t),eo.subVectors(e,t),r.cross(eo);const a=r.lengthSq();return a>0?r.multiplyScalar(1/Math.sqrt(a)):r.set(0,0,0)}static getBarycoord(e,t,i,r,a){eo.subVectors(r,t),Os.subVectors(i,t),VT.subVectors(e,t);const o=eo.dot(eo),s=eo.dot(Os),l=eo.dot(VT),u=Os.dot(Os),c=Os.dot(VT),d=o*u-s*s;if(d===0)return a.set(0,0,0),null;const h=1/d,f=(u*l-s*c)*h,p=(o*c-s*l)*h;return a.set(1-f-p,p,f)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Bs)===null?!1:Bs.x>=0&&Bs.y>=0&&Bs.x+Bs.y<=1}static getInterpolation(e,t,i,r,a,o,s,l){return this.getBarycoord(e,t,i,r,Bs)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(a,Bs.x),l.addScaledVector(o,Bs.y),l.addScaledVector(s,Bs.z),l)}static isFrontFacing(e,t,i,r){return eo.subVectors(i,t),Os.subVectors(e,t),eo.cross(Os).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return eo.subVectors(this.c,this.b),Os.subVectors(this.a,this.b),eo.cross(Os).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return oo.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return oo.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,a){return oo.getInterpolation(e,this.a,this.b,this.c,t,i,r,a)}containsPoint(e){return oo.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return oo.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,a=this.c;let o,s;w4.subVectors(r,i),T4.subVectors(a,i),HT.subVectors(e,i);const l=w4.dot(HT),u=T4.dot(HT);if(l<=0&&u<=0)return t.copy(i);WT.subVectors(e,r);const c=w4.dot(WT),d=T4.dot(WT);if(c>=0&&d<=c)return t.copy(r);const h=l*d-c*u;if(h<=0&&l>=0&&c<=0)return o=l/(l-c),t.copy(i).addScaledVector(w4,o);jT.subVectors(e,a);const f=w4.dot(jT),p=T4.dot(jT);if(p>=0&&f<=p)return t.copy(a);const g=f*u-l*p;if(g<=0&&u>=0&&p<=0)return s=u/(u-p),t.copy(i).addScaledVector(T4,s);const m=c*p-f*d;if(m<=0&&d-c>=0&&f-p>=0)return oH.subVectors(a,r),s=(d-c)/(d-c+(f-p)),t.copy(r).addScaledVector(oH,s);const v=1/(m+g+h);return o=g*v,s=h*v,t.copy(i).addScaledVector(w4,o).addScaledVector(T4,s)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const $ee={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},J6={h:0,s:0,l:0},Gm={h:0,s:0,l:0};function $T(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class Yt{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Y1){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,z1.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=z1.workingColorSpace){return this.r=e,this.g=t,this.b=i,z1.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=z1.workingColorSpace){if(e=pL(e,1),t=cn(t,0,1),i=cn(i,0,1),t===0)this.r=this.g=this.b=i;else{const a=i<=.5?i*(1+t):i+t-i*t,o=2*i-a;this.r=$T(o,a,e+1/3),this.g=$T(o,a,e),this.b=$T(o,a,e-1/3)}return z1.toWorkingColorSpace(this,r),this}setStyle(e,t=Y1){function i(a){a!==void 0&&parseFloat(a)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let a;const o=r[1],s=r[2];switch(o){case"rgb":case"rgba":if(a=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return i(a[4]),this.setRGB(Math.min(255,parseInt(a[1],10))/255,Math.min(255,parseInt(a[2],10))/255,Math.min(255,parseInt(a[3],10))/255,t);if(a=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return i(a[4]),this.setRGB(Math.min(100,parseInt(a[1],10))/100,Math.min(100,parseInt(a[2],10))/100,Math.min(100,parseInt(a[3],10))/100,t);break;case"hsl":case"hsla":if(a=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return i(a[4]),this.setHSL(parseFloat(a[1])/360,parseFloat(a[2])/100,parseFloat(a[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const a=r[1],o=a.length;if(o===3)return this.setRGB(parseInt(a.charAt(0),16)/15,parseInt(a.charAt(1),16)/15,parseInt(a.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(a,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Y1){const i=$ee[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=_7(e.r),this.g=_7(e.g),this.b=_7(e.b),this}copyLinearToSRGB(e){return this.r=NT(e.r),this.g=NT(e.g),this.b=NT(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Y1){return z1.fromWorkingColorSpace(ui.copy(this),e),Math.round(cn(ui.r*255,0,255))*65536+Math.round(cn(ui.g*255,0,255))*256+Math.round(cn(ui.b*255,0,255))}getHexString(e=Y1){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=z1.workingColorSpace){z1.fromWorkingColorSpace(ui.copy(this),t);const i=ui.r,r=ui.g,a=ui.b,o=Math.max(i,r,a),s=Math.min(i,r,a);let l,u;const c=(s+o)/2;if(s===o)l=0,u=0;else{const d=o-s;switch(u=c<=.5?d/(o+s):d/(2-o-s),o){case i:l=(r-a)/d+(r<a?6:0);break;case r:l=(a-i)/d+2;break;case a:l=(i-r)/d+4;break}l/=6}return e.h=l,e.s=u,e.l=c,e}getRGB(e,t=z1.workingColorSpace){return z1.fromWorkingColorSpace(ui.copy(this),t),e.r=ui.r,e.g=ui.g,e.b=ui.b,e}getStyle(e=Y1){z1.fromWorkingColorSpace(ui.copy(this),e);const t=ui.r,i=ui.g,r=ui.b;return e!==Y1?`color(${e} ${t.toFixed(3)} ${i.toFixed(3)} ${r.toFixed(3)})`:`rgb(${Math.round(t*255)},${Math.round(i*255)},${Math.round(r*255)})`}offsetHSL(e,t,i){return this.getHSL(J6),this.setHSL(J6.h+e,J6.s+t,J6.l+i)}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,i){return this.r=e.r+(t.r-e.r)*i,this.g=e.g+(t.g-e.g)*i,this.b=e.b+(t.b-e.b)*i,this}lerpHSL(e,t){this.getHSL(J6),e.getHSL(Gm);const i=Ld(J6.h,Gm.h,t),r=Ld(J6.s,Gm.s,t),a=Ld(J6.l,Gm.l,t);return this.setHSL(i,r,a),this}setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this}applyMatrix3(e){const t=this.r,i=this.g,r=this.b,a=e.elements;return this.r=a[0]*t+a[3]*i+a[6]*r,this.g=a[1]*t+a[4]*i+a[7]*r,this.b=a[2]*t+a[5]*i+a[8]*r,this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const ui=new Yt;Yt.NAMES=$ee;let xRe=0;class Na extends El{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:xRe++}),this.uuid=Da(),this.name="",this.type="Material",this.blending=q8,this.side=d6,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=GM,this.blendDst=VM,this.blendEquation=c5,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new Yt(0,0,0),this.blendAlpha=0,this.depthFunc=Ry,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=YV,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=g4,this.stencilZFail=g4,this.stencilZPass=g4,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==q8&&(i.blending=this.blending),this.side!==d6&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==GM&&(i.blendSrc=this.blendSrc),this.blendDst!==VM&&(i.blendDst=this.blendDst),this.blendEquation!==c5&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Ry&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==YV&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==g4&&(i.stencilFail=this.stencilFail),this.stencilZFail!==g4&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==g4&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(a){const o=[];for(const s in a){const l=a[s];delete l.metadata,o.push(l)}return o}if(t){const a=r(e.textures),o=r(e.images);a.length>0&&(i.textures=a),o.length>0&&(i.images=o)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let a=0;a!==r;++a)i[a]=t[a].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class M1 extends Na{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Yt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=cL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const nn=new Ge,Vm=new J2;class I0{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=YM,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=$o,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return J8("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,a=this.itemSize;r<a;r++)this.array[e+r]=t.array[i+r];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(this.itemSize===2)for(let t=0,i=this.count;t<i;t++)Vm.fromBufferAttribute(this,t),Vm.applyMatrix3(e),this.setXY(t,Vm.x,Vm.y);else if(this.itemSize===3)for(let t=0,i=this.count;t<i;t++)nn.fromBufferAttribute(this,t),nn.applyMatrix3(e),this.setXYZ(t,nn.x,nn.y,nn.z);return this}applyMatrix4(e){for(let t=0,i=this.count;t<i;t++)nn.fromBufferAttribute(this,t),nn.applyMatrix4(e),this.setXYZ(t,nn.x,nn.y,nn.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)nn.fromBufferAttribute(this,t),nn.applyNormalMatrix(e),this.setXYZ(t,nn.x,nn.y,nn.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)nn.fromBufferAttribute(this,t),nn.transformDirection(e),this.setXYZ(t,nn.x,nn.y,nn.z);return this}set(e,t=0){return this.array.set(e,t),this}getComponent(e,t){let i=this.array[e*this.itemSize+t];return this.normalized&&(i=ao(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=H1(i,this.array)),this.array[e*this.itemSize+t]=i,this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=ao(t,this.array)),t}setX(e,t){return this.normalized&&(t=H1(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=ao(t,this.array)),t}setY(e,t){return this.normalized&&(t=H1(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=ao(t,this.array)),t}setZ(e,t){return this.normalized&&(t=H1(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=ao(t,this.array)),t}setW(e,t){return this.normalized&&(t=H1(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,i){return e*=this.itemSize,this.normalized&&(t=H1(t,this.array),i=H1(i,this.array)),this.array[e+0]=t,this.array[e+1]=i,this}setXYZ(e,t,i,r){return e*=this.itemSize,this.normalized&&(t=H1(t,this.array),i=H1(i,this.array),r=H1(r,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this}setXYZW(e,t,i,r,a){return e*=this.itemSize,this.normalized&&(t=H1(t,this.array),i=H1(i,this.array),r=H1(r,this.array),a=H1(a,this.array)),this.array[e+0]=t,this.array[e+1]=i,this.array[e+2]=r,this.array[e+3]=a,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return this.name!==""&&(e.name=this.name),this.usage!==YM&&(e.usage=this.usage),e}}class Yee extends I0{constructor(e,t,i){super(new Uint16Array(e),t,i)}}class qee extends I0{constructor(e,t,i){super(new Uint32Array(e),t,i)}}class S0 extends I0{constructor(e,t,i){super(new Float32Array(e),t,i)}}let wRe=0;const la=new F3,YT=new u0,A4=new Ge,Lr=new Ha,Dc=new Ha,Rn=new Ge;class Q1 extends El{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:wRe++}),this.uuid=Da(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(Vee(e)?qee:Yee)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,i=0){this.groups.push({start:e,count:t,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);const i=this.attributes.normal;if(i!==void 0){const a=new i1().getNormalMatrix(e);i.applyNormalMatrix(a),i.needsUpdate=!0}const r=this.attributes.tangent;return r!==void 0&&(r.transformDirection(e),r.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return la.makeRotationFromQuaternion(e),this.applyMatrix4(la),this}rotateX(e){return la.makeRotationX(e),this.applyMatrix4(la),this}rotateY(e){return la.makeRotationY(e),this.applyMatrix4(la),this}rotateZ(e){return la.makeRotationZ(e),this.applyMatrix4(la),this}translate(e,t,i){return la.makeTranslation(e,t,i),this.applyMatrix4(la),this}scale(e,t,i){return la.makeScale(e,t,i),this.applyMatrix4(la),this}lookAt(e){return YT.lookAt(e),YT.updateMatrix(),this.applyMatrix4(YT.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(A4).negate(),this.translate(A4.x,A4.y,A4.z),this}setFromPoints(e){const t=[];for(let i=0,r=e.length;i<r;i++){const a=e[i];t.push(a.x,a.y,a.z||0)}return this.setAttribute("position",new S0(t,3)),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Ha);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),this.boundingBox.set(new Ge(-1/0,-1/0,-1/0),new Ge(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let i=0,r=t.length;i<r;i++){const a=t[i];Lr.setFromBufferAttribute(a),this.morphTargetsRelative?(Rn.addVectors(this.boundingBox.min,Lr.min),this.boundingBox.expandByPoint(Rn),Rn.addVectors(this.boundingBox.max,Lr.max),this.boundingBox.expandByPoint(Rn)):(this.boundingBox.expandByPoint(Lr.min),this.boundingBox.expandByPoint(Lr.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Wa);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),this.boundingSphere.set(new Ge,1/0);return}if(e){const i=this.boundingSphere.center;if(Lr.setFromBufferAttribute(e),t)for(let a=0,o=t.length;a<o;a++){const s=t[a];Dc.setFromBufferAttribute(s),this.morphTargetsRelative?(Rn.addVectors(Lr.min,Dc.min),Lr.expandByPoint(Rn),Rn.addVectors(Lr.max,Dc.max),Lr.expandByPoint(Rn)):(Lr.expandByPoint(Dc.min),Lr.expandByPoint(Dc.max))}Lr.getCenter(i);let r=0;for(let a=0,o=e.count;a<o;a++)Rn.fromBufferAttribute(e,a),r=Math.max(r,i.distanceToSquared(Rn));if(t)for(let a=0,o=t.length;a<o;a++){const s=t[a],l=this.morphTargetsRelative;for(let u=0,c=s.count;u<c;u++)Rn.fromBufferAttribute(s,u),l&&(A4.fromBufferAttribute(e,u),Rn.add(A4)),r=Math.max(r,i.distanceToSquared(Rn))}this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index,t=this.attributes;if(e===null||t.position===void 0||t.normal===void 0||t.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}const i=e.array,r=t.position.array,a=t.normal.array,o=t.uv.array,s=r.length/3;this.hasAttribute("tangent")===!1&&this.setAttribute("tangent",new I0(new Float32Array(4*s),4));const l=this.getAttribute("tangent").array,u=[],c=[];for(let E=0;E<s;E++)u[E]=new Ge,c[E]=new Ge;const d=new Ge,h=new Ge,f=new Ge,p=new J2,g=new J2,m=new J2,v=new Ge,_=new Ge;function S(E,L,V){d.fromArray(r,E*3),h.fromArray(r,L*3),f.fromArray(r,V*3),p.fromArray(o,E*2),g.fromArray(o,L*2),m.fromArray(o,V*2),h.sub(d),f.sub(d),g.sub(p),m.sub(p);const Y=1/(g.x*m.y-m.x*g.y);isFinite(Y)&&(v.copy(h).multiplyScalar(m.y).addScaledVector(f,-g.y).multiplyScalar(Y),_.copy(f).multiplyScalar(g.x).addScaledVector(h,-m.x).multiplyScalar(Y),u[E].add(v),u[L].add(v),u[V].add(v),c[E].add(_),c[L].add(_),c[V].add(_))}let x=this.groups;x.length===0&&(x=[{start:0,count:i.length}]);for(let E=0,L=x.length;E<L;++E){const V=x[E],Y=V.start,G=V.count;for(let W=Y,q=Y+G;W<q;W+=3)S(i[W+0],i[W+1],i[W+2])}const A=new Ge,C=new Ge,M=new Ge,I=new Ge;function D(E){M.fromArray(a,E*3),I.copy(M);const L=u[E];A.copy(L),A.sub(M.multiplyScalar(M.dot(L))).normalize(),C.crossVectors(I,L);const Y=C.dot(c[E])<0?-1:1;l[E*4]=A.x,l[E*4+1]=A.y,l[E*4+2]=A.z,l[E*4+3]=Y}for(let E=0,L=x.length;E<L;++E){const V=x[E],Y=V.start,G=V.count;for(let W=Y,q=Y+G;W<q;W+=3)D(i[W+0]),D(i[W+1]),D(i[W+2])}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(t!==void 0){let i=this.getAttribute("normal");if(i===void 0)i=new I0(new Float32Array(t.count*3),3),this.setAttribute("normal",i);else for(let h=0,f=i.count;h<f;h++)i.setXYZ(h,0,0,0);const r=new Ge,a=new Ge,o=new Ge,s=new Ge,l=new Ge,u=new Ge,c=new Ge,d=new Ge;if(e)for(let h=0,f=e.count;h<f;h+=3){const p=e.getX(h+0),g=e.getX(h+1),m=e.getX(h+2);r.fromBufferAttribute(t,p),a.fromBufferAttribute(t,g),o.fromBufferAttribute(t,m),c.subVectors(o,a),d.subVectors(r,a),c.cross(d),s.fromBufferAttribute(i,p),l.fromBufferAttribute(i,g),u.fromBufferAttribute(i,m),s.add(c),l.add(c),u.add(c),i.setXYZ(p,s.x,s.y,s.z),i.setXYZ(g,l.x,l.y,l.z),i.setXYZ(m,u.x,u.y,u.z)}else for(let h=0,f=t.count;h<f;h+=3)r.fromBufferAttribute(t,h+0),a.fromBufferAttribute(t,h+1),o.fromBufferAttribute(t,h+2),c.subVectors(o,a),d.subVectors(r,a),c.cross(d),i.setXYZ(h+0,c.x,c.y,c.z),i.setXYZ(h+1,c.x,c.y,c.z),i.setXYZ(h+2,c.x,c.y,c.z);this.normalizeNormals(),i.needsUpdate=!0}}normalizeNormals(){const e=this.attributes.normal;for(let t=0,i=e.count;t<i;t++)Rn.fromBufferAttribute(e,t),Rn.normalize(),e.setXYZ(t,Rn.x,Rn.y,Rn.z)}toNonIndexed(){function e(s,l){const u=s.array,c=s.itemSize,d=s.normalized,h=new u.constructor(l.length*c);let f=0,p=0;for(let g=0,m=l.length;g<m;g++){s.isInterleavedBufferAttribute?f=l[g]*s.data.stride+s.offset:f=l[g]*c;for(let v=0;v<c;v++)h[p++]=u[f++]}return new I0(h,c,d)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new Q1,i=this.index.array,r=this.attributes;for(const s in r){const l=r[s],u=e(l,i);t.setAttribute(s,u)}const a=this.morphAttributes;for(const s in a){const l=[],u=a[s];for(let c=0,d=u.length;c<d;c++){const h=u[c],f=e(h,i);l.push(f)}t.morphAttributes[s]=l}t.morphTargetsRelative=this.morphTargetsRelative;const o=this.groups;for(let s=0,l=o.length;s<l;s++){const u=o[s];t.addGroup(u.start,u.count,u.materialIndex)}return t}toJSON(){const e={metadata:{version:4.6,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const u in l)l[u]!==void 0&&(e[u]=l[u]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const u=i[l];e.data.attributes[l]=u.toJSON(e.data)}const r={};let a=!1;for(const l in this.morphAttributes){const u=this.morphAttributes[l],c=[];for(let d=0,h=u.length;d<h;d++){const f=u[d];c.push(f.toJSON(e.data))}c.length>0&&(r[l]=c,a=!0)}a&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const s=this.boundingSphere;return s!==null&&(e.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const u in r){const c=r[u];this.setAttribute(u,c.clone(t))}const a=e.morphAttributes;for(const u in a){const c=[],d=a[u];for(let h=0,f=d.length;h<f;h++)c.push(d[h].clone(t));this.morphAttributes[u]=c}this.morphTargetsRelative=e.morphTargetsRelative;const o=e.groups;for(let u=0,c=o.length;u<c;u++){const d=o[u];this.addGroup(d.start,d.count,d.materialIndex)}const s=e.boundingBox;s!==null&&(this.boundingBox=s.clone());const l=e.boundingSphere;return l!==null&&(this.boundingSphere=l.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const sH=new F3,Q9=new xu,Hm=new Wa,lH=new Ge,C4=new Ge,M4=new Ge,E4=new Ge,qT=new Ge,Wm=new Ge,jm=new J2,$m=new J2,Ym=new J2,uH=new Ge,cH=new Ge,dH=new Ge,qm=new Ge,Xm=new Ge;class f1 extends u0{constructor(e=new Q1,t=new M1){super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=r.length;a<o;a++){const s=r[a].name||String(a);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=a}}}}getVertexPosition(e,t){const i=this.geometry,r=i.attributes.position,a=i.morphAttributes.position,o=i.morphTargetsRelative;t.fromBufferAttribute(r,e);const s=this.morphTargetInfluences;if(a&&s){Wm.set(0,0,0);for(let l=0,u=a.length;l<u;l++){const c=s[l],d=a[l];c!==0&&(qT.fromBufferAttribute(d,e),o?Wm.addScaledVector(qT,c):Wm.addScaledVector(qT.sub(t),c))}t.add(Wm)}return t}raycast(e,t){const i=this.geometry,r=this.material,a=this.matrixWorld;r!==void 0&&(i.boundingSphere===null&&i.computeBoundingSphere(),Hm.copy(i.boundingSphere),Hm.applyMatrix4(a),Q9.copy(e.ray).recast(e.near),!(Hm.containsPoint(Q9.origin)===!1&&(Q9.intersectSphere(Hm,lH)===null||Q9.origin.distanceToSquared(lH)>Rs(e.far-e.near,2)))&&(sH.copy(a).invert(),Q9.copy(e.ray).applyMatrix4(sH),!(i.boundingBox!==null&&Q9.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Q9)))}_computeIntersections(e,t,i){let r;const a=this.geometry,o=this.material,s=a.index,l=a.attributes.position,u=a.attributes.uv,c=a.attributes.uv1,d=a.attributes.normal,h=a.groups,f=a.drawRange;if(s!==null)if(Array.isArray(o))for(let p=0,g=h.length;p<g;p++){const m=h[p],v=o[m.materialIndex],_=Math.max(m.start,f.start),S=Math.min(s.count,Math.min(m.start+m.count,f.start+f.count));for(let x=_,A=S;x<A;x+=3){const C=s.getX(x),M=s.getX(x+1),I=s.getX(x+2);r=Km(this,v,e,i,u,c,d,C,M,I),r&&(r.faceIndex=Math.floor(x/3),r.face.materialIndex=m.materialIndex,t.push(r))}}else{const p=Math.max(0,f.start),g=Math.min(s.count,f.start+f.count);for(let m=p,v=g;m<v;m+=3){const _=s.getX(m),S=s.getX(m+1),x=s.getX(m+2);r=Km(this,o,e,i,u,c,d,_,S,x),r&&(r.faceIndex=Math.floor(m/3),t.push(r))}}else if(l!==void 0)if(Array.isArray(o))for(let p=0,g=h.length;p<g;p++){const m=h[p],v=o[m.materialIndex],_=Math.max(m.start,f.start),S=Math.min(l.count,Math.min(m.start+m.count,f.start+f.count));for(let x=_,A=S;x<A;x+=3){const C=x,M=x+1,I=x+2;r=Km(this,v,e,i,u,c,d,C,M,I),r&&(r.faceIndex=Math.floor(x/3),r.face.materialIndex=m.materialIndex,t.push(r))}}else{const p=Math.max(0,f.start),g=Math.min(l.count,f.start+f.count);for(let m=p,v=g;m<v;m+=3){const _=m,S=m+1,x=m+2;r=Km(this,o,e,i,u,c,d,_,S,x),r&&(r.faceIndex=Math.floor(m/3),t.push(r))}}}}function TRe(n,e,t,i,r,a,o,s){let l;if(e.side===dr?l=i.intersectTriangle(o,a,r,!0,s):l=i.intersectTriangle(r,a,o,e.side===d6,s),l===null)return null;Xm.copy(s),Xm.applyMatrix4(n.matrixWorld);const u=t.ray.origin.distanceTo(Xm);return u<t.near||u>t.far?null:{distance:u,point:Xm.clone(),object:n}}function Km(n,e,t,i,r,a,o,s,l,u){n.getVertexPosition(s,C4),n.getVertexPosition(l,M4),n.getVertexPosition(u,E4);const c=TRe(n,e,t,i,C4,M4,E4,qm);if(c){r&&(jm.fromBufferAttribute(r,s),$m.fromBufferAttribute(r,l),Ym.fromBufferAttribute(r,u),c.uv=oo.getInterpolation(qm,C4,M4,E4,jm,$m,Ym,new J2)),a&&(jm.fromBufferAttribute(a,s),$m.fromBufferAttribute(a,l),Ym.fromBufferAttribute(a,u),c.uv1=oo.getInterpolation(qm,C4,M4,E4,jm,$m,Ym,new J2),c.uv2=c.uv1),o&&(uH.fromBufferAttribute(o,s),cH.fromBufferAttribute(o,l),dH.fromBufferAttribute(o,u),c.normal=oo.getInterpolation(qm,C4,M4,E4,uH,cH,dH,new Ge),c.normal.dot(i.direction)>0&&c.normal.multiplyScalar(-1));const d={a:s,b:l,c:u,normal:new Ge,materialIndex:0};oo.getNormal(C4,M4,E4,d.normal),c.face=d}return c}class wu extends Q1{constructor(e=1,t=1,i=1,r=1,a=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:a,depthSegments:o};const s=this;r=Math.floor(r),a=Math.floor(a),o=Math.floor(o);const l=[],u=[],c=[],d=[];let h=0,f=0;p("z","y","x",-1,-1,i,t,e,o,a,0),p("z","y","x",1,-1,i,t,-e,o,a,1),p("x","z","y",1,1,e,i,t,r,o,2),p("x","z","y",1,-1,e,i,-t,r,o,3),p("x","y","z",1,-1,e,t,i,r,a,4),p("x","y","z",-1,-1,e,t,-i,r,a,5),this.setIndex(l),this.setAttribute("position",new S0(u,3)),this.setAttribute("normal",new S0(c,3)),this.setAttribute("uv",new S0(d,2));function p(g,m,v,_,S,x,A,C,M,I,D){const E=x/M,L=A/I,V=x/2,Y=A/2,G=C/2,W=M+1,q=I+1;let ce=0,J=0;const H=new Ge;for(let re=0;re<q;re++){const ee=re*L-Y;for(let se=0;se<W;se++){const Be=se*E-V;H[g]=Be*_,H[m]=ee*S,H[v]=G,u.push(H.x,H.y,H.z),H[g]=0,H[m]=0,H[v]=C>0?1:-1,c.push(H.x,H.y,H.z),d.push(se/M),d.push(1-re/I),ce+=1}}for(let re=0;re<I;re++)for(let ee=0;ee<M;ee++){const se=h+ee+W*re,Be=h+ee+W*(re+1),we=h+(ee+1)+W*(re+1),ve=h+(ee+1)+W*re;l.push(se,Be,ve),l.push(Be,we,ve),J+=6}s.addGroup(f,J,D),f+=J,h+=ce}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new wu(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function Y7(n){const e={};for(const t in n){e[t]={};for(const i in n[t]){const r=n[t][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][i]=null):e[t][i]=r.clone():Array.isArray(r)?e[t][i]=r.slice():e[t][i]=r}}return e}function Ei(n){const e={};for(let t=0;t<n.length;t++){const i=Y7(n[t]);for(const r in i)e[r]=i[r]}return e}function ARe(n){const e=[];for(let t=0;t<n.length;t++)e.push(n[t].clone());return e}function Xee(n){return n.getRenderTarget()===null?n.outputColorSpace:z1.workingColorSpace}const vL={clone:Y7,merge:Ei};var CRe=`void main() { |
|
|
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); |
|
|
}`,MRe=`void main() { |
|
|
gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 ); |
|
|
}`;class h6 extends Na{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=CRe,this.fragmentShader=MRe,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Y7(e.uniforms),this.uniformsGroups=ARe(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}let Kee=class extends u0{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new F3,this.projectionMatrix=new F3,this.projectionMatrixInverse=new F3,this.coordinateSystem=Ks}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};const Q6=new Ge,hH=new J2,fH=new J2;class gi extends Kee{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=$7*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Rd*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return $7*2*Math.atan(Math.tan(Rd*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){Q6.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Q6.x,Q6.y).multiplyScalar(-e/Q6.z),Q6.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Q6.x,Q6.y).multiplyScalar(-e/Q6.z)}getViewSize(e,t){return this.getViewBounds(e,hH,fH),t.subVectors(fH,hH)}setViewOffset(e,t,i,r,a,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=a,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(Rd*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,a=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,u=o.fullHeight;a+=o.offsetX*r/l,t-=o.offsetY*i/u,r*=o.width/l,i*=o.height/u}const s=this.filmOffset;s!==0&&(a+=e*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(a,a+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const P4=-90,R4=1;class ERe extends u0{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new gi(P4,R4,e,t);r.layers=this.layers,this.add(r);const a=new gi(P4,R4,e,t);a.layers=this.layers,this.add(a);const o=new gi(P4,R4,e,t);o.layers=this.layers,this.add(o);const s=new gi(P4,R4,e,t);s.layers=this.layers,this.add(s);const l=new gi(P4,R4,e,t);l.layers=this.layers,this.add(l);const u=new gi(P4,R4,e,t);u.layers=this.layers,this.add(u)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,a,o,s,l]=t;for(const u of t)this.remove(u);if(e===Ks)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),a.up.set(0,0,-1),a.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),s.up.set(0,1,0),s.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===ky)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),a.up.set(0,0,1),a.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),s.up.set(0,-1,0),s.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const u of t)this.add(u),u.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[a,o,s,l,u,c]=this.children,d=e.getRenderTarget(),h=e.getActiveCubeFace(),f=e.getActiveMipmapLevel(),p=e.xr.enabled;e.xr.enabled=!1;const g=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,a),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,s),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,u),i.texture.generateMipmaps=g,e.setRenderTarget(i,5,r),e.render(t,c),e.setRenderTarget(d,h,f),e.xr.enabled=p,i.texture.needsPMREMUpdate=!0}}class Zee extends Sn{constructor(e,t,i,r,a,o,s,l,u,c){e=e!==void 0?e:[],t=t!==void 0?t:V7,super(e,t,i,r,a,o,s,l,u,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class PRe extends ul{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];t.encoding!==void 0&&(J8("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Z8?Y1:Ea),this.texture=new Zee(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:ln}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` |
|
|
|
|
|
varying vec3 vWorldDirection; |
|
|
|
|
|
vec3 transformDirection( in vec3 dir, in mat4 matrix ) { |
|
|
|
|
|
return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
vWorldDirection = transformDirection( position, modelMatrix ); |
|
|
|
|
|
#include <begin_vertex> |
|
|
#include <project_vertex> |
|
|
|
|
|
} |
|
|
`,fragmentShader:` |
|
|
|
|
|
uniform sampler2D tEquirect; |
|
|
|
|
|
varying vec3 vWorldDirection; |
|
|
|
|
|
#include <common> |
|
|
|
|
|
void main() { |
|
|
|
|
|
vec3 direction = normalize( vWorldDirection ); |
|
|
|
|
|
vec2 sampleUV = equirectUv( direction ); |
|
|
|
|
|
gl_FragColor = texture2D( tEquirect, sampleUV ); |
|
|
|
|
|
} |
|
|
`},r=new wu(5,5,5),a=new h6({name:"CubemapFromEquirect",uniforms:Y7(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:dr,blending:k5});a.uniforms.tEquirect.value=t;const o=new f1(r,a),s=t.minFilter;return t.minFilter===Xs&&(t.minFilter=ln),new ERe(1,10,this).update(e,o),t.minFilter=s,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,i,r){const a=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,i,r);e.setRenderTarget(a)}}const XT=new Ge,RRe=new Ge,LRe=new i1;let s5=class{constructor(e=new Ge(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=XT.subVectors(i,t).cross(RRe.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(XT),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const a=-(e.start.dot(this.normal)+this.constant)/r;return a<0||a>1?null:t.copy(e.start).addScaledVector(i,a)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||LRe.getNormalMatrix(e),r=this.coplanarPoint(XT).applyMatrix4(e),a=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(a),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};const e8=new Wa,Zm=new Ge;class yL{constructor(e=new s5,t=new s5,i=new s5,r=new s5,a=new s5,o=new s5){this.planes=[e,t,i,r,a,o]}set(e,t,i,r,a,o){const s=this.planes;return s[0].copy(e),s[1].copy(t),s[2].copy(i),s[3].copy(r),s[4].copy(a),s[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=Ks){const i=this.planes,r=e.elements,a=r[0],o=r[1],s=r[2],l=r[3],u=r[4],c=r[5],d=r[6],h=r[7],f=r[8],p=r[9],g=r[10],m=r[11],v=r[12],_=r[13],S=r[14],x=r[15];if(i[0].setComponents(l-a,h-u,m-f,x-v).normalize(),i[1].setComponents(l+a,h+u,m+f,x+v).normalize(),i[2].setComponents(l+o,h+c,m+p,x+_).normalize(),i[3].setComponents(l-o,h-c,m-p,x-_).normalize(),i[4].setComponents(l-s,h-d,m-g,x-S).normalize(),t===Ks)i[5].setComponents(l+s,h+d,m+g,x+S).normalize();else if(t===ky)i[5].setComponents(s,d,g,S).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),e8.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),e8.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(e8)}intersectsSprite(e){return e8.center.set(0,0,0),e8.radius=.7071067811865476,e8.applyMatrix4(e.matrixWorld),this.intersectsSphere(e8)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let a=0;a<6;a++)if(t[a].distanceToPoint(i)<r)return!1;return!0}intersectsBox(e){const t=this.planes;for(let i=0;i<6;i++){const r=t[i];if(Zm.x=r.normal.x>0?e.max.x:e.min.x,Zm.y=r.normal.y>0?e.max.y:e.min.y,Zm.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Zm)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function Jee(){let n=null,e=!1,t=null,i=null;function r(a,o){t(a,o),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(a){t=a},setContext:function(a){n=a}}}function IRe(n,e){const t=e.isWebGL2,i=new WeakMap;function r(u,c){const d=u.array,h=u.usage,f=d.byteLength,p=n.createBuffer();n.bindBuffer(c,p),n.bufferData(c,d,h),u.onUploadCallback();let g;if(d instanceof Float32Array)g=n.FLOAT;else if(d instanceof Uint16Array)if(u.isFloat16BufferAttribute)if(t)g=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=n.UNSIGNED_SHORT;else if(d instanceof Int16Array)g=n.SHORT;else if(d instanceof Uint32Array)g=n.UNSIGNED_INT;else if(d instanceof Int32Array)g=n.INT;else if(d instanceof Int8Array)g=n.BYTE;else if(d instanceof Uint8Array)g=n.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)g=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:p,type:g,bytesPerElement:d.BYTES_PER_ELEMENT,version:u.version,size:f}}function a(u,c,d){const h=c.array,f=c._updateRange,p=c.updateRanges;if(n.bindBuffer(d,u),f.count===-1&&p.length===0&&n.bufferSubData(d,0,h),p.length!==0){for(let g=0,m=p.length;g<m;g++){const v=p[g];t?n.bufferSubData(d,v.start*h.BYTES_PER_ELEMENT,h,v.start,v.count):n.bufferSubData(d,v.start*h.BYTES_PER_ELEMENT,h.subarray(v.start,v.start+v.count))}c.clearUpdateRanges()}f.count!==-1&&(t?n.bufferSubData(d,f.offset*h.BYTES_PER_ELEMENT,h,f.offset,f.count):n.bufferSubData(d,f.offset*h.BYTES_PER_ELEMENT,h.subarray(f.offset,f.offset+f.count)),f.count=-1),c.onUploadCallback()}function o(u){return u.isInterleavedBufferAttribute&&(u=u.data),i.get(u)}function s(u){u.isInterleavedBufferAttribute&&(u=u.data);const c=i.get(u);c&&(n.deleteBuffer(c.buffer),i.delete(u))}function l(u,c){if(u.isGLBufferAttribute){const h=i.get(u);(!h||h.version<u.version)&&i.set(u,{buffer:u.buffer,type:u.type,bytesPerElement:u.elementSize,version:u.version});return}u.isInterleavedBufferAttribute&&(u=u.data);const d=i.get(u);if(d===void 0)i.set(u,r(u,c));else if(d.version<u.version){if(d.size!==u.array.byteLength)throw new Error("THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.");a(d.buffer,u,c),d.version=u.version}}return{get:o,remove:s,update:l}}class Nr extends Q1{constructor(e=1,t=1,i=1,r=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:i,heightSegments:r};const a=e/2,o=t/2,s=Math.floor(i),l=Math.floor(r),u=s+1,c=l+1,d=e/s,h=t/l,f=[],p=[],g=[],m=[];for(let v=0;v<c;v++){const _=v*h-o;for(let S=0;S<u;S++){const x=S*d-a;p.push(x,-_,0),g.push(0,0,1),m.push(S/s),m.push(1-v/l)}}for(let v=0;v<l;v++)for(let _=0;_<s;_++){const S=_+u*v,x=_+u*(v+1),A=_+1+u*(v+1),C=_+1+u*v;f.push(S,x,C),f.push(x,A,C)}this.setIndex(f),this.setAttribute("position",new S0(p,3)),this.setAttribute("normal",new S0(g,3)),this.setAttribute("uv",new S0(m,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Nr(e.width,e.height,e.widthSegments,e.heightSegments)}}var DRe=`#ifdef USE_ALPHAHASH |
|
|
if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard; |
|
|
#endif`,NRe=`#ifdef USE_ALPHAHASH |
|
|
const float ALPHA_HASH_SCALE = 0.05; |
|
|
float hash2D( vec2 value ) { |
|
|
return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) ); |
|
|
} |
|
|
float hash3D( vec3 value ) { |
|
|
return hash2D( vec2( hash2D( value.xy ), value.z ) ); |
|
|
} |
|
|
float getAlphaHashThreshold( vec3 position ) { |
|
|
float maxDeriv = max( |
|
|
length( dFdx( position.xyz ) ), |
|
|
length( dFdy( position.xyz ) ) |
|
|
); |
|
|
float pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv ); |
|
|
vec2 pixScales = vec2( |
|
|
exp2( floor( log2( pixScale ) ) ), |
|
|
exp2( ceil( log2( pixScale ) ) ) |
|
|
); |
|
|
vec2 alpha = vec2( |
|
|
hash3D( floor( pixScales.x * position.xyz ) ), |
|
|
hash3D( floor( pixScales.y * position.xyz ) ) |
|
|
); |
|
|
float lerpFactor = fract( log2( pixScale ) ); |
|
|
float x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y; |
|
|
float a = min( lerpFactor, 1.0 - lerpFactor ); |
|
|
vec3 cases = vec3( |
|
|
x * x / ( 2.0 * a * ( 1.0 - a ) ), |
|
|
( x - 0.5 * a ) / ( 1.0 - a ), |
|
|
1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) ) |
|
|
); |
|
|
float threshold = ( x < ( 1.0 - a ) ) |
|
|
? ( ( x < a ) ? cases.x : cases.y ) |
|
|
: cases.z; |
|
|
return clamp( threshold , 1.0e-6, 1.0 ); |
|
|
} |
|
|
#endif`,kRe=`#ifdef USE_ALPHAMAP |
|
|
diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g; |
|
|
#endif`,FRe=`#ifdef USE_ALPHAMAP |
|
|
uniform sampler2D alphaMap; |
|
|
#endif`,ORe=`#ifdef USE_ALPHATEST |
|
|
#ifdef ALPHA_TO_COVERAGE |
|
|
diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a ); |
|
|
if ( diffuseColor.a == 0.0 ) discard; |
|
|
#else |
|
|
if ( diffuseColor.a < alphaTest ) discard; |
|
|
#endif |
|
|
#endif`,BRe=`#ifdef USE_ALPHATEST |
|
|
uniform float alphaTest; |
|
|
#endif`,zRe=`#ifdef USE_AOMAP |
|
|
float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0; |
|
|
reflectedLight.indirectDiffuse *= ambientOcclusion; |
|
|
#if defined( USE_CLEARCOAT ) |
|
|
clearcoatSpecularIndirect *= ambientOcclusion; |
|
|
#endif |
|
|
#if defined( USE_SHEEN ) |
|
|
sheenSpecularIndirect *= ambientOcclusion; |
|
|
#endif |
|
|
#if defined( USE_ENVMAP ) && defined( STANDARD ) |
|
|
float dotNV = saturate( dot( geometryNormal, geometryViewDir ) ); |
|
|
reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness ); |
|
|
#endif |
|
|
#endif`,URe=`#ifdef USE_AOMAP |
|
|
uniform sampler2D aoMap; |
|
|
uniform float aoMapIntensity; |
|
|
#endif`,GRe=`#ifdef USE_BATCHING |
|
|
attribute float batchId; |
|
|
uniform highp sampler2D batchingTexture; |
|
|
mat4 getBatchingMatrix( const in float i ) { |
|
|
int size = textureSize( batchingTexture, 0 ).x; |
|
|
int j = int( i ) * 4; |
|
|
int x = j % size; |
|
|
int y = j / size; |
|
|
vec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 ); |
|
|
vec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 ); |
|
|
vec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 ); |
|
|
vec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 ); |
|
|
return mat4( v1, v2, v3, v4 ); |
|
|
} |
|
|
#endif`,VRe=`#ifdef USE_BATCHING |
|
|
mat4 batchingMatrix = getBatchingMatrix( batchId ); |
|
|
#endif`,HRe=`vec3 transformed = vec3( position ); |
|
|
#ifdef USE_ALPHAHASH |
|
|
vPosition = vec3( position ); |
|
|
#endif`,WRe=`vec3 objectNormal = vec3( normal ); |
|
|
#ifdef USE_TANGENT |
|
|
vec3 objectTangent = vec3( tangent.xyz ); |
|
|
#endif`,jRe=`float G_BlinnPhong_Implicit( ) { |
|
|
return 0.25; |
|
|
} |
|
|
float D_BlinnPhong( const in float shininess, const in float dotNH ) { |
|
|
return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess ); |
|
|
} |
|
|
vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) { |
|
|
vec3 halfDir = normalize( lightDir + viewDir ); |
|
|
float dotNH = saturate( dot( normal, halfDir ) ); |
|
|
float dotVH = saturate( dot( viewDir, halfDir ) ); |
|
|
vec3 F = F_Schlick( specularColor, 1.0, dotVH ); |
|
|
float G = G_BlinnPhong_Implicit( ); |
|
|
float D = D_BlinnPhong( shininess, dotNH ); |
|
|
return F * ( G * D ); |
|
|
} // validated`,$Re=`#ifdef USE_IRIDESCENCE |
|
|
const mat3 XYZ_TO_REC709 = mat3( |
|
|
3.2404542, -0.9692660, 0.0556434, |
|
|
-1.5371385, 1.8760108, -0.2040259, |
|
|
-0.4985314, 0.0415560, 1.0572252 |
|
|
); |
|
|
vec3 Fresnel0ToIor( vec3 fresnel0 ) { |
|
|
vec3 sqrtF0 = sqrt( fresnel0 ); |
|
|
return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 ); |
|
|
} |
|
|
vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) { |
|
|
return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) ); |
|
|
} |
|
|
float IorToFresnel0( float transmittedIor, float incidentIor ) { |
|
|
return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor )); |
|
|
} |
|
|
vec3 evalSensitivity( float OPD, vec3 shift ) { |
|
|
float phase = 2.0 * PI * OPD * 1.0e-9; |
|
|
vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 ); |
|
|
vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 ); |
|
|
vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 ); |
|
|
vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var ); |
|
|
xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) ); |
|
|
xyz /= 1.0685e-7; |
|
|
vec3 rgb = XYZ_TO_REC709 * xyz; |
|
|
return rgb; |
|
|
} |
|
|
vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) { |
|
|
vec3 I; |
|
|
float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) ); |
|
|
float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) ); |
|
|
float cosTheta2Sq = 1.0 - sinTheta2Sq; |
|
|
if ( cosTheta2Sq < 0.0 ) { |
|
|
return vec3( 1.0 ); |
|
|
} |
|
|
float cosTheta2 = sqrt( cosTheta2Sq ); |
|
|
float R0 = IorToFresnel0( iridescenceIOR, outsideIOR ); |
|
|
float R12 = F_Schlick( R0, 1.0, cosTheta1 ); |
|
|
float T121 = 1.0 - R12; |
|
|
float phi12 = 0.0; |
|
|
if ( iridescenceIOR < outsideIOR ) phi12 = PI; |
|
|
float phi21 = PI - phi12; |
|
|
vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR ); |
|
|
vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 ); |
|
|
vec3 phi23 = vec3( 0.0 ); |
|
|
if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI; |
|
|
if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI; |
|
|
if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI; |
|
|
float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2; |
|
|
vec3 phi = vec3( phi21 ) + phi23; |
|
|
vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 ); |
|
|
vec3 r123 = sqrt( R123 ); |
|
|
vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 ); |
|
|
vec3 C0 = R12 + Rs; |
|
|
I = C0; |
|
|
vec3 Cm = Rs - T121; |
|
|
for ( int m = 1; m <= 2; ++ m ) { |
|
|
Cm *= r123; |
|
|
vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi ); |
|
|
I += Cm * Sm; |
|
|
} |
|
|
return max( I, vec3( 0.0 ) ); |
|
|
} |
|
|
#endif`,YRe=`#ifdef USE_BUMPMAP |
|
|
uniform sampler2D bumpMap; |
|
|
uniform float bumpScale; |
|
|
vec2 dHdxy_fwd() { |
|
|
vec2 dSTdx = dFdx( vBumpMapUv ); |
|
|
vec2 dSTdy = dFdy( vBumpMapUv ); |
|
|
float Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x; |
|
|
float dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll; |
|
|
float dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll; |
|
|
return vec2( dBx, dBy ); |
|
|
} |
|
|
vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) { |
|
|
vec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) ); |
|
|
vec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) ); |
|
|
vec3 vN = surf_norm; |
|
|
vec3 R1 = cross( vSigmaY, vN ); |
|
|
vec3 R2 = cross( vN, vSigmaX ); |
|
|
float fDet = dot( vSigmaX, R1 ) * faceDirection; |
|
|
vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 ); |
|
|
return normalize( abs( fDet ) * surf_norm - vGrad ); |
|
|
} |
|
|
#endif`,qRe=`#if NUM_CLIPPING_PLANES > 0 |
|
|
vec4 plane; |
|
|
#ifdef ALPHA_TO_COVERAGE |
|
|
float distanceToPlane, distanceGradient; |
|
|
float clipOpacity = 1.0; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { |
|
|
plane = clippingPlanes[ i ]; |
|
|
distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; |
|
|
distanceGradient = fwidth( distanceToPlane ) / 2.0; |
|
|
clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); |
|
|
if ( clipOpacity == 0.0 ) discard; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES |
|
|
float unionClipOpacity = 1.0; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { |
|
|
plane = clippingPlanes[ i ]; |
|
|
distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; |
|
|
distanceGradient = fwidth( distanceToPlane ) / 2.0; |
|
|
unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
clipOpacity *= 1.0 - unionClipOpacity; |
|
|
#endif |
|
|
diffuseColor.a *= clipOpacity; |
|
|
if ( diffuseColor.a == 0.0 ) discard; |
|
|
#else |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { |
|
|
plane = clippingPlanes[ i ]; |
|
|
if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES |
|
|
bool clipped = true; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { |
|
|
plane = clippingPlanes[ i ]; |
|
|
clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
if ( clipped ) discard; |
|
|
#endif |
|
|
#endif |
|
|
#endif`,XRe=`#if NUM_CLIPPING_PLANES > 0 |
|
|
varying vec3 vClipPosition; |
|
|
uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; |
|
|
#endif`,KRe=`#if NUM_CLIPPING_PLANES > 0 |
|
|
varying vec3 vClipPosition; |
|
|
#endif`,ZRe=`#if NUM_CLIPPING_PLANES > 0 |
|
|
vClipPosition = - mvPosition.xyz; |
|
|
#endif`,JRe=`#if defined( USE_COLOR_ALPHA ) |
|
|
diffuseColor *= vColor; |
|
|
#elif defined( USE_COLOR ) |
|
|
diffuseColor.rgb *= vColor; |
|
|
#endif`,QRe=`#if defined( USE_COLOR_ALPHA ) |
|
|
varying vec4 vColor; |
|
|
#elif defined( USE_COLOR ) |
|
|
varying vec3 vColor; |
|
|
#endif`,eLe=`#if defined( USE_COLOR_ALPHA ) |
|
|
varying vec4 vColor; |
|
|
#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) |
|
|
varying vec3 vColor; |
|
|
#endif`,tLe=`#if defined( USE_COLOR_ALPHA ) |
|
|
vColor = vec4( 1.0 ); |
|
|
#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) |
|
|
vColor = vec3( 1.0 ); |
|
|
#endif |
|
|
#ifdef USE_COLOR |
|
|
vColor *= color; |
|
|
#endif |
|
|
#ifdef USE_INSTANCING_COLOR |
|
|
vColor.xyz *= instanceColor.xyz; |
|
|
#endif`,nLe=`#define PI 3.141592653589793 |
|
|
#define PI2 6.283185307179586 |
|
|
#define PI_HALF 1.5707963267948966 |
|
|
#define RECIPROCAL_PI 0.3183098861837907 |
|
|
#define RECIPROCAL_PI2 0.15915494309189535 |
|
|
#define EPSILON 1e-6 |
|
|
#ifndef saturate |
|
|
#define saturate( a ) clamp( a, 0.0, 1.0 ) |
|
|
#endif |
|
|
#define whiteComplement( a ) ( 1.0 - saturate( a ) ) |
|
|
float pow2( const in float x ) { return x*x; } |
|
|
vec3 pow2( const in vec3 x ) { return x*x; } |
|
|
float pow3( const in float x ) { return x*x*x; } |
|
|
float pow4( const in float x ) { float x2 = x*x; return x2*x2; } |
|
|
float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } |
|
|
float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } |
|
|
highp float rand( const in vec2 uv ) { |
|
|
const highp float a = 12.9898, b = 78.233, c = 43758.5453; |
|
|
highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); |
|
|
return fract( sin( sn ) * c ); |
|
|
} |
|
|
#ifdef HIGH_PRECISION |
|
|
float precisionSafeLength( vec3 v ) { return length( v ); } |
|
|
#else |
|
|
float precisionSafeLength( vec3 v ) { |
|
|
float maxComponent = max3( abs( v ) ); |
|
|
return length( v / maxComponent ) * maxComponent; |
|
|
} |
|
|
#endif |
|
|
struct IncidentLight { |
|
|
vec3 color; |
|
|
vec3 direction; |
|
|
bool visible; |
|
|
}; |
|
|
struct ReflectedLight { |
|
|
vec3 directDiffuse; |
|
|
vec3 directSpecular; |
|
|
vec3 indirectDiffuse; |
|
|
vec3 indirectSpecular; |
|
|
}; |
|
|
#ifdef USE_ALPHAHASH |
|
|
varying vec3 vPosition; |
|
|
#endif |
|
|
vec3 transformDirection( in vec3 dir, in mat4 matrix ) { |
|
|
return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); |
|
|
} |
|
|
vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { |
|
|
return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); |
|
|
} |
|
|
mat3 transposeMat3( const in mat3 m ) { |
|
|
mat3 tmp; |
|
|
tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); |
|
|
tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); |
|
|
tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); |
|
|
return tmp; |
|
|
} |
|
|
float luminance( const in vec3 rgb ) { |
|
|
const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 ); |
|
|
return dot( weights, rgb ); |
|
|
} |
|
|
bool isPerspectiveMatrix( mat4 m ) { |
|
|
return m[ 2 ][ 3 ] == - 1.0; |
|
|
} |
|
|
vec2 equirectUv( in vec3 dir ) { |
|
|
float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; |
|
|
float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; |
|
|
return vec2( u, v ); |
|
|
} |
|
|
vec3 BRDF_Lambert( const in vec3 diffuseColor ) { |
|
|
return RECIPROCAL_PI * diffuseColor; |
|
|
} |
|
|
vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { |
|
|
float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); |
|
|
return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); |
|
|
} |
|
|
float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { |
|
|
float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); |
|
|
return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); |
|
|
} // validated`,iLe=`#ifdef ENVMAP_TYPE_CUBE_UV |
|
|
#define cubeUV_minMipLevel 4.0 |
|
|
#define cubeUV_minTileSize 16.0 |
|
|
float getFace( vec3 direction ) { |
|
|
vec3 absDirection = abs( direction ); |
|
|
float face = - 1.0; |
|
|
if ( absDirection.x > absDirection.z ) { |
|
|
if ( absDirection.x > absDirection.y ) |
|
|
face = direction.x > 0.0 ? 0.0 : 3.0; |
|
|
else |
|
|
face = direction.y > 0.0 ? 1.0 : 4.0; |
|
|
} else { |
|
|
if ( absDirection.z > absDirection.y ) |
|
|
face = direction.z > 0.0 ? 2.0 : 5.0; |
|
|
else |
|
|
face = direction.y > 0.0 ? 1.0 : 4.0; |
|
|
} |
|
|
return face; |
|
|
} |
|
|
vec2 getUV( vec3 direction, float face ) { |
|
|
vec2 uv; |
|
|
if ( face == 0.0 ) { |
|
|
uv = vec2( direction.z, direction.y ) / abs( direction.x ); |
|
|
} else if ( face == 1.0 ) { |
|
|
uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); |
|
|
} else if ( face == 2.0 ) { |
|
|
uv = vec2( - direction.x, direction.y ) / abs( direction.z ); |
|
|
} else if ( face == 3.0 ) { |
|
|
uv = vec2( - direction.z, direction.y ) / abs( direction.x ); |
|
|
} else if ( face == 4.0 ) { |
|
|
uv = vec2( - direction.x, direction.z ) / abs( direction.y ); |
|
|
} else { |
|
|
uv = vec2( direction.x, direction.y ) / abs( direction.z ); |
|
|
} |
|
|
return 0.5 * ( uv + 1.0 ); |
|
|
} |
|
|
vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { |
|
|
float face = getFace( direction ); |
|
|
float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); |
|
|
mipInt = max( mipInt, cubeUV_minMipLevel ); |
|
|
float faceSize = exp2( mipInt ); |
|
|
highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; |
|
|
if ( face > 2.0 ) { |
|
|
uv.y += faceSize; |
|
|
face -= 3.0; |
|
|
} |
|
|
uv.x += face * faceSize; |
|
|
uv.x += filterInt * 3.0 * cubeUV_minTileSize; |
|
|
uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); |
|
|
uv.x *= CUBEUV_TEXEL_WIDTH; |
|
|
uv.y *= CUBEUV_TEXEL_HEIGHT; |
|
|
#ifdef texture2DGradEXT |
|
|
return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; |
|
|
#else |
|
|
return texture2D( envMap, uv ).rgb; |
|
|
#endif |
|
|
} |
|
|
#define cubeUV_r0 1.0 |
|
|
#define cubeUV_m0 - 2.0 |
|
|
#define cubeUV_r1 0.8 |
|
|
#define cubeUV_m1 - 1.0 |
|
|
#define cubeUV_r4 0.4 |
|
|
#define cubeUV_m4 2.0 |
|
|
#define cubeUV_r5 0.305 |
|
|
#define cubeUV_m5 3.0 |
|
|
#define cubeUV_r6 0.21 |
|
|
#define cubeUV_m6 4.0 |
|
|
float roughnessToMip( float roughness ) { |
|
|
float mip = 0.0; |
|
|
if ( roughness >= cubeUV_r1 ) { |
|
|
mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; |
|
|
} else if ( roughness >= cubeUV_r4 ) { |
|
|
mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; |
|
|
} else if ( roughness >= cubeUV_r5 ) { |
|
|
mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; |
|
|
} else if ( roughness >= cubeUV_r6 ) { |
|
|
mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; |
|
|
} else { |
|
|
mip = - 2.0 * log2( 1.16 * roughness ); } |
|
|
return mip; |
|
|
} |
|
|
vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { |
|
|
float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); |
|
|
float mipF = fract( mip ); |
|
|
float mipInt = floor( mip ); |
|
|
vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); |
|
|
if ( mipF == 0.0 ) { |
|
|
return vec4( color0, 1.0 ); |
|
|
} else { |
|
|
vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); |
|
|
return vec4( mix( color0, color1, mipF ), 1.0 ); |
|
|
} |
|
|
} |
|
|
#endif`,rLe=`vec3 transformedNormal = objectNormal; |
|
|
#ifdef USE_TANGENT |
|
|
vec3 transformedTangent = objectTangent; |
|
|
#endif |
|
|
#ifdef USE_BATCHING |
|
|
mat3 bm = mat3( batchingMatrix ); |
|
|
transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); |
|
|
transformedNormal = bm * transformedNormal; |
|
|
#ifdef USE_TANGENT |
|
|
transformedTangent = bm * transformedTangent; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_INSTANCING |
|
|
mat3 im = mat3( instanceMatrix ); |
|
|
transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); |
|
|
transformedNormal = im * transformedNormal; |
|
|
#ifdef USE_TANGENT |
|
|
transformedTangent = im * transformedTangent; |
|
|
#endif |
|
|
#endif |
|
|
transformedNormal = normalMatrix * transformedNormal; |
|
|
#ifdef FLIP_SIDED |
|
|
transformedNormal = - transformedNormal; |
|
|
#endif |
|
|
#ifdef USE_TANGENT |
|
|
transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; |
|
|
#ifdef FLIP_SIDED |
|
|
transformedTangent = - transformedTangent; |
|
|
#endif |
|
|
#endif`,aLe=`#ifdef USE_DISPLACEMENTMAP |
|
|
uniform sampler2D displacementMap; |
|
|
uniform float displacementScale; |
|
|
uniform float displacementBias; |
|
|
#endif`,oLe=`#ifdef USE_DISPLACEMENTMAP |
|
|
transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); |
|
|
#endif`,sLe=`#ifdef USE_EMISSIVEMAP |
|
|
vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); |
|
|
totalEmissiveRadiance *= emissiveColor.rgb; |
|
|
#endif`,lLe=`#ifdef USE_EMISSIVEMAP |
|
|
uniform sampler2D emissiveMap; |
|
|
#endif`,uLe="gl_FragColor = linearToOutputTexel( gl_FragColor );",cLe=` |
|
|
const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( |
|
|
vec3( 0.8224621, 0.177538, 0.0 ), |
|
|
vec3( 0.0331941, 0.9668058, 0.0 ), |
|
|
vec3( 0.0170827, 0.0723974, 0.9105199 ) |
|
|
); |
|
|
const mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3( |
|
|
vec3( 1.2249401, - 0.2249404, 0.0 ), |
|
|
vec3( - 0.0420569, 1.0420571, 0.0 ), |
|
|
vec3( - 0.0196376, - 0.0786361, 1.0982735 ) |
|
|
); |
|
|
vec4 LinearSRGBToLinearDisplayP3( in vec4 value ) { |
|
|
return vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a ); |
|
|
} |
|
|
vec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) { |
|
|
return vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a ); |
|
|
} |
|
|
vec4 LinearTransferOETF( in vec4 value ) { |
|
|
return value; |
|
|
} |
|
|
vec4 sRGBTransferOETF( in vec4 value ) { |
|
|
return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); |
|
|
} |
|
|
vec4 LinearToLinear( in vec4 value ) { |
|
|
return value; |
|
|
} |
|
|
vec4 LinearTosRGB( in vec4 value ) { |
|
|
return sRGBTransferOETF( value ); |
|
|
}`,dLe=`#ifdef USE_ENVMAP |
|
|
#ifdef ENV_WORLDPOS |
|
|
vec3 cameraToFrag; |
|
|
if ( isOrthographic ) { |
|
|
cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); |
|
|
} else { |
|
|
cameraToFrag = normalize( vWorldPosition - cameraPosition ); |
|
|
} |
|
|
vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); |
|
|
#ifdef ENVMAP_MODE_REFLECTION |
|
|
vec3 reflectVec = reflect( cameraToFrag, worldNormal ); |
|
|
#else |
|
|
vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); |
|
|
#endif |
|
|
#else |
|
|
vec3 reflectVec = vReflect; |
|
|
#endif |
|
|
#ifdef ENVMAP_TYPE_CUBE |
|
|
vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); |
|
|
#else |
|
|
vec4 envColor = vec4( 0.0 ); |
|
|
#endif |
|
|
#ifdef ENVMAP_BLENDING_MULTIPLY |
|
|
outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); |
|
|
#elif defined( ENVMAP_BLENDING_MIX ) |
|
|
outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); |
|
|
#elif defined( ENVMAP_BLENDING_ADD ) |
|
|
outgoingLight += envColor.xyz * specularStrength * reflectivity; |
|
|
#endif |
|
|
#endif`,hLe=`#ifdef USE_ENVMAP |
|
|
uniform float envMapIntensity; |
|
|
uniform float flipEnvMap; |
|
|
#ifdef ENVMAP_TYPE_CUBE |
|
|
uniform samplerCube envMap; |
|
|
#else |
|
|
uniform sampler2D envMap; |
|
|
#endif |
|
|
|
|
|
#endif`,fLe=`#ifdef USE_ENVMAP |
|
|
uniform float reflectivity; |
|
|
#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) |
|
|
#define ENV_WORLDPOS |
|
|
#endif |
|
|
#ifdef ENV_WORLDPOS |
|
|
varying vec3 vWorldPosition; |
|
|
uniform float refractionRatio; |
|
|
#else |
|
|
varying vec3 vReflect; |
|
|
#endif |
|
|
#endif`,pLe=`#ifdef USE_ENVMAP |
|
|
#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) |
|
|
#define ENV_WORLDPOS |
|
|
#endif |
|
|
#ifdef ENV_WORLDPOS |
|
|
|
|
|
varying vec3 vWorldPosition; |
|
|
#else |
|
|
varying vec3 vReflect; |
|
|
uniform float refractionRatio; |
|
|
#endif |
|
|
#endif`,mLe=`#ifdef USE_ENVMAP |
|
|
#ifdef ENV_WORLDPOS |
|
|
vWorldPosition = worldPosition.xyz; |
|
|
#else |
|
|
vec3 cameraToVertex; |
|
|
if ( isOrthographic ) { |
|
|
cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); |
|
|
} else { |
|
|
cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); |
|
|
} |
|
|
vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); |
|
|
#ifdef ENVMAP_MODE_REFLECTION |
|
|
vReflect = reflect( cameraToVertex, worldNormal ); |
|
|
#else |
|
|
vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); |
|
|
#endif |
|
|
#endif |
|
|
#endif`,gLe=`#ifdef USE_FOG |
|
|
vFogDepth = - mvPosition.z; |
|
|
#endif`,vLe=`#ifdef USE_FOG |
|
|
varying float vFogDepth; |
|
|
#endif`,yLe=`#ifdef USE_FOG |
|
|
#ifdef FOG_EXP2 |
|
|
float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); |
|
|
#else |
|
|
float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); |
|
|
#endif |
|
|
gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); |
|
|
#endif`,_Le=`#ifdef USE_FOG |
|
|
uniform vec3 fogColor; |
|
|
varying float vFogDepth; |
|
|
#ifdef FOG_EXP2 |
|
|
uniform float fogDensity; |
|
|
#else |
|
|
uniform float fogNear; |
|
|
uniform float fogFar; |
|
|
#endif |
|
|
#endif`,SLe=`#ifdef USE_GRADIENTMAP |
|
|
uniform sampler2D gradientMap; |
|
|
#endif |
|
|
vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { |
|
|
float dotNL = dot( normal, lightDirection ); |
|
|
vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); |
|
|
#ifdef USE_GRADIENTMAP |
|
|
return vec3( texture2D( gradientMap, coord ).r ); |
|
|
#else |
|
|
vec2 fw = fwidth( coord ) * 0.5; |
|
|
return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); |
|
|
#endif |
|
|
}`,bLe=`#ifdef USE_LIGHTMAP |
|
|
vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); |
|
|
vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; |
|
|
reflectedLight.indirectDiffuse += lightMapIrradiance; |
|
|
#endif`,xLe=`#ifdef USE_LIGHTMAP |
|
|
uniform sampler2D lightMap; |
|
|
uniform float lightMapIntensity; |
|
|
#endif`,wLe=`LambertMaterial material; |
|
|
material.diffuseColor = diffuseColor.rgb; |
|
|
material.specularStrength = specularStrength;`,TLe=`varying vec3 vViewPosition; |
|
|
struct LambertMaterial { |
|
|
vec3 diffuseColor; |
|
|
float specularStrength; |
|
|
}; |
|
|
void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); |
|
|
vec3 irradiance = dotNL * directLight.color; |
|
|
reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
#define RE_Direct RE_Direct_Lambert |
|
|
#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,ALe=`uniform bool receiveShadow; |
|
|
uniform vec3 ambientLightColor; |
|
|
#if defined( USE_LIGHT_PROBES ) |
|
|
uniform vec3 lightProbe[ 9 ]; |
|
|
#endif |
|
|
vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { |
|
|
float x = normal.x, y = normal.y, z = normal.z; |
|
|
vec3 result = shCoefficients[ 0 ] * 0.886227; |
|
|
result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; |
|
|
result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; |
|
|
result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; |
|
|
result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; |
|
|
result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; |
|
|
result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); |
|
|
result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; |
|
|
result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); |
|
|
return result; |
|
|
} |
|
|
vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { |
|
|
vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); |
|
|
vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); |
|
|
return irradiance; |
|
|
} |
|
|
vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { |
|
|
vec3 irradiance = ambientLightColor; |
|
|
return irradiance; |
|
|
} |
|
|
float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { |
|
|
#if defined ( LEGACY_LIGHTS ) |
|
|
if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) { |
|
|
return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent ); |
|
|
} |
|
|
return 1.0; |
|
|
#else |
|
|
float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); |
|
|
if ( cutoffDistance > 0.0 ) { |
|
|
distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); |
|
|
} |
|
|
return distanceFalloff; |
|
|
#endif |
|
|
} |
|
|
float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { |
|
|
return smoothstep( coneCosine, penumbraCosine, angleCosine ); |
|
|
} |
|
|
#if NUM_DIR_LIGHTS > 0 |
|
|
struct DirectionalLight { |
|
|
vec3 direction; |
|
|
vec3 color; |
|
|
}; |
|
|
uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; |
|
|
void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { |
|
|
light.color = directionalLight.color; |
|
|
light.direction = directionalLight.direction; |
|
|
light.visible = true; |
|
|
} |
|
|
#endif |
|
|
#if NUM_POINT_LIGHTS > 0 |
|
|
struct PointLight { |
|
|
vec3 position; |
|
|
vec3 color; |
|
|
float distance; |
|
|
float decay; |
|
|
}; |
|
|
uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; |
|
|
void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { |
|
|
vec3 lVector = pointLight.position - geometryPosition; |
|
|
light.direction = normalize( lVector ); |
|
|
float lightDistance = length( lVector ); |
|
|
light.color = pointLight.color; |
|
|
light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); |
|
|
light.visible = ( light.color != vec3( 0.0 ) ); |
|
|
} |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHTS > 0 |
|
|
struct SpotLight { |
|
|
vec3 position; |
|
|
vec3 direction; |
|
|
vec3 color; |
|
|
float distance; |
|
|
float decay; |
|
|
float coneCos; |
|
|
float penumbraCos; |
|
|
}; |
|
|
uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; |
|
|
void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { |
|
|
vec3 lVector = spotLight.position - geometryPosition; |
|
|
light.direction = normalize( lVector ); |
|
|
float angleCos = dot( light.direction, spotLight.direction ); |
|
|
float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); |
|
|
if ( spotAttenuation > 0.0 ) { |
|
|
float lightDistance = length( lVector ); |
|
|
light.color = spotLight.color * spotAttenuation; |
|
|
light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); |
|
|
light.visible = ( light.color != vec3( 0.0 ) ); |
|
|
} else { |
|
|
light.color = vec3( 0.0 ); |
|
|
light.visible = false; |
|
|
} |
|
|
} |
|
|
#endif |
|
|
#if NUM_RECT_AREA_LIGHTS > 0 |
|
|
struct RectAreaLight { |
|
|
vec3 color; |
|
|
vec3 position; |
|
|
vec3 halfWidth; |
|
|
vec3 halfHeight; |
|
|
}; |
|
|
uniform sampler2D ltc_1; uniform sampler2D ltc_2; |
|
|
uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; |
|
|
#endif |
|
|
#if NUM_HEMI_LIGHTS > 0 |
|
|
struct HemisphereLight { |
|
|
vec3 direction; |
|
|
vec3 skyColor; |
|
|
vec3 groundColor; |
|
|
}; |
|
|
uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; |
|
|
vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { |
|
|
float dotNL = dot( normal, hemiLight.direction ); |
|
|
float hemiDiffuseWeight = 0.5 * dotNL + 0.5; |
|
|
vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); |
|
|
return irradiance; |
|
|
} |
|
|
#endif`,CLe=`#ifdef USE_ENVMAP |
|
|
vec3 getIBLIrradiance( const in vec3 normal ) { |
|
|
#ifdef ENVMAP_TYPE_CUBE_UV |
|
|
vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); |
|
|
vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 ); |
|
|
return PI * envMapColor.rgb * envMapIntensity; |
|
|
#else |
|
|
return vec3( 0.0 ); |
|
|
#endif |
|
|
} |
|
|
vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { |
|
|
#ifdef ENVMAP_TYPE_CUBE_UV |
|
|
vec3 reflectVec = reflect( - viewDir, normal ); |
|
|
reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); |
|
|
reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); |
|
|
vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness ); |
|
|
return envMapColor.rgb * envMapIntensity; |
|
|
#else |
|
|
return vec3( 0.0 ); |
|
|
#endif |
|
|
} |
|
|
#ifdef USE_ANISOTROPY |
|
|
vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { |
|
|
#ifdef ENVMAP_TYPE_CUBE_UV |
|
|
vec3 bentNormal = cross( bitangent, viewDir ); |
|
|
bentNormal = normalize( cross( bentNormal, bitangent ) ); |
|
|
bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); |
|
|
return getIBLRadiance( viewDir, bentNormal, roughness ); |
|
|
#else |
|
|
return vec3( 0.0 ); |
|
|
#endif |
|
|
} |
|
|
#endif |
|
|
#endif`,MLe=`ToonMaterial material; |
|
|
material.diffuseColor = diffuseColor.rgb;`,ELe=`varying vec3 vViewPosition; |
|
|
struct ToonMaterial { |
|
|
vec3 diffuseColor; |
|
|
}; |
|
|
void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; |
|
|
reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
#define RE_Direct RE_Direct_Toon |
|
|
#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,PLe=`BlinnPhongMaterial material; |
|
|
material.diffuseColor = diffuseColor.rgb; |
|
|
material.specularColor = specular; |
|
|
material.specularShininess = shininess; |
|
|
material.specularStrength = specularStrength;`,RLe=`varying vec3 vViewPosition; |
|
|
struct BlinnPhongMaterial { |
|
|
vec3 diffuseColor; |
|
|
vec3 specularColor; |
|
|
float specularShininess; |
|
|
float specularStrength; |
|
|
}; |
|
|
void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); |
|
|
vec3 irradiance = dotNL * directLight.color; |
|
|
reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; |
|
|
} |
|
|
void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
#define RE_Direct RE_Direct_BlinnPhong |
|
|
#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,LLe=`PhysicalMaterial material; |
|
|
material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); |
|
|
vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); |
|
|
float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); |
|
|
material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; |
|
|
material.roughness = min( material.roughness, 1.0 ); |
|
|
#ifdef IOR |
|
|
material.ior = ior; |
|
|
#ifdef USE_SPECULAR |
|
|
float specularIntensityFactor = specularIntensity; |
|
|
vec3 specularColorFactor = specularColor; |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; |
|
|
#endif |
|
|
material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); |
|
|
#else |
|
|
float specularIntensityFactor = 1.0; |
|
|
vec3 specularColorFactor = vec3( 1.0 ); |
|
|
material.specularF90 = 1.0; |
|
|
#endif |
|
|
material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); |
|
|
#else |
|
|
material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); |
|
|
material.specularF90 = 1.0; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
material.clearcoat = clearcoat; |
|
|
material.clearcoatRoughness = clearcoatRoughness; |
|
|
material.clearcoatF0 = vec3( 0.04 ); |
|
|
material.clearcoatF90 = 1.0; |
|
|
#ifdef USE_CLEARCOATMAP |
|
|
material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; |
|
|
#endif |
|
|
material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); |
|
|
material.clearcoatRoughness += geometryRoughness; |
|
|
material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE |
|
|
material.iridescence = iridescence; |
|
|
material.iridescenceIOR = iridescenceIOR; |
|
|
#ifdef USE_IRIDESCENCEMAP |
|
|
material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; |
|
|
#else |
|
|
material.iridescenceThickness = iridescenceThicknessMaximum; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
material.sheenColor = sheenColor; |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; |
|
|
#endif |
|
|
material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPY |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); |
|
|
vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; |
|
|
vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; |
|
|
#else |
|
|
vec2 anisotropyV = anisotropyVector; |
|
|
#endif |
|
|
material.anisotropy = length( anisotropyV ); |
|
|
if( material.anisotropy == 0.0 ) { |
|
|
anisotropyV = vec2( 1.0, 0.0 ); |
|
|
} else { |
|
|
anisotropyV /= material.anisotropy; |
|
|
material.anisotropy = saturate( material.anisotropy ); |
|
|
} |
|
|
material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); |
|
|
material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; |
|
|
material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; |
|
|
#endif`,ILe=`struct PhysicalMaterial { |
|
|
vec3 diffuseColor; |
|
|
float roughness; |
|
|
vec3 specularColor; |
|
|
float specularF90; |
|
|
#ifdef USE_CLEARCOAT |
|
|
float clearcoat; |
|
|
float clearcoatRoughness; |
|
|
vec3 clearcoatF0; |
|
|
float clearcoatF90; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE |
|
|
float iridescence; |
|
|
float iridescenceIOR; |
|
|
float iridescenceThickness; |
|
|
vec3 iridescenceFresnel; |
|
|
vec3 iridescenceF0; |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
vec3 sheenColor; |
|
|
float sheenRoughness; |
|
|
#endif |
|
|
#ifdef IOR |
|
|
float ior; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSION |
|
|
float transmission; |
|
|
float transmissionAlpha; |
|
|
float thickness; |
|
|
float attenuationDistance; |
|
|
vec3 attenuationColor; |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPY |
|
|
float anisotropy; |
|
|
float alphaT; |
|
|
vec3 anisotropyT; |
|
|
vec3 anisotropyB; |
|
|
#endif |
|
|
}; |
|
|
vec3 clearcoatSpecularDirect = vec3( 0.0 ); |
|
|
vec3 clearcoatSpecularIndirect = vec3( 0.0 ); |
|
|
vec3 sheenSpecularDirect = vec3( 0.0 ); |
|
|
vec3 sheenSpecularIndirect = vec3(0.0 ); |
|
|
vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { |
|
|
float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); |
|
|
float x2 = x * x; |
|
|
float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); |
|
|
return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); |
|
|
} |
|
|
float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { |
|
|
float a2 = pow2( alpha ); |
|
|
float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); |
|
|
float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); |
|
|
return 0.5 / max( gv + gl, EPSILON ); |
|
|
} |
|
|
float D_GGX( const in float alpha, const in float dotNH ) { |
|
|
float a2 = pow2( alpha ); |
|
|
float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; |
|
|
return RECIPROCAL_PI * a2 / pow2( denom ); |
|
|
} |
|
|
#ifdef USE_ANISOTROPY |
|
|
float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { |
|
|
float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); |
|
|
float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); |
|
|
float v = 0.5 / ( gv + gl ); |
|
|
return saturate(v); |
|
|
} |
|
|
float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { |
|
|
float a2 = alphaT * alphaB; |
|
|
highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); |
|
|
highp float v2 = dot( v, v ); |
|
|
float w2 = a2 / v2; |
|
|
return RECIPROCAL_PI * a2 * pow2 ( w2 ); |
|
|
} |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { |
|
|
vec3 f0 = material.clearcoatF0; |
|
|
float f90 = material.clearcoatF90; |
|
|
float roughness = material.clearcoatRoughness; |
|
|
float alpha = pow2( roughness ); |
|
|
vec3 halfDir = normalize( lightDir + viewDir ); |
|
|
float dotNL = saturate( dot( normal, lightDir ) ); |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
float dotNH = saturate( dot( normal, halfDir ) ); |
|
|
float dotVH = saturate( dot( viewDir, halfDir ) ); |
|
|
vec3 F = F_Schlick( f0, f90, dotVH ); |
|
|
float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); |
|
|
float D = D_GGX( alpha, dotNH ); |
|
|
return F * ( V * D ); |
|
|
} |
|
|
#endif |
|
|
vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { |
|
|
vec3 f0 = material.specularColor; |
|
|
float f90 = material.specularF90; |
|
|
float roughness = material.roughness; |
|
|
float alpha = pow2( roughness ); |
|
|
vec3 halfDir = normalize( lightDir + viewDir ); |
|
|
float dotNL = saturate( dot( normal, lightDir ) ); |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
float dotNH = saturate( dot( normal, halfDir ) ); |
|
|
float dotVH = saturate( dot( viewDir, halfDir ) ); |
|
|
vec3 F = F_Schlick( f0, f90, dotVH ); |
|
|
#ifdef USE_IRIDESCENCE |
|
|
F = mix( F, material.iridescenceFresnel, material.iridescence ); |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPY |
|
|
float dotTL = dot( material.anisotropyT, lightDir ); |
|
|
float dotTV = dot( material.anisotropyT, viewDir ); |
|
|
float dotTH = dot( material.anisotropyT, halfDir ); |
|
|
float dotBL = dot( material.anisotropyB, lightDir ); |
|
|
float dotBV = dot( material.anisotropyB, viewDir ); |
|
|
float dotBH = dot( material.anisotropyB, halfDir ); |
|
|
float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); |
|
|
float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); |
|
|
#else |
|
|
float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); |
|
|
float D = D_GGX( alpha, dotNH ); |
|
|
#endif |
|
|
return F * ( V * D ); |
|
|
} |
|
|
vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { |
|
|
const float LUT_SIZE = 64.0; |
|
|
const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; |
|
|
const float LUT_BIAS = 0.5 / LUT_SIZE; |
|
|
float dotNV = saturate( dot( N, V ) ); |
|
|
vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); |
|
|
uv = uv * LUT_SCALE + LUT_BIAS; |
|
|
return uv; |
|
|
} |
|
|
float LTC_ClippedSphereFormFactor( const in vec3 f ) { |
|
|
float l = length( f ); |
|
|
return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); |
|
|
} |
|
|
vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { |
|
|
float x = dot( v1, v2 ); |
|
|
float y = abs( x ); |
|
|
float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; |
|
|
float b = 3.4175940 + ( 4.1616724 + y ) * y; |
|
|
float v = a / b; |
|
|
float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; |
|
|
return cross( v1, v2 ) * theta_sintheta; |
|
|
} |
|
|
vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { |
|
|
vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; |
|
|
vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; |
|
|
vec3 lightNormal = cross( v1, v2 ); |
|
|
if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); |
|
|
vec3 T1, T2; |
|
|
T1 = normalize( V - N * dot( V, N ) ); |
|
|
T2 = - cross( N, T1 ); |
|
|
mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); |
|
|
vec3 coords[ 4 ]; |
|
|
coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); |
|
|
coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); |
|
|
coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); |
|
|
coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); |
|
|
coords[ 0 ] = normalize( coords[ 0 ] ); |
|
|
coords[ 1 ] = normalize( coords[ 1 ] ); |
|
|
coords[ 2 ] = normalize( coords[ 2 ] ); |
|
|
coords[ 3 ] = normalize( coords[ 3 ] ); |
|
|
vec3 vectorFormFactor = vec3( 0.0 ); |
|
|
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); |
|
|
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); |
|
|
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); |
|
|
vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); |
|
|
float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); |
|
|
return vec3( result ); |
|
|
} |
|
|
#if defined( USE_SHEEN ) |
|
|
float D_Charlie( float roughness, float dotNH ) { |
|
|
float alpha = pow2( roughness ); |
|
|
float invAlpha = 1.0 / alpha; |
|
|
float cos2h = dotNH * dotNH; |
|
|
float sin2h = max( 1.0 - cos2h, 0.0078125 ); |
|
|
return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); |
|
|
} |
|
|
float V_Neubelt( float dotNV, float dotNL ) { |
|
|
return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); |
|
|
} |
|
|
vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { |
|
|
vec3 halfDir = normalize( lightDir + viewDir ); |
|
|
float dotNL = saturate( dot( normal, lightDir ) ); |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
float dotNH = saturate( dot( normal, halfDir ) ); |
|
|
float D = D_Charlie( sheenRoughness, dotNH ); |
|
|
float V = V_Neubelt( dotNV, dotNL ); |
|
|
return sheenColor * ( D * V ); |
|
|
} |
|
|
#endif |
|
|
float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
float r2 = roughness * roughness; |
|
|
float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; |
|
|
float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; |
|
|
float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); |
|
|
return saturate( DG * RECIPROCAL_PI ); |
|
|
} |
|
|
vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { |
|
|
float dotNV = saturate( dot( normal, viewDir ) ); |
|
|
const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); |
|
|
const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); |
|
|
vec4 r = roughness * c0 + c1; |
|
|
float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; |
|
|
vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; |
|
|
return fab; |
|
|
} |
|
|
vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { |
|
|
vec2 fab = DFGApprox( normal, viewDir, roughness ); |
|
|
return specularColor * fab.x + specularF90 * fab.y; |
|
|
} |
|
|
#ifdef USE_IRIDESCENCE |
|
|
void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { |
|
|
#else |
|
|
void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { |
|
|
#endif |
|
|
vec2 fab = DFGApprox( normal, viewDir, roughness ); |
|
|
#ifdef USE_IRIDESCENCE |
|
|
vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); |
|
|
#else |
|
|
vec3 Fr = specularColor; |
|
|
#endif |
|
|
vec3 FssEss = Fr * fab.x + specularF90 * fab.y; |
|
|
float Ess = fab.x + fab.y; |
|
|
float Ems = 1.0 - Ess; |
|
|
vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); |
|
|
singleScatter += FssEss; |
|
|
multiScatter += Fms * Ems; |
|
|
} |
|
|
#if NUM_RECT_AREA_LIGHTS > 0 |
|
|
void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
vec3 normal = geometryNormal; |
|
|
vec3 viewDir = geometryViewDir; |
|
|
vec3 position = geometryPosition; |
|
|
vec3 lightPos = rectAreaLight.position; |
|
|
vec3 halfWidth = rectAreaLight.halfWidth; |
|
|
vec3 halfHeight = rectAreaLight.halfHeight; |
|
|
vec3 lightColor = rectAreaLight.color; |
|
|
float roughness = material.roughness; |
|
|
vec3 rectCoords[ 4 ]; |
|
|
rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; |
|
|
rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; |
|
|
rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; |
|
|
vec2 uv = LTC_Uv( normal, viewDir, roughness ); |
|
|
vec4 t1 = texture2D( ltc_1, uv ); |
|
|
vec4 t2 = texture2D( ltc_2, uv ); |
|
|
mat3 mInv = mat3( |
|
|
vec3( t1.x, 0, t1.y ), |
|
|
vec3( 0, 1, 0 ), |
|
|
vec3( t1.z, 0, t1.w ) |
|
|
); |
|
|
vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); |
|
|
reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); |
|
|
reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); |
|
|
} |
|
|
#endif |
|
|
void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); |
|
|
vec3 irradiance = dotNL * directLight.color; |
|
|
#ifdef USE_CLEARCOAT |
|
|
float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); |
|
|
vec3 ccIrradiance = dotNLcc * directLight.color; |
|
|
clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); |
|
|
#endif |
|
|
reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); |
|
|
reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { |
|
|
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); |
|
|
} |
|
|
void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { |
|
|
#ifdef USE_CLEARCOAT |
|
|
clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); |
|
|
#endif |
|
|
vec3 singleScattering = vec3( 0.0 ); |
|
|
vec3 multiScattering = vec3( 0.0 ); |
|
|
vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; |
|
|
#ifdef USE_IRIDESCENCE |
|
|
computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); |
|
|
#else |
|
|
computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); |
|
|
#endif |
|
|
vec3 totalScattering = singleScattering + multiScattering; |
|
|
vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); |
|
|
reflectedLight.indirectSpecular += radiance * singleScattering; |
|
|
reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; |
|
|
reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; |
|
|
} |
|
|
#define RE_Direct RE_Direct_Physical |
|
|
#define RE_Direct_RectArea RE_Direct_RectArea_Physical |
|
|
#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical |
|
|
#define RE_IndirectSpecular RE_IndirectSpecular_Physical |
|
|
float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { |
|
|
return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); |
|
|
}`,DLe=` |
|
|
vec3 geometryPosition = - vViewPosition; |
|
|
vec3 geometryNormal = normal; |
|
|
vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); |
|
|
vec3 geometryClearcoatNormal = vec3( 0.0 ); |
|
|
#ifdef USE_CLEARCOAT |
|
|
geometryClearcoatNormal = clearcoatNormal; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE |
|
|
float dotNVi = saturate( dot( normal, geometryViewDir ) ); |
|
|
if ( material.iridescenceThickness == 0.0 ) { |
|
|
material.iridescence = 0.0; |
|
|
} else { |
|
|
material.iridescence = saturate( material.iridescence ); |
|
|
} |
|
|
if ( material.iridescence > 0.0 ) { |
|
|
material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); |
|
|
material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); |
|
|
} |
|
|
#endif |
|
|
IncidentLight directLight; |
|
|
#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) |
|
|
PointLight pointLight; |
|
|
#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
PointLightShadow pointLightShadow; |
|
|
#endif |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { |
|
|
pointLight = pointLights[ i ]; |
|
|
getPointLightInfo( pointLight, geometryPosition, directLight ); |
|
|
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) |
|
|
pointLightShadow = pointLightShadows[ i ]; |
|
|
directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; |
|
|
#endif |
|
|
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) |
|
|
SpotLight spotLight; |
|
|
vec4 spotColor; |
|
|
vec3 spotLightCoord; |
|
|
bool inSpotLightMap; |
|
|
#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 |
|
|
SpotLightShadow spotLightShadow; |
|
|
#endif |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { |
|
|
spotLight = spotLights[ i ]; |
|
|
getSpotLightInfo( spotLight, geometryPosition, directLight ); |
|
|
#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) |
|
|
#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX |
|
|
#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) |
|
|
#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS |
|
|
#else |
|
|
#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) |
|
|
#endif |
|
|
#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) |
|
|
spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; |
|
|
inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); |
|
|
spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); |
|
|
directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; |
|
|
#endif |
|
|
#undef SPOT_LIGHT_MAP_INDEX |
|
|
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) |
|
|
spotLightShadow = spotLightShadows[ i ]; |
|
|
directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; |
|
|
#endif |
|
|
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) |
|
|
DirectionalLight directionalLight; |
|
|
#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
DirectionalLightShadow directionalLightShadow; |
|
|
#endif |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { |
|
|
directionalLight = directionalLights[ i ]; |
|
|
getDirectionalLightInfo( directionalLight, directLight ); |
|
|
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) |
|
|
directionalLightShadow = directionalLightShadows[ i ]; |
|
|
directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; |
|
|
#endif |
|
|
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) |
|
|
RectAreaLight rectAreaLight; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { |
|
|
rectAreaLight = rectAreaLights[ i ]; |
|
|
RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if defined( RE_IndirectDiffuse ) |
|
|
vec3 iblIrradiance = vec3( 0.0 ); |
|
|
vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); |
|
|
#if defined( USE_LIGHT_PROBES ) |
|
|
irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); |
|
|
#endif |
|
|
#if ( NUM_HEMI_LIGHTS > 0 ) |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { |
|
|
irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#endif |
|
|
#if defined( RE_IndirectSpecular ) |
|
|
vec3 radiance = vec3( 0.0 ); |
|
|
vec3 clearcoatRadiance = vec3( 0.0 ); |
|
|
#endif`,NLe=`#if defined( RE_IndirectDiffuse ) |
|
|
#ifdef USE_LIGHTMAP |
|
|
vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); |
|
|
vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; |
|
|
irradiance += lightMapIrradiance; |
|
|
#endif |
|
|
#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) |
|
|
iblIrradiance += getIBLIrradiance( geometryNormal ); |
|
|
#endif |
|
|
#endif |
|
|
#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) |
|
|
#ifdef USE_ANISOTROPY |
|
|
radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); |
|
|
#else |
|
|
radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); |
|
|
#endif |
|
|
#endif`,kLe=`#if defined( RE_IndirectDiffuse ) |
|
|
RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
#endif |
|
|
#if defined( RE_IndirectSpecular ) |
|
|
RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); |
|
|
#endif`,FLe=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) |
|
|
gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; |
|
|
#endif`,OLe=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) |
|
|
uniform float logDepthBufFC; |
|
|
varying float vFragDepth; |
|
|
varying float vIsPerspective; |
|
|
#endif`,BLe=`#ifdef USE_LOGDEPTHBUF |
|
|
#ifdef USE_LOGDEPTHBUF_EXT |
|
|
varying float vFragDepth; |
|
|
varying float vIsPerspective; |
|
|
#else |
|
|
uniform float logDepthBufFC; |
|
|
#endif |
|
|
#endif`,zLe=`#ifdef USE_LOGDEPTHBUF |
|
|
#ifdef USE_LOGDEPTHBUF_EXT |
|
|
vFragDepth = 1.0 + gl_Position.w; |
|
|
vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); |
|
|
#else |
|
|
if ( isPerspectiveMatrix( projectionMatrix ) ) { |
|
|
gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; |
|
|
gl_Position.z *= gl_Position.w; |
|
|
} |
|
|
#endif |
|
|
#endif`,ULe=`#ifdef USE_MAP |
|
|
vec4 sampledDiffuseColor = texture2D( map, vMapUv ); |
|
|
#ifdef DECODE_VIDEO_TEXTURE |
|
|
sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); |
|
|
|
|
|
#endif |
|
|
diffuseColor *= sampledDiffuseColor; |
|
|
#endif`,GLe=`#ifdef USE_MAP |
|
|
uniform sampler2D map; |
|
|
#endif`,VLe=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) |
|
|
#if defined( USE_POINTS_UV ) |
|
|
vec2 uv = vUv; |
|
|
#else |
|
|
vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
diffuseColor *= texture2D( map, uv ); |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
diffuseColor.a *= texture2D( alphaMap, uv ).g; |
|
|
#endif`,HLe=`#if defined( USE_POINTS_UV ) |
|
|
varying vec2 vUv; |
|
|
#else |
|
|
#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) |
|
|
uniform mat3 uvTransform; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
uniform sampler2D map; |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
uniform sampler2D alphaMap; |
|
|
#endif`,WLe=`float metalnessFactor = metalness; |
|
|
#ifdef USE_METALNESSMAP |
|
|
vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); |
|
|
metalnessFactor *= texelMetalness.b; |
|
|
#endif`,jLe=`#ifdef USE_METALNESSMAP |
|
|
uniform sampler2D metalnessMap; |
|
|
#endif`,$Le=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) |
|
|
vColor *= morphTargetBaseInfluence; |
|
|
for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { |
|
|
#if defined( USE_COLOR_ALPHA ) |
|
|
if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; |
|
|
#elif defined( USE_COLOR ) |
|
|
if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; |
|
|
#endif |
|
|
} |
|
|
#endif`,YLe=`#ifdef USE_MORPHNORMALS |
|
|
objectNormal *= morphTargetBaseInfluence; |
|
|
#ifdef MORPHTARGETS_TEXTURE |
|
|
for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { |
|
|
if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; |
|
|
} |
|
|
#else |
|
|
objectNormal += morphNormal0 * morphTargetInfluences[ 0 ]; |
|
|
objectNormal += morphNormal1 * morphTargetInfluences[ 1 ]; |
|
|
objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; |
|
|
objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; |
|
|
#endif |
|
|
#endif`,qLe=`#ifdef USE_MORPHTARGETS |
|
|
uniform float morphTargetBaseInfluence; |
|
|
#ifdef MORPHTARGETS_TEXTURE |
|
|
uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; |
|
|
uniform sampler2DArray morphTargetsTexture; |
|
|
uniform ivec2 morphTargetsTextureSize; |
|
|
vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { |
|
|
int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; |
|
|
int y = texelIndex / morphTargetsTextureSize.x; |
|
|
int x = texelIndex - y * morphTargetsTextureSize.x; |
|
|
ivec3 morphUV = ivec3( x, y, morphTargetIndex ); |
|
|
return texelFetch( morphTargetsTexture, morphUV, 0 ); |
|
|
} |
|
|
#else |
|
|
#ifndef USE_MORPHNORMALS |
|
|
uniform float morphTargetInfluences[ 8 ]; |
|
|
#else |
|
|
uniform float morphTargetInfluences[ 4 ]; |
|
|
#endif |
|
|
#endif |
|
|
#endif`,XLe=`#ifdef USE_MORPHTARGETS |
|
|
transformed *= morphTargetBaseInfluence; |
|
|
#ifdef MORPHTARGETS_TEXTURE |
|
|
for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { |
|
|
if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; |
|
|
} |
|
|
#else |
|
|
transformed += morphTarget0 * morphTargetInfluences[ 0 ]; |
|
|
transformed += morphTarget1 * morphTargetInfluences[ 1 ]; |
|
|
transformed += morphTarget2 * morphTargetInfluences[ 2 ]; |
|
|
transformed += morphTarget3 * morphTargetInfluences[ 3 ]; |
|
|
#ifndef USE_MORPHNORMALS |
|
|
transformed += morphTarget4 * morphTargetInfluences[ 4 ]; |
|
|
transformed += morphTarget5 * morphTargetInfluences[ 5 ]; |
|
|
transformed += morphTarget6 * morphTargetInfluences[ 6 ]; |
|
|
transformed += morphTarget7 * morphTargetInfluences[ 7 ]; |
|
|
#endif |
|
|
#endif |
|
|
#endif`,KLe=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; |
|
|
#ifdef FLAT_SHADED |
|
|
vec3 fdx = dFdx( vViewPosition ); |
|
|
vec3 fdy = dFdy( vViewPosition ); |
|
|
vec3 normal = normalize( cross( fdx, fdy ) ); |
|
|
#else |
|
|
vec3 normal = normalize( vNormal ); |
|
|
#ifdef DOUBLE_SIDED |
|
|
normal *= faceDirection; |
|
|
#endif |
|
|
#endif |
|
|
#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) |
|
|
#ifdef USE_TANGENT |
|
|
mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); |
|
|
#else |
|
|
mat3 tbn = getTangentFrame( - vViewPosition, normal, |
|
|
#if defined( USE_NORMALMAP ) |
|
|
vNormalMapUv |
|
|
#elif defined( USE_CLEARCOAT_NORMALMAP ) |
|
|
vClearcoatNormalMapUv |
|
|
#else |
|
|
vUv |
|
|
#endif |
|
|
); |
|
|
#endif |
|
|
#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) |
|
|
tbn[0] *= faceDirection; |
|
|
tbn[1] *= faceDirection; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
#ifdef USE_TANGENT |
|
|
mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); |
|
|
#else |
|
|
mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); |
|
|
#endif |
|
|
#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) |
|
|
tbn2[0] *= faceDirection; |
|
|
tbn2[1] *= faceDirection; |
|
|
#endif |
|
|
#endif |
|
|
vec3 nonPerturbedNormal = normal;`,ZLe=`#ifdef USE_NORMALMAP_OBJECTSPACE |
|
|
normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; |
|
|
#ifdef FLIP_SIDED |
|
|
normal = - normal; |
|
|
#endif |
|
|
#ifdef DOUBLE_SIDED |
|
|
normal = normal * faceDirection; |
|
|
#endif |
|
|
normal = normalize( normalMatrix * normal ); |
|
|
#elif defined( USE_NORMALMAP_TANGENTSPACE ) |
|
|
vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; |
|
|
mapN.xy *= normalScale; |
|
|
normal = normalize( tbn * mapN ); |
|
|
#elif defined( USE_BUMPMAP ) |
|
|
normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); |
|
|
#endif`,JLe=`#ifndef FLAT_SHADED |
|
|
varying vec3 vNormal; |
|
|
#ifdef USE_TANGENT |
|
|
varying vec3 vTangent; |
|
|
varying vec3 vBitangent; |
|
|
#endif |
|
|
#endif`,QLe=`#ifndef FLAT_SHADED |
|
|
varying vec3 vNormal; |
|
|
#ifdef USE_TANGENT |
|
|
varying vec3 vTangent; |
|
|
varying vec3 vBitangent; |
|
|
#endif |
|
|
#endif`,eIe=`#ifndef FLAT_SHADED |
|
|
vNormal = normalize( transformedNormal ); |
|
|
#ifdef USE_TANGENT |
|
|
vTangent = normalize( transformedTangent ); |
|
|
vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); |
|
|
#endif |
|
|
#endif`,tIe=`#ifdef USE_NORMALMAP |
|
|
uniform sampler2D normalMap; |
|
|
uniform vec2 normalScale; |
|
|
#endif |
|
|
#ifdef USE_NORMALMAP_OBJECTSPACE |
|
|
uniform mat3 normalMatrix; |
|
|
#endif |
|
|
#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) |
|
|
mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { |
|
|
vec3 q0 = dFdx( eye_pos.xyz ); |
|
|
vec3 q1 = dFdy( eye_pos.xyz ); |
|
|
vec2 st0 = dFdx( uv.st ); |
|
|
vec2 st1 = dFdy( uv.st ); |
|
|
vec3 N = surf_norm; |
|
|
vec3 q1perp = cross( q1, N ); |
|
|
vec3 q0perp = cross( N, q0 ); |
|
|
vec3 T = q1perp * st0.x + q0perp * st1.x; |
|
|
vec3 B = q1perp * st0.y + q0perp * st1.y; |
|
|
float det = max( dot( T, T ), dot( B, B ) ); |
|
|
float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); |
|
|
return mat3( T * scale, B * scale, N ); |
|
|
} |
|
|
#endif`,nIe=`#ifdef USE_CLEARCOAT |
|
|
vec3 clearcoatNormal = nonPerturbedNormal; |
|
|
#endif`,iIe=`#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; |
|
|
clearcoatMapN.xy *= clearcoatNormalScale; |
|
|
clearcoatNormal = normalize( tbn2 * clearcoatMapN ); |
|
|
#endif`,rIe=`#ifdef USE_CLEARCOATMAP |
|
|
uniform sampler2D clearcoatMap; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
uniform sampler2D clearcoatNormalMap; |
|
|
uniform vec2 clearcoatNormalScale; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
uniform sampler2D clearcoatRoughnessMap; |
|
|
#endif`,aIe=`#ifdef USE_IRIDESCENCEMAP |
|
|
uniform sampler2D iridescenceMap; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
uniform sampler2D iridescenceThicknessMap; |
|
|
#endif`,oIe=`#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= material.transmissionAlpha; |
|
|
#endif |
|
|
gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,sIe=`vec3 packNormalToRGB( const in vec3 normal ) { |
|
|
return normalize( normal ) * 0.5 + 0.5; |
|
|
} |
|
|
vec3 unpackRGBToNormal( const in vec3 rgb ) { |
|
|
return 2.0 * rgb.xyz - 1.0; |
|
|
} |
|
|
const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.; |
|
|
const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. ); |
|
|
const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. ); |
|
|
const float ShiftRight8 = 1. / 256.; |
|
|
vec4 packDepthToRGBA( const in float v ) { |
|
|
vec4 r = vec4( fract( v * PackFactors ), v ); |
|
|
r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale; |
|
|
} |
|
|
float unpackRGBAToDepth( const in vec4 v ) { |
|
|
return dot( v, UnpackFactors ); |
|
|
} |
|
|
vec2 packDepthToRG( in highp float v ) { |
|
|
return packDepthToRGBA( v ).yx; |
|
|
} |
|
|
float unpackRGToDepth( const in highp vec2 v ) { |
|
|
return unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) ); |
|
|
} |
|
|
vec4 pack2HalfToRGBA( vec2 v ) { |
|
|
vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); |
|
|
return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); |
|
|
} |
|
|
vec2 unpackRGBATo2Half( vec4 v ) { |
|
|
return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); |
|
|
} |
|
|
float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { |
|
|
return ( viewZ + near ) / ( near - far ); |
|
|
} |
|
|
float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { |
|
|
return depth * ( near - far ) - near; |
|
|
} |
|
|
float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { |
|
|
return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); |
|
|
} |
|
|
float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { |
|
|
return ( near * far ) / ( ( far - near ) * depth - far ); |
|
|
}`,lIe=`#ifdef PREMULTIPLIED_ALPHA |
|
|
gl_FragColor.rgb *= gl_FragColor.a; |
|
|
#endif`,uIe=`vec4 mvPosition = vec4( transformed, 1.0 ); |
|
|
#ifdef USE_BATCHING |
|
|
mvPosition = batchingMatrix * mvPosition; |
|
|
#endif |
|
|
#ifdef USE_INSTANCING |
|
|
mvPosition = instanceMatrix * mvPosition; |
|
|
#endif |
|
|
mvPosition = modelViewMatrix * mvPosition; |
|
|
gl_Position = projectionMatrix * mvPosition;`,cIe=`#ifdef DITHERING |
|
|
gl_FragColor.rgb = dithering( gl_FragColor.rgb ); |
|
|
#endif`,dIe=`#ifdef DITHERING |
|
|
vec3 dithering( vec3 color ) { |
|
|
float grid_position = rand( gl_FragCoord.xy ); |
|
|
vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); |
|
|
dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); |
|
|
return color + dither_shift_RGB; |
|
|
} |
|
|
#endif`,hIe=`float roughnessFactor = roughness; |
|
|
#ifdef USE_ROUGHNESSMAP |
|
|
vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); |
|
|
roughnessFactor *= texelRoughness.g; |
|
|
#endif`,fIe=`#ifdef USE_ROUGHNESSMAP |
|
|
uniform sampler2D roughnessMap; |
|
|
#endif`,pIe=`#if NUM_SPOT_LIGHT_COORDS > 0 |
|
|
varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_MAPS > 0 |
|
|
uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; |
|
|
#endif |
|
|
#ifdef USE_SHADOWMAP |
|
|
#if NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
struct DirectionalLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
}; |
|
|
uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_SHADOWS > 0 |
|
|
uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; |
|
|
struct SpotLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
}; |
|
|
uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#if NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
struct PointLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
float shadowCameraNear; |
|
|
float shadowCameraFar; |
|
|
}; |
|
|
uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { |
|
|
return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); |
|
|
} |
|
|
vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { |
|
|
return unpackRGBATo2Half( texture2D( shadow, uv ) ); |
|
|
} |
|
|
float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ |
|
|
float occlusion = 1.0; |
|
|
vec2 distribution = texture2DDistribution( shadow, uv ); |
|
|
float hard_shadow = step( compare , distribution.x ); |
|
|
if (hard_shadow != 1.0 ) { |
|
|
float distance = compare - distribution.x ; |
|
|
float variance = max( 0.00000, distribution.y * distribution.y ); |
|
|
float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); |
|
|
} |
|
|
return occlusion; |
|
|
} |
|
|
float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { |
|
|
float shadow = 1.0; |
|
|
shadowCoord.xyz /= shadowCoord.w; |
|
|
shadowCoord.z += shadowBias; |
|
|
bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; |
|
|
bool frustumTest = inFrustum && shadowCoord.z <= 1.0; |
|
|
if ( frustumTest ) { |
|
|
#if defined( SHADOWMAP_TYPE_PCF ) |
|
|
vec2 texelSize = vec2( 1.0 ) / shadowMapSize; |
|
|
float dx0 = - texelSize.x * shadowRadius; |
|
|
float dy0 = - texelSize.y * shadowRadius; |
|
|
float dx1 = + texelSize.x * shadowRadius; |
|
|
float dy1 = + texelSize.y * shadowRadius; |
|
|
float dx2 = dx0 / 2.0; |
|
|
float dy2 = dy0 / 2.0; |
|
|
float dx3 = dx1 / 2.0; |
|
|
float dy3 = dy1 / 2.0; |
|
|
shadow = ( |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) |
|
|
) * ( 1.0 / 17.0 ); |
|
|
#elif defined( SHADOWMAP_TYPE_PCF_SOFT ) |
|
|
vec2 texelSize = vec2( 1.0 ) / shadowMapSize; |
|
|
float dx = texelSize.x; |
|
|
float dy = texelSize.y; |
|
|
vec2 uv = shadowCoord.xy; |
|
|
vec2 f = fract( uv * shadowMapSize + 0.5 ); |
|
|
uv -= f * texelSize; |
|
|
shadow = ( |
|
|
texture2DCompare( shadowMap, uv, shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + |
|
|
texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), |
|
|
f.x ) + |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), |
|
|
f.x ) + |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), |
|
|
f.y ) + |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), |
|
|
f.y ) + |
|
|
mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), |
|
|
f.x ), |
|
|
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), |
|
|
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), |
|
|
f.x ), |
|
|
f.y ) |
|
|
) * ( 1.0 / 9.0 ); |
|
|
#elif defined( SHADOWMAP_TYPE_VSM ) |
|
|
shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); |
|
|
#else |
|
|
shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); |
|
|
#endif |
|
|
} |
|
|
return shadow; |
|
|
} |
|
|
vec2 cubeToUV( vec3 v, float texelSizeY ) { |
|
|
vec3 absV = abs( v ); |
|
|
float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); |
|
|
absV *= scaleToCube; |
|
|
v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); |
|
|
vec2 planar = v.xy; |
|
|
float almostATexel = 1.5 * texelSizeY; |
|
|
float almostOne = 1.0 - almostATexel; |
|
|
if ( absV.z >= almostOne ) { |
|
|
if ( v.z > 0.0 ) |
|
|
planar.x = 4.0 - v.x; |
|
|
} else if ( absV.x >= almostOne ) { |
|
|
float signX = sign( v.x ); |
|
|
planar.x = v.z * signX + 2.0 * signX; |
|
|
} else if ( absV.y >= almostOne ) { |
|
|
float signY = sign( v.y ); |
|
|
planar.x = v.x + 2.0 * signY + 2.0; |
|
|
planar.y = v.z * signY - 2.0; |
|
|
} |
|
|
return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); |
|
|
} |
|
|
float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { |
|
|
vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); |
|
|
vec3 lightToPosition = shadowCoord.xyz; |
|
|
float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; |
|
|
vec3 bd3D = normalize( lightToPosition ); |
|
|
#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) |
|
|
vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; |
|
|
return ( |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + |
|
|
texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) |
|
|
) * ( 1.0 / 9.0 ); |
|
|
#else |
|
|
return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); |
|
|
#endif |
|
|
} |
|
|
#endif`,mIe=`#if NUM_SPOT_LIGHT_COORDS > 0 |
|
|
uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; |
|
|
varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; |
|
|
#endif |
|
|
#ifdef USE_SHADOWMAP |
|
|
#if NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
struct DirectionalLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
}; |
|
|
uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_SHADOWS > 0 |
|
|
struct SpotLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
}; |
|
|
uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#if NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
struct PointLightShadow { |
|
|
float shadowBias; |
|
|
float shadowNormalBias; |
|
|
float shadowRadius; |
|
|
vec2 shadowMapSize; |
|
|
float shadowCameraNear; |
|
|
float shadowCameraFar; |
|
|
}; |
|
|
uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; |
|
|
#endif |
|
|
#endif`,gIe=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) |
|
|
vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); |
|
|
vec4 shadowWorldPosition; |
|
|
#endif |
|
|
#if defined( USE_SHADOWMAP ) |
|
|
#if NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { |
|
|
shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); |
|
|
vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { |
|
|
shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); |
|
|
vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_COORDS > 0 |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { |
|
|
shadowWorldPosition = worldPosition; |
|
|
#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) |
|
|
shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; |
|
|
#endif |
|
|
vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif`,vIe=`float getShadowMask() { |
|
|
float shadow = 1.0; |
|
|
#ifdef USE_SHADOWMAP |
|
|
#if NUM_DIR_LIGHT_SHADOWS > 0 |
|
|
DirectionalLightShadow directionalLight; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { |
|
|
directionalLight = directionalLightShadows[ i ]; |
|
|
shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if NUM_SPOT_LIGHT_SHADOWS > 0 |
|
|
SpotLightShadow spotLight; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { |
|
|
spotLight = spotLightShadows[ i ]; |
|
|
shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#if NUM_POINT_LIGHT_SHADOWS > 0 |
|
|
PointLightShadow pointLight; |
|
|
#pragma unroll_loop_start |
|
|
for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { |
|
|
pointLight = pointLightShadows[ i ]; |
|
|
shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; |
|
|
} |
|
|
#pragma unroll_loop_end |
|
|
#endif |
|
|
#endif |
|
|
return shadow; |
|
|
}`,yIe=`#ifdef USE_SKINNING |
|
|
mat4 boneMatX = getBoneMatrix( skinIndex.x ); |
|
|
mat4 boneMatY = getBoneMatrix( skinIndex.y ); |
|
|
mat4 boneMatZ = getBoneMatrix( skinIndex.z ); |
|
|
mat4 boneMatW = getBoneMatrix( skinIndex.w ); |
|
|
#endif`,_Ie=`#ifdef USE_SKINNING |
|
|
uniform mat4 bindMatrix; |
|
|
uniform mat4 bindMatrixInverse; |
|
|
uniform highp sampler2D boneTexture; |
|
|
mat4 getBoneMatrix( const in float i ) { |
|
|
int size = textureSize( boneTexture, 0 ).x; |
|
|
int j = int( i ) * 4; |
|
|
int x = j % size; |
|
|
int y = j / size; |
|
|
vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); |
|
|
vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); |
|
|
vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); |
|
|
vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); |
|
|
return mat4( v1, v2, v3, v4 ); |
|
|
} |
|
|
#endif`,SIe=`#ifdef USE_SKINNING |
|
|
vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); |
|
|
vec4 skinned = vec4( 0.0 ); |
|
|
skinned += boneMatX * skinVertex * skinWeight.x; |
|
|
skinned += boneMatY * skinVertex * skinWeight.y; |
|
|
skinned += boneMatZ * skinVertex * skinWeight.z; |
|
|
skinned += boneMatW * skinVertex * skinWeight.w; |
|
|
transformed = ( bindMatrixInverse * skinned ).xyz; |
|
|
#endif`,bIe=`#ifdef USE_SKINNING |
|
|
mat4 skinMatrix = mat4( 0.0 ); |
|
|
skinMatrix += skinWeight.x * boneMatX; |
|
|
skinMatrix += skinWeight.y * boneMatY; |
|
|
skinMatrix += skinWeight.z * boneMatZ; |
|
|
skinMatrix += skinWeight.w * boneMatW; |
|
|
skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; |
|
|
objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; |
|
|
#ifdef USE_TANGENT |
|
|
objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; |
|
|
#endif |
|
|
#endif`,xIe=`float specularStrength; |
|
|
#ifdef USE_SPECULARMAP |
|
|
vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); |
|
|
specularStrength = texelSpecular.r; |
|
|
#else |
|
|
specularStrength = 1.0; |
|
|
#endif`,wIe=`#ifdef USE_SPECULARMAP |
|
|
uniform sampler2D specularMap; |
|
|
#endif`,TIe=`#if defined( TONE_MAPPING ) |
|
|
gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); |
|
|
#endif`,AIe=`#ifndef saturate |
|
|
#define saturate( a ) clamp( a, 0.0, 1.0 ) |
|
|
#endif |
|
|
uniform float toneMappingExposure; |
|
|
vec3 LinearToneMapping( vec3 color ) { |
|
|
return saturate( toneMappingExposure * color ); |
|
|
} |
|
|
vec3 ReinhardToneMapping( vec3 color ) { |
|
|
color *= toneMappingExposure; |
|
|
return saturate( color / ( vec3( 1.0 ) + color ) ); |
|
|
} |
|
|
vec3 OptimizedCineonToneMapping( vec3 color ) { |
|
|
color *= toneMappingExposure; |
|
|
color = max( vec3( 0.0 ), color - 0.004 ); |
|
|
return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); |
|
|
} |
|
|
vec3 RRTAndODTFit( vec3 v ) { |
|
|
vec3 a = v * ( v + 0.0245786 ) - 0.000090537; |
|
|
vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; |
|
|
return a / b; |
|
|
} |
|
|
vec3 ACESFilmicToneMapping( vec3 color ) { |
|
|
const mat3 ACESInputMat = mat3( |
|
|
vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), |
|
|
vec3( 0.04823, 0.01566, 0.83777 ) |
|
|
); |
|
|
const mat3 ACESOutputMat = mat3( |
|
|
vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), |
|
|
vec3( -0.07367, -0.00605, 1.07602 ) |
|
|
); |
|
|
color *= toneMappingExposure / 0.6; |
|
|
color = ACESInputMat * color; |
|
|
color = RRTAndODTFit( color ); |
|
|
color = ACESOutputMat * color; |
|
|
return saturate( color ); |
|
|
} |
|
|
const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( |
|
|
vec3( 1.6605, - 0.1246, - 0.0182 ), |
|
|
vec3( - 0.5876, 1.1329, - 0.1006 ), |
|
|
vec3( - 0.0728, - 0.0083, 1.1187 ) |
|
|
); |
|
|
const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( |
|
|
vec3( 0.6274, 0.0691, 0.0164 ), |
|
|
vec3( 0.3293, 0.9195, 0.0880 ), |
|
|
vec3( 0.0433, 0.0113, 0.8956 ) |
|
|
); |
|
|
vec3 agxDefaultContrastApprox( vec3 x ) { |
|
|
vec3 x2 = x * x; |
|
|
vec3 x4 = x2 * x2; |
|
|
return + 15.5 * x4 * x2 |
|
|
- 40.14 * x4 * x |
|
|
+ 31.96 * x4 |
|
|
- 6.868 * x2 * x |
|
|
+ 0.4298 * x2 |
|
|
+ 0.1191 * x |
|
|
- 0.00232; |
|
|
} |
|
|
vec3 AgXToneMapping( vec3 color ) { |
|
|
const mat3 AgXInsetMatrix = mat3( |
|
|
vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), |
|
|
vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), |
|
|
vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) |
|
|
); |
|
|
const mat3 AgXOutsetMatrix = mat3( |
|
|
vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), |
|
|
vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), |
|
|
vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) |
|
|
); |
|
|
const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; |
|
|
color *= toneMappingExposure; |
|
|
color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; |
|
|
color = AgXInsetMatrix * color; |
|
|
color = max( color, 1e-10 ); color = log2( color ); |
|
|
color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); |
|
|
color = clamp( color, 0.0, 1.0 ); |
|
|
color = agxDefaultContrastApprox( color ); |
|
|
color = AgXOutsetMatrix * color; |
|
|
color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); |
|
|
color = LINEAR_REC2020_TO_LINEAR_SRGB * color; |
|
|
color = clamp( color, 0.0, 1.0 ); |
|
|
return color; |
|
|
} |
|
|
vec3 CustomToneMapping( vec3 color ) { return color; }`,CIe=`#ifdef USE_TRANSMISSION |
|
|
material.transmission = transmission; |
|
|
material.transmissionAlpha = 1.0; |
|
|
material.thickness = thickness; |
|
|
material.attenuationDistance = attenuationDistance; |
|
|
material.attenuationColor = attenuationColor; |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; |
|
|
#endif |
|
|
vec3 pos = vWorldPosition; |
|
|
vec3 v = normalize( cameraPosition - pos ); |
|
|
vec3 n = inverseTransformDirection( normal, viewMatrix ); |
|
|
vec4 transmitted = getIBLVolumeRefraction( |
|
|
n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, |
|
|
pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, |
|
|
material.attenuationColor, material.attenuationDistance ); |
|
|
material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); |
|
|
totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); |
|
|
#endif`,MIe=`#ifdef USE_TRANSMISSION |
|
|
uniform float transmission; |
|
|
uniform float thickness; |
|
|
uniform float attenuationDistance; |
|
|
uniform vec3 attenuationColor; |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
uniform sampler2D transmissionMap; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
uniform sampler2D thicknessMap; |
|
|
#endif |
|
|
uniform vec2 transmissionSamplerSize; |
|
|
uniform sampler2D transmissionSamplerMap; |
|
|
uniform mat4 modelMatrix; |
|
|
uniform mat4 projectionMatrix; |
|
|
varying vec3 vWorldPosition; |
|
|
float w0( float a ) { |
|
|
return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); |
|
|
} |
|
|
float w1( float a ) { |
|
|
return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); |
|
|
} |
|
|
float w2( float a ){ |
|
|
return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); |
|
|
} |
|
|
float w3( float a ) { |
|
|
return ( 1.0 / 6.0 ) * ( a * a * a ); |
|
|
} |
|
|
float g0( float a ) { |
|
|
return w0( a ) + w1( a ); |
|
|
} |
|
|
float g1( float a ) { |
|
|
return w2( a ) + w3( a ); |
|
|
} |
|
|
float h0( float a ) { |
|
|
return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); |
|
|
} |
|
|
float h1( float a ) { |
|
|
return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); |
|
|
} |
|
|
vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { |
|
|
uv = uv * texelSize.zw + 0.5; |
|
|
vec2 iuv = floor( uv ); |
|
|
vec2 fuv = fract( uv ); |
|
|
float g0x = g0( fuv.x ); |
|
|
float g1x = g1( fuv.x ); |
|
|
float h0x = h0( fuv.x ); |
|
|
float h1x = h1( fuv.x ); |
|
|
float h0y = h0( fuv.y ); |
|
|
float h1y = h1( fuv.y ); |
|
|
vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; |
|
|
vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; |
|
|
vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; |
|
|
vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; |
|
|
return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + |
|
|
g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); |
|
|
} |
|
|
vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { |
|
|
vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); |
|
|
vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); |
|
|
vec2 fLodSizeInv = 1.0 / fLodSize; |
|
|
vec2 cLodSizeInv = 1.0 / cLodSize; |
|
|
vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); |
|
|
vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); |
|
|
return mix( fSample, cSample, fract( lod ) ); |
|
|
} |
|
|
vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { |
|
|
vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); |
|
|
vec3 modelScale; |
|
|
modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); |
|
|
modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); |
|
|
modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); |
|
|
return normalize( refractionVector ) * thickness * modelScale; |
|
|
} |
|
|
float applyIorToRoughness( const in float roughness, const in float ior ) { |
|
|
return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); |
|
|
} |
|
|
vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { |
|
|
float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); |
|
|
return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); |
|
|
} |
|
|
vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { |
|
|
if ( isinf( attenuationDistance ) ) { |
|
|
return vec3( 1.0 ); |
|
|
} else { |
|
|
vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; |
|
|
vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; |
|
|
} |
|
|
} |
|
|
vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, |
|
|
const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, |
|
|
const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, |
|
|
const in vec3 attenuationColor, const in float attenuationDistance ) { |
|
|
vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); |
|
|
vec3 refractedRayExit = position + transmissionRay; |
|
|
vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); |
|
|
vec2 refractionCoords = ndcPos.xy / ndcPos.w; |
|
|
refractionCoords += 1.0; |
|
|
refractionCoords /= 2.0; |
|
|
vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); |
|
|
vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); |
|
|
vec3 attenuatedColor = transmittance * transmittedLight.rgb; |
|
|
vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); |
|
|
float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; |
|
|
return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); |
|
|
} |
|
|
#endif`,EIe=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) |
|
|
varying vec2 vUv; |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
varying vec2 vMapUv; |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
varying vec2 vAlphaMapUv; |
|
|
#endif |
|
|
#ifdef USE_LIGHTMAP |
|
|
varying vec2 vLightMapUv; |
|
|
#endif |
|
|
#ifdef USE_AOMAP |
|
|
varying vec2 vAoMapUv; |
|
|
#endif |
|
|
#ifdef USE_BUMPMAP |
|
|
varying vec2 vBumpMapUv; |
|
|
#endif |
|
|
#ifdef USE_NORMALMAP |
|
|
varying vec2 vNormalMapUv; |
|
|
#endif |
|
|
#ifdef USE_EMISSIVEMAP |
|
|
varying vec2 vEmissiveMapUv; |
|
|
#endif |
|
|
#ifdef USE_METALNESSMAP |
|
|
varying vec2 vMetalnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_ROUGHNESSMAP |
|
|
varying vec2 vRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
varying vec2 vAnisotropyMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOATMAP |
|
|
varying vec2 vClearcoatMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
varying vec2 vClearcoatNormalMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
varying vec2 vClearcoatRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCEMAP |
|
|
varying vec2 vIridescenceMapUv; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
varying vec2 vIridescenceThicknessMapUv; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
varying vec2 vSheenColorMapUv; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
varying vec2 vSheenRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULARMAP |
|
|
varying vec2 vSpecularMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
varying vec2 vSpecularColorMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
varying vec2 vSpecularIntensityMapUv; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
uniform mat3 transmissionMapTransform; |
|
|
varying vec2 vTransmissionMapUv; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
uniform mat3 thicknessMapTransform; |
|
|
varying vec2 vThicknessMapUv; |
|
|
#endif`,PIe=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) |
|
|
varying vec2 vUv; |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
uniform mat3 mapTransform; |
|
|
varying vec2 vMapUv; |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
uniform mat3 alphaMapTransform; |
|
|
varying vec2 vAlphaMapUv; |
|
|
#endif |
|
|
#ifdef USE_LIGHTMAP |
|
|
uniform mat3 lightMapTransform; |
|
|
varying vec2 vLightMapUv; |
|
|
#endif |
|
|
#ifdef USE_AOMAP |
|
|
uniform mat3 aoMapTransform; |
|
|
varying vec2 vAoMapUv; |
|
|
#endif |
|
|
#ifdef USE_BUMPMAP |
|
|
uniform mat3 bumpMapTransform; |
|
|
varying vec2 vBumpMapUv; |
|
|
#endif |
|
|
#ifdef USE_NORMALMAP |
|
|
uniform mat3 normalMapTransform; |
|
|
varying vec2 vNormalMapUv; |
|
|
#endif |
|
|
#ifdef USE_DISPLACEMENTMAP |
|
|
uniform mat3 displacementMapTransform; |
|
|
varying vec2 vDisplacementMapUv; |
|
|
#endif |
|
|
#ifdef USE_EMISSIVEMAP |
|
|
uniform mat3 emissiveMapTransform; |
|
|
varying vec2 vEmissiveMapUv; |
|
|
#endif |
|
|
#ifdef USE_METALNESSMAP |
|
|
uniform mat3 metalnessMapTransform; |
|
|
varying vec2 vMetalnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_ROUGHNESSMAP |
|
|
uniform mat3 roughnessMapTransform; |
|
|
varying vec2 vRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
uniform mat3 anisotropyMapTransform; |
|
|
varying vec2 vAnisotropyMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOATMAP |
|
|
uniform mat3 clearcoatMapTransform; |
|
|
varying vec2 vClearcoatMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
uniform mat3 clearcoatNormalMapTransform; |
|
|
varying vec2 vClearcoatNormalMapUv; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
uniform mat3 clearcoatRoughnessMapTransform; |
|
|
varying vec2 vClearcoatRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
uniform mat3 sheenColorMapTransform; |
|
|
varying vec2 vSheenColorMapUv; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
uniform mat3 sheenRoughnessMapTransform; |
|
|
varying vec2 vSheenRoughnessMapUv; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCEMAP |
|
|
uniform mat3 iridescenceMapTransform; |
|
|
varying vec2 vIridescenceMapUv; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
uniform mat3 iridescenceThicknessMapTransform; |
|
|
varying vec2 vIridescenceThicknessMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULARMAP |
|
|
uniform mat3 specularMapTransform; |
|
|
varying vec2 vSpecularMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
uniform mat3 specularColorMapTransform; |
|
|
varying vec2 vSpecularColorMapUv; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
uniform mat3 specularIntensityMapTransform; |
|
|
varying vec2 vSpecularIntensityMapUv; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
uniform mat3 transmissionMapTransform; |
|
|
varying vec2 vTransmissionMapUv; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
uniform mat3 thicknessMapTransform; |
|
|
varying vec2 vThicknessMapUv; |
|
|
#endif`,RIe=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) |
|
|
vUv = vec3( uv, 1 ).xy; |
|
|
#endif |
|
|
#ifdef USE_MAP |
|
|
vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_ALPHAMAP |
|
|
vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_LIGHTMAP |
|
|
vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_AOMAP |
|
|
vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_BUMPMAP |
|
|
vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_NORMALMAP |
|
|
vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_DISPLACEMENTMAP |
|
|
vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_EMISSIVEMAP |
|
|
vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_METALNESSMAP |
|
|
vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_ROUGHNESSMAP |
|
|
vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOATMAP |
|
|
vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_NORMALMAP |
|
|
vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT_ROUGHNESSMAP |
|
|
vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCEMAP |
|
|
vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE_THICKNESSMAP |
|
|
vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SPECULARMAP |
|
|
vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSIONMAP |
|
|
vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; |
|
|
#endif |
|
|
#ifdef USE_THICKNESSMAP |
|
|
vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; |
|
|
#endif`,LIe=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 |
|
|
vec4 worldPosition = vec4( transformed, 1.0 ); |
|
|
#ifdef USE_BATCHING |
|
|
worldPosition = batchingMatrix * worldPosition; |
|
|
#endif |
|
|
#ifdef USE_INSTANCING |
|
|
worldPosition = instanceMatrix * worldPosition; |
|
|
#endif |
|
|
worldPosition = modelMatrix * worldPosition; |
|
|
#endif`;const IIe=`varying vec2 vUv; |
|
|
uniform mat3 uvTransform; |
|
|
void main() { |
|
|
vUv = ( uvTransform * vec3( uv, 1 ) ).xy; |
|
|
gl_Position = vec4( position.xy, 1.0, 1.0 ); |
|
|
}`,DIe=`uniform sampler2D t2D; |
|
|
uniform float backgroundIntensity; |
|
|
varying vec2 vUv; |
|
|
void main() { |
|
|
vec4 texColor = texture2D( t2D, vUv ); |
|
|
#ifdef DECODE_VIDEO_TEXTURE |
|
|
texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); |
|
|
#endif |
|
|
texColor.rgb *= backgroundIntensity; |
|
|
gl_FragColor = texColor; |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
}`,NIe=`varying vec3 vWorldDirection; |
|
|
#include <common> |
|
|
void main() { |
|
|
vWorldDirection = transformDirection( position, modelMatrix ); |
|
|
#include <begin_vertex> |
|
|
#include <project_vertex> |
|
|
gl_Position.z = gl_Position.w; |
|
|
}`,kIe=`#ifdef ENVMAP_TYPE_CUBE |
|
|
uniform samplerCube envMap; |
|
|
#elif defined( ENVMAP_TYPE_CUBE_UV ) |
|
|
uniform sampler2D envMap; |
|
|
#endif |
|
|
uniform float flipEnvMap; |
|
|
uniform float backgroundBlurriness; |
|
|
uniform float backgroundIntensity; |
|
|
varying vec3 vWorldDirection; |
|
|
#include <cube_uv_reflection_fragment> |
|
|
void main() { |
|
|
#ifdef ENVMAP_TYPE_CUBE |
|
|
vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); |
|
|
#elif defined( ENVMAP_TYPE_CUBE_UV ) |
|
|
vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); |
|
|
#else |
|
|
vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); |
|
|
#endif |
|
|
texColor.rgb *= backgroundIntensity; |
|
|
gl_FragColor = texColor; |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
}`,FIe=`varying vec3 vWorldDirection; |
|
|
#include <common> |
|
|
void main() { |
|
|
vWorldDirection = transformDirection( position, modelMatrix ); |
|
|
#include <begin_vertex> |
|
|
#include <project_vertex> |
|
|
gl_Position.z = gl_Position.w; |
|
|
}`,OIe=`uniform samplerCube tCube; |
|
|
uniform float tFlip; |
|
|
uniform float opacity; |
|
|
varying vec3 vWorldDirection; |
|
|
void main() { |
|
|
vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); |
|
|
gl_FragColor = texColor; |
|
|
gl_FragColor.a *= opacity; |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
}`,BIe=`#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
varying vec2 vHighPrecisionZW; |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#ifdef USE_DISPLACEMENTMAP |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#endif |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vHighPrecisionZW = gl_Position.zw; |
|
|
}`,zIe=`#if DEPTH_PACKING == 3200 |
|
|
uniform float opacity; |
|
|
#endif |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
varying vec2 vHighPrecisionZW; |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( 1.0 ); |
|
|
#include <clipping_planes_fragment> |
|
|
#if DEPTH_PACKING == 3200 |
|
|
diffuseColor.a = opacity; |
|
|
#endif |
|
|
#include <map_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <logdepthbuf_fragment> |
|
|
float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; |
|
|
#if DEPTH_PACKING == 3200 |
|
|
gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); |
|
|
#elif DEPTH_PACKING == 3201 |
|
|
gl_FragColor = packDepthToRGBA( fragCoordZ ); |
|
|
#endif |
|
|
}`,UIe=`#define DISTANCE |
|
|
varying vec3 vWorldPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#ifdef USE_DISPLACEMENTMAP |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#endif |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <worldpos_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vWorldPosition = worldPosition.xyz; |
|
|
}`,GIe=`#define DISTANCE |
|
|
uniform vec3 referencePosition; |
|
|
uniform float nearDistance; |
|
|
uniform float farDistance; |
|
|
varying vec3 vWorldPosition; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main () { |
|
|
vec4 diffuseColor = vec4( 1.0 ); |
|
|
#include <clipping_planes_fragment> |
|
|
#include <map_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
float dist = length( vWorldPosition - referencePosition ); |
|
|
dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); |
|
|
dist = saturate( dist ); |
|
|
gl_FragColor = packDepthToRGBA( dist ); |
|
|
}`,VIe=`varying vec3 vWorldDirection; |
|
|
#include <common> |
|
|
void main() { |
|
|
vWorldDirection = transformDirection( position, modelMatrix ); |
|
|
#include <begin_vertex> |
|
|
#include <project_vertex> |
|
|
}`,HIe=`uniform sampler2D tEquirect; |
|
|
varying vec3 vWorldDirection; |
|
|
#include <common> |
|
|
void main() { |
|
|
vec3 direction = normalize( vWorldDirection ); |
|
|
vec2 sampleUV = equirectUv( direction ); |
|
|
gl_FragColor = texture2D( tEquirect, sampleUV ); |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
}`,WIe=`uniform float scale; |
|
|
attribute float lineDistance; |
|
|
varying float vLineDistance; |
|
|
#include <common> |
|
|
#include <uv_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
vLineDistance = scale * lineDistance; |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,jIe=`uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
uniform float dashSize; |
|
|
uniform float totalSize; |
|
|
varying float vLineDistance; |
|
|
#include <common> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
if ( mod( vLineDistance, totalSize ) > dashSize ) { |
|
|
discard; |
|
|
} |
|
|
vec3 outgoingLight = vec3( 0.0 ); |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
outgoingLight = diffuseColor.rgb; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
}`,$Ie=`#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <envmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#endif |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <worldpos_vertex> |
|
|
#include <envmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,YIe=`uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
#ifndef FLAT_SHADED |
|
|
varying vec3 vNormal; |
|
|
#endif |
|
|
#include <common> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <envmap_common_pars_fragment> |
|
|
#include <envmap_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <specularmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <specularmap_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
#ifdef USE_LIGHTMAP |
|
|
vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); |
|
|
reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; |
|
|
#else |
|
|
reflectedLight.indirectDiffuse += vec3( 1.0 ); |
|
|
#endif |
|
|
#include <aomap_fragment> |
|
|
reflectedLight.indirectDiffuse *= diffuseColor.rgb; |
|
|
vec3 outgoingLight = reflectedLight.indirectDiffuse; |
|
|
#include <envmap_fragment> |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,qIe=`#define LAMBERT |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <envmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#include <worldpos_vertex> |
|
|
#include <envmap_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,XIe=`#define LAMBERT |
|
|
uniform vec3 diffuse; |
|
|
uniform vec3 emissive; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <emissivemap_pars_fragment> |
|
|
#include <envmap_common_pars_fragment> |
|
|
#include <envmap_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <bsdfs> |
|
|
#include <lights_pars_begin> |
|
|
#include <normal_pars_fragment> |
|
|
#include <lights_lambert_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <specularmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
vec3 totalEmissiveRadiance = emissive; |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <specularmap_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
#include <emissivemap_fragment> |
|
|
#include <lights_lambert_fragment> |
|
|
#include <lights_fragment_begin> |
|
|
#include <lights_fragment_maps> |
|
|
#include <lights_fragment_end> |
|
|
#include <aomap_fragment> |
|
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; |
|
|
#include <envmap_fragment> |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,KIe=`#define MATCAP |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <fog_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
}`,ZIe=`#define MATCAP |
|
|
uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
uniform sampler2D matcap; |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <normal_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
vec3 viewDir = normalize( vViewPosition ); |
|
|
vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); |
|
|
vec3 y = cross( viewDir, x ); |
|
|
vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; |
|
|
#ifdef USE_MATCAP |
|
|
vec4 matcapColor = texture2D( matcap, uv ); |
|
|
#else |
|
|
vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); |
|
|
#endif |
|
|
vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,JIe=`#define NORMAL |
|
|
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) |
|
|
varying vec3 vViewPosition; |
|
|
#endif |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#endif |
|
|
}`,QIe=`#define NORMAL |
|
|
uniform float opacity; |
|
|
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) |
|
|
varying vec3 vViewPosition; |
|
|
#endif |
|
|
#include <packing> |
|
|
#include <uv_pars_fragment> |
|
|
#include <normal_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a ); |
|
|
#ifdef OPAQUE |
|
|
gl_FragColor.a = 1.0; |
|
|
#endif |
|
|
}`,eDe=`#define PHONG |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <envmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#include <worldpos_vertex> |
|
|
#include <envmap_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,tDe=`#define PHONG |
|
|
uniform vec3 diffuse; |
|
|
uniform vec3 emissive; |
|
|
uniform vec3 specular; |
|
|
uniform float shininess; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <emissivemap_pars_fragment> |
|
|
#include <envmap_common_pars_fragment> |
|
|
#include <envmap_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <bsdfs> |
|
|
#include <lights_pars_begin> |
|
|
#include <normal_pars_fragment> |
|
|
#include <lights_phong_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <specularmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
vec3 totalEmissiveRadiance = emissive; |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <specularmap_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
#include <emissivemap_fragment> |
|
|
#include <lights_phong_fragment> |
|
|
#include <lights_fragment_begin> |
|
|
#include <lights_fragment_maps> |
|
|
#include <lights_fragment_end> |
|
|
#include <aomap_fragment> |
|
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; |
|
|
#include <envmap_fragment> |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,nDe=`#define STANDARD |
|
|
varying vec3 vViewPosition; |
|
|
#ifdef USE_TRANSMISSION |
|
|
varying vec3 vWorldPosition; |
|
|
#endif |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#include <worldpos_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
#ifdef USE_TRANSMISSION |
|
|
vWorldPosition = worldPosition.xyz; |
|
|
#endif |
|
|
}`,iDe=`#define STANDARD |
|
|
#ifdef PHYSICAL |
|
|
#define IOR |
|
|
#define USE_SPECULAR |
|
|
#endif |
|
|
uniform vec3 diffuse; |
|
|
uniform vec3 emissive; |
|
|
uniform float roughness; |
|
|
uniform float metalness; |
|
|
uniform float opacity; |
|
|
#ifdef IOR |
|
|
uniform float ior; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR |
|
|
uniform float specularIntensity; |
|
|
uniform vec3 specularColor; |
|
|
#ifdef USE_SPECULAR_COLORMAP |
|
|
uniform sampler2D specularColorMap; |
|
|
#endif |
|
|
#ifdef USE_SPECULAR_INTENSITYMAP |
|
|
uniform sampler2D specularIntensityMap; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
uniform float clearcoat; |
|
|
uniform float clearcoatRoughness; |
|
|
#endif |
|
|
#ifdef USE_IRIDESCENCE |
|
|
uniform float iridescence; |
|
|
uniform float iridescenceIOR; |
|
|
uniform float iridescenceThicknessMinimum; |
|
|
uniform float iridescenceThicknessMaximum; |
|
|
#endif |
|
|
#ifdef USE_SHEEN |
|
|
uniform vec3 sheenColor; |
|
|
uniform float sheenRoughness; |
|
|
#ifdef USE_SHEEN_COLORMAP |
|
|
uniform sampler2D sheenColorMap; |
|
|
#endif |
|
|
#ifdef USE_SHEEN_ROUGHNESSMAP |
|
|
uniform sampler2D sheenRoughnessMap; |
|
|
#endif |
|
|
#endif |
|
|
#ifdef USE_ANISOTROPY |
|
|
uniform vec2 anisotropyVector; |
|
|
#ifdef USE_ANISOTROPYMAP |
|
|
uniform sampler2D anisotropyMap; |
|
|
#endif |
|
|
#endif |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <emissivemap_pars_fragment> |
|
|
#include <iridescence_fragment> |
|
|
#include <cube_uv_reflection_fragment> |
|
|
#include <envmap_common_pars_fragment> |
|
|
#include <envmap_physical_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <lights_pars_begin> |
|
|
#include <normal_pars_fragment> |
|
|
#include <lights_physical_pars_fragment> |
|
|
#include <transmission_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <clearcoat_pars_fragment> |
|
|
#include <iridescence_pars_fragment> |
|
|
#include <roughnessmap_pars_fragment> |
|
|
#include <metalnessmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
vec3 totalEmissiveRadiance = emissive; |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <roughnessmap_fragment> |
|
|
#include <metalnessmap_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
#include <clearcoat_normal_fragment_begin> |
|
|
#include <clearcoat_normal_fragment_maps> |
|
|
#include <emissivemap_fragment> |
|
|
#include <lights_physical_fragment> |
|
|
#include <lights_fragment_begin> |
|
|
#include <lights_fragment_maps> |
|
|
#include <lights_fragment_end> |
|
|
#include <aomap_fragment> |
|
|
vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; |
|
|
vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; |
|
|
#include <transmission_fragment> |
|
|
vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; |
|
|
#ifdef USE_SHEEN |
|
|
float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); |
|
|
outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; |
|
|
#endif |
|
|
#ifdef USE_CLEARCOAT |
|
|
float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); |
|
|
vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); |
|
|
outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; |
|
|
#endif |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,rDe=`#define TOON |
|
|
varying vec3 vViewPosition; |
|
|
#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <uv_pars_vertex> |
|
|
#include <displacementmap_pars_vertex> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <normal_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <normal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <displacementmap_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
vViewPosition = - mvPosition.xyz; |
|
|
#include <worldpos_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,aDe=`#define TOON |
|
|
uniform vec3 diffuse; |
|
|
uniform vec3 emissive; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <dithering_pars_fragment> |
|
|
#include <color_pars_fragment> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <aomap_pars_fragment> |
|
|
#include <lightmap_pars_fragment> |
|
|
#include <emissivemap_pars_fragment> |
|
|
#include <gradientmap_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <bsdfs> |
|
|
#include <lights_pars_begin> |
|
|
#include <normal_pars_fragment> |
|
|
#include <lights_toon_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <bumpmap_pars_fragment> |
|
|
#include <normalmap_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); |
|
|
vec3 totalEmissiveRadiance = emissive; |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
#include <normal_fragment_begin> |
|
|
#include <normal_fragment_maps> |
|
|
#include <emissivemap_fragment> |
|
|
#include <lights_toon_fragment> |
|
|
#include <lights_fragment_begin> |
|
|
#include <lights_fragment_maps> |
|
|
#include <lights_fragment_end> |
|
|
#include <aomap_fragment> |
|
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
#include <dithering_fragment> |
|
|
}`,oDe=`uniform float size; |
|
|
uniform float scale; |
|
|
#include <common> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
#ifdef USE_POINTS_UV |
|
|
varying vec2 vUv; |
|
|
uniform mat3 uvTransform; |
|
|
#endif |
|
|
void main() { |
|
|
#ifdef USE_POINTS_UV |
|
|
vUv = ( uvTransform * vec3( uv, 1 ) ).xy; |
|
|
#endif |
|
|
#include <color_vertex> |
|
|
#include <morphcolor_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <project_vertex> |
|
|
gl_PointSize = size; |
|
|
#ifdef USE_SIZEATTENUATION |
|
|
bool isPerspective = isPerspectiveMatrix( projectionMatrix ); |
|
|
if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); |
|
|
#endif |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <worldpos_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,sDe=`uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <color_pars_fragment> |
|
|
#include <map_particle_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
vec3 outgoingLight = vec3( 0.0 ); |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_particle_fragment> |
|
|
#include <color_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
outgoingLight = diffuseColor.rgb; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
}`,lDe=`#include <common> |
|
|
#include <batching_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <morphtarget_pars_vertex> |
|
|
#include <skinning_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <shadowmap_pars_vertex> |
|
|
void main() { |
|
|
#include <batching_vertex> |
|
|
#include <beginnormal_vertex> |
|
|
#include <morphnormal_vertex> |
|
|
#include <skinbase_vertex> |
|
|
#include <skinnormal_vertex> |
|
|
#include <defaultnormal_vertex> |
|
|
#include <begin_vertex> |
|
|
#include <morphtarget_vertex> |
|
|
#include <skinning_vertex> |
|
|
#include <project_vertex> |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <worldpos_vertex> |
|
|
#include <shadowmap_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,uDe=`uniform vec3 color; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <packing> |
|
|
#include <fog_pars_fragment> |
|
|
#include <bsdfs> |
|
|
#include <lights_pars_begin> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <shadowmap_pars_fragment> |
|
|
#include <shadowmask_pars_fragment> |
|
|
void main() { |
|
|
#include <logdepthbuf_fragment> |
|
|
gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
}`,cDe=`uniform float rotation; |
|
|
uniform vec2 center; |
|
|
#include <common> |
|
|
#include <uv_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
void main() { |
|
|
#include <uv_vertex> |
|
|
vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); |
|
|
vec2 scale; |
|
|
scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); |
|
|
scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); |
|
|
#ifndef USE_SIZEATTENUATION |
|
|
bool isPerspective = isPerspectiveMatrix( projectionMatrix ); |
|
|
if ( isPerspective ) scale *= - mvPosition.z; |
|
|
#endif |
|
|
vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; |
|
|
vec2 rotatedPosition; |
|
|
rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; |
|
|
rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; |
|
|
mvPosition.xy += rotatedPosition; |
|
|
gl_Position = projectionMatrix * mvPosition; |
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <fog_vertex> |
|
|
}`,dDe=`uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
#include <common> |
|
|
#include <uv_pars_fragment> |
|
|
#include <map_pars_fragment> |
|
|
#include <alphamap_pars_fragment> |
|
|
#include <alphatest_pars_fragment> |
|
|
#include <alphahash_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
void main() { |
|
|
vec4 diffuseColor = vec4( diffuse, opacity ); |
|
|
#include <clipping_planes_fragment> |
|
|
vec3 outgoingLight = vec3( 0.0 ); |
|
|
#include <logdepthbuf_fragment> |
|
|
#include <map_fragment> |
|
|
#include <alphamap_fragment> |
|
|
#include <alphatest_fragment> |
|
|
#include <alphahash_fragment> |
|
|
outgoingLight = diffuseColor.rgb; |
|
|
#include <opaque_fragment> |
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
}`,W3={alphahash_fragment:DRe,alphahash_pars_fragment:NRe,alphamap_fragment:kRe,alphamap_pars_fragment:FRe,alphatest_fragment:ORe,alphatest_pars_fragment:BRe,aomap_fragment:zRe,aomap_pars_fragment:URe,batching_pars_vertex:GRe,batching_vertex:VRe,begin_vertex:HRe,beginnormal_vertex:WRe,bsdfs:jRe,iridescence_fragment:$Re,bumpmap_pars_fragment:YRe,clipping_planes_fragment:qRe,clipping_planes_pars_fragment:XRe,clipping_planes_pars_vertex:KRe,clipping_planes_vertex:ZRe,color_fragment:JRe,color_pars_fragment:QRe,color_pars_vertex:eLe,color_vertex:tLe,common:nLe,cube_uv_reflection_fragment:iLe,defaultnormal_vertex:rLe,displacementmap_pars_vertex:aLe,displacementmap_vertex:oLe,emissivemap_fragment:sLe,emissivemap_pars_fragment:lLe,colorspace_fragment:uLe,colorspace_pars_fragment:cLe,envmap_fragment:dLe,envmap_common_pars_fragment:hLe,envmap_pars_fragment:fLe,envmap_pars_vertex:pLe,envmap_physical_pars_fragment:CLe,envmap_vertex:mLe,fog_vertex:gLe,fog_pars_vertex:vLe,fog_fragment:yLe,fog_pars_fragment:_Le,gradientmap_pars_fragment:SLe,lightmap_fragment:bLe,lightmap_pars_fragment:xLe,lights_lambert_fragment:wLe,lights_lambert_pars_fragment:TLe,lights_pars_begin:ALe,lights_toon_fragment:MLe,lights_toon_pars_fragment:ELe,lights_phong_fragment:PLe,lights_phong_pars_fragment:RLe,lights_physical_fragment:LLe,lights_physical_pars_fragment:ILe,lights_fragment_begin:DLe,lights_fragment_maps:NLe,lights_fragment_end:kLe,logdepthbuf_fragment:FLe,logdepthbuf_pars_fragment:OLe,logdepthbuf_pars_vertex:BLe,logdepthbuf_vertex:zLe,map_fragment:ULe,map_pars_fragment:GLe,map_particle_fragment:VLe,map_particle_pars_fragment:HLe,metalnessmap_fragment:WLe,metalnessmap_pars_fragment:jLe,morphcolor_vertex:$Le,morphnormal_vertex:YLe,morphtarget_pars_vertex:qLe,morphtarget_vertex:XLe,normal_fragment_begin:KLe,normal_fragment_maps:ZLe,normal_pars_fragment:JLe,normal_pars_vertex:QLe,normal_vertex:eIe,normalmap_pars_fragment:tIe,clearcoat_normal_fragment_begin:nIe,clearcoat_normal_fragment_maps:iIe,clearcoat_pars_fragment:rIe,iridescence_pars_fragment:aIe,opaque_fragment:oIe,packing:sIe,premultiplied_alpha_fragment:lIe,project_vertex:uIe,dithering_fragment:cIe,dithering_pars_fragment:dIe,roughnessmap_fragment:hIe,roughnessmap_pars_fragment:fIe,shadowmap_pars_fragment:pIe,shadowmap_pars_vertex:mIe,shadowmap_vertex:gIe,shadowmask_pars_fragment:vIe,skinbase_vertex:yIe,skinning_pars_vertex:_Ie,skinning_vertex:SIe,skinnormal_vertex:bIe,specularmap_fragment:xIe,specularmap_pars_fragment:wIe,tonemapping_fragment:TIe,tonemapping_pars_fragment:AIe,transmission_fragment:CIe,transmission_pars_fragment:MIe,uv_pars_fragment:EIe,uv_pars_vertex:PIe,uv_vertex:RIe,worldpos_vertex:LIe,background_vert:IIe,background_frag:DIe,backgroundCube_vert:NIe,backgroundCube_frag:kIe,cube_vert:FIe,cube_frag:OIe,depth_vert:BIe,depth_frag:zIe,distanceRGBA_vert:UIe,distanceRGBA_frag:GIe,equirect_vert:VIe,equirect_frag:HIe,linedashed_vert:WIe,linedashed_frag:jIe,meshbasic_vert:$Ie,meshbasic_frag:YIe,meshlambert_vert:qIe,meshlambert_frag:XIe,meshmatcap_vert:KIe,meshmatcap_frag:ZIe,meshnormal_vert:JIe,meshnormal_frag:QIe,meshphong_vert:eDe,meshphong_frag:tDe,meshphysical_vert:nDe,meshphysical_frag:iDe,meshtoon_vert:rDe,meshtoon_frag:aDe,points_vert:oDe,points_frag:sDe,shadow_vert:lDe,shadow_frag:uDe,sprite_vert:cDe,sprite_frag:dDe},wt={common:{diffuse:{value:new Yt(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new i1},alphaMap:{value:null},alphaMapTransform:{value:new i1},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new i1}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new i1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new i1}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new i1},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new i1},normalScale:{value:new J2(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new i1},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new i1}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new i1}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new i1}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Yt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Yt(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new i1},alphaTest:{value:0},uvTransform:{value:new i1}},sprite:{diffuse:{value:new Yt(16777215)},opacity:{value:1},center:{value:new J2(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new i1},alphaMap:{value:null},alphaMapTransform:{value:new i1},alphaTest:{value:0}}},tr={basic:{uniforms:Ei([wt.common,wt.specularmap,wt.envmap,wt.aomap,wt.lightmap,wt.fog]),vertexShader:W3.meshbasic_vert,fragmentShader:W3.meshbasic_frag},lambert:{uniforms:Ei([wt.common,wt.specularmap,wt.envmap,wt.aomap,wt.lightmap,wt.emissivemap,wt.bumpmap,wt.normalmap,wt.displacementmap,wt.fog,wt.lights,{emissive:{value:new Yt(0)}}]),vertexShader:W3.meshlambert_vert,fragmentShader:W3.meshlambert_frag},phong:{uniforms:Ei([wt.common,wt.specularmap,wt.envmap,wt.aomap,wt.lightmap,wt.emissivemap,wt.bumpmap,wt.normalmap,wt.displacementmap,wt.fog,wt.lights,{emissive:{value:new Yt(0)},specular:{value:new Yt(1118481)},shininess:{value:30}}]),vertexShader:W3.meshphong_vert,fragmentShader:W3.meshphong_frag},standard:{uniforms:Ei([wt.common,wt.envmap,wt.aomap,wt.lightmap,wt.emissivemap,wt.bumpmap,wt.normalmap,wt.displacementmap,wt.roughnessmap,wt.metalnessmap,wt.fog,wt.lights,{emissive:{value:new Yt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:W3.meshphysical_vert,fragmentShader:W3.meshphysical_frag},toon:{uniforms:Ei([wt.common,wt.aomap,wt.lightmap,wt.emissivemap,wt.bumpmap,wt.normalmap,wt.displacementmap,wt.gradientmap,wt.fog,wt.lights,{emissive:{value:new Yt(0)}}]),vertexShader:W3.meshtoon_vert,fragmentShader:W3.meshtoon_frag},matcap:{uniforms:Ei([wt.common,wt.bumpmap,wt.normalmap,wt.displacementmap,wt.fog,{matcap:{value:null}}]),vertexShader:W3.meshmatcap_vert,fragmentShader:W3.meshmatcap_frag},points:{uniforms:Ei([wt.points,wt.fog]),vertexShader:W3.points_vert,fragmentShader:W3.points_frag},dashed:{uniforms:Ei([wt.common,wt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:W3.linedashed_vert,fragmentShader:W3.linedashed_frag},depth:{uniforms:Ei([wt.common,wt.displacementmap]),vertexShader:W3.depth_vert,fragmentShader:W3.depth_frag},normal:{uniforms:Ei([wt.common,wt.bumpmap,wt.normalmap,wt.displacementmap,{opacity:{value:1}}]),vertexShader:W3.meshnormal_vert,fragmentShader:W3.meshnormal_frag},sprite:{uniforms:Ei([wt.sprite,wt.fog]),vertexShader:W3.sprite_vert,fragmentShader:W3.sprite_frag},background:{uniforms:{uvTransform:{value:new i1},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:W3.background_vert,fragmentShader:W3.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:W3.backgroundCube_vert,fragmentShader:W3.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:W3.cube_vert,fragmentShader:W3.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:W3.equirect_vert,fragmentShader:W3.equirect_frag},distanceRGBA:{uniforms:Ei([wt.common,wt.displacementmap,{referencePosition:{value:new Ge},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:W3.distanceRGBA_vert,fragmentShader:W3.distanceRGBA_frag},shadow:{uniforms:Ei([wt.lights,wt.fog,{color:{value:new Yt(0)},opacity:{value:1}}]),vertexShader:W3.shadow_vert,fragmentShader:W3.shadow_frag}};tr.physical={uniforms:Ei([tr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new i1},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new i1},clearcoatNormalScale:{value:new J2(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new i1},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new i1},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new i1},sheen:{value:0},sheenColor:{value:new Yt(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new i1},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new i1},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new i1},transmissionSamplerSize:{value:new J2},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new i1},attenuationDistance:{value:0},attenuationColor:{value:new Yt(0)},specularColor:{value:new Yt(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new i1},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new i1},anisotropyVector:{value:new J2},anisotropyMap:{value:null},anisotropyMapTransform:{value:new i1}}]),vertexShader:W3.meshphysical_vert,fragmentShader:W3.meshphysical_frag};const Jm={r:0,b:0,g:0};function hDe(n,e,t,i,r,a,o){const s=new Yt(0);let l=a===!0?0:1,u,c,d=null,h=0,f=null;function p(m,v){let _=!1,S=v.isScene===!0?v.background:null;S&&S.isTexture&&(S=(v.backgroundBlurriness>0?t:e).get(S)),S===null?g(s,l):S&&S.isColor&&(g(S,1),_=!0);const x=n.xr.getEnvironmentBlendMode();x==="additive"?i.buffers.color.setClear(0,0,0,1,o):x==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||_)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),S&&(S.isCubeTexture||S.mapping===rS)?(c===void 0&&(c=new f1(new wu(1,1,1),new h6({name:"BackgroundCubeMaterial",uniforms:Y7(tr.backgroundCube.uniforms),vertexShader:tr.backgroundCube.vertexShader,fragmentShader:tr.backgroundCube.fragmentShader,side:dr,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(A,C,M){this.matrixWorld.copyPosition(M.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(c)),c.material.uniforms.envMap.value=S,c.material.uniforms.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,c.material.uniforms.backgroundBlurriness.value=v.backgroundBlurriness,c.material.uniforms.backgroundIntensity.value=v.backgroundIntensity,c.material.toneMapped=z1.getTransfer(S.colorSpace)!==_0,(d!==S||h!==S.version||f!==n.toneMapping)&&(c.material.needsUpdate=!0,d=S,h=S.version,f=n.toneMapping),c.layers.enableAll(),m.unshift(c,c.geometry,c.material,0,0,null)):S&&S.isTexture&&(u===void 0&&(u=new f1(new Nr(2,2),new h6({name:"BackgroundMaterial",uniforms:Y7(tr.background.uniforms),vertexShader:tr.background.vertexShader,fragmentShader:tr.background.fragmentShader,side:d6,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),Object.defineProperty(u.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(u)),u.material.uniforms.t2D.value=S,u.material.uniforms.backgroundIntensity.value=v.backgroundIntensity,u.material.toneMapped=z1.getTransfer(S.colorSpace)!==_0,S.matrixAutoUpdate===!0&&S.updateMatrix(),u.material.uniforms.uvTransform.value.copy(S.matrix),(d!==S||h!==S.version||f!==n.toneMapping)&&(u.material.needsUpdate=!0,d=S,h=S.version,f=n.toneMapping),u.layers.enableAll(),m.unshift(u,u.geometry,u.material,0,0,null))}function g(m,v){m.getRGB(Jm,Xee(n)),i.buffers.color.setClear(Jm.r,Jm.g,Jm.b,v,o)}return{getClearColor:function(){return s},setClearColor:function(m,v=1){s.set(m),l=v,g(s,l)},getClearAlpha:function(){return l},setClearAlpha:function(m){l=m,g(s,l)},render:p}}function fDe(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),a=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||a!==null,s={},l=m(null);let u=l,c=!1;function d(G,W,q,ce,J){let H=!1;if(o){const re=g(ce,q,W);u!==re&&(u=re,f(u.object)),H=v(G,ce,q,J),H&&_(G,ce,q,J)}else{const re=W.wireframe===!0;(u.geometry!==ce.id||u.program!==q.id||u.wireframe!==re)&&(u.geometry=ce.id,u.program=q.id,u.wireframe=re,H=!0)}J!==null&&t.update(J,n.ELEMENT_ARRAY_BUFFER),(H||c)&&(c=!1,I(G,W,q,ce),J!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(J).buffer))}function h(){return i.isWebGL2?n.createVertexArray():a.createVertexArrayOES()}function f(G){return i.isWebGL2?n.bindVertexArray(G):a.bindVertexArrayOES(G)}function p(G){return i.isWebGL2?n.deleteVertexArray(G):a.deleteVertexArrayOES(G)}function g(G,W,q){const ce=q.wireframe===!0;let J=s[G.id];J===void 0&&(J={},s[G.id]=J);let H=J[W.id];H===void 0&&(H={},J[W.id]=H);let re=H[ce];return re===void 0&&(re=m(h()),H[ce]=re),re}function m(G){const W=[],q=[],ce=[];for(let J=0;J<r;J++)W[J]=0,q[J]=0,ce[J]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:W,enabledAttributes:q,attributeDivisors:ce,object:G,attributes:{},index:null}}function v(G,W,q,ce){const J=u.attributes,H=W.attributes;let re=0;const ee=q.getAttributes();for(const se in ee)if(ee[se].location>=0){const we=J[se];let ve=H[se];if(ve===void 0&&(se==="instanceMatrix"&&G.instanceMatrix&&(ve=G.instanceMatrix),se==="instanceColor"&&G.instanceColor&&(ve=G.instanceColor)),we===void 0||we.attribute!==ve||ve&&we.data!==ve.data)return!0;re++}return u.attributesNum!==re||u.index!==ce}function _(G,W,q,ce){const J={},H=W.attributes;let re=0;const ee=q.getAttributes();for(const se in ee)if(ee[se].location>=0){let we=H[se];we===void 0&&(se==="instanceMatrix"&&G.instanceMatrix&&(we=G.instanceMatrix),se==="instanceColor"&&G.instanceColor&&(we=G.instanceColor));const ve={};ve.attribute=we,we&&we.data&&(ve.data=we.data),J[se]=ve,re++}u.attributes=J,u.attributesNum=re,u.index=ce}function S(){const G=u.newAttributes;for(let W=0,q=G.length;W<q;W++)G[W]=0}function x(G){A(G,0)}function A(G,W){const q=u.newAttributes,ce=u.enabledAttributes,J=u.attributeDivisors;q[G]=1,ce[G]===0&&(n.enableVertexAttribArray(G),ce[G]=1),J[G]!==W&&((i.isWebGL2?n:e.get("ANGLE_instanced_arrays"))[i.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](G,W),J[G]=W)}function C(){const G=u.newAttributes,W=u.enabledAttributes;for(let q=0,ce=W.length;q<ce;q++)W[q]!==G[q]&&(n.disableVertexAttribArray(q),W[q]=0)}function M(G,W,q,ce,J,H,re){re===!0?n.vertexAttribIPointer(G,W,q,J,H):n.vertexAttribPointer(G,W,q,ce,J,H)}function I(G,W,q,ce){if(i.isWebGL2===!1&&(G.isInstancedMesh||ce.isInstancedBufferGeometry)&&e.get("ANGLE_instanced_arrays")===null)return;S();const J=ce.attributes,H=q.getAttributes(),re=W.defaultAttributeValues;for(const ee in H){const se=H[ee];if(se.location>=0){let Be=J[ee];if(Be===void 0&&(ee==="instanceMatrix"&&G.instanceMatrix&&(Be=G.instanceMatrix),ee==="instanceColor"&&G.instanceColor&&(Be=G.instanceColor)),Be!==void 0){const we=Be.normalized,ve=Be.itemSize,Ke=t.get(Be);if(Ke===void 0)continue;const p2=Ke.buffer,c2=Ke.type,s2=Ke.bytesPerElement,R2=i.isWebGL2===!0&&(c2===n.INT||c2===n.UNSIGNED_INT||Be.gpuType===Iee);if(Be.isInterleavedBufferAttribute){const w2=Be.data,Re=w2.stride,k2=Be.offset;if(w2.isInstancedInterleavedBuffer){for(let x2=0;x2<se.locationSize;x2++)A(se.location+x2,w2.meshPerAttribute);G.isInstancedMesh!==!0&&ce._maxInstanceCount===void 0&&(ce._maxInstanceCount=w2.meshPerAttribute*w2.count)}else for(let x2=0;x2<se.locationSize;x2++)x(se.location+x2);n.bindBuffer(n.ARRAY_BUFFER,p2);for(let x2=0;x2<se.locationSize;x2++)M(se.location+x2,ve/se.locationSize,c2,we,Re*s2,(k2+ve/se.locationSize*x2)*s2,R2)}else{if(Be.isInstancedBufferAttribute){for(let w2=0;w2<se.locationSize;w2++)A(se.location+w2,Be.meshPerAttribute);G.isInstancedMesh!==!0&&ce._maxInstanceCount===void 0&&(ce._maxInstanceCount=Be.meshPerAttribute*Be.count)}else for(let w2=0;w2<se.locationSize;w2++)x(se.location+w2);n.bindBuffer(n.ARRAY_BUFFER,p2);for(let w2=0;w2<se.locationSize;w2++)M(se.location+w2,ve/se.locationSize,c2,we,ve*s2,ve/se.locationSize*w2*s2,R2)}}else if(re!==void 0){const we=re[ee];if(we!==void 0)switch(we.length){case 2:n.vertexAttrib2fv(se.location,we);break;case 3:n.vertexAttrib3fv(se.location,we);break;case 4:n.vertexAttrib4fv(se.location,we);break;default:n.vertexAttrib1fv(se.location,we)}}}}C()}function D(){V();for(const G in s){const W=s[G];for(const q in W){const ce=W[q];for(const J in ce)p(ce[J].object),delete ce[J];delete W[q]}delete s[G]}}function E(G){if(s[G.id]===void 0)return;const W=s[G.id];for(const q in W){const ce=W[q];for(const J in ce)p(ce[J].object),delete ce[J];delete W[q]}delete s[G.id]}function L(G){for(const W in s){const q=s[W];if(q[G.id]===void 0)continue;const ce=q[G.id];for(const J in ce)p(ce[J].object),delete ce[J];delete q[G.id]}}function V(){Y(),c=!0,u!==l&&(u=l,f(u.object))}function Y(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:d,reset:V,resetDefaultState:Y,dispose:D,releaseStatesOfGeometry:E,releaseStatesOfProgram:L,initAttributes:S,enableAttribute:x,disableUnusedAttributes:C}}function pDe(n,e,t,i){const r=i.isWebGL2;let a;function o(c){a=c}function s(c,d){n.drawArrays(a,c,d),t.update(d,a,1)}function l(c,d,h){if(h===0)return;let f,p;if(r)f=n,p="drawArraysInstanced";else if(f=e.get("ANGLE_instanced_arrays"),p="drawArraysInstancedANGLE",f===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}f[p](a,c,d,h),t.update(d,a,h)}function u(c,d,h){if(h===0)return;const f=e.get("WEBGL_multi_draw");if(f===null)for(let p=0;p<h;p++)this.render(c[p],d[p]);else{f.multiDrawArraysWEBGL(a,c,0,d,0,h);let p=0;for(let g=0;g<h;g++)p+=d[g];t.update(p,a,1)}}this.setMode=o,this.render=s,this.renderInstances=l,this.renderMultiDraw=u}function mDe(n,e,t){let i;function r(){if(i!==void 0)return i;if(e.has("EXT_texture_filter_anisotropic")===!0){const M=e.get("EXT_texture_filter_anisotropic");i=n.getParameter(M.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i}function a(M){if(M==="highp"){if(n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.HIGH_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";M="mediump"}return M==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext!="undefined"&&n.constructor.name==="WebGL2RenderingContext";let s=t.precision!==void 0?t.precision:"highp";const l=a(s);l!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",l,"instead."),s=l);const u=o||e.has("WEBGL_draw_buffers"),c=t.logarithmicDepthBuffer===!0,d=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),h=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),f=n.getParameter(n.MAX_TEXTURE_SIZE),p=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),g=n.getParameter(n.MAX_VERTEX_ATTRIBS),m=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),v=n.getParameter(n.MAX_VARYING_VECTORS),_=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),S=h>0,x=o||e.has("OES_texture_float"),A=S&&x,C=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:u,getMaxAnisotropy:r,getMaxPrecision:a,precision:s,logarithmicDepthBuffer:c,maxTextures:d,maxVertexTextures:h,maxTextureSize:f,maxCubemapSize:p,maxAttributes:g,maxVertexUniforms:m,maxVaryings:v,maxFragmentUniforms:_,vertexTextures:S,floatFragmentTextures:x,floatVertexTextures:A,maxSamples:C}}function gDe(n){const e=this;let t=null,i=0,r=!1,a=!1;const o=new s5,s=new i1,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,h){const f=d.length!==0||h||i!==0||r;return r=h,i=d.length,f},this.beginShadows=function(){a=!0,c(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(d,h){t=c(d,h,0)},this.setState=function(d,h,f){const p=d.clippingPlanes,g=d.clipIntersection,m=d.clipShadows,v=n.get(d);if(!r||p===null||p.length===0||a&&!m)a?c(null):u();else{const _=a?0:i,S=_*4;let x=v.clippingState||null;l.value=x,x=c(p,h,S,f);for(let A=0;A!==S;++A)x[A]=t[A];v.clippingState=x,this.numIntersection=g?this.numPlanes:0,this.numPlanes+=_}};function u(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function c(d,h,f,p){const g=d!==null?d.length:0;let m=null;if(g!==0){if(m=l.value,p!==!0||m===null){const v=f+g*4,_=h.matrixWorldInverse;s.getNormalMatrix(_),(m===null||m.length<v)&&(m=new Float32Array(v));for(let S=0,x=f;S!==g;++S,x+=4)o.copy(d[S]).applyMatrix4(_,s),o.normal.toArray(m,x),m[x+3]=o.constant}l.value=m,l.needsUpdate=!0}return e.numPlanes=g,e.numIntersection=0,m}}function vDe(n){let e=new WeakMap;function t(o,s){return s===HM?o.mapping=V7:s===WM&&(o.mapping=H7),o}function i(o){if(o&&o.isTexture){const s=o.mapping;if(s===HM||s===WM)if(e.has(o)){const l=e.get(o).texture;return t(l,o.mapping)}else{const l=o.image;if(l&&l.height>0){const u=new PRe(l.height);return u.fromEquirectangularTexture(n,o),e.set(o,u),o.addEventListener("dispose",r),t(u.texture,o.mapping)}else return null}}return o}function r(o){const s=o.target;s.removeEventListener("dispose",r);const l=e.get(s);l!==void 0&&(e.delete(s),l.dispose())}function a(){e=new WeakMap}return{get:i,dispose:a}}class sS extends Kee{constructor(e=-1,t=1,i=1,r=-1,a=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=a,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,a,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=a,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let a=i-e,o=i+e,s=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const u=(this.right-this.left)/this.view.fullWidth/this.zoom,c=(this.top-this.bottom)/this.view.fullHeight/this.zoom;a+=u*this.view.offsetX,o=a+u*this.view.width,s-=c*this.view.offsetY,l=s-c*this.view.height}this.projectionMatrix.makeOrthographic(a,o,s,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const e7=4,pH=[.125,.215,.35,.446,.526,.582],S8=20,KT=new sS,mH=new Yt;let ZT=null,JT=0,QT=0;const h8=(1+Math.sqrt(5))/2,L4=1/h8,gH=[new Ge(1,1,1),new Ge(-1,1,1),new Ge(1,1,-1),new Ge(-1,1,-1),new Ge(0,h8,L4),new Ge(0,h8,-L4),new Ge(L4,0,h8),new Ge(-L4,0,h8),new Ge(h8,L4,0),new Ge(-h8,L4,0)];class vH{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100){ZT=this._renderer.getRenderTarget(),JT=this._renderer.getActiveCubeFace(),QT=this._renderer.getActiveMipmapLevel(),this._setSize(256);const a=this._allocateTargets();return a.depthBuffer=!0,this._sceneToCubeUV(e,i,r,a),t>0&&this._blur(a,0,0,t),this._applyPMREM(a),this._cleanup(a),a}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=SH(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=_H(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(ZT,JT,QT),e.scissorTest=!1,Qm(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===V7||e.mapping===H7?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),ZT=this._renderer.getRenderTarget(),JT=this._renderer.getActiveCubeFace(),QT=this._renderer.getActiveMipmapLevel();const i=t||this._allocateTargets();return this._textureToCubeUV(e,i),this._applyPMREM(i),this._cleanup(i),i}_allocateTargets(){const e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,i={magFilter:ln,minFilter:ln,generateMipmaps:!1,type:Ch,format:Ma,colorSpace:wn,depthBuffer:!1},r=yH(e,t,i);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=yH(e,t,i);const{_lodMax:a}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=yDe(a)),this._blurMaterial=_De(a,e,t)}return r}_compileMaterial(e){const t=new f1(this._lodPlanes[0],e);this._renderer.compile(t,KT)}_sceneToCubeUV(e,t,i,r){const s=new gi(90,1,t,i),l=[1,-1,1,1,1,1],u=[1,1,1,-1,-1,-1],c=this._renderer,d=c.autoClear,h=c.toneMapping;c.getClearColor(mH),c.toneMapping=F5,c.autoClear=!1;const f=new M1({name:"PMREM.Background",side:dr,depthWrite:!1,depthTest:!1}),p=new f1(new wu,f);let g=!1;const m=e.background;m?m.isColor&&(f.color.copy(m),e.background=null,g=!0):(f.color.copy(mH),g=!0);for(let v=0;v<6;v++){const _=v%3;_===0?(s.up.set(0,l[v],0),s.lookAt(u[v],0,0)):_===1?(s.up.set(0,0,l[v]),s.lookAt(0,u[v],0)):(s.up.set(0,l[v],0),s.lookAt(0,0,u[v]));const S=this._cubeSize;Qm(r,_*S,v>2?S:0,S,S),c.setRenderTarget(r),g&&c.render(p,s),c.render(e,s)}p.geometry.dispose(),p.material.dispose(),c.toneMapping=h,c.autoClear=d,e.background=m}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===V7||e.mapping===H7;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=SH()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=_H());const a=r?this._cubemapMaterial:this._equirectMaterial,o=new f1(this._lodPlanes[0],a),s=a.uniforms;s.envMap.value=e;const l=this._cubeSize;Qm(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,KT)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;r<this._lodPlanes.length;r++){const a=Math.sqrt(this._sigmas[r]*this._sigmas[r]-this._sigmas[r-1]*this._sigmas[r-1]),o=gH[(r-1)%gH.length];this._blur(e,r-1,r,a,o)}t.autoClear=i}_blur(e,t,i,r,a){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,i,r,"latitudinal",a),this._halfBlur(o,e,i,i,r,"longitudinal",a)}_halfBlur(e,t,i,r,a,o,s){const l=this._renderer,u=this._blurMaterial;o!=="latitudinal"&&o!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");const c=3,d=new f1(this._lodPlanes[r],u),h=u.uniforms,f=this._sizeLods[i]-1,p=isFinite(a)?Math.PI/(2*f):2*Math.PI/(2*S8-1),g=a/p,m=isFinite(a)?1+Math.floor(c*g):S8;m>S8&&console.warn(`sigmaRadians, ${a}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${S8}`);const v=[];let _=0;for(let M=0;M<S8;++M){const I=M/g,D=Math.exp(-I*I/2);v.push(D),M===0?_+=D:M<m&&(_+=2*D)}for(let M=0;M<v.length;M++)v[M]=v[M]/_;h.envMap.value=e.texture,h.samples.value=m,h.weights.value=v,h.latitudinal.value=o==="latitudinal",s&&(h.poleAxis.value=s);const{_lodMax:S}=this;h.dTheta.value=p,h.mipInt.value=S-i;const x=this._sizeLods[r],A=3*x*(r>S-e7?r-S+e7:0),C=4*(this._cubeSize-x);Qm(t,A,C,3*x,2*x),l.setRenderTarget(t),l.render(d,KT)}}function yDe(n){const e=[],t=[],i=[];let r=n;const a=n-e7+1+pH.length;for(let o=0;o<a;o++){const s=Math.pow(2,r);t.push(s);let l=1/s;o>n-e7?l=pH[o-n+e7-1]:o===0&&(l=0),i.push(l);const u=1/(s-2),c=-u,d=1+u,h=[c,c,d,c,d,d,c,c,d,d,c,d],f=6,p=6,g=3,m=2,v=1,_=new Float32Array(g*p*f),S=new Float32Array(m*p*f),x=new Float32Array(v*p*f);for(let C=0;C<f;C++){const M=C%3*2/3-1,I=C>2?0:-1,D=[M,I,0,M+2/3,I,0,M+2/3,I+1,0,M,I,0,M+2/3,I+1,0,M,I+1,0];_.set(D,g*p*C),S.set(h,m*p*C);const E=[C,C,C,C,C,C];x.set(E,v*p*C)}const A=new Q1;A.setAttribute("position",new I0(_,g)),A.setAttribute("uv",new I0(S,m)),A.setAttribute("faceIndex",new I0(x,v)),e.push(A),r>e7&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function yH(n,e,t){const i=new ul(n,e,t);return i.texture.mapping=rS,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Qm(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function _De(n,e,t){const i=new Float32Array(S8),r=new Ge(0,1,0);return new h6({name:"SphericalGaussianBlur",defines:{n:S8,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:_L(),fragmentShader:` |
|
|
|
|
|
precision mediump float; |
|
|
precision mediump int; |
|
|
|
|
|
varying vec3 vOutputDirection; |
|
|
|
|
|
uniform sampler2D envMap; |
|
|
uniform int samples; |
|
|
uniform float weights[ n ]; |
|
|
uniform bool latitudinal; |
|
|
uniform float dTheta; |
|
|
uniform float mipInt; |
|
|
uniform vec3 poleAxis; |
|
|
|
|
|
#define ENVMAP_TYPE_CUBE_UV |
|
|
#include <cube_uv_reflection_fragment> |
|
|
|
|
|
vec3 getSample( float theta, vec3 axis ) { |
|
|
|
|
|
float cosTheta = cos( theta ); |
|
|
// Rodrigues' axis-angle rotation |
|
|
vec3 sampleDirection = vOutputDirection * cosTheta |
|
|
+ cross( axis, vOutputDirection ) * sin( theta ) |
|
|
+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); |
|
|
|
|
|
return bilinearCubeUV( envMap, sampleDirection, mipInt ); |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); |
|
|
|
|
|
if ( all( equal( axis, vec3( 0.0 ) ) ) ) { |
|
|
|
|
|
axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); |
|
|
|
|
|
} |
|
|
|
|
|
axis = normalize( axis ); |
|
|
|
|
|
gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); |
|
|
gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); |
|
|
|
|
|
for ( int i = 1; i < n; i++ ) { |
|
|
|
|
|
if ( i >= samples ) { |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
float theta = dTheta * float( i ); |
|
|
gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); |
|
|
gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
`,blending:k5,depthTest:!1,depthWrite:!1})}function _H(){return new h6({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:_L(),fragmentShader:` |
|
|
|
|
|
precision mediump float; |
|
|
precision mediump int; |
|
|
|
|
|
varying vec3 vOutputDirection; |
|
|
|
|
|
uniform sampler2D envMap; |
|
|
|
|
|
#include <common> |
|
|
|
|
|
void main() { |
|
|
|
|
|
vec3 outputDirection = normalize( vOutputDirection ); |
|
|
vec2 uv = equirectUv( outputDirection ); |
|
|
|
|
|
gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); |
|
|
|
|
|
} |
|
|
`,blending:k5,depthTest:!1,depthWrite:!1})}function SH(){return new h6({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:_L(),fragmentShader:` |
|
|
|
|
|
precision mediump float; |
|
|
precision mediump int; |
|
|
|
|
|
uniform float flipEnvMap; |
|
|
|
|
|
varying vec3 vOutputDirection; |
|
|
|
|
|
uniform samplerCube envMap; |
|
|
|
|
|
void main() { |
|
|
|
|
|
gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); |
|
|
|
|
|
} |
|
|
`,blending:k5,depthTest:!1,depthWrite:!1})}function _L(){return` |
|
|
|
|
|
precision mediump float; |
|
|
precision mediump int; |
|
|
|
|
|
attribute float faceIndex; |
|
|
|
|
|
varying vec3 vOutputDirection; |
|
|
|
|
|
// RH coordinate system; PMREM face-indexing convention |
|
|
vec3 getDirection( vec2 uv, float face ) { |
|
|
|
|
|
uv = 2.0 * uv - 1.0; |
|
|
|
|
|
vec3 direction = vec3( uv, 1.0 ); |
|
|
|
|
|
if ( face == 0.0 ) { |
|
|
|
|
|
direction = direction.zyx; // ( 1, v, u ) pos x |
|
|
|
|
|
} else if ( face == 1.0 ) { |
|
|
|
|
|
direction = direction.xzy; |
|
|
direction.xz *= -1.0; // ( -u, 1, -v ) pos y |
|
|
|
|
|
} else if ( face == 2.0 ) { |
|
|
|
|
|
direction.x *= -1.0; // ( -u, v, 1 ) pos z |
|
|
|
|
|
} else if ( face == 3.0 ) { |
|
|
|
|
|
direction = direction.zyx; |
|
|
direction.xz *= -1.0; // ( -1, v, -u ) neg x |
|
|
|
|
|
} else if ( face == 4.0 ) { |
|
|
|
|
|
direction = direction.xzy; |
|
|
direction.xy *= -1.0; // ( -u, -1, v ) neg y |
|
|
|
|
|
} else if ( face == 5.0 ) { |
|
|
|
|
|
direction.z *= -1.0; // ( u, v, -1 ) neg z |
|
|
|
|
|
} |
|
|
|
|
|
return direction; |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
vOutputDirection = getDirection( uv, faceIndex ); |
|
|
gl_Position = vec4( position, 1.0 ); |
|
|
|
|
|
} |
|
|
`}function SDe(n){let e=new WeakMap,t=null;function i(s){if(s&&s.isTexture){const l=s.mapping,u=l===HM||l===WM,c=l===V7||l===H7;if(u||c)if(s.isRenderTargetTexture&&s.needsPMREMUpdate===!0){s.needsPMREMUpdate=!1;let d=e.get(s);return t===null&&(t=new vH(n)),d=u?t.fromEquirectangular(s,d):t.fromCubemap(s,d),e.set(s,d),d.texture}else{if(e.has(s))return e.get(s).texture;{const d=s.image;if(u&&d&&d.height>0||c&&d&&r(d)){t===null&&(t=new vH(n));const h=u?t.fromEquirectangular(s):t.fromCubemap(s);return e.set(s,h),s.addEventListener("dispose",a),h.texture}else return null}}}return s}function r(s){let l=0;const u=6;for(let c=0;c<u;c++)s[c]!==void 0&&l++;return l===u}function a(s){const l=s.target;l.removeEventListener("dispose",a);const u=e.get(l);u!==void 0&&(e.delete(l),u.dispose())}function o(){e=new WeakMap,t!==null&&(t.dispose(),t=null)}return{get:i,dispose:o}}function bDe(n){const e={};function t(i){if(e[i]!==void 0)return e[i];let r;switch(i){case"WEBGL_depth_texture":r=n.getExtension("WEBGL_depth_texture")||n.getExtension("MOZ_WEBGL_depth_texture")||n.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=n.getExtension("EXT_texture_filter_anisotropic")||n.getExtension("MOZ_EXT_texture_filter_anisotropic")||n.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=n.getExtension("WEBGL_compressed_texture_s3tc")||n.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=n.getExtension("WEBGL_compressed_texture_pvrtc")||n.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=n.getExtension(i)}return e[i]=r,r}return{has:function(i){return t(i)!==null},init:function(i){i.isWebGL2?(t("EXT_color_buffer_float"),t("WEBGL_clip_cull_distance")):(t("WEBGL_depth_texture"),t("OES_texture_float"),t("OES_texture_half_float"),t("OES_texture_half_float_linear"),t("OES_standard_derivatives"),t("OES_element_index_uint"),t("OES_vertex_array_object"),t("ANGLE_instanced_arrays")),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float"),t("WEBGL_multisampled_render_to_texture")},get:function(i){const r=t(i);return r===null&&console.warn("THREE.WebGLRenderer: "+i+" extension not supported."),r}}}function xDe(n,e,t,i){const r={},a=new WeakMap;function o(d){const h=d.target;h.index!==null&&e.remove(h.index);for(const p in h.attributes)e.remove(h.attributes[p]);for(const p in h.morphAttributes){const g=h.morphAttributes[p];for(let m=0,v=g.length;m<v;m++)e.remove(g[m])}h.removeEventListener("dispose",o),delete r[h.id];const f=a.get(h);f&&(e.remove(f),a.delete(h)),i.releaseStatesOfGeometry(h),h.isInstancedBufferGeometry===!0&&delete h._maxInstanceCount,t.memory.geometries--}function s(d,h){return r[h.id]===!0||(h.addEventListener("dispose",o),r[h.id]=!0,t.memory.geometries++),h}function l(d){const h=d.attributes;for(const p in h)e.update(h[p],n.ARRAY_BUFFER);const f=d.morphAttributes;for(const p in f){const g=f[p];for(let m=0,v=g.length;m<v;m++)e.update(g[m],n.ARRAY_BUFFER)}}function u(d){const h=[],f=d.index,p=d.attributes.position;let g=0;if(f!==null){const _=f.array;g=f.version;for(let S=0,x=_.length;S<x;S+=3){const A=_[S+0],C=_[S+1],M=_[S+2];h.push(A,C,C,M,M,A)}}else if(p!==void 0){const _=p.array;g=p.version;for(let S=0,x=_.length/3-1;S<x;S+=3){const A=S+0,C=S+1,M=S+2;h.push(A,C,C,M,M,A)}}else return;const m=new(Vee(h)?qee:Yee)(h,1);m.version=g;const v=a.get(d);v&&e.remove(v),a.set(d,m)}function c(d){const h=a.get(d);if(h){const f=d.index;f!==null&&h.version<f.version&&u(d)}else u(d);return a.get(d)}return{get:s,update:l,getWireframeAttribute:c}}function wDe(n,e,t,i){const r=i.isWebGL2;let a;function o(f){a=f}let s,l;function u(f){s=f.type,l=f.bytesPerElement}function c(f,p){n.drawElements(a,p,s,f*l),t.update(p,a,1)}function d(f,p,g){if(g===0)return;let m,v;if(r)m=n,v="drawElementsInstanced";else if(m=e.get("ANGLE_instanced_arrays"),v="drawElementsInstancedANGLE",m===null){console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}m[v](a,p,s,f*l,g),t.update(p,a,g)}function h(f,p,g){if(g===0)return;const m=e.get("WEBGL_multi_draw");if(m===null)for(let v=0;v<g;v++)this.render(f[v]/l,p[v]);else{m.multiDrawElementsWEBGL(a,p,0,s,f,0,g);let v=0;for(let _=0;_<g;_++)v+=p[_];t.update(v,a,1)}}this.setMode=o,this.setIndex=u,this.render=c,this.renderInstances=d,this.renderMultiDraw=h}function TDe(n){const e={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function i(a,o,s){switch(t.calls++,o){case n.TRIANGLES:t.triangles+=s*(a/3);break;case n.LINES:t.lines+=s*(a/2);break;case n.LINE_STRIP:t.lines+=s*(a-1);break;case n.LINE_LOOP:t.lines+=s*a;break;case n.POINTS:t.points+=s*a;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",o);break}}function r(){t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:e,render:t,programs:null,autoReset:!0,reset:r,update:i}}function ADe(n,e){return n[0]-e[0]}function CDe(n,e){return Math.abs(e[1])-Math.abs(n[1])}function MDe(n,e,t){const i={},r=new Float32Array(8),a=new WeakMap,o=new P1,s=[];for(let u=0;u<8;u++)s[u]=[u,0];function l(u,c,d){const h=u.morphTargetInfluences;if(e.isWebGL2===!0){const f=c.morphAttributes.position||c.morphAttributes.normal||c.morphAttributes.color,p=f!==void 0?f.length:0;let g=a.get(c);if(g===void 0||g.count!==p){let G=function(){V.dispose(),a.delete(c),c.removeEventListener("dispose",G)};g!==void 0&&g.texture.dispose();const _=c.morphAttributes.position!==void 0,S=c.morphAttributes.normal!==void 0,x=c.morphAttributes.color!==void 0,A=c.morphAttributes.position||[],C=c.morphAttributes.normal||[],M=c.morphAttributes.color||[];let I=0;_===!0&&(I=1),S===!0&&(I=2),x===!0&&(I=3);let D=c.attributes.position.count*I,E=1;D>e.maxTextureSize&&(E=Math.ceil(D/e.maxTextureSize),D=e.maxTextureSize);const L=new Float32Array(D*E*4*p),V=new jee(L,D,E,p);V.type=$o,V.needsUpdate=!0;const Y=I*4;for(let W=0;W<p;W++){const q=A[W],ce=C[W],J=M[W],H=D*E*4*W;for(let re=0;re<q.count;re++){const ee=re*Y;_===!0&&(o.fromBufferAttribute(q,re),L[H+ee+0]=o.x,L[H+ee+1]=o.y,L[H+ee+2]=o.z,L[H+ee+3]=0),S===!0&&(o.fromBufferAttribute(ce,re),L[H+ee+4]=o.x,L[H+ee+5]=o.y,L[H+ee+6]=o.z,L[H+ee+7]=0),x===!0&&(o.fromBufferAttribute(J,re),L[H+ee+8]=o.x,L[H+ee+9]=o.y,L[H+ee+10]=o.z,L[H+ee+11]=J.itemSize===4?o.w:1)}}g={count:p,texture:V,size:new J2(D,E)},a.set(c,g),c.addEventListener("dispose",G)}let m=0;for(let _=0;_<h.length;_++)m+=h[_];const v=c.morphTargetsRelative?1:1-m;d.getUniforms().setValue(n,"morphTargetBaseInfluence",v),d.getUniforms().setValue(n,"morphTargetInfluences",h),d.getUniforms().setValue(n,"morphTargetsTexture",g.texture,t),d.getUniforms().setValue(n,"morphTargetsTextureSize",g.size)}else{const f=h===void 0?0:h.length;let p=i[c.id];if(p===void 0||p.length!==f){p=[];for(let S=0;S<f;S++)p[S]=[S,0];i[c.id]=p}for(let S=0;S<f;S++){const x=p[S];x[0]=S,x[1]=h[S]}p.sort(CDe);for(let S=0;S<8;S++)S<f&&p[S][1]?(s[S][0]=p[S][0],s[S][1]=p[S][1]):(s[S][0]=Number.MAX_SAFE_INTEGER,s[S][1]=0);s.sort(ADe);const g=c.morphAttributes.position,m=c.morphAttributes.normal;let v=0;for(let S=0;S<8;S++){const x=s[S],A=x[0],C=x[1];A!==Number.MAX_SAFE_INTEGER&&C?(g&&c.getAttribute("morphTarget"+S)!==g[A]&&c.setAttribute("morphTarget"+S,g[A]),m&&c.getAttribute("morphNormal"+S)!==m[A]&&c.setAttribute("morphNormal"+S,m[A]),r[S]=C,v+=C):(g&&c.hasAttribute("morphTarget"+S)===!0&&c.deleteAttribute("morphTarget"+S),m&&c.hasAttribute("morphNormal"+S)===!0&&c.deleteAttribute("morphNormal"+S),r[S]=0)}const _=c.morphTargetsRelative?1:1-v;d.getUniforms().setValue(n,"morphTargetBaseInfluence",_),d.getUniforms().setValue(n,"morphTargetInfluences",r)}}return{update:l}}function EDe(n,e,t,i){let r=new WeakMap;function a(l){const u=i.render.frame,c=l.geometry,d=e.get(l,c);if(r.get(d)!==u&&(e.update(d),r.set(d,u)),l.isInstancedMesh&&(l.hasEventListener("dispose",s)===!1&&l.addEventListener("dispose",s),r.get(l)!==u&&(t.update(l.instanceMatrix,n.ARRAY_BUFFER),l.instanceColor!==null&&t.update(l.instanceColor,n.ARRAY_BUFFER),r.set(l,u))),l.isSkinnedMesh){const h=l.skeleton;r.get(h)!==u&&(h.update(),r.set(h,u))}return d}function o(){r=new WeakMap}function s(l){const u=l.target;u.removeEventListener("dispose",s),t.remove(u.instanceMatrix),u.instanceColor!==null&&t.remove(u.instanceColor)}return{update:a,dispose:o}}class Qee extends Sn{constructor(e,t,i,r,a,o,s,l,u,c){if(c=c!==void 0?c:K8,c!==K8&&c!==W7)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");i===void 0&&c===K8&&(i=A5),i===void 0&&c===W7&&(i=X8),super(null,r,a,o,s,l,c,i,u),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=s!==void 0?s:yn,this.minFilter=l!==void 0?l:yn,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}const e2e=new Sn,t2e=new Qee(1,1);t2e.compareFunction=Gee;const n2e=new jee,i2e=new fRe,r2e=new Zee,bH=[],xH=[],wH=new Float32Array(16),TH=new Float32Array(9),AH=new Float32Array(4);function Tu(n,e,t){const i=n[0];if(i<=0||i>0)return n;const r=e*t;let a=bH[r];if(a===void 0&&(a=new Float32Array(r),bH[r]=a),e!==0){i.toArray(a,0);for(let o=1,s=0;o!==e;++o)s+=t,n[o].toArray(a,s)}return a}function Tn(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t<i;t++)if(n[t]!==e[t])return!1;return!0}function An(n,e){for(let t=0,i=e.length;t<i;t++)n[t]=e[t]}function lS(n,e){let t=xH[e];t===void 0&&(t=new Int32Array(e),xH[e]=t);for(let i=0;i!==e;++i)t[i]=n.allocateTextureUnit();return t}function PDe(n,e){const t=this.cache;t[0]!==e&&(n.uniform1f(this.addr,e),t[0]=e)}function RDe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Tn(t,e))return;n.uniform2fv(this.addr,e),An(t,e)}}function LDe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(e.r!==void 0)(t[0]!==e.r||t[1]!==e.g||t[2]!==e.b)&&(n.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(Tn(t,e))return;n.uniform3fv(this.addr,e),An(t,e)}}function IDe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Tn(t,e))return;n.uniform4fv(this.addr,e),An(t,e)}}function DDe(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Tn(t,e))return;n.uniformMatrix2fv(this.addr,!1,e),An(t,e)}else{if(Tn(t,i))return;AH.set(i),n.uniformMatrix2fv(this.addr,!1,AH),An(t,i)}}function NDe(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Tn(t,e))return;n.uniformMatrix3fv(this.addr,!1,e),An(t,e)}else{if(Tn(t,i))return;TH.set(i),n.uniformMatrix3fv(this.addr,!1,TH),An(t,i)}}function kDe(n,e){const t=this.cache,i=e.elements;if(i===void 0){if(Tn(t,e))return;n.uniformMatrix4fv(this.addr,!1,e),An(t,e)}else{if(Tn(t,i))return;wH.set(i),n.uniformMatrix4fv(this.addr,!1,wH),An(t,i)}}function FDe(n,e){const t=this.cache;t[0]!==e&&(n.uniform1i(this.addr,e),t[0]=e)}function ODe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2i(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Tn(t,e))return;n.uniform2iv(this.addr,e),An(t,e)}}function BDe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3i(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Tn(t,e))return;n.uniform3iv(this.addr,e),An(t,e)}}function zDe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4i(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Tn(t,e))return;n.uniform4iv(this.addr,e),An(t,e)}}function UDe(n,e){const t=this.cache;t[0]!==e&&(n.uniform1ui(this.addr,e),t[0]=e)}function GDe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(n.uniform2ui(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Tn(t,e))return;n.uniform2uiv(this.addr,e),An(t,e)}}function VDe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(n.uniform3ui(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Tn(t,e))return;n.uniform3uiv(this.addr,e),An(t,e)}}function HDe(n,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(n.uniform4ui(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Tn(t,e))return;n.uniform4uiv(this.addr,e),An(t,e)}}function WDe(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r);const a=this.type===n.SAMPLER_2D_SHADOW?t2e:e2e;t.setTexture2D(e||a,r)}function jDe(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture3D(e||i2e,r)}function $De(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTextureCube(e||r2e,r)}function YDe(n,e,t){const i=this.cache,r=t.allocateTextureUnit();i[0]!==r&&(n.uniform1i(this.addr,r),i[0]=r),t.setTexture2DArray(e||n2e,r)}function qDe(n){switch(n){case 5126:return PDe;case 35664:return RDe;case 35665:return LDe;case 35666:return IDe;case 35674:return DDe;case 35675:return NDe;case 35676:return kDe;case 5124:case 35670:return FDe;case 35667:case 35671:return ODe;case 35668:case 35672:return BDe;case 35669:case 35673:return zDe;case 5125:return UDe;case 36294:return GDe;case 36295:return VDe;case 36296:return HDe;case 35678:case 36198:case 36298:case 36306:case 35682:return WDe;case 35679:case 36299:case 36307:return jDe;case 35680:case 36300:case 36308:case 36293:return $De;case 36289:case 36303:case 36311:case 36292:return YDe}}function XDe(n,e){n.uniform1fv(this.addr,e)}function KDe(n,e){const t=Tu(e,this.size,2);n.uniform2fv(this.addr,t)}function ZDe(n,e){const t=Tu(e,this.size,3);n.uniform3fv(this.addr,t)}function JDe(n,e){const t=Tu(e,this.size,4);n.uniform4fv(this.addr,t)}function QDe(n,e){const t=Tu(e,this.size,4);n.uniformMatrix2fv(this.addr,!1,t)}function eNe(n,e){const t=Tu(e,this.size,9);n.uniformMatrix3fv(this.addr,!1,t)}function tNe(n,e){const t=Tu(e,this.size,16);n.uniformMatrix4fv(this.addr,!1,t)}function nNe(n,e){n.uniform1iv(this.addr,e)}function iNe(n,e){n.uniform2iv(this.addr,e)}function rNe(n,e){n.uniform3iv(this.addr,e)}function aNe(n,e){n.uniform4iv(this.addr,e)}function oNe(n,e){n.uniform1uiv(this.addr,e)}function sNe(n,e){n.uniform2uiv(this.addr,e)}function lNe(n,e){n.uniform3uiv(this.addr,e)}function uNe(n,e){n.uniform4uiv(this.addr,e)}function cNe(n,e,t){const i=this.cache,r=e.length,a=lS(t,r);Tn(i,a)||(n.uniform1iv(this.addr,a),An(i,a));for(let o=0;o!==r;++o)t.setTexture2D(e[o]||e2e,a[o])}function dNe(n,e,t){const i=this.cache,r=e.length,a=lS(t,r);Tn(i,a)||(n.uniform1iv(this.addr,a),An(i,a));for(let o=0;o!==r;++o)t.setTexture3D(e[o]||i2e,a[o])}function hNe(n,e,t){const i=this.cache,r=e.length,a=lS(t,r);Tn(i,a)||(n.uniform1iv(this.addr,a),An(i,a));for(let o=0;o!==r;++o)t.setTextureCube(e[o]||r2e,a[o])}function fNe(n,e,t){const i=this.cache,r=e.length,a=lS(t,r);Tn(i,a)||(n.uniform1iv(this.addr,a),An(i,a));for(let o=0;o!==r;++o)t.setTexture2DArray(e[o]||n2e,a[o])}function pNe(n){switch(n){case 5126:return XDe;case 35664:return KDe;case 35665:return ZDe;case 35666:return JDe;case 35674:return QDe;case 35675:return eNe;case 35676:return tNe;case 5124:case 35670:return nNe;case 35667:case 35671:return iNe;case 35668:case 35672:return rNe;case 35669:case 35673:return aNe;case 5125:return oNe;case 36294:return sNe;case 36295:return lNe;case 36296:return uNe;case 35678:case 36198:case 36298:case 36306:case 35682:return cNe;case 35679:case 36299:case 36307:return dNe;case 35680:case 36300:case 36308:case 36293:return hNe;case 36289:case 36303:case 36311:case 36292:return fNe}}class mNe{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.setValue=qDe(t.type)}}class gNe{constructor(e,t,i){this.id=e,this.addr=i,this.cache=[],this.type=t.type,this.size=t.size,this.setValue=pNe(t.type)}}class vNe{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,i){const r=this.seq;for(let a=0,o=r.length;a!==o;++a){const s=r[a];s.setValue(e,t[s.id],i)}}}const eA=/(\w+)(\])?(\[|\.)?/g;function CH(n,e){n.seq.push(e),n.map[e.id]=e}function yNe(n,e,t){const i=n.name,r=i.length;for(eA.lastIndex=0;;){const a=eA.exec(i),o=eA.lastIndex;let s=a[1];const l=a[2]==="]",u=a[3];if(l&&(s=s|0),u===void 0||u==="["&&o+2===r){CH(t,u===void 0?new mNe(s,n,e):new gNe(s,n,e));break}else{let d=t.map[s];d===void 0&&(d=new vNe(s),CH(t,d)),t=d}}}class cv{constructor(e,t){this.seq=[],this.map={};const i=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let r=0;r<i;++r){const a=e.getActiveUniform(t,r),o=e.getUniformLocation(t,a.name);yNe(a,o,this)}}setValue(e,t,i,r){const a=this.map[t];a!==void 0&&a.setValue(e,i,r)}setOptional(e,t,i){const r=t[i];r!==void 0&&this.setValue(e,i,r)}static upload(e,t,i,r){for(let a=0,o=t.length;a!==o;++a){const s=t[a],l=i[s.id];l.needsUpdate!==!1&&s.setValue(e,l.value,r)}}static seqWithValue(e,t){const i=[];for(let r=0,a=e.length;r!==a;++r){const o=e[r];o.id in t&&i.push(o)}return i}}function MH(n,e,t){const i=n.createShader(e);return n.shaderSource(i,t),n.compileShader(i),i}const _Ne=37297;let SNe=0;function bNe(n,e){const t=n.split(` |
|
|
`),i=[],r=Math.max(e-6,0),a=Math.min(e+6,t.length);for(let o=r;o<a;o++){const s=o+1;i.push(`${s===e?">":" "} ${s}: ${t[o]}`)}return i.join(` |
|
|
`)}function xNe(n){const e=z1.getPrimaries(z1.workingColorSpace),t=z1.getPrimaries(n);let i;switch(e===t?i="":e===Ny&&t===Dy?i="LinearDisplayP3ToLinearSRGB":e===Dy&&t===Ny&&(i="LinearSRGBToLinearDisplayP3"),n){case wn:case aS:return[i,"LinearTransferOETF"];case Y1:case fL:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function EH(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const a=/ERROR: 0:(\d+)/.exec(r);if(a){const o=parseInt(a[1]);return t.toUpperCase()+` |
|
|
|
|
|
`+r+` |
|
|
|
|
|
`+bNe(n.getShaderSource(e),o)}else return r}function wNe(n,e){const t=xNe(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function TNe(n,e){let t;switch(e){case bPe:t="Linear";break;case xPe:t="Reinhard";break;case wPe:t="OptimizedCineon";break;case TPe:t="ACESFilmic";break;case CPe:t="AgX";break;case APe:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function ANe(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(t7).join(` |
|
|
`)}function CNe(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(t7).join(` |
|
|
`)}function MNe(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` |
|
|
`)}function ENe(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r<i;r++){const a=n.getActiveAttrib(e,r),o=a.name;let s=1;a.type===n.FLOAT_MAT2&&(s=2),a.type===n.FLOAT_MAT3&&(s=3),a.type===n.FLOAT_MAT4&&(s=4),t[o]={type:a.type,location:n.getAttribLocation(e,o),locationSize:s}}return t}function t7(n){return n!==""}function PH(n,e){const t=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return n.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,t).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function RH(n,e){return n.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const PNe=/^[ \t]*#include +<([\w\d./]+)>/gm;function KM(n){return n.replace(PNe,LNe)}const RNe=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function LNe(n,e){let t=W3[e];if(t===void 0){const i=RNe.get(e);if(i!==void 0)t=W3[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return KM(t)}const INe=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function LH(n){return n.replace(INe,DNe)}function DNe(n,e,t,i){let r="";for(let a=parseInt(e);a<parseInt(t);a++)r+=i.replace(/\[\s*i\s*\]/g,"[ "+a+" ]").replace(/UNROLLED_LOOP_INDEX/g,a);return r}function IH(n){let e=`precision ${n.precision} float; |
|
|
precision ${n.precision} int; |
|
|
precision ${n.precision} sampler2D; |
|
|
precision ${n.precision} samplerCube; |
|
|
`;return n.isWebGL2&&(e+=`precision ${n.precision} sampler3D; |
|
|
precision ${n.precision} sampler2DArray; |
|
|
precision ${n.precision} sampler2DShadow; |
|
|
precision ${n.precision} samplerCubeShadow; |
|
|
precision ${n.precision} sampler2DArrayShadow; |
|
|
precision ${n.precision} isampler2D; |
|
|
precision ${n.precision} isampler3D; |
|
|
precision ${n.precision} isamplerCube; |
|
|
precision ${n.precision} isampler2DArray; |
|
|
precision ${n.precision} usampler2D; |
|
|
precision ${n.precision} usampler3D; |
|
|
precision ${n.precision} usamplerCube; |
|
|
precision ${n.precision} usampler2DArray; |
|
|
`),n.precision==="highp"?e+=` |
|
|
#define HIGH_PRECISION`:n.precision==="mediump"?e+=` |
|
|
#define MEDIUM_PRECISION`:n.precision==="lowp"&&(e+=` |
|
|
#define LOW_PRECISION`),e}function NNe(n){let e="SHADOWMAP_TYPE_BASIC";return n.shadowMapType===Mee?e="SHADOWMAP_TYPE_PCF":n.shadowMapType===JEe?e="SHADOWMAP_TYPE_PCF_SOFT":n.shadowMapType===Us&&(e="SHADOWMAP_TYPE_VSM"),e}function kNe(n){let e="ENVMAP_TYPE_CUBE";if(n.envMap)switch(n.envMapMode){case V7:case H7:e="ENVMAP_TYPE_CUBE";break;case rS:e="ENVMAP_TYPE_CUBE_UV";break}return e}function FNe(n){let e="ENVMAP_MODE_REFLECTION";if(n.envMap)switch(n.envMapMode){case H7:e="ENVMAP_MODE_REFRACTION";break}return e}function ONe(n){let e="ENVMAP_BLENDING_NONE";if(n.envMap)switch(n.combine){case cL:e="ENVMAP_BLENDING_MULTIPLY";break;case _Pe:e="ENVMAP_BLENDING_MIX";break;case SPe:e="ENVMAP_BLENDING_ADD";break}return e}function BNe(n){const e=n.envMapCubeUVHeight;if(e===null)return null;const t=Math.log2(e)-2,i=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,t),7*16)),texelHeight:i,maxMip:t}}function zNe(n,e,t,i){const r=n.getContext(),a=t.defines;let o=t.vertexShader,s=t.fragmentShader;const l=NNe(t),u=kNe(t),c=FNe(t),d=ONe(t),h=BNe(t),f=t.isWebGL2?"":ANe(t),p=CNe(t),g=MNe(a),m=r.createProgram();let v,_,S=t.glslVersion?"#version "+t.glslVersion+` |
|
|
`:"";t.isRawShaderMaterial?(v=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,g].filter(t7).join(` |
|
|
`),v.length>0&&(v+=` |
|
|
`),_=[f,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,g].filter(t7).join(` |
|
|
`),_.length>0&&(_+=` |
|
|
`)):(v=[IH(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,g,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` |
|
|
`].filter(t7).join(` |
|
|
`),_=[f,IH(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,g,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.envMap?"#define "+c:"",t.envMap?"#define "+d:"",h?"#define CUBEUV_TEXEL_WIDTH "+h.texelWidth:"",h?"#define CUBEUV_TEXEL_HEIGHT "+h.texelHeight:"",h?"#define CUBEUV_MAX_MIP "+h.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==F5?"#define TONE_MAPPING":"",t.toneMapping!==F5?W3.tonemapping_pars_fragment:"",t.toneMapping!==F5?TNe("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",W3.colorspace_pars_fragment,wNe("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` |
|
|
`].filter(t7).join(` |
|
|
`)),o=KM(o),o=PH(o,t),o=RH(o,t),s=KM(s),s=PH(s,t),s=RH(s,t),o=LH(o),s=LH(s),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(S=`#version 300 es |
|
|
`,v=[p,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` |
|
|
`)+` |
|
|
`+v,_=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===qV?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===qV?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` |
|
|
`)+` |
|
|
`+_);const x=S+v+o,A=S+_+s,C=MH(r,r.VERTEX_SHADER,x),M=MH(r,r.FRAGMENT_SHADER,A);r.attachShader(m,C),r.attachShader(m,M),t.index0AttributeName!==void 0?r.bindAttribLocation(m,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(m,0,"position"),r.linkProgram(m);function I(V){if(n.debug.checkShaderErrors){const Y=r.getProgramInfoLog(m).trim(),G=r.getShaderInfoLog(C).trim(),W=r.getShaderInfoLog(M).trim();let q=!0,ce=!0;if(r.getProgramParameter(m,r.LINK_STATUS)===!1)if(q=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,m,C,M);else{const J=EH(r,C,"vertex"),H=EH(r,M,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(m,r.VALIDATE_STATUS)+` |
|
|
|
|
|
Material Name: `+V.name+` |
|
|
Material Type: `+V.type+` |
|
|
|
|
|
Program Info Log: `+Y+` |
|
|
`+J+` |
|
|
`+H)}else Y!==""?console.warn("THREE.WebGLProgram: Program Info Log:",Y):(G===""||W==="")&&(ce=!1);ce&&(V.diagnostics={runnable:q,programLog:Y,vertexShader:{log:G,prefix:v},fragmentShader:{log:W,prefix:_}})}r.deleteShader(C),r.deleteShader(M),D=new cv(r,m),E=ENe(r,m)}let D;this.getUniforms=function(){return D===void 0&&I(this),D};let E;this.getAttributes=function(){return E===void 0&&I(this),E};let L=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return L===!1&&(L=r.getProgramParameter(m,_Ne)),L},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(m),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=SNe++,this.cacheKey=e,this.usedTimes=1,this.program=m,this.vertexShader=C,this.fragmentShader=M,this}let UNe=0;class GNe{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),a=this._getShaderStage(i),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(a)===!1&&(o.add(a),a.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new VNe(e),t.set(e,i)),i}}class VNe{constructor(e){this.id=UNe++,this.code=e,this.usedTimes=0}}function HNe(n,e,t,i,r,a,o){const s=new gL,l=new GNe,u=new Set,c=[],d=r.isWebGL2,h=r.logarithmicDepthBuffer,f=r.vertexTextures;let p=r.precision;const g={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function m(E){return u.add(E),E===0?"uv":`uv${E}`}function v(E,L,V,Y,G){const W=Y.fog,q=G.geometry,ce=E.isMeshStandardMaterial?Y.environment:null,J=(E.isMeshStandardMaterial?t:e).get(E.envMap||ce),H=J&&J.mapping===rS?J.image.height:null,re=g[E.type];E.precision!==null&&(p=r.getMaxPrecision(E.precision),p!==E.precision&&console.warn("THREE.WebGLProgram.getParameters:",E.precision,"not supported, using",p,"instead."));const ee=q.morphAttributes.position||q.morphAttributes.normal||q.morphAttributes.color,se=ee!==void 0?ee.length:0;let Be=0;q.morphAttributes.position!==void 0&&(Be=1),q.morphAttributes.normal!==void 0&&(Be=2),q.morphAttributes.color!==void 0&&(Be=3);let we,ve,Ke,p2;if(re){const p3=tr[re];we=p3.vertexShader,ve=p3.fragmentShader}else we=E.vertexShader,ve=E.fragmentShader,l.update(E),Ke=l.getVertexShaderID(E),p2=l.getFragmentShaderID(E);const c2=n.getRenderTarget(),s2=G.isInstancedMesh===!0,R2=G.isBatchedMesh===!0,w2=!!E.map,Re=!!E.matcap,k2=!!J,x2=!!E.aoMap,D2=!!E.lightMap,z=!!E.bumpMap,Q2=!!E.normalMap,Y2=!!E.displacementMap,Ae=!!E.emissiveMap,ge=!!E.metalnessMap,ke=!!E.roughnessMap,d2=E.anisotropy>0,m2=E.clearcoat>0,Te=E.iridescence>0,ye=E.sheen>0,Le=E.transmission>0,t2=d2&&!!E.anisotropyMap,Oe=m2&&!!E.clearcoatMap,T2=m2&&!!E.clearcoatNormalMap,o2=m2&&!!E.clearcoatRoughnessMap,q2=Te&&!!E.iridescenceMap,K2=Te&&!!E.iridescenceThicknessMap,st=ye&&!!E.sheenColorMap,lt=ye&&!!E.sheenRoughnessMap,rt=!!E.specularMap,Ut=!!E.specularColorMap,Qe=!!E.specularIntensityMap,ot=Le&&!!E.transmissionMap,vt=Le&&!!E.thicknessMap,Nt=!!E.gradientMap,je=!!E.alphaMap,$2=E.alphaTest>0,tt=!!E.alphaHash,Et=!!E.extensions;let Ft=F5;E.toneMapped&&(c2===null||c2.isXRRenderTarget===!0)&&(Ft=n.toneMapping);const yt={isWebGL2:d,shaderID:re,shaderType:E.type,shaderName:E.name,vertexShader:we,fragmentShader:ve,defines:E.defines,customVertexShaderID:Ke,customFragmentShaderID:p2,isRawShaderMaterial:E.isRawShaderMaterial===!0,glslVersion:E.glslVersion,precision:p,batching:R2,instancing:s2,instancingColor:s2&&G.instanceColor!==null,supportsVertexTextures:f,outputColorSpace:c2===null?n.outputColorSpace:c2.isXRRenderTarget===!0?c2.texture.colorSpace:wn,alphaToCoverage:!!E.alphaToCoverage,map:w2,matcap:Re,envMap:k2,envMapMode:k2&&J.mapping,envMapCubeUVHeight:H,aoMap:x2,lightMap:D2,bumpMap:z,normalMap:Q2,displacementMap:f&&Y2,emissiveMap:Ae,normalMapObjectSpace:Q2&&E.normalMapType===UPe,normalMapTangentSpace:Q2&&E.normalMapType===hL,metalnessMap:ge,roughnessMap:ke,anisotropy:d2,anisotropyMap:t2,clearcoat:m2,clearcoatMap:Oe,clearcoatNormalMap:T2,clearcoatRoughnessMap:o2,iridescence:Te,iridescenceMap:q2,iridescenceThicknessMap:K2,sheen:ye,sheenColorMap:st,sheenRoughnessMap:lt,specularMap:rt,specularColorMap:Ut,specularIntensityMap:Qe,transmission:Le,transmissionMap:ot,thicknessMap:vt,gradientMap:Nt,opaque:E.transparent===!1&&E.blending===q8&&E.alphaToCoverage===!1,alphaMap:je,alphaTest:$2,alphaHash:tt,combine:E.combine,mapUv:w2&&m(E.map.channel),aoMapUv:x2&&m(E.aoMap.channel),lightMapUv:D2&&m(E.lightMap.channel),bumpMapUv:z&&m(E.bumpMap.channel),normalMapUv:Q2&&m(E.normalMap.channel),displacementMapUv:Y2&&m(E.displacementMap.channel),emissiveMapUv:Ae&&m(E.emissiveMap.channel),metalnessMapUv:ge&&m(E.metalnessMap.channel),roughnessMapUv:ke&&m(E.roughnessMap.channel),anisotropyMapUv:t2&&m(E.anisotropyMap.channel),clearcoatMapUv:Oe&&m(E.clearcoatMap.channel),clearcoatNormalMapUv:T2&&m(E.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:o2&&m(E.clearcoatRoughnessMap.channel),iridescenceMapUv:q2&&m(E.iridescenceMap.channel),iridescenceThicknessMapUv:K2&&m(E.iridescenceThicknessMap.channel),sheenColorMapUv:st&&m(E.sheenColorMap.channel),sheenRoughnessMapUv:lt&&m(E.sheenRoughnessMap.channel),specularMapUv:rt&&m(E.specularMap.channel),specularColorMapUv:Ut&&m(E.specularColorMap.channel),specularIntensityMapUv:Qe&&m(E.specularIntensityMap.channel),transmissionMapUv:ot&&m(E.transmissionMap.channel),thicknessMapUv:vt&&m(E.thicknessMap.channel),alphaMapUv:je&&m(E.alphaMap.channel),vertexTangents:!!q.attributes.tangent&&(Q2||d2),vertexColors:E.vertexColors,vertexAlphas:E.vertexColors===!0&&!!q.attributes.color&&q.attributes.color.itemSize===4,pointsUvs:G.isPoints===!0&&!!q.attributes.uv&&(w2||je),fog:!!W,useFog:E.fog===!0,fogExp2:!!W&&W.isFogExp2,flatShading:E.flatShading===!0,sizeAttenuation:E.sizeAttenuation===!0,logarithmicDepthBuffer:h,skinning:G.isSkinnedMesh===!0,morphTargets:q.morphAttributes.position!==void 0,morphNormals:q.morphAttributes.normal!==void 0,morphColors:q.morphAttributes.color!==void 0,morphTargetsCount:se,morphTextureStride:Be,numDirLights:L.directional.length,numPointLights:L.point.length,numSpotLights:L.spot.length,numSpotLightMaps:L.spotLightMap.length,numRectAreaLights:L.rectArea.length,numHemiLights:L.hemi.length,numDirLightShadows:L.directionalShadowMap.length,numPointLightShadows:L.pointShadowMap.length,numSpotLightShadows:L.spotShadowMap.length,numSpotLightShadowsWithMaps:L.numSpotLightShadowsWithMaps,numLightProbes:L.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:E.dithering,shadowMapEnabled:n.shadowMap.enabled&&V.length>0,shadowMapType:n.shadowMap.type,toneMapping:Ft,useLegacyLights:n._useLegacyLights,decodeVideoTexture:w2&&E.map.isVideoTexture===!0&&z1.getTransfer(E.map.colorSpace)===_0,premultipliedAlpha:E.premultipliedAlpha,doubleSided:E.side===o0,flipSided:E.side===dr,useDepthPacking:E.depthPacking>=0,depthPacking:E.depthPacking||0,index0AttributeName:E.index0AttributeName,extensionDerivatives:Et&&E.extensions.derivatives===!0,extensionFragDepth:Et&&E.extensions.fragDepth===!0,extensionDrawBuffers:Et&&E.extensions.drawBuffers===!0,extensionShaderTextureLOD:Et&&E.extensions.shaderTextureLOD===!0,extensionClipCullDistance:Et&&E.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:Et&&E.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:d||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:d||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:d||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:E.customProgramCacheKey()};return yt.vertexUv1s=u.has(1),yt.vertexUv2s=u.has(2),yt.vertexUv3s=u.has(3),u.clear(),yt}function _(E){const L=[];if(E.shaderID?L.push(E.shaderID):(L.push(E.customVertexShaderID),L.push(E.customFragmentShaderID)),E.defines!==void 0)for(const V in E.defines)L.push(V),L.push(E.defines[V]);return E.isRawShaderMaterial===!1&&(S(L,E),x(L,E),L.push(n.outputColorSpace)),L.push(E.customProgramCacheKey),L.join()}function S(E,L){E.push(L.precision),E.push(L.outputColorSpace),E.push(L.envMapMode),E.push(L.envMapCubeUVHeight),E.push(L.mapUv),E.push(L.alphaMapUv),E.push(L.lightMapUv),E.push(L.aoMapUv),E.push(L.bumpMapUv),E.push(L.normalMapUv),E.push(L.displacementMapUv),E.push(L.emissiveMapUv),E.push(L.metalnessMapUv),E.push(L.roughnessMapUv),E.push(L.anisotropyMapUv),E.push(L.clearcoatMapUv),E.push(L.clearcoatNormalMapUv),E.push(L.clearcoatRoughnessMapUv),E.push(L.iridescenceMapUv),E.push(L.iridescenceThicknessMapUv),E.push(L.sheenColorMapUv),E.push(L.sheenRoughnessMapUv),E.push(L.specularMapUv),E.push(L.specularColorMapUv),E.push(L.specularIntensityMapUv),E.push(L.transmissionMapUv),E.push(L.thicknessMapUv),E.push(L.combine),E.push(L.fogExp2),E.push(L.sizeAttenuation),E.push(L.morphTargetsCount),E.push(L.morphAttributeCount),E.push(L.numDirLights),E.push(L.numPointLights),E.push(L.numSpotLights),E.push(L.numSpotLightMaps),E.push(L.numHemiLights),E.push(L.numRectAreaLights),E.push(L.numDirLightShadows),E.push(L.numPointLightShadows),E.push(L.numSpotLightShadows),E.push(L.numSpotLightShadowsWithMaps),E.push(L.numLightProbes),E.push(L.shadowMapType),E.push(L.toneMapping),E.push(L.numClippingPlanes),E.push(L.numClipIntersection),E.push(L.depthPacking)}function x(E,L){s.disableAll(),L.isWebGL2&&s.enable(0),L.supportsVertexTextures&&s.enable(1),L.instancing&&s.enable(2),L.instancingColor&&s.enable(3),L.matcap&&s.enable(4),L.envMap&&s.enable(5),L.normalMapObjectSpace&&s.enable(6),L.normalMapTangentSpace&&s.enable(7),L.clearcoat&&s.enable(8),L.iridescence&&s.enable(9),L.alphaTest&&s.enable(10),L.vertexColors&&s.enable(11),L.vertexAlphas&&s.enable(12),L.vertexUv1s&&s.enable(13),L.vertexUv2s&&s.enable(14),L.vertexUv3s&&s.enable(15),L.vertexTangents&&s.enable(16),L.anisotropy&&s.enable(17),L.alphaHash&&s.enable(18),L.batching&&s.enable(19),E.push(s.mask),s.disableAll(),L.fog&&s.enable(0),L.useFog&&s.enable(1),L.flatShading&&s.enable(2),L.logarithmicDepthBuffer&&s.enable(3),L.skinning&&s.enable(4),L.morphTargets&&s.enable(5),L.morphNormals&&s.enable(6),L.morphColors&&s.enable(7),L.premultipliedAlpha&&s.enable(8),L.shadowMapEnabled&&s.enable(9),L.useLegacyLights&&s.enable(10),L.doubleSided&&s.enable(11),L.flipSided&&s.enable(12),L.useDepthPacking&&s.enable(13),L.dithering&&s.enable(14),L.transmission&&s.enable(15),L.sheen&&s.enable(16),L.opaque&&s.enable(17),L.pointsUvs&&s.enable(18),L.decodeVideoTexture&&s.enable(19),L.alphaToCoverage&&s.enable(20),E.push(s.mask)}function A(E){const L=g[E.type];let V;if(L){const Y=tr[L];V=vL.clone(Y.uniforms)}else V=E.uniforms;return V}function C(E,L){let V;for(let Y=0,G=c.length;Y<G;Y++){const W=c[Y];if(W.cacheKey===L){V=W,++V.usedTimes;break}}return V===void 0&&(V=new zNe(n,L,E,a),c.push(V)),V}function M(E){if(--E.usedTimes===0){const L=c.indexOf(E);c[L]=c[c.length-1],c.pop(),E.destroy()}}function I(E){l.remove(E)}function D(){l.dispose()}return{getParameters:v,getProgramCacheKey:_,getUniforms:A,acquireProgram:C,releaseProgram:M,releaseShaderCache:I,programs:c,dispose:D}}function WNe(){let n=new WeakMap;function e(a){let o=n.get(a);return o===void 0&&(o={},n.set(a,o)),o}function t(a){n.delete(a)}function i(a,o,s){n.get(a)[o]=s}function r(){n=new WeakMap}return{get:e,remove:t,update:i,dispose:r}}function jNe(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.material.id!==e.material.id?n.material.id-e.material.id:n.z!==e.z?n.z-e.z:n.id-e.id}function DH(n,e){return n.groupOrder!==e.groupOrder?n.groupOrder-e.groupOrder:n.renderOrder!==e.renderOrder?n.renderOrder-e.renderOrder:n.z!==e.z?e.z-n.z:n.id-e.id}function NH(){const n=[];let e=0;const t=[],i=[],r=[];function a(){e=0,t.length=0,i.length=0,r.length=0}function o(d,h,f,p,g,m){let v=n[e];return v===void 0?(v={id:d.id,object:d,geometry:h,material:f,groupOrder:p,renderOrder:d.renderOrder,z:g,group:m},n[e]=v):(v.id=d.id,v.object=d,v.geometry=h,v.material=f,v.groupOrder=p,v.renderOrder=d.renderOrder,v.z=g,v.group=m),e++,v}function s(d,h,f,p,g,m){const v=o(d,h,f,p,g,m);f.transmission>0?i.push(v):f.transparent===!0?r.push(v):t.push(v)}function l(d,h,f,p,g,m){const v=o(d,h,f,p,g,m);f.transmission>0?i.unshift(v):f.transparent===!0?r.unshift(v):t.unshift(v)}function u(d,h){t.length>1&&t.sort(d||jNe),i.length>1&&i.sort(h||DH),r.length>1&&r.sort(h||DH)}function c(){for(let d=e,h=n.length;d<h;d++){const f=n[d];if(f.id===null)break;f.id=null,f.object=null,f.geometry=null,f.material=null,f.group=null}}return{opaque:t,transmissive:i,transparent:r,init:a,push:s,unshift:l,finish:c,sort:u}}function $Ne(){let n=new WeakMap;function e(i,r){const a=n.get(i);let o;return a===void 0?(o=new NH,n.set(i,[o])):r>=a.length?(o=new NH,a.push(o)):o=a[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function YNe(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new Ge,color:new Yt};break;case"SpotLight":t={position:new Ge,direction:new Ge,color:new Yt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new Ge,color:new Yt,distance:0,decay:0};break;case"HemisphereLight":t={direction:new Ge,skyColor:new Yt,groundColor:new Yt};break;case"RectAreaLight":t={color:new Yt,position:new Ge,halfWidth:new Ge,halfHeight:new Ge};break}return n[e.id]=t,t}}}function qNe(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new J2};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new J2};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new J2,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let XNe=0;function KNe(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function ZNe(n,e){const t=new YNe,i=qNe(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)r.probe.push(new Ge);const a=new Ge,o=new F3,s=new F3;function l(c,d){let h=0,f=0,p=0;for(let V=0;V<9;V++)r.probe[V].set(0,0,0);let g=0,m=0,v=0,_=0,S=0,x=0,A=0,C=0,M=0,I=0,D=0;c.sort(KNe);const E=d===!0?Math.PI:1;for(let V=0,Y=c.length;V<Y;V++){const G=c[V],W=G.color,q=G.intensity,ce=G.distance,J=G.shadow&&G.shadow.map?G.shadow.map.texture:null;if(G.isAmbientLight)h+=W.r*q*E,f+=W.g*q*E,p+=W.b*q*E;else if(G.isLightProbe){for(let H=0;H<9;H++)r.probe[H].addScaledVector(G.sh.coefficients[H],q);D++}else if(G.isDirectionalLight){const H=t.get(G);if(H.color.copy(G.color).multiplyScalar(G.intensity*E),G.castShadow){const re=G.shadow,ee=i.get(G);ee.shadowBias=re.bias,ee.shadowNormalBias=re.normalBias,ee.shadowRadius=re.radius,ee.shadowMapSize=re.mapSize,r.directionalShadow[g]=ee,r.directionalShadowMap[g]=J,r.directionalShadowMatrix[g]=G.shadow.matrix,x++}r.directional[g]=H,g++}else if(G.isSpotLight){const H=t.get(G);H.position.setFromMatrixPosition(G.matrixWorld),H.color.copy(W).multiplyScalar(q*E),H.distance=ce,H.coneCos=Math.cos(G.angle),H.penumbraCos=Math.cos(G.angle*(1-G.penumbra)),H.decay=G.decay,r.spot[v]=H;const re=G.shadow;if(G.map&&(r.spotLightMap[M]=G.map,M++,re.updateMatrices(G),G.castShadow&&I++),r.spotLightMatrix[v]=re.matrix,G.castShadow){const ee=i.get(G);ee.shadowBias=re.bias,ee.shadowNormalBias=re.normalBias,ee.shadowRadius=re.radius,ee.shadowMapSize=re.mapSize,r.spotShadow[v]=ee,r.spotShadowMap[v]=J,C++}v++}else if(G.isRectAreaLight){const H=t.get(G);H.color.copy(W).multiplyScalar(q),H.halfWidth.set(G.width*.5,0,0),H.halfHeight.set(0,G.height*.5,0),r.rectArea[_]=H,_++}else if(G.isPointLight){const H=t.get(G);if(H.color.copy(G.color).multiplyScalar(G.intensity*E),H.distance=G.distance,H.decay=G.decay,G.castShadow){const re=G.shadow,ee=i.get(G);ee.shadowBias=re.bias,ee.shadowNormalBias=re.normalBias,ee.shadowRadius=re.radius,ee.shadowMapSize=re.mapSize,ee.shadowCameraNear=re.camera.near,ee.shadowCameraFar=re.camera.far,r.pointShadow[m]=ee,r.pointShadowMap[m]=J,r.pointShadowMatrix[m]=G.shadow.matrix,A++}r.point[m]=H,m++}else if(G.isHemisphereLight){const H=t.get(G);H.skyColor.copy(G.color).multiplyScalar(q*E),H.groundColor.copy(G.groundColor).multiplyScalar(q*E),r.hemi[S]=H,S++}}_>0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=wt.LTC_FLOAT_1,r.rectAreaLTC2=wt.LTC_FLOAT_2):(r.rectAreaLTC1=wt.LTC_HALF_1,r.rectAreaLTC2=wt.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=wt.LTC_FLOAT_1,r.rectAreaLTC2=wt.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=wt.LTC_HALF_1,r.rectAreaLTC2=wt.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=h,r.ambient[1]=f,r.ambient[2]=p;const L=r.hash;(L.directionalLength!==g||L.pointLength!==m||L.spotLength!==v||L.rectAreaLength!==_||L.hemiLength!==S||L.numDirectionalShadows!==x||L.numPointShadows!==A||L.numSpotShadows!==C||L.numSpotMaps!==M||L.numLightProbes!==D)&&(r.directional.length=g,r.spot.length=v,r.rectArea.length=_,r.point.length=m,r.hemi.length=S,r.directionalShadow.length=x,r.directionalShadowMap.length=x,r.pointShadow.length=A,r.pointShadowMap.length=A,r.spotShadow.length=C,r.spotShadowMap.length=C,r.directionalShadowMatrix.length=x,r.pointShadowMatrix.length=A,r.spotLightMatrix.length=C+M-I,r.spotLightMap.length=M,r.numSpotLightShadowsWithMaps=I,r.numLightProbes=D,L.directionalLength=g,L.pointLength=m,L.spotLength=v,L.rectAreaLength=_,L.hemiLength=S,L.numDirectionalShadows=x,L.numPointShadows=A,L.numSpotShadows=C,L.numSpotMaps=M,L.numLightProbes=D,r.version=XNe++)}function u(c,d){let h=0,f=0,p=0,g=0,m=0;const v=d.matrixWorldInverse;for(let _=0,S=c.length;_<S;_++){const x=c[_];if(x.isDirectionalLight){const A=r.directional[h];A.direction.setFromMatrixPosition(x.matrixWorld),a.setFromMatrixPosition(x.target.matrixWorld),A.direction.sub(a),A.direction.transformDirection(v),h++}else if(x.isSpotLight){const A=r.spot[p];A.position.setFromMatrixPosition(x.matrixWorld),A.position.applyMatrix4(v),A.direction.setFromMatrixPosition(x.matrixWorld),a.setFromMatrixPosition(x.target.matrixWorld),A.direction.sub(a),A.direction.transformDirection(v),p++}else if(x.isRectAreaLight){const A=r.rectArea[g];A.position.setFromMatrixPosition(x.matrixWorld),A.position.applyMatrix4(v),s.identity(),o.copy(x.matrixWorld),o.premultiply(v),s.extractRotation(o),A.halfWidth.set(x.width*.5,0,0),A.halfHeight.set(0,x.height*.5,0),A.halfWidth.applyMatrix4(s),A.halfHeight.applyMatrix4(s),g++}else if(x.isPointLight){const A=r.point[f];A.position.setFromMatrixPosition(x.matrixWorld),A.position.applyMatrix4(v),f++}else if(x.isHemisphereLight){const A=r.hemi[m];A.direction.setFromMatrixPosition(x.matrixWorld),A.direction.transformDirection(v),m++}}}return{setup:l,setupView:u,state:r}}function kH(n,e){const t=new ZNe(n,e),i=[],r=[];function a(){i.length=0,r.length=0}function o(d){i.push(d)}function s(d){r.push(d)}function l(d){t.setup(i,d)}function u(d){t.setupView(i,d)}return{init:a,state:{lightsArray:i,shadowsArray:r,lights:t},setupLights:l,setupLightsView:u,pushLight:o,pushShadow:s}}function JNe(n,e){let t=new WeakMap;function i(a,o=0){const s=t.get(a);let l;return s===void 0?(l=new kH(n,e),t.set(a,[l])):o>=s.length?(l=new kH(n,e),s.push(l)):l=s[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class QNe extends Na{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=BPe,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class eke extends Na{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const tke=`void main() { |
|
|
gl_Position = vec4( position, 1.0 ); |
|
|
}`,nke=`uniform sampler2D shadow_pass; |
|
|
uniform vec2 resolution; |
|
|
uniform float radius; |
|
|
#include <packing> |
|
|
void main() { |
|
|
const float samples = float( VSM_SAMPLES ); |
|
|
float mean = 0.0; |
|
|
float squared_mean = 0.0; |
|
|
float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); |
|
|
float uvStart = samples <= 1.0 ? 0.0 : - 1.0; |
|
|
for ( float i = 0.0; i < samples; i ++ ) { |
|
|
float uvOffset = uvStart + i * uvStride; |
|
|
#ifdef HORIZONTAL_PASS |
|
|
vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); |
|
|
mean += distribution.x; |
|
|
squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; |
|
|
#else |
|
|
float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); |
|
|
mean += depth; |
|
|
squared_mean += depth * depth; |
|
|
#endif |
|
|
} |
|
|
mean = mean / samples; |
|
|
squared_mean = squared_mean / samples; |
|
|
float std_dev = sqrt( squared_mean - mean * mean ); |
|
|
gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); |
|
|
}`;function ike(n,e,t){let i=new yL;const r=new J2,a=new J2,o=new P1,s=new QNe({depthPacking:zPe}),l=new eke,u={},c=t.maxTextureSize,d={[d6]:dr,[dr]:d6,[o0]:o0},h=new h6({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new J2},radius:{value:4}},vertexShader:tke,fragmentShader:nke}),f=h.clone();f.defines.HORIZONTAL_PASS=1;const p=new Q1;p.setAttribute("position",new I0(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const g=new f1(p,h),m=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Mee;let v=this.type;this.render=function(C,M,I){if(m.enabled===!1||m.autoUpdate===!1&&m.needsUpdate===!1||C.length===0)return;const D=n.getRenderTarget(),E=n.getActiveCubeFace(),L=n.getActiveMipmapLevel(),V=n.state;V.setBlending(k5),V.buffers.color.setClear(1,1,1,1),V.buffers.depth.setTest(!0),V.setScissorTest(!1);const Y=v!==Us&&this.type===Us,G=v===Us&&this.type!==Us;for(let W=0,q=C.length;W<q;W++){const ce=C[W],J=ce.shadow;if(J===void 0){console.warn("THREE.WebGLShadowMap:",ce,"has no shadow.");continue}if(J.autoUpdate===!1&&J.needsUpdate===!1)continue;r.copy(J.mapSize);const H=J.getFrameExtents();if(r.multiply(H),a.copy(J.mapSize),(r.x>c||r.y>c)&&(r.x>c&&(a.x=Math.floor(c/H.x),r.x=a.x*H.x,J.mapSize.x=a.x),r.y>c&&(a.y=Math.floor(c/H.y),r.y=a.y*H.y,J.mapSize.y=a.y)),J.map===null||Y===!0||G===!0){const ee=this.type!==Us?{minFilter:yn,magFilter:yn}:{};J.map!==null&&J.map.dispose(),J.map=new ul(r.x,r.y,ee),J.map.texture.name=ce.name+".shadowMap",J.camera.updateProjectionMatrix()}n.setRenderTarget(J.map),n.clear();const re=J.getViewportCount();for(let ee=0;ee<re;ee++){const se=J.getViewport(ee);o.set(a.x*se.x,a.y*se.y,a.x*se.z,a.y*se.w),V.viewport(o),J.updateMatrices(ce,ee),i=J.getFrustum(),x(M,I,J.camera,ce,this.type)}J.isPointLightShadow!==!0&&this.type===Us&&_(J,I),J.needsUpdate=!1}v=this.type,m.needsUpdate=!1,n.setRenderTarget(D,E,L)};function _(C,M){const I=e.update(g);h.defines.VSM_SAMPLES!==C.blurSamples&&(h.defines.VSM_SAMPLES=C.blurSamples,f.defines.VSM_SAMPLES=C.blurSamples,h.needsUpdate=!0,f.needsUpdate=!0),C.mapPass===null&&(C.mapPass=new ul(r.x,r.y)),h.uniforms.shadow_pass.value=C.map.texture,h.uniforms.resolution.value=C.mapSize,h.uniforms.radius.value=C.radius,n.setRenderTarget(C.mapPass),n.clear(),n.renderBufferDirect(M,null,I,h,g,null),f.uniforms.shadow_pass.value=C.mapPass.texture,f.uniforms.resolution.value=C.mapSize,f.uniforms.radius.value=C.radius,n.setRenderTarget(C.map),n.clear(),n.renderBufferDirect(M,null,I,f,g,null)}function S(C,M,I,D){let E=null;const L=I.isPointLight===!0?C.customDistanceMaterial:C.customDepthMaterial;if(L!==void 0)E=L;else if(E=I.isPointLight===!0?l:s,n.localClippingEnabled&&M.clipShadows===!0&&Array.isArray(M.clippingPlanes)&&M.clippingPlanes.length!==0||M.displacementMap&&M.displacementScale!==0||M.alphaMap&&M.alphaTest>0||M.map&&M.alphaTest>0){const V=E.uuid,Y=M.uuid;let G=u[V];G===void 0&&(G={},u[V]=G);let W=G[Y];W===void 0&&(W=E.clone(),G[Y]=W,M.addEventListener("dispose",A)),E=W}if(E.visible=M.visible,E.wireframe=M.wireframe,D===Us?E.side=M.shadowSide!==null?M.shadowSide:M.side:E.side=M.shadowSide!==null?M.shadowSide:d[M.side],E.alphaMap=M.alphaMap,E.alphaTest=M.alphaTest,E.map=M.map,E.clipShadows=M.clipShadows,E.clippingPlanes=M.clippingPlanes,E.clipIntersection=M.clipIntersection,E.displacementMap=M.displacementMap,E.displacementScale=M.displacementScale,E.displacementBias=M.displacementBias,E.wireframeLinewidth=M.wireframeLinewidth,E.linewidth=M.linewidth,I.isPointLight===!0&&E.isMeshDistanceMaterial===!0){const V=n.properties.get(E);V.light=I}return E}function x(C,M,I,D,E){if(C.visible===!1)return;if(C.layers.test(M.layers)&&(C.isMesh||C.isLine||C.isPoints)&&(C.castShadow||C.receiveShadow&&E===Us)&&(!C.frustumCulled||i.intersectsObject(C))){C.modelViewMatrix.multiplyMatrices(I.matrixWorldInverse,C.matrixWorld);const Y=e.update(C),G=C.material;if(Array.isArray(G)){const W=Y.groups;for(let q=0,ce=W.length;q<ce;q++){const J=W[q],H=G[J.materialIndex];if(H&&H.visible){const re=S(C,H,D,E);C.onBeforeShadow(n,C,M,I,Y,re,J),n.renderBufferDirect(I,null,Y,re,C,J),C.onAfterShadow(n,C,M,I,Y,re,J)}}}else if(G.visible){const W=S(C,G,D,E);C.onBeforeShadow(n,C,M,I,Y,W,null),n.renderBufferDirect(I,null,Y,W,C,null),C.onAfterShadow(n,C,M,I,Y,W,null)}}const V=C.children;for(let Y=0,G=V.length;Y<G;Y++)x(V[Y],M,I,D,E)}function A(C){C.target.removeEventListener("dispose",A);for(const I in u){const D=u[I],E=C.target.uuid;E in D&&(D[E].dispose(),delete D[E])}}}function rke(n,e,t){const i=t.isWebGL2;function r(){let je=!1;const $2=new P1;let tt=null;const Et=new P1(0,0,0,0);return{setMask:function(Ft){tt!==Ft&&!je&&(n.colorMask(Ft,Ft,Ft,Ft),tt=Ft)},setLocked:function(Ft){je=Ft},setClear:function(Ft,yt,p3,a3,R1){R1===!0&&(Ft*=a3,yt*=a3,p3*=a3),$2.set(Ft,yt,p3,a3),Et.equals($2)===!1&&(n.clearColor(Ft,yt,p3,a3),Et.copy($2))},reset:function(){je=!1,tt=null,Et.set(-1,0,0,0)}}}function a(){let je=!1,$2=null,tt=null,Et=null;return{setTest:function(Ft){Ft?s2(n.DEPTH_TEST):R2(n.DEPTH_TEST)},setMask:function(Ft){$2!==Ft&&!je&&(n.depthMask(Ft),$2=Ft)},setFunc:function(Ft){if(tt!==Ft){switch(Ft){case hPe:n.depthFunc(n.NEVER);break;case fPe:n.depthFunc(n.ALWAYS);break;case pPe:n.depthFunc(n.LESS);break;case Ry:n.depthFunc(n.LEQUAL);break;case mPe:n.depthFunc(n.EQUAL);break;case gPe:n.depthFunc(n.GEQUAL);break;case vPe:n.depthFunc(n.GREATER);break;case yPe:n.depthFunc(n.NOTEQUAL);break;default:n.depthFunc(n.LEQUAL)}tt=Ft}},setLocked:function(Ft){je=Ft},setClear:function(Ft){Et!==Ft&&(n.clearDepth(Ft),Et=Ft)},reset:function(){je=!1,$2=null,tt=null,Et=null}}}function o(){let je=!1,$2=null,tt=null,Et=null,Ft=null,yt=null,p3=null,a3=null,R1=null;return{setTest:function(P3){je||(P3?s2(n.STENCIL_TEST):R2(n.STENCIL_TEST))},setMask:function(P3){$2!==P3&&!je&&(n.stencilMask(P3),$2=P3)},setFunc:function(P3,e1,L1){(tt!==P3||Et!==e1||Ft!==L1)&&(n.stencilFunc(P3,e1,L1),tt=P3,Et=e1,Ft=L1)},setOp:function(P3,e1,L1){(yt!==P3||p3!==e1||a3!==L1)&&(n.stencilOp(P3,e1,L1),yt=P3,p3=e1,a3=L1)},setLocked:function(P3){je=P3},setClear:function(P3){R1!==P3&&(n.clearStencil(P3),R1=P3)},reset:function(){je=!1,$2=null,tt=null,Et=null,Ft=null,yt=null,p3=null,a3=null,R1=null}}}const s=new r,l=new a,u=new o,c=new WeakMap,d=new WeakMap;let h={},f={},p=new WeakMap,g=[],m=null,v=!1,_=null,S=null,x=null,A=null,C=null,M=null,I=null,D=new Yt(0,0,0),E=0,L=!1,V=null,Y=null,G=null,W=null,q=null;const ce=n.getParameter(n.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let J=!1,H=0;const re=n.getParameter(n.VERSION);re.indexOf("WebGL")!==-1?(H=parseFloat(/^WebGL (\d)/.exec(re)[1]),J=H>=1):re.indexOf("OpenGL ES")!==-1&&(H=parseFloat(/^OpenGL ES (\d)/.exec(re)[1]),J=H>=2);let ee=null,se={};const Be=n.getParameter(n.SCISSOR_BOX),we=n.getParameter(n.VIEWPORT),ve=new P1().fromArray(Be),Ke=new P1().fromArray(we);function p2(je,$2,tt,Et){const Ft=new Uint8Array(4),yt=n.createTexture();n.bindTexture(je,yt),n.texParameteri(je,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(je,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let p3=0;p3<tt;p3++)i&&(je===n.TEXTURE_3D||je===n.TEXTURE_2D_ARRAY)?n.texImage3D($2,0,n.RGBA,1,1,Et,0,n.RGBA,n.UNSIGNED_BYTE,Ft):n.texImage2D($2+p3,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,Ft);return yt}const c2={};c2[n.TEXTURE_2D]=p2(n.TEXTURE_2D,n.TEXTURE_2D,1),c2[n.TEXTURE_CUBE_MAP]=p2(n.TEXTURE_CUBE_MAP,n.TEXTURE_CUBE_MAP_POSITIVE_X,6),i&&(c2[n.TEXTURE_2D_ARRAY]=p2(n.TEXTURE_2D_ARRAY,n.TEXTURE_2D_ARRAY,1,1),c2[n.TEXTURE_3D]=p2(n.TEXTURE_3D,n.TEXTURE_3D,1,1)),s.setClear(0,0,0,1),l.setClear(1),u.setClear(0),s2(n.DEPTH_TEST),l.setFunc(Ry),Y2(!1),Ae(fV),s2(n.CULL_FACE),z(k5);function s2(je){h[je]!==!0&&(n.enable(je),h[je]=!0)}function R2(je){h[je]!==!1&&(n.disable(je),h[je]=!1)}function w2(je,$2){return f[je]!==$2?(n.bindFramebuffer(je,$2),f[je]=$2,i&&(je===n.DRAW_FRAMEBUFFER&&(f[n.FRAMEBUFFER]=$2),je===n.FRAMEBUFFER&&(f[n.DRAW_FRAMEBUFFER]=$2)),!0):!1}function Re(je,$2){let tt=g,Et=!1;if(je)if(tt=p.get($2),tt===void 0&&(tt=[],p.set($2,tt)),je.isWebGLMultipleRenderTargets){const Ft=je.texture;if(tt.length!==Ft.length||tt[0]!==n.COLOR_ATTACHMENT0){for(let yt=0,p3=Ft.length;yt<p3;yt++)tt[yt]=n.COLOR_ATTACHMENT0+yt;tt.length=Ft.length,Et=!0}}else tt[0]!==n.COLOR_ATTACHMENT0&&(tt[0]=n.COLOR_ATTACHMENT0,Et=!0);else tt[0]!==n.BACK&&(tt[0]=n.BACK,Et=!0);Et&&(t.isWebGL2?n.drawBuffers(tt):e.get("WEBGL_draw_buffers").drawBuffersWEBGL(tt))}function k2(je){return m!==je?(n.useProgram(je),m=je,!0):!1}const x2={[c5]:n.FUNC_ADD,[QEe]:n.FUNC_SUBTRACT,[ePe]:n.FUNC_REVERSE_SUBTRACT};if(i)x2[gV]=n.MIN,x2[vV]=n.MAX;else{const je=e.get("EXT_blend_minmax");je!==null&&(x2[gV]=je.MIN_EXT,x2[vV]=je.MAX_EXT)}const D2={[tPe]:n.ZERO,[Pee]:n.ONE,[nPe]:n.SRC_COLOR,[GM]:n.SRC_ALPHA,[sPe]:n.SRC_ALPHA_SATURATE,[Ree]:n.DST_COLOR,[rPe]:n.DST_ALPHA,[iPe]:n.ONE_MINUS_SRC_COLOR,[VM]:n.ONE_MINUS_SRC_ALPHA,[oPe]:n.ONE_MINUS_DST_COLOR,[aPe]:n.ONE_MINUS_DST_ALPHA,[lPe]:n.CONSTANT_COLOR,[uPe]:n.ONE_MINUS_CONSTANT_COLOR,[cPe]:n.CONSTANT_ALPHA,[dPe]:n.ONE_MINUS_CONSTANT_ALPHA};function z(je,$2,tt,Et,Ft,yt,p3,a3,R1,P3){if(je===k5){v===!0&&(R2(n.BLEND),v=!1);return}if(v===!1&&(s2(n.BLEND),v=!0),je!==Eee){if(je!==_||P3!==L){if((S!==c5||C!==c5)&&(n.blendEquation(n.FUNC_ADD),S=c5,C=c5),P3)switch(je){case q8:n.blendFuncSeparate(n.ONE,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case Ln:n.blendFunc(n.ONE,n.ONE);break;case pV:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case mV:n.blendFuncSeparate(n.ZERO,n.SRC_COLOR,n.ZERO,n.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",je);break}else switch(je){case q8:n.blendFuncSeparate(n.SRC_ALPHA,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA);break;case Ln:n.blendFunc(n.SRC_ALPHA,n.ONE);break;case pV:n.blendFuncSeparate(n.ZERO,n.ONE_MINUS_SRC_COLOR,n.ZERO,n.ONE);break;case mV:n.blendFunc(n.ZERO,n.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",je);break}x=null,A=null,M=null,I=null,D.set(0,0,0),E=0,_=je,L=P3}return}Ft=Ft||$2,yt=yt||tt,p3=p3||Et,($2!==S||Ft!==C)&&(n.blendEquationSeparate(x2[$2],x2[Ft]),S=$2,C=Ft),(tt!==x||Et!==A||yt!==M||p3!==I)&&(n.blendFuncSeparate(D2[tt],D2[Et],D2[yt],D2[p3]),x=tt,A=Et,M=yt,I=p3),(a3.equals(D)===!1||R1!==E)&&(n.blendColor(a3.r,a3.g,a3.b,R1),D.copy(a3),E=R1),_=je,L=!1}function Q2(je,$2){je.side===o0?R2(n.CULL_FACE):s2(n.CULL_FACE);let tt=je.side===dr;$2&&(tt=!tt),Y2(tt),je.blending===q8&&je.transparent===!1?z(k5):z(je.blending,je.blendEquation,je.blendSrc,je.blendDst,je.blendEquationAlpha,je.blendSrcAlpha,je.blendDstAlpha,je.blendColor,je.blendAlpha,je.premultipliedAlpha),l.setFunc(je.depthFunc),l.setTest(je.depthTest),l.setMask(je.depthWrite),s.setMask(je.colorWrite);const Et=je.stencilWrite;u.setTest(Et),Et&&(u.setMask(je.stencilWriteMask),u.setFunc(je.stencilFunc,je.stencilRef,je.stencilFuncMask),u.setOp(je.stencilFail,je.stencilZFail,je.stencilZPass)),ke(je.polygonOffset,je.polygonOffsetFactor,je.polygonOffsetUnits),je.alphaToCoverage===!0?s2(n.SAMPLE_ALPHA_TO_COVERAGE):R2(n.SAMPLE_ALPHA_TO_COVERAGE)}function Y2(je){V!==je&&(je?n.frontFace(n.CW):n.frontFace(n.CCW),V=je)}function Ae(je){je!==KEe?(s2(n.CULL_FACE),je!==Y&&(je===fV?n.cullFace(n.BACK):je===ZEe?n.cullFace(n.FRONT):n.cullFace(n.FRONT_AND_BACK))):R2(n.CULL_FACE),Y=je}function ge(je){je!==G&&(J&&n.lineWidth(je),G=je)}function ke(je,$2,tt){je?(s2(n.POLYGON_OFFSET_FILL),(W!==$2||q!==tt)&&(n.polygonOffset($2,tt),W=$2,q=tt)):R2(n.POLYGON_OFFSET_FILL)}function d2(je){je?s2(n.SCISSOR_TEST):R2(n.SCISSOR_TEST)}function m2(je){je===void 0&&(je=n.TEXTURE0+ce-1),ee!==je&&(n.activeTexture(je),ee=je)}function Te(je,$2,tt){tt===void 0&&(ee===null?tt=n.TEXTURE0+ce-1:tt=ee);let Et=se[tt];Et===void 0&&(Et={type:void 0,texture:void 0},se[tt]=Et),(Et.type!==je||Et.texture!==$2)&&(ee!==tt&&(n.activeTexture(tt),ee=tt),n.bindTexture(je,$2||c2[je]),Et.type=je,Et.texture=$2)}function ye(){const je=se[ee];je!==void 0&&je.type!==void 0&&(n.bindTexture(je.type,null),je.type=void 0,je.texture=void 0)}function Le(){try{n.compressedTexImage2D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function t2(){try{n.compressedTexImage3D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function Oe(){try{n.texSubImage2D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function T2(){try{n.texSubImage3D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function o2(){try{n.compressedTexSubImage2D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function q2(){try{n.compressedTexSubImage3D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function K2(){try{n.texStorage2D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function st(){try{n.texStorage3D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function lt(){try{n.texImage2D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function rt(){try{n.texImage3D.apply(n,arguments)}catch(je){console.error("THREE.WebGLState:",je)}}function Ut(je){ve.equals(je)===!1&&(n.scissor(je.x,je.y,je.z,je.w),ve.copy(je))}function Qe(je){Ke.equals(je)===!1&&(n.viewport(je.x,je.y,je.z,je.w),Ke.copy(je))}function ot(je,$2){let tt=d.get($2);tt===void 0&&(tt=new WeakMap,d.set($2,tt));let Et=tt.get(je);Et===void 0&&(Et=n.getUniformBlockIndex($2,je.name),tt.set(je,Et))}function vt(je,$2){const Et=d.get($2).get(je);c.get($2)!==Et&&(n.uniformBlockBinding($2,Et,je.__bindingPointIndex),c.set($2,Et))}function Nt(){n.disable(n.BLEND),n.disable(n.CULL_FACE),n.disable(n.DEPTH_TEST),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SCISSOR_TEST),n.disable(n.STENCIL_TEST),n.disable(n.SAMPLE_ALPHA_TO_COVERAGE),n.blendEquation(n.FUNC_ADD),n.blendFunc(n.ONE,n.ZERO),n.blendFuncSeparate(n.ONE,n.ZERO,n.ONE,n.ZERO),n.blendColor(0,0,0,0),n.colorMask(!0,!0,!0,!0),n.clearColor(0,0,0,0),n.depthMask(!0),n.depthFunc(n.LESS),n.clearDepth(1),n.stencilMask(4294967295),n.stencilFunc(n.ALWAYS,0,4294967295),n.stencilOp(n.KEEP,n.KEEP,n.KEEP),n.clearStencil(0),n.cullFace(n.BACK),n.frontFace(n.CCW),n.polygonOffset(0,0),n.activeTexture(n.TEXTURE0),n.bindFramebuffer(n.FRAMEBUFFER,null),i===!0&&(n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),n.bindFramebuffer(n.READ_FRAMEBUFFER,null)),n.useProgram(null),n.lineWidth(1),n.scissor(0,0,n.canvas.width,n.canvas.height),n.viewport(0,0,n.canvas.width,n.canvas.height),h={},ee=null,se={},f={},p=new WeakMap,g=[],m=null,v=!1,_=null,S=null,x=null,A=null,C=null,M=null,I=null,D=new Yt(0,0,0),E=0,L=!1,V=null,Y=null,G=null,W=null,q=null,ve.set(0,0,n.canvas.width,n.canvas.height),Ke.set(0,0,n.canvas.width,n.canvas.height),s.reset(),l.reset(),u.reset()}return{buffers:{color:s,depth:l,stencil:u},enable:s2,disable:R2,bindFramebuffer:w2,drawBuffers:Re,useProgram:k2,setBlending:z,setMaterial:Q2,setFlipSided:Y2,setCullFace:Ae,setLineWidth:ge,setPolygonOffset:ke,setScissorTest:d2,activeTexture:m2,bindTexture:Te,unbindTexture:ye,compressedTexImage2D:Le,compressedTexImage3D:t2,texImage2D:lt,texImage3D:rt,updateUBOMapping:ot,uniformBlockBinding:vt,texStorage2D:K2,texStorage3D:st,texSubImage2D:Oe,texSubImage3D:T2,compressedTexSubImage2D:o2,compressedTexSubImage3D:q2,scissor:Ut,viewport:Qe,reset:Nt}}function ake(n,e,t,i,r,a,o){const s=r.isWebGL2,l=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,u=typeof navigator=="undefined"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new WeakMap;let d;const h=new WeakMap;let f=!1;try{f=typeof OffscreenCanvas!="undefined"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch(Ae){}function p(Ae,ge){return f?new OffscreenCanvas(Ae,ge):Eh("canvas")}function g(Ae,ge,ke,d2){let m2=1;if((Ae.width>d2||Ae.height>d2)&&(m2=d2/Math.max(Ae.width,Ae.height)),m2<1||ge===!0)if(typeof HTMLImageElement!="undefined"&&Ae instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&Ae instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&Ae instanceof ImageBitmap){const Te=ge?Fy:Math.floor,ye=Te(m2*Ae.width),Le=Te(m2*Ae.height);d===void 0&&(d=p(ye,Le));const t2=ke?p(ye,Le):d;return t2.width=ye,t2.height=Le,t2.getContext("2d").drawImage(Ae,0,0,ye,Le),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Ae.width+"x"+Ae.height+") to ("+ye+"x"+Le+")."),t2}else return"data"in Ae&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Ae.width+"x"+Ae.height+")."),Ae;return Ae}function m(Ae){return XM(Ae.width)&&XM(Ae.height)}function v(Ae){return s?!1:Ae.wrapS!==yi||Ae.wrapT!==yi||Ae.minFilter!==yn&&Ae.minFilter!==ln}function _(Ae,ge){return Ae.generateMipmaps&&ge&&Ae.minFilter!==yn&&Ae.minFilter!==ln}function S(Ae){n.generateMipmap(Ae)}function x(Ae,ge,ke,d2,m2=!1){if(s===!1)return ge;if(Ae!==null){if(n[Ae]!==void 0)return n[Ae];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+Ae+"'")}let Te=ge;if(ge===n.RED&&(ke===n.FLOAT&&(Te=n.R32F),ke===n.HALF_FLOAT&&(Te=n.R16F),ke===n.UNSIGNED_BYTE&&(Te=n.R8)),ge===n.RED_INTEGER&&(ke===n.UNSIGNED_BYTE&&(Te=n.R8UI),ke===n.UNSIGNED_SHORT&&(Te=n.R16UI),ke===n.UNSIGNED_INT&&(Te=n.R32UI),ke===n.BYTE&&(Te=n.R8I),ke===n.SHORT&&(Te=n.R16I),ke===n.INT&&(Te=n.R32I)),ge===n.RG&&(ke===n.FLOAT&&(Te=n.RG32F),ke===n.HALF_FLOAT&&(Te=n.RG16F),ke===n.UNSIGNED_BYTE&&(Te=n.RG8)),ge===n.RGBA){const ye=m2?Iy:z1.getTransfer(d2);ke===n.FLOAT&&(Te=n.RGBA32F),ke===n.HALF_FLOAT&&(Te=n.RGBA16F),ke===n.UNSIGNED_BYTE&&(Te=ye===_0?n.SRGB8_ALPHA8:n.RGBA8),ke===n.UNSIGNED_SHORT_4_4_4_4&&(Te=n.RGBA4),ke===n.UNSIGNED_SHORT_5_5_5_1&&(Te=n.RGB5_A1)}return(Te===n.R16F||Te===n.R32F||Te===n.RG16F||Te===n.RG32F||Te===n.RGBA16F||Te===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Te}function A(Ae,ge,ke){return _(Ae,ke)===!0||Ae.isFramebufferTexture&&Ae.minFilter!==yn&&Ae.minFilter!==ln?Math.log2(Math.max(ge.width,ge.height))+1:Ae.mipmaps!==void 0&&Ae.mipmaps.length>0?Ae.mipmaps.length:Ae.isCompressedTexture&&Array.isArray(Ae.image)?ge.mipmaps.length:1}function C(Ae){return Ae===yn||Ae===jM||Ae===H4?n.NEAREST:n.LINEAR}function M(Ae){const ge=Ae.target;ge.removeEventListener("dispose",M),D(ge),ge.isVideoTexture&&c.delete(ge)}function I(Ae){const ge=Ae.target;ge.removeEventListener("dispose",I),L(ge)}function D(Ae){const ge=i.get(Ae);if(ge.__webglInit===void 0)return;const ke=Ae.source,d2=h.get(ke);if(d2){const m2=d2[ge.__cacheKey];m2.usedTimes--,m2.usedTimes===0&&E(Ae),Object.keys(d2).length===0&&h.delete(ke)}i.remove(Ae)}function E(Ae){const ge=i.get(Ae);n.deleteTexture(ge.__webglTexture);const ke=Ae.source,d2=h.get(ke);delete d2[ge.__cacheKey],o.memory.textures--}function L(Ae){const ge=Ae.texture,ke=i.get(Ae),d2=i.get(ge);if(d2.__webglTexture!==void 0&&(n.deleteTexture(d2.__webglTexture),o.memory.textures--),Ae.depthTexture&&Ae.depthTexture.dispose(),Ae.isWebGLCubeRenderTarget)for(let m2=0;m2<6;m2++){if(Array.isArray(ke.__webglFramebuffer[m2]))for(let Te=0;Te<ke.__webglFramebuffer[m2].length;Te++)n.deleteFramebuffer(ke.__webglFramebuffer[m2][Te]);else n.deleteFramebuffer(ke.__webglFramebuffer[m2]);ke.__webglDepthbuffer&&n.deleteRenderbuffer(ke.__webglDepthbuffer[m2])}else{if(Array.isArray(ke.__webglFramebuffer))for(let m2=0;m2<ke.__webglFramebuffer.length;m2++)n.deleteFramebuffer(ke.__webglFramebuffer[m2]);else n.deleteFramebuffer(ke.__webglFramebuffer);if(ke.__webglDepthbuffer&&n.deleteRenderbuffer(ke.__webglDepthbuffer),ke.__webglMultisampledFramebuffer&&n.deleteFramebuffer(ke.__webglMultisampledFramebuffer),ke.__webglColorRenderbuffer)for(let m2=0;m2<ke.__webglColorRenderbuffer.length;m2++)ke.__webglColorRenderbuffer[m2]&&n.deleteRenderbuffer(ke.__webglColorRenderbuffer[m2]);ke.__webglDepthRenderbuffer&&n.deleteRenderbuffer(ke.__webglDepthRenderbuffer)}if(Ae.isWebGLMultipleRenderTargets)for(let m2=0,Te=ge.length;m2<Te;m2++){const ye=i.get(ge[m2]);ye.__webglTexture&&(n.deleteTexture(ye.__webglTexture),o.memory.textures--),i.remove(ge[m2])}i.remove(ge),i.remove(Ae)}let V=0;function Y(){V=0}function G(){const Ae=V;return Ae>=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+Ae+" texture units while this GPU supports only "+r.maxTextures),V+=1,Ae}function W(Ae){const ge=[];return ge.push(Ae.wrapS),ge.push(Ae.wrapT),ge.push(Ae.wrapR||0),ge.push(Ae.magFilter),ge.push(Ae.minFilter),ge.push(Ae.anisotropy),ge.push(Ae.internalFormat),ge.push(Ae.format),ge.push(Ae.type),ge.push(Ae.generateMipmaps),ge.push(Ae.premultiplyAlpha),ge.push(Ae.flipY),ge.push(Ae.unpackAlignment),ge.push(Ae.colorSpace),ge.join()}function q(Ae,ge){const ke=i.get(Ae);if(Ae.isVideoTexture&&Q2(Ae),Ae.isRenderTargetTexture===!1&&Ae.version>0&&ke.__version!==Ae.version){const d2=Ae.image;if(d2===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(d2.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ve(ke,Ae,ge);return}}t.bindTexture(n.TEXTURE_2D,ke.__webglTexture,n.TEXTURE0+ge)}function ce(Ae,ge){const ke=i.get(Ae);if(Ae.version>0&&ke.__version!==Ae.version){ve(ke,Ae,ge);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ke.__webglTexture,n.TEXTURE0+ge)}function J(Ae,ge){const ke=i.get(Ae);if(Ae.version>0&&ke.__version!==Ae.version){ve(ke,Ae,ge);return}t.bindTexture(n.TEXTURE_3D,ke.__webglTexture,n.TEXTURE0+ge)}function H(Ae,ge){const ke=i.get(Ae);if(Ae.version>0&&ke.__version!==Ae.version){Ke(ke,Ae,ge);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ke.__webglTexture,n.TEXTURE0+ge)}const re={[In]:n.REPEAT,[yi]:n.CLAMP_TO_EDGE,[Ly]:n.MIRRORED_REPEAT},ee={[yn]:n.NEAREST,[jM]:n.NEAREST_MIPMAP_NEAREST,[H4]:n.NEAREST_MIPMAP_LINEAR,[ln]:n.LINEAR,[uv]:n.LINEAR_MIPMAP_NEAREST,[Xs]:n.LINEAR_MIPMAP_LINEAR},se={[GPe]:n.NEVER,[YPe]:n.ALWAYS,[VPe]:n.LESS,[Gee]:n.LEQUAL,[HPe]:n.EQUAL,[$Pe]:n.GEQUAL,[WPe]:n.GREATER,[jPe]:n.NOTEQUAL};function Be(Ae,ge,ke){if(ge.type===$o&&e.has("OES_texture_float_linear")===!1&&(ge.magFilter===ln||ge.magFilter===uv||ge.magFilter===H4||ge.magFilter===Xs||ge.minFilter===ln||ge.minFilter===uv||ge.minFilter===H4||ge.minFilter===Xs)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ke?(n.texParameteri(Ae,n.TEXTURE_WRAP_S,re[ge.wrapS]),n.texParameteri(Ae,n.TEXTURE_WRAP_T,re[ge.wrapT]),(Ae===n.TEXTURE_3D||Ae===n.TEXTURE_2D_ARRAY)&&n.texParameteri(Ae,n.TEXTURE_WRAP_R,re[ge.wrapR]),n.texParameteri(Ae,n.TEXTURE_MAG_FILTER,ee[ge.magFilter]),n.texParameteri(Ae,n.TEXTURE_MIN_FILTER,ee[ge.minFilter])):(n.texParameteri(Ae,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(Ae,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(Ae===n.TEXTURE_3D||Ae===n.TEXTURE_2D_ARRAY)&&n.texParameteri(Ae,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(ge.wrapS!==yi||ge.wrapT!==yi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(Ae,n.TEXTURE_MAG_FILTER,C(ge.magFilter)),n.texParameteri(Ae,n.TEXTURE_MIN_FILTER,C(ge.minFilter)),ge.minFilter!==yn&&ge.minFilter!==ln&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),ge.compareFunction&&(n.texParameteri(Ae,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(Ae,n.TEXTURE_COMPARE_FUNC,se[ge.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const d2=e.get("EXT_texture_filter_anisotropic");if(ge.magFilter===yn||ge.minFilter!==H4&&ge.minFilter!==Xs||ge.type===$o&&e.has("OES_texture_float_linear")===!1||s===!1&&ge.type===Ch&&e.has("OES_texture_half_float_linear")===!1)return;(ge.anisotropy>1||i.get(ge).__currentAnisotropy)&&(n.texParameterf(Ae,d2.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(ge.anisotropy,r.getMaxAnisotropy())),i.get(ge).__currentAnisotropy=ge.anisotropy)}}function we(Ae,ge){let ke=!1;Ae.__webglInit===void 0&&(Ae.__webglInit=!0,ge.addEventListener("dispose",M));const d2=ge.source;let m2=h.get(d2);m2===void 0&&(m2={},h.set(d2,m2));const Te=W(ge);if(Te!==Ae.__cacheKey){m2[Te]===void 0&&(m2[Te]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ke=!0),m2[Te].usedTimes++;const ye=m2[Ae.__cacheKey];ye!==void 0&&(m2[Ae.__cacheKey].usedTimes--,ye.usedTimes===0&&E(ge)),Ae.__cacheKey=Te,Ae.__webglTexture=m2[Te].texture}return ke}function ve(Ae,ge,ke){let d2=n.TEXTURE_2D;(ge.isDataArrayTexture||ge.isCompressedArrayTexture)&&(d2=n.TEXTURE_2D_ARRAY),ge.isData3DTexture&&(d2=n.TEXTURE_3D);const m2=we(Ae,ge),Te=ge.source;t.bindTexture(d2,Ae.__webglTexture,n.TEXTURE0+ke);const ye=i.get(Te);if(Te.version!==ye.__version||m2===!0){t.activeTexture(n.TEXTURE0+ke);const Le=z1.getPrimaries(z1.workingColorSpace),t2=ge.colorSpace===Ea?null:z1.getPrimaries(ge.colorSpace),Oe=ge.colorSpace===Ea||Le===t2?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,ge.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ge.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,ge.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,Oe);const T2=v(ge)&&m(ge.image)===!1;let o2=g(ge.image,T2,!1,r.maxTextureSize);o2=Y2(ge,o2);const q2=m(o2)||s,K2=a.convert(ge.format,ge.colorSpace);let st=a.convert(ge.type),lt=x(ge.internalFormat,K2,st,ge.colorSpace,ge.isVideoTexture);Be(d2,ge,q2);let rt;const Ut=ge.mipmaps,Qe=s&&ge.isVideoTexture!==!0&<!==Bee,ot=ye.__version===void 0||m2===!0,vt=Te.dataReady,Nt=A(ge,o2,q2);if(ge.isDepthTexture)lt=n.DEPTH_COMPONENT,s?ge.type===$o?lt=n.DEPTH_COMPONENT32F:ge.type===A5?lt=n.DEPTH_COMPONENT24:ge.type===X8?lt=n.DEPTH24_STENCIL8:lt=n.DEPTH_COMPONENT16:ge.type===$o&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),ge.format===K8&<===n.DEPTH_COMPONENT&&ge.type!==dL&&ge.type!==A5&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),ge.type=A5,st=a.convert(ge.type)),ge.format===W7&<===n.DEPTH_COMPONENT&&(lt=n.DEPTH_STENCIL,ge.type!==X8&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),ge.type=X8,st=a.convert(ge.type))),ot&&(Qe?t.texStorage2D(n.TEXTURE_2D,1,lt,o2.width,o2.height):t.texImage2D(n.TEXTURE_2D,0,lt,o2.width,o2.height,0,K2,st,null));else if(ge.isDataTexture)if(Ut.length>0&&q2){Qe&&ot&&t.texStorage2D(n.TEXTURE_2D,Nt,lt,Ut[0].width,Ut[0].height);for(let je=0,$2=Ut.length;je<$2;je++)rt=Ut[je],Qe?vt&&t.texSubImage2D(n.TEXTURE_2D,je,0,0,rt.width,rt.height,K2,st,rt.data):t.texImage2D(n.TEXTURE_2D,je,lt,rt.width,rt.height,0,K2,st,rt.data);ge.generateMipmaps=!1}else Qe?(ot&&t.texStorage2D(n.TEXTURE_2D,Nt,lt,o2.width,o2.height),vt&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,o2.width,o2.height,K2,st,o2.data)):t.texImage2D(n.TEXTURE_2D,0,lt,o2.width,o2.height,0,K2,st,o2.data);else if(ge.isCompressedTexture)if(ge.isCompressedArrayTexture){Qe&&ot&&t.texStorage3D(n.TEXTURE_2D_ARRAY,Nt,lt,Ut[0].width,Ut[0].height,o2.depth);for(let je=0,$2=Ut.length;je<$2;je++)rt=Ut[je],ge.format!==Ma?K2!==null?Qe?vt&&t.compressedTexSubImage3D(n.TEXTURE_2D_ARRAY,je,0,0,0,rt.width,rt.height,o2.depth,K2,rt.data,0,0):t.compressedTexImage3D(n.TEXTURE_2D_ARRAY,je,lt,rt.width,rt.height,o2.depth,0,rt.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):Qe?vt&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,je,0,0,0,rt.width,rt.height,o2.depth,K2,st,rt.data):t.texImage3D(n.TEXTURE_2D_ARRAY,je,lt,rt.width,rt.height,o2.depth,0,K2,st,rt.data)}else{Qe&&ot&&t.texStorage2D(n.TEXTURE_2D,Nt,lt,Ut[0].width,Ut[0].height);for(let je=0,$2=Ut.length;je<$2;je++)rt=Ut[je],ge.format!==Ma?K2!==null?Qe?vt&&t.compressedTexSubImage2D(n.TEXTURE_2D,je,0,0,rt.width,rt.height,K2,rt.data):t.compressedTexImage2D(n.TEXTURE_2D,je,lt,rt.width,rt.height,0,rt.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):Qe?vt&&t.texSubImage2D(n.TEXTURE_2D,je,0,0,rt.width,rt.height,K2,st,rt.data):t.texImage2D(n.TEXTURE_2D,je,lt,rt.width,rt.height,0,K2,st,rt.data)}else if(ge.isDataArrayTexture)Qe?(ot&&t.texStorage3D(n.TEXTURE_2D_ARRAY,Nt,lt,o2.width,o2.height,o2.depth),vt&&t.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,0,o2.width,o2.height,o2.depth,K2,st,o2.data)):t.texImage3D(n.TEXTURE_2D_ARRAY,0,lt,o2.width,o2.height,o2.depth,0,K2,st,o2.data);else if(ge.isData3DTexture)Qe?(ot&&t.texStorage3D(n.TEXTURE_3D,Nt,lt,o2.width,o2.height,o2.depth),vt&&t.texSubImage3D(n.TEXTURE_3D,0,0,0,0,o2.width,o2.height,o2.depth,K2,st,o2.data)):t.texImage3D(n.TEXTURE_3D,0,lt,o2.width,o2.height,o2.depth,0,K2,st,o2.data);else if(ge.isFramebufferTexture){if(ot)if(Qe)t.texStorage2D(n.TEXTURE_2D,Nt,lt,o2.width,o2.height);else{let je=o2.width,$2=o2.height;for(let tt=0;tt<Nt;tt++)t.texImage2D(n.TEXTURE_2D,tt,lt,je,$2,0,K2,st,null),je>>=1,$2>>=1}}else if(Ut.length>0&&q2){Qe&&ot&&t.texStorage2D(n.TEXTURE_2D,Nt,lt,Ut[0].width,Ut[0].height);for(let je=0,$2=Ut.length;je<$2;je++)rt=Ut[je],Qe?vt&&t.texSubImage2D(n.TEXTURE_2D,je,0,0,K2,st,rt):t.texImage2D(n.TEXTURE_2D,je,lt,K2,st,rt);ge.generateMipmaps=!1}else Qe?(ot&&t.texStorage2D(n.TEXTURE_2D,Nt,lt,o2.width,o2.height),vt&&t.texSubImage2D(n.TEXTURE_2D,0,0,0,K2,st,o2)):t.texImage2D(n.TEXTURE_2D,0,lt,K2,st,o2);_(ge,q2)&&S(d2),ye.__version=Te.version,ge.onUpdate&&ge.onUpdate(ge)}Ae.__version=ge.version}function Ke(Ae,ge,ke){if(ge.image.length!==6)return;const d2=we(Ae,ge),m2=ge.source;t.bindTexture(n.TEXTURE_CUBE_MAP,Ae.__webglTexture,n.TEXTURE0+ke);const Te=i.get(m2);if(m2.version!==Te.__version||d2===!0){t.activeTexture(n.TEXTURE0+ke);const ye=z1.getPrimaries(z1.workingColorSpace),Le=ge.colorSpace===Ea?null:z1.getPrimaries(ge.colorSpace),t2=ge.colorSpace===Ea||ye===Le?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,ge.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ge.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,ge.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,t2);const Oe=ge.isCompressedTexture||ge.image[0].isCompressedTexture,T2=ge.image[0]&&ge.image[0].isDataTexture,o2=[];for(let je=0;je<6;je++)!Oe&&!T2?o2[je]=g(ge.image[je],!1,!0,r.maxCubemapSize):o2[je]=T2?ge.image[je].image:ge.image[je],o2[je]=Y2(ge,o2[je]);const q2=o2[0],K2=m(q2)||s,st=a.convert(ge.format,ge.colorSpace),lt=a.convert(ge.type),rt=x(ge.internalFormat,st,lt,ge.colorSpace),Ut=s&&ge.isVideoTexture!==!0,Qe=Te.__version===void 0||d2===!0,ot=m2.dataReady;let vt=A(ge,q2,K2);Be(n.TEXTURE_CUBE_MAP,ge,K2);let Nt;if(Oe){Ut&&Qe&&t.texStorage2D(n.TEXTURE_CUBE_MAP,vt,rt,q2.width,q2.height);for(let je=0;je<6;je++){Nt=o2[je].mipmaps;for(let $2=0;$2<Nt.length;$2++){const tt=Nt[$2];ge.format!==Ma?st!==null?Ut?ot&&t.compressedTexSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,$2,0,0,tt.width,tt.height,st,tt.data):t.compressedTexImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,$2,rt,tt.width,tt.height,0,tt.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):Ut?ot&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,$2,0,0,tt.width,tt.height,st,lt,tt.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,$2,rt,tt.width,tt.height,0,st,lt,tt.data)}}}else{Nt=ge.mipmaps,Ut&&Qe&&(Nt.length>0&&vt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,vt,rt,o2[0].width,o2[0].height));for(let je=0;je<6;je++)if(T2){Ut?ot&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,0,0,0,o2[je].width,o2[je].height,st,lt,o2[je].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,0,rt,o2[je].width,o2[je].height,0,st,lt,o2[je].data);for(let $2=0;$2<Nt.length;$2++){const Et=Nt[$2].image[je].image;Ut?ot&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,$2+1,0,0,Et.width,Et.height,st,lt,Et.data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,$2+1,rt,Et.width,Et.height,0,st,lt,Et.data)}}else{Ut?ot&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,0,0,0,st,lt,o2[je]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,0,rt,st,lt,o2[je]);for(let $2=0;$2<Nt.length;$2++){const tt=Nt[$2];Ut?ot&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,$2+1,0,0,st,lt,tt.image[je]):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+je,$2+1,rt,st,lt,tt.image[je])}}}_(ge,K2)&&S(n.TEXTURE_CUBE_MAP),Te.__version=m2.version,ge.onUpdate&&ge.onUpdate(ge)}Ae.__version=ge.version}function p2(Ae,ge,ke,d2,m2,Te){const ye=a.convert(ke.format,ke.colorSpace),Le=a.convert(ke.type),t2=x(ke.internalFormat,ye,Le,ke.colorSpace);if(!i.get(ge).__hasExternalTextures){const T2=Math.max(1,ge.width>>Te),o2=Math.max(1,ge.height>>Te);m2===n.TEXTURE_3D||m2===n.TEXTURE_2D_ARRAY?t.texImage3D(m2,Te,t2,T2,o2,ge.depth,0,ye,Le,null):t.texImage2D(m2,Te,t2,T2,o2,0,ye,Le,null)}t.bindFramebuffer(n.FRAMEBUFFER,Ae),z(ge)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,d2,m2,i.get(ke).__webglTexture,0,D2(ge)):(m2===n.TEXTURE_2D||m2>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&m2<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,d2,m2,i.get(ke).__webglTexture,Te),t.bindFramebuffer(n.FRAMEBUFFER,null)}function c2(Ae,ge,ke){if(n.bindRenderbuffer(n.RENDERBUFFER,Ae),ge.depthBuffer&&!ge.stencilBuffer){let d2=s===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(ke||z(ge)){const m2=ge.depthTexture;m2&&m2.isDepthTexture&&(m2.type===$o?d2=n.DEPTH_COMPONENT32F:m2.type===A5&&(d2=n.DEPTH_COMPONENT24));const Te=D2(ge);z(ge)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Te,d2,ge.width,ge.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Te,d2,ge.width,ge.height)}else n.renderbufferStorage(n.RENDERBUFFER,d2,ge.width,ge.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,Ae)}else if(ge.depthBuffer&&ge.stencilBuffer){const d2=D2(ge);ke&&z(ge)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,d2,n.DEPTH24_STENCIL8,ge.width,ge.height):z(ge)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,d2,n.DEPTH24_STENCIL8,ge.width,ge.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,ge.width,ge.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,Ae)}else{const d2=ge.isWebGLMultipleRenderTargets===!0?ge.texture:[ge.texture];for(let m2=0;m2<d2.length;m2++){const Te=d2[m2],ye=a.convert(Te.format,Te.colorSpace),Le=a.convert(Te.type),t2=x(Te.internalFormat,ye,Le,Te.colorSpace),Oe=D2(ge);ke&&z(ge)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Oe,t2,ge.width,ge.height):z(ge)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Oe,t2,ge.width,ge.height):n.renderbufferStorage(n.RENDERBUFFER,t2,ge.width,ge.height)}}n.bindRenderbuffer(n.RENDERBUFFER,null)}function s2(Ae,ge){if(ge&&ge.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(n.FRAMEBUFFER,Ae),!(ge.depthTexture&&ge.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!i.get(ge.depthTexture).__webglTexture||ge.depthTexture.image.width!==ge.width||ge.depthTexture.image.height!==ge.height)&&(ge.depthTexture.image.width=ge.width,ge.depthTexture.image.height=ge.height,ge.depthTexture.needsUpdate=!0),q(ge.depthTexture,0);const d2=i.get(ge.depthTexture).__webglTexture,m2=D2(ge);if(ge.depthTexture.format===K8)z(ge)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,d2,0,m2):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,d2,0);else if(ge.depthTexture.format===W7)z(ge)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,d2,0,m2):n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.TEXTURE_2D,d2,0);else throw new Error("Unknown depthTexture format")}function R2(Ae){const ge=i.get(Ae),ke=Ae.isWebGLCubeRenderTarget===!0;if(Ae.depthTexture&&!ge.__autoAllocateDepthBuffer){if(ke)throw new Error("target.depthTexture not supported in Cube render targets");s2(ge.__webglFramebuffer,Ae)}else if(ke){ge.__webglDepthbuffer=[];for(let d2=0;d2<6;d2++)t.bindFramebuffer(n.FRAMEBUFFER,ge.__webglFramebuffer[d2]),ge.__webglDepthbuffer[d2]=n.createRenderbuffer(),c2(ge.__webglDepthbuffer[d2],Ae,!1)}else t.bindFramebuffer(n.FRAMEBUFFER,ge.__webglFramebuffer),ge.__webglDepthbuffer=n.createRenderbuffer(),c2(ge.__webglDepthbuffer,Ae,!1);t.bindFramebuffer(n.FRAMEBUFFER,null)}function w2(Ae,ge,ke){const d2=i.get(Ae);ge!==void 0&&p2(d2.__webglFramebuffer,Ae,Ae.texture,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,0),ke!==void 0&&R2(Ae)}function Re(Ae){const ge=Ae.texture,ke=i.get(Ae),d2=i.get(ge);Ae.addEventListener("dispose",I),Ae.isWebGLMultipleRenderTargets!==!0&&(d2.__webglTexture===void 0&&(d2.__webglTexture=n.createTexture()),d2.__version=ge.version,o.memory.textures++);const m2=Ae.isWebGLCubeRenderTarget===!0,Te=Ae.isWebGLMultipleRenderTargets===!0,ye=m(Ae)||s;if(m2){ke.__webglFramebuffer=[];for(let Le=0;Le<6;Le++)if(s&&ge.mipmaps&&ge.mipmaps.length>0){ke.__webglFramebuffer[Le]=[];for(let t2=0;t2<ge.mipmaps.length;t2++)ke.__webglFramebuffer[Le][t2]=n.createFramebuffer()}else ke.__webglFramebuffer[Le]=n.createFramebuffer()}else{if(s&&ge.mipmaps&&ge.mipmaps.length>0){ke.__webglFramebuffer=[];for(let Le=0;Le<ge.mipmaps.length;Le++)ke.__webglFramebuffer[Le]=n.createFramebuffer()}else ke.__webglFramebuffer=n.createFramebuffer();if(Te)if(r.drawBuffers){const Le=Ae.texture;for(let t2=0,Oe=Le.length;t2<Oe;t2++){const T2=i.get(Le[t2]);T2.__webglTexture===void 0&&(T2.__webglTexture=n.createTexture(),o.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(s&&Ae.samples>0&&z(Ae)===!1){const Le=Te?ge:[ge];ke.__webglMultisampledFramebuffer=n.createFramebuffer(),ke.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ke.__webglMultisampledFramebuffer);for(let t2=0;t2<Le.length;t2++){const Oe=Le[t2];ke.__webglColorRenderbuffer[t2]=n.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,ke.__webglColorRenderbuffer[t2]);const T2=a.convert(Oe.format,Oe.colorSpace),o2=a.convert(Oe.type),q2=x(Oe.internalFormat,T2,o2,Oe.colorSpace,Ae.isXRRenderTarget===!0),K2=D2(Ae);n.renderbufferStorageMultisample(n.RENDERBUFFER,K2,q2,Ae.width,Ae.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+t2,n.RENDERBUFFER,ke.__webglColorRenderbuffer[t2])}n.bindRenderbuffer(n.RENDERBUFFER,null),Ae.depthBuffer&&(ke.__webglDepthRenderbuffer=n.createRenderbuffer(),c2(ke.__webglDepthRenderbuffer,Ae,!0)),t.bindFramebuffer(n.FRAMEBUFFER,null)}}if(m2){t.bindTexture(n.TEXTURE_CUBE_MAP,d2.__webglTexture),Be(n.TEXTURE_CUBE_MAP,ge,ye);for(let Le=0;Le<6;Le++)if(s&&ge.mipmaps&&ge.mipmaps.length>0)for(let t2=0;t2<ge.mipmaps.length;t2++)p2(ke.__webglFramebuffer[Le][t2],Ae,ge,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+Le,t2);else p2(ke.__webglFramebuffer[Le],Ae,ge,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+Le,0);_(ge,ye)&&S(n.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(Te){const Le=Ae.texture;for(let t2=0,Oe=Le.length;t2<Oe;t2++){const T2=Le[t2],o2=i.get(T2);t.bindTexture(n.TEXTURE_2D,o2.__webglTexture),Be(n.TEXTURE_2D,T2,ye),p2(ke.__webglFramebuffer,Ae,T2,n.COLOR_ATTACHMENT0+t2,n.TEXTURE_2D,0),_(T2,ye)&&S(n.TEXTURE_2D)}t.unbindTexture()}else{let Le=n.TEXTURE_2D;if((Ae.isWebGL3DRenderTarget||Ae.isWebGLArrayRenderTarget)&&(s?Le=Ae.isWebGL3DRenderTarget?n.TEXTURE_3D:n.TEXTURE_2D_ARRAY:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),t.bindTexture(Le,d2.__webglTexture),Be(Le,ge,ye),s&&ge.mipmaps&&ge.mipmaps.length>0)for(let t2=0;t2<ge.mipmaps.length;t2++)p2(ke.__webglFramebuffer[t2],Ae,ge,n.COLOR_ATTACHMENT0,Le,t2);else p2(ke.__webglFramebuffer,Ae,ge,n.COLOR_ATTACHMENT0,Le,0);_(ge,ye)&&S(Le),t.unbindTexture()}Ae.depthBuffer&&R2(Ae)}function k2(Ae){const ge=m(Ae)||s,ke=Ae.isWebGLMultipleRenderTargets===!0?Ae.texture:[Ae.texture];for(let d2=0,m2=ke.length;d2<m2;d2++){const Te=ke[d2];if(_(Te,ge)){const ye=Ae.isWebGLCubeRenderTarget?n.TEXTURE_CUBE_MAP:n.TEXTURE_2D,Le=i.get(Te).__webglTexture;t.bindTexture(ye,Le),S(ye),t.unbindTexture()}}}function x2(Ae){if(s&&Ae.samples>0&&z(Ae)===!1){const ge=Ae.isWebGLMultipleRenderTargets?Ae.texture:[Ae.texture],ke=Ae.width,d2=Ae.height;let m2=n.COLOR_BUFFER_BIT;const Te=[],ye=Ae.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Le=i.get(Ae),t2=Ae.isWebGLMultipleRenderTargets===!0;if(t2)for(let Oe=0;Oe<ge.length;Oe++)t.bindFramebuffer(n.FRAMEBUFFER,Le.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.RENDERBUFFER,null),t.bindFramebuffer(n.FRAMEBUFFER,Le.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.TEXTURE_2D,null,0);t.bindFramebuffer(n.READ_FRAMEBUFFER,Le.__webglMultisampledFramebuffer),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Le.__webglFramebuffer);for(let Oe=0;Oe<ge.length;Oe++){Te.push(n.COLOR_ATTACHMENT0+Oe),Ae.depthBuffer&&Te.push(ye);const T2=Le.__ignoreDepthValues!==void 0?Le.__ignoreDepthValues:!1;if(T2===!1&&(Ae.depthBuffer&&(m2|=n.DEPTH_BUFFER_BIT),Ae.stencilBuffer&&(m2|=n.STENCIL_BUFFER_BIT)),t2&&n.framebufferRenderbuffer(n.READ_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,Le.__webglColorRenderbuffer[Oe]),T2===!0&&(n.invalidateFramebuffer(n.READ_FRAMEBUFFER,[ye]),n.invalidateFramebuffer(n.DRAW_FRAMEBUFFER,[ye])),t2){const o2=i.get(ge[Oe]).__webglTexture;n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,o2,0)}n.blitFramebuffer(0,0,ke,d2,0,0,ke,d2,m2,n.NEAREST),u&&n.invalidateFramebuffer(n.READ_FRAMEBUFFER,Te)}if(t.bindFramebuffer(n.READ_FRAMEBUFFER,null),t.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),t2)for(let Oe=0;Oe<ge.length;Oe++){t.bindFramebuffer(n.FRAMEBUFFER,Le.__webglMultisampledFramebuffer),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.RENDERBUFFER,Le.__webglColorRenderbuffer[Oe]);const T2=i.get(ge[Oe]).__webglTexture;t.bindFramebuffer(n.FRAMEBUFFER,Le.__webglFramebuffer),n.framebufferTexture2D(n.DRAW_FRAMEBUFFER,n.COLOR_ATTACHMENT0+Oe,n.TEXTURE_2D,T2,0)}t.bindFramebuffer(n.DRAW_FRAMEBUFFER,Le.__webglMultisampledFramebuffer)}}function D2(Ae){return Math.min(r.maxSamples,Ae.samples)}function z(Ae){const ge=i.get(Ae);return s&&Ae.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&ge.__useRenderToTexture!==!1}function Q2(Ae){const ge=o.render.frame;c.get(Ae)!==ge&&(c.set(Ae,ge),Ae.update())}function Y2(Ae,ge){const ke=Ae.colorSpace,d2=Ae.format,m2=Ae.type;return Ae.isCompressedTexture===!0||Ae.isVideoTexture===!0||Ae.format===qM||ke!==wn&&ke!==Ea&&(z1.getTransfer(ke)===_0?s===!1?e.has("EXT_sRGB")===!0&&d2===Ma?(Ae.format=qM,Ae.minFilter=ln,Ae.generateMipmaps=!1):ge=Hee.sRGBToLinear(ge):(d2!==Ma||m2!==O5)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ke)),ge}this.allocateTextureUnit=G,this.resetTextureUnits=Y,this.setTexture2D=q,this.setTexture2DArray=ce,this.setTexture3D=J,this.setTextureCube=H,this.rebindTextures=w2,this.setupRenderTarget=Re,this.updateRenderTargetMipmap=k2,this.updateMultisampleRenderTarget=x2,this.setupDepthRenderbuffer=R2,this.setupFrameBufferTexture=p2,this.useMultisampledRTT=z}function oke(n,e,t){const i=t.isWebGL2;function r(a,o=Ea){let s;const l=z1.getTransfer(o);if(a===O5)return n.UNSIGNED_BYTE;if(a===Dee)return n.UNSIGNED_SHORT_4_4_4_4;if(a===Nee)return n.UNSIGNED_SHORT_5_5_5_1;if(a===EPe)return n.BYTE;if(a===PPe)return n.SHORT;if(a===dL)return n.UNSIGNED_SHORT;if(a===Iee)return n.INT;if(a===A5)return n.UNSIGNED_INT;if(a===$o)return n.FLOAT;if(a===Ch)return i?n.HALF_FLOAT:(s=e.get("OES_texture_half_float"),s!==null?s.HALF_FLOAT_OES:null);if(a===RPe)return n.ALPHA;if(a===Ma)return n.RGBA;if(a===LPe)return n.LUMINANCE;if(a===IPe)return n.LUMINANCE_ALPHA;if(a===K8)return n.DEPTH_COMPONENT;if(a===W7)return n.DEPTH_STENCIL;if(a===qM)return s=e.get("EXT_sRGB"),s!==null?s.SRGB_ALPHA_EXT:null;if(a===DPe)return n.RED;if(a===kee)return n.RED_INTEGER;if(a===NPe)return n.RG;if(a===Fee)return n.RG_INTEGER;if(a===Oee)return n.RGBA_INTEGER;if(a===MT||a===ET||a===PT||a===RT)if(l===_0)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(a===MT)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(a===ET)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(a===PT)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(a===RT)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(a===MT)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(a===ET)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(a===PT)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(a===RT)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(a===_V||a===SV||a===bV||a===xV)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(a===_V)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(a===SV)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(a===bV)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(a===xV)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(a===Bee)return s=e.get("WEBGL_compressed_texture_etc1"),s!==null?s.COMPRESSED_RGB_ETC1_WEBGL:null;if(a===wV||a===TV)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(a===wV)return l===_0?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(a===TV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(a===AV||a===CV||a===MV||a===EV||a===PV||a===RV||a===LV||a===IV||a===DV||a===NV||a===kV||a===FV||a===OV||a===BV)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(a===AV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(a===CV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(a===MV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(a===EV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(a===PV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(a===RV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(a===LV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(a===IV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(a===DV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(a===NV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(a===kV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(a===FV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(a===OV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(a===BV)return l===_0?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(a===LT||a===zV||a===UV)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(a===LT)return l===_0?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(a===zV)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(a===UV)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(a===kPe||a===GV||a===VV||a===HV)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(a===LT)return s.COMPRESSED_RED_RGTC1_EXT;if(a===GV)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(a===VV)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(a===HV)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return a===X8?i?n.UNSIGNED_INT_24_8:(s=e.get("WEBGL_depth_texture"),s!==null?s.UNSIGNED_INT_24_8_WEBGL:null):n[a]!==void 0?n[a]:null}return{convert:r}}class ske extends gi{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class E1 extends u0{constructor(){super(),this.isGroup=!0,this.type="Group"}}const lke={type:"move"};class tA{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new E1,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new E1,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Ge,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Ge),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new E1,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Ge,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Ge),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,a=null,o=null;const s=this._targetRay,l=this._grip,u=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(u&&e.hand){o=!0;for(const g of e.hand.values()){const m=t.getJointPose(g,i),v=this._getHandJoint(u,g);m!==null&&(v.matrix.fromArray(m.transform.matrix),v.matrix.decompose(v.position,v.rotation,v.scale),v.matrixWorldNeedsUpdate=!0,v.jointRadius=m.radius),v.visible=m!==null}const c=u.joints["index-finger-tip"],d=u.joints["thumb-tip"],h=c.position.distanceTo(d.position),f=.02,p=.005;u.inputState.pinching&&h>f+p?(u.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!u.inputState.pinching&&h<=f-p&&(u.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(a=t.getPose(e.gripSpace,i),a!==null&&(l.matrix.fromArray(a.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,a.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(a.linearVelocity)):l.hasLinearVelocity=!1,a.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(a.angularVelocity)):l.hasAngularVelocity=!1));s!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&a!==null&&(r=a),r!==null&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(lke)))}return s!==null&&(s.visible=r!==null),l!==null&&(l.visible=a!==null),u!==null&&(u.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new E1;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const uke=` |
|
|
void main() { |
|
|
|
|
|
gl_Position = vec4( position, 1.0 ); |
|
|
|
|
|
}`,cke=` |
|
|
uniform sampler2DArray depthColor; |
|
|
uniform float depthWidth; |
|
|
uniform float depthHeight; |
|
|
|
|
|
void main() { |
|
|
|
|
|
vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); |
|
|
|
|
|
if ( coord.x >= 1.0 ) { |
|
|
|
|
|
gl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; |
|
|
|
|
|
} else { |
|
|
|
|
|
gl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; |
|
|
|
|
|
} |
|
|
|
|
|
}`;class dke{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new Sn,a=e.properties.get(r);a.__webglTexture=t.texture,(t.depthNear!=i.depthNear||t.depthFar!=i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}render(e,t){if(this.texture!==null){if(this.mesh===null){const i=t.cameras[0].viewport,r=new h6({extensions:{fragDepth:!0},vertexShader:uke,fragmentShader:cke,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new f1(new Nr(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class hke extends El{constructor(e,t){super();const i=this;let r=null,a=1,o=null,s="local-floor",l=1,u=null,c=null,d=null,h=null,f=null,p=null;const g=new dke,m=t.getContextAttributes();let v=null,_=null;const S=[],x=[],A=new J2;let C=null;const M=new gi;M.layers.enable(1),M.viewport=new P1;const I=new gi;I.layers.enable(2),I.viewport=new P1;const D=[M,I],E=new ske;E.layers.enable(1),E.layers.enable(2);let L=null,V=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(we){let ve=S[we];return ve===void 0&&(ve=new tA,S[we]=ve),ve.getTargetRaySpace()},this.getControllerGrip=function(we){let ve=S[we];return ve===void 0&&(ve=new tA,S[we]=ve),ve.getGripSpace()},this.getHand=function(we){let ve=S[we];return ve===void 0&&(ve=new tA,S[we]=ve),ve.getHandSpace()};function Y(we){const ve=x.indexOf(we.inputSource);if(ve===-1)return;const Ke=S[ve];Ke!==void 0&&(Ke.update(we.inputSource,we.frame,u||o),Ke.dispatchEvent({type:we.type,data:we.inputSource}))}function G(){r.removeEventListener("select",Y),r.removeEventListener("selectstart",Y),r.removeEventListener("selectend",Y),r.removeEventListener("squeeze",Y),r.removeEventListener("squeezestart",Y),r.removeEventListener("squeezeend",Y),r.removeEventListener("end",G),r.removeEventListener("inputsourceschange",W);for(let we=0;we<S.length;we++){const ve=x[we];ve!==null&&(x[we]=null,S[we].disconnect(ve))}L=null,V=null,g.reset(),e.setRenderTarget(v),f=null,h=null,d=null,r=null,_=null,Be.stop(),i.isPresenting=!1,e.setPixelRatio(C),e.setSize(A.width,A.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(we){a=we,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(we){s=we,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return u||o},this.setReferenceSpace=function(we){u=we},this.getBaseLayer=function(){return h!==null?h:f},this.getBinding=function(){return d},this.getFrame=function(){return p},this.getSession=function(){return r},this.setSession=function(we){return Z2(this,null,function*(){if(r=we,r!==null){if(v=e.getRenderTarget(),r.addEventListener("select",Y),r.addEventListener("selectstart",Y),r.addEventListener("selectend",Y),r.addEventListener("squeeze",Y),r.addEventListener("squeezestart",Y),r.addEventListener("squeezeend",Y),r.addEventListener("end",G),r.addEventListener("inputsourceschange",W),m.xrCompatible!==!0&&(yield t.makeXRCompatible()),C=e.getPixelRatio(),e.getSize(A),r.renderState.layers===void 0||e.capabilities.isWebGL2===!1){const ve={antialias:r.renderState.layers===void 0?m.antialias:!0,alpha:!0,depth:m.depth,stencil:m.stencil,framebufferScaleFactor:a};f=new XRWebGLLayer(r,t,ve),r.updateRenderState({baseLayer:f}),e.setPixelRatio(1),e.setSize(f.framebufferWidth,f.framebufferHeight,!1),_=new ul(f.framebufferWidth,f.framebufferHeight,{format:Ma,type:O5,colorSpace:e.outputColorSpace,stencilBuffer:m.stencil})}else{let ve=null,Ke=null,p2=null;m.depth&&(p2=m.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,ve=m.stencil?W7:K8,Ke=m.stencil?X8:A5);const c2={colorFormat:t.RGBA8,depthFormat:p2,scaleFactor:a};d=new XRWebGLBinding(r,t),h=d.createProjectionLayer(c2),r.updateRenderState({layers:[h]}),e.setPixelRatio(1),e.setSize(h.textureWidth,h.textureHeight,!1),_=new ul(h.textureWidth,h.textureHeight,{format:Ma,type:O5,depthTexture:new Qee(h.textureWidth,h.textureHeight,Ke,void 0,void 0,void 0,void 0,void 0,void 0,ve),stencilBuffer:m.stencil,colorSpace:e.outputColorSpace,samples:m.antialias?4:0});const s2=e.properties.get(_);s2.__ignoreDepthValues=h.ignoreDepthValues}_.isXRRenderTarget=!0,this.setFoveation(l),u=null,o=yield r.requestReferenceSpace(s),Be.setContext(r),Be.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}})},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode};function W(we){for(let ve=0;ve<we.removed.length;ve++){const Ke=we.removed[ve],p2=x.indexOf(Ke);p2>=0&&(x[p2]=null,S[p2].disconnect(Ke))}for(let ve=0;ve<we.added.length;ve++){const Ke=we.added[ve];let p2=x.indexOf(Ke);if(p2===-1){for(let s2=0;s2<S.length;s2++)if(s2>=x.length){x.push(Ke),p2=s2;break}else if(x[s2]===null){x[s2]=Ke,p2=s2;break}if(p2===-1)break}const c2=S[p2];c2&&c2.connect(Ke)}}const q=new Ge,ce=new Ge;function J(we,ve,Ke){q.setFromMatrixPosition(ve.matrixWorld),ce.setFromMatrixPosition(Ke.matrixWorld);const p2=q.distanceTo(ce),c2=ve.projectionMatrix.elements,s2=Ke.projectionMatrix.elements,R2=c2[14]/(c2[10]-1),w2=c2[14]/(c2[10]+1),Re=(c2[9]+1)/c2[5],k2=(c2[9]-1)/c2[5],x2=(c2[8]-1)/c2[0],D2=(s2[8]+1)/s2[0],z=R2*x2,Q2=R2*D2,Y2=p2/(-x2+D2),Ae=Y2*-x2;ve.matrixWorld.decompose(we.position,we.quaternion,we.scale),we.translateX(Ae),we.translateZ(Y2),we.matrixWorld.compose(we.position,we.quaternion,we.scale),we.matrixWorldInverse.copy(we.matrixWorld).invert();const ge=R2+Y2,ke=w2+Y2,d2=z-Ae,m2=Q2+(p2-Ae),Te=Re*w2/ke*ge,ye=k2*w2/ke*ge;we.projectionMatrix.makePerspective(d2,m2,Te,ye,ge,ke),we.projectionMatrixInverse.copy(we.projectionMatrix).invert()}function H(we,ve){ve===null?we.matrixWorld.copy(we.matrix):we.matrixWorld.multiplyMatrices(ve.matrixWorld,we.matrix),we.matrixWorldInverse.copy(we.matrixWorld).invert()}this.updateCamera=function(we){if(r===null)return;g.texture!==null&&(we.near=g.depthNear,we.far=g.depthFar),E.near=I.near=M.near=we.near,E.far=I.far=M.far=we.far,(L!==E.near||V!==E.far)&&(r.updateRenderState({depthNear:E.near,depthFar:E.far}),L=E.near,V=E.far,M.near=L,M.far=V,I.near=L,I.far=V,M.updateProjectionMatrix(),I.updateProjectionMatrix(),we.updateProjectionMatrix());const ve=we.parent,Ke=E.cameras;H(E,ve);for(let p2=0;p2<Ke.length;p2++)H(Ke[p2],ve);Ke.length===2?J(E,M,I):E.projectionMatrix.copy(M.projectionMatrix),re(we,E,ve)};function re(we,ve,Ke){Ke===null?we.matrix.copy(ve.matrixWorld):(we.matrix.copy(Ke.matrixWorld),we.matrix.invert(),we.matrix.multiply(ve.matrixWorld)),we.matrix.decompose(we.position,we.quaternion,we.scale),we.updateMatrixWorld(!0),we.projectionMatrix.copy(ve.projectionMatrix),we.projectionMatrixInverse.copy(ve.projectionMatrixInverse),we.isPerspectiveCamera&&(we.fov=$7*2*Math.atan(1/we.projectionMatrix.elements[5]),we.zoom=1)}this.getCamera=function(){return E},this.getFoveation=function(){if(!(h===null&&f===null))return l},this.setFoveation=function(we){l=we,h!==null&&(h.fixedFoveation=we),f!==null&&f.fixedFoveation!==void 0&&(f.fixedFoveation=we)},this.hasDepthSensing=function(){return g.texture!==null};let ee=null;function se(we,ve){if(c=ve.getViewerPose(u||o),p=ve,c!==null){const Ke=c.views;f!==null&&(e.setRenderTargetFramebuffer(_,f.framebuffer),e.setRenderTarget(_));let p2=!1;Ke.length!==E.cameras.length&&(E.cameras.length=0,p2=!0);for(let s2=0;s2<Ke.length;s2++){const R2=Ke[s2];let w2=null;if(f!==null)w2=f.getViewport(R2);else{const k2=d.getViewSubImage(h,R2);w2=k2.viewport,s2===0&&(e.setRenderTargetTextures(_,k2.colorTexture,h.ignoreDepthValues?void 0:k2.depthStencilTexture),e.setRenderTarget(_))}let Re=D[s2];Re===void 0&&(Re=new gi,Re.layers.enable(s2),Re.viewport=new P1,D[s2]=Re),Re.matrix.fromArray(R2.transform.matrix),Re.matrix.decompose(Re.position,Re.quaternion,Re.scale),Re.projectionMatrix.fromArray(R2.projectionMatrix),Re.projectionMatrixInverse.copy(Re.projectionMatrix).invert(),Re.viewport.set(w2.x,w2.y,w2.width,w2.height),s2===0&&(E.matrix.copy(Re.matrix),E.matrix.decompose(E.position,E.quaternion,E.scale)),p2===!0&&E.cameras.push(Re)}const c2=r.enabledFeatures;if(c2&&c2.includes("depth-sensing")){const s2=d.getDepthInformation(Ke[0]);s2&&s2.isValid&&s2.texture&&g.init(e,s2,r.renderState)}}for(let Ke=0;Ke<S.length;Ke++){const p2=x[Ke],c2=S[Ke];p2!==null&&c2!==void 0&&c2.update(p2,ve,u||o)}g.render(e,E),ee&&ee(we,ve),ve.detectedPlanes&&i.dispatchEvent({type:"planesdetected",data:ve}),p=null}const Be=new Jee;Be.setAnimationLoop(se),this.setAnimationLoop=function(we){ee=we},this.dispose=function(){}}}function fke(n,e){function t(m,v){m.matrixAutoUpdate===!0&&m.updateMatrix(),v.value.copy(m.matrix)}function i(m,v){v.color.getRGB(m.fogColor.value,Xee(n)),v.isFog?(m.fogNear.value=v.near,m.fogFar.value=v.far):v.isFogExp2&&(m.fogDensity.value=v.density)}function r(m,v,_,S,x){v.isMeshBasicMaterial||v.isMeshLambertMaterial?a(m,v):v.isMeshToonMaterial?(a(m,v),d(m,v)):v.isMeshPhongMaterial?(a(m,v),c(m,v)):v.isMeshStandardMaterial?(a(m,v),h(m,v),v.isMeshPhysicalMaterial&&f(m,v,x)):v.isMeshMatcapMaterial?(a(m,v),p(m,v)):v.isMeshDepthMaterial?a(m,v):v.isMeshDistanceMaterial?(a(m,v),g(m,v)):v.isMeshNormalMaterial?a(m,v):v.isLineBasicMaterial?(o(m,v),v.isLineDashedMaterial&&s(m,v)):v.isPointsMaterial?l(m,v,_,S):v.isSpriteMaterial?u(m,v):v.isShadowMaterial?(m.color.value.copy(v.color),m.opacity.value=v.opacity):v.isShaderMaterial&&(v.uniformsNeedUpdate=!1)}function a(m,v){m.opacity.value=v.opacity,v.color&&m.diffuse.value.copy(v.color),v.emissive&&m.emissive.value.copy(v.emissive).multiplyScalar(v.emissiveIntensity),v.map&&(m.map.value=v.map,t(v.map,m.mapTransform)),v.alphaMap&&(m.alphaMap.value=v.alphaMap,t(v.alphaMap,m.alphaMapTransform)),v.bumpMap&&(m.bumpMap.value=v.bumpMap,t(v.bumpMap,m.bumpMapTransform),m.bumpScale.value=v.bumpScale,v.side===dr&&(m.bumpScale.value*=-1)),v.normalMap&&(m.normalMap.value=v.normalMap,t(v.normalMap,m.normalMapTransform),m.normalScale.value.copy(v.normalScale),v.side===dr&&m.normalScale.value.negate()),v.displacementMap&&(m.displacementMap.value=v.displacementMap,t(v.displacementMap,m.displacementMapTransform),m.displacementScale.value=v.displacementScale,m.displacementBias.value=v.displacementBias),v.emissiveMap&&(m.emissiveMap.value=v.emissiveMap,t(v.emissiveMap,m.emissiveMapTransform)),v.specularMap&&(m.specularMap.value=v.specularMap,t(v.specularMap,m.specularMapTransform)),v.alphaTest>0&&(m.alphaTest.value=v.alphaTest);const _=e.get(v).envMap;if(_&&(m.envMap.value=_,m.flipEnvMap.value=_.isCubeTexture&&_.isRenderTargetTexture===!1?-1:1,m.reflectivity.value=v.reflectivity,m.ior.value=v.ior,m.refractionRatio.value=v.refractionRatio),v.lightMap){m.lightMap.value=v.lightMap;const S=n._useLegacyLights===!0?Math.PI:1;m.lightMapIntensity.value=v.lightMapIntensity*S,t(v.lightMap,m.lightMapTransform)}v.aoMap&&(m.aoMap.value=v.aoMap,m.aoMapIntensity.value=v.aoMapIntensity,t(v.aoMap,m.aoMapTransform))}function o(m,v){m.diffuse.value.copy(v.color),m.opacity.value=v.opacity,v.map&&(m.map.value=v.map,t(v.map,m.mapTransform))}function s(m,v){m.dashSize.value=v.dashSize,m.totalSize.value=v.dashSize+v.gapSize,m.scale.value=v.scale}function l(m,v,_,S){m.diffuse.value.copy(v.color),m.opacity.value=v.opacity,m.size.value=v.size*_,m.scale.value=S*.5,v.map&&(m.map.value=v.map,t(v.map,m.uvTransform)),v.alphaMap&&(m.alphaMap.value=v.alphaMap,t(v.alphaMap,m.alphaMapTransform)),v.alphaTest>0&&(m.alphaTest.value=v.alphaTest)}function u(m,v){m.diffuse.value.copy(v.color),m.opacity.value=v.opacity,m.rotation.value=v.rotation,v.map&&(m.map.value=v.map,t(v.map,m.mapTransform)),v.alphaMap&&(m.alphaMap.value=v.alphaMap,t(v.alphaMap,m.alphaMapTransform)),v.alphaTest>0&&(m.alphaTest.value=v.alphaTest)}function c(m,v){m.specular.value.copy(v.specular),m.shininess.value=Math.max(v.shininess,1e-4)}function d(m,v){v.gradientMap&&(m.gradientMap.value=v.gradientMap)}function h(m,v){m.metalness.value=v.metalness,v.metalnessMap&&(m.metalnessMap.value=v.metalnessMap,t(v.metalnessMap,m.metalnessMapTransform)),m.roughness.value=v.roughness,v.roughnessMap&&(m.roughnessMap.value=v.roughnessMap,t(v.roughnessMap,m.roughnessMapTransform)),e.get(v).envMap&&(m.envMapIntensity.value=v.envMapIntensity)}function f(m,v,_){m.ior.value=v.ior,v.sheen>0&&(m.sheenColor.value.copy(v.sheenColor).multiplyScalar(v.sheen),m.sheenRoughness.value=v.sheenRoughness,v.sheenColorMap&&(m.sheenColorMap.value=v.sheenColorMap,t(v.sheenColorMap,m.sheenColorMapTransform)),v.sheenRoughnessMap&&(m.sheenRoughnessMap.value=v.sheenRoughnessMap,t(v.sheenRoughnessMap,m.sheenRoughnessMapTransform))),v.clearcoat>0&&(m.clearcoat.value=v.clearcoat,m.clearcoatRoughness.value=v.clearcoatRoughness,v.clearcoatMap&&(m.clearcoatMap.value=v.clearcoatMap,t(v.clearcoatMap,m.clearcoatMapTransform)),v.clearcoatRoughnessMap&&(m.clearcoatRoughnessMap.value=v.clearcoatRoughnessMap,t(v.clearcoatRoughnessMap,m.clearcoatRoughnessMapTransform)),v.clearcoatNormalMap&&(m.clearcoatNormalMap.value=v.clearcoatNormalMap,t(v.clearcoatNormalMap,m.clearcoatNormalMapTransform),m.clearcoatNormalScale.value.copy(v.clearcoatNormalScale),v.side===dr&&m.clearcoatNormalScale.value.negate())),v.iridescence>0&&(m.iridescence.value=v.iridescence,m.iridescenceIOR.value=v.iridescenceIOR,m.iridescenceThicknessMinimum.value=v.iridescenceThicknessRange[0],m.iridescenceThicknessMaximum.value=v.iridescenceThicknessRange[1],v.iridescenceMap&&(m.iridescenceMap.value=v.iridescenceMap,t(v.iridescenceMap,m.iridescenceMapTransform)),v.iridescenceThicknessMap&&(m.iridescenceThicknessMap.value=v.iridescenceThicknessMap,t(v.iridescenceThicknessMap,m.iridescenceThicknessMapTransform))),v.transmission>0&&(m.transmission.value=v.transmission,m.transmissionSamplerMap.value=_.texture,m.transmissionSamplerSize.value.set(_.width,_.height),v.transmissionMap&&(m.transmissionMap.value=v.transmissionMap,t(v.transmissionMap,m.transmissionMapTransform)),m.thickness.value=v.thickness,v.thicknessMap&&(m.thicknessMap.value=v.thicknessMap,t(v.thicknessMap,m.thicknessMapTransform)),m.attenuationDistance.value=v.attenuationDistance,m.attenuationColor.value.copy(v.attenuationColor)),v.anisotropy>0&&(m.anisotropyVector.value.set(v.anisotropy*Math.cos(v.anisotropyRotation),v.anisotropy*Math.sin(v.anisotropyRotation)),v.anisotropyMap&&(m.anisotropyMap.value=v.anisotropyMap,t(v.anisotropyMap,m.anisotropyMapTransform))),m.specularIntensity.value=v.specularIntensity,m.specularColor.value.copy(v.specularColor),v.specularColorMap&&(m.specularColorMap.value=v.specularColorMap,t(v.specularColorMap,m.specularColorMapTransform)),v.specularIntensityMap&&(m.specularIntensityMap.value=v.specularIntensityMap,t(v.specularIntensityMap,m.specularIntensityMapTransform))}function p(m,v){v.matcap&&(m.matcap.value=v.matcap)}function g(m,v){const _=e.get(v).light;m.referencePosition.value.setFromMatrixPosition(_.matrixWorld),m.nearDistance.value=_.shadow.camera.near,m.farDistance.value=_.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function pke(n,e,t,i){let r={},a={},o=[];const s=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(_,S){const x=S.program;i.uniformBlockBinding(_,x)}function u(_,S){let x=r[_.id];x===void 0&&(p(_),x=c(_),r[_.id]=x,_.addEventListener("dispose",m));const A=S.program;i.updateUBOMapping(_,A);const C=e.render.frame;a[_.id]!==C&&(h(_),a[_.id]=C)}function c(_){const S=d();_.__bindingPointIndex=S;const x=n.createBuffer(),A=_.__size,C=_.usage;return n.bindBuffer(n.UNIFORM_BUFFER,x),n.bufferData(n.UNIFORM_BUFFER,A,C),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,S,x),x}function d(){for(let _=0;_<s;_++)if(o.indexOf(_)===-1)return o.push(_),_;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function h(_){const S=r[_.id],x=_.uniforms,A=_.__cache;n.bindBuffer(n.UNIFORM_BUFFER,S);for(let C=0,M=x.length;C<M;C++){const I=Array.isArray(x[C])?x[C]:[x[C]];for(let D=0,E=I.length;D<E;D++){const L=I[D];if(f(L,C,D,A)===!0){const V=L.__offset,Y=Array.isArray(L.value)?L.value:[L.value];let G=0;for(let W=0;W<Y.length;W++){const q=Y[W],ce=g(q);typeof q=="number"||typeof q=="boolean"?(L.__data[0]=q,n.bufferSubData(n.UNIFORM_BUFFER,V+G,L.__data)):q.isMatrix3?(L.__data[0]=q.elements[0],L.__data[1]=q.elements[1],L.__data[2]=q.elements[2],L.__data[3]=0,L.__data[4]=q.elements[3],L.__data[5]=q.elements[4],L.__data[6]=q.elements[5],L.__data[7]=0,L.__data[8]=q.elements[6],L.__data[9]=q.elements[7],L.__data[10]=q.elements[8],L.__data[11]=0):(q.toArray(L.__data,G),G+=ce.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,V,L.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function f(_,S,x,A){const C=_.value,M=S+"_"+x;if(A[M]===void 0)return typeof C=="number"||typeof C=="boolean"?A[M]=C:A[M]=C.clone(),!0;{const I=A[M];if(typeof C=="number"||typeof C=="boolean"){if(I!==C)return A[M]=C,!0}else if(I.equals(C)===!1)return I.copy(C),!0}return!1}function p(_){const S=_.uniforms;let x=0;const A=16;for(let M=0,I=S.length;M<I;M++){const D=Array.isArray(S[M])?S[M]:[S[M]];for(let E=0,L=D.length;E<L;E++){const V=D[E],Y=Array.isArray(V.value)?V.value:[V.value];for(let G=0,W=Y.length;G<W;G++){const q=Y[G],ce=g(q),J=x%A;J!==0&&A-J<ce.boundary&&(x+=A-J),V.__data=new Float32Array(ce.storage/Float32Array.BYTES_PER_ELEMENT),V.__offset=x,x+=ce.storage}}}const C=x%A;return C>0&&(x+=A-C),_.__size=x,_.__cache={},this}function g(_){const S={boundary:0,storage:0};return typeof _=="number"||typeof _=="boolean"?(S.boundary=4,S.storage=4):_.isVector2?(S.boundary=8,S.storage=8):_.isVector3||_.isColor?(S.boundary=16,S.storage=12):_.isVector4?(S.boundary=16,S.storage=16):_.isMatrix3?(S.boundary=48,S.storage=48):_.isMatrix4?(S.boundary=64,S.storage=64):_.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",_),S}function m(_){const S=_.target;S.removeEventListener("dispose",m);const x=o.indexOf(S.__bindingPointIndex);o.splice(x,1),n.deleteBuffer(r[S.id]),delete r[S.id],delete a[S.id]}function v(){for(const _ in r)n.deleteBuffer(r[_]);o=[],r={},a={}}return{bind:l,update:u,dispose:v}}class SL{constructor(e={}){const{canvas:t=lRe(),context:i=null,depth:r=!0,stencil:a=!0,alpha:o=!1,antialias:s=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:u=!1,powerPreference:c="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let h;i!==null?h=i.getContextAttributes().alpha:h=o;const f=new Uint32Array(4),p=new Int32Array(4);let g=null,m=null;const v=[],_=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Y1,this._useLegacyLights=!1,this.toneMapping=F5,this.toneMappingExposure=1;const S=this;let x=!1,A=0,C=0,M=null,I=-1,D=null;const E=new P1,L=new P1;let V=null;const Y=new Yt(0);let G=0,W=t.width,q=t.height,ce=1,J=null,H=null;const re=new P1(0,0,W,q),ee=new P1(0,0,W,q);let se=!1;const Be=new yL;let we=!1,ve=!1,Ke=null;const p2=new F3,c2=new J2,s2=new Ge,R2={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function w2(){return M===null?ce:1}let Re=i;function k2(ie,Ne){for(let $e=0;$e<ie.length;$e++){const i2=ie[$e],_2=t.getContext(i2,Ne);if(_2!==null)return _2}return null}try{const ie={alpha:!0,depth:r,stencil:a,antialias:s,premultipliedAlpha:l,preserveDrawingBuffer:u,powerPreference:c,failIfMajorPerformanceCaveat:d};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${uL}`),t.addEventListener("webglcontextlost",Nt,!1),t.addEventListener("webglcontextrestored",je,!1),t.addEventListener("webglcontextcreationerror",$2,!1),Re===null){const Ne=["webgl2","webgl","experimental-webgl"];if(S.isWebGL1Renderer===!0&&Ne.shift(),Re=k2(Ne,ie),Re===null)throw k2(Ne)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}typeof WebGLRenderingContext!="undefined"&&Re instanceof WebGLRenderingContext&&console.warn("THREE.WebGLRenderer: WebGL 1 support was deprecated in r153 and will be removed in r163."),Re.getShaderPrecisionFormat===void 0&&(Re.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(ie){throw console.error("THREE.WebGLRenderer: "+ie.message),ie}let x2,D2,z,Q2,Y2,Ae,ge,ke,d2,m2,Te,ye,Le,t2,Oe,T2,o2,q2,K2,st,lt,rt,Ut,Qe;function ot(){x2=new bDe(Re),D2=new mDe(Re,x2,e),x2.init(D2),rt=new oke(Re,x2,D2),z=new rke(Re,x2,D2),Q2=new TDe(Re),Y2=new WNe,Ae=new ake(Re,x2,z,Y2,D2,rt,Q2),ge=new vDe(S),ke=new SDe(S),d2=new IRe(Re,D2),Ut=new fDe(Re,x2,d2,D2),m2=new xDe(Re,d2,Q2,Ut),Te=new EDe(Re,m2,d2,Q2),K2=new MDe(Re,D2,Ae),T2=new gDe(Y2),ye=new HNe(S,ge,ke,x2,D2,Ut,T2),Le=new fke(S,Y2),t2=new $Ne,Oe=new JNe(x2,D2),q2=new hDe(S,ge,ke,z,Te,h,l),o2=new ike(S,Te,D2),Qe=new pke(Re,Q2,D2,z),st=new pDe(Re,x2,Q2,D2),lt=new wDe(Re,x2,Q2,D2),Q2.programs=ye.programs,S.capabilities=D2,S.extensions=x2,S.properties=Y2,S.renderLists=t2,S.shadowMap=o2,S.state=z,S.info=Q2}ot();const vt=new hke(S,Re);this.xr=vt,this.getContext=function(){return Re},this.getContextAttributes=function(){return Re.getContextAttributes()},this.forceContextLoss=function(){const ie=x2.get("WEBGL_lose_context");ie&&ie.loseContext()},this.forceContextRestore=function(){const ie=x2.get("WEBGL_lose_context");ie&&ie.restoreContext()},this.getPixelRatio=function(){return ce},this.setPixelRatio=function(ie){ie!==void 0&&(ce=ie,this.setSize(W,q,!1))},this.getSize=function(ie){return ie.set(W,q)},this.setSize=function(ie,Ne,$e=!0){if(vt.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}W=ie,q=Ne,t.width=Math.floor(ie*ce),t.height=Math.floor(Ne*ce),$e===!0&&(t.style.width=ie+"px",t.style.height=Ne+"px"),this.setViewport(0,0,ie,Ne)},this.getDrawingBufferSize=function(ie){return ie.set(W*ce,q*ce).floor()},this.setDrawingBufferSize=function(ie,Ne,$e){W=ie,q=Ne,ce=$e,t.width=Math.floor(ie*$e),t.height=Math.floor(Ne*$e),this.setViewport(0,0,ie,Ne)},this.getCurrentViewport=function(ie){return ie.copy(E)},this.getViewport=function(ie){return ie.copy(re)},this.setViewport=function(ie,Ne,$e,i2){ie.isVector4?re.set(ie.x,ie.y,ie.z,ie.w):re.set(ie,Ne,$e,i2),z.viewport(E.copy(re).multiplyScalar(ce).floor())},this.getScissor=function(ie){return ie.copy(ee)},this.setScissor=function(ie,Ne,$e,i2){ie.isVector4?ee.set(ie.x,ie.y,ie.z,ie.w):ee.set(ie,Ne,$e,i2),z.scissor(L.copy(ee).multiplyScalar(ce).floor())},this.getScissorTest=function(){return se},this.setScissorTest=function(ie){z.setScissorTest(se=ie)},this.setOpaqueSort=function(ie){J=ie},this.setTransparentSort=function(ie){H=ie},this.getClearColor=function(ie){return ie.copy(q2.getClearColor())},this.setClearColor=function(){q2.setClearColor.apply(q2,arguments)},this.getClearAlpha=function(){return q2.getClearAlpha()},this.setClearAlpha=function(){q2.setClearAlpha.apply(q2,arguments)},this.clear=function(ie=!0,Ne=!0,$e=!0){let i2=0;if(ie){let _2=!1;if(M!==null){const He=M.texture.format;_2=He===Oee||He===Fee||He===kee}if(_2){const He=M.texture.type,z2=He===O5||He===A5||He===dL||He===X8||He===Dee||He===Nee,kt=q2.getClearColor(),Pt=q2.getClearAlpha(),Q=kt.r,U=kt.g,w=kt.b;z2?(f[0]=Q,f[1]=U,f[2]=w,f[3]=Pt,Re.clearBufferuiv(Re.COLOR,0,f)):(p[0]=Q,p[1]=U,p[2]=w,p[3]=Pt,Re.clearBufferiv(Re.COLOR,0,p))}else i2|=Re.COLOR_BUFFER_BIT}Ne&&(i2|=Re.DEPTH_BUFFER_BIT),$e&&(i2|=Re.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Re.clear(i2)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",Nt,!1),t.removeEventListener("webglcontextrestored",je,!1),t.removeEventListener("webglcontextcreationerror",$2,!1),t2.dispose(),Oe.dispose(),Y2.dispose(),ge.dispose(),ke.dispose(),Te.dispose(),Ut.dispose(),Qe.dispose(),ye.dispose(),vt.dispose(),vt.removeEventListener("sessionstart",R1),vt.removeEventListener("sessionend",P3),Ke&&(Ke.dispose(),Ke=null),e1.stop()};function Nt(ie){ie.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),x=!0}function je(){console.log("THREE.WebGLRenderer: Context Restored."),x=!1;const ie=Q2.autoReset,Ne=o2.enabled,$e=o2.autoUpdate,i2=o2.needsUpdate,_2=o2.type;ot(),Q2.autoReset=ie,o2.enabled=Ne,o2.autoUpdate=$e,o2.needsUpdate=i2,o2.type=_2}function $2(ie){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",ie.statusMessage)}function tt(ie){const Ne=ie.target;Ne.removeEventListener("dispose",tt),Et(Ne)}function Et(ie){Ft(ie),Y2.remove(ie)}function Ft(ie){const Ne=Y2.get(ie).programs;Ne!==void 0&&(Ne.forEach(function($e){ye.releaseProgram($e)}),ie.isShaderMaterial&&ye.releaseShaderCache(ie))}this.renderBufferDirect=function(ie,Ne,$e,i2,_2,He){Ne===null&&(Ne=R2);const z2=_2.isMesh&&_2.matrixWorld.determinant()<0,kt=Z(ie,Ne,$e,i2,_2);z.setMaterial(i2,z2);let Pt=$e.index,Q=1;if(i2.wireframe===!0){if(Pt=m2.getWireframeAttribute($e),Pt===void 0)return;Q=2}const U=$e.drawRange,w=$e.attributes.position;let T=U.start*Q,P=(U.start+U.count)*Q;He!==null&&(T=Math.max(T,He.start*Q),P=Math.min(P,(He.start+He.count)*Q)),Pt!==null?(T=Math.max(T,0),P=Math.min(P,Pt.count)):w!=null&&(T=Math.max(T,0),P=Math.min(P,w.count));const N=P-T;if(N<0||N===1/0)return;Ut.setup(_2,i2,kt,$e,Pt);let O,B=st;if(Pt!==null&&(O=d2.get(Pt),B=lt,B.setIndex(O)),_2.isMesh)i2.wireframe===!0?(z.setLineWidth(i2.wireframeLinewidth*w2()),B.setMode(Re.LINES)):B.setMode(Re.TRIANGLES);else if(_2.isLine){let de=i2.linewidth;de===void 0&&(de=1),z.setLineWidth(de*w2()),_2.isLineSegments?B.setMode(Re.LINES):_2.isLineLoop?B.setMode(Re.LINE_LOOP):B.setMode(Re.LINE_STRIP)}else _2.isPoints?B.setMode(Re.POINTS):_2.isSprite&&B.setMode(Re.TRIANGLES);if(_2.isBatchedMesh)B.renderMultiDraw(_2._multiDrawStarts,_2._multiDrawCounts,_2._multiDrawCount);else if(_2.isInstancedMesh)B.renderInstances(T,N,_2.count);else if($e.isInstancedBufferGeometry){const de=$e._maxInstanceCount!==void 0?$e._maxInstanceCount:1/0,me=Math.min($e.instanceCount,de);B.renderInstances(T,N,me)}else B.render(T,N)};function yt(ie,Ne,$e){ie.transparent===!0&&ie.side===o0&&ie.forceSinglePass===!1?(ie.side=dr,ie.needsUpdate=!0,u3(ie,Ne,$e),ie.side=d6,ie.needsUpdate=!0,u3(ie,Ne,$e),ie.side=o0):u3(ie,Ne,$e)}this.compile=function(ie,Ne,$e=null){$e===null&&($e=ie),m=Oe.get($e),m.init(),_.push(m),$e.traverseVisible(function(_2){_2.isLight&&_2.layers.test(Ne.layers)&&(m.pushLight(_2),_2.castShadow&&m.pushShadow(_2))}),ie!==$e&&ie.traverseVisible(function(_2){_2.isLight&&_2.layers.test(Ne.layers)&&(m.pushLight(_2),_2.castShadow&&m.pushShadow(_2))}),m.setupLights(S._useLegacyLights);const i2=new Set;return ie.traverse(function(_2){const He=_2.material;if(He)if(Array.isArray(He))for(let z2=0;z2<He.length;z2++){const kt=He[z2];yt(kt,$e,_2),i2.add(kt)}else yt(He,$e,_2),i2.add(He)}),_.pop(),m=null,i2},this.compileAsync=function(ie,Ne,$e=null){const i2=this.compile(ie,Ne,$e);return new Promise(_2=>{function He(){if(i2.forEach(function(z2){Y2.get(z2).currentProgram.isReady()&&i2.delete(z2)}),i2.size===0){_2(ie);return}setTimeout(He,10)}x2.get("KHR_parallel_shader_compile")!==null?He():setTimeout(He,10)})};let p3=null;function a3(ie){p3&&p3(ie)}function R1(){e1.stop()}function P3(){e1.start()}const e1=new Jee;e1.setAnimationLoop(a3),typeof self!="undefined"&&e1.setContext(self),this.setAnimationLoop=function(ie){p3=ie,vt.setAnimationLoop(ie),ie===null?e1.stop():e1.start()},vt.addEventListener("sessionstart",R1),vt.addEventListener("sessionend",P3),this.render=function(ie,Ne){if(Ne!==void 0&&Ne.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(x===!0)return;ie.matrixWorldAutoUpdate===!0&&ie.updateMatrixWorld(),Ne.parent===null&&Ne.matrixWorldAutoUpdate===!0&&Ne.updateMatrixWorld(),vt.enabled===!0&&vt.isPresenting===!0&&(vt.cameraAutoUpdate===!0&&vt.updateCamera(Ne),Ne=vt.getCamera()),ie.isScene===!0&&ie.onBeforeRender(S,ie,Ne,M),m=Oe.get(ie,_.length),m.init(),_.push(m),p2.multiplyMatrices(Ne.projectionMatrix,Ne.matrixWorldInverse),Be.setFromProjectionMatrix(p2),ve=this.localClippingEnabled,we=T2.init(this.clippingPlanes,ve),g=t2.get(ie,v.length),g.init(),v.push(g),L1(ie,Ne,0,S.sortObjects),g.finish(),S.sortObjects===!0&&g.sort(J,H),this.info.render.frame++,we===!0&&T2.beginShadows();const $e=m.state.shadowsArray;if(o2.render($e,ie,Ne),we===!0&&T2.endShadows(),this.info.autoReset===!0&&this.info.reset(),(vt.enabled===!1||vt.isPresenting===!1||vt.hasDepthSensing()===!1)&&q2.render(g,ie),m.setupLights(S._useLegacyLights),Ne.isArrayCamera){const i2=Ne.cameras;for(let _2=0,He=i2.length;_2<He;_2++){const z2=i2[_2];Cn(g,ie,z2,z2.viewport)}}else Cn(g,ie,Ne);M!==null&&(Ae.updateMultisampleRenderTarget(M),Ae.updateRenderTargetMipmap(M)),ie.isScene===!0&&ie.onAfterRender(S,ie,Ne),Ut.resetDefaultState(),I=-1,D=null,_.pop(),_.length>0?m=_[_.length-1]:m=null,v.pop(),v.length>0?g=v[v.length-1]:g=null};function L1(ie,Ne,$e,i2){if(ie.visible===!1)return;if(ie.layers.test(Ne.layers)){if(ie.isGroup)$e=ie.renderOrder;else if(ie.isLOD)ie.autoUpdate===!0&&ie.update(Ne);else if(ie.isLight)m.pushLight(ie),ie.castShadow&&m.pushShadow(ie);else if(ie.isSprite){if(!ie.frustumCulled||Be.intersectsSprite(ie)){i2&&s2.setFromMatrixPosition(ie.matrixWorld).applyMatrix4(p2);const z2=Te.update(ie),kt=ie.material;kt.visible&&g.push(ie,z2,kt,$e,s2.z,null)}}else if((ie.isMesh||ie.isLine||ie.isPoints)&&(!ie.frustumCulled||Be.intersectsObject(ie))){const z2=Te.update(ie),kt=ie.material;if(i2&&(ie.boundingSphere!==void 0?(ie.boundingSphere===null&&ie.computeBoundingSphere(),s2.copy(ie.boundingSphere.center)):(z2.boundingSphere===null&&z2.computeBoundingSphere(),s2.copy(z2.boundingSphere.center)),s2.applyMatrix4(ie.matrixWorld).applyMatrix4(p2)),Array.isArray(kt)){const Pt=z2.groups;for(let Q=0,U=Pt.length;Q<U;Q++){const w=Pt[Q],T=kt[w.materialIndex];T&&T.visible&&g.push(ie,z2,T,$e,s2.z,w)}}else kt.visible&&g.push(ie,z2,kt,$e,s2.z,null)}}const He=ie.children;for(let z2=0,kt=He.length;z2<kt;z2++)L1(He[z2],Ne,$e,i2)}function Cn(ie,Ne,$e,i2){const _2=ie.opaque,He=ie.transmissive,z2=ie.transparent;m.setupLightsView($e),we===!0&&T2.setGlobalState(S.clippingPlanes,$e),He.length>0&&M2(_2,He,Ne,$e),i2&&z.viewport(E.copy(i2)),_2.length>0&&at(_2,Ne,$e),He.length>0&&at(He,Ne,$e),z2.length>0&&at(z2,Ne,$e),z.buffers.depth.setTest(!0),z.buffers.depth.setMask(!0),z.buffers.color.setMask(!0),z.setPolygonOffset(!1)}function M2(ie,Ne,$e,i2){if(($e.isScene===!0?$e.overrideMaterial:null)!==null)return;const He=D2.isWebGL2;Ke===null&&(Ke=new ul(1,1,{generateMipmaps:!0,type:x2.has("EXT_color_buffer_half_float")?Ch:O5,minFilter:Xs,samples:He?4:0})),S.getDrawingBufferSize(c2),He?Ke.setSize(c2.x,c2.y):Ke.setSize(Fy(c2.x),Fy(c2.y));const z2=S.getRenderTarget();S.setRenderTarget(Ke),S.getClearColor(Y),G=S.getClearAlpha(),G<1&&S.setClearColor(16777215,.5),S.clear();const kt=S.toneMapping;S.toneMapping=F5,at(ie,$e,i2),Ae.updateMultisampleRenderTarget(Ke),Ae.updateRenderTargetMipmap(Ke);let Pt=!1;for(let Q=0,U=Ne.length;Q<U;Q++){const w=Ne[Q],T=w.object,P=w.geometry,N=w.material,O=w.group;if(N.side===o0&&T.layers.test(i2.layers)){const B=N.side;N.side=dr,N.needsUpdate=!0,mt(T,$e,i2,P,N,O),N.side=B,N.needsUpdate=!0,Pt=!0}}Pt===!0&&(Ae.updateMultisampleRenderTarget(Ke),Ae.updateRenderTargetMipmap(Ke)),S.setRenderTarget(z2),S.setClearColor(Y,G),S.toneMapping=kt}function at(ie,Ne,$e){const i2=Ne.isScene===!0?Ne.overrideMaterial:null;for(let _2=0,He=ie.length;_2<He;_2++){const z2=ie[_2],kt=z2.object,Pt=z2.geometry,Q=i2===null?z2.material:i2,U=z2.group;kt.layers.test($e.layers)&&mt(kt,Ne,$e,Pt,Q,U)}}function mt(ie,Ne,$e,i2,_2,He){ie.onBeforeRender(S,Ne,$e,i2,_2,He),ie.modelViewMatrix.multiplyMatrices($e.matrixWorldInverse,ie.matrixWorld),ie.normalMatrix.getNormalMatrix(ie.modelViewMatrix),_2.onBeforeRender(S,Ne,$e,i2,ie,He),_2.transparent===!0&&_2.side===o0&&_2.forceSinglePass===!1?(_2.side=dr,_2.needsUpdate=!0,S.renderBufferDirect($e,Ne,i2,_2,ie,He),_2.side=d6,_2.needsUpdate=!0,S.renderBufferDirect($e,Ne,i2,_2,ie,He),_2.side=o0):S.renderBufferDirect($e,Ne,i2,_2,ie,He),ie.onAfterRender(S,Ne,$e,i2,_2,He)}function u3(ie,Ne,$e){Ne.isScene!==!0&&(Ne=R2);const i2=Y2.get(ie),_2=m.state.lights,He=m.state.shadowsArray,z2=_2.state.version,kt=ye.getParameters(ie,_2.state,He,Ne,$e),Pt=ye.getProgramCacheKey(kt);let Q=i2.programs;i2.environment=ie.isMeshStandardMaterial?Ne.environment:null,i2.fog=Ne.fog,i2.envMap=(ie.isMeshStandardMaterial?ke:ge).get(ie.envMap||i2.environment),Q===void 0&&(ie.addEventListener("dispose",tt),Q=new Map,i2.programs=Q);let U=Q.get(Pt);if(U!==void 0){if(i2.currentProgram===U&&i2.lightsStateVersion===z2)return Fe(ie,kt),U}else kt.uniforms=ye.getUniforms(ie),ie.onBuild($e,kt,S),ie.onBeforeCompile(kt,S),U=ye.acquireProgram(kt,Pt),Q.set(Pt,U),i2.uniforms=kt.uniforms;const w=i2.uniforms;return(!ie.isShaderMaterial&&!ie.isRawShaderMaterial||ie.clipping===!0)&&(w.clippingPlanes=T2.uniform),Fe(ie,kt),i2.needsLights=Ve(ie),i2.lightsStateVersion=z2,i2.needsLights&&(w.ambientLightColor.value=_2.state.ambient,w.lightProbe.value=_2.state.probe,w.directionalLights.value=_2.state.directional,w.directionalLightShadows.value=_2.state.directionalShadow,w.spotLights.value=_2.state.spot,w.spotLightShadows.value=_2.state.spotShadow,w.rectAreaLights.value=_2.state.rectArea,w.ltc_1.value=_2.state.rectAreaLTC1,w.ltc_2.value=_2.state.rectAreaLTC2,w.pointLights.value=_2.state.point,w.pointLightShadows.value=_2.state.pointShadow,w.hemisphereLights.value=_2.state.hemi,w.directionalShadowMap.value=_2.state.directionalShadowMap,w.directionalShadowMatrix.value=_2.state.directionalShadowMatrix,w.spotShadowMap.value=_2.state.spotShadowMap,w.spotLightMatrix.value=_2.state.spotLightMatrix,w.spotLightMap.value=_2.state.spotLightMap,w.pointShadowMap.value=_2.state.pointShadowMap,w.pointShadowMatrix.value=_2.state.pointShadowMatrix),i2.currentProgram=U,i2.uniformsList=null,U}function x1(ie){if(ie.uniformsList===null){const Ne=ie.currentProgram.getUniforms();ie.uniformsList=cv.seqWithValue(Ne.seq,ie.uniforms)}return ie.uniformsList}function Fe(ie,Ne){const $e=Y2.get(ie);$e.outputColorSpace=Ne.outputColorSpace,$e.batching=Ne.batching,$e.instancing=Ne.instancing,$e.instancingColor=Ne.instancingColor,$e.skinning=Ne.skinning,$e.morphTargets=Ne.morphTargets,$e.morphNormals=Ne.morphNormals,$e.morphColors=Ne.morphColors,$e.morphTargetsCount=Ne.morphTargetsCount,$e.numClippingPlanes=Ne.numClippingPlanes,$e.numIntersection=Ne.numClipIntersection,$e.vertexAlphas=Ne.vertexAlphas,$e.vertexTangents=Ne.vertexTangents,$e.toneMapping=Ne.toneMapping}function Z(ie,Ne,$e,i2,_2){Ne.isScene!==!0&&(Ne=R2),Ae.resetTextureUnits();const He=Ne.fog,z2=i2.isMeshStandardMaterial?Ne.environment:null,kt=M===null?S.outputColorSpace:M.isXRRenderTarget===!0?M.texture.colorSpace:wn,Pt=(i2.isMeshStandardMaterial?ke:ge).get(i2.envMap||z2),Q=i2.vertexColors===!0&&!!$e.attributes.color&&$e.attributes.color.itemSize===4,U=!!$e.attributes.tangent&&(!!i2.normalMap||i2.anisotropy>0),w=!!$e.morphAttributes.position,T=!!$e.morphAttributes.normal,P=!!$e.morphAttributes.color;let N=F5;i2.toneMapped&&(M===null||M.isXRRenderTarget===!0)&&(N=S.toneMapping);const O=$e.morphAttributes.position||$e.morphAttributes.normal||$e.morphAttributes.color,B=O!==void 0?O.length:0,de=Y2.get(i2),me=m.state.lights;if(we===!0&&(ve===!0||ie!==D)){const pe=ie===D&&i2.id===I;T2.setState(i2,ie,pe)}let fe=!1;i2.version===de.__version?(de.needsLights&&de.lightsStateVersion!==me.state.version||de.outputColorSpace!==kt||_2.isBatchedMesh&&de.batching===!1||!_2.isBatchedMesh&&de.batching===!0||_2.isInstancedMesh&&de.instancing===!1||!_2.isInstancedMesh&&de.instancing===!0||_2.isSkinnedMesh&&de.skinning===!1||!_2.isSkinnedMesh&&de.skinning===!0||_2.isInstancedMesh&&de.instancingColor===!0&&_2.instanceColor===null||_2.isInstancedMesh&&de.instancingColor===!1&&_2.instanceColor!==null||de.envMap!==Pt||i2.fog===!0&&de.fog!==He||de.numClippingPlanes!==void 0&&(de.numClippingPlanes!==T2.numPlanes||de.numIntersection!==T2.numIntersection)||de.vertexAlphas!==Q||de.vertexTangents!==U||de.morphTargets!==w||de.morphNormals!==T||de.morphColors!==P||de.toneMapping!==N||D2.isWebGL2===!0&&de.morphTargetsCount!==B)&&(fe=!0):(fe=!0,de.__version=i2.version);let le=de.currentProgram;fe===!0&&(le=u3(i2,Ne,_2));let ae=!1,We=!1,Pe=!1;const _e=le.getUniforms(),Se=de.uniforms;if(z.useProgram(le.program)&&(ae=!0,We=!0,Pe=!0),i2.id!==I&&(I=i2.id,We=!0),ae||D!==ie){_e.setValue(Re,"projectionMatrix",ie.projectionMatrix),_e.setValue(Re,"viewMatrix",ie.matrixWorldInverse);const pe=_e.map.cameraPosition;pe!==void 0&&pe.setValue(Re,s2.setFromMatrixPosition(ie.matrixWorld)),D2.logarithmicDepthBuffer&&_e.setValue(Re,"logDepthBufFC",2/(Math.log(ie.far+1)/Math.LN2)),(i2.isMeshPhongMaterial||i2.isMeshToonMaterial||i2.isMeshLambertMaterial||i2.isMeshBasicMaterial||i2.isMeshStandardMaterial||i2.isShaderMaterial)&&_e.setValue(Re,"isOrthographic",ie.isOrthographicCamera===!0),D!==ie&&(D=ie,We=!0,Pe=!0)}if(_2.isSkinnedMesh){_e.setOptional(Re,_2,"bindMatrix"),_e.setOptional(Re,_2,"bindMatrixInverse");const pe=_2.skeleton;pe&&(D2.floatVertexTextures?(pe.boneTexture===null&&pe.computeBoneTexture(),_e.setValue(Re,"boneTexture",pe.boneTexture,Ae)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}_2.isBatchedMesh&&(_e.setOptional(Re,_2,"batchingTexture"),_e.setValue(Re,"batchingTexture",_2._matricesTexture,Ae));const n2=$e.morphAttributes;if((n2.position!==void 0||n2.normal!==void 0||n2.color!==void 0&&D2.isWebGL2===!0)&&K2.update(_2,$e,le),(We||de.receiveShadow!==_2.receiveShadow)&&(de.receiveShadow=_2.receiveShadow,_e.setValue(Re,"receiveShadow",_2.receiveShadow)),i2.isMeshGouraudMaterial&&i2.envMap!==null&&(Se.envMap.value=Pt,Se.flipEnvMap.value=Pt.isCubeTexture&&Pt.isRenderTargetTexture===!1?-1:1),We&&(_e.setValue(Re,"toneMappingExposure",S.toneMappingExposure),de.needsLights&&be(Se,Pe),He&&i2.fog===!0&&Le.refreshFogUniforms(Se,He),Le.refreshMaterialUniforms(Se,i2,ce,q,Ke),cv.upload(Re,x1(de),Se,Ae)),i2.isShaderMaterial&&i2.uniformsNeedUpdate===!0&&(cv.upload(Re,x1(de),Se,Ae),i2.uniformsNeedUpdate=!1),i2.isSpriteMaterial&&_e.setValue(Re,"center",_2.center),_e.setValue(Re,"modelViewMatrix",_2.modelViewMatrix),_e.setValue(Re,"normalMatrix",_2.normalMatrix),_e.setValue(Re,"modelMatrix",_2.matrixWorld),i2.isShaderMaterial||i2.isRawShaderMaterial){const pe=i2.uniformsGroups;for(let F=0,te=pe.length;F<te;F++)if(D2.isWebGL2){const oe=pe[F];Qe.update(oe,le),Qe.bind(oe,le)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return le}function be(ie,Ne){ie.ambientLightColor.needsUpdate=Ne,ie.lightProbe.needsUpdate=Ne,ie.directionalLights.needsUpdate=Ne,ie.directionalLightShadows.needsUpdate=Ne,ie.pointLights.needsUpdate=Ne,ie.pointLightShadows.needsUpdate=Ne,ie.spotLights.needsUpdate=Ne,ie.spotLightShadows.needsUpdate=Ne,ie.rectAreaLights.needsUpdate=Ne,ie.hemisphereLights.needsUpdate=Ne}function Ve(ie){return ie.isMeshLambertMaterial||ie.isMeshToonMaterial||ie.isMeshPhongMaterial||ie.isMeshStandardMaterial||ie.isShadowMaterial||ie.isShaderMaterial&&ie.lights===!0}this.getActiveCubeFace=function(){return A},this.getActiveMipmapLevel=function(){return C},this.getRenderTarget=function(){return M},this.setRenderTargetTextures=function(ie,Ne,$e){Y2.get(ie.texture).__webglTexture=Ne,Y2.get(ie.depthTexture).__webglTexture=$e;const i2=Y2.get(ie);i2.__hasExternalTextures=!0,i2.__hasExternalTextures&&(i2.__autoAllocateDepthBuffer=$e===void 0,i2.__autoAllocateDepthBuffer||x2.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),i2.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(ie,Ne){const $e=Y2.get(ie);$e.__webglFramebuffer=Ne,$e.__useDefaultFramebuffer=Ne===void 0},this.setRenderTarget=function(ie,Ne=0,$e=0){M=ie,A=Ne,C=$e;let i2=!0,_2=null,He=!1,z2=!1;if(ie){const Pt=Y2.get(ie);Pt.__useDefaultFramebuffer!==void 0?(z.bindFramebuffer(Re.FRAMEBUFFER,null),i2=!1):Pt.__webglFramebuffer===void 0?Ae.setupRenderTarget(ie):Pt.__hasExternalTextures&&Ae.rebindTextures(ie,Y2.get(ie.texture).__webglTexture,Y2.get(ie.depthTexture).__webglTexture);const Q=ie.texture;(Q.isData3DTexture||Q.isDataArrayTexture||Q.isCompressedArrayTexture)&&(z2=!0);const U=Y2.get(ie).__webglFramebuffer;ie.isWebGLCubeRenderTarget?(Array.isArray(U[Ne])?_2=U[Ne][$e]:_2=U[Ne],He=!0):D2.isWebGL2&&ie.samples>0&&Ae.useMultisampledRTT(ie)===!1?_2=Y2.get(ie).__webglMultisampledFramebuffer:Array.isArray(U)?_2=U[$e]:_2=U,E.copy(ie.viewport),L.copy(ie.scissor),V=ie.scissorTest}else E.copy(re).multiplyScalar(ce).floor(),L.copy(ee).multiplyScalar(ce).floor(),V=se;if(z.bindFramebuffer(Re.FRAMEBUFFER,_2)&&D2.drawBuffers&&i2&&z.drawBuffers(ie,_2),z.viewport(E),z.scissor(L),z.setScissorTest(V),He){const Pt=Y2.get(ie.texture);Re.framebufferTexture2D(Re.FRAMEBUFFER,Re.COLOR_ATTACHMENT0,Re.TEXTURE_CUBE_MAP_POSITIVE_X+Ne,Pt.__webglTexture,$e)}else if(z2){const Pt=Y2.get(ie.texture),Q=Ne||0;Re.framebufferTextureLayer(Re.FRAMEBUFFER,Re.COLOR_ATTACHMENT0,Pt.__webglTexture,$e||0,Q)}I=-1},this.readRenderTargetPixels=function(ie,Ne,$e,i2,_2,He,z2){if(!(ie&&ie.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let kt=Y2.get(ie).__webglFramebuffer;if(ie.isWebGLCubeRenderTarget&&z2!==void 0&&(kt=kt[z2]),kt){z.bindFramebuffer(Re.FRAMEBUFFER,kt);try{const Pt=ie.texture,Q=Pt.format,U=Pt.type;if(Q!==Ma&&rt.convert(Q)!==Re.getParameter(Re.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const w=U===Ch&&(x2.has("EXT_color_buffer_half_float")||D2.isWebGL2&&x2.has("EXT_color_buffer_float"));if(U!==O5&&rt.convert(U)!==Re.getParameter(Re.IMPLEMENTATION_COLOR_READ_TYPE)&&!(U===$o&&(D2.isWebGL2||x2.has("OES_texture_float")||x2.has("WEBGL_color_buffer_float")))&&!w){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}Ne>=0&&Ne<=ie.width-i2&&$e>=0&&$e<=ie.height-_2&&Re.readPixels(Ne,$e,i2,_2,rt.convert(Q),rt.convert(U),He)}finally{const Pt=M!==null?Y2.get(M).__webglFramebuffer:null;z.bindFramebuffer(Re.FRAMEBUFFER,Pt)}}},this.copyFramebufferToTexture=function(ie,Ne,$e=0){const i2=Math.pow(2,-$e),_2=Math.floor(Ne.image.width*i2),He=Math.floor(Ne.image.height*i2);Ae.setTexture2D(Ne,0),Re.copyTexSubImage2D(Re.TEXTURE_2D,$e,0,0,ie.x,ie.y,_2,He),z.unbindTexture()},this.copyTextureToTexture=function(ie,Ne,$e,i2=0){const _2=Ne.image.width,He=Ne.image.height,z2=rt.convert($e.format),kt=rt.convert($e.type);Ae.setTexture2D($e,0),Re.pixelStorei(Re.UNPACK_FLIP_Y_WEBGL,$e.flipY),Re.pixelStorei(Re.UNPACK_PREMULTIPLY_ALPHA_WEBGL,$e.premultiplyAlpha),Re.pixelStorei(Re.UNPACK_ALIGNMENT,$e.unpackAlignment),Ne.isDataTexture?Re.texSubImage2D(Re.TEXTURE_2D,i2,ie.x,ie.y,_2,He,z2,kt,Ne.image.data):Ne.isCompressedTexture?Re.compressedTexSubImage2D(Re.TEXTURE_2D,i2,ie.x,ie.y,Ne.mipmaps[0].width,Ne.mipmaps[0].height,z2,Ne.mipmaps[0].data):Re.texSubImage2D(Re.TEXTURE_2D,i2,ie.x,ie.y,z2,kt,Ne.image),i2===0&&$e.generateMipmaps&&Re.generateMipmap(Re.TEXTURE_2D),z.unbindTexture()},this.copyTextureToTexture3D=function(ie,Ne,$e,i2,_2=0){if(S.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const He=ie.max.x-ie.min.x+1,z2=ie.max.y-ie.min.y+1,kt=ie.max.z-ie.min.z+1,Pt=rt.convert(i2.format),Q=rt.convert(i2.type);let U;if(i2.isData3DTexture)Ae.setTexture3D(i2,0),U=Re.TEXTURE_3D;else if(i2.isDataArrayTexture||i2.isCompressedArrayTexture)Ae.setTexture2DArray(i2,0),U=Re.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Re.pixelStorei(Re.UNPACK_FLIP_Y_WEBGL,i2.flipY),Re.pixelStorei(Re.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i2.premultiplyAlpha),Re.pixelStorei(Re.UNPACK_ALIGNMENT,i2.unpackAlignment);const w=Re.getParameter(Re.UNPACK_ROW_LENGTH),T=Re.getParameter(Re.UNPACK_IMAGE_HEIGHT),P=Re.getParameter(Re.UNPACK_SKIP_PIXELS),N=Re.getParameter(Re.UNPACK_SKIP_ROWS),O=Re.getParameter(Re.UNPACK_SKIP_IMAGES),B=$e.isCompressedTexture?$e.mipmaps[_2]:$e.image;Re.pixelStorei(Re.UNPACK_ROW_LENGTH,B.width),Re.pixelStorei(Re.UNPACK_IMAGE_HEIGHT,B.height),Re.pixelStorei(Re.UNPACK_SKIP_PIXELS,ie.min.x),Re.pixelStorei(Re.UNPACK_SKIP_ROWS,ie.min.y),Re.pixelStorei(Re.UNPACK_SKIP_IMAGES,ie.min.z),$e.isDataTexture||$e.isData3DTexture?Re.texSubImage3D(U,_2,Ne.x,Ne.y,Ne.z,He,z2,kt,Pt,Q,B.data):$e.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Re.compressedTexSubImage3D(U,_2,Ne.x,Ne.y,Ne.z,He,z2,kt,Pt,B.data)):Re.texSubImage3D(U,_2,Ne.x,Ne.y,Ne.z,He,z2,kt,Pt,Q,B),Re.pixelStorei(Re.UNPACK_ROW_LENGTH,w),Re.pixelStorei(Re.UNPACK_IMAGE_HEIGHT,T),Re.pixelStorei(Re.UNPACK_SKIP_PIXELS,P),Re.pixelStorei(Re.UNPACK_SKIP_ROWS,N),Re.pixelStorei(Re.UNPACK_SKIP_IMAGES,O),_2===0&&i2.generateMipmaps&&Re.generateMipmap(U),z.unbindTexture()},this.initTexture=function(ie){ie.isCubeTexture?Ae.setTextureCube(ie,0):ie.isData3DTexture?Ae.setTexture3D(ie,0):ie.isDataArrayTexture||ie.isCompressedArrayTexture?Ae.setTexture2DArray(ie,0):Ae.setTexture2D(ie,0),z.unbindTexture()},this.resetState=function(){A=0,C=0,M=null,z.reset(),Ut.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ks}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===fL?"display-p3":"srgb",t.unpackColorSpace=z1.workingColorSpace===aS?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Y1?Z8:Uee}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Z8?Y1:wn}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class mke extends SL{}mke.prototype.isWebGL1Renderer=!0;class bL{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new Yt(e),this.near=t,this.far=i}clone(){return new bL(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class a2e extends u0{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t}}class xL{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=YM,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Da()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return J8("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,a=this.stride;r<a;r++)this.array[e+r]=t.array[i+r];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Da()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(t,this.stride);return i.setUsage(this.usage),i}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Da()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Mi=new Ge;class co{constructor(e,t,i,r=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=i,this.normalized=r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,i=this.data.count;t<i;t++)Mi.fromBufferAttribute(this,t),Mi.applyMatrix4(e),this.setXYZ(t,Mi.x,Mi.y,Mi.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)Mi.fromBufferAttribute(this,t),Mi.applyNormalMatrix(e),this.setXYZ(t,Mi.x,Mi.y,Mi.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)Mi.fromBufferAttribute(this,t),Mi.transformDirection(e),this.setXYZ(t,Mi.x,Mi.y,Mi.z);return this}getComponent(e,t){let i=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(i=ao(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=H1(i,this.array)),this.data.array[e*this.data.stride+this.offset+t]=i,this}setX(e,t){return this.normalized&&(t=H1(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=H1(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=H1(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=H1(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=ao(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=ao(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=ao(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=ao(t,this.array)),t}setXY(e,t,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=H1(t,this.array),i=H1(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this}setXYZ(e,t,i,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=H1(t,this.array),i=H1(i,this.array),r=H1(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this}setXYZW(e,t,i,r,a){return e=e*this.data.stride+this.offset,this.normalized&&(t=H1(t,this.array),i=H1(i,this.array),r=H1(r,this.array),a=H1(a,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this.data.array[e+3]=a,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let a=0;a<this.itemSize;a++)t.push(this.data.array[r+a])}return new I0(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new co(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let i=0;i<this.count;i++){const r=i*this.data.stride+this.offset;for(let a=0;a<this.itemSize;a++)t.push(this.data.array[r+a])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class W4 extends Na{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Yt(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}let I4;const Nc=new Ge,D4=new Ge,N4=new Ge,k4=new J2,kc=new J2,o2e=new F3,eg=new Ge,Fc=new Ge,tg=new Ge,FH=new J2,nA=new J2,OH=new J2;class Oc extends u0{constructor(e=new W4){if(super(),this.isSprite=!0,this.type="Sprite",I4===void 0){I4=new Q1;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),i=new xL(t,5);I4.setIndex([0,1,2,0,2,3]),I4.setAttribute("position",new co(i,3,0,!1)),I4.setAttribute("uv",new co(i,2,3,!1))}this.geometry=I4,this.material=e,this.center=new J2(.5,.5)}raycast(e,t){e.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),D4.setFromMatrixScale(this.matrixWorld),o2e.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),N4.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&D4.multiplyScalar(-N4.z);const i=this.material.rotation;let r,a;i!==0&&(a=Math.cos(i),r=Math.sin(i));const o=this.center;ng(eg.set(-.5,-.5,0),N4,o,D4,r,a),ng(Fc.set(.5,-.5,0),N4,o,D4,r,a),ng(tg.set(.5,.5,0),N4,o,D4,r,a),FH.set(0,0),nA.set(1,0),OH.set(1,1);let s=e.ray.intersectTriangle(eg,Fc,tg,!1,Nc);if(s===null&&(ng(Fc.set(-.5,.5,0),N4,o,D4,r,a),nA.set(0,1),s=e.ray.intersectTriangle(eg,tg,Fc,!1,Nc),s===null))return;const l=e.ray.origin.distanceTo(Nc);l<e.near||l>e.far||t.push({distance:l,point:Nc.clone(),uv:oo.getInterpolation(Nc,eg,Fc,tg,FH,nA,OH,new J2),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function ng(n,e,t,i,r,a){k4.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(kc.x=a*k4.x-r*k4.y,kc.y=r*k4.x+a*k4.y):kc.copy(k4),n.copy(e),n.x+=kc.x,n.y+=kc.y,n.applyMatrix4(o2e)}const BH=new Ge,zH=new P1,UH=new P1,gke=new Ge,GH=new F3,ig=new Ge,iA=new Wa,VH=new F3,rA=new xu;class vke extends f1{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=yV,this.bindMatrix=new F3,this.bindMatrixInverse=new F3,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const e=this.geometry;this.boundingBox===null&&(this.boundingBox=new Ha),this.boundingBox.makeEmpty();const t=e.getAttribute("position");for(let i=0;i<t.count;i++)this.getVertexPosition(i,ig),this.boundingBox.expandByPoint(ig)}computeBoundingSphere(){const e=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new Wa),this.boundingSphere.makeEmpty();const t=e.getAttribute("position");for(let i=0;i<t.count;i++)this.getVertexPosition(i,ig),this.boundingSphere.expandByPoint(ig)}copy(e,t){return super.copy(e,t),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}raycast(e,t){const i=this.material,r=this.matrixWorld;i!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),iA.copy(this.boundingSphere),iA.applyMatrix4(r),e.ray.intersectsSphere(iA)!==!1&&(VH.copy(r).invert(),rA.copy(e.ray).applyMatrix4(VH),!(this.boundingBox!==null&&rA.intersectsBox(this.boundingBox)===!1)&&this._computeIntersections(e,t,rA)))}getVertexPosition(e,t){return super.getVertexPosition(e,t),this.applyBoneTransform(e,t),t}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new P1,t=this.geometry.attributes.skinWeight;for(let i=0,r=t.count;i<r;i++){e.fromBufferAttribute(t,i);const a=1/e.manhattanLength();a!==1/0?e.multiplyScalar(a):e.set(1,0,0,0),t.setXYZW(i,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===yV?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===MPe?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(e,t){const i=this.skeleton,r=this.geometry;zH.fromBufferAttribute(r.attributes.skinIndex,e),UH.fromBufferAttribute(r.attributes.skinWeight,e),BH.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let a=0;a<4;a++){const o=UH.getComponent(a);if(o!==0){const s=zH.getComponent(a);GH.multiplyMatrices(i.bones[s].matrixWorld,i.boneInverses[s]),t.addScaledVector(gke.copy(BH).applyMatrix4(GH),o)}}return t.applyMatrix4(this.bindMatrixInverse)}}class s2e extends u0{constructor(){super(),this.isBone=!0,this.type="Bone"}}class yke extends Sn{constructor(e=null,t=1,i=1,r,a,o,s,l,u=yn,c=yn,d,h){super(null,o,s,l,u,c,r,a,d,h),this.isDataTexture=!0,this.image={data:e,width:t,height:i},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const HH=new F3,_ke=new F3;class wL{constructor(e=[],t=[]){this.uuid=Da(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){const e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let i=0,r=this.bones.length;i<r;i++)this.boneInverses.push(new F3)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const i=new F3;this.bones[e]&&i.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(i)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const i=this.bones[e];i&&i.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const i=this.bones[e];i&&(i.parent&&i.parent.isBone?(i.matrix.copy(i.parent.matrixWorld).invert(),i.matrix.multiply(i.matrixWorld)):i.matrix.copy(i.matrixWorld),i.matrix.decompose(i.position,i.quaternion,i.scale))}}update(){const e=this.bones,t=this.boneInverses,i=this.boneMatrices,r=this.boneTexture;for(let a=0,o=e.length;a<o;a++){const s=e[a]?e[a].matrixWorld:_ke;HH.multiplyMatrices(s,t[a]),HH.toArray(i,a*16)}r!==null&&(r.needsUpdate=!0)}clone(){return new wL(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const i=new yke(t,e,e,Ma,$o);return i.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=i,this}getBoneByName(e){for(let t=0,i=this.bones.length;t<i;t++){const r=this.bones[t];if(r.name===e)return r}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let i=0,r=e.bones.length;i<r;i++){const a=e.bones[i];let o=t[a];o===void 0&&(console.warn("THREE.Skeleton: No bone found with UUID:",a),o=new s2e),this.bones.push(o),this.boneInverses.push(new F3().fromArray(e.boneInverses[i]))}return this.init(),this}toJSON(){const e={metadata:{version:4.6,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones,i=this.boneInverses;for(let r=0,a=t.length;r<a;r++){const o=t[r];e.bones.push(o.uuid);const s=i[r];e.boneInverses.push(s.toArray())}return e}}class ZM extends I0{constructor(e,t,i,r=1){super(e,t,i),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const F4=new F3,WH=new F3,rg=[],jH=new Ha,Ske=new F3,Bc=new f1,zc=new Wa;class bke extends f1{constructor(e,t,i){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new ZM(new Float32Array(i*16),16),this.instanceColor=null,this.count=i,this.boundingBox=null,this.boundingSphere=null;for(let r=0;r<i;r++)this.setMatrixAt(r,Ske)}computeBoundingBox(){const e=this.geometry,t=this.count;this.boundingBox===null&&(this.boundingBox=new Ha),e.boundingBox===null&&e.computeBoundingBox(),this.boundingBox.makeEmpty();for(let i=0;i<t;i++)this.getMatrixAt(i,F4),jH.copy(e.boundingBox).applyMatrix4(F4),this.boundingBox.union(jH)}computeBoundingSphere(){const e=this.geometry,t=this.count;this.boundingSphere===null&&(this.boundingSphere=new Wa),e.boundingSphere===null&&e.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let i=0;i<t;i++)this.getMatrixAt(i,F4),zc.copy(e.boundingSphere).applyMatrix4(F4),this.boundingSphere.union(zc)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}raycast(e,t){const i=this.matrixWorld,r=this.count;if(Bc.geometry=this.geometry,Bc.material=this.material,Bc.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),zc.copy(this.boundingSphere),zc.applyMatrix4(i),e.ray.intersectsSphere(zc)!==!1))for(let a=0;a<r;a++){this.getMatrixAt(a,F4),WH.multiplyMatrices(i,F4),Bc.matrixWorld=WH,Bc.raycast(e,rg);for(let o=0,s=rg.length;o<s;o++){const l=rg[o];l.instanceId=a,l.object=this,t.push(l)}rg.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new ZM(new Float32Array(this.instanceMatrix.count*3),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}class Yo extends Na{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new Yt(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const $H=new Ge,YH=new Ge,qH=new F3,aA=new xu,ag=new Wa;let Ph=class extends u0{constructor(e=new Q1,t=new Yo){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[0];for(let r=1,a=t.count;r<a;r++)$H.fromBufferAttribute(t,r-1),YH.fromBufferAttribute(t,r),i[r]=i[r-1],i[r]+=$H.distanceTo(YH);e.setAttribute("lineDistance",new S0(i,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,a=e.params.Line.threshold,o=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),ag.copy(i.boundingSphere),ag.applyMatrix4(r),ag.radius+=a,e.ray.intersectsSphere(ag)===!1)return;qH.copy(r).invert(),aA.copy(e.ray).applyMatrix4(qH);const s=a/((this.scale.x+this.scale.y+this.scale.z)/3),l=s*s,u=new Ge,c=new Ge,d=new Ge,h=new Ge,f=this.isLineSegments?2:1,p=i.index,m=i.attributes.position;if(p!==null){const v=Math.max(0,o.start),_=Math.min(p.count,o.start+o.count);for(let S=v,x=_-1;S<x;S+=f){const A=p.getX(S),C=p.getX(S+1);if(u.fromBufferAttribute(m,A),c.fromBufferAttribute(m,C),aA.distanceSqToSegment(u,c,h,d)>l)continue;h.applyMatrix4(this.matrixWorld);const I=e.ray.origin.distanceTo(h);I<e.near||I>e.far||t.push({distance:I,point:d.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}else{const v=Math.max(0,o.start),_=Math.min(m.count,o.start+o.count);for(let S=v,x=_-1;S<x;S+=f){if(u.fromBufferAttribute(m,S),c.fromBufferAttribute(m,S+1),aA.distanceSqToSegment(u,c,h,d)>l)continue;h.applyMatrix4(this.matrixWorld);const C=e.ray.origin.distanceTo(h);C<e.near||C>e.far||t.push({distance:C,point:d.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=r.length;a<o;a++){const s=r[a].name||String(a);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=a}}}}};const XH=new Ge,KH=new Ge;class TL extends Ph{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,i=[];for(let r=0,a=t.count;r<a;r+=2)XH.fromBufferAttribute(t,r),KH.fromBufferAttribute(t,r+1),i[r]=r===0?0:i[r-1],i[r+1]=i[r]+XH.distanceTo(KH);e.setAttribute("lineDistance",new S0(i,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class Oy extends Ph{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type="LineLoop"}}class mf extends Na{constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new Yt(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}const ZH=new F3,JM=new xu,og=new Wa,sg=new Ge;class AL extends u0{constructor(e=new Q1,t=new mf){super(),this.isPoints=!0,this.type="Points",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){const i=this.geometry,r=this.matrixWorld,a=e.params.Points.threshold,o=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),og.copy(i.boundingSphere),og.applyMatrix4(r),og.radius+=a,e.ray.intersectsSphere(og)===!1)return;ZH.copy(r).invert(),JM.copy(e.ray).applyMatrix4(ZH);const s=a/((this.scale.x+this.scale.y+this.scale.z)/3),l=s*s,u=i.index,d=i.attributes.position;if(u!==null){const h=Math.max(0,o.start),f=Math.min(u.count,o.start+o.count);for(let p=h,g=f;p<g;p++){const m=u.getX(p);sg.fromBufferAttribute(d,m),JH(sg,m,l,r,e,t,this)}}else{const h=Math.max(0,o.start),f=Math.min(d.count,o.start+o.count);for(let p=h,g=f;p<g;p++)sg.fromBufferAttribute(d,p),JH(sg,p,l,r,e,t,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=r.length;a<o;a++){const s=r[a].name||String(a);this.morphTargetInfluences.push(0),this.morphTargetDictionary[s]=a}}}}}function JH(n,e,t,i,r,a,o){const s=JM.distanceSqToPoint(n);if(s<t){const l=new Ge;JM.closestPointToPoint(n,l),l.applyMatrix4(i);const u=r.ray.origin.distanceTo(l);if(u<r.near||u>r.far)return;a.push({distance:u,distanceToRay:Math.sqrt(s),point:l,index:e,face:null,object:o})}}class CL extends Sn{constructor(e,t,i,r,a,o,s,l,u){super(e,t,i,r,a,o,s,l,u),this.isCanvasTexture=!0,this.needsUpdate=!0}}class ms{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,r=this.getPoint(0),a=0;t.push(0);for(let o=1;o<=e;o++)i=this.getPoint(o/e),a+=i.distanceTo(r),t.push(a),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const i=this.getLengths();let r=0;const a=i.length;let o;t?o=t:o=e*i[a-1];let s=0,l=a-1,u;for(;s<=l;)if(r=Math.floor(s+(l-s)/2),u=i[r]-o,u<0)s=r+1;else if(u>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(a-1);const c=i[r],h=i[r+1]-c,f=(o-c)/h;return(r+f)/(a-1)}getTangent(e,t){let r=e-1e-4,a=e+1e-4;r<0&&(r=0),a>1&&(a=1);const o=this.getPoint(r),s=this.getPoint(a),l=t||(o.isVector2?new J2:new Ge);return l.copy(s).sub(o).normalize(),l}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){const i=new Ge,r=[],a=[],o=[],s=new Ge,l=new F3;for(let f=0;f<=e;f++){const p=f/e;r[f]=this.getTangentAt(p,new Ge)}a[0]=new Ge,o[0]=new Ge;let u=Number.MAX_VALUE;const c=Math.abs(r[0].x),d=Math.abs(r[0].y),h=Math.abs(r[0].z);c<=u&&(u=c,i.set(1,0,0)),d<=u&&(u=d,i.set(0,1,0)),h<=u&&i.set(0,0,1),s.crossVectors(r[0],i).normalize(),a[0].crossVectors(r[0],s),o[0].crossVectors(r[0],a[0]);for(let f=1;f<=e;f++){if(a[f]=a[f-1].clone(),o[f]=o[f-1].clone(),s.crossVectors(r[f-1],r[f]),s.length()>Number.EPSILON){s.normalize();const p=Math.acos(cn(r[f-1].dot(r[f]),-1,1));a[f].applyMatrix4(l.makeRotationAxis(s,p))}o[f].crossVectors(r[f],a[f])}if(t===!0){let f=Math.acos(cn(a[0].dot(a[e]),-1,1));f/=e,r[0].dot(s.crossVectors(a[0],a[e]))>0&&(f=-f);for(let p=1;p<=e;p++)a[p].applyMatrix4(l.makeRotationAxis(r[p],f*p)),o[p].crossVectors(r[p],a[p])}return{tangents:r,normals:a,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class ML extends ms{constructor(e=0,t=0,i=1,r=1,a=0,o=Math.PI*2,s=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=a,this.aEndAngle=o,this.aClockwise=s,this.aRotation=l}getPoint(e,t){const i=t||new J2,r=Math.PI*2;let a=this.aEndAngle-this.aStartAngle;const o=Math.abs(a)<Number.EPSILON;for(;a<0;)a+=r;for(;a>r;)a-=r;a<Number.EPSILON&&(o?a=0:a=r),this.aClockwise===!0&&!o&&(a===r?a=-r:a=a-r);const s=this.aStartAngle+e*a;let l=this.aX+this.xRadius*Math.cos(s),u=this.aY+this.yRadius*Math.sin(s);if(this.aRotation!==0){const c=Math.cos(this.aRotation),d=Math.sin(this.aRotation),h=l-this.aX,f=u-this.aY;l=h*c-f*d+this.aX,u=h*d+f*c+this.aY}return i.set(l,u)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){const e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}}class xke extends ML{constructor(e,t,i,r,a,o){super(e,t,i,i,r,a,o),this.isArcCurve=!0,this.type="ArcCurve"}}function EL(){let n=0,e=0,t=0,i=0;function r(a,o,s,l){n=a,e=s,t=-3*a+3*o-2*s-l,i=2*a-2*o+s+l}return{initCatmullRom:function(a,o,s,l,u){r(o,s,u*(s-a),u*(l-o))},initNonuniformCatmullRom:function(a,o,s,l,u,c,d){let h=(o-a)/u-(s-a)/(u+c)+(s-o)/c,f=(s-o)/c-(l-o)/(c+d)+(l-s)/d;h*=c,f*=c,r(o,s,h,f)},calc:function(a){const o=a*a,s=o*a;return n+e*a+t*o+i*s}}}const lg=new Ge,oA=new EL,sA=new EL,lA=new EL;class PL extends ms{constructor(e=[],t=!1,i="centripetal",r=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=i,this.tension=r}getPoint(e,t=new Ge){const i=t,r=this.points,a=r.length,o=(a-(this.closed?0:1))*e;let s=Math.floor(o),l=o-s;this.closed?s+=s>0?0:(Math.floor(Math.abs(s)/a)+1)*a:l===0&&s===a-1&&(s=a-2,l=1);let u,c;this.closed||s>0?u=r[(s-1)%a]:(lg.subVectors(r[0],r[1]).add(r[0]),u=lg);const d=r[s%a],h=r[(s+1)%a];if(this.closed||s+2<a?c=r[(s+2)%a]:(lg.subVectors(r[a-1],r[a-2]).add(r[a-1]),c=lg),this.curveType==="centripetal"||this.curveType==="chordal"){const f=this.curveType==="chordal"?.5:.25;let p=Math.pow(u.distanceToSquared(d),f),g=Math.pow(d.distanceToSquared(h),f),m=Math.pow(h.distanceToSquared(c),f);g<1e-4&&(g=1),p<1e-4&&(p=g),m<1e-4&&(m=g),oA.initNonuniformCatmullRom(u.x,d.x,h.x,c.x,p,g,m),sA.initNonuniformCatmullRom(u.y,d.y,h.y,c.y,p,g,m),lA.initNonuniformCatmullRom(u.z,d.z,h.z,c.z,p,g,m)}else this.curveType==="catmullrom"&&(oA.initCatmullRom(u.x,d.x,h.x,c.x,this.tension),sA.initCatmullRom(u.y,d.y,h.y,c.y,this.tension),lA.initCatmullRom(u.z,d.z,h.z,c.z,this.tension));return i.set(oA.calc(l),sA.calc(l),lA.calc(l)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(r.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;t<i;t++){const r=this.points[t];e.points.push(r.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(new Ge().fromArray(r))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}}function QH(n,e,t,i,r){const a=(i-e)*.5,o=(r-t)*.5,s=n*n,l=n*s;return(2*t-2*i+a+o)*l+(-3*t+3*i-2*a-o)*s+a*n+t}function wke(n,e){const t=1-n;return t*t*e}function Tke(n,e){return 2*(1-n)*n*e}function Ake(n,e){return n*n*e}function Id(n,e,t,i){return wke(n,e)+Tke(n,t)+Ake(n,i)}function Cke(n,e){const t=1-n;return t*t*t*e}function Mke(n,e){const t=1-n;return 3*t*t*n*e}function Eke(n,e){return 3*(1-n)*n*n*e}function Pke(n,e){return n*n*n*e}function Dd(n,e,t,i,r){return Cke(n,e)+Mke(n,t)+Eke(n,i)+Pke(n,r)}class l2e extends ms{constructor(e=new J2,t=new J2,i=new J2,r=new J2){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=i,this.v3=r}getPoint(e,t=new J2){const i=t,r=this.v0,a=this.v1,o=this.v2,s=this.v3;return i.set(Dd(e,r.x,a.x,o.x,s.x),Dd(e,r.y,a.y,o.y,s.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class Rke extends ms{constructor(e=new Ge,t=new Ge,i=new Ge,r=new Ge){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=i,this.v3=r}getPoint(e,t=new Ge){const i=t,r=this.v0,a=this.v1,o=this.v2,s=this.v3;return i.set(Dd(e,r.x,a.x,o.x,s.x),Dd(e,r.y,a.y,o.y,s.y),Dd(e,r.z,a.z,o.z,s.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class u2e extends ms{constructor(e=new J2,t=new J2){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e,t=new J2){const i=t;return e===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new J2){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class Lke extends ms{constructor(e=new Ge,t=new Ge){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=e,this.v2=t}getPoint(e,t=new Ge){const i=t;return e===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new Ge){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class c2e extends ms{constructor(e=new J2,t=new J2,i=new J2){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new J2){const i=t,r=this.v0,a=this.v1,o=this.v2;return i.set(Id(e,r.x,a.x,o.x),Id(e,r.y,a.y,o.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class d2e extends ms{constructor(e=new Ge,t=new Ge,i=new Ge){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new Ge){const i=t,r=this.v0,a=this.v1,o=this.v2;return i.set(Id(e,r.x,a.x,o.x),Id(e,r.y,a.y,o.y),Id(e,r.z,a.z,o.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class h2e extends ms{constructor(e=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=e}getPoint(e,t=new J2){const i=t,r=this.points,a=(r.length-1)*e,o=Math.floor(a),s=a-o,l=r[o===0?o:o-1],u=r[o],c=r[o>r.length-2?r.length-1:o+1],d=r[o>r.length-3?r.length-1:o+2];return i.set(QH(s,l.x,u.x,c.x,d.x),QH(s,l.y,u.y,c.y,d.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(r.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;t<i;t++){const r=this.points[t];e.points.push(r.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){const r=e.points[t];this.points.push(new J2().fromArray(r))}return this}}var By=Object.freeze({__proto__:null,ArcCurve:xke,CatmullRomCurve3:PL,CubicBezierCurve:l2e,CubicBezierCurve3:Rke,EllipseCurve:ML,LineCurve:u2e,LineCurve3:Lke,QuadraticBezierCurve:c2e,QuadraticBezierCurve3:d2e,SplineCurve:h2e});class Ike extends ms{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);if(!e.equals(t)){const i=e.isVector2===!0?"LineCurve":"LineCurve3";this.curves.push(new By[i](t,e))}return this}getPoint(e,t){const i=e*this.getLength(),r=this.getCurveLengths();let a=0;for(;a<r.length;){if(r[a]>=i){const o=r[a]-i,s=this.curves[a],l=s.getLength(),u=l===0?0:1-o/l;return s.getPointAt(u,t)}a++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i<r;i++)t+=this.curves[i].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){const t=[];let i;for(let r=0,a=this.curves;r<a.length;r++){const o=a[r],s=o.isEllipseCurve?e*2:o.isLineCurve||o.isLineCurve3?1:o.isSplineCurve?e*o.points.length:e,l=o.getPoints(s);for(let u=0;u<l.length;u++){const c=l[u];i&&i.equals(c)||(t.push(c),i=c)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t<i;t++){const r=e.curves[t];this.curves.push(r.clone())}return this.autoClose=e.autoClose,this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,i=this.curves.length;t<i;t++){const r=this.curves[t];e.curves.push(r.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,i=e.curves.length;t<i;t++){const r=e.curves[t];this.curves.push(new By[r.type]().fromJSON(r))}return this}}class eW extends Ike{constructor(e){super(),this.type="Path",this.currentPoint=new J2,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,i=e.length;t<i;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){const i=new u2e(this.currentPoint.clone(),new J2(e,t));return this.curves.push(i),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,i,r){const a=new c2e(this.currentPoint.clone(),new J2(e,t),new J2(i,r));return this.curves.push(a),this.currentPoint.set(i,r),this}bezierCurveTo(e,t,i,r,a,o){const s=new l2e(this.currentPoint.clone(),new J2(e,t),new J2(i,r),new J2(a,o));return this.curves.push(s),this.currentPoint.set(a,o),this}splineThru(e){const t=[this.currentPoint.clone()].concat(e),i=new h2e(t);return this.curves.push(i),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,i,r,a,o){const s=this.currentPoint.x,l=this.currentPoint.y;return this.absarc(e+s,t+l,i,r,a,o),this}absarc(e,t,i,r,a,o){return this.absellipse(e,t,i,i,r,a,o),this}ellipse(e,t,i,r,a,o,s,l){const u=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(e+u,t+c,i,r,a,o,s,l),this}absellipse(e,t,i,r,a,o,s,l){const u=new ML(e,t,i,r,a,o,s,l);if(this.curves.length>0){const d=u.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(u);const c=u.getPoint(1);return this.currentPoint.copy(c),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class ns extends eW{constructor(e){super(e),this.uuid=Da(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let i=0,r=this.holes.length;i<r;i++)t[i]=this.holes[i].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,i=e.holes.length;t<i;t++){const r=e.holes[t];this.holes.push(r.clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,i=this.holes.length;t<i;t++){const r=this.holes[t];e.holes.push(r.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,i=e.holes.length;t<i;t++){const r=e.holes[t];this.holes.push(new eW().fromJSON(r))}return this}}const Dke={triangulate:function(n,e,t=2){const i=e&&e.length,r=i?e[0]*t:n.length;let a=f2e(n,0,r,t,!0);const o=[];if(!a||a.next===a.prev)return o;let s,l,u,c,d,h,f;if(i&&(a=Bke(n,e,a,t)),n.length>80*t){s=u=n[0],l=c=n[1];for(let p=t;p<r;p+=t)d=n[p],h=n[p+1],d<s&&(s=d),h<l&&(l=h),d>u&&(u=d),h>c&&(c=h);f=Math.max(u-s,c-l),f=f!==0?32767/f:0}return Rh(a,o,t,s,l,f,0),o}};function f2e(n,e,t,i,r){let a,o;if(r===Xke(n,e,t,i)>0)for(a=e;a<t;a+=i)o=tW(a,n[a],n[a+1],o);else for(a=t-i;a>=e;a-=i)o=tW(a,n[a],n[a+1],o);return o&&uS(o,o.next)&&(Ih(o),o=o.next),o}function cl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(uS(t,t.next)||R0(t.prev,t,t.next)===0)){if(Ih(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Rh(n,e,t,i,r,a,o){if(!n)return;!o&&a&&Hke(n,i,r,a);let s=n,l,u;for(;n.prev!==n.next;){if(l=n.prev,u=n.next,a?kke(n,i,r,a):Nke(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(u.i/t|0),Ih(n),n=u.next,s=u.next;continue}if(n=u,n===s){o?o===1?(n=Fke(cl(n),e,t),Rh(n,e,t,i,r,a,2)):o===2&&Oke(n,e,t,i,r,a):Rh(cl(n),e,t,i,r,a,1);break}}}function Nke(n){const e=n.prev,t=n,i=n.next;if(R0(e,t,i)>=0)return!1;const r=e.x,a=t.x,o=i.x,s=e.y,l=t.y,u=i.y,c=r<a?r<o?r:o:a<o?a:o,d=s<l?s<u?s:u:l<u?l:u,h=r>a?r>o?r:o:a>o?a:o,f=s>l?s>u?s:u:l>u?l:u;let p=i.next;for(;p!==e;){if(p.x>=c&&p.x<=h&&p.y>=d&&p.y<=f&&n7(r,s,a,l,o,u,p.x,p.y)&&R0(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function kke(n,e,t,i){const r=n.prev,a=n,o=n.next;if(R0(r,a,o)>=0)return!1;const s=r.x,l=a.x,u=o.x,c=r.y,d=a.y,h=o.y,f=s<l?s<u?s:u:l<u?l:u,p=c<d?c<h?c:h:d<h?d:h,g=s>l?s>u?s:u:l>u?l:u,m=c>d?c>h?c:h:d>h?d:h,v=QM(f,p,e,t,i),_=QM(g,m,e,t,i);let S=n.prevZ,x=n.nextZ;for(;S&&S.z>=v&&x&&x.z<=_;){if(S.x>=f&&S.x<=g&&S.y>=p&&S.y<=m&&S!==r&&S!==o&&n7(s,c,l,d,u,h,S.x,S.y)&&R0(S.prev,S,S.next)>=0||(S=S.prevZ,x.x>=f&&x.x<=g&&x.y>=p&&x.y<=m&&x!==r&&x!==o&&n7(s,c,l,d,u,h,x.x,x.y)&&R0(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;S&&S.z>=v;){if(S.x>=f&&S.x<=g&&S.y>=p&&S.y<=m&&S!==r&&S!==o&&n7(s,c,l,d,u,h,S.x,S.y)&&R0(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;x&&x.z<=_;){if(x.x>=f&&x.x<=g&&x.y>=p&&x.y<=m&&x!==r&&x!==o&&n7(s,c,l,d,u,h,x.x,x.y)&&R0(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function Fke(n,e,t){let i=n;do{const r=i.prev,a=i.next.next;!uS(r,a)&&p2e(r,i,i.next,a)&&Lh(r,a)&&Lh(a,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(a.i/t|0),Ih(i),Ih(i.next),i=n=a),i=i.next}while(i!==n);return cl(i)}function Oke(n,e,t,i,r,a){let o=n;do{let s=o.next.next;for(;s!==o.prev;){if(o.i!==s.i&&$ke(o,s)){let l=m2e(o,s);o=cl(o,o.next),l=cl(l,l.next),Rh(o,e,t,i,r,a,0),Rh(l,e,t,i,r,a,0);return}s=s.next}o=o.next}while(o!==n)}function Bke(n,e,t,i){const r=[];let a,o,s,l,u;for(a=0,o=e.length;a<o;a++)s=e[a]*i,l=a<o-1?e[a+1]*i:n.length,u=f2e(n,s,l,i,!1),u===u.next&&(u.steiner=!0),r.push(jke(u));for(r.sort(zke),a=0;a<r.length;a++)t=Uke(r[a],t);return t}function zke(n,e){return n.x-e.x}function Uke(n,e){const t=Gke(n,e);if(!t)return e;const i=m2e(t,n);return cl(i,i.next),cl(t,t.next)}function Gke(n,e){let t=e,i=-1/0,r;const a=n.x,o=n.y;do{if(o<=t.y&&o>=t.next.y&&t.next.y!==t.y){const h=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(h<=a&&h>i&&(i=h,r=t.x<t.next.x?t:t.next,h===a))return r}t=t.next}while(t!==e);if(!r)return null;const s=r,l=r.x,u=r.y;let c=1/0,d;t=r;do a>=t.x&&t.x>=l&&a!==t.x&&n7(o<u?a:i,o,l,u,o<u?i:a,o,t.x,t.y)&&(d=Math.abs(o-t.y)/(a-t.x),Lh(t,n)&&(d<c||d===c&&(t.x>r.x||t.x===r.x&&Vke(r,t)))&&(r=t,c=d)),t=t.next;while(t!==s);return r}function Vke(n,e){return R0(n.prev,n,e.prev)<0&&R0(e.next,n,n.next)<0}function Hke(n,e,t,i){let r=n;do r.z===0&&(r.z=QM(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,Wke(r)}function Wke(n){let e,t,i,r,a,o,s,l,u=1;do{for(t=n,n=null,a=null,o=0;t;){for(o++,i=t,s=0,e=0;e<u&&(s++,i=i.nextZ,!!i);e++);for(l=u;s>0||l>0&&i;)s!==0&&(l===0||!i||t.z<=i.z)?(r=t,t=t.nextZ,s--):(r=i,i=i.nextZ,l--),a?a.nextZ=r:n=r,r.prevZ=a,a=r;t=i}a.nextZ=null,u*=2}while(o>1);return n}function QM(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function jke(n){let e=n,t=n;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==n);return t}function n7(n,e,t,i,r,a,o,s){return(r-o)*(e-s)>=(n-o)*(a-s)&&(n-o)*(i-s)>=(t-o)*(e-s)&&(t-o)*(a-s)>=(r-o)*(i-s)}function $ke(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!Yke(n,e)&&(Lh(n,e)&&Lh(e,n)&&qke(n,e)&&(R0(n.prev,n,e.prev)||R0(n,e.prev,e))||uS(n,e)&&R0(n.prev,n,n.next)>0&&R0(e.prev,e,e.next)>0)}function R0(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function uS(n,e){return n.x===e.x&&n.y===e.y}function p2e(n,e,t,i){const r=cg(R0(n,e,t)),a=cg(R0(n,e,i)),o=cg(R0(t,i,n)),s=cg(R0(t,i,e));return!!(r!==a&&o!==s||r===0&&ug(n,t,e)||a===0&&ug(n,i,e)||o===0&&ug(t,n,i)||s===0&&ug(t,e,i))}function ug(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function cg(n){return n>0?1:n<0?-1:0}function Yke(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&p2e(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function Lh(n,e){return R0(n.prev,n,n.next)<0?R0(n,e,n.next)>=0&&R0(n,n.prev,e)>=0:R0(n,e,n.prev)<0||R0(n,n.next,e)<0}function qke(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,a=(n.y+e.y)/2;do t.y>a!=t.next.y>a&&t.next.y!==t.y&&r<(t.next.x-t.x)*(a-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function m2e(n,e){const t=new eE(n.i,n.x,n.y),i=new eE(e.i,e.x,e.y),r=n.next,a=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,a.next=i,i.prev=a,i}function tW(n,e,t,i){const r=new eE(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Ih(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function eE(n,e,t){this.i=n,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Xke(n,e,t,i){let r=0;for(let a=e,o=t-i;a<t;a+=i)r+=(n[o]-n[a])*(n[a+1]+n[o+1]),o=a;return r}class B5{static area(e){const t=e.length;let i=0;for(let r=t-1,a=0;a<t;r=a++)i+=e[r].x*e[a].y-e[a].x*e[r].y;return i*.5}static isClockWise(e){return B5.area(e)<0}static triangulateShape(e,t){const i=[],r=[],a=[];nW(e),iW(i,e);let o=e.length;t.forEach(nW);for(let l=0;l<t.length;l++)r.push(o),o+=t[l].length,iW(i,t[l]);const s=Dke.triangulate(i,r);for(let l=0;l<s.length;l+=3)a.push(s.slice(l,l+3));return a}}function nW(n){const e=n.length;e>2&&n[e-1].equals(n[0])&&n.pop()}function iW(n,e){for(let t=0;t<e.length;t++)n.push(e[t].x),n.push(e[t].y)}class cS extends Q1{constructor(e=new ns([new J2(.5,.5),new J2(-.5,.5),new J2(-.5,-.5),new J2(.5,-.5)]),t={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];const i=this,r=[],a=[];for(let s=0,l=e.length;s<l;s++){const u=e[s];o(u)}this.setAttribute("position",new S0(r,3)),this.setAttribute("uv",new S0(a,2)),this.computeVertexNormals();function o(s){const l=[],u=t.curveSegments!==void 0?t.curveSegments:12,c=t.steps!==void 0?t.steps:1,d=t.depth!==void 0?t.depth:1;let h=t.bevelEnabled!==void 0?t.bevelEnabled:!0,f=t.bevelThickness!==void 0?t.bevelThickness:.2,p=t.bevelSize!==void 0?t.bevelSize:f-.1,g=t.bevelOffset!==void 0?t.bevelOffset:0,m=t.bevelSegments!==void 0?t.bevelSegments:3;const v=t.extrudePath,_=t.UVGenerator!==void 0?t.UVGenerator:Kke;let S,x=!1,A,C,M,I;v&&(S=v.getSpacedPoints(c),x=!0,h=!1,A=v.computeFrenetFrames(c,!1),C=new Ge,M=new Ge,I=new Ge),h||(m=0,f=0,p=0,g=0);const D=s.extractPoints(u);let E=D.shape;const L=D.holes;if(!B5.isClockWise(E)){E=E.reverse();for(let Re=0,k2=L.length;Re<k2;Re++){const x2=L[Re];B5.isClockWise(x2)&&(L[Re]=x2.reverse())}}const Y=B5.triangulateShape(E,L),G=E;for(let Re=0,k2=L.length;Re<k2;Re++){const x2=L[Re];E=E.concat(x2)}function W(Re,k2,x2){return k2||console.error("THREE.ExtrudeGeometry: vec does not exist"),Re.clone().addScaledVector(k2,x2)}const q=E.length,ce=Y.length;function J(Re,k2,x2){let D2,z,Q2;const Y2=Re.x-k2.x,Ae=Re.y-k2.y,ge=x2.x-Re.x,ke=x2.y-Re.y,d2=Y2*Y2+Ae*Ae,m2=Y2*ke-Ae*ge;if(Math.abs(m2)>Number.EPSILON){const Te=Math.sqrt(d2),ye=Math.sqrt(ge*ge+ke*ke),Le=k2.x-Ae/Te,t2=k2.y+Y2/Te,Oe=x2.x-ke/ye,T2=x2.y+ge/ye,o2=((Oe-Le)*ke-(T2-t2)*ge)/(Y2*ke-Ae*ge);D2=Le+Y2*o2-Re.x,z=t2+Ae*o2-Re.y;const q2=D2*D2+z*z;if(q2<=2)return new J2(D2,z);Q2=Math.sqrt(q2/2)}else{let Te=!1;Y2>Number.EPSILON?ge>Number.EPSILON&&(Te=!0):Y2<-Number.EPSILON?ge<-Number.EPSILON&&(Te=!0):Math.sign(Ae)===Math.sign(ke)&&(Te=!0),Te?(D2=-Ae,z=Y2,Q2=Math.sqrt(d2)):(D2=Y2,z=Ae,Q2=Math.sqrt(d2/2))}return new J2(D2/Q2,z/Q2)}const H=[];for(let Re=0,k2=G.length,x2=k2-1,D2=Re+1;Re<k2;Re++,x2++,D2++)x2===k2&&(x2=0),D2===k2&&(D2=0),H[Re]=J(G[Re],G[x2],G[D2]);const re=[];let ee,se=H.concat();for(let Re=0,k2=L.length;Re<k2;Re++){const x2=L[Re];ee=[];for(let D2=0,z=x2.length,Q2=z-1,Y2=D2+1;D2<z;D2++,Q2++,Y2++)Q2===z&&(Q2=0),Y2===z&&(Y2=0),ee[D2]=J(x2[D2],x2[Q2],x2[Y2]);re.push(ee),se=se.concat(ee)}for(let Re=0;Re<m;Re++){const k2=Re/m,x2=f*Math.cos(k2*Math.PI/2),D2=p*Math.sin(k2*Math.PI/2)+g;for(let z=0,Q2=G.length;z<Q2;z++){const Y2=W(G[z],H[z],D2);p2(Y2.x,Y2.y,-x2)}for(let z=0,Q2=L.length;z<Q2;z++){const Y2=L[z];ee=re[z];for(let Ae=0,ge=Y2.length;Ae<ge;Ae++){const ke=W(Y2[Ae],ee[Ae],D2);p2(ke.x,ke.y,-x2)}}}const Be=p+g;for(let Re=0;Re<q;Re++){const k2=h?W(E[Re],se[Re],Be):E[Re];x?(M.copy(A.normals[0]).multiplyScalar(k2.x),C.copy(A.binormals[0]).multiplyScalar(k2.y),I.copy(S[0]).add(M).add(C),p2(I.x,I.y,I.z)):p2(k2.x,k2.y,0)}for(let Re=1;Re<=c;Re++)for(let k2=0;k2<q;k2++){const x2=h?W(E[k2],se[k2],Be):E[k2];x?(M.copy(A.normals[Re]).multiplyScalar(x2.x),C.copy(A.binormals[Re]).multiplyScalar(x2.y),I.copy(S[Re]).add(M).add(C),p2(I.x,I.y,I.z)):p2(x2.x,x2.y,d/c*Re)}for(let Re=m-1;Re>=0;Re--){const k2=Re/m,x2=f*Math.cos(k2*Math.PI/2),D2=p*Math.sin(k2*Math.PI/2)+g;for(let z=0,Q2=G.length;z<Q2;z++){const Y2=W(G[z],H[z],D2);p2(Y2.x,Y2.y,d+x2)}for(let z=0,Q2=L.length;z<Q2;z++){const Y2=L[z];ee=re[z];for(let Ae=0,ge=Y2.length;Ae<ge;Ae++){const ke=W(Y2[Ae],ee[Ae],D2);x?p2(ke.x,ke.y+S[c-1].y,S[c-1].x+x2):p2(ke.x,ke.y,d+x2)}}}we(),ve();function we(){const Re=r.length/3;if(h){let k2=0,x2=q*k2;for(let D2=0;D2<ce;D2++){const z=Y[D2];c2(z[2]+x2,z[1]+x2,z[0]+x2)}k2=c+m*2,x2=q*k2;for(let D2=0;D2<ce;D2++){const z=Y[D2];c2(z[0]+x2,z[1]+x2,z[2]+x2)}}else{for(let k2=0;k2<ce;k2++){const x2=Y[k2];c2(x2[2],x2[1],x2[0])}for(let k2=0;k2<ce;k2++){const x2=Y[k2];c2(x2[0]+q*c,x2[1]+q*c,x2[2]+q*c)}}i.addGroup(Re,r.length/3-Re,0)}function ve(){const Re=r.length/3;let k2=0;Ke(G,k2),k2+=G.length;for(let x2=0,D2=L.length;x2<D2;x2++){const z=L[x2];Ke(z,k2),k2+=z.length}i.addGroup(Re,r.length/3-Re,1)}function Ke(Re,k2){let x2=Re.length;for(;--x2>=0;){const D2=x2;let z=x2-1;z<0&&(z=Re.length-1);for(let Q2=0,Y2=c+m*2;Q2<Y2;Q2++){const Ae=q*Q2,ge=q*(Q2+1),ke=k2+D2+Ae,d2=k2+z+Ae,m2=k2+z+ge,Te=k2+D2+ge;s2(ke,d2,m2,Te)}}}function p2(Re,k2,x2){l.push(Re),l.push(k2),l.push(x2)}function c2(Re,k2,x2){R2(Re),R2(k2),R2(x2);const D2=r.length/3,z=_.generateTopUV(i,r,D2-3,D2-2,D2-1);w2(z[0]),w2(z[1]),w2(z[2])}function s2(Re,k2,x2,D2){R2(Re),R2(k2),R2(D2),R2(k2),R2(x2),R2(D2);const z=r.length/3,Q2=_.generateSideWallUV(i,r,z-6,z-3,z-2,z-1);w2(Q2[0]),w2(Q2[1]),w2(Q2[3]),w2(Q2[1]),w2(Q2[2]),w2(Q2[3])}function R2(Re){r.push(l[Re*3+0]),r.push(l[Re*3+1]),r.push(l[Re*3+2])}function w2(Re){a.push(Re.x),a.push(Re.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes,i=this.parameters.options;return Zke(t,i,e)}static fromJSON(e,t){const i=[];for(let a=0,o=e.shapes.length;a<o;a++){const s=t[e.shapes[a]];i.push(s)}const r=e.options.extrudePath;return r!==void 0&&(e.options.extrudePath=new By[r.type]().fromJSON(r)),new cS(i,e.options)}}const Kke={generateTopUV:function(n,e,t,i,r){const a=e[t*3],o=e[t*3+1],s=e[i*3],l=e[i*3+1],u=e[r*3],c=e[r*3+1];return[new J2(a,o),new J2(s,l),new J2(u,c)]},generateSideWallUV:function(n,e,t,i,r,a){const o=e[t*3],s=e[t*3+1],l=e[t*3+2],u=e[i*3],c=e[i*3+1],d=e[i*3+2],h=e[r*3],f=e[r*3+1],p=e[r*3+2],g=e[a*3],m=e[a*3+1],v=e[a*3+2];return Math.abs(s-c)<Math.abs(o-u)?[new J2(o,1-l),new J2(u,1-d),new J2(h,1-p),new J2(g,1-v)]:[new J2(s,1-l),new J2(c,1-d),new J2(f,1-p),new J2(m,1-v)]}};function Zke(n,e,t){if(t.shapes=[],Array.isArray(n))for(let i=0,r=n.length;i<r;i++){const a=n[i];t.shapes.push(a.uuid)}else t.shapes.push(n.uuid);return t.options=Object.assign({},e),e.extrudePath!==void 0&&(t.options.extrudePath=e.extrudePath.toJSON()),t}class gf extends Q1{constructor(e=new ns([new J2(0,.5),new J2(-.5,-.5),new J2(.5,-.5)]),t=12){super(),this.type="ShapeGeometry",this.parameters={shapes:e,curveSegments:t};const i=[],r=[],a=[],o=[];let s=0,l=0;if(Array.isArray(e)===!1)u(e);else for(let c=0;c<e.length;c++)u(e[c]),this.addGroup(s,l,c),s+=l,l=0;this.setIndex(i),this.setAttribute("position",new S0(r,3)),this.setAttribute("normal",new S0(a,3)),this.setAttribute("uv",new S0(o,2));function u(c){const d=r.length/3,h=c.extractPoints(t);let f=h.shape;const p=h.holes;B5.isClockWise(f)===!1&&(f=f.reverse());for(let m=0,v=p.length;m<v;m++){const _=p[m];B5.isClockWise(_)===!0&&(p[m]=_.reverse())}const g=B5.triangulateShape(f,p);for(let m=0,v=p.length;m<v;m++){const _=p[m];f=f.concat(_)}for(let m=0,v=f.length;m<v;m++){const _=f[m];r.push(_.x,_.y,0),a.push(0,0,1),o.push(_.x,_.y)}for(let m=0,v=g.length;m<v;m++){const _=g[m],S=_[0]+d,x=_[1]+d,A=_[2]+d;i.push(S,x,A),l+=3}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes;return Jke(t,e)}static fromJSON(e,t){const i=[];for(let r=0,a=e.shapes.length;r<a;r++){const o=t[e.shapes[r]];i.push(o)}return new gf(i,e.curveSegments)}}function Jke(n,e){if(e.shapes=[],Array.isArray(n))for(let t=0,i=n.length;t<i;t++){const r=n[t];e.shapes.push(r.uuid)}else e.shapes.push(n.uuid);return e}class dS extends Q1{constructor(e=new d2e(new Ge(-1,-1,0),new Ge(-1,1,0),new Ge(1,1,0)),t=64,i=1,r=8,a=!1){super(),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:i,radialSegments:r,closed:a};const o=e.computeFrenetFrames(t,a);this.tangents=o.tangents,this.normals=o.normals,this.binormals=o.binormals;const s=new Ge,l=new Ge,u=new J2;let c=new Ge;const d=[],h=[],f=[],p=[];g(),this.setIndex(p),this.setAttribute("position",new S0(d,3)),this.setAttribute("normal",new S0(h,3)),this.setAttribute("uv",new S0(f,2));function g(){for(let S=0;S<t;S++)m(S);m(a===!1?t:0),_(),v()}function m(S){c=e.getPointAt(S/t,c);const x=o.normals[S],A=o.binormals[S];for(let C=0;C<=r;C++){const M=C/r*Math.PI*2,I=Math.sin(M),D=-Math.cos(M);l.x=D*x.x+I*A.x,l.y=D*x.y+I*A.y,l.z=D*x.z+I*A.z,l.normalize(),h.push(l.x,l.y,l.z),s.x=c.x+i*l.x,s.y=c.y+i*l.y,s.z=c.z+i*l.z,d.push(s.x,s.y,s.z)}}function v(){for(let S=1;S<=t;S++)for(let x=1;x<=r;x++){const A=(r+1)*(S-1)+(x-1),C=(r+1)*S+(x-1),M=(r+1)*S+x,I=(r+1)*(S-1)+x;p.push(A,C,I),p.push(C,M,I)}}function _(){for(let S=0;S<=t;S++)for(let x=0;x<=r;x++)u.x=S/t,u.y=x/r,f.push(u.x,u.y)}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}static fromJSON(e){return new dS(new By[e.path.type]().fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class Qke extends Q1{constructor(e=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},e!==null){const t=[],i=new Set,r=new Ge,a=new Ge;if(e.index!==null){const o=e.attributes.position,s=e.index;let l=e.groups;l.length===0&&(l=[{start:0,count:s.count,materialIndex:0}]);for(let u=0,c=l.length;u<c;++u){const d=l[u],h=d.start,f=d.count;for(let p=h,g=h+f;p<g;p+=3)for(let m=0;m<3;m++){const v=s.getX(p+m),_=s.getX(p+(m+1)%3);r.fromBufferAttribute(o,v),a.fromBufferAttribute(o,_),rW(r,a,i)===!0&&(t.push(r.x,r.y,r.z),t.push(a.x,a.y,a.z))}}}else{const o=e.attributes.position;for(let s=0,l=o.count/3;s<l;s++)for(let u=0;u<3;u++){const c=3*s+u,d=3*s+(u+1)%3;r.fromBufferAttribute(o,c),a.fromBufferAttribute(o,d),rW(r,a,i)===!0&&(t.push(r.x,r.y,r.z),t.push(a.x,a.y,a.z))}}this.setAttribute("position",new S0(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}function rW(n,e,t){const i=`${n.x},${n.y},${n.z}-${e.x},${e.y},${e.z}`,r=`${e.x},${e.y},${e.z}-${n.x},${n.y},${n.z}`;return t.has(i)===!0||t.has(r)===!0?!1:(t.add(i),t.add(r),!0)}class R8 extends Na{constructor(e){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Yt(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Yt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=hL,this.normalScale=new J2(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class _6 extends R8{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new J2(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return cn(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new Yt(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new Yt(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new Yt(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class tE extends Na{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Yt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Yt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=hL,this.normalScale=new J2(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=cL,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}function dg(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function eFe(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function tFe(n){function e(r,a){return n[r]-n[a]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function aW(n,e,t){const i=n.length,r=new n.constructor(i);for(let a=0,o=0;o!==i;++a){const s=t[a]*e;for(let l=0;l!==e;++l)r[o++]=n[s+l]}return r}function g2e(n,e,t,i){let r=1,a=n[0];for(;a!==void 0&&a[i]===void 0;)a=n[r++];if(a===void 0)return;let o=a[i];if(o!==void 0)if(Array.isArray(o))do o=a[i],o!==void 0&&(e.push(a.time),t.push.apply(t,o)),a=n[r++];while(a!==void 0);else if(o.toArray!==void 0)do o=a[i],o!==void 0&&(e.push(a.time),o.toArray(t,t.length)),a=n[r++];while(a!==void 0);else do o=a[i],o!==void 0&&(e.push(a.time),t.push(o)),a=n[r++];while(a!==void 0)}class vf{constructor(e,t,i,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r!==void 0?r:new t.constructor(i),this.sampleValues=t,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let i=this._cachedIndex,r=t[i],a=t[i-1];e:{t:{let o;n:{i:if(!(e<r)){for(let s=i+2;;){if(r===void 0){if(e<a)break i;return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===s)break;if(a=r,r=t[++i],e<r)break t}o=t.length;break n}if(!(e>=a)){const s=t[1];e<s&&(i=2,a=s);for(let l=i-2;;){if(a===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===l)break;if(r=a,a=t[--i-1],e>=a)break t}o=i,i=0;break n}break e}for(;i<o;){const s=i+o>>>1;e<t[s]?o=s:i=s+1}if(r=t[i],a=t[i-1],a===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===void 0)return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,a,r)}return this.interpolate_(i,a,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,a=e*r;for(let o=0;o!==r;++o)t[o]=i[a+o];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class nFe extends vf{constructor(e,t,i,r){super(e,t,i,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:WV,endingEnd:WV}}intervalChanged_(e,t,i){const r=this.parameterPositions;let a=e-2,o=e+1,s=r[a],l=r[o];if(s===void 0)switch(this.getSettings_().endingStart){case jV:a=e,s=2*t-i;break;case $V:a=r.length-2,s=t+r[a]-r[a+1];break;default:a=e,s=i}if(l===void 0)switch(this.getSettings_().endingEnd){case jV:o=e,l=2*i-t;break;case $V:o=1,l=i+r[1]-r[0];break;default:o=e-1,l=t}const u=(i-t)*.5,c=this.valueSize;this._weightPrev=u/(t-s),this._weightNext=u/(l-i),this._offsetPrev=a*c,this._offsetNext=o*c}interpolate_(e,t,i,r){const a=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=e*s,u=l-s,c=this._offsetPrev,d=this._offsetNext,h=this._weightPrev,f=this._weightNext,p=(i-t)/(r-t),g=p*p,m=g*p,v=-h*m+2*h*g-h*p,_=(1+h)*m+(-1.5-2*h)*g+(-.5+h)*p+1,S=(-1-f)*m+(1.5+f)*g+.5*p,x=f*m-f*g;for(let A=0;A!==s;++A)a[A]=v*o[c+A]+_*o[u+A]+S*o[l+A]+x*o[d+A];return a}}class iFe extends vf{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const a=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=e*s,u=l-s,c=(i-t)/(r-t),d=1-c;for(let h=0;h!==s;++h)a[h]=o[u+h]*d+o[l+h]*c;return a}}class rFe extends vf{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e){return this.copySampleValue_(e-1)}}class gs{constructor(e,t,i,r){if(e===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(t===void 0||t.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=dg(t,this.TimeBufferType),this.values=dg(i,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let i;if(t.toJSON!==this.toJSON)i=t.toJSON(e);else{i={name:e.name,times:dg(e.times,Array),values:dg(e.values,Array)};const r=e.getInterpolation();r!==e.DefaultInterpolation&&(i.interpolation=r)}return i.type=e.ValueTypeName,i}InterpolantFactoryMethodDiscrete(e){return new rFe(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new iFe(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new nFe(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Mh:t=this.InterpolantFactoryMethodDiscrete;break;case j7:t=this.InterpolantFactoryMethodLinear;break;case IT:t=this.InterpolantFactoryMethodSmooth;break}if(t===void 0){const i="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(i);return console.warn("THREE.KeyframeTrack:",i),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Mh;case this.InterpolantFactoryMethodLinear:return j7;case this.InterpolantFactoryMethodSmooth:return IT}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){const t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]+=e}return this}scale(e){if(e!==1){const t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]*=e}return this}trim(e,t){const i=this.times,r=i.length;let a=0,o=r-1;for(;a!==r&&i[a]<e;)++a;for(;o!==-1&&i[o]>t;)--o;if(++o,a!==0||o!==r){a>=o&&(o=Math.max(o,1),a=o-1);const s=this.getValueSize();this.times=i.slice(a,o),this.values=this.values.slice(a*s,o*s)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,a=i.length;a===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let s=0;s!==a;s++){const l=i[s];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,s,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,s,l,o),e=!1;break}o=l}if(r!==void 0&&eFe(r))for(let s=0,l=r.length;s!==l;++s){const u=r[s];if(isNaN(u)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,s,u),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===IT,a=e.length-1;let o=1;for(let s=1;s<a;++s){let l=!1;const u=e[s],c=e[s+1];if(u!==c&&(s!==1||u!==e[0]))if(r)l=!0;else{const d=s*i,h=d-i,f=d+i;for(let p=0;p!==i;++p){const g=t[d+p];if(g!==t[h+p]||g!==t[f+p]){l=!0;break}}}if(l){if(s!==o){e[o]=e[s];const d=s*i,h=o*i;for(let f=0;f!==i;++f)t[h+f]=t[d+f]}++o}}if(a>0){e[o]=e[a];for(let s=a*i,l=o*i,u=0;u!==i;++u)t[l+u]=t[s+u];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}gs.prototype.TimeBufferType=Float32Array;gs.prototype.ValueBufferType=Float32Array;gs.prototype.DefaultInterpolation=j7;class Au extends gs{}Au.prototype.ValueTypeName="bool";Au.prototype.ValueBufferType=Array;Au.prototype.DefaultInterpolation=Mh;Au.prototype.InterpolantFactoryMethodLinear=void 0;Au.prototype.InterpolantFactoryMethodSmooth=void 0;class v2e extends gs{}v2e.prototype.ValueTypeName="color";class q7 extends gs{}q7.prototype.ValueTypeName="number";class aFe extends vf{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const a=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=(i-t)/(r-t);let u=e*s;for(let c=u+s;u!==c;u+=4)vo.slerpFlat(a,0,o,u-s,o,u,l);return a}}class dl extends gs{InterpolantFactoryMethodLinear(e){return new aFe(this.times,this.values,this.getValueSize(),e)}}dl.prototype.ValueTypeName="quaternion";dl.prototype.DefaultInterpolation=j7;dl.prototype.InterpolantFactoryMethodSmooth=void 0;class Cu extends gs{}Cu.prototype.ValueTypeName="string";Cu.prototype.ValueBufferType=Array;Cu.prototype.DefaultInterpolation=Mh;Cu.prototype.InterpolantFactoryMethodLinear=void 0;Cu.prototype.InterpolantFactoryMethodSmooth=void 0;class X7 extends gs{}X7.prototype.ValueTypeName="vector";class oFe{constructor(e,t=-1,i,r=FPe){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=Da(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let o=0,s=i.length;o!==s;++o)t.push(lFe(i[o]).scale(r));const a=new this(e.name,e.duration,t,e.blendMode);return a.uuid=e.uuid,a}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let a=0,o=i.length;a!==o;++a)t.push(gs.toJSON(i[a]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const a=t.length,o=[];for(let s=0;s<a;s++){let l=[],u=[];l.push((s+a-1)%a,s,(s+1)%a),u.push(0,1,0);const c=tFe(l);l=aW(l,1,c),u=aW(u,1,c),!r&&l[0]===0&&(l.push(a),u.push(u[0])),o.push(new q7(".morphTargetInfluences["+t[s].name+"]",l,u).scale(1/i))}return new this(e,-1,o)}static findByName(e,t){let i=e;if(!Array.isArray(e)){const r=e;i=r.geometry&&r.geometry.animations||r.animations}for(let r=0;r<i.length;r++)if(i[r].name===t)return i[r];return null}static CreateClipsFromMorphTargetSequences(e,t,i){const r={},a=/^([\w-]*?)([\d]+)$/;for(let s=0,l=e.length;s<l;s++){const u=e[s],c=u.name.match(a);if(c&&c.length>1){const d=c[1];let h=r[d];h||(r[d]=h=[]),h.push(u)}}const o=[];for(const s in r)o.push(this.CreateFromMorphTargetSequence(s,r[s],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(d,h,f,p,g){if(f.length!==0){const m=[],v=[];g2e(f,m,v,p),m.length!==0&&g.push(new d(h,m,v))}},r=[],a=e.name||"default",o=e.fps||30,s=e.blendMode;let l=e.length||-1;const u=e.hierarchy||[];for(let d=0;d<u.length;d++){const h=u[d].keys;if(!(!h||h.length===0))if(h[0].morphTargets){const f={};let p;for(p=0;p<h.length;p++)if(h[p].morphTargets)for(let g=0;g<h[p].morphTargets.length;g++)f[h[p].morphTargets[g]]=-1;for(const g in f){const m=[],v=[];for(let _=0;_!==h[p].morphTargets.length;++_){const S=h[p];m.push(S.time),v.push(S.morphTarget===g?1:0)}r.push(new q7(".morphTargetInfluence["+g+"]",m,v))}l=f.length*o}else{const f=".bones["+t[d].name+"]";i(X7,f+".position",h,"pos",r),i(dl,f+".quaternion",h,"rot",r),i(X7,f+".scale",h,"scl",r)}}return r.length===0?null:new this(a,l,r,s)}resetDuration(){const e=this.tracks;let t=0;for(let i=0,r=e.length;i!==r;++i){const a=this.tracks[i];t=Math.max(t,a.times[a.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function sFe(n){switch(n.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return q7;case"vector":case"vector2":case"vector3":case"vector4":return X7;case"color":return v2e;case"quaternion":return dl;case"bool":case"boolean":return Au;case"string":return Cu}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+n)}function lFe(n){if(n.type===void 0)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=sFe(n.type);if(n.times===void 0){const t=[],i=[];g2e(n.keys,t,i,"value"),n.times=t,n.values=i}return e.parse!==void 0?e.parse(n):new e(n.name,n.times,n.values,n.interpolation)}const C5={enabled:!1,files:{},add:function(n,e){this.enabled!==!1&&(this.files[n]=e)},get:function(n){if(this.enabled!==!1)return this.files[n]},remove:function(n){delete this.files[n]},clear:function(){this.files={}}};class y2e{constructor(e,t,i){const r=this;let a=!1,o=0,s=0,l;const u=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=i,this.itemStart=function(c){s++,a===!1&&r.onStart!==void 0&&r.onStart(c,o,s),a=!0},this.itemEnd=function(c){o++,r.onProgress!==void 0&&r.onProgress(c,o,s),o===s&&(a=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(c){r.onError!==void 0&&r.onError(c)},this.resolveURL=function(c){return l?l(c):c},this.setURLModifier=function(c){return l=c,this},this.addHandler=function(c,d){return u.push(c,d),this},this.removeHandler=function(c){const d=u.indexOf(c);return d!==-1&&u.splice(d,2),this},this.getHandler=function(c){for(let d=0,h=u.length;d<h;d+=2){const f=u[d],p=u[d+1];if(f.global&&(f.lastIndex=0),f.test(c))return p}return null}}}const uFe=new y2e;class a9{constructor(e){this.manager=e!==void 0?e:uFe,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const i=this;return new Promise(function(r,a){i.load(e,r,t,a)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}}a9.DEFAULT_MATERIAL_NAME="__DEFAULT";const zs={};class cFe extends Error{constructor(e,t){super(e),this.response=t}}class Dh extends a9{constructor(e){super(e)}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const a=C5.get(e);if(a!==void 0)return this.manager.itemStart(e),setTimeout(()=>{t&&t(a),this.manager.itemEnd(e)},0),a;if(zs[e]!==void 0){zs[e].push({onLoad:t,onProgress:i,onError:r});return}zs[e]=[],zs[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),s=this.mimeType,l=this.responseType;fetch(o).then(u=>{if(u.status===200||u.status===0){if(u.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||u.body===void 0||u.body.getReader===void 0)return u;const c=zs[e],d=u.body.getReader(),h=u.headers.get("Content-Length")||u.headers.get("X-File-Size"),f=h?parseInt(h):0,p=f!==0;let g=0;const m=new ReadableStream({start(v){_();function _(){d.read().then(({done:S,value:x})=>{if(S)v.close();else{g+=x.byteLength;const A=new ProgressEvent("progress",{lengthComputable:p,loaded:g,total:f});for(let C=0,M=c.length;C<M;C++){const I=c[C];I.onProgress&&I.onProgress(A)}v.enqueue(x),_()}})}}});return new Response(m)}else throw new cFe(`fetch for "${u.url}" responded with ${u.status}: ${u.statusText}`,u)}).then(u=>{switch(l){case"arraybuffer":return u.arrayBuffer();case"blob":return u.blob();case"document":return u.text().then(c=>new DOMParser().parseFromString(c,s));case"json":return u.json();default:if(s===void 0)return u.text();{const d=/charset="?([^;"\s]*)"?/i.exec(s),h=d&&d[1]?d[1].toLowerCase():void 0,f=new TextDecoder(h);return u.arrayBuffer().then(p=>f.decode(p))}}}).then(u=>{C5.add(e,u);const c=zs[e];delete zs[e];for(let d=0,h=c.length;d<h;d++){const f=c[d];f.onLoad&&f.onLoad(u)}}).catch(u=>{const c=zs[e];if(c===void 0)throw this.manager.itemError(e),u;delete zs[e];for(let d=0,h=c.length;d<h;d++){const f=c[d];f.onError&&f.onError(u)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class dFe extends a9{constructor(e){super(e)}load(e,t,i,r){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const a=this,o=C5.get(e);if(o!==void 0)return a.manager.itemStart(e),setTimeout(function(){t&&t(o),a.manager.itemEnd(e)},0),o;const s=Eh("img");function l(){c(),C5.add(e,this),t&&t(this),a.manager.itemEnd(e)}function u(d){c(),r&&r(d),a.manager.itemError(e),a.manager.itemEnd(e)}function c(){s.removeEventListener("load",l,!1),s.removeEventListener("error",u,!1)}return s.addEventListener("load",l,!1),s.addEventListener("error",u,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(s.crossOrigin=this.crossOrigin),a.manager.itemStart(e),s.src=e,s}}class RL extends a9{constructor(e){super(e)}load(e,t,i,r){const a=new Sn,o=new dFe(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,function(s){a.image=s,a.needsUpdate=!0,t!==void 0&&t(a)},i,r),a}}class hS extends u0{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new Yt(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}}const uA=new F3,oW=new Ge,sW=new Ge;class LL{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new J2(512,512),this.map=null,this.mapPass=null,this.matrix=new F3,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new yL,this._frameExtents=new J2(1,1),this._viewportCount=1,this._viewports=[new P1(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,i=this.matrix;oW.setFromMatrixPosition(e.matrixWorld),t.position.copy(oW),sW.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(sW),t.updateMatrixWorld(),uA.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(uA),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(uA)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class hFe extends LL{constructor(){super(new gi(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const t=this.camera,i=$7*2*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,a=e.distance||t.far;(i!==t.fov||r!==t.aspect||a!==t.far)&&(t.fov=i,t.aspect=r,t.far=a,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class fFe extends hS{constructor(e,t,i=0,r=Math.PI/3,a=0,o=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(u0.DEFAULT_UP),this.updateMatrix(),this.target=new u0,this.distance=i,this.angle=r,this.penumbra=a,this.decay=o,this.map=null,this.shadow=new hFe}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const lW=new F3,Uc=new Ge,cA=new Ge;class pFe extends LL{constructor(){super(new gi(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new J2(4,2),this._viewportCount=6,this._viewports=[new P1(2,1,1,1),new P1(0,1,1,1),new P1(3,1,1,1),new P1(1,1,1,1),new P1(3,0,1,1),new P1(1,0,1,1)],this._cubeDirections=[new Ge(1,0,0),new Ge(-1,0,0),new Ge(0,0,1),new Ge(0,0,-1),new Ge(0,1,0),new Ge(0,-1,0)],this._cubeUps=[new Ge(0,1,0),new Ge(0,1,0),new Ge(0,1,0),new Ge(0,1,0),new Ge(0,0,1),new Ge(0,0,-1)]}updateMatrices(e,t=0){const i=this.camera,r=this.matrix,a=e.distance||i.far;a!==i.far&&(i.far=a,i.updateProjectionMatrix()),Uc.setFromMatrixPosition(e.matrixWorld),i.position.copy(Uc),cA.copy(i.position),cA.add(this._cubeDirections[t]),i.up.copy(this._cubeUps[t]),i.lookAt(cA),i.updateMatrixWorld(),r.makeTranslation(-Uc.x,-Uc.y,-Uc.z),lW.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(lW)}}class _2e extends hS{constructor(e,t,i=0,r=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=i,this.decay=r,this.shadow=new pFe}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class mFe extends LL{constructor(){super(new sS(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class zy extends hS{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(u0.DEFAULT_UP),this.updateMatrix(),this.target=new u0,this.shadow=new mFe}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class S2e extends hS{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class Nd{static decodeText(e){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i<r;i++)t+=String.fromCharCode(e[i]);try{return decodeURIComponent(escape(t))}catch(i){return t}}static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class gFe extends Q1{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class vFe extends a9{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap=="undefined"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch=="undefined"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const a=this,o=C5.get(e);if(o!==void 0){if(a.manager.itemStart(e),o.then){o.then(u=>{t&&t(u),a.manager.itemEnd(e)}).catch(u=>{r&&r(u)});return}return setTimeout(function(){t&&t(o),a.manager.itemEnd(e)},0),o}const s={};s.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",s.headers=this.requestHeader;const l=fetch(e,s).then(function(u){return u.blob()}).then(function(u){return createImageBitmap(u,Object.assign(a.options,{colorSpaceConversion:"none"}))}).then(function(u){return C5.add(e,u),t&&t(u),a.manager.itemEnd(e),u}).catch(function(u){r&&r(u),C5.remove(e),a.manager.itemError(e),a.manager.itemEnd(e)});C5.add(e,l),a.manager.itemStart(e)}}class yFe{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=uW(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=uW();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function uW(){return(typeof performance=="undefined"?Date:performance).now()}const IL="\\[\\]\\.:\\/",_Fe=new RegExp("["+IL+"]","g"),DL="[^"+IL+"]",SFe="[^"+IL.replace("\\.","")+"]",bFe=/((?:WC+[\/:])*)/.source.replace("WC",DL),xFe=/(WCOD+)?/.source.replace("WCOD",SFe),wFe=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",DL),TFe=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",DL),AFe=new RegExp("^"+bFe+xFe+wFe+TFe+"$"),CFe=["material","materials","bones","map"];class MFe{constructor(e,t,i){const r=i||W1.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,a=i.length;r!==a;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class W1{constructor(e,t,i){this.path=t,this.parsedPath=i||W1.parseTrackName(t),this.node=W1.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new W1.Composite(e,t,i):new W1(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(_Fe,"")}static parseTrackName(e){const t=AFe.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const a=i.nodeName.substring(r+1);CFe.indexOf(a)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=a)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(a){for(let o=0;o<a.length;o++){const s=a[o];if(s.name===t||s.uuid===t)return s;const l=i(s.children);if(l)return l}return null},r=i(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const i=this.resolvedProperty;for(let r=0,a=i.length;r!==a;++r)e[t++]=i[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){const i=this.resolvedProperty;for(let r=0,a=i.length;r!==a;++r)i[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const i=this.resolvedProperty;for(let r=0,a=i.length;r!==a;++r)i[r]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const i=this.resolvedProperty;for(let r=0,a=i.length;r!==a;++r)i[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath,i=t.objectName,r=t.propertyName;let a=t.propertyIndex;if(e||(e=W1.findNode(this.rootNode,t.nodeName),this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(i){let u=t.objectIndex;switch(i){case"materials":if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}e=e.material.materials;break;case"bones":if(!e.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}e=e.skeleton.bones;for(let c=0;c<e.length;c++)if(e[c].name===u){u=c;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}e=e.material.map;break;default:if(e[i]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}e=e[i]}if(u!==void 0){if(e[u]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);return}e=e[u]}}const o=e[r];if(o===void 0){const u=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+u+"."+r+" but it wasn't found.",e);return}let s=this.Versioning.None;this.targetObject=e,e.needsUpdate!==void 0?s=this.Versioning.NeedsUpdate:e.matrixWorldNeedsUpdate!==void 0&&(s=this.Versioning.MatrixWorldNeedsUpdate);let l=this.BindingType.Direct;if(a!==void 0){if(r==="morphTargetInfluences"){if(!e.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!e.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}e.morphTargetDictionary[a]!==void 0&&(a=e.morphTargetDictionary[a])}l=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=a}else o.fromArray!==void 0&&o.toArray!==void 0?(l=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(l=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=r;this.getValue=this.GetterByBindingType[l],this.setValue=this.SetterByBindingTypeAndVersioning[l][s]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}W1.Composite=MFe;W1.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};W1.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};W1.prototype.GetterByBindingType=[W1.prototype._getValue_direct,W1.prototype._getValue_array,W1.prototype._getValue_arrayElement,W1.prototype._getValue_toArray];W1.prototype.SetterByBindingTypeAndVersioning=[[W1.prototype._setValue_direct,W1.prototype._setValue_direct_setNeedsUpdate,W1.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[W1.prototype._setValue_array,W1.prototype._setValue_array_setNeedsUpdate,W1.prototype._setValue_array_setMatrixWorldNeedsUpdate],[W1.prototype._setValue_arrayElement,W1.prototype._setValue_arrayElement_setNeedsUpdate,W1.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[W1.prototype._setValue_fromArray,W1.prototype._setValue_fromArray_setNeedsUpdate,W1.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class nE extends xL{constructor(e,t,i=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=i}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){const t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){const t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}class EFe{constructor(e,t,i=0,r=1/0){this.ray=new xu(e,t),this.near=i,this.far=r,this.camera=null,this.layers=new gL,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)}intersectObject(e,t=!0,i=[]){return iE(e,this,i,t),i.sort(cW),i}intersectObjects(e,t=!0,i=[]){for(let r=0,a=e.length;r<a;r++)iE(e[r],this,i,t);return i.sort(cW),i}}function cW(n,e){return n.distance-e.distance}function iE(n,e,t,i){if(n.layers.test(e.layers)&&n.raycast(e,t),i===!0){const r=n.children;for(let a=0,o=r.length;a<o;a++)iE(r[a],e,t,!0)}}class dW{constructor(e=1,t=0,i=0){return this.radius=e,this.phi=t,this.theta=i,this}set(e,t,i){return this.radius=e,this.phi=t,this.theta=i,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,i){return this.radius=Math.sqrt(e*e+t*t+i*i),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,i),this.phi=Math.acos(cn(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}}const hW=new Ge,hg=new Ge;class PFe{constructor(e=new Ge,t=new Ge){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){hW.subVectors(e,this.start),hg.subVectors(this.end,this.start);const i=hg.dot(hg);let a=hg.dot(hW)/i;return t&&(a=cn(a,0,1)),a}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}class RFe extends TL{constructor(e=10,t=10,i=4473924,r=8947848){i=new Yt(i),r=new Yt(r);const a=t/2,o=e/t,s=e/2,l=[],u=[];for(let h=0,f=0,p=-s;h<=t;h++,p+=o){l.push(-s,0,p,s,0,p),l.push(p,0,-s,p,0,s);const g=h===a?i:r;g.toArray(u,f),f+=3,g.toArray(u,f),f+=3,g.toArray(u,f),f+=3,g.toArray(u,f),f+=3}const c=new Q1;c.setAttribute("position",new S0(l,3)),c.setAttribute("color",new S0(u,3));const d=new Yo({vertexColors:!0,toneMapped:!1});super(c,d),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}class b2e extends TL{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new Q1;r.setAttribute("position",new S0(t,3)),r.setAttribute("color",new S0(i,3));const a=new Yo({vertexColors:!0,toneMapped:!1});super(r,a),this.type="AxesHelper"}setColors(e,t,i){const r=new Yt,a=this.geometry.attributes.color.array;return r.set(e),r.toArray(a,0),r.toArray(a,3),r.set(t),r.toArray(a,6),r.toArray(a,9),r.set(i),r.toArray(a,12),r.toArray(a,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:uL}}));typeof window!="undefined"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=uL);function LFe(n){let e=null,t=!1,i=!1;function r(){!t||i||(n(),e=requestAnimationFrame(r))}function a(){t||(t=!0,r())}function o(){t&&(t=!1,i=!0,cancelAnimationFrame(e))}function s(){!t&&i&&(t=!0,i=!1,r())}return{start:a,pause:o,resume:s,isActive:()=>t}}class fS{constructor(){this.events=new Map}on(e,t){let i=this.events.get(e);i||(i=new Set,this.events.set(e,i)),i.add(t)}off(e,t){const i=this.events.get(e);i&&(t?i.delete(t):this.events.delete(e))}emit(e,...t){const i=this.events.get(e);i&&i.forEach(r=>{r(...t)})}once(e,t){const i=(...r)=>{t(...r),this.off(e,i)};this.on(e,i)}}class IFe extends fS{constructor({canvas:e}){super(),this.canvas=e,this.maxPixelRatio=1,this.handleResize=()=>{this.init(),this.emit("resize")},this.init(),window.addEventListener("resize",this.handleResize)}init(){var t;const e=((t=this.canvas)==null?void 0:t.parentNode)||this.canvas||document.documentElement;this.width=e.offsetWidth||window.innerWidth||1,this.height=e.offsetHeight||window.innerHeight||1,this.pixelRatio=Math.min(window.devicePixelRatio||1,this.maxPixelRatio)}destroy(){window.removeEventListener("resize",this.handleResize),this.off("resize")}}class DFe extends fS{constructor(){super(),this.start=Date.now(),this.current=this.start,this.elapsed=0,this.delta=16,this.clock=new yFe,this.raf=LFe(()=>this.tick()),this.raf.start()}tick(){const e=Date.now();this.delta=e-this.current,this.current=e,this.elapsed=this.current-this.start;const t=this.clock.getDelta(),i=this.clock.getElapsedTime();this.emit("tick",t,i)}destroy(){this.pause(),this.off("tick")}pause(){this.raf.pause()}resume(){this.raf.resume()}isActive(){this.raf.isActive()}}function x2e(n,e=!1){const t=n[0].index!==null,i=new Set(Object.keys(n[0].attributes)),r=new Set(Object.keys(n[0].morphAttributes)),a={},o={},s=n[0].morphTargetsRelative,l=new Q1;let u=0;for(let c=0;c<n.length;++c){const d=n[c];let h=0;if(t!==(d.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const f in d.attributes){if(!i.has(f))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+'. All geometries must have compatible attributes; make sure "'+f+'" attribute exists among all geometries, or in none of them.'),null;a[f]===void 0&&(a[f]=[]),a[f].push(d.attributes[f]),h++}if(h!==i.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". Make sure all geometries have the same number of attributes."),null;if(s!==d.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const f in d.morphAttributes){if(!r.has(f))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". .morphAttributes must be consistent throughout all geometries."),null;o[f]===void 0&&(o[f]=[]),o[f].push(d.morphAttributes[f])}if(e){let f;if(t)f=d.index.count;else if(d.attributes.position!==void 0)f=d.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+c+". The geometry must have either an index or a position attribute"),null;l.addGroup(u,f,c),u+=f}}if(t){let c=0;const d=[];for(let h=0;h<n.length;++h){const f=n[h].index;for(let p=0;p<f.count;++p)d.push(f.getX(p)+c);c+=n[h].attributes.position.count}l.setIndex(d)}for(const c in a){const d=fW(a[c]);if(!d)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+c+" attribute."),null;l.setAttribute(c,d)}for(const c in o){const d=o[c][0].length;if(d===0)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[c]=[];for(let h=0;h<d;++h){const f=[];for(let g=0;g<o[c].length;++g)f.push(o[c][g][h]);const p=fW(f);if(!p)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+c+" morphAttribute."),null;l.morphAttributes[c].push(p)}}return l}function fW(n){let e,t,i,r=-1,a=0;for(let u=0;u<n.length;++u){const c=n[u];if(e===void 0&&(e=c.array.constructor),e!==c.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(t===void 0&&(t=c.itemSize),t!==c.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(i===void 0&&(i=c.normalized),i!==c.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(r===-1&&(r=c.gpuType),r!==c.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;a+=c.count*t}const o=new e(a),s=new I0(o,t,i);let l=0;for(let u=0;u<n.length;++u){const c=n[u];if(c.isInterleavedBufferAttribute){const d=l/t;for(let h=0,f=c.count;h<f;h++)for(let p=0;p<t;p++){const g=c.getComponent(h,p);s.setComponent(h+d,p,g)}}else o.set(c.array,l);l+=c.count*t}return r!==void 0&&(s.gpuType=r),s}function pW(n,e){if(e===OPe)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===$M||e===zee){let t=n.getIndex();if(t===null){const o=[],s=n.getAttribute("position");if(s!==void 0){for(let l=0;l<s.count;l++)o.push(l);n.setIndex(o),t=n.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),n}const i=t.count-2,r=[];if(e===$M)for(let o=1;o<=i;o++)r.push(t.getX(0)),r.push(t.getX(o)),r.push(t.getX(o+1));else for(let o=0;o<i;o++)o%2===0?(r.push(t.getX(o)),r.push(t.getX(o+1)),r.push(t.getX(o+2))):(r.push(t.getX(o+2)),r.push(t.getX(o+1)),r.push(t.getX(o)));r.length/3!==i&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const a=n.clone();return a.setIndex(r),a.clearGroups(),a}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),n}class NFe extends a9{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new zFe(t)}),this.register(function(t){return new qFe(t)}),this.register(function(t){return new XFe(t)}),this.register(function(t){return new KFe(t)}),this.register(function(t){return new GFe(t)}),this.register(function(t){return new VFe(t)}),this.register(function(t){return new HFe(t)}),this.register(function(t){return new WFe(t)}),this.register(function(t){return new BFe(t)}),this.register(function(t){return new jFe(t)}),this.register(function(t){return new UFe(t)}),this.register(function(t){return new YFe(t)}),this.register(function(t){return new $Fe(t)}),this.register(function(t){return new FFe(t)}),this.register(function(t){return new ZFe(t)}),this.register(function(t){return new JFe(t)})}load(e,t,i,r){const a=this;let o;if(this.resourcePath!=="")o=this.resourcePath;else if(this.path!==""){const u=Nd.extractUrlBase(e);o=Nd.resolveURL(u,this.path)}else o=Nd.extractUrlBase(e);this.manager.itemStart(e);const s=function(u){r?r(u):console.error(u),a.manager.itemError(e),a.manager.itemEnd(e)},l=new Dh(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(u){try{a.parse(u,o,function(c){t(c),a.manager.itemEnd(e)},s)}catch(c){s(c)}},i,s)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,i,r){let a;const o={},s={},l=new TextDecoder;if(typeof e=="string")a=JSON.parse(e);else if(e instanceof ArrayBuffer)if(l.decode(new Uint8Array(e,0,4))===w2e){try{o[u1.KHR_BINARY_GLTF]=new QFe(e)}catch(d){r&&r(d);return}a=JSON.parse(o[u1.KHR_BINARY_GLTF].content)}else a=JSON.parse(l.decode(e));else a=e;if(a.asset===void 0||a.asset.version[0]<2){r&&r(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const u=new hOe(a,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let c=0;c<this.pluginCallbacks.length;c++){const d=this.pluginCallbacks[c](u);d.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),s[d.name]=d,o[d.name]=!0}if(a.extensionsUsed)for(let c=0;c<a.extensionsUsed.length;++c){const d=a.extensionsUsed[c],h=a.extensionsRequired||[];switch(d){case u1.KHR_MATERIALS_UNLIT:o[d]=new OFe;break;case u1.KHR_DRACO_MESH_COMPRESSION:o[d]=new eOe(a,this.dracoLoader);break;case u1.KHR_TEXTURE_TRANSFORM:o[d]=new tOe;break;case u1.KHR_MESH_QUANTIZATION:o[d]=new nOe;break;default:h.indexOf(d)>=0&&s[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}u.setExtensions(o),u.setPlugins(s),u.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,a){i.parse(e,t,r,a)})}}function kFe(){let n={};return{get:function(e){return n[e]},add:function(e,t){n[e]=t},remove:function(e){delete n[e]},removeAll:function(){n={}}}}const u1={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class FFe{constructor(e){this.parser=e,this.name=u1.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let i=0,r=t.length;i<r;i++){const a=t[i];a.extensions&&a.extensions[this.name]&&a.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,a.extensions[this.name].light)}}_loadLight(e){const t=this.parser,i="light:"+e;let r=t.cache.get(i);if(r)return r;const a=t.json,l=((a.extensions&&a.extensions[this.name]||{}).lights||[])[e];let u;const c=new Yt(16777215);l.color!==void 0&&c.setRGB(l.color[0],l.color[1],l.color[2],wn);const d=l.range!==void 0?l.range:0;switch(l.type){case"directional":u=new zy(c),u.target.position.set(0,0,-1),u.add(u.target);break;case"point":u=new _2e(c),u.distance=d;break;case"spot":u=new fFe(c),u.distance=d,l.spot=l.spot||{},l.spot.innerConeAngle=l.spot.innerConeAngle!==void 0?l.spot.innerConeAngle:0,l.spot.outerConeAngle=l.spot.outerConeAngle!==void 0?l.spot.outerConeAngle:Math.PI/4,u.angle=l.spot.outerConeAngle,u.penumbra=1-l.spot.innerConeAngle/l.spot.outerConeAngle,u.target.position.set(0,0,-1),u.add(u.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+l.type)}return u.position.set(0,0,0),u.decay=2,l5(u,l),l.intensity!==void 0&&(u.intensity=l.intensity),u.name=t.createUniqueName(l.name||"light_"+e),r=Promise.resolve(u),t.cache.add(i,r),r}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,i=this.parser,a=i.json.nodes[e],s=(a.extensions&&a.extensions[this.name]||{}).light;return s===void 0?null:this._loadLight(s).then(function(l){return i._getNodeRef(t.cache,s,l)})}}class OFe{constructor(){this.name=u1.KHR_MATERIALS_UNLIT}getMaterialType(){return M1}extendParams(e,t,i){const r=[];e.color=new Yt(1,1,1),e.opacity=1;const a=t.pbrMetallicRoughness;if(a){if(Array.isArray(a.baseColorFactor)){const o=a.baseColorFactor;e.color.setRGB(o[0],o[1],o[2],wn),e.opacity=o[3]}a.baseColorTexture!==void 0&&r.push(i.assignTexture(e,"map",a.baseColorTexture,Y1))}return Promise.all(r)}}class BFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=r.extensions[this.name].emissiveStrength;return a!==void 0&&(t.emissiveIntensity=a),Promise.resolve()}}class zFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];if(o.clearcoatFactor!==void 0&&(t.clearcoat=o.clearcoatFactor),o.clearcoatTexture!==void 0&&a.push(i.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),o.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),o.clearcoatRoughnessTexture!==void 0&&a.push(i.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),o.clearcoatNormalTexture!==void 0&&(a.push(i.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),o.clearcoatNormalTexture.scale!==void 0)){const s=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new J2(s,s)}return Promise.all(a)}}class UFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];return o.iridescenceFactor!==void 0&&(t.iridescence=o.iridescenceFactor),o.iridescenceTexture!==void 0&&a.push(i.assignTexture(t,"iridescenceMap",o.iridescenceTexture)),o.iridescenceIor!==void 0&&(t.iridescenceIOR=o.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),o.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=o.iridescenceThicknessMinimum),o.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=o.iridescenceThicknessMaximum),o.iridescenceThicknessTexture!==void 0&&a.push(i.assignTexture(t,"iridescenceThicknessMap",o.iridescenceThicknessTexture)),Promise.all(a)}}class GFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_SHEEN}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[];t.sheenColor=new Yt(0,0,0),t.sheenRoughness=0,t.sheen=1;const o=r.extensions[this.name];if(o.sheenColorFactor!==void 0){const s=o.sheenColorFactor;t.sheenColor.setRGB(s[0],s[1],s[2],wn)}return o.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=o.sheenRoughnessFactor),o.sheenColorTexture!==void 0&&a.push(i.assignTexture(t,"sheenColorMap",o.sheenColorTexture,Y1)),o.sheenRoughnessTexture!==void 0&&a.push(i.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(a)}}class VFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];return o.transmissionFactor!==void 0&&(t.transmission=o.transmissionFactor),o.transmissionTexture!==void 0&&a.push(i.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(a)}}class HFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_VOLUME}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];t.thickness=o.thicknessFactor!==void 0?o.thicknessFactor:0,o.thicknessTexture!==void 0&&a.push(i.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;const s=o.attenuationColor||[1,1,1];return t.attenuationColor=new Yt().setRGB(s[0],s[1],s[2],wn),Promise.all(a)}}class WFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_IOR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const r=this.parser.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=r.extensions[this.name];return t.ior=a.ior!==void 0?a.ior:1.5,Promise.resolve()}}class jFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_SPECULAR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];t.specularIntensity=o.specularFactor!==void 0?o.specularFactor:1,o.specularTexture!==void 0&&a.push(i.assignTexture(t,"specularIntensityMap",o.specularTexture));const s=o.specularColorFactor||[1,1,1];return t.specularColor=new Yt().setRGB(s[0],s[1],s[2],wn),o.specularColorTexture!==void 0&&a.push(i.assignTexture(t,"specularColorMap",o.specularColorTexture,Y1)),Promise.all(a)}}class $Fe{constructor(e){this.parser=e,this.name=u1.EXT_MATERIALS_BUMP}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];return t.bumpScale=o.bumpFactor!==void 0?o.bumpFactor:1,o.bumpTexture!==void 0&&a.push(i.assignTexture(t,"bumpMap",o.bumpTexture)),Promise.all(a)}}class YFe{constructor(e){this.parser=e,this.name=u1.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:_6}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],o=r.extensions[this.name];return o.anisotropyStrength!==void 0&&(t.anisotropy=o.anisotropyStrength),o.anisotropyRotation!==void 0&&(t.anisotropyRotation=o.anisotropyRotation),o.anisotropyTexture!==void 0&&a.push(i.assignTexture(t,"anisotropyMap",o.anisotropyTexture)),Promise.all(a)}}class qFe{constructor(e){this.parser=e,this.name=u1.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,i=t.json,r=i.textures[e];if(!r.extensions||!r.extensions[this.name])return null;const a=r.extensions[this.name],o=t.options.ktx2Loader;if(!o){if(i.extensionsRequired&&i.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,a.source,o)}}class XFe{constructor(e){this.parser=e,this.name=u1.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,a=r.textures[e];if(!a.extensions||!a.extensions[t])return null;const o=a.extensions[t],s=r.images[o.source];let l=i.textureLoader;if(s.uri){const u=i.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class KFe{constructor(e){this.parser=e,this.name=u1.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,i=this.parser,r=i.json,a=r.textures[e];if(!a.extensions||!a.extensions[t])return null;const o=a.extensions[t],s=r.images[o.source];let l=i.textureLoader;if(s.uri){const u=i.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return i.loadTextureImage(e,o.source,l);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return i.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class ZFe{constructor(e){this.name=u1.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){const r=i.extensions[this.name],a=this.parser.getDependency("buffer",r.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return a.then(function(s){const l=r.byteOffset||0,u=r.byteLength||0,c=r.count,d=r.byteStride,h=new Uint8Array(s,l,u);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(c,d,h,r.mode,r.filter).then(function(f){return f.buffer}):o.ready.then(function(){const f=new ArrayBuffer(c*d);return o.decodeGltfBuffer(new Uint8Array(f),c,d,h,r.mode,r.filter),f})})}else return null}}class JFe{constructor(e){this.name=u1.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,i=t.nodes[e];if(!i.extensions||!i.extensions[this.name]||i.mesh===void 0)return null;const r=t.meshes[i.mesh];for(const u of r.primitives)if(u.mode!==va.TRIANGLES&&u.mode!==va.TRIANGLE_STRIP&&u.mode!==va.TRIANGLE_FAN&&u.mode!==void 0)return null;const o=i.extensions[this.name].attributes,s=[],l={};for(const u in o)s.push(this.parser.getDependency("accessor",o[u]).then(c=>(l[u]=c,l[u])));return s.length<1?null:(s.push(this.parser.createNodeMesh(e)),Promise.all(s).then(u=>{const c=u.pop(),d=c.isGroup?c.children:[c],h=u[0].count,f=[];for(const p of d){const g=new F3,m=new Ge,v=new vo,_=new Ge(1,1,1),S=new bke(p.geometry,p.material,h);for(let x=0;x<h;x++)l.TRANSLATION&&m.fromBufferAttribute(l.TRANSLATION,x),l.ROTATION&&v.fromBufferAttribute(l.ROTATION,x),l.SCALE&&_.fromBufferAttribute(l.SCALE,x),S.setMatrixAt(x,g.compose(m,v,_));for(const x in l)if(x==="_COLOR_0"){const A=l[x];S.instanceColor=new ZM(A.array,A.itemSize,A.normalized)}else x!=="TRANSLATION"&&x!=="ROTATION"&&x!=="SCALE"&&p.geometry.setAttribute(x,l[x]);u0.prototype.copy.call(S,p),this.parser.assignFinalMaterial(S),f.push(S)}return c.isGroup?(c.clear(),c.add(...f),c):f[0]}))}}const w2e="glTF",Gc=12,mW={JSON:1313821514,BIN:5130562};class QFe{constructor(e){this.name=u1.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,Gc),i=new TextDecoder;if(this.header={magic:i.decode(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==w2e)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const r=this.header.length-Gc,a=new DataView(e,Gc);let o=0;for(;o<r;){const s=a.getUint32(o,!0);o+=4;const l=a.getUint32(o,!0);if(o+=4,l===mW.JSON){const u=new Uint8Array(e,Gc+o,s);this.content=i.decode(u)}else if(l===mW.BIN){const u=Gc+o;this.body=e.slice(u,u+s)}o+=s}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class eOe{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=u1.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const i=this.json,r=this.dracoLoader,a=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,s={},l={},u={};for(const c in o){const d=rE[c]||c.toLowerCase();s[d]=o[c]}for(const c in e.attributes){const d=rE[c]||c.toLowerCase();if(o[c]!==void 0){const h=i.accessors[e.attributes[c]],f=S7[h.componentType];u[d]=f.name,l[d]=h.normalized===!0}}return t.getDependency("bufferView",a).then(function(c){return new Promise(function(d,h){r.decodeDracoFile(c,function(f){for(const p in f.attributes){const g=f.attributes[p],m=l[p];m!==void 0&&(g.normalized=m)}d(f)},s,u,wn,h)})})}}class tOe{constructor(){this.name=u1.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class nOe{constructor(){this.name=u1.KHR_MESH_QUANTIZATION}}class T2e extends vf{constructor(e,t,i,r){super(e,t,i,r)}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,a=e*r*3+r;for(let o=0;o!==r;o++)t[o]=i[a+o];return t}interpolate_(e,t,i,r){const a=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=s*2,u=s*3,c=r-t,d=(i-t)/c,h=d*d,f=h*d,p=e*u,g=p-u,m=-2*f+3*h,v=f-h,_=1-m,S=v-h+d;for(let x=0;x!==s;x++){const A=o[g+x+s],C=o[g+x+l]*c,M=o[p+x+s],I=o[p+x]*c;a[x]=_*A+S*C+m*M+v*I}return a}}const iOe=new vo;class rOe extends T2e{interpolate_(e,t,i,r){const a=super.interpolate_(e,t,i,r);return iOe.fromArray(a).normalize().toArray(a),a}}const va={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},S7={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},gW={9728:yn,9729:ln,9984:jM,9985:uv,9986:H4,9987:Xs},vW={33071:yi,33648:Ly,10497:In},dA={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},rE={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},e5={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},aOe={CUBICSPLINE:void 0,LINEAR:j7,STEP:Mh},hA={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function oOe(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new R8({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:d6})),n.DefaultMaterial}function t8(n,e,t){for(const i in t.extensions)n[i]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[i]=t.extensions[i])}function l5(n,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(n.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function sOe(n,e,t){let i=!1,r=!1,a=!1;for(let u=0,c=e.length;u<c;u++){const d=e[u];if(d.POSITION!==void 0&&(i=!0),d.NORMAL!==void 0&&(r=!0),d.COLOR_0!==void 0&&(a=!0),i&&r&&a)break}if(!i&&!r&&!a)return Promise.resolve(n);const o=[],s=[],l=[];for(let u=0,c=e.length;u<c;u++){const d=e[u];if(i){const h=d.POSITION!==void 0?t.getDependency("accessor",d.POSITION):n.attributes.position;o.push(h)}if(r){const h=d.NORMAL!==void 0?t.getDependency("accessor",d.NORMAL):n.attributes.normal;s.push(h)}if(a){const h=d.COLOR_0!==void 0?t.getDependency("accessor",d.COLOR_0):n.attributes.color;l.push(h)}}return Promise.all([Promise.all(o),Promise.all(s),Promise.all(l)]).then(function(u){const c=u[0],d=u[1],h=u[2];return i&&(n.morphAttributes.position=c),r&&(n.morphAttributes.normal=d),a&&(n.morphAttributes.color=h),n.morphTargetsRelative=!0,n})}function lOe(n,e){if(n.updateMorphTargets(),e.weights!==void 0)for(let t=0,i=e.weights.length;t<i;t++)n.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(n.morphTargetInfluences.length===t.length){n.morphTargetDictionary={};for(let i=0,r=t.length;i<r;i++)n.morphTargetDictionary[t[i]]=i}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function uOe(n){let e;const t=n.extensions&&n.extensions[u1.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+fA(t.attributes):e=n.indices+":"+fA(n.attributes)+":"+n.mode,n.targets!==void 0)for(let i=0,r=n.targets.length;i<r;i++)e+=":"+fA(n.targets[i]);return e}function fA(n){let e="";const t=Object.keys(n).sort();for(let i=0,r=t.length;i<r;i++)e+=t[i]+":"+n[t[i]]+";";return e}function aE(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function cOe(n){return n.search(/\.jpe?g($|\?)/i)>0||n.search(/^data\:image\/jpeg/)===0?"image/jpeg":n.search(/\.webp($|\?)/i)>0||n.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const dOe=new F3;class hOe{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new kFe,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let i=!1,r=!1,a=-1;typeof navigator!="undefined"&&(i=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf("Firefox")>-1,a=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap=="undefined"||i||r&&a<98?this.textureLoader=new RL(this.options.manager):this.textureLoader=new vFe(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Dh(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const i=this,r=this.json,a=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(o){const s={scene:o[0][r.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:r.asset,parser:i,userData:{}};return t8(a,s,r),l5(s,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(s)})).then(function(){e(s)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[];for(let r=0,a=t.length;r<a;r++){const o=t[r].joints;for(let s=0,l=o.length;s<l;s++)e[o[s]].isBone=!0}for(let r=0,a=e.length;r<a;r++){const o=e[r];o.mesh!==void 0&&(this._addNodeRef(this.meshCache,o.mesh),o.skin!==void 0&&(i[o.mesh].isSkinnedMesh=!0)),o.camera!==void 0&&this._addNodeRef(this.cameraCache,o.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,i){if(e.refs[t]<=1)return i;const r=i.clone(),a=(o,s)=>{const l=this.associations.get(o);l!=null&&this.associations.set(s,l);for(const[u,c]of o.children.entries())a(c,s.children[u])};return a(i,r),r.name+="_instance_"+e.uses[t]++,r}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let i=0;i<t.length;i++){const r=e(t[i]);if(r)return r}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const i=[];for(let r=0;r<t.length;r++){const a=e(t[r]);a&&i.push(a)}return i}getDependency(e,t){const i=e+":"+t;let r=this.cache.get(i);if(!r){switch(e){case"scene":r=this.loadScene(t);break;case"node":r=this._invokeOne(function(a){return a.loadNode&&a.loadNode(t)});break;case"mesh":r=this._invokeOne(function(a){return a.loadMesh&&a.loadMesh(t)});break;case"accessor":r=this.loadAccessor(t);break;case"bufferView":r=this._invokeOne(function(a){return a.loadBufferView&&a.loadBufferView(t)});break;case"buffer":r=this.loadBuffer(t);break;case"material":r=this._invokeOne(function(a){return a.loadMaterial&&a.loadMaterial(t)});break;case"texture":r=this._invokeOne(function(a){return a.loadTexture&&a.loadTexture(t)});break;case"skin":r=this.loadSkin(t);break;case"animation":r=this._invokeOne(function(a){return a.loadAnimation&&a.loadAnimation(t)});break;case"camera":r=this.loadCamera(t);break;default:if(r=this._invokeOne(function(a){return a!=this&&a.getDependency&&a.getDependency(e,t)}),!r)throw new Error("Unknown type: "+e);break}this.cache.add(i,r)}return r}getDependencies(e){let t=this.cache.get(e);if(!t){const i=this,r=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(r.map(function(a,o){return i.getDependency(e,o)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],i=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[u1.KHR_BINARY_GLTF].body);const r=this.options;return new Promise(function(a,o){i.load(Nd.resolveURL(t.uri,r.path),a,void 0,function(){o(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(i){const r=t.byteLength||0,a=t.byteOffset||0;return i.slice(a,a+r)})}loadAccessor(e){const t=this,i=this.json,r=this.json.accessors[e];if(r.bufferView===void 0&&r.sparse===void 0){const o=dA[r.type],s=S7[r.componentType],l=r.normalized===!0,u=new s(r.count*o);return Promise.resolve(new I0(u,o,l))}const a=[];return r.bufferView!==void 0?a.push(this.getDependency("bufferView",r.bufferView)):a.push(null),r.sparse!==void 0&&(a.push(this.getDependency("bufferView",r.sparse.indices.bufferView)),a.push(this.getDependency("bufferView",r.sparse.values.bufferView))),Promise.all(a).then(function(o){const s=o[0],l=dA[r.type],u=S7[r.componentType],c=u.BYTES_PER_ELEMENT,d=c*l,h=r.byteOffset||0,f=r.bufferView!==void 0?i.bufferViews[r.bufferView].byteStride:void 0,p=r.normalized===!0;let g,m;if(f&&f!==d){const v=Math.floor(h/f),_="InterleavedBuffer:"+r.bufferView+":"+r.componentType+":"+v+":"+r.count;let S=t.cache.get(_);S||(g=new u(s,v*f,r.count*f/c),S=new xL(g,f/c),t.cache.add(_,S)),m=new co(S,l,h%f/c,p)}else s===null?g=new u(r.count*l):g=new u(s,h,r.count*l),m=new I0(g,l,p);if(r.sparse!==void 0){const v=dA.SCALAR,_=S7[r.sparse.indices.componentType],S=r.sparse.indices.byteOffset||0,x=r.sparse.values.byteOffset||0,A=new _(o[1],S,r.sparse.count*v),C=new u(o[2],x,r.sparse.count*l);s!==null&&(m=new I0(m.array.slice(),m.itemSize,m.normalized));for(let M=0,I=A.length;M<I;M++){const D=A[M];if(m.setX(D,C[M*l]),l>=2&&m.setY(D,C[M*l+1]),l>=3&&m.setZ(D,C[M*l+2]),l>=4&&m.setW(D,C[M*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return m})}loadTexture(e){const t=this.json,i=this.options,a=t.textures[e].source,o=t.images[a];let s=this.textureLoader;if(o.uri){const l=i.manager.getHandler(o.uri);l!==null&&(s=l)}return this.loadTextureImage(e,a,s)}loadTextureImage(e,t,i){const r=this,a=this.json,o=a.textures[e],s=a.images[t],l=(s.uri||s.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(t,i).then(function(c){c.flipY=!1,c.name=o.name||s.name||"",c.name===""&&typeof s.uri=="string"&&s.uri.startsWith("data:image/")===!1&&(c.name=s.uri);const h=(a.samplers||{})[o.sampler]||{};return c.magFilter=gW[h.magFilter]||ln,c.minFilter=gW[h.minFilter]||Xs,c.wrapS=vW[h.wrapS]||In,c.wrapT=vW[h.wrapT]||In,r.associations.set(c,{textures:e}),c}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(e,t){const i=this,r=this.json,a=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const o=r.images[e],s=self.URL||self.webkitURL;let l=o.uri||"",u=!1;if(o.bufferView!==void 0)l=i.getDependency("bufferView",o.bufferView).then(function(d){u=!0;const h=new Blob([d],{type:o.mimeType});return l=s.createObjectURL(h),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const c=Promise.resolve(l).then(function(d){return new Promise(function(h,f){let p=h;t.isImageBitmapLoader===!0&&(p=function(g){const m=new Sn(g);m.needsUpdate=!0,h(m)}),t.load(Nd.resolveURL(d,a.path),p,void 0,f)})}).then(function(d){return u===!0&&s.revokeObjectURL(l),d.userData.mimeType=o.mimeType||cOe(o.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=c,c}assignTexture(e,t,i,r){const a=this;return this.getDependency("texture",i.index).then(function(o){if(!o)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(o=o.clone(),o.channel=i.texCoord),a.extensions[u1.KHR_TEXTURE_TRANSFORM]){const s=i.extensions!==void 0?i.extensions[u1.KHR_TEXTURE_TRANSFORM]:void 0;if(s){const l=a.associations.get(o);o=a.extensions[u1.KHR_TEXTURE_TRANSFORM].extendTexture(o,s),a.associations.set(o,l)}}return r!==void 0&&(o.colorSpace=r),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,a=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const s="PointsMaterial:"+i.uuid;let l=this.cache.get(s);l||(l=new mf,Na.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(s,l)),i=l}else if(e.isLine){const s="LineBasicMaterial:"+i.uuid;let l=this.cache.get(s);l||(l=new Yo,Na.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(s,l)),i=l}if(r||a||o){let s="ClonedMaterial:"+i.uuid+":";r&&(s+="derivative-tangents:"),a&&(s+="vertex-colors:"),o&&(s+="flat-shading:");let l=this.cache.get(s);l||(l=i.clone(),a&&(l.vertexColors=!0),o&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(s,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return R8}loadMaterial(e){const t=this,i=this.json,r=this.extensions,a=i.materials[e];let o;const s={},l=a.extensions||{},u=[];if(l[u1.KHR_MATERIALS_UNLIT]){const d=r[u1.KHR_MATERIALS_UNLIT];o=d.getMaterialType(),u.push(d.extendParams(s,a,t))}else{const d=a.pbrMetallicRoughness||{};if(s.color=new Yt(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){const h=d.baseColorFactor;s.color.setRGB(h[0],h[1],h[2],wn),s.opacity=h[3]}d.baseColorTexture!==void 0&&u.push(t.assignTexture(s,"map",d.baseColorTexture,Y1)),s.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,s.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(t.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),u.push(t.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture))),o=this._invokeOne(function(h){return h.getMaterialType&&h.getMaterialType(e)}),u.push(Promise.all(this._invokeAll(function(h){return h.extendMaterialParams&&h.extendMaterialParams(e,s)})))}a.doubleSided===!0&&(s.side=o0);const c=a.alphaMode||hA.OPAQUE;if(c===hA.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,c===hA.MASK&&(s.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&o!==M1&&(u.push(t.assignTexture(s,"normalMap",a.normalTexture)),s.normalScale=new J2(1,1),a.normalTexture.scale!==void 0)){const d=a.normalTexture.scale;s.normalScale.set(d,d)}if(a.occlusionTexture!==void 0&&o!==M1&&(u.push(t.assignTexture(s,"aoMap",a.occlusionTexture)),a.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&o!==M1){const d=a.emissiveFactor;s.emissive=new Yt().setRGB(d[0],d[1],d[2],wn)}return a.emissiveTexture!==void 0&&o!==M1&&u.push(t.assignTexture(s,"emissiveMap",a.emissiveTexture,Y1)),Promise.all(u).then(function(){const d=new o(s);return a.name&&(d.name=a.name),l5(d,a),t.associations.set(d,{materials:e}),a.extensions&&t8(r,d,a),d})}createUniqueName(e){const t=W1.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,i=this.extensions,r=this.primitiveCache;function a(s){return i[u1.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(s,t).then(function(l){return yW(l,s,t)})}const o=[];for(let s=0,l=e.length;s<l;s++){const u=e[s],c=uOe(u),d=r[c];if(d)o.push(d.promise);else{let h;u.extensions&&u.extensions[u1.KHR_DRACO_MESH_COMPRESSION]?h=a(u):h=yW(new Q1,u,t),r[c]={primitive:u,promise:h},o.push(h)}}return Promise.all(o)}loadMesh(e){const t=this,i=this.json,r=this.extensions,a=i.meshes[e],o=a.primitives,s=[];for(let l=0,u=o.length;l<u;l++){const c=o[l].material===void 0?oOe(this.cache):this.getDependency("material",o[l].material);s.push(c)}return s.push(t.loadGeometries(o)),Promise.all(s).then(function(l){const u=l.slice(0,l.length-1),c=l[l.length-1],d=[];for(let f=0,p=c.length;f<p;f++){const g=c[f],m=o[f];let v;const _=u[f];if(m.mode===va.TRIANGLES||m.mode===va.TRIANGLE_STRIP||m.mode===va.TRIANGLE_FAN||m.mode===void 0)v=a.isSkinnedMesh===!0?new vke(g,_):new f1(g,_),v.isSkinnedMesh===!0&&v.normalizeSkinWeights(),m.mode===va.TRIANGLE_STRIP?v.geometry=pW(v.geometry,zee):m.mode===va.TRIANGLE_FAN&&(v.geometry=pW(v.geometry,$M));else if(m.mode===va.LINES)v=new TL(g,_);else if(m.mode===va.LINE_STRIP)v=new Ph(g,_);else if(m.mode===va.LINE_LOOP)v=new Oy(g,_);else if(m.mode===va.POINTS)v=new AL(g,_);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+m.mode);Object.keys(v.geometry.morphAttributes).length>0&&lOe(v,a),v.name=t.createUniqueName(a.name||"mesh_"+e),l5(v,a),m.extensions&&t8(r,v,m),t.assignFinalMaterial(v),d.push(v)}for(let f=0,p=d.length;f<p;f++)t.associations.set(d[f],{meshes:e,primitives:f});if(d.length===1)return a.extensions&&t8(r,d[0],a),d[0];const h=new E1;a.extensions&&t8(r,h,a),t.associations.set(h,{meshes:e});for(let f=0,p=d.length;f<p;f++)h.add(d[f]);return h})}loadCamera(e){let t;const i=this.json.cameras[e],r=i[i.type];if(!r){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return i.type==="perspective"?t=new gi(mL.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):i.type==="orthographic"&&(t=new sS(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),l5(t,i),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],i=[];for(let r=0,a=t.joints.length;r<a;r++)i.push(this._loadNodeShallow(t.joints[r]));return t.inverseBindMatrices!==void 0?i.push(this.getDependency("accessor",t.inverseBindMatrices)):i.push(null),Promise.all(i).then(function(r){const a=r.pop(),o=r,s=[],l=[];for(let u=0,c=o.length;u<c;u++){const d=o[u];if(d){s.push(d);const h=new F3;a!==null&&h.fromArray(a.array,u*16),l.push(h)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[u])}return new wL(s,l)})}loadAnimation(e){const t=this.json,i=this,r=t.animations[e],a=r.name?r.name:"animation_"+e,o=[],s=[],l=[],u=[],c=[];for(let d=0,h=r.channels.length;d<h;d++){const f=r.channels[d],p=r.samplers[f.sampler],g=f.target,m=g.node,v=r.parameters!==void 0?r.parameters[p.input]:p.input,_=r.parameters!==void 0?r.parameters[p.output]:p.output;g.node!==void 0&&(o.push(this.getDependency("node",m)),s.push(this.getDependency("accessor",v)),l.push(this.getDependency("accessor",_)),u.push(p),c.push(g))}return Promise.all([Promise.all(o),Promise.all(s),Promise.all(l),Promise.all(u),Promise.all(c)]).then(function(d){const h=d[0],f=d[1],p=d[2],g=d[3],m=d[4],v=[];for(let _=0,S=h.length;_<S;_++){const x=h[_],A=f[_],C=p[_],M=g[_],I=m[_];if(x===void 0)continue;x.updateMatrix&&x.updateMatrix();const D=i._createAnimationTracks(x,A,C,M,I);if(D)for(let E=0;E<D.length;E++)v.push(D[E])}return new oFe(a,void 0,v)})}createNodeMesh(e){const t=this.json,i=this,r=t.nodes[e];return r.mesh===void 0?null:i.getDependency("mesh",r.mesh).then(function(a){const o=i._getNodeRef(i.meshCache,r.mesh,a);return r.weights!==void 0&&o.traverse(function(s){if(s.isMesh)for(let l=0,u=r.weights.length;l<u;l++)s.morphTargetInfluences[l]=r.weights[l]}),o})}loadNode(e){const t=this.json,i=this,r=t.nodes[e],a=i._loadNodeShallow(e),o=[],s=r.children||[];for(let u=0,c=s.length;u<c;u++)o.push(i.getDependency("node",s[u]));const l=r.skin===void 0?Promise.resolve(null):i.getDependency("skin",r.skin);return Promise.all([a,Promise.all(o),l]).then(function(u){const c=u[0],d=u[1],h=u[2];h!==null&&c.traverse(function(f){f.isSkinnedMesh&&f.bind(h,dOe)});for(let f=0,p=d.length;f<p;f++)c.add(d[f]);return c})}_loadNodeShallow(e){const t=this.json,i=this.extensions,r=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const a=t.nodes[e],o=a.name?r.createUniqueName(a.name):"",s=[],l=r._invokeOne(function(u){return u.createNodeMesh&&u.createNodeMesh(e)});return l&&s.push(l),a.camera!==void 0&&s.push(r.getDependency("camera",a.camera).then(function(u){return r._getNodeRef(r.cameraCache,a.camera,u)})),r._invokeAll(function(u){return u.createNodeAttachment&&u.createNodeAttachment(e)}).forEach(function(u){s.push(u)}),this.nodeCache[e]=Promise.all(s).then(function(u){let c;if(a.isBone===!0?c=new s2e:u.length>1?c=new E1:u.length===1?c=u[0]:c=new u0,c!==u[0])for(let d=0,h=u.length;d<h;d++)c.add(u[d]);if(a.name&&(c.userData.name=a.name,c.name=o),l5(c,a),a.extensions&&t8(i,c,a),a.matrix!==void 0){const d=new F3;d.fromArray(a.matrix),c.applyMatrix4(d)}else a.translation!==void 0&&c.position.fromArray(a.translation),a.rotation!==void 0&&c.quaternion.fromArray(a.rotation),a.scale!==void 0&&c.scale.fromArray(a.scale);return r.associations.has(c)||r.associations.set(c,{}),r.associations.get(c).nodes=e,c}),this.nodeCache[e]}loadScene(e){const t=this.extensions,i=this.json.scenes[e],r=this,a=new E1;i.name&&(a.name=r.createUniqueName(i.name)),l5(a,i),i.extensions&&t8(t,a,i);const o=i.nodes||[],s=[];for(let l=0,u=o.length;l<u;l++)s.push(r.getDependency("node",o[l]));return Promise.all(s).then(function(l){for(let c=0,d=l.length;c<d;c++)a.add(l[c]);const u=c=>{const d=new Map;for(const[h,f]of r.associations)(h instanceof Na||h instanceof Sn)&&d.set(h,f);return c.traverse(h=>{const f=r.associations.get(h);f!=null&&d.set(h,f)}),d};return r.associations=u(a),a})}_createAnimationTracks(e,t,i,r,a){const o=[],s=e.name?e.name:e.uuid,l=[];e5[a.path]===e5.weights?e.traverse(function(h){h.morphTargetInfluences&&l.push(h.name?h.name:h.uuid)}):l.push(s);let u;switch(e5[a.path]){case e5.weights:u=q7;break;case e5.rotation:u=dl;break;case e5.position:case e5.scale:u=X7;break;default:switch(i.itemSize){case 1:u=q7;break;case 2:case 3:default:u=X7;break}break}const c=r.interpolation!==void 0?aOe[r.interpolation]:j7,d=this._getArrayFromAccessor(i);for(let h=0,f=l.length;h<f;h++){const p=new u(l[h]+"."+e5[a.path],t.array,d,c);r.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(p),o.push(p)}return o}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const i=aE(t.constructor),r=new Float32Array(t.length);for(let a=0,o=t.length;a<o;a++)r[a]=t[a]*i;t=r}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(i){const r=this instanceof dl?rOe:T2e;return new r(this.times,this.values,this.getValueSize()/3,i)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function fOe(n,e,t){const i=e.attributes,r=new Ha;if(i.POSITION!==void 0){const s=t.json.accessors[i.POSITION],l=s.min,u=s.max;if(l!==void 0&&u!==void 0){if(r.set(new Ge(l[0],l[1],l[2]),new Ge(u[0],u[1],u[2])),s.normalized){const c=aE(S7[s.componentType]);r.min.multiplyScalar(c),r.max.multiplyScalar(c)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const a=e.targets;if(a!==void 0){const s=new Ge,l=new Ge;for(let u=0,c=a.length;u<c;u++){const d=a[u];if(d.POSITION!==void 0){const h=t.json.accessors[d.POSITION],f=h.min,p=h.max;if(f!==void 0&&p!==void 0){if(l.setX(Math.max(Math.abs(f[0]),Math.abs(p[0]))),l.setY(Math.max(Math.abs(f[1]),Math.abs(p[1]))),l.setZ(Math.max(Math.abs(f[2]),Math.abs(p[2]))),h.normalized){const g=aE(S7[h.componentType]);l.multiplyScalar(g)}s.max(l)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}r.expandByVector(s)}n.boundingBox=r;const o=new Wa;r.getCenter(o.center),o.radius=r.min.distanceTo(r.max)/2,n.boundingSphere=o}function yW(n,e,t){const i=e.attributes,r=[];function a(o,s){return t.getDependency("accessor",o).then(function(l){n.setAttribute(s,l)})}for(const o in i){const s=rE[o]||o.toLowerCase();s in n.attributes||r.push(a(i[o],s))}if(e.indices!==void 0&&!n.index){const o=t.getDependency("accessor",e.indices).then(function(s){n.setIndex(s)});r.push(o)}return z1.workingColorSpace!==wn&&"COLOR_0"in i&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${z1.workingColorSpace}" not supported.`),l5(n,e),fOe(n,e,t),Promise.all(r).then(function(){return e.targets!==void 0?sOe(n,e.targets,t):n})}const pA=new WeakMap;class pOe extends a9{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,i,r){const a=new Dh(this.manager);a.setPath(this.path),a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,o=>{this.parse(o,t,r)},i,r)}parse(e,t,i=()=>{}){this.decodeDracoFile(e,t,null,null,Y1).catch(i)}decodeDracoFile(e,t,i,r,a=wn,o=()=>{}){const s={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i,vertexColorSpace:a};return this.decodeGeometry(e,s).then(t).catch(o)}decodeGeometry(e,t){const i=JSON.stringify(t);if(pA.has(e)){const l=pA.get(e);if(l.key===i)return l.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r;const a=this.workerNextTaskID++,o=e.byteLength,s=this._getWorker(a,o).then(l=>(r=l,new Promise((u,c)=>{r._callbacks[a]={resolve:u,reject:c},r.postMessage({type:"decode",id:a,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return s.catch(()=>!0).then(()=>{r&&a&&this._releaseTask(r,a)}),pA.set(e,{key:i,promise:s}),s}_createGeometry(e){const t=new Q1;e.index&&t.setIndex(new I0(e.index.array,1));for(let i=0;i<e.attributes.length;i++){const r=e.attributes[i],a=r.name,o=r.array,s=r.itemSize,l=new I0(o,s);a==="color"&&(this._assignVertexColorSpace(l,r.vertexColorSpace),l.normalized=!(o instanceof Float32Array)),t.setAttribute(a,l)}return t}_assignVertexColorSpace(e,t){if(t!==Y1)return;const i=new Yt;for(let r=0,a=e.count;r<a;r++)i.fromBufferAttribute(e,r).convertSRGBToLinear(),e.setXYZ(r,i.r,i.g,i.b)}_loadLibrary(e,t){const i=new Dh(this.manager);return i.setPath(this.decoderPath),i.setResponseType(t),i.setWithCredentials(this.withCredentials),new Promise((r,a)=>{i.load(e,r,void 0,a)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(i=>{const r=i[0];e||(this.decoderConfig.wasmBinary=i[1]);const a=mOe.toString(),o=["/* draco decoder */",r,"","/* worker */",a.substring(a.indexOf("{")+1,a.lastIndexOf("}"))].join(` |
|
|
`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const r=new Worker(this.workerSourceURL);r._callbacks={},r._taskCosts={},r._taskLoad=0,r.postMessage({type:"init",decoderConfig:this.decoderConfig}),r.onmessage=function(a){const o=a.data;switch(o.type){case"decode":r._callbacks[o.id].resolve(o);break;case"error":r._callbacks[o.id].reject(o);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+o.type+'"')}},this.workerPool.push(r)}else this.workerPool.sort(function(r,a){return r._taskLoad>a._taskLoad?-1:1});const i=this.workerPool[this.workerPool.length-1];return i._taskCosts[e]=t,i._taskLoad+=t,i})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}}function mOe(){let n,e;onmessage=function(o){const s=o.data;switch(s.type){case"init":n=s.decoderConfig,e=new Promise(function(c){n.onModuleLoaded=function(d){c({draco:d})},DracoDecoderModule(n)});break;case"decode":const l=s.buffer,u=s.taskConfig;e.then(c=>{const d=c.draco,h=new d.Decoder;try{const f=t(d,h,new Int8Array(l),u),p=f.attributes.map(g=>g.array.buffer);f.index&&p.push(f.index.array.buffer),self.postMessage({type:"decode",id:s.id,geometry:f},p)}catch(f){console.error(f),self.postMessage({type:"error",id:s.id,error:f.message})}finally{d.destroy(h)}});break}};function t(o,s,l,u){const c=u.attributeIDs,d=u.attributeTypes;let h,f;const p=s.GetEncodedGeometryType(l);if(p===o.TRIANGULAR_MESH)h=new o.Mesh,f=s.DecodeArrayToMesh(l,l.byteLength,h);else if(p===o.POINT_CLOUD)h=new o.PointCloud,f=s.DecodeArrayToPointCloud(l,l.byteLength,h);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!f.ok()||h.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+f.error_msg());const g={index:null,attributes:[]};for(const m in c){const v=self[d[m]];let _,S;if(u.useUniqueIDs)S=c[m],_=s.GetAttributeByUniqueId(h,S);else{if(S=s.GetAttributeId(h,o[c[m]]),S===-1)continue;_=s.GetAttribute(h,S)}const x=r(o,s,h,m,v,_);m==="color"&&(x.vertexColorSpace=u.vertexColorSpace),g.attributes.push(x)}return p===o.TRIANGULAR_MESH&&(g.index=i(o,s,h)),o.destroy(h),g}function i(o,s,l){const c=l.num_faces()*3,d=c*4,h=o._malloc(d);s.GetTrianglesUInt32Array(l,d,h);const f=new Uint32Array(o.HEAPF32.buffer,h,c).slice();return o._free(h),{array:f,itemSize:1}}function r(o,s,l,u,c,d){const h=d.num_components(),p=l.num_points()*h,g=p*c.BYTES_PER_ELEMENT,m=a(o,c),v=o._malloc(g);s.GetAttributeDataArrayForAllPoints(l,d,m,g,v);const _=new c(o.HEAPF32.buffer,v,p).slice();return o._free(v),{name:u,array:_,itemSize:h}}function a(o,s){switch(s){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let dv={GLTFLoader:"GLTF",TextureLoader:"Texture",FontLoader:"Font",MMDLoader:"MMD",MTLLoader:"MTL",OBJLoader:"OBJ",PCDLoader:"PCD",FileLoader:"File",ImageLoader:"Image",ObjectLoader:"Object",MaterialLoader:"Material",CubeTextureLoader:"CubeTexture",RGBELoader:"RGBELoader",FBXLoader:"FBX"};const gOe=Object.values(dv);class vOe extends fS{constructor({dracoPath:e,cloneTextures:t=!1}={}){super(),this.dracoPath=e||"./draco/gltf/",this.cloneTextures=t,this.loaded=!1,this.itemsLoaded=0,this.itemsTotal=0,this.assets=[],this.loaders={},this.initDefaultLoader()}initManager(){const e=new y2e;return e.onProgress=(t,i,r)=>{this.itemsLoaded=i,this.itemsTotal=r,this.emit("onProgress",t,i,r)},e.onError=t=>{this.emit("onError",t)},e}initDefaultLoader(){[{loader:NFe,name:"GLTFLoader"},{loader:RL,name:"TextureLoader"}].map(e=>this.addLoader(e.loader,e.name))}initDraco(e){const t=new pOe;t.setDecoderPath(this.dracoPath),t.preload(),e.setDRACOLoader(t)}addLoader(e,t=""){if(e.name&&dv[t]){if(!this.loaders[t]){let r=new e(this.manager),a=t;r instanceof a9&&(a==="GLTFLoader"&&this.initDraco(r),this.loaders[dv[a]]=r)}}else throw new Error("请配置正确的加载器")}loadItem(e){return new Promise((t,i)=>{if(!this.loaders[e.type])throw new Error(`资源${e.path}没有配置加载器`);this.loaders[e.type].load(e.path,r=>{this.itemsLoaded++,this.emit("onProgress",e.path,this.itemsLoaded,this.itemsTotal),t(V2(y2({},e),{data:r}))},null,r=>{this.emit("onError",r),i(r)})})}loadAll(e){return this.itemsLoaded=0,this.itemsTotal=0,new Promise((t,i)=>{let r=this.matchType(e),a=[];this.itemsTotal=r.length,r.map(o=>{let s=this.loadItem(o);a.push(s)}),Promise.all(a).then(o=>{this.assets=o,this.loaded=!0,this.emit("onLoad"),t(o)}).catch(o=>{this.emit("onError",o),i(o)})})}matchType(e){return this.assets=e.map(t=>({type:gOe.includes(t.type)?t.type:"",path:t.path,name:t.name,data:null})).filter(t=>{if(!t.type)throw new Error(`资源${t.path},type不正确`);return t.type}),this.assets}getResource(e){var i;let t=this.assets.find(r=>r.name===e);if(!t)throw new Error(`资源${e}不存在`);return this.cloneTextures&&t.type===dv.TextureLoader&&((i=t.data)!=null&&i.isTexture)?t.data.clone():t.data}destroy(){this.off("onProgress"),this.off("onLoad"),this.off("onError"),this.assets=[]}}const A2e=n=>{n instanceof Array?n.forEach(A2e):(n.map&&n.map.dispose(),n.dispose())},C2e=n=>{n.geometry&&n.geometry.dispose(),n.material&&A2e(n.material),n.texture&&n.texture.dispose(),n.children&&n.children.forEach(C2e)},yOe=n=>{if(n&&n.children)for(;n.children.length;){const e=n.children[0];n.remove(e),C2e(e)}};var NL={exports:{}},_Oe=function(e,t,i,r){var a=e[0],o=e[1],s=!1;i===void 0&&(i=0),r===void 0&&(r=t.length);for(var l=(r-i)/2,u=0,c=l-1;u<l;c=u++){var d=t[i+u*2+0],h=t[i+u*2+1],f=t[i+c*2+0],p=t[i+c*2+1],g=h>o!=p>o&&a<(f-d)*(o-h)/(p-h)+d;g&&(s=!s)}return s},SOe=function(e,t,i,r){var a=e[0],o=e[1],s=!1;i===void 0&&(i=0),r===void 0&&(r=t.length);for(var l=r-i,u=0,c=l-1;u<l;c=u++){var d=t[u+i][0],h=t[u+i][1],f=t[c+i][0],p=t[c+i][1],g=h>o!=p>o&&a<(f-d)*(o-h)/(p-h)+d;g&&(s=!s)}return s},M2e=_Oe,E2e=SOe;NL.exports=function(e,t,i,r){return t.length>0&&Array.isArray(t[0])?E2e(e,t,i,r):M2e(e,t,i,r)};NL.exports.nested=E2e;NL.exports.flat=M2e;function bOe(n=10,e=62){var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),i=[],r;if(e=e||t.length,n)for(r=0;r<n;r++)i[r]=t[0|Math.random()*e];else{var a;for(i[8]=i[13]=i[18]=i[23]="-",i[14]="4",r=0;r<36;r++)i[r]||(a=0|Math.random()*16,i[r]=t[r==19?a&3|8:a])}return i.join("")}const kL=n=>xOe(typeof n=="string"?JSON.parse(n):n);function xOe(n){var t,i,r,a;let e=(n==null?void 0:n.features)||[];for(let o=0;o<e.length;o++){const s=e[o],l=(t=s.geometry)==null?void 0:t.coordinates,u=Array.isArray(l)&&typeof((r=(i=l==null?void 0:l[0])==null?void 0:i[0])==null?void 0:r[0])=="number";((a=s.geometry)==null?void 0:a.type)==="Polygon"&&u&&(s.geometry.coordinates=[s.geometry.coordinates])}return n}class wOe{constructor({canvas:e,sizes:t,scene:i,camera:r,postprocessing:a=!1,composer:o=null}){this.canvas=e,this.sizes=t,this.scene=i,this.camera=r,this.postprocessing=a,this.composer=o,this.setInstance()}setInstance(){this.instance=new SL({alpha:!1,antialias:!1,canvas:this.canvas}),this.instance.setSize(this.sizes.width,this.sizes.height),this.instance.setPixelRatio(this.sizes.pixelRatio)}resize(){this.instance.setSize(this.sizes.width,this.sizes.height),this.instance.setPixelRatio(this.sizes.pixelRatio)}update(){this.postprocessing&&this.composer?this.composer.render():this.instance.render(this.scene,this.camera.instance)}destroy(){this.instance.dispose(),this.instance.forceContextLoss()}}const _W={type:"change"},mA={type:"start"},SW={type:"end"},fg=new xu,bW=new s5,TOe=Math.cos(70*mL.DEG2RAD);class P2e extends El{constructor(e,t){super(),this.object=e,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new Ge,this.cursor=new Ge,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:p4.ROTATE,MIDDLE:p4.DOLLY,RIGHT:p4.PAN},this.touches={ONE:m4.ROTATE,TWO:m4.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return s.phi},this.getAzimuthalAngle=function(){return s.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(Qe){Qe.addEventListener("keydown",Oe),this._domElementKeyEvents=Qe},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",Oe),this._domElementKeyEvents=null},this.saveState=function(){i.target0.copy(i.target),i.position0.copy(i.object.position),i.zoom0=i.object.zoom},this.reset=function(){i.target.copy(i.target0),i.object.position.copy(i.position0),i.object.zoom=i.zoom0,i.object.updateProjectionMatrix(),i.dispatchEvent(_W),i.update(),a=r.NONE},this.update=function(){const Qe=new Ge,ot=new vo().setFromUnitVectors(e.up,new Ge(0,1,0)),vt=ot.clone().invert(),Nt=new Ge,je=new vo,$2=new Ge,tt=2*Math.PI;return function(Ft=null){const yt=i.object.position;Qe.copy(yt).sub(i.target),Qe.applyQuaternion(ot),s.setFromVector3(Qe),i.autoRotate&&a===r.NONE&&V(E(Ft)),i.enableDamping?(s.theta+=l.theta*i.dampingFactor,s.phi+=l.phi*i.dampingFactor):(s.theta+=l.theta,s.phi+=l.phi);let p3=i.minAzimuthAngle,a3=i.maxAzimuthAngle;isFinite(p3)&&isFinite(a3)&&(p3<-Math.PI?p3+=tt:p3>Math.PI&&(p3-=tt),a3<-Math.PI?a3+=tt:a3>Math.PI&&(a3-=tt),p3<=a3?s.theta=Math.max(p3,Math.min(a3,s.theta)):s.theta=s.theta>(p3+a3)/2?Math.max(p3,s.theta):Math.min(a3,s.theta)),s.phi=Math.max(i.minPolarAngle,Math.min(i.maxPolarAngle,s.phi)),s.makeSafe(),i.enableDamping===!0?i.target.addScaledVector(c,i.dampingFactor):i.target.add(c),i.target.sub(i.cursor),i.target.clampLength(i.minTargetRadius,i.maxTargetRadius),i.target.add(i.cursor),i.zoomToCursor&&C||i.object.isOrthographicCamera?s.radius=re(s.radius):s.radius=re(s.radius*u),Qe.setFromSpherical(s),Qe.applyQuaternion(vt),yt.copy(i.target).add(Qe),i.object.lookAt(i.target),i.enableDamping===!0?(l.theta*=1-i.dampingFactor,l.phi*=1-i.dampingFactor,c.multiplyScalar(1-i.dampingFactor)):(l.set(0,0,0),c.set(0,0,0));let R1=!1;if(i.zoomToCursor&&C){let P3=null;if(i.object.isPerspectiveCamera){const e1=Qe.length();P3=re(e1*u);const L1=e1-P3;i.object.position.addScaledVector(x,L1),i.object.updateMatrixWorld()}else if(i.object.isOrthographicCamera){const e1=new Ge(A.x,A.y,0);e1.unproject(i.object),i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/u)),i.object.updateProjectionMatrix(),R1=!0;const L1=new Ge(A.x,A.y,0);L1.unproject(i.object),i.object.position.sub(L1).add(e1),i.object.updateMatrixWorld(),P3=Qe.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),i.zoomToCursor=!1;P3!==null&&(this.screenSpacePanning?i.target.set(0,0,-1).transformDirection(i.object.matrix).multiplyScalar(P3).add(i.object.position):(fg.origin.copy(i.object.position),fg.direction.set(0,0,-1).transformDirection(i.object.matrix),Math.abs(i.object.up.dot(fg.direction))<TOe?e.lookAt(i.target):(bW.setFromNormalAndCoplanarPoint(i.object.up,i.target),fg.intersectPlane(bW,i.target))))}else i.object.isOrthographicCamera&&(R1=u!==1,R1&&(i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/u)),i.object.updateProjectionMatrix()));return u=1,C=!1,R1||Nt.distanceToSquared(i.object.position)>o||8*(1-je.dot(i.object.quaternion))>o||$2.distanceToSquared(i.target)>0?(i.dispatchEvent(_W),Nt.copy(i.object.position),je.copy(i.object.quaternion),$2.copy(i.target),!0):!1}}(),this.dispose=function(){i.domElement.removeEventListener("contextmenu",q2),i.domElement.removeEventListener("pointerdown",Ae),i.domElement.removeEventListener("pointercancel",ke),i.domElement.removeEventListener("wheel",Te),i.domElement.removeEventListener("pointermove",ge),i.domElement.removeEventListener("pointerup",ke),i._domElementKeyEvents!==null&&(i._domElementKeyEvents.removeEventListener("keydown",Oe),i._domElementKeyEvents=null)};const i=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let a=r.NONE;const o=1e-6,s=new dW,l=new dW;let u=1;const c=new Ge,d=new J2,h=new J2,f=new J2,p=new J2,g=new J2,m=new J2,v=new J2,_=new J2,S=new J2,x=new Ge,A=new J2;let C=!1;const M=[],I={};let D=!1;function E(Qe){return Qe!==null?2*Math.PI/60*i.autoRotateSpeed*Qe:2*Math.PI/60/60*i.autoRotateSpeed}function L(Qe){const ot=Math.abs(Qe*.01);return Math.pow(.95,i.zoomSpeed*ot)}function V(Qe){l.theta-=Qe}function Y(Qe){l.phi-=Qe}const G=function(){const Qe=new Ge;return function(vt,Nt){Qe.setFromMatrixColumn(Nt,0),Qe.multiplyScalar(-vt),c.add(Qe)}}(),W=function(){const Qe=new Ge;return function(vt,Nt){i.screenSpacePanning===!0?Qe.setFromMatrixColumn(Nt,1):(Qe.setFromMatrixColumn(Nt,0),Qe.crossVectors(i.object.up,Qe)),Qe.multiplyScalar(vt),c.add(Qe)}}(),q=function(){const Qe=new Ge;return function(vt,Nt){const je=i.domElement;if(i.object.isPerspectiveCamera){const $2=i.object.position;Qe.copy($2).sub(i.target);let tt=Qe.length();tt*=Math.tan(i.object.fov/2*Math.PI/180),G(2*vt*tt/je.clientHeight,i.object.matrix),W(2*Nt*tt/je.clientHeight,i.object.matrix)}else i.object.isOrthographicCamera?(G(vt*(i.object.right-i.object.left)/i.object.zoom/je.clientWidth,i.object.matrix),W(Nt*(i.object.top-i.object.bottom)/i.object.zoom/je.clientHeight,i.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),i.enablePan=!1)}}();function ce(Qe){i.object.isPerspectiveCamera||i.object.isOrthographicCamera?u/=Qe:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function J(Qe){i.object.isPerspectiveCamera||i.object.isOrthographicCamera?u*=Qe:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function H(Qe,ot){if(!i.zoomToCursor)return;C=!0;const vt=i.domElement.getBoundingClientRect(),Nt=Qe-vt.left,je=ot-vt.top,$2=vt.width,tt=vt.height;A.x=Nt/$2*2-1,A.y=-(je/tt)*2+1,x.set(A.x,A.y,1).unproject(i.object).sub(i.object.position).normalize()}function re(Qe){return Math.max(i.minDistance,Math.min(i.maxDistance,Qe))}function ee(Qe){d.set(Qe.clientX,Qe.clientY)}function se(Qe){H(Qe.clientX,Qe.clientX),v.set(Qe.clientX,Qe.clientY)}function Be(Qe){p.set(Qe.clientX,Qe.clientY)}function we(Qe){h.set(Qe.clientX,Qe.clientY),f.subVectors(h,d).multiplyScalar(i.rotateSpeed);const ot=i.domElement;V(2*Math.PI*f.x/ot.clientHeight),Y(2*Math.PI*f.y/ot.clientHeight),d.copy(h),i.update()}function ve(Qe){_.set(Qe.clientX,Qe.clientY),S.subVectors(_,v),S.y>0?ce(L(S.y)):S.y<0&&J(L(S.y)),v.copy(_),i.update()}function Ke(Qe){g.set(Qe.clientX,Qe.clientY),m.subVectors(g,p).multiplyScalar(i.panSpeed),q(m.x,m.y),p.copy(g),i.update()}function p2(Qe){H(Qe.clientX,Qe.clientY),Qe.deltaY<0?J(L(Qe.deltaY)):Qe.deltaY>0&&ce(L(Qe.deltaY)),i.update()}function c2(Qe){let ot=!1;switch(Qe.code){case i.keys.UP:Qe.ctrlKey||Qe.metaKey||Qe.shiftKey?Y(2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):q(0,i.keyPanSpeed),ot=!0;break;case i.keys.BOTTOM:Qe.ctrlKey||Qe.metaKey||Qe.shiftKey?Y(-2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):q(0,-i.keyPanSpeed),ot=!0;break;case i.keys.LEFT:Qe.ctrlKey||Qe.metaKey||Qe.shiftKey?V(2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):q(i.keyPanSpeed,0),ot=!0;break;case i.keys.RIGHT:Qe.ctrlKey||Qe.metaKey||Qe.shiftKey?V(-2*Math.PI*i.rotateSpeed/i.domElement.clientHeight):q(-i.keyPanSpeed,0),ot=!0;break}ot&&(Qe.preventDefault(),i.update())}function s2(Qe){if(M.length===1)d.set(Qe.pageX,Qe.pageY);else{const ot=rt(Qe),vt=.5*(Qe.pageX+ot.x),Nt=.5*(Qe.pageY+ot.y);d.set(vt,Nt)}}function R2(Qe){if(M.length===1)p.set(Qe.pageX,Qe.pageY);else{const ot=rt(Qe),vt=.5*(Qe.pageX+ot.x),Nt=.5*(Qe.pageY+ot.y);p.set(vt,Nt)}}function w2(Qe){const ot=rt(Qe),vt=Qe.pageX-ot.x,Nt=Qe.pageY-ot.y,je=Math.sqrt(vt*vt+Nt*Nt);v.set(0,je)}function Re(Qe){i.enableZoom&&w2(Qe),i.enablePan&&R2(Qe)}function k2(Qe){i.enableZoom&&w2(Qe),i.enableRotate&&s2(Qe)}function x2(Qe){if(M.length==1)h.set(Qe.pageX,Qe.pageY);else{const vt=rt(Qe),Nt=.5*(Qe.pageX+vt.x),je=.5*(Qe.pageY+vt.y);h.set(Nt,je)}f.subVectors(h,d).multiplyScalar(i.rotateSpeed);const ot=i.domElement;V(2*Math.PI*f.x/ot.clientHeight),Y(2*Math.PI*f.y/ot.clientHeight),d.copy(h)}function D2(Qe){if(M.length===1)g.set(Qe.pageX,Qe.pageY);else{const ot=rt(Qe),vt=.5*(Qe.pageX+ot.x),Nt=.5*(Qe.pageY+ot.y);g.set(vt,Nt)}m.subVectors(g,p).multiplyScalar(i.panSpeed),q(m.x,m.y),p.copy(g)}function z(Qe){const ot=rt(Qe),vt=Qe.pageX-ot.x,Nt=Qe.pageY-ot.y,je=Math.sqrt(vt*vt+Nt*Nt);_.set(0,je),S.set(0,Math.pow(_.y/v.y,i.zoomSpeed)),ce(S.y),v.copy(_);const $2=(Qe.pageX+ot.x)*.5,tt=(Qe.pageY+ot.y)*.5;H($2,tt)}function Q2(Qe){i.enableZoom&&z(Qe),i.enablePan&&D2(Qe)}function Y2(Qe){i.enableZoom&&z(Qe),i.enableRotate&&x2(Qe)}function Ae(Qe){i.enabled!==!1&&(M.length===0&&(i.domElement.setPointerCapture(Qe.pointerId),i.domElement.addEventListener("pointermove",ge),i.domElement.addEventListener("pointerup",ke)),K2(Qe),Qe.pointerType==="touch"?T2(Qe):d2(Qe))}function ge(Qe){i.enabled!==!1&&(Qe.pointerType==="touch"?o2(Qe):m2(Qe))}function ke(Qe){switch(st(Qe),M.length){case 0:i.domElement.releasePointerCapture(Qe.pointerId),i.domElement.removeEventListener("pointermove",ge),i.domElement.removeEventListener("pointerup",ke),i.dispatchEvent(SW),a=r.NONE;break;case 1:const ot=M[0],vt=I[ot];T2({pointerId:ot,pageX:vt.x,pageY:vt.y});break}}function d2(Qe){let ot;switch(Qe.button){case 0:ot=i.mouseButtons.LEFT;break;case 1:ot=i.mouseButtons.MIDDLE;break;case 2:ot=i.mouseButtons.RIGHT;break;default:ot=-1}switch(ot){case p4.DOLLY:if(i.enableZoom===!1)return;se(Qe),a=r.DOLLY;break;case p4.ROTATE:if(Qe.ctrlKey||Qe.metaKey||Qe.shiftKey){if(i.enablePan===!1)return;Be(Qe),a=r.PAN}else{if(i.enableRotate===!1)return;ee(Qe),a=r.ROTATE}break;case p4.PAN:if(Qe.ctrlKey||Qe.metaKey||Qe.shiftKey){if(i.enableRotate===!1)return;ee(Qe),a=r.ROTATE}else{if(i.enablePan===!1)return;Be(Qe),a=r.PAN}break;default:a=r.NONE}a!==r.NONE&&i.dispatchEvent(mA)}function m2(Qe){switch(a){case r.ROTATE:if(i.enableRotate===!1)return;we(Qe);break;case r.DOLLY:if(i.enableZoom===!1)return;ve(Qe);break;case r.PAN:if(i.enablePan===!1)return;Ke(Qe);break}}function Te(Qe){i.enabled===!1||i.enableZoom===!1||a!==r.NONE||(Qe.preventDefault(),i.dispatchEvent(mA),p2(ye(Qe)),i.dispatchEvent(SW))}function ye(Qe){const ot=Qe.deltaMode,vt={clientX:Qe.clientX,clientY:Qe.clientY,deltaY:Qe.deltaY};switch(ot){case 1:vt.deltaY*=16;break;case 2:vt.deltaY*=100;break}return Qe.ctrlKey&&!D&&(vt.deltaY*=10),vt}function Le(Qe){Qe.key==="Control"&&(D=!0,i.domElement.getRootNode().addEventListener("keyup",t2,{passive:!0,capture:!0}))}function t2(Qe){Qe.key==="Control"&&(D=!1,i.domElement.getRootNode().removeEventListener("keyup",t2,{passive:!0,capture:!0}))}function Oe(Qe){i.enabled===!1||i.enablePan===!1||c2(Qe)}function T2(Qe){switch(lt(Qe),M.length){case 1:switch(i.touches.ONE){case m4.ROTATE:if(i.enableRotate===!1)return;s2(Qe),a=r.TOUCH_ROTATE;break;case m4.PAN:if(i.enablePan===!1)return;R2(Qe),a=r.TOUCH_PAN;break;default:a=r.NONE}break;case 2:switch(i.touches.TWO){case m4.DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;Re(Qe),a=r.TOUCH_DOLLY_PAN;break;case m4.DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;k2(Qe),a=r.TOUCH_DOLLY_ROTATE;break;default:a=r.NONE}break;default:a=r.NONE}a!==r.NONE&&i.dispatchEvent(mA)}function o2(Qe){switch(lt(Qe),a){case r.TOUCH_ROTATE:if(i.enableRotate===!1)return;x2(Qe),i.update();break;case r.TOUCH_PAN:if(i.enablePan===!1)return;D2(Qe),i.update();break;case r.TOUCH_DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;Q2(Qe),i.update();break;case r.TOUCH_DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;Y2(Qe),i.update();break;default:a=r.NONE}}function q2(Qe){i.enabled!==!1&&Qe.preventDefault()}function K2(Qe){M.push(Qe.pointerId)}function st(Qe){delete I[Qe.pointerId];for(let ot=0;ot<M.length;ot++)if(M[ot]==Qe.pointerId){M.splice(ot,1);return}}function lt(Qe){let ot=I[Qe.pointerId];ot===void 0&&(ot=new J2,I[Qe.pointerId]=ot),ot.set(Qe.pageX,Qe.pageY)}function rt(Qe){const ot=Qe.pointerId===M[0]?M[1]:M[0];return I[ot]}i.domElement.addEventListener("contextmenu",q2),i.domElement.addEventListener("pointerdown",Ae),i.domElement.addEventListener("pointercancel",ke),i.domElement.addEventListener("wheel",Te,{passive:!1}),i.domElement.getRootNode().addEventListener("keydown",Le,{passive:!0,capture:!0}),this.update()}}class AOe{constructor({sizes:e,scene:t,canvas:i},r={isOrthographic:!1}){this.sizes=e,this.scene=t,this.canvas=i,this.options=Object.assign({isOrthographic:!1},r),this.setInstance()}setInstance(){this.instance=null,this.setCamera(this.options.isOrthographic),this.instance.position.set(10,10,10),this.scene.add(this.instance)}setCamera(e=!0){let t=this.sizes.width/this.sizes.height;if(e){let i=120;this.instance=new sS(-i*t,i*t,i,-i,1,1e4)}else this.instance=new gi(45,t,1,1e4);this.setControls()}setControls(){this.controls=new P2e(this.instance,this.canvas),this.controls.enableDamping=!0,this.controls.update()}resize(){let e=this.sizes.width/this.sizes.height;if(this.options.isOrthographic){let t=120;this.instance.left=-t*e,this.instance.right=t*e,this.instance.top=t,this.instance.bottom=-t}else this.instance.aspect=e;this.instance.updateProjectionMatrix()}update(){this.controls.update()}destroy(){this.controls.dispose()}}class COe{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const t=this._partials;let i=0;for(let r=0;r<this._n&&r<32;r++){const a=t[r],o=e+a,s=Math.abs(e)<Math.abs(a)?e-(o-a):a-(o-e);s&&(t[i++]=s),e=o}return t[i]=e,this._n=i+1,this}valueOf(){const e=this._partials;let t=this._n,i,r,a,o=0;if(t>0){for(o=e[--t];t>0&&(i=o,r=e[--t],o=i+r,a=r-(o-i),!a););t>0&&(a<0&&e[t-1]<0||a>0&&e[t-1]>0)&&(r=a*2,i=o+r,r==i-o&&(o=i))}return o}}function*MOe(n){for(const e of n)yield*IN(e)}function R2e(n){return Array.from(MOe(n))}var p0=1e-6,EOe=1e-12,S1=Math.PI,rr=S1/2,xW=S1/4,za=S1*2,Ir=180/S1,on=S1/180,z0=Math.abs,L2e=Math.atan,Nh=Math.atan2,q0=Math.cos,POe=Math.exp,ROe=Math.log,X0=Math.sin,LOe=Math.sign||function(n){return n>0?1:n<0?-1:0},pS=Math.sqrt,IOe=Math.tan;function DOe(n){return n>1?0:n<-1?S1:Math.acos(n)}function kh(n){return n>1?rr:n<-1?-rr:Math.asin(n)}function ad(){}function Uy(n,e){n&&TW.hasOwnProperty(n.type)&&TW[n.type](n,e)}var wW={Feature:function(n,e){Uy(n.geometry,e)},FeatureCollection:function(n,e){for(var t=n.features,i=-1,r=t.length;++i<r;)Uy(t[i].geometry,e)}},TW={Sphere:function(n,e){e.sphere()},Point:function(n,e){n=n.coordinates,e.point(n[0],n[1],n[2])},MultiPoint:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)n=t[i],e.point(n[0],n[1],n[2])},LineString:function(n,e){oE(n.coordinates,e,0)},MultiLineString:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)oE(t[i],e,0)},Polygon:function(n,e){AW(n.coordinates,e)},MultiPolygon:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)AW(t[i],e)},GeometryCollection:function(n,e){for(var t=n.geometries,i=-1,r=t.length;++i<r;)Uy(t[i],e)}};function oE(n,e,t){var i=-1,r=n.length-t,a;for(e.lineStart();++i<r;)a=n[i],e.point(a[0],a[1],a[2]);e.lineEnd()}function AW(n,e){var t=-1,i=n.length;for(e.polygonStart();++t<i;)oE(n[t],e,1);e.polygonEnd()}function NOe(n,e){n&&wW.hasOwnProperty(n.type)?wW[n.type](n,e):Uy(n,e)}function sE(n){return[Nh(n[1],n[0]),kh(n[2])]}function K7(n){var e=n[0],t=n[1],i=q0(t);return[i*q0(e),i*X0(e),X0(t)]}function pg(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]}function Gy(n,e){return[n[1]*e[2]-n[2]*e[1],n[2]*e[0]-n[0]*e[2],n[0]*e[1]-n[1]*e[0]]}function gA(n,e){n[0]+=e[0],n[1]+=e[1],n[2]+=e[2]}function mg(n,e){return[n[0]*e,n[1]*e,n[2]*e]}function lE(n){var e=pS(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=e,n[1]/=e,n[2]/=e}function uE(n,e){function t(i,r){return i=n(i,r),e(i[0],i[1])}return n.invert&&e.invert&&(t.invert=function(i,r){return i=e.invert(i,r),i&&n.invert(i[0],i[1])}),t}function cE(n,e){return z0(n)>S1&&(n-=Math.round(n/za)*za),[n,e]}cE.invert=cE;function I2e(n,e,t){return(n%=za)?e||t?uE(MW(n),EW(e,t)):MW(n):e||t?EW(e,t):cE}function CW(n){return function(e,t){return e+=n,z0(e)>S1&&(e-=Math.round(e/za)*za),[e,t]}}function MW(n){var e=CW(n);return e.invert=CW(-n),e}function EW(n,e){var t=q0(n),i=X0(n),r=q0(e),a=X0(e);function o(s,l){var u=q0(l),c=q0(s)*u,d=X0(s)*u,h=X0(l),f=h*t+c*i;return[Nh(d*r-f*a,c*t-h*i),kh(f*r+d*a)]}return o.invert=function(s,l){var u=q0(l),c=q0(s)*u,d=X0(s)*u,h=X0(l),f=h*r-d*a;return[Nh(d*r+h*a,c*t+f*i),kh(f*t-c*i)]},o}function kOe(n){n=I2e(n[0]*on,n[1]*on,n.length>2?n[2]*on:0);function e(t){return t=n(t[0]*on,t[1]*on),t[0]*=Ir,t[1]*=Ir,t}return e.invert=function(t){return t=n.invert(t[0]*on,t[1]*on),t[0]*=Ir,t[1]*=Ir,t},e}function FOe(n,e,t,i,r,a){if(t){var o=q0(e),s=X0(e),l=i*t;r==null?(r=e+i*za,a=e-l/2):(r=PW(o,r),a=PW(o,a),(i>0?r<a:r>a)&&(r+=i*za));for(var u,c=r;i>0?c>a:c<a;c-=l)u=sE([o,-s*q0(c),-s*X0(c)]),n.point(u[0],u[1])}}function PW(n,e){e=K7(e),e[0]-=n,lE(e);var t=DOe(-e[1]);return((-e[2]<0?-t:t)+za-p0)%za}function D2e(){var n=[],e;return{point:function(t,i,r){e.push([t,i,r])},lineStart:function(){n.push(e=[])},lineEnd:ad,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var t=n;return n=[],e=null,t}}}function hv(n,e){return z0(n[0]-e[0])<p0&&z0(n[1]-e[1])<p0}function gg(n,e,t,i){this.x=n,this.z=e,this.o=t,this.e=i,this.v=!1,this.n=this.p=null}function N2e(n,e,t,i,r){var a=[],o=[],s,l;if(n.forEach(function(p){if(!((g=p.length-1)<=0)){var g,m=p[0],v=p[g],_;if(hv(m,v)){if(!m[2]&&!v[2]){for(r.lineStart(),s=0;s<g;++s)r.point((m=p[s])[0],m[1]);r.lineEnd();return}v[0]+=2*p0}a.push(_=new gg(m,p,null,!0)),o.push(_.o=new gg(m,null,_,!1)),a.push(_=new gg(v,p,null,!1)),o.push(_.o=new gg(v,null,_,!0))}}),!!a.length){for(o.sort(e),RW(a),RW(o),s=0,l=o.length;s<l;++s)o[s].e=t=!t;for(var u=a[0],c,d;;){for(var h=u,f=!0;h.v;)if((h=h.n)===u)return;c=h.z,r.lineStart();do{if(h.v=h.o.v=!0,h.e){if(f)for(s=0,l=c.length;s<l;++s)r.point((d=c[s])[0],d[1]);else i(h.x,h.n.x,1,r);h=h.n}else{if(f)for(c=h.p.z,s=c.length-1;s>=0;--s)r.point((d=c[s])[0],d[1]);else i(h.x,h.p.x,-1,r);h=h.p}h=h.o,c=h.z,f=!f}while(!h.v);r.lineEnd()}}}function RW(n){if(e=n.length){for(var e,t=0,i=n[0],r;++t<e;)i.n=r=n[t],r.p=i,i=r;i.n=r=n[0],r.p=i}}function vA(n){return z0(n[0])<=S1?n[0]:LOe(n[0])*((z0(n[0])+S1)%za-S1)}function OOe(n,e){var t=vA(e),i=e[1],r=X0(i),a=[X0(t),-q0(t),0],o=0,s=0,l=new COe;r===1?i=rr+p0:r===-1&&(i=-rr-p0);for(var u=0,c=n.length;u<c;++u)if(h=(d=n[u]).length)for(var d,h,f=d[h-1],p=vA(f),g=f[1]/2+xW,m=X0(g),v=q0(g),_=0;_<h;++_,p=x,m=C,v=M,f=S){var S=d[_],x=vA(S),A=S[1]/2+xW,C=X0(A),M=q0(A),I=x-p,D=I>=0?1:-1,E=D*I,L=E>S1,V=m*C;if(l.add(Nh(V*D*X0(E),v*M+V*q0(E))),o+=L?I+D*za:I,L^p>=t^x>=t){var Y=Gy(K7(f),K7(S));lE(Y);var G=Gy(a,Y);lE(G);var W=(L^I>=0?-1:1)*kh(G[2]);(i>W||i===W&&(Y[0]||Y[1]))&&(s+=L^I>=0?1:-1)}}return(o<-p0||o<p0&&l<-EOe)^s&1}function k2e(n,e,t,i){return function(r){var a=e(r),o=D2e(),s=e(o),l=!1,u,c,d,h={point:f,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=_,h.lineEnd=S,c=[],u=[]},polygonEnd:function(){h.point=f,h.lineStart=g,h.lineEnd=m,c=R2e(c);var x=OOe(u,i);c.length?(l||(r.polygonStart(),l=!0),N2e(c,zOe,x,t,r)):x&&(l||(r.polygonStart(),l=!0),r.lineStart(),t(null,null,1,r),r.lineEnd()),l&&(r.polygonEnd(),l=!1),c=u=null},sphere:function(){r.polygonStart(),r.lineStart(),t(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function f(x,A){n(x,A)&&r.point(x,A)}function p(x,A){a.point(x,A)}function g(){h.point=p,a.lineStart()}function m(){h.point=f,a.lineEnd()}function v(x,A){d.push([x,A]),s.point(x,A)}function _(){s.lineStart(),d=[]}function S(){v(d[0][0],d[0][1]),s.lineEnd();var x=s.clean(),A=o.result(),C,M=A.length,I,D,E;if(d.pop(),u.push(d),d=null,!!M){if(x&1){if(D=A[0],(I=D.length-1)>0){for(l||(r.polygonStart(),l=!0),r.lineStart(),C=0;C<I;++C)r.point((E=D[C])[0],E[1]);r.lineEnd()}return}M>1&&x&2&&A.push(A.pop().concat(A.shift())),c.push(A.filter(BOe))}}return h}}function BOe(n){return n.length>1}function zOe(n,e){return((n=n.x)[0]<0?n[1]-rr-p0:rr-n[1])-((e=e.x)[0]<0?e[1]-rr-p0:rr-e[1])}const LW=k2e(function(){return!0},UOe,VOe,[-S1,-rr]);function UOe(n){var e=NaN,t=NaN,i=NaN,r;return{lineStart:function(){n.lineStart(),r=1},point:function(a,o){var s=a>0?S1:-S1,l=z0(a-e);z0(l-S1)<p0?(n.point(e,t=(t+o)/2>0?rr:-rr),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(s,t),n.point(a,t),r=0):i!==s&&l>=S1&&(z0(e-i)<p0&&(e-=i*p0),z0(a-s)<p0&&(a-=s*p0),t=GOe(e,t,a,o),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(s,t),r=0),n.point(e=a,t=o),i=s},lineEnd:function(){n.lineEnd(),e=t=NaN},clean:function(){return 2-r}}}function GOe(n,e,t,i){var r,a,o=X0(n-t);return z0(o)>p0?L2e((X0(e)*(a=q0(i))*X0(t)-X0(i)*(r=q0(e))*X0(n))/(r*a*o)):(e+i)/2}function VOe(n,e,t,i){var r;if(n==null)r=t*rr,i.point(-S1,r),i.point(0,r),i.point(S1,r),i.point(S1,0),i.point(S1,-r),i.point(0,-r),i.point(-S1,-r),i.point(-S1,0),i.point(-S1,r);else if(z0(n[0]-e[0])>p0){var a=n[0]<e[0]?S1:-S1;r=t*a/2,i.point(-a,r),i.point(0,r),i.point(a,r)}else i.point(e[0],e[1])}function HOe(n){var e=q0(n),t=2*on,i=e>0,r=z0(e)>p0;function a(c,d,h,f){FOe(f,n,t,h,c,d)}function o(c,d){return q0(c)*q0(d)>e}function s(c){var d,h,f,p,g;return{lineStart:function(){p=f=!1,g=1},point:function(m,v){var _=[m,v],S,x=o(m,v),A=i?x?0:u(m,v):x?u(m+(m<0?S1:-S1),v):0;if(!d&&(p=f=x)&&c.lineStart(),x!==f&&(S=l(d,_),(!S||hv(d,S)||hv(_,S))&&(_[2]=1)),x!==f)g=0,x?(c.lineStart(),S=l(_,d),c.point(S[0],S[1])):(S=l(d,_),c.point(S[0],S[1],2),c.lineEnd()),d=S;else if(r&&d&&i^x){var C;!(A&h)&&(C=l(_,d,!0))&&(g=0,i?(c.lineStart(),c.point(C[0][0],C[0][1]),c.point(C[1][0],C[1][1]),c.lineEnd()):(c.point(C[1][0],C[1][1]),c.lineEnd(),c.lineStart(),c.point(C[0][0],C[0][1],3)))}x&&(!d||!hv(d,_))&&c.point(_[0],_[1]),d=_,f=x,h=A},lineEnd:function(){f&&c.lineEnd(),d=null},clean:function(){return g|(p&&f)<<1}}}function l(c,d,h){var f=K7(c),p=K7(d),g=[1,0,0],m=Gy(f,p),v=pg(m,m),_=m[0],S=v-_*_;if(!S)return!h&&c;var x=e*v/S,A=-e*_/S,C=Gy(g,m),M=mg(g,x),I=mg(m,A);gA(M,I);var D=C,E=pg(M,D),L=pg(D,D),V=E*E-L*(pg(M,M)-1);if(!(V<0)){var Y=pS(V),G=mg(D,(-E-Y)/L);if(gA(G,M),G=sE(G),!h)return G;var W=c[0],q=d[0],ce=c[1],J=d[1],H;q<W&&(H=W,W=q,q=H);var re=q-W,ee=z0(re-S1)<p0,se=ee||re<p0;if(!ee&&J<ce&&(H=ce,ce=J,J=H),se?ee?ce+J>0^G[1]<(z0(G[0]-W)<p0?ce:J):ce<=G[1]&&G[1]<=J:re>S1^(W<=G[0]&&G[0]<=q)){var Be=mg(D,(-E+Y)/L);return gA(Be,M),[G,sE(Be)]}}}function u(c,d){var h=i?n:S1-n,f=0;return c<-h?f|=1:c>h&&(f|=2),d<-h?f|=4:d>h&&(f|=8),f}return k2e(o,s,a,i?[0,-n]:[-S1,n-S1])}function WOe(n,e,t,i,r,a){var o=n[0],s=n[1],l=e[0],u=e[1],c=0,d=1,h=l-o,f=u-s,p;if(p=t-o,!(!h&&p>0)){if(p/=h,h<0){if(p<c)return;p<d&&(d=p)}else if(h>0){if(p>d)return;p>c&&(c=p)}if(p=r-o,!(!h&&p<0)){if(p/=h,h<0){if(p>d)return;p>c&&(c=p)}else if(h>0){if(p<c)return;p<d&&(d=p)}if(p=i-s,!(!f&&p>0)){if(p/=f,f<0){if(p<c)return;p<d&&(d=p)}else if(f>0){if(p>d)return;p>c&&(c=p)}if(p=a-s,!(!f&&p<0)){if(p/=f,f<0){if(p>d)return;p>c&&(c=p)}else if(f>0){if(p<c)return;p<d&&(d=p)}return c>0&&(n[0]=o+c*h,n[1]=s+c*f),d<1&&(e[0]=o+d*h,e[1]=s+d*f),!0}}}}}var od=1e9,vg=-od;function jOe(n,e,t,i){function r(u,c){return n<=u&&u<=t&&e<=c&&c<=i}function a(u,c,d,h){var f=0,p=0;if(u==null||(f=o(u,d))!==(p=o(c,d))||l(u,c)<0^d>0)do h.point(f===0||f===3?n:t,f>1?i:e);while((f=(f+d+4)%4)!==p);else h.point(c[0],c[1])}function o(u,c){return z0(u[0]-n)<p0?c>0?0:3:z0(u[0]-t)<p0?c>0?2:1:z0(u[1]-e)<p0?c>0?1:0:c>0?3:2}function s(u,c){return l(u.x,c.x)}function l(u,c){var d=o(u,1),h=o(c,1);return d!==h?d-h:d===0?c[1]-u[1]:d===1?u[0]-c[0]:d===2?u[1]-c[1]:c[0]-u[0]}return function(u){var c=u,d=D2e(),h,f,p,g,m,v,_,S,x,A,C,M={point:I,lineStart:V,lineEnd:Y,polygonStart:E,polygonEnd:L};function I(W,q){r(W,q)&&c.point(W,q)}function D(){for(var W=0,q=0,ce=f.length;q<ce;++q)for(var J=f[q],H=1,re=J.length,ee=J[0],se,Be,we=ee[0],ve=ee[1];H<re;++H)se=we,Be=ve,ee=J[H],we=ee[0],ve=ee[1],Be<=i?ve>i&&(we-se)*(i-Be)>(ve-Be)*(n-se)&&++W:ve<=i&&(we-se)*(i-Be)<(ve-Be)*(n-se)&&--W;return W}function E(){c=d,h=[],f=[],C=!0}function L(){var W=D(),q=C&&W,ce=(h=R2e(h)).length;(q||ce)&&(u.polygonStart(),q&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),ce&&N2e(h,s,W,a,u),u.polygonEnd()),c=u,h=f=p=null}function V(){M.point=G,f&&f.push(p=[]),A=!0,x=!1,_=S=NaN}function Y(){h&&(G(g,m),v&&x&&d.rejoin(),h.push(d.result())),M.point=I,x&&c.lineEnd()}function G(W,q){var ce=r(W,q);if(f&&p.push([W,q]),A)g=W,m=q,v=ce,A=!1,ce&&(c.lineStart(),c.point(W,q));else if(ce&&x)c.point(W,q);else{var J=[_=Math.max(vg,Math.min(od,_)),S=Math.max(vg,Math.min(od,S))],H=[W=Math.max(vg,Math.min(od,W)),q=Math.max(vg,Math.min(od,q))];WOe(J,H,n,e,t,i)?(x||(c.lineStart(),c.point(J[0],J[1])),c.point(H[0],H[1]),ce||c.lineEnd(),C=!1):ce&&(c.lineStart(),c.point(W,q),C=!1)}_=W,S=q,x=ce}return M}}const IW=n=>n;var Z7=1/0,Vy=Z7,Fh=-Z7,Hy=Fh,$Oe={point:YOe,lineStart:ad,lineEnd:ad,polygonStart:ad,polygonEnd:ad,result:function(){var n=[[Z7,Vy],[Fh,Hy]];return Fh=Hy=-(Vy=Z7=1/0),n}};function YOe(n,e){n<Z7&&(Z7=n),n>Fh&&(Fh=n),e<Vy&&(Vy=e),e>Hy&&(Hy=e)}const DW=$Oe;function FL(n){return function(e){var t=new dE;for(var i in n)t[i]=n[i];return t.stream=e,t}}function dE(){}dE.prototype={constructor:dE,point:function(n,e){this.stream.point(n,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function OL(n,e,t){var i=n.clipExtent&&n.clipExtent();return n.scale(150).translate([0,0]),i!=null&&n.clipExtent(null),NOe(t,n.stream(DW)),e(DW.result()),i!=null&&n.clipExtent(i),n}function F2e(n,e,t){return OL(n,function(i){var r=e[1][0]-e[0][0],a=e[1][1]-e[0][1],o=Math.min(r/(i[1][0]-i[0][0]),a/(i[1][1]-i[0][1])),s=+e[0][0]+(r-o*(i[1][0]+i[0][0]))/2,l=+e[0][1]+(a-o*(i[1][1]+i[0][1]))/2;n.scale(150*o).translate([s,l])},t)}function qOe(n,e,t){return F2e(n,[[0,0],e],t)}function XOe(n,e,t){return OL(n,function(i){var r=+e,a=r/(i[1][0]-i[0][0]),o=(r-a*(i[1][0]+i[0][0]))/2,s=-a*i[0][1];n.scale(150*a).translate([o,s])},t)}function KOe(n,e,t){return OL(n,function(i){var r=+e,a=r/(i[1][1]-i[0][1]),o=-a*i[0][0],s=(r-a*(i[1][1]+i[0][1]))/2;n.scale(150*a).translate([o,s])},t)}var NW=16,ZOe=q0(30*on);function kW(n,e){return+e?QOe(n,e):JOe(n)}function JOe(n){return FL({point:function(e,t){e=n(e,t),this.stream.point(e[0],e[1])}})}function QOe(n,e){function t(i,r,a,o,s,l,u,c,d,h,f,p,g,m){var v=u-i,_=c-r,S=v*v+_*_;if(S>4*e&&g--){var x=o+h,A=s+f,C=l+p,M=pS(x*x+A*A+C*C),I=kh(C/=M),D=z0(z0(C)-1)<p0||z0(a-d)<p0?(a+d)/2:Nh(A,x),E=n(D,I),L=E[0],V=E[1],Y=L-i,G=V-r,W=_*Y-v*G;(W*W/S>e||z0((v*Y+_*G)/S-.5)>.3||o*h+s*f+l*p<ZOe)&&(t(i,r,a,o,s,l,L,V,D,x/=M,A/=M,C,g,m),m.point(L,V),t(L,V,D,x,A,C,u,c,d,h,f,p,g,m))}}return function(i){var r,a,o,s,l,u,c,d,h,f,p,g,m={point:v,lineStart:_,lineEnd:x,polygonStart:function(){i.polygonStart(),m.lineStart=A},polygonEnd:function(){i.polygonEnd(),m.lineStart=_}};function v(I,D){I=n(I,D),i.point(I[0],I[1])}function _(){d=NaN,m.point=S,i.lineStart()}function S(I,D){var E=K7([I,D]),L=n(I,D);t(d,h,c,f,p,g,d=L[0],h=L[1],c=I,f=E[0],p=E[1],g=E[2],NW,i),i.point(d,h)}function x(){m.point=v,i.lineEnd()}function A(){_(),m.point=C,m.lineEnd=M}function C(I,D){S(r=I,D),a=d,o=h,s=f,l=p,u=g,m.point=S}function M(){t(d,h,c,f,p,g,a,o,r,s,l,u,NW,i),m.lineEnd=x,x()}return m}}var eBe=FL({point:function(n,e){this.stream.point(n*on,e*on)}});function tBe(n){return FL({point:function(e,t){var i=n(e,t);return this.stream.point(i[0],i[1])}})}function nBe(n,e,t,i,r){function a(o,s){return o*=i,s*=r,[e+n*o,t-n*s]}return a.invert=function(o,s){return[(o-e)/n*i,(t-s)/n*r]},a}function FW(n,e,t,i,r,a){if(!a)return nBe(n,e,t,i,r);var o=q0(a),s=X0(a),l=o*n,u=s*n,c=o/n,d=s/n,h=(s*t-o*e)/n,f=(s*e+o*t)/n;function p(g,m){return g*=i,m*=r,[l*g-u*m+e,t-u*g-l*m]}return p.invert=function(g,m){return[i*(c*g-d*m+h),r*(f-d*g-c*m)]},p}function iBe(n){return rBe(function(){return n})()}function rBe(n){var e,t=150,i=480,r=250,a=0,o=0,s=0,l=0,u=0,c,d=0,h=1,f=1,p=null,g=LW,m=null,v,_,S,x=IW,A=.5,C,M,I,D,E;function L(W){return I(W[0]*on,W[1]*on)}function V(W){return W=I.invert(W[0],W[1]),W&&[W[0]*Ir,W[1]*Ir]}L.stream=function(W){return D&&E===W?D:D=eBe(tBe(c)(g(C(x(E=W)))))},L.preclip=function(W){return arguments.length?(g=W,p=void 0,G()):g},L.postclip=function(W){return arguments.length?(x=W,m=v=_=S=null,G()):x},L.clipAngle=function(W){return arguments.length?(g=+W?HOe(p=W*on):(p=null,LW),G()):p*Ir},L.clipExtent=function(W){return arguments.length?(x=W==null?(m=v=_=S=null,IW):jOe(m=+W[0][0],v=+W[0][1],_=+W[1][0],S=+W[1][1]),G()):m==null?null:[[m,v],[_,S]]},L.scale=function(W){return arguments.length?(t=+W,Y()):t},L.translate=function(W){return arguments.length?(i=+W[0],r=+W[1],Y()):[i,r]},L.center=function(W){return arguments.length?(a=W[0]%360*on,o=W[1]%360*on,Y()):[a*Ir,o*Ir]},L.rotate=function(W){return arguments.length?(s=W[0]%360*on,l=W[1]%360*on,u=W.length>2?W[2]%360*on:0,Y()):[s*Ir,l*Ir,u*Ir]},L.angle=function(W){return arguments.length?(d=W%360*on,Y()):d*Ir},L.reflectX=function(W){return arguments.length?(h=W?-1:1,Y()):h<0},L.reflectY=function(W){return arguments.length?(f=W?-1:1,Y()):f<0},L.precision=function(W){return arguments.length?(C=kW(M,A=W*W),G()):pS(A)},L.fitExtent=function(W,q){return F2e(L,W,q)},L.fitSize=function(W,q){return qOe(L,W,q)},L.fitWidth=function(W,q){return XOe(L,W,q)},L.fitHeight=function(W,q){return KOe(L,W,q)};function Y(){var W=FW(t,0,0,h,f,d).apply(null,e(a,o)),q=FW(t,i-W[0],r-W[1],h,f,d);return c=I2e(s,l,u),M=uE(e,q),I=uE(c,M),C=kW(M,A),G()}function G(){return D=E=null,L}return function(){return e=n.apply(this,arguments),L.invert=e.invert&&V,Y()}}function BL(n,e){return[n,ROe(IOe((rr+e)/2))]}BL.invert=function(n,e){return[n,2*L2e(POe(e))-rr]};function $s(){return aBe(BL).scale(961/za)}function aBe(n){var e=iBe(n),t=e.center,i=e.scale,r=e.translate,a=e.clipExtent,o=null,s,l,u;e.scale=function(d){return arguments.length?(i(d),c()):i()},e.translate=function(d){return arguments.length?(r(d),c()):r()},e.center=function(d){return arguments.length?(t(d),c()):t()},e.clipExtent=function(d){return arguments.length?(d==null?o=s=l=u=null:(o=+d[0][0],s=+d[0][1],l=+d[1][0],u=+d[1][1]),c()):o==null?null:[[o,s],[l,u]]};function c(){var d=S1*i(),h=e(kOe(e.rotate()).invert([0,0]));return a(o==null?[[h[0]-d,h[1]-d],[h[0]+d,h[1]+d]]:n===BL?[[Math.max(h[0]-d,o),s],[Math.min(h[0]+d,l),u]]:[[o,Math.max(h[1]-d,s)],[l,Math.min(h[1]+d,u)]])}return c()}class oBe extends fS{constructor(e,t={}){super();let i={isOrthographic:!1};this.config=Object.assign({},i,t),this.canvas=e,this.scene=new a2e,this.sizes=new IFe(this),this.time=new DFe(this),this.camera=new AOe(this,{isOrthographic:this.config.isOrthographic}),this.renderer=new wOe(this),this.sizes.on("resize",()=>{this.resize()}),this.time.on("tick",r=>{this.update(r)})}setAxesHelper(e=250){if(!e)return!1;let t=new b2e(e);this.scene.add(t)}resize(){this.camera.resize(),this.renderer.resize()}update(e){this.camera.update(e),this.renderer.update(e)}destroy(){var e,t;this.sizes.destroy(),this.time.destroy(),this.camera.destroy(),this.renderer.destroy(),this.scene.traverse(i=>{if(i instanceof f1){i.geometry.dispose();for(const r in i.material){const a=i.material[r];a&&typeof a.dispose=="function"&&a.dispose()}}}),(t=(e=this.canvas)==null?void 0:e.parentNode)==null||t.removeChild(this.canvas)}}class sBe{constructor({material:e,time:t,size:i,diffuseColor:r,diffuseSpeed:a,diffuseWidth:o,callback:s=()=>{}}){this.time=t,this.pointShader=null,this.callback=s;let l={size:100,diffuseSpeed:15,diffuseColor:9345950,diffuseWidth:10};this.options=Object.assign({},l,{material:e,size:i,diffuseColor:r,diffuseSpeed:a,diffuseWidth:o}),this.init()}init(){let{material:e,size:t,diffuseColor:i,diffuseSpeed:r,diffuseWidth:a}=this.options,o=t/r;e.onBeforeCompile=s=>{this.pointShader=s,this.callback(s,o),s.uniforms=V2(y2({},s.uniforms),{uTime:{value:0},uSpeed:{value:r},uWidth:{value:a},uColor:{value:new Yt(i)}}),s.vertexShader=s.vertexShader.replace("void main() {",` |
|
|
varying vec3 vPosition; |
|
|
void main(){ |
|
|
vPosition = position; |
|
|
`),s.fragmentShader=s.fragmentShader.replace("void main() {",` |
|
|
uniform float uTime; |
|
|
uniform float uSpeed; |
|
|
uniform float uWidth; |
|
|
uniform vec3 uColor; |
|
|
varying vec3 vPosition; |
|
|
void main(){ |
|
|
`),s.fragmentShader=s.fragmentShader.replace("#include <opaque_fragment>",` |
|
|
#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
|
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= material.transmissionAlpha; |
|
|
#endif |
|
|
|
|
|
float r = uTime * uSpeed; |
|
|
|
|
|
float w = uWidth; |
|
|
// if(w>uWidth){ |
|
|
// w = uWidth; |
|
|
// }else{ |
|
|
// w = uTime * 1.5; |
|
|
// } |
|
|
|
|
|
vec2 center = vec2(0.0, 0.0); |
|
|
|
|
|
float rDistance = distance(vPosition.xy, center); |
|
|
|
|
|
if(rDistance > r && rDistance < r + 2.0 * w) { |
|
|
float per = 0.0; |
|
|
if(rDistance < r + w) { |
|
|
float p = smoothstep(0.0,1.0,(rDistance - r) / w); |
|
|
p*=p; |
|
|
outgoingLight = mix(outgoingLight, uColor, p); |
|
|
} else { |
|
|
|
|
|
float p = smoothstep(0.0,1.0,(rDistance - r - w) / w); |
|
|
|
|
|
outgoingLight = mix(uColor, outgoingLight, p); |
|
|
} |
|
|
gl_FragColor = vec4(outgoingLight, diffuseColor.a); |
|
|
} else { |
|
|
gl_FragColor = vec4(outgoingLight, 0.0); |
|
|
} |
|
|
`)}}}class lBe{constructor({scene:e,time:t},i){this.scene=e,this.time=t,this.instance=null;let r={position:new Ge(0,0,0),gridSize:100,gridDivision:20,gridColor:2635578,shapeSize:1,shapeColor:9345950,pointSize:.2,pointColor:2635578,pointLayout:{row:200,col:200},pointBlending:q8};this.options=Object.assign({},r,i),this.init()}init(){let e=new E1;e.name="Grid";let t=this.createGridHelp(),i=this.createShapes(),r=this.createPoint();e.add(t,i,r),e.position.copy(this.options.position),this.instance=e,this.scene.add(e)}createShapes(){let{gridSize:e,gridDivision:t,shapeSize:i,shapeColor:r}=this.options,a=e/t,o=e/2,s=new M1({color:r,side:o0}),l=[];for(let d=0;d<t+1;d++)for(let h=0;h<t+1;h++){let f=this.createPlus(i);f.translate(-o+d*a,-o+h*a,0),l.push(f)}let u=x2e(l),c=new f1(u,s);return c.renderOrder=-1,c.rotateX(-Math.PI/2),c.position.y+=.01,c}createGridHelp(){let{gridSize:e,gridDivision:t,gridColor:i}=this.options;return new RFe(e,t,i,i)}createPoint(){let{gridSize:e,pointSize:t,pointColor:i,pointBlending:r,pointLayout:a}=this.options;const o=a.row,s=a.col,l=new Float32Array(o*s*3);for(let h=0;h<o;h++)for(let f=0;f<s;f++){let p=h/(o-1)*e-e/2,g=0,m=f/(s-1)*e-e/2,v=(h*s+f)*3;l[v]=p,l[v+1]=g,l[v+2]=m}var u=new Q1;u.setAttribute("position",new I0(l,3));let c=new mf({size:t,sizeAttenuation:!0,color:i,blending:r});return new AL(u,c)}setPointMode(){}createPlus(e=50){let t=e/6/3,i=e/3,r=[new J2(-i,-t),new J2(-t,-t),new J2(-t,-i),new J2(t,-i),new J2(t,-i),new J2(t,-t),new J2(i,-t),new J2(i,t),new J2(t,t),new J2(t,i),new J2(-t,i),new J2(-t,t),new J2(-i,t)],a=new ns(r);return new gf(a,24)}}const OW=new Ge,uBe=new vo,BW=new Ge;class O2e extends u0{constructor(e=document.createElement("div")){super(),this.isCSS3DObject=!0,this.element=e,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.addEventListener("removed",function(){this.traverse(function(t){t.element instanceof Element&&t.element.parentNode!==null&&t.element.parentNode.removeChild(t.element)})})}copy(e,t){return super.copy(e,t),this.element=e.element.cloneNode(!0),this}}class cBe extends O2e{constructor(e){super(e),this.isCSS3DSprite=!0,this.rotation2D=0}copy(e,t){return super.copy(e,t),this.rotation2D=e.rotation2D,this}}const Lo=new F3,dBe=new F3;class hBe{constructor(e={}){const t=this;let i,r,a,o;const s={camera:{style:""},objects:new WeakMap},l=e.element!==void 0?e.element:document.createElement("div");l.style.overflow="hidden",this.domElement=l;const u=document.createElement("div");u.style.transformOrigin="0 0",u.style.pointerEvents="none",l.appendChild(u);const c=document.createElement("div");c.style.transformStyle="preserve-3d",u.appendChild(c),this.getSize=function(){return{width:i,height:r}},this.render=function(g,m){const v=m.projectionMatrix.elements[5]*o;m.view&&m.view.enabled?(u.style.transform=`translate( ${-m.view.offsetX*(i/m.view.width)}px, ${-m.view.offsetY*(r/m.view.height)}px )`,u.style.transform+=`scale( ${m.view.fullWidth/m.view.width}, ${m.view.fullHeight/m.view.height} )`):u.style.transform="",g.matrixWorldAutoUpdate===!0&&g.updateMatrixWorld(),m.parent===null&&m.matrixWorldAutoUpdate===!0&&m.updateMatrixWorld();let _,S;m.isOrthographicCamera&&(_=-(m.right+m.left)/2,S=(m.top+m.bottom)/2);const x=m.view&&m.view.enabled?m.view.height/m.view.fullHeight:1,A=m.isOrthographicCamera?`scale( ${x} )scale(`+v+")translate("+d(_)+"px,"+d(S)+"px)"+h(m.matrixWorldInverse):`scale( ${x} )translateZ(`+v+"px)"+h(m.matrixWorldInverse),M=(m.isPerspectiveCamera?"perspective("+v+"px) ":"")+A+"translate("+a+"px,"+o+"px)";s.camera.style!==M&&(c.style.transform=M,s.camera.style=M),p(g,g,m)},this.setSize=function(g,m){i=g,r=m,a=i/2,o=r/2,l.style.width=g+"px",l.style.height=m+"px",u.style.width=g+"px",u.style.height=m+"px",c.style.width=g+"px",c.style.height=m+"px"};function d(g){return Math.abs(g)<1e-10?0:g}function h(g){const m=g.elements;return"matrix3d("+d(m[0])+","+d(-m[1])+","+d(m[2])+","+d(m[3])+","+d(m[4])+","+d(-m[5])+","+d(m[6])+","+d(m[7])+","+d(m[8])+","+d(-m[9])+","+d(m[10])+","+d(m[11])+","+d(m[12])+","+d(-m[13])+","+d(m[14])+","+d(m[15])+")"}function f(g){const m=g.elements;return"translate(-50%,-50%)"+("matrix3d("+d(m[0])+","+d(m[1])+","+d(m[2])+","+d(m[3])+","+d(-m[4])+","+d(-m[5])+","+d(-m[6])+","+d(-m[7])+","+d(m[8])+","+d(m[9])+","+d(m[10])+","+d(m[11])+","+d(m[12])+","+d(m[13])+","+d(m[14])+","+d(m[15])+")")}function p(g,m,v,_){if(g.isCSS3DObject){const S=g.visible===!0&&g.layers.test(v.layers)===!0;if(g.element.style.display=S===!0?"":"none",S===!0){g.onBeforeRender(t,m,v);let x;g.isCSS3DSprite?(Lo.copy(v.matrixWorldInverse),Lo.transpose(),g.rotation2D!==0&&Lo.multiply(dBe.makeRotationZ(g.rotation2D)),g.matrixWorld.decompose(OW,uBe,BW),Lo.setPosition(OW),Lo.scale(BW),Lo.elements[3]=0,Lo.elements[7]=0,Lo.elements[11]=0,Lo.elements[15]=1,x=f(Lo)):x=f(g.matrixWorld);const A=g.element,C=s.objects.get(g);if(C===void 0||C.style!==x){A.style.transform=x;const M={style:x};s.objects.set(g,M)}A.parentNode!==c&&c.appendChild(A),g.onAfterRender(t,m,v)}}for(let S=0,x=g.children.length;S<x;S++)p(g.children[S],m,v)}}}class fBe{constructor({scene:e,camera:t,time:i,sizes:r,canvas:a}){this.scene=e,this.camera=t,this.time=i,this.sizes=r,this.canvas=a,this.parent=null;let{width:o,height:s}=this.sizes,l=new hBe;this.css3dRender=l,l.setSize(o,s),l.domElement.style.position="absolute",l.domElement.style.left="0px",l.domElement.style.top="0px",l.domElement.style.pointerEvents="none",l.domElement.className="label3d-"+bOe(),this.canvas.parentNode.appendChild(l.domElement),this.time.on("tick",()=>{this.update()}),this.sizes.on("resize",()=>{this.resize()})}create(e="",t="",i=!1){let r=document.createElement("div");r.innerHTML=e,r.className=t,r.style.visibility="hidden",r.style.position="absolute",t||(r.style.padding="10px",r.style.color="#fff",r.style.fontSize="12px",r.style.textAlign="center",r.style.background="rgba(0,0,0,0.6)",r.style.borderRadius="4px");let a=null;return i?a=new cBe(r):a=new O2e(r),a.init=(o,s)=>{a.element.innerHTML=o,a.element.style.visibility="visible",a.position.copy(s)},a.hide=()=>{a.element.style.visibility="hidden"},a.scaleHide=()=>{a.element.classList.add("scale-hidden")},a.show=()=>{a.element.style.visibility="visible",a.element.classList.remove("scale-hidden")},a.setParent=o=>{this.parent=o,o.add(a)},a.remove=()=>{this.parent.remove(a)},a}setLabelStyle(e,t=.1,i="x",r=Math.PI/2,a="none"){e.element.style.pointerEvents=a,e.scale.set(t,t,t),e.rotation[i]=r}setRenderLevel(e){this.css3dRender.domElement.style.zIndex=e}update(){this.css3dRender.render(this.scene,this.camera.instance)}destroy(){if(this.css3dRender){let e=this.css3dRender.domElement;e.parentNode.removeChild(e)}}resize(){let{width:e,height:t}=this.sizes;this.css3dRender.setSize(e,t)}}class zW{constructor({time:e},t){this.time=e,this.options=Object.assign({},{width:10,scale:1,position:new Ge(0,0,0),needRotate:!1,rotateSpeed:.001,material:new M1({transparent:!0,opacity:1,depthTest:!0})},t);let i=new Nr(this.options.width,this.options.width),r=new f1(i,this.options.material);r.position.copy(this.options.position),r.scale.set(this.options.scale,this.options.scale,this.options.scale),this.instance=r}setParent(e){e.add(this.instance),this.time.on("tick",()=>{this.update()})}update(){this.options.needRotate&&(this.instance.rotation.z+=this.options.rotateSpeed)}}class Wy{constructor({time:e},t={}){this.instance=null,this.time=e,this.enable=!0,this.config=Object.assign({num:100,range:500,speed:.01,renderOrder:99,dir:"up",material:new mf({map:Wy.createTexture(),size:20,color:16777215,transparent:!0,opacity:1,depthTest:!1,vertexColors:!0,blending:Ln,sizeAttenuation:!0})},t),this.create()}create(){const{range:e,speed:t,dir:i,material:r,num:a,renderOrder:o}=this.config,s=[],l=[],u=[];for(let d=0;d<a;d++){s.push(Math.random()*e-e/2,Math.random()*e-e/2,Math.random()*e-e/2);let h=i==="up"?1:-1;u.push(Math.random()*h,(.1+Math.random())*h,.1+Math.random()*h);const f=r.color.clone();let p={};f.getHSL(p),f.setHSL(p.h,p.s,p.l*Math.random()),l.push(f.r,f.g,f.b)}const c=new Q1;c.setAttribute("position",new I0(new Float32Array(s),3)),c.setAttribute("velocities",new I0(new Float32Array(u),3)),c.setAttribute("color",new I0(new Float32Array(l),3)),this.instance=new AL(c,r),this.instance.renderOrder=o}static createTexture(){let e=document.createElement("canvas");e.width=1024,e.height=1024;let t=e.getContext("2d"),i=t.createRadialGradient(512,512,0,512,512,512);return i.addColorStop(0,"rgba(255,255,255,1)"),i.addColorStop(1,"rgba(255,255,255,0)"),t.fillStyle=i,t.fillRect(0,0,1024,1024),new CL(e)}update(e,t){if(!this.instance)return!1;const{range:i,speed:r,dir:a}=this.config;let o=a==="up"?1:-1,s=this.instance.geometry.getAttribute("position"),l=this.instance.geometry.getAttribute("velocities");const u=s.count;for(let c=0;c<u;c++){let d=s.getX(c);s.getY(c);let h=s.getZ(c),f=l.getX(c),p=l.getY(c);l.getZ(c),d+=Math.sin(f*t)*e,h+=r*o,h>i/2&&o===1&&(h=-i/2),h<-i/2&&o==-1&&(h=i/2),s.setX(c,d),s.setZ(c,h),l.setX(c,f),l.setY(c,p)}s.needsUpdate=!0,l.needsUpdate=!0}setParent(e){e.add(this.instance),this.time.on("tick",(t,i)=>{this.enable&&this.update(t,i)})}}class yg{constructor({},e={}){this.mapGroup=new E1,this.coordinates=[],this.config=Object.assign({position:new Ge(0,0,0),geoProjectionCenter:new J2(0,0),geoProjectionScale:120,data:"",renderOrder:1,merge:!1,material:new M1({color:1582651,transparent:!0,opacity:1})},e),this.mapGroup.position.copy(this.config.position);let t=kL(this.config.data);this.create(t)}geoProjection(e){return $s().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){let{merge:t}=this.config,i=[];if(e.features.forEach(r=>{const a=new u0;let{name:o,center:s=[],centroid:l=[]}=r.properties;this.coordinates.push({name:o,center:s,centroid:l}),a.userData.name=o,r.geometry.coordinates.forEach(u=>{u.forEach(c=>{const d=new ns;for(let f=0;f<c.length;f++){if(!c[f][0]||!c[f][1])return!1;const[p,g]=this.geoProjection(c[f]);f===0&&d.moveTo(p,-g),d.lineTo(p,-g)}const h=new gf(d);if(t)i.push(h);else{const f=new f1(h,this.config.material);f.renderOrder=this.config.renderOrder,f.userData.name=o,a.add(f)}})}),t||this.mapGroup.add(a)}),t){let r=x2e(i);const a=new f1(r,this.config.material);a.renderOrder=this.config.renderOrder,this.mapGroup.add(a)}}getCoordinates(){return this.coordinates}setParent(e){e.add(this.mapGroup)}}class UW{constructor({assets:e,time:t},i={}){this.mapGroup=new E1,this.assets=e,this.time=t,this.coordinates=[],this.config=Object.assign({position:new Ge(0,0,0),geoProjectionCenter:new J2(0,0),geoProjectionScale:120,data:"",renderOrder:1,topFaceMaterial:new M1({color:1582651,transparent:!0,opacity:1}),sideMaterial:new M1({color:464171,transparent:!0,opacity:1}),depth:.1},i),this.mapGroup.position.copy(this.config.position);let r=kL(this.config.data);this.create(r)}geoProjection(e){return $s().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){e.features.forEach(t=>{var u,c,d;const i=new u0;let{name:r,center:a=[],centroid:o=[]}=t.properties;this.coordinates.push({name:r,center:a,centroid:o});const s={depth:this.config.depth,bevelEnabled:(u=this.config.bevelEnabled)!=null?u:!0,bevelSegments:(c=this.config.bevelSegments)!=null?c:1,bevelThickness:(d=this.config.bevelThickness)!=null?d:.1};let l=[this.config.topFaceMaterial,this.config.sideMaterial];t.geometry.coordinates.forEach(h=>{h.forEach((f,p)=>{const g=new ns;for(let _=0;_<f.length;_++){if(!f[_][0]||!f[_][1])return!1;const[S,x]=this.geoProjection(f[_]);_===0&&g.moveTo(S,-x),g.lineTo(S,-x)}const m=new cS(g,s),v=new f1(m,l);i.add(v)})}),this.mapGroup.add(i)})}getCoordinates(){return this.coordinates}setParent(e){e.add(this.mapGroup)}}const GW=new Ha,_g=new Ge;class B2e extends gFe{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],t=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],i=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(i),this.setAttribute("position",new S0(e,3)),this.setAttribute("uv",new S0(t,2))}applyMatrix4(e){const t=this.attributes.instanceStart,i=this.attributes.instanceEnd;return t!==void 0&&(t.applyMatrix4(e),i.applyMatrix4(e),t.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new nE(t,6,1);return this.setAttribute("instanceStart",new co(i,3,0)),this.setAttribute("instanceEnd",new co(i,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));const i=new nE(t,6,1);return this.setAttribute("instanceColorStart",new co(i,3,0)),this.setAttribute("instanceColorEnd",new co(i,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new Qke(e.geometry)),this}fromLineSegments(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Ha);const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;e!==void 0&&t!==void 0&&(this.boundingBox.setFromBufferAttribute(e),GW.setFromBufferAttribute(t),this.boundingBox.union(GW))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Wa),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(e!==void 0&&t!==void 0){const i=this.boundingSphere.center;this.boundingBox.getCenter(i);let r=0;for(let a=0,o=e.count;a<o;a++)_g.fromBufferAttribute(e,a),r=Math.max(r,i.distanceToSquared(_g)),_g.fromBufferAttribute(t,a),r=Math.max(r,i.distanceToSquared(_g));this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}applyMatrix(e){return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."),this.applyMatrix4(e)}}wt.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new J2(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};tr.line={uniforms:vL.merge([wt.common,wt.fog,wt.line]),vertexShader:` |
|
|
#include <common> |
|
|
#include <color_pars_vertex> |
|
|
#include <fog_pars_vertex> |
|
|
#include <logdepthbuf_pars_vertex> |
|
|
#include <clipping_planes_pars_vertex> |
|
|
|
|
|
uniform float linewidth; |
|
|
uniform vec2 resolution; |
|
|
|
|
|
attribute vec3 instanceStart; |
|
|
attribute vec3 instanceEnd; |
|
|
|
|
|
attribute vec3 instanceColorStart; |
|
|
attribute vec3 instanceColorEnd; |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
varying vec4 worldPos; |
|
|
varying vec3 worldStart; |
|
|
varying vec3 worldEnd; |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
varying vec2 vUv; |
|
|
|
|
|
#endif |
|
|
|
|
|
#else |
|
|
|
|
|
varying vec2 vUv; |
|
|
|
|
|
#endif |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
uniform float dashScale; |
|
|
attribute float instanceDistanceStart; |
|
|
attribute float instanceDistanceEnd; |
|
|
varying float vLineDistance; |
|
|
|
|
|
#endif |
|
|
|
|
|
void trimSegment( const in vec4 start, inout vec4 end ) { |
|
|
|
|
|
// trim end segment so it terminates between the camera plane and the near plane |
|
|
|
|
|
// conservative estimate of the near plane |
|
|
float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column |
|
|
float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column |
|
|
float nearEstimate = - 0.5 * b / a; |
|
|
|
|
|
float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); |
|
|
|
|
|
end.xyz = mix( start.xyz, end.xyz, alpha ); |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
#ifdef USE_COLOR |
|
|
|
|
|
vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; |
|
|
|
|
|
#endif |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; |
|
|
vUv = uv; |
|
|
|
|
|
#endif |
|
|
|
|
|
float aspect = resolution.x / resolution.y; |
|
|
|
|
|
// camera space |
|
|
vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); |
|
|
vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
worldStart = start.xyz; |
|
|
worldEnd = end.xyz; |
|
|
|
|
|
#else |
|
|
|
|
|
vUv = uv; |
|
|
|
|
|
#endif |
|
|
|
|
|
// special case for perspective projection, and segments that terminate either in, or behind, the camera plane |
|
|
// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space |
|
|
// but we need to perform ndc-space calculations in the shader, so we must address this issue directly |
|
|
// perhaps there is a more elegant solution -- WestLangley |
|
|
|
|
|
bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column |
|
|
|
|
|
if ( perspective ) { |
|
|
|
|
|
if ( start.z < 0.0 && end.z >= 0.0 ) { |
|
|
|
|
|
trimSegment( start, end ); |
|
|
|
|
|
} else if ( end.z < 0.0 && start.z >= 0.0 ) { |
|
|
|
|
|
trimSegment( end, start ); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
// clip space |
|
|
vec4 clipStart = projectionMatrix * start; |
|
|
vec4 clipEnd = projectionMatrix * end; |
|
|
|
|
|
// ndc space |
|
|
vec3 ndcStart = clipStart.xyz / clipStart.w; |
|
|
vec3 ndcEnd = clipEnd.xyz / clipEnd.w; |
|
|
|
|
|
// direction |
|
|
vec2 dir = ndcEnd.xy - ndcStart.xy; |
|
|
|
|
|
// account for clip-space aspect ratio |
|
|
dir.x *= aspect; |
|
|
dir = normalize( dir ); |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
vec3 worldDir = normalize( end.xyz - start.xyz ); |
|
|
vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) ); |
|
|
vec3 worldUp = normalize( cross( worldDir, tmpFwd ) ); |
|
|
vec3 worldFwd = cross( worldDir, worldUp ); |
|
|
worldPos = position.y < 0.5 ? start: end; |
|
|
|
|
|
// height offset |
|
|
float hw = linewidth * 0.5; |
|
|
worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp; |
|
|
|
|
|
// don't extend the line if we're rendering dashes because we |
|
|
// won't be rendering the endcaps |
|
|
#ifndef USE_DASH |
|
|
|
|
|
// cap extension |
|
|
worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir; |
|
|
|
|
|
// add width to the box |
|
|
worldPos.xyz += worldFwd * hw; |
|
|
|
|
|
// endcaps |
|
|
if ( position.y > 1.0 || position.y < 0.0 ) { |
|
|
|
|
|
worldPos.xyz -= worldFwd * 2.0 * hw; |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
|
|
|
// project the worldpos |
|
|
vec4 clip = projectionMatrix * worldPos; |
|
|
|
|
|
// shift the depth of the projected points so the line |
|
|
// segments overlap neatly |
|
|
vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; |
|
|
clip.z = clipPose.z * clip.w; |
|
|
|
|
|
#else |
|
|
|
|
|
vec2 offset = vec2( dir.y, - dir.x ); |
|
|
// undo aspect ratio adjustment |
|
|
dir.x /= aspect; |
|
|
offset.x /= aspect; |
|
|
|
|
|
// sign flip |
|
|
if ( position.x < 0.0 ) offset *= - 1.0; |
|
|
|
|
|
// endcaps |
|
|
if ( position.y < 0.0 ) { |
|
|
|
|
|
offset += - dir; |
|
|
|
|
|
} else if ( position.y > 1.0 ) { |
|
|
|
|
|
offset += dir; |
|
|
|
|
|
} |
|
|
|
|
|
// adjust for linewidth |
|
|
offset *= linewidth; |
|
|
|
|
|
// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... |
|
|
offset /= resolution.y; |
|
|
|
|
|
// select end |
|
|
vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; |
|
|
|
|
|
// back to clip space |
|
|
offset *= clip.w; |
|
|
|
|
|
clip.xy += offset; |
|
|
|
|
|
#endif |
|
|
|
|
|
gl_Position = clip; |
|
|
|
|
|
vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation |
|
|
|
|
|
#include <logdepthbuf_vertex> |
|
|
#include <clipping_planes_vertex> |
|
|
#include <fog_vertex> |
|
|
|
|
|
} |
|
|
`,fragmentShader:` |
|
|
uniform vec3 diffuse; |
|
|
uniform float opacity; |
|
|
uniform float linewidth; |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
uniform float dashOffset; |
|
|
uniform float dashSize; |
|
|
uniform float gapSize; |
|
|
|
|
|
#endif |
|
|
|
|
|
varying float vLineDistance; |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
varying vec4 worldPos; |
|
|
varying vec3 worldStart; |
|
|
varying vec3 worldEnd; |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
varying vec2 vUv; |
|
|
|
|
|
#endif |
|
|
|
|
|
#else |
|
|
|
|
|
varying vec2 vUv; |
|
|
|
|
|
#endif |
|
|
|
|
|
#include <common> |
|
|
#include <color_pars_fragment> |
|
|
#include <fog_pars_fragment> |
|
|
#include <logdepthbuf_pars_fragment> |
|
|
#include <clipping_planes_pars_fragment> |
|
|
|
|
|
vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) { |
|
|
|
|
|
float mua; |
|
|
float mub; |
|
|
|
|
|
vec3 p13 = p1 - p3; |
|
|
vec3 p43 = p4 - p3; |
|
|
|
|
|
vec3 p21 = p2 - p1; |
|
|
|
|
|
float d1343 = dot( p13, p43 ); |
|
|
float d4321 = dot( p43, p21 ); |
|
|
float d1321 = dot( p13, p21 ); |
|
|
float d4343 = dot( p43, p43 ); |
|
|
float d2121 = dot( p21, p21 ); |
|
|
|
|
|
float denom = d2121 * d4343 - d4321 * d4321; |
|
|
|
|
|
float numer = d1343 * d4321 - d1321 * d4343; |
|
|
|
|
|
mua = numer / denom; |
|
|
mua = clamp( mua, 0.0, 1.0 ); |
|
|
mub = ( d1343 + d4321 * ( mua ) ) / d4343; |
|
|
mub = clamp( mub, 0.0, 1.0 ); |
|
|
|
|
|
return vec2( mua, mub ); |
|
|
|
|
|
} |
|
|
|
|
|
void main() { |
|
|
|
|
|
#include <clipping_planes_fragment> |
|
|
|
|
|
#ifdef USE_DASH |
|
|
|
|
|
if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps |
|
|
|
|
|
if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX |
|
|
|
|
|
#endif |
|
|
|
|
|
float alpha = opacity; |
|
|
|
|
|
#ifdef WORLD_UNITS |
|
|
|
|
|
// Find the closest points on the view ray and the line segment |
|
|
vec3 rayEnd = normalize( worldPos.xyz ) * 1e5; |
|
|
vec3 lineDir = worldEnd - worldStart; |
|
|
vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd ); |
|
|
|
|
|
vec3 p1 = worldStart + lineDir * params.x; |
|
|
vec3 p2 = rayEnd * params.y; |
|
|
vec3 delta = p1 - p2; |
|
|
float len = length( delta ); |
|
|
float norm = len / linewidth; |
|
|
|
|
|
#ifndef USE_DASH |
|
|
|
|
|
#ifdef USE_ALPHA_TO_COVERAGE |
|
|
|
|
|
float dnorm = fwidth( norm ); |
|
|
alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); |
|
|
|
|
|
#else |
|
|
|
|
|
if ( norm > 0.5 ) { |
|
|
|
|
|
discard; |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
|
|
|
#endif |
|
|
|
|
|
#else |
|
|
|
|
|
#ifdef USE_ALPHA_TO_COVERAGE |
|
|
|
|
|
// artifacts appear on some hardware if a derivative is taken within a conditional |
|
|
float a = vUv.x; |
|
|
float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; |
|
|
float len2 = a * a + b * b; |
|
|
float dlen = fwidth( len2 ); |
|
|
|
|
|
if ( abs( vUv.y ) > 1.0 ) { |
|
|
|
|
|
alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 ); |
|
|
|
|
|
} |
|
|
|
|
|
#else |
|
|
|
|
|
if ( abs( vUv.y ) > 1.0 ) { |
|
|
|
|
|
float a = vUv.x; |
|
|
float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; |
|
|
float len2 = a * a + b * b; |
|
|
|
|
|
if ( len2 > 1.0 ) discard; |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
|
|
|
#endif |
|
|
|
|
|
vec4 diffuseColor = vec4( diffuse, alpha ); |
|
|
|
|
|
#include <logdepthbuf_fragment> |
|
|
#include <color_fragment> |
|
|
|
|
|
gl_FragColor = vec4( diffuseColor.rgb, alpha ); |
|
|
|
|
|
#include <tonemapping_fragment> |
|
|
#include <colorspace_fragment> |
|
|
#include <fog_fragment> |
|
|
#include <premultiplied_alpha_fragment> |
|
|
|
|
|
} |
|
|
`};class z2e extends h6{constructor(e){super({type:"LineMaterial",uniforms:vL.clone(tr.line.uniforms),vertexShader:tr.line.vertexShader,fragmentShader:tr.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1))}}const VW=new Ge,HW=new Ge,Vn=new P1,Hn=new P1,Io=new P1,yA=new Ge,_A=new F3,jn=new PFe,WW=new Ge,Sg=new Ha,bg=new Wa,Do=new P1;let qo,Q8;function jW(n,e,t){return Do.set(0,0,-e,1).applyMatrix4(n.projectionMatrix),Do.multiplyScalar(1/Do.w),Do.x=Q8/t.width,Do.y=Q8/t.height,Do.applyMatrix4(n.projectionMatrixInverse),Do.multiplyScalar(1/Do.w),Math.abs(Math.max(Do.x,Do.y))}function pBe(n,e){const t=n.matrixWorld,i=n.geometry,r=i.attributes.instanceStart,a=i.attributes.instanceEnd,o=Math.min(i.instanceCount,r.count);for(let s=0,l=o;s<l;s++){jn.start.fromBufferAttribute(r,s),jn.end.fromBufferAttribute(a,s),jn.applyMatrix4(t);const u=new Ge,c=new Ge;qo.distanceSqToSegment(jn.start,jn.end,c,u),c.distanceTo(u)<Q8*.5&&e.push({point:c,pointOnLine:u,distance:qo.origin.distanceTo(c),object:n,face:null,faceIndex:s,uv:null,uv1:null})}}function mBe(n,e,t){const i=e.projectionMatrix,a=n.material.resolution,o=n.matrixWorld,s=n.geometry,l=s.attributes.instanceStart,u=s.attributes.instanceEnd,c=Math.min(s.instanceCount,l.count),d=-e.near;qo.at(1,Io),Io.w=1,Io.applyMatrix4(e.matrixWorldInverse),Io.applyMatrix4(i),Io.multiplyScalar(1/Io.w),Io.x*=a.x/2,Io.y*=a.y/2,Io.z=0,yA.copy(Io),_A.multiplyMatrices(e.matrixWorldInverse,o);for(let h=0,f=c;h<f;h++){if(Vn.fromBufferAttribute(l,h),Hn.fromBufferAttribute(u,h),Vn.w=1,Hn.w=1,Vn.applyMatrix4(_A),Hn.applyMatrix4(_A),Vn.z>d&&Hn.z>d)continue;if(Vn.z>d){const S=Vn.z-Hn.z,x=(Vn.z-d)/S;Vn.lerp(Hn,x)}else if(Hn.z>d){const S=Hn.z-Vn.z,x=(Hn.z-d)/S;Hn.lerp(Vn,x)}Vn.applyMatrix4(i),Hn.applyMatrix4(i),Vn.multiplyScalar(1/Vn.w),Hn.multiplyScalar(1/Hn.w),Vn.x*=a.x/2,Vn.y*=a.y/2,Hn.x*=a.x/2,Hn.y*=a.y/2,jn.start.copy(Vn),jn.start.z=0,jn.end.copy(Hn),jn.end.z=0;const g=jn.closestPointToPointParameter(yA,!0);jn.at(g,WW);const m=mL.lerp(Vn.z,Hn.z,g),v=m>=-1&&m<=1,_=yA.distanceTo(WW)<Q8*.5;if(v&&_){jn.start.fromBufferAttribute(l,h),jn.end.fromBufferAttribute(u,h),jn.start.applyMatrix4(o),jn.end.applyMatrix4(o);const S=new Ge,x=new Ge;qo.distanceSqToSegment(jn.start,jn.end,x,S),t.push({point:x,pointOnLine:S,distance:qo.origin.distanceTo(x),object:n,face:null,faceIndex:h,uv:null,uv1:null})}}}class gBe extends f1{constructor(e=new B2e,t=new z2e({color:Math.random()*16777215})){super(e,t),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,t=e.attributes.instanceStart,i=e.attributes.instanceEnd,r=new Float32Array(2*t.count);for(let o=0,s=0,l=t.count;o<l;o++,s+=2)VW.fromBufferAttribute(t,o),HW.fromBufferAttribute(i,o),r[s]=s===0?0:r[s-1],r[s+1]=r[s]+VW.distanceTo(HW);const a=new nE(r,2,1);return e.setAttribute("instanceDistanceStart",new co(a,1,0)),e.setAttribute("instanceDistanceEnd",new co(a,1,1)),this}raycast(e,t){const i=this.material.worldUnits,r=e.camera;r===null&&!i&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');const a=e.params.Line2!==void 0&&e.params.Line2.threshold||0;qo=e.ray;const o=this.matrixWorld,s=this.geometry,l=this.material;Q8=l.linewidth+a,s.boundingSphere===null&&s.computeBoundingSphere(),bg.copy(s.boundingSphere).applyMatrix4(o);let u;if(i)u=Q8*.5;else{const d=Math.max(r.near,bg.distanceToPoint(qo.origin));u=jW(r,d,l.resolution)}if(bg.radius+=u,qo.intersectsSphere(bg)===!1)return;s.boundingBox===null&&s.computeBoundingBox(),Sg.copy(s.boundingBox).applyMatrix4(o);let c;if(i)c=Q8*.5;else{const d=Math.max(r.near,Sg.distanceToPoint(qo.origin));c=jW(r,d,l.resolution)}Sg.expandByScalar(c),qo.intersectsBox(Sg)!==!1&&(i?pBe(this,t):mBe(this,r,t))}}class U2e extends B2e{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(e){const t=e.length-3,i=new Float32Array(2*t);for(let r=0;r<t;r+=3)i[2*r]=e[r],i[2*r+1]=e[r+1],i[2*r+2]=e[r+2],i[2*r+3]=e[r+3],i[2*r+4]=e[r+4],i[2*r+5]=e[r+5];return super.setPositions(i),this}setColors(e){const t=e.length-3,i=new Float32Array(2*t);for(let r=0;r<t;r+=3)i[2*r]=e[r],i[2*r+1]=e[r+1],i[2*r+2]=e[r+2],i[2*r+3]=e[r+3],i[2*r+4]=e[r+4],i[2*r+5]=e[r+5];return super.setColors(i),this}fromLine(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}}class vBe extends gBe{constructor(e=new U2e,t=new z2e({color:Math.random()*16777215})){super(e,t),this.isLine2=!0,this.type="Line2"}}class xg{constructor({},e={}){this.config=Object.assign({visibelProvince:"",geoProjectionCenter:[0,0],geoProjectionScale:120,position:new Ge(0,0,0),data:"",material:new Yo({color:16777215}),type:"LineLoop",renderOrder:1,tubeRadius:.2},e);let t=kL(this.config.data),i=this.create(t);this.lineGroup=i,this.lineGroup.position.copy(this.config.position)}geoProjection(e){return $s().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){const{type:t,visibelProvince:i}=this.config;let r=e.features,a=new E1;for(let o=0;o<r.length;o++){const s=r[o];let l=new E1;l.name="meshLineGroup"+o,s.properties.name!==i&&(s.geometry.coordinates.forEach(u=>{const c=[];let d=null;t==="Line2"?(u[0].forEach(h=>{const[f,p]=this.geoProjection(h);c.push(f,-p,0)}),d=this.createLine2(c)):t==="Line3"?(u[0].forEach(h=>{const[f,p]=this.geoProjection(h);c.push(new Ge(f,-p,0))}),d=this.createLine3(c)):u[0].forEach(h=>{const[f,p]=this.geoProjection(h);c.push(new Ge(f,-p,0)),d=this.createLine(c)}),l.add(d)}),a.add(l))}return a}createLine3(e){const t=this.config.tubeRadius,i=256*10,r=4,a=!1,{material:o,renderOrder:s}=this.config,l=new PL(e),u=new dS(l,i,t,r,a),c=new f1(u,o);return c.name="mapLine3",c.renderOrder=s,c}createLine2(e){const{material:t,renderOrder:i}=this.config,r=new U2e;r.setPositions(e);let a=new vBe(r,t);return a.name="mapLine2",a.renderOrder=i,a.computeLineDistances(),a}createLine(e){const{material:t,renderOrder:i,type:r}=this.config,a=new Q1;a.setFromPoints(e);let o=new Oy(a,t);return o.renderOrder=i,o.name="mapLine",o}setParent(e){e.add(this.lineGroup)}}class wg{constructor(e,t){this.shader=null,this.config=Object.assign({uColor1:2781042,uColor2:860197,size:15,dir:"x"},t),this.init(e)}init(e){let{uColor1:t,uColor2:i,dir:r,size:a}=this.config,o={x:1,y:2,z:3};e.onBeforeCompile=s=>{this.shader=s,s.uniforms=V2(y2({},s.uniforms),{uColor1:{value:new Yt(t)},uColor2:{value:new Yt(i)},uDir:{value:o[r]},uSize:{value:a}}),s.vertexShader=s.vertexShader.replace("void main() {",` |
|
|
attribute float alpha; |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
void main() { |
|
|
vAlpha = alpha; |
|
|
vPosition = position; |
|
|
`),s.fragmentShader=s.fragmentShader.replace("void main() {",` |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
uniform vec3 uColor1; |
|
|
uniform vec3 uColor2; |
|
|
uniform float uDir; |
|
|
uniform float uSize; |
|
|
|
|
|
void main() { |
|
|
`),s.fragmentShader=s.fragmentShader.replace("#include <opaque_fragment>",` |
|
|
#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
|
|
|
// https://github.com/mrdoob/three.js/pull/22425 |
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= transmissionAlpha + 0.1; |
|
|
#endif |
|
|
// vec3 gradient = mix(uColor1, uColor2, vPosition.x / 15.0); |
|
|
vec3 gradient = vec3(0.0,0.0,0.0); |
|
|
if(uDir==1.0){ |
|
|
gradient = mix(uColor1, uColor2, vPosition.x/ uSize); |
|
|
}else if(uDir==2.0){ |
|
|
gradient = mix(uColor1, uColor2, vPosition.z/ uSize); |
|
|
}else if(uDir==3.0){ |
|
|
gradient = mix(uColor1, uColor2, vPosition.y/ uSize); |
|
|
} |
|
|
outgoingLight = outgoingLight * gradient; |
|
|
|
|
|
|
|
|
gl_FragColor = vec4( outgoingLight, diffuseColor.a ); |
|
|
`)}}}const yBe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK+SURBVHgB7dzNbdswGIdxSugCRtGBuklWSO17nXs/J0hHywA11AEMu3wDsLFT5WCJ5PtI/D8nQ5cA/FmxJJLqtofhHBSmPihUAoElEFgCgfVu7ODX95suqOKNXVDpDIElEFgCgSUQWAKBJRBYAoE1G2Q3DJ/j9fRjUGE7DI+f4niEGc0CMYzzKezjx7vWUQwjnMJdF8djDsq8M+QYLu/om0VJGP8OXI/LTc0C+fJhs4/fiIeLQ82hvMaI/zEevsVxCROb/RvSMkpuDCvLVVaLKCUwrGyXvS2hlMKwst6HtIBSEsPKfmO4ZpTSGFaRO/U1otTAsIo9OlkTSi0Mq+izrDWg1MSwij9cXDJKbQyrytPeJaJ4YFjVHr8vCcULw6o6H7IEFE8Mq/oEFRnFG8NymTEkohAwLLcpXBIKBcNynVMnoJAwLPdFDp4oNAwLserEA4WIYXVjK7C9Vr+fY8Gh7e8/Lhha/f5GhDMjJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJZDwvIIQs2kIA/K81tYvzKYhBMh/75vyCYHiDgLBSLmjuIK8xrBV6J1HoO11biCk/Rmk7XUuIMTNMhSU6iDUnUsWAaUqCBkj5Y1SDWQJGClPlCogS8JIeaEUB1kiRsoDpSjIkjFStVGKgawBI1UTpQjImjBStVCyg6wRI1UDJSvImjFSpVGygbSAkSqJkgWkJYxUKZTZIC1ipEqgzAJpGSOVG2UyiDBeyokyCWR3OOyFcd0Yyu4wfA83Ngnk2Pe/ziE82WdhvHSJYuNz7MPPcGOTQH5sNk+nPnyMf/xeGNcZSvyS3tv42DiFG0O94q+19Iq/BSQQWAKBJRBYAoElEFgCgSUQWKM3hsovnSGwBAJLILAEAusvLK6Na4P/Au0AAAAASUVORK5CYII=",G2e=`{"name":"hongyuan_townships","type":"FeatureCollection","source":"PostGIS public.c_area where parent_code = 513233","features":[{"id":"513233100","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.439335,32.937888],[102.439465,32.937624],[102.439588,32.937381],[102.439753,32.937201],[102.439756,32.937198],[102.439918,32.937021],[102.440068,32.936829],[102.440337,32.936613],[102.440605,32.936411],[102.440872,32.936208],[102.440989,32.936044],[102.440992,32.93604],[102.440994,32.935966],[102.440914,32.935745],[102.440772,32.935619],[102.440517,32.935419],[102.440455,32.935375],[102.440916,32.935324],[102.441734,32.935456],[102.44229,32.935178],[102.442815,32.934419],[102.44351,32.933259],[102.444121,32.932655],[102.444338,32.932255],[102.444741,32.931762],[102.445596,32.931414],[102.446633,32.931069],[102.447794,32.930381],[102.448442,32.930105],[102.449001,32.929712],[102.449331,32.929353],[102.449481,32.928894],[102.449606,32.928531],[102.450068,32.928328],[102.450741,32.927976],[102.45119,32.927446],[102.451478,32.926932],[102.451945,32.926576],[102.452324,32.926121],[102.452633,32.925685],[102.453259,32.925351],[102.454021,32.925039],[102.454694,32.924668],[102.455301,32.924218],[102.455973,32.923866],[102.456693,32.923437],[102.456974,32.923193],[102.457186,32.922966],[102.457363,32.922373],[102.45741,32.921526],[102.457323,32.919772],[102.457389,32.919361],[102.457412,32.919221],[102.457434,32.919081],[102.45745,32.918523],[102.457466,32.917965],[102.457431,32.917608],[102.457395,32.917251],[102.457233,32.916949],[102.45707,32.916648],[102.45673,32.916159],[102.45639,32.915671],[102.456185,32.915263],[102.45598,32.914854],[102.455876,32.914515],[102.455771,32.914176],[102.45562,32.913855],[102.45547,32.913534],[102.455472,32.913062],[102.455474,32.912591],[102.455475,32.912157],[102.455476,32.911724],[102.455408,32.911299],[102.455341,32.910874],[102.45526,32.910487],[102.45518,32.910101],[102.45526,32.909717],[102.455339,32.909334],[102.455421,32.908864],[102.455503,32.908393],[102.455584,32.907943],[102.455666,32.907492],[102.45571,32.906751],[102.455754,32.906011],[102.455799,32.905636],[102.455844,32.905262],[102.456031,32.904303],[102.456122,32.903515],[102.456001,32.902145],[102.456207,32.898887],[102.456064,32.89765],[102.456252,32.89609],[102.456412,32.894227],[102.456305,32.892992],[102.45657,32.892425],[102.45739,32.891208],[102.458239,32.890203],[102.459053,32.889166],[102.459612,32.888305],[102.460165,32.887684],[102.460608,32.887152],[102.461397,32.887017],[102.462111,32.886972],[102.462401,32.886827],[102.462597,32.886199],[102.463022,32.885034],[102.463218,32.884437],[102.46356,32.883691],[102.463871,32.882795],[102.463611,32.881887],[102.463009,32.880491],[102.463072,32.879529],[102.463198,32.87887],[102.463539,32.878155],[102.464274,32.877387],[102.464908,32.876407],[102.465427,32.875726],[102.466434,32.874182],[102.466629,32.873584],[102.466789,32.872955],[102.466809,32.872264],[102.466829,32.871572],[102.467217,32.870467],[102.468038,32.869159],[102.469019,32.867284],[102.469365,32.866388],[102.469819,32.865465],[102.469976,32.864956],[102.470434,32.863912],[102.471528,32.861768],[102.471984,32.860785],[102.472222,32.859947],[102.472702,32.859232],[102.47278,32.859116],[102.473231,32.858282],[102.473931,32.857514],[102.474161,32.857282],[102.474545,32.856895],[102.475173,32.856433],[102.476142,32.856205],[102.477274,32.855889],[102.478111,32.85559],[102.479001,32.855337],[102.480214,32.854978],[102.481052,32.854679],[102.481971,32.854314],[102.483244,32.85373],[102.484003,32.853362],[102.484649,32.853194],[102.485238,32.853184],[102.486127,32.852953],[102.486855,32.85272],[102.487537,32.852254],[102.48862,32.851531],[102.489742,32.850826],[102.490281,32.850567],[102.490759,32.850338],[102.491861,32.849463],[102.492679,32.848706],[102.49356,32.847885],[102.494546,32.847029],[102.495856,32.8459],[102.496385,32.845276],[102.496502,32.84486],[102.496437,32.84449],[102.496327,32.84412],[102.496249,32.843674],[102.496027,32.843048],[102.495721,32.842674],[102.495537,32.842264],[102.495224,32.841623],[102.494771,32.840636],[102.494555,32.840302],[102.494596,32.839754],[102.49473,32.839101],[102.494919,32.838241],[102.495116,32.837687],[102.495393,32.837247],[102.495484,32.836942],[102.495488,32.836897],[102.49553,32.836469],[102.495487,32.835659],[102.495517,32.835172],[102.495307,32.834429],[102.495258,32.833215],[102.495287,32.832198],[102.495507,32.830836],[102.495588,32.830294],[102.495721,32.829684],[102.495954,32.829005],[102.497083,32.826899],[102.4977,32.82604],[102.498076,32.825525],[102.498227,32.824722],[102.498463,32.82366],[102.498588,32.8229],[102.498942,32.82221],[102.49959,32.821199],[102.500151,32.820513],[102.500339,32.820256],[102.500413,32.820158],[102.500798,32.819848],[102.501091,32.819456],[102.501299,32.818746],[102.501321,32.817952],[102.500655,32.817166],[102.500433,32.816903],[102.499831,32.816281],[102.49959,32.815689],[102.499278,32.814855],[102.498883,32.814215],[102.498573,32.813294],[102.498437,32.812638],[102.498223,32.81198],[102.497608,32.810922],[102.497089,32.810106],[102.496219,32.808956],[102.495557,32.807723],[102.495094,32.806909],[102.495091,32.806903],[102.495059,32.806847],[102.495058,32.806845],[102.495057,32.806843],[102.495026,32.80679],[102.494254,32.805432],[102.493553,32.80433],[102.493538,32.804306],[102.492419,32.802825],[102.491777,32.801788],[102.491803,32.800895],[102.491908,32.80052],[102.49192,32.800476],[102.492233,32.799358],[102.492391,32.799006],[102.494832,32.793593],[102.494849,32.793556],[102.494882,32.793483],[102.4949,32.793443],[102.494913,32.793415],[102.494921,32.793398],[102.495295,32.792567],[102.495311,32.792533],[102.495326,32.792499],[102.495339,32.792471],[102.495353,32.792439],[102.495357,32.79243],[102.495368,32.792407],[102.495601,32.791966],[102.495631,32.791908],[102.495664,32.791847],[102.495681,32.791814],[102.495701,32.791776],[102.495741,32.791699],[102.495743,32.791696],[102.495942,32.79132],[102.495957,32.791291],[102.495958,32.79129],[102.495977,32.791253],[102.496141,32.790943],[102.496206,32.790821],[102.496227,32.790781],[102.496484,32.790294],[102.497119,32.790656],[102.497803,32.791083],[102.498545,32.791294],[102.499195,32.791265],[102.499216,32.791264],[102.499671,32.79104],[102.499896,32.790929],[102.500526,32.790463],[102.500871,32.790208],[102.500808,32.789908],[102.500816,32.789612],[102.500825,32.789283],[102.500832,32.789058],[102.500834,32.788964],[102.500847,32.788526],[102.50085,32.788408],[102.500866,32.78783],[102.500876,32.78749],[102.500958,32.787305],[102.501171,32.786828],[102.501244,32.786663],[102.501361,32.786554],[102.50146,32.786461],[102.5015,32.786423],[102.501756,32.786183],[102.501785,32.786155],[102.501844,32.7861],[102.501849,32.786096],[102.501853,32.786092],[102.501884,32.786081],[102.501923,32.786069],[102.501936,32.786064],[102.503049,32.785698],[102.503785,32.785738],[102.504006,32.78575],[102.504282,32.785765],[102.505311,32.786035],[102.50592,32.786141],[102.506392,32.786224],[102.507623,32.786374],[102.508449,32.786849],[102.508526,32.787282],[102.508552,32.787428],[102.50862,32.787812],[102.508444,32.788136],[102.508389,32.788239],[102.508151,32.788678],[102.50812,32.788804],[102.508079,32.78897],[102.508047,32.789097],[102.507965,32.789429],[102.507873,32.789799],[102.508191,32.79008],[102.50821,32.790098],[102.508393,32.790092],[102.508606,32.790085],[102.50869,32.790082],[102.508743,32.79008],[102.509001,32.790072],[102.509164,32.790003],[102.509337,32.78993],[102.509383,32.789911],[102.509469,32.789874],[102.50972,32.789768],[102.509851,32.789713],[102.510266,32.789151],[102.510518,32.788809],[102.510992,32.787734],[102.510969,32.786816],[102.510549,32.786278],[102.510517,32.786236],[102.51011,32.785714],[102.508457,32.784805],[102.507301,32.783739],[102.507134,32.782651],[102.5074,32.781989],[102.507766,32.781748],[102.507803,32.781723],[102.507897,32.781662],[102.507932,32.781638],[102.507953,32.781625],[102.508188,32.781549],[102.508198,32.781545],[102.508199,32.781545],[102.508275,32.78152],[102.508286,32.781517],[102.5088,32.78135],[102.509279,32.781286],[102.509771,32.78122],[102.509817,32.781214],[102.50989,32.781205],[102.509912,32.781178],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.510024,32.781043],[102.510073,32.780984],[102.510178,32.780858],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780844],[102.510197,32.780835],[102.510201,32.78083],[102.510266,32.780757],[102.510271,32.780752],[102.510617,32.78036],[102.511574,32.779277],[102.512155,32.777913],[102.512186,32.777831],[102.512259,32.77764],[102.51306,32.775553],[102.513343,32.774527],[102.513609,32.773562],[102.513882,32.772608],[102.514105,32.771694],[102.514966,32.769167],[102.515443,32.767967],[102.515761,32.76718],[102.515981,32.766392],[102.516656,32.765196],[102.517578,32.764004],[102.517273,32.762538],[102.517102,32.761576],[102.516983,32.76053],[102.517079,32.758864],[102.517078,32.757112],[102.516861,32.756023],[102.516244,32.755135],[102.515087,32.754152],[102.513051,32.752819],[102.510977,32.751402],[102.510096,32.7508],[102.50903,32.750069],[102.508823,32.749863],[102.507986,32.749029],[102.507648,32.748691],[102.507493,32.748537],[102.507251,32.748257],[102.50593,32.746729],[102.505915,32.746712],[102.504698,32.744352],[102.504056,32.742587],[102.504051,32.742242],[102.504047,32.741937],[102.504039,32.741419],[102.50403,32.741365],[102.503859,32.740319],[102.503744,32.739619],[102.503789,32.737993],[102.503308,32.735207],[102.502777,32.733942],[102.5027,32.733757],[102.502649,32.733637],[102.502644,32.733493],[102.502609,32.732461],[102.502601,32.732227],[102.502637,32.730957],[102.502662,32.730055],[102.502664,32.729988],[102.502666,32.729885],[102.502669,32.729781],[102.502643,32.72915],[102.502617,32.728519],[102.502505,32.727813],[102.502393,32.727106],[102.501973,32.72643],[102.501553,32.725754],[102.50109,32.725033],[102.500627,32.724311],[102.500346,32.724151],[102.500065,32.72399],[102.499828,32.723692],[102.499592,32.723394],[102.499438,32.723063],[102.499284,32.722732],[102.499112,32.722315],[102.49894,32.721898],[102.498832,32.721361],[102.498725,32.720824],[102.498577,32.720269],[102.49843,32.719715],[102.498422,32.719266],[102.498414,32.718818],[102.498409,32.718248],[102.498405,32.717679],[102.498375,32.717282],[102.498345,32.716885],[102.497995,32.716291],[102.497644,32.715698],[102.497412,32.715245],[102.49718,32.714792],[102.49707,32.714359],[102.496959,32.713925],[102.496531,32.71321],[102.496102,32.712494],[102.495767,32.712073],[102.495432,32.711653],[102.495136,32.711285],[102.49484,32.710917],[102.494348,32.710286],[102.493856,32.709655],[102.493385,32.708991],[102.492914,32.708326],[102.492622,32.707803],[102.492331,32.707279],[102.492025,32.706549],[102.491719,32.705819],[102.491631,32.705317],[102.491543,32.704815],[102.491399,32.704139],[102.491255,32.703464],[102.491183,32.702962],[102.491175,32.702907],[102.491104,32.702415],[102.49109,32.702322],[102.491064,32.702137],[102.491016,32.701804],[102.490906,32.699904],[102.490842,32.699282],[102.49058,32.698415],[102.490532,32.698391],[102.490429,32.696549],[102.49061,32.695897],[102.491319,32.695325],[102.492317,32.694655],[102.493923,32.694136],[102.495114,32.693815],[102.496321,32.69363],[102.496712,32.693571],[102.497331,32.693371],[102.497618,32.693278],[102.499003,32.69334],[102.499525,32.693627],[102.500211,32.693882],[102.500386,32.693993],[102.500492,32.69406],[102.503889,32.695851],[102.505234,32.696437],[102.50583,32.696696],[102.506688,32.696966],[102.507444,32.697203],[102.507934,32.69736],[102.509215,32.697769],[102.509502,32.697861],[102.511166,32.698065],[102.511348,32.698088],[102.512285,32.698152],[102.513131,32.69821],[102.514262,32.698288],[102.514305,32.69829],[102.515414,32.698343],[102.515438,32.698344],[102.515484,32.698346],[102.515608,32.698352],[102.515754,32.698359],[102.515777,32.69836],[102.515786,32.698361],[102.515943,32.698368],[102.516141,32.698341],[102.51627,32.698323],[102.517149,32.698202],[102.517151,32.698202],[102.517204,32.698194],[102.517212,32.698193],[102.517738,32.698121],[102.517768,32.698116],[102.517795,32.698113],[102.517796,32.698113],[102.517796,32.698112],[102.517859,32.698104],[102.518122,32.698068],[102.518648,32.697995],[102.519425,32.697971],[102.523039,32.697861],[102.523164,32.697857],[102.523367,32.697851],[102.525392,32.697701],[102.526433,32.697797],[102.526799,32.697831],[102.527351,32.697882],[102.528949,32.697838],[102.529879,32.697813],[102.53041,32.697799],[102.531396,32.697772],[102.534147,32.697731],[102.535597,32.698092],[102.536601,32.698301],[102.535798,32.696909],[102.535783,32.696847],[102.535735,32.696639],[102.535447,32.695384],[102.535047,32.694857],[102.534739,32.69445],[102.533876,32.693312],[102.533356,32.692665],[102.533055,32.69229],[102.531977,32.690949],[102.530923,32.689729],[102.530726,32.689501],[102.529985,32.687872],[102.529975,32.687791],[102.529975,32.687791],[102.529948,32.68758],[102.52993,32.687429],[102.529755,32.686017],[102.529572,32.684969],[102.529523,32.684686],[102.529464,32.68435],[102.528939,32.683058],[102.528298,32.681492],[102.528275,32.681436],[102.52822,32.681302],[102.528097,32.681001],[102.527947,32.680656],[102.527779,32.68027],[102.527495,32.679618],[102.527282,32.679131],[102.5272,32.678942],[102.527029,32.678396],[102.526736,32.677462],[102.526578,32.676968],[102.526549,32.676878],[102.525959,32.675027],[102.525806,32.674549],[102.525301,32.672498],[102.525214,32.671594],[102.524742,32.670868],[102.52453,32.670541],[102.524245,32.670104],[102.523542,32.669141],[102.522782,32.668224],[102.522027,32.667118],[102.521565,32.66664],[102.521381,32.665338],[102.521091,32.66394],[102.521115,32.663059],[102.521262,32.661717],[102.521132,32.660462],[102.520796,32.658739],[102.52047,32.656645],[102.520043,32.65554],[102.520021,32.655484],[102.51988,32.65512],[102.519855,32.655056],[102.519503,32.653935],[102.519496,32.652172],[102.519915,32.650928],[102.520001,32.64977],[102.52031,32.648524],[102.520448,32.647506],[102.520916,32.646448],[102.521664,32.645164],[102.523307,32.643248],[102.523992,32.642241],[102.524899,32.641192],[102.525754,32.640003],[102.526438,32.639042],[102.527296,32.63776],[102.52798,32.6368],[102.529309,32.636316],[102.530926,32.635327],[102.53276,32.634435],[102.534097,32.633673],[102.535564,32.632125],[102.536416,32.631074],[102.537873,32.629897],[102.539552,32.628631],[102.540786,32.627635],[102.542642,32.625908],[102.543939,32.624588],[102.544679,32.623582],[102.546576,32.622367],[102.548618,32.62185],[102.550262,32.621882],[102.550863,32.62194],[102.552375,32.620764],[102.552711,32.620455],[102.554006,32.619265],[102.554907,32.618354],[102.555649,32.617302],[102.556441,32.61639],[102.556752,32.615004],[102.557392,32.613671],[102.558409,32.612531],[102.55848,32.612442],[102.559204,32.611526],[102.559138,32.611041],[102.559021,32.610177],[102.559016,32.609776],[102.559003,32.608832],[102.557939,32.607651],[102.557933,32.607364],[102.557927,32.607061],[102.557915,32.606495],[102.557963,32.606542],[102.558981,32.607625],[102.560591,32.608863],[102.561153,32.609302],[102.561452,32.609536],[102.562163,32.610092],[102.562416,32.61029],[102.563718,32.611475],[102.563974,32.611707],[102.564395,32.612091],[102.566533,32.614127],[102.568248,32.615552],[102.569487,32.616365],[102.57126,32.617698],[102.571601,32.618039],[102.571581,32.617982],[102.571868,32.617478],[102.573049,32.616387],[102.573846,32.615289],[102.575478,32.613697],[102.576709,32.612793],[102.578108,32.611707],[102.57961,32.610901],[102.581008,32.609861],[102.58152,32.609175],[102.581482,32.608525],[102.582228,32.607287],[102.582898,32.606836],[102.595355,32.615193],[102.595396,32.615221],[102.595497,32.615288],[102.597516,32.615606],[102.600068,32.616536],[102.600466,32.6167],[102.601329,32.617056],[102.601357,32.617067],[102.60143,32.617097],[102.601474,32.617115],[102.602038,32.617348],[102.602074,32.617363],[102.603269,32.617757],[102.605241,32.617794],[102.606198,32.617958],[102.606199,32.617958],[102.606214,32.617961],[102.606222,32.617962],[102.606245,32.617966],[102.606769,32.618055],[102.608017,32.618543],[102.611033,32.618641],[102.611136,32.618644],[102.61119,32.618646],[102.611467,32.618655],[102.611469,32.618655],[102.61147,32.618655],[102.611682,32.618659],[102.61174,32.61866],[102.611765,32.618661],[102.611947,32.618664],[102.612932,32.618683],[102.613188,32.618688],[102.613201,32.618688],[102.613203,32.618688],[102.613205,32.618688],[102.613217,32.618688],[102.613434,32.618693],[102.613437,32.618693],[102.61344,32.618693],[102.613601,32.618651],[102.614268,32.618476],[102.615713,32.617715],[102.615849,32.617619],[102.615852,32.617617],[102.615854,32.617616],[102.615859,32.617612],[102.615932,32.61756],[102.615944,32.617552],[102.615944,32.617552],[102.616607,32.617083],[102.617115,32.616743],[102.61789,32.616226],[102.619166,32.615647],[102.620392,32.614882],[102.621617,32.614163],[102.623002,32.613632],[102.623637,32.613392],[102.624053,32.613234],[102.625465,32.612859],[102.626312,32.612569],[102.626329,32.612585],[102.626375,32.612629],[102.626531,32.612777],[102.626681,32.61292],[102.626827,32.612922],[102.627185,32.612929],[102.627266,32.612851],[102.62729,32.612828],[102.6273,32.612826],[102.627376,32.6128],[102.627426,32.612784],[102.627436,32.612777],[102.627505,32.612733],[102.62755,32.612693],[102.62759,32.612638],[102.627626,32.612589],[102.627674,32.612539],[102.627798,32.612493],[102.62785,32.612473],[102.627877,32.612463],[102.62808,32.612387],[102.62836,32.612499],[102.628543,32.612715],[102.628723,32.613065],[102.628698,32.613319],[102.628681,32.613503],[102.628679,32.613517],[102.628628,32.613684],[102.628542,32.613967],[102.62847,32.614105],[102.628316,32.614403],[102.62831,32.614415],[102.628235,32.614866],[102.628255,32.614951],[102.628268,32.615004],[102.62832,32.615214],[102.628718,32.615648],[102.628707,32.616047],[102.628701,32.616074],[102.628674,32.616187],[102.628667,32.616217],[102.628664,32.616229],[102.628652,32.616278],[102.628642,32.616651],[102.629347,32.617432],[102.629352,32.617438],[102.629432,32.617523],[102.629476,32.617571],[102.629496,32.617618],[102.629805,32.617975],[102.629966,32.618136],[102.629823,32.618645],[102.629676,32.619029],[102.629742,32.619184],[102.629706,32.619233],[102.62964,32.619268],[102.629637,32.619291],[102.629667,32.619343],[102.629676,32.619332],[102.629685,32.619322],[102.629696,32.619316],[102.629706,32.619314],[102.629723,32.619315],[102.629733,32.619318],[102.629744,32.61932],[102.629753,32.619317],[102.629764,32.619314],[102.629778,32.61931],[102.629793,32.619302],[102.629809,32.619339],[102.629822,32.61937],[102.629827,32.619381],[102.629977,32.61973],[102.629992,32.619847],[102.629994,32.619862],[102.630003,32.619926],[102.630005,32.619941],[102.629952,32.61994],[102.629819,32.619935],[102.629754,32.619921],[102.629754,32.619986],[102.629772,32.620038],[102.629837,32.6201],[102.62995,32.620178],[102.630051,32.620293],[102.630053,32.620312],[102.630123,32.620981],[102.630125,32.620995],[102.630126,32.621009],[102.630058,32.621094],[102.62992,32.621268],[102.629905,32.621285],[102.62987,32.62133],[102.629701,32.621542],[102.629432,32.621508],[102.629422,32.621507],[102.629337,32.621496],[102.629301,32.621469],[102.629291,32.621447],[102.629277,32.621429],[102.629255,32.621422],[102.629226,32.621418],[102.629193,32.62141],[102.629176,32.621402],[102.629144,32.621379],[102.629104,32.62135],[102.629037,32.6213],[102.628969,32.621235],[102.628932,32.621183],[102.628787,32.621071],[102.628766,32.621054],[102.628634,32.620953],[102.628627,32.620947],[102.62862,32.620942],[102.628506,32.620979],[102.628067,32.621125],[102.628003,32.621367],[102.628,32.62138],[102.627998,32.621386],[102.627984,32.621442],[102.627975,32.621437],[102.627959,32.621436],[102.627948,32.621443],[102.627935,32.621453],[102.62792,32.621467],[102.627909,32.621483],[102.627888,32.621522],[102.627879,32.621572],[102.627881,32.621591],[102.627898,32.621606],[102.627902,32.62163],[102.627901,32.621655],[102.627898,32.621668],[102.627882,32.621691],[102.627867,32.621707],[102.627858,32.621721],[102.627851,32.621739],[102.62785,32.621752],[102.627858,32.621771],[102.627875,32.62179],[102.627891,32.621803],[102.627905,32.621813],[102.627927,32.621828],[102.627935,32.621842],[102.627948,32.62186],[102.627964,32.621917],[102.627975,32.621956],[102.627994,32.621985],[102.628022,32.622004],[102.628054,32.622022],[102.628104,32.622059],[102.628127,32.622091],[102.628151,32.62213],[102.628165,32.622161],[102.628187,32.622181],[102.628255,32.622197],[102.628282,32.622188],[102.628293,32.62217],[102.628308,32.622136],[102.628316,32.62211],[102.628335,32.622086],[102.628362,32.622051],[102.628477,32.622093],[102.628496,32.622101],[102.628513,32.622107],[102.629041,32.622303],[102.629232,32.62257],[102.629246,32.622589],[102.629314,32.622685],[102.62935,32.622734],[102.629267,32.622988],[102.6292,32.623195],[102.629142,32.62327],[102.628935,32.623537],[102.628803,32.623708],[102.628717,32.623675],[102.628588,32.623785],[102.628561,32.623796],[102.628508,32.623811],[102.628444,32.623818],[102.628397,32.623817],[102.628334,32.623809],[102.628151,32.623761],[102.628085,32.623727],[102.628041,32.6237],[102.627983,32.623639],[102.627966,32.623628],[102.627846,32.623551],[102.627745,32.623485],[102.627731,32.623476],[102.627692,32.623327],[102.627689,32.62332],[102.627606,32.62301],[102.627439,32.622946],[102.627307,32.622987],[102.627155,32.623061],[102.627064,32.623118],[102.626988,32.623223],[102.626967,32.623244],[102.626954,32.623277],[102.626951,32.623303],[102.626953,32.62333],[102.626956,32.623352],[102.626971,32.623374],[102.626959,32.623484],[102.626953,32.623539],[102.626957,32.623553],[102.626967,32.623588],[102.62712,32.624122],[102.627112,32.624435],[102.627111,32.624469],[102.62711,32.624521],[102.62711,32.624529],[102.627108,32.624593],[102.627107,32.624623],[102.627102,32.624818],[102.626968,32.625182],[102.626961,32.625203],[102.626845,32.625518],[102.62684,32.625532],[102.626807,32.625624],[102.626673,32.625666],[102.626607,32.625687],[102.626576,32.625697],[102.626268,32.625571],[102.626079,32.625494],[102.626004,32.625364],[102.625994,32.625347],[102.625986,32.625333],[102.62593,32.625237],[102.625926,32.62523],[102.625921,32.625222],[102.625551,32.624586],[102.625533,32.624554],[102.625402,32.624458],[102.625295,32.624371],[102.625161,32.624285],[102.625082,32.624253],[102.624971,32.624253],[102.624876,32.624273],[102.624863,32.624273],[102.624486,32.624265],[102.624463,32.624281],[102.6244,32.624549],[102.624322,32.624879],[102.624313,32.624919],[102.624345,32.624987],[102.624561,32.625447],[102.624576,32.625477],[102.624597,32.625522],[102.624909,32.626185],[102.62493,32.626229],[102.624939,32.626249],[102.624943,32.626257],[102.624968,32.62631],[102.625048,32.62648],[102.625074,32.626704],[102.625101,32.626937],[102.625159,32.627448],[102.625147,32.627908],[102.625142,32.628097],[102.625134,32.628414],[102.625085,32.628451],[102.625078,32.628456],[102.625051,32.628476],[102.625035,32.628488],[102.624528,32.628867],[102.623886,32.62897],[102.623359,32.628922],[102.623298,32.628917],[102.62321,32.628868],[102.623081,32.628828],[102.623011,32.628821],[102.622941,32.628825],[102.622907,32.628829],[102.622837,32.628835],[102.622801,32.628841],[102.622773,32.628851],[102.622737,32.628865],[102.622691,32.62887],[102.622669,32.628869],[102.622627,32.628872],[102.622586,32.628892],[102.62256,32.628907],[102.622477,32.628922],[102.622437,32.628921],[102.622382,32.628908],[102.622343,32.628893],[102.622286,32.628878],[102.622224,32.628867],[102.622158,32.62891],[102.622102,32.628946],[102.622087,32.628956],[102.621826,32.629125],[102.621924,32.629313],[102.622001,32.629462],[102.622026,32.629509],[102.622036,32.629529],[102.622083,32.629619],[102.622088,32.62963],[102.622102,32.629657],[102.622103,32.629658],[102.62213,32.62971],[102.622201,32.630485],[102.621778,32.630941],[102.621737,32.630955],[102.621642,32.630987],[102.62132,32.631097],[102.621303,32.631102],[102.621273,32.631113],[102.621132,32.63116],[102.621124,32.63147],[102.621219,32.631604],[102.621237,32.63163],[102.621257,32.631659],[102.621344,32.631783],[102.621662,32.632008],[102.62168,32.632021],[102.621807,32.632111],[102.62184,32.632134],[102.621846,32.632138],[102.622017,32.63226],[102.622075,32.632303],[102.622331,32.632498],[102.62236,32.633117],[102.622267,32.633335],[102.622172,32.63356],[102.622179,32.633564],[102.622182,32.633571],[102.62218,32.633586],[102.622175,32.633609],[102.622148,32.633676],[102.622103,32.633843],[102.622076,32.634029],[102.62207,32.634117],[102.62207,32.634127],[102.622046,32.634175],[102.622042,32.63418],[102.621986,32.63425],[102.621964,32.634275],[102.621963,32.634307],[102.622031,32.63443],[102.62205,32.634464],[102.622065,32.634459],[102.622082,32.634455],[102.622451,32.634349],[102.622557,32.634319],[102.622692,32.634199],[102.622783,32.634119],[102.622798,32.634106],[102.623071,32.633865],[102.623628,32.633527],[102.62409,32.633596],[102.624173,32.633609],[102.624181,32.63361],[102.624188,32.633651],[102.624189,32.633673],[102.624192,32.633697],[102.624198,32.633719],[102.62421,32.633742],[102.624223,32.633759],[102.624231,32.633768],[102.624238,32.633779],[102.624254,32.633795],[102.624258,32.63382],[102.624256,32.633857],[102.624248,32.633897],[102.624231,32.633945],[102.624174,32.63402],[102.624144,32.634063],[102.624138,32.63412],[102.624132,32.634145],[102.624124,32.634171],[102.624101,32.634209],[102.624072,32.634278],[102.624045,32.634351],[102.624022,32.634379],[102.623969,32.634443],[102.623941,32.63451],[102.623929,32.634542],[102.623897,32.634583],[102.623857,32.634616],[102.623806,32.63465],[102.623756,32.634668],[102.623701,32.634688],[102.62364,32.63472],[102.623581,32.634765],[102.623512,32.634789],[102.623474,32.634804],[102.623455,32.634817],[102.623413,32.634838],[102.623364,32.634868],[102.623309,32.634889],[102.623291,32.634903],[102.623269,32.634927],[102.623259,32.634943],[102.623261,32.634973],[102.623142,32.635072],[102.623045,32.635153],[102.622988,32.635201],[102.622961,32.635228],[102.622952,32.635249],[102.622945,32.635277],[102.622929,32.635292],[102.622802,32.635406],[102.622701,32.635752],[102.622867,32.635874],[102.622872,32.635878],[102.622878,32.635882],[102.62297,32.63595],[102.623011,32.635951],[102.623025,32.635951],[102.623085,32.635952],[102.623155,32.635954],[102.623158,32.635977],[102.62319,32.636023],[102.623213,32.63605],[102.623236,32.636054],[102.623311,32.636038],[102.623358,32.636024],[102.623391,32.636009],[102.623423,32.635991],[102.623449,32.635967],[102.623472,32.635938],[102.623492,32.635916],[102.623549,32.635903],[102.623579,32.635904],[102.62358,32.63588],[102.623595,32.635824],[102.623799,32.635695],[102.623853,32.635693],[102.623899,32.63569],[102.623957,32.635651],[102.624033,32.635618],[102.624089,32.635615],[102.624154,32.635618],[102.624212,32.635638],[102.624273,32.635671],[102.624291,32.635699],[102.624297,32.635714],[102.624304,32.635733],[102.624326,32.635751],[102.624414,32.635802],[102.624521,32.635878],[102.624568,32.635921],[102.624609,32.635969],[102.624567,32.636049],[102.624422,32.636326],[102.624076,32.636571],[102.62406,32.636582],[102.623961,32.636569],[102.62384,32.636548],[102.623661,32.636536],[102.623709,32.636569],[102.623736,32.636598],[102.623227,32.636612],[102.622619,32.636891],[102.622579,32.636909],[102.622242,32.637317],[102.622202,32.637366],[102.622087,32.637586],[102.622061,32.637636],[102.621961,32.637825],[102.621974,32.637859],[102.622075,32.638137],[102.62212,32.638188],[102.622146,32.638221],[102.622178,32.63827],[102.622197,32.638314],[102.622209,32.638351],[102.622218,32.638381],[102.622226,32.638408],[102.622234,32.638433],[102.622298,32.638459],[102.622581,32.638572],[102.623273,32.638314],[102.623511,32.638309],[102.623522,32.638308],[102.623826,32.638301],[102.623867,32.6383],[102.623922,32.638299],[102.624188,32.638293],[102.624339,32.638636],[102.624446,32.638877],[102.624478,32.639223],[102.624517,32.639652],[102.623913,32.640027],[102.623183,32.640013],[102.622984,32.64022],[102.622942,32.640263],[102.622854,32.640355],[102.622852,32.640433],[102.62285,32.640505],[102.622849,32.640525],[102.622841,32.640819],[102.623331,32.64133],[102.623925,32.641303],[102.623956,32.641283],[102.624108,32.641187],[102.624211,32.641122],[102.624265,32.641052],[102.624306,32.640993],[102.624365,32.640937],[102.624426,32.640901],[102.62453,32.640866],[102.624653,32.640854],[102.624669,32.640847],[102.624709,32.640828],[102.625131,32.64063],[102.625683,32.640524],[102.625755,32.64051],[102.625866,32.640489],[102.62595,32.640439],[102.625997,32.640411],[102.625998,32.640401],[102.625999,32.640385],[102.626011,32.640364],[102.626022,32.640335],[102.626074,32.640276],[102.626099,32.640264],[102.626126,32.640256],[102.626136,32.640243],[102.626141,32.640219],[102.626143,32.640198],[102.626149,32.640171],[102.626168,32.64015],[102.626254,32.640108],[102.62629,32.640105],[102.626311,32.640101],[102.626332,32.640083],[102.62635,32.640055],[102.626389,32.64003],[102.62647,32.63998],[102.626546,32.639963],[102.626613,32.639958],[102.626673,32.639961],[102.626713,32.639973],[102.626732,32.639974],[102.626748,32.639965],[102.626824,32.639888],[102.626915,32.639796],[102.626928,32.639782],[102.626942,32.639769],[102.627123,32.639585],[102.627629,32.639479],[102.627741,32.639565],[102.627942,32.639717],[102.627959,32.639744],[102.628013,32.639828],[102.62806,32.639901],[102.628118,32.639991],[102.628064,32.640045],[102.62797,32.640143],[102.627601,32.640522],[102.627319,32.64076],[102.62712,32.640927],[102.627,32.641052],[102.626767,32.641306],[102.626634,32.641435],[102.626569,32.641496],[102.62656,32.641504],[102.626511,32.641553],[102.626462,32.641605],[102.626407,32.641713],[102.626391,32.641751],[102.626374,32.641763],[102.626358,32.64177],[102.626363,32.641808],[102.626415,32.642201],[102.626588,32.642396],[102.626576,32.642456],[102.626578,32.642495],[102.626596,32.642531],[102.626611,32.642578],[102.626647,32.642619],[102.626737,32.64267],[102.626794,32.642697],[102.626824,32.642728],[102.626845,32.642772],[102.626865,32.642816],[102.626893,32.642851],[102.626939,32.642875],[102.626987,32.642894],[102.627103,32.642935],[102.627155,32.642935],[102.627443,32.643145],[102.627452,32.643152],[102.627463,32.643137],[102.627548,32.643157],[102.627593,32.643198],[102.62762,32.643225],[102.627652,32.643251],[102.627683,32.643285],[102.627716,32.643315],[102.627736,32.64333],[102.627768,32.643337],[102.6278,32.643345],[102.627833,32.643358],[102.627792,32.643357],[102.627773,32.643365],[102.62774,32.643381],[102.628065,32.643701],[102.628129,32.644746],[102.627714,32.644922],[102.627697,32.644929],[102.627553,32.64499],[102.627505,32.64501],[102.627494,32.645015],[102.627344,32.645079],[102.6272,32.645298],[102.627197,32.645303],[102.627184,32.645323],[102.627124,32.645413],[102.627088,32.645468],[102.627083,32.645475],[102.626868,32.645804],[102.626742,32.645906],[102.626733,32.645913],[102.626614,32.64601],[102.626595,32.646025],[102.626583,32.646035],[102.626573,32.646042],[102.626216,32.646332],[102.62622,32.646374],[102.62622,32.646402],[102.626223,32.646432],[102.626223,32.646445],[102.626216,32.646457],[102.626213,32.64646],[102.626202,32.646444],[102.626178,32.646418],[102.626159,32.646395],[102.626103,32.646457],[102.625867,32.646721],[102.625842,32.64675],[102.625832,32.64676],[102.625811,32.646784],[102.625664,32.646948],[102.625602,32.64702],[102.625589,32.647488],[102.625589,32.64752],[102.626006,32.647629],[102.626156,32.647669],[102.626168,32.647672],[102.626224,32.647686],[102.626356,32.647689],[102.626417,32.64769],[102.627092,32.647703],[102.627145,32.647682],[102.627165,32.647674],[102.627176,32.647669],[102.627375,32.647589],[102.627409,32.647608],[102.627459,32.647624],[102.627493,32.647633],[102.627567,32.647637],[102.627595,32.647639],[102.627609,32.647639],[102.627673,32.647635],[102.6277,32.647623],[102.627723,32.647608],[102.627735,32.647597],[102.627746,32.647577],[102.62775,32.647559],[102.627754,32.647544],[102.62776,32.647528],[102.62777,32.647517],[102.627785,32.647505],[102.627799,32.647495],[102.627818,32.647486],[102.627844,32.647475],[102.627853,32.647466],[102.627855,32.647458],[102.627854,32.647442],[102.627842,32.64742],[102.627824,32.647393],[102.627784,32.647345],[102.627867,32.647264],[102.628276,32.646863],[102.628302,32.646837],[102.628404,32.646834],[102.628425,32.646834],[102.628551,32.646831],[102.628614,32.646829],[102.629217,32.646815],[102.629469,32.646928],[102.629532,32.646956],[102.629548,32.646963],[102.629681,32.647056],[102.629731,32.647103],[102.629766,32.647138],[102.629792,32.647173],[102.629891,32.647289],[102.629906,32.647337],[102.62991,32.647343],[102.629915,32.647354],[102.629915,32.647365],[102.629909,32.647389],[102.629887,32.647434],[102.629857,32.647492],[102.629771,32.647687],[102.629718,32.647744],[102.629659,32.647782],[102.629628,32.647802],[102.629597,32.647817],[102.629574,32.647841],[102.629543,32.647885],[102.629498,32.647951],[102.629481,32.647999],[102.629461,32.648035],[102.629418,32.648096],[102.629399,32.648129],[102.629374,32.648141],[102.62936,32.648141],[102.629346,32.648138],[102.629329,32.648163],[102.629271,32.648247],[102.62919,32.648367],[102.629165,32.648404],[102.628938,32.648743],[102.628923,32.649284],[102.629463,32.649603],[102.63037,32.649878],[102.630377,32.649879],[102.630687,32.649974],[102.631415,32.649935],[102.63174,32.649917],[102.631907,32.649842],[102.632467,32.649588],[102.63248,32.649583],[102.632512,32.649549],[102.632541,32.649519],[102.632558,32.649501],[102.632808,32.649241],[102.632096,32.648532],[102.632101,32.648348],[102.632104,32.648217],[102.632105,32.648184],[102.63231,32.648166],[102.632396,32.648214],[102.632522,32.648303],[102.632706,32.648412],[102.632804,32.648476],[102.632908,32.648529],[102.633005,32.648566],[102.633071,32.648598],[102.633136,32.648631],[102.633158,32.648647],[102.633183,32.648672],[102.633203,32.648688],[102.63322,32.648699],[102.63325,32.648698],[102.633258,32.648684],[102.633277,32.648675],[102.633296,32.648666],[102.633326,32.64866],[102.633338,32.648674],[102.633357,32.648718],[102.633373,32.648769],[102.633404,32.648827],[102.633469,32.648894],[102.633506,32.648948],[102.63354,32.649026],[102.633557,32.64912],[102.633595,32.649235],[102.633619,32.64936],[102.633615,32.649434],[102.633605,32.649544],[102.63359,32.64957],[102.633585,32.649578],[102.633564,32.6496],[102.633558,32.649691],[102.63359,32.64969],[102.633645,32.649691],[102.633705,32.649915],[102.63402,32.650076],[102.634284,32.650011],[102.634653,32.64992],[102.634894,32.64986],[102.634957,32.64984],[102.634991,32.649829],[102.635004,32.649825],[102.635153,32.649776],[102.635178,32.649768],[102.63568,32.649603],[102.63569,32.649598],[102.635796,32.649538],[102.636105,32.649366],[102.636118,32.649359],[102.636256,32.649282],[102.63628,32.649268],[102.636376,32.648927],[102.636395,32.648859],[102.636432,32.64873],[102.636436,32.648687],[102.636437,32.64868],[102.636494,32.648112],[102.636641,32.64806],[102.636676,32.648048],[102.636895,32.64797],[102.636909,32.647966],[102.637508,32.64809],[102.637607,32.648111],[102.637703,32.6482],[102.63779,32.648292],[102.637878,32.648376],[102.637928,32.648438],[102.637953,32.648494],[102.637989,32.648553],[102.638039,32.648598],[102.638128,32.64867],[102.638176,32.64872],[102.638258,32.648789],[102.638374,32.649146],[102.638398,32.649219],[102.638403,32.649235],[102.638406,32.649244],[102.638427,32.649308],[102.63844,32.649372],[102.638405,32.649414],[102.638393,32.649429],[102.638382,32.649447],[102.638381,32.649463],[102.638388,32.649476],[102.638388,32.649487],[102.638391,32.649507],[102.638462,32.649486],[102.638588,32.650123],[102.639039,32.650364],[102.639366,32.650099],[102.639383,32.65008],[102.639396,32.650066],[102.639559,32.649884],[102.63958,32.649859],[102.639815,32.649597],[102.639883,32.649521],[102.639978,32.649415],[102.640241,32.649274],[102.640256,32.649266],[102.640534,32.649116],[102.640851,32.649238],[102.641167,32.64936],[102.641355,32.649515],[102.641362,32.649555],[102.641373,32.649595],[102.641388,32.649639],[102.641406,32.649681],[102.641429,32.6497],[102.641448,32.649701],[102.641474,32.649688],[102.641502,32.649682],[102.641514,32.649688],[102.641516,32.649696],[102.641591,32.649711],[102.641637,32.64972],[102.641682,32.649738],[102.641713,32.649751],[102.641754,32.649773],[102.641788,32.649839],[102.641809,32.649892],[102.641878,32.64995],[102.641844,32.649988],[102.641836,32.650018],[102.641835,32.650049],[102.641847,32.650098],[102.641842,32.650144],[102.641854,32.65019],[102.641779,32.650159],[102.641725,32.650267],[102.6417,32.650316],[102.641594,32.650527],[102.641482,32.650646],[102.641464,32.650665],[102.641238,32.650903],[102.641233,32.650909],[102.641096,32.651054],[102.641024,32.651053],[102.640971,32.651057],[102.640918,32.65108],[102.640869,32.651121],[102.640792,32.651222],[102.640776,32.65128],[102.640767,32.651324],[102.640756,32.651378],[102.64075,32.651425],[102.640749,32.651456],[102.640778,32.651495],[102.640842,32.65154],[102.640909,32.651578],[102.640984,32.651616],[102.641069,32.65165],[102.641184,32.651674],[102.641198,32.65168],[102.64127,32.651691],[102.641348,32.651694],[102.641428,32.651698],[102.641479,32.651693],[102.641545,32.651695],[102.641614,32.651704],[102.641652,32.651713],[102.641696,32.651726],[102.641762,32.651737],[102.641851,32.651719],[102.641925,32.651696],[102.641971,32.651695],[102.642012,32.651676],[102.642042,32.651658],[102.642118,32.6516],[102.642338,32.651558],[102.642375,32.651551],[102.642411,32.651544],[102.642827,32.651464],[102.64294,32.651442],[102.643258,32.651528],[102.643265,32.65153],[102.643304,32.65154],[102.643629,32.651628],[102.643712,32.65165],[102.643774,32.65173],[102.643802,32.651766],[102.643825,32.651802],[102.643842,32.651837],[102.643845,32.651854],[102.643823,32.651874],[102.643868,32.651966],[102.643881,32.651991],[102.643885,32.652001],[102.643872,32.652504],[102.643908,32.652568],[102.64399,32.65255],[102.644052,32.652526],[102.644092,32.652477],[102.644126,32.652437],[102.644178,32.652405],[102.644241,32.652409],[102.644323,32.65244],[102.64442,32.652467],[102.644492,32.65248],[102.644537,32.652481],[102.64456,32.652469],[102.644661,32.65251],[102.644727,32.652471],[102.644741,32.652462],[102.64478,32.652438],[102.644819,32.652438],[102.644877,32.652428],[102.644947,32.652408],[102.645011,32.652382],[102.645079,32.652351],[102.645118,32.652329],[102.645171,32.652291],[102.645194,32.652271],[102.645229,32.652236],[102.64527,32.652195],[102.645292,32.652155],[102.645298,32.652125],[102.645341,32.652059],[102.645358,32.652007],[102.645371,32.651967],[102.645396,32.651912],[102.645425,32.651879],[102.645447,32.651715],[102.645463,32.651673],[102.645477,32.651662],[102.645476,32.651547],[102.645481,32.651488],[102.645486,32.651413],[102.645458,32.651296],[102.645556,32.651139],[102.645614,32.65112],[102.645628,32.651118],[102.645741,32.651096],[102.64584,32.651101],[102.64594,32.651134],[102.645972,32.651079],[102.646015,32.651],[102.646024,32.651003],[102.64607,32.651015],[102.646091,32.651021],[102.646097,32.651022],[102.646112,32.650997],[102.646263,32.651067],[102.646467,32.651122],[102.647838,32.651148],[102.648067,32.651187],[102.648838,32.651321],[102.648833,32.651528],[102.648832,32.651555],[102.64883,32.651649],[102.648825,32.651823],[102.648731,32.651947],[102.64865,32.652053],[102.648671,32.651991],[102.648679,32.651971],[102.648689,32.651941],[102.64869,32.651893],[102.648693,32.651852],[102.648686,32.651785],[102.64865,32.651705],[102.648631,32.651676],[102.648614,32.651649],[102.648582,32.651622],[102.648556,32.651602],[102.64852,32.651575],[102.648461,32.651549],[102.648417,32.651528],[102.648381,32.651514],[102.648312,32.651489],[102.648271,32.651475],[102.648223,32.651471],[102.648176,32.651471],[102.648281,32.651509],[102.648366,32.651541],[102.648426,32.65157],[102.64847,32.6516],[102.648505,32.651632],[102.64855,32.651674],[102.648575,32.651712],[102.648579,32.651759],[102.64858,32.651819],[102.648578,32.651865],[102.648568,32.651915],[102.64856,32.651958],[102.648537,32.652014],[102.648502,32.65205],[102.648468,32.652086],[102.648441,32.652112],[102.648393,32.652157],[102.648366,32.652188],[102.648334,32.652229],[102.648312,32.65226],[102.64829,32.652285],[102.648233,32.652318],[102.648201,32.652328],[102.648169,32.652348],[102.648164,32.652357],[102.648169,32.652376],[102.648144,32.652384],[102.647995,32.652416],[102.647933,32.652445],[102.647845,32.65248],[102.647775,32.652486],[102.647701,32.652483],[102.647597,32.652484],[102.647419,32.652475],[102.647089,32.652574],[102.646914,32.652627],[102.646825,32.652654],[102.646794,32.652663],[102.64667,32.6527],[102.646644,32.652708],[102.646582,32.652727],[102.646516,32.652746],[102.646166,32.652983],[102.645964,32.653355],[102.645981,32.653973],[102.646001,32.654009],[102.646156,32.654286],[102.646513,32.654353],[102.6469,32.654426],[102.64697,32.65444],[102.647065,32.654458],[102.647189,32.654423],[102.64723,32.654411],[102.647462,32.654346],[102.64771,32.654277],[102.647894,32.654314],[102.648138,32.654364],[102.64823,32.654383],[102.648968,32.654534],[102.649164,32.654574],[102.649299,32.654632],[102.6496,32.654759],[102.649797,32.654842],[102.649976,32.654918],[102.650023,32.654938],[102.650978,32.655188],[102.651474,32.655282],[102.651494,32.655286],[102.651658,32.655317],[102.651682,32.655348],[102.651747,32.655363],[102.651773,32.655371],[102.6518,32.655389],[102.651826,32.655408],[102.651846,32.655427],[102.651856,32.655457],[102.651856,32.655485],[102.651851,32.655516],[102.651844,32.655558],[102.651907,32.655641],[102.651904,32.655567],[102.651904,32.655534],[102.651905,32.655491],[102.651905,32.655441],[102.651906,32.655414],[102.65192,32.655396],[102.651932,32.65539],[102.651961,32.655391],[102.651995,32.655409],[102.652016,32.655442],[102.652023,32.655492],[102.652021,32.655556],[102.652012,32.655609],[102.651995,32.655655],[102.651953,32.6557],[102.652172,32.655985],[102.652298,32.65615],[102.652321,32.65618],[102.652334,32.65654],[102.652341,32.656723],[102.652348,32.656915],[102.652329,32.656947],[102.652178,32.657206],[102.652146,32.65726],[102.652137,32.657275],[102.652131,32.657286],[102.652065,32.657399],[102.652013,32.657488],[102.651958,32.657562],[102.651868,32.657683],[102.651863,32.65769],[102.651729,32.65787],[102.651744,32.657942],[102.651773,32.658083],[102.651782,32.658126],[102.65181,32.658258],[102.6524,32.658423],[102.652586,32.658402],[102.652703,32.658389],[102.652811,32.658376],[102.652912,32.658365],[102.653027,32.658352],[102.653084,32.658345],[102.653146,32.658386],[102.653175,32.658414],[102.653197,32.658435],[102.653212,32.658448],[102.653215,32.658451],[102.653297,32.658495],[102.653388,32.658525],[102.653463,32.658536],[102.653568,32.658526],[102.653635,32.658509],[102.653657,32.658504],[102.65366,32.658502],[102.65373,32.658464],[102.653794,32.658421],[102.653873,32.658375],[102.65393,32.658313],[102.653984,32.658258],[102.654065,32.658218],[102.654139,32.658164],[102.654178,32.658126],[102.654189,32.658071],[102.654177,32.65799],[102.654141,32.657929],[102.654096,32.657886],[102.654034,32.657839],[102.65394,32.657765],[102.65391,32.657751],[102.653927,32.657591],[102.65393,32.657563],[102.65393,32.657544],[102.653911,32.656557],[102.654116,32.656229],[102.654197,32.656099],[102.654241,32.656052],[102.654352,32.656076],[102.654515,32.656123],[102.654614,32.656204],[102.654696,32.656224],[102.654896,32.656387],[102.655026,32.656493],[102.655036,32.656501],[102.655075,32.656533],[102.655095,32.65655],[102.655278,32.656699],[102.655442,32.656856],[102.655451,32.656865],[102.655813,32.657212],[102.6562,32.657822],[102.656384,32.658111],[102.656969,32.658771],[102.657165,32.658991],[102.657242,32.659078],[102.657708,32.659398],[102.657777,32.659446],[102.658154,32.659607],[102.65828,32.65966],[102.658717,32.659846],[102.658804,32.659884],[102.658876,32.659914],[102.658885,32.659918],[102.659854,32.660197],[102.659891,32.660207],[102.660115,32.66016],[102.660221,32.660138],[102.660263,32.660129],[102.660331,32.660115],[102.660468,32.660086],[102.66048,32.660083],[102.661071,32.659959],[102.661588,32.659901],[102.661715,32.659887],[102.661766,32.659881],[102.661976,32.659953],[102.662145,32.66001],[102.662165,32.660017],[102.662194,32.660027],[102.662423,32.660104],[102.662432,32.660107],[102.662515,32.660135],[102.662537,32.660143],[102.662547,32.660146],[102.662612,32.660168],[102.663051,32.65968],[102.663113,32.659534],[102.663392,32.658874],[102.663745,32.658782],[102.663774,32.658798],[102.663842,32.65881],[102.663957,32.658847],[102.664166,32.658972],[102.664291,32.659076],[102.664352,32.659195],[102.664496,32.659481],[102.664431,32.659931],[102.664328,32.660206],[102.664308,32.660258],[102.664301,32.660276],[102.664145,32.660693],[102.663901,32.661238],[102.663909,32.661314],[102.66393,32.661365],[102.663946,32.661403],[102.663976,32.661466],[102.664012,32.661519],[102.664063,32.661558],[102.663935,32.661619],[102.663914,32.66163],[102.663873,32.661639],[102.663952,32.661856],[102.663999,32.661985],[102.664002,32.661992],[102.664054,32.662135],[102.66456,32.662507],[102.664645,32.662571],[102.664653,32.662576],[102.664682,32.662598],[102.664897,32.662666],[102.664908,32.66267],[102.664943,32.662681],[102.665581,32.662885],[102.666715,32.66319],[102.666766,32.663204],[102.6669,32.66324],[102.667305,32.663349],[102.667533,32.663334],[102.667752,32.663338],[102.668238,32.663295],[102.668465,32.663198],[102.669047,32.66295],[102.669561,32.662815],[102.669852,32.662739],[102.669939,32.662765],[102.669943,32.662767],[102.67017,32.662835],[102.670581,32.663429],[102.670713,32.663575],[102.670729,32.663593],[102.67085,32.663727],[102.670858,32.663736],[102.670925,32.663809],[102.670967,32.663856],[102.671203,32.664118],[102.671874,32.664987],[102.671966,32.665055],[102.671979,32.665064],[102.672161,32.665199],[102.672287,32.665292],[102.672368,32.665317],[102.672453,32.665356],[102.672506,32.665382],[102.672538,32.6654],[102.672603,32.665479],[102.672814,32.66554],[102.6732,32.665651],[102.673228,32.665659],[102.673251,32.665666],[102.673508,32.665739],[102.6739,32.665784],[102.674038,32.665799],[102.674246,32.665823],[102.674347,32.665834],[102.674354,32.665835],[102.674498,32.665851],[102.674558,32.665833],[102.674644,32.665833],[102.674713,32.665832],[102.674781,32.665836],[102.674833,32.665856],[102.674869,32.665893],[102.674897,32.665896],[102.674944,32.665901],[102.675118,32.665901],[102.675141,32.665901],[102.675492,32.6659],[102.675556,32.6659],[102.675723,32.6659],[102.675732,32.6659],[102.676871,32.665897],[102.677008,32.665897],[102.677131,32.665897],[102.677243,32.665925],[102.67728,32.665935],[102.677703,32.666043],[102.677937,32.666103],[102.677949,32.666105],[102.678058,32.666133],[102.678085,32.66614],[102.678324,32.666447],[102.678355,32.666486],[102.678393,32.666535],[102.67855,32.666735],[102.678713,32.667587],[102.678699,32.668128],[102.678911,32.668592],[102.67908,32.668782],[102.679253,32.668977],[102.679342,32.669005],[102.679356,32.66901],[102.679442,32.669037],[102.67976,32.669138],[102.679888,32.669178],[102.680427,32.669351],[102.680707,32.669653],[102.680831,32.669767],[102.68084,32.669776],[102.680857,32.669791],[102.680891,32.669823],[102.681199,32.670106],[102.681207,32.670113],[102.681219,32.670179],[102.681293,32.670263],[102.681376,32.670362],[102.681539,32.670496],[102.681564,32.670516],[102.681696,32.670622],[102.681834,32.670695],[102.681933,32.670728],[102.682008,32.670744],[102.682149,32.670761],[102.68225,32.670765],[102.682315,32.670764],[102.682328,32.670767],[102.682626,32.670848],[102.682674,32.670861],[102.683073,32.670969],[102.683415,32.671332],[102.683452,32.671372],[102.683467,32.671388],[102.68354,32.671465],[102.683542,32.67147],[102.683669,32.671799],[102.683682,32.671834],[102.683692,32.67186],[102.68374,32.671985],[102.68375,32.67201],[102.683765,32.672191],[102.683765,32.672199],[102.683798,32.672606],[102.684081,32.672828],[102.684462,32.672916],[102.685395,32.672717],[102.685713,32.672804],[102.685769,32.673103],[102.68576,32.673454],[102.685527,32.673541],[102.685475,32.673561],[102.685326,32.673616],[102.685276,32.673635],[102.685199,32.673653],[102.684761,32.673761],[102.684191,32.67371],[102.683994,32.673692],[102.683294,32.673679],[102.683125,32.673646],[102.682334,32.673489],[102.68224,32.67347],[102.682123,32.673486],[102.681534,32.673566],[102.681076,32.673936],[102.681001,32.674262],[102.681038,32.674407],[102.681082,32.674508],[102.681159,32.674621],[102.681323,32.674784],[102.681411,32.674893],[102.681482,32.674975],[102.681521,32.675014],[102.681649,32.6751],[102.681748,32.675149],[102.681835,32.675168],[102.681991,32.67516],[102.682117,32.675122],[102.682356,32.675177],[102.68256,32.675187],[102.683283,32.675222],[102.683561,32.675298],[102.683601,32.675309],[102.683689,32.675608],[102.683384,32.676676],[102.683215,32.676868],[102.683093,32.677005],[102.683032,32.677005],[102.682963,32.677006],[102.682918,32.677014],[102.682844,32.677026],[102.682743,32.677065],[102.682618,32.677107],[102.68247,32.677154],[102.682431,32.677204],[102.682416,32.677278],[102.682413,32.677294],[102.682385,32.677355],[102.682326,32.677409],[102.682321,32.677414],[102.68229,32.677449],[102.682279,32.677463],[102.682263,32.677557],[102.682238,32.677683],[102.682241,32.677779],[102.682246,32.677847],[102.681831,32.678132],[102.681757,32.678183],[102.681706,32.678218],[102.681667,32.678244],[102.681637,32.678265],[102.681366,32.678451],[102.680135,32.679134],[102.678383,32.679422],[102.676639,32.67939],[102.67635,32.67926],[102.676287,32.679232],[102.67544,32.678854],[102.674451,32.678964],[102.673309,32.679135],[102.672682,32.679893],[102.672656,32.679999],[102.672635,32.680083],[102.672356,32.681203],[102.67192,32.682958],[102.671496,32.684682],[102.671464,32.685901],[102.671802,32.687511],[102.672292,32.689059],[102.67323,32.690937],[102.673717,32.692614],[102.674282,32.694228],[102.674756,32.696418],[102.675227,32.698736],[102.675186,32.700339],[102.675395,32.701302],[102.675466,32.701628],[102.675476,32.70156],[102.676411,32.70271],[102.678,32.703419],[102.678915,32.703254],[102.680319,32.702827],[102.681951,32.701906],[102.682445,32.701482],[102.68316,32.700868],[102.683759,32.700354],[102.687705,32.696008],[102.68777,32.695936],[102.691877,32.691413],[102.693023,32.69015],[102.693482,32.690181],[102.693933,32.690212],[102.693941,32.690213],[102.695055,32.690323],[102.696438,32.690711],[102.698076,32.691602],[102.698802,32.692522],[102.698869,32.694109],[102.698738,32.695012],[102.698919,32.696329],[102.69933,32.697017],[102.699845,32.697841],[102.701003,32.698633],[102.70224,32.698831],[102.702284,32.698838],[102.703359,32.698676],[102.704211,32.698918],[102.705215,32.699435],[102.706591,32.70014],[102.707656,32.700386],[102.708339,32.700897],[102.709341,32.701549],[102.710017,32.702332],[102.710474,32.703337],[102.711045,32.704072],[102.710897,32.705149],[102.710358,32.706276],[102.709519,32.70857],[102.709183,32.710255],[102.709942,32.711094],[102.710765,32.713253],[102.711114,32.714868],[102.711905,32.716367],[102.712407,32.717695],[102.712902,32.719354],[102.713119,32.720389],[102.713414,32.722209],[102.713869,32.723495],[102.714009,32.725642],[102.71461,32.727312],[102.714921,32.728174],[102.715777,32.730953],[102.716123,32.732691],[102.716965,32.734109],[102.717708,32.735566],[102.717499,32.736098],[102.717228,32.737165],[102.716983,32.73914],[102.716626,32.743546],[102.716646,32.743862],[102.71673,32.745239],[102.717,32.748006],[102.717373,32.748714],[102.717787,32.749711],[102.718502,32.750343],[102.719018,32.751013],[102.719211,32.751263],[102.720301,32.75252],[102.720966,32.753233],[102.721534,32.753945],[102.72146,32.754933],[102.721475,32.756253],[102.721303,32.758239],[102.721268,32.758641],[102.721183,32.760042],[102.721403,32.760994],[102.721535,32.761574],[102.721528,32.761909],[102.721562,32.761901],[102.721722,32.761859],[102.722461,32.761665],[102.723295,32.761681],[102.725669,32.762026],[102.726982,32.761949],[102.728347,32.762125],[102.729958,32.762053],[102.731268,32.762077],[102.732346,32.761845],[102.733005,32.761706],[102.734195,32.761778],[102.736213,32.762066],[102.738288,32.762456],[102.739106,32.763074],[102.740571,32.764057],[102.74239,32.76516],[102.743606,32.766541],[102.745408,32.767744],[102.746884,32.768778],[102.746896,32.768786],[102.746903,32.768791],[102.746988,32.768817],[102.747007,32.768823],[102.747886,32.769096],[102.747987,32.769127],[102.74832,32.769231],[102.748441,32.769253],[102.748457,32.769256],[102.748725,32.769304],[102.74874,32.769307],[102.749675,32.769477],[102.749676,32.769478],[102.749698,32.769482],[102.751567,32.769817],[102.753668,32.76978],[102.755127,32.77041],[102.756347,32.77164],[102.756686,32.772363],[102.757023,32.7732],[102.757893,32.774121],[102.759334,32.775469],[102.760564,32.776321],[102.762059,32.777292],[102.762794,32.778286],[102.76358,32.779018],[102.764572,32.780432],[102.766972,32.782778],[102.768283,32.783934],[102.768603,32.789036],[102.768401,32.789977],[102.768283,32.791107],[102.767846,32.792496],[102.767758,32.794231],[102.7685,32.796736],[102.769432,32.798791],[102.77063,32.800927],[102.771281,32.801731],[102.772867,32.802665],[102.774801,32.803983],[102.777841,32.805774],[102.779207,32.806553],[102.779383,32.80667],[102.778828,32.807415],[102.778451,32.808201],[102.778086,32.810271],[102.778714,32.811981],[102.778952,32.813193],[102.778791,32.814285],[102.778842,32.815834],[102.778698,32.818021],[102.778082,32.819407],[102.77715,32.820938],[102.776819,32.82165],[102.776928,32.822671],[102.777201,32.824299],[102.777562,32.825929],[102.77749,32.827022],[102.777092,32.8281],[102.776963,32.828447],[102.776835,32.829659],[102.776788,32.830105],[102.776818,32.830249],[102.776906,32.830668],[102.777068,32.831432],[102.777469,32.833251],[102.777969,32.834732],[102.778723,32.836784],[102.778864,32.838297],[102.779019,32.839244],[102.778935,32.840828],[102.77866,32.844711],[102.778601,32.847051],[102.778394,32.84818],[102.77869,32.848865],[102.780298,32.850743],[102.780965,32.852718],[102.781341,32.853782],[102.78237,32.855536],[102.782782,32.856978],[102.782848,32.857923],[102.782824,32.858867],[102.782933,32.859888],[102.783364,32.862349],[102.78402,32.864739],[102.784091,32.865458],[102.784121,32.866063],[102.784325,32.866859],[102.785388,32.867293],[102.785395,32.867294],[102.785864,32.867321],[102.786326,32.867347],[102.786548,32.867429],[102.78658,32.867441],[102.786635,32.867461],[102.787301,32.867705],[102.787402,32.86777],[102.787411,32.867776],[102.787497,32.867831],[102.787511,32.86784],[102.787961,32.868131],[102.788486,32.868632],[102.789357,32.869591],[102.78952,32.869795],[102.789877,32.870242],[102.790525,32.871394],[102.790649,32.871614],[102.790717,32.872446],[102.791453,32.873441],[102.791954,32.874884],[102.791887,32.875789],[102.791732,32.876617],[102.792015,32.87783],[102.792195,32.879607],[102.792755,32.880486],[102.794064,32.88183],[102.794845,32.882788],[102.795721,32.883558],[102.795932,32.884053],[102.795936,32.884076],[102.796124,32.88534],[102.795807,32.887297],[102.795242,32.890232],[102.794852,32.891546],[102.794106,32.892741],[102.793577,32.894242],[102.793334,32.894993],[102.793136,32.895782],[102.792982,32.896572],[102.792529,32.897642],[102.792174,32.898483],[102.792136,32.898708],[102.792016,32.899424],[102.791897,32.90063],[102.791918,32.901574],[102.79194,32.902481],[102.792147,32.904164],[102.792201,32.904599],[102.792311,32.905583],[102.792598,32.906607],[102.79258,32.907362],[102.792562,32.908079],[102.792588,32.908293],[102.792589,32.908296],[102.792659,32.908868],[102.792674,32.908987],[102.792499,32.909857],[102.792469,32.910003],[102.792451,32.910076],[102.792448,32.91009],[102.79243,32.91016],[102.792427,32.910174],[102.792381,32.91036],[102.79235,32.910484],[102.792171,32.911206],[102.791795,32.91166],[102.791772,32.911688],[102.791637,32.911851],[102.79161,32.911953],[102.791593,32.911993],[102.791561,32.912038],[102.791531,32.912086],[102.791515,32.912118],[102.791503,32.91218],[102.791459,32.912257],[102.791388,32.912299],[102.791313,32.912243],[102.791248,32.912322],[102.791095,32.912434],[102.791086,32.91244],[102.790959,32.912533],[102.790291,32.913022],[102.79009,32.913887],[102.790084,32.91414],[102.790069,32.914745],[102.790066,32.914868],[102.790168,32.915826],[102.790175,32.915889],[102.790176,32.915935],[102.790184,32.916358],[102.790195,32.916856],[102.790195,32.916871],[102.790185,32.91692],[102.790161,32.917035],[102.790093,32.91736],[102.789727,32.917693],[102.789323,32.917724],[102.789246,32.917726],[102.789228,32.917726],[102.789098,32.91773],[102.78886,32.917735],[102.788656,32.91774],[102.788644,32.917719],[102.788542,32.91766],[102.788463,32.917656],[102.788329,32.917688],[102.788313,32.917692],[102.788186,32.917746],[102.788048,32.917806],[102.787935,32.917821],[102.787859,32.917819],[102.787644,32.917837],[102.787617,32.917841],[102.787394,32.917881],[102.787318,32.917956],[102.787287,32.918051],[102.78726,32.918079],[102.787174,32.918127],[102.786756,32.918358],[102.78661,32.918476],[102.786551,32.918524],[102.786525,32.918546],[102.786208,32.918801],[102.786149,32.918839],[102.786003,32.918932],[102.785914,32.918988],[102.785818,32.919049],[102.785616,32.919177],[102.785571,32.919205],[102.785332,32.919338],[102.784709,32.919681],[102.784388,32.919977],[102.78422,32.920068],[102.784185,32.920084],[102.78412,32.920115],[102.783675,32.920321],[102.783617,32.920393],[102.783543,32.920473],[102.783454,32.920564],[102.783366,32.92062],[102.783167,32.92094],[102.783114,32.921025],[102.783102,32.921043],[102.783091,32.921058],[102.782407,32.921923],[102.782113,32.922097],[102.781916,32.922214],[102.781909,32.922218],[102.781674,32.922357],[102.781286,32.922431],[102.781227,32.922443],[102.781198,32.922448],[102.781004,32.922486],[102.780877,32.92251],[102.780821,32.922521],[102.780707,32.922543],[102.779793,32.922567],[102.778451,32.92234],[102.777396,32.9222],[102.776782,32.921742],[102.776003,32.920942],[102.776038,32.920923],[102.776038,32.920889],[102.77599,32.920763],[102.775953,32.920716],[102.775837,32.920637],[102.775724,32.920578],[102.775685,32.920557],[102.775565,32.920533],[102.775406,32.92053],[102.775292,32.920549],[102.775272,32.920539],[102.775261,32.920538],[102.774659,32.920528],[102.774166,32.920519],[102.772761,32.9209],[102.772644,32.92093],[102.771647,32.921183],[102.770824,32.921393],[102.770498,32.921468],[102.769064,32.921799],[102.768917,32.921832],[102.768211,32.921995],[102.765263,32.922511],[102.763859,32.922868],[102.763759,32.922893],[102.763664,32.922917],[102.763326,32.923003],[102.76197,32.923076],[102.760483,32.923155],[102.759033,32.923413],[102.757962,32.923922],[102.75694,32.92439],[102.755851,32.925049],[102.755767,32.9251],[102.755343,32.92565],[102.755324,32.925675],[102.75512,32.92594],[102.755005,32.926005],[102.754486,32.926294],[102.754013,32.926339],[102.753762,32.926362],[102.752718,32.925775],[102.750897,32.92471],[102.750821,32.924666],[102.75014,32.924268],[102.749539,32.923916],[102.749067,32.92364],[102.749043,32.92362],[102.748981,32.923567],[102.748182,32.922896],[102.747441,32.92239],[102.747439,32.922335],[102.747439,32.922325],[102.747411,32.922251],[102.747367,32.922131],[102.747305,32.922024],[102.747181,32.921783],[102.747138,32.9217],[102.747119,32.921684],[102.746578,32.921241],[102.746567,32.921239],[102.746329,32.921189],[102.746121,32.921145],[102.746019,32.921124],[102.746005,32.921121],[102.745525,32.92102],[102.744962,32.921075],[102.744943,32.921059],[102.744916,32.92106],[102.744895,32.921081],[102.744411,32.921129],[102.744397,32.92113],[102.744126,32.921157],[102.743884,32.921212],[102.743816,32.921258],[102.74378,32.921278],[102.743748,32.92135],[102.743591,32.921428],[102.74334,32.921553],[102.743312,32.921719],[102.743304,32.921767],[102.74328,32.921913],[102.743256,32.922054],[102.743253,32.922069],[102.743209,32.92233],[102.743185,32.922477],[102.743265,32.922461],[102.743288,32.922482],[102.743284,32.92251],[102.743266,32.922591],[102.743221,32.922724],[102.743198,32.922799],[102.743198,32.922843],[102.743208,32.92291],[102.74322,32.922971],[102.743238,32.923032],[102.743254,32.923076],[102.743306,32.923128],[102.743392,32.923538],[102.74332,32.923671],[102.743241,32.923819],[102.742972,32.923786],[102.742914,32.923778],[102.742902,32.923777],[102.742859,32.923772],[102.742664,32.923748],[102.742473,32.923724],[102.742381,32.923703],[102.74136,32.923474],[102.741241,32.923447],[102.74112,32.923392],[102.740974,32.92334],[102.740795,32.923289],[102.740621,32.923268],[102.74047,32.923257],[102.740368,32.923194],[102.740282,32.92314],[102.740175,32.923074],[102.740037,32.922988],[102.739923,32.922917],[102.739811,32.922848],[102.739661,32.922755],[102.739501,32.92266],[102.739349,32.922569],[102.73921,32.922475],[102.739069,32.922388],[102.738913,32.922291],[102.738759,32.922196],[102.738677,32.922141],[102.738578,32.922075],[102.738424,32.921973],[102.738326,32.921907],[102.73822,32.921837],[102.738081,32.921744],[102.737933,32.921646],[102.737763,32.921532],[102.737582,32.921412],[102.737408,32.921296],[102.737241,32.921184],[102.737116,32.921101],[102.736945,32.920987],[102.736807,32.920895],[102.73663,32.920778],[102.736439,32.920621],[102.736177,32.920407],[102.735922,32.920198],[102.735707,32.920021],[102.735575,32.919913],[102.735408,32.919777],[102.735104,32.919528],[102.734929,32.919384],[102.734786,32.919267],[102.734604,32.919118],[102.734407,32.918941],[102.734196,32.918751],[102.733962,32.918514],[102.733821,32.918381],[102.733813,32.918373],[102.733601,32.918174],[102.733385,32.91797],[102.733241,32.917835],[102.733084,32.91758],[102.732956,32.917371],[102.732834,32.917172],[102.732409,32.916481],[102.732131,32.916324],[102.731291,32.915851],[102.7311,32.915744],[102.730844,32.9156],[102.730825,32.915564],[102.730774,32.915564],[102.730742,32.915484],[102.73071,32.915442],[102.730692,32.915396],[102.730666,32.915328],[102.730646,32.915269],[102.730611,32.915197],[102.730604,32.915148],[102.730431,32.914821],[102.73045,32.914098],[102.730451,32.914056],[102.730457,32.913807],[102.730416,32.913718],[102.730393,32.913668],[102.730318,32.913505],[102.730317,32.913503],[102.730268,32.913397],[102.730192,32.913232],[102.72991,32.912621],[102.729624,32.912485],[102.729546,32.912448],[102.729416,32.912485],[102.729271,32.91247],[102.729104,32.912447],[102.729003,32.912416],[102.728956,32.912386],[102.728923,32.912373],[102.728853,32.912364],[102.728723,32.912359],[102.728318,32.91239],[102.728273,32.91241],[102.728178,32.912451],[102.728131,32.912471],[102.728089,32.912489],[102.727891,32.912583],[102.72786,32.9126],[102.7278,32.912634],[102.727718,32.912715],[102.727617,32.912821],[102.727519,32.912918],[102.727385,32.913042],[102.727329,32.913152],[102.727323,32.913157],[102.727005,32.913339],[102.726769,32.913295],[102.726683,32.913328],[102.726672,32.913328],[102.726669,32.913316],[102.726707,32.913283],[102.726503,32.913245],[102.726484,32.913241],[102.726459,32.913236],[102.726388,32.913223],[102.726047,32.913159],[102.724997,32.912622],[102.72498,32.912613],[102.724963,32.912605],[102.724813,32.912528],[102.724754,32.912513],[102.724466,32.912438],[102.724455,32.912436],[102.724443,32.912432],[102.724086,32.91234],[102.724068,32.912336],[102.72387,32.912284],[102.723754,32.912254],[102.723202,32.912112],[102.72308,32.91208],[102.722942,32.912045],[102.722804,32.912009],[102.722614,32.91196],[102.722608,32.911961],[102.722541,32.911974],[102.722528,32.911977],[102.722522,32.911978],[102.722416,32.911998],[102.721067,32.912257],[102.720696,32.91246],[102.720509,32.912563],[102.719994,32.912846],[102.71978,32.912873],[102.718304,32.913058],[102.71758,32.913167],[102.71658,32.912743],[102.716465,32.91247],[102.71643,32.912388],[102.716229,32.911912],[102.716218,32.911884],[102.716183,32.911854],[102.716182,32.911853],[102.715599,32.911339],[102.715582,32.911339],[102.715443,32.911336],[102.715372,32.911327],[102.715321,32.911309],[102.715254,32.911274],[102.715182,32.911236],[102.715117,32.911207],[102.715039,32.911186],[102.714956,32.911162],[102.71487,32.911103],[102.714747,32.911086],[102.714365,32.911054],[102.714299,32.911049],[102.714274,32.911047],[102.714123,32.911034],[102.713932,32.910911],[102.713413,32.910575],[102.712907,32.910053],[102.712776,32.909808],[102.712665,32.909666],[102.712609,32.909589],[102.712418,32.909461],[102.712252,32.909414],[102.712227,32.909408],[102.712116,32.909376],[102.711933,32.909306],[102.711733,32.909211],[102.711516,32.909092],[102.711279,32.908959],[102.71108,32.908821],[102.710956,32.908706],[102.710802,32.908622],[102.710755,32.908581],[102.710722,32.908578],[102.710292,32.908524],[102.709571,32.908435],[102.7087,32.908622],[102.708361,32.908658],[102.708216,32.908674],[102.708159,32.90868],[102.708094,32.908687],[102.707735,32.908726],[102.707646,32.908707],[102.707575,32.908692],[102.706683,32.908504],[102.706412,32.908304],[102.706367,32.908272],[102.706339,32.908251],[102.705893,32.907924],[102.705886,32.907918],[102.705833,32.907879],[102.705574,32.907808],[102.705442,32.907771],[102.70505,32.907662],[102.704856,32.907609],[102.704734,32.907575],[102.704478,32.907608],[102.704457,32.90761],[102.703898,32.907681],[102.703674,32.90771],[102.703656,32.907712],[102.703616,32.907717],[102.702512,32.907857],[102.702224,32.907894],[102.702106,32.907929],[102.702094,32.907932],[102.701927,32.907981],[102.700916,32.908276],[102.700469,32.908352],[102.700258,32.908388],[102.700235,32.908392],[102.698983,32.908605],[102.698446,32.908772],[102.698352,32.908801],[102.69829,32.90882],[102.697734,32.908993],[102.697625,32.909027],[102.697544,32.909051],[102.697536,32.909054],[102.697161,32.909169],[102.696122,32.909486],[102.69524,32.909546],[102.695183,32.90955],[102.694242,32.909614],[102.692375,32.909255],[102.691648,32.909009],[102.691632,32.909004],[102.691541,32.908973],[102.691524,32.908967],[102.691508,32.908962],[102.691436,32.908938],[102.691092,32.908822],[102.690849,32.908739],[102.690785,32.908684],[102.690442,32.908393],[102.690057,32.908066],[102.690044,32.908054],[102.689756,32.907809],[102.689737,32.907793],[102.689666,32.907732],[102.689484,32.907578],[102.688524,32.906942],[102.688397,32.906859],[102.688349,32.906826],[102.687006,32.90668],[102.686953,32.906701],[102.686929,32.90671],[102.686633,32.906829],[102.686622,32.906833],[102.68652,32.906874],[102.686487,32.906872],[102.685877,32.906839],[102.68578,32.906834],[102.685487,32.906818],[102.685367,32.906812],[102.685174,32.906788],[102.685024,32.90677],[102.684669,32.906727],[102.684588,32.906717],[102.684176,32.906668],[102.684065,32.906654],[102.683806,32.906623],[102.683784,32.90662],[102.683315,32.906611],[102.683042,32.906606],[102.682871,32.906603],[102.682832,32.906601],[102.682784,32.906598],[102.682777,32.906597],[102.682606,32.906587],[102.682449,32.906578],[102.68191,32.906545],[102.681343,32.906169],[102.681218,32.905396],[102.681288,32.905277],[102.681325,32.905214],[102.681571,32.904794],[102.682643,32.904259],[102.682647,32.904257],[102.68277,32.904196],[102.682796,32.904149],[102.682817,32.904128],[102.68285,32.904113],[102.682898,32.904094],[102.682939,32.904074],[102.682995,32.904034],[102.683052,32.903728],[102.683054,32.903717],[102.683152,32.9032],[102.682116,32.902328],[102.681595,32.90209],[102.681351,32.901978],[102.681107,32.901866],[102.681053,32.901841],[102.680548,32.901609],[102.68039,32.9014],[102.680397,32.90136],[102.680399,32.901325],[102.680397,32.901294],[102.680387,32.901265],[102.680348,32.901209],[102.680333,32.90119],[102.680306,32.901158],[102.680419,32.900913],[102.680429,32.90089],[102.680458,32.900829],[102.680677,32.900354],[102.680776,32.900262],[102.68106,32.9],[102.681367,32.899717],[102.68195,32.899485],[102.682538,32.899364],[102.682578,32.899356],[102.682595,32.899352],[102.682675,32.899336],[102.682987,32.89914],[102.683013,32.899108],[102.683031,32.899093],[102.683051,32.899082],[102.683071,32.899073],[102.683115,32.89906],[102.683116,32.899033],[102.683117,32.898998],[102.683121,32.898865],[102.683124,32.898712],[102.683163,32.898703],[102.683259,32.898671],[102.683286,32.898632],[102.683301,32.89855],[102.683301,32.898442],[102.683302,32.898416],[102.683266,32.898424],[102.683253,32.898474],[102.683219,32.89852],[102.683182,32.898554],[102.683128,32.898592],[102.683137,32.898249],[102.682616,32.89779],[102.682605,32.89778],[102.682525,32.89771],[102.682409,32.89764],[102.682273,32.897558],[102.682161,32.89749],[102.682138,32.897476],[102.681483,32.897082],[102.68052,32.896233],[102.680475,32.896192],[102.680198,32.895948],[102.680026,32.895797],[102.67982,32.895665],[102.679814,32.895643],[102.679779,32.895555],[102.679745,32.895517],[102.679629,32.895423],[102.679411,32.895317],[102.67922,32.895247],[102.679132,32.895223],[102.678985,32.895128],[102.677992,32.89485],[102.677744,32.89478],[102.677699,32.894764],[102.67769,32.89476],[102.6766,32.894353],[102.675437,32.893248],[102.67542,32.893233],[102.67538,32.893194],[102.675214,32.893161],[102.675156,32.89315],[102.675121,32.893143],[102.674934,32.893105],[102.674932,32.893105],[102.67471,32.89306],[102.674546,32.89318],[102.674391,32.893184],[102.674259,32.893207],[102.674224,32.89325],[102.674244,32.893347],[102.674267,32.893385],[102.674171,32.893456],[102.67406,32.893538],[102.673934,32.893631],[102.673905,32.893652],[102.673732,32.89378],[102.673727,32.893784],[102.673582,32.893891],[102.673208,32.894028],[102.672699,32.894213],[102.672417,32.894316],[102.672181,32.894434],[102.671994,32.894497],[102.67193,32.894503],[102.671904,32.894503],[102.671862,32.894594],[102.671247,32.894903],[102.670716,32.895224],[102.670569,32.895312],[102.67052,32.895342],[102.670465,32.895375],[102.669704,32.895513],[102.66962,32.895528],[102.66958,32.895536],[102.66945,32.895559],[102.669277,32.895625],[102.669132,32.89568],[102.669116,32.895686],[102.668799,32.895807],[102.668775,32.895816],[102.668715,32.895839],[102.668332,32.895985],[102.666727,32.896685],[102.665941,32.897279],[102.665743,32.897268],[102.665707,32.897265],[102.665347,32.897244],[102.665116,32.897231],[102.664991,32.897223],[102.664967,32.897222],[102.664933,32.89722],[102.664223,32.89676],[102.663669,32.895898],[102.663396,32.895284],[102.663359,32.895057],[102.663371,32.89486],[102.66337,32.89451],[102.663323,32.89421],[102.663343,32.893988],[102.663309,32.893941],[102.663284,32.893795],[102.663283,32.89368],[102.663286,32.893564],[102.663282,32.893498],[102.663254,32.893365],[102.663256,32.893314],[102.663256,32.893293],[102.663252,32.89328],[102.662943,32.892394],[102.662522,32.89194],[102.662236,32.891849],[102.661711,32.891681],[102.661289,32.891693],[102.660845,32.891706],[102.660163,32.892018],[102.659453,32.892706],[102.659423,32.892734],[102.658214,32.892995],[102.658175,32.893014],[102.657727,32.89323],[102.657708,32.893378],[102.657666,32.893716],[102.657717,32.893906],[102.65772,32.893918],[102.657903,32.8946],[102.65794,32.894737],[102.657951,32.894777],[102.65794,32.894795],[102.657916,32.894839],[102.657896,32.894884],[102.657877,32.894944],[102.657853,32.895028],[102.657844,32.895084],[102.657837,32.895136],[102.657831,32.895167],[102.657807,32.895215],[102.657779,32.895304],[102.657769,32.895364],[102.657763,32.89542],[102.657763,32.89547],[102.657774,32.895521],[102.657781,32.895561],[102.657788,32.895596],[102.657788,32.895639],[102.657799,32.895756],[102.657791,32.89579],[102.657775,32.895842],[102.65776,32.895902],[102.657748,32.895951],[102.657742,32.896022],[102.657734,32.896075],[102.657719,32.896123],[102.657707,32.89615],[102.65768,32.896189],[102.657647,32.896223],[102.657595,32.896269],[102.657554,32.89631],[102.657512,32.896339],[102.657405,32.896396],[102.657375,32.896389],[102.657355,32.896381],[102.657345,32.896369],[102.657314,32.896348],[102.657283,32.896342],[102.657312,32.896324],[102.657266,32.89632],[102.65702,32.896301],[102.656172,32.895635],[102.655809,32.894817],[102.655688,32.894715],[102.655666,32.894697],[102.655436,32.894503],[102.655407,32.894417],[102.655358,32.894329],[102.655286,32.894246],[102.655241,32.89421],[102.655207,32.894169],[102.655163,32.894122],[102.655118,32.894094],[102.655054,32.894067],[102.654965,32.894054],[102.654896,32.894049],[102.654798,32.893966],[102.654774,32.893945],[102.654404,32.893727],[102.653779,32.893359],[102.65373,32.893353],[102.652916,32.893261],[102.651553,32.893885],[102.651363,32.894026],[102.650313,32.894808],[102.650277,32.894835],[102.649741,32.895177],[102.649687,32.895212],[102.649682,32.895287],[102.649552,32.895349],[102.649337,32.895435],[102.649227,32.895473],[102.649158,32.895495],[102.64909,32.895525],[102.649038,32.895568],[102.648795,32.895776],[102.648588,32.895963],[102.648418,32.896141],[102.64829,32.896338],[102.648212,32.89648],[102.648187,32.896508],[102.648151,32.89655],[102.647916,32.896819],[102.647879,32.896904],[102.647714,32.897294],[102.647717,32.897316],[102.647728,32.897394],[102.647752,32.897419],[102.647788,32.897445],[102.647823,32.897475],[102.647846,32.897512],[102.64786,32.897547],[102.64793,32.897624],[102.647969,32.897665],[102.648051,32.897713],[102.648333,32.897805],[102.648415,32.897833],[102.648421,32.897844],[102.648468,32.897922],[102.648575,32.8981],[102.648604,32.89815],[102.64862,32.898176],[102.648662,32.898199],[102.64869,32.898216],[102.648715,32.89824],[102.648726,32.898265],[102.648722,32.898283],[102.648697,32.898305],[102.648705,32.898318],[102.64874,32.898377],[102.648741,32.898383],[102.648955,32.899355],[102.64878,32.900186],[102.648746,32.900349],[102.648734,32.900406],[102.648717,32.900438],[102.648685,32.900502],[102.648589,32.900687],[102.64858,32.900704],[102.648493,32.900872],[102.648278,32.90129],[102.647988,32.90164],[102.647956,32.901679],[102.647949,32.901687],[102.647921,32.901721],[102.647781,32.901889],[102.64764,32.901948],[102.647604,32.901963],[102.64676,32.902316],[102.64648,32.90233],[102.646439,32.902333],[102.646228,32.902343],[102.645604,32.902375],[102.644939,32.902038],[102.644289,32.901174],[102.644176,32.901064],[102.644163,32.901051],[102.644144,32.901032],[102.644057,32.900946],[102.643867,32.90076],[102.643849,32.900753],[102.643616,32.900664],[102.643604,32.900659],[102.643417,32.900587],[102.6432,32.900504],[102.642113,32.900808],[102.642078,32.900818],[102.642057,32.900824],[102.641843,32.900884],[102.641649,32.901007],[102.64163,32.901019],[102.641605,32.901035],[102.640913,32.901475],[102.63978,32.902389],[102.639772,32.902395],[102.639571,32.902558],[102.639537,32.902585],[102.639399,32.90291],[102.639282,32.902909],[102.639166,32.903117],[102.639114,32.903378],[102.638917,32.903767],[102.638813,32.904022],[102.638725,32.904683],[102.638729,32.904799],[102.63872,32.904826],[102.638717,32.904836],[102.638653,32.905044],[102.638736,32.90575],[102.638736,32.905752],[102.638742,32.905803],[102.638776,32.906093],[102.63881,32.906386],[102.638846,32.906641],[102.638847,32.906642],[102.638848,32.906654],[102.638899,32.907013],[102.638906,32.907058],[102.638977,32.90756],[102.638979,32.90757],[102.638991,32.907659],[102.638974,32.907675],[102.638949,32.907703],[102.638926,32.907731],[102.638899,32.907758],[102.638875,32.907784],[102.638857,32.907807],[102.638858,32.907849],[102.638854,32.907902],[102.638816,32.907979],[102.638808,32.908094],[102.638818,32.908252],[102.63883,32.908446],[102.638775,32.908519],[102.638719,32.908595],[102.638712,32.908603],[102.638689,32.908634],[102.638553,32.908816],[102.637774,32.908863],[102.63776,32.908864],[102.637544,32.908877],[102.637562,32.90884],[102.637562,32.908815],[102.637542,32.908784],[102.637512,32.908781],[102.637467,32.908792],[102.637379,32.908827],[102.6372,32.908772],[102.637197,32.90877],[102.637189,32.908768],[102.636573,32.908576],[102.636569,32.908575],[102.636298,32.908491],[102.636157,32.908447],[102.636056,32.908415],[102.636014,32.908402],[102.635631,32.908196],[102.635759,32.908208],[102.635831,32.908216],[102.635777,32.908162],[102.635734,32.908135],[102.635648,32.908099],[102.635548,32.908071],[102.635437,32.90806],[102.635295,32.908014],[102.635186,32.907955],[102.634924,32.907813],[102.634893,32.907818],[102.6348,32.907831],[102.634803,32.907842],[102.634825,32.907857],[102.634845,32.907863],[102.634881,32.90788],[102.634866,32.90789],[102.63481,32.907899],[102.634773,32.907902],[102.634725,32.907908],[102.634669,32.907916],[102.634622,32.90792],[102.634578,32.90792],[102.63451,32.907935],[102.63444,32.907938],[102.634425,32.907924],[102.634408,32.907894],[102.634405,32.907885],[102.634259,32.907906],[102.634151,32.907921],[102.634106,32.907965],[102.633982,32.908013],[102.63376,32.908214],[102.633673,32.90837],[102.633669,32.908378],[102.633706,32.908358],[102.633697,32.908384],[102.633672,32.908455],[102.633446,32.909084],[102.633448,32.909315],[102.633451,32.909577],[102.633459,32.910423],[102.633158,32.911157],[102.633161,32.911223],[102.633099,32.911405],[102.633064,32.911482],[102.63295,32.911488],[102.632554,32.911727],[102.632352,32.911849],[102.632265,32.911902],[102.632122,32.911942],[102.632098,32.911948],[102.631709,32.912057],[102.631528,32.912107],[102.631066,32.912236],[102.63096,32.912265],[102.63089,32.912285],[102.63074,32.912327],[102.630646,32.912353],[102.630222,32.912471],[102.630083,32.91251],[102.629619,32.912738],[102.629352,32.912869],[102.629346,32.912872],[102.629248,32.912921],[102.628729,32.913174],[102.628468,32.913304],[102.628357,32.913358],[102.628346,32.913364],[102.627938,32.913564],[102.627826,32.913638],[102.627857,32.913679],[102.627804,32.913724],[102.627757,32.913764],[102.627717,32.913797],[102.627673,32.913766],[102.627622,32.913737],[102.627566,32.913712],[102.627486,32.913682],[102.627372,32.913652],[102.627293,32.913637],[102.627293,32.913665],[102.627294,32.913681],[102.627296,32.913693],[102.627301,32.913705],[102.627311,32.913725],[102.627312,32.913727],[102.627329,32.913749],[102.627343,32.913764],[102.627359,32.913775],[102.627386,32.913787],[102.627403,32.913797],[102.627407,32.913805],[102.627407,32.913819],[102.627408,32.913845],[102.627409,32.913899],[102.627406,32.913915],[102.62732,32.913971],[102.6273,32.913985],[102.627293,32.913989],[102.627188,32.913927],[102.627174,32.913921],[102.627014,32.914039],[102.626826,32.914228],[102.62657,32.914466],[102.626464,32.914602],[102.626331,32.914751],[102.626316,32.914762],[102.626231,32.91482],[102.62621,32.914864],[102.626131,32.914873],[102.625475,32.915709],[102.625147,32.916259],[102.625056,32.91641],[102.625006,32.916494],[102.624972,32.916551],[102.624471,32.917272],[102.624304,32.91738],[102.623325,32.91801],[102.622727,32.918396],[102.622575,32.918494],[102.622537,32.918518],[102.622456,32.91857],[102.622344,32.918642],[102.622268,32.918691],[102.622264,32.91871],[102.622252,32.918768],[102.622121,32.919364],[102.622022,32.919816],[102.62206,32.91986],[102.622119,32.919923],[102.622167,32.919965],[102.622164,32.92019],[102.622187,32.920224],[102.622252,32.920318],[102.622343,32.92045],[102.622378,32.920501],[102.622472,32.920638],[102.622504,32.920684],[102.622518,32.920701],[102.622552,32.92074],[102.6226,32.920797],[102.622695,32.920909],[102.622876,32.921123],[102.623484,32.921839],[102.62413,32.922457],[102.62423,32.922553],[102.62438,32.922696],[102.624385,32.922701],[102.624406,32.922721],[102.624427,32.922741],[102.62437,32.922788],[102.624522,32.922893],[102.624547,32.922905],[102.624716,32.923072],[102.62479,32.923129],[102.624853,32.923176],[102.624911,32.923211],[102.625064,32.923265],[102.625123,32.923279],[102.625135,32.923302],[102.625125,32.923322],[102.625088,32.923338],[102.625042,32.923351],[102.624992,32.923371],[102.624956,32.923393],[102.624953,32.923416],[102.624965,32.923437],[102.624994,32.923441],[102.625048,32.923421],[102.625101,32.923415],[102.625141,32.923431],[102.625196,32.923452],[102.625238,32.923459],[102.625316,32.923467],[102.625361,32.923485],[102.625368,32.923522],[102.625375,32.923548],[102.625424,32.923582],[102.625475,32.923596],[102.62553,32.923609],[102.625586,32.923629],[102.625633,32.923653],[102.625661,32.923676],[102.625703,32.92369],[102.625732,32.923722],[102.625746,32.923751],[102.625774,32.923775],[102.625802,32.923772],[102.625821,32.923754],[102.625858,32.923709],[102.625869,32.923702],[102.626133,32.923866],[102.626219,32.92392],[102.626306,32.923997],[102.626462,32.924135],[102.626609,32.924265],[102.626683,32.92433],[102.626866,32.924491],[102.627123,32.924718],[102.627159,32.92475],[102.627204,32.924827],[102.62724,32.924891],[102.62737,32.925116],[102.627443,32.925242],[102.627509,32.925355],[102.627544,32.925416],[102.627565,32.925452],[102.627717,32.925716],[102.627822,32.925898],[102.627826,32.925905],[102.627842,32.925932],[102.627941,32.926104],[102.627952,32.926149],[102.628035,32.926495],[102.628072,32.926649],[102.62809,32.926724],[102.628244,32.927368],[102.627833,32.928334],[102.627594,32.928481],[102.626806,32.928964],[102.626676,32.929114],[102.626655,32.929138],[102.626642,32.929153],[102.626012,32.929882],[102.625868,32.930111],[102.625668,32.93043],[102.625621,32.930505],[102.625606,32.930529],[102.625524,32.93066],[102.625345,32.930946],[102.625332,32.930966],[102.625177,32.931215],[102.625169,32.931228],[102.625197,32.931232],[102.625206,32.931252],[102.625206,32.931274],[102.625195,32.931307],[102.625181,32.931332],[102.625159,32.931349],[102.625083,32.931365],[102.625046,32.931365],[102.625017,32.931375],[102.624994,32.931421],[102.624988,32.931461],[102.62497,32.931512],[102.624945,32.931545],[102.624893,32.931572],[102.624853,32.931583],[102.624823,32.931597],[102.624812,32.931628],[102.62483,32.931679],[102.624694,32.931801],[102.624417,32.932049],[102.624352,32.932108],[102.62434,32.932118],[102.624322,32.932275],[102.624296,32.932367],[102.624268,32.932451],[102.62425,32.932496],[102.624212,32.932505],[102.624131,32.932516],[102.624021,32.932543],[102.623915,32.932574],[102.623863,32.932619],[102.623785,32.932719],[102.623691,32.932796],[102.623547,32.932913],[102.62347,32.932992],[102.623394,32.933046],[102.623314,32.933071],[102.623205,32.933127],[102.623085,32.933154],[102.623006,32.933178],[102.622959,32.933214],[102.622869,32.933262],[102.622749,32.933313],[102.622607,32.933378],[102.622452,32.933447],[102.622308,32.933513],[102.622146,32.933591],[102.621992,32.933632],[102.621881,32.933675],[102.621854,32.933686],[102.621769,32.93371],[102.621693,32.933708],[102.621696,32.93369],[102.621698,32.93368],[102.621699,32.933675],[102.621682,32.933559],[102.621677,32.933527],[102.621431,32.933512],[102.620815,32.933476],[102.620127,32.933377],[102.620041,32.933364],[102.619924,32.933347],[102.619521,32.933289],[102.618546,32.933207],[102.618538,32.933206],[102.618315,32.933188],[102.618273,32.933184],[102.617902,32.933142],[102.617769,32.933127],[102.617755,32.933125],[102.617518,32.933099],[102.616977,32.933038],[102.616086,32.933994],[102.616112,32.934807],[102.616183,32.934882],[102.616202,32.934903],[102.617001,32.935757],[102.617902,32.936261],[102.617919,32.936263],[102.618905,32.936357],[102.618958,32.936362],[102.620007,32.936327],[102.620401,32.936314],[102.620468,32.936312],[102.620499,32.936311],[102.621837,32.936446],[102.621987,32.936461],[102.62226,32.936489],[102.622375,32.936501],[102.622872,32.936552],[102.623307,32.936597],[102.623426,32.93661],[102.624729,32.936978],[102.624752,32.937074],[102.624805,32.937105],[102.624854,32.937123],[102.624961,32.937152],[102.62506,32.937158],[102.625103,32.937156],[102.625218,32.937134],[102.626004,32.937389],[102.626862,32.937789],[102.627002,32.937855],[102.627068,32.937934],[102.627091,32.937961],[102.62737,32.938296],[102.627485,32.938434],[102.627572,32.938538],[102.627586,32.938556],[102.627655,32.938638],[102.627788,32.939417],[102.627797,32.939471],[102.627815,32.93958],[102.627841,32.939733],[102.627846,32.939758],[102.627863,32.93986],[102.627857,32.940081],[102.627855,32.940176],[102.627853,32.940184],[102.627841,32.940702],[102.627836,32.940881],[102.627817,32.940889],[102.627786,32.940914],[102.627766,32.94096],[102.627755,32.941008],[102.627748,32.941041],[102.627744,32.94106],[102.627707,32.941113],[102.627706,32.941115],[102.627734,32.941265],[102.627746,32.941325],[102.627763,32.941406],[102.627778,32.941492],[102.627815,32.941644],[102.627811,32.942347],[102.62781,32.942438],[102.62781,32.942466],[102.627809,32.94268],[102.627808,32.94282],[102.627807,32.942856],[102.627806,32.943155],[102.627805,32.943247],[102.6278,32.94398],[102.6278,32.944038],[102.627799,32.944073],[102.627788,32.944485],[102.627781,32.944728],[102.627538,32.944807],[102.627475,32.944827],[102.626956,32.944996],[102.626771,32.944999],[102.626715,32.944999],[102.626547,32.945002],[102.625877,32.945011],[102.625829,32.945011],[102.625704,32.945013],[102.625517,32.945004],[102.625312,32.944994],[102.6252,32.944988],[102.625021,32.944979],[102.624962,32.944976],[102.624921,32.944974],[102.624897,32.944973],[102.624358,32.944947],[102.622627,32.944914],[102.622554,32.944902],[102.62253,32.944946],[102.622461,32.944995],[102.622399,32.94504],[102.622282,32.945131],[102.622188,32.945178],[102.622184,32.94527],[102.6222,32.945615],[102.622203,32.945672],[102.622215,32.94592],[102.622588,32.94636],[102.62325,32.946751],[102.623569,32.946939],[102.623832,32.947094],[102.623865,32.947114],[102.623915,32.947143],[102.62395,32.94717],[102.623969,32.947185],[102.623829,32.94723],[102.623752,32.947253],[102.623661,32.947282],[102.623575,32.947311],[102.623541,32.947333],[102.623654,32.947338],[102.623772,32.947322],[102.6239,32.947298],[102.62409,32.947278],[102.624337,32.947469],[102.624519,32.94761],[102.624661,32.947719],[102.624921,32.94792],[102.625221,32.948308],[102.625351,32.948476],[102.625371,32.948488],[102.625474,32.948537],[102.625545,32.948604],[102.625673,32.948727],[102.625736,32.948794],[102.625731,32.948804],[102.625684,32.948907],[102.625727,32.948963],[102.625803,32.949061],[102.625835,32.949102],[102.625849,32.949119],[102.625857,32.949129],[102.625912,32.949199],[102.62597,32.949274],[102.626241,32.949485],[102.626523,32.949756],[102.626617,32.949834],[102.626711,32.949872],[102.626858,32.949902],[102.627028,32.949901],[102.627195,32.949893],[102.627333,32.949871],[102.627511,32.949803],[102.627607,32.949758],[102.627695,32.949759],[102.627807,32.949785],[102.62867,32.94929],[102.628679,32.949286],[102.628679,32.949261],[102.628718,32.949208],[102.628805,32.949141],[102.628909,32.949071],[102.629036,32.948996],[102.629121,32.948941],[102.62918,32.948888],[102.629242,32.94884],[102.629287,32.948833],[102.62931,32.948845],[102.629284,32.948885],[102.629237,32.948921],[102.629183,32.948969],[102.62915,32.949005],[102.629132,32.94902],[102.629128,32.94903],[102.629128,32.949052],[102.629128,32.949072],[102.629124,32.949091],[102.629149,32.949084],[102.629275,32.949029],[102.629284,32.949026],[102.629305,32.949017],[102.629514,32.948927],[102.62965,32.948949],[102.629671,32.948952],[102.629708,32.948958],[102.629789,32.94897],[102.629896,32.948988],[102.630073,32.949016],[102.630223,32.94904],[102.630559,32.949094],[102.630664,32.949111],[102.630717,32.949168],[102.630797,32.949254],[102.630945,32.949414],[102.631026,32.949501],[102.631147,32.949632],[102.631226,32.949717],[102.631239,32.949864],[102.631253,32.950011],[102.631261,32.950096],[102.631268,32.950179],[102.631281,32.950321],[102.631289,32.950407],[102.631292,32.950435],[102.631305,32.95058],[102.631325,32.950801],[102.631212,32.950989],[102.631193,32.951022],[102.630586,32.952031],[102.630581,32.952036],[102.630072,32.952476],[102.630043,32.952501],[102.630014,32.952525],[102.629867,32.952653],[102.629667,32.952825],[102.629362,32.95283],[102.628126,32.95285],[102.626533,32.952441],[102.626411,32.952439],[102.626055,32.952432],[102.62601,32.952431],[102.626001,32.952431],[102.625966,32.95243],[102.625819,32.952428],[102.625092,32.952414],[102.625048,32.952413],[102.624993,32.952412],[102.624898,32.952443],[102.624784,32.952481],[102.624718,32.952503],[102.624634,32.95253],[102.624575,32.952549],[102.624521,32.952567],[102.624407,32.952583],[102.624102,32.95268],[102.623952,32.952768],[102.623828,32.952861],[102.62369,32.953007],[102.623227,32.953304],[102.623137,32.953362],[102.62291,32.953509],[102.622672,32.953755],[102.621524,32.954943],[102.620567,32.955685],[102.61982,32.956263],[102.617603,32.957574],[102.61714,32.957866],[102.616773,32.957989],[102.616813,32.958071],[102.616683,32.958155],[102.616657,32.958171],[102.616466,32.958292],[102.61641,32.958327],[102.616157,32.958487],[102.615969,32.958606],[102.615775,32.958729],[102.615237,32.959638],[102.615113,32.960767],[102.61506,32.961253],[102.615041,32.961423],[102.615039,32.961439],[102.615024,32.961581],[102.615001,32.961791],[102.615128,32.961831],[102.615264,32.961873],[102.615258,32.961906],[102.615228,32.961926],[102.615167,32.961966],[102.615145,32.961999],[102.615143,32.962032],[102.615148,32.962077],[102.615175,32.962145],[102.61514,32.962163],[102.615074,32.962184],[102.615063,32.962228],[102.61506,32.962364],[102.615068,32.962424],[102.615101,32.96249],[102.615087,32.962527],[102.615045,32.962578],[102.61501,32.962636],[102.615004,32.962685],[102.615013,32.962764],[102.615008,32.96285],[102.615004,32.962926],[102.614996,32.963009],[102.614993,32.963056],[102.614992,32.963075],[102.61495,32.963164],[102.614924,32.963263],[102.614914,32.963326],[102.614901,32.963397],[102.614839,32.963528],[102.614816,32.963624],[102.614801,32.963688],[102.614795,32.96374],[102.614782,32.963811],[102.614731,32.963871],[102.614694,32.963962],[102.614661,32.964044],[102.614633,32.964126],[102.614606,32.964203],[102.614576,32.964278],[102.614576,32.96435],[102.61458,32.964406],[102.614554,32.964459],[102.614498,32.964475],[102.614255,32.964736],[102.614205,32.96479],[102.6142,32.964794],[102.614134,32.964866],[102.613554,32.964913],[102.612526,32.964997],[102.612445,32.964992],[102.612279,32.964982],[102.612068,32.964969],[102.612054,32.964968],[102.61198,32.964988],[102.611934,32.964987],[102.611856,32.964984],[102.611763,32.964986],[102.611579,32.965007],[102.611508,32.964992],[102.611433,32.964949],[102.611411,32.964929],[102.611354,32.964876],[102.611283,32.964827],[102.611226,32.964791],[102.611178,32.964775],[102.611113,32.964775],[102.611042,32.964775],[102.611003,32.96479],[102.611,32.964814],[102.611023,32.964837],[102.611051,32.964849],[102.611173,32.964917],[102.610987,32.964914],[102.610591,32.964906],[102.609961,32.964894],[102.609724,32.965032],[102.609676,32.96506],[102.609643,32.965079],[102.609626,32.965088],[102.609366,32.965239],[102.609357,32.965245],[102.609314,32.96527],[102.608788,32.965575],[102.607592,32.967067],[102.607494,32.967873],[102.607479,32.967994],[102.60747,32.968069],[102.607465,32.968105],[102.607427,32.968416],[102.60784,32.969122],[102.607989,32.969376],[102.608028,32.969443],[102.60807,32.969515],[102.608164,32.969675],[102.608589,32.969944],[102.609021,32.970216],[102.609047,32.970233],[102.609448,32.970391],[102.609539,32.970427],[102.611063,32.971029],[102.611207,32.971086],[102.612087,32.971478],[102.612348,32.971595],[102.612486,32.971878],[102.612603,32.972121],[102.612956,32.972851],[102.612939,32.9735],[102.612817,32.973998],[102.61265,32.974684],[102.611145,32.975738],[102.611094,32.975783],[102.610133,32.976627],[102.610081,32.976673],[102.610059,32.976693],[102.609699,32.977009],[102.609661,32.977056],[102.609001,32.977883],[102.608683,32.978282],[102.608636,32.978341],[102.608634,32.978352],[102.608452,32.979338],[102.60836,32.979838],[102.608326,32.980026],[102.608318,32.980065],[102.608276,32.980093],[102.608255,32.98014],[102.608216,32.980212],[102.608179,32.980261],[102.608148,32.980306],[102.608111,32.980371],[102.608097,32.980417],[102.608067,32.980495],[102.608028,32.980565],[102.607973,32.980628],[102.6079,32.980714],[102.607876,32.980759],[102.607853,32.980823],[102.607853,32.980869],[102.607853,32.980936],[102.607859,32.981006],[102.607863,32.981065],[102.60785,32.981107],[102.607824,32.98115],[102.607782,32.981204],[102.60771,32.981293],[102.607697,32.981342],[102.607691,32.981409],[102.607691,32.981449],[102.607699,32.981491],[102.607714,32.981534],[102.607727,32.981564],[102.607752,32.981596],[102.607784,32.981641],[102.607797,32.981674],[102.607814,32.981721],[102.607814,32.981738],[102.607817,32.981747],[102.607824,32.98175],[102.607811,32.981776],[102.607807,32.981784],[102.607727,32.981937],[102.607575,32.982231],[102.607528,32.982322],[102.6075,32.982377],[102.607396,32.982444],[102.607282,32.982517],[102.606602,32.982955],[102.606012,32.983334],[102.605268,32.983813],[102.605213,32.983848],[102.60496,32.984044],[102.604552,32.984358],[102.604134,32.984681],[102.604093,32.984712],[102.604081,32.984722],[102.603843,32.984905],[102.603682,32.98503],[102.60364,32.985062],[102.602978,32.985807],[102.602852,32.986324],[102.60284,32.986373],[102.602738,32.986789],[102.602545,32.987584],[102.602399,32.987871],[102.602371,32.987928],[102.602137,32.988388],[102.602002,32.988656],[102.601927,32.988769],[102.601541,32.989354],[102.601489,32.989433],[102.60146,32.989478],[102.60139,32.989583],[102.601333,32.989671],[102.600635,32.990232],[102.600506,32.990336],[102.600477,32.990284],[102.600399,32.990296],[102.600339,32.990322],[102.600289,32.990359],[102.600212,32.990406],[102.600144,32.990448],[102.600071,32.990565],[102.599935,32.990717],[102.599868,32.990857],[102.5998,32.991002],[102.599762,32.991106],[102.599715,32.991277],[102.599707,32.991307],[102.59971,32.991318],[102.599161,32.991631],[102.599116,32.991723],[102.598882,32.99221],[102.598643,32.992707],[102.598473,32.99306],[102.598135,32.993447],[102.598165,32.993482],[102.598197,32.993556],[102.598225,32.993622],[102.59824,32.993684],[102.598252,32.993758],[102.598252,32.99382],[102.598241,32.993894],[102.5982,32.99401],[102.598198,32.994014],[102.598145,32.994089],[102.598142,32.994094],[102.598043,32.994268],[102.597985,32.994376],[102.597985,32.994385],[102.59798,32.994457],[102.597978,32.994587],[102.597933,32.994676],[102.597837,32.994828],[102.597751,32.994957],[102.597736,32.995108],[102.597571,32.995504],[102.597539,32.995619],[102.597438,32.99598],[102.597496,32.996102],[102.59753,32.996173],[102.597535,32.996184],[102.597653,32.996432],[102.597802,32.996745],[102.597865,32.996847],[102.598769,32.998313],[102.598888,32.998445],[102.598982,32.998588],[102.599097,32.998698],[102.599032,32.998739],[102.599064,32.998867],[102.599114,32.999063],[102.599261,32.999641],[102.599487,33.000535],[102.599949,33.00133],[102.600198,33.001761],[102.600242,33.001836],[102.600337,33.002],[102.600288,33.002117],[102.600175,33.002382],[102.599868,33.003102],[102.599772,33.003328],[102.599699,33.003498],[102.599514,33.003933],[102.599175,33.004538],[102.598841,33.005135],[102.598568,33.005621],[102.598268,33.006157],[102.597988,33.006453],[102.597774,33.006678],[102.597681,33.006776],[102.597632,33.006829],[102.597291,33.007188],[102.597201,33.007266],[102.596502,33.007872],[102.596374,33.008063],[102.596361,33.008056],[102.596341,33.008054],[102.596302,33.00806],[102.596271,33.008089],[102.596247,33.008125],[102.59621,33.008151],[102.596165,33.008181],[102.596133,33.008224],[102.596058,33.00829],[102.596019,33.008347],[102.595979,33.008387],[102.595873,33.00855],[102.595851,33.008616],[102.595822,33.008722],[102.595803,33.00879],[102.595795,33.008862],[102.595796,33.008998],[102.595808,33.009091],[102.59581,33.00918],[102.595842,33.009421],[102.595964,33.009979],[102.596016,33.010342],[102.59602,33.010378],[102.596038,33.010551],[102.596067,33.010644],[102.596103,33.010737],[102.596111,33.010826],[102.596114,33.010931],[102.596117,33.010984],[102.596128,33.011012],[102.596159,33.011058],[102.596176,33.011106],[102.596194,33.0112],[102.596203,33.01129],[102.596222,33.011359],[102.596241,33.01145],[102.596279,33.011572],[102.596306,33.01165],[102.596329,33.011745],[102.596351,33.011828],[102.596377,33.011896],[102.596409,33.011956],[102.596486,33.012062],[102.596487,33.012067],[102.596501,33.012145],[102.596602,33.012707],[102.596587,33.01271],[102.596582,33.012722],[102.596583,33.012755],[102.5966,33.012861],[102.596619,33.012985],[102.596618,33.013132],[102.596637,33.01322],[102.596676,33.01334],[102.596723,33.013455],[102.596735,33.013516],[102.59678,33.013734],[102.596793,33.01388],[102.5968,33.013921],[102.596855,33.014254],[102.59689,33.014527],[102.596958,33.014857],[102.596998,33.014977],[102.597028,33.015083],[102.597057,33.015335],[102.597101,33.015493],[102.597124,33.015689],[102.597145,33.015832],[102.597169,33.015997],[102.597218,33.016187],[102.597217,33.016297],[102.597221,33.016398],[102.597226,33.016476],[102.597201,33.016546],[102.597178,33.016596],[102.597173,33.016653],[102.597174,33.016722],[102.597157,33.016801],[102.597126,33.01699],[102.597096,33.017099],[102.597084,33.017153],[102.597085,33.017167],[102.59709,33.01717],[102.597047,33.017276],[102.596987,33.017422],[102.596793,33.017892],[102.596761,33.017969],[102.596736,33.018017],[102.596136,33.019157],[102.595949,33.019299],[102.595286,33.019805],[102.594985,33.020034],[102.594183,33.020423],[102.593784,33.020616],[102.5936,33.020705],[102.59303,33.020981],[102.593002,33.020995],[102.592401,33.021225],[102.591902,33.021417],[102.591167,33.021699],[102.591161,33.021702],[102.591144,33.021708],[102.590511,33.021851],[102.590266,33.02204],[102.590142,33.022091],[102.590051,33.02212],[102.589907,33.022161],[102.589786,33.022188],[102.589704,33.022208],[102.589647,33.022218],[102.589576,33.022218],[102.589411,33.022213],[102.589334,33.022195],[102.589212,33.022163],[102.589152,33.022143],[102.58907,33.022159],[102.588579,33.022258],[102.588438,33.022402],[102.588426,33.022415],[102.588379,33.022393],[102.588312,33.022383],[102.588218,33.022382],[102.588144,33.022386],[102.5881,33.022403],[102.588085,33.022421],[102.588079,33.022449],[102.588106,33.022475],[102.588143,33.022492],[102.588183,33.02251],[102.5882,33.02253],[102.5882,33.022549],[102.588169,33.022586],[102.588098,33.022645],[102.587992,33.022703],[102.587944,33.02273],[102.587911,33.02274],[102.587876,33.022744],[102.587852,33.022736],[102.587836,33.022727],[102.587833,33.022713],[102.587857,33.022688],[102.587871,33.022651],[102.587872,33.022622],[102.587852,33.022603],[102.587813,33.022599],[102.587759,33.022624],[102.587663,33.022666],[102.587584,33.022693],[102.587525,33.022743],[102.587484,33.022815],[102.587477,33.022865],[102.587502,33.022953],[102.587534,33.023077],[102.587566,33.023207],[102.587611,33.0233],[102.587651,33.023372],[102.587684,33.023436],[102.587708,33.023479],[102.587717,33.023498],[102.587717,33.023529],[102.587689,33.023667],[102.58767,33.023781],[102.587602,33.023894],[102.587567,33.024012],[102.587533,33.02416],[102.587522,33.02426],[102.587511,33.024436],[102.587518,33.024537],[102.587537,33.024649],[102.587576,33.024778],[102.587601,33.024853],[102.587637,33.024948],[102.58767,33.025072],[102.587682,33.025154],[102.587693,33.025238],[102.587722,33.025307],[102.587752,33.025364],[102.587779,33.025436],[102.587795,33.025484],[102.587808,33.025504],[102.587821,33.025516],[102.587835,33.025516],[102.587867,33.025622],[102.587868,33.025627],[102.588082,33.02635],[102.588099,33.026455],[102.588196,33.027087],[102.588233,33.027326],[102.58808,33.028104],[102.588027,33.028371],[102.587814,33.028606],[102.58766,33.028776],[102.587423,33.028798],[102.587403,33.0288],[102.587086,33.02883],[102.586629,33.028873],[102.586502,33.028885],[102.586367,33.028897],[102.586204,33.028913],[102.586039,33.028928],[102.586011,33.028931],[102.585767,33.028951],[102.585759,33.028951],[102.585345,33.028985],[102.585243,33.028993],[102.585206,33.028996],[102.584898,33.029022],[102.58478,33.029044],[102.58454,33.02909],[102.584225,33.029],[102.584161,33.028982],[102.583938,33.028918],[102.583863,33.028828],[102.583777,33.028794],[102.58373,33.028787],[102.583558,33.028618],[102.583445,33.028507],[102.583413,33.028019],[102.583203,33.027803],[102.583154,33.027752],[102.583051,33.027706],[102.583036,33.0277],[102.582891,33.027635],[102.582875,33.027625],[102.582876,33.027658],[102.582872,33.027719],[102.582867,33.027746],[102.58285,33.027768],[102.582829,33.027774],[102.582816,33.027764],[102.582788,33.027724],[102.582759,33.027683],[102.582714,33.027629],[102.582682,33.027584],[102.582632,33.027511],[102.582562,33.027427],[102.58253,33.027407],[102.582492,33.027366],[102.582294,33.027218],[102.582207,33.027148],[102.582155,33.027137],[102.582137,33.027135],[102.582107,33.027138],[102.58206,33.027141],[102.582007,33.02714],[102.58193,33.027138],[102.581897,33.027129],[102.58188,33.027106],[102.581875,33.027071],[102.581879,33.027013],[102.581881,33.026973],[102.581881,33.026929],[102.581869,33.02692],[102.5818,33.026865],[102.581712,33.026863],[102.581564,33.02686],[102.5814,33.026857],[102.581295,33.027454],[102.58106,33.027936],[102.580833,33.028082],[102.580438,33.027924],[102.580409,33.027857],[102.580407,33.027851],[102.580365,33.027754],[102.580349,33.027715],[102.580229,33.027433],[102.579831,33.027351],[102.579781,33.027391],[102.579776,33.027395],[102.579766,33.027376],[102.579741,33.02735],[102.5797,33.027316],[102.579635,33.027288],[102.579553,33.027281],[102.579474,33.027289],[102.579386,33.027371],[102.579322,33.027438],[102.579209,33.027339],[102.578999,33.026885],[102.578945,33.026754],[102.578958,33.026736],[102.578967,33.026692],[102.578919,33.0266],[102.578865,33.026561],[102.578856,33.026539],[102.578624,33.025979],[102.578422,33.025619],[102.578412,33.025601],[102.578394,33.025597],[102.578459,33.025577],[102.578536,33.025544],[102.578573,33.025518],[102.578603,33.025482],[102.578625,33.025407],[102.578613,33.025312],[102.578554,33.02523],[102.578465,33.025182],[102.578381,33.025173],[102.578271,33.025223],[102.578151,33.0253],[102.578068,33.025354],[102.577993,33.025375],[102.577846,33.025382],[102.577719,33.025382],[102.577597,33.025435],[102.577502,33.025471],[102.577488,33.025476],[102.577466,33.025474],[102.577393,33.025468],[102.57682,33.025308],[102.576877,33.024822],[102.576672,33.024219],[102.576621,33.024138],[102.576576,33.024175],[102.576519,33.024115],[102.576574,33.024062],[102.576459,33.023878],[102.576169,33.023872],[102.57597,33.023868],[102.57565,33.024079],[102.575602,33.02411],[102.575488,33.024185],[102.575472,33.024195],[102.575447,33.024217],[102.574835,33.024745],[102.574522,33.024814],[102.574415,33.024738],[102.574358,33.024698],[102.574304,33.024659],[102.574305,33.024622],[102.574305,33.024612],[102.574313,33.024323],[102.574688,33.023618],[102.574919,33.023286],[102.574928,33.022949],[102.574501,33.022342],[102.574332,33.022001],[102.574404,33.021932],[102.57456,33.021781],[102.574594,33.021766],[102.574606,33.021779],[102.574624,33.021791],[102.574724,33.021856],[102.574812,33.021904],[102.574898,33.021918],[102.574983,33.021913],[102.575045,33.021888],[102.57509,33.021827],[102.575103,33.021787],[102.57511,33.021715],[102.575111,33.021674],[102.575107,33.021604],[102.575101,33.021529],[102.575115,33.021513],[102.575467,33.021125],[102.575479,33.020714],[102.575482,33.020602],[102.575489,33.020564],[102.575533,33.02034],[102.575625,33.020258],[102.57564,33.020246],[102.575708,33.020251],[102.575753,33.020236],[102.575843,33.020201],[102.575907,33.02015],[102.575967,33.020082],[102.57599,33.020037],[102.575993,33.019987],[102.57597,33.019953],[102.575989,33.019937],[102.576066,33.019799],[102.576176,33.019603],[102.576139,33.01934],[102.575929,33.018887],[102.575669,33.018787],[102.575653,33.018748],[102.57562,33.018684],[102.575537,33.018614],[102.57547,33.018581],[102.575384,33.01858],[102.575326,33.01858],[102.575282,33.018579],[102.575247,33.018595],[102.57523,33.018604],[102.575218,33.018598],[102.574703,33.018313],[102.574612,33.018262],[102.574533,33.01821],[102.574453,33.018156],[102.574333,33.018077],[102.573914,33.017799],[102.573531,33.017193],[102.573309,33.017151],[102.572818,33.017254],[102.572601,33.01717],[102.572587,33.017165],[102.57251,33.017135],[102.572514,33.017123],[102.572567,33.01698],[102.572569,33.016975],[102.572606,33.016875],[102.572706,33.016465],[102.572672,33.016248],[102.572758,33.016214],[102.572807,33.016178],[102.572857,33.016122],[102.572882,33.016083],[102.572882,33.016036],[102.572873,33.015994],[102.572855,33.015967],[102.572828,33.015924],[102.572802,33.015895],[102.572703,33.015863],[102.572602,33.015851],[102.57249,33.015853],[102.572479,33.015843],[102.57224,33.015632],[102.572005,33.015578],[102.571998,33.015576],[102.571989,33.015561],[102.571952,33.015495],[102.571897,33.015427],[102.571839,33.015361],[102.571792,33.015319],[102.571753,33.015256],[102.571701,33.015202],[102.571651,33.015183],[102.57163,33.015177],[102.57161,33.015172],[102.571586,33.01517],[102.571572,33.015169],[102.571574,33.015164],[102.571682,33.01491],[102.572006,33.014429],[102.571895,33.014331],[102.571705,33.014382],[102.571686,33.014315],[102.571679,33.014289],[102.571648,33.014213],[102.571586,33.014136],[102.57152,33.014066],[102.57148,33.014024],[102.571378,33.013999],[102.571312,33.013987],[102.571212,33.013973],[102.571149,33.013971],[102.571029,33.014015],[102.570984,33.014032],[102.570748,33.014119],[102.570725,33.014127],[102.57059,33.014177],[102.570199,33.014242],[102.569787,33.014311],[102.569426,33.014529],[102.569146,33.01501],[102.569089,33.015016],[102.569055,33.015019],[102.568917,33.015033],[102.568899,33.015046],[102.56884,33.015082],[102.568801,33.015106],[102.568759,33.015133],[102.568715,33.015156],[102.568662,33.01519],[102.568607,33.015225],[102.56859,33.015241],[102.568536,33.015276],[102.568466,33.015337],[102.568414,33.015368],[102.568408,33.015372],[102.56837,33.015403],[102.568316,33.015398],[102.568283,33.015382],[102.568249,33.015338],[102.568229,33.015291],[102.568267,33.015253],[102.568317,33.015215],[102.568353,33.015191],[102.568398,33.015176],[102.568456,33.015143],[102.568484,33.015122],[102.568512,33.015102],[102.568559,33.015057],[102.568596,33.015006],[102.568605,33.014951],[102.568597,33.014883],[102.568571,33.014829],[102.568425,33.014737],[102.568385,33.014721],[102.568333,33.01469],[102.568272,33.01468],[102.568234,33.01469],[102.568183,33.014718],[102.568178,33.014721],[102.568146,33.014746],[102.568115,33.014775],[102.568082,33.014828],[102.568073,33.01486],[102.56807,33.014907],[102.568057,33.01498],[102.568051,33.015022],[102.568033,33.015064],[102.568009,33.015103],[102.567987,33.015124],[102.567947,33.015145],[102.567889,33.015149],[102.567837,33.01514],[102.567799,33.015115],[102.567748,33.015072],[102.567728,33.015039],[102.567695,33.015012],[102.567668,33.014986],[102.567647,33.014967],[102.567637,33.014943],[102.567639,33.014903],[102.567675,33.014873],[102.567706,33.014862],[102.567713,33.014859],[102.567788,33.014833],[102.567853,33.014792],[102.567908,33.014749],[102.56796,33.014701],[102.567991,33.014652],[102.567994,33.014617],[102.567994,33.014572],[102.567966,33.014504],[102.567944,33.014481],[102.567914,33.014463],[102.56788,33.014448],[102.567845,33.01444],[102.567805,33.01443],[102.567768,33.014426],[102.567725,33.014424],[102.567646,33.014432],[102.567603,33.014452],[102.56754,33.014474],[102.567501,33.014482],[102.567442,33.014478],[102.567387,33.014464],[102.567332,33.014434],[102.567285,33.01437],[102.567256,33.014326],[102.567205,33.014274],[102.567113,33.014192],[102.567072,33.014156],[102.567028,33.014119],[102.566988,33.014081],[102.566961,33.014052],[102.56692,33.014019],[102.566886,33.014005],[102.566837,33.014003],[102.566794,33.014014],[102.566768,33.014035],[102.566746,33.014059],[102.56671,33.014092],[102.566694,33.014109],[102.566687,33.014128],[102.566684,33.014162],[102.566706,33.014202],[102.56672,33.014238],[102.566738,33.014279],[102.566753,33.014335],[102.566762,33.014384],[102.566762,33.014449],[102.566751,33.014475],[102.566742,33.014499],[102.56671,33.014548],[102.566684,33.014584],[102.566657,33.014613],[102.566625,33.014637],[102.566574,33.014662],[102.566533,33.01467],[102.566458,33.014667],[102.566427,33.014654],[102.566413,33.014636],[102.566419,33.014589],[102.566449,33.014539],[102.566472,33.014505],[102.566502,33.014452],[102.566525,33.01441],[102.566541,33.014371],[102.566558,33.014317],[102.566561,33.014264],[102.566559,33.014235],[102.56654,33.0142],[102.566501,33.01421],[102.566455,33.014276],[102.566406,33.014238],[102.566342,33.014224],[102.566269,33.01423],[102.566184,33.014236],[102.5661,33.014221],[102.566033,33.014201],[102.565929,33.014147],[102.565868,33.014113],[102.565832,33.014114],[102.565796,33.014128],[102.565756,33.014174],[102.565718,33.014212],[102.56566,33.01428],[102.565605,33.014317],[102.56553,33.014338],[102.565487,33.014334],[102.565421,33.01431],[102.56535,33.014261],[102.565273,33.014237],[102.56524,33.014238],[102.565187,33.014265],[102.56515,33.014316],[102.565127,33.014387],[102.565139,33.014437],[102.565159,33.014465],[102.565201,33.014488],[102.565257,33.014509],[102.56533,33.014531],[102.56541,33.014546],[102.565446,33.014556],[102.56554,33.014581],[102.565608,33.014616],[102.565623,33.014628],[102.565667,33.014665],[102.56569,33.014713],[102.565705,33.014794],[102.565709,33.014878],[102.56572,33.014955],[102.565722,33.014962],[102.56575,33.015037],[102.565774,33.015075],[102.565803,33.015099],[102.565848,33.015115],[102.565874,33.015116],[102.565927,33.015105],[102.565981,33.015083],[102.566059,33.015055],[102.56612,33.015038],[102.566174,33.015041],[102.566235,33.015069],[102.566316,33.015122],[102.566342,33.015157],[102.56634,33.015218],[102.566274,33.015213],[102.566298,33.01524],[102.566315,33.015268],[102.566314,33.015297],[102.566301,33.015328],[102.566269,33.015359],[102.566192,33.015377],[102.566053,33.015381],[102.566021,33.015384],[102.565952,33.015401],[102.565891,33.015428],[102.565852,33.015458],[102.565802,33.015493],[102.56577,33.01552],[102.565717,33.01555],[102.565684,33.01556],[102.565637,33.015558],[102.565605,33.01553],[102.565607,33.015517],[102.565642,33.015471],[102.565662,33.015432],[102.565667,33.01538],[102.565666,33.015309],[102.565658,33.015278],[102.565636,33.015245],[102.565608,33.015223],[102.565561,33.015211],[102.565508,33.015198],[102.565433,33.015195],[102.565393,33.015285],[102.565244,33.015624],[102.565203,33.015718],[102.565145,33.01585],[102.565032,33.016325],[102.564702,33.017414],[102.564503,33.019769],[102.564832,33.021152],[102.565268,33.022255],[102.565489,33.023014],[102.564996,33.024583],[102.564351,33.026233],[102.564152,33.027113],[102.563754,33.029327],[102.563595,33.030334],[102.563055,33.032418],[102.562602,33.033573],[102.561842,33.034839],[102.5616,33.035978],[102.561623,33.036826],[102.56179,33.037558],[102.561676,33.038325],[102.561634,33.038994],[102.561196,33.039597],[102.560478,33.040155],[102.559556,33.040511],[102.559062,33.04058],[102.557617,33.040375],[102.556985,33.040382],[102.556472,33.040293],[102.555916,33.040105],[102.554891,33.039927],[102.553888,33.039809],[102.553137,33.039853],[102.551708,33.039904],[102.550889,33.039908],[102.550049,33.039812],[102.549396,33.03972],[102.54839,33.039701],[102.54766,33.039864],[102.547299,33.040231],[102.54684,33.040735],[102.546175,33.041096],[102.545443,33.041338],[102.544879,33.041406],[102.544176,33.041431],[102.543737,33.041245],[102.543113,33.040937],[102.542123,33.040346],[102.540789,33.039719],[102.540183,33.039411],[102.539558,33.039192],[102.538575,33.038537],[102.537837,33.037931],[102.536001,33.036638],[102.535533,33.03631],[102.534951,33.035924],[102.534416,33.035636],[102.53399,33.035572],[102.533533,33.035438],[102.533093,33.035277],[102.532688,33.035034],[102.53248,33.034849],[102.532231,33.034928],[102.532038,33.03534],[102.531727,33.035888],[102.530795,33.036826],[102.530071,33.037407],[102.529272,33.037913],[102.528543,33.038227],[102.528049,33.038269],[102.527509,33.038449],[102.526871,33.038454],[102.526239,33.038286],[102.525561,33.038272],[102.524803,33.03817],[102.523696,33.038027],[102.522811,33.038062],[102.519916,33.037396],[102.519404,33.037342],[102.518386,33.036997],[102.517473,33.036568],[102.516349,33.036351],[102.515863,33.036276],[102.514969,33.036085],[102.513953,33.035654],[102.51329,33.035489],[102.512733,33.035197],[102.512043,33.035053],[102.511503,33.035064],[102.510549,33.035218],[102.509431,33.03545],[102.508559,33.035622],[102.507595,33.03563],[102.506864,33.035372],[102.506104,33.035005],[102.505439,33.034667],[102.504169,33.034128],[102.503601,33.033792],[102.503184,33.033756],[102.502766,33.033775],[102.502507,33.033851],[102.501858,33.034108],[102.501299,33.034557],[102.500546,33.035083],[102.500222,33.035185],[102.499675,33.035062],[102.499122,33.035051],[102.498087,33.035154],[102.497306,33.036691],[102.495965,33.038496],[102.495199,33.039536],[102.494835,33.040647],[102.494461,33.04216],[102.493072,33.043033],[102.492318,33.043639],[102.490944,33.043984],[102.490709,33.044015],[102.489316,33.044199],[102.487775,33.04392],[102.486396,33.043147],[102.485531,33.042477],[102.484898,33.041378],[102.484622,33.04072],[102.484244,33.03975],[102.483751,33.038964],[102.482808,33.038417],[102.481976,33.037842],[102.480949,33.037666],[102.480447,33.03719],[102.479841,33.036463],[102.478959,33.036352],[102.478923,33.036351],[102.478298,33.036277],[102.477346,33.03604],[102.476507,33.035744],[102.475637,33.03523],[102.475582,33.035207],[102.475615,33.034992],[102.475657,33.034723],[102.475698,33.034454],[102.47574,33.034185],[102.475781,33.033917],[102.475823,33.033648],[102.475864,33.033379],[102.475906,33.03311],[102.475947,33.032842],[102.475926,33.032605],[102.475905,33.032368],[102.475776,33.031939],[102.475736,33.03187],[102.475733,33.031859],[102.475587,33.031612],[102.475442,33.031366],[102.475314,33.031314],[102.474999,33.031184],[102.474684,33.031054],[102.474302,33.030978],[102.4741,33.03096],[102.47385,33.030906],[102.473606,33.030835],[102.473238,33.030609],[102.472936,33.030362],[102.472634,33.030115],[102.472332,33.029868],[102.47203,33.029621],[102.471843,33.029357],[102.471655,33.029092],[102.4715,33.028928],[102.471345,33.028765],[102.471316,33.028735],[102.471123,33.028536],[102.47093,33.028337],[102.470912,33.028314],[102.47076,33.028123],[102.470608,33.027932],[102.470368,33.027646],[102.470128,33.027361],[102.469889,33.027075],[102.469597,33.026796],[102.469317,33.026475],[102.469005,33.026189],[102.468693,33.025904],[102.468529,33.025713],[102.468366,33.025523],[102.468253,33.02535],[102.468098,33.025041],[102.467937,33.024886],[102.467806,33.024738],[102.467658,33.024541],[102.467533,33.024363],[102.467426,33.024107],[102.467319,33.023851],[102.46714,33.02359],[102.466955,33.023369],[102.466795,33.023179],[102.466572,33.022974],[102.466349,33.022769],[102.466072,33.022605],[102.465796,33.022442],[102.4655,33.022267],[102.465205,33.022093],[102.464909,33.021918],[102.464541,33.021739],[102.464172,33.021561],[102.463803,33.021383],[102.463494,33.021148],[102.463184,33.020913],[102.463059,33.020746],[102.462997,33.020574],[102.462872,33.02029],[102.462817,33.019904],[102.462762,33.019518],[102.462706,33.019132],[102.462638,33.018914],[102.462569,33.018695],[102.4625,33.018477],[102.462431,33.018259],[102.462363,33.018041],[102.462294,33.017822],[102.462189,33.017513],[102.462063,33.017084],[102.461956,33.016869],[102.461849,33.016655],[102.461728,33.016451],[102.461607,33.016247],[102.461416,33.016042],[102.461225,33.015837],[102.461075,33.015669],[102.460926,33.0155],[102.460767,33.015165],[102.460708,33.014786],[102.460648,33.014407],[102.460642,33.01399],[102.460635,33.013574],[102.460629,33.01322],[102.460644,33.01306],[102.460682,33.012626],[102.46072,33.012191],[102.460745,33.011906],[102.460751,33.011867],[102.460799,33.01156],[102.460847,33.011252],[102.4609,33.011068],[102.460974,33.010764],[102.461049,33.010461],[102.461111,33.010104],[102.461174,33.009747],[102.461287,33.009456],[102.461275,33.0092],[102.461215,33.008962],[102.46121,33.008949],[102.461061,33.008617],[102.46096,33.008457],[102.46096,33.008456],[102.46096,33.008456],[102.460876,33.008218],[102.460781,33.007903],[102.460742,33.007677],[102.460702,33.007451],[102.460644,33.007118],[102.460658,33.006945],[102.460662,33.006898],[102.460766,33.006689],[102.46087,33.006481],[102.460936,33.006249],[102.460942,33.006041],[102.460858,33.005904],[102.46071,33.005535],[102.460674,33.005274],[102.460668,33.005095],[102.460638,33.004958],[102.460538,33.004786],[102.460536,33.004552],[102.460534,33.004459],[102.460589,33.0042],[102.460644,33.003941],[102.46068,33.00362],[102.460716,33.003299],[102.460789,33.002962],[102.460862,33.002626],[102.460882,33.002531],[102.460992,33.002133],[102.461102,33.001734],[102.461174,33.001294],[102.461174,33.001294],[102.461174,33.001293],[102.461245,33.000961],[102.461346,33.000681],[102.461418,33.000485],[102.461572,33.000199],[102.461602,33.000009],[102.4617,32.999709],[102.461798,32.999408],[102.461905,32.999146],[102.461959,32.99895],[102.461941,32.998784],[102.461769,32.99851],[102.461614,32.998147],[102.46162,32.99782],[102.461644,32.997624],[102.461691,32.997493],[102.461786,32.997261],[102.461798,32.9971],[102.461721,32.996981],[102.461632,32.996934],[102.461471,32.996827],[102.461388,32.996696],[102.461293,32.996517],[102.461215,32.996166],[102.461138,32.996],[102.461114,32.995791],[102.461111,32.995754],[102.461096,32.995589],[102.460971,32.995405],[102.460751,32.995256],[102.460561,32.995039],[102.460371,32.994822],[102.46024,32.994631],[102.460174,32.994453],[102.460192,32.994298],[102.460281,32.994185],[102.460287,32.994084],[102.460275,32.994019],[102.460192,32.993953],[102.460061,32.993906],[102.459752,32.993721],[102.459609,32.993531],[102.45952,32.993376],[102.459502,32.993144],[102.459455,32.992984],[102.459234,32.992627],[102.459187,32.992496],[102.459187,32.992347],[102.459187,32.992291],[102.459187,32.992157],[102.459204,32.992057],[102.459275,32.991636],[102.45935,32.991397],[102.459425,32.991157],[102.459517,32.990935],[102.45956,32.990829],[102.459555,32.99068],[102.459553,32.990622],[102.45955,32.990342],[102.459548,32.990062],[102.459546,32.989915],[102.459575,32.989773],[102.459646,32.989594],[102.459775,32.989394],[102.459917,32.989194],[102.460017,32.98908],[102.460099,32.988898],[102.460233,32.9886],[102.460367,32.988302],[102.460538,32.987917],[102.460617,32.987638],[102.460645,32.987238],[102.460646,32.987233],[102.460672,32.986868],[102.460698,32.986504],[102.460724,32.986139],[102.460767,32.985725],[102.46081,32.985311],[102.460792,32.985001],[102.460774,32.98469],[102.46077,32.984527],[102.460767,32.984383],[102.460824,32.984026],[102.460896,32.983779],[102.460968,32.983533],[102.461032,32.983316],[102.461095,32.983098],[102.461131,32.982841],[102.461045,32.982684],[102.46096,32.982591],[102.460774,32.982402],[102.460588,32.982213],[102.460409,32.981955],[102.46036,32.981885],[102.460256,32.981649],[102.460153,32.981414],[102.460074,32.981271],[102.459953,32.981192],[102.459746,32.981092],[102.459461,32.981017],[102.459175,32.980942],[102.458743,32.980834],[102.458547,32.980785],[102.458326,32.980693],[102.458054,32.980407],[102.457783,32.980122],[102.45764,32.979772],[102.457599,32.979558],[102.457583,32.979472],[102.457583,32.979222],[102.457649,32.978846],[102.45769,32.978608],[102.457676,32.978365],[102.457683,32.978119],[102.45769,32.977873],[102.457685,32.977689],[102.457683,32.977595],[102.457633,32.97738],[102.457526,32.977202],[102.457405,32.976995],[102.457305,32.976766],[102.457233,32.976417],[102.457176,32.976088],[102.457133,32.975696],[102.457091,32.975303],[102.457073,32.975231],[102.456991,32.974889],[102.456919,32.974619],[102.456819,32.974247],[102.456714,32.973826],[102.456609,32.973406],[102.456569,32.973247],[102.456471,32.972903],[102.456373,32.972558],[102.456275,32.972214],[102.456177,32.97187],[102.456177,32.971498],[102.456234,32.971077],[102.456316,32.970842],[102.456398,32.970606],[102.456602,32.970346],[102.456805,32.970085],[102.456965,32.969889],[102.457091,32.969735],[102.457119,32.969496],[102.457148,32.969257],[102.457134,32.969133],[102.457196,32.968854],[102.457322,32.968539],[102.457403,32.968165],[102.45739,32.967829],[102.457352,32.967511],[102.457348,32.967358],[102.45734,32.967095],[102.457352,32.966699],[102.457387,32.966284],[102.457406,32.966047],[102.457424,32.96581],[102.457435,32.965414],[102.457466,32.965177],[102.457543,32.964941],[102.457556,32.96481],[102.457576,32.964624],[102.457688,32.964315],[102.4578,32.964006],[102.457899,32.963769],[102.457998,32.963533],[102.458097,32.963296],[102.458196,32.963059],[102.458295,32.962823],[102.458393,32.962586],[102.458492,32.96235],[102.458591,32.962113],[102.45869,32.961876],[102.458789,32.96164],[102.458888,32.961403],[102.458987,32.961167],[102.458967,32.960873],[102.458943,32.960652],[102.458862,32.96043],[102.45875,32.96028],[102.458537,32.960093],[102.458325,32.959906],[102.45814,32.959743],[102.457956,32.95958],[102.457701,32.959354],[102.457388,32.959127],[102.457015,32.958948],[102.456642,32.95877],[102.456414,32.958729],[102.456186,32.958689],[102.455958,32.958649],[102.45573,32.958609],[102.455502,32.958569],[102.455275,32.958528],[102.455137,32.958455],[102.454846,32.958299],[102.454603,32.958148],[102.45436,32.957996],[102.454162,32.957821],[102.453881,32.957472],[102.453657,32.957175],[102.453463,32.956852],[102.453325,32.956556],[102.453201,32.956346],[102.453076,32.956135],[102.45294,32.955814],[102.452689,32.955441],[102.452522,32.955218],[102.45224,32.954919],[102.451926,32.954692],[102.451639,32.95454],[102.451324,32.954386],[102.451064,32.954307],[102.450804,32.954229],[102.450546,32.954138],[102.450287,32.954047],[102.449898,32.953941],[102.449509,32.953835],[102.449261,32.953789],[102.449012,32.953742],[102.448763,32.953695],[102.448514,32.953649],[102.448266,32.953602],[102.448017,32.953555],[102.447768,32.953509],[102.447519,32.953462],[102.44727,32.953416],[102.447022,32.953369],[102.446775,32.953358],[102.446528,32.953346],[102.446281,32.953335],[102.446034,32.953324],[102.445657,32.953316],[102.445279,32.953308],[102.444902,32.953301],[102.444622,32.953204],[102.444343,32.953107],[102.444061,32.952832],[102.443892,32.952633],[102.443723,32.952434],[102.443559,32.952088],[102.443451,32.951768],[102.443381,32.951543],[102.443311,32.951318],[102.443242,32.951093],[102.443172,32.950869],[102.443102,32.950644],[102.443032,32.950419],[102.442962,32.950195],[102.442892,32.94997],[102.44286,32.94959],[102.442828,32.94921],[102.442722,32.948842],[102.442586,32.94852],[102.44245,32.948175],[102.442309,32.947955],[102.442168,32.947734],[102.441954,32.947596],[102.44174,32.947457],[102.441526,32.947318],[102.441312,32.947179],[102.441058,32.946929],[102.440804,32.946679],[102.440637,32.946406],[102.44047,32.946134],[102.440305,32.945837],[102.44014,32.94554],[102.440044,32.94533],[102.439948,32.94512],[102.439852,32.94491],[102.439756,32.944701],[102.439634,32.944417],[102.439511,32.944133],[102.439431,32.943862],[102.439352,32.943591],[102.43933,32.943359],[102.439307,32.943126],[102.439314,32.942881],[102.439322,32.942635],[102.439343,32.942245],[102.439363,32.941854],[102.439384,32.941463],[102.439386,32.941039],[102.439389,32.940615],[102.439391,32.940191],[102.439339,32.93997],[102.439287,32.939748],[102.439235,32.939527],[102.439183,32.939306],[102.439162,32.939036],[102.439141,32.938766],[102.43915,32.938449],[102.439216,32.938156],[102.43931,32.937939],[102.439335,32.937888]]]]},"properties":{"cp":[102.63776751384222,32.82512378846329],"code":"513233100","name":"邛溪镇","level":"street","center":[102.63776751384222,32.82512378846329],"fullCode":"513233100000","fullName":"四川省阿坝藏族羌族自治州红原县邛溪镇","acreageMu":1343909.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.515,32.7855]}},{"id":"513233101","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.662814,32.045234],[102.662707,32.045207],[102.662601,32.045181],[102.662557,32.04517],[102.662315,32.045091],[102.662072,32.045013],[102.661779,32.044999],[102.661578,32.045064],[102.661494,32.045091],[102.661194,32.045298],[102.661069,32.04533],[102.660994,32.045348],[102.660687,32.045334],[102.660559,32.04532],[102.660459,32.045341],[102.660418,32.045441],[102.66038,32.045534],[102.660302,32.045862],[102.660259,32.046041],[102.660223,32.046191],[102.660152,32.046355],[102.66004,32.046537],[102.660016,32.046576],[102.659766,32.046748],[102.659631,32.04689],[102.659509,32.047026],[102.659467,32.047269],[102.659467,32.04744],[102.65944,32.047502],[102.659381,32.04764],[102.659368,32.047662],[102.65926,32.047847],[102.659274,32.048011],[102.659317,32.048132],[102.659407,32.048364],[102.659496,32.048595],[102.659616,32.048903],[102.659681,32.049139],[102.659745,32.049374],[102.659798,32.049628],[102.659802,32.049646],[102.659802,32.049953],[102.659831,32.050153],[102.659859,32.050352],[102.659991,32.050747],[102.660122,32.051141],[102.660173,32.051295],[102.660262,32.051569],[102.660351,32.051844],[102.66043,32.052087],[102.660452,32.052216],[102.660455,32.052277],[102.660459,32.05233],[102.660437,32.052423],[102.66035,32.052517],[102.660137,32.052748],[102.659923,32.052979],[102.659862,32.053059],[102.659852,32.053072],[102.659852,32.053158],[102.659909,32.053272],[102.660088,32.053604],[102.660266,32.053936],[102.660462,32.054243],[102.660659,32.05455],[102.660677,32.054574],[102.66071,32.054618],[102.660948,32.054931],[102.660973,32.054964],[102.661058,32.055196],[102.661144,32.055428],[102.661315,32.055793],[102.661358,32.055885],[102.661537,32.056099],[102.661758,32.05637],[102.661779,32.056463],[102.661779,32.056563],[102.661715,32.056881],[102.661651,32.057198],[102.661645,32.057299],[102.661637,32.057466],[102.661622,32.057734],[102.661601,32.057933],[102.661442,32.058194],[102.661422,32.058226],[102.66124,32.058504],[102.661058,32.058783],[102.661032,32.05891],[102.661001,32.059054],[102.660966,32.059497],[102.660969,32.059843],[102.660973,32.060189],[102.66098,32.060218],[102.661008,32.060332],[102.661001,32.060518],[102.660958,32.06061],[102.660823,32.060717],[102.660743,32.060806],[102.66063,32.060932],[102.660473,32.061231],[102.660438,32.061359],[102.660387,32.061545],[102.660373,32.06181],[102.660363,32.061956],[102.660359,32.062017],[102.660302,32.062195],[102.660291,32.062217],[102.660282,32.062235],[102.660186,32.062431],[102.660132,32.062539],[102.66008,32.062645],[102.659879,32.063025],[102.659879,32.063025],[102.659879,32.063025],[102.659694,32.063374],[102.659576,32.063597],[102.659509,32.063723],[102.659395,32.063901],[102.659267,32.064101],[102.659145,32.064272],[102.659031,32.064451],[102.658938,32.064779],[102.658853,32.064993],[102.658681,32.065243],[102.658653,32.065281],[102.658553,32.065414],[102.658189,32.065557],[102.657932,32.065636],[102.657575,32.065736],[102.657218,32.065836],[102.657015,32.065928],[102.656811,32.066021],[102.656586,32.066143],[102.656361,32.066264],[102.656259,32.066373],[102.656147,32.066492],[102.655962,32.066778],[102.655847,32.067078],[102.65573,32.067351],[102.655614,32.067625],[102.655555,32.067763],[102.655511,32.06791],[102.655412,32.068248],[102.655262,32.068627],[102.655023,32.068984],[102.654784,32.069341],[102.654728,32.069441],[102.654655,32.069573],[102.654533,32.069793],[102.654527,32.069805],[102.65442,32.070197],[102.65439,32.070314],[102.654314,32.070611],[102.654287,32.070717],[102.654238,32.070908],[102.654196,32.071071],[102.654191,32.071089],[102.654084,32.071375],[102.653956,32.071603],[102.653784,32.071832],[102.653592,32.072082],[102.653292,32.072274],[102.652946,32.072424],[102.652599,32.072574],[102.652396,32.072671],[102.652193,32.072767],[102.6519,32.072974],[102.651679,32.073217],[102.651561,32.07351],[102.651536,32.073574],[102.651429,32.073752],[102.651265,32.073866],[102.651022,32.073973],[102.650808,32.074009],[102.650544,32.074038],[102.650479,32.074051],[102.650408,32.074066],[102.650369,32.074089],[102.650144,32.074223],[102.649831,32.074507],[102.649523,32.074786],[102.649216,32.075066],[102.648948,32.075351],[102.64868,32.075637],[102.648583,32.075734],[102.648465,32.075852],[102.64825,32.076067],[102.648124,32.076193],[102.647981,32.076372],[102.647838,32.07655],[102.647717,32.076836],[102.647674,32.077047],[102.647645,32.077193],[102.647549,32.07761],[102.647453,32.078028],[102.647447,32.078049],[102.647365,32.07834],[102.647277,32.078651],[102.647188,32.078963],[102.64718,32.078995],[102.647134,32.079157],[102.647095,32.079295],[102.647024,32.079546],[102.646953,32.079798],[102.646867,32.080039],[102.646822,32.080164],[102.646739,32.080398],[102.646677,32.080554],[102.646656,32.080607],[102.646632,32.080669],[102.646446,32.080969],[102.646346,32.08124],[102.646339,32.081483],[102.646341,32.081493],[102.646382,32.081654],[102.646387,32.081658],[102.64653,32.081746],[102.646589,32.081783],[102.646732,32.081876],[102.646782,32.081965],[102.646832,32.082054],[102.646889,32.082275],[102.647009,32.082514],[102.647129,32.082752],[102.64731,32.08311],[102.647381,32.083378],[102.647453,32.083646],[102.647531,32.083889],[102.647595,32.084181],[102.647595,32.084403],[102.647474,32.084688],[102.64731,32.084824],[102.647174,32.085016],[102.647124,32.085209],[102.647081,32.085445],[102.647075,32.085466],[102.646996,32.085745],[102.646874,32.085923],[102.646659,32.086014],[102.646653,32.086016],[102.646526,32.086055],[102.646146,32.086173],[102.64607,32.08622],[102.645882,32.086337],[102.645818,32.08643],[102.645725,32.086565],[102.645589,32.08693],[102.64544,32.087294],[102.645392,32.087478],[102.645347,32.087651],[102.64529,32.087943],[102.645271,32.088172],[102.645252,32.0884],[102.645225,32.088728],[102.645225,32.088729],[102.645224,32.08873],[102.645135,32.088896],[102.645134,32.088898],[102.645133,32.0889],[102.644883,32.089157],[102.64459,32.089378],[102.6445,32.089487],[102.644426,32.089578],[102.644219,32.089885],[102.644064,32.090142],[102.644054,32.090159],[102.64391,32.090399],[102.643755,32.090656],[102.643712,32.090725],[102.643555,32.090977],[102.643469,32.091348],[102.643412,32.091619],[102.643362,32.091746],[102.64336,32.091753],[102.643334,32.091819],[102.64322,32.092026],[102.642991,32.092255],[102.642722,32.092469],[102.642453,32.092683],[102.642184,32.092897],[102.642081,32.093179],[102.641977,32.093461],[102.641856,32.093875],[102.641699,32.094246],[102.64168,32.094334],[102.641649,32.094475],[102.641649,32.094721],[102.641649,32.094753],[102.641692,32.094953],[102.641778,32.095231],[102.641829,32.095399],[102.641863,32.09551],[102.641935,32.095842],[102.642006,32.096174],[102.64203,32.096328],[102.642042,32.096402],[102.642013,32.096731],[102.642012,32.096752],[102.641999,32.097073],[102.642006,32.097409],[102.642135,32.097787],[102.642227,32.097973],[102.642326,32.098093],[102.642377,32.098155],[102.642527,32.098337],[102.642606,32.098465],[102.642623,32.098534],[102.642641,32.098608],[102.642648,32.098736],[102.642645,32.098869],[102.642641,32.098993],[102.642634,32.099243],[102.642656,32.0995],[102.642677,32.099757],[102.642721,32.099967],[102.64277,32.1002],[102.642756,32.100507],[102.642751,32.100593],[102.642747,32.100664],[102.642741,32.100778],[102.642627,32.101056],[102.642599,32.101206],[102.642606,32.101378],[102.642638,32.101451],[102.642684,32.101556],[102.64269,32.101774],[102.642691,32.101806],[102.642657,32.101871],[102.642563,32.102049],[102.642425,32.10232],[102.642287,32.102591],[102.642149,32.102862],[102.64197,32.103119],[102.641792,32.103376],[102.641592,32.103765],[102.641392,32.104154],[102.641278,32.104347],[102.641071,32.104419],[102.640857,32.104447],[102.640671,32.104397],[102.640428,32.10434],[102.640179,32.104326],[102.640107,32.104356],[102.639834,32.104471],[102.639822,32.104476],[102.639479,32.104568],[102.639293,32.104583],[102.639022,32.104661],[102.638822,32.104768],[102.638677,32.104843],[102.638542,32.104913],[102.63838,32.104997],[102.638173,32.105082],[102.638082,32.105093],[102.637866,32.105118],[102.637602,32.105104],[102.637352,32.105111],[102.637232,32.105145],[102.637173,32.105161],[102.637104,32.105256],[102.637038,32.105347],[102.636933,32.105511],[102.636911,32.105537],[102.636702,32.105739],[102.636452,32.105903],[102.636164,32.106136],[102.635938,32.106317],[102.635724,32.106681],[102.635673,32.106835],[102.635662,32.106868],[102.635543,32.107224],[102.635424,32.107581],[102.635314,32.10787],[102.635203,32.108159],[102.635123,32.108305],[102.635046,32.108445],[102.634853,32.108716],[102.634659,32.10891],[102.634646,32.108923],[102.634475,32.109073],[102.634225,32.109144],[102.633954,32.109216],[102.633554,32.109365],[102.633329,32.109448],[102.633104,32.10953],[102.632871,32.10963],[102.632637,32.109731],[102.632426,32.109822],[102.632205,32.109933],[102.631984,32.110044],[102.631812,32.110122],[102.63158,32.110222],[102.631348,32.110322],[102.631077,32.110365],[102.631068,32.110367],[102.630806,32.110436],[102.630542,32.110529],[102.63037,32.110693],[102.630192,32.110964],[102.630128,32.111129],[102.630128,32.111279],[102.630185,32.111486],[102.63032,32.11175],[102.630588,32.112055],[102.63087,32.112378],[102.631006,32.112592],[102.631037,32.11272],[102.631038,32.112724],[102.631109,32.113029],[102.63118,32.113334],[102.631278,32.113759],[102.631291,32.113815],[102.631377,32.114184],[102.631484,32.114523],[102.631591,32.114862],[102.631677,32.115133],[102.631698,32.115319],[102.631691,32.115469],[102.63162,32.115669],[102.631594,32.115712],[102.631464,32.115937],[102.631334,32.116161],[102.63122,32.116368],[102.631248,32.116725],[102.63134,32.117046],[102.631463,32.117475],[102.631591,32.117689],[102.631591,32.117853],[102.631584,32.118103],[102.631516,32.11836],[102.631448,32.118617],[102.631452,32.118842],[102.631456,32.119067],[102.631534,32.119481],[102.631545,32.119511],[102.631605,32.119688],[102.631684,32.120066],[102.631634,32.120237],[102.631527,32.120466],[102.631384,32.120708],[102.63121,32.120884],[102.631036,32.12106],[102.63077,32.121329],[102.630692,32.121453],[102.630635,32.121544],[102.630563,32.121643],[102.630513,32.121686],[102.630446,32.121749],[102.630278,32.121905],[102.630042,32.122124],[102.629807,32.122343],[102.629703,32.122483],[102.629476,32.122788],[102.629293,32.123035],[102.629228,32.12315],[102.62905,32.123228],[102.628907,32.123264],[102.628722,32.123307],[102.6286,32.123292],[102.628599,32.123292],[102.628597,32.123291],[102.628486,32.123242],[102.628351,32.12321],[102.628336,32.123207],[102.628186,32.123193],[102.628136,32.123178],[102.628034,32.123205],[102.627915,32.123235],[102.627634,32.123345],[102.627353,32.123454],[102.627073,32.123564],[102.626773,32.123697],[102.626473,32.12383],[102.626173,32.123963],[102.625937,32.124067],[102.625681,32.124179],[102.625424,32.124292],[102.625032,32.124485],[102.624931,32.124535],[102.624621,32.12467],[102.624312,32.124805],[102.624002,32.12494],[102.623788,32.125113],[102.623574,32.125285],[102.623276,32.125598],[102.622979,32.12591],[102.62283,32.126011],[102.622803,32.126024],[102.622574,32.126136],[102.622271,32.126279],[102.622199,32.126326],[102.622217,32.126421],[102.622295,32.126656],[102.622372,32.126891],[102.622521,32.1271],[102.622601,32.127332],[102.622681,32.127564],[102.62275,32.127748],[102.622847,32.128004],[102.622943,32.12826],[102.623035,32.128622],[102.623127,32.128985],[102.623234,32.129092],[102.623347,32.129211],[102.623383,32.129318],[102.623469,32.129584],[102.623554,32.12985],[102.623597,32.129985],[102.623663,32.130169],[102.623758,32.13055],[102.623844,32.130838],[102.62393,32.131127],[102.623919,32.131412],[102.623898,32.13147],[102.623823,32.131674],[102.623663,32.132085],[102.623591,32.132281],[102.623595,32.132388],[102.623597,32.132441],[102.623645,32.132572],[102.623782,32.132977],[102.623859,32.133209],[102.623863,32.133232],[102.623919,32.133566],[102.623907,32.133893],[102.623895,32.13422],[102.623883,32.1345],[102.623901,32.134601],[102.623948,32.134708],[102.623966,32.134815],[102.623972,32.134928],[102.623936,32.13533],[102.623901,32.135731],[102.623878,32.13585],[102.623811,32.136189],[102.623798,32.136483],[102.623785,32.136778],[102.62377,32.137117],[102.623767,32.137516],[102.623764,32.137914],[102.623749,32.138086],[102.623748,32.138093],[102.623743,32.138155],[102.623722,32.138396],[102.623695,32.138652],[102.623669,32.138908],[102.623591,32.139044],[102.623383,32.139342],[102.623157,32.139503],[102.622818,32.139711],[102.622703,32.139768],[102.622486,32.139877],[102.622485,32.139877],[102.622188,32.139943],[102.62208,32.139943],[102.621846,32.13991],[102.621612,32.139877],[102.621402,32.139848],[102.621111,32.139851],[102.620819,32.139854],[102.620684,32.139877],[102.620546,32.139901],[102.620355,32.139907],[102.620177,32.139895],[102.620016,32.139889],[102.619737,32.140014],[102.619528,32.140121],[102.619421,32.140139],[102.619332,32.140127],[102.618893,32.140084],[102.618547,32.14005],[102.618312,32.14008],[102.618077,32.140109],[102.617977,32.140132],[102.617869,32.140157],[102.617678,32.140181],[102.617518,32.140139],[102.617167,32.139961],[102.616965,32.139901],[102.616536,32.139889],[102.616153,32.139901],[102.615769,32.139913],[102.615501,32.139949],[102.615234,32.139984],[102.614933,32.140006],[102.614823,32.140014],[102.614567,32.140106],[102.614311,32.140199],[102.614062,32.140347],[102.613789,32.140421],[102.613516,32.140494],[102.613419,32.14052],[102.613084,32.140563],[102.612749,32.140607],[102.612414,32.140651],[102.612119,32.140683],[102.611825,32.140716],[102.611605,32.14074],[102.611474,32.140728],[102.611472,32.140727],[102.611331,32.140686],[102.611165,32.140585],[102.610956,32.140585],[102.610948,32.140589],[102.61079,32.140657],[102.610454,32.140799],[102.610118,32.140942],[102.609933,32.140978],[102.609689,32.140996],[102.609529,32.141025],[102.609528,32.141026],[102.609463,32.141061],[102.60944,32.141109],[102.60941,32.141251],[102.609434,32.141614],[102.609469,32.141781],[102.609483,32.141829],[102.609529,32.141995],[102.609612,32.14237],[102.60961,32.142548],[102.609609,32.142605],[102.609606,32.14284],[102.609606,32.143069],[102.609606,32.143298],[102.609535,32.143595],[102.609525,32.143645],[102.609456,32.144013],[102.609386,32.14438],[102.609292,32.144707],[102.609213,32.144981],[102.609187,32.145039],[102.609112,32.145198],[102.609011,32.145415],[102.608952,32.145725],[102.608946,32.146046],[102.608999,32.146269],[102.609053,32.146492],[102.609195,32.146804],[102.609337,32.147115],[102.609362,32.14717],[102.60941,32.14739],[102.609422,32.147563],[102.609356,32.147735],[102.609277,32.147842],[102.609231,32.147902],[102.609128,32.147988],[102.608905,32.148172],[102.608779,32.148277],[102.608529,32.148426],[102.608434,32.148568],[102.608428,32.148753],[102.608434,32.148884],[102.608517,32.149074],[102.608648,32.149377],[102.608735,32.149594],[102.608821,32.149812],[102.608889,32.150032],[102.608958,32.150252],[102.608976,32.150448],[102.609077,32.150615],[102.609243,32.150763],[102.609359,32.150957],[102.609392,32.151013],[102.609499,32.151204],[102.609683,32.151382],[102.609951,32.151572],[102.610219,32.151763],[102.610287,32.151857],[102.610314,32.151894],[102.610385,32.152078],[102.610443,32.152262],[102.610516,32.152494],[102.610582,32.152786],[102.610659,32.152893],[102.610778,32.152964],[102.610836,32.153019],[102.610944,32.15312],[102.610974,32.153149],[102.611016,32.153292],[102.611028,32.153416],[102.611025,32.153735],[102.611022,32.154053],[102.611081,32.154249],[102.611081,32.154451],[102.611081,32.154654],[102.611129,32.154814],[102.611218,32.154999],[102.61129,32.155147],[102.611325,32.155296],[102.611319,32.155534],[102.61129,32.155825],[102.61129,32.155832],[102.611367,32.156242],[102.61142,32.156516],[102.611504,32.15667],[102.611635,32.156837],[102.611712,32.156986],[102.611849,32.157122],[102.61189,32.157194],[102.611926,32.157325],[102.611944,32.157586],[102.611947,32.157718],[102.611953,32.157958],[102.611957,32.158142],[102.611962,32.15833],[102.611974,32.15858],[102.612018,32.158741],[102.612033,32.158794],[102.612033,32.159014],[102.611962,32.159169],[102.61189,32.159306],[102.611837,32.159466],[102.611801,32.159591],[102.61173,32.159758],[102.611569,32.159939],[102.611409,32.160121],[102.611099,32.160269],[102.610968,32.160295],[102.610885,32.160311],[102.610683,32.160394],[102.610466,32.160582],[102.610303,32.160722],[102.610257,32.160762],[102.610249,32.160769],[102.610197,32.160851],[102.61013,32.160959],[102.61007,32.161156],[102.610034,32.161358],[102.610073,32.1617],[102.610112,32.162042],[102.610209,32.162357],[102.610237,32.162446],[102.610311,32.162667],[102.610385,32.162887],[102.610439,32.163101],[102.610439,32.163103],[102.610439,32.163104],[102.610463,32.163315],[102.610463,32.163517],[102.610445,32.163636],[102.610302,32.163803],[102.610211,32.164013],[102.610119,32.164224],[102.610066,32.164345],[102.610023,32.164445],[102.60993,32.164659],[102.609838,32.164874],[102.609761,32.165094],[102.609683,32.165314],[102.60957,32.165451],[102.609416,32.165564],[102.609332,32.165677],[102.609267,32.165831],[102.609202,32.166141],[102.609166,32.166449],[102.609148,32.166605],[102.609095,32.166771],[102.60897,32.166843],[102.608785,32.166878],[102.608625,32.166985],[102.608482,32.167169],[102.608482,32.16717],[102.608375,32.167402],[102.608324,32.167625],[102.608274,32.167848],[102.608265,32.168136],[102.608256,32.168425],[102.608253,32.16869],[102.60825,32.168954],[102.608208,32.169153],[102.60819,32.16924],[102.608119,32.169424],[102.607857,32.169638],[102.607655,32.169674],[102.607393,32.16974],[102.607256,32.169894],[102.607114,32.170156],[102.606894,32.170543],[102.606884,32.170554],[102.6067,32.170789],[102.6067,32.17083],[102.6067,32.170951],[102.606705,32.170968],[102.606766,32.171189],[102.606871,32.171426],[102.606861,32.171588],[102.606766,32.171712],[102.606595,32.171836],[102.606376,32.17195],[102.606157,32.172064],[102.605911,32.172261],[102.605729,32.172407],[102.605402,32.172705],[102.605075,32.173003],[102.604749,32.173301],[102.604574,32.173505],[102.604339,32.173777],[102.604116,32.174053],[102.603892,32.174329],[102.603511,32.174553],[102.60313,32.174777],[102.602812,32.174948],[102.602493,32.175119],[102.602312,32.175367],[102.602302,32.175408],[102.602255,32.175595],[102.602198,32.175824],[102.602192,32.175871],[102.60217,32.176075],[102.602122,32.176506],[102.602074,32.176937],[102.602046,32.177255],[102.602036,32.177375],[102.602164,32.177751],[102.602293,32.178127],[102.60235,32.178327],[102.60236,32.178565],[102.602379,32.178653],[102.602458,32.179011],[102.602537,32.179368],[102.602617,32.179726],[102.602688,32.180063],[102.60276,32.180399],[102.602769,32.180442],[102.60289,32.180806],[102.602962,32.180999],[102.602975,32.181063],[102.60299,32.181135],[102.60299,32.181313],[102.60296,32.181477],[102.602947,32.181549],[102.602962,32.181699],[102.603004,32.181802],[102.603001,32.181902],[102.602969,32.181988],[102.602969,32.182091],[102.602994,32.182138],[102.603151,32.182327],[102.603172,32.182405],[102.603204,32.182516],[102.60324,32.182652],[102.603271,32.18276],[102.603276,32.182777],[102.60334,32.18293],[102.603411,32.183044],[102.603518,32.183191],[102.603536,32.183251],[102.60353,32.183409],[102.603525,32.183537],[102.60355,32.183897],[102.603568,32.184172],[102.603568,32.184436],[102.60354,32.184831],[102.603511,32.185225],[102.603509,32.185533],[102.603508,32.185664],[102.603497,32.185867],[102.603483,32.186107],[102.603461,32.186224],[102.603401,32.186378],[102.60334,32.186528],[102.603323,32.186627],[102.603311,32.186695],[102.603315,32.187038],[102.603326,32.18722],[102.60329,32.187434],[102.603236,32.187656],[102.603183,32.187877],[102.603097,32.187991],[102.602994,32.188145],[102.602919,32.188287],[102.602808,32.188348],[102.602519,32.188434],[102.602148,32.188601],[102.6021,32.188621],[102.601759,32.188758],[102.601459,32.188851],[102.601245,32.188891],[102.601041,32.188919],[102.600956,32.188908],[102.600859,32.188873],[102.600524,32.188684],[102.60027,32.188591],[102.600053,32.18853],[102.600006,32.188523],[102.599646,32.188469],[102.599335,32.188434],[102.599207,32.188387],[102.598918,32.188266],[102.598746,32.188209],[102.598429,32.188195],[102.598182,32.188216],[102.598018,32.188237],[102.597818,32.188241],[102.597601,32.188198],[102.597599,32.188198],[102.597597,32.188197],[102.597483,32.188177],[102.597354,32.188159],[102.597265,32.188177],[102.59694,32.188373],[102.596719,32.188562],[102.596583,32.188758],[102.596412,32.188894],[102.596219,32.188948],[102.59608,32.188983],[102.595827,32.189076],[102.595455,32.189272],[102.595365,32.189319],[102.595234,32.189398],[102.595031,32.189636],[102.594851,32.189831],[102.59467,32.190026],[102.594554,32.1901],[102.59446,32.190161],[102.594278,32.190272],[102.593932,32.190436],[102.593721,32.190543],[102.59351,32.19065],[102.593196,32.190904],[102.592886,32.191125],[102.592745,32.191225],[102.592725,32.191239],[102.592699,32.191277],[102.592657,32.191339],[102.592532,32.191616],[102.592407,32.191892],[102.592311,32.192198],[102.592214,32.192504],[102.592118,32.19281],[102.592039,32.193146],[102.592025,32.193292],[102.592018,32.193367],[102.591946,32.193639],[102.591804,32.193818],[102.591754,32.193881],[102.591532,32.194034],[102.591525,32.194038],[102.59139,32.194238],[102.591268,32.194474],[102.591147,32.194709],[102.591035,32.195111],[102.590923,32.195514],[102.590811,32.195916],[102.590701,32.19619],[102.59059,32.196465],[102.590465,32.196676],[102.59034,32.196886],[102.590205,32.197158],[102.590133,32.197379],[102.590133,32.197508],[102.590183,32.19765],[102.590239,32.197822],[102.590269,32.197917],[102.590305,32.197952],[102.590392,32.198037],[102.590447,32.198091],[102.590736,32.198295],[102.591025,32.198498],[102.591265,32.198659],[102.591505,32.19882],[102.591622,32.198898],[102.591759,32.198962],[102.591918,32.199037],[102.592021,32.199102],[102.592118,32.199223],[102.592153,32.199355],[102.59231,32.199615],[102.592392,32.199708],[102.592428,32.199758],[102.592435,32.199851],[102.592426,32.199914],[102.592401,32.200081],[102.592367,32.200311],[102.592303,32.200736],[102.592306,32.200756],[102.592346,32.201],[102.592396,32.201239],[102.592496,32.201568],[102.592528,32.201732],[102.592564,32.201914],[102.592563,32.201921],[102.592539,32.202114],[102.592553,32.202217],[102.592567,32.202237],[102.592614,32.202303],[102.592714,32.202417],[102.593089,32.20264],[102.593224,32.202721],[102.593399,32.202863],[102.593552,32.20301],[102.593606,32.203085],[102.59366,32.203142],[102.593709,32.20317],[102.594045,32.203263],[102.594216,32.203313],[102.594616,32.203406],[102.594919,32.203474],[102.594939,32.203486],[102.595134,32.203609],[102.595234,32.203663],[102.595344,32.203677],[102.595548,32.203688],[102.595851,32.203706],[102.59599,32.203742],[102.596072,32.203763],[102.596394,32.203966],[102.596588,32.204091],[102.596783,32.204216],[102.596921,32.20433],[102.59704,32.204427],[102.597122,32.204466],[102.597207,32.204509],[102.597236,32.204523],[102.597293,32.204584],[102.59735,32.204698],[102.597375,32.204976],[102.597407,32.205133],[102.597475,32.205298],[102.597543,32.205369],[102.597568,32.205412],[102.597589,32.205444],[102.597614,32.20558],[102.597657,32.205719],[102.597728,32.205887],[102.597796,32.205994],[102.597964,32.206158],[102.598037,32.206254],[102.598114,32.206354],[102.598207,32.20644],[102.598232,32.206511],[102.598239,32.206625],[102.598276,32.206735],[102.598289,32.206772],[102.598298,32.206837],[102.598317,32.206986],[102.598321,32.207125],[102.598315,32.207172],[102.598303,32.207275],[102.598311,32.207525],[102.598317,32.207753],[102.598285,32.207857],[102.59831,32.208021],[102.598349,32.20821],[102.598399,32.208346],[102.59846,32.208517],[102.598503,32.208599],[102.598522,32.20865],[102.598589,32.208831],[102.598628,32.209234],[102.598637,32.209285],[102.59868,32.209508],[102.598702,32.209621],[102.598713,32.209661],[102.598734,32.209707],[102.598742,32.209723],[102.598921,32.210127],[102.599106,32.210534],[102.599216,32.210736],[102.599278,32.21085],[102.599335,32.210955],[102.599395,32.211105],[102.59942,32.211151],[102.599424,32.211215],[102.599388,32.211351],[102.599385,32.21136],[102.599331,32.211544],[102.599336,32.211586],[102.599342,32.211626],[102.599388,32.211708],[102.599536,32.212001],[102.599537,32.212002],[102.599538,32.212004],[102.599638,32.212343],[102.599756,32.212689],[102.599796,32.212844],[102.599856,32.213071],[102.599876,32.213141],[102.599959,32.213425],[102.599975,32.21346],[102.600059,32.21365],[102.600152,32.213832],[102.600205,32.213917],[102.600253,32.213971],[102.60043,32.214171],[102.600605,32.214478],[102.600662,32.214592],[102.600677,32.214685],[102.600677,32.214777],[102.600648,32.214902],[102.600641,32.214916],[102.600559,32.215077],[102.600387,32.215325],[102.600216,32.215573],[102.600045,32.215887],[102.599941,32.215991],[102.599784,32.216109],[102.599727,32.216184],[102.599656,32.216355],[102.599635,32.216448],[102.599552,32.216819],[102.599521,32.217025],[102.59952,32.217027],[102.59952,32.21703],[102.599524,32.217119],[102.599531,32.217204],[102.599531,32.217297],[102.599488,32.217408],[102.599385,32.217668],[102.599306,32.217975],[102.599256,32.218279],[102.59925,32.218305],[102.599237,32.218369],[102.599213,32.218479],[102.599192,32.218739],[102.59921,32.219121],[102.599215,32.219268],[102.599231,32.219692],[102.599256,32.21996],[102.599213,32.220149],[102.599156,32.220327],[102.599106,32.220411],[102.599031,32.220535],[102.598931,32.220659],[102.598651,32.22088],[102.598614,32.220909],[102.598353,32.221173],[102.598264,32.221288],[102.598175,32.221516],[102.598085,32.221627],[102.597939,32.22168],[102.597702,32.221821],[102.597693,32.221827],[102.597536,32.221959],[102.597391,32.222132],[102.597247,32.222305],[102.596965,32.22258],[102.5969,32.222751],[102.59685,32.222872],[102.596846,32.222894],[102.596825,32.223001],[102.596847,32.223111],[102.596897,32.223286],[102.596929,32.223399],[102.596954,32.223483],[102.597011,32.223636],[102.597043,32.223715],[102.597061,32.223779],[102.597063,32.223839],[102.597065,32.223868],[102.59709,32.223997],[102.597175,32.224204],[102.597188,32.224229],[102.597236,32.224321],[102.597293,32.224425],[102.597325,32.224528],[102.597343,32.224664],[102.597311,32.224917],[102.597223,32.225246],[102.597136,32.225574],[102.597047,32.225806],[102.597018,32.225992],[102.597009,32.226021],[102.596982,32.226106],[102.596925,32.226181],[102.59684,32.226267],[102.596679,32.226488],[102.596647,32.226627],[102.596568,32.226813],[102.596508,32.226948],[102.59649,32.227045],[102.596489,32.227115],[102.596483,32.227409],[102.596501,32.227655],[102.596497,32.227741],[102.596436,32.227873],[102.596419,32.227966],[102.596412,32.228018],[102.59641,32.228029],[102.596401,32.228105],[102.596372,32.228297],[102.596369,32.228394],[102.596415,32.228494],[102.596511,32.228672],[102.596536,32.228733],[102.596536,32.228804],[102.596511,32.228951],[102.596583,32.229286],[102.596654,32.229704],[102.596676,32.229833],[102.596693,32.229939],[102.596736,32.230178],[102.596779,32.230503],[102.596829,32.230689],[102.596918,32.230878],[102.597072,32.231046],[102.597225,32.231214],[102.597446,32.231343],[102.597571,32.231417],[102.597696,32.231528],[102.597708,32.231545],[102.597715,32.231657],[102.597732,32.231928],[102.597749,32.232198],[102.597774,32.232493],[102.597791,32.232557],[102.597797,32.232577],[102.597833,32.232713],[102.597839,32.232728],[102.597908,32.232907],[102.598015,32.233117],[102.598123,32.233327],[102.598231,32.233538],[102.598339,32.233748],[102.598446,32.233959],[102.598554,32.234169],[102.598662,32.234379],[102.598769,32.23459],[102.5989,32.234804],[102.59903,32.235018],[102.59917,32.235215],[102.59931,32.235413],[102.59945,32.23561],[102.59959,32.235808],[102.599797,32.236119],[102.600004,32.236431],[102.600211,32.236743],[102.600429,32.237019],[102.600681,32.237244],[102.600973,32.237447],[102.601266,32.23765],[102.601455,32.237781],[102.601645,32.237913],[102.601835,32.238044],[102.602025,32.238175],[102.602113,32.238236],[102.602151,32.238313],[102.60224,32.238438],[102.602311,32.23853],[102.602436,32.23868],[102.60259,32.238788],[102.60265,32.23883],[102.602825,32.238894],[102.602932,32.238923],[102.603089,32.238977],[102.603204,32.239062],[102.603412,32.239237],[102.603621,32.239412],[102.60385,32.239558],[102.604071,32.239715],[102.604214,32.239802],[102.604417,32.239926],[102.60467,32.240103],[102.604924,32.240279],[102.60519,32.240401],[102.605456,32.240522],[102.605652,32.240675],[102.605852,32.240918],[102.606102,32.241211],[102.606152,32.241332],[102.606187,32.241521],[102.606248,32.241739],[102.606316,32.24191],[102.606384,32.242032],[102.606592,32.242219],[102.606683,32.242301],[102.606737,32.242349],[102.606808,32.242453],[102.606894,32.242599],[102.606951,32.242688],[102.60708,32.242753],[102.607331,32.242837],[102.607429,32.242871],[102.607547,32.24291],[102.607604,32.242985],[102.607629,32.243081],[102.60766,32.243344],[102.607694,32.243631],[102.607747,32.243852],[102.607868,32.244186],[102.607947,32.244401],[102.60799,32.244519],[102.608065,32.244741],[102.608143,32.244962],[102.608226,32.2451],[102.608229,32.245105],[102.608318,32.245201],[102.608468,32.245255],[102.608732,32.245317],[102.608757,32.245323],[102.608956,32.245374],[102.608993,32.245383],[102.609111,32.24543],[102.609285,32.245701],[102.609428,32.245797],[102.609546,32.245865],[102.609592,32.245911],[102.609767,32.246276],[102.609894,32.246429],[102.609935,32.246479],[102.610142,32.24669],[102.61042,32.246889],[102.610699,32.247089],[102.611025,32.247286],[102.611352,32.247482],[102.611548,32.247609],[102.611745,32.247735],[102.612052,32.247978],[102.612114,32.248037],[102.612251,32.248167],[102.612387,32.248392],[102.612479,32.248493],[102.612501,32.248517],[102.612633,32.24866],[102.612783,32.248845],[102.612947,32.24912],[102.613037,32.249306],[102.613076,32.249388],[102.613229,32.249573],[102.613404,32.24973],[102.613479,32.249863],[102.613508,32.249927],[102.613536,32.249991],[102.613583,32.250067],[102.613704,32.250266],[102.613882,32.250465],[102.61394,32.25053],[102.613993,32.250637],[102.614003,32.25071],[102.614011,32.250773],[102.614015,32.250908],[102.613833,32.251251],[102.613779,32.251408],[102.613786,32.251536],[102.613811,32.251676],[102.613831,32.251713],[102.613972,32.251968],[102.614222,32.252257],[102.614525,32.252493],[102.614914,32.252696],[102.614996,32.252793],[102.615155,32.253076],[102.615171,32.253105],[102.615346,32.253417],[102.615485,32.253624],[102.615623,32.253752],[102.615678,32.253803],[102.61588,32.253975],[102.615896,32.253989],[102.615931,32.254039],[102.615935,32.254128],[102.615933,32.254143],[102.615892,32.254524],[102.615835,32.254727],[102.615778,32.255006],[102.615728,32.255138],[102.615631,32.255266],[102.615446,32.255388],[102.615178,32.255548],[102.615085,32.255602],[102.614993,32.255741],[102.614893,32.256005],[102.614814,32.256216],[102.614783,32.25642],[102.614775,32.256469],[102.614728,32.256773],[102.614757,32.256951],[102.614757,32.257058],[102.614748,32.257113],[102.614739,32.257172],[102.614664,32.257254],[102.614543,32.257351],[102.614304,32.257583],[102.614132,32.257811],[102.613968,32.258065],[102.613829,32.258273],[102.613696,32.258474],[102.61369,32.258482],[102.613618,32.258596],[102.613618,32.258661],[102.613665,32.258739],[102.613751,32.258853],[102.613979,32.25903],[102.614207,32.259207],[102.614439,32.259317],[102.614518,32.259367],[102.614582,32.259471],[102.614662,32.259587],[102.614907,32.259946],[102.615078,32.260213],[102.615114,32.260274],[102.615167,32.260324],[102.61526,32.26036],[102.615485,32.260381],[102.615592,32.260356],[102.615867,32.260277],[102.61617,32.260249],[102.616388,32.260252],[102.616656,32.260199],[102.616882,32.260124],[102.616916,32.260113],[102.617106,32.260099],[102.617512,32.260085],[102.617852,32.260074],[102.618269,32.26002],[102.61859,32.259988],[102.618883,32.260017],[102.619161,32.260104],[102.61944,32.260192],[102.61975,32.260256],[102.619985,32.260286],[102.620218,32.260317],[102.620486,32.26037],[102.620597,32.260354],[102.620632,32.260349],[102.620718,32.260338],[102.620785,32.260324],[102.620832,32.260317],[102.620885,32.260331],[102.620957,32.260374],[102.621174,32.260663],[102.621213,32.260742],[102.621335,32.260991],[102.621381,32.261063],[102.621489,32.261155],[102.621585,32.261198],[102.621853,32.261316],[102.62212,32.261434],[102.62237,32.26168],[102.622574,32.261832],[102.622777,32.261984],[102.622977,32.262135],[102.623177,32.262287],[102.623405,32.262474],[102.623634,32.262662],[102.623876,32.262847],[102.624101,32.262972],[102.624381,32.263056],[102.624662,32.26314],[102.624894,32.263204],[102.625018,32.263258],[102.625031,32.263263],[102.625031,32.263263],[102.625031,32.263263],[102.625179,32.263329],[102.625315,32.26344],[102.62559,32.263629],[102.625692,32.263728],[102.625693,32.263729],[102.625693,32.263729],[102.625781,32.263817],[102.625891,32.263927],[102.626089,32.264125],[102.626102,32.264141],[102.626103,32.264141],[102.626103,32.264142],[102.626381,32.264485],[102.62666,32.264828],[102.626829,32.264994],[102.626997,32.265161],[102.627196,32.265356],[102.627538,32.265578],[102.627724,32.26567],[102.627877,32.265749],[102.627981,32.265838],[102.628084,32.265949],[102.628249,32.26606],[102.628513,32.266245],[102.628685,32.266318],[102.62878,32.266359],[102.628905,32.266388],[102.629116,32.266342],[102.629234,32.266249],[102.629413,32.26605],[102.629425,32.266037],[102.629593,32.265852],[102.629658,32.265795],[102.629808,32.265667],[102.629965,32.265574],[102.630342,32.265368],[102.63064,32.26523],[102.630804,32.265165],[102.630879,32.265135],[102.6311,32.265092],[102.631393,32.265071],[102.631472,32.265068],[102.631818,32.265053],[102.632057,32.26501],[102.632203,32.264935],[102.63235,32.264846],[102.632514,32.264828],[102.632639,32.26486],[102.63276,32.264842],[102.632917,32.264807],[102.63306,32.264725],[102.633081,32.26469],[102.633149,32.264578],[102.633238,32.264351],[102.633253,32.264314],[102.633406,32.2641],[102.63356,32.264011],[102.633838,32.263943],[102.633981,32.263868],[102.634129,32.263795],[102.634316,32.263704],[102.634402,32.263608],[102.634429,32.263552],[102.634555,32.26329],[102.634641,32.26304],[102.634727,32.26279],[102.634809,32.262647],[102.63503,32.262455],[102.635255,32.262344],[102.635573,32.262255],[102.635733,32.262205],[102.635947,32.262105],[102.636094,32.262033],[102.636277,32.261892],[102.636426,32.261777],[102.636654,32.261655],[102.636786,32.261491],[102.636878,32.261342],[102.636972,32.261191],[102.637129,32.261009],[102.637286,32.260827],[102.637511,32.260635],[102.637775,32.26041],[102.638039,32.260185],[102.638307,32.259929],[102.638576,32.259673],[102.638844,32.259416],[102.639031,32.259267],[102.639217,32.259118],[102.639446,32.258935],[102.639674,32.258753],[102.639918,32.258532],[102.640152,32.258321],[102.640162,32.258312],[102.640394,32.258048],[102.640626,32.257783],[102.640662,32.257714],[102.640751,32.257545],[102.64078,32.257236],[102.640801,32.256822],[102.640822,32.256409],[102.640825,32.256352],[102.640828,32.25629],[102.640871,32.256208],[102.640882,32.256189],[102.641012,32.256094],[102.641334,32.256052],[102.64153,32.256034],[102.641595,32.255986],[102.641697,32.255927],[102.641804,32.255891],[102.64194,32.255903],[102.642214,32.255986],[102.642416,32.25601],[102.642648,32.255927],[102.642904,32.25579],[102.643172,32.255689],[102.643199,32.255687],[102.643326,32.255677],[102.643666,32.255778],[102.643892,32.255832],[102.644118,32.255885],[102.644439,32.256016],[102.644742,32.256129],[102.644903,32.256135],[102.645144,32.256055],[102.645385,32.255975],[102.645792,32.255841],[102.646199,32.255707],[102.646218,32.255701],[102.646517,32.255598],[102.646816,32.255495],[102.647116,32.255392],[102.647347,32.255408],[102.647578,32.255425],[102.647693,32.255433],[102.64799,32.255421],[102.648216,32.255427],[102.648323,32.255487],[102.648505,32.255704],[102.648686,32.255921],[102.648799,32.255992],[102.649085,32.256052],[102.649341,32.256171],[102.649561,32.256456],[102.649748,32.256667],[102.649935,32.256879],[102.649983,32.256932],[102.650141,32.257218],[102.650298,32.257503],[102.650403,32.257696],[102.650517,32.257906],[102.650631,32.258116],[102.650899,32.258437],[102.651081,32.258625],[102.651262,32.258812],[102.6515,32.25908],[102.65169,32.259169],[102.652062,32.259291],[102.652434,32.259413],[102.652815,32.259526],[102.653124,32.259615],[102.653439,32.259811],[102.65363,32.260002],[102.653802,32.260103],[102.653951,32.260139],[102.654343,32.26021],[102.654535,32.260299],[102.654688,32.260371],[102.654772,32.260478],[102.654813,32.260603],[102.654891,32.260722],[102.655045,32.260787],[102.65517,32.260818],[102.655212,32.260829],[102.655384,32.260882],[102.655474,32.260936],[102.655575,32.261037],[102.655706,32.261453],[102.655746,32.261509],[102.655914,32.261745],[102.656033,32.261944],[102.656152,32.262143],[102.656301,32.262447],[102.656408,32.262845],[102.656422,32.263098],[102.656437,32.263351],[102.656527,32.263675],[102.656616,32.263999],[102.656653,32.264159],[102.656729,32.264481],[102.656841,32.264647],[102.656889,32.264719],[102.657032,32.26485],[102.657252,32.264951],[102.657484,32.264981],[102.657895,32.265052],[102.658249,32.265135],[102.658589,32.265292],[102.65863,32.265312],[102.658773,32.26544],[102.658923,32.265638],[102.659073,32.265835],[102.659311,32.266078],[102.659432,32.266225],[102.659534,32.266349],[102.65977,32.266523],[102.660005,32.266696],[102.660239,32.266885],[102.660472,32.267074],[102.660705,32.267263],[102.660792,32.26732],[102.661129,32.267541],[102.661466,32.267762],[102.661814,32.267977],[102.662066,32.268186],[102.662171,32.268314],[102.66228,32.268372],[102.662661,32.268438],[102.662883,32.268478],[102.663061,32.26851],[102.663375,32.268614],[102.663736,32.268824],[102.664005,32.269033],[102.664274,32.269242],[102.664512,32.269442],[102.66475,32.269642],[102.665064,32.26988],[102.665273,32.270035],[102.665483,32.270189],[102.665601,32.27029],[102.66564,32.270323],[102.665749,32.270475],[102.665775,32.270542],[102.665806,32.270623],[102.665821,32.270822],[102.665845,32.27102],[102.665887,32.271365],[102.665897,32.271636],[102.665906,32.271907],[102.665913,32.272032],[102.665925,32.272274],[102.665892,32.272574],[102.665825,32.272912],[102.665816,32.273107],[102.665868,32.273302],[102.665987,32.273625],[102.666059,32.273821],[102.666106,32.273949],[102.666225,32.274273],[102.666332,32.274577],[102.666397,32.274762],[102.666439,32.274882],[102.666545,32.275186],[102.666554,32.27521],[102.666665,32.27555],[102.666708,32.275681],[102.666777,32.275891],[102.666872,32.276164],[102.666968,32.276438],[102.667006,32.276633],[102.667006,32.27679],[102.66693,32.276933],[102.666825,32.277093],[102.666587,32.277456],[102.666474,32.277707],[102.66636,32.277957],[102.666287,32.278118],[102.666176,32.278364],[102.665992,32.278771],[102.665808,32.279178],[102.665731,32.279349],[102.665624,32.279585],[102.66544,32.279991],[102.665295,32.280221],[102.665149,32.280451],[102.665113,32.280507],[102.664942,32.280777],[102.664735,32.281104],[102.66452,32.281444],[102.664305,32.281783],[102.664269,32.281876],[102.664241,32.282062],[102.664262,32.282159],[102.664284,32.282254],[102.664348,32.282376],[102.664512,32.282718],[102.664626,32.283104],[102.66458,32.283421],[102.664533,32.283739],[102.664434,32.283967],[102.664297,32.284174],[102.664241,32.28426],[102.664034,32.28451],[102.66377,32.2847],[102.663506,32.284891],[102.663241,32.285081],[102.663013,32.285267],[102.662906,32.285431],[102.662878,32.285595],[102.662856,32.285724],[102.662844,32.286144],[102.662835,32.286502],[102.662852,32.286917],[102.662863,32.287173],[102.662861,32.287192],[102.662842,32.287422],[102.66282,32.287672],[102.662831,32.287862],[102.662851,32.288206],[102.662856,32.288286],[102.662905,32.288665],[102.662913,32.288729],[102.662913,32.289057],[102.662956,32.289271],[102.663042,32.289528],[102.663127,32.289785],[102.66317,32.289905],[102.663182,32.289938],[102.66327,32.290179],[102.663369,32.290454],[102.663406,32.290556],[102.663543,32.290761],[102.66368,32.290965],[102.663784,32.29112],[102.663984,32.291336],[102.664146,32.291509],[102.664355,32.291734],[102.664442,32.291821],[102.664613,32.291992],[102.664783,32.292162],[102.665051,32.292369],[102.665222,32.292502],[102.665319,32.292576],[102.665536,32.292751],[102.665754,32.292926],[102.665829,32.293013],[102.665961,32.293166],[102.666168,32.293407],[102.666375,32.293647],[102.666532,32.294061],[102.666554,32.294275],[102.666518,32.294454],[102.666393,32.294643],[102.666268,32.294832],[102.666082,32.294998],[102.66579,32.29526],[102.66575,32.295291],[102.665534,32.295458],[102.665319,32.295624],[102.665047,32.295967],[102.664776,32.29631],[102.664569,32.296624],[102.664362,32.296938],[102.664155,32.297252],[102.664104,32.297352],[102.663959,32.297634],[102.663762,32.298016],[102.663725,32.298085],[102.663537,32.298433],[102.663349,32.298781],[102.663162,32.299128],[102.663042,32.299351],[102.662895,32.299666],[102.662748,32.299982],[102.662601,32.300298],[102.662463,32.300593],[102.662345,32.30087],[102.662235,32.301128],[102.662185,32.301399],[102.662178,32.301671],[102.662242,32.301885],[102.662336,32.302175],[102.662429,32.302466],[102.662513,32.302727],[102.662695,32.303014],[102.662877,32.3033],[102.663034,32.303548],[102.663202,32.303876],[102.66337,32.304205],[102.663569,32.30446],[102.663698,32.304626],[102.663827,32.30479],[102.66392,32.304926],[102.663998,32.305097],[102.664027,32.305261],[102.664041,32.305493],[102.664041,32.305495],[102.664041,32.305497],[102.66397,32.305832],[102.663845,32.306064],[102.66372,32.306296],[102.663648,32.306342],[102.663563,32.306396],[102.663327,32.306482],[102.663141,32.30661],[102.663056,32.306767],[102.663027,32.306917],[102.663006,32.307103],[102.663006,32.307331],[102.663134,32.307695],[102.663155,32.307839],[102.663191,32.308083],[102.663227,32.308328],[102.663241,32.308424],[102.663241,32.308659],[102.663206,32.308845],[102.663063,32.309052],[102.662972,32.309124],[102.66292,32.309166],[102.662904,32.309193],[102.662785,32.309402],[102.662742,32.309601],[102.662777,32.309758],[102.662842,32.309944],[102.662876,32.310054],[102.662992,32.310422],[102.66306,32.310708],[102.663128,32.310994],[102.663141,32.311051],[102.663141,32.311279],[102.663127,32.311515],[102.663027,32.311829],[102.662985,32.3119],[102.662835,32.312157],[102.662673,32.312419],[102.662512,32.312682],[102.66235,32.312944],[102.662191,32.313221],[102.662031,32.313498],[102.662004,32.313561],[102.661798,32.313898],[102.661652,32.314154],[102.661434,32.314349],[102.661215,32.314544],[102.661068,32.314599],[102.661035,32.314611],[102.660655,32.314696],[102.660275,32.314782],[102.66004,32.314841],[102.659805,32.314901],[102.659587,32.314974],[102.65948,32.314994],[102.659462,32.314995],[102.659338,32.315004],[102.659288,32.315008],[102.659086,32.314996],[102.658827,32.314907],[102.658568,32.314817],[102.658169,32.314615],[102.657813,32.314573],[102.65745,32.314556],[102.657271,32.314508],[102.65689,32.314319],[102.656508,32.31413],[102.656126,32.313941],[102.655998,32.313877],[102.655748,32.313717],[102.655499,32.313556],[102.655159,32.313396],[102.65488,32.313339],[102.6546,32.313283],[102.6543,32.313259],[102.653999,32.313235],[102.653595,32.313241],[102.653256,32.31333],[102.652889,32.313487],[102.652685,32.313574],[102.652453,32.313678],[102.652221,32.313782],[102.651906,32.313919],[102.65168,32.313931],[102.651346,32.313877],[102.651258,32.313869],[102.650995,32.313845],[102.650644,32.313812],[102.650606,32.31381],[102.650311,32.313794],[102.650038,32.313806],[102.64974,32.313919],[102.649608,32.313942],[102.649538,32.313955],[102.649258,32.313955],[102.648967,32.31383],[102.648675,32.313705],[102.648598,32.313641],[102.648574,32.313622],[102.648485,32.313622],[102.648384,32.313782],[102.648342,32.31405],[102.648348,32.314421],[102.648354,32.314792],[102.64836,32.315162],[102.648319,32.315484],[102.648176,32.315543],[102.648039,32.315638],[102.647914,32.315757],[102.647812,32.315903],[102.647789,32.315936],[102.647736,32.316156],[102.64775,32.316231],[102.647765,32.316305],[102.64784,32.316563],[102.647914,32.316822],[102.647872,32.316983],[102.6477,32.317096],[102.647459,32.317276],[102.647218,32.317456],[102.647135,32.317518],[102.646894,32.317792],[102.646653,32.318065],[102.646631,32.318113],[102.646532,32.318327],[102.646433,32.318541],[102.646427,32.318845],[102.646314,32.319071],[102.646202,32.319266],[102.646195,32.319279],[102.646171,32.319529],[102.646195,32.319719],[102.646367,32.32004],[102.646447,32.320287],[102.646459,32.320323],[102.646472,32.320365],[102.646578,32.320691],[102.646683,32.321016],[102.646745,32.321287],[102.646808,32.321557],[102.646814,32.321672],[102.646829,32.321936],[102.646847,32.322262],[102.646866,32.322587],[102.646823,32.322875],[102.646764,32.323263],[102.646706,32.323651],[102.64665,32.323897],[102.64663,32.323988],[102.646554,32.324325],[102.646478,32.324662],[102.646443,32.324901],[102.646426,32.325019],[102.646413,32.325112],[102.646375,32.325376],[102.646355,32.325753],[102.646335,32.326131],[102.646315,32.326508],[102.646295,32.326886],[102.646275,32.327263],[102.646262,32.327578],[102.646248,32.327892],[102.646234,32.328207],[102.646157,32.328502],[102.646079,32.328797],[102.64603,32.328984],[102.645972,32.329294],[102.645913,32.329604],[102.645879,32.329784],[102.645708,32.330108],[102.64565,32.330212],[102.645551,32.330389],[102.645394,32.330669],[102.645299,32.330812],[102.645289,32.33106],[102.645318,32.331193],[102.645543,32.33145],[102.645768,32.331707],[102.645993,32.331964],[102.646225,32.33218],[102.646457,32.332395],[102.646688,32.332611],[102.646688,32.332611],[102.646945,32.332797],[102.647202,32.332982],[102.647547,32.333161],[102.647683,32.333182],[102.64779,32.333218],[102.647854,32.333261],[102.64786,32.33331],[102.647861,32.333325],[102.647861,32.333368],[102.647776,32.333475],[102.647561,32.333632],[102.64724,32.333825],[102.646919,32.334017],[102.646576,32.33421],[102.646234,32.334403],[102.645891,32.334595],[102.645852,32.334617],[102.64559,32.334758],[102.6452,32.334968],[102.64481,32.335178],[102.644421,32.335388],[102.644039,32.335588],[102.643657,32.335787],[102.643275,32.335987],[102.642896,32.33619],[102.64267,32.336312],[102.642278,32.336485],[102.641886,32.336659],[102.641883,32.33666],[102.641882,32.336661],[102.641493,32.336833],[102.641207,32.33706],[102.640921,32.337287],[102.640761,32.337511],[102.640635,32.337884],[102.64051,32.338257],[102.640385,32.33863],[102.640297,32.339061],[102.640235,32.339366],[102.640172,32.339671],[102.640132,32.339912],[102.640059,32.34035],[102.639986,32.340788],[102.639913,32.341226],[102.639826,32.341643],[102.639739,32.34206],[102.639653,32.342477],[102.639622,32.342624],[102.639566,32.342893],[102.639482,32.343307],[102.639399,32.34372],[102.639315,32.344134],[102.639242,32.34443],[102.63917,32.344727],[102.639097,32.345023],[102.638994,32.345444],[102.638946,32.345838],[102.638898,32.346232],[102.638865,32.346502],[102.638834,32.346635],[102.638785,32.346847],[102.638704,32.347192],[102.638681,32.347294],[102.638624,32.347537],[102.638724,32.34793],[102.638731,32.348166],[102.638692,32.348406],[102.638688,32.34843],[102.638688,32.348708],[102.638738,32.348929],[102.638774,32.349201],[102.638874,32.349379],[102.639017,32.349579],[102.639131,32.349836],[102.639202,32.350221],[102.639268,32.350444],[102.639333,32.350666],[102.639409,32.350928],[102.639513,32.351135],[102.639616,32.351342],[102.639806,32.351645],[102.639986,32.351935],[102.639995,32.351949],[102.640252,32.352156],[102.640502,32.352299],[102.64073,32.352406],[102.64081,32.352447],[102.640941,32.352514],[102.640966,32.352527],[102.641215,32.352656],[102.641336,32.352753],[102.641433,32.35283],[102.641651,32.353005],[102.641795,32.353138],[102.642008,32.353334],[102.642158,32.353434],[102.642379,32.353555],[102.642507,32.353655],[102.642636,32.353769],[102.642736,32.353919],[102.642836,32.35399],[102.643021,32.354033],[102.643193,32.354055],[102.643314,32.35409],[102.643478,32.354176],[102.643628,32.354347],[102.643778,32.354519],[102.644071,32.354683],[102.644306,32.354769],[102.644513,32.354769],[102.644813,32.354754],[102.645177,32.354733],[102.645419,32.354729],[102.645661,32.354726],[102.6457,32.354731],[102.645991,32.354818],[102.646355,32.354961],[102.646583,32.354983],[102.646783,32.35499],[102.647083,32.354918],[102.647161,32.354899],[102.64754,32.354804],[102.647733,32.354761],[102.647918,32.354754],[102.64809,32.354797],[102.648261,32.354876],[102.648534,32.355041],[102.648807,32.355207],[102.649132,32.355404],[102.649465,32.355605],[102.649702,32.355747],[102.649939,32.355889],[102.64994,32.35589],[102.650113,32.356017],[102.650178,32.356065],[102.650417,32.356239],[102.650574,32.356582],[102.650699,32.35678],[102.650795,32.356931],[102.651081,32.357074],[102.651345,32.357146],[102.651752,32.357153],[102.652166,32.357089],[102.652473,32.35706],[102.652698,32.35706],[102.652865,32.35706],[102.653229,32.357131],[102.653593,32.357203],[102.653922,32.357298],[102.65425,32.357393],[102.654578,32.357488],[102.654627,32.357512],[102.654759,32.357547],[102.655141,32.357747],[102.655354,32.357876],[102.655566,32.358005],[102.655738,32.358153],[102.655911,32.358301],[102.656083,32.358448],[102.656255,32.358596],[102.656326,32.358677],[102.656476,32.358851],[102.656581,32.35916],[102.656618,32.359528],[102.656604,32.359785],[102.656592,32.360001],[102.65659,32.360041],[102.656579,32.360229],[102.656684,32.360593],[102.656684,32.3608],[102.656601,32.360956],[102.656533,32.361082],[102.656545,32.361484],[102.656558,32.361899],[102.656563,32.362078],[102.65657,32.362315],[102.656617,32.362653],[102.656664,32.362991],[102.656771,32.363301],[102.656856,32.363524],[102.656941,32.363748],[102.657072,32.363952],[102.657203,32.364157],[102.657407,32.364469],[102.657611,32.364781],[102.657815,32.365093],[102.657935,32.365288],[102.658056,32.365483],[102.658176,32.365678],[102.658296,32.365873],[102.658416,32.366068],[102.658536,32.366263],[102.658644,32.366486],[102.658753,32.366709],[102.658861,32.366932],[102.65897,32.367156],[102.659078,32.367379],[102.659187,32.367602],[102.659221,32.367671],[102.659296,32.367825],[102.659404,32.368048],[102.659508,32.368268],[102.659612,32.368489],[102.659716,32.368709],[102.659821,32.368929],[102.659925,32.36915],[102.660029,32.36937],[102.660144,32.369613],[102.660259,32.369856],[102.660374,32.370099],[102.660489,32.370342],[102.660604,32.370585],[102.660718,32.370828],[102.660879,32.371231],[102.661039,32.371634],[102.661116,32.371827],[102.661199,32.372036],[102.661359,32.372439],[102.661433,32.372674],[102.661507,32.372909],[102.661573,32.37312],[102.661581,32.373143],[102.661654,32.373378],[102.661728,32.373613],[102.661802,32.373848],[102.661881,32.374014],[102.661915,32.374086],[102.662029,32.374324],[102.662142,32.374562],[102.662157,32.374593],[102.662255,32.3748],[102.662304,32.374893],[102.662421,32.375113],[102.662531,32.37532],[102.66264,32.375528],[102.66266,32.375565],[102.66275,32.375735],[102.66286,32.375942],[102.66297,32.37615],[102.66308,32.376357],[102.663206,32.376564],[102.663332,32.37677],[102.663459,32.376977],[102.663508,32.377056],[102.663585,32.377183],[102.663618,32.377236],[102.663712,32.37739],[102.663838,32.377596],[102.663965,32.377803],[102.664091,32.378009],[102.664218,32.378216],[102.664344,32.378423],[102.664496,32.378639],[102.664627,32.378825],[102.664648,32.378855],[102.6648,32.379072],[102.664953,32.379288],[102.665105,32.379504],[102.665257,32.379721],[102.665409,32.379937],[102.665561,32.380153],[102.665713,32.38037],[102.665865,32.380586],[102.666085,32.38086],[102.666306,32.381135],[102.666471,32.38132],[102.666637,32.381506],[102.666916,32.381714],[102.667195,32.381922],[102.667565,32.382101],[102.667936,32.382281],[102.668353,32.382409],[102.66877,32.382537],[102.669188,32.382665],[102.669605,32.382793],[102.669953,32.382935],[102.670302,32.383077],[102.670549,32.383188],[102.670797,32.383298],[102.671108,32.383574],[102.671262,32.383779],[102.671416,32.383984],[102.67162,32.384315],[102.671823,32.384646],[102.672027,32.384978],[102.672229,32.385366],[102.672431,32.385754],[102.672633,32.386143],[102.672835,32.386531],[102.672907,32.386724],[102.672987,32.386938],[102.673067,32.387151],[102.673147,32.387365],[102.673227,32.387578],[102.673307,32.387791],[102.673388,32.388005],[102.673492,32.388206],[102.673597,32.388407],[102.673702,32.388608],[102.673807,32.388809],[102.673912,32.38901],[102.674017,32.389211],[102.674213,32.389523],[102.67441,32.389835],[102.674587,32.390012],[102.674765,32.390188],[102.675022,32.390338],[102.67528,32.390487],[102.675617,32.390647],[102.675954,32.390808],[102.676291,32.390968],[102.676559,32.391028],[102.676827,32.391088],[102.677095,32.391147],[102.677363,32.391207],[102.677713,32.391291],[102.678063,32.391374],[102.678198,32.391436],[102.67831,32.391514],[102.67833,32.39163],[102.678349,32.391765],[102.678321,32.391919],[102.678109,32.392262],[102.677956,32.392632],[102.677802,32.393001],[102.677648,32.393371],[102.677523,32.393605],[102.677397,32.393838],[102.677272,32.394072],[102.677147,32.394306],[102.677019,32.394515],[102.676891,32.394723],[102.676763,32.394932],[102.676635,32.395141],[102.676507,32.395349],[102.676379,32.395558],[102.676251,32.395766],[102.676123,32.395975],[102.675979,32.396187],[102.675836,32.396399],[102.675692,32.396611],[102.675549,32.396823],[102.675405,32.397035],[102.67529,32.397206],[102.675262,32.397247],[102.675118,32.397459],[102.674975,32.397671],[102.674831,32.397883],[102.674688,32.398095],[102.674544,32.398307],[102.674483,32.398399],[102.674401,32.39852],[102.674257,32.398732],[102.674114,32.398944],[102.67397,32.399177],[102.673826,32.39941],[102.673681,32.399642],[102.673537,32.399875],[102.673393,32.400108],[102.673249,32.400341],[102.673104,32.400574],[102.67296,32.400807],[102.672816,32.40104],[102.672672,32.401273],[102.672528,32.401506],[102.672383,32.401739],[102.672239,32.401972],[102.672095,32.402205],[102.671951,32.402438],[102.671806,32.402671],[102.671598,32.403048],[102.67139,32.403425],[102.671182,32.403802],[102.670974,32.404179],[102.670811,32.40454],[102.670649,32.404901],[102.670486,32.405262],[102.670479,32.405332],[102.670458,32.40555],[102.670539,32.40584],[102.67065,32.405997],[102.670851,32.406154],[102.67113,32.406352],[102.671409,32.406551],[102.671604,32.406694],[102.6718,32.406837],[102.671995,32.40698],[102.67219,32.407124],[102.672368,32.40729],[102.672546,32.407457],[102.672691,32.407678],[102.672837,32.407899],[102.672983,32.40812],[102.673129,32.408341],[102.673261,32.408541],[102.673365,32.408677],[102.673421,32.408783],[102.673631,32.40918],[102.673698,32.409306],[102.67382,32.409536],[102.674008,32.409891],[102.674215,32.410182],[102.674364,32.410392],[102.674513,32.410602],[102.674769,32.410807],[102.675025,32.411012],[102.675062,32.411025],[102.675479,32.41117],[102.675895,32.411314],[102.676222,32.411469],[102.676549,32.411623],[102.676876,32.411777],[102.677078,32.411893],[102.67728,32.412008],[102.677561,32.412203],[102.677807,32.41246],[102.677809,32.412461],[102.677812,32.412462],[102.677836,32.412491],[102.677928,32.412587],[102.678049,32.412737],[102.678114,32.412865],[102.678114,32.412866],[102.678114,32.412867],[102.678114,32.412868],[102.678128,32.413001],[102.678128,32.413144],[102.678099,32.413379],[102.678002,32.413628],[102.677968,32.413716],[102.677905,32.413876],[102.677892,32.413908],[102.677769,32.414159],[102.677728,32.414243],[102.677693,32.414457],[102.677711,32.414723],[102.67773,32.414988],[102.67775,32.415283],[102.677771,32.415578],[102.677764,32.415849],[102.677757,32.416121],[102.677785,32.416363],[102.677885,32.416649],[102.677985,32.416863],[102.678266,32.41705],[102.678328,32.417091],[102.678635,32.417245],[102.678942,32.417398],[102.679249,32.417552],[102.679556,32.417705],[102.679913,32.417873],[102.68027,32.418041],[102.680626,32.418209],[102.680983,32.418376],[102.68135,32.418567],[102.681716,32.418757],[102.682083,32.418947],[102.682259,32.419093],[102.682509,32.419298],[102.682758,32.419504],[102.682967,32.419772],[102.683175,32.42004],[102.683238,32.420119],[102.683455,32.42039],[102.683672,32.420661],[102.683774,32.420788],[102.683889,32.420932],[102.684031,32.421086],[102.684044,32.421089],[102.684281,32.421134],[102.684376,32.421134],[102.684797,32.421019],[102.685217,32.420904],[102.685638,32.420789],[102.686011,32.420668],[102.686385,32.420546],[102.686758,32.420425],[102.68685,32.420395],[102.687132,32.420304],[102.687505,32.420182],[102.687749,32.420135],[102.687993,32.420087],[102.68835,32.419992],[102.688493,32.419968],[102.688719,32.419968],[102.688814,32.419956],[102.688945,32.419992],[102.6891,32.420123],[102.689442,32.420346],[102.689784,32.420569],[102.690126,32.420792],[102.690468,32.421015],[102.690801,32.421217],[102.691134,32.42142],[102.691274,32.421497],[102.691484,32.421613],[102.691693,32.421729],[102.692098,32.421833],[102.692503,32.421937],[102.692621,32.421967],[102.692907,32.422106],[102.693192,32.422244],[102.693478,32.422383],[102.693728,32.422502],[102.693978,32.422621],[102.694186,32.422794],[102.694394,32.422966],[102.694602,32.423169],[102.69481,32.423371],[102.695032,32.423625],[102.695255,32.423878],[102.695477,32.424132],[102.695534,32.424226],[102.695687,32.424475],[102.695897,32.424818],[102.696107,32.425161],[102.696317,32.425504],[102.696528,32.425847],[102.696738,32.42619],[102.69691,32.426488],[102.697083,32.426785],[102.697255,32.427083],[102.697428,32.42738],[102.697614,32.427725],[102.69765,32.427791],[102.697801,32.42807],[102.697987,32.428415],[102.69803,32.428514],[102.698165,32.428826],[102.698344,32.429236],[102.698395,32.42936],[102.698451,32.429498],[102.698592,32.4296],[102.698665,32.429653],[102.698903,32.429772],[102.699045,32.429819],[102.699248,32.429888],[102.699333,32.429916],[102.699593,32.430004],[102.699938,32.43012],[102.700283,32.430236],[102.700622,32.430432],[102.700961,32.430628],[102.701239,32.430747],[102.701517,32.430866],[102.701794,32.430985],[102.702205,32.431122],[102.702615,32.431259],[102.70283,32.431348],[102.702972,32.431407],[102.703329,32.431556],[102.703597,32.431723],[102.703864,32.431889],[102.704114,32.432187],[102.704441,32.432395],[102.704768,32.432603],[102.705113,32.432799],[102.705458,32.432996],[102.70583,32.433128],[102.706078,32.433216],[102.706327,32.433305],[102.706583,32.433454],[102.706839,32.433602],[102.707005,32.43365],[102.707219,32.433626],[102.707517,32.433495],[102.707722,32.433447],[102.707921,32.4334],[102.708225,32.433376],[102.708528,32.433353],[102.708814,32.433394],[102.709099,32.433436],[102.709504,32.433567],[102.709849,32.433769],[102.709854,32.433775],[102.710027,32.433971],[102.710164,32.434257],[102.710301,32.434542],[102.710432,32.43478],[102.710562,32.435018],[102.710729,32.43522],[102.710979,32.43528],[102.711324,32.435399],[102.711669,32.435518],[102.711851,32.435626],[102.712131,32.43578],[102.712411,32.435934],[102.712545,32.43601],[102.712649,32.436172],[102.712802,32.436515],[102.712954,32.436858],[102.713055,32.437082],[102.713157,32.437307],[102.713268,32.437552],[102.713411,32.437943],[102.713468,32.438142],[102.713531,32.43825],[102.713601,32.438371],[102.713815,32.438656],[102.714029,32.438942],[102.714291,32.439204],[102.714553,32.439465],[102.71491,32.439689],[102.715031,32.439765],[102.715267,32.439913],[102.715476,32.440022],[102.715685,32.440132],[102.715847,32.440265],[102.715876,32.44037],[102.715919,32.440665],[102.715961,32.44096],[102.715985,32.441279],[102.716009,32.441597],[102.715985,32.441761],[102.715971,32.441854],[102.715941,32.442132],[102.715913,32.442383],[102.715885,32.442635],[102.715886,32.442638],[102.715923,32.442844],[102.715941,32.442876],[102.716038,32.443054],[102.716223,32.443249],[102.716409,32.443444],[102.716605,32.44371],[102.716802,32.443977],[102.716999,32.444243],[102.717132,32.444481],[102.717208,32.444843],[102.71724,32.445259],[102.717272,32.445674],[102.717303,32.44609],[102.717367,32.446509],[102.71743,32.446927],[102.717494,32.447346],[102.717583,32.44766],[102.717671,32.447974],[102.71776,32.448288],[102.717804,32.448405],[102.717855,32.448545],[102.717989,32.448717],[102.718112,32.448888],[102.718465,32.449107],[102.718574,32.449179],[102.718757,32.449301],[102.719048,32.449494],[102.71934,32.449688],[102.719349,32.449691],[102.719621,32.449784],[102.719892,32.449878],[102.720268,32.449987],[102.720644,32.450097],[102.721015,32.450282],[102.721127,32.450338],[102.721387,32.450468],[102.721526,32.450524],[102.721608,32.450567],[102.721796,32.450678],[102.721824,32.450706],[102.721862,32.450868],[102.721834,32.451011],[102.721672,32.451229],[102.721577,32.451448],[102.721558,32.451734],[102.721558,32.451953],[102.721434,32.452324],[102.721305,32.452689],[102.721175,32.453055],[102.72112,32.453209],[102.720992,32.453533],[102.720863,32.453856],[102.720787,32.454113],[102.720673,32.454313],[102.720494,32.454394],[102.720378,32.454447],[102.720159,32.454542],[102.719987,32.454713],[102.719792,32.454999],[102.71979,32.455001],[102.719642,32.455218],[102.719597,32.455284],[102.719437,32.455552],[102.719276,32.455819],[102.719116,32.456087],[102.719026,32.456236],[102.718879,32.456474],[102.718731,32.456712],[102.718598,32.45694],[102.718512,32.457131],[102.718512,32.457245],[102.718655,32.45733],[102.718971,32.457495],[102.718778,32.457557],[102.718069,32.457644],[102.717122,32.45786],[102.715839,32.458306],[102.7153,32.458493],[102.713919,32.458767],[102.712851,32.459081],[102.711503,32.459589],[102.709838,32.460224],[102.708442,32.461098],[102.70796,32.461391],[102.707743,32.461523],[102.707325,32.461777],[102.705837,32.462569],[102.705694,32.462646],[102.70442,32.463321],[102.703025,32.464161],[102.702303,32.464747],[102.701285,32.464629],[102.699758,32.464468],[102.698109,32.464471],[102.696979,32.464118],[102.696354,32.464006],[102.696304,32.464007],[102.694665,32.464042],[102.693445,32.464153],[102.691914,32.464125],[102.691043,32.464409],[102.689386,32.464744],[102.688008,32.464885],[102.686659,32.465427],[102.685268,32.4661],[102.683992,32.466842],[102.682959,32.467322],[102.681996,32.468137],[102.680831,32.469147],[102.680198,32.469335],[102.679673,32.468394],[102.679419,32.467557],[102.678424,32.466573],[102.677165,32.465119],[102.676399,32.464406],[102.675509,32.46389],[102.673834,32.46336],[102.672971,32.463344],[102.671747,32.463587],[102.671317,32.463546],[102.671691,32.462721],[102.671722,32.461523],[102.67209,32.459433],[102.672349,32.458506],[102.672094,32.457769],[102.671048,32.457217],[102.669418,32.456488],[102.667513,32.455754],[102.666433,32.455002],[102.665082,32.454111],[102.66374,32.452888],[102.662891,32.452306],[102.662136,32.452314],[102.661713,32.452318],[102.66137,32.452311],[102.660497,32.452295],[102.659429,32.452575],[102.658992,32.4528],[102.65831,32.453353],[102.657613,32.454505],[102.656853,32.455057],[102.655635,32.455067],[102.654573,32.455181],[102.652817,32.456279],[102.651823,32.45676],[102.648767,32.458034],[102.648555,32.458134],[102.646926,32.45709],[102.645651,32.456373],[102.644645,32.455777],[102.643154,32.455518],[102.642086,32.455336],[102.642062,32.454784],[102.641667,32.453802],[102.64168,32.453283],[102.641417,32.453083],[102.640118,32.452994],[102.639168,32.452684],[102.638217,32.452438],[102.637417,32.452261],[102.636745,32.451631],[102.635926,32.450707],[102.635334,32.449916],[102.634595,32.448896],[102.634037,32.448268],[102.633699,32.448002],[102.633019,32.447665],[102.632531,32.447266],[102.631846,32.447091],[102.630589,32.44684],[102.629403,32.446785],[102.628138,32.446858],[102.627704,32.447337],[102.627062,32.448116],[102.626764,32.448476],[102.626755,32.448488],[102.626744,32.448499],[102.626046,32.449222],[102.625449,32.450087],[102.625067,32.450048],[102.624124,32.44951],[102.623403,32.449237],[102.622301,32.448924],[102.62145,32.448637],[102.620972,32.448476],[102.619525,32.448157],[102.619196,32.448167],[102.618222,32.448197],[102.618083,32.448202],[102.61711,32.448241],[102.61585,32.44812],[102.61501,32.448087],[102.614386,32.448063],[102.614205,32.448056],[102.61394,32.447994],[102.61341,32.447871],[102.612682,32.447702],[102.61112,32.447413],[102.609444,32.447056],[102.607959,32.446736],[102.606124,32.446636],[102.604169,32.446696],[102.603164,32.447034],[102.601913,32.448017],[102.601593,32.44829],[102.601388,32.448466],[102.601208,32.44862],[102.600517,32.448672],[102.599369,32.448618],[102.599103,32.44862],[102.598918,32.448621],[102.598772,32.448623],[102.598182,32.448628],[102.596761,32.448763],[102.596137,32.449205],[102.595746,32.44949],[102.59475,32.449504],[102.59391,32.449423],[102.593035,32.449211],[102.592622,32.448911],[102.592072,32.447959],[102.591138,32.447097],[102.589935,32.446262],[102.588311,32.445386],[102.586495,32.444572],[102.584527,32.44369],[102.583009,32.443174],[102.581255,32.442913],[102.580868,32.44287],[102.579498,32.442717],[102.579065,32.44266],[102.577781,32.442489],[102.576027,32.442228],[102.574966,32.441786],[102.573031,32.441131],[102.571286,32.440513],[102.569919,32.440065],[102.567794,32.439374],[102.566501,32.439025],[102.565743,32.438718],[102.565107,32.438186],[102.564399,32.437458],[102.563736,32.436471],[102.562842,32.435544],[102.562561,32.434597],[102.562118,32.434004],[102.561318,32.433826],[102.560255,32.433513],[102.558222,32.432841],[102.556984,32.432157],[102.556042,32.431289],[102.553949,32.429358],[102.553757,32.429224],[102.55254,32.428367],[102.550491,32.426704],[102.548578,32.425304],[102.548572,32.4253],[102.548567,32.425296],[102.548552,32.425285],[102.548521,32.425262],[102.548496,32.425244],[102.548491,32.425241],[102.54848,32.425234],[102.548362,32.425162],[102.5482,32.425063],[102.546613,32.424091],[102.54649,32.42401],[102.546463,32.423992],[102.544321,32.422575],[102.543751,32.422217],[102.543321,32.421947],[102.540902,32.420733],[102.538959,32.419788],[102.538835,32.419728],[102.538407,32.419519],[102.536887,32.418777],[102.535523,32.418344],[102.534512,32.418121],[102.534201,32.418159],[102.533943,32.418191],[102.533156,32.418286],[102.532712,32.41834],[102.532553,32.418385],[102.531386,32.41872],[102.529342,32.419085],[102.528362,32.419155],[102.527846,32.419192],[102.527664,32.419205],[102.526508,32.419228],[102.52509,32.419256],[102.523884,32.419232],[102.523122,32.419217],[102.521922,32.419193],[102.520065,32.419258],[102.518846,32.419234],[102.518773,32.419233],[102.516419,32.419186],[102.513727,32.419184],[102.512634,32.419771],[102.511778,32.420464],[102.511402,32.421066],[102.511323,32.421215],[102.511263,32.421327],[102.511246,32.421359],[102.511236,32.421379],[102.511223,32.421402],[102.510749,32.422294],[102.510708,32.422371],[102.510669,32.423791],[102.511394,32.425733],[102.512401,32.428239],[102.513938,32.43111],[102.514308,32.432894],[102.514031,32.434258],[102.513027,32.435963],[102.511793,32.437308],[102.510628,32.438351],[102.509176,32.438931],[102.507601,32.43961],[102.506141,32.440494],[102.50465,32.442494],[102.502618,32.444584],[102.501934,32.445535],[102.501265,32.445927],[102.500299,32.446213],[102.499732,32.447445],[102.498921,32.448001],[102.496884,32.448531],[102.495789,32.44825],[102.494777,32.447191],[102.493962,32.445668],[102.493447,32.444359],[102.492802,32.443308],[102.492528,32.44216],[102.492023,32.440487],[102.491511,32.439075],[102.491415,32.438086],[102.491259,32.437096],[102.490313,32.435882],[102.488331,32.43444],[102.487322,32.433277],[102.48649,32.432378],[102.485528,32.431735],[102.484503,32.431143],[102.48343,32.430083],[102.482739,32.428511],[102.482403,32.427362],[102.481591,32.425735],[102.481169,32.423285],[102.480743,32.420991],[102.480725,32.419433],[102.480701,32.418082],[102.480625,32.416418],[102.480722,32.415121],[102.481419,32.412071],[102.481512,32.41093],[102.481502,32.409111],[102.481535,32.407917],[102.481934,32.406782],[102.481957,32.405952],[102.481929,32.404757],[102.482146,32.403566],[102.48292,32.402127],[102.483981,32.401421],[102.485717,32.400625],[102.487793,32.39864],[102.488665,32.398086],[102.48943,32.397011],[102.490508,32.395682],[102.490781,32.394648],[102.490756,32.393349],[102.490554,32.391787],[102.490778,32.390337],[102.491056,32.386914],[102.491462,32.385519],[102.491141,32.383851],[102.491049,32.382758],[102.490598,32.381346],[102.490509,32.38015],[102.490542,32.378956],[102.490394,32.377654],[102.488845,32.376117],[102.488027,32.374698],[102.487249,32.374059],[102.486154,32.37383],[102.486108,32.373257],[102.486269,32.371858],[102.486611,32.370566],[102.48628,32.369261],[102.485027,32.368093],[102.484561,32.367252],[102.483433,32.365983],[102.482675,32.364617],[102.482273,32.363674],[102.482135,32.362009],[102.482039,32.361072],[102.481338,32.359864],[102.480688,32.359019],[102.479785,32.358482],[102.478407,32.357402],[102.476598,32.356457],[102.475767,32.356051],[102.47458,32.354728],[102.473468,32.353472],[102.472326,32.353254],[102.471258,32.353168],[102.470661,32.353029],[102.470346,32.352955],[102.468904,32.352536],[102.467467,32.351923],[102.466106,32.351376],[102.464668,32.350827],[102.462705,32.349879],[102.460597,32.348667],[102.458786,32.347787],[102.458579,32.347678],[102.456977,32.346841],[102.455953,32.34682],[102.455753,32.346816],[102.454523,32.347051],[102.454496,32.347052],[102.454452,32.347055],[102.453604,32.347097],[102.451698,32.346864],[102.450859,32.346782],[102.450575,32.346601],[102.45045,32.346521],[102.450444,32.346518],[102.450239,32.346387],[102.449807,32.346111],[102.449363,32.346021],[102.449228,32.346117],[102.449219,32.346108],[102.449134,32.346058],[102.448742,32.345895],[102.447984,32.345262],[102.447546,32.344897],[102.44698,32.343262],[102.446265,32.341494],[102.445203,32.33947],[102.444765,32.338635],[102.444755,32.338616],[102.444737,32.338582],[102.444719,32.338546],[102.444639,32.338395],[102.444552,32.338229],[102.441805,32.337214],[102.441275,32.337018],[102.441245,32.337007],[102.441061,32.336939],[102.440769,32.336831],[102.43883,32.336226],[102.438076,32.335918],[102.437753,32.335786],[102.437611,32.335728],[102.437505,32.335685],[102.437468,32.33567],[102.437419,32.335626],[102.437413,32.33562],[102.437005,32.335257],[102.436948,32.335206],[102.436784,32.334713],[102.437072,32.333964],[102.437296,32.333477],[102.437515,32.332959],[102.437551,32.331684],[102.437254,32.330243],[102.437252,32.330237],[102.437211,32.330039],[102.437177,32.32987],[102.43713,32.329646],[102.437047,32.329495],[102.436936,32.329295],[102.43685,32.329139],[102.436744,32.328948],[102.436634,32.32875],[102.436548,32.328594],[102.436481,32.328474],[102.436415,32.328355],[102.436403,32.328213],[102.436392,32.328078],[102.436313,32.327135],[102.435728,32.326079],[102.435735,32.325853],[102.435736,32.325798],[102.435756,32.325081],[102.435761,32.324933],[102.435784,32.324108],[102.435787,32.324072],[102.435809,32.32385],[102.43588,32.323124],[102.435498,32.322131],[102.435123,32.320905],[102.434873,32.320088],[102.434672,32.319572],[102.434554,32.31927],[102.434412,32.318963],[102.434182,32.318469],[102.434105,32.318304],[102.433846,32.317747],[102.433206,32.316368],[102.433116,32.315485],[102.432948,32.314634],[102.432878,32.313389],[102.432877,32.313361],[102.432877,32.313359],[102.432875,32.313349],[102.432875,32.313348],[102.432874,32.313331],[102.432871,32.313262],[102.432873,32.31325],[102.432892,32.313138],[102.43301,32.312416],[102.433662,32.311092],[102.434185,32.310287],[102.434708,32.309417],[102.435152,32.308676],[102.435335,32.307636],[102.435919,32.305984],[102.436223,32.30475],[102.436339,32.30335],[102.436629,32.302605],[102.436964,32.301633],[102.436959,32.300459],[102.436929,32.298794],[102.437037,32.297687],[102.437007,32.297452],[102.436785,32.295692],[102.436772,32.295461],[102.436747,32.295033],[102.436708,32.294353],[102.436507,32.293305],[102.436316,32.291898],[102.436036,32.290947],[102.435917,32.289704],[102.436169,32.288678],[102.436182,32.288624],[102.436194,32.288578],[102.436202,32.288543],[102.436235,32.288407],[102.436307,32.288114],[102.436334,32.287824],[102.436342,32.287743],[102.436418,32.286909],[102.436614,32.285412],[102.43739,32.283764],[102.437437,32.283638],[102.437464,32.283566],[102.437639,32.283096],[102.437764,32.28276],[102.438077,32.281961],[102.438138,32.281807],[102.438715,32.280333],[102.4387,32.279674],[102.438698,32.279582],[102.438861,32.278874],[102.438884,32.278774],[102.438982,32.278347],[102.439004,32.278251],[102.439146,32.278018],[102.439512,32.277416],[102.439729,32.277058],[102.440042,32.276506],[102.440265,32.276111],[102.440295,32.276059],[102.441318,32.275166],[102.442267,32.274206],[102.442676,32.273379],[102.442715,32.273302],[102.442814,32.272488],[102.443153,32.271353],[102.443212,32.270637],[102.443232,32.269919],[102.443138,32.269167],[102.443246,32.268412],[102.443258,32.268332],[102.443329,32.267833],[102.44334,32.267658],[102.443397,32.266791],[102.443412,32.266237],[102.443079,32.265806],[102.442676,32.265112],[102.441852,32.264378],[102.441138,32.263809],[102.440476,32.262784],[102.439117,32.261941],[102.438684,32.260953],[102.438684,32.260652],[102.438684,32.260357],[102.438685,32.25955],[102.438666,32.259208],[102.438634,32.258636],[102.438868,32.258063],[102.438964,32.257827],[102.439515,32.257349],[102.439681,32.256895],[102.439581,32.256575],[102.439525,32.256395],[102.439364,32.255878],[102.438638,32.254395],[102.438405,32.253118],[102.438039,32.252164],[102.437815,32.251581],[102.437761,32.251441],[102.43736,32.250654],[102.437106,32.250155],[102.437021,32.249991],[102.43699,32.24993],[102.436342,32.248671],[102.436359,32.248052],[102.4364,32.247982],[102.436461,32.247878],[102.436559,32.247711],[102.436687,32.247494],[102.436843,32.247229],[102.437004,32.246956],[102.437136,32.246815],[102.43739,32.246546],[102.437637,32.246283],[102.437652,32.246254],[102.437776,32.246008],[102.437881,32.245799],[102.437759,32.245448],[102.437653,32.245144],[102.437561,32.244879],[102.437409,32.244509],[102.437305,32.244257],[102.43712,32.243808],[102.436897,32.243267],[102.436716,32.242829],[102.436598,32.242544],[102.436524,32.242362],[102.436425,32.242124],[102.436197,32.24157],[102.436012,32.241121],[102.435746,32.240476],[102.435513,32.239911],[102.43535,32.239616],[102.435111,32.239185],[102.434893,32.238843],[102.43467,32.238491],[102.434286,32.238198],[102.433961,32.237949],[102.433618,32.237687],[102.433231,32.237395],[102.432801,32.237072],[102.432415,32.236781],[102.431821,32.236423],[102.431154,32.23602],[102.430659,32.235721],[102.430175,32.235429],[102.429741,32.235167],[102.429395,32.234958],[102.428998,32.234783],[102.428598,32.234556],[102.428109,32.234279],[102.427614,32.234056],[102.427028,32.233792],[102.426517,32.233562],[102.426057,32.233454],[102.425297,32.233276],[102.424565,32.233198],[102.424149,32.233154],[102.42345,32.23314],[102.422776,32.233126],[102.422269,32.233116],[102.421705,32.233208],[102.421206,32.23329],[102.420495,32.233406],[102.419798,32.23362],[102.419399,32.233719],[102.419766,32.23299],[102.420302,32.231677],[102.420339,32.230355],[102.420318,32.230043],[102.420208,32.228394],[102.419875,32.226958],[102.419912,32.225636],[102.419688,32.224732],[102.419273,32.223626],[102.419167,32.223345],[102.419013,32.222177],[102.418602,32.221322],[102.417815,32.220512],[102.417531,32.219554],[102.417613,32.218867],[102.418141,32.21782],[102.418535,32.217087],[102.419814,32.215896],[102.419914,32.215689],[102.419942,32.215631],[102.420144,32.215214],[102.420069,32.215005],[102.420014,32.214855],[102.419855,32.214414],[102.419601,32.214079],[102.419035,32.213332],[102.418648,32.212336],[102.417692,32.211151],[102.417605,32.211043],[102.417051,32.210043],[102.416984,32.209705],[102.416927,32.209422],[102.416782,32.208527],[102.416637,32.207632],[102.416547,32.20681],[102.416104,32.206066],[102.415356,32.204808],[102.414411,32.204114],[102.413637,32.203423],[102.413632,32.203286],[102.413614,32.202796],[102.413605,32.202554],[102.413513,32.202148],[102.413353,32.20144],[102.41318,32.201208],[102.412911,32.200846],[102.41282,32.200724],[102.412705,32.200569],[102.412587,32.20041],[102.412478,32.200265],[102.412438,32.200171],[102.412379,32.200033],[102.412318,32.199855],[102.412229,32.199627],[102.412156,32.199442],[102.412074,32.199232],[102.412002,32.199049],[102.411959,32.19887],[102.411933,32.198756],[102.411898,32.198606],[102.411863,32.198457],[102.4118,32.198187],[102.411547,32.19711],[102.411356,32.196353],[102.411247,32.19592],[102.410986,32.194881],[102.410968,32.19354],[102.410968,32.19353],[102.410954,32.19333],[102.410847,32.191792],[102.410594,32.190966],[102.410432,32.190433],[102.410091,32.189611],[102.409848,32.189023],[102.40958,32.188638],[102.409432,32.188425],[102.409318,32.188261],[102.409303,32.18824],[102.408992,32.187221],[102.408253,32.185277],[102.407528,32.184828],[102.406406,32.184419],[102.40533,32.184349],[102.404833,32.183904],[102.404709,32.183709],[102.404692,32.183682],[102.404271,32.183019],[102.404182,32.182879],[102.403964,32.182536],[102.403043,32.181022],[102.402338,32.179899],[102.401627,32.178968],[102.40031,32.177446],[102.399263,32.176363],[102.398376,32.17567],[102.396988,32.174629],[102.395433,32.173487],[102.394544,32.172842],[102.393159,32.171705],[102.391037,32.170552],[102.388857,32.169446],[102.387477,32.168163],[102.387211,32.167531],[102.387169,32.167444],[102.387355,32.167478],[102.387528,32.167489],[102.387694,32.167454],[102.387903,32.167376],[102.388093,32.16724],[102.388224,32.167008],[102.388378,32.166609],[102.388468,32.16635],[102.388557,32.166092],[102.388557,32.165741],[102.388483,32.165467],[102.388408,32.165193],[102.388269,32.16492],[102.38813,32.164646],[102.388069,32.164527],[102.387938,32.164343],[102.387807,32.164158],[102.387665,32.163944],[102.387522,32.16373],[102.387385,32.163343],[102.387296,32.163086],[102.387208,32.162829],[102.387141,32.162635],[102.387037,32.16243],[102.386933,32.162225],[102.386927,32.161945],[102.386992,32.161577],[102.387023,32.16152],[102.387153,32.161285],[102.387266,32.161035],[102.387349,32.160782],[102.38745,32.16047],[102.387474,32.160232],[102.387456,32.159982],[102.387385,32.159792],[102.387364,32.159737],[102.387278,32.159506],[102.387278,32.159268],[102.387278,32.159031],[102.387278,32.158644],[102.38729,32.158394],[102.387302,32.158144],[102.38739,32.157894],[102.387478,32.157644],[102.387522,32.15752],[102.387599,32.157151],[102.387641,32.156871],[102.387635,32.156759],[102.387629,32.156657],[102.387605,32.156422],[102.387581,32.156187],[102.387599,32.156032],[102.387676,32.155902],[102.387885,32.155705],[102.388194,32.15539],[102.388372,32.15517],[102.388408,32.155039],[102.388551,32.154753],[102.388735,32.154504],[102.388902,32.154349],[102.388932,32.154312],[102.388958,32.154279],[102.389229,32.153944],[102.389515,32.153724],[102.389735,32.153451],[102.389961,32.153284],[102.390127,32.153058],[102.390252,32.152838],[102.390336,32.152707],[102.390371,32.152546],[102.390371,32.152404],[102.390318,32.152094],[102.390264,32.151785],[102.390264,32.151601],[102.390217,32.151398],[102.390062,32.151214],[102.38983,32.15103],[102.389598,32.150845],[102.389598,32.150845],[102.38936,32.150685],[102.389289,32.150625],[102.389267,32.15048],[102.389235,32.150268],[102.389283,32.149822],[102.389238,32.149557],[102.389193,32.149293],[102.389125,32.149019],[102.389057,32.148745],[102.389068,32.148608],[102.389098,32.148537],[102.38917,32.148489],[102.389515,32.148388],[102.389729,32.148308],[102.389943,32.148228],[102.390108,32.148185],[102.390377,32.148115],[102.390432,32.148112],[102.39074,32.148097],[102.391008,32.148133],[102.39121,32.148139],[102.391472,32.148097],[102.391766,32.148008],[102.392061,32.147918],[102.392459,32.14785],[102.392858,32.147782],[102.39323,32.147683],[102.393601,32.147585],[102.394024,32.147496],[102.394458,32.147383],[102.394862,32.147222],[102.395112,32.147008],[102.395231,32.146788],[102.395321,32.146479],[102.395333,32.146349],[102.395369,32.145991],[102.395404,32.145634],[102.395422,32.145361],[102.395535,32.145013],[102.395648,32.144665],[102.395802,32.144349],[102.395892,32.144117],[102.395892,32.143757],[102.395892,32.143397],[102.395945,32.143035],[102.396022,32.142862],[102.396124,32.142761],[102.396326,32.142654],[102.396458,32.142588],[102.39679,32.142422],[102.396998,32.142345],[102.397171,32.142339],[102.397309,32.142365],[102.397355,32.142374],[102.397522,32.142434],[102.39764,32.142446],[102.397861,32.142428],[102.398096,32.142356],[102.398331,32.142285],[102.398705,32.142166],[102.398961,32.142047],[102.399205,32.141988],[102.399479,32.141898],[102.399776,32.141768],[102.399961,32.141698],[102.400091,32.141649],[102.400401,32.141536],[102.40074,32.141488],[102.400978,32.141428],[102.401293,32.141256],[102.401513,32.141149],[102.401733,32.141042],[102.402138,32.140887],[102.402459,32.140798],[102.402634,32.140637],[102.40281,32.140477],[102.402991,32.140254],[102.403173,32.140031],[102.403446,32.139697],[102.403571,32.13937],[102.403666,32.138966],[102.403747,32.138524],[102.403828,32.138082],[102.403846,32.137999],[102.403903,32.137736],[102.403935,32.137371],[102.404,32.137172],[102.404022,32.137138],[102.404117,32.136993],[102.404264,32.136822],[102.40441,32.13665],[102.404567,32.136408],[102.404724,32.136165],[102.405028,32.135847],[102.405095,32.135756],[102.40516,32.135669],[102.405238,32.135483],[102.405252,32.135351],[102.405299,32.135259],[102.405374,32.135255],[102.405481,32.135269],[102.405566,32.135291],[102.405616,32.135312],[102.405789,32.135348],[102.405938,32.135383],[102.406051,32.135461],[102.406134,32.135496],[102.406223,32.13552],[102.406378,32.135538],[102.406574,32.13555],[102.406818,32.135598],[102.407074,32.135675],[102.407229,32.135705],[102.407417,32.135705],[102.407603,32.13568],[102.407845,32.135648],[102.408088,32.135616],[102.408348,32.135606],[102.408608,32.135595],[102.408869,32.135585],[102.409129,32.135574],[102.409514,32.13553],[102.409884,32.135487],[102.41013,32.13542],[102.410375,32.135354],[102.410488,32.135282],[102.410566,32.13514],[102.410619,32.135021],[102.410738,32.134967],[102.410946,32.134967],[102.411101,32.135021],[102.41122,32.13514],[102.411369,32.135235],[102.411506,32.135282],[102.411874,32.135342],[102.412243,32.135401],[102.412535,32.135434],[102.412666,32.135449],[102.412957,32.135491],[102.413314,32.135693],[102.413558,32.135865],[102.413654,32.136022],[102.413796,32.136252],[102.413927,32.136612],[102.414058,32.136972],[102.414257,32.137262],[102.414456,32.137552],[102.414462,32.137561],[102.414617,32.137715],[102.414736,32.137787],[102.414873,32.137864],[102.415057,32.137894],[102.415417,32.138001],[102.415777,32.138108],[102.416205,32.138173],[102.416336,32.138179],[102.416526,32.138167],[102.416806,32.138096],[102.417234,32.138066],[102.417549,32.138025],[102.417712,32.13802],[102.418136,32.138007],[102.418561,32.137995],[102.418858,32.138007],[102.419072,32.138072],[102.419179,32.13815],[102.41928,32.13834],[102.41934,32.138377],[102.41941,32.138421],[102.419674,32.138564],[102.420003,32.138635],[102.42022,32.138667],[102.420338,32.138685],[102.420406,32.138693],[102.420681,32.138728],[102.420981,32.138756],[102.421209,32.138735],[102.421437,32.138678],[102.421759,32.138728],[102.421923,32.138835],[102.42213,32.13902],[102.422401,32.139177],[102.42263,32.139335],[102.422972,32.139484],[102.423179,32.139542],[102.423415,32.139777],[102.423661,32.139955],[102.423938,32.140155],[102.424214,32.140355],[102.424443,32.140473],[102.424671,32.140591],[102.424892,32.140719],[102.425042,32.140762],[102.425406,32.140841],[102.42577,32.140798],[102.425899,32.140698],[102.42602,32.140441],[102.426183,32.140161],[102.426199,32.140134],[102.426497,32.13987],[102.426796,32.139606],[102.427094,32.139342],[102.427392,32.139078],[102.427691,32.138813],[102.427878,32.138647],[102.428066,32.138482],[102.428312,32.138264],[102.428554,32.137982],[102.428797,32.1377],[102.429,32.137336],[102.429111,32.137136],[102.429354,32.136879],[102.429697,32.136636],[102.430018,32.136472],[102.430308,32.136363],[102.430598,32.136253],[102.430889,32.136144],[102.431205,32.136025],[102.431522,32.135906],[102.431838,32.135787],[102.432107,32.135639],[102.432376,32.135492],[102.432645,32.135344],[102.432852,32.135116],[102.433059,32.134887],[102.433284,32.134627],[102.433508,32.134366],[102.433662,32.134145],[102.433815,32.133924],[102.434046,32.133729],[102.434277,32.133533],[102.434508,32.133338],[102.434851,32.133081],[102.43515,32.133081],[102.435429,32.133096],[102.435821,32.133074],[102.436082,32.133059],[102.436314,32.133046],[102.436571,32.133003],[102.436935,32.132953],[102.437231,32.132899],[102.437527,32.132846],[102.437824,32.132757],[102.43812,32.132667],[102.438434,32.132477],[102.438748,32.132287],[102.439062,32.132096],[102.439419,32.131868],[102.439776,32.131639],[102.439976,32.131486],[102.440176,32.131332],[102.440368,32.13099],[102.440383,32.130633],[102.440383,32.130269],[102.440354,32.129998],[102.440254,32.129783],[102.44039,32.129498],[102.44049,32.129319],[102.440504,32.129227],[102.440461,32.129062],[102.440297,32.128805],[102.44023,32.128738],[102.440097,32.128606],[102.439933,32.128527],[102.439862,32.128434],[102.439776,32.128199],[102.43969,32.12796],[102.439605,32.12772],[102.439565,32.127496],[102.439526,32.127271],[102.4395,32.127214],[102.439401,32.127035],[102.439281,32.126817],[102.438974,32.126494],[102.438667,32.12617],[102.438505,32.125999],[102.438343,32.125828],[102.438181,32.125657],[102.438018,32.125486],[102.437856,32.125315],[102.437694,32.125144],[102.437643,32.125111],[102.437358,32.124932],[102.437073,32.124753],[102.436834,32.124669],[102.436596,32.124585],[102.436377,32.124455],[102.436308,32.124264],[102.436407,32.124045],[102.436506,32.123826],[102.436685,32.123624],[102.436864,32.123422],[102.437043,32.123221],[102.437221,32.123019],[102.4374,32.122817],[102.437579,32.122615],[102.437725,32.122397],[102.43787,32.122179],[102.438035,32.121933],[102.438285,32.1217],[102.438536,32.121467],[102.438639,32.121389],[102.438736,32.121315],[102.438984,32.121086],[102.43906,32.120763],[102.439079,32.120511],[102.439098,32.120258],[102.43912,32.120108],[102.439167,32.119792],[102.439214,32.119476],[102.439203,32.119166],[102.43915,32.118934],[102.439143,32.118904],[102.43906,32.118571],[102.439131,32.118197],[102.439203,32.117822],[102.439274,32.117596],[102.439345,32.11737],[102.439512,32.117156],[102.439726,32.117048],[102.43994,32.116941],[102.440285,32.116822],[102.44046,32.116807],[102.44069,32.116787],[102.441005,32.116822],[102.44132,32.116858],[102.44153,32.116767],[102.441741,32.116676],[102.442095,32.116399],[102.442449,32.116122],[102.442716,32.115989],[102.442984,32.115855],[102.443103,32.115849],[102.443258,32.115885],[102.443371,32.115944],[102.443555,32.115986],[102.443799,32.116039],[102.443948,32.116057],[102.444186,32.116093],[102.444388,32.116099],[102.444389,32.116099],[102.44439,32.1161],[102.444548,32.116176],[102.444691,32.116277],[102.444858,32.116456],[102.444983,32.116634],[102.445274,32.116842],[102.445595,32.117068],[102.445881,32.117202],[102.446166,32.117336],[102.446378,32.117479],[102.446589,32.117622],[102.446922,32.117842],[102.447166,32.117883],[102.447493,32.117836],[102.447707,32.117806],[102.448058,32.117812],[102.448415,32.117859],[102.448576,32.117854],[102.448837,32.117804],[102.448921,32.117788],[102.449147,32.117776],[102.449373,32.117764],[102.449783,32.117782],[102.450194,32.117824],[102.45058,32.117919],[102.450884,32.11802],[102.451005,32.118055],[102.45111,32.118086],[102.451264,32.118086],[102.451455,32.118032],[102.451669,32.117984],[102.451923,32.117786],[102.452177,32.117588],[102.45243,32.11739],[102.452567,32.117265],[102.45257,32.117248],[102.452597,32.117098],[102.452591,32.116872],[102.452591,32.116711],[102.45265,32.116503],[102.452817,32.116283],[102.452984,32.116063],[102.453177,32.11587],[102.45337,32.115676],[102.453715,32.115522],[102.453938,32.115438],[102.454161,32.115355],[102.454322,32.115273],[102.454646,32.115106],[102.45497,32.114939],[102.455318,32.114745],[102.455666,32.114552],[102.45597,32.114362],[102.456136,32.1141],[102.456184,32.11388],[102.456184,32.113851],[102.456184,32.113648],[102.456184,32.113422],[102.456285,32.113148],[102.456422,32.112976],[102.45669,32.112809],[102.457076,32.112583],[102.457317,32.112321],[102.457558,32.11206],[102.45778,32.111802],[102.457927,32.111631],[102.458147,32.111334],[102.458367,32.111036],[102.458617,32.110665],[102.458867,32.110293],[102.459049,32.110132],[102.459232,32.109972],[102.459421,32.109805],[102.45961,32.109638],[102.459848,32.109496],[102.460134,32.109436],[102.460425,32.109436],[102.460654,32.109484],[102.460883,32.109531],[102.460894,32.109532],[102.461199,32.109561],[102.461395,32.109555],[102.461657,32.109525],[102.461924,32.109454],[102.462109,32.109448],[102.462299,32.109448],[102.462466,32.109424],[102.462698,32.109335],[102.462765,32.109305],[102.463138,32.109139],[102.463271,32.109087],[102.463489,32.109002],[102.46384,32.108865],[102.464084,32.108818],[102.46434,32.108823],[102.464578,32.108853],[102.464708,32.108859],[102.464804,32.108859],[102.464917,32.108835],[102.465053,32.108764],[102.465143,32.108764],[102.465262,32.108794],[102.465375,32.108794],[102.465523,32.108758],[102.465624,32.108722],[102.465708,32.108705],[102.465845,32.108746],[102.465922,32.10877],[102.465981,32.10877],[102.466124,32.108764],[102.466285,32.108716],[102.466428,32.108716],[102.466573,32.108793],[102.466642,32.108829],[102.466856,32.108942],[102.466999,32.10902],[102.467141,32.109044],[102.467344,32.10902],[102.467516,32.108966],[102.467748,32.108806],[102.468046,32.108609],[102.468343,32.108413],[102.468605,32.108285],[102.468866,32.108157],[102.469146,32.107973],[102.469426,32.107788],[102.469673,32.10755],[102.469919,32.107313],[102.470065,32.107109],[102.470211,32.106906],[102.470401,32.10664],[102.470657,32.106301],[102.470734,32.106057],[102.470758,32.105843],[102.4708,32.10557],[102.470949,32.105367],[102.471127,32.105183],[102.471157,32.105064],[102.471109,32.104975],[102.470972,32.104862],[102.470889,32.104695],[102.470835,32.104261],[102.470762,32.103861],[102.470711,32.103583],[102.470687,32.10325],[102.470722,32.103053],[102.470865,32.102798],[102.471076,32.102542],[102.471288,32.102286],[102.471298,32.102262],[102.471472,32.101864],[102.471484,32.101709],[102.471389,32.101483],[102.471308,32.101221],[102.471228,32.100959],[102.470978,32.100686],[102.470835,32.100555],[102.470776,32.100329],[102.470865,32.100049],[102.471127,32.099782],[102.471347,32.099544],[102.471407,32.099341],[102.471347,32.099121],[102.47124,32.098919],[102.471189,32.098544],[102.471139,32.098169],[102.471118,32.098068],[102.471032,32.097652],[102.470984,32.097283],[102.470895,32.097134],[102.470788,32.097039],[102.470454,32.096894],[102.470294,32.096825],[102.470104,32.096801],[102.469967,32.096658],[102.469878,32.096462],[102.469717,32.096313],[102.469551,32.09623],[102.469503,32.096177],[102.469557,32.095909],[102.469723,32.095582],[102.469907,32.095255],[102.469949,32.094969],[102.470044,32.094535],[102.470047,32.094237],[102.47005,32.09394],[102.470074,32.093559],[102.470145,32.093321],[102.470306,32.093125],[102.470592,32.092917],[102.470818,32.092679],[102.470978,32.092441],[102.471112,32.092248],[102.471246,32.092054],[102.471418,32.091923],[102.471627,32.091864],[102.471918,32.091804],[102.472275,32.091715],[102.472558,32.091632],[102.47284,32.091549],[102.473251,32.091507],[102.47357,32.091545],[102.473602,32.091549],[102.473923,32.091644],[102.474232,32.091679],[102.47444,32.091632],[102.474666,32.091549],[102.474892,32.091465],[102.475038,32.091423],[102.475297,32.091346],[102.475678,32.091264],[102.476059,32.091181],[102.47627,32.091146],[102.476527,32.091104],[102.476784,32.091062],[102.477042,32.09102],[102.477299,32.090978],[102.477556,32.090935],[102.477813,32.090893],[102.478068,32.090861],[102.478322,32.090829],[102.478576,32.090797],[102.478831,32.090765],[102.478955,32.090749],[102.479217,32.090722],[102.479342,32.0907],[102.479565,32.090666],[102.479787,32.090632],[102.480011,32.090597],[102.480235,32.090562],[102.48028,32.090548],[102.480692,32.09049],[102.480918,32.090377],[102.481079,32.090264],[102.481281,32.090103],[102.481286,32.090095],[102.481466,32.089818],[102.48162,32.08949],[102.481727,32.089086],[102.481727,32.088664],[102.48167,32.088362],[102.481612,32.088061],[102.481555,32.087759],[102.481534,32.087521],[102.481513,32.087283],[102.481427,32.086888],[102.481341,32.086492],[102.481258,32.086195],[102.481228,32.085868],[102.481311,32.08557],[102.481377,32.085291],[102.481347,32.085071],[102.481258,32.084761],[102.481269,32.084422],[102.481335,32.084143],[102.4814,32.083863],[102.48142,32.083796],[102.481466,32.083637],[102.481531,32.08353],[102.481799,32.083334],[102.482004,32.083078],[102.482209,32.082822],[102.482299,32.082513],[102.482275,32.082239],[102.482215,32.082049],[102.482074,32.081797],[102.481936,32.081549],[102.481846,32.081323],[102.481846,32.081198],[102.481874,32.081151],[102.481962,32.081005],[102.482078,32.080811],[102.4822,32.080558],[102.482322,32.080306],[102.482326,32.080293],[102.482375,32.080123],[102.482494,32.079708],[102.482614,32.079294],[102.482706,32.079071],[102.482798,32.078848],[102.482887,32.078598],[102.482852,32.078491],[102.482673,32.078322],[102.482495,32.078152],[102.482435,32.077974],[102.482423,32.077831],[102.482402,32.077813],[102.482334,32.07776],[102.482186,32.0777],[102.48209,32.077545],[102.482078,32.077266],[102.482144,32.07698],[102.482293,32.076719],[102.482385,32.076501],[102.482477,32.076284],[102.482534,32.076061],[102.48259,32.075838],[102.482653,32.075505],[102.482717,32.075172],[102.48278,32.074839],[102.482864,32.074482],[102.482965,32.074381],[102.482995,32.07438],[102.483185,32.074375],[102.48334,32.074375],[102.483589,32.074321],[102.483893,32.074259],[102.484196,32.074196],[102.484473,32.074134],[102.484749,32.074071],[102.485008,32.074083],[102.485267,32.074095],[102.485618,32.074149],[102.485903,32.074149],[102.486141,32.074122],[102.486379,32.074095],[102.486748,32.074006],[102.486992,32.074006],[102.487236,32.074006],[102.487253,32.074005],[102.487462,32.073988],[102.487587,32.073905],[102.487759,32.073804],[102.488063,32.07375],[102.488206,32.073679],[102.488366,32.073542],[102.488527,32.073441],[102.48886,32.07334],[102.48892,32.07332],[102.489163,32.073239],[102.489247,32.073209],[102.489258,32.07309],[102.489223,32.0729],[102.489092,32.072566],[102.488967,32.072364],[102.488759,32.072227],[102.488551,32.072091],[102.488313,32.071948],[102.488152,32.071805],[102.487938,32.071466],[102.48777,32.071215],[102.487602,32.070964],[102.487444,32.070728],[102.487349,32.070496],[102.487284,32.070223],[102.487278,32.069901],[102.487236,32.06964],[102.4872,32.069483],[102.487176,32.069378],[102.487218,32.069125],[102.48726,32.068872],[102.487397,32.068539],[102.487391,32.06839],[102.487343,32.068331],[102.487176,32.068254],[102.487016,32.068075],[102.486861,32.06779],[102.486706,32.067564],[102.486588,32.067355],[102.486528,32.06704],[102.486514,32.066731],[102.4865,32.066421],[102.486486,32.066112],[102.486466,32.065877],[102.486445,32.065642],[102.486428,32.065553],[102.486391,32.065357],[102.48634,32.065302],[102.486147,32.065095],[102.486108,32.065035],[102.485952,32.064794],[102.485796,32.064554],[102.485668,32.064325],[102.485541,32.064096],[102.485416,32.063786],[102.485332,32.063423],[102.485286,32.063325],[102.485231,32.063209],[102.485255,32.062953],[102.485368,32.062775],[102.485606,32.062555],[102.48571,32.062353],[102.485814,32.06215],[102.48584,32.062081],[102.485963,32.061752],[102.486096,32.061472],[102.486229,32.061193],[102.486361,32.060913],[102.486546,32.060702],[102.48673,32.060491],[102.486828,32.06028],[102.486927,32.060068],[102.487006,32.059775],[102.487085,32.059481],[102.487165,32.059188],[102.48722,32.058883],[102.487276,32.058577],[102.487331,32.058272],[102.487329,32.058243],[102.487301,32.057897],[102.48748,32.057582],[102.487692,32.057354],[102.487724,32.05732],[102.487843,32.056969],[102.487843,32.056808],[102.487799,32.056725],[102.487789,32.056707],[102.487694,32.056606],[102.487587,32.056523],[102.487456,32.056422],[102.487414,32.056124],[102.487527,32.055714],[102.487611,32.055303],[102.487543,32.05496],[102.487476,32.054617],[102.487408,32.054274],[102.487285,32.053935],[102.487266,32.053882],[102.487123,32.053507],[102.487004,32.053293],[102.486712,32.053001],[102.486546,32.052757],[102.486414,32.052368],[102.486281,32.05198],[102.486254,32.051901],[102.486131,32.05156],[102.486058,32.05136],[102.485933,32.051116],[102.48579,32.051014],[102.485592,32.050953],[102.485523,32.050931],[102.485112,32.050901],[102.484714,32.050842],[102.484428,32.050782],[102.484083,32.050658],[102.483821,32.050497],[102.483598,32.050274],[102.483375,32.050051],[102.483232,32.049777],[102.483195,32.049647],[102.483143,32.049468],[102.483066,32.04923],[102.482917,32.049123],[102.482483,32.049016],[102.482132,32.048921],[102.481727,32.048808],[102.481341,32.048766],[102.481088,32.048775],[102.480835,32.048784],[102.480556,32.048927],[102.480276,32.049069],[102.479901,32.049218],[102.479526,32.049367],[102.479114,32.049439],[102.478702,32.049511],[102.47861,32.049527],[102.478313,32.049581],[102.478016,32.049634],[102.477718,32.049688],[102.477337,32.049819],[102.476957,32.04995],[102.476788,32.050007],[102.476399,32.050139],[102.476011,32.050271],[102.475776,32.050292],[102.475541,32.050313],[102.475309,32.050271],[102.475184,32.050081],[102.475092,32.04981],[102.475,32.049539],[102.474863,32.049272],[102.474512,32.049031],[102.474161,32.04879],[102.473843,32.048587],[102.473524,32.048385],[102.47326,32.048347],[102.472995,32.048308],[102.472791,32.048354],[102.472578,32.048403],[102.472305,32.048427],[102.472108,32.04832],[102.471954,32.048135],[102.47165,32.048082],[102.471362,32.048028],[102.471073,32.047975],[102.470713,32.047877],[102.470352,32.04778],[102.470351,32.047779],[102.470348,32.047778],[102.470003,32.047731],[102.469741,32.047776],[102.469729,32.047778],[102.469336,32.047874],[102.469051,32.047862],[102.468876,32.04777],[102.468813,32.047737],[102.468521,32.047653],[102.468284,32.047662],[102.468046,32.047671],[102.46763,32.047689],[102.467423,32.047697],[102.467215,32.047706],[102.467046,32.047713],[102.466624,32.047814],[102.466201,32.047915],[102.465955,32.047966],[102.465708,32.048016],[102.465309,32.04801],[102.465095,32.047933],[102.465006,32.047683],[102.46492,32.047433],[102.464833,32.047184],[102.464732,32.046934],[102.464716,32.046821],[102.464696,32.046684],[102.464685,32.046297],[102.464631,32.04603],[102.464512,32.04575],[102.464429,32.045518],[102.464203,32.045357],[102.464084,32.045316],[102.463929,32.045203],[102.463893,32.04509],[102.463905,32.044822],[102.463923,32.044542],[102.463998,32.044218],[102.464072,32.043894],[102.464213,32.04361],[102.464354,32.043325],[102.464548,32.042936],[102.464619,32.04274],[102.464613,32.042555],[102.464566,32.042139],[102.464566,32.041895],[102.464662,32.041631],[102.464759,32.041367],[102.46481,32.041229],[102.464829,32.041092],[102.464866,32.040836],[102.464923,32.040444],[102.464923,32.040164],[102.464869,32.040015],[102.464661,32.039789],[102.464542,32.039581],[102.464471,32.039378],[102.464346,32.039016],[102.464232,32.038784],[102.464119,32.038552],[102.46392,32.038287],[102.463721,32.038023],[102.463435,32.037823],[102.46315,32.037624],[102.462918,32.037517],[102.462698,32.037481],[102.462293,32.03744],[102.462004,32.037359],[102.461714,32.037278],[102.461424,32.037197],[102.461335,32.037172],[102.461252,32.037101],[102.461205,32.036988],[102.461205,32.036756],[102.461222,32.036345],[102.46127,32.035911],[102.461336,32.035666],[102.461401,32.03542],[102.461461,32.035199],[102.46152,32.034977],[102.461588,32.034751],[102.461657,32.034525],[102.461829,32.03415],[102.461972,32.033817],[102.462049,32.033606],[102.462127,32.033395],[102.462174,32.033067],[102.462189,32.032728],[102.462204,32.032389],[102.46224,32.03213],[102.462275,32.031872],[102.462301,32.031707],[102.462341,32.031443],[102.462335,32.031057],[102.462263,32.030747],[102.462148,32.03036],[102.462145,32.030349],[102.462133,32.030269],[102.462109,32.030099],[102.462109,32.029754],[102.462159,32.029507],[102.46221,32.02926],[102.46229,32.028847],[102.462371,32.028433],[102.462375,32.028422],[102.46248,32.028163],[102.462585,32.027904],[102.462668,32.027636],[102.462751,32.027369],[102.462888,32.026958],[102.462906,32.026595],[102.462823,32.026185],[102.462722,32.025956],[102.46262,32.025727],[102.462583,32.025671],[102.462382,32.025376],[102.462281,32.025174],[102.462216,32.02484],[102.462134,32.024578],[102.462133,32.024573],[102.46199,32.024287],[102.46193,32.024085],[102.461883,32.023651],[102.461895,32.023288],[102.461907,32.022925],[102.461918,32.022562],[102.461901,32.022125],[102.461883,32.021688],[102.461901,32.021509],[102.462002,32.021206],[102.462186,32.020929],[102.462371,32.020653],[102.46254,32.020373],[102.46271,32.020093],[102.462775,32.019817],[102.46284,32.01954],[102.46284,32.019261],[102.46284,32.01907],[102.462811,32.01888],[102.462789,32.018757],[102.462757,32.018582],[102.462762,32.018448],[102.462769,32.018249],[102.462835,32.018017],[102.463061,32.017654],[102.463376,32.017351],[102.463554,32.01719],[102.463673,32.016982],[102.463792,32.016774],[102.463956,32.016373],[102.464119,32.015971],[102.46425,32.015549],[102.464346,32.015186],[102.464476,32.014912],[102.464661,32.014731],[102.464845,32.014549],[102.465056,32.014412],[102.465268,32.014276],[102.46556,32.014089],[102.465595,32.014067],[102.465865,32.013874],[102.466136,32.013681],[102.466359,32.013511],[102.466582,32.013342],[102.466787,32.013111],[102.466992,32.01288],[102.467046,32.012818],[102.467281,32.012628],[102.467516,32.012437],[102.467825,32.012295],[102.468075,32.012223],[102.468361,32.012188],[102.468593,32.012176],[102.468872,32.01217],[102.469086,32.012159],[102.469223,32.012152],[102.469551,32.012146],[102.469786,32.01214],[102.470021,32.012134],[102.470383,32.01211],[102.470675,32.012051],[102.470731,32.012023],[102.470894,32.012023],[102.47116,32.012023],[102.471425,32.012023],[102.471691,32.012023],[102.471957,32.012023],[102.472216,32.012044],[102.472475,32.012065],[102.472828,32.012093],[102.4729,32.012194],[102.473191,32.012408],[102.473495,32.01255],[102.473721,32.012616],[102.473911,32.012652],[102.474114,32.012679],[102.474345,32.012711],[102.474601,32.012705],[102.474857,32.012699],[102.475267,32.012738],[102.475678,32.012777],[102.475957,32.01283],[102.476267,32.012913],[102.476484,32.013023],[102.476701,32.013133],[102.477022,32.013336],[102.477343,32.013538],[102.477599,32.013693],[102.477813,32.013728],[102.478027,32.013728],[102.478146,32.013707],[102.47842,32.013657],[102.478652,32.013669],[102.478884,32.013681],[102.479315,32.013731],[102.479747,32.013782],[102.47991,32.013826],[102.480121,32.013883],[102.480389,32.013978],[102.480508,32.014067],[102.480835,32.014311],[102.481017,32.014484],[102.481198,32.014656],[102.481356,32.015031],[102.481513,32.015406],[102.481594,32.01562],[102.481674,32.015834],[102.481799,32.015947],[102.4819,32.015977],[102.482129,32.015992],[102.482358,32.016007],[102.482679,32.016102],[102.482923,32.016292],[102.483081,32.016497],[102.483238,32.016703],[102.483417,32.016887],[102.483631,32.016994],[102.483728,32.017044],[102.484107,32.017238],[102.484367,32.017418],[102.484626,32.017599],[102.484886,32.017779],[102.485005,32.017886],[102.485048,32.018017],[102.485094,32.01816],[102.48512,32.018351],[102.48513,32.018428],[102.485172,32.018612],[102.485332,32.01882],[102.485535,32.018969],[102.485701,32.019124],[102.48588,32.019272],[102.486106,32.019493],[102.486201,32.019733],[102.486296,32.019974],[102.486397,32.020212],[102.486516,32.020278],[102.48673,32.020272],[102.487031,32.020201],[102.487057,32.020195],[102.487474,32.020064],[102.487721,32.020001],[102.487968,32.019939],[102.488125,32.01991],[102.488265,32.019885],[102.488568,32.019873],[102.488997,32.019861],[102.48933,32.019784],[102.489606,32.019725],[102.489883,32.019665],[102.490157,32.019677],[102.490466,32.019713],[102.490769,32.01979],[102.49096,32.019963],[102.491156,32.020189],[102.491329,32.020313],[102.491518,32.020342],[102.491601,32.020309],[102.491864,32.020172],[102.492024,32.02009],[102.492298,32.01983],[102.492572,32.01957],[102.49278,32.019374],[102.492887,32.019207],[102.492935,32.01888],[102.492982,32.018612],[102.493101,32.01844],[102.493279,32.018228],[102.493457,32.018017],[102.493714,32.017798],[102.493952,32.017646],[102.494076,32.017403],[102.494116,32.017132],[102.494157,32.016861],[102.494177,32.016754],[102.494237,32.016439],[102.494297,32.016124],[102.494356,32.015809],[102.494395,32.015495],[102.494433,32.015181],[102.494514,32.014781],[102.494656,32.014546],[102.49468,32.014505],[102.494851,32.01421],[102.494951,32.013994],[102.495051,32.013777],[102.495106,32.013511],[102.495161,32.013244],[102.495227,32.013144],[102.495342,32.013073],[102.495508,32.013054],[102.495756,32.01303],[102.496151,32.013035],[102.49648,32.013058],[102.49681,32.013082],[102.49714,32.013105],[102.49715,32.013106],[102.49755,32.013144],[102.497802,32.013144],[102.498054,32.013144],[102.498368,32.01312],[102.498604,32.013063],[102.498839,32.013006],[102.499015,32.012973],[102.499187,32.012901],[102.499253,32.012873],[102.499501,32.012768],[102.499715,32.012659],[102.499972,32.012535],[102.50017,32.012468],[102.500252,32.012417],[102.500282,32.012416],[102.500405,32.012412],[102.50071,32.012401],[102.500916,32.012393],[102.501128,32.012416],[102.501304,32.012449],[102.501604,32.012459],[102.501833,32.012459],[102.50218,32.012445],[102.502399,32.012445],[102.502811,32.012411],[102.502923,32.012402],[102.502965,32.012397],[102.50321,32.012368],[102.503456,32.01234],[102.503853,32.012371],[102.50425,32.012402],[102.504488,32.012452],[102.504726,32.012502],[102.505031,32.012583],[102.505353,32.012752],[102.505383,32.012768],[102.505599,32.012866],[102.505816,32.012963],[102.50604,32.013049],[102.506411,32.013168],[102.506539,32.013168],[102.506701,32.013163],[102.506982,32.013173],[102.507139,32.013201],[102.507286,32.01322],[102.507439,32.013206],[102.507639,32.013182],[102.507877,32.013135],[102.508057,32.013063],[102.508262,32.012987],[102.508476,32.012954],[102.508733,32.012835],[102.508897,32.012652],[102.509062,32.012468],[102.509204,32.012188],[102.509209,32.012182],[102.509317,32.012058],[102.509364,32.012004],[102.509518,32.011826],[102.509699,32.011636],[102.509999,32.011469],[102.510242,32.011345],[102.510656,32.011226],[102.510965,32.011169],[102.511023,32.011159],[102.511246,32.011122],[102.511484,32.01106],[102.511727,32.01096],[102.511879,32.010798],[102.512045,32.01056],[102.512212,32.010322],[102.512421,32.009932],[102.512476,32.009607],[102.512548,32.009182],[102.512574,32.009032],[102.512672,32.008607],[102.51277,32.008182],[102.512869,32.007757],[102.512954,32.007459],[102.51304,32.00716],[102.513073,32.007043],[102.513133,32.006887],[102.513273,32.00652],[102.513392,32.006334],[102.513559,32.00613],[102.513825,32.005887],[102.514032,32.005765],[102.514239,32.005644],[102.514522,32.005542],[102.514806,32.005439],[102.515116,32.005365],[102.515427,32.00529],[102.515738,32.005216],[102.516143,32.005087],[102.516305,32.004992],[102.516419,32.00483],[102.516471,32.004669],[102.516562,32.004388],[102.51669,32.004126],[102.516776,32.003998],[102.516966,32.003874],[102.517214,32.003783],[102.517461,32.003693],[102.517725,32.003614],[102.517989,32.003536],[102.518372,32.003419],[102.518475,32.003388],[102.518755,32.003346],[102.518823,32.003337],[102.518984,32.003317],[102.519217,32.003288],[102.519531,32.003246],[102.519798,32.003165],[102.520107,32.003027],[102.520416,32.002889],[102.520591,32.002823],[102.520695,32.002825],[102.520852,32.002876],[102.521159,32.003103],[102.52152,32.003322],[102.521735,32.00355],[102.521949,32.003779],[102.522156,32.0041],[102.522363,32.004421],[102.52251,32.004531],[102.522682,32.004573],[102.522829,32.00455],[102.523072,32.004404],[102.523314,32.004259],[102.52369,32.004102],[102.523857,32.004026],[102.524123,32.003905],[102.52439,32.003783],[102.524623,32.003726],[102.524842,32.003726],[102.525042,32.00375],[102.525184,32.00375],[102.525204,32.00375],[102.525446,32.003702],[102.525632,32.003688],[102.525827,32.00365],[102.525999,32.003526],[102.526169,32.003336],[102.526203,32.003298],[102.526355,32.00307],[102.526562,32.002979],[102.526769,32.002889],[102.527105,32.002774],[102.52744,32.00266],[102.527702,32.002525],[102.527964,32.002389],[102.528259,32.002318],[102.528568,32.002327],[102.528835,32.002408],[102.528876,32.002424],[102.529025,32.002479],[102.529173,32.002465],[102.529252,32.002448],[102.52933,32.002432],[102.529744,32.00227],[102.53009,32.0022],[102.530435,32.00213],[102.530781,32.002061],[102.530981,32.00197],[102.531072,32.00191],[102.531134,32.001892],[102.531316,32.001732],[102.531497,32.001572],[102.531648,32.001341],[102.531798,32.001111],[102.531902,32.000852],[102.532006,32.000594],[102.532048,32.000199],[102.532066,32.000145],[102.532078,32.000111],[102.532206,31.999738],[102.5323,31.999466],[102.532468,31.999275],[102.532542,31.999191],[102.53269,31.998958],[102.532837,31.998725],[102.532924,31.998522],[102.533081,31.998203],[102.533237,31.997884],[102.533301,31.997792],[102.533508,31.997496],[102.533703,31.997131],[102.533898,31.996767],[102.533927,31.996712],[102.534115,31.996445],[102.534303,31.996179],[102.534561,31.995885],[102.53482,31.995592],[102.535079,31.995298],[102.535233,31.995103],[102.535388,31.994908],[102.535631,31.994727],[102.535907,31.994556],[102.53613,31.994423],[102.53624,31.994242],[102.536368,31.99408],[102.536613,31.993928],[102.536858,31.993775],[102.537089,31.99364],[102.53732,31.993504],[102.537482,31.993385],[102.537591,31.993242],[102.537739,31.992966],[102.537905,31.992778],[102.538072,31.99259],[102.538286,31.992352],[102.538538,31.992224],[102.538881,31.992134],[102.539205,31.992086],[102.539492,31.992119],[102.53958,31.992129],[102.539757,31.992076],[102.54,31.991885],[102.540236,31.991772],[102.540488,31.991652],[102.54079,31.991358],[102.540822,31.991286],[102.540972,31.991086],[102.541122,31.990887],[102.541259,31.990675],[102.541346,31.990539],[102.541422,31.990289],[102.541498,31.99004],[102.541475,31.989816],[102.541379,31.989488],[102.541275,31.989169],[102.54127,31.98901],[102.541265,31.988817],[102.541265,31.988436],[102.541229,31.9882],[102.541203,31.988036],[102.541084,31.987698],[102.541075,31.987384],[102.541102,31.987018],[102.541113,31.98687],[102.54116,31.986487],[102.541208,31.986104],[102.541346,31.985766],[102.541407,31.985669],[102.541603,31.985356],[102.541798,31.985043],[102.542027,31.984757],[102.542317,31.9845],[102.542612,31.984291],[102.542671,31.984264],[102.54305,31.984091],[102.54334,31.983905],[102.543445,31.983767],[102.543554,31.983496],[102.543641,31.983306],[102.543697,31.983182],[102.543949,31.982887],[102.544172,31.982561],[102.544396,31.982236],[102.544416,31.982206],[102.544525,31.981949],[102.544544,31.981745],[102.544525,31.981671],[102.544416,31.981255],[102.544392,31.981002],[102.544368,31.98075],[102.544344,31.980455],[102.544388,31.980269],[102.544463,31.979951],[102.544554,31.979646],[102.544638,31.979539],[102.544696,31.979465],[102.544925,31.979303],[102.545106,31.978999],[102.545286,31.978694],[102.545467,31.97839],[102.545645,31.978088],[102.545823,31.977787],[102.546,31.977486],[102.546272,31.977157],[102.546483,31.976998],[102.546695,31.976838],[102.546969,31.976608],[102.547242,31.976377],[102.547388,31.976174],[102.547533,31.975972],[102.547656,31.975696],[102.547837,31.975506],[102.54791,31.975445],[102.548004,31.975368],[102.548133,31.975294],[102.548204,31.975254],[102.548537,31.975063],[102.548727,31.97493],[102.548778,31.974838],[102.548924,31.974577],[102.54907,31.974316],[102.549148,31.9741],[102.549227,31.973883],[102.549255,31.973583],[102.54926,31.973379],[102.549312,31.973079],[102.549293,31.972879],[102.549232,31.972746],[102.549241,31.972679],[102.549251,31.97261],[102.54926,31.972551],[102.549379,31.972289],[102.549591,31.972058],[102.549803,31.971827],[102.549824,31.97181],[102.550058,31.97162],[102.550292,31.971431],[102.550526,31.971242],[102.550712,31.97108],[102.550921,31.971013],[102.551161,31.970992],[102.551402,31.970971],[102.551728,31.970928],[102.552054,31.970886],[102.552274,31.970902],[102.552522,31.970957],[102.55277,31.971012],[102.552974,31.971042],[102.553349,31.971067],[102.553473,31.971075],[102.553708,31.97108],[102.553906,31.971042],[102.553944,31.971034],[102.554239,31.97099],[102.55448,31.97077],[102.554647,31.97056],[102.554814,31.97035],[102.554865,31.970094],[102.554916,31.969839],[102.554967,31.969584],[102.555018,31.969329],[102.555087,31.96893],[102.555157,31.968532],[102.555177,31.968414],[102.555152,31.968396],[102.555152,31.968272],[102.55519,31.968063],[102.555342,31.967682],[102.55549,31.96748],[102.55568,31.967221],[102.555801,31.96698],[102.55585,31.966884],[102.555923,31.96674],[102.556094,31.966378],[102.556265,31.966017],[102.556465,31.965679],[102.556665,31.965341],[102.556941,31.965044],[102.557217,31.964748],[102.557493,31.964451],[102.557636,31.964156],[102.557677,31.96402],[102.557717,31.963889],[102.557707,31.963761],[102.557674,31.963666],[102.557674,31.963504],[102.557726,31.963318],[102.557883,31.963204],[102.557976,31.963092],[102.557977,31.963091],[102.557978,31.96309],[102.558088,31.962811],[102.558197,31.962533],[102.558388,31.962167],[102.558526,31.962024],[102.558707,31.961957],[102.558849,31.961924],[102.559173,31.961795],[102.559492,31.961505],[102.559677,31.961391],[102.559834,31.961315],[102.559944,31.961243],[102.560006,31.961058],[102.56022,31.960668],[102.560467,31.96048],[102.560715,31.960292],[102.560973,31.960092],[102.561232,31.959892],[102.561491,31.959692],[102.561769,31.959487],[102.562047,31.959283],[102.562404,31.959149],[102.562695,31.959059],[102.562789,31.959033],[102.56319,31.958921],[102.563494,31.958821],[102.563799,31.958721],[102.564127,31.958588],[102.564351,31.958478],[102.564631,31.958355],[102.564974,31.95824],[102.565191,31.958089],[102.565413,31.957934],[102.565636,31.957779],[102.56584,31.957565],[102.566045,31.957351],[102.566207,31.957279],[102.566478,31.957236],[102.566811,31.957184],[102.567054,31.957113],[102.56733,31.956908],[102.567615,31.95657],[102.567644,31.956513],[102.567801,31.956206],[102.567986,31.955842],[102.568245,31.955499],[102.568504,31.955157],[102.568762,31.954814],[102.568843,31.954586],[102.568924,31.954357],[102.569005,31.954067],[102.569042,31.953958],[102.569043,31.953956],[102.569044,31.953954],[102.569133,31.953691],[102.5694,31.953477],[102.569666,31.953263],[102.570004,31.952977],[102.570095,31.952806],[102.570102,31.952758],[102.570147,31.952482],[102.570143,31.952378],[102.570142,31.952328],[102.570138,31.952211],[102.570118,31.951949],[102.570044,31.951767],[102.569985,31.951626],[102.569961,31.951473],[102.56998,31.951078],[102.569957,31.950907],[102.569933,31.950764],[102.569831,31.950438],[102.569728,31.950112],[102.569676,31.94995],[102.569671,31.949822],[102.569764,31.949426],[102.569771,31.949398],[102.569807,31.949207],[102.569877,31.948836],[102.569947,31.948466],[102.569949,31.948447],[102.569984,31.948152],[102.570019,31.947857],[102.569966,31.947614],[102.569857,31.947364],[102.569747,31.947114],[102.569552,31.946767],[102.569357,31.946419],[102.569176,31.94601],[102.568951,31.945814],[102.568881,31.945753],[102.568641,31.945429],[102.568401,31.945106],[102.568348,31.945015],[102.568353,31.944873],[102.56844,31.94469],[102.568448,31.944673],[102.568619,31.944461],[102.568853,31.944116],[102.568967,31.943921],[102.569019,31.94374],[102.569019,31.943521],[102.569014,31.943326],[102.569008,31.943255],[102.569,31.943169],[102.568953,31.942988],[102.568748,31.94265],[102.56861,31.942469],[102.568472,31.942289],[102.568433,31.942222],[102.568324,31.942036],[102.568248,31.941894],[102.568239,31.941722],[102.568327,31.941491],[102.568415,31.941261],[102.568581,31.941061],[102.568748,31.940861],[102.568881,31.940661],[102.569088,31.940547],[102.569295,31.940433],[102.569533,31.940349],[102.569771,31.940266],[102.570045,31.940111],[102.570318,31.939957],[102.570635,31.939835],[102.570951,31.939714],[102.571364,31.939575],[102.571475,31.939538],[102.57151,31.939521],[102.57166,31.939448],[102.571822,31.939338],[102.572122,31.939219],[102.572408,31.939024],[102.572669,31.938743],[102.572812,31.9386],[102.572991,31.938434],[102.573169,31.938267],[102.573469,31.938063],[102.573564,31.937863],[102.573616,31.93772],[102.573792,31.937539],[102.573968,31.937358],[102.574264,31.937039],[102.574471,31.936923],[102.574678,31.936806],[102.574835,31.936697],[102.575101,31.936378],[102.575258,31.936097],[102.575415,31.935816],[102.575517,31.935571],[102.57562,31.935326],[102.575824,31.935117],[102.576029,31.934907],[102.576086,31.934855],[102.576224,31.934855],[102.576383,31.934901],[102.576438,31.934917],[102.576741,31.935012],[102.577043,31.935107],[102.5774,31.935184],[102.577718,31.935248],[102.578037,31.935312],[102.578375,31.935382],[102.578404,31.935388],[102.578749,31.935541],[102.578832,31.935578],[102.579155,31.935756],[102.579477,31.935934],[102.57987,31.93615],[102.580117,31.936307],[102.580226,31.936326],[102.580273,31.936332],[102.580522,31.936364],[102.580916,31.936554],[102.581083,31.936678],[102.581335,31.936854],[102.581464,31.936921],[102.581539,31.936965],[102.581616,31.937011],[102.581726,31.93712],[102.581992,31.937468],[102.58226,31.937698],[102.582464,31.937873],[102.582668,31.938048],[102.582801,31.938144],[102.582872,31.938191],[102.583006,31.938224],[102.583313,31.938255],[102.58362,31.938286],[102.58386,31.938292],[102.584257,31.938301],[102.584424,31.938305],[102.584866,31.938329],[102.5852,31.938415],[102.585418,31.938522],[102.58549,31.938558],[102.585723,31.93871],[102.585885,31.938891],[102.585978,31.939098],[102.58607,31.939305],[102.586156,31.939462],[102.586204,31.939557],[102.586461,31.939823],[102.58668,31.940066],[102.586898,31.940309],[102.587015,31.94042],[102.587094,31.940494],[102.587289,31.94068],[102.587357,31.940712],[102.587736,31.940889],[102.587836,31.941008],[102.587964,31.941323],[102.587991,31.941376],[102.588074,31.941537],[102.588088,31.941565],[102.588245,31.941922],[102.588383,31.942217],[102.588583,31.942389],[102.58875,31.94246],[102.588767,31.942472],[102.588814,31.942505],[102.588956,31.942604],[102.589145,31.942736],[102.58925,31.942782],[102.589354,31.942826],[102.589506,31.942941],[102.589835,31.943212],[102.5899,31.943249],[102.590268,31.943459],[102.590415,31.943688],[102.590658,31.943983],[102.590798,31.944187],[102.590939,31.944392],[102.591172,31.944613],[102.591405,31.944835],[102.59152,31.945066],[102.59173,31.945392],[102.591912,31.945564],[102.592095,31.945737],[102.592278,31.945909],[102.59246,31.946081],[102.592643,31.946253],[102.592826,31.946426],[102.592914,31.946509],[102.592914,31.946509],[102.593008,31.946598],[102.593191,31.94677],[102.593374,31.946942],[102.593556,31.947114],[102.593726,31.947282],[102.593895,31.94745],[102.594064,31.947618],[102.594234,31.947786],[102.594403,31.947954],[102.594572,31.948122],[102.594742,31.94829],[102.594911,31.948458],[102.59508,31.948626],[102.59525,31.948794],[102.595419,31.948962],[102.595589,31.94913],[102.595781,31.949312],[102.595973,31.949494],[102.596165,31.949676],[102.596357,31.949858],[102.596549,31.95004],[102.596741,31.950222],[102.596933,31.950404],[102.597125,31.950586],[102.597317,31.950768],[102.597509,31.95095],[102.597701,31.951132],[102.597874,31.951296],[102.597893,31.951314],[102.598091,31.95148],[102.598289,31.951646],[102.598487,31.951812],[102.598686,31.951979],[102.598884,31.952145],[102.599082,31.952311],[102.59928,31.952478],[102.599479,31.952644],[102.599677,31.95281],[102.599875,31.952976],[102.600183,31.953191],[102.600491,31.953405],[102.600798,31.953619],[102.601058,31.953732],[102.601161,31.953776],[102.601524,31.953933],[102.601933,31.954028],[102.602342,31.954123],[102.602737,31.954194],[102.603132,31.954264],[102.603468,31.954308],[102.603804,31.954352],[102.604233,31.954427],[102.604662,31.954502],[102.605091,31.954577],[102.605513,31.954727],[102.605935,31.954876],[102.606357,31.955026],[102.606463,31.955064],[102.606779,31.955176],[102.607201,31.955326],[102.607476,31.955369],[102.60775,31.955411],[102.608024,31.955454],[102.608298,31.955497],[102.608572,31.955539],[102.608846,31.955582],[102.60912,31.955624],[102.609394,31.955667],[102.609661,31.955682],[102.609928,31.955697],[102.610195,31.955712],[102.610462,31.955727],[102.610729,31.955742],[102.610996,31.955757],[102.611263,31.955772],[102.61153,31.955787],[102.611797,31.955802],[102.612064,31.955818],[102.612308,31.955817],[102.612551,31.955817],[102.612795,31.955816],[102.613039,31.955816],[102.613283,31.955815],[102.613526,31.955815],[102.61377,31.955814],[102.614014,31.955814],[102.614257,31.955813],[102.614501,31.955813],[102.614874,31.955828],[102.614921,31.95583],[102.615342,31.955846],[102.615762,31.955863],[102.61599,31.955864],[102.616217,31.955865],[102.616445,31.955866],[102.616672,31.955867],[102.6169,31.955868],[102.617128,31.955869],[102.617355,31.95587],[102.617518,31.955871],[102.617583,31.955871],[102.617812,31.955863],[102.618041,31.955855],[102.618271,31.955847],[102.6185,31.955839],[102.618729,31.955831],[102.618959,31.955823],[102.619354,31.955855],[102.61975,31.955888],[102.619976,31.955923],[102.620203,31.955958],[102.620429,31.955994],[102.620655,31.956029],[102.62105,31.9561],[102.621446,31.95617],[102.621815,31.956252],[102.622185,31.956334],[102.622397,31.956381],[102.622555,31.956416],[102.622963,31.956523],[102.623372,31.956631],[102.623733,31.956838],[102.624094,31.957045],[102.624281,31.957199],[102.624468,31.957352],[102.624655,31.957506],[102.624738,31.957574],[102.624843,31.957659],[102.625026,31.95779],[102.625209,31.957921],[102.625393,31.958051],[102.625576,31.958182],[102.625759,31.958313],[102.625943,31.958443],[102.626166,31.958603],[102.626285,31.958687],[102.626516,31.958817],[102.626748,31.958946],[102.626979,31.959075],[102.627211,31.959205],[102.627442,31.959334],[102.627674,31.959463],[102.62792,31.959587],[102.628054,31.959654],[102.628055,31.959654],[102.628167,31.95971],[102.628413,31.959834],[102.62866,31.959957],[102.628973,31.960066],[102.629038,31.960089],[102.629416,31.960221],[102.629826,31.960287],[102.630236,31.960353],[102.630645,31.960419],[102.630878,31.96045],[102.63111,31.960482],[102.631343,31.960514],[102.631575,31.960546],[102.631807,31.960577],[102.63204,31.960609],[102.632272,31.960641],[102.632505,31.960672],[102.632737,31.960704],[102.632969,31.960736],[102.633202,31.960767],[102.633356,31.960788],[102.633434,31.960799],[102.633694,31.960836],[102.633954,31.960873],[102.634214,31.960911],[102.634473,31.960948],[102.634733,31.960985],[102.634993,31.961022],[102.635309,31.961028],[102.635624,31.961034],[102.635773,31.961016],[102.635879,31.961002],[102.636133,31.96097],[102.636366,31.960921],[102.636508,31.960891],[102.636516,31.960889],[102.636549,31.960882],[102.6366,31.960872],[102.636644,31.960851],[102.636898,31.960734],[102.637132,31.960543],[102.637199,31.960489],[102.637373,31.960276],[102.637485,31.960096],[102.637508,31.960059],[102.637563,31.959971],[102.637653,31.959827],[102.637712,31.959732],[102.637753,31.959666],[102.637783,31.959617],[102.637814,31.959566],[102.637971,31.959373],[102.638072,31.95925],[102.638213,31.959079],[102.638293,31.958981],[102.63831,31.958961],[102.638331,31.958935],[102.638404,31.958845],[102.638579,31.958632],[102.63859,31.958619],[102.638606,31.958606],[102.638635,31.958582],[102.638805,31.958443],[102.639015,31.958272],[102.639226,31.9581],[102.639436,31.957928],[102.639647,31.957757],[102.63991,31.957601],[102.63995,31.957577],[102.64,31.957548],[102.640029,31.957531],[102.640172,31.957446],[102.640462,31.95713],[102.640659,31.956794],[102.640856,31.956457],[102.641015,31.956239],[102.641173,31.956022],[102.641189,31.955999],[102.641331,31.955805],[102.641489,31.955588],[102.641815,31.955348],[102.64214,31.955108],[102.642466,31.954868],[102.642623,31.9547],[102.642624,31.954699],[102.642626,31.954697],[102.64278,31.954533],[102.642937,31.954366],[102.643094,31.954199],[102.643323,31.953816],[102.643552,31.953433],[102.643782,31.95305],[102.643863,31.952803],[102.643945,31.952556],[102.644026,31.952309],[102.644108,31.952062],[102.64419,31.951815],[102.644271,31.951568],[102.64434,31.95136],[102.644353,31.951321],[102.644366,31.951281],[102.644435,31.951074],[102.644516,31.950827],[102.644574,31.950651],[102.644596,31.950585],[102.644597,31.950583],[102.644598,31.95058],[102.644656,31.950141],[102.644657,31.950109],[102.644657,31.950085],[102.644659,31.950031],[102.644662,31.949901],[102.644384,31.949696],[102.644109,31.94941],[102.643834,31.949125],[102.64356,31.948839],[102.643355,31.948574],[102.643151,31.94831],[102.643086,31.948078],[102.643021,31.947847],[102.642956,31.947615],[102.642892,31.947383],[102.64284,31.946942],[102.642789,31.9465],[102.642737,31.946058],[102.642709,31.945731],[102.642701,31.945644],[102.642689,31.945509],[102.642674,31.945334],[102.642665,31.945229],[102.642662,31.945195],[102.642662,31.945195],[102.642628,31.944814],[102.642671,31.944564],[102.642715,31.944314],[102.642758,31.944064],[102.642801,31.943813],[102.642844,31.943563],[102.642888,31.943313],[102.642928,31.943077],[102.642931,31.943062],[102.642974,31.942812],[102.643017,31.942562],[102.64306,31.942312],[102.643067,31.942178],[102.643077,31.941998],[102.643077,31.941989],[102.643083,31.941871],[102.643084,31.941869],[102.643084,31.941867],[102.643091,31.941725],[102.643107,31.941431],[102.643107,31.941431],[102.643107,31.941431],[102.643113,31.941304],[102.64313,31.940991],[102.643152,31.940562],[102.643153,31.940551],[102.643198,31.9404],[102.643203,31.940384],[102.643255,31.940212],[102.643282,31.940122],[102.643303,31.940055],[102.643307,31.94004],[102.643352,31.939892],[102.643357,31.939873],[102.643503,31.939696],[102.643649,31.939518],[102.643794,31.93934],[102.64394,31.939163],[102.644085,31.938985],[102.644231,31.938808],[102.644489,31.938505],[102.644748,31.938203],[102.645006,31.937901],[102.645269,31.937766],[102.645532,31.93763],[102.645633,31.937616],[102.645791,31.937595],[102.646051,31.937559],[102.646297,31.937579],[102.64639,31.937586],[102.646422,31.937589],[102.646502,31.937595],[102.646502,31.937595],[102.646502,31.937595],[102.646544,31.937598],[102.64679,31.937618],[102.647035,31.937637],[102.647035,31.937638],[102.647036,31.937638],[102.647202,31.937651],[102.647283,31.937657],[102.6473,31.937659],[102.647529,31.937677],[102.647761,31.937695],[102.647776,31.937696],[102.647876,31.937704],[102.648022,31.937716],[102.6482,31.937747],[102.648251,31.937756],[102.648481,31.937797],[102.648679,31.937831],[102.64871,31.937837],[102.648785,31.93785],[102.648842,31.93786],[102.648939,31.937877],[102.649024,31.937892],[102.649169,31.937918],[102.649398,31.937958],[102.649627,31.937998],[102.649857,31.938038],[102.650086,31.938079],[102.650315,31.938119],[102.65055,31.938163],[102.650784,31.938208],[102.651018,31.938252],[102.651252,31.938296],[102.651333,31.938306],[102.651608,31.938339],[102.65165,31.938344],[102.651663,31.938346],[102.651736,31.938354],[102.651918,31.938376],[102.652049,31.938392],[102.652378,31.938398],[102.652706,31.938404],[102.652789,31.938385],[102.653038,31.938331],[102.653163,31.938228],[102.653177,31.938217],[102.653224,31.938179],[102.65323,31.938174],[102.653257,31.938073],[102.653283,31.937973],[102.653195,31.937731],[102.653059,31.937509],[102.652924,31.937286],[102.652716,31.937132],[102.65257,31.937024],[102.652508,31.936978],[102.6523,31.936824],[102.652092,31.93667],[102.651893,31.93658],[102.65169,31.936489],[102.651288,31.936308],[102.650885,31.936127],[102.650667,31.936027],[102.650448,31.935926],[102.650229,31.935826],[102.650011,31.935726],[102.649792,31.935626],[102.649573,31.935525],[102.649355,31.935425],[102.649136,31.935325],[102.648917,31.935225],[102.648699,31.935124],[102.648325,31.935017],[102.647951,31.93491],[102.647769,31.934707],[102.647766,31.934695],[102.647751,31.934639],[102.647751,31.934637],[102.647727,31.934546],[102.647731,31.93439],[102.647732,31.934346],[102.647903,31.934183],[102.648075,31.93402],[102.648246,31.933857],[102.648418,31.933695],[102.648611,31.933518],[102.648803,31.933341],[102.648996,31.933164],[102.649189,31.932987],[102.64925,31.932888],[102.649256,31.93288],[102.649385,31.932671],[102.649581,31.932354],[102.649682,31.93219],[102.649777,31.932037],[102.649873,31.931882],[102.649948,31.93176],[102.65012,31.931483],[102.650199,31.931144],[102.650229,31.931016],[102.650279,31.930805],[102.650285,31.930534],[102.650292,31.930264],[102.650299,31.929994],[102.650306,31.929723],[102.650271,31.929282],[102.650232,31.928881],[102.650285,31.928661],[102.650338,31.928442],[102.650391,31.928222],[102.650444,31.928003],[102.65048,31.927753],[102.650515,31.927503],[102.650551,31.927254],[102.650587,31.927004],[102.650622,31.926754],[102.650658,31.926504],[102.650693,31.926255],[102.650729,31.926005],[102.650759,31.925605],[102.650788,31.925204],[102.650818,31.924804],[102.650852,31.924528],[102.650936,31.924391],[102.651128,31.924257],[102.651371,31.924239],[102.651642,31.924243],[102.651935,31.92441],[102.652228,31.924576],[102.652399,31.924737],[102.65257,31.924899],[102.652742,31.92506],[102.652913,31.925222],[102.653084,31.925383],[102.653255,31.925545],[102.653427,31.925706],[102.653598,31.925867],[102.653892,31.925989],[102.654042,31.926023],[102.654109,31.926038],[102.654158,31.926045],[102.654295,31.926064],[102.654486,31.926023],[102.654733,31.925842],[102.654874,31.925637],[102.655011,31.925439],[102.655015,31.925433],[102.655051,31.925363],[102.655086,31.925292],[102.655142,31.925182],[102.655269,31.924932],[102.655363,31.924496],[102.655316,31.924197],[102.655247,31.923956],[102.655246,31.923951],[102.655221,31.923862],[102.655179,31.923715],[102.65511,31.923475],[102.655042,31.923234],[102.654807,31.922855],[102.654699,31.92268],[102.654572,31.922475],[102.654464,31.922374],[102.65435,31.922266],[102.654127,31.922057],[102.654079,31.921902],[102.654028,31.921733],[102.654027,31.921726],[102.65401,31.921365],[102.654048,31.921294],[102.654083,31.92123],[102.654139,31.921125],[102.65416,31.921085],[102.654168,31.921071],[102.654181,31.921046],[102.654271,31.92091],[102.654405,31.920705],[102.654572,31.920547],[102.654789,31.920459],[102.655062,31.920395],[102.655318,31.920388],[102.655574,31.920382],[102.655822,31.920386],[102.655872,31.920387],[102.656144,31.920392],[102.656169,31.920392],[102.656505,31.920456],[102.656841,31.92052],[102.657163,31.920572],[102.657486,31.920624],[102.657863,31.920666],[102.65824,31.920707],[102.658523,31.920735],[102.658806,31.920763],[102.659144,31.92077],[102.659448,31.920776],[102.659481,31.920776],[102.659725,31.920734],[102.65981,31.920726],[102.660019,31.920704],[102.660312,31.920674],[102.66055,31.920502],[102.660787,31.92033],[102.66082,31.920282],[102.660829,31.920269],[102.660838,31.920255],[102.660922,31.920134],[102.661045,31.919955],[102.661057,31.919937],[102.661063,31.919903],[102.661082,31.919806],[102.661116,31.91963],[102.660812,31.919358],[102.660427,31.919197],[102.660043,31.919035],[102.659811,31.918942],[102.65958,31.918849],[102.659378,31.918668],[102.659175,31.918488],[102.659064,31.918243],[102.658954,31.917998],[102.658843,31.917753],[102.658732,31.917508],[102.658635,31.917142],[102.658554,31.916837],[102.658538,31.916777],[102.65853,31.916748],[102.65847,31.916521],[102.658402,31.916265],[102.658393,31.916167],[102.658393,31.916166],[102.658388,31.91611],[102.658385,31.916088],[102.658361,31.915823],[102.658063,31.915602],[102.658056,31.915596],[102.657746,31.915524],[102.657436,31.915452],[102.657178,31.915403],[102.656921,31.915354],[102.656663,31.915305],[102.656405,31.915256],[102.656097,31.915118],[102.65579,31.91498],[102.655546,31.914898],[102.655302,31.914817],[102.655058,31.914735],[102.654814,31.914653],[102.654584,31.914516],[102.654354,31.914379],[102.654287,31.914239],[102.654258,31.914177],[102.654248,31.914157],[102.654206,31.914067],[102.654109,31.9138],[102.654171,31.91336],[102.654237,31.913094],[102.654303,31.912827],[102.654487,31.912643],[102.654671,31.912458],[102.654855,31.912274],[102.655016,31.912113],[102.65504,31.912089],[102.655436,31.911926],[102.655832,31.911763],[102.656229,31.9116],[102.656625,31.911437],[102.656964,31.911266],[102.657304,31.911096],[102.657643,31.910925],[102.657871,31.910767],[102.658099,31.910609],[102.658247,31.910346],[102.658249,31.910232],[102.658254,31.909963],[102.658228,31.909668],[102.658113,31.909415],[102.657998,31.909162],[102.657744,31.908936],[102.657491,31.90871],[102.657173,31.908498],[102.656855,31.908286],[102.656538,31.908073],[102.656181,31.907816],[102.655873,31.907594],[102.655824,31.907558],[102.655742,31.907491],[102.655587,31.907363],[102.655349,31.907167],[102.655209,31.906939],[102.655184,31.906898],[102.655184,31.906887],[102.655192,31.906468],[102.655259,31.90624],[102.655325,31.906013],[102.655376,31.905838],[102.655392,31.905785],[102.655458,31.905557],[102.655577,31.905324],[102.655695,31.90509],[102.655813,31.904856],[102.655932,31.904622],[102.656093,31.904389],[102.656113,31.904361],[102.656255,31.904156],[102.656607,31.903928],[102.65686,31.903852],[102.657112,31.903775],[102.657365,31.903698],[102.657618,31.903622],[102.657857,31.903582],[102.658096,31.903542],[102.658335,31.903502],[102.658574,31.903462],[102.658813,31.903422],[102.659052,31.903382],[102.659291,31.903342],[102.659529,31.903302],[102.659946,31.903266],[102.660121,31.903251],[102.660293,31.903236],[102.660363,31.90323],[102.660675,31.903206],[102.66083,31.903195],[102.66087,31.903193],[102.66102,31.903183],[102.66116,31.903127],[102.661228,31.903072],[102.661267,31.90304],[102.661377,31.902806],[102.661383,31.902541],[102.661286,31.902302],[102.661099,31.902122],[102.660913,31.901942],[102.660807,31.90187],[102.660763,31.90184],[102.660699,31.901796],[102.660655,31.901767],[102.660626,31.901747],[102.660503,31.901663],[102.660484,31.901651],[102.66027,31.901505],[102.660056,31.90136],[102.659842,31.901215],[102.659627,31.901069],[102.659413,31.900924],[102.659199,31.900778],[102.658985,31.900633],[102.65877,31.900487],[102.658578,31.900331],[102.658386,31.900176],[102.658194,31.90002],[102.658002,31.899864],[102.65781,31.899708],[102.657618,31.899552],[102.657449,31.899372],[102.65728,31.899192],[102.657254,31.899078],[102.657221,31.89894],[102.657218,31.898925],[102.657156,31.898659],[102.657197,31.898394],[102.657239,31.898129],[102.657417,31.897911],[102.657595,31.897693],[102.657617,31.897685],[102.657784,31.897622],[102.657944,31.897562],[102.658294,31.897431],[102.658643,31.8973],[102.658896,31.897256],[102.659149,31.897213],[102.659403,31.897169],[102.659656,31.897125],[102.659909,31.897081],[102.66004,31.897058],[102.660162,31.897037],[102.660416,31.896993],[102.660669,31.89695],[102.660922,31.896906],[102.661175,31.896862],[102.661429,31.896818],[102.661682,31.896774],[102.661935,31.89673],[102.662164,31.896691],[102.662188,31.896687],[102.662561,31.896647],[102.662705,31.896632],[102.662868,31.896615],[102.662935,31.896608],[102.663308,31.896568],[102.663318,31.896565],[102.663656,31.896456],[102.664005,31.896344],[102.664165,31.896185],[102.664183,31.896166],[102.664238,31.896111],[102.664324,31.896025],[102.664329,31.895993],[102.664331,31.89598],[102.664334,31.895962],[102.664366,31.895761],[102.664358,31.89572],[102.664305,31.895436],[102.664101,31.895284],[102.663897,31.895133],[102.663687,31.895006],[102.663476,31.894879],[102.663266,31.894753],[102.663056,31.894626],[102.662845,31.894499],[102.662635,31.894372],[102.662425,31.894246],[102.662215,31.894119],[102.662004,31.893992],[102.661794,31.893866],[102.661584,31.893739],[102.661373,31.893612],[102.661161,31.893472],[102.660949,31.893332],[102.660737,31.893193],[102.660525,31.893053],[102.66022,31.892735],[102.66007,31.892526],[102.659919,31.892316],[102.659836,31.892166],[102.659821,31.892139],[102.659754,31.892019],[102.659749,31.891965],[102.659742,31.891889],[102.659727,31.891723],[102.659873,31.891431],[102.660242,31.891188],[102.660611,31.890944],[102.660874,31.890816],[102.661137,31.890689],[102.661331,31.890529],[102.661526,31.89037],[102.661774,31.890154],[102.662021,31.889937],[102.662165,31.889718],[102.662293,31.889523],[102.662309,31.889499],[102.66233,31.889458],[102.66234,31.889437],[102.662455,31.889207],[102.662601,31.888915],[102.662643,31.888842],[102.662697,31.888748],[102.662727,31.888696],[102.662813,31.888545],[102.662818,31.888536],[102.663067,31.888274],[102.663379,31.888222],[102.66363,31.888205],[102.663882,31.888187],[102.664133,31.88817],[102.664385,31.888152],[102.664614,31.88816],[102.664843,31.888168],[102.665072,31.888176],[102.665301,31.888184],[102.66553,31.888192],[102.665759,31.8882],[102.665988,31.888208],[102.666217,31.888216],[102.666587,31.888197],[102.666851,31.888184],[102.666958,31.888179],[102.667358,31.888098],[102.667708,31.888027],[102.667758,31.888017],[102.668177,31.887877],[102.668213,31.887848],[102.668495,31.887618],[102.668643,31.887238],[102.668645,31.887174],[102.668646,31.887125],[102.668648,31.887051],[102.668648,31.887043],[102.668653,31.886855],[102.668623,31.886794],[102.668488,31.886527],[102.668251,31.886346],[102.668013,31.886164],[102.667683,31.885991],[102.667352,31.885818],[102.667022,31.885645],[102.666762,31.885515],[102.666737,31.885503],[102.666714,31.885491],[102.666589,31.885358],[102.666546,31.885312],[102.666381,31.885013],[102.66627,31.884745],[102.666229,31.884646],[102.666076,31.88428],[102.665928,31.883922],[102.665924,31.883913],[102.66572,31.88364],[102.665672,31.883575],[102.665516,31.883368],[102.665331,31.883157],[102.665146,31.882947],[102.66501,31.882826],[102.664975,31.882636],[102.664963,31.882575],[102.664953,31.882519],[102.66495,31.882501],[102.664954,31.882344],[102.664958,31.882177],[102.665139,31.881885],[102.665357,31.881801],[102.665575,31.881716],[102.665793,31.881631],[102.666011,31.881547],[102.666197,31.881521],[102.666218,31.881518],[102.666382,31.881495],[102.666752,31.881443],[102.667122,31.881391],[102.667418,31.881323],[102.667471,31.88131],[102.667667,31.881265],[102.667714,31.881254],[102.66793,31.881179],[102.668145,31.881105],[102.66836,31.88103],[102.668575,31.880955],[102.668791,31.880881],[102.669006,31.880806],[102.669413,31.880666],[102.66982,31.880526],[102.670228,31.880387],[102.670526,31.8802],[102.670592,31.880159],[102.67066,31.880116],[102.670825,31.880013],[102.670849,31.879987],[102.671039,31.879782],[102.671277,31.879523],[102.671315,31.879246],[102.671323,31.878913],[102.671139,31.87852],[102.670832,31.878335],[102.670525,31.87815],[102.67014,31.877948],[102.669887,31.877816],[102.669755,31.877746],[102.669623,31.877678],[102.6695,31.877613],[102.66941,31.877566],[102.669369,31.877544],[102.669177,31.877444],[102.669123,31.877415],[102.668984,31.877342],[102.668776,31.877201],[102.668569,31.87706],[102.668375,31.876886],[102.66828,31.876772],[102.668236,31.876685],[102.668217,31.876648],[102.668186,31.876588],[102.668122,31.876462],[102.668157,31.876138],[102.668162,31.876094],[102.668421,31.875904],[102.668679,31.875714],[102.669027,31.875513],[102.669375,31.875311],[102.669723,31.87511],[102.670013,31.874942],[102.670311,31.874756],[102.67061,31.87457],[102.670823,31.874338],[102.671036,31.874106],[102.671163,31.873887],[102.67129,31.873668],[102.671357,31.873482],[102.671439,31.873258],[102.671446,31.872963],[102.671418,31.872698],[102.671346,31.872339],[102.671201,31.872166],[102.671118,31.872067],[102.670912,31.87182],[102.67089,31.871794],[102.670823,31.87176],[102.670751,31.871724],[102.670718,31.871707],[102.670669,31.871682],[102.670449,31.87157],[102.670228,31.871458],[102.670007,31.871345],[102.669786,31.871233],[102.669566,31.871121],[102.669345,31.871009],[102.669124,31.870896],[102.668741,31.870753],[102.668358,31.870611],[102.667974,31.870468],[102.66792,31.870441],[102.667919,31.870441],[102.667852,31.870408],[102.667837,31.870401],[102.667599,31.870284],[102.667395,31.870134],[102.667295,31.869954],[102.6673,31.869748],[102.667386,31.869525],[102.667471,31.869303],[102.667557,31.86908],[102.667642,31.868857],[102.667772,31.868642],[102.667901,31.868428],[102.66803,31.868213],[102.668159,31.867998],[102.668288,31.867784],[102.668417,31.867569],[102.668546,31.867354],[102.668675,31.86714],[102.668804,31.866925],[102.668933,31.86671],[102.669227,31.866384],[102.669521,31.866057],[102.669814,31.865731],[102.670108,31.865405],[102.67023,31.865212],[102.670352,31.86502],[102.670474,31.864827],[102.670596,31.864635],[102.670719,31.864442],[102.670841,31.86425],[102.670954,31.863883],[102.671031,31.863633],[102.671067,31.863517],[102.671125,31.863252],[102.671183,31.862988],[102.671156,31.862737],[102.671128,31.862486],[102.671091,31.862441],[102.670976,31.8623],[102.670914,31.862223],[102.670858,31.862155],[102.670605,31.8619],[102.670572,31.861867],[102.670473,31.861767],[102.670419,31.861713],[102.670418,31.861712],[102.670376,31.86167],[102.670371,31.861664],[102.670352,31.861645],[102.670184,31.861451],[102.670016,31.861256],[102.669935,31.861033],[102.669854,31.860811],[102.669878,31.860546],[102.669902,31.860281],[102.67005,31.85992],[102.670197,31.859559],[102.670345,31.859198],[102.670493,31.858807],[102.670641,31.858417],[102.670789,31.858026],[102.670868,31.857681],[102.670892,31.857421],[102.670904,31.857291],[102.670915,31.857166],[102.670915,31.857161],[102.670939,31.856901],[102.670963,31.856641],[102.670987,31.856381],[102.671011,31.856121],[102.67109,31.855699],[102.67117,31.855278],[102.67125,31.854856],[102.671364,31.854461],[102.671479,31.854065],[102.671577,31.853814],[102.671675,31.853563],[102.67178,31.853315],[102.671885,31.853067],[102.672123,31.852698],[102.672401,31.852482],[102.67249,31.852413],[102.67268,31.852265],[102.67276,31.852329],[102.672798,31.85236],[102.67292,31.852458],[102.67319,31.852728],[102.673436,31.853035],[102.673685,31.853353],[102.673933,31.853672],[102.674138,31.854025],[102.67431,31.854308],[102.674467,31.854632],[102.674623,31.8549],[102.674781,31.85514],[102.674831,31.855257],[102.674825,31.855671],[102.674821,31.855953],[102.674845,31.856319],[102.674869,31.856685],[102.674922,31.856852],[102.675111,31.857037],[102.675327,31.85725],[102.675341,31.857261],[102.675536,31.857404],[102.675731,31.857548],[102.675898,31.857768],[102.675963,31.858071],[102.675945,31.858321],[102.675871,31.858541],[102.675797,31.858761],[102.675797,31.859023],[102.675853,31.859259],[102.675856,31.859273],[102.675981,31.859475],[102.676058,31.859522],[102.676177,31.859594],[102.676505,31.859814],[102.676612,31.859915],[102.676689,31.860046],[102.676737,31.860189],[102.676784,31.86032],[102.676856,31.860433],[102.676939,31.860534],[102.677082,31.860671],[102.677314,31.860808],[102.677557,31.860909],[102.677843,31.861099],[102.678129,31.861289],[102.678295,31.861459],[102.678462,31.861628],[102.678503,31.861825],[102.678501,31.861893],[102.678497,31.862021],[102.678485,31.862289],[102.678474,31.862556],[102.67842,31.862818],[102.67839,31.863009],[102.678319,31.863305],[102.678248,31.863602],[102.678248,31.863603],[102.678248,31.863603],[102.678223,31.863687],[102.678223,31.863689],[102.67817,31.863871],[102.678027,31.864032],[102.677682,31.864222],[102.677593,31.864341],[102.677589,31.864459],[102.677587,31.86452],[102.677623,31.864769],[102.677659,31.864989],[102.677831,31.865299],[102.678004,31.86568],[102.678099,31.865804],[102.678277,31.86587],[102.678401,31.86591],[102.67844,31.865922],[102.678442,31.865923],[102.678444,31.865923],[102.678557,31.866025],[102.678569,31.866155],[102.678557,31.866286],[102.678527,31.866459],[102.678533,31.866631],[102.678652,31.86697],[102.678682,31.867119],[102.678682,31.867202],[102.67861,31.867315],[102.678521,31.867399],[102.678367,31.867494],[102.678057,31.86775],[102.677861,31.867916],[102.677737,31.86802],[102.677635,31.868107],[102.677436,31.868309],[102.677236,31.868511],[102.677088,31.86874],[102.677082,31.868749],[102.677082,31.868948],[102.677082,31.868975],[102.677093,31.869082],[102.677207,31.869433],[102.677409,31.869748],[102.677516,31.870141],[102.677555,31.870444],[102.677593,31.870748],[102.677617,31.870836],[102.677665,31.871014],[102.677742,31.871301],[102.67775,31.871323],[102.677871,31.871669],[102.677992,31.872015],[102.678033,31.87228],[102.678075,31.872544],[102.678111,31.872848],[102.678069,31.873264],[102.678013,31.873526],[102.677957,31.873788],[102.677891,31.874097],[102.677891,31.87421],[102.677891,31.874299],[102.677932,31.874382],[102.678051,31.87446],[102.678105,31.874502],[102.678349,31.874692],[102.678593,31.874882],[102.678771,31.875215],[102.678793,31.87529],[102.67886,31.875513],[102.678908,31.875816],[102.678979,31.876119],[102.679092,31.876328],[102.67919,31.876551],[102.679289,31.876774],[102.679402,31.876968],[102.679473,31.877089],[102.679526,31.877404],[102.679528,31.877433],[102.679544,31.877696],[102.679604,31.877934],[102.679741,31.878178],[102.679988,31.878499],[102.680056,31.878588],[102.680115,31.878721],[102.680199,31.878909],[102.680211,31.879177],[102.680208,31.879425],[102.680205,31.879861],[102.680175,31.880224],[102.680104,31.880593],[102.680032,31.880914],[102.679848,31.881116],[102.679613,31.881396],[102.679378,31.881675],[102.679146,31.882015],[102.678914,31.882354],[102.678696,31.882558],[102.678521,31.882722],[102.678515,31.882853],[102.678525,31.88289],[102.678539,31.882948],[102.678694,31.883056],[102.678725,31.883075],[102.678906,31.883189],[102.679117,31.883323],[102.679401,31.883664],[102.679685,31.884006],[102.679969,31.884348],[102.680253,31.884689],[102.680536,31.885031],[102.680348,31.885416],[102.680159,31.885801],[102.679971,31.886186],[102.679782,31.886571],[102.679594,31.886956],[102.679594,31.886957],[102.679593,31.886957],[102.679405,31.887341],[102.679217,31.887727],[102.679032,31.888008],[102.678847,31.88829],[102.67871,31.888506],[102.678573,31.888721],[102.678437,31.888936],[102.6783,31.889152],[102.678164,31.889367],[102.678027,31.889582],[102.677891,31.889798],[102.677754,31.890013],[102.677617,31.890229],[102.677481,31.890444],[102.677344,31.890659],[102.677208,31.890875],[102.677071,31.89109],[102.676934,31.891305],[102.676813,31.891521],[102.676691,31.891737],[102.67657,31.891953],[102.676448,31.892169],[102.676327,31.892385],[102.676205,31.892601],[102.676084,31.892817],[102.675962,31.893033],[102.67584,31.893249],[102.675719,31.893464],[102.675668,31.89359],[102.675629,31.893688],[102.675591,31.893782],[102.675547,31.893966],[102.675562,31.894151],[102.675596,31.894335],[102.675632,31.894453],[102.675739,31.894703],[102.675847,31.894952],[102.675954,31.895202],[102.676061,31.895451],[102.676273,31.89584],[102.676485,31.896228],[102.676698,31.896617],[102.67691,31.897006],[102.677023,31.897201],[102.677137,31.897396],[102.677251,31.897592],[102.677364,31.897787],[102.677478,31.897982],[102.677592,31.898177],[102.677704,31.898393],[102.677817,31.898609],[102.67793,31.898825],[102.678043,31.899041],[102.678155,31.899258],[102.678268,31.899474],[102.678381,31.89969],[102.678493,31.899906],[102.678605,31.900177],[102.678715,31.900547],[102.678757,31.900801],[102.6788,31.901054],[102.67885,31.901467],[102.678841,31.901787],[102.678796,31.902003],[102.678754,31.902138],[102.678712,31.902237],[102.678538,31.902404],[102.678364,31.902571],[102.67819,31.902738],[102.678016,31.902904],[102.677842,31.903071],[102.677668,31.903238],[102.677494,31.903405],[102.677319,31.903571],[102.677159,31.903751],[102.676998,31.90393],[102.676837,31.904109],[102.676676,31.904289],[102.676516,31.904468],[102.676355,31.904647],[102.676194,31.904826],[102.676034,31.905006],[102.675873,31.905185],[102.675712,31.905364],[102.675551,31.905544],[102.675391,31.905723],[102.67523,31.905902],[102.675069,31.906081],[102.674929,31.906261],[102.674788,31.906441],[102.674647,31.90662],[102.674507,31.9068],[102.674366,31.906979],[102.674225,31.907159],[102.674085,31.907338],[102.673944,31.907518],[102.673922,31.907651],[102.673923,31.907658],[102.673938,31.907769],[102.673947,31.90778],[102.674014,31.907855],[102.674111,31.907923],[102.674312,31.908025],[102.674513,31.908127],[102.674714,31.908229],[102.674915,31.90833],[102.675116,31.908432],[102.675318,31.908534],[102.675693,31.908742],[102.676069,31.908951],[102.676151,31.908996],[102.676445,31.909159],[102.676792,31.9094],[102.677042,31.90969],[102.677193,31.909928],[102.677286,31.910198],[102.677301,31.910383],[102.677297,31.910484],[102.677276,31.9106],[102.677273,31.910668],[102.677136,31.91089],[102.676999,31.911112],[102.676862,31.911334],[102.676725,31.911557],[102.676593,31.91179],[102.676461,31.912024],[102.676329,31.912257],[102.676197,31.912491],[102.676065,31.912724],[102.675933,31.912958],[102.675912,31.912996],[102.675801,31.913192],[102.675669,31.913425],[102.675555,31.9137],[102.67544,31.913974],[102.675345,31.914224],[102.67525,31.914474],[102.675214,31.914759],[102.675177,31.915044],[102.675164,31.915298],[102.675151,31.915553],[102.675138,31.915807],[102.675125,31.916061],[102.675111,31.916316],[102.675098,31.91657],[102.675111,31.916776],[102.675126,31.91704],[102.675163,31.917246],[102.675177,31.917319],[102.675229,31.917571],[102.675273,31.917684],[102.675378,31.91795],[102.675526,31.918329],[102.675608,31.918539],[102.675674,31.918708],[102.675794,31.919046],[102.675914,31.919383],[102.67598,31.9196],[102.676046,31.919818],[102.676112,31.920035],[102.676177,31.920252],[102.676243,31.92047],[102.676309,31.920687],[102.676375,31.920904],[102.676441,31.921122],[102.676484,31.921366],[102.676528,31.92161],[102.676523,31.921795],[102.676479,31.921928],[102.676378,31.922077],[102.676209,31.922267],[102.67604,31.922457],[102.675871,31.922647],[102.675702,31.922837],[102.675533,31.923027],[102.675364,31.923217],[102.675201,31.923417],[102.675038,31.923616],[102.674876,31.923816],[102.674713,31.924016],[102.674551,31.924216],[102.674388,31.924416],[102.674225,31.924615],[102.674063,31.924815],[102.6739,31.925015],[102.673737,31.925215],[102.67353,31.925598],[102.673445,31.925831],[102.673421,31.926049],[102.673416,31.92625],[102.673468,31.926469],[102.673523,31.926621],[102.673599,31.926774],[102.673886,31.927087],[102.674174,31.9274],[102.674462,31.927713],[102.674673,31.927952],[102.674786,31.928172],[102.674859,31.928391],[102.674876,31.928527],[102.67489,31.928729],[102.674876,31.928986],[102.674863,31.929243],[102.674849,31.929501],[102.674835,31.929758],[102.674821,31.930016],[102.674807,31.930273],[102.674793,31.93053],[102.674779,31.930788],[102.674777,31.931065],[102.674775,31.931342],[102.674773,31.931619],[102.674771,31.931896],[102.674703,31.932256],[102.674635,31.932615],[102.674569,31.932891],[102.674502,31.933167],[102.674476,31.933434],[102.674515,31.933616],[102.674565,31.933697],[102.67461,31.933768],[102.674898,31.934084],[102.674916,31.934103],[102.675186,31.934399],[102.675454,31.934701],[102.675721,31.935002],[102.675989,31.935303],[102.676136,31.935494],[102.676283,31.935685],[102.67643,31.935875],[102.676577,31.936066],[102.676724,31.936257],[102.676871,31.936448],[102.677018,31.936638],[102.677165,31.936829],[102.677312,31.93702],[102.677459,31.937211],[102.677647,31.937566],[102.67774,31.937828],[102.677832,31.938091],[102.677885,31.938391],[102.677937,31.938691],[102.677955,31.938955],[102.677973,31.93922],[102.677991,31.939484],[102.678009,31.939749],[102.678033,31.939993],[102.678056,31.940238],[102.67812,31.940457],[102.678183,31.940676],[102.678312,31.941039],[102.67844,31.941402],[102.678534,31.941622],[102.678627,31.941842],[102.678808,31.942114],[102.678988,31.942385],[102.679122,31.942622],[102.679256,31.942859],[102.679391,31.943096],[102.679525,31.943332],[102.679659,31.943569],[102.679793,31.943806],[102.679928,31.944043],[102.680062,31.94428],[102.680196,31.944517],[102.680331,31.944753],[102.680471,31.945077],[102.680508,31.945159],[102.680684,31.945565],[102.680861,31.945971],[102.681038,31.946377],[102.681158,31.946707],[102.681271,31.947015],[102.681278,31.947036],[102.681361,31.947298],[102.681444,31.94756],[102.681493,31.947924],[102.681495,31.948058],[102.681496,31.948167],[102.6815,31.94841],[102.681433,31.948728],[102.681366,31.949047],[102.681271,31.949305],[102.681176,31.949564],[102.681112,31.949747],[102.681108,31.949999],[102.681122,31.9501],[102.681159,31.950235],[102.681472,31.950538],[102.681785,31.950842],[102.682098,31.951145],[102.682411,31.951449],[102.682622,31.951676],[102.682833,31.951903],[102.682987,31.952107],[102.683042,31.952226],[102.683118,31.952361],[102.683126,31.952431],[102.68315,31.952631],[102.683124,31.952899],[102.683027,31.953216],[102.682931,31.953533],[102.682872,31.953884],[102.682814,31.954236],[102.682787,31.954536],[102.682782,31.954779],[102.682812,31.955132],[102.682872,31.95539],[102.682931,31.955649],[102.682991,31.955907],[102.68305,31.956166],[102.683109,31.956424],[102.683159,31.95664],[102.683159,31.95664],[102.683169,31.956683],[102.683223,31.956903],[102.683278,31.957123],[102.683332,31.957343],[102.683387,31.957563],[102.683441,31.957783],[102.683496,31.958003],[102.68355,31.958223],[102.683605,31.958443],[102.683662,31.958672],[102.683718,31.958901],[102.683775,31.959129],[102.683832,31.959358],[102.683911,31.959729],[102.683991,31.9601],[102.684118,31.960505],[102.684306,31.960878],[102.684444,31.961103],[102.684582,31.961328],[102.68472,31.961554],[102.684857,31.961779],[102.684995,31.962004],[102.685034,31.962068],[102.685035,31.96207],[102.685133,31.962229],[102.685304,31.96251],[102.685336,31.962585],[102.685341,31.962599],[102.685456,31.962924],[102.685509,31.963072],[102.685571,31.963248],[102.685631,31.963375],[102.685757,31.963641],[102.68584,31.963749],[102.685993,31.963948],[102.686157,31.964105],[102.686364,31.964248],[102.686635,31.964334],[102.686799,31.964369],[102.686937,31.964424],[102.686978,31.964441],[102.68717,31.964555],[102.687206,31.964612],[102.687272,31.964722],[102.687456,31.965026],[102.687479,31.965076],[102.687644,31.965432],[102.687809,31.965789],[102.688112,31.966075],[102.688148,31.96611],[102.688274,31.966228],[102.688339,31.966288],[102.688422,31.96636],[102.688487,31.966413],[102.688505,31.966455],[102.688517,31.966526],[102.68844,31.966633],[102.688279,31.966901],[102.688119,31.967169],[102.688005,31.967396],[102.687934,31.967537],[102.687774,31.967758],[102.687632,31.967903],[102.687565,31.967972],[102.687357,31.968132],[102.687149,31.968293],[102.686958,31.968461],[102.68686,31.968547],[102.68681,31.96859],[102.686679,31.968608],[102.686572,31.968608],[102.686453,31.968674],[102.686388,31.96881],[102.686411,31.969054],[102.686411,31.969447],[102.68639,31.969673],[102.68637,31.969899],[102.686313,31.970142],[102.686287,31.970248],[102.686255,31.970384],[102.686135,31.970637],[102.686049,31.970818],[102.685969,31.970986],[102.685803,31.971336],[102.685764,31.971396],[102.685709,31.971481],[102.68568,31.971527],[102.685609,31.971637],[102.685556,31.971718],[102.685433,31.971908],[102.68531,31.972099],[102.68515,31.972255],[102.685007,31.972395],[102.684787,31.972542],[102.684508,31.972655],[102.684168,31.972783],[102.684089,31.972805],[102.683913,31.972854],[102.683658,31.972924],[102.683403,31.972994],[102.683148,31.973064],[102.682893,31.973135],[102.682638,31.973205],[102.682383,31.973275],[102.682128,31.973345],[102.681873,31.973416],[102.681618,31.973486],[102.681369,31.973565],[102.68112,31.973645],[102.680872,31.973724],[102.680805,31.973745],[102.680623,31.973803],[102.68052,31.973844],[102.680236,31.973956],[102.680071,31.97402],[102.679859,31.974104],[102.679848,31.974108],[102.679622,31.974232],[102.679538,31.974278],[102.679486,31.974307],[102.679227,31.974449],[102.678946,31.974637],[102.678665,31.974826],[102.678599,31.974884],[102.678349,31.975105],[102.678034,31.975384],[102.677718,31.975664],[102.677564,31.975844],[102.67741,31.976025],[102.677256,31.976205],[102.677102,31.976385],[102.676948,31.976566],[102.676794,31.976746],[102.67664,31.976926],[102.676486,31.977107],[102.676333,31.977285],[102.676181,31.977464],[102.676181,31.977464],[102.676181,31.977464],[102.676025,31.977686],[102.675832,31.977998],[102.675638,31.97831],[102.675513,31.978507],[102.675478,31.978679],[102.675478,31.978894],[102.675478,31.979018],[102.675489,31.979188],[102.67549,31.979197],[102.675608,31.979406],[102.67562,31.979429],[102.675815,31.979757],[102.67601,31.980084],[102.676031,31.980119],[102.676233,31.980428],[102.676435,31.980738],[102.67656,31.981059],[102.676703,31.981338],[102.67675,31.981441],[102.676882,31.981725],[102.677015,31.98204],[102.677149,31.982356],[102.677156,31.982381],[102.677273,31.982806],[102.67739,31.983231],[102.677465,31.983504],[102.677601,31.983789],[102.677619,31.983932],[102.677625,31.984057],[102.677578,31.984158],[102.677384,31.984429],[102.677191,31.984699],[102.677062,31.984898],[102.676793,31.985163],[102.676525,31.985428],[102.676257,31.985693],[102.676061,31.985855],[102.675882,31.986002],[102.67561,31.986348],[102.675597,31.986365],[102.675365,31.986609],[102.67524,31.98674],[102.675139,31.986924],[102.675109,31.98718],[102.675109,31.98762],[102.675091,31.987953],[102.675186,31.988227],[102.675192,31.988393],[102.675079,31.988631],[102.675061,31.98906],[102.675064,31.989145],[102.675073,31.989381],[102.675133,31.989756],[102.675145,31.990119],[102.675145,31.990273],[102.675087,31.990423],[102.675055,31.990505],[102.674966,31.99066],[102.674913,31.99088],[102.674918,31.991005],[102.674948,31.991142],[102.675121,31.991308],[102.675127,31.991362],[102.675097,31.991469],[102.674936,31.991695],[102.674776,31.991921],[102.674615,31.992272],[102.674598,31.992368],[102.674531,31.992744],[102.674526,31.992772],[102.67449,31.99309],[102.674455,31.993408],[102.674397,31.993677],[102.67433,31.993991],[102.674312,31.994235],[102.674307,31.994332],[102.674306,31.994366],[102.674371,31.994467],[102.674532,31.994705],[102.674675,31.994913],[102.674752,31.995145],[102.674827,31.995447],[102.674903,31.995749],[102.674918,31.995811],[102.675061,31.996127],[102.675171,31.996356],[102.675281,31.996585],[102.675378,31.996729],[102.675538,31.996966],[102.675698,31.997203],[102.675927,31.997444],[102.676156,31.997685],[102.676251,31.997828],[102.676322,31.997971],[102.676394,31.998007],[102.676453,31.998036],[102.676483,31.998114],[102.676471,31.998256],[102.676424,31.998387],[102.67637,31.998488],[102.676282,31.998528],[102.676263,31.998536],[102.676049,31.998619],[102.675882,31.998744],[102.675751,31.998881],[102.675742,31.998895],[102.675715,31.998936],[102.675591,31.999125],[102.675466,31.999458],[102.675377,31.999583],[102.675153,31.999816],[102.674942,32.000035],[102.674698,32.000326],[102.674496,32.000487],[102.674228,32.000707],[102.673976,32.000862],[102.673723,32.001016],[102.673604,32.001129],[102.673544,32.001314],[102.673408,32.001736],[102.673312,32.002099],[102.673275,32.002198],[102.673247,32.002272],[102.673158,32.002403],[102.67308,32.00248],[102.672902,32.002557],[102.672718,32.002649],[102.672569,32.002724],[102.672397,32.002808],[102.672265,32.002872],[102.672031,32.002925],[102.671796,32.002977],[102.671784,32.00298],[102.671587,32.003009],[102.671308,32.003104],[102.671022,32.00336],[102.670975,32.003568],[102.670992,32.003729],[102.671053,32.003925],[102.671125,32.004159],[102.671171,32.004306],[102.671284,32.004621],[102.671308,32.004776],[102.671236,32.004907],[102.671141,32.005073],[102.671064,32.00524],[102.671033,32.005277],[102.670844,32.005508],[102.670683,32.005752],[102.670661,32.005808],[102.670591,32.00599],[102.670499,32.006227],[102.670415,32.006567],[102.670338,32.006784],[102.670261,32.007001],[102.670112,32.007254],[102.669963,32.007506],[102.669832,32.007703],[102.669672,32.007798],[102.66941,32.007932],[102.669148,32.008065],[102.669113,32.008083],[102.668976,32.008191],[102.668973,32.008215],[102.668958,32.008327],[102.668982,32.008434],[102.669035,32.008589],[102.669046,32.008637],[102.669071,32.008744],[102.669089,32.008892],[102.669136,32.009053],[102.669214,32.00919],[102.669386,32.009351],[102.669559,32.009511],[102.669752,32.009856],[102.669945,32.010201],[102.670094,32.010412],[102.670243,32.010624],[102.670326,32.010689],[102.670451,32.010743],[102.670473,32.010749],[102.670869,32.010859],[102.671028,32.010903],[102.671168,32.010983],[102.671236,32.011022],[102.671563,32.011302],[102.671754,32.011453],[102.671944,32.011605],[102.672063,32.011685],[102.672164,32.011754],[102.672462,32.011908],[102.672729,32.012164],[102.67278,32.012213],[102.672914,32.012343],[102.673057,32.012515],[102.673092,32.012646],[102.673106,32.012724],[102.673122,32.012813],[102.673211,32.012961],[102.673354,32.013167],[102.673425,32.013415],[102.673491,32.013552],[102.673516,32.013605],[102.67358,32.01369],[102.673673,32.013813],[102.673706,32.013857],[102.673816,32.01399],[102.674011,32.014109],[102.674073,32.014157],[102.674077,32.014228],[102.674073,32.014333],[102.674038,32.014456],[102.674025,32.0145],[102.673973,32.014609],[102.673968,32.014757],[102.673958,32.014918],[102.673916,32.015109],[102.673868,32.015209],[102.673836,32.015301],[102.673811,32.015375],[102.673868,32.015689],[102.673849,32.015861],[102.673839,32.016132],[102.673839,32.016312],[102.673839,32.016384],[102.673915,32.016695],[102.673944,32.016813],[102.673996,32.017046],[102.674009,32.017109],[102.674092,32.017536],[102.674151,32.017895],[102.674211,32.018254],[102.674234,32.018535],[102.674196,32.018764],[102.674125,32.018945],[102.674123,32.018958],[102.674101,32.019159],[102.67412,32.019306],[102.674215,32.019458],[102.674401,32.019749],[102.674501,32.019953],[102.674539,32.020063],[102.674582,32.020187],[102.674636,32.020406],[102.674644,32.020439],[102.674625,32.020696],[102.674587,32.020896],[102.674604,32.021106],[102.674606,32.021129],[102.674632,32.021353],[102.674634,32.021368],[102.674658,32.021576],[102.674701,32.021881],[102.67471,32.022085],[102.674691,32.02229],[102.674644,32.022576],[102.674644,32.02278],[102.674682,32.022999],[102.674698,32.023062],[102.674777,32.023361],[102.674796,32.023508],[102.674789,32.0237],[102.674786,32.023775],[102.674677,32.024108],[102.674644,32.024355],[102.674639,32.024589],[102.674601,32.024755],[102.674544,32.024874],[102.674265,32.02512],[102.673891,32.025317],[102.673792,32.025369],[102.673571,32.025446],[102.673351,32.025522],[102.67334,32.025526],[102.673021,32.025636],[102.672726,32.025816],[102.672359,32.025926],[102.671993,32.026035],[102.671631,32.026173],[102.671296,32.02643],[102.671265,32.026454],[102.671079,32.026545],[102.670851,32.026659],[102.670568,32.026813],[102.670284,32.026968],[102.670047,32.027106],[102.669882,32.02738],[102.669804,32.027511],[102.669667,32.027902],[102.669657,32.027948],[102.669589,32.028259],[102.669639,32.028495],[102.66976,32.028666],[102.669924,32.028841],[102.670088,32.029016],[102.67026,32.029159],[102.670481,32.029337],[102.670602,32.029701],[102.670738,32.029915],[102.670888,32.030115],[102.670995,32.030265],[102.671022,32.030333],[102.671109,32.030551],[102.671159,32.030693],[102.67138,32.030875],[102.671602,32.031057],[102.671877,32.031264],[102.672151,32.031471],[102.672176,32.031499],[102.672395,32.031741],[102.672428,32.031778],[102.67268,32.032057],[102.672837,32.032232],[102.672994,32.032407],[102.673029,32.03242],[102.673379,32.032556],[102.673686,32.032671],[102.673886,32.032799],[102.673906,32.032832],[102.674036,32.033042],[102.67405,32.033137],[102.674072,32.033277],[102.67405,32.03367],[102.673953,32.033997],[102.673907,32.034148],[102.67379,32.034496],[102.673722,32.034698],[102.673658,32.034905],[102.673693,32.035105],[102.673702,32.035114],[102.6738,32.035219],[102.673922,32.035298],[102.674022,32.035462],[102.67405,32.035655],[102.674036,32.035883],[102.67392,32.036165],[102.673805,32.036447],[102.673766,32.036542],[102.67371,32.036679],[102.673615,32.036911],[102.673527,32.037131],[102.673465,32.037289],[102.673212,32.037566],[102.673158,32.037625],[102.672894,32.037967],[102.672772,32.038189],[102.672694,32.038421],[102.672615,32.038653],[102.672423,32.038988],[102.672291,32.039181],[102.672159,32.039374],[102.67215,32.039387],[102.671976,32.039641],[102.671802,32.039895],[102.671752,32.04013],[102.671652,32.040344],[102.67153,32.04043],[102.67142,32.040487],[102.671266,32.040566],[102.671007,32.040717],[102.670924,32.040766],[102.670595,32.041008],[102.670481,32.041094],[102.670438,32.041201],[102.670424,32.041494],[102.67041,32.041786],[102.670353,32.042215],[102.670346,32.04224],[102.67034,32.042263],[102.670243,32.042646],[102.670146,32.043028],[102.670074,32.043207],[102.670003,32.043307],[102.669839,32.043343],[102.669739,32.043347],[102.669532,32.043357],[102.669367,32.043357],[102.669096,32.043303],[102.668825,32.04325],[102.668554,32.043207],[102.668282,32.043164],[102.667933,32.04315],[102.667669,32.043143],[102.667577,32.043164],[102.667483,32.043186],[102.667269,32.043278],[102.667019,32.043321],[102.666669,32.043271],[102.666369,32.04325],[102.666237,32.04325],[102.666091,32.04325],[102.666017,32.043296],[102.665698,32.043492],[102.665394,32.043779],[102.665191,32.043971],[102.664949,32.044106],[102.664763,32.044256],[102.664556,32.044328],[102.664378,32.04442],[102.664256,32.04452],[102.664064,32.04471],[102.663871,32.044899],[102.663849,32.04492],[102.663585,32.045091],[102.663278,32.045199],[102.663064,32.045234],[102.662814,32.045234]]]]},"properties":{"cp":[102.49877817263959,32.16081640345188],"code":"513233101","name":"刷经寺镇","level":"street","center":[102.49877817263959,32.16081640345188],"fullCode":"513233101000","fullName":"四川省阿坝藏族羌族自治州红原县刷经寺镇","acreageMu":1479646.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.661,31.9177]}},{"id":"513233103","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.190465,32.696137],[102.190648,32.695897],[102.1908,32.695656],[102.19099,32.695463],[102.19118,32.69527],[102.19137,32.695077],[102.19156,32.694884],[102.191781,32.694532],[102.191877,32.694281],[102.191973,32.694031],[102.192053,32.693751],[102.192132,32.69347],[102.192144,32.693222],[102.192157,32.692973],[102.192157,32.692964],[102.192169,32.692725],[102.192181,32.692476],[102.192193,32.692228],[102.192206,32.691979],[102.192218,32.691731],[102.19223,32.691482],[102.192191,32.691051],[102.192169,32.690812],[102.192152,32.690619],[102.192166,32.690348],[102.192167,32.690321],[102.192174,32.690188],[102.192196,32.689758],[102.192219,32.689328],[102.192241,32.688898],[102.192293,32.688642],[102.192345,32.688386],[102.192398,32.68813],[102.19245,32.687874],[102.192502,32.687618],[102.192555,32.687361],[102.192607,32.687105],[102.192611,32.687088],[102.192659,32.686849],[102.192712,32.686593],[102.192738,32.686466],[102.192764,32.686337],[102.192816,32.686081],[102.192854,32.685898],[102.192865,32.685841],[102.192869,32.685825],[102.192956,32.685578],[102.193042,32.685331],[102.193129,32.685084],[102.193216,32.684837],[102.193303,32.684591],[102.193325,32.684528],[102.19339,32.684344],[102.193425,32.684243],[102.193477,32.684097],[102.193564,32.68385],[102.193677,32.683607],[102.19379,32.683365],[102.193903,32.683122],[102.194017,32.68288],[102.19413,32.682637],[102.194243,32.682395],[102.194356,32.682152],[102.194379,32.682104],[102.194469,32.68191],[102.194548,32.681812],[102.19475,32.681561],[102.19503,32.681212],[102.195311,32.680863],[102.195591,32.680514],[102.195872,32.680165],[102.196009,32.680089],[102.196105,32.680037],[102.19628,32.67994],[102.196299,32.679929],[102.196337,32.679909],[102.196684,32.679795],[102.196763,32.679769],[102.197011,32.67973],[102.197093,32.679718],[102.197258,32.679692],[102.197259,32.679692],[102.197259,32.679692],[102.197279,32.679689],[102.197452,32.679664],[102.197612,32.679641],[102.197877,32.679609],[102.198142,32.679578],[102.198406,32.679547],[102.198664,32.679516],[102.198671,32.679515],[102.198685,32.679506],[102.198713,32.679487],[102.198745,32.679465],[102.198883,32.67937],[102.198924,32.679343],[102.199142,32.679109],[102.199221,32.678815],[102.199234,32.678399],[102.199224,32.678146],[102.199215,32.677893],[102.199152,32.677639],[102.19909,32.677386],[102.199091,32.677363],[102.199095,32.677215],[102.199098,32.677109],[102.199101,32.677035],[102.199101,32.677032],[102.199101,32.67703],[102.199215,32.676735],[102.199399,32.676502],[102.199687,32.6763],[102.19992,32.676142],[102.200154,32.675984],[102.200387,32.67584],[102.20062,32.675697],[102.200818,32.675553],[102.201016,32.675409],[102.201234,32.675206],[102.201398,32.675016],[102.201562,32.674826],[102.20182,32.674485],[102.202077,32.674145],[102.202335,32.673804],[102.202507,32.673576],[102.202515,32.673565],[102.202592,32.673463],[102.20266,32.673267],[102.202669,32.673238],[102.202747,32.673013],[102.202812,32.672825],[102.202824,32.672788],[102.202902,32.672563],[102.202979,32.672339],[102.203057,32.672114],[102.203134,32.671889],[102.20316,32.671815],[102.203161,32.67181],[102.203212,32.671664],[102.20335,32.67147],[102.203487,32.671277],[102.203625,32.671083],[102.203763,32.670889],[102.203901,32.670696],[102.204039,32.670502],[102.204111,32.6704],[102.204138,32.670363],[102.204177,32.670308],[102.204231,32.670233],[102.204315,32.670115],[102.204444,32.669924],[102.204486,32.669863],[102.204506,32.669832],[102.204573,32.669734],[102.204793,32.669471],[102.205023,32.669409],[102.205253,32.669348],[102.205483,32.669286],[102.205672,32.669235],[102.20569,32.669231],[102.205714,32.669224],[102.205744,32.669228],[102.20576,32.66923],[102.20603,32.669262],[102.206203,32.669354],[102.206408,32.669537],[102.206543,32.669733],[102.206678,32.66993],[102.20683,32.670141],[102.206982,32.670353],[102.207169,32.67055],[102.207357,32.670746],[102.207711,32.670927],[102.208064,32.671107],[102.208343,32.671202],[102.208621,32.671298],[102.208864,32.671407],[102.208992,32.671465],[102.20903,32.671481],[102.209107,32.671516],[102.209135,32.671534],[102.209452,32.671732],[102.209688,32.672064],[102.209853,32.672425],[102.209915,32.672708],[102.209976,32.672992],[102.210126,32.673263],[102.210276,32.673533],[102.210445,32.673745],[102.210615,32.673957],[102.210922,32.674231],[102.211266,32.674476],[102.211474,32.674585],[102.211682,32.674693],[102.212066,32.674791],[102.212451,32.674859],[102.212838,32.674853],[102.213225,32.674847],[102.213507,32.674823],[102.21372,32.674768],[102.213953,32.674677],[102.214006,32.674656],[102.214063,32.674633],[102.214156,32.674596],[102.214284,32.674546],[102.21429,32.674544],[102.214507,32.674371],[102.214653,32.674225],[102.214958,32.673909],[102.215263,32.673592],[102.215488,32.67336],[102.215569,32.673276],[102.215802,32.672945],[102.216035,32.672613],[102.216268,32.672281],[102.216467,32.672093],[102.216667,32.671904],[102.216899,32.67182],[102.216997,32.671784],[102.217086,32.671753],[102.217131,32.671736],[102.217178,32.671737],[102.217235,32.671739],[102.217301,32.671754],[102.217375,32.671771],[102.217514,32.671834],[102.217753,32.672047],[102.217906,32.672214],[102.218059,32.67238],[102.218212,32.672547],[102.218366,32.672714],[102.218536,32.672881],[102.218707,32.673048],[102.219019,32.673204],[102.219298,32.6733],[102.219578,32.673305],[102.219826,32.673266],[102.220074,32.673227],[102.220141,32.673191],[102.22016,32.673182],[102.220181,32.67317],[102.220367,32.673059],[102.220385,32.673048],[102.2204,32.673039],[102.220437,32.673017],[102.220468,32.672998],[102.220519,32.672952],[102.220638,32.672845],[102.220808,32.672691],[102.220978,32.672537],[102.221148,32.672383],[102.221318,32.67223],[102.221488,32.672076],[102.221658,32.671922],[102.22173,32.671857],[102.221811,32.671785],[102.221829,32.671769],[102.221914,32.671691],[102.221999,32.671615],[102.222169,32.671461],[102.222365,32.671276],[102.22256,32.67109],[102.222756,32.670904],[102.222924,32.670745],[102.222927,32.670742],[102.222952,32.670718],[102.223007,32.670666],[102.223012,32.670661],[102.223019,32.670655],[102.223148,32.670533],[102.223344,32.670347],[102.223539,32.670161],[102.223634,32.670072],[102.223638,32.670068],[102.223735,32.669975],[102.223931,32.66979],[102.223967,32.669756],[102.224127,32.669604],[102.224268,32.669406],[102.224409,32.669208],[102.22455,32.66901],[102.2246,32.668939],[102.22469,32.668811],[102.224787,32.668676],[102.224787,32.668676],[102.224831,32.668613],[102.224846,32.668592],[102.224847,32.668592],[102.224937,32.668465],[102.224972,32.668415],[102.225113,32.668217],[102.225254,32.668019],[102.225314,32.667935],[102.225385,32.667834],[102.225395,32.667821],[102.225455,32.667736],[102.225536,32.667623],[102.225677,32.667425],[102.225818,32.667226],[102.225959,32.667028],[102.226067,32.666876],[102.2261,32.66683],[102.226226,32.666786],[102.226476,32.666699],[102.226727,32.666611],[102.226977,32.666524],[102.227017,32.66651],[102.227019,32.666509],[102.227021,32.666508],[102.227131,32.66647],[102.227131,32.66647],[102.227227,32.666437],[102.227275,32.66642],[102.227478,32.666349],[102.227728,32.666262],[102.227959,32.66615],[102.228191,32.666038],[102.228422,32.665926],[102.228474,32.665901],[102.228622,32.665829],[102.228653,32.665814],[102.228885,32.665702],[102.229116,32.66559],[102.229347,32.665478],[102.229482,32.665413],[102.229578,32.665367],[102.22961,32.665345],[102.229931,32.665124],[102.230283,32.664881],[102.230636,32.664639],[102.230988,32.664396],[102.231336,32.664118],[102.231684,32.66384],[102.23187,32.66367],[102.232056,32.663501],[102.232307,32.663241],[102.232557,32.662981],[102.232708,32.662785],[102.232859,32.662589],[102.233011,32.662393],[102.233162,32.662197],[102.23326,32.661956],[102.233358,32.661715],[102.233456,32.661474],[102.233554,32.661233],[102.233652,32.660993],[102.23375,32.660752],[102.233827,32.660589],[102.233978,32.66041],[102.234128,32.660249],[102.234275,32.660191],[102.234689,32.660097],[102.234697,32.660097],[102.235077,32.660086],[102.235319,32.660101],[102.23556,32.660116],[102.235971,32.660146],[102.236211,32.660182],[102.236451,32.660218],[102.236738,32.660326],[102.237123,32.660437],[102.237431,32.660669],[102.237598,32.660795],[102.237738,32.6609],[102.237937,32.66112],[102.237992,32.661181],[102.238135,32.661339],[102.238299,32.661516],[102.238463,32.661693],[102.238518,32.661757],[102.238627,32.661881],[102.239059,32.661973],[102.239196,32.661976],[102.239375,32.661979],[102.239691,32.661935],[102.240007,32.661891],[102.240235,32.661548],[102.240375,32.661337],[102.240514,32.661126],[102.240653,32.660934],[102.240791,32.660743],[102.241041,32.660504],[102.241317,32.660223],[102.241564,32.660005],[102.24186,32.659846],[102.242227,32.659742],[102.242593,32.659638],[102.242907,32.659624],[102.243293,32.659674],[102.243703,32.659714],[102.244113,32.659754],[102.244367,32.659735],[102.244621,32.659716],[102.244875,32.659697],[102.245128,32.659678],[102.245382,32.659659],[102.245636,32.65964],[102.24589,32.659621],[102.246143,32.659603],[102.246397,32.659584],[102.246651,32.659565],[102.24691,32.659526],[102.247169,32.659487],[102.247294,32.659469],[102.247429,32.659449],[102.247688,32.65941],[102.247947,32.659371],[102.248207,32.659333],[102.248448,32.659348],[102.24869,32.659363],[102.248931,32.659389],[102.248993,32.659396],[102.249158,32.659414],[102.249171,32.659415],[102.249244,32.659443],[102.24927,32.659452],[102.249338,32.659478],[102.24944,32.659516],[102.249459,32.659523],[102.249744,32.659714],[102.249932,32.659882],[102.250121,32.660049],[102.250455,32.660219],[102.250887,32.660331],[102.251174,32.660321],[102.251226,32.660319],[102.251493,32.660263],[102.251551,32.660248],[102.251667,32.660218],[102.25175,32.660197],[102.252006,32.660131],[102.252282,32.659791],[102.252283,32.65979],[102.252283,32.65979],[102.252283,32.65979],[102.252303,32.659765],[102.252484,32.659539],[102.252559,32.659444],[102.252684,32.659288],[102.252692,32.659281],[102.252871,32.659129],[102.253058,32.658969],[102.253381,32.65869],[102.253626,32.658573],[102.253872,32.658456],[102.254117,32.658379],[102.254458,32.658345],[102.254771,32.658352],[102.255058,32.65846],[102.255273,32.658567],[102.255487,32.658674],[102.255846,32.658805],[102.256085,32.658892],[102.256317,32.658836],[102.256323,32.658834],[102.256374,32.658822],[102.256425,32.658809],[102.256549,32.658779],[102.256768,32.658723],[102.257032,32.658475],[102.257189,32.658328],[102.257296,32.658228],[102.257424,32.657985],[102.257503,32.657772],[102.257582,32.657559],[102.257618,32.657298],[102.257655,32.657036],[102.257691,32.656775],[102.257727,32.656513],[102.257764,32.656252],[102.2578,32.65599],[102.257849,32.655552],[102.257899,32.655113],[102.257979,32.654859],[102.25806,32.654606],[102.25814,32.654352],[102.258221,32.654099],[102.258374,32.653836],[102.258552,32.653554],[102.258801,32.653284],[102.25905,32.653013],[102.259234,32.652841],[102.259418,32.652669],[102.259601,32.652496],[102.259785,32.652324],[102.259969,32.652152],[102.260152,32.65198],[102.260353,32.651791],[102.260553,32.651601],[102.260739,32.651432],[102.260925,32.651262],[102.261238,32.650941],[102.261454,32.650719],[102.26155,32.65062],[102.261753,32.650319],[102.261801,32.650206],[102.261883,32.650015],[102.26194,32.64973],[102.261944,32.649587],[102.261947,32.649481],[102.261955,32.649232],[102.261962,32.648983],[102.26197,32.648734],[102.261978,32.648485],[102.261985,32.648236],[102.261993,32.647987],[102.262,32.647738],[102.262008,32.647489],[102.262015,32.64724],[102.262055,32.646812],[102.262095,32.646383],[102.262135,32.645954],[102.262174,32.645526],[102.262245,32.645271],[102.262315,32.645017],[102.262385,32.644762],[102.262455,32.644508],[102.262542,32.644276],[102.262629,32.644045],[102.262717,32.643813],[102.262804,32.643582],[102.263076,32.643257],[102.263347,32.642931],[102.263619,32.642606],[102.263926,32.642291],[102.264233,32.641976],[102.26447,32.641733],[102.26454,32.641661],[102.2647,32.641484],[102.264859,32.641307],[102.265019,32.64113],[102.265179,32.640952],[102.265338,32.640775],[102.265498,32.640598],[102.265542,32.640501],[102.265594,32.640386],[102.26569,32.640174],[102.265786,32.639962],[102.265881,32.63975],[102.265977,32.639538],[102.266073,32.639326],[102.266169,32.639114],[102.266265,32.638902],[102.266267,32.638842],[102.266302,32.638571],[102.266336,32.638301],[102.266371,32.638031],[102.266406,32.63776],[102.266485,32.637506],[102.266565,32.637251],[102.266788,32.636956],[102.266974,32.636689],[102.267087,32.63651],[102.267252,32.636348],[102.267417,32.636185],[102.267532,32.635948],[102.267683,32.635649],[102.267797,32.635441],[102.267879,32.635082],[102.267873,32.634841],[102.267867,32.634599],[102.267861,32.634358],[102.267855,32.634117],[102.267849,32.633876],[102.267846,32.633787],[102.267842,32.633635],[102.267836,32.633394],[102.26783,32.633153],[102.267787,32.632919],[102.267743,32.632685],[102.267699,32.632451],[102.267656,32.632217],[102.267612,32.631983],[102.267568,32.63175],[102.267525,32.631516],[102.267481,32.631282],[102.267437,32.631048],[102.267394,32.630814],[102.26735,32.63058],[102.267306,32.630346],[102.267236,32.630082],[102.267166,32.629819],[102.267095,32.629555],[102.267025,32.629292],[102.266955,32.629028],[102.266884,32.628764],[102.266814,32.628501],[102.266744,32.628237],[102.266673,32.627974],[102.266603,32.62771],[102.266504,32.627479],[102.266406,32.627248],[102.266307,32.627017],[102.266208,32.626786],[102.266109,32.626555],[102.266011,32.626324],[102.265912,32.626092],[102.265813,32.625861],[102.265715,32.62563],[102.265616,32.625399],[102.26548,32.625119],[102.26536,32.624869],[102.265239,32.62462],[102.265119,32.624371],[102.264998,32.624122],[102.264878,32.623873],[102.264757,32.623624],[102.264637,32.623375],[102.264516,32.623126],[102.264415,32.622702],[102.264411,32.6225],[102.264407,32.622298],[102.264416,32.622023],[102.264455,32.621787],[102.264495,32.62155],[102.264534,32.621314],[102.264574,32.621078],[102.264613,32.620841],[102.264653,32.620605],[102.264722,32.620354],[102.264792,32.620103],[102.264862,32.619851],[102.264932,32.6196],[102.265002,32.619349],[102.265072,32.619098],[102.265142,32.618847],[102.265212,32.618596],[102.265291,32.618346],[102.26537,32.618097],[102.265449,32.61785],[102.26545,32.617848],[102.265529,32.617599],[102.265599,32.617382],[102.265609,32.61735],[102.265688,32.617101],[102.265768,32.616852],[102.265847,32.616603],[102.265927,32.616353],[102.265969,32.616219],[102.266006,32.616104],[102.266065,32.61592],[102.266086,32.615855],[102.266165,32.615606],[102.266225,32.615369],[102.266285,32.615132],[102.266345,32.614895],[102.266405,32.614658],[102.266413,32.614375],[102.266422,32.614092],[102.266449,32.613882],[102.266515,32.613725],[102.26657,32.613593],[102.26671,32.61341],[102.266851,32.613227],[102.267085,32.612876],[102.267319,32.612525],[102.267553,32.612175],[102.267591,32.61211],[102.267694,32.611935],[102.267817,32.611663],[102.267844,32.611388],[102.267858,32.610968],[102.267849,32.610612],[102.267839,32.610256],[102.267782,32.610022],[102.267725,32.609788],[102.267668,32.609554],[102.267611,32.609321],[102.267554,32.609087],[102.267497,32.608853],[102.26744,32.608619],[102.267383,32.608385],[102.267347,32.608239],[102.267341,32.608213],[102.267326,32.608151],[102.267269,32.607917],[102.26721,32.607683],[102.267176,32.607548],[102.267151,32.607448],[102.267092,32.607214],[102.267078,32.607156],[102.267068,32.607116],[102.267051,32.607047],[102.267034,32.606979],[102.266876,32.60665],[102.266719,32.606321],[102.26651,32.605944],[102.266282,32.605558],[102.266053,32.605171],[102.265759,32.604878],[102.265747,32.604865],[102.26544,32.604559],[102.265134,32.604253],[102.264827,32.603947],[102.264652,32.603784],[102.264478,32.60362],[102.264303,32.603457],[102.264129,32.603294],[102.263954,32.603131],[102.263779,32.602968],[102.263605,32.602805],[102.26343,32.602642],[102.263256,32.602479],[102.263081,32.602316],[102.262907,32.602152],[102.262732,32.601989],[102.262557,32.601826],[102.262383,32.601663],[102.262203,32.601518],[102.262105,32.601439],[102.262024,32.601374],[102.261845,32.601229],[102.261665,32.601084],[102.261486,32.60094],[102.261447,32.600908],[102.261413,32.600881],[102.261306,32.600795],[102.261127,32.60065],[102.260948,32.600505],[102.260768,32.600361],[102.260589,32.600216],[102.260433,32.600037],[102.260277,32.599859],[102.260122,32.59968],[102.259966,32.599501],[102.25981,32.599323],[102.259654,32.599144],[102.259499,32.598965],[102.259343,32.598787],[102.259187,32.598608],[102.259031,32.598429],[102.259009,32.598404],[102.258875,32.598251],[102.258869,32.598243],[102.258838,32.598207],[102.25872,32.598072],[102.258552,32.597914],[102.258385,32.597757],[102.258266,32.597552],[102.258147,32.597347],[102.258065,32.596958],[102.258045,32.59669],[102.258027,32.596454],[102.258025,32.596424],[102.258025,32.596423],[102.258026,32.596418],[102.258047,32.596314],[102.25805,32.596301],[102.258054,32.596284],[102.258077,32.596171],[102.25813,32.595918],[102.258182,32.595666],[102.258235,32.595413],[102.258287,32.595161],[102.25834,32.594908],[102.258461,32.59448],[102.258582,32.594051],[102.258704,32.593623],[102.258808,32.593407],[102.258913,32.593191],[102.259017,32.592974],[102.259046,32.592916],[102.259122,32.592758],[102.259226,32.592542],[102.259331,32.592326],[102.259435,32.59211],[102.25954,32.591894],[102.259644,32.591678],[102.259749,32.591462],[102.259894,32.591109],[102.259904,32.59109],[102.260057,32.590806],[102.260157,32.590662],[102.260317,32.590424],[102.260466,32.590248],[102.260615,32.590073],[102.260775,32.589866],[102.260993,32.589596],[102.261173,32.589373],[102.261314,32.589134],[102.261458,32.588829],[102.261544,32.588507],[102.261591,32.5882],[102.261618,32.587934],[102.261646,32.587667],[102.261674,32.587401],[102.261702,32.587135],[102.261665,32.586895],[102.261629,32.586656],[102.261593,32.586417],[102.261557,32.586177],[102.261478,32.585957],[102.261398,32.585737],[102.261319,32.585517],[102.261239,32.585297],[102.261117,32.584922],[102.261069,32.584613],[102.261078,32.58429],[102.261106,32.583999],[102.261134,32.583773],[102.261137,32.583643],[102.261177,32.583451],[102.261181,32.583434],[102.261225,32.58329],[102.261305,32.58313],[102.261506,32.582827],[102.261648,32.582571],[102.261828,32.582316],[102.261969,32.582076],[102.262076,32.581739],[102.262165,32.581336],[102.262254,32.580934],[102.262343,32.580532],[102.26239,32.580089],[102.262438,32.579647],[102.262486,32.579205],[102.262534,32.578762],[102.262581,32.57832],[102.262596,32.578248],[102.262631,32.578083],[102.26268,32.577847],[102.26273,32.57761],[102.26278,32.577374],[102.262829,32.577137],[102.262879,32.5769],[102.262928,32.576664],[102.262978,32.576427],[102.263027,32.57619],[102.263077,32.575954],[102.263101,32.575825],[102.263176,32.575543],[102.263252,32.575262],[102.263436,32.574876],[102.263637,32.574565],[102.263838,32.574254],[102.264017,32.574016],[102.264361,32.57374],[102.264704,32.573464],[102.264939,32.573316],[102.265173,32.573167],[102.265407,32.573018],[102.265641,32.572869],[102.265875,32.572721],[102.26611,32.572572],[102.266339,32.572427],[102.266568,32.572283],[102.266797,32.572138],[102.267026,32.571993],[102.267255,32.571848],[102.267484,32.571703],[102.267693,32.571619],[102.267901,32.571534],[102.268109,32.57145],[102.268318,32.571365],[102.26865,32.571178],[102.26894,32.571039],[102.269163,32.570939],[102.269387,32.570838],[102.269621,32.57069],[102.269855,32.570541],[102.270089,32.570393],[102.270323,32.570245],[102.270501,32.570083],[102.270678,32.569921],[102.270855,32.569759],[102.271033,32.569597],[102.27121,32.569435],[102.271388,32.569273],[102.271565,32.569111],[102.271743,32.568948],[102.271928,32.568801],[102.272112,32.568653],[102.272297,32.568506],[102.272482,32.568358],[102.272666,32.56821],[102.272851,32.568063],[102.273036,32.567915],[102.273221,32.567768],[102.273431,32.567594],[102.273642,32.567421],[102.273853,32.567247],[102.274064,32.567074],[102.274226,32.566904],[102.274388,32.566735],[102.274551,32.566565],[102.274713,32.566395],[102.274875,32.566226],[102.275037,32.566056],[102.275199,32.565886],[102.275362,32.565716],[102.275524,32.565547],[102.275686,32.565377],[102.275851,32.565215],[102.276016,32.565052],[102.276181,32.56489],[102.276346,32.564728],[102.276511,32.564565],[102.276676,32.564403],[102.276842,32.564241],[102.277007,32.564078],[102.277216,32.563916],[102.277425,32.563753],[102.277634,32.56359],[102.277843,32.563427],[102.278052,32.563264],[102.278261,32.563102],[102.278454,32.562973],[102.278647,32.562845],[102.278839,32.562717],[102.279032,32.562589],[102.279225,32.562461],[102.279417,32.562333],[102.279681,32.562161],[102.279944,32.561989],[102.280204,32.561622],[102.280326,32.561398],[102.280469,32.561125],[102.280572,32.560853],[102.280638,32.560564],[102.280704,32.560306],[102.280732,32.559967],[102.280743,32.559626],[102.280735,32.559354],[102.280734,32.559302],[102.28066,32.559042],[102.280587,32.558782],[102.280513,32.558521],[102.28044,32.558261],[102.280329,32.558042],[102.280317,32.558018],[102.280218,32.557823],[102.280107,32.557604],[102.279996,32.557385],[102.279885,32.557166],[102.279774,32.556947],[102.279663,32.556729],[102.279553,32.55651],[102.279485,32.556233],[102.279419,32.555891],[102.279425,32.555666],[102.279491,32.555408],[102.279593,32.555151],[102.279795,32.554799],[102.279918,32.554559],[102.28004,32.554383],[102.280276,32.554146],[102.280501,32.554005],[102.280726,32.553863],[102.280951,32.553722],[102.281177,32.55358],[102.281402,32.553439],[102.281627,32.553297],[102.281853,32.553156],[102.282078,32.553014],[102.282303,32.552873],[102.282528,32.552731],[102.282754,32.55259],[102.282979,32.552448],[102.283204,32.552307],[102.283348,32.552217],[102.28343,32.552165],[102.283677,32.552057],[102.283839,32.551986],[102.283924,32.551949],[102.283953,32.551937],[102.284171,32.551841],[102.284418,32.551733],[102.284666,32.551625],[102.284913,32.551517],[102.28516,32.55141],[102.285407,32.551302],[102.285756,32.551163],[102.286105,32.551025],[102.286453,32.550887],[102.286742,32.550829],[102.28703,32.55077],[102.287376,32.550753],[102.287721,32.550736],[102.287962,32.550693],[102.288203,32.550649],[102.2884,32.550609],[102.288978,32.55096],[102.289086,32.551026],[102.289096,32.551032],[102.289111,32.551039],[102.289115,32.551044],[102.289186,32.551087],[102.290274,32.551748],[102.292411,32.552783],[102.292504,32.552828],[102.29276,32.552991],[102.293699,32.553591],[102.294988,32.554134],[102.296448,32.554755],[102.298365,32.554649],[102.300189,32.554762],[102.301324,32.554639],[102.302104,32.554729],[102.302954,32.555411],[102.304401,32.556473],[102.306281,32.557619],[102.307993,32.55854],[102.309784,32.559757],[102.310799,32.560737],[102.312079,32.561575],[102.314074,32.561765],[102.31669,32.5616],[102.318094,32.561187],[102.319668,32.560926],[102.321407,32.560963],[102.322418,32.560466],[102.322485,32.560433],[102.322555,32.560398],[102.322969,32.560219],[102.323031,32.560192],[102.323525,32.559977],[102.323552,32.559976],[102.323697,32.559917],[102.323706,32.559915],[102.32385,32.559884],[102.323856,32.559882],[102.324016,32.559867],[102.32406,32.559863],[102.324067,32.559862],[102.324288,32.559863],[102.324574,32.559872],[102.324613,32.559874],[102.324932,32.559491],[102.325323,32.558026],[102.326171,32.555833],[102.326524,32.555242],[102.32676,32.554848],[102.326793,32.554865],[102.326831,32.554874],[102.326996,32.554451],[102.327033,32.554427],[102.327067,32.554405],[102.328045,32.553776],[102.328214,32.553667],[102.32853,32.553583],[102.328755,32.553524],[102.328977,32.553487],[102.329052,32.553474],[102.329113,32.553464],[102.33093,32.553798],[102.331867,32.553762],[102.332677,32.55284],[102.333546,32.55214],[102.334344,32.551659],[102.336023,32.552248],[102.33634,32.552322],[102.336358,32.552326],[102.336378,32.552331],[102.336436,32.552345],[102.33656,32.552374],[102.336584,32.552379],[102.336695,32.552405],[102.336849,32.552441],[102.337578,32.552612],[102.337747,32.552734],[102.338165,32.553037],[102.338258,32.553062],[102.338364,32.553181],[102.338472,32.553259],[102.33851,32.553287],[102.3386,32.553352],[102.33868,32.553364],[102.340021,32.553555],[102.34042,32.553612],[102.340496,32.553624],[102.340656,32.553649],[102.340686,32.553653],[102.340766,32.553666],[102.341371,32.55376],[102.343833,32.554143],[102.344319,32.554218],[102.345357,32.55438],[102.345758,32.554485],[102.345826,32.554502],[102.345829,32.554503],[102.34583,32.554504],[102.345877,32.554516],[102.346591,32.554702],[102.346649,32.554718],[102.346683,32.554727],[102.346714,32.554735],[102.346736,32.55474],[102.346762,32.554785],[102.346801,32.554847],[102.34683,32.554943],[102.346816,32.55505],[102.349894,32.555709],[102.349823,32.555859],[102.349919,32.55586],[102.349923,32.55586],[102.349925,32.555861],[102.349986,32.555876],[102.349987,32.555876],[102.349991,32.555878],[102.349991,32.555878],[102.35,32.555883],[102.349989,32.555919],[102.349878,32.556201],[102.349798,32.556311],[102.349759,32.556404],[102.349703,32.55654],[102.349695,32.556553],[102.349512,32.556771],[102.349418,32.556897],[102.349318,32.557032],[102.349231,32.55715],[102.349142,32.557271],[102.349038,32.557411],[102.348932,32.557554],[102.348847,32.55767],[102.348749,32.557802],[102.348666,32.557914],[102.348583,32.558026],[102.348522,32.558109],[102.348425,32.558238],[102.348367,32.558314],[102.346041,32.561381],[102.346003,32.56141],[102.345821,32.561634],[102.345548,32.561984],[102.345343,32.562247],[102.345385,32.562283],[102.345399,32.562296],[102.345415,32.56231],[102.345486,32.562374],[102.34583,32.56268],[102.345982,32.56263],[102.34695,32.562316],[102.347883,32.561673],[102.348553,32.561079],[102.349333,32.561206],[102.349438,32.561272],[102.349447,32.561278],[102.349503,32.561313],[102.352248,32.563027],[102.354179,32.563897],[102.3566,32.564735],[102.358537,32.565397],[102.360432,32.565851],[102.361909,32.565818],[102.362341,32.565808],[102.363617,32.565669],[102.36504,32.565492],[102.366579,32.564737],[102.367625,32.564096],[102.369078,32.562925],[102.36994,32.561866],[102.370662,32.560597],[102.371375,32.559618],[102.371833,32.559007],[102.372095,32.558432],[102.371835,32.557267],[102.371419,32.55643],[102.37106,32.555345],[102.371336,32.554274],[102.371367,32.553198],[102.371143,32.552489],[102.371114,32.551825],[102.371133,32.551163],[102.370768,32.550244],[102.370621,32.548584],[102.370863,32.547015],[102.371485,32.545785],[102.371856,32.544799],[102.37271,32.54403],[102.373359,32.543588],[102.374689,32.543243],[102.37572,32.542705],[102.374962,32.542285],[102.373745,32.541235],[102.373035,32.540443],[102.372261,32.539308],[102.371856,32.538088],[102.371844,32.537249],[102.372117,32.536696],[102.372542,32.535959],[102.373334,32.535199],[102.37504,32.534551],[102.376016,32.533795],[102.376584,32.533185],[102.377136,32.531861],[102.377549,32.530254],[102.377631,32.528702],[102.377972,32.527063],[102.377871,32.525476],[102.377822,32.524668],[102.378211,32.523868],[102.379417,32.522775],[102.380539,32.522021],[102.381558,32.521017],[102.382207,32.52013],[102.382852,32.519367],[102.383332,32.51801],[102.383771,32.516776],[102.383657,32.515655],[102.383724,32.5146],[102.383698,32.512953],[102.383621,32.511833],[102.383438,32.510556],[102.383064,32.509554],[102.382738,32.508149],[102.382615,32.507307],[102.383365,32.506733],[102.385074,32.50596],[102.38572,32.505197],[102.387068,32.5042],[102.388941,32.502841],[102.390805,32.501761],[102.39145,32.500998],[102.392357,32.500053],[102.39345,32.49902],[102.394946,32.49672],[102.395597,32.495771],[102.396198,32.495255],[102.39755,32.494134],[102.398591,32.493627],[102.39955,32.493429],[102.401838,32.492886],[102.403426,32.492484],[102.404943,32.492018],[102.406641,32.491587],[102.408235,32.490968],[102.409793,32.490316],[102.410346,32.490203],[102.4104,32.490262],[102.411555,32.491533],[102.412076,32.492538],[102.412626,32.493823],[102.413291,32.494893],[102.414039,32.495654],[102.414671,32.49663],[102.415415,32.497547],[102.416129,32.498214],[102.41708,32.498295],[102.417991,32.498501],[102.418382,32.498912],[102.419134,32.499549],[102.419839,32.500527],[102.420953,32.501327],[102.421837,32.502463],[102.422733,32.503165],[102.423334,32.503954],[102.423749,32.504832],[102.424621,32.506404],[102.425108,32.507315],[102.425522,32.508224],[102.425981,32.508855],[102.426506,32.509704],[102.426945,32.509744],[102.427608,32.509634],[102.428243,32.509243],[102.429025,32.508824],[102.429867,32.508841],[102.430677,32.508733],[102.431598,32.508597],[102.432183,32.50864],[102.432931,32.509401],[102.43312,32.509575],[102.433824,32.510227],[102.433868,32.510285],[102.434672,32.511362],[102.435728,32.512906],[102.436284,32.514005],[102.436475,32.515003],[102.43655,32.516247],[102.436476,32.51755],[102.436642,32.518175],[102.437275,32.51912],[102.438334,32.520571],[102.438827,32.521264],[102.439554,32.522802],[102.440397,32.524124],[102.441493,32.525544],[102.44224,32.526367],[102.443353,32.528502],[102.443733,32.529318],[102.444486,32.529924],[102.445242,32.530436],[102.445887,32.530977],[102.446146,32.532194],[102.446018,32.534118],[102.445949,32.535266],[102.445777,32.536164],[102.445894,32.537191],[102.446332,32.538567],[102.446959,32.53973],[102.448003,32.541739],[102.448533,32.542433],[102.448991,32.543126],[102.449447,32.54385],[102.449856,32.544946],[102.450201,32.54573],[102.451184,32.547272],[102.451482,32.547123],[102.452302,32.546642],[102.453052,32.546067],[102.454127,32.545685],[102.455121,32.54555],[102.456446,32.54539],[102.457791,32.545821],[102.458958,32.546062],[102.459078,32.546094],[102.460086,32.546365],[102.463179,32.547266],[102.4643,32.547848],[102.46605,32.548225],[102.467287,32.548592],[102.468744,32.548963],[102.470299,32.54974],[102.471013,32.550438],[102.472159,32.551424],[102.473065,32.551846],[102.47367,32.55248],[102.474416,32.553365],[102.475829,32.553983],[102.476735,32.554374],[102.477734,32.554084],[102.478815,32.553484],[102.479813,32.553193],[102.480878,32.553153],[102.481977,32.553206],[102.483219,32.553417],[102.484481,32.554188],[102.485368,32.555262],[102.486081,32.555991],[102.487423,32.556546],[102.489647,32.557056],[102.491842,32.557256],[102.492686,32.557272],[102.494116,32.557301],[102.495354,32.557636],[102.496292,32.558183],[102.496792,32.55869],[102.497559,32.558799],[102.49861,32.559286],[102.499293,32.559765],[102.500186,32.560653],[102.500606,32.561157],[102.501691,32.561911],[102.502444,32.562496],[102.503587,32.562885],[102.504697,32.562744],[102.506481,32.562576],[102.507486,32.562718],[102.50877,32.563232],[102.510436,32.563876],[102.511419,32.564832],[102.512154,32.566068],[102.512405,32.566541],[102.512657,32.567015],[102.51295,32.567733],[102.513242,32.568451],[102.514165,32.571605],[102.514792,32.573286],[102.515348,32.57403],[102.515912,32.57453],[102.516473,32.574236],[102.517034,32.573942],[102.517669,32.573588],[102.518304,32.573234],[102.519256,32.572703],[102.520208,32.572172],[102.521015,32.571679],[102.521822,32.571186],[102.522416,32.570587],[102.523355,32.569669],[102.5254,32.568732],[102.526094,32.569723],[102.526843,32.570471],[102.527781,32.571344],[102.529045,32.572591],[102.530168,32.573712],[102.530854,32.574988],[102.531133,32.575374],[102.531688,32.576144],[102.532809,32.577347],[102.534077,32.578471],[102.535204,32.579471],[102.536107,32.579855],[102.537194,32.580568],[102.539476,32.581509],[102.540609,32.582305],[102.541491,32.583462],[102.541791,32.583844],[102.54218,32.584338],[102.542467,32.584703],[102.543554,32.585416],[102.544673,32.5867],[102.54536,32.587976],[102.545678,32.588996],[102.545921,32.590114],[102.545948,32.591135],[102.546462,32.592397],[102.54731,32.593434],[102.548332,32.59415],[102.549407,32.594913],[102.549878,32.595711],[102.550069,32.596782],[102.550293,32.598595],[102.550447,32.59897],[102.550905,32.600277],[102.551303,32.60177],[102.551884,32.60257],[102.552908,32.603193],[102.554367,32.603963],[102.555829,32.604595],[102.556955,32.605545],[102.557915,32.606495],[102.557927,32.607061],[102.557933,32.607364],[102.557939,32.607651],[102.559003,32.608832],[102.559016,32.609776],[102.559021,32.610177],[102.559138,32.611041],[102.559204,32.611526],[102.55848,32.612442],[102.558409,32.612531],[102.557392,32.613671],[102.556752,32.615004],[102.556441,32.61639],[102.555649,32.617302],[102.554907,32.618354],[102.554006,32.619265],[102.552711,32.620455],[102.552375,32.620764],[102.550863,32.62194],[102.550262,32.621882],[102.548618,32.62185],[102.546576,32.622367],[102.544679,32.623582],[102.543939,32.624588],[102.542642,32.625908],[102.540786,32.627635],[102.539552,32.628631],[102.537873,32.629897],[102.536416,32.631074],[102.535564,32.632125],[102.534097,32.633673],[102.53276,32.634435],[102.530926,32.635327],[102.529309,32.636316],[102.52798,32.6368],[102.527296,32.63776],[102.526438,32.639042],[102.525754,32.640003],[102.524899,32.641192],[102.523992,32.642241],[102.523307,32.643248],[102.521664,32.645164],[102.520916,32.646448],[102.520448,32.647506],[102.52031,32.648524],[102.520001,32.64977],[102.519915,32.650928],[102.519496,32.652172],[102.519503,32.653935],[102.519855,32.655056],[102.51988,32.65512],[102.520021,32.655484],[102.520043,32.65554],[102.52047,32.656645],[102.520796,32.658739],[102.521132,32.660462],[102.521262,32.661717],[102.521115,32.663059],[102.521091,32.66394],[102.521381,32.665338],[102.521565,32.66664],[102.522027,32.667118],[102.522782,32.668224],[102.523542,32.669141],[102.524245,32.670104],[102.52453,32.670541],[102.524742,32.670868],[102.525214,32.671594],[102.525301,32.672498],[102.525806,32.674549],[102.525959,32.675027],[102.526549,32.676878],[102.526578,32.676968],[102.526736,32.677462],[102.527029,32.678396],[102.5272,32.678942],[102.527282,32.679131],[102.527495,32.679618],[102.527779,32.68027],[102.527947,32.680656],[102.528097,32.681001],[102.52822,32.681302],[102.528275,32.681436],[102.528298,32.681492],[102.528939,32.683058],[102.529464,32.68435],[102.529523,32.684686],[102.529572,32.684969],[102.529755,32.686017],[102.52993,32.687429],[102.529948,32.68758],[102.529975,32.687791],[102.529975,32.687791],[102.529985,32.687872],[102.530726,32.689501],[102.530923,32.689729],[102.531977,32.690949],[102.533055,32.69229],[102.533356,32.692665],[102.533876,32.693312],[102.534739,32.69445],[102.535047,32.694857],[102.535447,32.695384],[102.535735,32.696639],[102.535783,32.696847],[102.535798,32.696909],[102.536601,32.698301],[102.535597,32.698092],[102.534147,32.697731],[102.531396,32.697772],[102.53041,32.697799],[102.529879,32.697813],[102.528949,32.697838],[102.527351,32.697882],[102.526799,32.697831],[102.526433,32.697797],[102.525392,32.697701],[102.523367,32.697851],[102.523164,32.697857],[102.523039,32.697861],[102.519425,32.697971],[102.518648,32.697995],[102.518122,32.698068],[102.517859,32.698104],[102.517796,32.698112],[102.517796,32.698113],[102.517795,32.698113],[102.517768,32.698116],[102.517738,32.698121],[102.517212,32.698193],[102.517204,32.698194],[102.517151,32.698202],[102.517149,32.698202],[102.51627,32.698323],[102.516141,32.698341],[102.515943,32.698368],[102.515786,32.698361],[102.515777,32.69836],[102.515754,32.698359],[102.515608,32.698352],[102.515484,32.698346],[102.515438,32.698344],[102.515414,32.698343],[102.514305,32.69829],[102.514262,32.698288],[102.513131,32.69821],[102.512285,32.698152],[102.511348,32.698088],[102.511166,32.698065],[102.509502,32.697861],[102.509215,32.697769],[102.507934,32.69736],[102.507444,32.697203],[102.506688,32.696966],[102.50583,32.696696],[102.505234,32.696437],[102.503889,32.695851],[102.500492,32.69406],[102.500386,32.693993],[102.500211,32.693882],[102.499525,32.693627],[102.499003,32.69334],[102.497618,32.693278],[102.497331,32.693371],[102.496712,32.693571],[102.496321,32.69363],[102.495114,32.693815],[102.493923,32.694136],[102.492317,32.694655],[102.491319,32.695325],[102.49061,32.695897],[102.490429,32.696549],[102.490532,32.698391],[102.49058,32.698415],[102.490842,32.699282],[102.490906,32.699904],[102.491016,32.701804],[102.491064,32.702137],[102.49109,32.702322],[102.491104,32.702415],[102.491175,32.702907],[102.491183,32.702962],[102.491255,32.703464],[102.491399,32.704139],[102.491543,32.704815],[102.491631,32.705317],[102.491719,32.705819],[102.492025,32.706549],[102.492331,32.707279],[102.492622,32.707803],[102.492914,32.708326],[102.493385,32.708991],[102.493856,32.709655],[102.494348,32.710286],[102.49484,32.710917],[102.495136,32.711285],[102.495432,32.711653],[102.495767,32.712073],[102.496102,32.712494],[102.496531,32.71321],[102.496959,32.713925],[102.49707,32.714359],[102.49718,32.714792],[102.497412,32.715245],[102.497644,32.715698],[102.497995,32.716291],[102.498345,32.716885],[102.498375,32.717282],[102.498405,32.717679],[102.498409,32.718248],[102.498414,32.718818],[102.498422,32.719266],[102.49843,32.719715],[102.498577,32.720269],[102.498725,32.720824],[102.498832,32.721361],[102.49894,32.721898],[102.499112,32.722315],[102.499284,32.722732],[102.499438,32.723063],[102.499592,32.723394],[102.499828,32.723692],[102.500065,32.72399],[102.500346,32.724151],[102.500627,32.724311],[102.50109,32.725033],[102.501553,32.725754],[102.501973,32.72643],[102.502393,32.727106],[102.502505,32.727813],[102.502617,32.728519],[102.502643,32.72915],[102.502669,32.729781],[102.502666,32.729885],[102.502664,32.729988],[102.502662,32.730055],[102.502637,32.730957],[102.502601,32.732227],[102.502609,32.732461],[102.502644,32.733493],[102.502649,32.733637],[102.5027,32.733757],[102.502777,32.733942],[102.503308,32.735207],[102.503789,32.737993],[102.503744,32.739619],[102.503859,32.740319],[102.50403,32.741365],[102.504039,32.741419],[102.504047,32.741937],[102.504051,32.742242],[102.504056,32.742587],[102.504698,32.744352],[102.505915,32.746712],[102.50593,32.746729],[102.507251,32.748257],[102.507493,32.748537],[102.507648,32.748691],[102.507986,32.749029],[102.508823,32.749863],[102.50903,32.750069],[102.510096,32.7508],[102.510977,32.751402],[102.513051,32.752819],[102.515087,32.754152],[102.516244,32.755135],[102.516861,32.756023],[102.517078,32.757112],[102.517079,32.758864],[102.516983,32.76053],[102.517102,32.761576],[102.517273,32.762538],[102.517578,32.764004],[102.516656,32.765196],[102.515981,32.766392],[102.515761,32.76718],[102.515443,32.767967],[102.514966,32.769167],[102.514105,32.771694],[102.513882,32.772608],[102.513609,32.773562],[102.513343,32.774527],[102.51306,32.775553],[102.512259,32.77764],[102.512186,32.777831],[102.512155,32.777913],[102.511574,32.779277],[102.510617,32.78036],[102.510271,32.780752],[102.510266,32.780757],[102.510201,32.78083],[102.510197,32.780835],[102.510189,32.780844],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510178,32.780858],[102.510073,32.780984],[102.510024,32.781043],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.509912,32.781178],[102.50989,32.781205],[102.509817,32.781214],[102.509771,32.78122],[102.509279,32.781286],[102.5088,32.78135],[102.508286,32.781517],[102.508275,32.78152],[102.508199,32.781545],[102.508198,32.781545],[102.508188,32.781549],[102.507953,32.781625],[102.507932,32.781638],[102.507897,32.781662],[102.507803,32.781723],[102.507766,32.781748],[102.5074,32.781989],[102.507134,32.782651],[102.507301,32.783739],[102.508457,32.784805],[102.51011,32.785714],[102.510517,32.786236],[102.510549,32.786278],[102.510969,32.786816],[102.510992,32.787734],[102.510518,32.788809],[102.510266,32.789151],[102.509851,32.789713],[102.50972,32.789768],[102.509469,32.789874],[102.509383,32.789911],[102.509337,32.78993],[102.509164,32.790003],[102.509001,32.790072],[102.508743,32.79008],[102.50869,32.790082],[102.508606,32.790085],[102.508393,32.790092],[102.50821,32.790098],[102.508191,32.79008],[102.507873,32.789799],[102.507965,32.789429],[102.508047,32.789097],[102.508079,32.78897],[102.50812,32.788804],[102.508151,32.788678],[102.508389,32.788239],[102.508444,32.788136],[102.50862,32.787812],[102.508552,32.787428],[102.508526,32.787282],[102.508449,32.786849],[102.507623,32.786374],[102.506392,32.786224],[102.50592,32.786141],[102.505311,32.786035],[102.504282,32.785765],[102.504006,32.78575],[102.503785,32.785738],[102.503049,32.785698],[102.501936,32.786064],[102.501923,32.786069],[102.501884,32.786081],[102.501853,32.786092],[102.501849,32.786096],[102.501844,32.7861],[102.501785,32.786155],[102.501756,32.786183],[102.5015,32.786423],[102.50146,32.786461],[102.501361,32.786554],[102.501244,32.786663],[102.501171,32.786828],[102.500958,32.787305],[102.500876,32.78749],[102.500866,32.78783],[102.50085,32.788408],[102.500847,32.788526],[102.500834,32.788964],[102.500832,32.789058],[102.500825,32.789283],[102.500816,32.789612],[102.500808,32.789908],[102.500871,32.790208],[102.500526,32.790463],[102.499896,32.790929],[102.499671,32.79104],[102.499216,32.791264],[102.499195,32.791265],[102.498545,32.791294],[102.497803,32.791083],[102.497119,32.790656],[102.496484,32.790294],[102.496227,32.790781],[102.496206,32.790821],[102.496141,32.790943],[102.495977,32.791253],[102.495958,32.79129],[102.495957,32.791291],[102.495942,32.79132],[102.495743,32.791696],[102.495741,32.791699],[102.495701,32.791776],[102.495681,32.791814],[102.495664,32.791847],[102.495631,32.791908],[102.495601,32.791966],[102.495368,32.792407],[102.495357,32.79243],[102.495353,32.792439],[102.495339,32.792471],[102.495326,32.792499],[102.495311,32.792533],[102.495295,32.792567],[102.494921,32.793398],[102.494913,32.793415],[102.4949,32.793443],[102.494882,32.793483],[102.494849,32.793556],[102.494832,32.793593],[102.492391,32.799006],[102.492233,32.799358],[102.49192,32.800476],[102.491908,32.80052],[102.491803,32.800895],[102.491777,32.801788],[102.492419,32.802825],[102.493538,32.804306],[102.493553,32.80433],[102.494254,32.805432],[102.495026,32.80679],[102.495057,32.806843],[102.495058,32.806845],[102.495059,32.806847],[102.495091,32.806903],[102.495094,32.806909],[102.495557,32.807723],[102.496219,32.808956],[102.497089,32.810106],[102.497608,32.810922],[102.498223,32.81198],[102.498437,32.812638],[102.498573,32.813294],[102.498883,32.814215],[102.499278,32.814855],[102.49959,32.815689],[102.499831,32.816281],[102.500433,32.816903],[102.500655,32.817166],[102.501321,32.817952],[102.501299,32.818746],[102.501091,32.819456],[102.500798,32.819848],[102.500413,32.820158],[102.500339,32.820256],[102.500151,32.820513],[102.49959,32.821199],[102.498942,32.82221],[102.498588,32.8229],[102.498463,32.82366],[102.498227,32.824722],[102.498076,32.825525],[102.4977,32.82604],[102.497083,32.826899],[102.495954,32.829005],[102.495721,32.829684],[102.495588,32.830294],[102.495507,32.830836],[102.495287,32.832198],[102.495258,32.833215],[102.495307,32.834429],[102.495517,32.835172],[102.495487,32.835659],[102.49553,32.836469],[102.495488,32.836897],[102.495484,32.836942],[102.495393,32.837247],[102.495116,32.837687],[102.494919,32.838241],[102.49473,32.839101],[102.494596,32.839754],[102.494555,32.840302],[102.494771,32.840636],[102.495224,32.841623],[102.495537,32.842264],[102.495721,32.842674],[102.496027,32.843048],[102.496249,32.843674],[102.496327,32.84412],[102.496437,32.84449],[102.496502,32.84486],[102.496385,32.845276],[102.495856,32.8459],[102.494546,32.847029],[102.49356,32.847885],[102.492679,32.848706],[102.491861,32.849463],[102.490759,32.850338],[102.490281,32.850567],[102.489742,32.850826],[102.48862,32.851531],[102.487537,32.852254],[102.486855,32.85272],[102.486127,32.852953],[102.485238,32.853184],[102.484649,32.853194],[102.484003,32.853362],[102.483244,32.85373],[102.481971,32.854314],[102.481052,32.854679],[102.480214,32.854978],[102.479001,32.855337],[102.478111,32.85559],[102.477274,32.855889],[102.476142,32.856205],[102.475173,32.856433],[102.474545,32.856895],[102.474161,32.857282],[102.473931,32.857514],[102.473231,32.858282],[102.47278,32.859116],[102.472702,32.859232],[102.472222,32.859947],[102.471984,32.860785],[102.471528,32.861768],[102.470434,32.863912],[102.469976,32.864956],[102.469819,32.865465],[102.469365,32.866388],[102.469019,32.867284],[102.468038,32.869159],[102.467217,32.870467],[102.466829,32.871572],[102.466809,32.872264],[102.466789,32.872955],[102.466629,32.873584],[102.466434,32.874182],[102.465427,32.875726],[102.464908,32.876407],[102.464274,32.877387],[102.463539,32.878155],[102.463198,32.87887],[102.463072,32.879529],[102.463009,32.880491],[102.463611,32.881887],[102.463871,32.882795],[102.46356,32.883691],[102.463218,32.884437],[102.463022,32.885034],[102.462597,32.886199],[102.462401,32.886827],[102.462111,32.886972],[102.461397,32.887017],[102.460608,32.887152],[102.460165,32.887684],[102.459612,32.888305],[102.459053,32.889166],[102.458239,32.890203],[102.45739,32.891208],[102.45657,32.892425],[102.456305,32.892992],[102.456412,32.894227],[102.456252,32.89609],[102.456064,32.89765],[102.456207,32.898887],[102.456001,32.902145],[102.456122,32.903515],[102.456031,32.904303],[102.455844,32.905262],[102.455799,32.905636],[102.455754,32.906011],[102.45571,32.906751],[102.455666,32.907492],[102.455584,32.907943],[102.455503,32.908393],[102.455421,32.908864],[102.455339,32.909334],[102.45526,32.909717],[102.45518,32.910101],[102.45526,32.910487],[102.455341,32.910874],[102.455408,32.911299],[102.455476,32.911724],[102.455475,32.912157],[102.455474,32.912591],[102.455472,32.913062],[102.45547,32.913534],[102.45562,32.913855],[102.455771,32.914176],[102.455876,32.914515],[102.45598,32.914854],[102.456185,32.915263],[102.45639,32.915671],[102.45673,32.916159],[102.45707,32.916648],[102.457233,32.916949],[102.457395,32.917251],[102.457431,32.917608],[102.457466,32.917965],[102.45745,32.918523],[102.457434,32.919081],[102.457412,32.919221],[102.457389,32.919361],[102.457323,32.919772],[102.45741,32.921526],[102.457363,32.922373],[102.457186,32.922966],[102.456974,32.923193],[102.456693,32.923437],[102.455973,32.923866],[102.455301,32.924218],[102.454694,32.924668],[102.454021,32.925039],[102.453259,32.925351],[102.452633,32.925685],[102.452324,32.926121],[102.451945,32.926576],[102.451478,32.926932],[102.45119,32.927446],[102.450741,32.927976],[102.450068,32.928328],[102.449606,32.928531],[102.449481,32.928894],[102.449331,32.929353],[102.449001,32.929712],[102.448442,32.930105],[102.447794,32.930381],[102.446633,32.931069],[102.445596,32.931414],[102.444741,32.931762],[102.444338,32.932255],[102.444121,32.932655],[102.44351,32.933259],[102.442815,32.934419],[102.44229,32.935178],[102.441734,32.935456],[102.440916,32.935324],[102.440455,32.935375],[102.44039,32.935328],[102.440358,32.935305],[102.440217,32.935204],[102.440052,32.935086],[102.440038,32.935076],[102.439918,32.93499],[102.439561,32.934787],[102.439204,32.934584],[102.438942,32.934421],[102.43868,32.934259],[102.438465,32.934126],[102.438251,32.933994],[102.438037,32.933861],[102.437822,32.933728],[102.437599,32.933479],[102.437429,32.933329],[102.437258,32.933179],[102.437044,32.93304],[102.43683,32.932901],[102.436558,32.93276],[102.436286,32.93262],[102.435943,32.932442],[102.435726,32.932376],[102.43551,32.932311],[102.435077,32.932253],[102.434716,32.93216],[102.434355,32.932067],[102.434053,32.931963],[102.43375,32.931859],[102.433508,32.931707],[102.433265,32.931555],[102.433041,32.931306],[102.43283,32.931057],[102.432619,32.930808],[102.432462,32.930619],[102.432305,32.93043],[102.432149,32.930241],[102.431992,32.930052],[102.431835,32.929863],[102.431678,32.929675],[102.431521,32.929486],[102.431364,32.929297],[102.431207,32.929108],[102.431051,32.928919],[102.430894,32.92873],[102.430737,32.928541],[102.430619,32.928333],[102.430502,32.928124],[102.430384,32.927915],[102.430266,32.927706],[102.430149,32.927498],[102.430031,32.927289],[102.429913,32.92708],[102.429796,32.926872],[102.429678,32.926663],[102.42956,32.926454],[102.429437,32.926209],[102.429313,32.925965],[102.429189,32.92572],[102.429066,32.925475],[102.428942,32.92523],[102.428818,32.924985],[102.428694,32.92474],[102.428571,32.924496],[102.428447,32.924251],[102.428323,32.924006],[102.428071,32.923683],[102.427759,32.923407],[102.427502,32.923255],[102.427299,32.923251],[102.427067,32.923247],[102.426817,32.923339],[102.426567,32.923432],[102.426287,32.923573],[102.426006,32.923715],[102.425754,32.923893],[102.425502,32.924071],[102.425147,32.924284],[102.424792,32.924497],[102.424585,32.924639],[102.424377,32.924782],[102.42417,32.924924],[102.423962,32.925067],[102.42375,32.92518],[102.423537,32.925293],[102.423324,32.925406],[102.423112,32.925519],[102.422899,32.925632],[102.422687,32.925745],[102.422474,32.925858],[102.422262,32.925971],[102.422049,32.926084],[102.421837,32.926197],[102.421411,32.926335],[102.420986,32.926474],[102.420752,32.926505],[102.420519,32.926537],[102.420113,32.926504],[102.419929,32.926366],[102.419744,32.926227],[102.419559,32.926089],[102.419374,32.925951],[102.419204,32.9258],[102.419034,32.92565],[102.41885,32.925462],[102.418666,32.925274],[102.418415,32.924976],[102.418148,32.924653],[102.41788,32.924329],[102.417716,32.92413],[102.417551,32.923931],[102.417386,32.923731],[102.417221,32.923532],[102.417056,32.923333],[102.416891,32.923134],[102.416726,32.922935],[102.416561,32.922736],[102.416353,32.922576],[102.416145,32.922416],[102.415936,32.922256],[102.415728,32.922097],[102.415519,32.921937],[102.415311,32.921777],[102.415103,32.921617],[102.414894,32.921457],[102.414686,32.921298],[102.414478,32.921138],[102.414269,32.920978],[102.414061,32.920818],[102.413853,32.920659],[102.413644,32.920499],[102.413436,32.920339],[102.413228,32.920179],[102.413044,32.920012],[102.41286,32.919844],[102.412676,32.919676],[102.412491,32.919508],[102.412307,32.91934],[102.412123,32.919173],[102.411939,32.919005],[102.411755,32.918837],[102.411571,32.918669],[102.411387,32.918501],[102.411203,32.918333],[102.411019,32.918166],[102.410835,32.917998],[102.410651,32.91783],[102.410381,32.917617],[102.410111,32.917404],[102.409861,32.917031],[102.409778,32.916788],[102.409727,32.916637],[102.409736,32.916343],[102.409743,32.916099],[102.409777,32.915904],[102.409812,32.915734],[102.41001,32.915548],[102.410208,32.915362],[102.410405,32.915177],[102.410603,32.914991],[102.410801,32.914806],[102.410999,32.91462],[102.411197,32.914434],[102.411395,32.914249],[102.41154,32.914049],[102.411685,32.913849],[102.411831,32.913649],[102.411976,32.913449],[102.412121,32.913249],[102.412267,32.913049],[102.412412,32.912849],[102.412557,32.912649],[102.412703,32.912449],[102.412848,32.912249],[102.413033,32.912072],[102.413217,32.911895],[102.413402,32.911718],[102.413587,32.911541],[102.413772,32.911364],[102.413956,32.911187],[102.414141,32.91101],[102.414326,32.910834],[102.414511,32.910657],[102.414695,32.91048],[102.414918,32.910325],[102.41514,32.910171],[102.415363,32.910016],[102.415585,32.909862],[102.415706,32.909693],[102.415712,32.909547],[102.415688,32.909302],[102.415606,32.909128],[102.415489,32.909012],[102.415352,32.908878],[102.41521,32.908802],[102.414948,32.908772],[102.414612,32.908765],[102.4142,32.908673],[102.413788,32.908581],[102.413376,32.908489],[102.413011,32.908409],[102.412646,32.90833],[102.41228,32.908251],[102.411961,32.908164],[102.411641,32.908076],[102.411321,32.907988],[102.411004,32.907824],[102.410686,32.90766],[102.410463,32.907462],[102.41024,32.907265],[102.410041,32.90703],[102.409846,32.906799],[102.409669,32.906487],[102.409491,32.906176],[102.409163,32.905978],[102.408836,32.905781],[102.408508,32.905583],[102.408319,32.905456],[102.407983,32.905228],[102.407647,32.904999],[102.40731,32.904771],[102.407096,32.904621],[102.406882,32.904471],[102.406528,32.904272],[102.406356,32.90415],[102.40602,32.904051],[102.405783,32.903964],[102.405521,32.903895],[102.405259,32.903826],[102.404959,32.903772],[102.40466,32.903717],[102.404497,32.903718],[102.40416,32.90372],[102.403822,32.903722],[102.403405,32.903725],[102.403184,32.903727],[102.402802,32.90369],[102.40242,32.903654],[102.402037,32.903617],[102.401792,32.903555],[102.401547,32.903493],[102.401347,32.903384],[102.401129,32.903198],[102.400915,32.902969],[102.400734,32.902775],[102.400572,32.902527],[102.40041,32.90228],[102.400232,32.901934],[102.400055,32.901588],[102.399877,32.901242],[102.39981,32.900916],[102.399744,32.90059],[102.399601,32.900291],[102.399463,32.900086],[102.399358,32.899834],[102.399296,32.899534],[102.399234,32.899234],[102.399209,32.898915],[102.399184,32.898596],[102.399158,32.898278],[102.399149,32.898025],[102.39912,32.897806],[102.399122,32.89758],[102.399122,32.897514],[102.399124,32.897221],[102.399125,32.897126],[102.399096,32.896955],[102.399044,32.896798],[102.398858,32.896441],[102.39869,32.89611],[102.398521,32.895779],[102.398477,32.895674],[102.398356,32.895381],[102.398235,32.895089],[102.398168,32.894846],[102.398102,32.894604],[102.398035,32.894228],[102.397969,32.893852],[102.397923,32.893557],[102.397904,32.89344],[102.397877,32.893265],[102.39784,32.893028],[102.397808,32.89293],[102.39763,32.892784],[102.397452,32.892637],[102.397283,32.89245],[102.397115,32.892263],[102.396893,32.891941],[102.396848,32.891605],[102.396851,32.891506],[102.396883,32.891385],[102.397003,32.891241],[102.39712,32.891243],[102.397411,32.891249],[102.397583,32.891301],[102.397959,32.891359],[102.398222,32.891314],[102.398456,32.891246],[102.398601,32.891177],[102.398824,32.89107],[102.39909,32.890944],[102.399091,32.890943],[102.399092,32.890943],[102.399193,32.890895],[102.399549,32.890657],[102.39977,32.890527],[102.399991,32.890397],[102.400288,32.890183],[102.400555,32.89003],[102.400821,32.889876],[102.400967,32.889696],[102.401112,32.889515],[102.401257,32.889335],[102.401403,32.889155],[102.401548,32.888974],[102.401694,32.888794],[102.401847,32.888516],[102.401944,32.888342],[102.402061,32.888217],[102.402142,32.888084],[102.402323,32.887846],[102.402428,32.887646],[102.402418,32.887508],[102.402352,32.887422],[102.402285,32.887365],[102.402194,32.887161],[102.402152,32.88705],[102.402071,32.886837],[102.401999,32.886604],[102.402009,32.886466],[102.402061,32.886347],[102.402118,32.886176],[102.402149,32.886117],[102.402218,32.885985],[102.402214,32.885881],[102.402097,32.885754],[102.402004,32.885652],[102.401933,32.885581],[102.401923,32.885495],[102.401985,32.885333],[102.402019,32.885258],[102.402104,32.885067],[102.402099,32.884938],[102.402076,32.884848],[102.401971,32.88461],[102.401967,32.884602],[102.401899,32.884472],[102.401895,32.884329],[102.401933,32.883982],[102.401972,32.883634],[102.402011,32.883286],[102.402049,32.882939],[102.402054,32.882898],[102.40207,32.882577],[102.402104,32.882343],[102.402164,32.882126],[102.402225,32.881909],[102.402395,32.881664],[102.402481,32.881601],[102.402789,32.88137],[102.403097,32.881139],[102.403405,32.880909],[102.403643,32.880717],[102.403942,32.880429],[102.404126,32.880103],[102.40431,32.879777],[102.404413,32.879555],[102.404516,32.879333],[102.404619,32.879112],[102.404722,32.87889],[102.404826,32.878668],[102.404929,32.878447],[102.404968,32.878203],[102.405007,32.877959],[102.405046,32.877715],[102.405085,32.877471],[102.405124,32.877227],[102.405163,32.876983],[102.405202,32.87674],[102.405241,32.876496],[102.40528,32.876252],[102.405291,32.876186],[102.405319,32.876008],[102.405357,32.87574],[102.405394,32.875471],[102.405403,32.875154],[102.405404,32.875121],[102.405409,32.874909],[102.405391,32.874554],[102.405373,32.874199],[102.405321,32.873965],[102.405269,32.873731],[102.405203,32.87352],[102.405178,32.873312],[102.405088,32.873184],[102.405087,32.873183],[102.404783,32.872984],[102.404579,32.872855],[102.404517,32.872713],[102.404455,32.872584],[102.404493,32.872365],[102.404493,32.872284],[102.404393,32.872146],[102.404331,32.87197],[102.404283,32.871903],[102.404198,32.871785],[102.404103,32.871689],[102.403879,32.871452],[102.403772,32.871241],[102.403771,32.871239],[102.40377,32.871237],[102.403736,32.871099],[102.403774,32.871014],[102.403803,32.870895],[102.403741,32.87079],[102.403679,32.87069],[102.403655,32.870595],[102.403708,32.870495],[102.40377,32.870428],[102.403808,32.870324],[102.403805,32.8703],[102.403773,32.870204],[102.403746,32.870171],[102.403475,32.869991],[102.40337,32.869857],[102.403337,32.869743],[102.403327,32.869619],[102.403322,32.869519],[102.403256,32.869434],[102.40308,32.869291],[102.402898,32.868954],[102.402862,32.868794],[102.402856,32.868544],[102.402862,32.868336],[102.40291,32.868062],[102.402969,32.867913],[102.403011,32.86783],[102.40304,32.867771],[102.403034,32.867663],[102.403017,32.867556],[102.402957,32.867372],[102.402924,32.867295],[102.402922,32.867281],[102.402878,32.866916],[102.402939,32.866688],[102.402927,32.866533],[102.402898,32.866426],[102.402868,32.866271],[102.402808,32.866051],[102.402767,32.866001],[102.402624,32.865825],[102.40241,32.865647],[102.402368,32.86554],[102.402351,32.865307],[102.402334,32.865073],[102.402266,32.864738],[102.402198,32.864402],[102.402195,32.86435],[102.402184,32.864124],[102.402189,32.863736],[102.402193,32.863348],[102.402198,32.86296],[102.402219,32.862636],[102.402241,32.862311],[102.40217,32.861961],[102.402105,32.861725],[102.402041,32.86149],[102.402041,32.861247],[102.402062,32.860869],[102.402098,32.860662],[102.402105,32.860419],[102.402048,32.860262],[102.402027,32.860048],[102.40207,32.85982],[102.402048,32.859591],[102.401991,32.859427],[102.40177,32.859284],[102.401698,32.859063],[102.401684,32.858752],[102.401683,32.858751],[102.401682,32.85875],[102.401664,32.858723],[102.401529,32.858515],[102.401452,32.858299],[102.401374,32.858084],[102.401296,32.857868],[102.401218,32.857653],[102.40114,32.857438],[102.401062,32.857222],[102.400984,32.857007],[102.400906,32.856792],[102.400801,32.856422],[102.400663,32.856175],[102.400465,32.855975],[102.400267,32.855824],[102.400088,32.85567],[102.399908,32.855515],[102.399729,32.85536],[102.39955,32.855206],[102.39937,32.855051],[102.399191,32.854896],[102.399,32.854703],[102.39881,32.854509],[102.39862,32.854315],[102.398429,32.854122],[102.398348,32.85404],[102.398343,32.854034],[102.398239,32.853928],[102.398049,32.853735],[102.397858,32.853541],[102.397668,32.853347],[102.397499,32.853179],[102.397329,32.85301],[102.39716,32.852842],[102.396991,32.852673],[102.396821,32.852504],[102.396652,32.852336],[102.396483,32.852167],[102.396314,32.851998],[102.396124,32.85186],[102.395934,32.851722],[102.395744,32.851584],[102.395554,32.851446],[102.395364,32.851308],[102.395174,32.851171],[102.394985,32.851033],[102.394795,32.850895],[102.394605,32.850757],[102.394415,32.850619],[102.394225,32.850481],[102.394035,32.850343],[102.39383,32.850176],[102.393624,32.85001],[102.393418,32.849843],[102.393212,32.849677],[102.393007,32.84951],[102.392801,32.849344],[102.392595,32.849177],[102.39239,32.849011],[102.392261,32.848806],[102.392133,32.848602],[102.392005,32.848397],[102.391876,32.848193],[102.391748,32.847988],[102.39162,32.847784],[102.391492,32.847579],[102.391363,32.847375],[102.391318,32.846934],[102.391328,32.846591],[102.391394,32.846299],[102.391461,32.846006],[102.391586,32.84574],[102.39171,32.845461],[102.391834,32.845182],[102.3919,32.844891],[102.391903,32.844821],[102.391907,32.844686],[102.391908,32.844645],[102.391913,32.84445],[102.391892,32.84424],[102.391891,32.84423],[102.391692,32.843971],[102.391684,32.843961],[102.391642,32.843869],[102.391635,32.843863],[102.391563,32.843805],[102.391305,32.843595],[102.391046,32.843384],[102.390838,32.84323],[102.390631,32.843075],[102.390307,32.842868],[102.389982,32.842661],[102.389628,32.842401],[102.389274,32.84214],[102.38892,32.84188],[102.388873,32.841844],[102.388599,32.841629],[102.388325,32.841414],[102.388051,32.841199],[102.387777,32.840984],[102.38762,32.840885],[102.387218,32.840736],[102.386895,32.840616],[102.386572,32.840496],[102.386329,32.840428],[102.386087,32.84036],[102.38573,32.840303],[102.385409,32.840275],[102.385087,32.840246],[102.384798,32.840235],[102.384509,32.840225],[102.384202,32.8402],[102.383895,32.840175],[102.383598,32.840087],[102.3833,32.839999],[102.383003,32.839911],[102.38267,32.839801],[102.382337,32.839692],[102.382004,32.839582],[102.381797,32.839493],[102.38159,32.839404],[102.38133,32.839236],[102.38107,32.839068],[102.380734,32.83885],[102.380397,32.838633],[102.380041,32.838397],[102.379685,32.83816],[102.379328,32.837924],[102.379024,32.837723],[102.378721,32.837522],[102.378417,32.837321],[102.378113,32.837119],[102.377849,32.836991],[102.377585,32.836862],[102.377235,32.836763],[102.377021,32.836634],[102.37685,32.83652],[102.3766,32.836456],[102.376329,32.836395],[102.376057,32.836334],[102.375715,32.836256],[102.375483,32.836131],[102.375251,32.836006],[102.375008,32.835849],[102.374765,32.835692],[102.374544,32.835442],[102.374394,32.835074],[102.374244,32.834707],[102.374059,32.834475],[102.373873,32.834243],[102.373709,32.834061],[102.373545,32.833879],[102.37328,32.833722],[102.373016,32.833565],[102.372661,32.833422],[102.372307,32.83328],[102.371952,32.833137],[102.371931,32.833129],[102.371524,32.832965],[102.371189,32.832979],[102.371039,32.833022],[102.370825,32.833168],[102.370611,32.833315],[102.37033,32.833448],[102.370049,32.833581],[102.369768,32.833714],[102.369376,32.833839],[102.368983,32.833964],[102.368665,32.834026],[102.368314,32.834095],[102.367964,32.834163],[102.367848,32.834186],[102.367508,32.834202],[102.367168,32.834219],[102.366827,32.834236],[102.366501,32.8342],[102.366175,32.834164],[102.365849,32.834128],[102.365454,32.834083],[102.365059,32.834038],[102.364664,32.833993],[102.364407,32.833918],[102.36415,32.833843],[102.363808,32.833657],[102.363565,32.833424],[102.363322,32.833191],[102.36308,32.832958],[102.362891,32.832712],[102.362701,32.832465],[102.362484,32.832226],[102.362266,32.831987],[102.36206,32.831831],[102.361785,32.831624],[102.361509,32.831416],[102.361259,32.831221],[102.36101,32.831026],[102.36076,32.830831],[102.360446,32.830645],[102.360148,32.830531],[102.359851,32.830417],[102.359553,32.830302],[102.359211,32.830081],[102.358868,32.82986],[102.358791,32.82981],[102.358491,32.829617],[102.35819,32.829424],[102.35789,32.829232],[102.357705,32.829064],[102.357519,32.828896],[102.357383,32.828646],[102.357248,32.828396],[102.357119,32.828275],[102.356934,32.828196],[102.356634,32.828204],[102.356348,32.828214],[102.356063,32.828225],[102.355813,32.828225],[102.355563,32.828225],[102.355254,32.828144],[102.354944,32.828063],[102.354635,32.827982],[102.354325,32.827896],[102.354021,32.827811],[102.35365,32.827668],[102.353563,32.827643],[102.353257,32.827554],[102.3529,32.827511],[102.352472,32.827447],[102.352094,32.827354],[102.351803,32.827157],[102.351513,32.826959],[102.351223,32.826762],[102.351016,32.826448],[102.350809,32.826134],[102.350545,32.825805],[102.350281,32.825477],[102.350066,32.825098],[102.34997,32.824799],[102.349874,32.824499],[102.349817,32.824099],[102.349753,32.823761],[102.349688,32.823422],[102.349638,32.823157],[102.349517,32.822907],[102.34931,32.8226],[102.348959,32.822377],[102.348739,32.822236],[102.348467,32.821893],[102.348343,32.821668],[102.348218,32.821444],[102.348077,32.82117],[102.347937,32.820896],[102.347743,32.820639],[102.347548,32.820381],[102.347354,32.820123],[102.347199,32.819885],[102.347045,32.819647],[102.346955,32.819409],[102.346866,32.819171],[102.346818,32.818731],[102.346652,32.818493],[102.346366,32.818267],[102.345948,32.818227],[102.34553,32.818187],[102.345112,32.818147],[102.344731,32.818111],[102.344412,32.818116],[102.344094,32.81812],[102.34382,32.818125],[102.343547,32.818129],[102.343246,32.818051],[102.342946,32.817974],[102.342786,32.817906],[102.342536,32.8178],[102.342286,32.817694],[102.341911,32.81748],[102.341729,32.81729],[102.341548,32.8171],[102.341364,32.816847],[102.341181,32.816595],[102.341036,32.816398],[102.340894,32.816118],[102.340751,32.815838],[102.340608,32.815559],[102.340397,32.815247],[102.340186,32.814934],[102.340055,32.814696],[102.339924,32.814458],[102.339668,32.814274],[102.339668,32.814274],[102.339319,32.814213],[102.339135,32.814189],[102.33888,32.81422],[102.338625,32.81425],[102.338343,32.814351],[102.33806,32.814453],[102.337735,32.814553],[102.33741,32.814653],[102.337156,32.814648],[102.336902,32.814642],[102.336651,32.814598],[102.336399,32.814553],[102.336338,32.81453],[102.336011,32.81436],[102.335796,32.814215],[102.335581,32.814071],[102.335338,32.813965],[102.335096,32.81386],[102.334854,32.813832],[102.334612,32.813804],[102.334416,32.813755],[102.334069,32.813723],[102.333722,32.813691],[102.333606,32.81368],[102.333574,32.813677],[102.333389,32.81366],[102.333097,32.813632],[102.332869,32.813548],[102.33264,32.813465],[102.332405,32.813334],[102.332291,32.813234],[102.332161,32.81312],[102.332024,32.812924],[102.331905,32.812638],[102.33181,32.812409],[102.331715,32.81218],[102.331554,32.811936],[102.331382,32.811704],[102.331162,32.811609],[102.330852,32.811442],[102.33065,32.811163],[102.330448,32.810883],[102.330308,32.810702],[102.330168,32.81052],[102.329972,32.810348],[102.329776,32.810175],[102.329585,32.809917],[102.329395,32.809658],[102.329193,32.809289],[102.329153,32.809154],[102.329097,32.808962],[102.328907,32.808739],[102.328717,32.808516],[102.328447,32.808243],[102.328187,32.80798],[102.328026,32.807723],[102.327908,32.807534],[102.327833,32.807278],[102.327759,32.807023],[102.327682,32.806743],[102.327485,32.80635],[102.327307,32.805999],[102.327194,32.805803],[102.326962,32.805642],[102.32673,32.805482],[102.326641,32.80541],[102.326581,32.805196],[102.326534,32.80497],[102.326557,32.804607],[102.326665,32.804176],[102.326772,32.803751],[102.326795,32.803483],[102.326748,32.803257],[102.326611,32.803037],[102.32651,32.802912],[102.32645,32.802751],[102.326454,32.802713],[102.326468,32.802537],[102.326486,32.802395],[102.326534,32.802002],[102.326528,32.801701],[102.326522,32.801401],[102.326486,32.801122],[102.326415,32.801003],[102.326337,32.800931],[102.326218,32.800578],[102.326212,32.800562],[102.326141,32.800324],[102.325909,32.800188],[102.325748,32.800069],[102.325582,32.800057],[102.325557,32.800056],[102.325125,32.800038],[102.324693,32.800021],[102.324261,32.800003],[102.324038,32.799959],[102.323815,32.799914],[102.323589,32.799825],[102.323363,32.799735],[102.323012,32.799634],[102.322661,32.799533],[102.322286,32.799355],[102.322013,32.799236],[102.321834,32.799081],[102.321733,32.79891],[102.321626,32.79873],[102.321449,32.798579],[102.321424,32.798558],[102.321245,32.79848],[102.320983,32.79848],[102.320632,32.798714],[102.320486,32.798811],[102.320258,32.798962],[102.319984,32.799004],[102.319841,32.799016],[102.319544,32.798956],[102.319264,32.798932],[102.319116,32.798956],[102.318878,32.79898],[102.318455,32.798904],[102.31834,32.798799],[102.318217,32.798628],[102.318015,32.798408],[102.318007,32.798399],[102.317779,32.798238],[102.317462,32.798109],[102.317146,32.797981],[102.317046,32.797924],[102.316713,32.797714],[102.316565,32.79749],[102.316418,32.797267],[102.316293,32.796923],[102.316169,32.796578],[102.316206,32.796345],[102.316269,32.796027],[102.31632,32.795771],[102.316371,32.795516],[102.316423,32.795261],[102.316474,32.795005],[102.316525,32.79475],[102.316576,32.794494],[102.316539,32.794261],[102.316503,32.794028],[102.316339,32.793682],[102.316148,32.793311],[102.315953,32.793038],[102.315754,32.792874],[102.315555,32.792711],[102.315297,32.792403],[102.315038,32.792095],[102.314779,32.791787],[102.314504,32.791459],[102.314228,32.79113],[102.313952,32.790802],[102.313676,32.790474],[102.313483,32.790244],[102.313328,32.790078],[102.313173,32.789911],[102.313019,32.789744],[102.312864,32.789578],[102.312709,32.789411],[102.312554,32.789245],[102.312399,32.789078],[102.312244,32.788911],[102.31209,32.788745],[102.311935,32.788578],[102.311826,32.788331],[102.311717,32.788084],[102.311638,32.78782],[102.31156,32.787555],[102.311481,32.78729],[102.311402,32.787025],[102.311337,32.786767],[102.311272,32.786509],[102.311194,32.786213],[102.311115,32.785918],[102.311005,32.785494],[102.310894,32.785069],[102.310784,32.784645],[102.310674,32.784221],[102.310593,32.784011],[102.310512,32.783801],[102.310287,32.783552],[102.310059,32.7834],[102.309774,32.783246],[102.309398,32.783214],[102.309122,32.783208],[102.308847,32.783203],[102.308581,32.78321],[102.308315,32.783218],[102.308049,32.783226],[102.307783,32.783234],[102.307494,32.783191],[102.307204,32.783148],[102.30693,32.783105],[102.306656,32.783063],[102.306223,32.78298],[102.30579,32.782922],[102.305412,32.782913],[102.305005,32.782929],[102.304714,32.782984],[102.304422,32.783039],[102.304201,32.783144],[102.303981,32.78325],[102.3039,32.783265],[102.303587,32.783327],[102.303192,32.783404],[102.302959,32.783448],[102.302726,32.783492],[102.302389,32.783595],[102.302052,32.783698],[102.301717,32.783764],[102.301381,32.78383],[102.301175,32.783924],[102.300969,32.784017],[102.30066,32.784169],[102.300351,32.784321],[102.299982,32.784558],[102.299613,32.784795],[102.299427,32.784931],[102.299241,32.785068],[102.299055,32.785205],[102.298869,32.785341],[102.298688,32.785582],[102.298507,32.785823],[102.298328,32.78599],[102.298148,32.786158],[102.297969,32.786325],[102.29779,32.786493],[102.297788,32.786493],[102.297787,32.786494],[102.297481,32.786699],[102.297174,32.786904],[102.29689,32.787011],[102.296523,32.78715],[102.29623,32.787218],[102.295938,32.787285],[102.295692,32.78728],[102.295445,32.787274],[102.295377,32.787276],[102.295068,32.787218],[102.294755,32.787226],[102.294441,32.787233],[102.294157,32.787392],[102.293873,32.78755],[102.29353,32.787657],[102.293364,32.787705],[102.293112,32.787778],[102.29286,32.787852],[102.292625,32.78792],[102.292391,32.787988],[102.292355,32.787999],[102.292115,32.788036],[102.291874,32.788074],[102.291634,32.788112],[102.291394,32.78815],[102.291045,32.788142],[102.290697,32.788134],[102.290335,32.788102],[102.289974,32.78807],[102.289714,32.788015],[102.289455,32.78796],[102.289169,32.78782],[102.288883,32.787679],[102.288584,32.787489],[102.288285,32.787299],[102.288002,32.787073],[102.287719,32.786846],[102.287479,32.786632],[102.287239,32.786419],[102.287028,32.786207],[102.286817,32.785995],[102.28662,32.785783],[102.286422,32.78557],[102.286253,32.78542],[102.286084,32.785269],[102.285801,32.785043],[102.285514,32.784914],[102.285226,32.784883],[102.284907,32.784877],[102.284584,32.785016],[102.284418,32.785221],[102.284252,32.785426],[102.284065,32.785813],[102.283867,32.786115],[102.283669,32.786416],[102.283507,32.786617],[102.283345,32.786819],[102.283183,32.78702],[102.283021,32.787222],[102.282859,32.787423],[102.282697,32.787624],[102.282535,32.787826],[102.282373,32.788027],[102.282165,32.788194],[102.281956,32.788361],[102.281748,32.788527],[102.28154,32.788694],[102.281275,32.788835],[102.281009,32.788976],[102.280673,32.789067],[102.280337,32.789158],[102.280104,32.789189],[102.279871,32.789221],[102.279637,32.789253],[102.279404,32.789284],[102.279039,32.789374],[102.278675,32.789463],[102.278447,32.789551],[102.278218,32.789638],[102.27799,32.789725],[102.277761,32.789812],[102.277532,32.789899],[102.277304,32.789986],[102.277073,32.790091],[102.276843,32.790196],[102.276613,32.790301],[102.276382,32.790406],[102.276152,32.790511],[102.275921,32.790617],[102.275511,32.79073],[102.275101,32.790843],[102.274692,32.790944],[102.274283,32.791046],[102.27386,32.791122],[102.273437,32.791198],[102.273,32.791262],[102.272563,32.791326],[102.272258,32.791332],[102.271952,32.791338],[102.271705,32.791345],[102.271459,32.791352],[102.271212,32.791358],[102.270965,32.791365],[102.270673,32.79142],[102.270381,32.791474],[102.270074,32.791578],[102.269766,32.791681],[102.269675,32.791722],[102.269529,32.791787],[102.269309,32.791886],[102.269089,32.791984],[102.268764,32.792161],[102.268439,32.792337],[102.268087,32.792476],[102.267735,32.792615],[102.267516,32.792672],[102.267297,32.792728],[102.266861,32.792743],[102.266629,32.792726],[102.266398,32.792708],[102.266167,32.792673],[102.265936,32.792637],[102.265705,32.792602],[102.265474,32.792566],[102.265039,32.792532],[102.264808,32.79249],[102.264578,32.792449],[102.26429,32.792394],[102.26396,32.792264],[102.26363,32.792134],[102.2633,32.792005],[102.26297,32.791875],[102.262877,32.791788],[102.26265,32.791573],[102.262422,32.791359],[102.262238,32.79122],[102.262053,32.791081],[102.261893,32.79096],[102.261869,32.790942],[102.261685,32.790804],[102.2615,32.790665],[102.261316,32.790526],[102.261131,32.790387],[102.260947,32.790248],[102.260707,32.790148],[102.260467,32.790048],[102.260227,32.789949],[102.259988,32.789849],[102.259748,32.789749],[102.259508,32.789649],[102.259268,32.789549],[102.259028,32.789449],[102.258745,32.789329],[102.258588,32.789243],[102.258205,32.789027],[102.257822,32.788811],[102.257412,32.788652],[102.257002,32.788493],[102.256689,32.788391],[102.256376,32.788288],[102.256063,32.788186],[102.255717,32.78815],[102.255371,32.788114],[102.255059,32.78814],[102.254748,32.788167],[102.254436,32.788193],[102.254075,32.788265],[102.253713,32.788336],[102.253368,32.788391],[102.253022,32.788446],[102.252677,32.788501],[102.252662,32.788507],[102.25226,32.788685],[102.251858,32.788863],[102.25162,32.789005],[102.251487,32.789034],[102.251325,32.789053],[102.251102,32.789029],[102.250878,32.789005],[102.250764,32.789034],[102.250697,32.789129],[102.250526,32.789396],[102.250283,32.789621],[102.25004,32.789846],[102.249701,32.789965],[102.249609,32.789992],[102.249475,32.790031],[102.249142,32.78993],[102.248916,32.789948],[102.248725,32.790067],[102.248469,32.790102],[102.24845,32.790098],[102.248192,32.790041],[102.247934,32.789983],[102.247669,32.789855],[102.247405,32.789727],[102.247063,32.7896],[102.246721,32.789472],[102.246358,32.789228],[102.245995,32.788984],[102.245632,32.78874],[102.245266,32.788588],[102.2449,32.788437],[102.244872,32.788417],[102.244689,32.788287],[102.244395,32.78808],[102.244174,32.787925],[102.243984,32.787842],[102.243675,32.78786],[102.243383,32.788014],[102.24307,32.788179],[102.242757,32.788344],[102.242693,32.788377],[102.242342,32.788597],[102.241991,32.788817],[102.241852,32.789005],[102.241712,32.789192],[102.241406,32.789412],[102.241101,32.789632],[102.240796,32.789852],[102.240587,32.789954],[102.240379,32.790055],[102.239933,32.790084],[102.239749,32.790072],[102.239523,32.789942],[102.239308,32.789852],[102.238999,32.789775],[102.238681,32.789743],[102.238559,32.789731],[102.238345,32.78971],[102.23797,32.789656],[102.237595,32.789603],[102.237381,32.78962],[102.237102,32.789698],[102.236733,32.789716],[102.236594,32.789697],[102.236262,32.789595],[102.236113,32.789549],[102.236001,32.78946],[102.235787,32.78924],[102.235571,32.78903],[102.235412,32.788877],[102.235186,32.788496],[102.235014,32.788335],[102.234847,32.788228],[102.234651,32.788163],[102.234508,32.788157],[102.234353,32.788169],[102.234175,32.788151],[102.233943,32.788062],[102.233865,32.787985],[102.233723,32.787889],[102.233437,32.787758],[102.233294,32.787628],[102.233179,32.787434],[102.233054,32.787308],[102.232882,32.787089],[102.232711,32.786871],[102.232362,32.786663],[102.232067,32.786613],[102.231772,32.786564],[102.231576,32.786644],[102.231181,32.786804],[102.231103,32.786835],[102.230988,32.786923],[102.230624,32.787158],[102.230431,32.787283],[102.230239,32.787407],[102.229897,32.787693],[102.229554,32.787979],[102.229345,32.78817],[102.229136,32.788361],[102.228854,32.788551],[102.228573,32.78874],[102.228351,32.788863],[102.22813,32.788986],[102.227909,32.78911],[102.227687,32.789233],[102.227361,32.789459],[102.227035,32.789684],[102.226794,32.789973],[102.226553,32.790261],[102.226388,32.790441],[102.226223,32.790621],[102.226016,32.790726],[102.22581,32.790832],[102.22552,32.790827],[102.22526,32.790783],[102.225,32.79074],[102.224756,32.790637],[102.224513,32.790534],[102.2242,32.790343],[102.223887,32.790153],[102.223561,32.789914],[102.223234,32.789674],[102.223075,32.789502],[102.222915,32.78933],[102.222755,32.789157],[102.222595,32.788985],[102.222435,32.788813],[102.222275,32.788641],[102.222115,32.788469],[102.221956,32.788296],[102.221796,32.788124],[102.221636,32.787952],[102.221476,32.78778],[102.221316,32.787608],[102.221199,32.787388],[102.221081,32.787169],[102.220964,32.78695],[102.220846,32.78673],[102.220729,32.786511],[102.220611,32.786292],[102.220494,32.786072],[102.220376,32.785853],[102.220259,32.785634],[102.220141,32.785414],[102.220024,32.785195],[102.219906,32.784975],[102.219789,32.784756],[102.219671,32.784537],[102.219546,32.784289],[102.21942,32.784042],[102.219295,32.783795],[102.21917,32.783548],[102.219044,32.783301],[102.218919,32.783053],[102.218794,32.782806],[102.218668,32.782559],[102.218543,32.782312],[102.218418,32.782064],[102.218292,32.781817],[102.218167,32.78157],[102.218041,32.781323],[102.217916,32.781075],[102.217791,32.780828],[102.217665,32.780581],[102.217513,32.780363],[102.21736,32.780146],[102.217207,32.779928],[102.217054,32.779711],[102.216901,32.779493],[102.216749,32.779276],[102.216596,32.779058],[102.216443,32.778841],[102.216309,32.778495],[102.216176,32.77815],[102.216069,32.777829],[102.215963,32.777509],[102.215883,32.777262],[102.215804,32.777016],[102.215695,32.776793],[102.215585,32.77657],[102.215476,32.776348],[102.215367,32.776125],[102.215114,32.7759],[102.214856,32.775771],[102.21461,32.775742],[102.214365,32.775712],[102.214061,32.775705],[102.213756,32.775698],[102.21333,32.775729],[102.212903,32.775761],[102.212477,32.775792],[102.212112,32.775882],[102.211746,32.775971],[102.211424,32.776062],[102.211102,32.776153],[102.210677,32.776278],[102.210253,32.776403],[102.210029,32.776447],[102.209805,32.776491],[102.209582,32.776535],[102.209358,32.776579],[102.209134,32.776623],[102.208911,32.776667],[102.208511,32.776764],[102.208111,32.776861],[102.207712,32.776958],[102.207331,32.777072],[102.20695,32.777186],[102.206756,32.777312],[102.206563,32.777438],[102.206369,32.777564],[102.206176,32.77769],[102.205982,32.777816],[102.205789,32.777942],[102.205595,32.778068],[102.205401,32.778194],[102.205192,32.778434],[102.205055,32.778615],[102.204919,32.778796],[102.204795,32.77905],[102.204671,32.779303],[102.204617,32.779607],[102.204564,32.779911],[102.204526,32.780217],[102.204488,32.780523],[102.204333,32.780825],[102.204178,32.781127],[102.204006,32.781307],[102.203833,32.781486],[102.203661,32.781666],[102.203488,32.781845],[102.203301,32.782035],[102.203113,32.782225],[102.202926,32.782414],[102.202739,32.782604],[102.202551,32.782794],[102.202364,32.782983],[102.202039,32.783172],[102.201715,32.78336],[102.201419,32.783525],[102.201124,32.78369],[102.200755,32.783889],[102.200386,32.784089],[102.200263,32.784162],[102.200046,32.78429],[102.199706,32.78449],[102.199478,32.784803],[102.19925,32.785115],[102.199066,32.785454],[102.198882,32.785792],[102.198743,32.786035],[102.198605,32.786277],[102.198483,32.786469],[102.198361,32.786662],[102.198095,32.786827],[102.197748,32.786795],[102.197519,32.786704],[102.19729,32.786614],[102.197004,32.78646],[102.196718,32.786307],[102.196421,32.786068],[102.196124,32.785829],[102.195942,32.785629],[102.195759,32.785429],[102.195565,32.785156],[102.195547,32.78513],[102.195371,32.784883],[102.195135,32.784547],[102.194898,32.784211],[102.194706,32.783864],[102.194514,32.783517],[102.194322,32.783158],[102.19413,32.782799],[102.194073,32.782529],[102.194016,32.782258],[102.193958,32.781988],[102.193901,32.781718],[102.193916,32.78148],[102.193931,32.781242],[102.193945,32.781003],[102.19396,32.780765],[102.193975,32.780527],[102.193989,32.780289],[102.194004,32.780051],[102.194019,32.779812],[102.194015,32.77947],[102.194012,32.779127],[102.193946,32.778893],[102.193881,32.778659],[102.193714,32.778435],[102.193373,32.778208],[102.193173,32.778093],[102.192974,32.777978],[102.192688,32.77785],[102.192402,32.777721],[102.192136,32.777664],[102.19187,32.777607],[102.191604,32.777549],[102.191337,32.777492],[102.191071,32.777435],[102.190805,32.777378],[102.190538,32.77732],[102.190272,32.777263],[102.190006,32.777206],[102.189739,32.777149],[102.189473,32.777091],[102.189207,32.777034],[102.188941,32.776977],[102.188674,32.77692],[102.188265,32.776832],[102.187855,32.776744],[102.187445,32.776656],[102.187015,32.776548],[102.186786,32.776396],[102.186763,32.776225],[102.186801,32.775932],[102.186891,32.775714],[102.18698,32.775497],[102.187069,32.77528],[102.187159,32.775063],[102.187248,32.774846],[102.187337,32.774629],[102.187366,32.774562],[102.187433,32.774407],[102.187528,32.774185],[102.187624,32.773963],[102.187719,32.773741],[102.187815,32.773519],[102.18791,32.773297],[102.188006,32.773076],[102.188101,32.772854],[102.188197,32.772632],[102.188292,32.77241],[102.188388,32.772188],[102.188483,32.771966],[102.188579,32.771744],[102.188674,32.771523],[102.188714,32.77143],[102.188818,32.771173],[102.188922,32.770917],[102.189026,32.77066],[102.18913,32.770404],[102.189234,32.770147],[102.189338,32.769891],[102.189442,32.769634],[102.189546,32.769378],[102.18965,32.769121],[102.189754,32.768865],[102.189864,32.768623],[102.189973,32.768381],[102.190082,32.768138],[102.190191,32.767896],[102.190301,32.767654],[102.19041,32.767412],[102.190424,32.767345],[102.190467,32.767145],[102.190524,32.766878],[102.190581,32.766611],[102.190638,32.766344],[102.190696,32.766077],[102.190753,32.76581],[102.19081,32.765543],[102.190867,32.765275],[102.190924,32.765008],[102.190981,32.764741],[102.191038,32.764474],[102.191075,32.764301],[102.191096,32.764207],[102.191225,32.763794],[102.191319,32.763551],[102.191414,32.763309],[102.191599,32.762946],[102.191694,32.762704],[102.191875,32.762463],[102.192041,32.762271],[102.192206,32.762079],[102.192515,32.761793],[102.192824,32.761506],[102.193133,32.761219],[102.193327,32.761056],[102.19352,32.760894],[102.193714,32.760731],[102.193908,32.760568],[102.194101,32.760405],[102.194295,32.760242],[102.194595,32.75993],[102.194895,32.759619],[102.195148,32.759392],[102.195402,32.759165],[102.1956,32.759011],[102.195798,32.758856],[102.195996,32.758702],[102.196194,32.758547],[102.196392,32.758393],[102.196591,32.758238],[102.196919,32.757952],[102.197131,32.757663],[102.197255,32.757428],[102.197379,32.757193],[102.197503,32.756957],[102.197627,32.756722],[102.197709,32.756508],[102.197791,32.756295],[102.197873,32.756082],[102.197955,32.755868],[102.198037,32.755655],[102.198119,32.755442],[102.198202,32.755228],[102.198284,32.755015],[102.198366,32.754801],[102.198367,32.754799],[102.198367,32.754797],[102.198448,32.754588],[102.198604,32.754249],[102.198667,32.754055],[102.198675,32.753798],[102.198684,32.753541],[102.198694,32.753248],[102.198643,32.753002],[102.198568,32.752766],[102.198493,32.75253],[102.198418,32.752295],[102.198342,32.752059],[102.198267,32.751823],[102.198192,32.751587],[102.198117,32.751352],[102.198042,32.751116],[102.197967,32.75088],[102.197892,32.750645],[102.197817,32.750409],[102.197741,32.750173],[102.197718,32.750121],[102.197608,32.749874],[102.197497,32.749627],[102.197387,32.74938],[102.197277,32.749133],[102.197166,32.748886],[102.197056,32.748639],[102.196946,32.748392],[102.196835,32.748145],[102.196725,32.747898],[102.196615,32.747651],[102.196504,32.747405],[102.196394,32.747158],[102.196284,32.746911],[102.196173,32.746664],[102.196063,32.746417],[102.195953,32.74617],[102.195822,32.745943],[102.195692,32.745716],[102.195561,32.745489],[102.19543,32.745262],[102.1953,32.745035],[102.195169,32.744808],[102.195038,32.744581],[102.194908,32.744354],[102.194777,32.744127],[102.194646,32.7439],[102.194516,32.743673],[102.194385,32.743446],[102.19432,32.7432],[102.194255,32.742954],[102.19419,32.742708],[102.194126,32.742462],[102.194104,32.742217],[102.194083,32.741972],[102.194091,32.741703],[102.1941,32.741434],[102.194109,32.74114],[102.194178,32.740824],[102.194274,32.740508],[102.194397,32.740266],[102.194491,32.740073],[102.194644,32.739807],[102.194795,32.739608],[102.194946,32.73941],[102.195098,32.739212],[102.195249,32.739013],[102.1954,32.738815],[102.195551,32.738616],[102.195702,32.738418],[102.195854,32.73822],[102.196001,32.738015],[102.196148,32.737811],[102.196295,32.737606],[102.196442,32.737402],[102.196589,32.737198],[102.196736,32.736993],[102.196884,32.736789],[102.197031,32.736584],[102.197178,32.73638],[102.197325,32.736176],[102.197472,32.735971],[102.197619,32.735767],[102.197798,32.735599],[102.198124,32.735386],[102.198333,32.735195],[102.198484,32.735003],[102.198651,32.734774],[102.198818,32.734546],[102.198993,32.734207],[102.199168,32.733868],[102.199343,32.73353],[102.199438,32.733275],[102.199533,32.73302],[102.199628,32.732765],[102.199723,32.732511],[102.199817,32.732256],[102.199818,32.732255],[102.199818,32.732254],[102.199912,32.732001],[102.200017,32.731777],[102.200122,32.731553],[102.200171,32.731448],[102.200227,32.731329],[102.200332,32.731105],[102.200437,32.730881],[102.200542,32.730657],[102.200646,32.730433],[102.200751,32.730209],[102.200898,32.730023],[102.201044,32.729837],[102.201191,32.729651],[102.201337,32.729465],[102.201484,32.729279],[102.20163,32.729093],[102.201777,32.728907],[102.201924,32.728721],[102.20207,32.728534],[102.202217,32.728348],[102.202363,32.728162],[102.20251,32.727976],[102.202649,32.727763],[102.202788,32.727549],[102.202927,32.727335],[102.203066,32.727122],[102.203206,32.726908],[102.203345,32.726695],[102.203484,32.726481],[102.203623,32.726267],[102.203762,32.726054],[102.203902,32.72584],[102.204041,32.725627],[102.20418,32.725413],[102.204319,32.725199],[102.204458,32.724986],[102.204573,32.724759],[102.204688,32.724532],[102.204802,32.724305],[102.204917,32.724078],[102.205032,32.723851],[102.205147,32.723624],[102.205261,32.723397],[102.205376,32.72317],[102.205491,32.722943],[102.205566,32.722793],[102.205605,32.722716],[102.205613,32.722448],[102.205682,32.722132],[102.205805,32.72189],[102.206015,32.721674],[102.206194,32.721507],[102.206461,32.721317],[102.206699,32.721102],[102.20694,32.720838],[102.20712,32.720573],[102.207229,32.720363],[102.207337,32.720153],[102.207445,32.719944],[102.207553,32.719734],[102.207661,32.719524],[102.207769,32.719315],[102.207985,32.718928],[102.208108,32.718711],[102.20823,32.718493],[102.208427,32.718229],[102.208624,32.717964],[102.208791,32.717699],[102.208959,32.717433],[102.209244,32.717134],[102.209529,32.716834],[102.209798,32.716571],[102.210067,32.716308],[102.210311,32.715946],[102.210453,32.715734],[102.210595,32.715521],[102.210737,32.715309],[102.210879,32.715096],[102.211021,32.714884],[102.211163,32.714671],[102.211186,32.714427],[102.211208,32.714183],[102.211217,32.713865],[102.211229,32.713498],[102.211125,32.713129],[102.21102,32.71276],[102.210932,32.712521],[102.210844,32.712281],[102.210755,32.712042],[102.210667,32.711803],[102.210579,32.711563],[102.210491,32.711324],[102.210403,32.711085],[102.210314,32.710845],[102.210226,32.710606],[102.210138,32.710366],[102.210016,32.710095],[102.209893,32.709823],[102.20973,32.709526],[102.209564,32.709295],[102.209549,32.709275],[102.209479,32.709178],[102.209437,32.709135],[102.209392,32.709088],[102.209304,32.708997],[102.209129,32.708816],[102.208954,32.708635],[102.208779,32.708454],[102.2086,32.708269],[102.208422,32.708084],[102.208209,32.707933],[102.207996,32.707781],[102.207784,32.70763],[102.207571,32.707478],[102.207358,32.707326],[102.207146,32.707175],[102.206933,32.707023],[102.20672,32.706872],[102.206508,32.70672],[102.206295,32.706568],[102.206082,32.706417],[102.20587,32.706265],[102.205657,32.706114],[102.205444,32.705962],[102.205302,32.705906],[102.205264,32.705892],[102.205205,32.705868],[102.204983,32.705781],[102.204965,32.705774],[102.204725,32.70568],[102.20465,32.705651],[102.204485,32.705586],[102.204246,32.705492],[102.204006,32.705398],[102.203766,32.705304],[102.203526,32.705211],[102.203287,32.70512],[102.203049,32.705029],[102.20281,32.704938],[102.202571,32.704847],[102.202332,32.704756],[102.202094,32.704665],[102.201846,32.704576],[102.201599,32.704488],[102.201352,32.7044],[102.201104,32.704312],[102.200857,32.704224],[102.20061,32.704136],[102.200362,32.704048],[102.200115,32.70396],[102.199887,32.703844],[102.19966,32.703729],[102.199475,32.703591],[102.19929,32.703453],[102.199096,32.703202],[102.198873,32.702904],[102.198784,32.702658],[102.198695,32.702413],[102.198606,32.702167],[102.198517,32.701921],[102.198369,32.701563],[102.19822,32.701205],[102.198087,32.700834],[102.197921,32.700562],[102.197725,32.700337],[102.197613,32.700213],[102.197329,32.700035],[102.196985,32.699904],[102.196741,32.69985],[102.196496,32.699796],[102.196397,32.699773],[102.196151,32.699715],[102.195805,32.699634],[102.195518,32.699566],[102.19523,32.699499],[102.194913,32.69943],[102.194596,32.699362],[102.194266,32.699281],[102.193936,32.6992],[102.193633,32.69912],[102.193468,32.699076],[102.193331,32.69904],[102.193073,32.698948],[102.192815,32.698857],[102.192544,32.698729],[102.192273,32.698601],[102.191943,32.69834],[102.191613,32.69808],[102.191283,32.697819],[102.191071,32.697631],[102.19086,32.697443],[102.190677,32.697255],[102.190494,32.697068],[102.190388,32.696772],[102.190396,32.696528],[102.190432,32.696308],[102.190465,32.696137]]]]},"properties":{"cp":[102.35372199561037,32.712944518303445],"code":"513233103","name":"安曲镇","level":"street","center":[102.35372199561037,32.712944518303445],"fullCode":"513233103000","fullName":"四川省阿坝藏族羌族自治州红原县安曲镇","acreageMu":1327057.45,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.222,32.6709]}},{"id":"513233105","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.277244,32.524826],[102.277274,32.524758],[102.277761,32.523683],[102.278447,32.522401],[102.278934,32.521489],[102.279246,32.520805],[102.279632,32.520638],[102.280189,32.520398],[102.280201,32.520393],[102.280417,32.5203],[102.280661,32.520194],[102.281662,32.519821],[102.282892,32.519601],[102.283165,32.519536],[102.284592,32.519194],[102.286228,32.519032],[102.287337,32.518908],[102.287869,32.518673],[102.288122,32.517988],[102.288597,32.517196],[102.289346,32.515511],[102.29019,32.513605],[102.290391,32.512721],[102.29064,32.511691],[102.290603,32.510025],[102.290392,32.508318],[102.290556,32.507212],[102.290941,32.506036],[102.291382,32.504418],[102.29147,32.503999],[102.291505,32.503833],[102.291597,32.503393],[102.291601,32.503375],[102.291637,32.503202],[102.291887,32.502135],[102.291976,32.50062],[102.29189,32.499101],[102.291871,32.498286],[102.292101,32.497884],[102.292726,32.497454],[102.293911,32.49722],[102.295037,32.497541],[102.296037,32.497673],[102.297387,32.497776],[102.298297,32.498018],[102.299338,32.498225],[102.300303,32.498583],[102.300373,32.498609],[102.300504,32.498657],[102.301595,32.49868],[102.303308,32.49831],[102.304271,32.498257],[102.30559,32.497915],[102.307147,32.49745],[102.30744,32.497363],[102.308144,32.49723],[102.308319,32.497197],[102.308369,32.49715],[102.308633,32.496907],[102.308664,32.495872],[102.308679,32.495343],[102.30869,32.494985],[102.308318,32.494274],[102.308133,32.49316],[102.307815,32.492117],[102.307839,32.491304],[102.307999,32.490345],[102.308286,32.4895],[102.308793,32.488586],[102.309694,32.487643],[102.31063,32.486997],[102.31153,32.486092],[102.311816,32.485284],[102.311739,32.4847],[102.311673,32.484208],[102.311089,32.483307],[102.310916,32.481787],[102.311219,32.480334],[102.311323,32.479834],[102.312199,32.478262],[102.313131,32.476667],[102.313395,32.476216],[102.313725,32.475775],[102.314213,32.475123],[102.314795,32.474618],[102.316193,32.474574],[102.317894,32.47461],[102.318993,32.474375],[102.320272,32.473921],[102.321372,32.473611],[102.322209,32.47337],[102.323588,32.472475],[102.324006,32.471633],[102.324606,32.470535],[102.32456,32.469129],[102.324727,32.467911],[102.324895,32.466657],[102.325061,32.465477],[102.325074,32.463553],[102.325561,32.461861],[102.325773,32.460608],[102.32624,32.459545],[102.326497,32.458256],[102.326407,32.456885],[102.325506,32.454868],[102.323044,32.449599],[102.322678,32.448703],[102.321883,32.447539],[102.321341,32.446714],[102.32067,32.445774],[102.320434,32.444918],[102.320409,32.442809],[102.32037,32.44118],[102.320417,32.43959],[102.32067,32.438412],[102.32075,32.437193],[102.320707,32.435712],[102.320407,32.434041],[102.320451,32.432562],[102.320371,32.430858],[102.319935,32.429369],[102.319737,32.428699],[102.319588,32.427807],[102.319457,32.426362],[102.319034,32.422949],[102.318856,32.421613],[102.318847,32.420988],[102.318842,32.420614],[102.31871,32.419168],[102.319057,32.41777],[102.319248,32.417219],[102.320608,32.416952],[102.321596,32.417454],[102.322646,32.417365],[102.323692,32.417387],[102.324757,32.416781],[102.326135,32.415885],[102.327275,32.415687],[102.329636,32.416958],[102.330141,32.417065],[102.331197,32.417287],[102.332497,32.417574],[102.334328,32.417613],[102.334971,32.417589],[102.335594,32.417565],[102.336382,32.417471],[102.336462,32.417397],[102.336616,32.417255],[102.336623,32.417249],[102.336666,32.417209],[102.336699,32.417179],[102.336709,32.417169],[102.33675,32.417132],[102.337247,32.416674],[102.338886,32.415163],[102.342031,32.412263],[102.343993,32.410485],[102.344227,32.410274],[102.345215,32.409296],[102.345283,32.409199],[102.345289,32.40919],[102.3453,32.409175],[102.345373,32.409072],[102.345772,32.408509],[102.345785,32.408491],[102.34617,32.407947],[102.349568,32.402136],[102.351006,32.400686],[102.352698,32.399464],[102.35438,32.397131],[102.355089,32.395259],[102.355108,32.394594],[102.354352,32.393616],[102.354038,32.392425],[102.353635,32.39127],[102.353459,32.38986],[102.353236,32.389172],[102.352677,32.387444],[102.352579,32.387141],[102.352564,32.386142],[102.352552,32.385068],[102.351995,32.383244],[102.351449,32.381049],[102.350881,32.379595],[102.351855,32.37906],[102.352253,32.378883],[102.353004,32.378529],[102.353545,32.377949],[102.353752,32.376806],[102.354044,32.375776],[102.354239,32.375077],[102.354258,32.374412],[102.355159,32.373432],[102.356533,32.372647],[102.357558,32.371891],[102.358235,32.371091],[102.35931,32.370115],[102.35968,32.369383],[102.359798,32.368312],[102.359888,32.366723],[102.360052,32.36558],[102.360385,32.364625],[102.36063,32.363705],[102.361068,32.360643],[102.361199,32.359129],[102.36127,32.358168],[102.361379,32.357431],[102.361414,32.35621],[102.361683,32.354477],[102.362164,32.353634],[102.362371,32.353271],[102.362957,32.352617],[102.363549,32.351741],[102.364567,32.351208],[102.366066,32.35061],[102.367472,32.350232],[102.367972,32.34954],[102.368694,32.348667],[102.369292,32.347606],[102.369589,32.346355],[102.370191,32.345146],[102.371335,32.343283],[102.372027,32.341928],[102.372799,32.340872],[102.373813,32.338969],[102.375079,32.337367],[102.376028,32.336203],[102.376615,32.335512],[102.376631,32.334957],[102.376298,32.334395],[102.375032,32.33349],[102.375252,32.332881],[102.37576,32.332763],[102.376519,32.332736],[102.377477,32.332756],[102.378605,32.332179],[102.37984,32.33139],[102.380272,32.330413],[102.381055,32.329529],[102.381861,32.328876],[102.381887,32.328856],[102.382089,32.328693],[102.382162,32.328655],[102.382502,32.328481],[102.382698,32.328381],[102.382758,32.32835],[102.383216,32.328116],[102.384245,32.327451],[102.38475,32.32725],[102.384819,32.327222],[102.385082,32.327118],[102.385102,32.32711],[102.385369,32.327003],[102.386012,32.326709],[102.386085,32.326675],[102.386572,32.326499],[102.387208,32.326269],[102.387618,32.326291],[102.387649,32.326293],[102.387743,32.326298],[102.388139,32.326319],[102.388387,32.326332],[102.388519,32.326339],[102.389165,32.326696],[102.389704,32.327264],[102.389636,32.328009],[102.38963,32.328077],[102.389561,32.328778],[102.389525,32.329151],[102.389487,32.329532],[102.389464,32.330346],[102.389392,32.331457],[102.389373,32.331759],[102.389149,32.332155],[102.388894,32.332607],[102.388925,32.333294],[102.389072,32.333468],[102.389526,32.333597],[102.390993,32.334108],[102.391188,32.334133],[102.392014,32.33424],[102.393033,32.334372],[102.394551,32.334625],[102.395766,32.334799],[102.396598,32.334668],[102.397563,32.334466],[102.399008,32.335154],[102.399234,32.333035],[102.399466,32.33021],[102.399947,32.327518],[102.400234,32.326324],[102.400363,32.32534],[102.400456,32.324518],[102.400633,32.322953],[102.400807,32.322453],[102.401235,32.321224],[102.401741,32.320095],[102.401858,32.318758],[102.402707,32.316632],[102.403697,32.315111],[102.405008,32.313397],[102.405829,32.312275],[102.406189,32.310741],[102.406383,32.309472],[102.406479,32.308814],[102.406578,32.308137],[102.406573,32.306147],[102.406573,32.30611],[102.406573,32.306104],[102.406573,32.305983],[102.406572,32.305719],[102.406572,32.305591],[102.406571,32.305404],[102.406571,32.305289],[102.40657,32.305096],[102.406569,32.304863],[102.406569,32.304796],[102.406568,32.304556],[102.406567,32.304287],[102.406566,32.304193],[102.406566,32.304154],[102.406566,32.304044],[102.406565,32.303804],[102.406564,32.303568],[102.406563,32.303463],[102.406563,32.303396],[102.406562,32.303179],[102.406534,32.302981],[102.406507,32.302783],[102.406478,32.302577],[102.406446,32.302345],[102.40643,32.302229],[102.406403,32.30204],[102.406373,32.301825],[102.406345,32.301622],[102.406323,32.301464],[102.4063,32.301298],[102.406304,32.301146],[102.406309,32.300995],[102.406314,32.300817],[102.406319,32.300652],[102.406325,32.300416],[102.40633,32.300231],[102.406333,32.300126],[102.406337,32.299987],[102.406341,32.299853],[102.406342,32.299808],[102.406432,32.298755],[102.406286,32.297647],[102.406307,32.296894],[102.407203,32.296611],[102.408561,32.296689],[102.40948,32.296754],[102.409512,32.296756],[102.410499,32.296826],[102.410568,32.29683],[102.412026,32.29686],[102.412283,32.296866],[102.413298,32.296535],[102.413604,32.296585],[102.414055,32.29669],[102.414842,32.296875],[102.41684,32.296757],[102.418769,32.296758],[102.419457,32.296758],[102.419915,32.296739],[102.421203,32.296688],[102.422145,32.29657],[102.423392,32.296415],[102.424268,32.296274],[102.425403,32.295821],[102.425946,32.295245],[102.426431,32.29473],[102.427089,32.293474],[102.427678,32.29248],[102.428025,32.291217],[102.428394,32.289825],[102.428442,32.289646],[102.428583,32.289111],[102.429164,32.288382],[102.429922,32.287892],[102.430116,32.287767],[102.430546,32.28719],[102.43056,32.287172],[102.430585,32.287138],[102.430613,32.2871],[102.430642,32.287061],[102.430652,32.287048],[102.430739,32.286932],[102.430826,32.286815],[102.430842,32.286793],[102.430894,32.286724],[102.431242,32.285408],[102.431586,32.284251],[102.431994,32.28392],[102.43216,32.283786],[102.432327,32.283519],[102.432813,32.282741],[102.432974,32.281421],[102.432511,32.280194],[102.432303,32.278708],[102.432357,32.278597],[102.432394,32.27852],[102.432833,32.277608],[102.433249,32.276081],[102.433659,32.274819],[102.433592,32.272754],[102.433464,32.270687],[102.433526,32.268466],[102.433452,32.268119],[102.433317,32.267488],[102.433196,32.266924],[102.433139,32.266782],[102.433073,32.266629],[102.433007,32.266472],[102.432961,32.26634],[102.432896,32.266178],[102.432849,32.266061],[102.432788,32.26591],[102.432709,32.265757],[102.43262,32.265584],[102.432531,32.265416],[102.432429,32.265219],[102.432316,32.265001],[102.432211,32.264868],[102.432121,32.264754],[102.431988,32.264584],[102.431843,32.2644],[102.431713,32.264233],[102.431545,32.264019],[102.431401,32.263838],[102.431296,32.263705],[102.431173,32.263549],[102.431113,32.26361],[102.430917,32.263808],[102.430749,32.263871],[102.43055,32.263945],[102.430244,32.264061],[102.430032,32.26414],[102.429846,32.26421],[102.429622,32.264307],[102.429491,32.264364],[102.429196,32.264492],[102.428911,32.264616],[102.42863,32.26474],[102.428333,32.264867],[102.428111,32.264902],[102.427928,32.264931],[102.42776,32.264957],[102.427519,32.264995],[102.427291,32.265031],[102.427144,32.265054],[102.426934,32.265119],[102.426658,32.265204],[102.42637,32.265294],[102.426128,32.265369],[102.425892,32.265442],[102.425699,32.265501],[102.425453,32.265654],[102.425256,32.265777],[102.425064,32.265896],[102.424874,32.266014],[102.424673,32.26614],[102.424513,32.266241],[102.424304,32.266372],[102.424033,32.266405],[102.423829,32.26643],[102.423554,32.266463],[102.423305,32.26658],[102.423073,32.266688],[102.422796,32.266818],[102.422632,32.266984],[102.422484,32.267134],[102.422254,32.267366],[102.422059,32.267564],[102.421921,32.267703],[102.42177,32.267856],[102.420893,32.268049],[102.420724,32.267411],[102.420628,32.266403],[102.420277,32.265602],[102.420045,32.265385],[102.419549,32.264922],[102.419002,32.264412],[102.418229,32.263126],[102.417456,32.26206],[102.417453,32.262056],[102.41745,32.262051],[102.416786,32.261297],[102.416699,32.261108],[102.416492,32.260656],[102.416143,32.259802],[102.416096,32.259672],[102.416011,32.259436],[102.415904,32.259139],[102.415796,32.258842],[102.415811,32.258313],[102.415819,32.258033],[102.415832,32.257572],[102.415802,32.257217],[102.415758,32.256703],[102.415692,32.255929],[102.415631,32.255493],[102.415592,32.255207],[102.415537,32.254814],[102.415461,32.254511],[102.415391,32.254232],[102.415257,32.253697],[102.415242,32.253404],[102.415223,32.253017],[102.415206,32.252674],[102.415178,32.252108],[102.415166,32.251793],[102.415155,32.251458],[102.415141,32.251063],[102.415139,32.251002],[102.415135,32.2509],[102.415131,32.250786],[102.415126,32.250681],[102.415122,32.250547],[102.415117,32.250437],[102.415114,32.250319],[102.415112,32.250244],[102.415108,32.250148],[102.415105,32.250051],[102.415101,32.24994],[102.415097,32.249807],[102.415093,32.249679],[102.415087,32.249517],[102.415083,32.249368],[102.415078,32.249232],[102.415075,32.249142],[102.415024,32.249023],[102.414938,32.248818],[102.414838,32.248624],[102.414781,32.248501],[102.41477,32.2484],[102.414747,32.248199],[102.414739,32.248127],[102.414724,32.248002],[102.414703,32.247831],[102.414679,32.247592],[102.414652,32.247353],[102.414632,32.247174],[102.414657,32.246967],[102.414686,32.246721],[102.414722,32.246418],[102.414757,32.246127],[102.414796,32.245802],[102.414839,32.245634],[102.414889,32.245437],[102.414936,32.245253],[102.414985,32.24506],[102.415006,32.244978],[102.415018,32.244933],[102.415031,32.24488],[102.41505,32.244809],[102.415068,32.244738],[102.415088,32.244659],[102.415101,32.244609],[102.415114,32.244559],[102.415129,32.244497],[102.415142,32.244446],[102.415146,32.244433],[102.415148,32.244403],[102.415152,32.244359],[102.415158,32.24429],[102.415166,32.2442],[102.415175,32.244101],[102.415181,32.244025],[102.415187,32.243961],[102.415192,32.243905],[102.415198,32.243836],[102.415202,32.24379],[102.415209,32.243711],[102.415221,32.243576],[102.415229,32.243481],[102.415238,32.243376],[102.415243,32.243317],[102.41525,32.24324],[102.415259,32.243138],[102.415269,32.243022],[102.41528,32.242898],[102.415292,32.242763],[102.415303,32.242639],[102.415315,32.242508],[102.415325,32.242392],[102.415337,32.242266],[102.415347,32.242148],[102.415355,32.242057],[102.415364,32.241956],[102.415371,32.241877],[102.415376,32.241816],[102.415384,32.241737],[102.41539,32.241667],[102.415421,32.241316],[102.415506,32.240951],[102.415533,32.240835],[102.415551,32.240761],[102.415572,32.240669],[102.415577,32.240649],[102.415604,32.240533],[102.415608,32.240515],[102.41565,32.240335],[102.415676,32.240225],[102.415704,32.240104],[102.415726,32.240027],[102.415764,32.239893],[102.415806,32.239744],[102.415843,32.239614],[102.415883,32.239472],[102.41593,32.239304],[102.415968,32.239168],[102.416023,32.238974],[102.416052,32.238872],[102.416079,32.238774],[102.41612,32.238631],[102.416143,32.23856],[102.416174,32.238463],[102.416218,32.238329],[102.416279,32.238147],[102.416352,32.237915],[102.41642,32.237706],[102.41649,32.23749],[102.416555,32.237289],[102.416619,32.237092],[102.416665,32.236948],[102.416716,32.236876],[102.416804,32.236747],[102.416916,32.236586],[102.417037,32.236412],[102.417174,32.236213],[102.417309,32.236018],[102.417414,32.235866],[102.417541,32.235682],[102.417639,32.235539],[102.41775,32.235438],[102.417853,32.235344],[102.418007,32.235202],[102.418158,32.235063],[102.418325,32.23491],[102.418473,32.234774],[102.418598,32.234659],[102.418705,32.234556],[102.418831,32.234433],[102.418983,32.234286],[102.419122,32.234151],[102.419239,32.234037],[102.419323,32.23387],[102.419399,32.233719],[102.419798,32.23362],[102.420495,32.233406],[102.421206,32.23329],[102.421705,32.233208],[102.422269,32.233116],[102.422776,32.233126],[102.42345,32.23314],[102.424149,32.233154],[102.424565,32.233198],[102.425297,32.233276],[102.426057,32.233454],[102.426517,32.233562],[102.427028,32.233792],[102.427614,32.234056],[102.428109,32.234279],[102.428598,32.234556],[102.428998,32.234783],[102.429395,32.234958],[102.429741,32.235167],[102.430175,32.235429],[102.430659,32.235721],[102.431154,32.23602],[102.431821,32.236423],[102.432415,32.236781],[102.432801,32.237072],[102.433231,32.237395],[102.433618,32.237687],[102.433961,32.237949],[102.434286,32.238198],[102.43467,32.238491],[102.434893,32.238843],[102.435111,32.239185],[102.43535,32.239616],[102.435513,32.239911],[102.435746,32.240476],[102.436012,32.241121],[102.436197,32.24157],[102.436425,32.242124],[102.436524,32.242362],[102.436598,32.242544],[102.436716,32.242829],[102.436897,32.243267],[102.43712,32.243808],[102.437305,32.244257],[102.437409,32.244509],[102.437561,32.244879],[102.437653,32.245144],[102.437759,32.245448],[102.437881,32.245799],[102.437776,32.246008],[102.437652,32.246254],[102.437637,32.246283],[102.43739,32.246546],[102.437136,32.246815],[102.437004,32.246956],[102.436843,32.247229],[102.436687,32.247494],[102.436559,32.247711],[102.436461,32.247878],[102.4364,32.247982],[102.436359,32.248052],[102.436342,32.248671],[102.43699,32.24993],[102.437021,32.249991],[102.437106,32.250155],[102.43736,32.250654],[102.437761,32.251441],[102.437815,32.251581],[102.438039,32.252164],[102.438405,32.253118],[102.438638,32.254395],[102.439364,32.255878],[102.439525,32.256395],[102.439581,32.256575],[102.439681,32.256895],[102.439515,32.257349],[102.438964,32.257827],[102.438868,32.258063],[102.438634,32.258636],[102.438666,32.259208],[102.438685,32.25955],[102.438684,32.260357],[102.438684,32.260652],[102.438684,32.260953],[102.439117,32.261941],[102.440476,32.262784],[102.441138,32.263809],[102.441852,32.264378],[102.442676,32.265112],[102.443079,32.265806],[102.443412,32.266237],[102.443397,32.266791],[102.44334,32.267658],[102.443329,32.267833],[102.443258,32.268332],[102.443246,32.268412],[102.443138,32.269167],[102.443232,32.269919],[102.443212,32.270637],[102.443153,32.271353],[102.442814,32.272488],[102.442715,32.273302],[102.442676,32.273379],[102.442267,32.274206],[102.441318,32.275166],[102.440295,32.276059],[102.440265,32.276111],[102.440042,32.276506],[102.439729,32.277058],[102.439512,32.277416],[102.439146,32.278018],[102.439004,32.278251],[102.438982,32.278347],[102.438884,32.278774],[102.438861,32.278874],[102.438698,32.279582],[102.4387,32.279674],[102.438715,32.280333],[102.438138,32.281807],[102.438077,32.281961],[102.437764,32.28276],[102.437639,32.283096],[102.437464,32.283566],[102.437437,32.283638],[102.43739,32.283764],[102.436614,32.285412],[102.436418,32.286909],[102.436342,32.287743],[102.436334,32.287824],[102.436307,32.288114],[102.436235,32.288407],[102.436202,32.288543],[102.436194,32.288578],[102.436182,32.288624],[102.436169,32.288678],[102.435917,32.289704],[102.436036,32.290947],[102.436316,32.291898],[102.436507,32.293305],[102.436708,32.294353],[102.436747,32.295033],[102.436772,32.295461],[102.436785,32.295692],[102.437007,32.297452],[102.437037,32.297687],[102.436929,32.298794],[102.436959,32.300459],[102.436964,32.301633],[102.436629,32.302605],[102.436339,32.30335],[102.436223,32.30475],[102.435919,32.305984],[102.435335,32.307636],[102.435152,32.308676],[102.434708,32.309417],[102.434185,32.310287],[102.433662,32.311092],[102.43301,32.312416],[102.432892,32.313138],[102.432873,32.31325],[102.432871,32.313262],[102.432874,32.313331],[102.432875,32.313348],[102.432875,32.313349],[102.432877,32.313359],[102.432877,32.313361],[102.432878,32.313389],[102.432948,32.314634],[102.433116,32.315485],[102.433206,32.316368],[102.433846,32.317747],[102.434105,32.318304],[102.434182,32.318469],[102.434412,32.318963],[102.434554,32.31927],[102.434672,32.319572],[102.434873,32.320088],[102.435123,32.320905],[102.435498,32.322131],[102.43588,32.323124],[102.435809,32.32385],[102.435787,32.324072],[102.435784,32.324108],[102.435761,32.324933],[102.435756,32.325081],[102.435736,32.325798],[102.435735,32.325853],[102.435728,32.326079],[102.436313,32.327135],[102.436392,32.328078],[102.436403,32.328213],[102.436415,32.328355],[102.436481,32.328474],[102.436548,32.328594],[102.436634,32.32875],[102.436744,32.328948],[102.43685,32.329139],[102.436936,32.329295],[102.437047,32.329495],[102.43713,32.329646],[102.437177,32.32987],[102.437211,32.330039],[102.437252,32.330237],[102.437254,32.330243],[102.437551,32.331684],[102.437515,32.332959],[102.437296,32.333477],[102.437072,32.333964],[102.436784,32.334713],[102.436948,32.335206],[102.437005,32.335257],[102.437413,32.33562],[102.437419,32.335626],[102.437468,32.33567],[102.437505,32.335685],[102.437611,32.335728],[102.437753,32.335786],[102.438076,32.335918],[102.43883,32.336226],[102.440769,32.336831],[102.441061,32.336939],[102.441245,32.337007],[102.441275,32.337018],[102.441805,32.337214],[102.444552,32.338229],[102.444639,32.338395],[102.444719,32.338546],[102.444737,32.338582],[102.444755,32.338616],[102.444765,32.338635],[102.445203,32.33947],[102.446265,32.341494],[102.44698,32.343262],[102.447546,32.344897],[102.447984,32.345262],[102.448742,32.345895],[102.449134,32.346058],[102.449219,32.346108],[102.449228,32.346117],[102.449363,32.346021],[102.449807,32.346111],[102.450239,32.346387],[102.450444,32.346518],[102.45045,32.346521],[102.450575,32.346601],[102.450859,32.346782],[102.451698,32.346864],[102.453604,32.347097],[102.454452,32.347055],[102.454496,32.347052],[102.454523,32.347051],[102.455753,32.346816],[102.455953,32.34682],[102.456977,32.346841],[102.458579,32.347678],[102.458786,32.347787],[102.460597,32.348667],[102.462705,32.349879],[102.464668,32.350827],[102.466106,32.351376],[102.467467,32.351923],[102.468904,32.352536],[102.470346,32.352955],[102.470661,32.353029],[102.471258,32.353168],[102.472326,32.353254],[102.473468,32.353472],[102.47458,32.354728],[102.475767,32.356051],[102.476598,32.356457],[102.478407,32.357402],[102.479785,32.358482],[102.480688,32.359019],[102.481338,32.359864],[102.482039,32.361072],[102.482135,32.362009],[102.482273,32.363674],[102.482675,32.364617],[102.483433,32.365983],[102.484561,32.367252],[102.485027,32.368093],[102.48628,32.369261],[102.486611,32.370566],[102.486269,32.371858],[102.486108,32.373257],[102.486154,32.37383],[102.487249,32.374059],[102.488027,32.374698],[102.488845,32.376117],[102.490394,32.377654],[102.490542,32.378956],[102.490509,32.38015],[102.490598,32.381346],[102.491049,32.382758],[102.491141,32.383851],[102.491462,32.385519],[102.491056,32.386914],[102.490778,32.390337],[102.490554,32.391787],[102.490756,32.393349],[102.490781,32.394648],[102.490508,32.395682],[102.48943,32.397011],[102.488665,32.398086],[102.487793,32.39864],[102.485717,32.400625],[102.483981,32.401421],[102.48292,32.402127],[102.482146,32.403566],[102.481929,32.404757],[102.481957,32.405952],[102.481934,32.406782],[102.481535,32.407917],[102.481502,32.409111],[102.481512,32.41093],[102.481419,32.412071],[102.480722,32.415121],[102.480625,32.416418],[102.480701,32.418082],[102.480725,32.419433],[102.480743,32.420991],[102.481169,32.423285],[102.481591,32.425735],[102.482403,32.427362],[102.482739,32.428511],[102.48343,32.430083],[102.484503,32.431143],[102.485528,32.431735],[102.48649,32.432378],[102.487322,32.433277],[102.488331,32.43444],[102.490313,32.435882],[102.491259,32.437096],[102.491415,32.438086],[102.491511,32.439075],[102.492023,32.440487],[102.492528,32.44216],[102.492802,32.443308],[102.493447,32.444359],[102.493962,32.445668],[102.494777,32.447191],[102.495789,32.44825],[102.496884,32.448531],[102.498921,32.448001],[102.499732,32.447445],[102.500299,32.446213],[102.501265,32.445927],[102.501934,32.445535],[102.502618,32.444584],[102.50465,32.442494],[102.506141,32.440494],[102.507601,32.43961],[102.509176,32.438931],[102.510628,32.438351],[102.511793,32.437308],[102.513027,32.435963],[102.514031,32.434258],[102.514308,32.432894],[102.513938,32.43111],[102.512401,32.428239],[102.511394,32.425733],[102.510669,32.423791],[102.510708,32.422371],[102.510749,32.422294],[102.511223,32.421402],[102.511236,32.421379],[102.511246,32.421359],[102.511263,32.421327],[102.511323,32.421215],[102.511402,32.421066],[102.511778,32.420464],[102.512634,32.419771],[102.513727,32.419184],[102.516419,32.419186],[102.518773,32.419233],[102.518846,32.419234],[102.520065,32.419258],[102.521922,32.419193],[102.523122,32.419217],[102.523884,32.419232],[102.52509,32.419256],[102.526508,32.419228],[102.527664,32.419205],[102.527846,32.419192],[102.528362,32.419155],[102.529342,32.419085],[102.531386,32.41872],[102.532553,32.418385],[102.532712,32.41834],[102.533156,32.418286],[102.533943,32.418191],[102.534201,32.418159],[102.534512,32.418121],[102.535523,32.418344],[102.536887,32.418777],[102.538407,32.419519],[102.538835,32.419728],[102.538959,32.419788],[102.540902,32.420733],[102.543321,32.421947],[102.543751,32.422217],[102.544321,32.422575],[102.546463,32.423992],[102.54649,32.42401],[102.546613,32.424091],[102.5482,32.425063],[102.548362,32.425162],[102.54848,32.425234],[102.548491,32.425241],[102.548496,32.425244],[102.548521,32.425262],[102.548552,32.425285],[102.548567,32.425296],[102.548572,32.4253],[102.548578,32.425304],[102.550491,32.426704],[102.55254,32.428367],[102.553757,32.429224],[102.553949,32.429358],[102.556042,32.431289],[102.556984,32.432157],[102.558222,32.432841],[102.560255,32.433513],[102.561318,32.433826],[102.562118,32.434004],[102.562561,32.434597],[102.562842,32.435544],[102.563736,32.436471],[102.564399,32.437458],[102.565107,32.438186],[102.565743,32.438718],[102.566501,32.439025],[102.567794,32.439374],[102.569919,32.440065],[102.571286,32.440513],[102.573031,32.441131],[102.574966,32.441786],[102.576027,32.442228],[102.577781,32.442489],[102.579065,32.44266],[102.579498,32.442717],[102.580868,32.44287],[102.581255,32.442913],[102.583009,32.443174],[102.584527,32.44369],[102.586495,32.444572],[102.588311,32.445386],[102.589935,32.446262],[102.591138,32.447097],[102.592072,32.447959],[102.592622,32.448911],[102.593035,32.449211],[102.59391,32.449423],[102.59475,32.449504],[102.595746,32.44949],[102.596137,32.449205],[102.596761,32.448763],[102.598182,32.448628],[102.598772,32.448623],[102.598918,32.448621],[102.599103,32.44862],[102.599369,32.448618],[102.600517,32.448672],[102.601208,32.44862],[102.601388,32.448466],[102.601593,32.44829],[102.601913,32.448017],[102.603164,32.447034],[102.604169,32.446696],[102.606124,32.446636],[102.607959,32.446736],[102.609444,32.447056],[102.61112,32.447413],[102.612682,32.447702],[102.61341,32.447871],[102.61394,32.447994],[102.614205,32.448056],[102.614386,32.448063],[102.61501,32.448087],[102.61585,32.44812],[102.61711,32.448241],[102.618083,32.448202],[102.618222,32.448197],[102.619196,32.448167],[102.619525,32.448157],[102.620972,32.448476],[102.62145,32.448637],[102.622301,32.448924],[102.623403,32.449237],[102.624124,32.44951],[102.625067,32.450048],[102.625449,32.450087],[102.626046,32.449222],[102.626744,32.448499],[102.626755,32.448488],[102.626764,32.448476],[102.627062,32.448116],[102.627704,32.447337],[102.628138,32.446858],[102.629403,32.446785],[102.630589,32.44684],[102.631846,32.447091],[102.632531,32.447266],[102.633019,32.447665],[102.633699,32.448002],[102.634037,32.448268],[102.634595,32.448896],[102.635334,32.449916],[102.635926,32.450707],[102.636745,32.451631],[102.637417,32.452261],[102.638217,32.452438],[102.639168,32.452684],[102.640118,32.452994],[102.641417,32.453083],[102.64168,32.453283],[102.641667,32.453802],[102.642062,32.454784],[102.642086,32.455336],[102.643154,32.455518],[102.644645,32.455777],[102.645651,32.456373],[102.646926,32.45709],[102.648555,32.458134],[102.648767,32.458034],[102.651823,32.45676],[102.652817,32.456279],[102.654573,32.455181],[102.655635,32.455067],[102.656853,32.455057],[102.657613,32.454505],[102.65831,32.453353],[102.658992,32.4528],[102.659429,32.452575],[102.660497,32.452295],[102.66137,32.452311],[102.661713,32.452318],[102.662136,32.452314],[102.662891,32.452306],[102.66374,32.452888],[102.665082,32.454111],[102.666433,32.455002],[102.667513,32.455754],[102.669418,32.456488],[102.671048,32.457217],[102.672094,32.457769],[102.672349,32.458506],[102.67209,32.459433],[102.671722,32.461523],[102.671691,32.462721],[102.671317,32.463546],[102.671747,32.463587],[102.672971,32.463344],[102.673834,32.46336],[102.675509,32.46389],[102.676399,32.464406],[102.677165,32.465119],[102.678424,32.466573],[102.679419,32.467557],[102.679673,32.468394],[102.680198,32.469335],[102.680831,32.469147],[102.681996,32.468137],[102.682959,32.467322],[102.683992,32.466842],[102.685268,32.4661],[102.686659,32.465427],[102.688008,32.464885],[102.689386,32.464744],[102.691043,32.464409],[102.691914,32.464125],[102.693445,32.464153],[102.694665,32.464042],[102.696304,32.464007],[102.696354,32.464006],[102.696979,32.464118],[102.698109,32.464471],[102.699758,32.464468],[102.701285,32.464629],[102.702303,32.464747],[102.703025,32.464161],[102.70442,32.463321],[102.705694,32.462646],[102.705837,32.462569],[102.707325,32.461777],[102.707743,32.461523],[102.70796,32.461391],[102.708442,32.461098],[102.709838,32.460224],[102.711503,32.459589],[102.712851,32.459081],[102.713919,32.458767],[102.7153,32.458493],[102.715839,32.458306],[102.717122,32.45786],[102.718069,32.457644],[102.718778,32.457557],[102.718971,32.457495],[102.719038,32.45753],[102.719421,32.45773],[102.719804,32.45793],[102.720187,32.45813],[102.720484,32.458292],[102.72078,32.458455],[102.721076,32.458617],[102.721076,32.458617],[102.721076,32.458618],[102.72121,32.458703],[102.721395,32.458822],[102.721395,32.458822],[102.721396,32.458822],[102.721596,32.458976],[102.721796,32.459129],[102.722062,32.459472],[102.722308,32.459787],[102.722556,32.460105],[102.722805,32.460424],[102.723109,32.460712],[102.723414,32.461001],[102.723718,32.46129],[102.723912,32.46144],[102.724215,32.461674],[102.724518,32.461909],[102.724837,32.462175],[102.725156,32.462442],[102.725403,32.46257],[102.725651,32.462699],[102.726048,32.462863],[102.726445,32.463027],[102.726843,32.463191],[102.72724,32.463355],[102.727607,32.463443],[102.727975,32.46353],[102.728342,32.463618],[102.72871,32.463705],[102.729077,32.463793],[102.729464,32.463963],[102.729851,32.464133],[102.730127,32.464255],[102.730403,32.464376],[102.730657,32.464488],[102.731,32.464685],[102.731342,32.464883],[102.731685,32.46508],[102.732028,32.465278],[102.732315,32.465468],[102.732603,32.465659],[102.732891,32.465849],[102.733179,32.466039],[102.733517,32.466256],[102.733855,32.466472],[102.734193,32.466689],[102.734531,32.466905],[102.734654,32.466915],[102.734988,32.466867],[102.73518,32.466712],[102.735235,32.466667],[102.735514,32.466379],[102.735793,32.46609],[102.736073,32.465801],[102.736321,32.465624],[102.73657,32.465447],[102.736818,32.465269],[102.736837,32.465252],[102.737156,32.464969],[102.737474,32.464685],[102.737786,32.464479],[102.737832,32.464449],[102.737995,32.464297],[102.738357,32.46415],[102.738719,32.464002],[102.739147,32.463917],[102.739518,32.464002],[102.739651,32.464013],[102.739675,32.464012],[102.739993,32.464036],[102.740311,32.464061],[102.740352,32.464071],[102.740441,32.464079],[102.740548,32.464119],[102.740923,32.464261],[102.741298,32.464402],[102.741655,32.464535],[102.742012,32.464669],[102.742212,32.464726],[102.742335,32.464726],[102.742497,32.46464],[102.74265,32.464528],[102.742897,32.464346],[102.743145,32.464165],[102.743392,32.463983],[102.743763,32.463788],[102.744134,32.463593],[102.744553,32.463441],[102.744801,32.463384],[102.745134,32.463374],[102.745464,32.463412],[102.745794,32.46345],[102.746123,32.463488],[102.746287,32.463552],[102.746522,32.463644],[102.746823,32.463761],[102.747123,32.463879],[102.747432,32.463979],[102.747742,32.464079],[102.747973,32.464103],[102.748275,32.464136],[102.748627,32.464207],[102.748979,32.464278],[102.749179,32.464221],[102.749341,32.464155],[102.749565,32.463957],[102.749578,32.463945],[102.749807,32.463726],[102.750031,32.463655],[102.750254,32.463584],[102.750511,32.463536],[102.750768,32.463488],[102.75113,32.463469],[102.75135,32.463488],[102.751473,32.463498],[102.751787,32.463498],[102.752148,32.463403],[102.752407,32.463352],[102.752681,32.463298],[102.752986,32.463284],[102.75329,32.46327],[102.753592,32.4632],[102.753893,32.46313],[102.754272,32.463043],[102.754651,32.462955],[102.754694,32.462948],[102.755034,32.46289],[102.755375,32.462832],[102.755689,32.462784],[102.755993,32.462813],[102.756118,32.462857],[102.756498,32.462994],[102.756679,32.463003],[102.756907,32.462955],[102.757288,32.462917],[102.757592,32.462984],[102.757897,32.463051],[102.758259,32.463212],[102.758582,32.463251],[102.758968,32.46327],[102.759353,32.463289],[102.759715,32.463327],[102.760048,32.463554],[102.760077,32.463574],[102.760372,32.463815],[102.760667,32.464056],[102.760962,32.464297],[102.761238,32.464483],[102.761514,32.464669],[102.761536,32.464681],[102.761856,32.46485],[102.762132,32.464973],[102.762504,32.465059],[102.76278,32.465126],[102.763056,32.465192],[102.763408,32.465211],[102.76376,32.46523],[102.764112,32.465325],[102.764464,32.465449],[102.764693,32.465497],[102.764988,32.465516],[102.765205,32.46558],[102.765422,32.465645],[102.765422,32.465645],[102.765422,32.465645],[102.765547,32.465686],[102.765721,32.465744],[102.765721,32.465745],[102.765721,32.465745],[102.766039,32.465868],[102.766358,32.465992],[102.766625,32.466249],[102.766798,32.466407],[102.766971,32.466565],[102.767291,32.466858],[102.766968,32.467029],[102.764686,32.468174],[102.763549,32.468578],[102.762228,32.468925],[102.761659,32.469075],[102.760208,32.469527],[102.757623,32.470277],[102.755668,32.470826],[102.754269,32.471703],[102.752602,32.473318],[102.750992,32.475094],[102.750684,32.475398],[102.750094,32.47598],[102.748555,32.477438],[102.746753,32.479422],[102.745918,32.480256],[102.743611,32.482391],[102.742389,32.483696],[102.740655,32.485416],[102.740527,32.485544],[102.738793,32.487293],[102.736673,32.48943],[102.734052,32.491559],[102.733208,32.492503],[102.732184,32.493648],[102.731148,32.495009],[102.730612,32.495811],[102.729782,32.497054],[102.728646,32.498293],[102.728629,32.498311],[102.72856,32.498386],[102.728511,32.49844],[102.728492,32.49846],[102.728485,32.498468],[102.728471,32.498483],[102.728395,32.498566],[102.728367,32.498597],[102.728166,32.498816],[102.727914,32.49909],[102.726435,32.500656],[102.724504,32.502743],[102.724398,32.502835],[102.72393,32.50324],[102.723844,32.503314],[102.723843,32.503314],[102.723842,32.503315],[102.723817,32.503337],[102.723805,32.503348],[102.723691,32.503446],[102.723365,32.503728],[102.722519,32.504459],[102.722037,32.504752],[102.721877,32.504849],[102.721875,32.50485],[102.721873,32.504851],[102.721542,32.505053],[102.721438,32.505116],[102.721414,32.50513],[102.721334,32.505179],[102.72121,32.505255],[102.721208,32.505255],[102.721208,32.505256],[102.721117,32.505311],[102.721051,32.505351],[102.720993,32.505386],[102.720291,32.505904],[102.720151,32.505862],[102.720048,32.505831],[102.720017,32.505821],[102.720007,32.505818],[102.720007,32.505818],[102.720006,32.505818],[102.719977,32.505809],[102.719934,32.505796],[102.719359,32.505622],[102.71921,32.505691],[102.719204,32.505693],[102.71919,32.5057],[102.719185,32.505702],[102.718915,32.505826],[102.718782,32.506142],[102.718745,32.50632],[102.718639,32.50683],[102.718252,32.5073],[102.717491,32.507658],[102.716892,32.507487],[102.716857,32.507477],[102.7166,32.507404],[102.716496,32.507374],[102.71638,32.507319],[102.71622,32.507243],[102.716046,32.50716],[102.715942,32.507111],[102.715862,32.507073],[102.71583,32.507058],[102.715692,32.506992],[102.715631,32.506963],[102.715568,32.506933],[102.714991,32.507453],[102.714349,32.508078],[102.713785,32.508121],[102.713287,32.508006],[102.713075,32.507869],[102.713074,32.507869],[102.713073,32.507868],[102.713047,32.507852],[102.713025,32.507837],[102.712937,32.507781],[102.712847,32.507723],[102.712821,32.507706],[102.712609,32.507569],[102.712168,32.507667],[102.712118,32.507679],[102.711979,32.507714],[102.711945,32.507722],[102.711917,32.507729],[102.711916,32.507729],[102.711915,32.507729],[102.71116,32.507914],[102.710723,32.508037],[102.71031,32.508154],[102.710292,32.508174],[102.710504,32.50832],[102.71083,32.508545],[102.710882,32.50897],[102.710806,32.5095],[102.710493,32.509494],[102.710127,32.509116],[102.710063,32.509093],[102.710039,32.509084],[102.709979,32.509063],[102.709954,32.509053],[102.709887,32.509029],[102.709817,32.509004],[102.709529,32.509284],[102.709496,32.509317],[102.709494,32.50933],[102.70949,32.509363],[102.709487,32.509387],[102.709475,32.50948],[102.709417,32.509952],[102.709095,32.510318],[102.708462,32.510571],[102.708224,32.510567],[102.708024,32.510563],[102.70764,32.510325],[102.707622,32.510314],[102.707532,32.510258],[102.707499,32.510238],[102.707407,32.510181],[102.7071,32.509963],[102.70694,32.510034],[102.706669,32.510155],[102.706659,32.51016],[102.70656,32.510204],[102.706534,32.510216],[102.706532,32.510217],[102.706529,32.510218],[102.706572,32.511015],[102.706493,32.51165],[102.706044,32.512066],[102.705732,32.512007],[102.705623,32.511782],[102.705623,32.511782],[102.705622,32.511781],[102.705622,32.511781],[102.705612,32.51176],[102.70556,32.511652],[102.705536,32.511604],[102.705316,32.511151],[102.704959,32.510401],[102.704482,32.510437],[102.704444,32.51044],[102.704394,32.510444],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704323,32.510627],[102.704126,32.511129],[102.703558,32.511331],[102.70256,32.511154],[102.702492,32.511159],[102.702484,32.51116],[102.702421,32.511165],[102.702386,32.511168],[102.702384,32.511168],[102.702383,32.511168],[102.701667,32.511226],[102.701654,32.511227],[102.70162,32.51123],[102.70153,32.511237],[102.701513,32.511239],[102.701493,32.51124],[102.70036,32.511485],[102.699908,32.512007],[102.700016,32.512699],[102.700255,32.513128],[102.700242,32.513658],[102.699918,32.514077],[102.698342,32.514473],[102.697181,32.514664],[102.697136,32.514672],[102.697061,32.514684],[102.696895,32.514711],[102.696545,32.514754],[102.696356,32.514778],[102.695765,32.51485],[102.695268,32.514682],[102.695342,32.514081],[102.695344,32.514065],[102.695347,32.514047],[102.695347,32.514047],[102.695347,32.514046],[102.695447,32.513931],[102.695492,32.513878],[102.695798,32.513524],[102.695699,32.513401],[102.695663,32.513356],[102.695617,32.513298],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695495,32.513147],[102.694769,32.513134],[102.694744,32.513133],[102.69471,32.513123],[102.694688,32.513116],[102.694515,32.513064],[102.694498,32.513059],[102.694386,32.513025],[102.694049,32.512923],[102.694022,32.512914],[102.693998,32.512907],[102.693927,32.512948],[102.693926,32.512948],[102.693926,32.512948],[102.693915,32.512954],[102.693903,32.512961],[102.693362,32.513267],[102.692987,32.51326],[102.692613,32.5132],[102.692448,32.513257],[102.691931,32.513438],[102.691602,32.513553],[102.69077,32.514228],[102.690441,32.514858],[102.690046,32.514998],[102.689303,32.515262],[102.688716,32.51535],[102.688046,32.515451],[102.687724,32.515764],[102.687266,32.516551],[102.686701,32.516594],[102.686671,32.516504],[102.686655,32.516456],[102.686651,32.516445],[102.686625,32.516366],[102.686613,32.516331],[102.686606,32.51631],[102.686468,32.5159],[102.686179,32.515759],[102.686095,32.515718],[102.686083,32.515712],[102.68597,32.515657],[102.685954,32.515649],[102.685788,32.515569],[102.684905,32.515818],[102.684625,32.515951],[102.68351,32.516482],[102.68311,32.517089],[102.682923,32.517373],[102.682352,32.517681],[102.681919,32.517461],[102.681926,32.51717],[102.681929,32.517076],[102.681933,32.516899],[102.681933,32.516894],[102.681934,32.516877],[102.681434,32.516815],[102.681022,32.51715],[102.681017,32.517154],[102.680962,32.517198],[102.680957,32.517203],[102.680882,32.517263],[102.680855,32.517285],[102.680667,32.517438],[102.680585,32.518179],[102.680821,32.518767],[102.680557,32.519293],[102.680065,32.518912],[102.679507,32.51869],[102.679367,32.518942],[102.679245,32.519163],[102.679067,32.519549],[102.679013,32.519669],[102.678979,32.519741],[102.678266,32.520027],[102.678163,32.520069],[102.677981,32.520142],[102.677587,32.520299],[102.677006,32.520979],[102.676171,32.521759],[102.675023,32.522587],[102.67383,32.522671],[102.673602,32.522737],[102.67358,32.522743],[102.673464,32.522776],[102.673439,32.522784],[102.673136,32.52287],[102.673223,32.522998],[102.673237,32.523004],[102.673251,32.52301],[102.673382,32.523068],[102.673403,32.523078],[102.673758,32.523236],[102.673671,32.523595],[102.672697,32.523936],[102.67211,32.524252],[102.671554,32.524486],[102.671291,32.524597],[102.670986,32.524491],[102.670793,32.524424],[102.670553,32.524212],[102.670528,32.524189],[102.670513,32.524176],[102.670492,32.524157],[102.670432,32.524104],[102.670432,32.524104],[102.670431,32.524103],[102.670378,32.524057],[102.669892,32.523459],[102.669558,32.52293],[102.669515,32.522935],[102.669513,32.522936],[102.66951,32.522936],[102.669403,32.522951],[102.6694,32.522951],[102.669399,32.522951],[102.669367,32.522955],[102.669294,32.522965],[102.669132,32.522987],[102.668774,32.523406],[102.669075,32.523706],[102.66941,32.524202],[102.66932,32.524691],[102.669042,32.52498],[102.668617,32.525005],[102.668159,32.5248],[102.668065,32.524686],[102.668035,32.52465],[102.668012,32.524621],[102.667961,32.524559],[102.667961,32.524559],[102.667961,32.524558],[102.667951,32.524547],[102.66786,32.524435],[102.667492,32.524569],[102.667477,32.524574],[102.667431,32.524591],[102.6674,32.524619],[102.667395,32.524624],[102.66728,32.524732],[102.666917,32.525072],[102.666295,32.525224],[102.666055,32.525546],[102.665926,32.526067],[102.665566,32.526551],[102.664905,32.526735],[102.664518,32.52676],[102.664161,32.527146],[102.66307,32.527518],[102.661943,32.527824],[102.661704,32.528114],[102.66135,32.528369],[102.660922,32.528492],[102.660698,32.528418],[102.66068,32.528412],[102.660672,32.52841],[102.660566,32.528375],[102.660548,32.528369],[102.660501,32.528353],[102.66008,32.528215],[102.660071,32.528223],[102.660043,32.528249],[102.66003,32.528261],[102.659953,32.528333],[102.659942,32.528343],[102.659902,32.528379],[102.659803,32.528471],[102.659987,32.528834],[102.659938,32.529226],[102.659581,32.529579],[102.658259,32.529947],[102.657409,32.529996],[102.657263,32.52996],[102.657244,32.529955],[102.657237,32.529953],[102.65713,32.529926],[102.657123,32.529925],[102.656565,32.529784],[102.65641,32.529815],[102.656314,32.529834],[102.655669,32.529963],[102.655662,32.529965],[102.655534,32.52999],[102.655517,32.529994],[102.654879,32.53081],[102.654094,32.531286],[102.653944,32.531337],[102.653643,32.53144],[102.653072,32.531635],[102.651862,32.531816],[102.651536,32.531764],[102.650709,32.531631],[102.650693,32.531584],[102.65053,32.531097],[102.650534,32.531043],[102.650535,32.531031],[102.650536,32.531019],[102.650545,32.530898],[102.650546,32.530877],[102.650605,32.530077],[102.650322,32.529826],[102.650269,32.52985],[102.650259,32.529855],[102.650175,32.529894],[102.650146,32.529907],[102.649875,32.530032],[102.649638,32.53014],[102.649002,32.530496],[102.647929,32.530966],[102.646955,32.531316],[102.646118,32.531954],[102.645453,32.532333],[102.645388,32.532371],[102.645358,32.532387],[102.645329,32.532404],[102.645286,32.532429],[102.645275,32.532438],[102.645266,32.532445],[102.64499,32.532668],[102.645046,32.532714],[102.645294,32.532915],[102.645509,32.533089],[102.645557,32.533128],[102.64564,32.533307],[102.645627,32.533787],[102.645269,32.533806],[102.644856,32.533577],[102.644796,32.533544],[102.644769,32.533529],[102.644706,32.533494],[102.644682,32.533481],[102.644681,32.53348],[102.644681,32.53348],[102.64468,32.53348],[102.644393,32.533265],[102.644197,32.533295],[102.644196,32.533295],[102.644196,32.533295],[102.644091,32.533311],[102.64409,32.533311],[102.64408,32.533313],[102.643938,32.533334],[102.643625,32.533382],[102.643052,32.533827],[102.643167,32.534021],[102.643403,32.534187],[102.643595,32.534421],[102.643747,32.534606],[102.643747,32.534607],[102.643747,32.534607],[102.643783,32.534908],[102.643805,32.535024],[102.643814,32.535071],[102.643861,32.535323],[102.643453,32.535653],[102.643005,32.535605],[102.643002,32.535605],[102.643001,32.535604],[102.642943,32.535598],[102.642909,32.535594],[102.642891,32.535593],[102.642613,32.535562],[102.642035,32.535411],[102.641925,32.535382],[102.641818,32.535354],[102.641818,32.535354],[102.641735,32.535332],[102.641687,32.535319],[102.641299,32.535284],[102.641281,32.535282],[102.641211,32.535275],[102.641096,32.535265],[102.640967,32.535253],[102.640669,32.535225],[102.640672,32.535242],[102.640675,32.535254],[102.640694,32.535356],[102.640747,32.53564],[102.640563,32.5359],[102.640427,32.535948],[102.640397,32.535959],[102.640236,32.536015],[102.640215,32.536023],[102.64016,32.536042],[102.64012,32.536042],[102.639752,32.536035],[102.639724,32.536034],[102.63956,32.536031],[102.639527,32.536031],[102.639376,32.536028],[102.639317,32.536027],[102.638913,32.536207],[102.638812,32.536694],[102.638761,32.536728],[102.638676,32.536787],[102.638603,32.536836],[102.638587,32.536847],[102.638587,32.536848],[102.638586,32.536848],[102.638572,32.536858],[102.638505,32.536904],[102.638494,32.536911],[102.638493,32.536912],[102.638376,32.536992],[102.638376,32.536992],[102.638375,32.536993],[102.638283,32.537056],[102.638224,32.537096],[102.637999,32.537479],[102.637977,32.537517],[102.637927,32.537602],[102.637863,32.537711],[102.637853,32.537728],[102.637723,32.537886],[102.637682,32.537935],[102.637676,32.537942],[102.637616,32.538015],[102.637606,32.538026],[102.637599,32.538036],[102.637578,32.538061],[102.637513,32.538057],[102.637285,32.538045],[102.637269,32.538044],[102.637093,32.538035],[102.637073,32.538034],[102.636613,32.538009],[102.636583,32.538007],[102.636515,32.538003],[102.636483,32.538003],[102.636457,32.538002],[102.636312,32.538],[102.635849,32.537991],[102.635572,32.538437],[102.635523,32.538508],[102.635512,32.538524],[102.635443,32.538626],[102.635439,32.538632],[102.63535,32.538763],[102.635295,32.538845],[102.634716,32.538909],[102.634383,32.539042],[102.634369,32.539048],[102.63427,32.539088],[102.634269,32.539088],[102.634268,32.539088],[102.634267,32.539116],[102.634263,32.539258],[102.634261,32.539351],[102.63426,32.539366],[102.63426,32.539389],[102.634332,32.539479],[102.634336,32.539484],[102.634465,32.539644],[102.634475,32.539656],[102.634502,32.539652],[102.634853,32.539595],[102.635012,32.539569],[102.635099,32.539555],[102.635224,32.539591],[102.635234,32.539594],[102.635296,32.539612],[102.635763,32.539745],[102.635773,32.539748],[102.635803,32.539756],[102.635805,32.539763],[102.635849,32.539881],[102.635864,32.539923],[102.635927,32.540097],[102.635744,32.540319],[102.635162,32.540337],[102.635121,32.540338],[102.634989,32.540342],[102.634727,32.540324],[102.634704,32.540323],[102.634236,32.540291],[102.634144,32.540353],[102.633965,32.540473],[102.633956,32.5405],[102.633821,32.540884],[102.633902,32.541164],[102.633902,32.541164],[102.633902,32.541166],[102.633928,32.541255],[102.633928,32.541256],[102.633933,32.541275],[102.633966,32.541389],[102.633984,32.541451],[102.634002,32.541525],[102.634022,32.541607],[102.634025,32.541618],[102.634028,32.54163],[102.634043,32.541692],[102.634043,32.541694],[102.634044,32.541696],[102.634104,32.541942],[102.633512,32.542532],[102.632525,32.542927],[102.632235,32.542876],[102.632217,32.542873],[102.632135,32.542859],[102.632132,32.542858],[102.63213,32.542858],[102.632039,32.542842],[102.631989,32.54277],[102.631935,32.542694],[102.631934,32.542692],[102.631933,32.54269],[102.631826,32.542538],[102.631837,32.542473],[102.63184,32.542455],[102.631842,32.542444],[102.631869,32.542291],[102.631889,32.542171],[102.631892,32.542158],[102.63193,32.541938],[102.631845,32.541759],[102.631836,32.54174],[102.63176,32.541581],[102.631678,32.541408],[102.631678,32.541408],[102.631678,32.541407],[102.631635,32.541408],[102.630901,32.541419],[102.630886,32.541419],[102.630884,32.541419],[102.630883,32.541419],[102.630881,32.541419],[102.630813,32.54142],[102.630765,32.541421],[102.630765,32.541421],[102.630756,32.541421],[102.630568,32.541424],[102.629999,32.541316],[102.629969,32.541311],[102.62988,32.541294],[102.629861,32.54129],[102.629685,32.541257],[102.629664,32.541304],[102.629571,32.54151],[102.629563,32.541528],[102.629517,32.541628],[102.629508,32.54165],[102.62945,32.541779],[102.629441,32.541815],[102.629349,32.542228],[102.629265,32.542271],[102.62922,32.542295],[102.629207,32.542302],[102.629114,32.54235],[102.629104,32.542355],[102.629047,32.542384],[102.628719,32.542554],[102.628708,32.54261],[102.628705,32.542621],[102.628685,32.542719],[102.628655,32.54286],[102.628621,32.543023],[102.628618,32.543041],[102.628567,32.543054],[102.628128,32.543169],[102.627813,32.543251],[102.626966,32.542985],[102.626669,32.542891],[102.62662,32.542915],[102.626593,32.542927],[102.626426,32.543006],[102.626403,32.543016],[102.626329,32.543051],[102.62613,32.543144],[102.625855,32.543477],[102.62537,32.543724],[102.625351,32.543734],[102.62531,32.543755],[102.62528,32.54377],[102.625001,32.543912],[102.624776,32.544049],[102.624695,32.544097],[102.624693,32.544098],[102.624692,32.544099],[102.624691,32.5441],[102.624451,32.544246],[102.624279,32.54435],[102.622941,32.544625],[102.62239,32.545329],[102.621734,32.545806],[102.6217,32.545832],[102.621648,32.545869],[102.621587,32.545914],[102.621511,32.545969],[102.621485,32.545988],[102.62146,32.546013],[102.621385,32.546088],[102.621333,32.546139],[102.621213,32.546259],[102.621212,32.54626],[102.621211,32.546261],[102.621171,32.546301],[102.620892,32.546578],[102.620664,32.54663],[102.620648,32.546634],[102.620533,32.546661],[102.620532,32.546661],[102.62053,32.546661],[102.620412,32.546688],[102.620133,32.546752],[102.619927,32.546707],[102.619825,32.546684],[102.619653,32.546646],[102.619616,32.546638],[102.619578,32.54663],[102.619383,32.546587],[102.618569,32.547173],[102.61838,32.547621],[102.618233,32.548144],[102.618076,32.549043],[102.617824,32.550203],[102.617631,32.550764],[102.617712,32.551066],[102.618283,32.551302],[102.618628,32.551647],[102.61853,32.552021],[102.618168,32.552277],[102.617194,32.552183],[102.617168,32.552177],[102.616737,32.552072],[102.616357,32.55198],[102.616033,32.552462],[102.616057,32.553252],[102.615821,32.553774],[102.614949,32.554847],[102.614437,32.555777],[102.614384,32.55592],[102.614365,32.555971],[102.614348,32.556017],[102.614332,32.556062],[102.614149,32.556561],[102.614135,32.557124],[102.61425,32.557803],[102.614545,32.558372],[102.614831,32.559317],[102.615034,32.560035],[102.615287,32.560529],[102.615703,32.560952],[102.615734,32.560985],[102.615762,32.561012],[102.616151,32.561409],[102.616296,32.56148],[102.616302,32.561483],[102.616353,32.561508],[102.616994,32.561823],[102.617028,32.561839],[102.617147,32.56201],[102.617148,32.56201],[102.617228,32.562125],[102.617354,32.562305],[102.617369,32.562326],[102.61737,32.562328],[102.617371,32.562329],[102.617405,32.562378],[102.617435,32.562421],[102.617455,32.562449],[102.617449,32.562674],[102.617223,32.562857],[102.617187,32.562887],[102.617086,32.562968],[102.616705,32.563109],[102.616523,32.563175],[102.616504,32.563183],[102.616316,32.563555],[102.616205,32.564417],[102.616144,32.565017],[102.616011,32.565504],[102.615988,32.565587],[102.615899,32.565915],[102.6159,32.565956],[102.615901,32.566006],[102.61592,32.56678],[102.615962,32.566833],[102.616059,32.56696],[102.616069,32.566972],[102.616119,32.567038],[102.616138,32.567062],[102.616478,32.567504],[102.617125,32.568231],[102.617211,32.56852],[102.617235,32.568598],[102.617237,32.568605],[102.617303,32.568825],[102.617329,32.568911],[102.617329,32.568932],[102.61733,32.569001],[102.617331,32.56903],[102.617347,32.569889],[102.617188,32.570863],[102.617127,32.571108],[102.617046,32.571433],[102.617039,32.571461],[102.616982,32.571949],[102.617373,32.572257],[102.618068,32.572834],[102.618411,32.573291],[102.618447,32.573593],[102.618232,32.573802],[102.61822,32.573814],[102.618214,32.573818],[102.618213,32.573818],[102.618213,32.573818],[102.618204,32.573824],[102.618086,32.573899],[102.618041,32.573927],[102.617779,32.574093],[102.617618,32.574196],[102.617617,32.574197],[102.617617,32.574197],[102.617588,32.574215],[102.617564,32.574246],[102.617547,32.574268],[102.617547,32.574268],[102.617546,32.574269],[102.617128,32.574808],[102.617024,32.57537],[102.616962,32.576045],[102.616933,32.577135],[102.617007,32.57732],[102.617135,32.577638],[102.617158,32.577697],[102.617264,32.577963],[102.617266,32.577968],[102.617266,32.577979],[102.617244,32.578794],[102.617495,32.5794],[102.617835,32.579564],[102.6179,32.579595],[102.617943,32.579616],[102.618065,32.579674],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618089,32.579725],[102.618191,32.57994],[102.618139,32.580202],[102.61809,32.580389],[102.617912,32.580468],[102.617675,32.580574],[102.617655,32.580583],[102.617559,32.580625],[102.617559,32.580625],[102.617559,32.580626],[102.617533,32.580637],[102.617281,32.580749],[102.617094,32.581122],[102.617205,32.581575],[102.61721,32.581597],[102.617214,32.581612],[102.617246,32.581645],[102.61735,32.581753],[102.617388,32.581793],[102.617473,32.581881],[102.617738,32.581961],[102.617747,32.582039],[102.61777,32.582225],[102.617774,32.582262],[102.61777,32.582433],[102.617768,32.582485],[102.617767,32.582521],[102.617765,32.5826],[102.617679,32.582635],[102.617522,32.582697],[102.617414,32.582741],[102.617406,32.582744],[102.617249,32.582799],[102.617226,32.582808],[102.6166,32.583029],[102.616367,32.583438],[102.616362,32.583475],[102.616362,32.583477],[102.616361,32.583478],[102.61636,32.583488],[102.616351,32.583557],[102.616346,32.583592],[102.616342,32.583623],[102.616311,32.58385],[102.616365,32.584163],[102.616381,32.584261],[102.616384,32.584277],[102.616389,32.584305],[102.616401,32.584379],[102.616404,32.584397],[102.616407,32.584412],[102.616427,32.584529],[102.616227,32.585352],[102.616278,32.585615],[102.61628,32.585623],[102.616338,32.585925],[102.616344,32.585956],[102.616352,32.585974],[102.616478,32.586297],[102.616519,32.586401],[102.616552,32.586486],[102.616534,32.586583],[102.616514,32.586694],[102.616449,32.587048],[102.616342,32.587288],[102.616305,32.58737],[102.616298,32.587384],[102.616253,32.587485],[102.616247,32.587499],[102.616242,32.587511],[102.616241,32.587512],[102.616241,32.587512],[102.616166,32.587681],[102.616333,32.58806],[102.616396,32.588181],[102.616442,32.58827],[102.616519,32.588418],[102.616522,32.588425],[102.616564,32.588505],[102.616629,32.58863],[102.616997,32.588719],[102.616998,32.588719],[102.616999,32.58872],[102.617029,32.588727],[102.617206,32.58877],[102.617207,32.58877],[102.617208,32.588771],[102.617467,32.588833],[102.617815,32.589103],[102.617765,32.589328],[102.617676,32.589356],[102.617661,32.589361],[102.617608,32.589378],[102.617561,32.589394],[102.617546,32.589399],[102.617158,32.589524],[102.617122,32.589536],[102.617074,32.589552],[102.616999,32.589576],[102.616972,32.589585],[102.616779,32.589647],[102.616592,32.59002],[102.6166,32.5901],[102.616607,32.59016],[102.616616,32.590252],[102.61662,32.590286],[102.616627,32.590359],[102.617152,32.590885],[102.617265,32.590998],[102.617276,32.59101],[102.617339,32.591066],[102.617358,32.591082],[102.617441,32.591156],[102.617462,32.591174],[102.61797,32.591624],[102.618629,32.5919],[102.618865,32.592067],[102.619065,32.592209],[102.619144,32.592549],[102.618648,32.592833],[102.61849,32.592893],[102.618389,32.592931],[102.618246,32.592986],[102.618143,32.593025],[102.617866,32.59313],[102.617563,32.593467],[102.617771,32.593939],[102.618056,32.594319],[102.618823,32.594552],[102.619408,32.59475],[102.619447,32.594821],[102.619482,32.594884],[102.619536,32.59498],[102.619583,32.595065],[102.619583,32.595065],[102.619583,32.595066],[102.619571,32.595143],[102.619564,32.595186],[102.619539,32.595345],[102.619523,32.595354],[102.619127,32.595587],[102.619023,32.595659],[102.618996,32.595678],[102.618947,32.595711],[102.618912,32.595736],[102.61891,32.595738],[102.618908,32.595739],[102.618602,32.595951],[102.618557,32.596287],[102.618556,32.596293],[102.618919,32.596421],[102.618953,32.596433],[102.619213,32.596524],[102.619244,32.596551],[102.619282,32.596584],[102.61935,32.596645],[102.619548,32.59682],[102.619609,32.596874],[102.619648,32.596927],[102.620002,32.597411],[102.620046,32.59747],[102.62011,32.597558],[102.620125,32.597578],[102.620143,32.597602],[102.620386,32.598168],[102.620451,32.598311],[102.620462,32.598333],[102.62052,32.598459],[102.620521,32.598461],[102.620521,32.598461],[102.620541,32.598504],[102.620541,32.598505],[102.620541,32.598506],[102.62056,32.598545],[102.620145,32.598912],[102.62012,32.598941],[102.620093,32.598973],[102.619988,32.599097],[102.619979,32.599108],[102.619941,32.599153],[102.619624,32.599528],[102.619614,32.59954],[102.619574,32.599587],[102.619776,32.599746],[102.619899,32.599843],[102.619891,32.599908],[102.619889,32.599925],[102.619879,32.600015],[102.619878,32.600022],[102.619875,32.600045],[102.619852,32.600247],[102.619406,32.600395],[102.619385,32.600493],[102.619374,32.600544],[102.619357,32.600628],[102.619352,32.60065],[102.61934,32.60071],[102.619337,32.600725],[102.61933,32.600758],[102.619321,32.600799],[102.619576,32.601376],[102.619599,32.601428],[102.619655,32.601528],[102.619753,32.601704],[102.619784,32.601759],[102.619805,32.601797],[102.61981,32.601806],[102.620164,32.602357],[102.620595,32.602738],[102.620996,32.603038],[102.620927,32.603277],[102.620717,32.603433],[102.620715,32.603434],[102.620713,32.603436],[102.620627,32.6035],[102.620613,32.60351],[102.620611,32.603512],[102.620609,32.603513],[102.620366,32.603694],[102.620353,32.603704],[102.620236,32.603791],[102.620229,32.603796],[102.620124,32.603874],[102.620124,32.603875],[102.620124,32.603876],[102.620081,32.604039],[102.620076,32.604059],[102.620063,32.604105],[102.620037,32.604206],[102.620019,32.604272],[102.619949,32.604537],[102.619936,32.604566],[102.619885,32.604681],[102.619715,32.605065],[102.619722,32.605083],[102.619725,32.605092],[102.619734,32.605116],[102.619765,32.605202],[102.619773,32.605222],[102.619777,32.605235],[102.619869,32.605487],[102.619891,32.605547],[102.619896,32.605554],[102.620058,32.605784],[102.620064,32.605791],[102.620064,32.605792],[102.620065,32.605793],[102.620241,32.606042],[102.620407,32.606276],[102.620674,32.606738],[102.620675,32.606739],[102.620675,32.606739],[102.620718,32.606814],[102.620722,32.60682],[102.620723,32.606821],[102.620723,32.606822],[102.620828,32.607003],[102.621488,32.607016],[102.621904,32.607142],[102.621934,32.607151],[102.622028,32.607179],[102.62203,32.60718],[102.622031,32.60718],[102.62205,32.607186],[102.62205,32.607187],[102.62205,32.607188],[102.622056,32.607288],[102.622056,32.607289],[102.622056,32.60729],[102.622058,32.60732],[102.622072,32.607559],[102.621903,32.607706],[102.621892,32.607716],[102.621809,32.607789],[102.621802,32.607795],[102.621774,32.607819],[102.621653,32.607924],[102.621549,32.608132],[102.62152,32.608188],[102.621798,32.608406],[102.622085,32.60853],[102.622103,32.608538],[102.62212,32.608545],[102.622575,32.608741],[102.623239,32.608937],[102.623824,32.609111],[102.624476,32.609443],[102.625058,32.609693],[102.625316,32.609805],[102.6257,32.610144],[102.626085,32.610485],[102.626103,32.610498],[102.626128,32.610517],[102.62614,32.610526],[102.626181,32.610556],[102.626207,32.610575],[102.626208,32.610576],[102.626208,32.610576],[102.626225,32.610588],[102.626455,32.610758],[102.626729,32.610703],[102.626824,32.610684],[102.62685,32.610678],[102.627056,32.610636],[102.627375,32.610483],[102.627402,32.61047],[102.627463,32.61044],[102.627524,32.610411],[102.627534,32.610406],[102.628151,32.610442],[102.628191,32.610445],[102.628193,32.610445],[102.628194,32.610445],[102.628207,32.610464],[102.628234,32.610503],[102.628258,32.610537],[102.628436,32.610796],[102.628396,32.611017],[102.628373,32.61114],[102.628373,32.611142],[102.628372,32.611145],[102.628363,32.611194],[102.628333,32.611245],[102.628327,32.611257],[102.628317,32.611274],[102.628165,32.611536],[102.627812,32.611823],[102.627149,32.611975],[102.627071,32.611993],[102.627054,32.611997],[102.627017,32.612006],[102.626968,32.612017],[102.626966,32.612017],[102.626965,32.612018],[102.626957,32.612019],[102.626769,32.612071],[102.626761,32.612073],[102.626749,32.612076],[102.626707,32.612088],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.62666,32.612101],[102.626415,32.612168],[102.626406,32.612171],[102.626355,32.612185],[102.626338,32.61219],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626309,32.612255],[102.626302,32.612287],[102.626252,32.612512],[102.626312,32.612569],[102.625465,32.612859],[102.624053,32.613234],[102.623637,32.613392],[102.623002,32.613632],[102.621617,32.614163],[102.620392,32.614882],[102.619166,32.615647],[102.61789,32.616226],[102.617115,32.616743],[102.616607,32.617083],[102.615944,32.617552],[102.615944,32.617552],[102.615932,32.61756],[102.615859,32.617612],[102.615854,32.617616],[102.615852,32.617617],[102.615849,32.617619],[102.615713,32.617715],[102.614268,32.618476],[102.613601,32.618651],[102.61344,32.618693],[102.613437,32.618693],[102.613434,32.618693],[102.613217,32.618688],[102.613205,32.618688],[102.613203,32.618688],[102.613201,32.618688],[102.613188,32.618688],[102.612932,32.618683],[102.611947,32.618664],[102.611765,32.618661],[102.61174,32.61866],[102.611682,32.618659],[102.61147,32.618655],[102.611469,32.618655],[102.611467,32.618655],[102.61119,32.618646],[102.611136,32.618644],[102.611033,32.618641],[102.608017,32.618543],[102.606769,32.618055],[102.606245,32.617966],[102.606222,32.617962],[102.606214,32.617961],[102.606199,32.617958],[102.606198,32.617958],[102.605241,32.617794],[102.603269,32.617757],[102.602074,32.617363],[102.602038,32.617348],[102.601474,32.617115],[102.60143,32.617097],[102.601357,32.617067],[102.601329,32.617056],[102.600466,32.6167],[102.600068,32.616536],[102.597516,32.615606],[102.595497,32.615288],[102.595396,32.615221],[102.595355,32.615193],[102.582898,32.606836],[102.582228,32.607287],[102.581482,32.608525],[102.58152,32.609175],[102.581008,32.609861],[102.57961,32.610901],[102.578108,32.611707],[102.576709,32.612793],[102.575478,32.613697],[102.573846,32.615289],[102.573049,32.616387],[102.571868,32.617478],[102.571581,32.617982],[102.571601,32.618039],[102.57126,32.617698],[102.569487,32.616365],[102.568248,32.615552],[102.566533,32.614127],[102.564395,32.612091],[102.563974,32.611707],[102.563718,32.611475],[102.562416,32.61029],[102.562163,32.610092],[102.561452,32.609536],[102.561153,32.609302],[102.560591,32.608863],[102.558981,32.607625],[102.557963,32.606542],[102.557915,32.606495],[102.556955,32.605545],[102.555829,32.604595],[102.554367,32.603963],[102.552908,32.603193],[102.551884,32.60257],[102.551303,32.60177],[102.550905,32.600277],[102.550447,32.59897],[102.550293,32.598595],[102.550069,32.596782],[102.549878,32.595711],[102.549407,32.594913],[102.548332,32.59415],[102.54731,32.593434],[102.546462,32.592397],[102.545948,32.591135],[102.545921,32.590114],[102.545678,32.588996],[102.54536,32.587976],[102.544673,32.5867],[102.543554,32.585416],[102.542467,32.584703],[102.54218,32.584338],[102.541791,32.583844],[102.541491,32.583462],[102.540609,32.582305],[102.539476,32.581509],[102.537194,32.580568],[102.536107,32.579855],[102.535204,32.579471],[102.534077,32.578471],[102.532809,32.577347],[102.531688,32.576144],[102.531133,32.575374],[102.530854,32.574988],[102.530168,32.573712],[102.529045,32.572591],[102.527781,32.571344],[102.526843,32.570471],[102.526094,32.569723],[102.5254,32.568732],[102.523355,32.569669],[102.522416,32.570587],[102.521822,32.571186],[102.521015,32.571679],[102.520208,32.572172],[102.519256,32.572703],[102.518304,32.573234],[102.517669,32.573588],[102.517034,32.573942],[102.516473,32.574236],[102.515912,32.57453],[102.515348,32.57403],[102.514792,32.573286],[102.514165,32.571605],[102.513242,32.568451],[102.51295,32.567733],[102.512657,32.567015],[102.512405,32.566541],[102.512154,32.566068],[102.511419,32.564832],[102.510436,32.563876],[102.50877,32.563232],[102.507486,32.562718],[102.506481,32.562576],[102.504697,32.562744],[102.503587,32.562885],[102.502444,32.562496],[102.501691,32.561911],[102.500606,32.561157],[102.500186,32.560653],[102.499293,32.559765],[102.49861,32.559286],[102.497559,32.558799],[102.496792,32.55869],[102.496292,32.558183],[102.495354,32.557636],[102.494116,32.557301],[102.492686,32.557272],[102.491842,32.557256],[102.489647,32.557056],[102.487423,32.556546],[102.486081,32.555991],[102.485368,32.555262],[102.484481,32.554188],[102.483219,32.553417],[102.481977,32.553206],[102.480878,32.553153],[102.479813,32.553193],[102.478815,32.553484],[102.477734,32.554084],[102.476735,32.554374],[102.475829,32.553983],[102.474416,32.553365],[102.47367,32.55248],[102.473065,32.551846],[102.472159,32.551424],[102.471013,32.550438],[102.470299,32.54974],[102.468744,32.548963],[102.467287,32.548592],[102.46605,32.548225],[102.4643,32.547848],[102.463179,32.547266],[102.460086,32.546365],[102.459078,32.546094],[102.458958,32.546062],[102.457791,32.545821],[102.456446,32.54539],[102.455121,32.54555],[102.454127,32.545685],[102.453052,32.546067],[102.452302,32.546642],[102.451482,32.547123],[102.451184,32.547272],[102.450201,32.54573],[102.449856,32.544946],[102.449447,32.54385],[102.448991,32.543126],[102.448533,32.542433],[102.448003,32.541739],[102.446959,32.53973],[102.446332,32.538567],[102.445894,32.537191],[102.445777,32.536164],[102.445949,32.535266],[102.446018,32.534118],[102.446146,32.532194],[102.445887,32.530977],[102.445242,32.530436],[102.444486,32.529924],[102.443733,32.529318],[102.443353,32.528502],[102.44224,32.526367],[102.441493,32.525544],[102.440397,32.524124],[102.439554,32.522802],[102.438827,32.521264],[102.438334,32.520571],[102.437275,32.51912],[102.436642,32.518175],[102.436476,32.51755],[102.43655,32.516247],[102.436475,32.515003],[102.436284,32.514005],[102.435728,32.512906],[102.434672,32.511362],[102.433868,32.510285],[102.433824,32.510227],[102.43312,32.509575],[102.432931,32.509401],[102.432183,32.50864],[102.431598,32.508597],[102.430677,32.508733],[102.429867,32.508841],[102.429025,32.508824],[102.428243,32.509243],[102.427608,32.509634],[102.426945,32.509744],[102.426506,32.509704],[102.425981,32.508855],[102.425522,32.508224],[102.425108,32.507315],[102.424621,32.506404],[102.423749,32.504832],[102.423334,32.503954],[102.422733,32.503165],[102.421837,32.502463],[102.420953,32.501327],[102.419839,32.500527],[102.419134,32.499549],[102.418382,32.498912],[102.417991,32.498501],[102.41708,32.498295],[102.416129,32.498214],[102.415415,32.497547],[102.414671,32.49663],[102.414039,32.495654],[102.413291,32.494893],[102.412626,32.493823],[102.412076,32.492538],[102.411555,32.491533],[102.4104,32.490262],[102.410346,32.490203],[102.409793,32.490316],[102.408235,32.490968],[102.406641,32.491587],[102.404943,32.492018],[102.403426,32.492484],[102.401838,32.492886],[102.39955,32.493429],[102.398591,32.493627],[102.39755,32.494134],[102.396198,32.495255],[102.395597,32.495771],[102.394946,32.49672],[102.39345,32.49902],[102.392357,32.500053],[102.39145,32.500998],[102.390805,32.501761],[102.388941,32.502841],[102.387068,32.5042],[102.38572,32.505197],[102.385074,32.50596],[102.383365,32.506733],[102.382615,32.507307],[102.382738,32.508149],[102.383064,32.509554],[102.383438,32.510556],[102.383621,32.511833],[102.383698,32.512953],[102.383724,32.5146],[102.383657,32.515655],[102.383771,32.516776],[102.383332,32.51801],[102.382852,32.519367],[102.382207,32.52013],[102.381558,32.521017],[102.380539,32.522021],[102.379417,32.522775],[102.378211,32.523868],[102.377822,32.524668],[102.377871,32.525476],[102.377972,32.527063],[102.377631,32.528702],[102.377549,32.530254],[102.377136,32.531861],[102.376584,32.533185],[102.376016,32.533795],[102.37504,32.534551],[102.373334,32.535199],[102.372542,32.535959],[102.372117,32.536696],[102.371844,32.537249],[102.371856,32.538088],[102.372261,32.539308],[102.373035,32.540443],[102.373745,32.541235],[102.374962,32.542285],[102.37572,32.542705],[102.374689,32.543243],[102.373359,32.543588],[102.37271,32.54403],[102.371856,32.544799],[102.371485,32.545785],[102.370863,32.547015],[102.370621,32.548584],[102.370768,32.550244],[102.371133,32.551163],[102.371114,32.551825],[102.371143,32.552489],[102.371367,32.553198],[102.371336,32.554274],[102.37106,32.555345],[102.371419,32.55643],[102.371835,32.557267],[102.372095,32.558432],[102.371833,32.559007],[102.371375,32.559618],[102.370662,32.560597],[102.36994,32.561866],[102.369078,32.562925],[102.367625,32.564096],[102.366579,32.564737],[102.36504,32.565492],[102.363617,32.565669],[102.362341,32.565808],[102.361909,32.565818],[102.360432,32.565851],[102.358537,32.565397],[102.3566,32.564735],[102.354179,32.563897],[102.352248,32.563027],[102.349503,32.561313],[102.349447,32.561278],[102.349438,32.561272],[102.349333,32.561206],[102.348553,32.561079],[102.347883,32.561673],[102.34695,32.562316],[102.345982,32.56263],[102.34583,32.56268],[102.345486,32.562374],[102.345415,32.56231],[102.345399,32.562296],[102.345385,32.562283],[102.345343,32.562247],[102.345548,32.561984],[102.345821,32.561634],[102.346003,32.56141],[102.346041,32.561381],[102.348367,32.558314],[102.348425,32.558238],[102.348522,32.558109],[102.348583,32.558026],[102.348666,32.557914],[102.348749,32.557802],[102.348847,32.55767],[102.348932,32.557554],[102.349038,32.557411],[102.349142,32.557271],[102.349231,32.55715],[102.349318,32.557032],[102.349418,32.556897],[102.349512,32.556771],[102.349695,32.556553],[102.349703,32.55654],[102.349759,32.556404],[102.349798,32.556311],[102.349878,32.556201],[102.349989,32.555919],[102.35,32.555883],[102.349991,32.555878],[102.349991,32.555878],[102.349987,32.555876],[102.349986,32.555876],[102.349925,32.555861],[102.349923,32.55586],[102.349919,32.55586],[102.349823,32.555859],[102.349894,32.555709],[102.346816,32.55505],[102.34683,32.554943],[102.346801,32.554847],[102.346762,32.554785],[102.346736,32.55474],[102.346714,32.554735],[102.346683,32.554727],[102.346649,32.554718],[102.346591,32.554702],[102.345877,32.554516],[102.34583,32.554504],[102.345829,32.554503],[102.345826,32.554502],[102.345758,32.554485],[102.345357,32.55438],[102.344319,32.554218],[102.343833,32.554143],[102.341371,32.55376],[102.340766,32.553666],[102.340686,32.553653],[102.340656,32.553649],[102.340496,32.553624],[102.34042,32.553612],[102.340021,32.553555],[102.33868,32.553364],[102.3386,32.553352],[102.33851,32.553287],[102.338472,32.553259],[102.338364,32.553181],[102.338258,32.553062],[102.338165,32.553037],[102.337747,32.552734],[102.337578,32.552612],[102.336849,32.552441],[102.336695,32.552405],[102.336584,32.552379],[102.33656,32.552374],[102.336436,32.552345],[102.336378,32.552331],[102.336358,32.552326],[102.33634,32.552322],[102.336023,32.552248],[102.334344,32.551659],[102.333546,32.55214],[102.332677,32.55284],[102.331867,32.553762],[102.33093,32.553798],[102.329113,32.553464],[102.329052,32.553474],[102.328977,32.553487],[102.328755,32.553524],[102.32853,32.553583],[102.328214,32.553667],[102.328045,32.553776],[102.327067,32.554405],[102.327033,32.554427],[102.326996,32.554451],[102.326831,32.554874],[102.326793,32.554865],[102.32676,32.554848],[102.326524,32.555242],[102.326171,32.555833],[102.325323,32.558026],[102.324932,32.559491],[102.324613,32.559874],[102.324574,32.559872],[102.324288,32.559863],[102.324067,32.559862],[102.32406,32.559863],[102.324016,32.559867],[102.323856,32.559882],[102.32385,32.559884],[102.323706,32.559915],[102.323697,32.559917],[102.323552,32.559976],[102.323525,32.559977],[102.323031,32.560192],[102.322969,32.560219],[102.322555,32.560398],[102.322485,32.560433],[102.322418,32.560466],[102.321407,32.560963],[102.319668,32.560926],[102.318094,32.561187],[102.31669,32.5616],[102.314074,32.561765],[102.312079,32.561575],[102.310799,32.560737],[102.309784,32.559757],[102.307993,32.55854],[102.306281,32.557619],[102.304401,32.556473],[102.302954,32.555411],[102.302104,32.554729],[102.301324,32.554639],[102.300189,32.554762],[102.298365,32.554649],[102.296448,32.554755],[102.294988,32.554134],[102.293699,32.553591],[102.29276,32.552991],[102.292504,32.552828],[102.292411,32.552783],[102.290274,32.551748],[102.289186,32.551087],[102.289115,32.551044],[102.289111,32.551039],[102.289096,32.551032],[102.289086,32.551026],[102.288978,32.55096],[102.2884,32.550609],[102.288414,32.550606],[102.288469,32.550587],[102.28855,32.55056],[102.288645,32.550496],[102.288745,32.550402],[102.288845,32.550276],[102.288937,32.550067],[102.28903,32.549859],[102.289039,32.549804],[102.289077,32.549568],[102.289077,32.549557],[102.28908,32.54948],[102.289081,32.549434],[102.289085,32.54931],[102.289093,32.549052],[102.289101,32.548794],[102.289109,32.548536],[102.289133,32.54839],[102.28915,32.548296],[102.28916,32.548245],[102.289175,32.548166],[102.289178,32.548149],[102.289221,32.547987],[102.28928,32.54785],[102.289303,32.547796],[102.289345,32.547706],[102.289386,32.547619],[102.289411,32.547564],[102.289487,32.547397],[102.28953,32.54725],[102.289573,32.547074],[102.289619,32.546864],[102.289623,32.546706],[102.289624,32.546653],[102.289617,32.546281],[102.289617,32.546281],[102.289617,32.546281],[102.289607,32.545957],[102.289607,32.545957],[102.2896,32.545586],[102.2896,32.545586],[102.2896,32.545586],[102.289626,32.545359],[102.289635,32.545332],[102.289667,32.545241],[102.28971,32.545118],[102.289751,32.544979],[102.289758,32.544954],[102.289779,32.544881],[102.289848,32.544644],[102.289918,32.544406],[102.289987,32.544169],[102.290056,32.543938],[102.290058,32.543929],[102.290092,32.543816],[102.290124,32.543711],[102.290191,32.543486],[102.290198,32.543463],[102.290193,32.543306],[102.290188,32.543155],[102.290166,32.542956],[102.290157,32.542879],[102.290115,32.542721],[102.290088,32.54262],[102.29002,32.542495],[102.289962,32.54239],[102.289864,32.54229],[102.28972,32.542143],[102.289495,32.541959],[102.28935,32.541812],[102.289348,32.541811],[102.289333,32.541784],[102.289308,32.541738],[102.289275,32.541679],[102.28928,32.54155],[102.28928,32.541534],[102.289411,32.541302],[102.289542,32.54107],[102.289565,32.541044],[102.28976,32.540832],[102.289841,32.540751],[102.289997,32.540595],[102.29006,32.540515],[102.290166,32.54038],[102.290335,32.540165],[102.290613,32.539815],[102.290782,32.539617],[102.29087,32.539513],[102.291002,32.539234],[102.291014,32.539208],[102.291158,32.538904],[102.291228,32.538686],[102.291285,32.538512],[102.291411,32.53812],[102.291443,32.537688],[102.291444,32.537673],[102.291473,32.537281],[102.291475,32.537256],[102.291482,32.537162],[102.291498,32.536943],[102.291507,32.536823],[102.291539,32.536391],[102.291543,32.53619],[102.291544,32.536135],[102.291545,32.536106],[102.29155,32.53588],[102.291551,32.535845],[102.291552,32.535791],[102.291556,32.535646],[102.291556,32.535635],[102.291556,32.535624],[102.291557,32.535586],[102.291558,32.535548],[102.29156,32.535457],[102.291561,32.535431],[102.291561,32.535421],[102.291562,32.535369],[102.291568,32.535128],[102.291568,32.535113],[102.291571,32.534988],[102.291574,32.534858],[102.291576,32.534775],[102.291577,32.534741],[102.29158,32.534602],[102.291585,32.534369],[102.291586,32.534347],[102.291587,32.534278],[102.291591,32.534095],[102.291591,32.534091],[102.291593,32.534041],[102.291597,32.533836],[102.2916,32.533667],[102.291601,32.533607],[102.291603,32.533474],[102.291604,32.533377],[102.291607,32.533202],[102.291608,32.533148],[102.291608,32.533143],[102.291611,32.532919],[102.291615,32.53269],[102.291618,32.532461],[102.291606,32.532234],[102.291594,32.532007],[102.2916,32.5318],[102.291606,32.531603],[102.291693,32.531281],[102.291856,32.530929],[102.291958,32.530728],[102.29206,32.530528],[102.292179,32.530385],[102.292181,32.530384],[102.292182,32.530383],[102.292266,32.530315],[102.292316,32.530275],[102.292329,32.530268],[102.292334,32.530266],[102.292363,32.53025],[102.292381,32.530241],[102.292429,32.530215],[102.29255,32.530151],[102.292693,32.530093],[102.292867,32.530023],[102.292988,32.529974],[102.293019,32.529961],[102.293185,32.529894],[102.293198,32.529882],[102.293227,32.529854],[102.293283,32.529803],[102.293323,32.529766],[102.293335,32.529728],[102.29336,32.529658],[102.293427,32.529462],[102.293358,32.529217],[102.293284,32.528984],[102.29327,32.528941],[102.293276,32.528885],[102.293287,32.528783],[102.293297,32.528699],[102.293526,32.52838],[102.293617,32.528253],[102.293646,32.528213],[102.293756,32.52806],[102.293755,32.528047],[102.293754,32.528022],[102.293746,32.52777],[102.2936,32.527508],[102.293413,32.527382],[102.293225,32.527256],[102.292904,32.527136],[102.292579,32.527113],[102.292176,32.527136],[102.291888,32.527196],[102.291654,32.52732],[102.291325,32.527442],[102.291077,32.527428],[102.290834,32.527415],[102.290829,32.527414],[102.290694,32.527395],[102.29058,32.527378],[102.290573,32.527377],[102.290447,32.527359],[102.29019,32.527312],[102.289934,32.527266],[102.289834,32.527264],[102.289666,32.527261],[102.289398,32.527255],[102.289158,32.527298],[102.288918,32.527341],[102.288762,32.527395],[102.288754,32.527398],[102.288674,32.527425],[102.288608,32.527448],[102.288592,32.527453],[102.28853,32.527475],[102.28833,32.527544],[102.288299,32.527555],[102.288066,32.527687],[102.288017,32.527715],[102.287832,32.52782],[102.287531,32.527943],[102.287231,32.528066],[102.286942,32.528141],[102.28688,32.528137],[102.286713,32.528128],[102.286645,32.528124],[102.286485,32.528114],[102.286484,32.528114],[102.286484,32.528114],[102.286415,32.528068],[102.286346,32.528022],[102.286183,32.527914],[102.286152,32.527884],[102.285979,32.527715],[102.285893,32.527406],[102.285882,32.527132],[102.285884,32.527047],[102.285889,32.526855],[102.285856,32.526676],[102.285856,32.526675],[102.285855,32.526673],[102.285855,32.526673],[102.285847,32.526658],[102.285766,32.526496],[102.285504,32.52633],[102.285296,32.526214],[102.285087,32.526098],[102.284958,32.525966],[102.284809,32.525784],[102.284718,32.525619],[102.284717,32.525617],[102.28468,32.52555],[102.284665,32.525522],[102.284656,32.525453],[102.284639,32.525333],[102.284635,32.525304],[102.284633,32.525287],[102.284602,32.525053],[102.284611,32.524729],[102.284548,32.524322],[102.284436,32.524207],[102.284286,32.524139],[102.284056,32.524134],[102.283644,32.524115],[102.28349,32.524142],[102.283199,32.52425],[102.283117,32.524298],[102.282927,32.524406],[102.2829,32.52443],[102.282726,32.52458],[102.282672,32.524628],[102.282626,32.524697],[102.282432,32.524994],[102.28231,32.525243],[102.282187,32.525491],[102.281985,32.525843],[102.281807,32.526001],[102.281711,32.526047],[102.281622,32.526062],[102.281542,32.526075],[102.281268,32.526119],[102.281229,32.526115],[102.281124,32.526105],[102.28104,32.526098],[102.280778,32.526024],[102.280517,32.52595],[102.280255,32.525876],[102.279993,32.525803],[102.279731,32.525729],[102.279469,32.525655],[102.279207,32.525582],[102.278945,32.525508],[102.278684,32.525434],[102.278422,32.52536],[102.278187,32.525303],[102.278015,32.525261],[102.277989,32.525255],[102.277952,32.525246],[102.277718,32.525189],[102.277483,32.525132],[102.277248,32.525075],[102.277143,32.525049],[102.277244,32.524826]]]]},"properties":{"cp":[102.40058259505227,32.42604846213644],"code":"513233105","name":"龙日镇","level":"street","center":[102.40058259505227,32.42604846213644],"fullCode":"513233105000","fullName":"四川省阿坝藏族羌族自治州红原县龙日镇","acreageMu":967058.51,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.484,32.3605]}},{"id":"513233202","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.164139,32.32538],[102.164223,32.325168],[102.164246,32.325109],[102.164401,32.324716],[102.164763,32.323798],[102.165261,32.322312],[102.16556,32.321436],[102.165852,32.320752],[102.165879,32.319908],[102.165875,32.318564],[102.166,32.317454],[102.16583,32.315684],[102.165822,32.315506],[102.165819,32.31544],[102.165725,32.313225],[102.165894,32.312154],[102.166521,32.310901],[102.167013,32.309607],[102.167377,32.308079],[102.167576,32.307548],[102.168019,32.306366],[102.168943,32.304276],[102.169317,32.303862],[102.169594,32.303676],[102.169845,32.303446],[102.16988,32.303412],[102.169881,32.303412],[102.170149,32.303418],[102.170447,32.303456],[102.170666,32.303588],[102.170876,32.303971],[102.171014,32.304353],[102.171151,32.304735],[102.171234,32.304987],[102.171316,32.30524],[102.171399,32.305492],[102.171482,32.305744],[102.171565,32.305997],[102.171647,32.306249],[102.17173,32.306501],[102.171761,32.306596],[102.171761,32.306597],[102.171813,32.306754],[102.171896,32.307006],[102.171978,32.307258],[102.172061,32.307511],[102.172144,32.307763],[102.172227,32.308015],[102.17231,32.308268],[102.172392,32.30852],[102.172475,32.308772],[102.172542,32.309035],[102.172609,32.309297],[102.172676,32.309559],[102.172743,32.309821],[102.172809,32.310084],[102.172876,32.310346],[102.172943,32.310608],[102.17301,32.31087],[102.173077,32.311132],[102.173144,32.311395],[102.173147,32.31153],[102.173149,32.311626],[102.173154,32.311858],[102.173159,32.31209],[102.173162,32.312223],[102.173164,32.312322],[102.173169,32.312553],[102.173174,32.312785],[102.173174,32.312789],[102.173149,32.313195],[102.173135,32.313427],[102.173124,32.313604],[102.173099,32.314014],[102.173089,32.314313],[102.17308,32.314613],[102.173092,32.314845],[102.173103,32.315054],[102.173243,32.315374],[102.173448,32.315537],[102.173654,32.315699],[102.17386,32.315862],[102.174066,32.316024],[102.174272,32.316187],[102.174442,32.316321],[102.174477,32.316349],[102.174659,32.316489],[102.174841,32.316629],[102.175022,32.316768],[102.175204,32.316908],[102.175386,32.317048],[102.175567,32.317188],[102.175749,32.317328],[102.175931,32.317467],[102.176112,32.317607],[102.176294,32.317747],[102.176508,32.317907],[102.176722,32.318068],[102.176937,32.318228],[102.177151,32.318388],[102.177365,32.318549],[102.17758,32.318709],[102.177807,32.318848],[102.178035,32.318988],[102.178263,32.319127],[102.178491,32.319266],[102.178762,32.319381],[102.178804,32.319399],[102.179102,32.319526],[102.179117,32.319532],[102.179485,32.319666],[102.179852,32.319801],[102.18013,32.319854],[102.180408,32.319908],[102.180502,32.319915],[102.180705,32.319931],[102.180802,32.319938],[102.181002,32.319953],[102.181411,32.319931],[102.181646,32.319857],[102.181881,32.319783],[102.182116,32.319709],[102.182314,32.319647],[102.182351,32.319636],[102.18258,32.31957],[102.182766,32.319517],[102.18281,32.319504],[102.18304,32.319438],[102.18327,32.319373],[102.1835,32.319307],[102.183729,32.319241],[102.183959,32.319176],[102.184189,32.31911],[102.18446,32.31906],[102.184732,32.319011],[102.185003,32.318961],[102.185223,32.318921],[102.185275,32.318912],[102.18561,32.318888],[102.185791,32.318875],[102.185946,32.318864],[102.186261,32.318887],[102.186577,32.31891],[102.186809,32.318957],[102.186836,32.318963],[102.187094,32.319015],[102.187309,32.31913],[102.187388,32.319173],[102.187524,32.319246],[102.187739,32.319361],[102.187954,32.319476],[102.188311,32.319699],[102.188668,32.319923],[102.188859,32.320043],[102.189051,32.320163],[102.189272,32.320247],[102.189493,32.32033],[102.189806,32.320432],[102.190119,32.320534],[102.190509,32.320542],[102.190899,32.320551],[102.191218,32.320479],[102.191536,32.320407],[102.191744,32.320291],[102.191953,32.320174],[102.192161,32.320058],[102.192369,32.319941],[102.192577,32.319825],[102.192786,32.319708],[102.192987,32.319574],[102.193188,32.319439],[102.193335,32.319342],[102.19339,32.319305],[102.193591,32.319171],[102.193793,32.319036],[102.193994,32.318902],[102.194001,32.318897],[102.194195,32.318767],[102.194397,32.318633],[102.194598,32.318499],[102.194799,32.318364],[102.194991,32.318175],[102.195183,32.317986],[102.195375,32.317797],[102.195567,32.317608],[102.195759,32.317419],[102.195951,32.31723],[102.196143,32.317041],[102.196335,32.316852],[102.196538,32.316678],[102.196742,32.316504],[102.196945,32.31633],[102.197149,32.316155],[102.197352,32.315981],[102.197556,32.315807],[102.197925,32.315602],[102.198295,32.315397],[102.198664,32.315192],[102.199033,32.314987],[102.199385,32.314847],[102.199736,32.314707],[102.200087,32.314567],[102.200306,32.314499],[102.200526,32.31443],[102.200745,32.314361],[102.200964,32.314293],[102.201183,32.314224],[102.201403,32.314155],[102.201644,32.314107],[102.201884,32.314059],[102.202125,32.31401],[102.202366,32.313962],[102.202607,32.313914],[102.202848,32.313866],[102.203088,32.313818],[102.203329,32.31377],[102.203579,32.313723],[102.203828,32.313676],[102.204078,32.313629],[102.204327,32.313582],[102.204576,32.313535],[102.204826,32.313488],[102.205237,32.313444],[102.205648,32.3134],[102.20602,32.313361],[102.206058,32.313357],[102.206288,32.31333],[102.206518,32.313304],[102.206748,32.313277],[102.206978,32.313251],[102.207208,32.313225],[102.207438,32.313198],[102.207863,32.313113],[102.208288,32.313027],[102.208712,32.312942],[102.209126,32.312793],[102.20954,32.312644],[102.209953,32.312495],[102.210367,32.312347],[102.210758,32.312145],[102.211149,32.311944],[102.211539,32.311742],[102.21193,32.31153],[102.212321,32.311318],[102.212712,32.311105],[102.213038,32.310797],[102.213365,32.310489],[102.213616,32.310155],[102.213756,32.309971],[102.213868,32.309821],[102.21412,32.309487],[102.214371,32.309153],[102.214513,32.308931],[102.214654,32.308708],[102.214795,32.308485],[102.214936,32.308263],[102.215037,32.308036],[102.215137,32.307809],[102.215237,32.307583],[102.215337,32.307356],[102.215384,32.307025],[102.215432,32.306695],[102.215329,32.306393],[102.215227,32.306091],[102.215127,32.305694],[102.215027,32.305298],[102.215004,32.304887],[102.215051,32.304541],[102.215224,32.304356],[102.215397,32.30417],[102.215602,32.304009],[102.215807,32.303847],[102.216012,32.303686],[102.216217,32.303525],[102.216422,32.303363],[102.216627,32.303202],[102.216832,32.303041],[102.217037,32.302879],[102.21723,32.302764],[102.217423,32.302648],[102.217616,32.302532],[102.217809,32.302417],[102.218003,32.302301],[102.218196,32.302185],[102.218389,32.30207],[102.218582,32.301954],[102.218637,32.301921],[102.218775,32.301838],[102.218969,32.301723],[102.21927,32.301635],[102.219604,32.301642],[102.219939,32.30165],[102.220196,32.30175],[102.220235,32.301766],[102.220453,32.301851],[102.220471,32.301866],[102.220635,32.301997],[102.220763,32.3021],[102.220817,32.302143],[102.220973,32.302364],[102.221129,32.302584],[102.221285,32.302804],[102.221441,32.303025],[102.221597,32.303245],[102.221753,32.303465],[102.221797,32.303528],[102.221799,32.303531],[102.221909,32.303686],[102.222065,32.303906],[102.222204,32.304209],[102.222343,32.304511],[102.22248,32.304925],[102.222492,32.304998],[102.222543,32.305305],[102.222456,32.305682],[102.222299,32.305995],[102.222177,32.306307],[102.222073,32.306598],[102.222054,32.306652],[102.222007,32.306998],[102.222069,32.30741],[102.222191,32.307665],[102.222313,32.30792],[102.222602,32.308211],[102.222891,32.308502],[102.22318,32.308792],[102.223365,32.30897],[102.223371,32.308976],[102.223507,32.309106],[102.22355,32.309147],[102.223707,32.309298],[102.223736,32.309325],[102.223921,32.309503],[102.224106,32.30968],[102.224167,32.309738],[102.224292,32.309858],[102.224477,32.310035],[102.224662,32.310213],[102.224901,32.310561],[102.22514,32.310909],[102.225379,32.311257],[102.225455,32.311511],[102.225531,32.311765],[102.225608,32.31202],[102.225684,32.312274],[102.225709,32.312546],[102.225721,32.312675],[102.22575,32.312987],[102.225758,32.313075],[102.225761,32.313099],[102.225796,32.313476],[102.225813,32.31374],[102.225819,32.313846],[102.225829,32.314003],[102.225833,32.314065],[102.225846,32.314266],[102.225861,32.3145],[102.225863,32.31453],[102.225872,32.314667],[102.22588,32.314793],[102.225896,32.315057],[102.225911,32.315172],[102.225931,32.315331],[102.225966,32.315605],[102.226001,32.31588],[102.226036,32.316154],[102.226072,32.316429],[102.226096,32.316619],[102.226107,32.316703],[102.226141,32.316878],[102.226155,32.316946],[102.226203,32.317189],[102.226252,32.317432],[102.2263,32.317675],[102.226348,32.317918],[102.226375,32.318049],[102.226397,32.318162],[102.226432,32.318253],[102.226518,32.318474],[102.226539,32.318529],[102.226627,32.318667],[102.226682,32.318754],[102.226926,32.318907],[102.226977,32.31894],[102.22717,32.319061],[102.227247,32.319081],[102.227346,32.319105],[102.227707,32.319167],[102.227909,32.319201],[102.228069,32.319229],[102.22832,32.319253],[102.22857,32.319276],[102.228571,32.319276],[102.228573,32.319277],[102.228881,32.319343],[102.229189,32.31941],[102.229497,32.319476],[102.229725,32.319529],[102.229954,32.319581],[102.230315,32.319572],[102.230734,32.319505],[102.231077,32.319434],[102.231419,32.319362],[102.231848,32.319391],[102.2322,32.31941],[102.23259,32.319524],[102.232904,32.31961],[102.233247,32.319708],[102.233589,32.319806],[102.233932,32.319905],[102.234266,32.319999],[102.234599,32.320093],[102.23485,32.320164],[102.235101,32.320235],[102.235245,32.320276],[102.235655,32.320333],[102.235861,32.320326],[102.23595,32.320323],[102.236197,32.320285],[102.236483,32.320047],[102.236721,32.319695],[102.236935,32.319567],[102.237149,32.319438],[102.237544,32.319267],[102.237939,32.319096],[102.238269,32.31895],[102.238599,32.318804],[102.238929,32.318658],[102.238996,32.318618],[102.239298,32.318442],[102.2396,32.318265],[102.239966,32.318051],[102.240333,32.317836],[102.240699,32.317621],[102.241066,32.317407],[102.241432,32.317192],[102.241825,32.317054],[102.242217,32.316916],[102.24261,32.316778],[102.243002,32.31664],[102.243343,32.316533],[102.243683,32.316426],[102.244023,32.316319],[102.244364,32.316212],[102.244792,32.316131],[102.245207,32.316052],[102.24522,32.31605],[102.24542,32.315917],[102.245439,32.315869],[102.245553,32.315584],[102.245653,32.315327],[102.245753,32.31507],[102.245841,32.314868],[102.24587,32.314813],[102.24594,32.31466],[102.246035,32.314455],[102.2462,32.314096],[102.246365,32.313737],[102.246617,32.313396],[102.24687,32.313055],[102.246953,32.312756],[102.247037,32.312457],[102.247063,32.312205],[102.24709,32.311953],[102.247022,32.311715],[102.246955,32.311477],[102.24687,32.311215],[102.246784,32.310953],[102.246699,32.310691],[102.246614,32.310429],[102.246582,32.31032],[102.246528,32.31014],[102.246496,32.310032],[102.246419,32.309773],[102.246378,32.309634],[102.24633,32.309365],[102.246307,32.309234],[102.246282,32.309095],[102.246292,32.308796],[102.246301,32.308496],[102.246422,32.308214],[102.24654,32.308001],[102.246658,32.307788],[102.246776,32.307575],[102.246894,32.307362],[102.247012,32.307149],[102.24713,32.306937],[102.247284,32.306756],[102.247439,32.306575],[102.247593,32.306394],[102.247747,32.306213],[102.247901,32.306032],[102.248055,32.305851],[102.248209,32.30567],[102.248363,32.30549],[102.248491,32.305279],[102.248618,32.305069],[102.248746,32.304858],[102.248873,32.304648],[102.249016,32.304225],[102.249158,32.303803],[102.249226,32.303394],[102.249294,32.302985],[102.24933,32.302734],[102.249366,32.302482],[102.249401,32.30223],[102.249437,32.301979],[102.249417,32.301706],[102.249403,32.301508],[102.249397,32.301434],[102.249377,32.301162],[102.249358,32.300889],[102.24932,32.300489],[102.249283,32.300088],[102.249245,32.299688],[102.249252,32.299451],[102.24926,32.299215],[102.249267,32.298978],[102.249269,32.298897],[102.249274,32.298742],[102.24932,32.298471],[102.249365,32.298201],[102.249411,32.29793],[102.249456,32.29766],[102.249502,32.297389],[102.249547,32.297118],[102.249592,32.296848],[102.249638,32.296577],[102.249683,32.296307],[102.249729,32.296036],[102.249787,32.295813],[102.249844,32.295589],[102.249902,32.295365],[102.24996,32.295142],[102.250018,32.294918],[102.250076,32.294695],[102.250133,32.294471],[102.250191,32.294247],[102.250296,32.293871],[102.2504,32.293494],[102.25041,32.293162],[102.25042,32.292831],[102.250437,32.292571],[102.250454,32.292311],[102.25046,32.292224],[102.250471,32.292051],[102.250488,32.291791],[102.250489,32.29178],[102.250493,32.291689],[102.250511,32.291335],[102.250518,32.291193],[102.250534,32.290891],[102.250556,32.290446],[102.250579,32.290002],[102.250677,32.289636],[102.250775,32.28927],[102.250873,32.288904],[102.251021,32.288592],[102.251168,32.28828],[102.251279,32.288045],[102.25139,32.28781],[102.251518,32.287584],[102.251645,32.287358],[102.251773,32.287132],[102.251901,32.286906],[102.252068,32.286699],[102.252236,32.286493],[102.252403,32.286286],[102.252571,32.286079],[102.252738,32.285873],[102.252906,32.285666],[102.252966,32.285581],[102.253061,32.285448],[102.253216,32.285231],[102.253371,32.285013],[102.253526,32.284795],[102.253656,32.28461],[102.253663,32.284601],[102.253799,32.284407],[102.253935,32.284212],[102.254071,32.284018],[102.254092,32.283969],[102.254094,32.283964],[102.254171,32.283783],[102.254271,32.283548],[102.254292,32.283364],[102.254321,32.283108],[102.254239,32.282743],[102.254158,32.282378],[102.25409,32.282157],[102.254022,32.281936],[102.253955,32.281715],[102.253887,32.281493],[102.253819,32.281272],[102.253752,32.281051],[102.253764,32.28063],[102.253777,32.28021],[102.25379,32.279789],[102.253948,32.279509],[102.254228,32.279263],[102.254508,32.279016],[102.254788,32.278769],[102.254877,32.278676],[102.254967,32.278584],[102.255029,32.27852],[102.255032,32.278516],[102.255146,32.278398],[102.255325,32.278213],[102.255504,32.278027],[102.255669,32.277856],[102.255862,32.277656],[102.256071,32.277324],[102.256279,32.276992],[102.256488,32.27666],[102.256714,32.276318],[102.256759,32.276171],[102.25687,32.275881],[102.256981,32.275591],[102.257092,32.2753],[102.257194,32.275101],[102.257236,32.27502],[102.257381,32.274739],[102.257488,32.274477],[102.257595,32.274215],[102.257623,32.274142],[102.257745,32.273822],[102.257895,32.273429],[102.257957,32.273152],[102.25802,32.272876],[102.258052,32.272647],[102.258085,32.272418],[102.258115,32.271972],[102.258117,32.271752],[102.258121,32.271317],[102.258101,32.270958],[102.258081,32.270599],[102.258061,32.270241],[102.258017,32.269881],[102.257972,32.269521],[102.257929,32.269168],[102.257907,32.268985],[102.257835,32.268646],[102.257621,32.26842],[102.257389,32.268111],[102.257297,32.267769],[102.257205,32.267427],[102.256985,32.267103],[102.256765,32.266778],[102.256437,32.266517],[102.256176,32.266267],[102.256009,32.266172],[102.255979,32.266047],[102.256039,32.265898],[102.256164,32.265708],[102.256191,32.265684],[102.256384,32.265517],[102.256604,32.265327],[102.256931,32.265079],[102.257258,32.264831],[102.257585,32.264583],[102.257895,32.26431],[102.258204,32.264036],[102.258513,32.263762],[102.258537,32.263749],[102.258784,32.263613],[102.259031,32.263477],[102.259221,32.263328],[102.259282,32.263234],[102.25934,32.263144],[102.259376,32.26284],[102.259376,32.262487],[102.259376,32.262486],[102.259376,32.262484],[102.259346,32.262222],[102.259272,32.261909],[102.259197,32.261597],[102.259111,32.261285],[102.259025,32.260973],[102.258894,32.260681],[102.258704,32.260324],[102.258484,32.260021],[102.258264,32.259717],[102.258139,32.259533],[102.258103,32.259408],[102.258168,32.259212],[102.258264,32.259063],[102.258359,32.258891],[102.258302,32.258546],[102.258246,32.2582],[102.258252,32.257873],[102.258296,32.257621],[102.258341,32.257368],[102.258389,32.257127],[102.258437,32.256886],[102.25846,32.256773],[102.258418,32.256345],[102.258377,32.255916],[102.258264,32.255637],[102.258118,32.255428],[102.257972,32.25522],[102.257868,32.254991],[102.257764,32.254762],[102.257609,32.254423],[102.257556,32.254188],[102.257502,32.253953],[102.257466,32.253575],[102.257431,32.253198],[102.257389,32.252936],[102.257336,32.252728],[102.257246,32.252567],[102.257133,32.252442],[102.257104,32.252293],[102.257115,32.252079],[102.257234,32.251758],[102.257336,32.251502],[102.257337,32.251474],[102.257357,32.25106],[102.257377,32.250646],[102.257336,32.250378],[102.25727,32.250182],[102.257128,32.250035],[102.257092,32.249997],[102.256936,32.249788],[102.256919,32.249765],[102.256753,32.249355],[102.256634,32.249153],[102.256485,32.249028],[102.256408,32.248766],[102.25639,32.248516],[102.256402,32.248254],[102.256443,32.247923],[102.256485,32.247592],[102.256527,32.247261],[102.256515,32.246862],[102.256517,32.246441],[102.25652,32.246019],[102.256521,32.245976],[102.256592,32.245661],[102.256628,32.24542],[102.256663,32.245179],[102.25686,32.244822],[102.256989,32.244548],[102.257117,32.244275],[102.257246,32.244001],[102.257353,32.243739],[102.257496,32.243537],[102.257663,32.243478],[102.257919,32.243472],[102.258204,32.243478],[102.25843,32.243495],[102.258656,32.243513],[102.258914,32.2436],[102.259172,32.243686],[102.25936,32.243775],[102.259539,32.243859],[102.259749,32.243958],[102.25996,32.244057],[102.260175,32.244125],[102.26039,32.244193],[102.260604,32.24426],[102.260819,32.244328],[102.261034,32.244396],[102.261223,32.244456],[102.261249,32.244464],[102.261629,32.244609],[102.261892,32.244709],[102.262247,32.244895],[102.262602,32.245081],[102.262779,32.245185],[102.263064,32.245329],[102.263109,32.245351],[102.263439,32.245518],[102.263689,32.245589],[102.264081,32.245723],[102.264474,32.245857],[102.264516,32.245864],[102.264737,32.245959],[102.265141,32.246134],[102.265495,32.246382],[102.265848,32.24663],[102.266223,32.246842],[102.266598,32.247053],[102.266901,32.247326],[102.267026,32.247523],[102.267097,32.247707],[102.267197,32.247788],[102.267258,32.247838],[102.267523,32.24804],[102.267787,32.248242],[102.26794,32.248354],[102.268055,32.248439],[102.268364,32.248663],[102.268674,32.248887],[102.268983,32.249111],[102.269304,32.249283],[102.269544,32.249486],[102.269679,32.2496],[102.269843,32.249804],[102.270091,32.250113],[102.270242,32.250301],[102.270393,32.250489],[102.270544,32.250677],[102.270695,32.250865],[102.270846,32.251054],[102.270997,32.251242],[102.271173,32.251419],[102.271349,32.251597],[102.271525,32.251775],[102.271701,32.251952],[102.271876,32.25213],[102.272052,32.252308],[102.272228,32.252485],[102.272404,32.252663],[102.272629,32.25282],[102.272853,32.252977],[102.273078,32.253135],[102.273302,32.253292],[102.273527,32.253449],[102.273752,32.253607],[102.273971,32.253722],[102.274191,32.253837],[102.274411,32.253952],[102.27463,32.254067],[102.27485,32.254182],[102.27507,32.254297],[102.275439,32.2544],[102.275808,32.254503],[102.276102,32.254588],[102.276397,32.254673],[102.276749,32.254713],[102.277101,32.254752],[102.277548,32.25473],[102.27797,32.25471],[102.277996,32.254708],[102.278294,32.254667],[102.278476,32.254642],[102.278593,32.254626],[102.278628,32.254615],[102.278839,32.254549],[102.278874,32.254538],[102.279156,32.25445],[102.279421,32.25425],[102.279687,32.25405],[102.279842,32.253856],[102.279996,32.253662],[102.280151,32.253468],[102.280306,32.253274],[102.280484,32.252884],[102.280663,32.252493],[102.28071,32.252194],[102.280757,32.251895],[102.280875,32.251676],[102.281065,32.251538],[102.281255,32.251401],[102.2815,32.25128],[102.281744,32.251159],[102.28212,32.25102],[102.282496,32.250881],[102.282871,32.250741],[102.283094,32.250677],[102.283318,32.250613],[102.283541,32.250548],[102.283764,32.250484],[102.283987,32.25042],[102.28421,32.250355],[102.284418,32.25025],[102.284626,32.250144],[102.284662,32.250113],[102.284949,32.249866],[102.285211,32.24964],[102.285235,32.24962],[102.285354,32.249378],[102.285473,32.249136],[102.285592,32.248894],[102.285711,32.248652],[102.285797,32.248409],[102.285883,32.248166],[102.285969,32.247924],[102.286056,32.247681],[102.286142,32.247438],[102.286228,32.247195],[102.286314,32.246952],[102.286401,32.24671],[102.286512,32.246504],[102.286624,32.246299],[102.286735,32.246093],[102.286847,32.245888],[102.286958,32.245683],[102.287069,32.245477],[102.287181,32.245272],[102.287292,32.245066],[102.28738,32.244905],[102.28738,32.244905],[102.287404,32.244861],[102.287515,32.244656],[102.287627,32.24445],[102.287738,32.244245],[102.287954,32.243924],[102.288169,32.243603],[102.288436,32.24342],[102.288651,32.243277],[102.288866,32.243134],[102.28908,32.242992],[102.289295,32.242849],[102.28951,32.242706],[102.289725,32.242564],[102.289897,32.24241],[102.290069,32.242255],[102.29024,32.242101],[102.290412,32.241947],[102.290584,32.241793],[102.29071,32.24168],[102.290756,32.241639],[102.290931,32.241406],[102.291105,32.241173],[102.291226,32.240828],[102.291348,32.240484],[102.291383,32.240248],[102.291418,32.240012],[102.291453,32.239776],[102.291488,32.23954],[102.291497,32.23924],[102.291505,32.23894],[102.291426,32.238691],[102.291347,32.238442],[102.291267,32.238193],[102.291188,32.237944],[102.291109,32.237696],[102.291029,32.237447],[102.290958,32.237234],[102.290886,32.23702],[102.290814,32.236807],[102.290742,32.236594],[102.29067,32.236381],[102.290599,32.236168],[102.290527,32.235955],[102.290455,32.235742],[102.290383,32.235529],[102.290312,32.235316],[102.29025,32.234904],[102.290295,32.234653],[102.290431,32.234435],[102.290568,32.234217],[102.29083,32.233852],[102.290958,32.233672],[102.291091,32.233486],[102.291353,32.233121],[102.291615,32.232755],[102.291785,32.232554],[102.291955,32.232353],[102.292124,32.232153],[102.292294,32.231952],[102.292464,32.231751],[102.292634,32.23155],[102.292804,32.231349],[102.292974,32.231149],[102.293003,32.231101],[102.293106,32.230934],[102.293237,32.23072],[102.293369,32.230506],[102.293501,32.230292],[102.293632,32.230078],[102.293764,32.229864],[102.293896,32.22965],[102.294027,32.229435],[102.294121,32.229187],[102.29414,32.229135],[102.294214,32.228938],[102.294308,32.22869],[102.294401,32.228441],[102.294471,32.228254],[102.294472,32.228254],[102.294495,32.228193],[102.294588,32.227944],[102.294682,32.227696],[102.294775,32.227447],[102.294869,32.227198],[102.294962,32.22695],[102.295055,32.226701],[102.295149,32.226453],[102.295226,32.226248],[102.295226,32.226248],[102.295226,32.226248],[102.295395,32.225923],[102.295575,32.225674],[102.295811,32.225519],[102.296154,32.225385],[102.296496,32.225251],[102.296668,32.225251],[102.296924,32.225394],[102.297043,32.225602],[102.297105,32.225843],[102.297168,32.226084],[102.297418,32.226435],[102.297644,32.226607],[102.297935,32.226905],[102.298227,32.227202],[102.298476,32.227434],[102.29875,32.227618],[102.299022,32.227847],[102.299293,32.228075],[102.299565,32.228303],[102.299849,32.228545],[102.300133,32.228788],[102.300402,32.229018],[102.300672,32.229248],[102.300925,32.229498],[102.301179,32.229748],[102.301433,32.229998],[102.30165,32.230188],[102.301867,32.230379],[102.302111,32.230569],[102.302355,32.230759],[102.302599,32.23095],[102.302878,32.231137],[102.303158,32.231324],[102.303313,32.231503],[102.303377,32.231638],[102.30342,32.231729],[102.303485,32.231973],[102.303568,32.232092],[102.303872,32.232258],[102.304253,32.232389],[102.304485,32.23249],[102.304657,32.232657],[102.30483,32.232847],[102.305002,32.232999],[102.305175,32.233151],[102.305398,32.233258],[102.305621,32.233365],[102.305832,32.23352],[102.306043,32.233674],[102.306218,32.233868],[102.306329,32.233989],[102.306531,32.234239],[102.306662,32.234483],[102.306793,32.234727],[102.306828,32.234793],[102.307054,32.235149],[102.307164,32.235465],[102.307275,32.23578],[102.307435,32.236179],[102.307596,32.236577],[102.307611,32.236937],[102.307625,32.237297],[102.307679,32.237606],[102.307744,32.237767],[102.307991,32.237942],[102.308238,32.238118],[102.3085,32.238252],[102.308762,32.238386],[102.309196,32.238493],[102.309398,32.238558],[102.309559,32.238671],[102.309803,32.238826],[102.309969,32.239052],[102.310154,32.239314],[102.31035,32.239444],[102.310618,32.239504],[102.311037,32.239644],[102.311181,32.239692],[102.311456,32.239783],[102.311772,32.239849],[102.31198,32.239837],[102.312283,32.239789],[102.312432,32.239744],[102.312634,32.239682],[102.312908,32.239608],[102.313182,32.239534],[102.313455,32.23954],[102.313836,32.239605],[102.314183,32.239728],[102.314185,32.239729],[102.314187,32.23973],[102.314463,32.239798],[102.31474,32.239867],[102.31496,32.239926],[102.31518,32.239986],[102.315424,32.239989],[102.315668,32.239992],[102.315909,32.239992],[102.31615,32.239992],[102.316406,32.239965],[102.316661,32.239938],[102.317084,32.239861],[102.317456,32.239792],[102.317626,32.239761],[102.317827,32.239724],[102.318256,32.239659],[102.318684,32.239593],[102.318958,32.23954],[102.319362,32.239403],[102.3196,32.239391],[102.319838,32.239379],[102.320177,32.239409],[102.320516,32.239438],[102.320903,32.239482],[102.32129,32.239526],[102.321676,32.239569],[102.321811,32.239579],[102.322127,32.239602],[102.322443,32.239624],[102.322759,32.239647],[102.322946,32.239643],[102.323044,32.239641],[102.323425,32.239563],[102.323642,32.239465],[102.323859,32.239367],[102.3241,32.239254],[102.324341,32.239141],[102.324698,32.239016],[102.325055,32.238891],[102.325373,32.238817],[102.325692,32.238742],[102.325954,32.238667],[102.326177,32.238604],[102.326399,32.23854],[102.326774,32.238368],[102.327149,32.238195],[102.327506,32.238073],[102.327863,32.237951],[102.328142,32.237842],[102.328422,32.237733],[102.328484,32.237709],[102.328702,32.237624],[102.329017,32.237535],[102.329332,32.237446],[102.329346,32.237443],[102.329613,32.237394],[102.329879,32.237345],[102.330127,32.237337],[102.330419,32.237329],[102.330712,32.237321],[102.331087,32.237291],[102.331462,32.237261],[102.331575,32.237261],[102.331854,32.237309],[102.332074,32.237333],[102.332425,32.237327],[102.332705,32.237321],[102.332985,32.237309],[102.33301,32.237302],[102.333098,32.237279],[102.333407,32.237065],[102.333681,32.236809],[102.333898,32.236654],[102.334055,32.236541],[102.334305,32.236422],[102.334579,32.236405],[102.334633,32.236396],[102.334633,32.236396],[102.334633,32.236396],[102.334894,32.236356],[102.335156,32.236315],[102.335578,32.236202],[102.335888,32.236048],[102.336286,32.235869],[102.336471,32.235787],[102.336664,32.235701],[102.336768,32.235655],[102.337012,32.235578],[102.337256,32.2355],[102.337497,32.235453],[102.337738,32.235405],[102.337992,32.235362],[102.338247,32.235318],[102.338326,32.235304],[102.338675,32.235189],[102.339024,32.235074],[102.339373,32.234959],[102.339635,32.234849],[102.339897,32.234739],[102.340144,32.234626],[102.340391,32.234513],[102.340715,32.234332],[102.341039,32.23415],[102.341322,32.234022],[102.341604,32.233894],[102.341967,32.233644],[102.34233,32.233395],[102.342693,32.233145],[102.342976,32.232946],[102.34326,32.232748],[102.343543,32.23255],[102.343829,32.232241],[102.344091,32.23189],[102.344358,32.23161],[102.344648,32.231398],[102.344937,32.231186],[102.345227,32.230974],[102.345465,32.230843],[102.345703,32.230712],[102.345893,32.230556],[102.346083,32.230401],[102.346095,32.230391],[102.346434,32.230141],[102.346613,32.229977],[102.346791,32.229814],[102.347,32.229715],[102.347208,32.229617],[102.347567,32.229427],[102.347926,32.229237],[102.348285,32.229046],[102.348692,32.228871],[102.349099,32.228695],[102.349415,32.22857],[102.349748,32.228433],[102.350085,32.228287],[102.350422,32.22814],[102.350759,32.227993],[102.351125,32.227862],[102.351491,32.227731],[102.351817,32.227606],[102.35183,32.227601],[102.352228,32.227571],[102.352615,32.227601],[102.352953,32.227658],[102.353002,32.227666],[102.353269,32.22772],[102.353424,32.227726],[102.353609,32.227708],[102.3539,32.227648],[102.354156,32.227565],[102.354382,32.227497],[102.354608,32.227428],[102.354635,32.22742],[102.355037,32.227355],[102.355145,32.227337],[102.355233,32.227333],[102.355414,32.227293],[102.355474,32.22728],[102.355506,32.227273],[102.35572,32.227208],[102.355725,32.227198],[102.35581,32.227024],[102.35582,32.226992],[102.355899,32.226744],[102.355982,32.226533],[102.356065,32.226322],[102.356089,32.226096],[102.356113,32.22587],[102.356172,32.22556],[102.356214,32.225435],[102.356428,32.225281],[102.356684,32.225037],[102.356821,32.224936],[102.356892,32.224823],[102.356976,32.224626],[102.357118,32.224489],[102.357119,32.224489],[102.35712,32.224489],[102.357326,32.224365],[102.357493,32.22424],[102.357695,32.223901],[102.357862,32.223698],[102.358153,32.223478],[102.35835,32.223371],[102.358463,32.223288],[102.358522,32.223169],[102.358599,32.22302],[102.358891,32.222717],[102.359101,32.222425],[102.359153,32.222354],[102.359211,32.222263],[102.359301,32.222122],[102.359426,32.222021],[102.359569,32.221961],[102.359719,32.221781],[102.359868,32.2216],[102.360077,32.221348],[102.360218,32.221164],[102.360345,32.220965],[102.360473,32.220766],[102.36064,32.220403],[102.360821,32.220046],[102.361003,32.219689],[102.361107,32.219335],[102.361211,32.218981],[102.361407,32.218636],[102.361621,32.218345],[102.361717,32.218113],[102.361812,32.217881],[102.361919,32.217581],[102.362026,32.217282],[102.362133,32.216982],[102.362156,32.216877],[102.362237,32.216504],[102.362317,32.216132],[102.362414,32.215829],[102.362419,32.215816],[102.362573,32.215406],[102.362674,32.215067],[102.362722,32.214734],[102.362784,32.214392],[102.362847,32.21405],[102.362972,32.213627],[102.363007,32.213455],[102.363168,32.213264],[102.363345,32.213066],[102.363522,32.212868],[102.363561,32.212824],[102.36365,32.212592],[102.363715,32.212378],[102.363769,32.21214],[102.363787,32.211839],[102.363805,32.211537],[102.363822,32.211236],[102.363786,32.210824],[102.363749,32.210413],[102.363739,32.210296],[102.363717,32.21005],[102.363715,32.210028],[102.363793,32.209689],[102.3639,32.209314],[102.36405,32.209049],[102.364064,32.209024],[102.364102,32.208958],[102.364393,32.208642],[102.364646,32.208425],[102.364899,32.208208],[102.365185,32.208044],[102.36547,32.207881],[102.365613,32.207809],[102.365672,32.207746],[102.365684,32.207732],[102.365684,32.207643],[102.365625,32.207458],[102.365595,32.2072],[102.365565,32.206941],[102.365502,32.206706],[102.365452,32.206522],[102.365339,32.206102],[102.365316,32.205829],[102.365339,32.205507],[102.365423,32.205252],[102.365537,32.204975],[102.365652,32.204699],[102.365666,32.204663],[102.36572,32.204413],[102.365747,32.204151],[102.365774,32.203889],[102.365683,32.20361],[102.365637,32.203467],[102.365559,32.203294],[102.365464,32.203062],[102.365369,32.202926],[102.365185,32.202747],[102.365101,32.20264],[102.365113,32.202343],[102.365119,32.202075],[102.365125,32.201807],[102.365131,32.201563],[102.365238,32.20123],[102.365298,32.201111],[102.365452,32.200986],[102.365637,32.200873],[102.36575,32.200719],[102.365876,32.200404],[102.36594,32.200243],[102.366012,32.200011],[102.36616,32.199749],[102.366374,32.199452],[102.366398,32.199412],[102.366402,32.199402],[102.366478,32.199242],[102.366582,32.198942],[102.366598,32.198896],[102.366572,32.198549],[102.366545,32.198478],[102.36644,32.198417],[102.366142,32.19825],[102.365893,32.198024],[102.365637,32.197816],[102.365557,32.197774],[102.3655,32.197744],[102.365434,32.197709],[102.365357,32.197619],[102.365262,32.197364],[102.365119,32.196965],[102.365039,32.196694],[102.364959,32.196424],[102.364881,32.196067],[102.36478,32.19593],[102.364593,32.195671],[102.364405,32.195412],[102.364395,32.195397],[102.364162,32.195066],[102.363929,32.194734],[102.363834,32.194556],[102.363781,32.194383],[102.363739,32.194074],[102.363674,32.193896],[102.363543,32.193723],[102.363332,32.193423],[102.36312,32.193122],[102.362948,32.192908],[102.362938,32.19271],[102.362936,32.192682],[102.362859,32.192498],[102.362639,32.192117],[102.362439,32.191879],[102.36224,32.191641],[102.362044,32.191397],[102.361943,32.191225],[102.361904,32.19115],[102.361859,32.191064],[102.361782,32.190939],[102.361681,32.19088],[102.361496,32.190874],[102.361357,32.19087],[102.360997,32.190862],[102.360824,32.190838],[102.36067,32.190737],[102.360529,32.190663],[102.360455,32.190624],[102.360271,32.190594],[102.360104,32.190523],[102.359962,32.190392],[102.359831,32.190291],[102.359724,32.190243],[102.359456,32.190225],[102.359022,32.190237],[102.358977,32.190237],[102.358843,32.190237],[102.358707,32.190166],[102.35854,32.190059],[102.358415,32.190029],[102.358201,32.190011],[102.357892,32.190035],[102.357731,32.190017],[102.357614,32.189973],[102.357558,32.189952],[102.35738,32.189767],[102.357178,32.189488],[102.357023,32.189262],[102.356934,32.18894],[102.356868,32.188661],[102.356857,32.188523],[102.356857,32.18852],[102.356857,32.188518],[102.356773,32.188411],[102.356607,32.188215],[102.356494,32.187977],[102.356529,32.187768],[102.356636,32.187584],[102.35672,32.187394],[102.356708,32.187301],[102.356702,32.187251],[102.356517,32.186906],[102.356419,32.18676],[102.356369,32.186686],[102.356268,32.186585],[102.356024,32.186424],[102.355804,32.18624],[102.355628,32.186094],[102.355453,32.185948],[102.355298,32.18571],[102.355149,32.185383],[102.355131,32.185181],[102.355042,32.18502],[102.354882,32.184866],[102.354617,32.18472],[102.354352,32.184574],[102.353954,32.184407],[102.353626,32.184158],[102.35343,32.18392],[102.353258,32.183741],[102.353097,32.183581],[102.352924,32.183515],[102.352703,32.183441],[102.352481,32.183367],[102.352193,32.183271],[102.351958,32.183182],[102.351723,32.183093],[102.35139,32.183045],[102.351223,32.183015],[102.351134,32.182873],[102.351074,32.182676],[102.351059,32.182498],[102.351039,32.182272],[102.350973,32.181887],[102.350908,32.181503],[102.350842,32.181118],[102.350765,32.180927],[102.35061,32.180761],[102.350429,32.180588],[102.350248,32.180416],[102.350019,32.180279],[102.34979,32.180142],[102.349447,32.179997],[102.349105,32.179851],[102.348963,32.179791],[102.348927,32.17972],[102.348927,32.179607],[102.349004,32.179452],[102.349123,32.179292],[102.349399,32.179026],[102.349675,32.17876],[102.349896,32.178609],[102.350117,32.178458],[102.35052,32.17832],[102.350924,32.178182],[102.351328,32.178044],[102.351731,32.177905],[102.352105,32.177791],[102.352479,32.177676],[102.352853,32.177562],[102.353226,32.177447],[102.353576,32.177364],[102.353925,32.177281],[102.354275,32.177198],[102.354703,32.177097],[102.355078,32.177055],[102.35531,32.177046],[102.355542,32.177037],[102.355851,32.176942],[102.355869,32.176936],[102.355893,32.176928],[102.356014,32.176886],[102.356243,32.176809],[102.356472,32.176732],[102.356696,32.176633],[102.356919,32.176534],[102.357171,32.176423],[102.357367,32.176336],[102.35759,32.176237],[102.357814,32.176138],[102.358013,32.17605],[102.35829,32.175865],[102.358593,32.175692],[102.358895,32.175519],[102.359198,32.175347],[102.359331,32.17527],[102.35962,32.175128],[102.359908,32.174985],[102.360021,32.174878],[102.360099,32.174753],[102.36011,32.17461],[102.360116,32.174383],[102.360122,32.174146],[102.360146,32.173944],[102.360206,32.173837],[102.360348,32.173753],[102.360551,32.173623],[102.360676,32.173426],[102.360729,32.1732],[102.360705,32.172962],[102.360661,32.172605],[102.360616,32.172248],[102.360616,32.172022],[102.360646,32.171921],[102.360967,32.171659],[102.361211,32.171576],[102.361532,32.171499],[102.361764,32.17138],[102.361931,32.171291],[102.362145,32.171148],[102.362401,32.170987],[102.362656,32.170827],[102.36293,32.170708],[102.363261,32.170513],[102.363591,32.170318],[102.363656,32.170279],[102.3639,32.170154],[102.364072,32.170006],[102.364251,32.16975],[102.36434,32.169405],[102.36434,32.169149],[102.364304,32.168953],[102.364292,32.168925],[102.364191,32.168689],[102.36409,32.168453],[102.36398,32.168185],[102.36387,32.167918],[102.363779,32.167605],[102.363727,32.167424],[102.363668,32.16702],[102.363573,32.166799],[102.363424,32.16663],[102.363275,32.16646],[102.363014,32.166281],[102.362754,32.166103],[102.362493,32.165924],[102.36246,32.165901],[102.362335,32.165776],[102.36227,32.165628],[102.362234,32.16536],[102.362198,32.165092],[102.362198,32.164848],[102.362198,32.164604],[102.362202,32.164547],[102.362213,32.164366],[102.362235,32.163995],[102.362258,32.163623],[102.362258,32.163454],[102.362258,32.163325],[102.362234,32.163129],[102.362127,32.162796],[102.362103,32.162671],[102.362109,32.162534],[102.362192,32.162427],[102.362532,32.162201],[102.362766,32.161937],[102.363,32.161674],[102.363233,32.16141],[102.363495,32.161243],[102.363727,32.161124],[102.364025,32.161047],[102.364289,32.160991],[102.364554,32.160934],[102.364881,32.160934],[102.365155,32.160952],[102.365321,32.160964],[102.365546,32.160933],[102.365583,32.160928],[102.365653,32.1609],[102.365851,32.160821],[102.366184,32.16072],[102.366449,32.160663],[102.366713,32.160607],[102.366945,32.160577],[102.367183,32.160583],[102.367198,32.160583],[102.367264,32.16057],[102.367663,32.160494],[102.368061,32.160418],[102.368253,32.160397],[102.368468,32.160339],[102.368778,32.160155],[102.369045,32.160083],[102.369273,32.160032],[102.369501,32.159981],[102.369599,32.159958],[102.370018,32.159828],[102.370437,32.159697],[102.370622,32.159661],[102.370764,32.159673],[102.370943,32.159715],[102.370988,32.159727],[102.371098,32.159756],[102.37127,32.159804],[102.371496,32.159828],[102.371764,32.159881],[102.372032,32.159935],[102.372252,32.160033],[102.372472,32.160131],[102.372692,32.160214],[102.372882,32.160286],[102.373236,32.160342],[102.37359,32.160399],[102.373745,32.160494],[102.37381,32.160619],[102.37381,32.160768],[102.37378,32.160922],[102.373774,32.160952],[102.373774,32.161148],[102.373828,32.161368],[102.373965,32.161553],[102.37406,32.161618],[102.374328,32.161713],[102.374548,32.161826],[102.374839,32.16191],[102.375048,32.161975],[102.37528,32.162017],[102.375399,32.162037],[102.375601,32.16207],[102.375672,32.162171],[102.375697,32.162262],[102.375761,32.162493],[102.37588,32.162695],[102.376071,32.162933],[102.376243,32.163218],[102.376368,32.163427],[102.3766,32.163581],[102.376975,32.16376],[102.377266,32.163891],[102.377427,32.163938],[102.377724,32.164158],[102.377897,32.164301],[102.377939,32.164372],[102.37801,32.164557],[102.378069,32.164783],[102.378135,32.164884],[102.378266,32.164949],[102.378593,32.165039],[102.378884,32.165086],[102.379122,32.165086],[102.37936,32.165074],[102.379509,32.165134],[102.379586,32.165175],[102.379795,32.165288],[102.379884,32.165336],[102.380181,32.165348],[102.38036,32.165413],[102.380538,32.165491],[102.380693,32.165544],[102.38097,32.165549],[102.381062,32.16555],[102.381466,32.165651],[102.381752,32.165782],[102.382055,32.165943],[102.382192,32.166084],[102.382233,32.166127],[102.382394,32.166401],[102.382442,32.166457],[102.382662,32.166716],[102.382799,32.166829],[102.382947,32.166871],[102.38312,32.166901],[102.383304,32.166907],[102.383602,32.166889],[102.383754,32.166892],[102.383923,32.166895],[102.384185,32.166942],[102.384369,32.166972],[102.384708,32.16696],[102.38491,32.166936],[102.385255,32.16702],[102.385427,32.167057],[102.385666,32.167109],[102.385904,32.16718],[102.386186,32.167245],[102.386468,32.167309],[102.386606,32.167341],[102.386981,32.167409],[102.387169,32.167444],[102.387211,32.167531],[102.387477,32.168163],[102.388857,32.169446],[102.391037,32.170552],[102.393159,32.171705],[102.394544,32.172842],[102.395433,32.173487],[102.396988,32.174629],[102.398376,32.17567],[102.399263,32.176363],[102.40031,32.177446],[102.401627,32.178968],[102.402338,32.179899],[102.403043,32.181022],[102.403964,32.182536],[102.404182,32.182879],[102.404271,32.183019],[102.404692,32.183682],[102.404709,32.183709],[102.404833,32.183904],[102.40533,32.184349],[102.406406,32.184419],[102.407528,32.184828],[102.408253,32.185277],[102.408992,32.187221],[102.409303,32.18824],[102.409318,32.188261],[102.409432,32.188425],[102.40958,32.188638],[102.409848,32.189023],[102.410091,32.189611],[102.410432,32.190433],[102.410594,32.190966],[102.410847,32.191792],[102.410954,32.19333],[102.410968,32.19353],[102.410968,32.19354],[102.410986,32.194881],[102.411247,32.19592],[102.411356,32.196353],[102.411547,32.19711],[102.4118,32.198187],[102.411863,32.198457],[102.411898,32.198606],[102.411933,32.198756],[102.411959,32.19887],[102.412002,32.199049],[102.412074,32.199232],[102.412156,32.199442],[102.412229,32.199627],[102.412318,32.199855],[102.412379,32.200033],[102.412438,32.200171],[102.412478,32.200265],[102.412587,32.20041],[102.412705,32.200569],[102.41282,32.200724],[102.412911,32.200846],[102.41318,32.201208],[102.413353,32.20144],[102.413513,32.202148],[102.413605,32.202554],[102.413614,32.202796],[102.413632,32.203286],[102.413637,32.203423],[102.414411,32.204114],[102.415356,32.204808],[102.416104,32.206066],[102.416547,32.20681],[102.416637,32.207632],[102.416782,32.208527],[102.416927,32.209422],[102.416984,32.209705],[102.417051,32.210043],[102.417605,32.211043],[102.417692,32.211151],[102.418648,32.212336],[102.419035,32.213332],[102.419601,32.214079],[102.419855,32.214414],[102.420014,32.214855],[102.420069,32.215005],[102.420144,32.215214],[102.419942,32.215631],[102.419914,32.215689],[102.419814,32.215896],[102.418535,32.217087],[102.418141,32.21782],[102.417613,32.218867],[102.417531,32.219554],[102.417815,32.220512],[102.418602,32.221322],[102.419013,32.222177],[102.419167,32.223345],[102.419273,32.223626],[102.419688,32.224732],[102.419912,32.225636],[102.419875,32.226958],[102.420208,32.228394],[102.420318,32.230043],[102.420339,32.230355],[102.420302,32.231677],[102.419766,32.23299],[102.419399,32.233719],[102.419323,32.23387],[102.419239,32.234037],[102.419122,32.234151],[102.418983,32.234286],[102.418831,32.234433],[102.418705,32.234556],[102.418598,32.234659],[102.418473,32.234774],[102.418325,32.23491],[102.418158,32.235063],[102.418007,32.235202],[102.417853,32.235344],[102.41775,32.235438],[102.417639,32.235539],[102.417541,32.235682],[102.417414,32.235866],[102.417309,32.236018],[102.417174,32.236213],[102.417037,32.236412],[102.416916,32.236586],[102.416804,32.236747],[102.416716,32.236876],[102.416665,32.236948],[102.416619,32.237092],[102.416555,32.237289],[102.41649,32.23749],[102.41642,32.237706],[102.416352,32.237915],[102.416279,32.238147],[102.416218,32.238329],[102.416174,32.238463],[102.416143,32.23856],[102.41612,32.238631],[102.416079,32.238774],[102.416052,32.238872],[102.416023,32.238974],[102.415968,32.239168],[102.41593,32.239304],[102.415883,32.239472],[102.415843,32.239614],[102.415806,32.239744],[102.415764,32.239893],[102.415726,32.240027],[102.415704,32.240104],[102.415676,32.240225],[102.41565,32.240335],[102.415608,32.240515],[102.415604,32.240533],[102.415577,32.240649],[102.415572,32.240669],[102.415551,32.240761],[102.415533,32.240835],[102.415506,32.240951],[102.415421,32.241316],[102.41539,32.241667],[102.415384,32.241737],[102.415376,32.241816],[102.415371,32.241877],[102.415364,32.241956],[102.415355,32.242057],[102.415347,32.242148],[102.415337,32.242266],[102.415325,32.242392],[102.415315,32.242508],[102.415303,32.242639],[102.415292,32.242763],[102.41528,32.242898],[102.415269,32.243022],[102.415259,32.243138],[102.41525,32.24324],[102.415243,32.243317],[102.415238,32.243376],[102.415229,32.243481],[102.415221,32.243576],[102.415209,32.243711],[102.415202,32.24379],[102.415198,32.243836],[102.415192,32.243905],[102.415187,32.243961],[102.415181,32.244025],[102.415175,32.244101],[102.415166,32.2442],[102.415158,32.24429],[102.415152,32.244359],[102.415148,32.244403],[102.415146,32.244433],[102.415142,32.244446],[102.415129,32.244497],[102.415114,32.244559],[102.415101,32.244609],[102.415088,32.244659],[102.415068,32.244738],[102.41505,32.244809],[102.415031,32.24488],[102.415018,32.244933],[102.415006,32.244978],[102.414985,32.24506],[102.414936,32.245253],[102.414889,32.245437],[102.414839,32.245634],[102.414796,32.245802],[102.414757,32.246127],[102.414722,32.246418],[102.414686,32.246721],[102.414657,32.246967],[102.414632,32.247174],[102.414652,32.247353],[102.414679,32.247592],[102.414703,32.247831],[102.414724,32.248002],[102.414739,32.248127],[102.414747,32.248199],[102.41477,32.2484],[102.414781,32.248501],[102.414838,32.248624],[102.414938,32.248818],[102.415024,32.249023],[102.415075,32.249142],[102.415078,32.249232],[102.415083,32.249368],[102.415087,32.249517],[102.415093,32.249679],[102.415097,32.249807],[102.415101,32.24994],[102.415105,32.250051],[102.415108,32.250148],[102.415112,32.250244],[102.415114,32.250319],[102.415117,32.250437],[102.415122,32.250547],[102.415126,32.250681],[102.415131,32.250786],[102.415135,32.2509],[102.415139,32.251002],[102.415141,32.251063],[102.415155,32.251458],[102.415166,32.251793],[102.415178,32.252108],[102.415206,32.252674],[102.415223,32.253017],[102.415242,32.253404],[102.415257,32.253697],[102.415391,32.254232],[102.415461,32.254511],[102.415537,32.254814],[102.415592,32.255207],[102.415631,32.255493],[102.415692,32.255929],[102.415758,32.256703],[102.415802,32.257217],[102.415832,32.257572],[102.415819,32.258033],[102.415811,32.258313],[102.415796,32.258842],[102.415904,32.259139],[102.416011,32.259436],[102.416096,32.259672],[102.416143,32.259802],[102.416492,32.260656],[102.416699,32.261108],[102.416786,32.261297],[102.41745,32.262051],[102.417453,32.262056],[102.417456,32.26206],[102.418229,32.263126],[102.419002,32.264412],[102.419549,32.264922],[102.420045,32.265385],[102.420277,32.265602],[102.420628,32.266403],[102.420724,32.267411],[102.420893,32.268049],[102.42177,32.267856],[102.421921,32.267703],[102.422059,32.267564],[102.422254,32.267366],[102.422484,32.267134],[102.422632,32.266984],[102.422796,32.266818],[102.423073,32.266688],[102.423305,32.26658],[102.423554,32.266463],[102.423829,32.26643],[102.424033,32.266405],[102.424304,32.266372],[102.424513,32.266241],[102.424673,32.26614],[102.424874,32.266014],[102.425064,32.265896],[102.425256,32.265777],[102.425453,32.265654],[102.425699,32.265501],[102.425892,32.265442],[102.426128,32.265369],[102.42637,32.265294],[102.426658,32.265204],[102.426934,32.265119],[102.427144,32.265054],[102.427291,32.265031],[102.427519,32.264995],[102.42776,32.264957],[102.427928,32.264931],[102.428111,32.264902],[102.428333,32.264867],[102.42863,32.26474],[102.428911,32.264616],[102.429196,32.264492],[102.429491,32.264364],[102.429622,32.264307],[102.429846,32.26421],[102.430032,32.26414],[102.430244,32.264061],[102.43055,32.263945],[102.430749,32.263871],[102.430917,32.263808],[102.431113,32.26361],[102.431173,32.263549],[102.431296,32.263705],[102.431401,32.263838],[102.431545,32.264019],[102.431713,32.264233],[102.431843,32.2644],[102.431988,32.264584],[102.432121,32.264754],[102.432211,32.264868],[102.432316,32.265001],[102.432429,32.265219],[102.432531,32.265416],[102.43262,32.265584],[102.432709,32.265757],[102.432788,32.26591],[102.432849,32.266061],[102.432896,32.266178],[102.432961,32.26634],[102.433007,32.266472],[102.433073,32.266629],[102.433139,32.266782],[102.433196,32.266924],[102.433317,32.267488],[102.433452,32.268119],[102.433526,32.268466],[102.433464,32.270687],[102.433592,32.272754],[102.433659,32.274819],[102.433249,32.276081],[102.432833,32.277608],[102.432394,32.27852],[102.432357,32.278597],[102.432303,32.278708],[102.432511,32.280194],[102.432974,32.281421],[102.432813,32.282741],[102.432327,32.283519],[102.43216,32.283786],[102.431994,32.28392],[102.431586,32.284251],[102.431242,32.285408],[102.430894,32.286724],[102.430842,32.286793],[102.430826,32.286815],[102.430739,32.286932],[102.430652,32.287048],[102.430642,32.287061],[102.430613,32.2871],[102.430585,32.287138],[102.43056,32.287172],[102.430546,32.28719],[102.430116,32.287767],[102.429922,32.287892],[102.429164,32.288382],[102.428583,32.289111],[102.428442,32.289646],[102.428394,32.289825],[102.428025,32.291217],[102.427678,32.29248],[102.427089,32.293474],[102.426431,32.29473],[102.425946,32.295245],[102.425403,32.295821],[102.424268,32.296274],[102.423392,32.296415],[102.422145,32.29657],[102.421203,32.296688],[102.419915,32.296739],[102.419457,32.296758],[102.418769,32.296758],[102.41684,32.296757],[102.414842,32.296875],[102.414055,32.29669],[102.413604,32.296585],[102.413298,32.296535],[102.412283,32.296866],[102.412026,32.29686],[102.410568,32.29683],[102.410499,32.296826],[102.409512,32.296756],[102.40948,32.296754],[102.408561,32.296689],[102.407203,32.296611],[102.406307,32.296894],[102.406286,32.297647],[102.406432,32.298755],[102.406342,32.299808],[102.406341,32.299853],[102.406337,32.299987],[102.406333,32.300126],[102.40633,32.300231],[102.406325,32.300416],[102.406319,32.300652],[102.406314,32.300817],[102.406309,32.300995],[102.406304,32.301146],[102.4063,32.301298],[102.406323,32.301464],[102.406345,32.301622],[102.406373,32.301825],[102.406403,32.30204],[102.40643,32.302229],[102.406446,32.302345],[102.406478,32.302577],[102.406507,32.302783],[102.406534,32.302981],[102.406562,32.303179],[102.406563,32.303396],[102.406563,32.303463],[102.406564,32.303568],[102.406565,32.303804],[102.406566,32.304044],[102.406566,32.304154],[102.406566,32.304193],[102.406567,32.304287],[102.406568,32.304556],[102.406569,32.304796],[102.406569,32.304863],[102.40657,32.305096],[102.406571,32.305289],[102.406571,32.305404],[102.406572,32.305591],[102.406572,32.305719],[102.406573,32.305983],[102.406573,32.306104],[102.406573,32.30611],[102.406573,32.306147],[102.406578,32.308137],[102.406479,32.308814],[102.406383,32.309472],[102.406189,32.310741],[102.405829,32.312275],[102.405008,32.313397],[102.403697,32.315111],[102.402707,32.316632],[102.401858,32.318758],[102.401741,32.320095],[102.401235,32.321224],[102.400807,32.322453],[102.400633,32.322953],[102.400456,32.324518],[102.400363,32.32534],[102.400234,32.326324],[102.399947,32.327518],[102.399466,32.33021],[102.399234,32.333035],[102.399008,32.335154],[102.397563,32.334466],[102.396598,32.334668],[102.395766,32.334799],[102.394551,32.334625],[102.393033,32.334372],[102.392014,32.33424],[102.391188,32.334133],[102.390993,32.334108],[102.389526,32.333597],[102.389072,32.333468],[102.388925,32.333294],[102.388894,32.332607],[102.389149,32.332155],[102.389373,32.331759],[102.389392,32.331457],[102.389464,32.330346],[102.389487,32.329532],[102.389525,32.329151],[102.389561,32.328778],[102.38963,32.328077],[102.389636,32.328009],[102.389704,32.327264],[102.389165,32.326696],[102.388519,32.326339],[102.388387,32.326332],[102.388139,32.326319],[102.387743,32.326298],[102.387649,32.326293],[102.387618,32.326291],[102.387208,32.326269],[102.386572,32.326499],[102.386085,32.326675],[102.386012,32.326709],[102.385369,32.327003],[102.385102,32.32711],[102.385082,32.327118],[102.384819,32.327222],[102.38475,32.32725],[102.384245,32.327451],[102.383216,32.328116],[102.382758,32.32835],[102.382698,32.328381],[102.382502,32.328481],[102.382162,32.328655],[102.382089,32.328693],[102.381887,32.328856],[102.381861,32.328876],[102.381055,32.329529],[102.380272,32.330413],[102.37984,32.33139],[102.378605,32.332179],[102.377477,32.332756],[102.376519,32.332736],[102.37576,32.332763],[102.375252,32.332881],[102.375032,32.33349],[102.376298,32.334395],[102.376631,32.334957],[102.376615,32.335512],[102.376028,32.336203],[102.375079,32.337367],[102.373813,32.338969],[102.372799,32.340872],[102.372027,32.341928],[102.371335,32.343283],[102.370191,32.345146],[102.369589,32.346355],[102.369292,32.347606],[102.368694,32.348667],[102.367972,32.34954],[102.367472,32.350232],[102.366066,32.35061],[102.364567,32.351208],[102.363549,32.351741],[102.362957,32.352617],[102.362371,32.353271],[102.362164,32.353634],[102.361683,32.354477],[102.361414,32.35621],[102.361379,32.357431],[102.36127,32.358168],[102.361199,32.359129],[102.361068,32.360643],[102.36063,32.363705],[102.360385,32.364625],[102.360052,32.36558],[102.359888,32.366723],[102.359798,32.368312],[102.35968,32.369383],[102.35931,32.370115],[102.358235,32.371091],[102.357558,32.371891],[102.356533,32.372647],[102.355159,32.373432],[102.354258,32.374412],[102.354239,32.375077],[102.354044,32.375776],[102.353752,32.376806],[102.353545,32.377949],[102.353004,32.378529],[102.352253,32.378883],[102.351855,32.37906],[102.350881,32.379595],[102.351449,32.381049],[102.351995,32.383244],[102.352552,32.385068],[102.352564,32.386142],[102.352579,32.387141],[102.352677,32.387444],[102.353236,32.389172],[102.353459,32.38986],[102.353635,32.39127],[102.354038,32.392425],[102.354352,32.393616],[102.355108,32.394594],[102.355089,32.395259],[102.35438,32.397131],[102.352698,32.399464],[102.351006,32.400686],[102.349568,32.402136],[102.34617,32.407947],[102.345785,32.408491],[102.345772,32.408509],[102.345373,32.409072],[102.3453,32.409175],[102.345289,32.40919],[102.345283,32.409199],[102.345215,32.409296],[102.344227,32.410274],[102.343993,32.410485],[102.342031,32.412263],[102.338886,32.415163],[102.337247,32.416674],[102.33675,32.417132],[102.336709,32.417169],[102.336699,32.417179],[102.336666,32.417209],[102.336623,32.417249],[102.336616,32.417255],[102.336462,32.417397],[102.336382,32.417471],[102.335594,32.417565],[102.334971,32.417589],[102.334328,32.417613],[102.332497,32.417574],[102.331197,32.417287],[102.330141,32.417065],[102.329636,32.416958],[102.327275,32.415687],[102.326135,32.415885],[102.324757,32.416781],[102.323692,32.417387],[102.322646,32.417365],[102.321596,32.417454],[102.320608,32.416952],[102.319248,32.417219],[102.319057,32.41777],[102.31871,32.419168],[102.318842,32.420614],[102.318847,32.420988],[102.318856,32.421613],[102.319034,32.422949],[102.319457,32.426362],[102.319588,32.427807],[102.319737,32.428699],[102.319935,32.429369],[102.320371,32.430858],[102.320451,32.432562],[102.320407,32.434041],[102.320707,32.435712],[102.32075,32.437193],[102.32067,32.438412],[102.320417,32.43959],[102.32037,32.44118],[102.320409,32.442809],[102.320434,32.444918],[102.32067,32.445774],[102.321341,32.446714],[102.321883,32.447539],[102.322678,32.448703],[102.323044,32.449599],[102.325506,32.454868],[102.326407,32.456885],[102.326497,32.458256],[102.32624,32.459545],[102.325773,32.460608],[102.325561,32.461861],[102.325074,32.463553],[102.325061,32.465477],[102.324895,32.466657],[102.324727,32.467911],[102.32456,32.469129],[102.324606,32.470535],[102.324006,32.471633],[102.323588,32.472475],[102.322209,32.47337],[102.321372,32.473611],[102.320272,32.473921],[102.318993,32.474375],[102.317894,32.47461],[102.316193,32.474574],[102.314795,32.474618],[102.314213,32.475123],[102.313725,32.475775],[102.313395,32.476216],[102.313131,32.476667],[102.312199,32.478262],[102.311323,32.479834],[102.311219,32.480334],[102.310916,32.481787],[102.311089,32.483307],[102.311673,32.484208],[102.311739,32.4847],[102.311816,32.485284],[102.31153,32.486092],[102.31063,32.486997],[102.309694,32.487643],[102.308793,32.488586],[102.308286,32.4895],[102.307999,32.490345],[102.307839,32.491304],[102.307815,32.492117],[102.308133,32.49316],[102.308318,32.494274],[102.30869,32.494985],[102.308679,32.495343],[102.308664,32.495872],[102.308633,32.496907],[102.308369,32.49715],[102.308319,32.497197],[102.308144,32.49723],[102.30744,32.497363],[102.307147,32.49745],[102.30559,32.497915],[102.304271,32.498257],[102.303308,32.49831],[102.301595,32.49868],[102.300504,32.498657],[102.300373,32.498609],[102.300303,32.498583],[102.299338,32.498225],[102.298297,32.498018],[102.297387,32.497776],[102.296037,32.497673],[102.295037,32.497541],[102.293911,32.49722],[102.292726,32.497454],[102.292101,32.497884],[102.291871,32.498286],[102.29189,32.499101],[102.291976,32.50062],[102.291887,32.502135],[102.291637,32.503202],[102.291601,32.503375],[102.291597,32.503393],[102.291505,32.503833],[102.29147,32.503999],[102.291382,32.504418],[102.290941,32.506036],[102.290556,32.507212],[102.290392,32.508318],[102.290603,32.510025],[102.29064,32.511691],[102.290391,32.512721],[102.29019,32.513605],[102.289346,32.515511],[102.288597,32.517196],[102.288122,32.517988],[102.287869,32.518673],[102.287337,32.518908],[102.286228,32.519032],[102.284592,32.519194],[102.283165,32.519536],[102.282892,32.519601],[102.281662,32.519821],[102.280661,32.520194],[102.280417,32.5203],[102.280201,32.520393],[102.280189,32.520398],[102.279632,32.520638],[102.279246,32.520805],[102.278934,32.521489],[102.278447,32.522401],[102.277761,32.523683],[102.277274,32.524758],[102.277244,32.524826],[102.277143,32.525049],[102.277014,32.525018],[102.276779,32.524961],[102.276544,32.524904],[102.27631,32.524846],[102.276075,32.524789],[102.275857,32.52472],[102.275639,32.524651],[102.275299,32.52453],[102.275037,32.524347],[102.274816,32.524082],[102.274802,32.52406],[102.274785,32.524033],[102.27465,32.523819],[102.274563,32.523527],[102.274535,32.523284],[102.274531,32.523251],[102.274517,32.523138],[102.274515,32.523108],[102.274514,32.523097],[102.274505,32.522976],[102.274553,32.522872],[102.274604,32.522763],[102.274627,32.522713],[102.274749,32.522451],[102.27489,32.522227],[102.274992,32.522052],[102.274988,32.522033],[102.274974,32.52197],[102.27492,32.521911],[102.274887,32.521875],[102.274809,32.521789],[102.274619,32.521705],[102.274498,32.52168],[102.274354,32.52165],[102.274185,32.521646],[102.274086,32.521644],[102.273972,32.521641],[102.273945,32.52164],[102.273685,32.521627],[102.273398,32.521613],[102.273015,32.521516],[102.27298,32.521506],[102.272871,32.521439],[102.272714,32.521341],[102.272665,32.52131],[102.272604,32.521273],[102.272433,32.521087],[102.272345,32.520991],[102.272162,32.520727],[102.271881,32.520495],[102.2716,32.520327],[102.271536,32.5203],[102.271419,32.52025],[102.271333,32.520214],[102.271306,32.520202],[102.271279,32.520191],[102.271266,32.520188],[102.27088,32.520102],[102.270641,32.520104],[102.270403,32.520107],[102.270124,32.520142],[102.269985,32.520159],[102.269845,32.520177],[102.269719,32.520168],[102.26968,32.520165],[102.2695,32.520152],[102.269215,32.520099],[102.268971,32.519948],[102.268958,32.519931],[102.268931,32.519895],[102.268903,32.519857],[102.268713,32.519601],[102.268591,32.519445],[102.268569,32.519417],[102.268556,32.5194],[102.268475,32.519297],[102.268456,32.519273],[102.268363,32.519104],[102.268242,32.518884],[102.268083,32.518596],[102.268068,32.518568],[102.268027,32.518495],[102.267986,32.51842],[102.267813,32.518106],[102.267707,32.517914],[102.267599,32.517717],[102.267445,32.517468],[102.267417,32.517423],[102.267269,32.517226],[102.267177,32.517127],[102.267019,32.517056],[102.266987,32.517041],[102.26689,32.517035],[102.266644,32.517018],[102.266565,32.517012],[102.266367,32.516998],[102.266319,32.516995],[102.26613,32.51691],[102.265982,32.51676],[102.265873,32.516548],[102.265846,32.516223],[102.265853,32.515964],[102.26592,32.515658],[102.265986,32.515353],[102.266042,32.515195],[102.266049,32.515177],[102.266072,32.515048],[102.266122,32.514677],[102.266013,32.514495],[102.265967,32.514459],[102.265938,32.514437],[102.265863,32.514378],[102.265843,32.514363],[102.265829,32.514356],[102.265524,32.514209],[102.265145,32.514023],[102.264943,32.513842],[102.264759,32.513594],[102.26463,32.513381],[102.264601,32.513044],[102.264572,32.512706],[102.264564,32.512342],[102.264564,32.512341],[102.264562,32.512254],[102.264561,32.512191],[102.264558,32.512084],[102.264557,32.51201],[102.264556,32.511978],[102.264542,32.511781],[102.264535,32.511685],[102.264529,32.511604],[102.264423,32.511328],[102.264391,32.511291],[102.26438,32.511278],[102.264308,32.511196],[102.264219,32.511096],[102.264206,32.511081],[102.2642,32.511073],[102.264173,32.511041],[102.264145,32.511008],[102.264035,32.510876],[102.263985,32.510817],[102.263944,32.510767],[102.263917,32.510743],[102.263897,32.510726],[102.263744,32.51059],[102.263644,32.510502],[102.263581,32.510464],[102.263525,32.510431],[102.263363,32.510333],[102.263221,32.510303],[102.263191,32.510297],[102.263105,32.510295],[102.263045,32.510294],[102.26302,32.510294],[102.262713,32.510303],[102.262465,32.510395],[102.262424,32.51041],[102.262381,32.510443],[102.262272,32.510524],[102.262227,32.510558],[102.262141,32.510622],[102.26211,32.510645],[102.262074,32.510672],[102.261757,32.510913],[102.261519,32.511073],[102.26149,32.511092],[102.261406,32.511148],[102.261268,32.511221],[102.26123,32.511242],[102.261069,32.511285],[102.261006,32.511302],[102.260951,32.511316],[102.260909,32.511328],[102.26085,32.511343],[102.260794,32.511358],[102.260671,32.511391],[102.260385,32.511445],[102.26027,32.511466],[102.260128,32.511493],[102.259869,32.511541],[102.259798,32.511556],[102.259764,32.511563],[102.259715,32.511573],[102.259562,32.511606],[102.259429,32.511666],[102.25942,32.511671],[102.259378,32.51169],[102.259329,32.511712],[102.259096,32.511819],[102.258952,32.511885],[102.258914,32.511902],[102.258876,32.51192],[102.258863,32.511926],[102.258699,32.512001],[102.258629,32.512032],[102.258391,32.512086],[102.258301,32.512106],[102.258153,32.51214],[102.258097,32.512144],[102.257916,32.512158],[102.257678,32.512177],[102.257343,32.512216],[102.257006,32.512303],[102.256693,32.512556],[102.256596,32.512904],[102.256523,32.513161],[102.256498,32.513251],[102.256349,32.513602],[102.256259,32.513811],[102.256169,32.514021],[102.255982,32.514205],[102.255796,32.514389],[102.255623,32.514562],[102.255451,32.514735],[102.255306,32.514932],[102.255161,32.51513],[102.254807,32.51531],[102.254454,32.515491],[102.254177,32.515462],[102.25393,32.515339],[102.253742,32.515123],[102.25361,32.514861],[102.253524,32.514484],[102.253438,32.514108],[102.253385,32.513706],[102.253332,32.513305],[102.25328,32.512903],[102.25327,32.512677],[102.25326,32.512451],[102.25325,32.512225],[102.25324,32.511999],[102.25323,32.511772],[102.25322,32.511546],[102.253211,32.51132],[102.253201,32.511094],[102.253191,32.510867],[102.253181,32.510641],[102.25318,32.510373],[102.25318,32.510106],[102.253179,32.509838],[102.253178,32.50957],[102.253178,32.509303],[102.253177,32.509035],[102.253176,32.508767],[102.253175,32.5085],[102.253175,32.508232],[102.253174,32.507964],[102.253173,32.507696],[102.253173,32.507429],[102.253172,32.507161],[102.253171,32.506893],[102.253171,32.506626],[102.25317,32.506358],[102.253154,32.50612],[102.253138,32.505882],[102.253122,32.505645],[102.253106,32.505407],[102.25309,32.505169],[102.253074,32.504931],[102.253058,32.504694],[102.253042,32.504456],[102.253026,32.504218],[102.25301,32.503981],[102.252994,32.503743],[102.252978,32.503505],[102.25293,32.503249],[102.252882,32.502993],[102.252834,32.502737],[102.252786,32.50248],[102.252738,32.502224],[102.252691,32.501968],[102.252605,32.501755],[102.25252,32.501542],[102.252435,32.501328],[102.25235,32.501115],[102.252265,32.500902],[102.252179,32.500688],[102.252094,32.500475],[102.252009,32.500262],[102.25194,32.500117],[102.251924,32.500082],[102.251843,32.499911],[102.251745,32.499705],[102.251647,32.499499],[102.25155,32.499293],[102.251452,32.499088],[102.251355,32.498882],[102.251263,32.498536],[102.251172,32.49819],[102.25111,32.497955],[102.251048,32.49772],[102.250987,32.497485],[102.250925,32.497251],[102.250863,32.497016],[102.250801,32.496781],[102.250739,32.496547],[102.250677,32.496312],[102.250615,32.496077],[102.250554,32.495842],[102.250492,32.495608],[102.25043,32.495373],[102.250368,32.495138],[102.250306,32.494904],[102.250179,32.494548],[102.250121,32.494388],[102.250051,32.494192],[102.249838,32.493833],[102.249649,32.493642],[102.249348,32.493493],[102.24896,32.493415],[102.248703,32.493409],[102.248446,32.493403],[102.248189,32.493397],[102.247931,32.493392],[102.247666,32.493421],[102.247402,32.49345],[102.247136,32.49348],[102.246871,32.493509],[102.246501,32.49376],[102.246132,32.494011],[102.245762,32.494262],[102.245711,32.494302],[102.245563,32.494415],[102.245363,32.494568],[102.245164,32.49472],[102.244965,32.494873],[102.244765,32.495025],[102.244566,32.495178],[102.244366,32.49533],[102.244167,32.495483],[102.243968,32.495635],[102.243768,32.495788],[102.243569,32.495941],[102.24337,32.496093],[102.243205,32.496252],[102.24304,32.49641],[102.242875,32.496568],[102.24271,32.496727],[102.242545,32.496885],[102.24238,32.497043],[102.242215,32.497202],[102.24205,32.49736],[102.241891,32.497565],[102.241731,32.497771],[102.241572,32.497976],[102.241413,32.498182],[102.241253,32.498387],[102.241176,32.498487],[102.241094,32.498593],[102.240934,32.498798],[102.240775,32.499004],[102.24077,32.499014],[102.240604,32.499375],[102.240433,32.499746],[102.240262,32.500117],[102.240142,32.500378],[102.24003,32.500582],[102.239918,32.500787],[102.239806,32.500992],[102.239694,32.501197],[102.239582,32.501401],[102.23947,32.501606],[102.239358,32.501811],[102.239246,32.502016],[102.239134,32.50222],[102.239022,32.502425],[102.238908,32.502678],[102.238793,32.50293],[102.238679,32.503183],[102.238565,32.503435],[102.238451,32.503688],[102.238393,32.503815],[102.238336,32.50394],[102.238282,32.50419],[102.238228,32.50444],[102.238174,32.50469],[102.23812,32.504941],[102.238066,32.505191],[102.238011,32.505441],[102.237976,32.505699],[102.23794,32.505957],[102.237934,32.506192],[102.237927,32.506427],[102.237959,32.506687],[102.237992,32.506947],[102.238086,32.507165],[102.23818,32.507384],[102.238273,32.507603],[102.238367,32.507822],[102.238461,32.508041],[102.238555,32.50826],[102.238649,32.508479],[102.238742,32.508697],[102.238836,32.508916],[102.23893,32.509135],[102.238986,32.509354],[102.239042,32.509574],[102.239099,32.509793],[102.239155,32.510012],[102.239199,32.510366],[102.239162,32.510672],[102.239042,32.510975],[102.238808,32.5113],[102.238636,32.511473],[102.238464,32.511646],[102.238175,32.511968],[102.237945,32.512246],[102.237826,32.512491],[102.237707,32.512736],[102.237615,32.513016],[102.237608,32.513257],[102.237605,32.513345],[102.237595,32.513674],[102.237694,32.514077],[102.237727,32.514337],[102.237761,32.514597],[102.237753,32.514867],[102.237744,32.515138],[102.237706,32.515514],[102.237615,32.515723],[102.237493,32.516074],[102.237432,32.516293],[102.23737,32.516512],[102.237383,32.516655],[102.237401,32.516853],[102.237433,32.517195],[102.237437,32.517501],[102.237442,32.517807],[102.237442,32.51792],[102.237443,32.518059],[102.237445,32.51831],[102.237446,32.518561],[102.237448,32.518813],[102.237449,32.519064],[102.237451,32.519315],[102.237508,32.519717],[102.237566,32.520118],[102.237527,32.520447],[102.237489,32.520776],[102.237394,32.521174],[102.237246,32.521453],[102.237099,32.521733],[102.236927,32.522082],[102.236755,32.522431],[102.236583,32.52278],[102.236322,32.523136],[102.23606,32.523491],[102.235799,32.523847],[102.235644,32.52402],[102.23549,32.524193],[102.235335,32.524366],[102.23518,32.524539],[102.235025,32.524712],[102.23487,32.524885],[102.234715,32.525059],[102.234561,32.525232],[102.234394,32.525446],[102.234227,32.52566],[102.23406,32.525874],[102.233893,32.526089],[102.233761,32.526333],[102.233629,32.526577],[102.233452,32.526903],[102.2334,32.527196],[102.233349,32.52749],[102.233335,32.527741],[102.23332,32.527992],[102.233306,32.528244],[102.233292,32.528495],[102.233336,32.528861],[102.23338,32.529227],[102.233342,32.529544],[102.233305,32.529861],[102.233239,32.530201],[102.233174,32.530541],[102.233139,32.530776],[102.233104,32.53101],[102.233047,32.531244],[102.232991,32.531479],[102.23295,32.53165],[102.232935,32.531713],[102.232879,32.531947],[102.232781,32.532192],[102.232683,32.532437],[102.232585,32.532682],[102.232487,32.532927],[102.232425,32.533144],[102.232362,32.533361],[102.2323,32.533578],[102.232238,32.533794],[102.232239,32.534027],[102.23224,32.53426],[102.23224,32.534492],[102.232241,32.534725],[102.232242,32.534958],[102.232242,32.535108],[102.232243,32.53519],[102.232244,32.535423],[102.232244,32.535656],[102.232245,32.535888],[102.232246,32.536121],[102.232205,32.536387],[102.232165,32.536653],[102.232124,32.536919],[102.232083,32.537185],[102.232043,32.537451],[102.232002,32.537717],[102.231908,32.538068],[102.231814,32.538419],[102.231733,32.538601],[102.231679,32.538722],[102.231545,32.539025],[102.231382,32.539328],[102.231219,32.539631],[102.23107,32.539933],[102.23099,32.540097],[102.230922,32.540235],[102.230841,32.540611],[102.23076,32.540986],[102.230695,32.541279],[102.230631,32.541571],[102.230618,32.541704],[102.230609,32.541784],[102.23058,32.542065],[102.230551,32.542346],[102.230566,32.542731],[102.230582,32.543115],[102.230597,32.543499],[102.230716,32.543726],[102.230834,32.543954],[102.23088,32.544262],[102.230842,32.54459],[102.230691,32.544963],[102.230652,32.545011],[102.230431,32.545287],[102.230233,32.545424],[102.230035,32.545561],[102.229751,32.545696],[102.229468,32.545831],[102.229215,32.545919],[102.228962,32.546008],[102.228623,32.546095],[102.228373,32.546112],[102.228234,32.54611],[102.227848,32.545983],[102.227462,32.545857],[102.227227,32.545731],[102.226992,32.545606],[102.226757,32.54548],[102.226523,32.545355],[102.226288,32.545229],[102.226182,32.545173],[102.226053,32.545104],[102.225859,32.54497],[102.225666,32.544836],[102.225472,32.544702],[102.225279,32.544568],[102.225086,32.544435],[102.224892,32.544301],[102.224699,32.544167],[102.224505,32.544033],[102.224312,32.543899],[102.224118,32.543765],[102.223886,32.543629],[102.223653,32.543492],[102.223421,32.543356],[102.223189,32.543219],[102.222956,32.543083],[102.222724,32.542946],[102.222491,32.542809],[102.222259,32.542673],[102.222026,32.542536],[102.221794,32.5424],[102.221562,32.542263],[102.221329,32.542126],[102.221082,32.541955],[102.220835,32.541784],[102.220508,32.541558],[102.220182,32.541332],[102.219855,32.541106],[102.219655,32.540853],[102.219504,32.540664],[102.219489,32.540645],[102.219471,32.540623],[102.219454,32.540601],[102.219242,32.540244],[102.219058,32.539886],[102.218985,32.539579],[102.218913,32.53916],[102.218841,32.538742],[102.21877,32.538323],[102.218698,32.537904],[102.21866,32.537661],[102.218622,32.537419],[102.218585,32.537177],[102.218547,32.536934],[102.218509,32.536692],[102.218471,32.53645],[102.218434,32.536208],[102.218396,32.535965],[102.218379,32.535588],[102.218249,32.535326],[102.218005,32.535062],[102.217814,32.53494],[102.217623,32.534817],[102.217266,32.534717],[102.216987,32.53471],[102.216743,32.53471],[102.2165,32.534711],[102.21634,32.534711],[102.216256,32.534712],[102.216013,32.534712],[102.215614,32.534703],[102.215215,32.534694],[102.214816,32.534686],[102.214383,32.534711],[102.213951,32.534737],[102.213688,32.5348],[102.213425,32.534862],[102.213287,32.534895],[102.213239,32.534906],[102.213172,32.534922],[102.213163,32.534925],[102.213151,32.534927],[102.213123,32.534934],[102.2129,32.534987],[102.212727,32.535028],[102.212638,32.535049],[102.212375,32.535112],[102.212113,32.535174],[102.21185,32.535237],[102.211587,32.535299],[102.211325,32.535361],[102.211063,32.535416],[102.210802,32.535472],[102.21054,32.535527],[102.210279,32.535582],[102.210017,32.535637],[102.209755,32.535692],[102.209494,32.535747],[102.209232,32.535802],[102.209173,32.535814],[102.208971,32.535857],[102.208709,32.535912],[102.208448,32.535967],[102.208291,32.536],[102.208275,32.536004],[102.208186,32.536022],[102.207774,32.53613],[102.20765,32.536163],[102.207552,32.536189],[102.207363,32.536239],[102.206951,32.536347],[102.206559,32.536393],[102.206168,32.53644],[102.205777,32.536486],[102.205771,32.536486],[102.205443,32.536491],[102.205108,32.536495],[102.204873,32.536466],[102.204637,32.536437],[102.204276,32.536406],[102.203859,32.536326],[102.203532,32.536177],[102.203313,32.536054],[102.203126,32.535791],[102.203044,32.535537],[102.202962,32.535283],[102.202879,32.535029],[102.202797,32.534774],[102.202715,32.53452],[102.202633,32.534266],[102.202551,32.534011],[102.202469,32.533757],[102.202387,32.533503],[102.202305,32.533248],[102.202223,32.532994],[102.202141,32.53274],[102.202059,32.532486],[102.201977,32.532231],[102.201895,32.531977],[102.201813,32.531723],[102.201731,32.531468],[102.201648,32.531214],[102.201566,32.53096],[102.201484,32.530706],[102.201402,32.530451],[102.20132,32.530197],[102.201247,32.529978],[102.201173,32.529758],[102.2011,32.529539],[102.201027,32.529319],[102.200953,32.5291],[102.20088,32.52888],[102.200806,32.528661],[102.200733,32.528441],[102.200675,32.528178],[102.200617,32.527915],[102.200559,32.527652],[102.200502,32.527388],[102.200444,32.527125],[102.200386,32.526862],[102.200328,32.526599],[102.20027,32.526335],[102.200253,32.525984],[102.200264,32.525605],[102.200298,32.525419],[102.200359,32.525254],[102.20053,32.525105],[102.200681,32.524974],[102.200689,32.524968],[102.200701,32.524957],[102.200874,32.524808],[102.201046,32.524659],[102.201218,32.524511],[102.20139,32.524362],[102.201563,32.524213],[102.201643,32.524144],[102.201645,32.524143],[102.201735,32.524065],[102.201907,32.523916],[102.201961,32.52387],[102.202079,32.523767],[102.202245,32.523571],[102.202412,32.523374],[102.202578,32.523178],[102.202744,32.522982],[102.202949,32.52268],[102.203069,32.522425],[102.203174,32.522191],[102.203278,32.521957],[102.203345,32.521712],[102.203411,32.521466],[102.203478,32.52122],[102.203545,32.520975],[102.203612,32.520729],[102.203679,32.520483],[102.203745,32.520238],[102.203812,32.519992],[102.203867,32.519552],[102.203922,32.519112],[102.203977,32.518671],[102.204001,32.518481],[102.204001,32.518479],[102.204002,32.518477],[102.204033,32.518231],[102.204031,32.518193],[102.204011,32.517808],[102.203989,32.517385],[102.203967,32.516961],[102.203946,32.516538],[102.203898,32.516278],[102.20385,32.516018],[102.203803,32.515758],[102.203755,32.515498],[102.203666,32.515237],[102.203577,32.514976],[102.20342,32.514643],[102.203318,32.514359],[102.203191,32.513955],[102.203108,32.513694],[102.203025,32.513433],[102.202943,32.513172],[102.20286,32.512911],[102.202851,32.512676],[102.202842,32.512441],[102.202833,32.512206],[102.202824,32.511971],[102.202815,32.511735],[102.202806,32.5115],[102.202797,32.511265],[102.202788,32.51103],[102.202779,32.510795],[102.20277,32.510559],[102.202761,32.510324],[102.202757,32.510228],[102.202752,32.510089],[102.202713,32.509853],[102.202674,32.509616],[102.202634,32.50938],[102.202595,32.509144],[102.202556,32.508907],[102.202517,32.508671],[102.202478,32.508435],[102.202439,32.508198],[102.2024,32.507962],[102.202361,32.507726],[102.202322,32.507489],[102.202282,32.507253],[102.202255,32.506992],[102.202228,32.506731],[102.202201,32.50647],[102.202174,32.506209],[102.202147,32.505948],[102.20212,32.505686],[102.202093,32.505425],[102.202066,32.505164],[102.202039,32.504903],[102.202012,32.504642],[102.201985,32.504381],[102.201958,32.50412],[102.201931,32.503859],[102.201904,32.503598],[102.201877,32.503337],[102.20185,32.503076],[102.201797,32.502674],[102.201744,32.502272],[102.201692,32.50187],[102.201537,32.501514],[102.201376,32.501276],[102.201215,32.501084],[102.201,32.500867],[102.200702,32.500578],[102.200461,32.500219],[102.200418,32.500117],[102.200281,32.499791],[102.200176,32.499577],[102.200072,32.499362],[102.19997,32.499031],[102.199923,32.498765],[102.199876,32.498499],[102.199828,32.498233],[102.199781,32.497968],[102.199731,32.497724],[102.199682,32.49748],[102.199632,32.497237],[102.199582,32.496993],[102.199532,32.496749],[102.199482,32.496506],[102.199387,32.496284],[102.199292,32.496062],[102.199274,32.496021],[102.199197,32.49584],[102.199102,32.495618],[102.199006,32.495396],[102.198989,32.495356],[102.198911,32.495175],[102.198699,32.494863],[102.198535,32.494765],[102.198314,32.49469],[102.198009,32.494685],[102.197618,32.494699],[102.197395,32.494728],[102.197172,32.494758],[102.196907,32.494776],[102.196642,32.494794],[102.196196,32.494807],[102.195751,32.494798],[102.195306,32.494788],[102.195023,32.494782],[102.194862,32.494779],[102.19464,32.494738],[102.194419,32.494697],[102.194032,32.494606],[102.193645,32.494515],[102.193386,32.494419],[102.193127,32.494323],[102.192868,32.494227],[102.192609,32.494131],[102.19235,32.494035],[102.192091,32.493939],[102.191832,32.493843],[102.191572,32.493747],[102.191313,32.493651],[102.191054,32.493555],[102.190795,32.493458],[102.190536,32.493362],[102.190422,32.493317],[102.190407,32.493101],[102.190308,32.49166],[102.190146,32.489163],[102.190196,32.48754],[102.190116,32.484999],[102.190245,32.484007],[102.190247,32.483987],[102.190347,32.483219],[102.190356,32.483147],[102.190431,32.482569],[102.190829,32.48004],[102.191084,32.478285],[102.191362,32.477039],[102.191566,32.475622],[102.191625,32.475014],[102.190869,32.473643],[102.190209,32.473019],[102.190121,32.472689],[102.189816,32.471555],[102.189845,32.470611],[102.189847,32.470541],[102.189853,32.470371],[102.189859,32.468887],[102.189859,32.468882],[102.189841,32.468837],[102.189451,32.467891],[102.189325,32.466805],[102.189001,32.465647],[102.188354,32.464651],[102.187653,32.46406],[102.186502,32.463865],[102.185543,32.463877],[102.184357,32.463512],[102.182871,32.462497],[102.182061,32.461599],[102.181184,32.460259],[102.180516,32.458653],[102.179957,32.457355],[102.178293,32.455659],[102.177609,32.45456],[102.177051,32.453262],[102.177122,32.452248],[102.17725,32.450899],[102.177301,32.450356],[102.177262,32.449069],[102.176963,32.447133],[102.176604,32.445839],[102.176494,32.444245],[102.176729,32.4431],[102.178165,32.440593],[102.178953,32.439629],[102.179582,32.438662],[102.179974,32.437621],[102.180074,32.43698],[102.179828,32.435892],[102.179334,32.435102],[102.179353,32.434493],[102.17904,32.432997],[102.178558,32.431835],[102.177884,32.430398],[102.177654,32.428802],[102.177956,32.428098],[102.17782,32.427317],[102.178134,32.426207],[102.178769,32.42507],[102.179495,32.423529],[102.180289,32.422689],[102.180403,32.422568],[102.181511,32.421577],[102.182488,32.420956],[102.183544,32.420371],[102.184198,32.419877],[102.184373,32.419374],[102.184315,32.418695],[102.183905,32.417738],[102.183051,32.416975],[102.182793,32.416292],[102.182047,32.415903],[102.181391,32.415177],[102.180948,32.414017],[102.180106,32.412881],[102.178906,32.411703],[102.178143,32.41047],[102.177899,32.409269],[102.177831,32.407833],[102.177736,32.403623],[102.177688,32.401566],[102.177022,32.3994],[102.176786,32.397915],[102.176776,32.397853],[102.176769,32.397807],[102.176743,32.397648],[102.17674,32.397624],[102.176606,32.396474],[102.177087,32.395528],[102.177899,32.394769],[102.178099,32.394304],[102.178118,32.394259],[102.178127,32.394237],[102.178067,32.394221],[102.178007,32.394204],[102.177247,32.394002],[102.1769,32.39387],[102.176874,32.39386],[102.176767,32.393819],[102.176719,32.393801],[102.176618,32.393763],[102.176551,32.393737],[102.176434,32.393693],[102.176244,32.393621],[102.176065,32.393549],[102.176002,32.393524],[102.175933,32.393496],[102.175651,32.393383],[102.175632,32.393375],[102.175611,32.393369],[102.175201,32.393203],[102.174777,32.393229],[102.174767,32.393573],[102.174765,32.393624],[102.174763,32.393681],[102.174762,32.393731],[102.174325,32.394187],[102.173881,32.394177],[102.173814,32.394176],[102.173734,32.394174],[102.173727,32.394165],[102.173699,32.394124],[102.173289,32.393519],[102.173214,32.392941],[102.173208,32.39289],[102.173205,32.392866],[102.1732,32.392827],[102.173187,32.392727],[102.173166,32.392559],[102.17316,32.392508],[102.173113,32.392123],[102.173109,32.392091],[102.173102,32.392034],[102.173086,32.3919],[102.172956,32.391882],[102.172826,32.391863],[102.17277,32.391855],[102.172758,32.391853],[102.172497,32.391815],[102.17169,32.391941],[102.170849,32.391778],[102.170823,32.391733],[102.170806,32.391705],[102.170568,32.391306],[102.170609,32.391013],[102.170614,32.390974],[102.170637,32.390813],[102.170642,32.390776],[102.170666,32.3906],[102.170655,32.390583],[102.170641,32.390528],[102.170661,32.390492],[102.170679,32.390479],[102.170687,32.390204],[102.170688,32.390169],[102.1707,32.389803],[102.170631,32.389302],[102.170641,32.389284],[102.170649,32.389249],[102.170643,32.38922],[102.170616,32.389186],[102.170597,32.389047],[102.170133,32.388674],[102.17012,32.388663],[102.170104,32.38866],[102.170087,32.388637],[102.169996,32.388564],[102.169967,32.388471],[102.169955,32.388416],[102.169912,32.388356],[102.169845,32.388303],[102.169816,32.38829],[102.169784,32.388289],[102.169707,32.388312],[102.169688,32.388329],[102.169652,32.388339],[102.16964,32.38834],[102.169601,32.388324],[102.169541,32.388284],[102.169454,32.38823],[102.169358,32.38817],[102.169323,32.388123],[102.169322,32.388089],[102.169369,32.388026],[102.169373,32.388022],[102.169378,32.388018],[102.169383,32.388014],[102.169389,32.388012],[102.169422,32.388],[102.169427,32.387998],[102.169433,32.387997],[102.16944,32.387997],[102.169446,32.387997],[102.169491,32.388002],[102.169525,32.387997],[102.169538,32.387984],[102.169543,32.387957],[102.169489,32.38785],[102.169447,32.387798],[102.169418,32.387779],[102.169411,32.387776],[102.169376,32.387748],[102.169325,32.387735],[102.169262,32.387734],[102.169219,32.387728],[102.169185,32.387711],[102.169162,32.38768],[102.169194,32.387663],[102.169185,32.38761],[102.169195,32.38756],[102.169239,32.387476],[102.169242,32.387471],[102.169289,32.387423],[102.169345,32.387398],[102.169648,32.387353],[102.169878,32.387286],[102.169979,32.387248],[102.169989,32.387242],[102.170015,32.387232],[102.170167,32.387193],[102.170272,32.387137],[102.170298,32.387088],[102.170294,32.387056],[102.17029,32.387052],[102.17026,32.387022],[102.170225,32.387013],[102.170143,32.387018],[102.170072,32.386993],[102.170057,32.386982],[102.170029,32.386963],[102.169999,32.386921],[102.169933,32.386753],[102.169897,32.386712],[102.169867,32.386677],[102.169861,32.386637],[102.169882,32.386604],[102.169927,32.386579],[102.170049,32.386559],[102.170082,32.386548],[102.170127,32.386511],[102.170136,32.386465],[102.170126,32.386438],[102.170088,32.386394],[102.169938,32.386337],[102.169927,32.38633],[102.169856,32.386286],[102.169838,32.386258],[102.16983,32.386195],[102.169857,32.386111],[102.169867,32.386081],[102.169944,32.385946],[102.170015,32.385858],[102.170108,32.385784],[102.170167,32.385569],[102.170209,32.385536],[102.170203,32.3855],[102.170304,32.385444],[102.170333,32.385419],[102.17031,32.385366],[102.170183,32.385245],[102.170178,32.385199],[102.170207,32.385147],[102.170285,32.385077],[102.170356,32.385045],[102.170419,32.385047],[102.170445,32.385062],[102.170474,32.385098],[102.170513,32.385111],[102.170544,32.385112],[102.170576,32.385106],[102.170606,32.385091],[102.170657,32.385033],[102.170657,32.384891],[102.170646,32.384821],[102.170615,32.384752],[102.170517,32.384628],[102.170476,32.384524],[102.170451,32.384503],[102.170284,32.384454],[102.170138,32.384382],[102.170112,32.38436],[102.170101,32.38434],[102.170094,32.384291],[102.170114,32.384232],[102.170167,32.384179],[102.170241,32.384142],[102.170379,32.384108],[102.170453,32.38408],[102.170512,32.384046],[102.170542,32.383997],[102.17057,32.383861],[102.170566,32.383838],[102.17054,32.383806],[102.170477,32.38378],[102.170437,32.383764],[102.170391,32.383721],[102.170312,32.383597],[102.1703,32.383573],[102.170263,32.383499],[102.170254,32.383431],[102.170266,32.383394],[102.170276,32.383384],[102.170305,32.383353],[102.170387,32.383301],[102.17053,32.38324],[102.170601,32.383166],[102.170641,32.383081],[102.170679,32.383003],[102.170783,32.382744],[102.170786,32.38271],[102.17077,32.382669],[102.170709,32.382594],[102.170627,32.382546],[102.170605,32.38254],[102.170571,32.382549],[102.170517,32.382564],[102.170486,32.382573],[102.17044,32.38257],[102.170403,32.382554],[102.170357,32.3825],[102.1703,32.382457],[102.170276,32.382424],[102.170233,32.382311],[102.170224,32.382298],[102.170189,32.382245],[102.170168,32.38223],[102.170129,32.382233],[102.170089,32.382224],[102.170053,32.382187],[102.170029,32.382121],[102.169986,32.382001],[102.16989,32.381849],[102.16989,32.381807],[102.169916,32.381785],[102.169969,32.381775],[102.170082,32.381776],[102.17011,32.38176],[102.170137,32.381729],[102.170151,32.381649],[102.170115,32.381563],[102.170123,32.381548],[102.170155,32.381529],[102.170163,32.381436],[102.170198,32.381417],[102.170226,32.381416],[102.170233,32.381406],[102.170238,32.381368],[102.170219,32.38134],[102.170209,32.381299],[102.17021,32.381261],[102.170223,32.381212],[102.170248,32.381168],[102.170283,32.381133],[102.170324,32.381115],[102.17038,32.38109],[102.17041,32.381035],[102.170411,32.381012],[102.170402,32.380993],[102.170313,32.381027],[102.1703,32.381028],[102.170252,32.381034],[102.170184,32.381022],[102.170136,32.381006],[102.170116,32.380999],[102.170083,32.380965],[102.17008,32.380928],[102.170111,32.380859],[102.170162,32.380814],[102.170226,32.380755],[102.170237,32.380746],[102.170243,32.380706],[102.170228,32.380672],[102.170213,32.380664],[102.170201,32.380664],[102.17019,32.380664],[102.170129,32.380682],[102.170051,32.380736],[102.170031,32.38079],[102.170001,32.380819],[102.169953,32.380838],[102.1699,32.380833],[102.169856,32.380804],[102.169801,32.38073],[102.169573,32.380514],[102.169541,32.380485],[102.169495,32.38043],[102.169498,32.380404],[102.169519,32.380374],[102.169658,32.380312],[102.169811,32.380203],[102.16985,32.380187],[102.16995,32.380176],[102.170017,32.380158],[102.170052,32.380128],[102.170084,32.380069],[102.170071,32.38001],[102.170048,32.379984],[102.170022,32.37997],[102.169991,32.379968],[102.169867,32.380011],[102.169842,32.380008],[102.169812,32.379992],[102.16978,32.379947],[102.169766,32.379849],[102.16978,32.379776],[102.169803,32.379745],[102.169819,32.379736],[102.169856,32.37974],[102.169943,32.37978],[102.16996,32.379769],[102.169959,32.37974],[102.169927,32.379628],[102.169877,32.379541],[102.169876,32.37952],[102.169896,32.379486],[102.169936,32.379464],[102.169967,32.37946],[102.170063,32.379508],[102.170086,32.379494],[102.170108,32.379481],[102.170135,32.379444],[102.170131,32.379421],[102.17007,32.379335],[102.170021,32.379268],[102.170007,32.379205],[102.169968,32.37916],[102.169948,32.379087],[102.169959,32.379055],[102.170025,32.378995],[102.170032,32.378983],[102.170043,32.378964],[102.170037,32.378771],[102.17003,32.378737],[102.170006,32.378733],[102.169923,32.378717],[102.16983,32.378681],[102.169701,32.378599],[102.169569,32.37854],[102.169417,32.378418],[102.169397,32.378371],[102.169415,32.378299],[102.169406,32.378264],[102.169366,32.378216],[102.169267,32.378134],[102.169085,32.377896],[102.169081,32.377878],[102.169089,32.377852],[102.169125,32.377829],[102.169139,32.3778],[102.169133,32.377781],[102.169121,32.377747],[102.169062,32.377678],[102.168867,32.377543],[102.168839,32.377493],[102.16884,32.377462],[102.168878,32.377413],[102.168897,32.377405],[102.168961,32.377401],[102.169013,32.377412],[102.169022,32.377418],[102.169062,32.377442],[102.169078,32.377458],[102.169104,32.377517],[102.169122,32.37754],[102.169204,32.377521],[102.169256,32.377492],[102.16929,32.377458],[102.169309,32.37745],[102.169344,32.377461],[102.169367,32.377481],[102.169384,32.377547],[102.169398,32.377567],[102.169432,32.377562],[102.169476,32.377519],[102.169487,32.377396],[102.169517,32.377365],[102.169554,32.377361],[102.169584,32.377234],[102.169582,32.377135],[102.169595,32.377064],[102.169588,32.377048],[102.169542,32.377018],[102.169533,32.37699],[102.169552,32.376952],[102.16963,32.376884],[102.169643,32.376861],[102.169645,32.376827],[102.169628,32.376779],[102.169601,32.376733],[102.169564,32.37674],[102.169478,32.376734],[102.169433,32.376716],[102.169417,32.376701],[102.169411,32.376683],[102.169481,32.376592],[102.169469,32.376521],[102.169481,32.376482],[102.1695,32.376463],[102.169547,32.376445],[102.169608,32.37645],[102.169641,32.376463],[102.169674,32.376454],[102.169698,32.376419],[102.169706,32.376394],[102.169707,32.376378],[102.16968,32.376327],[102.169689,32.376298],[102.16972,32.376269],[102.169846,32.376197],[102.169828,32.376162],[102.169724,32.376146],[102.169696,32.37613],[102.169658,32.376089],[102.169655,32.376069],[102.169667,32.376042],[102.169731,32.375996],[102.169733,32.37598],[102.169721,32.375955],[102.169675,32.375951],[102.169586,32.375959],[102.169542,32.37595],[102.169503,32.375921],[102.169497,32.375895],[102.169503,32.375863],[102.169532,32.375813],[102.169565,32.375793],[102.169625,32.375792],[102.169772,32.375806],[102.169921,32.375785],[102.169955,32.375757],[102.169956,32.375702],[102.169854,32.375672],[102.1698,32.375635],[102.169758,32.375595],[102.169717,32.375606],[102.169652,32.375662],[102.16963,32.375669],[102.169584,32.375661],[102.169511,32.375609],[102.169506,32.375598],[102.169493,32.375565],[102.169497,32.375535],[102.169524,32.375495],[102.169599,32.375427],[102.169606,32.375396],[102.169599,32.375325],[102.169585,32.375302],[102.169565,32.375289],[102.169513,32.375344],[102.169452,32.375366],[102.169391,32.375347],[102.169348,32.375319],[102.169341,32.375289],[102.169355,32.375259],[102.169486,32.375188],[102.169482,32.375151],[102.169455,32.375089],[102.169419,32.375068],[102.169344,32.375096],[102.169297,32.375159],[102.169256,32.375182],[102.169205,32.375182],[102.169196,32.37518],[102.169121,32.375165],[102.169104,32.375203],[102.169075,32.375271],[102.169071,32.37531],[102.169059,32.37541],[102.169025,32.375441],[102.168996,32.375454],[102.168961,32.375463],[102.168871,32.375464],[102.168844,32.375471],[102.168844,32.375478],[102.16887,32.375496],[102.168879,32.375524],[102.16886,32.37557],[102.168846,32.375582],[102.168803,32.375581],[102.168723,32.375521],[102.168668,32.37546],[102.168653,32.375429],[102.168653,32.375412],[102.168673,32.375396],[102.168711,32.375392],[102.168753,32.375359],[102.168829,32.37521],[102.168866,32.375089],[102.168885,32.375061],[102.168914,32.375041],[102.168949,32.37503],[102.168965,32.375025],[102.168992,32.375016],[102.169014,32.374997],[102.169026,32.374964],[102.169009,32.374825],[102.168987,32.374825],[102.16895,32.374837],[102.168935,32.37485],[102.168904,32.374906],[102.168897,32.374911],[102.168884,32.374919],[102.168843,32.37493],[102.16881,32.374919],[102.168761,32.374876],[102.168681,32.374878],[102.168637,32.374857],[102.168615,32.374837],[102.168604,32.374778],[102.168621,32.37474],[102.168641,32.374718],[102.168654,32.374709],[102.168705,32.374678],[102.168812,32.374645],[102.168822,32.374641],[102.168832,32.374631],[102.168835,32.374604],[102.168821,32.374578],[102.168816,32.374569],[102.168783,32.374539],[102.168764,32.374531],[102.168663,32.374557],[102.168618,32.374552],[102.168539,32.374492],[102.168512,32.374461],[102.168458,32.374334],[102.16839,32.374252],[102.16838,32.374212],[102.168397,32.374181],[102.168432,32.374166],[102.168461,32.374166],[102.168516,32.374192],[102.168546,32.374193],[102.168555,32.374178],[102.168551,32.374145],[102.168525,32.374086],[102.168496,32.374076],[102.168456,32.37408],[102.168365,32.37413],[102.168253,32.374179],[102.168245,32.374181],[102.168218,32.374189],[102.168154,32.374188],[102.168037,32.374152],[102.167963,32.374101],[102.167917,32.374041],[102.167903,32.373986],[102.167914,32.373875],[102.167914,32.373867],[102.167943,32.373783],[102.168012,32.373713],[102.16814,32.373634],[102.168688,32.373499],[102.168792,32.373495],[102.168914,32.373512],[102.168927,32.373507],[102.168953,32.373479],[102.16897,32.373441],[102.168973,32.373364],[102.168894,32.37321],[102.16888,32.373168],[102.168886,32.373145],[102.168963,32.373085],[102.16928,32.372897],[102.1693,32.372875],[102.169316,32.372826],[102.169308,32.372778],[102.169163,32.372715],[102.169156,32.37271],[102.169134,32.372691],[102.169122,32.372671],[102.169106,32.372597],[102.169107,32.372562],[102.169111,32.37248],[102.169065,32.372477],[102.169044,32.372487],[102.169023,32.372497],[102.169001,32.372555],[102.168971,32.372595],[102.168924,32.37263],[102.16885,32.372657],[102.168799,32.372651],[102.168759,32.372618],[102.168746,32.372591],[102.168743,32.372533],[102.16876,32.372475],[102.168781,32.372437],[102.168815,32.372373],[102.168864,32.372323],[102.16898,32.372278],[102.169223,32.372225],[102.169236,32.372212],[102.169231,32.372176],[102.169167,32.372149],[102.169142,32.372129],[102.169121,32.372068],[102.169128,32.372053],[102.169145,32.372039],[102.169276,32.371999],[102.169273,32.371982],[102.16925,32.37195],[102.169142,32.371925],[102.169115,32.371908],[102.169077,32.371883],[102.16905,32.371847],[102.16904,32.371789],[102.169064,32.371659],[102.169127,32.371533],[102.169184,32.37148],[102.169268,32.371455],[102.169289,32.371398],[102.169288,32.371316],[102.169271,32.371268],[102.169229,32.371224],[102.169115,32.371142],[102.169099,32.371108],[102.169103,32.371085],[102.169126,32.371047],[102.1692,32.371021],[102.169204,32.370976],[102.169193,32.370869],[102.169209,32.370821],[102.169226,32.370803],[102.169248,32.370797],[102.169286,32.370803],[102.169328,32.370822],[102.16934,32.370827],[102.169383,32.370867],[102.16947,32.370981],[102.169495,32.370997],[102.169705,32.370998],[102.169759,32.37098],[102.169799,32.370951],[102.169801,32.370894],[102.169781,32.37086],[102.169626,32.370755],[102.169604,32.370733],[102.16956,32.37069],[102.169533,32.37063],[102.169517,32.370542],[102.169484,32.370471],[102.16948,32.370425],[102.169507,32.370358],[102.169547,32.370323],[102.169611,32.370292],[102.169715,32.37028],[102.16974,32.370263],[102.169752,32.370221],[102.169658,32.370152],[102.169651,32.370131],[102.169656,32.370114],[102.169709,32.370051],[102.1698,32.369988],[102.169856,32.369935],[102.169884,32.369886],[102.169914,32.369784],[102.169895,32.369735],[102.169858,32.369687],[102.169718,32.369591],[102.169694,32.369575],[102.169625,32.369514],[102.169594,32.369468],[102.169589,32.369443],[102.169595,32.369384],[102.169619,32.369298],[102.169664,32.36919],[102.169682,32.369114],[102.169684,32.36909],[102.169685,32.369077],[102.169687,32.369057],[102.16969,32.369029],[102.169684,32.368983],[102.169668,32.368941],[102.16961,32.368871],[102.1695,32.368737],[102.169472,32.368669],[102.169462,32.368612],[102.169462,32.368533],[102.169498,32.368414],[102.169514,32.368363],[102.169512,32.368345],[102.169507,32.368289],[102.169487,32.368279],[102.169469,32.368277],[102.169427,32.368274],[102.169356,32.368282],[102.169313,32.368295],[102.169185,32.368357],[102.169178,32.368363],[102.169155,32.368383],[102.169112,32.368441],[102.169072,32.368451],[102.169007,32.368433],[102.168944,32.368372],[102.168881,32.368338],[102.168831,32.368328],[102.168739,32.368364],[102.168687,32.36837],[102.168625,32.368368],[102.168577,32.368347],[102.168541,32.36829],[102.168529,32.368238],[102.168535,32.368194],[102.168552,32.36817],[102.168616,32.368117],[102.168635,32.368045],[102.168637,32.367966],[102.168597,32.36788],[102.168603,32.367816],[102.168652,32.367733],[102.168738,32.367663],[102.168828,32.367566],[102.168907,32.367455],[102.168976,32.367326],[102.169049,32.367237],[102.16907,32.367174],[102.169066,32.367124],[102.169052,32.367089],[102.169023,32.36706],[102.168976,32.367031],[102.168878,32.366994],[102.168829,32.366988],[102.168738,32.366995],[102.168663,32.367001],[102.168645,32.367002],[102.168628,32.366998],[102.168547,32.366978],[102.168504,32.366954],[102.168482,32.366907],[102.168486,32.366788],[102.168464,32.366718],[102.168429,32.3666],[102.168404,32.366558],[102.168381,32.366519],[102.168354,32.36649],[102.168316,32.366464],[102.16831,32.36646],[102.168223,32.366436],[102.168128,32.366436],[102.168047,32.366471],[102.167941,32.366518],[102.1678,32.366549],[102.167746,32.366553],[102.167653,32.36654],[102.167592,32.366519],[102.167567,32.3665],[102.167545,32.366463],[102.167533,32.366374],[102.167542,32.366341],[102.16758,32.366279],[102.167614,32.366242],[102.167694,32.366179],[102.167739,32.366152],[102.167853,32.36611],[102.167907,32.366011],[102.167918,32.365934],[102.167908,32.365912],[102.16788,32.365885],[102.16786,32.365875],[102.167841,32.365877],[102.167735,32.365924],[102.167681,32.365928],[102.167646,32.365909],[102.167593,32.365852],[102.167577,32.365817],[102.167573,32.365776],[102.167581,32.365729],[102.167606,32.36568],[102.167653,32.365625],[102.167709,32.365578],[102.167769,32.365546],[102.167908,32.365525],[102.16797,32.365495],[102.167994,32.365468],[102.168009,32.365413],[102.16801,32.36534],[102.167986,32.365265],[102.167947,32.365194],[102.167919,32.365161],[102.16787,32.365104],[102.167772,32.365021],[102.167707,32.364984],[102.167658,32.364969],[102.167472,32.364956],[102.16735,32.364963],[102.167209,32.364984],[102.167163,32.364995],[102.166876,32.36506],[102.166765,32.365072],[102.166667,32.365059],[102.166609,32.365039],[102.166578,32.365003],[102.166573,32.364939],[102.166597,32.364869],[102.166648,32.364813],[102.166681,32.364791],[102.166729,32.364779],[102.166822,32.36478],[102.166903,32.364768],[102.16695,32.364749],[102.166962,32.364724],[102.166964,32.364696],[102.166967,32.364621],[102.166957,32.364539],[102.166782,32.364058],[102.166783,32.364],[102.166802,32.363901],[102.166824,32.363859],[102.166873,32.36383],[102.167037,32.363758],[102.167562,32.363567],[102.167807,32.363446],[102.167923,32.363402],[102.168021,32.363383],[102.168041,32.363372],[102.168045,32.36336],[102.168038,32.363307],[102.168025,32.363283],[102.168007,32.363276],[102.167879,32.363274],[102.167844,32.363266],[102.167823,32.363252],[102.167804,32.363226],[102.167783,32.363167],[102.167797,32.363124],[102.167846,32.363088],[102.167901,32.363064],[102.168006,32.363051],[102.168024,32.363037],[102.168085,32.362884],[102.168087,32.362825],[102.168063,32.362756],[102.168041,32.362751],[102.167971,32.362762],[102.167942,32.36278],[102.167862,32.362862],[102.16785,32.362873],[102.167823,32.362885],[102.16779,32.362878],[102.16775,32.362837],[102.167732,32.3628],[102.16774,32.362479],[102.167729,32.362436],[102.167687,32.362384],[102.167632,32.362341],[102.167529,32.362277],[102.167496,32.362266],[102.167412,32.36227],[102.167294,32.362299],[102.167195,32.362308],[102.167155,32.362305],[102.167095,32.362286],[102.167039,32.362247],[102.167,32.362201],[102.166941,32.362036],[102.166929,32.361939],[102.166928,32.361931],[102.166935,32.361833],[102.166951,32.361774],[102.167044,32.361546],[102.16708,32.361486],[102.167123,32.361436],[102.167177,32.361399],[102.167272,32.361357],[102.167298,32.361326],[102.167317,32.361267],[102.167291,32.361079],[102.167297,32.361049],[102.167326,32.361023],[102.167403,32.360995],[102.167426,32.360977],[102.16747,32.360919],[102.167508,32.360841],[102.167496,32.360826],[102.167385,32.360805],[102.167338,32.360762],[102.16733,32.360748],[102.167287,32.360669],[102.167272,32.360624],[102.167267,32.360568],[102.167292,32.360491],[102.167299,32.360485],[102.167309,32.360476],[102.16735,32.360467],[102.167423,32.360475],[102.167517,32.360499],[102.167602,32.360483],[102.167647,32.360453],[102.167662,32.360366],[102.167691,32.360307],[102.167718,32.360282],[102.16777,32.360267],[102.16792,32.360263],[102.168093,32.360207],[102.168135,32.3602],[102.168202,32.360208],[102.168329,32.360274],[102.168493,32.360332],[102.16851,32.360305],[102.168508,32.360247],[102.168461,32.360113],[102.168474,32.360055],[102.168509,32.359999],[102.168642,32.359892],[102.168736,32.359758],[102.168799,32.359669],[102.168822,32.359649],[102.168864,32.359632],[102.168892,32.359632],[102.168936,32.359644],[102.168987,32.359679],[102.168999,32.359727],[102.16904,32.359892],[102.169061,32.359925],[102.169095,32.359944],[102.169189,32.359971],[102.169243,32.359977],[102.169269,32.359971],[102.169307,32.359889],[102.169367,32.359825],[102.169426,32.359793],[102.169503,32.359791],[102.169536,32.359783],[102.169587,32.359745],[102.169621,32.359695],[102.169622,32.359654],[102.169549,32.359438],[102.169538,32.359405],[102.169516,32.359272],[102.169517,32.359237],[102.169537,32.359174],[102.169568,32.359126],[102.169593,32.359109],[102.169642,32.359099],[102.169753,32.35911],[102.169807,32.359126],[102.169831,32.359143],[102.169857,32.359184],[102.169867,32.359225],[102.169851,32.359377],[102.169857,32.359439],[102.169873,32.359472],[102.169894,32.359489],[102.169942,32.359512],[102.169963,32.35951],[102.170001,32.359484],[102.170051,32.359416],[102.170156,32.359349],[102.170223,32.359327],[102.170374,32.359304],[102.170404,32.359294],[102.170457,32.359262],[102.170478,32.359236],[102.170481,32.359192],[102.170472,32.359122],[102.170438,32.359024],[102.170367,32.358887],[102.170252,32.358731],[102.17023,32.358661],[102.170225,32.358642],[102.170224,32.358563],[102.170244,32.358498],[102.170265,32.358475],[102.170355,32.358375],[102.170366,32.358344],[102.170345,32.358277],[102.170256,32.358148],[102.170244,32.358132],[102.170225,32.358092],[102.170216,32.357994],[102.170221,32.35798],[102.17024,32.35793],[102.170426,32.357646],[102.170476,32.357598],[102.170529,32.357569],[102.170606,32.35755],[102.170676,32.357546],[102.170732,32.357562],[102.170817,32.357611],[102.170892,32.357643],[102.170912,32.357645],[102.170934,32.357632],[102.170972,32.357586],[102.170984,32.357553],[102.170997,32.357263],[102.171007,32.357212],[102.171047,32.357128],[102.171077,32.357091],[102.171125,32.357076],[102.171192,32.357081],[102.171309,32.357146],[102.171434,32.35719],[102.171486,32.357186],[102.171547,32.357157],[102.171565,32.357122],[102.171563,32.357065],[102.171502,32.356999],[102.171426,32.356954],[102.171401,32.356928],[102.171391,32.356879],[102.171401,32.35683],[102.17142,32.356808],[102.171479,32.35678],[102.17181,32.356693],[102.171849,32.356651],[102.171866,32.356598],[102.171863,32.356548],[102.171841,32.356496],[102.1718,32.356454],[102.171766,32.35645],[102.171642,32.356474],[102.17158,32.35647],[102.171552,32.356468],[102.17146,32.356446],[102.17143,32.356428],[102.171407,32.356401],[102.171391,32.35637],[102.171368,32.356279],[102.171364,32.356163],[102.171326,32.355972],[102.171329,32.355919],[102.171379,32.355773],[102.171372,32.355711],[102.171346,32.355649],[102.171305,32.355599],[102.171261,32.355566],[102.171176,32.355528],[102.171165,32.355509],[102.171164,32.355483],[102.171176,32.355448],[102.171199,32.355432],[102.171342,32.355415],[102.171439,32.355373],[102.171464,32.355352],[102.171473,32.355317],[102.171463,32.355266],[102.171384,32.355181],[102.171353,32.355127],[102.17135,32.355109],[102.171365,32.355086],[102.171395,32.35507],[102.171457,32.355066],[102.17149,32.355063],[102.171511,32.35505],[102.171556,32.354979],[102.171577,32.354915],[102.171573,32.354877],[102.171554,32.354859],[102.171395,32.354777],[102.171339,32.354748],[102.171297,32.354708],[102.171285,32.354639],[102.171312,32.354543],[102.171345,32.354493],[102.171355,32.354479],[102.171411,32.354429],[102.171537,32.354369],[102.171707,32.35433],[102.171785,32.354281],[102.171808,32.354257],[102.171823,32.354223],[102.171821,32.354155],[102.171773,32.354048],[102.171752,32.353948],[102.171753,32.353903],[102.171789,32.353806],[102.171789,32.353776],[102.171707,32.353686],[102.171519,32.353383],[102.1715,32.353331],[102.171509,32.353286],[102.171547,32.353236],[102.171572,32.353229],[102.171601,32.353232],[102.171727,32.353282],[102.171848,32.353345],[102.17193,32.353368],[102.172115,32.353399],[102.172148,32.353398],[102.172199,32.353378],[102.17223,32.353346],[102.172255,32.35327],[102.172272,32.35276],[102.172239,32.352665],[102.172203,32.352624],[102.171834,32.352528],[102.171722,32.352481],[102.171665,32.352448],[102.171626,32.352404],[102.171615,32.352391],[102.171592,32.352337],[102.171589,32.352302],[102.171604,32.35227],[102.171625,32.352249],[102.171706,32.352203],[102.171744,32.352198],[102.171882,32.352205],[102.17191,32.352192],[102.171934,32.352105],[102.171937,32.351919],[102.171954,32.351843],[102.171988,32.351756],[102.172034,32.351672],[102.17206,32.351623],[102.17211,32.351561],[102.172188,32.351504],[102.17226,32.351464],[102.17229,32.351448],[102.172431,32.351391],[102.17254,32.351329],[102.172582,32.351279],[102.172616,32.35121],[102.172634,32.351145],[102.172636,32.351095],[102.172618,32.351045],[102.172566,32.350973],[102.172475,32.350905],[102.172248,32.350737],[102.172169,32.350662],[102.172068,32.350508],[102.171938,32.350361],[102.171902,32.350277],[102.17189,32.350183],[102.171896,32.35013],[102.171907,32.350106],[102.171938,32.350074],[102.172128,32.349964],[102.172167,32.349904],[102.172178,32.349843],[102.172164,32.349765],[102.172113,32.349665],[102.172055,32.349517],[102.171983,32.349425],[102.171968,32.349411],[102.171929,32.349373],[102.171838,32.349308],[102.171786,32.349255],[102.171718,32.349139],[102.171672,32.349019],[102.171662,32.348993],[102.171618,32.348796],[102.17164,32.348765],[102.17171,32.348738],[102.171724,32.348696],[102.171718,32.348673],[102.17165,32.348581],[102.17164,32.348554],[102.171652,32.348522],[102.171697,32.348471],[102.171746,32.348432],[102.171756,32.348413],[102.171764,32.348254],[102.171758,32.348217],[102.17174,32.348176],[102.171713,32.348155],[102.171633,32.348157],[102.171541,32.348193],[102.171371,32.34826],[102.171262,32.348319],[102.171203,32.348334],[102.171121,32.34832],[102.171066,32.348296],[102.171014,32.348252],[102.170998,32.348207],[102.170996,32.34811],[102.171015,32.34806],[102.17103,32.348018],[102.171363,32.34756],[102.171437,32.34743],[102.171526,32.347229],[102.171562,32.347183],[102.171661,32.347055],[102.171671,32.347008],[102.171646,32.346928],[102.171613,32.346894],[102.171548,32.346866],[102.171455,32.346848],[102.171363,32.346853],[102.171288,32.34688],[102.171222,32.346903],[102.171085,32.346999],[102.170982,32.347058],[102.170881,32.347086],[102.170826,32.347085],[102.170787,32.347067],[102.170749,32.347024],[102.170727,32.346989],[102.170699,32.346909],[102.170662,32.346868],[102.170633,32.34686],[102.170465,32.346855],[102.170423,32.346844],[102.170398,32.346828],[102.170357,32.346782],[102.170302,32.346678],[102.170283,32.346606],[102.170278,32.346537],[102.170292,32.346408],[102.170297,32.346357],[102.170314,32.346288],[102.170335,32.34625],[102.170419,32.346185],[102.170425,32.346144],[102.170417,32.346112],[102.170402,32.346079],[102.170368,32.346048],[102.170262,32.345999],[102.170219,32.345971],[102.170143,32.345896],[102.170133,32.345886],[102.170101,32.345842],[102.170068,32.345763],[102.170054,32.345677],[102.169977,32.345398],[102.169974,32.345376],[102.169952,32.345233],[102.169951,32.3451],[102.169938,32.345017],[102.169903,32.344971],[102.169821,32.344921],[102.169747,32.344857],[102.169729,32.344829],[102.169724,32.344802],[102.169742,32.344742],[102.169763,32.344716],[102.169782,32.344693],[102.169965,32.344557],[102.170078,32.344489],[102.170104,32.344464],[102.170152,32.344396],[102.17025,32.344219],[102.170274,32.344147],[102.170278,32.3441],[102.170252,32.34373],[102.170254,32.343703],[102.170259,32.343651],[102.170253,32.343622],[102.170216,32.343578],[102.170178,32.343584],[102.170085,32.343598],[102.170012,32.343584],[102.169974,32.343566],[102.16993,32.343501],[102.16991,32.343487],[102.169867,32.343473],[102.169801,32.34347],[102.169767,32.343456],[102.16974,32.343422],[102.169723,32.343359],[102.169762,32.343222],[102.169716,32.343183],[102.169693,32.34315],[102.169675,32.343113],[102.169662,32.343027],[102.169633,32.343007],[102.169526,32.342982],[102.169483,32.342965],[102.169382,32.342887],[102.16933,32.3428],[102.16923,32.342777],[102.169168,32.342739],[102.169148,32.342717],[102.16913,32.342682],[102.169147,32.342589],[102.169129,32.342545],[102.16912,32.342534],[102.16909,32.342501],[102.169071,32.34248],[102.168939,32.342378],[102.168918,32.342344],[102.168913,32.342304],[102.168926,32.342287],[102.168948,32.342282],[102.169023,32.342288],[102.169045,32.342282],[102.169111,32.342241],[102.169143,32.34219],[102.169152,32.342147],[102.169148,32.341922],[102.169157,32.341827],[102.169187,32.341653],[102.169249,32.341475],[102.169253,32.34139],[102.169245,32.34133],[102.16922,32.341248],[102.169198,32.341218],[102.169086,32.341122],[102.16905,32.341032],[102.169046,32.340959],[102.169058,32.340888],[102.169085,32.340813],[102.169122,32.340771],[102.169123,32.340734],[102.169081,32.340707],[102.168968,32.340699],[102.168851,32.34066],[102.168829,32.34064],[102.16881,32.340624],[102.168806,32.340588],[102.16882,32.340556],[102.168826,32.340541],[102.168871,32.340522],[102.169106,32.340527],[102.169201,32.340517],[102.169203,32.34049],[102.169128,32.340437],[102.169105,32.3404],[102.16909,32.340348],[102.169082,32.340246],[102.169101,32.340141],[102.169179,32.340024],[102.169182,32.340009],[102.169175,32.339999],[102.169129,32.339989],[102.169091,32.339965],[102.169067,32.339937],[102.169059,32.339899],[102.169073,32.339858],[102.169152,32.339809],[102.169191,32.33975],[102.169265,32.339678],[102.169292,32.339627],[102.169296,32.339581],[102.169289,32.339556],[102.169265,32.339532],[102.169148,32.339476],[102.169033,32.339436],[102.169,32.339417],[102.168975,32.339393],[102.168939,32.339325],[102.168927,32.339263],[102.168926,32.339189],[102.168917,32.33916],[102.168877,32.339098],[102.168871,32.339067],[102.16888,32.339004],[102.168917,32.338955],[102.168924,32.338927],[102.168911,32.338904],[102.168854,32.33887],[102.168845,32.338818],[102.16885,32.338779],[102.168877,32.338701],[102.168967,32.338549],[102.168919,32.338527],[102.168826,32.338501],[102.168681,32.33847],[102.168657,32.338453],[102.168625,32.338407],[102.168628,32.33835],[102.168652,32.338305],[102.16863,32.338193],[102.168636,32.338108],[102.168662,32.338085],[102.168706,32.338073],[102.168724,32.338064],[102.16871,32.338046],[102.168695,32.338026],[102.168656,32.337908],[102.168648,32.337886],[102.168599,32.337739],[102.168537,32.33769],[102.168557,32.337613],[102.168535,32.337548],[102.168539,32.337535],[102.168541,32.337528],[102.168541,32.337492],[102.168542,32.337441],[102.168524,32.33739],[102.168534,32.337302],[102.16851,32.337278],[102.16848,32.337268],[102.168447,32.337257],[102.168446,32.33725],[102.168437,32.33722],[102.168431,32.337185],[102.168319,32.336685],[102.167762,32.3361],[102.167753,32.336091],[102.167747,32.336085],[102.167743,32.336079],[102.167643,32.335987],[102.167638,32.335982],[102.167621,32.335966],[102.167556,32.335904],[102.167511,32.335862],[102.167202,32.335569],[102.16714,32.335508],[102.167098,32.335466],[102.167094,32.335462],[102.167046,32.335415],[102.167022,32.335392],[102.166812,32.335183],[102.166782,32.335155],[102.166736,32.335109],[102.166732,32.335105],[102.166719,32.335091],[102.166714,32.335083],[102.166574,32.334914],[102.166537,32.334869],[102.166422,32.334808],[102.166336,32.334723],[102.166258,32.334664],[102.166216,32.334649],[102.166071,32.334624],[102.166032,32.334606],[102.166016,32.334589],[102.165978,32.334479],[102.165947,32.334241],[102.16591,32.334055],[102.165879,32.333994],[102.165787,32.333925],[102.165776,32.333895],[102.165778,32.333851],[102.165755,32.333809],[102.165716,32.333792],[102.165603,32.333798],[102.165537,32.333789],[102.165478,32.333762],[102.165421,32.333701],[102.165355,32.333563],[102.165327,32.333515],[102.165265,32.333494],[102.165103,32.333333],[102.164966,32.333262],[102.164921,32.333151],[102.164927,32.33305],[102.165002,32.332933],[102.164698,32.332057],[102.164263,32.331119],[102.1638,32.330034],[102.163611,32.32884],[102.163562,32.327495],[102.163733,32.326386],[102.163901,32.325966],[102.163923,32.325912],[102.164095,32.325494],[102.164139,32.32538]]]]},"properties":{"cp":[102.26744142868846,32.352994695555495],"code":"513233202","name":"江茸乡","level":"street","center":[102.26744142868846,32.352994695555495],"fullCode":"513233202000","fullName":"四川省阿坝藏族羌族自治州红原县江茸乡","acreageMu":770863.29,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.412,32.3022]}},{"id":"513233203","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[101.851556,32.335369],[101.851603,32.335224],[101.851669,32.335022],[101.851663,32.334903],[101.851614,32.334563],[101.851521,32.334334],[101.851478,32.334227],[101.851405,32.333878],[101.851332,32.333528],[101.851259,32.333178],[101.851185,32.332829],[101.851144,32.33246],[101.851457,32.332486],[101.85148,32.332488],[101.85177,32.332511],[101.852084,32.332537],[101.852316,32.332555],[101.852548,32.332573],[101.852977,32.332573],[101.852993,32.332573],[101.853317,32.332573],[101.853356,32.332573],[101.853407,32.332573],[101.85378,32.332564],[101.854063,32.332557],[101.854153,32.332555],[101.854402,32.332533],[101.854651,32.33251],[101.854901,32.332488],[101.85515,32.332465],[101.855547,32.332423],[101.855795,32.332349],[101.856043,32.332276],[101.856262,32.332211],[101.856481,32.332146],[101.856744,32.332105],[101.857042,32.332009],[101.857208,32.331896],[101.857287,32.331765],[101.857315,32.331718],[101.857565,32.331498],[101.857836,32.331284],[101.858107,32.331069],[101.858386,32.330829],[101.858666,32.330588],[101.858936,32.330341],[101.859207,32.330094],[101.859549,32.329817],[101.859891,32.329541],[101.860097,32.329273],[101.860304,32.329005],[101.86051,32.328738],[101.860703,32.328393],[101.860896,32.328048],[101.861055,32.327724],[101.861214,32.327401],[101.861372,32.327078],[101.861485,32.326798],[101.861497,32.326477],[101.861462,32.326168],[101.861446,32.32603],[101.861427,32.325859],[101.861392,32.32555],[101.861383,32.325361],[101.861373,32.325173],[101.861355,32.324797],[101.861307,32.324438],[101.861258,32.324079],[101.861208,32.323706],[101.861166,32.323448],[101.861125,32.323191],[101.861091,32.32298],[101.861069,32.322844],[101.861069,32.322552],[101.861069,32.32226],[101.861069,32.322238],[101.861065,32.321903],[101.861061,32.321546],[101.861057,32.321189],[101.861035,32.321012],[101.861021,32.320906],[101.860986,32.320624],[101.860983,32.320614],[101.860902,32.320314],[101.860819,32.320088],[101.860575,32.319714],[101.860361,32.319345],[101.860266,32.319035],[101.860135,32.318637],[101.86007,32.318304],[101.860082,32.318054],[101.860195,32.31763],[101.86023,32.317501],[101.860244,32.317407],[101.86029,32.317102],[101.860284,32.316828],[101.860224,32.316537],[101.860135,32.316287],[101.860129,32.31628],[101.859915,32.316049],[101.859713,32.315859],[101.85951,32.315668],[101.859225,32.315484],[101.858939,32.3153],[101.858701,32.314993],[101.858463,32.314687],[101.858324,32.314452],[101.858184,32.314217],[101.857964,32.313842],[101.857809,32.313711],[101.857601,32.313574],[101.857339,32.313271],[101.857317,32.313226],[101.857119,32.312825],[101.856979,32.312498],[101.856839,32.312171],[101.856756,32.311974],[101.856494,32.311742],[101.856218,32.311484],[101.855941,32.311225],[101.855674,32.310993],[101.855561,32.310796],[101.855495,32.310517],[101.85542,32.31019],[101.855345,32.309862],[101.855233,32.309503],[101.855175,32.309208],[101.855117,32.308913],[101.855112,32.30887],[101.855072,32.308494],[101.855026,32.308075],[101.854981,32.307656],[101.854975,32.307599],[101.855007,32.30722],[101.855059,32.306797],[101.855111,32.306373],[101.855144,32.306097],[101.855186,32.305734],[101.855187,32.305722],[101.855227,32.305371],[101.855227,32.30508],[101.855323,32.304788],[101.855388,32.304503],[101.855394,32.304162],[101.8554,32.303821],[101.855406,32.30348],[101.855477,32.303182],[101.855566,32.303033],[101.855627,32.303011],[101.8559,32.302909],[101.85617,32.302888],[101.856441,32.302867],[101.856784,32.302861],[101.857127,32.302855],[101.85747,32.302849],[101.857823,32.302903],[101.858176,32.302956],[101.858529,32.30301],[101.858904,32.303041],[101.859278,32.303072],[101.859653,32.303103],[101.860028,32.303135],[101.860299,32.303152],[101.860569,32.30317],[101.860831,32.30317],[101.861128,32.303111],[101.861541,32.303012],[101.861953,32.302913],[101.862366,32.302813],[101.862586,32.302715],[101.862806,32.302617],[101.863171,32.302379],[101.863181,32.302373],[101.863567,32.302189],[101.863879,32.301945],[101.863936,32.3019],[101.86419,32.301701],[101.864501,32.301457],[101.864739,32.301222],[101.864977,32.300987],[101.865156,32.300821],[101.865215,32.30066],[101.865346,32.300505],[101.865501,32.30038],[101.865685,32.300226],[101.865865,32.300075],[101.86587,32.300071],[101.866045,32.299848],[101.866221,32.299625],[101.86626,32.299547],[101.866362,32.299345],[101.866464,32.299143],[101.866726,32.298863],[101.866905,32.298727],[101.866952,32.298691],[101.867211,32.29853],[101.86747,32.29837],[101.867689,32.298179],[101.867696,32.298173],[101.867868,32.297953],[101.868154,32.297858],[101.868456,32.29773],[101.868758,32.297601],[101.868868,32.297555],[101.869103,32.297498],[101.869338,32.297442],[101.869599,32.297454],[101.869879,32.297507],[101.870254,32.297644],[101.870426,32.297757],[101.870605,32.297888],[101.870878,32.298025],[101.871194,32.298221],[101.871509,32.298417],[101.871765,32.29862],[101.872014,32.298727],[101.872181,32.298858],[101.872294,32.299],[101.872341,32.299096],[101.872354,32.299123],[101.87252,32.299458],[101.872609,32.299643],[101.872764,32.299768],[101.872919,32.299845],[101.873145,32.299994],[101.873341,32.300363],[101.873466,32.300654],[101.873573,32.300785],[101.873674,32.300838],[101.874019,32.301011],[101.874227,32.301124],[101.87437,32.301279],[101.874447,32.301421],[101.874685,32.301552],[101.874914,32.301712],[101.875138,32.301868],[101.875328,32.302028],[101.875447,32.302159],[101.875548,32.30232],[101.875715,32.302534],[101.875881,32.302629],[101.876066,32.302712],[101.876244,32.302867],[101.876345,32.303004],[101.876524,32.303325],[101.876708,32.30345],[101.877047,32.303718],[101.877246,32.303881],[101.877446,32.304045],[101.877719,32.304176],[101.877957,32.304229],[101.878368,32.304271],[101.878689,32.304425],[101.878915,32.304574],[101.879073,32.304833],[101.87923,32.305092],[101.879395,32.305349],[101.879559,32.305607],[101.879724,32.305865],[101.879867,32.306064],[101.88001,32.306263],[101.880064,32.306574],[101.880119,32.306884],[101.880173,32.307194],[101.880364,32.307514],[101.880493,32.307588],[101.880593,32.307747],[101.880879,32.307927],[101.881165,32.308107],[101.881384,32.308246],[101.881604,32.308385],[101.881823,32.308525],[101.882043,32.308664],[101.882262,32.308803],[101.882482,32.308942],[101.882701,32.309081],[101.882921,32.309221],[101.883085,32.309299],[101.883225,32.309366],[101.883529,32.309512],[101.883913,32.309621],[101.884296,32.309731],[101.884638,32.309791],[101.884979,32.309851],[101.885379,32.309842],[101.885778,32.309833],[101.886178,32.309824],[101.886615,32.309735],[101.887052,32.309645],[101.887489,32.309556],[101.887845,32.309464],[101.888211,32.309441],[101.888577,32.309419],[101.889005,32.309352],[101.889374,32.309256],[101.889743,32.30916],[101.890111,32.309064],[101.89048,32.308968],[101.890861,32.30873],[101.891042,32.308663],[101.891185,32.308602],[101.891318,32.308525],[101.891508,32.308383],[101.891675,32.308283],[101.891875,32.308187],[101.892189,32.307997],[101.892431,32.307802],[101.892601,32.307547],[101.892641,32.307488],[101.892769,32.307298],[101.892898,32.307107],[101.893162,32.30681],[101.893426,32.306512],[101.893659,32.306174],[101.89384,32.305951],[101.894064,32.305639],[101.894287,32.305327],[101.894414,32.305132],[101.89454,32.304937],[101.894706,32.304782],[101.894873,32.304628],[101.895096,32.304518],[101.895254,32.30438],[101.895501,32.304119],[101.895748,32.303857],[101.895915,32.303747],[101.89604,32.303692],[101.896077,32.303676],[101.896235,32.303621],[101.89631,32.303595],[101.896472,32.303557],[101.896605,32.303481],[101.896753,32.303338],[101.896848,32.303176],[101.897019,32.302886],[101.897233,32.302624],[101.89724,32.302616],[101.897424,32.302408],[101.897607,32.302199],[101.897652,32.302148],[101.897859,32.301972],[101.898066,32.301796],[101.898223,32.301382],[101.898223,32.301342],[101.898223,32.301101],[101.898214,32.30084],[101.898128,32.300497],[101.898102,32.300327],[101.898071,32.300121],[101.898009,32.299786],[101.897947,32.29945],[101.897947,32.29916],[101.897947,32.299081],[101.897947,32.299012],[101.897999,32.298941],[101.898095,32.298912],[101.89829,32.298974],[101.898499,32.299103],[101.898786,32.299369],[101.899073,32.299636],[101.89936,32.299902],[101.899508,32.299945],[101.899751,32.299945],[101.900041,32.299938],[101.900331,32.299931],[101.900693,32.299893],[101.900883,32.299821],[101.901121,32.299688],[101.901395,32.299476],[101.901478,32.299412],[101.901759,32.299146],[101.902073,32.298931],[101.902335,32.298827],[101.902516,32.298717],[101.902739,32.298413],[101.902925,32.298256],[101.90313,32.297975],[101.903201,32.297813],[101.903268,32.297632],[101.903344,32.297551],[101.903501,32.29747],[101.903701,32.297351],[101.903858,32.29718],[101.903929,32.296956],[101.904062,32.296628],[101.904191,32.296414],[101.904338,32.296304],[101.904552,32.296205],[101.904857,32.296086],[101.905069,32.296005],[101.905281,32.295924],[101.905499,32.295819],[101.90578,32.295629],[101.905946,32.295543],[101.906185,32.295419],[101.90648,32.295317],[101.906775,32.295215],[101.907025,32.295106],[101.907072,32.295077],[101.90728,32.294946],[101.907487,32.294816],[101.907866,32.294579],[101.907979,32.294496],[101.908279,32.29423],[101.908483,32.294058],[101.908626,32.293806],[101.908645,32.29354],[101.908702,32.29334],[101.908821,32.29313],[101.908959,32.293045],[101.909283,32.29294],[101.909468,32.292835],[101.909568,32.292716],[101.909615,32.292525],[101.909615,32.292524],[101.909616,32.292521],[101.909616,32.29235],[101.909616,32.29215],[101.909616,32.292095],[101.909616,32.291998],[101.909702,32.291731],[101.909713,32.291496],[101.909725,32.29126],[101.909678,32.290998],[101.909652,32.29095],[101.909526,32.290708],[101.909506,32.290537],[101.909521,32.290475],[101.90964,32.290399],[101.909863,32.290313],[101.910049,32.290137],[101.910135,32.289866],[101.910163,32.289609],[101.910358,32.289385],[101.910525,32.289295],[101.910756,32.289271],[101.910987,32.289247],[101.911282,32.289289],[101.911577,32.289332],[101.911824,32.289457],[101.912071,32.289581],[101.912393,32.28967],[101.912716,32.289759],[101.913039,32.289848],[101.913326,32.289939],[101.913613,32.29003],[101.913983,32.290168],[101.914353,32.290307],[101.914723,32.290446],[101.915094,32.290585],[101.915464,32.290724],[101.915772,32.290794],[101.91603,32.290852],[101.916287,32.290911],[101.916542,32.29095],[101.916796,32.29099],[101.917051,32.291029],[101.917305,32.291068],[101.917559,32.291108],[101.917697,32.291129],[101.917814,32.291147],[101.918068,32.291186],[101.918323,32.291225],[101.918577,32.291265],[101.918832,32.291304],[101.919086,32.291343],[101.91934,32.291383],[101.919611,32.291419],[101.919883,32.291455],[101.920154,32.291491],[101.920425,32.291527],[101.920696,32.291563],[101.920967,32.2916],[101.921238,32.291636],[101.921509,32.291672],[101.921902,32.291709],[101.922296,32.291747],[101.922689,32.291784],[101.922953,32.291809],[101.923232,32.291802],[101.923511,32.291796],[101.923583,32.291784],[101.923989,32.291717],[101.924225,32.291575],[101.92446,32.291434],[101.924653,32.291226],[101.924685,32.291191],[101.924846,32.291017],[101.925006,32.290796],[101.925166,32.290574],[101.925326,32.290352],[101.925486,32.29013],[101.925578,32.290002],[101.925578,32.290002],[101.925646,32.289909],[101.925806,32.289687],[101.925966,32.289465],[101.926126,32.289243],[101.926267,32.289028],[101.926407,32.288812],[101.926547,32.288596],[101.926688,32.28838],[101.926828,32.288164],[101.926968,32.287948],[101.927253,32.287662],[101.927278,32.287636],[101.927555,32.287526],[101.927993,32.287518],[101.928276,32.287613],[101.928559,32.287708],[101.928751,32.287829],[101.928942,32.28795],[101.929072,32.288032],[101.929294,32.288119],[101.929672,32.288362],[101.930051,32.288605],[101.930261,32.288744],[101.930471,32.288884],[101.930531,32.288923],[101.93076,32.289047],[101.930988,32.289171],[101.931301,32.289368],[101.931342,32.289391],[101.931559,32.289508],[101.931775,32.289626],[101.931991,32.289744],[101.932208,32.289862],[101.932383,32.289958],[101.932744,32.290094],[101.933011,32.290204],[101.933244,32.290354],[101.933477,32.290505],[101.933689,32.290642],[101.933901,32.290779],[101.933912,32.290784],[101.934043,32.290832],[101.934172,32.29086],[101.934539,32.290932],[101.934906,32.291003],[101.935328,32.29115],[101.935696,32.291249],[101.936063,32.291349],[101.93643,32.291448],[101.936868,32.291459],[101.937305,32.29147],[101.937662,32.291385],[101.938018,32.291301],[101.938352,32.291141],[101.938686,32.290981],[101.93902,32.290821],[101.939354,32.290661],[101.939634,32.290515],[101.939914,32.290369],[101.940194,32.290223],[101.940407,32.290136],[101.940621,32.290048],[101.940834,32.28996],[101.941048,32.289872],[101.941343,32.28974],[101.941638,32.289607],[101.941934,32.289475],[101.94222,32.289304],[101.942554,32.289028],[101.942601,32.288977],[101.942667,32.288905],[101.942734,32.288803],[101.942837,32.288509],[101.942939,32.288215],[101.943,32.287839],[101.94306,32.287463],[101.943064,32.28738],[101.943068,32.287292],[101.943065,32.287271],[101.94305,32.287174],[101.94293,32.286813],[101.94281,32.286453],[101.94269,32.286092],[101.942601,32.285873],[101.942512,32.285653],[101.942511,32.285653],[101.942511,32.285652],[101.94244,32.28543],[101.942369,32.285208],[101.942317,32.284853],[101.942265,32.284498],[101.942264,32.284395],[101.942338,32.284224],[101.942457,32.284221],[101.942699,32.284283],[101.94293,32.284425],[101.943161,32.284567],[101.943444,32.28474],[101.943623,32.28485],[101.943855,32.284992],[101.944086,32.285133],[101.944196,32.285195],[101.944318,32.285259],[101.944726,32.285419],[101.945133,32.285579],[101.945442,32.285658],[101.945751,32.285737],[101.946084,32.285751],[101.946417,32.285765],[101.946802,32.285717],[101.947169,32.285628],[101.947552,32.285516],[101.947935,32.285404],[101.948259,32.285283],[101.948583,32.285162],[101.948843,32.285125],[101.949103,32.285089],[101.949365,32.285097],[101.949779,32.285148],[101.950198,32.285222],[101.950616,32.285297],[101.950951,32.285343],[101.951287,32.285389],[101.951622,32.285435],[101.951731,32.285456],[101.95204,32.285515],[101.952458,32.285596],[101.952875,32.285676],[101.95314,32.285742],[101.953405,32.285809],[101.95363,32.285897],[101.953647,32.285903],[101.953981,32.286034],[101.954343,32.286224],[101.954656,32.286423],[101.954969,32.286622],[101.955281,32.286821],[101.955594,32.287019],[101.955949,32.287263],[101.956038,32.287324],[101.956155,32.287396],[101.956337,32.287529],[101.956434,32.287596],[101.956624,32.287726],[101.956911,32.287924],[101.957166,32.288112],[101.957261,32.288182],[101.957421,32.288301],[101.957757,32.288595],[101.957906,32.288791],[101.957948,32.288868],[101.957961,32.28888],[101.958028,32.289011],[101.958166,32.289258],[101.958304,32.289505],[101.95837,32.289725],[101.9585,32.290082],[101.95853,32.290249],[101.958542,32.290392],[101.958546,32.290705],[101.95855,32.291018],[101.958554,32.291332],[101.95856,32.291362],[101.958637,32.291736],[101.958679,32.291885],[101.958774,32.292081],[101.958967,32.292435],[101.959161,32.292789],[101.959277,32.292988],[101.959298,32.293025],[101.959393,32.293187],[101.959404,32.293209],[101.959464,32.293318],[101.95947,32.29333],[101.959565,32.293521],[101.959649,32.293657],[101.959756,32.293782],[101.960029,32.294023],[101.960303,32.294264],[101.960596,32.294514],[101.960889,32.294765],[101.961084,32.294931],[101.961278,32.295097],[101.961433,32.295234],[101.961546,32.295412],[101.961623,32.29568],[101.961629,32.295936],[101.961552,32.296147],[101.961475,32.296358],[101.961449,32.296404],[101.961353,32.296575],[101.961231,32.296792],[101.960954,32.297123],[101.960678,32.297453],[101.960537,32.297593],[101.960277,32.297853],[101.960017,32.298113],[101.959875,32.298339],[101.959732,32.298565],[101.959633,32.298732],[101.959601,32.298785],[101.959619,32.299029],[101.959666,32.29919],[101.959738,32.299484],[101.959809,32.299779],[101.959884,32.300001],[101.959958,32.300223],[101.960032,32.300444],[101.960107,32.300665],[101.960261,32.301064],[101.960362,32.30129],[101.960562,32.301608],[101.960761,32.301926],[101.961026,32.302285],[101.961291,32.302644],[101.961527,32.302947],[101.96153,32.302952],[101.96153,32.302952],[101.96153,32.302952],[101.961566,32.303006],[101.961713,32.303232],[101.96186,32.303458],[101.962008,32.303683],[101.962155,32.303909],[101.962275,32.304117],[101.962395,32.304325],[101.962516,32.304533],[101.962636,32.304741],[101.962757,32.304949],[101.962877,32.305157],[101.962997,32.305365],[101.963063,32.305478],[101.963066,32.305484],[101.963118,32.305573],[101.963238,32.305781],[101.963358,32.30599],[101.963479,32.306198],[101.963564,32.306345],[101.963599,32.306406],[101.963706,32.306629],[101.963813,32.306853],[101.96392,32.307077],[101.964028,32.307301],[101.964063,32.307375],[101.964135,32.307525],[101.964205,32.307671],[101.964242,32.307749],[101.964324,32.308013],[101.964406,32.308276],[101.964488,32.30854],[101.96457,32.308804],[101.964652,32.309068],[101.964734,32.309332],[101.964838,32.309588],[101.964943,32.309843],[101.965047,32.310098],[101.965151,32.310354],[101.965255,32.310609],[101.96536,32.310865],[101.965464,32.31112],[101.965492,32.311188],[101.965568,32.311376],[101.965673,32.311631],[101.965777,32.311886],[101.965938,32.312275],[101.966099,32.312663],[101.966259,32.313049],[101.966259,32.31305],[101.966259,32.31305],[101.96626,32.313052],[101.966386,32.313252],[101.966512,32.313453],[101.966638,32.313653],[101.966764,32.313853],[101.966839,32.31393],[101.967068,32.314163],[101.967372,32.314472],[101.967676,32.314782],[101.967853,32.31494],[101.96803,32.315099],[101.968207,32.315258],[101.968384,32.315416],[101.968561,32.315575],[101.968738,32.315734],[101.968915,32.315892],[101.969092,32.316051],[101.969269,32.31621],[101.969446,32.316368],[101.969669,32.31653],[101.969891,32.316692],[101.970114,32.316854],[101.970336,32.317016],[101.970558,32.317178],[101.970781,32.31734],[101.971003,32.317502],[101.971226,32.317664],[101.971448,32.317826],[101.971671,32.317988],[101.971893,32.31815],[101.971945,32.318188],[101.972116,32.318312],[101.972338,32.318474],[101.97256,32.318636],[101.972754,32.318779],[101.972903,32.318891],[101.972904,32.318891],[101.972947,32.318923],[101.97314,32.319066],[101.973333,32.319209],[101.973527,32.319353],[101.973716,32.319493],[101.973718,32.319494],[101.97372,32.319496],[101.973913,32.319639],[101.974106,32.319782],[101.9743,32.319926],[101.974493,32.320069],[101.974686,32.320212],[101.974879,32.320356],[101.975073,32.320499],[101.975266,32.320642],[101.975431,32.320798],[101.975596,32.320953],[101.975761,32.321109],[101.975926,32.321264],[101.976091,32.32142],[101.976256,32.321575],[101.976421,32.321731],[101.976587,32.321886],[101.976752,32.322042],[101.976917,32.322197],[101.977109,32.322383],[101.977302,32.322569],[101.977495,32.322755],[101.977687,32.322941],[101.97788,32.323127],[101.978073,32.323313],[101.978265,32.323499],[101.978458,32.323685],[101.978651,32.323871],[101.978843,32.324057],[101.979036,32.324243],[101.979228,32.324429],[101.979421,32.324615],[101.979614,32.324801],[101.979771,32.324991],[101.979929,32.325181],[101.980087,32.325372],[101.980244,32.325562],[101.980402,32.325752],[101.980559,32.325942],[101.980717,32.326132],[101.980875,32.326322],[101.981032,32.326513],[101.98119,32.326703],[101.981347,32.326893],[101.981505,32.327083],[101.981663,32.327273],[101.98182,32.327463],[101.981986,32.327636],[101.982152,32.327809],[101.982317,32.327981],[101.982483,32.328154],[101.982649,32.328326],[101.982815,32.328499],[101.98298,32.328671],[101.983146,32.328844],[101.983312,32.329016],[101.983478,32.329189],[101.983831,32.329424],[101.984185,32.32966],[101.984344,32.329767],[101.984379,32.329791],[101.984573,32.329922],[101.984767,32.330053],[101.984857,32.330114],[101.984865,32.330119],[101.984921,32.330157],[101.984961,32.330185],[101.985037,32.330269],[101.985169,32.330416],[101.985215,32.330586],[101.985149,32.330738],[101.985065,32.330929],[101.984714,32.331191],[101.984563,32.331304],[101.98455,32.331314],[101.984363,32.331453],[101.984358,32.331456],[101.984329,32.331468],[101.984234,32.331507],[101.984179,32.33153],[101.984146,32.331543],[101.98393,32.331634],[101.98369,32.331656],[101.983451,32.331679],[101.983129,32.331653],[101.982808,32.331627],[101.982586,32.331655],[101.982559,32.331658],[101.982472,32.331669],[101.982311,32.331689],[101.982062,32.33172],[101.981813,32.331751],[101.981595,32.331824],[101.981378,32.331897],[101.98116,32.331971],[101.980943,32.332044],[101.980726,32.332139],[101.980509,32.332235],[101.980292,32.332331],[101.980075,32.332426],[101.979859,32.332522],[101.97983,32.332535],[101.979642,32.332618],[101.979289,32.33283],[101.978936,32.333042],[101.978583,32.333254],[101.978343,32.333353],[101.978249,32.333392],[101.978141,32.333436],[101.978102,32.333452],[101.9781,32.333452],[101.978099,32.333453],[101.978013,32.333488],[101.977738,32.333704],[101.977463,32.333921],[101.977269,32.334108],[101.977075,32.334295],[101.976864,32.334431],[101.976653,32.334566],[101.976389,32.334653],[101.976262,32.334695],[101.976228,32.334706],[101.975835,32.334911],[101.975536,32.335067],[101.975508,32.335082],[101.975442,32.335116],[101.975432,32.335121],[101.975238,32.335212],[101.975034,32.335308],[101.97483,32.335404],[101.974625,32.335499],[101.974351,32.335571],[101.974076,32.335643],[101.973848,32.335714],[101.973621,32.335784],[101.973486,32.335846],[101.973438,32.335868],[101.973062,32.336085],[101.972686,32.336302],[101.972293,32.336511],[101.9719,32.33672],[101.971506,32.336929],[101.971144,32.33712],[101.970782,32.337311],[101.970705,32.337351],[101.970554,32.337431],[101.97042,32.337502],[101.970009,32.337642],[101.969598,32.337782],[101.969481,32.33782],[101.969302,32.337876],[101.969275,32.337885],[101.969005,32.33797],[101.96873,32.338015],[101.968654,32.338028],[101.968489,32.338055],[101.968455,32.338061],[101.968226,32.338099],[101.967997,32.338137],[101.967767,32.338175],[101.967726,32.338182],[101.967685,32.338189],[101.967582,32.338206],[101.967538,32.338213],[101.967364,32.338251],[101.967277,32.33827],[101.967271,32.338271],[101.967164,32.338295],[101.967004,32.33833],[101.966807,32.338373],[101.966737,32.338388],[101.966624,32.338412],[101.96647,32.338446],[101.966076,32.338625],[101.965683,32.338804],[101.965426,32.338954],[101.965364,32.33899],[101.965267,32.339047],[101.965254,32.339054],[101.96517,32.339103],[101.965007,32.339296],[101.964844,32.339489],[101.964811,32.339528],[101.964811,32.339529],[101.964738,32.339615],[101.964738,32.339615],[101.964682,32.339681],[101.964519,32.339874],[101.96435,32.340043],[101.964182,32.340212],[101.964013,32.340381],[101.963844,32.34055],[101.963675,32.340719],[101.963507,32.340888],[101.963333,32.341135],[101.963306,32.341173],[101.963306,32.341173],[101.963306,32.341173],[101.963301,32.34118],[101.963275,32.341217],[101.963267,32.341229],[101.96325,32.341252],[101.963236,32.341272],[101.963187,32.341342],[101.963181,32.341351],[101.963096,32.341471],[101.962988,32.341669],[101.962879,32.341868],[101.96277,32.342066],[101.962675,32.342239],[101.962662,32.342264],[101.962425,32.342569],[101.962378,32.34263],[101.962378,32.34263],[101.962378,32.34263],[101.962314,32.342713],[101.962189,32.342875],[101.961938,32.343212],[101.961688,32.343549],[101.961542,32.343801],[101.961397,32.344052],[101.961304,32.344269],[101.961211,32.344486],[101.961118,32.344703],[101.961026,32.34492],[101.960972,32.345151],[101.960918,32.345382],[101.960864,32.345613],[101.96081,32.345843],[101.960756,32.346074],[101.960702,32.346305],[101.960648,32.346536],[101.960594,32.346766],[101.96054,32.346997],[101.960486,32.347228],[101.960436,32.347464],[101.960386,32.347699],[101.960336,32.347935],[101.96032,32.348009],[101.960286,32.348171],[101.960236,32.348406],[101.960186,32.348642],[101.960136,32.348878],[101.960124,32.348935],[101.960086,32.349113],[101.960004,32.349434],[101.959977,32.349542],[101.959868,32.34997],[101.959851,32.350037],[101.959759,32.350398],[101.959733,32.35045],[101.959564,32.350792],[101.959506,32.35091],[101.959369,32.351186],[101.959174,32.35158],[101.95898,32.351974],[101.958856,32.35219],[101.958732,32.352406],[101.958609,32.352622],[101.958485,32.352838],[101.958362,32.353054],[101.958238,32.35327],[101.958182,32.353367],[101.958114,32.353485],[101.957991,32.353701],[101.957867,32.353917],[101.957744,32.354133],[101.95762,32.354349],[101.957496,32.354565],[101.957404,32.354684],[101.957339,32.354769],[101.957231,32.35491],[101.956966,32.355254],[101.956856,32.355396],[101.956831,32.355428],[101.95683,32.355429],[101.956772,32.355504],[101.956759,32.355521],[101.956748,32.355618],[101.956723,32.355848],[101.956688,32.356174],[101.956701,32.356565],[101.956703,32.356577],[101.956741,32.356775],[101.956766,32.356905],[101.956775,32.356954],[101.956905,32.357146],[101.956989,32.357272],[101.957024,32.357323],[101.957034,32.357338],[101.957091,32.357375],[101.957127,32.357397],[101.957135,32.357402],[101.957199,32.357443],[101.9572,32.357443],[101.957203,32.357445],[101.957253,32.357477],[101.957473,32.357615],[101.957583,32.357643],[101.957606,32.357649],[101.957652,32.357661],[101.957708,32.357675],[101.957744,32.357684],[101.957752,32.357686],[101.957796,32.357694],[101.958123,32.357757],[101.958431,32.357763],[101.958511,32.357764],[101.958604,32.357766],[101.958606,32.357766],[101.958609,32.357766],[101.958739,32.357768],[101.959093,32.357786],[101.959447,32.357804],[101.959877,32.357794],[101.960307,32.357784],[101.960631,32.357828],[101.960955,32.357873],[101.961187,32.357919],[101.96142,32.357966],[101.961652,32.358012],[101.961884,32.358059],[101.962276,32.358145],[101.962668,32.358232],[101.96306,32.358319],[101.963066,32.358321],[101.963286,32.358411],[101.963512,32.358503],[101.963738,32.358596],[101.963752,32.358601],[101.963964,32.358688],[101.964168,32.358813],[101.964295,32.358892],[101.964372,32.358939],[101.964576,32.359065],[101.96478,32.35919],[101.964841,32.359228],[101.964983,32.359316],[101.965187,32.359441],[101.965384,32.359582],[101.965581,32.359723],[101.965777,32.359863],[101.965974,32.360004],[101.966086,32.360084],[101.966171,32.360145],[101.966367,32.360286],[101.966577,32.36042],[101.966786,32.360554],[101.966995,32.360687],[101.967205,32.360821],[101.967414,32.360955],[101.967623,32.361089],[101.967919,32.361226],[101.968216,32.361363],[101.968434,32.361436],[101.968651,32.361509],[101.969052,32.361552],[101.969221,32.361548],[101.96939,32.361544],[101.969696,32.36151],[101.970123,32.361396],[101.970383,32.361351],[101.970642,32.361306],[101.970919,32.361298],[101.971165,32.361294],[101.971339,32.36129],[101.971411,32.361289],[101.971719,32.36132],[101.972027,32.361352],[101.972367,32.361396],[101.972739,32.361491],[101.972973,32.361603],[101.973207,32.361715],[101.973613,32.361887],[101.97366,32.361908],[101.973799,32.361967],[101.974019,32.36206],[101.974265,32.362107],[101.974512,32.362153],[101.974835,32.362146],[101.975159,32.362138],[101.975541,32.36209],[101.975924,32.362042],[101.976332,32.361988],[101.97674,32.361935],[101.977148,32.361881],[101.977525,32.36182],[101.977902,32.361759],[101.978279,32.361699],[101.978523,32.361628],[101.978766,32.361557],[101.97901,32.361486],[101.979192,32.361433],[101.979192,32.361433],[101.979253,32.361416],[101.979497,32.361345],[101.97974,32.361274],[101.979985,32.361209],[101.980044,32.361194],[101.980229,32.361145],[101.980473,32.36108],[101.980717,32.361015],[101.98074,32.36101],[101.980938,32.360965],[101.981159,32.360914],[101.98138,32.360863],[101.981601,32.360813],[101.981968,32.360642],[101.982334,32.360472],[101.982602,32.360192],[101.98287,32.359912],[101.983017,32.359751],[101.983044,32.359594],[101.982963,32.359335],[101.98294,32.359259],[101.982779,32.359015],[101.982617,32.358771],[101.982583,32.358689],[101.982516,32.358526],[101.982503,32.358493],[101.982463,32.358396],[101.982415,32.358281],[101.982402,32.357838],[101.982437,32.357498],[101.982472,32.357159],[101.982555,32.356883],[101.982638,32.356607],[101.982937,32.356365],[101.983165,32.356281],[101.983392,32.356198],[101.983804,32.35611],[101.983976,32.356073],[101.984217,32.356022],[101.984521,32.35595],[101.984826,32.355878],[101.985079,32.355845],[101.985221,32.355827],[101.985332,32.355813],[101.985584,32.355781],[101.985837,32.355749],[101.986221,32.355643],[101.986605,32.355538],[101.986877,32.3554],[101.986893,32.355392],[101.987036,32.35532],[101.987149,32.355263],[101.987268,32.355221],[101.987468,32.355151],[101.987786,32.355039],[101.988185,32.354979],[101.98863,32.354968],[101.989075,32.354957],[101.989393,32.354964],[101.98971,32.35497],[101.98994,32.354964],[101.99017,32.354959],[101.9904,32.354953],[101.990619,32.354948],[101.99063,32.354947],[101.990875,32.354909],[101.99112,32.354871],[101.991365,32.354833],[101.99161,32.354794],[101.991762,32.354751],[101.992036,32.354673],[101.992463,32.354552],[101.992889,32.354431],[101.993315,32.35431],[101.993533,32.354231],[101.99375,32.354152],[101.993968,32.354073],[101.994186,32.353994],[101.994403,32.353916],[101.994621,32.353837],[101.994838,32.353703],[101.995056,32.353569],[101.995273,32.353436],[101.99549,32.353302],[101.995708,32.353168],[101.995925,32.353035],[101.996142,32.352901],[101.99636,32.352767],[101.996577,32.352634],[101.996794,32.3525],[101.997012,32.352367],[101.997229,32.352233],[101.997446,32.352099],[101.997664,32.351966],[101.997878,32.351832],[101.998092,32.351699],[101.998306,32.351566],[101.99852,32.351433],[101.998734,32.3513],[101.998949,32.351167],[101.999163,32.351033],[101.999254,32.350977],[101.999255,32.350976],[101.999377,32.3509],[101.999591,32.350767],[101.999805,32.350634],[102.000019,32.350501],[102.000233,32.350368],[102.000238,32.350363],[102.000548,32.350136],[102.000749,32.349989],[102.000749,32.349989],[102.000858,32.349909],[102.001168,32.349683],[102.001268,32.349609],[102.001444,32.349481],[102.00172,32.349279],[102.001932,32.349149],[102.002143,32.349019],[102.002355,32.348889],[102.002566,32.348759],[102.002777,32.348629],[102.002871,32.348571],[102.002989,32.348499],[102.0032,32.348369],[102.003412,32.34824],[102.00377,32.348063],[102.004129,32.347887],[102.004488,32.347711],[102.004741,32.347612],[102.004991,32.347552],[102.005242,32.347492],[102.005476,32.347471],[102.00571,32.34745],[102.005943,32.347469],[102.006176,32.347487],[102.006439,32.347533],[102.006702,32.347578],[102.006946,32.347703],[102.007191,32.347828],[102.007468,32.348171],[102.007745,32.348514],[102.008022,32.348858],[102.008299,32.349201],[102.008456,32.349396],[102.008613,32.349591],[102.00877,32.349786],[102.008927,32.349982],[102.009047,32.350117],[102.009263,32.350175],[102.009606,32.350155],[102.009935,32.350071],[102.010265,32.349987],[102.010531,32.349927],[102.010798,32.349868],[102.011065,32.349808],[102.011331,32.349749],[102.011642,32.349703],[102.011952,32.349657],[102.012335,32.349665],[102.012719,32.349674],[102.013102,32.349683],[102.013536,32.349737],[102.013695,32.349757],[102.013971,32.349791],[102.01426,32.349828],[102.014405,32.349846],[102.014669,32.349852],[102.014933,32.349857],[102.015291,32.349853],[102.01565,32.349848],[102.01593,32.349829],[102.01621,32.349809],[102.016505,32.349817],[102.016801,32.349824],[102.017225,32.349878],[102.017648,32.349931],[102.018072,32.349985],[102.018287,32.350065],[102.018503,32.350145],[102.018718,32.350225],[102.018934,32.350305],[102.01909,32.350363],[102.019111,32.35037],[102.019149,32.350385],[102.019365,32.350465],[102.019465,32.350531],[102.019654,32.350656],[102.019682,32.350674],[102.019944,32.350848],[102.020184,32.351118],[102.020424,32.351389],[102.020728,32.351633],[102.021031,32.351877],[102.021161,32.351955],[102.021305,32.352042],[102.021312,32.352044],[102.021676,32.352156],[102.021939,32.352189],[102.022203,32.352222],[102.022591,32.352231],[102.022868,32.352237],[102.022979,32.35224],[102.023213,32.352232],[102.023446,32.352224],[102.023628,32.352218],[102.02368,32.352216],[102.023913,32.352209],[102.024143,32.352188],[102.024372,32.352167],[102.024601,32.352146],[102.02483,32.352124],[102.02506,32.352103],[102.025289,32.352082],[102.025505,32.35203],[102.025687,32.351986],[102.026085,32.35189],[102.026483,32.351793],[102.026734,32.351714],[102.026876,32.351669],[102.026985,32.351634],[102.027237,32.351555],[102.027488,32.351475],[102.027701,32.351394],[102.027913,32.351313],[102.028126,32.351233],[102.028339,32.351152],[102.028569,32.351012],[102.02863,32.350975],[102.028686,32.350941],[102.0288,32.350872],[102.028994,32.350754],[102.02903,32.350732],[102.029044,32.350724],[102.029066,32.350711],[102.029261,32.350593],[102.029508,32.350317],[102.029756,32.350041],[102.030004,32.349765],[102.030034,32.349732],[102.030147,32.349604],[102.030156,32.349593],[102.030308,32.349422],[102.03046,32.34925],[102.030612,32.349078],[102.030764,32.348906],[102.030916,32.348734],[102.031068,32.348562],[102.03122,32.34839],[102.03136,32.348159],[102.031499,32.347928],[102.031639,32.347697],[102.031779,32.347466],[102.031919,32.347235],[102.032058,32.347004],[102.032198,32.346773],[102.032338,32.346542],[102.032424,32.346289],[102.03251,32.346036],[102.032596,32.345782],[102.032682,32.345529],[102.032769,32.345276],[102.032855,32.345023],[102.032904,32.344773],[102.032954,32.344524],[102.033004,32.344274],[102.033053,32.344024],[102.033103,32.343775],[102.033153,32.343525],[102.033244,32.343274],[102.033335,32.343022],[102.033426,32.342771],[102.033518,32.342519],[102.033609,32.342268],[102.0337,32.342016],[102.033799,32.341765],[102.033897,32.341514],[102.033996,32.341263],[102.034094,32.341012],[102.034193,32.340761],[102.034291,32.34051],[102.03439,32.340259],[102.034488,32.340008],[102.034586,32.339757],[102.034685,32.339505],[102.034811,32.339201],[102.034837,32.339139],[102.034988,32.338773],[102.035015,32.338721],[102.035176,32.338343],[102.03521,32.338295],[102.035324,32.338135],[102.03555,32.337968],[102.035788,32.337855],[102.036127,32.33773],[102.03649,32.337683],[102.036874,32.337704],[102.037258,32.337724],[102.037507,32.337724],[102.037698,32.337707],[102.037858,32.337665],[102.03809,32.337576],[102.038263,32.337617],[102.038376,32.337796],[102.038488,32.338104],[102.03855,32.338276],[102.0386,32.338412],[102.038614,32.33845],[102.038804,32.338849],[102.038923,32.339003],[102.039072,32.339075],[102.039209,32.33914],[102.039298,32.339176],[102.039578,32.339378],[102.03975,32.339456],[102.03981,32.339539],[102.039863,32.33967],[102.039929,32.339824],[102.04,32.339925],[102.040101,32.340009],[102.040375,32.340086],[102.040667,32.340349],[102.040743,32.340401],[102.040989,32.34057],[102.041167,32.340699],[102.041296,32.340849],[102.041353,32.341034],[102.041375,32.341164],[102.041445,32.341577],[102.041545,32.341777],[102.04171,32.34208],[102.041874,32.342383],[102.042006,32.342608],[102.042138,32.342833],[102.042359,32.343104],[102.042502,32.343269],[102.042745,32.343454],[102.042811,32.343479],[102.043016,32.343554],[102.043287,32.34369],[102.043551,32.343768],[102.043815,32.343847],[102.044072,32.343932],[102.044294,32.343961],[102.044615,32.343961],[102.044865,32.343915],[102.045115,32.343868],[102.045339,32.343886],[102.045564,32.343904],[102.0457,32.343975],[102.045828,32.344118],[102.045936,32.344268],[102.046071,32.344575],[102.046159,32.344762],[102.04625,32.344953],[102.046335,32.345216],[102.046335,32.345217],[102.046335,32.345217],[102.046428,32.345374],[102.046678,32.345589],[102.046792,32.345617],[102.047096,32.345716],[102.047239,32.345852],[102.047425,32.346028],[102.047611,32.346204],[102.047797,32.34638],[102.047983,32.346556],[102.048166,32.346692],[102.048348,32.346829],[102.04853,32.346965],[102.048712,32.347101],[102.048895,32.347238],[102.049077,32.347374],[102.049305,32.347531],[102.049534,32.347688],[102.049762,32.347846],[102.049991,32.348003],[102.050219,32.34816],[102.050448,32.348317],[102.050676,32.348474],[102.050905,32.348631],[102.051232,32.348891],[102.051559,32.349151],[102.051887,32.34941],[102.052133,32.349508],[102.052379,32.349606],[102.052749,32.349693],[102.053014,32.349686],[102.053279,32.349679],[102.053513,32.349658],[102.053747,32.349637],[102.053981,32.349617],[102.054216,32.349596],[102.054636,32.349579],[102.055057,32.349562],[102.055384,32.34957],[102.05571,32.349578],[102.05602,32.349612],[102.056331,32.349645],[102.056717,32.34972],[102.057103,32.349796],[102.057536,32.349911],[102.057968,32.350026],[102.058338,32.350128],[102.058631,32.350208],[102.058709,32.35023],[102.058987,32.350275],[102.059266,32.350321],[102.059638,32.350383],[102.060009,32.350444],[102.060197,32.350481],[102.060396,32.350519],[102.060782,32.350594],[102.061046,32.350626],[102.061309,32.350659],[102.061573,32.350691],[102.061836,32.350724],[102.062272,32.35076],[102.06255,32.350832],[102.062828,32.350905],[102.063058,32.351003],[102.063288,32.351101],[102.063478,32.351237],[102.063668,32.351373],[102.063745,32.351428],[102.063942,32.351565],[102.06414,32.351702],[102.064337,32.351839],[102.064535,32.351975],[102.064711,32.352138],[102.064888,32.352301],[102.065087,32.352411],[102.065286,32.35252],[102.06553,32.352631],[102.065717,32.352637],[102.066092,32.352592],[102.06644,32.352455],[102.066787,32.352319],[102.067156,32.352133],[102.067525,32.351948],[102.067894,32.351762],[102.068124,32.351629],[102.068354,32.351496],[102.068584,32.351362],[102.068814,32.351229],[102.069105,32.350919],[102.069395,32.350608],[102.069587,32.350448],[102.069779,32.350288],[102.069971,32.350128],[102.070162,32.349968],[102.070374,32.349794],[102.070586,32.349621],[102.070798,32.349448],[102.07101,32.349275],[102.071221,32.349101],[102.071433,32.348928],[102.071645,32.348755],[102.071857,32.348581],[102.072064,32.348448],[102.072271,32.348314],[102.072478,32.348181],[102.072685,32.348047],[102.072914,32.347933],[102.073143,32.34782],[102.073372,32.347706],[102.073452,32.347666],[102.0736,32.347592],[102.073789,32.34752],[102.073821,32.347508],[102.074042,32.347424],[102.074263,32.34734],[102.074483,32.347256],[102.074704,32.347172],[102.074925,32.347088],[102.075146,32.347004],[102.075366,32.34692],[102.075612,32.346841],[102.075857,32.346763],[102.07613,32.346675],[102.076519,32.34654],[102.076542,32.346532],[102.076908,32.346405],[102.07711,32.346335],[102.077297,32.34627],[102.077686,32.346135],[102.078075,32.346],[102.078465,32.345865],[102.078854,32.34573],[102.079243,32.345595],[102.079632,32.34546],[102.079876,32.345386],[102.080121,32.345312],[102.080462,32.345186],[102.080803,32.34506],[102.081145,32.344934],[102.081486,32.344808],[102.081827,32.344682],[102.082059,32.3446],[102.082291,32.344518],[102.082491,32.344404],[102.082712,32.344275],[102.082838,32.34422],[102.082955,32.344168],[102.08326,32.344042],[102.083564,32.343916],[102.083869,32.34379],[102.084233,32.343554],[102.084383,32.343461],[102.084547,32.343426],[102.084711,32.343383],[102.084904,32.343297],[102.085197,32.343126],[102.085211,32.343122],[102.085389,32.343076],[102.085596,32.343069],[102.085903,32.342997],[102.086125,32.342876],[102.08626,32.342698],[102.08641,32.342526],[102.086532,32.342441],[102.086917,32.342276],[102.087203,32.342148],[102.087438,32.342019],[102.087688,32.341927],[102.088038,32.341798],[102.08838,32.341691],[102.088659,32.341613],[102.088823,32.341548],[102.088916,32.341441],[102.089116,32.34127],[102.089315,32.341177],[102.089465,32.34107],[102.089587,32.340884],[102.08973,32.340635],[102.08987,32.340335],[102.09001,32.340035],[102.090151,32.339735],[102.090161,32.339439],[102.090172,32.339143],[102.090186,32.338893],[102.090201,32.338643],[102.090236,32.3383],[102.090244,32.338268],[102.090297,32.338049],[102.090351,32.337829],[102.09046,32.337425],[102.09057,32.337021],[102.0906,32.336908],[102.090679,32.336666],[102.090686,32.336451],[102.09067,32.336369],[102.090586,32.335952],[102.090565,32.335758],[102.090529,32.335416],[102.090436,32.335138],[102.090429,32.334917],[102.090472,32.33471],[102.090465,32.334531],[102.090379,32.334331],[102.090343,32.334103],[102.090408,32.333967],[102.090508,32.333882],[102.090757,32.333746],[102.090936,32.333525],[102.091057,32.333175],[102.091129,32.332847],[102.091137,32.332429],[102.091145,32.332011],[102.09119,32.331725],[102.09119,32.331722],[102.091191,32.331721],[102.091193,32.331707],[102.091269,32.331431],[102.091357,32.331313],[102.091383,32.331279],[102.091545,32.331079],[102.091707,32.330879],[102.091816,32.330674],[102.091926,32.330469],[102.092069,32.330232],[102.09224,32.329927],[102.092402,32.32966],[102.092563,32.329394],[102.092699,32.3292],[102.092787,32.329076],[102.093075,32.328841],[102.093295,32.32866],[102.093515,32.32848],[102.093715,32.328352],[102.093915,32.328223],[102.094181,32.328081],[102.094372,32.328033],[102.0946,32.327957],[102.094762,32.327728],[102.094924,32.3275],[102.095114,32.327291],[102.095305,32.327081],[102.09539,32.326862],[102.095457,32.326746],[102.095581,32.326529],[102.095571,32.326158],[102.095504,32.32583],[102.095438,32.325501],[102.095448,32.325322],[102.095457,32.325168],[102.095562,32.32493],[102.095666,32.324692],[102.095799,32.324527],[102.095942,32.32435],[102.096099,32.324093],[102.096256,32.323836],[102.096409,32.323563],[102.096561,32.32329],[102.096713,32.323017],[102.096846,32.322789],[102.097075,32.322551],[102.097208,32.322341],[102.097341,32.322132],[102.097379,32.321922],[102.097484,32.321665],[102.097646,32.321504],[102.097806,32.321201],[102.097965,32.320897],[102.09809,32.320739],[102.098342,32.320455],[102.098595,32.320171],[102.098848,32.319887],[102.099024,32.319768],[102.099029,32.319765],[102.099301,32.319603],[102.099574,32.319442],[102.099851,32.319321],[102.100084,32.319219],[102.100316,32.319117],[102.100549,32.319016],[102.100782,32.318914],[102.101014,32.318813],[102.101247,32.318711],[102.101479,32.318609],[102.101712,32.318508],[102.101945,32.318406],[102.102177,32.318304],[102.10241,32.318203],[102.102643,32.318101],[102.102875,32.317999],[102.103108,32.317898],[102.103341,32.317796],[102.103573,32.317694],[102.103784,32.317611],[102.103995,32.317527],[102.104206,32.317444],[102.104417,32.31736],[102.104628,32.317277],[102.104839,32.317193],[102.10505,32.31711],[102.105261,32.317026],[102.105472,32.316943],[102.105683,32.316859],[102.10608,32.316679],[102.106476,32.316499],[102.106873,32.316319],[102.107269,32.316139],[102.107477,32.316022],[102.107685,32.315906],[102.107894,32.31579],[102.108102,32.315674],[102.10831,32.315558],[102.108518,32.315441],[102.108872,32.315249],[102.109153,32.315096],[102.109153,32.315096],[102.109225,32.315057],[102.109578,32.314865],[102.109988,32.3147],[102.110397,32.314534],[102.110806,32.314369],[102.111195,32.314241],[102.111583,32.314113],[102.111972,32.313985],[102.112236,32.313881],[102.112499,32.313777],[102.112729,32.313592],[102.112922,32.313375],[102.112935,32.312995],[102.112907,32.31268],[102.112902,32.312621],[102.11288,32.312364],[102.11285,32.312139],[102.11282,32.311913],[102.11279,32.311687],[102.112759,32.311462],[102.112729,32.311236],[102.112699,32.31101],[102.112669,32.310785],[102.112639,32.310559],[102.112646,32.310323],[102.112654,32.310086],[102.112736,32.309852],[102.112818,32.309617],[102.1129,32.309382],[102.112982,32.309147],[102.113068,32.308786],[102.113153,32.308425],[102.113148,32.307998],[102.113143,32.307572],[102.113122,32.307339],[102.113102,32.307105],[102.113081,32.306872],[102.113061,32.306639],[102.11304,32.306406],[102.11302,32.306173],[102.112999,32.305939],[102.112979,32.305706],[102.112968,32.305474],[102.112956,32.305243],[102.112945,32.305011],[102.112934,32.304779],[102.112923,32.304547],[102.112911,32.304316],[102.112936,32.30409],[102.112962,32.303864],[102.112987,32.303639],[102.113012,32.303413],[102.113136,32.303006],[102.113261,32.302598],[102.113495,32.302288],[102.113523,32.302261],[102.113725,32.302072],[102.114149,32.301987],[102.114573,32.301902],[102.114926,32.301831],[102.114998,32.301817],[102.115437,32.301748],[102.115876,32.301679],[102.116315,32.301611],[102.11661,32.301564],[102.116755,32.301542],[102.117153,32.301509],[102.117551,32.301476],[102.117949,32.301443],[102.118265,32.301434],[102.118582,32.301425],[102.118952,32.301466],[102.119323,32.301506],[102.119768,32.301516],[102.120192,32.301636],[102.120507,32.301725],[102.120617,32.301757],[102.12065,32.30178],[102.120999,32.302025],[102.121035,32.302051],[102.121381,32.302294],[102.121572,32.302429],[102.121764,32.302563],[102.121955,32.302697],[102.122146,32.302832],[102.12251,32.303093],[102.122873,32.303354],[102.122873,32.303354],[102.122873,32.303354],[102.123203,32.303488],[102.123534,32.303622],[102.123923,32.303678],[102.124312,32.303734],[102.124696,32.303753],[102.12508,32.303773],[102.125463,32.303792],[102.125815,32.303793],[102.126167,32.303795],[102.126419,32.303796],[102.12667,32.303797],[102.127107,32.303799],[102.127174,32.303799],[102.127191,32.3038],[102.127456,32.303818],[102.127721,32.303835],[102.127994,32.303853],[102.128268,32.303871],[102.128541,32.303889],[102.128815,32.303907],[102.12917,32.30393],[102.129362,32.303943],[102.129602,32.30398],[102.129843,32.304017],[102.130084,32.304054],[102.130325,32.304092],[102.130749,32.304196],[102.131173,32.3043],[102.131467,32.304402],[102.131761,32.304503],[102.13202,32.304556],[102.132279,32.304609],[102.132614,32.304617],[102.132767,32.304495],[102.13278,32.304464],[102.132864,32.304278],[102.132864,32.304278],[102.132886,32.304229],[102.133006,32.303964],[102.133065,32.303704],[102.133101,32.303546],[102.133104,32.303534],[102.133104,32.303534],[102.133124,32.303445],[102.133184,32.303186],[102.133243,32.302927],[102.133257,32.302865],[102.133302,32.302667],[102.133362,32.302408],[102.133421,32.302149],[102.13348,32.30189],[102.133566,32.301545],[102.133587,32.301461],[102.133653,32.3012],[102.13381,32.30092],[102.133894,32.300769],[102.133967,32.300639],[102.134215,32.30044],[102.134462,32.30024],[102.134679,32.300097],[102.134785,32.300027],[102.134968,32.299906],[102.135108,32.299813],[102.135353,32.299701],[102.135598,32.29959],[102.135865,32.299406],[102.135942,32.299353],[102.136131,32.299223],[102.136325,32.298959],[102.13652,32.298695],[102.136643,32.298455],[102.136765,32.298215],[102.136888,32.297975],[102.137011,32.297734],[102.137134,32.297494],[102.137257,32.297254],[102.137379,32.297014],[102.137502,32.296774],[102.137625,32.296533],[102.137748,32.296293],[102.137851,32.296075],[102.137955,32.295856],[102.138059,32.295637],[102.138162,32.295419],[102.138266,32.2952],[102.138369,32.294982],[102.138473,32.294763],[102.138577,32.294544],[102.13868,32.294326],[102.138784,32.294107],[102.13888,32.293857],[102.138976,32.293606],[102.139073,32.293356],[102.139169,32.293105],[102.139265,32.292855],[102.139361,32.292604],[102.139457,32.292354],[102.139554,32.292103],[102.139727,32.291781],[102.139844,32.291564],[102.13996,32.291347],[102.140077,32.29113],[102.140194,32.290914],[102.14031,32.290697],[102.140427,32.29048],[102.140543,32.290263],[102.14066,32.290046],[102.140819,32.289853],[102.140979,32.289659],[102.141244,32.289507],[102.141509,32.289354],[102.141847,32.289267],[102.142083,32.289207],[102.142184,32.289181],[102.142484,32.289109],[102.142784,32.289036],[102.143193,32.289046],[102.143433,32.289083],[102.143674,32.28912],[102.144042,32.289255],[102.14441,32.289389],[102.14463,32.289481],[102.144851,32.289573],[102.145071,32.289665],[102.145292,32.289756],[102.145386,32.289796],[102.145418,32.289809],[102.145512,32.289848],[102.145732,32.28994],[102.145953,32.290032],[102.145967,32.290038],[102.146173,32.290124],[102.146411,32.290261],[102.146648,32.290397],[102.146885,32.290534],[102.147123,32.290671],[102.14736,32.290808],[102.147597,32.290945],[102.147925,32.291184],[102.148252,32.291423],[102.148579,32.291662],[102.148731,32.291776],[102.148737,32.291781],[102.149051,32.292019],[102.149212,32.292228],[102.149373,32.292437],[102.149459,32.29266],[102.149545,32.292883],[102.149541,32.29296],[102.14953,32.293151],[102.149515,32.293419],[102.149513,32.293471],[102.149548,32.293716],[102.149584,32.29396],[102.149588,32.294227],[102.149582,32.29457],[102.149575,32.294914],[102.149569,32.295257],[102.149562,32.2956],[102.149522,32.29595],[102.149481,32.2963],[102.149441,32.296649],[102.1494,32.296999],[102.149389,32.297378],[102.149377,32.297757],[102.149365,32.298136],[102.14941,32.298528],[102.149432,32.298718],[102.149456,32.298921],[102.1495,32.299116],[102.14957,32.299418],[102.149639,32.29972],[102.149709,32.300022],[102.149804,32.30025],[102.149899,32.300479],[102.150008,32.300698],[102.150018,32.300717],[102.150118,32.300917],[102.150321,32.301234],[102.150548,32.301588],[102.150776,32.301942],[102.150924,32.302173],[102.151003,32.302297],[102.151193,32.302544],[102.151384,32.302792],[102.151574,32.303039],[102.15175,32.303182],[102.151787,32.303212],[102.151926,32.303325],[102.152212,32.303567],[102.152378,32.303708],[102.152497,32.30381],[102.152635,32.304015],[102.152773,32.304219],[102.152897,32.304533],[102.152983,32.30479],[102.153013,32.305201],[102.153021,32.305304],[102.153173,32.305475],[102.153306,32.305623],[102.153592,32.305942],[102.15383,32.306123],[102.153935,32.306153],[102.15423,32.306237],[102.154591,32.306247],[102.154953,32.306256],[102.155272,32.306304],[102.155581,32.306351],[102.155962,32.306375],[102.156343,32.306399],[102.156714,32.306361],[102.157085,32.306323],[102.157404,32.306318],[102.157723,32.306313],[102.157989,32.306366],[102.158256,32.306418],[102.158503,32.306518],[102.158751,32.306618],[102.159021,32.306746],[102.159274,32.306865],[102.159617,32.307037],[102.159633,32.30704],[102.160035,32.307122],[102.160359,32.307094],[102.160673,32.307113],[102.160987,32.307132],[102.161315,32.307079],[102.161576,32.307085],[102.161814,32.30709],[102.162052,32.307096],[102.162393,32.307067],[102.162499,32.307059],[102.162947,32.307021],[102.163339,32.306968],[102.163731,32.306914],[102.164135,32.306839],[102.164539,32.306764],[102.164803,32.306628],[102.165067,32.306492],[102.165404,32.306197],[102.165741,32.305901],[102.166077,32.305606],[102.166414,32.305311],[102.166751,32.305015],[102.166949,32.304841],[102.167146,32.304666],[102.167344,32.304491],[102.167542,32.304317],[102.16774,32.304142],[102.167937,32.303968],[102.16822,32.303832],[102.168503,32.303696],[102.168748,32.303607],[102.168993,32.303518],[102.169237,32.30346],[102.16948,32.303403],[102.169815,32.30341],[102.16988,32.303412],[102.169845,32.303446],[102.169594,32.303676],[102.169317,32.303862],[102.168943,32.304276],[102.168019,32.306366],[102.167576,32.307548],[102.167377,32.308079],[102.167013,32.309607],[102.166521,32.310901],[102.165894,32.312154],[102.165725,32.313225],[102.165819,32.31544],[102.165822,32.315506],[102.16583,32.315684],[102.166,32.317454],[102.165875,32.318564],[102.165879,32.319908],[102.165852,32.320752],[102.16556,32.321436],[102.165261,32.322312],[102.164763,32.323798],[102.164401,32.324716],[102.164246,32.325109],[102.164223,32.325168],[102.164139,32.32538],[102.164095,32.325494],[102.163923,32.325912],[102.163901,32.325966],[102.163733,32.326386],[102.163562,32.327495],[102.163611,32.32884],[102.1638,32.330034],[102.164263,32.331119],[102.164698,32.332057],[102.165002,32.332933],[102.164927,32.33305],[102.164921,32.333151],[102.164966,32.333262],[102.165103,32.333333],[102.165265,32.333494],[102.165327,32.333515],[102.165355,32.333563],[102.165421,32.333701],[102.165478,32.333762],[102.165537,32.333789],[102.165603,32.333798],[102.165716,32.333792],[102.165755,32.333809],[102.165778,32.333851],[102.165776,32.333895],[102.165787,32.333925],[102.165879,32.333994],[102.16591,32.334055],[102.165947,32.334241],[102.165978,32.334479],[102.166016,32.334589],[102.166032,32.334606],[102.166071,32.334624],[102.166216,32.334649],[102.166258,32.334664],[102.166336,32.334723],[102.166422,32.334808],[102.166537,32.334869],[102.166574,32.334914],[102.166714,32.335083],[102.166719,32.335091],[102.166732,32.335105],[102.166736,32.335109],[102.166782,32.335155],[102.166812,32.335183],[102.167022,32.335392],[102.167046,32.335415],[102.167094,32.335462],[102.167098,32.335466],[102.16714,32.335508],[102.167202,32.335569],[102.167511,32.335862],[102.167556,32.335904],[102.167621,32.335966],[102.167638,32.335982],[102.167643,32.335987],[102.167743,32.336079],[102.167747,32.336085],[102.167753,32.336091],[102.167762,32.3361],[102.168319,32.336685],[102.168431,32.337185],[102.168437,32.33722],[102.168446,32.33725],[102.168447,32.337257],[102.16848,32.337268],[102.16851,32.337278],[102.168534,32.337302],[102.168524,32.33739],[102.168542,32.337441],[102.168541,32.337492],[102.168541,32.337528],[102.168539,32.337535],[102.168535,32.337548],[102.168557,32.337613],[102.168537,32.33769],[102.168599,32.337739],[102.168648,32.337886],[102.168656,32.337908],[102.168695,32.338026],[102.16871,32.338046],[102.168724,32.338064],[102.168706,32.338073],[102.168662,32.338085],[102.168636,32.338108],[102.16863,32.338193],[102.168652,32.338305],[102.168628,32.33835],[102.168625,32.338407],[102.168657,32.338453],[102.168681,32.33847],[102.168826,32.338501],[102.168919,32.338527],[102.168967,32.338549],[102.168877,32.338701],[102.16885,32.338779],[102.168845,32.338818],[102.168854,32.33887],[102.168911,32.338904],[102.168924,32.338927],[102.168917,32.338955],[102.16888,32.339004],[102.168871,32.339067],[102.168877,32.339098],[102.168917,32.33916],[102.168926,32.339189],[102.168927,32.339263],[102.168939,32.339325],[102.168975,32.339393],[102.169,32.339417],[102.169033,32.339436],[102.169148,32.339476],[102.169265,32.339532],[102.169289,32.339556],[102.169296,32.339581],[102.169292,32.339627],[102.169265,32.339678],[102.169191,32.33975],[102.169152,32.339809],[102.169073,32.339858],[102.169059,32.339899],[102.169067,32.339937],[102.169091,32.339965],[102.169129,32.339989],[102.169175,32.339999],[102.169182,32.340009],[102.169179,32.340024],[102.169101,32.340141],[102.169082,32.340246],[102.16909,32.340348],[102.169105,32.3404],[102.169128,32.340437],[102.169203,32.34049],[102.169201,32.340517],[102.169106,32.340527],[102.168871,32.340522],[102.168826,32.340541],[102.16882,32.340556],[102.168806,32.340588],[102.16881,32.340624],[102.168829,32.34064],[102.168851,32.34066],[102.168968,32.340699],[102.169081,32.340707],[102.169123,32.340734],[102.169122,32.340771],[102.169085,32.340813],[102.169058,32.340888],[102.169046,32.340959],[102.16905,32.341032],[102.169086,32.341122],[102.169198,32.341218],[102.16922,32.341248],[102.169245,32.34133],[102.169253,32.34139],[102.169249,32.341475],[102.169187,32.341653],[102.169157,32.341827],[102.169148,32.341922],[102.169152,32.342147],[102.169143,32.34219],[102.169111,32.342241],[102.169045,32.342282],[102.169023,32.342288],[102.168948,32.342282],[102.168926,32.342287],[102.168913,32.342304],[102.168918,32.342344],[102.168939,32.342378],[102.169071,32.34248],[102.16909,32.342501],[102.16912,32.342534],[102.169129,32.342545],[102.169147,32.342589],[102.16913,32.342682],[102.169148,32.342717],[102.169168,32.342739],[102.16923,32.342777],[102.16933,32.3428],[102.169382,32.342887],[102.169483,32.342965],[102.169526,32.342982],[102.169633,32.343007],[102.169662,32.343027],[102.169675,32.343113],[102.169693,32.34315],[102.169716,32.343183],[102.169762,32.343222],[102.169723,32.343359],[102.16974,32.343422],[102.169767,32.343456],[102.169801,32.34347],[102.169867,32.343473],[102.16991,32.343487],[102.16993,32.343501],[102.169974,32.343566],[102.170012,32.343584],[102.170085,32.343598],[102.170178,32.343584],[102.170216,32.343578],[102.170253,32.343622],[102.170259,32.343651],[102.170254,32.343703],[102.170252,32.34373],[102.170278,32.3441],[102.170274,32.344147],[102.17025,32.344219],[102.170152,32.344396],[102.170104,32.344464],[102.170078,32.344489],[102.169965,32.344557],[102.169782,32.344693],[102.169763,32.344716],[102.169742,32.344742],[102.169724,32.344802],[102.169729,32.344829],[102.169747,32.344857],[102.169821,32.344921],[102.169903,32.344971],[102.169938,32.345017],[102.169951,32.3451],[102.169952,32.345233],[102.169974,32.345376],[102.169977,32.345398],[102.170054,32.345677],[102.170068,32.345763],[102.170101,32.345842],[102.170133,32.345886],[102.170143,32.345896],[102.170219,32.345971],[102.170262,32.345999],[102.170368,32.346048],[102.170402,32.346079],[102.170417,32.346112],[102.170425,32.346144],[102.170419,32.346185],[102.170335,32.34625],[102.170314,32.346288],[102.170297,32.346357],[102.170292,32.346408],[102.170278,32.346537],[102.170283,32.346606],[102.170302,32.346678],[102.170357,32.346782],[102.170398,32.346828],[102.170423,32.346844],[102.170465,32.346855],[102.170633,32.34686],[102.170662,32.346868],[102.170699,32.346909],[102.170727,32.346989],[102.170749,32.347024],[102.170787,32.347067],[102.170826,32.347085],[102.170881,32.347086],[102.170982,32.347058],[102.171085,32.346999],[102.171222,32.346903],[102.171288,32.34688],[102.171363,32.346853],[102.171455,32.346848],[102.171548,32.346866],[102.171613,32.346894],[102.171646,32.346928],[102.171671,32.347008],[102.171661,32.347055],[102.171562,32.347183],[102.171526,32.347229],[102.171437,32.34743],[102.171363,32.34756],[102.17103,32.348018],[102.171015,32.34806],[102.170996,32.34811],[102.170998,32.348207],[102.171014,32.348252],[102.171066,32.348296],[102.171121,32.34832],[102.171203,32.348334],[102.171262,32.348319],[102.171371,32.34826],[102.171541,32.348193],[102.171633,32.348157],[102.171713,32.348155],[102.17174,32.348176],[102.171758,32.348217],[102.171764,32.348254],[102.171756,32.348413],[102.171746,32.348432],[102.171697,32.348471],[102.171652,32.348522],[102.17164,32.348554],[102.17165,32.348581],[102.171718,32.348673],[102.171724,32.348696],[102.17171,32.348738],[102.17164,32.348765],[102.171618,32.348796],[102.171662,32.348993],[102.171672,32.349019],[102.171718,32.349139],[102.171786,32.349255],[102.171838,32.349308],[102.171929,32.349373],[102.171968,32.349411],[102.171983,32.349425],[102.172055,32.349517],[102.172113,32.349665],[102.172164,32.349765],[102.172178,32.349843],[102.172167,32.349904],[102.172128,32.349964],[102.171938,32.350074],[102.171907,32.350106],[102.171896,32.35013],[102.17189,32.350183],[102.171902,32.350277],[102.171938,32.350361],[102.172068,32.350508],[102.172169,32.350662],[102.172248,32.350737],[102.172475,32.350905],[102.172566,32.350973],[102.172618,32.351045],[102.172636,32.351095],[102.172634,32.351145],[102.172616,32.35121],[102.172582,32.351279],[102.17254,32.351329],[102.172431,32.351391],[102.17229,32.351448],[102.17226,32.351464],[102.172188,32.351504],[102.17211,32.351561],[102.17206,32.351623],[102.172034,32.351672],[102.171988,32.351756],[102.171954,32.351843],[102.171937,32.351919],[102.171934,32.352105],[102.17191,32.352192],[102.171882,32.352205],[102.171744,32.352198],[102.171706,32.352203],[102.171625,32.352249],[102.171604,32.35227],[102.171589,32.352302],[102.171592,32.352337],[102.171615,32.352391],[102.171626,32.352404],[102.171665,32.352448],[102.171722,32.352481],[102.171834,32.352528],[102.172203,32.352624],[102.172239,32.352665],[102.172272,32.35276],[102.172255,32.35327],[102.17223,32.353346],[102.172199,32.353378],[102.172148,32.353398],[102.172115,32.353399],[102.17193,32.353368],[102.171848,32.353345],[102.171727,32.353282],[102.171601,32.353232],[102.171572,32.353229],[102.171547,32.353236],[102.171509,32.353286],[102.1715,32.353331],[102.171519,32.353383],[102.171707,32.353686],[102.171789,32.353776],[102.171789,32.353806],[102.171753,32.353903],[102.171752,32.353948],[102.171773,32.354048],[102.171821,32.354155],[102.171823,32.354223],[102.171808,32.354257],[102.171785,32.354281],[102.171707,32.35433],[102.171537,32.354369],[102.171411,32.354429],[102.171355,32.354479],[102.171345,32.354493],[102.171312,32.354543],[102.171285,32.354639],[102.171297,32.354708],[102.171339,32.354748],[102.171395,32.354777],[102.171554,32.354859],[102.171573,32.354877],[102.171577,32.354915],[102.171556,32.354979],[102.171511,32.35505],[102.17149,32.355063],[102.171457,32.355066],[102.171395,32.35507],[102.171365,32.355086],[102.17135,32.355109],[102.171353,32.355127],[102.171384,32.355181],[102.171463,32.355266],[102.171473,32.355317],[102.171464,32.355352],[102.171439,32.355373],[102.171342,32.355415],[102.171199,32.355432],[102.171176,32.355448],[102.171164,32.355483],[102.171165,32.355509],[102.171176,32.355528],[102.171261,32.355566],[102.171305,32.355599],[102.171346,32.355649],[102.171372,32.355711],[102.171379,32.355773],[102.171329,32.355919],[102.171326,32.355972],[102.171364,32.356163],[102.171368,32.356279],[102.171391,32.35637],[102.171407,32.356401],[102.17143,32.356428],[102.17146,32.356446],[102.171552,32.356468],[102.17158,32.35647],[102.171642,32.356474],[102.171766,32.35645],[102.1718,32.356454],[102.171841,32.356496],[102.171863,32.356548],[102.171866,32.356598],[102.171849,32.356651],[102.17181,32.356693],[102.171479,32.35678],[102.17142,32.356808],[102.171401,32.35683],[102.171391,32.356879],[102.171401,32.356928],[102.171426,32.356954],[102.171502,32.356999],[102.171563,32.357065],[102.171565,32.357122],[102.171547,32.357157],[102.171486,32.357186],[102.171434,32.35719],[102.171309,32.357146],[102.171192,32.357081],[102.171125,32.357076],[102.171077,32.357091],[102.171047,32.357128],[102.171007,32.357212],[102.170997,32.357263],[102.170984,32.357553],[102.170972,32.357586],[102.170934,32.357632],[102.170912,32.357645],[102.170892,32.357643],[102.170817,32.357611],[102.170732,32.357562],[102.170676,32.357546],[102.170606,32.35755],[102.170529,32.357569],[102.170476,32.357598],[102.170426,32.357646],[102.17024,32.35793],[102.170221,32.35798],[102.170216,32.357994],[102.170225,32.358092],[102.170244,32.358132],[102.170256,32.358148],[102.170345,32.358277],[102.170366,32.358344],[102.170355,32.358375],[102.170265,32.358475],[102.170244,32.358498],[102.170224,32.358563],[102.170225,32.358642],[102.17023,32.358661],[102.170252,32.358731],[102.170367,32.358887],[102.170438,32.359024],[102.170472,32.359122],[102.170481,32.359192],[102.170478,32.359236],[102.170457,32.359262],[102.170404,32.359294],[102.170374,32.359304],[102.170223,32.359327],[102.170156,32.359349],[102.170051,32.359416],[102.170001,32.359484],[102.169963,32.35951],[102.169942,32.359512],[102.169894,32.359489],[102.169873,32.359472],[102.169857,32.359439],[102.169851,32.359377],[102.169867,32.359225],[102.169857,32.359184],[102.169831,32.359143],[102.169807,32.359126],[102.169753,32.35911],[102.169642,32.359099],[102.169593,32.359109],[102.169568,32.359126],[102.169537,32.359174],[102.169517,32.359237],[102.169516,32.359272],[102.169538,32.359405],[102.169549,32.359438],[102.169622,32.359654],[102.169621,32.359695],[102.169587,32.359745],[102.169536,32.359783],[102.169503,32.359791],[102.169426,32.359793],[102.169367,32.359825],[102.169307,32.359889],[102.169269,32.359971],[102.169243,32.359977],[102.169189,32.359971],[102.169095,32.359944],[102.169061,32.359925],[102.16904,32.359892],[102.168999,32.359727],[102.168987,32.359679],[102.168936,32.359644],[102.168892,32.359632],[102.168864,32.359632],[102.168822,32.359649],[102.168799,32.359669],[102.168736,32.359758],[102.168642,32.359892],[102.168509,32.359999],[102.168474,32.360055],[102.168461,32.360113],[102.168508,32.360247],[102.16851,32.360305],[102.168493,32.360332],[102.168329,32.360274],[102.168202,32.360208],[102.168135,32.3602],[102.168093,32.360207],[102.16792,32.360263],[102.16777,32.360267],[102.167718,32.360282],[102.167691,32.360307],[102.167662,32.360366],[102.167647,32.360453],[102.167602,32.360483],[102.167517,32.360499],[102.167423,32.360475],[102.16735,32.360467],[102.167309,32.360476],[102.167299,32.360485],[102.167292,32.360491],[102.167267,32.360568],[102.167272,32.360624],[102.167287,32.360669],[102.16733,32.360748],[102.167338,32.360762],[102.167385,32.360805],[102.167496,32.360826],[102.167508,32.360841],[102.16747,32.360919],[102.167426,32.360977],[102.167403,32.360995],[102.167326,32.361023],[102.167297,32.361049],[102.167291,32.361079],[102.167317,32.361267],[102.167298,32.361326],[102.167272,32.361357],[102.167177,32.361399],[102.167123,32.361436],[102.16708,32.361486],[102.167044,32.361546],[102.166951,32.361774],[102.166935,32.361833],[102.166928,32.361931],[102.166929,32.361939],[102.166941,32.362036],[102.167,32.362201],[102.167039,32.362247],[102.167095,32.362286],[102.167155,32.362305],[102.167195,32.362308],[102.167294,32.362299],[102.167412,32.36227],[102.167496,32.362266],[102.167529,32.362277],[102.167632,32.362341],[102.167687,32.362384],[102.167729,32.362436],[102.16774,32.362479],[102.167732,32.3628],[102.16775,32.362837],[102.16779,32.362878],[102.167823,32.362885],[102.16785,32.362873],[102.167862,32.362862],[102.167942,32.36278],[102.167971,32.362762],[102.168041,32.362751],[102.168063,32.362756],[102.168087,32.362825],[102.168085,32.362884],[102.168024,32.363037],[102.168006,32.363051],[102.167901,32.363064],[102.167846,32.363088],[102.167797,32.363124],[102.167783,32.363167],[102.167804,32.363226],[102.167823,32.363252],[102.167844,32.363266],[102.167879,32.363274],[102.168007,32.363276],[102.168025,32.363283],[102.168038,32.363307],[102.168045,32.36336],[102.168041,32.363372],[102.168021,32.363383],[102.167923,32.363402],[102.167807,32.363446],[102.167562,32.363567],[102.167037,32.363758],[102.166873,32.36383],[102.166824,32.363859],[102.166802,32.363901],[102.166783,32.364],[102.166782,32.364058],[102.166957,32.364539],[102.166967,32.364621],[102.166964,32.364696],[102.166962,32.364724],[102.16695,32.364749],[102.166903,32.364768],[102.166822,32.36478],[102.166729,32.364779],[102.166681,32.364791],[102.166648,32.364813],[102.166597,32.364869],[102.166573,32.364939],[102.166578,32.365003],[102.166609,32.365039],[102.166667,32.365059],[102.166765,32.365072],[102.166876,32.36506],[102.167163,32.364995],[102.167209,32.364984],[102.16735,32.364963],[102.167472,32.364956],[102.167658,32.364969],[102.167707,32.364984],[102.167772,32.365021],[102.16787,32.365104],[102.167919,32.365161],[102.167947,32.365194],[102.167986,32.365265],[102.16801,32.36534],[102.168009,32.365413],[102.167994,32.365468],[102.16797,32.365495],[102.167908,32.365525],[102.167769,32.365546],[102.167709,32.365578],[102.167653,32.365625],[102.167606,32.36568],[102.167581,32.365729],[102.167573,32.365776],[102.167577,32.365817],[102.167593,32.365852],[102.167646,32.365909],[102.167681,32.365928],[102.167735,32.365924],[102.167841,32.365877],[102.16786,32.365875],[102.16788,32.365885],[102.167908,32.365912],[102.167918,32.365934],[102.167907,32.366011],[102.167853,32.36611],[102.167739,32.366152],[102.167694,32.366179],[102.167614,32.366242],[102.16758,32.366279],[102.167542,32.366341],[102.167533,32.366374],[102.167545,32.366463],[102.167567,32.3665],[102.167592,32.366519],[102.167653,32.36654],[102.167746,32.366553],[102.1678,32.366549],[102.167941,32.366518],[102.168047,32.366471],[102.168128,32.366436],[102.168223,32.366436],[102.16831,32.36646],[102.168316,32.366464],[102.168354,32.36649],[102.168381,32.366519],[102.168404,32.366558],[102.168429,32.3666],[102.168464,32.366718],[102.168486,32.366788],[102.168482,32.366907],[102.168504,32.366954],[102.168547,32.366978],[102.168628,32.366998],[102.168645,32.367002],[102.168663,32.367001],[102.168738,32.366995],[102.168829,32.366988],[102.168878,32.366994],[102.168976,32.367031],[102.169023,32.36706],[102.169052,32.367089],[102.169066,32.367124],[102.16907,32.367174],[102.169049,32.367237],[102.168976,32.367326],[102.168907,32.367455],[102.168828,32.367566],[102.168738,32.367663],[102.168652,32.367733],[102.168603,32.367816],[102.168597,32.36788],[102.168637,32.367966],[102.168635,32.368045],[102.168616,32.368117],[102.168552,32.36817],[102.168535,32.368194],[102.168529,32.368238],[102.168541,32.36829],[102.168577,32.368347],[102.168625,32.368368],[102.168687,32.36837],[102.168739,32.368364],[102.168831,32.368328],[102.168881,32.368338],[102.168944,32.368372],[102.169007,32.368433],[102.169072,32.368451],[102.169112,32.368441],[102.169155,32.368383],[102.169178,32.368363],[102.169185,32.368357],[102.169313,32.368295],[102.169356,32.368282],[102.169427,32.368274],[102.169469,32.368277],[102.169487,32.368279],[102.169507,32.368289],[102.169512,32.368345],[102.169514,32.368363],[102.169498,32.368414],[102.169462,32.368533],[102.169462,32.368612],[102.169472,32.368669],[102.1695,32.368737],[102.16961,32.368871],[102.169668,32.368941],[102.169684,32.368983],[102.16969,32.369029],[102.169687,32.369057],[102.169685,32.369077],[102.169684,32.36909],[102.169682,32.369114],[102.169664,32.36919],[102.169619,32.369298],[102.169595,32.369384],[102.169589,32.369443],[102.169594,32.369468],[102.169625,32.369514],[102.169694,32.369575],[102.169718,32.369591],[102.169858,32.369687],[102.169895,32.369735],[102.169914,32.369784],[102.169884,32.369886],[102.169856,32.369935],[102.1698,32.369988],[102.169709,32.370051],[102.169656,32.370114],[102.169651,32.370131],[102.169658,32.370152],[102.169752,32.370221],[102.16974,32.370263],[102.169715,32.37028],[102.169611,32.370292],[102.169547,32.370323],[102.169507,32.370358],[102.16948,32.370425],[102.169484,32.370471],[102.169517,32.370542],[102.169533,32.37063],[102.16956,32.37069],[102.169604,32.370733],[102.169626,32.370755],[102.169781,32.37086],[102.169801,32.370894],[102.169799,32.370951],[102.169759,32.37098],[102.169705,32.370998],[102.169495,32.370997],[102.16947,32.370981],[102.169383,32.370867],[102.16934,32.370827],[102.169328,32.370822],[102.169286,32.370803],[102.169248,32.370797],[102.169226,32.370803],[102.169209,32.370821],[102.169193,32.370869],[102.169204,32.370976],[102.1692,32.371021],[102.169126,32.371047],[102.169103,32.371085],[102.169099,32.371108],[102.169115,32.371142],[102.169229,32.371224],[102.169271,32.371268],[102.169288,32.371316],[102.169289,32.371398],[102.169268,32.371455],[102.169184,32.37148],[102.169127,32.371533],[102.169064,32.371659],[102.16904,32.371789],[102.16905,32.371847],[102.169077,32.371883],[102.169115,32.371908],[102.169142,32.371925],[102.16925,32.37195],[102.169273,32.371982],[102.169276,32.371999],[102.169145,32.372039],[102.169128,32.372053],[102.169121,32.372068],[102.169142,32.372129],[102.169167,32.372149],[102.169231,32.372176],[102.169236,32.372212],[102.169223,32.372225],[102.16898,32.372278],[102.168864,32.372323],[102.168815,32.372373],[102.168781,32.372437],[102.16876,32.372475],[102.168743,32.372533],[102.168746,32.372591],[102.168759,32.372618],[102.168799,32.372651],[102.16885,32.372657],[102.168924,32.37263],[102.168971,32.372595],[102.169001,32.372555],[102.169023,32.372497],[102.169044,32.372487],[102.169065,32.372477],[102.169111,32.37248],[102.169107,32.372562],[102.169106,32.372597],[102.169122,32.372671],[102.169134,32.372691],[102.169156,32.37271],[102.169163,32.372715],[102.169308,32.372778],[102.169316,32.372826],[102.1693,32.372875],[102.16928,32.372897],[102.168963,32.373085],[102.168886,32.373145],[102.16888,32.373168],[102.168894,32.37321],[102.168973,32.373364],[102.16897,32.373441],[102.168953,32.373479],[102.168927,32.373507],[102.168914,32.373512],[102.168792,32.373495],[102.168688,32.373499],[102.16814,32.373634],[102.168012,32.373713],[102.167943,32.373783],[102.167914,32.373867],[102.167914,32.373875],[102.167903,32.373986],[102.167917,32.374041],[102.167963,32.374101],[102.168037,32.374152],[102.168154,32.374188],[102.168218,32.374189],[102.168245,32.374181],[102.168253,32.374179],[102.168365,32.37413],[102.168456,32.37408],[102.168496,32.374076],[102.168525,32.374086],[102.168551,32.374145],[102.168555,32.374178],[102.168546,32.374193],[102.168516,32.374192],[102.168461,32.374166],[102.168432,32.374166],[102.168397,32.374181],[102.16838,32.374212],[102.16839,32.374252],[102.168458,32.374334],[102.168512,32.374461],[102.168539,32.374492],[102.168618,32.374552],[102.168663,32.374557],[102.168764,32.374531],[102.168783,32.374539],[102.168816,32.374569],[102.168821,32.374578],[102.168835,32.374604],[102.168832,32.374631],[102.168822,32.374641],[102.168812,32.374645],[102.168705,32.374678],[102.168654,32.374709],[102.168641,32.374718],[102.168621,32.37474],[102.168604,32.374778],[102.168615,32.374837],[102.168637,32.374857],[102.168681,32.374878],[102.168761,32.374876],[102.16881,32.374919],[102.168843,32.37493],[102.168884,32.374919],[102.168897,32.374911],[102.168904,32.374906],[102.168935,32.37485],[102.16895,32.374837],[102.168987,32.374825],[102.169009,32.374825],[102.169026,32.374964],[102.169014,32.374997],[102.168992,32.375016],[102.168965,32.375025],[102.168949,32.37503],[102.168914,32.375041],[102.168885,32.375061],[102.168866,32.375089],[102.168829,32.37521],[102.168753,32.375359],[102.168711,32.375392],[102.168673,32.375396],[102.168653,32.375412],[102.168653,32.375429],[102.168668,32.37546],[102.168723,32.375521],[102.168803,32.375581],[102.168846,32.375582],[102.16886,32.37557],[102.168879,32.375524],[102.16887,32.375496],[102.168844,32.375478],[102.168844,32.375471],[102.168871,32.375464],[102.168961,32.375463],[102.168996,32.375454],[102.169025,32.375441],[102.169059,32.37541],[102.169071,32.37531],[102.169075,32.375271],[102.169104,32.375203],[102.169121,32.375165],[102.169196,32.37518],[102.169205,32.375182],[102.169256,32.375182],[102.169297,32.375159],[102.169344,32.375096],[102.169419,32.375068],[102.169455,32.375089],[102.169482,32.375151],[102.169486,32.375188],[102.169355,32.375259],[102.169341,32.375289],[102.169348,32.375319],[102.169391,32.375347],[102.169452,32.375366],[102.169513,32.375344],[102.169565,32.375289],[102.169585,32.375302],[102.169599,32.375325],[102.169606,32.375396],[102.169599,32.375427],[102.169524,32.375495],[102.169497,32.375535],[102.169493,32.375565],[102.169506,32.375598],[102.169511,32.375609],[102.169584,32.375661],[102.16963,32.375669],[102.169652,32.375662],[102.169717,32.375606],[102.169758,32.375595],[102.1698,32.375635],[102.169854,32.375672],[102.169956,32.375702],[102.169955,32.375757],[102.169921,32.375785],[102.169772,32.375806],[102.169625,32.375792],[102.169565,32.375793],[102.169532,32.375813],[102.169503,32.375863],[102.169497,32.375895],[102.169503,32.375921],[102.169542,32.37595],[102.169586,32.375959],[102.169675,32.375951],[102.169721,32.375955],[102.169733,32.37598],[102.169731,32.375996],[102.169667,32.376042],[102.169655,32.376069],[102.169658,32.376089],[102.169696,32.37613],[102.169724,32.376146],[102.169828,32.376162],[102.169846,32.376197],[102.16972,32.376269],[102.169689,32.376298],[102.16968,32.376327],[102.169707,32.376378],[102.169706,32.376394],[102.169698,32.376419],[102.169674,32.376454],[102.169641,32.376463],[102.169608,32.37645],[102.169547,32.376445],[102.1695,32.376463],[102.169481,32.376482],[102.169469,32.376521],[102.169481,32.376592],[102.169411,32.376683],[102.169417,32.376701],[102.169433,32.376716],[102.169478,32.376734],[102.169564,32.37674],[102.169601,32.376733],[102.169628,32.376779],[102.169645,32.376827],[102.169643,32.376861],[102.16963,32.376884],[102.169552,32.376952],[102.169533,32.37699],[102.169542,32.377018],[102.169588,32.377048],[102.169595,32.377064],[102.169582,32.377135],[102.169584,32.377234],[102.169554,32.377361],[102.169517,32.377365],[102.169487,32.377396],[102.169476,32.377519],[102.169432,32.377562],[102.169398,32.377567],[102.169384,32.377547],[102.169367,32.377481],[102.169344,32.377461],[102.169309,32.37745],[102.16929,32.377458],[102.169256,32.377492],[102.169204,32.377521],[102.169122,32.37754],[102.169104,32.377517],[102.169078,32.377458],[102.169062,32.377442],[102.169022,32.377418],[102.169013,32.377412],[102.168961,32.377401],[102.168897,32.377405],[102.168878,32.377413],[102.16884,32.377462],[102.168839,32.377493],[102.168867,32.377543],[102.169062,32.377678],[102.169121,32.377747],[102.169133,32.377781],[102.169139,32.3778],[102.169125,32.377829],[102.169089,32.377852],[102.169081,32.377878],[102.169085,32.377896],[102.169267,32.378134],[102.169366,32.378216],[102.169406,32.378264],[102.169415,32.378299],[102.169397,32.378371],[102.169417,32.378418],[102.169569,32.37854],[102.169701,32.378599],[102.16983,32.378681],[102.169923,32.378717],[102.170006,32.378733],[102.17003,32.378737],[102.170037,32.378771],[102.170043,32.378964],[102.170032,32.378983],[102.170025,32.378995],[102.169959,32.379055],[102.169948,32.379087],[102.169968,32.37916],[102.170007,32.379205],[102.170021,32.379268],[102.17007,32.379335],[102.170131,32.379421],[102.170135,32.379444],[102.170108,32.379481],[102.170086,32.379494],[102.170063,32.379508],[102.169967,32.37946],[102.169936,32.379464],[102.169896,32.379486],[102.169876,32.37952],[102.169877,32.379541],[102.169927,32.379628],[102.169959,32.37974],[102.16996,32.379769],[102.169943,32.37978],[102.169856,32.37974],[102.169819,32.379736],[102.169803,32.379745],[102.16978,32.379776],[102.169766,32.379849],[102.16978,32.379947],[102.169812,32.379992],[102.169842,32.380008],[102.169867,32.380011],[102.169991,32.379968],[102.170022,32.37997],[102.170048,32.379984],[102.170071,32.38001],[102.170084,32.380069],[102.170052,32.380128],[102.170017,32.380158],[102.16995,32.380176],[102.16985,32.380187],[102.169811,32.380203],[102.169658,32.380312],[102.169519,32.380374],[102.169498,32.380404],[102.169495,32.38043],[102.169541,32.380485],[102.169573,32.380514],[102.169801,32.38073],[102.169856,32.380804],[102.1699,32.380833],[102.169953,32.380838],[102.170001,32.380819],[102.170031,32.38079],[102.170051,32.380736],[102.170129,32.380682],[102.17019,32.380664],[102.170201,32.380664],[102.170213,32.380664],[102.170228,32.380672],[102.170243,32.380706],[102.170237,32.380746],[102.170226,32.380755],[102.170162,32.380814],[102.170111,32.380859],[102.17008,32.380928],[102.170083,32.380965],[102.170116,32.380999],[102.170136,32.381006],[102.170184,32.381022],[102.170252,32.381034],[102.1703,32.381028],[102.170313,32.381027],[102.170402,32.380993],[102.170411,32.381012],[102.17041,32.381035],[102.17038,32.38109],[102.170324,32.381115],[102.170283,32.381133],[102.170248,32.381168],[102.170223,32.381212],[102.17021,32.381261],[102.170209,32.381299],[102.170219,32.38134],[102.170238,32.381368],[102.170233,32.381406],[102.170226,32.381416],[102.170198,32.381417],[102.170163,32.381436],[102.170155,32.381529],[102.170123,32.381548],[102.170115,32.381563],[102.170151,32.381649],[102.170137,32.381729],[102.17011,32.38176],[102.170082,32.381776],[102.169969,32.381775],[102.169916,32.381785],[102.16989,32.381807],[102.16989,32.381849],[102.169986,32.382001],[102.170029,32.382121],[102.170053,32.382187],[102.170089,32.382224],[102.170129,32.382233],[102.170168,32.38223],[102.170189,32.382245],[102.170224,32.382298],[102.170233,32.382311],[102.170276,32.382424],[102.1703,32.382457],[102.170357,32.3825],[102.170403,32.382554],[102.17044,32.38257],[102.170486,32.382573],[102.170517,32.382564],[102.170571,32.382549],[102.170605,32.38254],[102.170627,32.382546],[102.170709,32.382594],[102.17077,32.382669],[102.170786,32.38271],[102.170783,32.382744],[102.170679,32.383003],[102.170641,32.383081],[102.170601,32.383166],[102.17053,32.38324],[102.170387,32.383301],[102.170305,32.383353],[102.170276,32.383384],[102.170266,32.383394],[102.170254,32.383431],[102.170263,32.383499],[102.1703,32.383573],[102.170312,32.383597],[102.170391,32.383721],[102.170437,32.383764],[102.170477,32.38378],[102.17054,32.383806],[102.170566,32.383838],[102.17057,32.383861],[102.170542,32.383997],[102.170512,32.384046],[102.170453,32.38408],[102.170379,32.384108],[102.170241,32.384142],[102.170167,32.384179],[102.170114,32.384232],[102.170094,32.384291],[102.170101,32.38434],[102.170112,32.38436],[102.170138,32.384382],[102.170284,32.384454],[102.170451,32.384503],[102.170476,32.384524],[102.170517,32.384628],[102.170615,32.384752],[102.170646,32.384821],[102.170657,32.384891],[102.170657,32.385033],[102.170606,32.385091],[102.170576,32.385106],[102.170544,32.385112],[102.170513,32.385111],[102.170474,32.385098],[102.170445,32.385062],[102.170419,32.385047],[102.170356,32.385045],[102.170285,32.385077],[102.170207,32.385147],[102.170178,32.385199],[102.170183,32.385245],[102.17031,32.385366],[102.170333,32.385419],[102.170304,32.385444],[102.170203,32.3855],[102.170209,32.385536],[102.170167,32.385569],[102.170108,32.385784],[102.170015,32.385858],[102.169944,32.385946],[102.169867,32.386081],[102.169857,32.386111],[102.16983,32.386195],[102.169838,32.386258],[102.169856,32.386286],[102.169927,32.38633],[102.169938,32.386337],[102.170088,32.386394],[102.170126,32.386438],[102.170136,32.386465],[102.170127,32.386511],[102.170082,32.386548],[102.170049,32.386559],[102.169927,32.386579],[102.169882,32.386604],[102.169861,32.386637],[102.169867,32.386677],[102.169897,32.386712],[102.169933,32.386753],[102.169999,32.386921],[102.170029,32.386963],[102.170057,32.386982],[102.170072,32.386993],[102.170143,32.387018],[102.170225,32.387013],[102.17026,32.387022],[102.17029,32.387052],[102.170294,32.387056],[102.170298,32.387088],[102.170272,32.387137],[102.170167,32.387193],[102.170015,32.387232],[102.169989,32.387242],[102.169979,32.387248],[102.169878,32.387286],[102.169648,32.387353],[102.169345,32.387398],[102.169289,32.387423],[102.169242,32.387471],[102.169239,32.387476],[102.169195,32.38756],[102.169185,32.38761],[102.169194,32.387663],[102.169162,32.38768],[102.169185,32.387711],[102.169219,32.387728],[102.169262,32.387734],[102.169325,32.387735],[102.169376,32.387748],[102.169411,32.387776],[102.169418,32.387779],[102.169447,32.387798],[102.169489,32.38785],[102.169543,32.387957],[102.169538,32.387984],[102.169525,32.387997],[102.169491,32.388002],[102.169446,32.387997],[102.16944,32.387997],[102.169433,32.387997],[102.169427,32.387998],[102.169422,32.388],[102.169389,32.388012],[102.169383,32.388014],[102.169378,32.388018],[102.169373,32.388022],[102.169369,32.388026],[102.169322,32.388089],[102.169323,32.388123],[102.169358,32.38817],[102.169454,32.38823],[102.169541,32.388284],[102.169601,32.388324],[102.16964,32.38834],[102.169652,32.388339],[102.169688,32.388329],[102.169707,32.388312],[102.169784,32.388289],[102.169816,32.38829],[102.169845,32.388303],[102.169912,32.388356],[102.169955,32.388416],[102.169967,32.388471],[102.169996,32.388564],[102.170087,32.388637],[102.170104,32.38866],[102.17012,32.388663],[102.170133,32.388674],[102.170597,32.389047],[102.170616,32.389186],[102.170643,32.38922],[102.170649,32.389249],[102.170641,32.389284],[102.170631,32.389302],[102.1707,32.389803],[102.170688,32.390169],[102.170687,32.390204],[102.170679,32.390479],[102.170661,32.390492],[102.170641,32.390528],[102.170655,32.390583],[102.170666,32.3906],[102.170642,32.390776],[102.170637,32.390813],[102.170614,32.390974],[102.170609,32.391013],[102.170568,32.391306],[102.170806,32.391705],[102.170823,32.391733],[102.170849,32.391778],[102.17169,32.391941],[102.172497,32.391815],[102.172758,32.391853],[102.17277,32.391855],[102.172826,32.391863],[102.172956,32.391882],[102.173086,32.3919],[102.173102,32.392034],[102.173109,32.392091],[102.173113,32.392123],[102.17316,32.392508],[102.173166,32.392559],[102.173187,32.392727],[102.1732,32.392827],[102.173205,32.392866],[102.173208,32.39289],[102.173214,32.392941],[102.173289,32.393519],[102.173699,32.394124],[102.173727,32.394165],[102.173734,32.394174],[102.173814,32.394176],[102.173881,32.394177],[102.174325,32.394187],[102.174762,32.393731],[102.174763,32.393681],[102.174765,32.393624],[102.174767,32.393573],[102.174777,32.393229],[102.175201,32.393203],[102.175611,32.393369],[102.175632,32.393375],[102.175651,32.393383],[102.175933,32.393496],[102.176002,32.393524],[102.176065,32.393549],[102.176244,32.393621],[102.176434,32.393693],[102.176551,32.393737],[102.176618,32.393763],[102.176719,32.393801],[102.176767,32.393819],[102.176874,32.39386],[102.1769,32.39387],[102.177247,32.394002],[102.178007,32.394204],[102.178067,32.394221],[102.178127,32.394237],[102.178118,32.394259],[102.178099,32.394304],[102.177899,32.394769],[102.177087,32.395528],[102.176606,32.396474],[102.17674,32.397624],[102.176743,32.397648],[102.176769,32.397807],[102.176776,32.397853],[102.176786,32.397915],[102.177022,32.3994],[102.177688,32.401566],[102.177736,32.403623],[102.177831,32.407833],[102.177899,32.409269],[102.178143,32.41047],[102.178906,32.411703],[102.180106,32.412881],[102.180948,32.414017],[102.181391,32.415177],[102.182047,32.415903],[102.182793,32.416292],[102.183051,32.416975],[102.183905,32.417738],[102.184315,32.418695],[102.184373,32.419374],[102.184198,32.419877],[102.183544,32.420371],[102.182488,32.420956],[102.181511,32.421577],[102.180403,32.422568],[102.180289,32.422689],[102.179495,32.423529],[102.178769,32.42507],[102.178134,32.426207],[102.17782,32.427317],[102.177956,32.428098],[102.177654,32.428802],[102.177884,32.430398],[102.178558,32.431835],[102.17904,32.432997],[102.179353,32.434493],[102.179334,32.435102],[102.179828,32.435892],[102.180074,32.43698],[102.179974,32.437621],[102.179582,32.438662],[102.178953,32.439629],[102.178165,32.440593],[102.176729,32.4431],[102.176494,32.444245],[102.176604,32.445839],[102.176963,32.447133],[102.177262,32.449069],[102.177301,32.450356],[102.17725,32.450899],[102.177122,32.452248],[102.177051,32.453262],[102.177609,32.45456],[102.178293,32.455659],[102.179957,32.457355],[102.180516,32.458653],[102.181184,32.460259],[102.182061,32.461599],[102.182871,32.462497],[102.184357,32.463512],[102.185543,32.463877],[102.186502,32.463865],[102.187653,32.46406],[102.188354,32.464651],[102.189001,32.465647],[102.189325,32.466805],[102.189451,32.467891],[102.189841,32.468837],[102.189859,32.468882],[102.189859,32.468887],[102.189853,32.470371],[102.189847,32.470541],[102.189845,32.470611],[102.189816,32.471555],[102.190121,32.472689],[102.190209,32.473019],[102.190869,32.473643],[102.191625,32.475014],[102.191566,32.475622],[102.191362,32.477039],[102.191084,32.478285],[102.190829,32.48004],[102.190431,32.482569],[102.190356,32.483147],[102.190347,32.483219],[102.190247,32.483987],[102.190245,32.484007],[102.190116,32.484999],[102.190196,32.48754],[102.190146,32.489163],[102.190308,32.49166],[102.190407,32.493101],[102.190422,32.493317],[102.190289,32.493264],[102.190041,32.493187],[102.189735,32.49318],[102.18965,32.493201],[102.189537,32.49327],[102.189418,32.493503],[102.189328,32.493713],[102.189211,32.493923],[102.189121,32.494108],[102.188996,32.494439],[102.18897,32.494508],[102.18882,32.494909],[102.18867,32.495309],[102.188546,32.495638],[102.188422,32.495968],[102.188242,32.496378],[102.188062,32.496789],[102.187883,32.4972],[102.187703,32.49761],[102.187523,32.498021],[102.187445,32.498283],[102.187368,32.498545],[102.18729,32.498807],[102.187213,32.499069],[102.187135,32.499331],[102.187058,32.499593],[102.18698,32.499855],[102.186903,32.500116],[102.186895,32.500143],[102.186803,32.500435],[102.18671,32.500727],[102.186614,32.501126],[102.186482,32.501323],[102.186351,32.501519],[102.186282,32.501581],[102.186155,32.501696],[102.18596,32.501872],[102.185764,32.502048],[102.185568,32.502224],[102.185373,32.5024],[102.185177,32.502576],[102.184977,32.502736],[102.184777,32.502897],[102.184577,32.503057],[102.184378,32.503218],[102.184178,32.503378],[102.184055,32.503476],[102.183978,32.503538],[102.183769,32.503671],[102.183561,32.503804],[102.183353,32.503936],[102.183144,32.504069],[102.182936,32.504202],[102.182728,32.504334],[102.182566,32.504537],[102.182403,32.504739],[102.182241,32.504941],[102.182079,32.505143],[102.181916,32.505345],[102.181754,32.505547],[102.181592,32.505749],[102.181429,32.505951],[102.181267,32.506153],[102.181105,32.506355],[102.180942,32.506557],[102.18078,32.506759],[102.180611,32.506935],[102.180442,32.507111],[102.180273,32.507287],[102.180104,32.507462],[102.179935,32.507638],[102.179766,32.507814],[102.179597,32.50799],[102.179428,32.508165],[102.179254,32.50831],[102.179079,32.508454],[102.178905,32.508599],[102.178731,32.508743],[102.178556,32.508887],[102.178382,32.509032],[102.178208,32.509176],[102.178033,32.509321],[102.177859,32.509465],[102.177685,32.50961],[102.177468,32.509723],[102.177251,32.509835],[102.177035,32.509948],[102.176818,32.510061],[102.176601,32.510174],[102.176384,32.510287],[102.176147,32.510417],[102.17591,32.510547],[102.175673,32.510677],[102.175436,32.510807],[102.175198,32.510937],[102.174961,32.511067],[102.174724,32.511197],[102.174487,32.511327],[102.174155,32.511563],[102.173822,32.511799],[102.17349,32.512035],[102.173305,32.512184],[102.173119,32.512332],[102.172934,32.512481],[102.172748,32.512629],[102.172694,32.512692],[102.17258,32.512823],[102.172412,32.513017],[102.172244,32.513211],[102.172076,32.513404],[102.171907,32.513598],[102.171739,32.513792],[102.171571,32.513986],[102.171403,32.514179],[102.171235,32.514373],[102.171066,32.514567],[102.170878,32.514742],[102.17069,32.514918],[102.170501,32.515094],[102.170313,32.515269],[102.170124,32.515445],[102.169936,32.515621],[102.169748,32.515796],[102.169559,32.515972],[102.169371,32.516148],[102.169182,32.516323],[102.168994,32.516499],[102.168805,32.516675],[102.168617,32.51685],[102.168429,32.517026],[102.168222,32.517192],[102.168015,32.517358],[102.167808,32.517525],[102.167601,32.517691],[102.167394,32.517857],[102.167187,32.518023],[102.166981,32.518189],[102.166774,32.518356],[102.166567,32.518522],[102.16636,32.518688],[102.166153,32.518854],[102.165946,32.51902],[102.16574,32.519187],[102.165533,32.519353],[102.165351,32.519507],[102.165169,32.519661],[102.164987,32.519815],[102.164806,32.519969],[102.164624,32.520123],[102.164442,32.520277],[102.16426,32.520431],[102.164078,32.520585],[102.163897,32.520739],[102.163715,32.520894],[102.163533,32.521048],[102.163351,32.521202],[102.16317,32.521356],[102.163048,32.521459],[102.162988,32.52151],[102.16279,32.521653],[102.162593,32.521797],[102.162395,32.52194],[102.162198,32.522084],[102.162,32.522227],[102.161803,32.522371],[102.161605,32.522514],[102.161408,32.522658],[102.16121,32.522801],[102.161013,32.522945],[102.160816,32.523088],[102.160618,32.523232],[102.160421,32.523375],[102.160223,32.523519],[102.160165,32.523555],[102.160001,32.523658],[102.159779,32.523798],[102.159557,32.523938],[102.159336,32.524077],[102.159114,32.524217],[102.158892,32.524356],[102.15867,32.524496],[102.158448,32.524635],[102.158226,32.524775],[102.158004,32.524914],[102.157782,32.525054],[102.15756,32.525193],[102.157338,32.525333],[102.1572,32.52542],[102.157117,32.525473],[102.157002,32.525578],[102.156787,32.525777],[102.156457,32.526082],[102.156128,32.526386],[102.155798,32.526691],[102.155603,32.526858],[102.155409,32.527026],[102.155214,32.527193],[102.155019,32.52736],[102.154825,32.527528],[102.15463,32.527695],[102.154436,32.527863],[102.154241,32.52803],[102.154046,32.528198],[102.153852,32.528365],[102.153549,32.528688],[102.153246,32.529011],[102.153017,32.52923],[102.152787,32.529448],[102.152614,32.529667],[102.15244,32.529887],[102.15235,32.530097],[102.15226,32.530307],[102.152196,32.530576],[102.152132,32.530845],[102.15211,32.53108],[102.152089,32.531315],[102.152024,32.531573],[102.151893,32.53177],[102.151762,32.531968],[102.151691,32.53207],[102.151631,32.532157],[102.1515,32.532346],[102.151368,32.532535],[102.151237,32.532724],[102.151106,32.532913],[102.150975,32.533102],[102.150843,32.533291],[102.150712,32.53348],[102.150581,32.533669],[102.15045,32.533858],[102.150287,32.534054],[102.150123,32.534249],[102.14996,32.534444],[102.149797,32.53464],[102.149634,32.534835],[102.14947,32.53503],[102.149307,32.535226],[102.149144,32.535421],[102.149072,32.535662],[102.148999,32.535904],[102.148927,32.536146],[102.148854,32.536387],[102.148782,32.536629],[102.148709,32.536871],[102.148555,32.537267],[102.148463,32.537572],[102.148421,32.537994],[102.148427,32.538265],[102.148433,32.538536],[102.148516,32.538767],[102.148599,32.538998],[102.148682,32.53923],[102.148766,32.539461],[102.148849,32.539693],[102.148932,32.539924],[102.149015,32.540156],[102.149098,32.540387],[102.149217,32.540613],[102.149335,32.540838],[102.149395,32.541123],[102.149455,32.541407],[102.149462,32.541785],[102.149465,32.541969],[102.149408,32.54223],[102.149351,32.54249],[102.149294,32.542751],[102.149237,32.543011],[102.14918,32.543272],[102.149123,32.543533],[102.149065,32.543793],[102.149008,32.544054],[102.148965,32.544288],[102.148921,32.544523],[102.148878,32.544757],[102.148834,32.544992],[102.148791,32.545226],[102.148747,32.545461],[102.148703,32.545695],[102.14866,32.54593],[102.148616,32.546164],[102.148573,32.546399],[102.148563,32.546676],[102.148554,32.546954],[102.148544,32.547232],[102.148535,32.547509],[102.148525,32.547787],[102.148516,32.548064],[102.148485,32.548456],[102.148485,32.548457],[102.148485,32.548457],[102.148454,32.548848],[102.148423,32.54924],[102.148388,32.549451],[102.148277,32.549748],[102.148266,32.549777],[102.148095,32.549926],[102.147923,32.550075],[102.14758,32.55035],[102.147237,32.550625],[102.147037,32.550797],[102.146879,32.550933],[102.146836,32.550969],[102.146715,32.55107],[102.146657,32.551118],[102.146479,32.551267],[102.1463,32.551416],[102.146121,32.551565],[102.146048,32.551652],[102.14587,32.551866],[102.145619,32.552166],[102.145368,32.552466],[102.145221,32.55268],[102.145113,32.552837],[102.145074,32.552894],[102.144927,32.553107],[102.14478,32.553321],[102.144633,32.553535],[102.144486,32.553749],[102.144339,32.553963],[102.144192,32.554176],[102.144142,32.554246],[102.144052,32.554371],[102.143912,32.554565],[102.143772,32.55476],[102.143633,32.554955],[102.143493,32.555149],[102.143353,32.555344],[102.143214,32.555538],[102.143074,32.555733],[102.142934,32.555928],[102.142798,32.556117],[102.142795,32.556122],[102.142746,32.556158],[102.142595,32.556271],[102.142395,32.556419],[102.142204,32.556558],[102.14209,32.556641],[102.142081,32.556648],[102.141954,32.556715],[102.141742,32.556828],[102.141582,32.556863],[102.141348,32.556914],[102.140972,32.556929],[102.140596,32.556943],[102.140177,32.556981],[102.139758,32.557019],[102.139507,32.557014],[102.139257,32.557008],[102.138978,32.557025],[102.138699,32.557042],[102.13842,32.557047],[102.138142,32.557053],[102.137905,32.557083],[102.137667,32.557113],[102.1374,32.557189],[102.137133,32.557266],[102.136737,32.557445],[102.136506,32.557699],[102.136304,32.557929],[102.136102,32.558159],[102.135934,32.558364],[102.135765,32.558568],[102.135596,32.558773],[102.135428,32.558977],[102.135259,32.559182],[102.13509,32.559386],[102.134921,32.55959],[102.134753,32.559795],[102.134585,32.559948],[102.134418,32.560101],[102.134251,32.560254],[102.134083,32.560407],[102.133916,32.56056],[102.133749,32.560713],[102.133438,32.560859],[102.133126,32.561005],[102.132816,32.56114],[102.132506,32.561274],[102.132224,32.561385],[102.131942,32.561496],[102.131606,32.561559],[102.13127,32.561622],[102.131011,32.561669],[102.130752,32.561716],[102.130493,32.561763],[102.130233,32.56181],[102.129813,32.561895],[102.129553,32.561966],[102.129293,32.562036],[102.129034,32.562107],[102.128774,32.562177],[102.128521,32.562254],[102.128268,32.56233],[102.128014,32.562407],[102.127929,32.562433],[102.127761,32.562484],[102.127508,32.56256],[102.127255,32.562637],[102.127002,32.562713],[102.126749,32.56279],[102.126524,32.562855],[102.126299,32.562921],[102.126172,32.562948],[102.125795,32.563027],[102.125542,32.563022],[102.125197,32.562955],[102.124851,32.562888],[102.124607,32.562718],[102.124335,32.562499],[102.12416,32.562331],[102.123984,32.562162],[102.123856,32.561962],[102.123728,32.561761],[102.1236,32.56156],[102.123472,32.561359],[102.123268,32.561225],[102.123064,32.56109],[102.122761,32.560966],[102.122457,32.560889],[102.122384,32.56087],[102.122153,32.560812],[102.121919,32.560747],[102.121685,32.560682],[102.12145,32.560642],[102.121215,32.560601],[102.120937,32.560559],[102.12066,32.560517],[102.120405,32.560492],[102.120151,32.560467],[102.119896,32.560441],[102.119642,32.560416],[102.119387,32.560391],[102.119133,32.560365],[102.118701,32.560367],[102.118348,32.560368],[102.118269,32.560368],[102.117906,32.560395],[102.117543,32.560422],[102.11718,32.560449],[102.116817,32.560476],[102.116466,32.560563],[102.116116,32.56065],[102.115863,32.560761],[102.115611,32.560872],[102.115359,32.560983],[102.115107,32.561095],[102.114855,32.561206],[102.114603,32.561317],[102.114353,32.561423],[102.114102,32.561529],[102.113852,32.561636],[102.113601,32.561742],[102.113351,32.561848],[102.1131,32.561954],[102.11285,32.56206],[102.112599,32.562166],[102.112396,32.562265],[102.112192,32.562364],[102.111988,32.562463],[102.111785,32.562562],[102.111581,32.562661],[102.111377,32.562759],[102.111173,32.562858],[102.11097,32.562957],[102.110766,32.563056],[102.110562,32.563155],[102.110374,32.56328],[102.110186,32.563405],[102.109997,32.563531],[102.109809,32.563656],[102.109631,32.563774],[102.10962,32.563781],[102.109533,32.563839],[102.109432,32.563906],[102.109243,32.564031],[102.109055,32.564157],[102.108827,32.564304],[102.1086,32.564452],[102.108372,32.5646],[102.108144,32.564748],[102.108007,32.564837],[102.107991,32.564847],[102.107917,32.564895],[102.107839,32.564946],[102.107689,32.565043],[102.107462,32.565191],[102.107234,32.565338],[102.106839,32.565494],[102.106443,32.565649],[102.106119,32.565795],[102.105794,32.565941],[102.105532,32.566004],[102.10527,32.566066],[102.105008,32.566129],[102.104747,32.566191],[102.104485,32.566254],[102.104223,32.566317],[102.103961,32.566379],[102.103699,32.566442],[102.103467,32.566501],[102.103236,32.56656],[102.103004,32.56662],[102.102772,32.566679],[102.102541,32.566738],[102.102309,32.566798],[102.102077,32.566857],[102.101846,32.566917],[102.101602,32.566997],[102.101358,32.567078],[102.101114,32.567159],[102.10087,32.56724],[102.100626,32.56732],[102.100382,32.567401],[102.100072,32.567524],[102.099762,32.567646],[102.099515,32.567746],[102.099268,32.567846],[102.099021,32.567946],[102.098774,32.568046],[102.098406,32.568214],[102.098039,32.568382],[102.097773,32.568447],[102.097506,32.568512],[102.097213,32.568552],[102.096919,32.568592],[102.096655,32.568575],[102.096391,32.568557],[102.095947,32.568499],[102.095726,32.568435],[102.095505,32.568372],[102.095286,32.568272],[102.095067,32.568173],[102.094833,32.568038],[102.0946,32.567903],[102.094219,32.567683],[102.093986,32.567548],[102.093754,32.567413],[102.093521,32.567278],[102.093289,32.567143],[102.09311,32.567039],[102.093056,32.567008],[102.092851,32.566889],[102.092824,32.566873],[102.092629,32.566816],[102.092492,32.566775],[102.092419,32.566754],[102.092015,32.566634],[102.091611,32.566515],[102.091223,32.566436],[102.090835,32.566357],[102.090552,32.566334],[102.090419,32.566324],[102.090002,32.566291],[102.089683,32.566271],[102.089363,32.566251],[102.089319,32.56625],[102.089057,32.566244],[102.088751,32.566238],[102.088514,32.566256],[102.088276,32.566274],[102.088039,32.566292],[102.087801,32.56631],[102.08752,32.566397],[102.087239,32.566485],[102.086985,32.566597],[102.086591,32.566729],[102.086284,32.566722],[102.086012,32.566726],[102.085739,32.566731],[102.085409,32.566607],[102.08516,32.566543],[102.084911,32.566478],[102.08465,32.566378],[102.084388,32.566277],[102.084074,32.566117],[102.083759,32.565957],[102.083542,32.565864],[102.083326,32.56577],[102.08311,32.565677],[102.082894,32.565583],[102.082677,32.56549],[102.082618,32.565464],[102.082461,32.565397],[102.082353,32.56535],[102.082245,32.565303],[102.082179,32.565275],[102.082029,32.56521],[102.081819,32.565149],[102.081767,32.565133],[102.081505,32.565057],[102.081254,32.565039],[102.081004,32.565022],[102.080863,32.565018],[102.080804,32.565016],[102.080753,32.565015],[102.080643,32.565012],[102.080614,32.565011],[102.080302,32.565098],[102.080279,32.565105],[102.080222,32.565121],[102.080139,32.56517],[102.0801,32.565193],[102.07988,32.565325],[102.079666,32.565465],[102.079453,32.565606],[102.07924,32.565747],[102.079026,32.565888],[102.078813,32.566028],[102.0786,32.566169],[102.078386,32.56631],[102.078173,32.56645],[102.077959,32.566591],[102.077746,32.566732],[102.077533,32.566872],[102.077319,32.567013],[102.077106,32.567154],[102.076892,32.567294],[102.076679,32.567435],[102.076466,32.567576],[102.076257,32.567746],[102.076049,32.567916],[102.075841,32.568085],[102.075632,32.568255],[102.075404,32.568463],[102.075342,32.568626],[102.075338,32.568735],[102.075337,32.568767],[102.075385,32.569004],[102.075502,32.569278],[102.075619,32.569551],[102.075723,32.569751],[102.075828,32.56995],[102.075933,32.57015],[102.076038,32.570349],[102.076143,32.570549],[102.076247,32.570749],[102.076352,32.570948],[102.076457,32.571148],[102.076595,32.571339],[102.076732,32.571531],[102.07687,32.571722],[102.077008,32.571914],[102.077146,32.572105],[102.077283,32.572297],[102.077582,32.572563],[102.07788,32.572782],[102.078183,32.57293],[102.078457,32.573054],[102.078732,32.573131],[102.079007,32.573255],[102.079256,32.573355],[102.079501,32.573502],[102.07973,32.573628],[102.07996,32.573754],[102.080189,32.573879],[102.080419,32.574005],[102.080649,32.574131],[102.080878,32.574257],[102.081111,32.574396],[102.081343,32.574534],[102.081575,32.574673],[102.081807,32.574812],[102.08204,32.57495],[102.082272,32.575089],[102.082515,32.575307],[102.082676,32.575476],[102.082754,32.575689],[102.082801,32.575926],[102.082797,32.576066],[102.082796,32.576124],[102.082794,32.576208],[102.082754,32.576536],[102.082628,32.576958],[102.082601,32.577016],[102.082595,32.57703],[102.082591,32.577038],[102.082587,32.577047],[102.082586,32.577048],[102.082574,32.577074],[102.082524,32.577179],[102.082508,32.577214],[102.082466,32.577302],[102.082424,32.577391],[102.08242,32.5774],[102.082239,32.577796],[102.082061,32.578169],[102.082006,32.578586],[102.081979,32.578799],[102.081952,32.579004],[102.081922,32.579271],[102.081893,32.579538],[102.081878,32.579673],[102.081863,32.579805],[102.081834,32.580073],[102.081804,32.58034],[102.081774,32.580607],[102.081745,32.580874],[102.081715,32.581141],[102.081734,32.581448],[102.081835,32.581756],[102.081991,32.582066],[102.082204,32.582385],[102.082417,32.582704],[102.08263,32.583023],[102.08284,32.583405],[102.082862,32.583454],[102.082965,32.583677],[102.082971,32.58369],[102.083016,32.583974],[102.083007,32.584244],[102.082999,32.584515],[102.082876,32.584841],[102.08277,32.585145],[102.082663,32.585448],[102.082445,32.585795],[102.082228,32.586141],[102.082049,32.586426],[102.082011,32.586487],[102.081738,32.586741],[102.081465,32.586994],[102.081121,32.587267],[102.080893,32.587427],[102.080665,32.587587],[102.08027,32.587742],[102.079962,32.587829],[102.079653,32.587916],[102.079357,32.588027],[102.079061,32.588138],[102.078789,32.588332],[102.078518,32.588526],[102.078287,32.588768],[102.078056,32.589009],[102.077931,32.589204],[102.077807,32.589399],[102.077682,32.589593],[102.077557,32.589788],[102.077385,32.589974],[102.07724,32.590134],[102.077089,32.590484],[102.077134,32.590814],[102.077199,32.591049],[102.077264,32.591284],[102.077329,32.591518],[102.077394,32.591753],[102.077459,32.591987],[102.077524,32.592222],[102.077589,32.592457],[102.077654,32.592691],[102.077719,32.592926],[102.077784,32.59316],[102.077829,32.593468],[102.077805,32.593773],[102.07778,32.594078],[102.077731,32.594313],[102.077682,32.594547],[102.077576,32.594938],[102.077471,32.595328],[102.077365,32.595718],[102.077266,32.595974],[102.077167,32.59623],[102.077167,32.596231],[102.077068,32.596487],[102.076969,32.596744],[102.076908,32.597007],[102.076846,32.597271],[102.076785,32.597534],[102.076724,32.597798],[102.076663,32.598062],[102.076601,32.598325],[102.07654,32.598589],[102.076479,32.598853],[102.076418,32.599116],[102.076356,32.59938],[102.07629,32.59972],[102.076224,32.60006],[102.076045,32.600384],[102.07587,32.600664],[102.075592,32.600937],[102.075315,32.60121],[102.075219,32.601304],[102.075119,32.601402],[102.074922,32.601594],[102.074726,32.601785],[102.074529,32.601977],[102.074333,32.602169],[102.074137,32.60236],[102.074053,32.602461],[102.073967,32.602564],[102.073798,32.602768],[102.073629,32.602972],[102.07346,32.603176],[102.073291,32.60338],[102.073121,32.603584],[102.072952,32.603788],[102.072783,32.603992],[102.072614,32.604196],[102.072444,32.6044],[102.072275,32.604604],[102.072106,32.604808],[102.071957,32.605016],[102.071808,32.605224],[102.071757,32.605296],[102.071659,32.605432],[102.07151,32.60564],[102.071361,32.605849],[102.071212,32.606057],[102.071063,32.606265],[102.070913,32.606473],[102.070764,32.606681],[102.070615,32.606889],[102.070466,32.607097],[102.070317,32.607305],[102.070074,32.607645],[102.069831,32.607985],[102.069588,32.608325],[102.069445,32.60856],[102.069301,32.608795],[102.069158,32.609029],[102.069014,32.609264],[102.068882,32.609481],[102.068871,32.609499],[102.068727,32.609734],[102.068584,32.609969],[102.06844,32.610204],[102.068307,32.610448],[102.068173,32.610692],[102.068124,32.610915],[102.068075,32.611137],[102.06808,32.611431],[102.068084,32.611726],[102.068112,32.611953],[102.068139,32.612179],[102.068145,32.612228],[102.068167,32.612406],[102.068195,32.612633],[102.068237,32.612717],[102.068326,32.612895],[102.068457,32.613158],[102.068575,32.613373],[102.068693,32.613588],[102.068853,32.613803],[102.069014,32.614018],[102.069229,32.614258],[102.06928,32.61437],[102.069359,32.614543],[102.069366,32.614653],[102.069377,32.614827],[102.069314,32.615174],[102.069309,32.615202],[102.069191,32.615412],[102.068971,32.615759],[102.068937,32.615812],[102.068927,32.615828],[102.06875,32.616106],[102.068627,32.616486],[102.068504,32.616865],[102.06838,32.617244],[102.068359,32.617479],[102.068337,32.617714],[102.068315,32.617949],[102.068294,32.618184],[102.068272,32.618419],[102.06825,32.618654],[102.068229,32.618889],[102.068207,32.619124],[102.068186,32.619547],[102.068166,32.61997],[102.068145,32.620393],[102.068124,32.620816],[102.068039,32.621038],[102.067954,32.621259],[102.067869,32.62148],[102.067784,32.621702],[102.067699,32.621923],[102.067614,32.622144],[102.067529,32.622365],[102.067444,32.622587],[102.06738,32.622698],[102.067369,32.622719],[102.06734,32.622769],[102.06732,32.622804],[102.067197,32.62302],[102.067074,32.623237],[102.067017,32.623337],[102.067013,32.623344],[102.066993,32.623378],[102.066991,32.623383],[102.06695,32.623454],[102.066827,32.623671],[102.066704,32.623888],[102.066563,32.624093],[102.066422,32.624299],[102.066281,32.624504],[102.06614,32.62471],[102.065998,32.624916],[102.065857,32.625121],[102.065797,32.625209],[102.065621,32.625452],[102.065446,32.625694],[102.065296,32.626045],[102.065181,32.626135],[102.064959,32.626108],[102.064628,32.626006],[102.064463,32.625908],[102.064276,32.625692],[102.064069,32.625407],[102.063862,32.625121],[102.063672,32.624859],[102.063501,32.624622],[102.06333,32.624385],[102.063205,32.624153],[102.06308,32.62392],[102.062955,32.623687],[102.06283,32.623455],[102.062768,32.62323],[102.062705,32.623005],[102.062606,32.62265],[102.062507,32.622271],[102.062463,32.621916],[102.062416,32.621655],[102.06234,32.621466],[102.062204,32.621275],[102.062016,32.621105],[102.061797,32.620983],[102.061482,32.620834],[102.061166,32.620685],[102.060951,32.620593],[102.060735,32.620502],[102.06052,32.620411],[102.060305,32.620319],[102.060089,32.620228],[102.059874,32.620137],[102.059658,32.620045],[102.059443,32.619954],[102.059228,32.619863],[102.059012,32.619771],[102.058797,32.61968],[102.058582,32.619588],[102.058348,32.619501],[102.058114,32.619413],[102.057852,32.619324],[102.057589,32.619235],[102.057229,32.619204],[102.056949,32.619267],[102.056722,32.619404],[102.056462,32.619657],[102.056287,32.619865],[102.056169,32.620074],[102.056051,32.620283],[102.055876,32.620537],[102.055564,32.620719],[102.055226,32.620829],[102.05496,32.620846],[102.054694,32.620863],[102.054327,32.620807],[102.053959,32.620751],[102.053569,32.620718],[102.053161,32.620708],[102.052752,32.620698],[102.052344,32.620689],[102.051953,32.620719],[102.051562,32.620749],[102.051171,32.620778],[102.050735,32.620875],[102.0503,32.620971],[102.050071,32.621028],[102.049841,32.621086],[102.049612,32.621143],[102.049382,32.6212],[102.049153,32.621258],[102.048924,32.621315],[102.048666,32.621349],[102.048409,32.621383],[102.048151,32.621417],[102.047894,32.621451],[102.047637,32.621485],[102.047379,32.621519],[102.047122,32.621553],[102.046864,32.621587],[102.046607,32.621621],[102.046349,32.621655],[102.046073,32.62167],[102.045796,32.621685],[102.045519,32.6217],[102.045242,32.621715],[102.044965,32.62173],[102.044688,32.621745],[102.044411,32.62176],[102.044135,32.621775],[102.043858,32.62179],[102.043581,32.621805],[102.043304,32.62182],[102.043027,32.621835],[102.042679,32.621815],[102.042331,32.621795],[102.041887,32.621749],[102.041509,32.62171],[102.041443,32.621704],[102.041125,32.621637],[102.040806,32.621571],[102.040378,32.621479],[102.039949,32.621386],[102.039728,32.621318],[102.039565,32.621268],[102.039517,32.621253],[102.039507,32.62125],[102.039286,32.621182],[102.039066,32.621114],[102.038845,32.621046],[102.038624,32.620979],[102.038432,32.620862],[102.038239,32.620746],[102.037854,32.620513],[102.03747,32.62028],[102.037085,32.620048],[102.036893,32.619931],[102.0367,32.619815],[102.036501,32.619676],[102.036302,32.619537],[102.036104,32.619399],[102.035905,32.61926],[102.035706,32.619121],[102.035507,32.618982],[102.035308,32.618843],[102.035109,32.618705],[102.03491,32.618566],[102.034711,32.618427],[102.03454,32.618274],[102.034369,32.61812],[102.034197,32.617967],[102.034026,32.617814],[102.033854,32.617661],[102.033683,32.617507],[102.033443,32.617172],[102.033204,32.616837],[102.032964,32.616501],[102.032936,32.616436],[102.032917,32.616392],[102.032874,32.616292],[102.032783,32.616083],[102.032692,32.615873],[102.032602,32.615664],[102.032511,32.615455],[102.032421,32.615246],[102.03233,32.615036],[102.032239,32.614827],[102.032149,32.614618],[102.032058,32.614409],[102.031964,32.614199],[102.03187,32.61399],[102.031776,32.613781],[102.031682,32.613572],[102.031588,32.613363],[102.031494,32.613153],[102.0314,32.612944],[102.031307,32.612735],[102.031213,32.612526],[102.031119,32.612317],[102.031052,32.612088],[102.030985,32.611858],[102.030919,32.611629],[102.030852,32.6114],[102.030785,32.611171],[102.030719,32.610942],[102.030698,32.610718],[102.030678,32.610494],[102.030658,32.610269],[102.030637,32.610045],[102.030617,32.609821],[102.030597,32.609597],[102.030605,32.60936],[102.030613,32.609123],[102.03062,32.608886],[102.030628,32.608649],[102.030636,32.608412],[102.030644,32.608175],[102.030652,32.607938],[102.03066,32.607701],[102.030747,32.60726],[102.030834,32.60682],[102.03092,32.606379],[102.031007,32.605938],[102.031094,32.605498],[102.031075,32.605236],[102.031027,32.605002],[102.030868,32.604739],[102.030668,32.604475],[102.030468,32.604211],[102.030197,32.60397],[102.029927,32.603728],[102.029761,32.603576],[102.029595,32.603425],[102.029473,32.603313],[102.029437,32.60328],[102.029429,32.603273],[102.029263,32.603121],[102.029097,32.60297],[102.028931,32.602818],[102.028765,32.602666],[102.028599,32.602515],[102.028433,32.602363],[102.028267,32.602212],[102.02794,32.601968],[102.027928,32.601958],[102.027614,32.601724],[102.027356,32.601381],[102.027099,32.601037],[102.026841,32.600694],[102.026544,32.600381],[102.026398,32.600177],[102.026251,32.599972],[102.026181,32.599595],[102.026105,32.599346],[102.02603,32.599097],[102.025876,32.598693],[102.025716,32.598478],[102.025528,32.598285],[102.025338,32.598139],[102.025145,32.598064],[102.024922,32.598035],[102.024631,32.598028],[102.024339,32.598021],[102.024047,32.59799],[102.023756,32.59796],[102.023534,32.597908],[102.023312,32.597856],[102.023065,32.597756],[102.022817,32.597656],[102.022612,32.597557],[102.022406,32.597457],[102.022202,32.597323],[102.021998,32.597189],[102.021793,32.597055],[102.021589,32.596921],[102.021309,32.596645],[102.021029,32.596369],[102.020748,32.596094],[102.020471,32.595766],[102.020194,32.595437],[102.019917,32.595109],[102.019686,32.59476],[102.019455,32.594411],[102.019314,32.594199],[102.019224,32.594062],[102.019111,32.593671],[102.018999,32.59328],[102.018958,32.593049],[102.018916,32.592819],[102.018902,32.592738],[102.018875,32.592589],[102.018834,32.592358],[102.018744,32.592144],[102.018653,32.59193],[102.01844,32.591619],[102.018172,32.591353],[102.017954,32.59116],[102.017655,32.590964],[102.017336,32.590769],[102.017018,32.590573],[102.016699,32.590377],[102.016441,32.590292],[102.016183,32.590206],[102.016,32.590145],[102.015999,32.590145],[102.015997,32.590145],[102.015925,32.59012],[102.015667,32.590035],[102.015408,32.589949],[102.01515,32.589864],[102.014892,32.589778],[102.014634,32.589692],[102.014344,32.589615],[102.014053,32.589537],[102.01382,32.589438],[102.013587,32.589338],[102.013287,32.589119],[102.012988,32.588876],[102.012813,32.588696],[102.012639,32.588515],[102.012455,32.588129],[102.012271,32.587743],[102.012087,32.587358],[102.011902,32.586972],[102.011655,32.586597],[102.011407,32.586222],[102.01116,32.585848],[102.010845,32.585542],[102.01053,32.585236],[102.010473,32.585181],[102.010215,32.584931],[102.009949,32.584571],[102.009761,32.584366],[102.009573,32.584161],[102.009412,32.58397],[102.009251,32.583778],[102.009046,32.583455],[102.009039,32.583443],[102.008866,32.583078],[102.008692,32.582713],[102.008519,32.582348],[102.008446,32.582132],[102.008372,32.581916],[102.008299,32.5817],[102.008225,32.581484],[102.008152,32.581268],[102.008078,32.581052],[102.008005,32.580836],[102.007931,32.58062],[102.00786,32.580379],[102.007789,32.580139],[102.007719,32.579898],[102.007648,32.579657],[102.007577,32.579416],[102.007506,32.579175],[102.007418,32.578947],[102.007331,32.57872],[102.007243,32.578492],[102.007156,32.578264],[102.007068,32.578036],[102.00698,32.577809],[102.006893,32.577581],[102.006805,32.577353],[102.006717,32.577126],[102.00663,32.576898],[102.006542,32.57667],[102.006455,32.576443],[102.006355,32.576225],[102.006255,32.576007],[102.006155,32.575789],[102.006055,32.575572],[102.005956,32.575354],[102.005856,32.575136],[102.005756,32.574918],[102.005656,32.574701],[102.005556,32.574483],[102.005522,32.574409],[102.005457,32.574265],[102.005344,32.574051],[102.005231,32.573836],[102.005118,32.573622],[102.005005,32.573407],[102.004893,32.573193],[102.00478,32.572978],[102.004667,32.572764],[102.004554,32.57255],[102.004441,32.572335],[102.004329,32.572121],[102.004051,32.571792],[102.003773,32.571462],[102.003496,32.571133],[102.003218,32.570804],[102.003002,32.570568],[102.002786,32.570332],[102.002578,32.57006],[102.002371,32.569789],[102.002204,32.569486],[102.002037,32.569183],[102.001893,32.568796],[102.001748,32.56841],[102.001672,32.568153],[102.001595,32.567896],[102.001592,32.567888],[102.001574,32.567827],[102.001518,32.567639],[102.001492,32.567551],[102.001481,32.567513],[102.001442,32.567383],[102.001365,32.567126],[102.001352,32.567084],[102.001318,32.566968],[102.001288,32.566869],[102.001171,32.566511],[102.001155,32.566461],[102.001095,32.56628],[102.001035,32.566096],[102.001028,32.566073],[102.00102,32.56605],[102.000944,32.565819],[102.000868,32.565588],[102.000793,32.565357],[102.000717,32.565126],[102.000597,32.565004],[102.000597,32.565004],[102.000478,32.564882],[102.000247,32.564647],[102.000238,32.564638],[102.000138,32.564678],[102.000062,32.564708],[102.000009,32.564736],[102.000001,32.56474],[101.999995,32.564744],[101.999941,32.564772],[101.999928,32.564779],[101.999928,32.564779],[101.999916,32.564786],[101.999876,32.564807],[101.999844,32.564824],[101.999844,32.564824],[101.999839,32.564827],[101.999708,32.564896],[101.999627,32.564939],[101.999354,32.565084],[101.99922,32.565155],[101.99922,32.565155],[101.999,32.565273],[101.998824,32.565428],[101.998647,32.565584],[101.998471,32.565739],[101.998295,32.565895],[101.998119,32.56605],[101.997943,32.566206],[101.997766,32.566361],[101.99759,32.566517],[101.997414,32.566673],[101.997238,32.566828],[101.997097,32.567004],[101.996957,32.567181],[101.996816,32.567357],[101.996676,32.567534],[101.996536,32.56771],[101.996395,32.567886],[101.996255,32.568063],[101.996115,32.568239],[101.995974,32.568415],[101.995834,32.568592],[101.995645,32.568733],[101.995456,32.568874],[101.995267,32.569015],[101.995078,32.569157],[101.994889,32.569298],[101.9947,32.569439],[101.994511,32.56958],[101.994322,32.569722],[101.994133,32.569863],[101.993944,32.570004],[101.993752,32.570135],[101.99356,32.570265],[101.993369,32.570396],[101.993177,32.570527],[101.992985,32.570657],[101.992793,32.570788],[101.992602,32.570919],[101.99241,32.571049],[101.992218,32.57118],[101.992027,32.571311],[101.991835,32.571441],[101.991643,32.571572],[101.991439,32.571696],[101.991235,32.57182],[101.99103,32.571944],[101.990826,32.572068],[101.990621,32.572192],[101.990417,32.572316],[101.990213,32.57244],[101.990008,32.572564],[101.98981,32.572672],[101.989611,32.572781],[101.989413,32.57289],[101.989214,32.572998],[101.988912,32.57314],[101.988611,32.573281],[101.988244,32.573352],[101.987897,32.573195],[101.987792,32.573011],[101.987723,32.572774],[101.987654,32.572537],[101.987652,32.572472],[101.987643,32.572227],[101.987654,32.572152],[101.987679,32.571967],[101.987714,32.571707],[101.98775,32.571448],[101.987785,32.571188],[101.987821,32.570928],[101.987834,32.570834],[101.987856,32.570668],[101.987892,32.570408],[101.987927,32.570148],[101.987963,32.569888],[101.987998,32.569628],[101.988061,32.56936],[101.988123,32.569091],[101.988185,32.568822],[101.988192,32.568791],[101.988247,32.568553],[101.98831,32.568284],[101.988372,32.568015],[101.988435,32.567746],[101.988497,32.567477],[101.988559,32.567208],[101.988622,32.566939],[101.988684,32.566687],[101.988747,32.566435],[101.98881,32.566183],[101.988873,32.565931],[101.988935,32.565678],[101.988998,32.565426],[101.989061,32.565174],[101.989124,32.564922],[101.989186,32.56467],[101.989249,32.564417],[101.989278,32.564157],[101.989306,32.563897],[101.989335,32.563638],[101.989363,32.563378],[101.989324,32.562943],[101.989284,32.562509],[101.989245,32.562075],[101.989206,32.561641],[101.989192,32.561206],[101.989177,32.560772],[101.989163,32.560338],[101.989186,32.560112],[101.98921,32.559886],[101.989233,32.55966],[101.989256,32.559434],[101.989279,32.559208],[101.989302,32.558982],[101.989326,32.558757],[101.989339,32.558624],[101.989349,32.558531],[101.989386,32.558261],[101.989423,32.557992],[101.98946,32.557722],[101.989498,32.557453],[101.989517,32.557314],[101.989535,32.557183],[101.989572,32.556914],[101.989609,32.556645],[101.989646,32.556375],[101.989684,32.556106],[101.989721,32.555836],[101.989724,32.555583],[101.989728,32.555331],[101.989732,32.555078],[101.989733,32.555017],[101.989736,32.554825],[101.989739,32.554572],[101.989741,32.554473],[101.989743,32.554319],[101.989747,32.554066],[101.989751,32.553813],[101.989754,32.553561],[101.989758,32.553308],[101.989699,32.552978],[101.989594,32.552772],[101.989468,32.55265],[101.989292,32.55253],[101.989071,32.552494],[101.988859,32.552516],[101.988802,32.552521],[101.988567,32.552545],[101.988533,32.552548],[101.988119,32.55262],[101.98783,32.552794],[101.987542,32.552967],[101.987321,32.553084],[101.9871,32.553202],[101.986879,32.553319],[101.986658,32.553437],[101.986449,32.553548],[101.986438,32.553554],[101.986335,32.553609],[101.986217,32.553672],[101.986123,32.553722],[101.985996,32.553789],[101.985775,32.553907],[101.985555,32.554024],[101.985334,32.554142],[101.985113,32.554259],[101.984892,32.554377],[101.984811,32.554406],[101.98466,32.554461],[101.984461,32.554533],[101.984434,32.554543],[101.984429,32.554545],[101.984418,32.554548],[101.984197,32.554628],[101.983965,32.554712],[101.983829,32.554762],[101.983733,32.554796],[101.983501,32.55488],[101.983269,32.554964],[101.983038,32.555048],[101.982806,32.555132],[101.982574,32.555216],[101.982342,32.5553],[101.982127,32.555378],[101.98211,32.555384],[101.982047,32.555406],[101.981905,32.555458],[101.981878,32.555467],[101.981647,32.555551],[101.98125,32.555726],[101.980853,32.5559],[101.980568,32.556026],[101.980546,32.556035],[101.980457,32.556075],[101.980247,32.556167],[101.980213,32.556182],[101.980203,32.556186],[101.980129,32.556219],[101.980107,32.556228],[101.98006,32.556249],[101.979906,32.556392],[101.979739,32.556547],[101.979548,32.556724],[101.979485,32.556783],[101.979419,32.556845],[101.979098,32.557142],[101.978778,32.55744],[101.978736,32.557471],[101.978687,32.557508],[101.978613,32.557563],[101.978565,32.557598],[101.978353,32.557756],[101.97814,32.557914],[101.977928,32.558072],[101.977715,32.558229],[101.977503,32.558387],[101.977291,32.558545],[101.977128,32.558666],[101.977078,32.558703],[101.976893,32.558837],[101.976707,32.558971],[101.976603,32.559046],[101.976601,32.559048],[101.976599,32.559049],[101.976558,32.559079],[101.976552,32.559083],[101.976522,32.559105],[101.976337,32.559239],[101.975989,32.559454],[101.975716,32.559623],[101.97564,32.55967],[101.97535,32.559791],[101.975196,32.559855],[101.975059,32.559912],[101.97485,32.559963],[101.974779,32.55998],[101.9745,32.560049],[101.974277,32.560103],[101.974054,32.560156],[101.973831,32.56021],[101.973608,32.560263],[101.973385,32.560317],[101.973162,32.560371],[101.972898,32.560533],[101.972634,32.560695],[101.972622,32.560711],[101.972621,32.560712],[101.972551,32.560806],[101.972521,32.560847],[101.972476,32.560908],[101.972469,32.560916],[101.972305,32.561138],[101.97216,32.561319],[101.972014,32.561501],[101.971985,32.561538],[101.971869,32.561682],[101.971724,32.561864],[101.971694,32.561902],[101.971683,32.561915],[101.971578,32.562046],[101.971478,32.562171],[101.971477,32.562172],[101.971448,32.562209],[101.971433,32.562227],[101.971288,32.562409],[101.971143,32.56259],[101.970946,32.562761],[101.97075,32.562931],[101.970553,32.563101],[101.970492,32.563155],[101.970479,32.563166],[101.970432,32.563207],[101.970425,32.563213],[101.970357,32.563272],[101.97016,32.563442],[101.969964,32.563613],[101.969767,32.563783],[101.96957,32.563953],[101.969417,32.564173],[101.969375,32.564233],[101.969317,32.564317],[101.969264,32.564392],[101.96921,32.56447],[101.969156,32.564548],[101.969111,32.564611],[101.968958,32.56483],[101.968858,32.564974],[101.968842,32.564997],[101.968805,32.56505],[101.968775,32.565093],[101.968652,32.565269],[101.968441,32.565564],[101.968351,32.565691],[101.96835,32.565691],[101.96835,32.565692],[101.96823,32.565859],[101.968227,32.565862],[101.968204,32.565882],[101.967897,32.566158],[101.967563,32.566436],[101.967351,32.566506],[101.96733,32.566512],[101.967208,32.566552],[101.96717,32.566564],[101.967151,32.566571],[101.966859,32.566639],[101.966817,32.566649],[101.966795,32.566655],[101.966567,32.566708],[101.966311,32.566756],[101.966055,32.566803],[101.965641,32.566897],[101.965241,32.56701],[101.965214,32.567017],[101.965017,32.567072],[101.964891,32.567108],[101.96484,32.567122],[101.964617,32.567249],[101.964575,32.567273],[101.964451,32.56739],[101.964416,32.567424],[101.964373,32.567465],[101.964263,32.567569],[101.964235,32.567596],[101.964171,32.567656],[101.964008,32.567898],[101.963844,32.56814],[101.963638,32.568325],[101.963629,32.568332],[101.963476,32.568469],[101.963474,32.568471],[101.963423,32.568516],[101.963415,32.568524],[101.963125,32.568649],[101.963113,32.568655],[101.963101,32.56866],[101.963047,32.568684],[101.962957,32.568722],[101.96295,32.568725],[101.962811,32.568786],[101.962469,32.568836],[101.9622,32.568842],[101.961857,32.56885],[101.961635,32.568893],[101.961613,32.568897],[101.961516,32.568921],[101.961438,32.569151],[101.961417,32.569214],[101.961382,32.569315],[101.961375,32.569337],[101.96136,32.569381],[101.961306,32.56962],[101.961273,32.569769],[101.96127,32.569781],[101.961266,32.569801],[101.961252,32.569859],[101.961125,32.57007],[101.961079,32.570145],[101.960997,32.57028],[101.960662,32.570578],[101.960459,32.570738],[101.960348,32.570825],[101.960255,32.570899],[101.960035,32.571001],[101.959814,32.571102],[101.959594,32.571204],[101.959373,32.571306],[101.959136,32.571519],[101.959048,32.571598],[101.959036,32.571608],[101.958999,32.571641],[101.958999,32.571641],[101.958999,32.571641],[101.958939,32.571695],[101.958939,32.571695],[101.958723,32.571889],[101.958397,32.57218],[101.958348,32.572224],[101.95827,32.572295],[101.958266,32.572299],[101.958247,32.572315],[101.958148,32.572404],[101.957899,32.572628],[101.957624,32.572862],[101.957417,32.573039],[101.957397,32.573056],[101.95735,32.573096],[101.957338,32.573101],[101.957095,32.573196],[101.956841,32.573295],[101.956562,32.573395],[101.956284,32.573494],[101.956079,32.573603],[101.955874,32.573712],[101.955623,32.573924],[101.955373,32.574137],[101.955233,32.574348],[101.955093,32.574558],[101.954957,32.574798],[101.954955,32.574801],[101.954953,32.574803],[101.954914,32.574872],[101.954907,32.574885],[101.954902,32.574894],[101.954841,32.575001],[101.954839,32.575004],[101.954799,32.575075],[101.954722,32.575211],[101.954388,32.575508],[101.95412,32.575555],[101.954099,32.575552],[101.953848,32.575521],[101.95365,32.575442],[101.953399,32.575283],[101.953109,32.57501],[101.953068,32.574971],[101.953004,32.574911],[101.952819,32.574737],[101.952563,32.574432],[101.952394,32.574146],[101.952225,32.573859],[101.952125,32.573655],[101.952025,32.573451],[101.951924,32.573246],[101.951824,32.573042],[101.951724,32.572838],[101.951624,32.572633],[101.951524,32.572429],[101.951423,32.572225],[101.951323,32.572021],[101.951223,32.571816],[101.951103,32.571598],[101.950984,32.57138],[101.950864,32.571161],[101.950745,32.570943],[101.950625,32.570725],[101.950506,32.570506],[101.95044,32.570386],[101.95042,32.57035],[101.950386,32.570288],[101.950267,32.57007],[101.950147,32.569851],[101.950028,32.569633],[101.949908,32.569414],[101.949789,32.569196],[101.949762,32.569146],[101.949669,32.568968],[101.949549,32.56874],[101.949429,32.568511],[101.949309,32.568283],[101.9493,32.568266],[101.949189,32.568055],[101.949069,32.567827],[101.948949,32.567598],[101.948829,32.56737],[101.948709,32.567142],[101.948589,32.566913],[101.948469,32.566685],[101.948348,32.566457],[101.948271,32.566239],[101.948194,32.566021],[101.948116,32.565803],[101.948039,32.565584],[101.947961,32.565366],[101.947884,32.565148],[101.947806,32.56493],[101.947729,32.564712],[101.947634,32.564493],[101.947539,32.564274],[101.947444,32.564055],[101.947349,32.563836],[101.947254,32.563617],[101.947159,32.563399],[101.947064,32.56318],[101.946969,32.562961],[101.946874,32.562742],[101.946779,32.562523],[101.946684,32.562304],[101.946589,32.562085],[101.946483,32.561855],[101.946376,32.561624],[101.94627,32.561394],[101.946164,32.561163],[101.946058,32.560933],[101.945951,32.560702],[101.945845,32.560472],[101.945739,32.560241],[101.945622,32.560044],[101.945506,32.559847],[101.945389,32.559651],[101.945272,32.559454],[101.945155,32.559257],[101.945039,32.559061],[101.944922,32.558864],[101.944873,32.558781],[101.944805,32.558667],[101.944672,32.558459],[101.94465,32.558426],[101.944538,32.558252],[101.944405,32.558044],[101.944271,32.557837],[101.944138,32.557629],[101.944004,32.557421],[101.943827,32.557252],[101.94365,32.557083],[101.943473,32.556913],[101.943295,32.556744],[101.943118,32.556574],[101.942941,32.556405],[101.942764,32.556236],[101.942642,32.556119],[101.942623,32.556101],[101.942587,32.556066],[101.942428,32.55589],[101.942269,32.555714],[101.942111,32.555537],[101.941952,32.555361],[101.941793,32.555184],[101.941635,32.555008],[101.941476,32.554832],[101.941318,32.554655],[101.941159,32.554479],[101.941072,32.554382],[101.941,32.554303],[101.940974,32.554277],[101.940893,32.554199],[101.940817,32.554125],[101.94068,32.553992],[101.940591,32.553906],[101.940538,32.553854],[101.940408,32.553729],[101.940382,32.553704],[101.94036,32.553682],[101.940228,32.553554],[101.940039,32.553372],[101.939697,32.553117],[101.939484,32.552959],[101.939437,32.552924],[101.939354,32.552863],[101.939315,32.552834],[101.939269,32.552799],[101.939012,32.552608],[101.938669,32.552354],[101.938462,32.5522],[101.938255,32.552046],[101.937891,32.55179],[101.937527,32.551534],[101.937164,32.551279],[101.937117,32.551245],[101.9368,32.551023],[101.936623,32.550893],[101.936486,32.550792],[101.936172,32.550561],[101.936145,32.550526],[101.936131,32.550508],[101.936127,32.550504],[101.936121,32.550496],[101.936031,32.550381],[101.935989,32.550327],[101.935969,32.550301],[101.935891,32.550201],[101.93575,32.550022],[101.935609,32.549842],[101.935547,32.549763],[101.935468,32.549662],[101.935328,32.549483],[101.935261,32.549413],[101.935153,32.549301],[101.934978,32.549119],[101.934804,32.548937],[101.93472,32.548849],[101.934675,32.548803],[101.934629,32.548755],[101.934574,32.548697],[101.934454,32.548573],[101.93428,32.548391],[101.934268,32.548383],[101.933916,32.548135],[101.933553,32.547879],[101.933347,32.547734],[101.933345,32.547733],[101.933343,32.547731],[101.933189,32.547623],[101.932959,32.547461],[101.932826,32.547368],[101.932788,32.547334],[101.932759,32.547308],[101.932643,32.547204],[101.932601,32.547167],[101.932579,32.547147],[101.932562,32.547132],[101.932555,32.547126],[101.93246,32.547041],[101.932277,32.546878],[101.932094,32.546715],[101.931911,32.546551],[101.931728,32.546388],[101.931698,32.546361],[101.931578,32.546255],[101.931545,32.546225],[101.931361,32.546062],[101.931178,32.545898],[101.930995,32.545735],[101.930812,32.545572],[101.930629,32.545409],[101.930496,32.545262],[101.930465,32.545228],[101.930426,32.545184],[101.930301,32.545047],[101.930147,32.544877],[101.930138,32.544866],[101.929974,32.544685],[101.92981,32.544504],[101.929646,32.544323],[101.929482,32.544142],[101.92946,32.544118],[101.929319,32.543962],[101.929155,32.543781],[101.928991,32.5436],[101.928827,32.543419],[101.928663,32.543238],[101.928598,32.543165],[101.9285,32.543057],[101.928336,32.542876],[101.928134,32.542705],[101.927932,32.542533],[101.927732,32.542364],[101.92773,32.542362],[101.927698,32.542335],[101.927528,32.54219],[101.927339,32.542019],[101.92715,32.541848],[101.927087,32.541789],[101.926876,32.541591],[101.926846,32.541563],[101.92684,32.541557],[101.926592,32.541279],[101.926384,32.540916],[101.926177,32.540553],[101.925969,32.540191],[101.925873,32.540023],[101.925851,32.539986],[101.925761,32.539828],[101.925708,32.53971],[101.925692,32.539675],[101.925664,32.539611],[101.925658,32.539599],[101.925634,32.539545],[101.925567,32.539394],[101.925469,32.539178],[101.92539,32.539001],[101.925372,32.538961],[101.92532,32.538844],[101.925275,32.538744],[101.925178,32.538528],[101.925081,32.538311],[101.925052,32.538245],[101.925035,32.538208],[101.924984,32.538094],[101.924887,32.537877],[101.92479,32.537661],[101.924714,32.537492],[101.924692,32.537444],[101.924595,32.537227],[101.924528,32.537089],[101.924477,32.536983],[101.924359,32.536739],[101.924318,32.536654],[101.924294,32.536604],[101.924241,32.536495],[101.924122,32.53625],[101.924038,32.536076],[101.924021,32.536041],[101.924004,32.536006],[101.923886,32.535762],[101.923768,32.535518],[101.923649,32.535274],[101.923531,32.535029],[101.923413,32.534785],[101.923295,32.534541],[101.923177,32.534297],[101.923081,32.53407],[101.922986,32.533843],[101.922891,32.533616],[101.922877,32.533582],[101.922796,32.533389],[101.922701,32.533162],[101.922667,32.533082],[101.922606,32.532935],[101.922511,32.532708],[101.922415,32.532481],[101.92232,32.532254],[101.922225,32.532027],[101.92213,32.531801],[101.922035,32.531574],[101.92194,32.531347],[101.921844,32.53112],[101.921746,32.530891],[101.921648,32.530663],[101.921549,32.530434],[101.921451,32.530205],[101.921352,32.529977],[101.921254,32.529748],[101.92122,32.52967],[101.921201,32.529626],[101.921156,32.52952],[101.921057,32.529291],[101.921003,32.529164],[101.920959,32.529062],[101.92086,32.528834],[101.920825,32.528751],[101.920762,32.528605],[101.920664,32.528377],[101.920565,32.528148],[101.920524,32.528054],[101.920509,32.528019],[101.920467,32.52792],[101.920457,32.527899],[101.920361,32.527692],[101.920353,32.527676],[101.920255,32.527464],[101.920211,32.52737],[101.920149,32.527237],[101.920067,32.527061],[101.920043,32.527009],[101.91995,32.526808],[101.919938,32.526782],[101.919929,32.526763],[101.919832,32.526554],[101.919726,32.526326],[101.91962,32.526099],[101.919548,32.525943],[101.919545,32.525936],[101.919527,32.525899],[101.919514,32.525871],[101.919413,32.525653],[101.919409,32.525644],[101.919395,32.525619],[101.91939,32.52561],[101.919226,32.525302],[101.919217,32.525286],[101.919203,32.52526],[101.919043,32.524961],[101.918947,32.524781],[101.91886,32.52462],[101.918856,32.52461],[101.918703,32.524292],[101.918649,32.524086],[101.918617,32.523924],[101.918604,32.523859],[101.918567,32.523667],[101.91856,32.523632],[101.918543,32.523537],[101.918517,32.523397],[101.918515,32.523385],[101.91847,32.523137],[101.918426,32.52289],[101.918381,32.522642],[101.918322,32.522363],[101.918301,32.522262],[101.918263,32.522085],[101.918202,32.521651],[101.918195,32.521453],[101.918192,32.52134],[101.918196,32.521192],[101.918204,32.520967],[101.91822,32.520718],[101.918227,32.520685],[101.918234,32.520657],[101.918263,32.520531],[101.918354,32.520301],[101.91836,32.520286],[101.918366,32.520271],[101.918458,32.52004],[101.918555,32.519795],[101.918653,32.51955],[101.918738,32.519314],[101.918824,32.519078],[101.918909,32.518842],[101.918994,32.518606],[101.919055,32.518436],[101.919067,32.518405],[101.919079,32.518369],[101.919165,32.518133],[101.91925,32.517897],[101.919312,32.517725],[101.919325,32.517688],[101.919335,32.517661],[101.91942,32.517425],[101.919506,32.517189],[101.919536,32.517082],[101.91954,32.517066],[101.919574,32.516946],[101.919643,32.516704],[101.919712,32.516461],[101.91978,32.516219],[101.919832,32.516039],[101.919849,32.515976],[101.919903,32.515785],[101.919918,32.515734],[101.919987,32.515491],[101.920034,32.515325],[101.920055,32.515249],[101.920108,32.515016],[101.920141,32.514868],[101.920177,32.514708],[101.920184,32.514678],[101.920227,32.514487],[101.920313,32.514106],[101.920311,32.513853],[101.920309,32.513599],[101.920306,32.513345],[101.920304,32.513092],[101.920346,32.512863],[101.920348,32.512855],[101.920356,32.512822],[101.920418,32.51258],[101.920425,32.512553],[101.92044,32.512494],[101.92048,32.512337],[101.920488,32.512306],[101.920535,32.512126],[101.920629,32.511757],[101.920694,32.511487],[101.92071,32.511259],[101.920704,32.511051],[101.92068,32.510972],[101.920673,32.510946],[101.920649,32.510866],[101.920514,32.510497],[101.920379,32.510128],[101.920245,32.509767],[101.920197,32.509637],[101.920177,32.509581],[101.920123,32.509438],[101.920112,32.509406],[101.920067,32.509166],[101.920023,32.508926],[101.919979,32.508686],[101.919934,32.508445],[101.91989,32.508205],[101.919846,32.507965],[101.919843,32.507701],[101.919841,32.507437],[101.919839,32.507206],[101.919839,32.507172],[101.919836,32.506908],[101.919834,32.506857],[101.919834,32.50683],[101.919823,32.506515],[101.91986,32.506182],[101.919927,32.505974],[101.920045,32.505764],[101.920075,32.50569],[101.920085,32.505664],[101.920112,32.505596],[101.920091,32.505348],[101.920071,32.5051],[101.920051,32.505037],[101.919962,32.50475],[101.919852,32.5044],[101.919772,32.504174],[101.919691,32.503948],[101.919546,32.503641],[101.919528,32.503603],[101.919402,32.503333],[101.91939,32.503313],[101.919292,32.503158],[101.919273,32.503128],[101.919168,32.50296],[101.919134,32.502905],[101.918934,32.502588],[101.918899,32.502531],[101.918701,32.502215],[101.91861,32.501973],[101.91852,32.501732],[101.918463,32.50158],[101.918435,32.501506],[101.918429,32.50149],[101.918339,32.501249],[101.918248,32.501008],[101.918158,32.500766],[101.918067,32.500525],[101.917977,32.500283],[101.917936,32.500122],[101.917877,32.499887],[101.917818,32.499653],[101.917777,32.499492],[101.917759,32.499418],[101.917729,32.4993],[101.917722,32.499272],[101.9177,32.499184],[101.917641,32.49895],[101.917623,32.498879],[101.917616,32.498851],[101.917582,32.498715],[101.917553,32.498599],[101.917478,32.498292],[101.917458,32.498211],[101.917451,32.498185],[101.91744,32.498137],[101.917406,32.497999],[101.917406,32.497998],[101.917401,32.497979],[101.917374,32.497868],[101.917358,32.497804],[101.917342,32.497738],[101.917308,32.497601],[101.91727,32.497445],[101.917149,32.497247],[101.917029,32.497049],[101.916969,32.496952],[101.916908,32.496852],[101.916788,32.496654],[101.916667,32.496457],[101.916546,32.496259],[101.916402,32.495972],[101.916258,32.495685],[101.916098,32.495296],[101.915992,32.49505],[101.915958,32.494751],[101.915923,32.494451],[101.915928,32.494217],[101.915933,32.493984],[101.915938,32.493751],[101.915942,32.493549],[101.915942,32.493517],[101.915922,32.493269],[101.915901,32.493021],[101.915867,32.49269],[101.915762,32.492464],[101.915657,32.492239],[101.915608,32.492148],[101.915593,32.492121],[101.91554,32.492024],[101.915422,32.49181],[101.915304,32.491596],[101.915186,32.491382],[101.915063,32.49108],[101.915052,32.491054],[101.915035,32.491012],[101.914926,32.490744],[101.914884,32.490642],[101.914734,32.490272],[101.914652,32.490025],[101.914571,32.489779],[101.914489,32.489532],[101.914408,32.489285],[101.914349,32.488955],[101.91429,32.488666],[101.914253,32.488315],[101.914247,32.4881],[101.914246,32.488072],[101.914245,32.488045],[101.914239,32.487842],[101.914237,32.487776],[101.914241,32.487571],[101.914241,32.487534],[101.914246,32.487292],[101.91425,32.48705],[101.914255,32.486808],[101.914259,32.4866],[101.914259,32.486567],[101.91426,32.486554],[101.91426,32.486545],[101.914264,32.486338],[101.914264,32.486325],[101.91425,32.486222],[101.914238,32.486134],[101.914232,32.486088],[101.914202,32.485869],[101.914199,32.48585],[101.914196,32.485839],[101.914194,32.485832],[101.914137,32.485651],[101.914137,32.485651],[101.914124,32.48561],[101.914048,32.485369],[101.913973,32.485128],[101.913897,32.484887],[101.913833,32.484659],[101.913768,32.484431],[101.913704,32.484202],[101.913639,32.483974],[101.913575,32.483746],[101.91351,32.483517],[101.913446,32.483289],[101.913381,32.483061],[101.913317,32.482833],[101.913252,32.482604],[101.913188,32.482376],[101.913123,32.482148],[101.913034,32.481922],[101.912945,32.481696],[101.912855,32.481471],[101.912766,32.481245],[101.912677,32.481019],[101.912588,32.480794],[101.912498,32.480568],[101.912409,32.480342],[101.91232,32.480116],[101.912231,32.479891],[101.912142,32.479665],[101.912052,32.479439],[101.91195,32.479216],[101.911847,32.478992],[101.911744,32.478769],[101.911641,32.478545],[101.911538,32.478322],[101.911436,32.478098],[101.911339,32.477887],[101.911333,32.477874],[101.911322,32.477851],[101.911266,32.477728],[101.91123,32.477651],[101.911127,32.477427],[101.911025,32.477204],[101.910969,32.477064],[101.910939,32.47699],[101.910934,32.476976],[101.910854,32.476777],[101.910769,32.476563],[101.910683,32.476349],[101.910598,32.476136],[101.910513,32.475922],[101.910431,32.475717],[101.910427,32.475709],[101.910342,32.475495],[101.910296,32.47538],[101.910257,32.475281],[101.910171,32.475068],[101.910147,32.474912],[101.910141,32.474872],[101.910121,32.474749],[101.910102,32.474625],[101.910092,32.474564],[101.910032,32.474182],[101.909963,32.473739],[101.909893,32.473296],[101.90985,32.472849],[101.909806,32.472403],[101.909763,32.471956],[101.909719,32.471509],[101.909675,32.471063],[101.909676,32.47071],[101.909677,32.470407],[101.909677,32.470358],[101.909669,32.470089],[101.90966,32.469978],[101.909648,32.469841],[101.909628,32.469593],[101.909606,32.469282],[101.909596,32.469139],[101.909584,32.468972],[101.909527,32.468735],[101.90951,32.468665],[101.90947,32.468499],[101.909418,32.468282],[101.909413,32.468263],[101.909409,32.468244],[101.90936,32.468042],[101.909356,32.468027],[101.909264,32.467822],[101.909172,32.467617],[101.909079,32.467412],[101.908987,32.467207],[101.908895,32.467002],[101.908891,32.466995],[101.908882,32.466974],[101.90887,32.466947],[101.908849,32.4669],[101.908836,32.466871],[101.908809,32.466812],[101.908802,32.466797],[101.908734,32.466646],[101.908732,32.466641],[101.90871,32.466592],[101.908617,32.466387],[101.90856,32.466259],[101.908556,32.46625],[101.908537,32.466208],[101.908527,32.466186],[101.908526,32.466184],[101.908525,32.466182],[101.908498,32.466122],[101.908433,32.465977],[101.908356,32.465737],[101.908278,32.465497],[101.908201,32.465257],[101.908124,32.465017],[101.908047,32.464776],[101.907969,32.464536],[101.907915,32.464281],[101.90787,32.464069],[101.90786,32.464026],[101.907855,32.464003],[101.907845,32.463955],[101.907823,32.46385],[101.907806,32.463771],[101.907751,32.463516],[101.907697,32.463261],[101.907642,32.463006],[101.907621,32.462904],[101.907616,32.462881],[101.907607,32.462838],[101.907605,32.462828],[101.907588,32.46275],[101.907533,32.462495],[101.907494,32.462311],[101.907479,32.46224],[101.907476,32.462228],[101.907424,32.461985],[101.90738,32.461793],[101.907367,32.461738],[101.907357,32.461694],[101.907338,32.461613],[101.90731,32.461491],[101.907275,32.461159],[101.907252,32.460936],[101.907238,32.460808],[101.907228,32.460456],[101.907245,32.460207],[101.907282,32.459853],[101.907344,32.459521],[101.907346,32.459505],[101.907386,32.45925],[101.907372,32.458858],[101.907372,32.458858],[101.907372,32.458858],[101.907353,32.458718],[101.907316,32.458454],[101.907313,32.458427],[101.907313,32.458427],[101.907264,32.45807],[101.907256,32.458017],[101.907211,32.457686],[101.907168,32.457452],[101.907126,32.457217],[101.907107,32.457113],[101.907083,32.456983],[101.90706,32.456854],[101.907041,32.456748],[101.906998,32.456514],[101.906956,32.456279],[101.906913,32.456045],[101.906871,32.455811],[101.906829,32.455576],[101.906786,32.455342],[101.906786,32.455342],[101.906744,32.455107],[101.906743,32.455105],[101.906743,32.455103],[101.906701,32.454873],[101.906659,32.454639],[101.906616,32.454404],[101.906572,32.454162],[101.906527,32.45392],[101.906497,32.453758],[101.906497,32.453755],[101.906494,32.453738],[101.906483,32.453678],[101.906464,32.453578],[101.906464,32.453576],[101.906438,32.453435],[101.906438,32.453433],[101.906438,32.453432],[101.906425,32.453361],[101.906394,32.453193],[101.906349,32.452951],[101.906305,32.452709],[101.90626,32.452467],[101.906252,32.452424],[101.906247,32.452397],[101.906239,32.45235],[101.906229,32.452296],[101.906216,32.452225],[101.906171,32.451983],[101.906157,32.451905],[101.906144,32.451837],[101.906127,32.45174],[101.906107,32.451634],[101.906105,32.451621],[101.906101,32.451602],[101.9061,32.451594],[101.906082,32.451498],[101.906064,32.451245],[101.906045,32.450993],[101.906026,32.45074],[101.906008,32.450487],[101.905989,32.450234],[101.90597,32.449982],[101.905952,32.449729],[101.905933,32.449476],[101.905914,32.449223],[101.905896,32.448971],[101.905877,32.448718],[101.905868,32.448597],[101.905868,32.448595],[101.905868,32.448593],[101.905858,32.448465],[101.90584,32.448212],[101.905821,32.447959],[101.905832,32.447525],[101.905844,32.447091],[101.905855,32.446657],[101.905862,32.44638],[101.905866,32.446223],[101.905902,32.445984],[101.905937,32.445744],[101.905972,32.445505],[101.906007,32.445266],[101.906042,32.445027],[101.906078,32.444788],[101.906113,32.444549],[101.906148,32.444309],[101.906196,32.444078],[101.906243,32.443846],[101.906291,32.443615],[101.906338,32.443383],[101.906386,32.443151],[101.906433,32.44292],[101.906481,32.442688],[101.906529,32.442457],[101.90656,32.442192],[101.906591,32.441927],[101.906623,32.441663],[101.906654,32.441398],[101.906674,32.441229],[101.906686,32.441133],[101.906717,32.440869],[101.906748,32.440604],[101.90678,32.440339],[101.906784,32.440101],[101.906789,32.439862],[101.906793,32.439624],[101.906798,32.439385],[101.906803,32.439147],[101.906807,32.438908],[101.906812,32.43867],[101.906816,32.438431],[101.906821,32.438193],[101.906826,32.437954],[101.90683,32.437716],[101.906835,32.437477],[101.906799,32.437217],[101.906763,32.436957],[101.906727,32.436697],[101.906691,32.436437],[101.906655,32.436176],[101.906619,32.435916],[101.906583,32.435656],[101.906547,32.435396],[101.906502,32.435143],[101.906457,32.43489],[101.906412,32.434637],[101.906367,32.434384],[101.906322,32.434132],[101.906278,32.433879],[101.906233,32.433626],[101.906188,32.433373],[101.906155,32.43319],[101.906143,32.43312],[101.906098,32.432867],[101.906053,32.432615],[101.906008,32.432362],[101.905975,32.432087],[101.905942,32.431813],[101.905909,32.431538],[101.905876,32.431263],[101.905843,32.430989],[101.90581,32.430714],[101.905847,32.430361],[101.905884,32.430007],[101.906031,32.42959],[101.906178,32.429172],[101.906285,32.428949],[101.906392,32.428725],[101.906498,32.428501],[101.906605,32.428278],[101.906712,32.428055],[101.906712,32.428054],[101.906713,32.428052],[101.906716,32.428046],[101.906819,32.42783],[101.906945,32.427673],[101.906955,32.427661],[101.906986,32.427623],[101.90715,32.427418],[101.907315,32.427213],[101.907479,32.427009],[101.907643,32.426804],[101.907808,32.426599],[101.907972,32.426395],[101.908155,32.426209],[101.908337,32.426024],[101.90839,32.42597],[101.908403,32.425957],[101.90846,32.425899],[101.90847,32.425889],[101.90852,32.425838],[101.908702,32.425653],[101.908885,32.425467],[101.909067,32.425282],[101.90925,32.425097],[101.909432,32.424911],[101.909615,32.424726],[101.909797,32.42454],[101.90998,32.424355],[101.910162,32.42417],[101.910378,32.424023],[101.910593,32.423877],[101.910809,32.42373],[101.911024,32.423584],[101.91124,32.423437],[101.911455,32.42329],[101.911664,32.423182],[101.911873,32.423073],[101.912081,32.422965],[101.91229,32.422856],[101.912499,32.422748],[101.912707,32.422639],[101.912892,32.422532],[101.912935,32.422506],[101.912952,32.422496],[101.913026,32.422454],[101.913164,32.422373],[101.913173,32.422368],[101.913392,32.42224],[101.91362,32.422107],[101.913848,32.421974],[101.914018,32.421875],[101.914076,32.421841],[101.914385,32.421551],[101.914694,32.42126],[101.915003,32.420969],[101.915174,32.420753],[101.915344,32.420536],[101.915515,32.42032],[101.915685,32.420104],[101.91582,32.419708],[101.915824,32.419459],[101.915828,32.419209],[101.915793,32.418899],[101.915761,32.418672],[101.915619,32.418267],[101.915476,32.417861],[101.915394,32.417627],[101.915333,32.417456],[101.915191,32.417051],[101.915094,32.416787],[101.915009,32.416559],[101.914925,32.41633],[101.914841,32.416102],[101.914757,32.415873],[101.914673,32.415645],[101.914589,32.415416],[101.914505,32.415188],[101.914484,32.415132],[101.914459,32.415065],[101.914453,32.415048],[101.914421,32.41496],[101.914336,32.414731],[101.914252,32.414503],[101.914045,32.414145],[101.913838,32.413787],[101.91366,32.413574],[101.913482,32.41336],[101.913292,32.413177],[101.913102,32.412995],[101.912919,32.412649],[101.912736,32.412303],[101.912692,32.412071],[101.912648,32.411838],[101.912603,32.411606],[101.912559,32.411373],[101.912453,32.411066],[101.912346,32.410799],[101.912214,32.410532],[101.912024,32.41035],[101.911835,32.410168],[101.911637,32.41003],[101.911439,32.409891],[101.911242,32.409753],[101.911044,32.409614],[101.910846,32.409476],[101.910649,32.409337],[101.910451,32.409199],[101.910253,32.40906],[101.910056,32.408922],[101.909858,32.408783],[101.909636,32.408618],[101.909414,32.408453],[101.909192,32.408287],[101.908971,32.408122],[101.908749,32.407956],[101.908527,32.407791],[101.908305,32.407626],[101.908248,32.407583],[101.908083,32.40746],[101.907861,32.407295],[101.907691,32.407168],[101.907666,32.407149],[101.90764,32.407129],[101.907418,32.406964],[101.907196,32.406799],[101.907012,32.406649],[101.906827,32.4065],[101.906643,32.40635],[101.906459,32.406201],[101.906275,32.406051],[101.90609,32.405902],[101.905906,32.405752],[101.905722,32.405603],[101.905538,32.405453],[101.905353,32.405304],[101.905169,32.405155],[101.904985,32.405005],[101.904761,32.404896],[101.904537,32.404787],[101.904254,32.404731],[101.903971,32.404676],[101.903676,32.40463],[101.903522,32.404606],[101.903381,32.404585],[101.903252,32.404574],[101.903147,32.404565],[101.903098,32.40456],[101.902975,32.40455],[101.902816,32.404536],[101.902547,32.404553],[101.902279,32.40457],[101.902106,32.404607],[101.902013,32.404627],[101.901747,32.404685],[101.901584,32.40472],[101.901517,32.404734],[101.901481,32.404742],[101.901467,32.404745],[101.901215,32.404799],[101.901112,32.40484],[101.900913,32.40492],[101.900751,32.404985],[101.90061,32.405041],[101.900283,32.405132],[101.899955,32.405223],[101.899724,32.405259],[101.899493,32.405296],[101.899066,32.405336],[101.898639,32.405377],[101.898395,32.405393],[101.89815,32.405409],[101.897796,32.405438],[101.897442,32.405467],[101.897174,32.405504],[101.896906,32.405542],[101.896555,32.405622],[101.896204,32.405702],[101.89596,32.40576],[101.895717,32.405817],[101.895461,32.405875],[101.895206,32.405932],[101.894891,32.406002],[101.894475,32.406012],[101.894179,32.405956],[101.893907,32.40588],[101.893683,32.40575],[101.893459,32.405621],[101.893182,32.405379],[101.892964,32.405073],[101.892747,32.404767],[101.892565,32.404459],[101.89246,32.404208],[101.892354,32.403957],[101.892248,32.403705],[101.892142,32.403454],[101.892036,32.403202],[101.89193,32.402951],[101.891824,32.402699],[101.891719,32.402448],[101.891593,32.402233],[101.891467,32.402019],[101.891341,32.401804],[101.891215,32.40159],[101.89109,32.401376],[101.890964,32.401161],[101.890838,32.400947],[101.890712,32.400732],[101.890586,32.400518],[101.890461,32.400303],[101.890335,32.400089],[101.890209,32.399875],[101.890046,32.399655],[101.889883,32.399436],[101.88972,32.399217],[101.889557,32.398997],[101.889394,32.398778],[101.889231,32.398559],[101.889068,32.39834],[101.888905,32.39812],[101.888569,32.397831],[101.888233,32.397542],[101.887897,32.397253],[101.887703,32.397107],[101.887509,32.396961],[101.887314,32.396815],[101.88712,32.39667],[101.886908,32.39653],[101.886696,32.39639],[101.886435,32.396271],[101.886175,32.396152],[101.885903,32.396065],[101.885631,32.395978],[101.885368,32.395911],[101.885335,32.395902],[101.885244,32.395878],[101.885124,32.395848],[101.885086,32.395838],[101.885039,32.395826],[101.884791,32.395738],[101.884544,32.39565],[101.884221,32.395523],[101.883899,32.395396],[101.883588,32.395217],[101.883278,32.395038],[101.883141,32.394839],[101.883004,32.394641],[101.882867,32.394442],[101.88273,32.394243],[101.882614,32.394041],[101.882497,32.393839],[101.882381,32.393636],[101.882264,32.393434],[101.882148,32.393231],[101.882031,32.393029],[101.881914,32.392826],[101.881798,32.392624],[101.881681,32.392421],[101.881565,32.392219],[101.881439,32.392003],[101.881313,32.391787],[101.881188,32.391571],[101.881062,32.391355],[101.880936,32.391139],[101.880883,32.391048],[101.88081,32.390924],[101.880801,32.390908],[101.88074,32.390803],[101.880685,32.390708],[101.880559,32.390492],[101.880433,32.390276],[101.88035,32.390133],[101.880307,32.39006],[101.880182,32.389844],[101.880056,32.389628],[101.879877,32.389373],[101.879697,32.389119],[101.879517,32.38896],[101.879337,32.388802],[101.879156,32.388644],[101.878976,32.388485],[101.878796,32.388327],[101.878616,32.388169],[101.878316,32.38801],[101.87797,32.387893],[101.877674,32.387817],[101.877256,32.387745],[101.876819,32.387693],[101.876814,32.387693],[101.876771,32.387682],[101.876717,32.387668],[101.876703,32.387664],[101.876592,32.387635],[101.876371,32.387578],[101.876167,32.387479],[101.875798,32.387301],[101.875586,32.387171],[101.875375,32.387041],[101.87516,32.38687],[101.874946,32.386698],[101.874733,32.386516],[101.87452,32.386334],[101.874318,32.386142],[101.874116,32.385951],[101.873978,32.385827],[101.873919,32.385773],[101.87389,32.385748],[101.873848,32.38571],[101.873665,32.385545],[101.873337,32.385264],[101.873105,32.385161],[101.873026,32.385126],[101.873018,32.385123],[101.873018,32.385122],[101.872938,32.385087],[101.872831,32.385039],[101.872716,32.384988],[101.872456,32.38489],[101.872196,32.384793],[101.871854,32.384545],[101.871852,32.384543],[101.871849,32.384542],[101.871772,32.384486],[101.871772,32.384486],[101.871511,32.384297],[101.871169,32.384049],[101.871085,32.384],[101.870949,32.38392],[101.870897,32.38389],[101.870729,32.383791],[101.870621,32.383728],[101.870554,32.383688],[101.870509,32.383662],[101.870289,32.383533],[101.870069,32.383404],[101.869848,32.383275],[101.869628,32.383146],[101.869408,32.383017],[101.869188,32.382888],[101.868968,32.382759],[101.868748,32.38263],[101.868528,32.3825],[101.868308,32.382371],[101.868087,32.382242],[101.867867,32.382113],[101.867647,32.381984],[101.867597,32.381959],[101.867468,32.381894],[101.867443,32.381881],[101.867371,32.381846],[101.867264,32.381792],[101.867238,32.381779],[101.867033,32.381676],[101.866829,32.381573],[101.866624,32.38147],[101.866419,32.381368],[101.866215,32.381265],[101.86601,32.381162],[101.865805,32.381059],[101.865601,32.380957],[101.865367,32.3809],[101.865132,32.380843],[101.864895,32.380828],[101.864658,32.380813],[101.864422,32.380797],[101.864185,32.380782],[101.863948,32.380766],[101.863711,32.380751],[101.863416,32.380717],[101.863121,32.380661],[101.862895,32.380479],[101.862765,32.380243],[101.862635,32.380008],[101.862501,32.379638],[101.862444,32.379479],[101.862443,32.379474],[101.86242,32.379412],[101.862414,32.379393],[101.862389,32.379323],[101.86234,32.379186],[101.862336,32.379073],[101.862336,32.37907],[101.862332,32.378937],[101.862324,32.378689],[101.862316,32.37844],[101.862309,32.378192],[101.862301,32.377943],[101.862293,32.377695],[101.862285,32.377447],[101.862277,32.377198],[101.862294,32.376938],[101.862312,32.376679],[101.862329,32.376419],[101.862346,32.376159],[101.862363,32.375899],[101.862381,32.37564],[101.862398,32.37538],[101.862415,32.37512],[101.862427,32.374938],[101.862439,32.3747],[101.862451,32.374461],[101.862463,32.374223],[101.862475,32.373984],[101.862487,32.373745],[101.862493,32.373626],[101.862499,32.373507],[101.862503,32.373436],[101.862511,32.373268],[101.862524,32.37303],[101.862536,32.372791],[101.862548,32.372552],[101.862559,32.37212],[101.862565,32.371876],[101.86257,32.371687],[101.862579,32.37132],[101.862581,32.371255],[101.862592,32.370822],[101.862646,32.370603],[101.862701,32.370384],[101.862723,32.370326],[101.862783,32.370172],[101.862814,32.370091],[101.862879,32.36984],[101.862888,32.369811],[101.862937,32.36965],[101.862968,32.369548],[101.863084,32.369339],[101.863149,32.369094],[101.863215,32.368849],[101.86328,32.368603],[101.863333,32.368405],[101.863346,32.368358],[101.863373,32.368131],[101.863377,32.368101],[101.863409,32.367845],[101.863439,32.367599],[101.863497,32.367259],[101.863552,32.366935],[101.863553,32.366933],[101.863555,32.36692],[101.863613,32.36658],[101.86364,32.366294],[101.863666,32.366008],[101.863667,32.365995],[101.863623,32.365553],[101.863578,32.36511],[101.863534,32.364668],[101.863489,32.364226],[101.863466,32.364002],[101.863387,32.363576],[101.863307,32.363151],[101.863227,32.362725],[101.863148,32.3623],[101.863068,32.361874],[101.862977,32.361468],[101.862899,32.361123],[101.862827,32.360804],[101.862821,32.360779],[101.862757,32.360492],[101.862693,32.360206],[101.862693,32.35993],[101.862693,32.359654],[101.862697,32.359392],[101.862702,32.35913],[101.862702,32.358972],[101.862702,32.358683],[101.862636,32.358369],[101.862588,32.358102],[101.862626,32.357769],[101.862759,32.357455],[101.862869,32.357231],[101.862978,32.357008],[101.863035,32.356684],[101.863026,32.356427],[101.862908,32.355998],[101.862855,32.355805],[101.862848,32.355787],[101.862848,32.355786],[101.862848,32.355786],[101.862844,32.355774],[101.862771,32.355566],[101.86276,32.355533],[101.862687,32.355327],[101.862606,32.355138],[101.862606,32.355138],[101.862606,32.355138],[101.862444,32.354762],[101.862282,32.354387],[101.86222,32.354295],[101.862181,32.354238],[101.862043,32.354056],[101.861905,32.353875],[101.861866,32.353832],[101.861791,32.35375],[101.86152,32.35345],[101.861352,32.353286],[101.861184,32.353122],[101.861006,32.352969],[101.860827,32.352815],[101.860513,32.352615],[101.860335,32.352458],[101.86027,32.352244],[101.860263,32.352016],[101.860227,32.351701],[101.860162,32.351579],[101.860121,32.351503],[101.860042,32.351412],[101.859817,32.351167],[101.859593,32.350922],[101.859365,32.350659],[101.859192,32.35046],[101.859019,32.350261],[101.858847,32.350062],[101.858674,32.349863],[101.858448,32.349511],[101.858221,32.349159],[101.857995,32.348808],[101.857768,32.348456],[101.857588,32.348295],[101.857407,32.348133],[101.857226,32.347972],[101.857046,32.34781],[101.856865,32.347648],[101.856685,32.347487],[101.856367,32.347217],[101.856049,32.346948],[101.855731,32.346679],[101.8555,32.346345],[101.85527,32.346012],[101.855039,32.345679],[101.854922,32.345464],[101.854819,32.345274],[101.854805,32.345249],[101.854689,32.345034],[101.854572,32.344819],[101.854437,32.34457],[101.854326,32.344477],[101.854012,32.344242],[101.853892,32.344132],[101.853822,32.344069],[101.853777,32.344028],[101.853591,32.343746],[101.853406,32.343464],[101.853313,32.343232],[101.85322,32.343],[101.853077,32.342714],[101.852934,32.342429],[101.852791,32.342125],[101.852749,32.342036],[101.852656,32.341615],[101.852649,32.341237],[101.852642,32.340858],[101.852599,32.34068],[101.852549,32.340516],[101.852492,32.340409],[101.852406,32.340209],[101.852406,32.340002],[101.852392,32.339873],[101.852335,32.339709],[101.852381,32.339416],[101.852428,32.339124],[101.852499,32.338867],[101.852497,32.338843],[101.85247,32.338574],[101.852473,32.338228],[101.852475,32.337882],[101.852404,32.337654],[101.852379,32.337504],[101.852297,32.337083],[101.852254,32.336958],[101.852198,32.336881],[101.852198,32.33688],[101.852197,32.336879],[101.852111,32.336804],[101.851942,32.336622],[101.851785,32.336343],[101.851627,32.336063],[101.851514,32.335801],[101.851478,32.335605],[101.851556,32.335369]]]]},"properties":{"cp":[102.04239391087305,32.455224568167694],"code":"513233203","name":"查尔玛乡","level":"street","center":[102.04239391087305,32.455224568167694],"fullCode":"513233203000","fullName":"四川省阿坝藏族羌族自治州红原县查尔玛乡","acreageMu":1092920.26,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[101.921,32.5029]}},{"id":"513233204","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.485374,33.088931],[102.485341,33.088785],[102.485348,33.088537],[102.485356,33.088289],[102.485367,33.087863],[102.485377,33.087532],[102.485397,33.087205],[102.485417,33.086878],[102.485309,33.086675],[102.485202,33.086471],[102.48493,33.086183],[102.484751,33.086002],[102.484573,33.08582],[102.484395,33.085675],[102.484216,33.085529],[102.484007,33.085442],[102.483798,33.085355],[102.48338,33.085251],[102.483112,33.085246],[102.482844,33.085241],[102.482449,33.08528],[102.482155,33.085262],[102.48186,33.085245],[102.481496,33.085167],[102.481246,33.08502],[102.481032,33.08466],[102.480954,33.084446],[102.480876,33.084231],[102.480797,33.084005],[102.480719,33.083778],[102.480506,33.083457],[102.480449,33.083371],[102.480314,33.083155],[102.48018,33.08294],[102.480046,33.082712],[102.479912,33.082485],[102.479791,33.082293],[102.47967,33.082102],[102.479455,33.081718],[102.479351,33.081456],[102.479162,33.08113],[102.479138,33.080902],[102.479113,33.080675],[102.479089,33.080447],[102.479064,33.080219],[102.479039,33.079992],[102.479015,33.079764],[102.47899,33.079537],[102.478966,33.079309],[102.478941,33.079082],[102.478916,33.078854],[102.478894,33.078579],[102.478871,33.078305],[102.478849,33.07803],[102.478826,33.077756],[102.478803,33.077481],[102.478781,33.077207],[102.478758,33.076932],[102.478735,33.076658],[102.478713,33.076383],[102.47869,33.076109],[102.478667,33.075834],[102.478645,33.075559],[102.478596,33.075299],[102.478548,33.075038],[102.478502,33.074634],[102.478427,33.074325],[102.478354,33.074104],[102.478281,33.073883],[102.478208,33.073662],[102.478135,33.073441],[102.478062,33.07322],[102.477988,33.072999],[102.477907,33.07279],[102.477826,33.07258],[102.477745,33.07237],[102.477664,33.07216],[102.477582,33.071951],[102.477501,33.071741],[102.47742,33.071531],[102.477339,33.071321],[102.477257,33.071111],[102.477176,33.070902],[102.477092,33.070676],[102.477007,33.070449],[102.476923,33.070223],[102.476839,33.069997],[102.476755,33.069771],[102.47667,33.069545],[102.476586,33.069319],[102.476502,33.069093],[102.476417,33.068867],[102.476333,33.068641],[102.47625,33.068381],[102.476167,33.06812],[102.476084,33.06786],[102.476001,33.0676],[102.475918,33.06734],[102.475835,33.06708],[102.475752,33.066819],[102.475669,33.066559],[102.475586,33.066299],[102.475503,33.066039],[102.47542,33.065779],[102.475337,33.065518],[102.475254,33.065258],[102.475171,33.064998],[102.475042,33.064577],[102.474914,33.064157],[102.474785,33.063736],[102.474694,33.063427],[102.474604,33.063117],[102.474633,33.062859],[102.474662,33.0626],[102.474691,33.062341],[102.47472,33.062082],[102.474788,33.061843],[102.474856,33.061604],[102.474924,33.061364],[102.474992,33.061125],[102.47508,33.060812],[102.475292,33.060436],[102.475504,33.060061],[102.475702,33.059694],[102.475901,33.059327],[102.476099,33.05896],[102.476316,33.058571],[102.476533,33.058181],[102.476623,33.057788],[102.476713,33.057395],[102.476716,33.057121],[102.476719,33.056847],[102.476682,33.05653],[102.476644,33.056213],[102.476607,33.055896],[102.476555,33.055455],[102.476549,33.055064],[102.476543,33.054673],[102.476537,33.054282],[102.476531,33.05406],[102.476521,33.053734],[102.476511,33.053408],[102.476504,33.053084],[102.476496,33.052759],[102.476488,33.052435],[102.47642,33.052174],[102.476351,33.051913],[102.476291,33.051686],[102.476231,33.051459],[102.476115,33.051083],[102.475999,33.050706],[102.47598,33.050644],[102.475833,33.050356],[102.475686,33.050069],[102.47554,33.049781],[102.475349,33.049436],[102.475159,33.049091],[102.47512,33.048987],[102.474994,33.048655],[102.474868,33.048323],[102.474743,33.047991],[102.474637,33.047791],[102.474528,33.047586],[102.474291,33.047212],[102.474008,33.046911],[102.473725,33.046611],[102.473689,33.046536],[102.473642,33.046438],[102.473666,33.046212],[102.47366,33.045849],[102.473654,33.045486],[102.473688,33.045178],[102.473722,33.04487],[102.473749,33.044624],[102.473775,33.044255],[102.473801,33.043886],[102.473827,33.043517],[102.473828,33.043352],[102.47383,33.042991],[102.473833,33.042629],[102.473836,33.042267],[102.473838,33.041905],[102.473856,33.041537],[102.473904,33.041311],[102.474047,33.041067],[102.474172,33.040847],[102.474296,33.040626],[102.474499,33.040406],[102.474701,33.040186],[102.474826,33.039996],[102.474945,33.039764],[102.474998,33.039484],[102.475117,33.039223],[102.475177,33.039116],[102.475179,33.039109],[102.47519,33.03866],[102.475201,33.03829],[102.475211,33.03792],[102.475222,33.037549],[102.475261,33.037297],[102.475299,33.037044],[102.475338,33.036792],[102.475377,33.036539],[102.475416,33.036287],[102.475455,33.036034],[102.475493,33.035782],[102.475532,33.035529],[102.475574,33.035261],[102.475582,33.035207],[102.475637,33.03523],[102.476507,33.035744],[102.477346,33.03604],[102.478298,33.036277],[102.478923,33.036351],[102.478959,33.036352],[102.479841,33.036463],[102.480447,33.03719],[102.480949,33.037666],[102.481976,33.037842],[102.482808,33.038417],[102.483751,33.038964],[102.484244,33.03975],[102.484622,33.04072],[102.484898,33.041378],[102.485531,33.042477],[102.486396,33.043147],[102.487775,33.04392],[102.489316,33.044199],[102.490709,33.044015],[102.490944,33.043984],[102.492318,33.043639],[102.493072,33.043033],[102.494461,33.04216],[102.494835,33.040647],[102.495199,33.039536],[102.495965,33.038496],[102.497306,33.036691],[102.498087,33.035154],[102.499122,33.035051],[102.499675,33.035062],[102.500222,33.035185],[102.500546,33.035083],[102.501299,33.034557],[102.501858,33.034108],[102.502507,33.033851],[102.502766,33.033775],[102.503184,33.033756],[102.503601,33.033792],[102.504169,33.034128],[102.505439,33.034667],[102.506104,33.035005],[102.506864,33.035372],[102.507595,33.03563],[102.508559,33.035622],[102.509431,33.03545],[102.510549,33.035218],[102.511503,33.035064],[102.512043,33.035053],[102.512733,33.035197],[102.51329,33.035489],[102.513953,33.035654],[102.514969,33.036085],[102.515863,33.036276],[102.516349,33.036351],[102.517473,33.036568],[102.518386,33.036997],[102.519404,33.037342],[102.519916,33.037396],[102.522811,33.038062],[102.523696,33.038027],[102.524803,33.03817],[102.525561,33.038272],[102.526239,33.038286],[102.526871,33.038454],[102.527509,33.038449],[102.528049,33.038269],[102.528543,33.038227],[102.529272,33.037913],[102.530071,33.037407],[102.530795,33.036826],[102.531727,33.035888],[102.532038,33.03534],[102.532231,33.034928],[102.53248,33.034849],[102.532688,33.035034],[102.533093,33.035277],[102.533533,33.035438],[102.53399,33.035572],[102.534416,33.035636],[102.534951,33.035924],[102.535533,33.03631],[102.536001,33.036638],[102.537837,33.037931],[102.538575,33.038537],[102.539558,33.039192],[102.540183,33.039411],[102.540789,33.039719],[102.542123,33.040346],[102.543113,33.040937],[102.543737,33.041245],[102.544176,33.041431],[102.544879,33.041406],[102.545443,33.041338],[102.546175,33.041096],[102.54684,33.040735],[102.547299,33.040231],[102.54766,33.039864],[102.54839,33.039701],[102.549396,33.03972],[102.550049,33.039812],[102.550889,33.039908],[102.551708,33.039904],[102.553137,33.039853],[102.553888,33.039809],[102.554891,33.039927],[102.555916,33.040105],[102.556472,33.040293],[102.556985,33.040382],[102.557617,33.040375],[102.559062,33.04058],[102.559556,33.040511],[102.560478,33.040155],[102.561196,33.039597],[102.561634,33.038994],[102.561676,33.038325],[102.56179,33.037558],[102.561623,33.036826],[102.5616,33.035978],[102.561842,33.034839],[102.562602,33.033573],[102.563055,33.032418],[102.563595,33.030334],[102.563754,33.029327],[102.564152,33.027113],[102.564351,33.026233],[102.564996,33.024583],[102.565489,33.023014],[102.565268,33.022255],[102.564832,33.021152],[102.564503,33.019769],[102.564702,33.017414],[102.565032,33.016325],[102.565145,33.01585],[102.565203,33.015718],[102.565244,33.015624],[102.565393,33.015285],[102.565433,33.015195],[102.565508,33.015198],[102.565561,33.015211],[102.565608,33.015223],[102.565636,33.015245],[102.565658,33.015278],[102.565666,33.015309],[102.565667,33.01538],[102.565662,33.015432],[102.565642,33.015471],[102.565607,33.015517],[102.565605,33.01553],[102.565637,33.015558],[102.565684,33.01556],[102.565717,33.01555],[102.56577,33.01552],[102.565802,33.015493],[102.565852,33.015458],[102.565891,33.015428],[102.565952,33.015401],[102.566021,33.015384],[102.566053,33.015381],[102.566192,33.015377],[102.566269,33.015359],[102.566301,33.015328],[102.566314,33.015297],[102.566315,33.015268],[102.566298,33.01524],[102.566274,33.015213],[102.56634,33.015218],[102.566342,33.015157],[102.566316,33.015122],[102.566235,33.015069],[102.566174,33.015041],[102.56612,33.015038],[102.566059,33.015055],[102.565981,33.015083],[102.565927,33.015105],[102.565874,33.015116],[102.565848,33.015115],[102.565803,33.015099],[102.565774,33.015075],[102.56575,33.015037],[102.565722,33.014962],[102.56572,33.014955],[102.565709,33.014878],[102.565705,33.014794],[102.56569,33.014713],[102.565667,33.014665],[102.565623,33.014628],[102.565608,33.014616],[102.56554,33.014581],[102.565446,33.014556],[102.56541,33.014546],[102.56533,33.014531],[102.565257,33.014509],[102.565201,33.014488],[102.565159,33.014465],[102.565139,33.014437],[102.565127,33.014387],[102.56515,33.014316],[102.565187,33.014265],[102.56524,33.014238],[102.565273,33.014237],[102.56535,33.014261],[102.565421,33.01431],[102.565487,33.014334],[102.56553,33.014338],[102.565605,33.014317],[102.56566,33.01428],[102.565718,33.014212],[102.565756,33.014174],[102.565796,33.014128],[102.565832,33.014114],[102.565868,33.014113],[102.565929,33.014147],[102.566033,33.014201],[102.5661,33.014221],[102.566184,33.014236],[102.566269,33.01423],[102.566342,33.014224],[102.566406,33.014238],[102.566455,33.014276],[102.566501,33.01421],[102.56654,33.0142],[102.566559,33.014235],[102.566561,33.014264],[102.566558,33.014317],[102.566541,33.014371],[102.566525,33.01441],[102.566502,33.014452],[102.566472,33.014505],[102.566449,33.014539],[102.566419,33.014589],[102.566413,33.014636],[102.566427,33.014654],[102.566458,33.014667],[102.566533,33.01467],[102.566574,33.014662],[102.566625,33.014637],[102.566657,33.014613],[102.566684,33.014584],[102.56671,33.014548],[102.566742,33.014499],[102.566751,33.014475],[102.566762,33.014449],[102.566762,33.014384],[102.566753,33.014335],[102.566738,33.014279],[102.56672,33.014238],[102.566706,33.014202],[102.566684,33.014162],[102.566687,33.014128],[102.566694,33.014109],[102.56671,33.014092],[102.566746,33.014059],[102.566768,33.014035],[102.566794,33.014014],[102.566837,33.014003],[102.566886,33.014005],[102.56692,33.014019],[102.566961,33.014052],[102.566988,33.014081],[102.567028,33.014119],[102.567072,33.014156],[102.567113,33.014192],[102.567205,33.014274],[102.567256,33.014326],[102.567285,33.01437],[102.567332,33.014434],[102.567387,33.014464],[102.567442,33.014478],[102.567501,33.014482],[102.56754,33.014474],[102.567603,33.014452],[102.567646,33.014432],[102.567725,33.014424],[102.567768,33.014426],[102.567805,33.01443],[102.567845,33.01444],[102.56788,33.014448],[102.567914,33.014463],[102.567944,33.014481],[102.567966,33.014504],[102.567994,33.014572],[102.567994,33.014617],[102.567991,33.014652],[102.56796,33.014701],[102.567908,33.014749],[102.567853,33.014792],[102.567788,33.014833],[102.567713,33.014859],[102.567706,33.014862],[102.567675,33.014873],[102.567639,33.014903],[102.567637,33.014943],[102.567647,33.014967],[102.567668,33.014986],[102.567695,33.015012],[102.567728,33.015039],[102.567748,33.015072],[102.567799,33.015115],[102.567837,33.01514],[102.567889,33.015149],[102.567947,33.015145],[102.567987,33.015124],[102.568009,33.015103],[102.568033,33.015064],[102.568051,33.015022],[102.568057,33.01498],[102.56807,33.014907],[102.568073,33.01486],[102.568082,33.014828],[102.568115,33.014775],[102.568146,33.014746],[102.568178,33.014721],[102.568183,33.014718],[102.568234,33.01469],[102.568272,33.01468],[102.568333,33.01469],[102.568385,33.014721],[102.568425,33.014737],[102.568571,33.014829],[102.568597,33.014883],[102.568605,33.014951],[102.568596,33.015006],[102.568559,33.015057],[102.568512,33.015102],[102.568484,33.015122],[102.568456,33.015143],[102.568398,33.015176],[102.568353,33.015191],[102.568317,33.015215],[102.568267,33.015253],[102.568229,33.015291],[102.568249,33.015338],[102.568283,33.015382],[102.568316,33.015398],[102.56837,33.015403],[102.568408,33.015372],[102.568414,33.015368],[102.568466,33.015337],[102.568536,33.015276],[102.56859,33.015241],[102.568607,33.015225],[102.568662,33.01519],[102.568715,33.015156],[102.568759,33.015133],[102.568801,33.015106],[102.56884,33.015082],[102.568899,33.015046],[102.568917,33.015033],[102.569055,33.015019],[102.569089,33.015016],[102.569146,33.01501],[102.569426,33.014529],[102.569787,33.014311],[102.570199,33.014242],[102.57059,33.014177],[102.570725,33.014127],[102.570748,33.014119],[102.570984,33.014032],[102.571029,33.014015],[102.571149,33.013971],[102.571212,33.013973],[102.571312,33.013987],[102.571378,33.013999],[102.57148,33.014024],[102.57152,33.014066],[102.571586,33.014136],[102.571648,33.014213],[102.571679,33.014289],[102.571686,33.014315],[102.571705,33.014382],[102.571895,33.014331],[102.572006,33.014429],[102.571682,33.01491],[102.571574,33.015164],[102.571572,33.015169],[102.571586,33.01517],[102.57161,33.015172],[102.57163,33.015177],[102.571651,33.015183],[102.571701,33.015202],[102.571753,33.015256],[102.571792,33.015319],[102.571839,33.015361],[102.571897,33.015427],[102.571952,33.015495],[102.571989,33.015561],[102.571998,33.015576],[102.572005,33.015578],[102.57224,33.015632],[102.572479,33.015843],[102.57249,33.015853],[102.572602,33.015851],[102.572703,33.015863],[102.572802,33.015895],[102.572828,33.015924],[102.572855,33.015967],[102.572873,33.015994],[102.572882,33.016036],[102.572882,33.016083],[102.572857,33.016122],[102.572807,33.016178],[102.572758,33.016214],[102.572672,33.016248],[102.572706,33.016465],[102.572606,33.016875],[102.572569,33.016975],[102.572567,33.01698],[102.572514,33.017123],[102.57251,33.017135],[102.572587,33.017165],[102.572601,33.01717],[102.572818,33.017254],[102.573309,33.017151],[102.573531,33.017193],[102.573914,33.017799],[102.574333,33.018077],[102.574453,33.018156],[102.574533,33.01821],[102.574612,33.018262],[102.574703,33.018313],[102.575218,33.018598],[102.57523,33.018604],[102.575247,33.018595],[102.575282,33.018579],[102.575326,33.01858],[102.575384,33.01858],[102.57547,33.018581],[102.575537,33.018614],[102.57562,33.018684],[102.575653,33.018748],[102.575669,33.018787],[102.575929,33.018887],[102.576139,33.01934],[102.576176,33.019603],[102.576066,33.019799],[102.575989,33.019937],[102.57597,33.019953],[102.575993,33.019987],[102.57599,33.020037],[102.575967,33.020082],[102.575907,33.02015],[102.575843,33.020201],[102.575753,33.020236],[102.575708,33.020251],[102.57564,33.020246],[102.575625,33.020258],[102.575533,33.02034],[102.575489,33.020564],[102.575482,33.020602],[102.575479,33.020714],[102.575467,33.021125],[102.575115,33.021513],[102.575101,33.021529],[102.575107,33.021604],[102.575111,33.021674],[102.57511,33.021715],[102.575103,33.021787],[102.57509,33.021827],[102.575045,33.021888],[102.574983,33.021913],[102.574898,33.021918],[102.574812,33.021904],[102.574724,33.021856],[102.574624,33.021791],[102.574606,33.021779],[102.574594,33.021766],[102.57456,33.021781],[102.574404,33.021932],[102.574332,33.022001],[102.574501,33.022342],[102.574928,33.022949],[102.574919,33.023286],[102.574688,33.023618],[102.574313,33.024323],[102.574305,33.024612],[102.574305,33.024622],[102.574304,33.024659],[102.574358,33.024698],[102.574415,33.024738],[102.574522,33.024814],[102.574835,33.024745],[102.575447,33.024217],[102.575472,33.024195],[102.575488,33.024185],[102.575602,33.02411],[102.57565,33.024079],[102.57597,33.023868],[102.576169,33.023872],[102.576459,33.023878],[102.576574,33.024062],[102.576519,33.024115],[102.576576,33.024175],[102.576621,33.024138],[102.576672,33.024219],[102.576877,33.024822],[102.57682,33.025308],[102.577393,33.025468],[102.577466,33.025474],[102.577488,33.025476],[102.577502,33.025471],[102.577597,33.025435],[102.577719,33.025382],[102.577846,33.025382],[102.577993,33.025375],[102.578068,33.025354],[102.578151,33.0253],[102.578271,33.025223],[102.578381,33.025173],[102.578465,33.025182],[102.578554,33.02523],[102.578613,33.025312],[102.578625,33.025407],[102.578603,33.025482],[102.578573,33.025518],[102.578536,33.025544],[102.578459,33.025577],[102.578394,33.025597],[102.578412,33.025601],[102.578422,33.025619],[102.578624,33.025979],[102.578856,33.026539],[102.578865,33.026561],[102.578919,33.0266],[102.578967,33.026692],[102.578958,33.026736],[102.578945,33.026754],[102.578999,33.026885],[102.579209,33.027339],[102.579322,33.027438],[102.579386,33.027371],[102.579474,33.027289],[102.579553,33.027281],[102.579635,33.027288],[102.5797,33.027316],[102.579741,33.02735],[102.579766,33.027376],[102.579776,33.027395],[102.579781,33.027391],[102.579831,33.027351],[102.580229,33.027433],[102.580349,33.027715],[102.580365,33.027754],[102.580407,33.027851],[102.580409,33.027857],[102.580438,33.027924],[102.580833,33.028082],[102.58106,33.027936],[102.581295,33.027454],[102.5814,33.026857],[102.581564,33.02686],[102.581712,33.026863],[102.5818,33.026865],[102.581869,33.02692],[102.581881,33.026929],[102.581881,33.026973],[102.581879,33.027013],[102.581875,33.027071],[102.58188,33.027106],[102.581897,33.027129],[102.58193,33.027138],[102.582007,33.02714],[102.58206,33.027141],[102.582107,33.027138],[102.582137,33.027135],[102.582155,33.027137],[102.582207,33.027148],[102.582294,33.027218],[102.582492,33.027366],[102.58253,33.027407],[102.582562,33.027427],[102.582632,33.027511],[102.582682,33.027584],[102.582714,33.027629],[102.582759,33.027683],[102.582788,33.027724],[102.582816,33.027764],[102.582829,33.027774],[102.58285,33.027768],[102.582867,33.027746],[102.582872,33.027719],[102.582876,33.027658],[102.582875,33.027625],[102.582891,33.027635],[102.583036,33.0277],[102.583051,33.027706],[102.583154,33.027752],[102.583203,33.027803],[102.583413,33.028019],[102.583445,33.028507],[102.583558,33.028618],[102.58373,33.028787],[102.583777,33.028794],[102.583863,33.028828],[102.583938,33.028918],[102.584161,33.028982],[102.584225,33.029],[102.58454,33.02909],[102.58478,33.029044],[102.584898,33.029022],[102.585206,33.028996],[102.585243,33.028993],[102.585345,33.028985],[102.585759,33.028951],[102.585767,33.028951],[102.586011,33.028931],[102.586039,33.028928],[102.586204,33.028913],[102.586367,33.028897],[102.586502,33.028885],[102.586629,33.028873],[102.587086,33.02883],[102.587403,33.0288],[102.587423,33.028798],[102.58766,33.028776],[102.587814,33.028606],[102.588027,33.028371],[102.58808,33.028104],[102.588233,33.027326],[102.588196,33.027087],[102.588099,33.026455],[102.588082,33.02635],[102.587868,33.025627],[102.587867,33.025622],[102.587835,33.025516],[102.587821,33.025516],[102.587808,33.025504],[102.587795,33.025484],[102.587779,33.025436],[102.587752,33.025364],[102.587722,33.025307],[102.587693,33.025238],[102.587682,33.025154],[102.58767,33.025072],[102.587637,33.024948],[102.587601,33.024853],[102.587576,33.024778],[102.587537,33.024649],[102.587518,33.024537],[102.587511,33.024436],[102.587522,33.02426],[102.587533,33.02416],[102.587567,33.024012],[102.587602,33.023894],[102.58767,33.023781],[102.587689,33.023667],[102.587717,33.023529],[102.587717,33.023498],[102.587708,33.023479],[102.587684,33.023436],[102.587651,33.023372],[102.587611,33.0233],[102.587566,33.023207],[102.587534,33.023077],[102.587502,33.022953],[102.587477,33.022865],[102.587484,33.022815],[102.587525,33.022743],[102.587584,33.022693],[102.587663,33.022666],[102.587759,33.022624],[102.587813,33.022599],[102.587852,33.022603],[102.587872,33.022622],[102.587871,33.022651],[102.587857,33.022688],[102.587833,33.022713],[102.587836,33.022727],[102.587852,33.022736],[102.587876,33.022744],[102.587911,33.02274],[102.587944,33.02273],[102.587992,33.022703],[102.588098,33.022645],[102.588169,33.022586],[102.5882,33.022549],[102.5882,33.02253],[102.588183,33.02251],[102.588143,33.022492],[102.588106,33.022475],[102.588079,33.022449],[102.588085,33.022421],[102.5881,33.022403],[102.588144,33.022386],[102.588218,33.022382],[102.588312,33.022383],[102.588379,33.022393],[102.588426,33.022415],[102.588438,33.022402],[102.588579,33.022258],[102.58907,33.022159],[102.589152,33.022143],[102.589212,33.022163],[102.589334,33.022195],[102.589411,33.022213],[102.589576,33.022218],[102.589647,33.022218],[102.589704,33.022208],[102.589786,33.022188],[102.589907,33.022161],[102.590051,33.02212],[102.590142,33.022091],[102.590266,33.02204],[102.590511,33.021851],[102.591144,33.021708],[102.591161,33.021702],[102.591167,33.021699],[102.591902,33.021417],[102.592401,33.021225],[102.593002,33.020995],[102.59303,33.020981],[102.5936,33.020705],[102.593784,33.020616],[102.594183,33.020423],[102.594985,33.020034],[102.595286,33.019805],[102.595949,33.019299],[102.596136,33.019157],[102.596736,33.018017],[102.596761,33.017969],[102.596793,33.017892],[102.596987,33.017422],[102.597047,33.017276],[102.59709,33.01717],[102.597085,33.017167],[102.597084,33.017153],[102.597096,33.017099],[102.597126,33.01699],[102.597157,33.016801],[102.597174,33.016722],[102.597173,33.016653],[102.597178,33.016596],[102.597201,33.016546],[102.597226,33.016476],[102.597221,33.016398],[102.597217,33.016297],[102.597218,33.016187],[102.597169,33.015997],[102.597145,33.015832],[102.597124,33.015689],[102.597101,33.015493],[102.597057,33.015335],[102.597028,33.015083],[102.596998,33.014977],[102.596958,33.014857],[102.59689,33.014527],[102.596855,33.014254],[102.5968,33.013921],[102.596793,33.01388],[102.59678,33.013734],[102.596735,33.013516],[102.596723,33.013455],[102.596676,33.01334],[102.596637,33.01322],[102.596618,33.013132],[102.596619,33.012985],[102.5966,33.012861],[102.596583,33.012755],[102.596582,33.012722],[102.596587,33.01271],[102.596602,33.012707],[102.596501,33.012145],[102.596487,33.012067],[102.596486,33.012062],[102.596409,33.011956],[102.596377,33.011896],[102.596351,33.011828],[102.596329,33.011745],[102.596306,33.01165],[102.596279,33.011572],[102.596241,33.01145],[102.596222,33.011359],[102.596203,33.01129],[102.596194,33.0112],[102.596176,33.011106],[102.596159,33.011058],[102.596128,33.011012],[102.596117,33.010984],[102.596114,33.010931],[102.596111,33.010826],[102.596103,33.010737],[102.596067,33.010644],[102.596038,33.010551],[102.59602,33.010378],[102.596016,33.010342],[102.595964,33.009979],[102.595842,33.009421],[102.59581,33.00918],[102.595808,33.009091],[102.595796,33.008998],[102.595795,33.008862],[102.595803,33.00879],[102.595822,33.008722],[102.595851,33.008616],[102.595873,33.00855],[102.595979,33.008387],[102.596019,33.008347],[102.596058,33.00829],[102.596133,33.008224],[102.596165,33.008181],[102.59621,33.008151],[102.596247,33.008125],[102.596271,33.008089],[102.596302,33.00806],[102.596341,33.008054],[102.596361,33.008056],[102.596374,33.008063],[102.596502,33.007872],[102.597201,33.007266],[102.597291,33.007188],[102.597632,33.006829],[102.597681,33.006776],[102.597774,33.006678],[102.597988,33.006453],[102.598268,33.006157],[102.598568,33.005621],[102.598841,33.005135],[102.599175,33.004538],[102.599514,33.003933],[102.599699,33.003498],[102.599772,33.003328],[102.599868,33.003102],[102.600175,33.002382],[102.600288,33.002117],[102.600337,33.002],[102.600242,33.001836],[102.600198,33.001761],[102.599949,33.00133],[102.599487,33.000535],[102.599261,32.999641],[102.599114,32.999063],[102.599064,32.998867],[102.599032,32.998739],[102.599097,32.998698],[102.598982,32.998588],[102.598888,32.998445],[102.598769,32.998313],[102.597865,32.996847],[102.597802,32.996745],[102.597653,32.996432],[102.597535,32.996184],[102.59753,32.996173],[102.597496,32.996102],[102.597438,32.99598],[102.597539,32.995619],[102.597571,32.995504],[102.597736,32.995108],[102.597751,32.994957],[102.597837,32.994828],[102.597933,32.994676],[102.597978,32.994587],[102.59798,32.994457],[102.597985,32.994385],[102.597985,32.994376],[102.598043,32.994268],[102.598142,32.994094],[102.598145,32.994089],[102.598198,32.994014],[102.5982,32.99401],[102.598241,32.993894],[102.598252,32.99382],[102.598252,32.993758],[102.59824,32.993684],[102.598225,32.993622],[102.598197,32.993556],[102.598165,32.993482],[102.598135,32.993447],[102.598473,32.99306],[102.598643,32.992707],[102.598882,32.99221],[102.599116,32.991723],[102.599161,32.991631],[102.59971,32.991318],[102.599707,32.991307],[102.599715,32.991277],[102.599762,32.991106],[102.5998,32.991002],[102.599868,32.990857],[102.599935,32.990717],[102.600071,32.990565],[102.600144,32.990448],[102.600212,32.990406],[102.600289,32.990359],[102.600339,32.990322],[102.600399,32.990296],[102.600477,32.990284],[102.600506,32.990336],[102.600635,32.990232],[102.601333,32.989671],[102.60139,32.989583],[102.60146,32.989478],[102.601489,32.989433],[102.601541,32.989354],[102.601927,32.988769],[102.602002,32.988656],[102.602137,32.988388],[102.602371,32.987928],[102.602399,32.987871],[102.602545,32.987584],[102.602738,32.986789],[102.60284,32.986373],[102.602852,32.986324],[102.602978,32.985807],[102.60364,32.985062],[102.603682,32.98503],[102.603843,32.984905],[102.604081,32.984722],[102.604093,32.984712],[102.604134,32.984681],[102.604552,32.984358],[102.60496,32.984044],[102.605213,32.983848],[102.605268,32.983813],[102.606012,32.983334],[102.606602,32.982955],[102.607282,32.982517],[102.607396,32.982444],[102.6075,32.982377],[102.607528,32.982322],[102.607575,32.982231],[102.607727,32.981937],[102.607807,32.981784],[102.607811,32.981776],[102.607824,32.98175],[102.607817,32.981747],[102.607814,32.981738],[102.607814,32.981721],[102.607797,32.981674],[102.607784,32.981641],[102.607752,32.981596],[102.607727,32.981564],[102.607714,32.981534],[102.607699,32.981491],[102.607691,32.981449],[102.607691,32.981409],[102.607697,32.981342],[102.60771,32.981293],[102.607782,32.981204],[102.607824,32.98115],[102.60785,32.981107],[102.607863,32.981065],[102.607859,32.981006],[102.607853,32.980936],[102.607853,32.980869],[102.607853,32.980823],[102.607876,32.980759],[102.6079,32.980714],[102.607973,32.980628],[102.608028,32.980565],[102.608067,32.980495],[102.608097,32.980417],[102.608111,32.980371],[102.608148,32.980306],[102.608179,32.980261],[102.608216,32.980212],[102.608255,32.98014],[102.608276,32.980093],[102.608318,32.980065],[102.608326,32.980026],[102.60836,32.979838],[102.608452,32.979338],[102.608634,32.978352],[102.608636,32.978341],[102.608683,32.978282],[102.609001,32.977883],[102.609661,32.977056],[102.609699,32.977009],[102.610059,32.976693],[102.610081,32.976673],[102.610133,32.976627],[102.611094,32.975783],[102.611145,32.975738],[102.61265,32.974684],[102.612817,32.973998],[102.612939,32.9735],[102.612956,32.972851],[102.612603,32.972121],[102.612486,32.971878],[102.612348,32.971595],[102.612087,32.971478],[102.611207,32.971086],[102.611063,32.971029],[102.609539,32.970427],[102.609448,32.970391],[102.609047,32.970233],[102.609021,32.970216],[102.608589,32.969944],[102.608164,32.969675],[102.60807,32.969515],[102.608028,32.969443],[102.607989,32.969376],[102.60784,32.969122],[102.607427,32.968416],[102.607465,32.968105],[102.60747,32.968069],[102.607479,32.967994],[102.607494,32.967873],[102.607592,32.967067],[102.608788,32.965575],[102.609314,32.96527],[102.609357,32.965245],[102.609366,32.965239],[102.609626,32.965088],[102.609643,32.965079],[102.609676,32.96506],[102.609724,32.965032],[102.609961,32.964894],[102.610591,32.964906],[102.610987,32.964914],[102.611173,32.964917],[102.611051,32.964849],[102.611023,32.964837],[102.611,32.964814],[102.611003,32.96479],[102.611042,32.964775],[102.611113,32.964775],[102.611178,32.964775],[102.611226,32.964791],[102.611283,32.964827],[102.611354,32.964876],[102.611411,32.964929],[102.611433,32.964949],[102.611508,32.964992],[102.611579,32.965007],[102.611763,32.964986],[102.611856,32.964984],[102.611934,32.964987],[102.61198,32.964988],[102.612054,32.964968],[102.612068,32.964969],[102.612279,32.964982],[102.612445,32.964992],[102.612526,32.964997],[102.613554,32.964913],[102.614134,32.964866],[102.6142,32.964794],[102.614205,32.96479],[102.614255,32.964736],[102.614498,32.964475],[102.614554,32.964459],[102.61458,32.964406],[102.614576,32.96435],[102.614576,32.964278],[102.614606,32.964203],[102.614633,32.964126],[102.614661,32.964044],[102.614694,32.963962],[102.614731,32.963871],[102.614782,32.963811],[102.614795,32.96374],[102.614801,32.963688],[102.614816,32.963624],[102.614839,32.963528],[102.614901,32.963397],[102.614914,32.963326],[102.614924,32.963263],[102.61495,32.963164],[102.614992,32.963075],[102.614993,32.963056],[102.614996,32.963009],[102.615004,32.962926],[102.615008,32.96285],[102.615013,32.962764],[102.615004,32.962685],[102.61501,32.962636],[102.615045,32.962578],[102.615087,32.962527],[102.615101,32.96249],[102.615068,32.962424],[102.61506,32.962364],[102.615063,32.962228],[102.615074,32.962184],[102.61514,32.962163],[102.615175,32.962145],[102.615148,32.962077],[102.615143,32.962032],[102.615145,32.961999],[102.615167,32.961966],[102.615228,32.961926],[102.615258,32.961906],[102.615264,32.961873],[102.61569,32.962006],[102.615704,32.962011],[102.615916,32.962077],[102.615949,32.962087],[102.61794,32.962709],[102.618418,32.962804],[102.618494,32.962819],[102.619296,32.962979],[102.619415,32.963002],[102.619534,32.963026],[102.619545,32.963028],[102.619898,32.963098],[102.621186,32.963584],[102.621599,32.963739],[102.621695,32.963776],[102.621943,32.963869],[102.62215,32.963947],[102.622206,32.963968],[102.622228,32.963976],[102.622259,32.963988],[102.622854,32.964212],[102.624804,32.965004],[102.625129,32.96511],[102.62515,32.965116],[102.625202,32.965133],[102.625251,32.965149],[102.625517,32.965235],[102.625633,32.965272],[102.627837,32.965465],[102.628738,32.965587],[102.629563,32.965699],[102.631407,32.965986],[102.633611,32.965652],[102.635503,32.965123],[102.637224,32.964289],[102.638671,32.963675],[102.640033,32.962872],[102.641353,32.961992],[102.642505,32.960695],[102.643612,32.959435],[102.644205,32.958994],[102.644971,32.958744],[102.645697,32.958343],[102.646026,32.957747],[102.647238,32.957543],[102.649124,32.95724],[102.650025,32.956955],[102.651058,32.956786],[102.652834,32.957234],[102.653898,32.957593],[102.655903,32.95782],[102.657777,32.957968],[102.658295,32.958001],[102.65869,32.958026],[102.659473,32.958075],[102.661343,32.958374],[102.66317,32.958597],[102.664637,32.958888],[102.665795,32.95906],[102.66674,32.958814],[102.667381,32.958529],[102.668662,32.960426],[102.669856,32.962223],[102.670758,32.962785],[102.672389,32.964408],[102.673007,32.965511],[102.673966,32.965984],[102.676001,32.966568],[102.677882,32.966876],[102.678521,32.967068],[102.678685,32.967118],[102.680498,32.96797],[102.681946,32.968316],[102.68301,32.968881],[102.683574,32.970029],[102.683979,32.971037],[102.684403,32.973411],[102.685128,32.974561],[102.685795,32.975893],[102.686783,32.977321],[102.687721,32.978612],[102.688071,32.979665],[102.689113,32.981094],[102.690873,32.9819],[102.692481,32.982339],[102.693452,32.982357],[102.694762,32.98179],[102.695747,32.981262],[102.695866,32.981138],[102.695949,32.981122],[102.69608,32.981094],[102.696233,32.98102],[102.696396,32.98088],[102.696599,32.98065],[102.696966,32.980321],[102.697073,32.980172],[102.697083,32.98012],[102.697123,32.98001],[102.697098,32.979899],[102.697029,32.979737],[102.697309,32.97929],[102.697858,32.978936],[102.698725,32.978816],[102.699548,32.978648],[102.699627,32.978666],[102.699777,32.978697],[102.700037,32.978715],[102.700187,32.978722],[102.700314,32.978727],[102.700434,32.978724],[102.700581,32.978702],[102.70066,32.97867],[102.700754,32.978623],[102.700955,32.978536],[102.701082,32.978495],[102.701226,32.978445],[102.701421,32.978385],[102.701515,32.978352],[102.701665,32.978326],[102.701746,32.97832],[102.701882,32.978319],[102.701913,32.978323],[102.702012,32.978316],[102.703087,32.978242],[102.703451,32.978201],[102.703688,32.978167],[102.703748,32.978161],[102.704193,32.97812],[102.704448,32.978073],[102.704826,32.978018],[102.705015,32.978002],[102.705063,32.977983],[102.705176,32.977944],[102.705261,32.977908],[102.705345,32.977862],[102.705402,32.977816],[102.705455,32.977756],[102.705514,32.977692],[102.705592,32.977591],[102.705654,32.977498],[102.705701,32.977438],[102.705777,32.977349],[102.705929,32.977236],[102.706028,32.977181],[102.706146,32.977142],[102.706271,32.977108],[102.706395,32.977078],[102.706595,32.977039],[102.706776,32.976986],[102.706875,32.97694],[102.706993,32.976875],[102.7071,32.976786],[102.707246,32.976649],[102.707364,32.976534],[102.707446,32.976455],[102.707496,32.97638],[102.707563,32.976304],[102.707645,32.97626],[102.707797,32.976183],[102.707851,32.97613],[102.70789,32.976049],[102.70794,32.975956],[102.708021,32.975874],[102.708083,32.975847],[102.708153,32.975752],[102.708215,32.975644],[102.708262,32.97557],[102.708321,32.975493],[102.708383,32.975431],[102.708473,32.975335],[102.708599,32.975219],[102.708675,32.975162],[102.708742,32.975111],[102.708855,32.975044],[102.708968,32.975],[102.709075,32.974973],[102.7092,32.974968],[102.709358,32.974967],[102.709545,32.975005],[102.70956,32.975008],[102.709755,32.97507],[102.709911,32.975114],[102.710064,32.975178],[102.710224,32.975261],[102.710373,32.97535],[102.710505,32.975432],[102.710686,32.975545],[102.71072,32.975526],[102.7109,32.975471],[102.711006,32.975453],[102.711225,32.975434],[102.711476,32.975414],[102.711653,32.975396],[102.711836,32.975377],[102.71196,32.975352],[102.71213,32.975309],[102.712468,32.975191],[102.712683,32.975071],[102.712852,32.97495],[102.713024,32.97483],[102.713334,32.974629],[102.713465,32.974586],[102.713638,32.974546],[102.713804,32.974495],[102.714033,32.974407],[102.714198,32.974334],[102.714286,32.974262],[102.714346,32.974178],[102.714388,32.974089],[102.714387,32.974044],[102.714425,32.973969],[102.714527,32.973873],[102.714594,32.973861],[102.714697,32.973869],[102.714828,32.973904],[102.714963,32.973957],[102.715048,32.974001],[102.715319,32.974173],[102.715432,32.974247],[102.715685,32.974424],[102.715777,32.974477],[102.715951,32.974551],[102.716065,32.974607],[102.716239,32.974666],[102.716452,32.974739],[102.716675,32.974797],[102.716814,32.974844],[102.71697,32.974912],[102.717108,32.974968],[102.717218,32.975006],[102.717499,32.975141],[102.717655,32.975236],[102.717801,32.975354],[102.717933,32.975476],[102.718022,32.975586],[102.71819,32.975776],[102.71824,32.975859],[102.718309,32.975966],[102.718401,32.976016],[102.718468,32.976039],[102.718649,32.976068],[102.718776,32.976068],[102.718918,32.976058],[102.719013,32.976066],[102.719176,32.976113],[102.719279,32.97616],[102.719386,32.976219],[102.719532,32.976287],[102.719667,32.976334],[102.719759,32.976366],[102.719823,32.976401],[102.719858,32.976449],[102.719887,32.976517],[102.719902,32.976604],[102.719917,32.976684],[102.719931,32.976726],[102.719953,32.97675],[102.720045,32.976809],[102.72012,32.976841],[102.720233,32.976873],[102.720347,32.976896],[102.720489,32.976955],[102.720574,32.977035],[102.720646,32.977139],[102.72075,32.977303],[102.7208,32.977377],[102.720875,32.977466],[102.720936,32.977522],[102.721003,32.977576],[102.721106,32.977641],[102.721164,32.977697],[102.721189,32.97775],[102.721189,32.977813],[102.721188,32.977826],[102.721282,32.977901],[102.721369,32.977982],[102.721563,32.978086],[102.721599,32.978114],[102.721593,32.978136],[102.721591,32.978159],[102.721591,32.97819],[102.721607,32.978197],[102.721657,32.978226],[102.721664,32.97826],[102.72168,32.978298],[102.721687,32.978327],[102.721706,32.97834],[102.72176,32.97834],[102.721801,32.978332],[102.721843,32.978325],[102.721848,32.978324],[102.721873,32.978343],[102.721873,32.978358],[102.721871,32.978381],[102.721851,32.978402],[102.721845,32.978421],[102.721874,32.978432],[102.721924,32.978432],[102.721936,32.97843],[102.721995,32.978499],[102.722054,32.978557],[102.722056,32.97858],[102.722057,32.978607],[102.72205,32.978643],[102.722039,32.978682],[102.722023,32.978703],[102.722008,32.978724],[102.72199,32.978733],[102.72196,32.978739],[102.721949,32.978745],[102.721965,32.978768],[102.721986,32.978785],[102.722008,32.978806],[102.722027,32.978829],[102.722028,32.978843],[102.722032,32.978871],[102.722016,32.97888],[102.721986,32.97888],[102.721974,32.978862],[102.721961,32.978842],[102.721941,32.978816],[102.721918,32.978793],[102.72189,32.978782],[102.721823,32.97878],[102.721771,32.978788],[102.721721,32.978794],[102.721712,32.978813],[102.721737,32.978828],[102.72176,32.978861],[102.721773,32.97887],[102.721776,32.978873],[102.721713,32.978899],[102.721774,32.978931],[102.721718,32.978952],[102.7216,32.978993],[102.7216,32.978999],[102.721602,32.979054],[102.721838,32.980377],[102.721906,32.981925],[102.722161,32.982521],[102.723982,32.983055],[102.726878,32.98379],[102.72754,32.983958],[102.727843,32.984035],[102.729457,32.984246],[102.730261,32.984443],[102.730849,32.984681],[102.730877,32.98523],[102.73089,32.985484],[102.730894,32.985565],[102.730902,32.985731],[102.730921,32.986092],[102.73105,32.987368],[102.731337,32.988351],[102.731398,32.988557],[102.73255,32.989943],[102.73399,32.990606],[102.734674,32.991301],[102.735613,32.992591],[102.736182,32.993557],[102.737294,32.994396],[102.739037,32.995883],[102.740258,32.996724],[102.741226,32.996832],[102.741881,32.996571],[102.741919,32.995071],[102.742054,32.994027],[102.74248,32.993057],[102.742569,32.992854],[102.743522,32.991461],[102.743771,32.990192],[102.744401,32.988747],[102.744713,32.98707],[102.74496,32.985846],[102.74509,32.984984],[102.745489,32.984173],[102.745726,32.983313],[102.745721,32.981402],[102.74575,32.980266],[102.746421,32.979322],[102.747383,32.977566],[102.748527,32.976023],[102.748573,32.97596],[102.748677,32.97582],[102.748602,32.975817],[102.748514,32.975799],[102.748427,32.975771],[102.748302,32.97573],[102.74822,32.975692],[102.748206,32.975637],[102.748201,32.975555],[102.748229,32.975442],[102.748291,32.975306],[102.748423,32.975139],[102.748536,32.975063],[102.748577,32.975041],[102.74874,32.974867],[102.748886,32.974742],[102.749074,32.974619],[102.749236,32.974514],[102.749238,32.974513],[102.749338,32.974456],[102.749484,32.974377],[102.749566,32.974292],[102.74959,32.974253],[102.749638,32.974219],[102.74975,32.9742],[102.749773,32.974205],[102.749867,32.974226],[102.749954,32.974109],[102.752386,32.971833],[102.753006,32.97119],[102.753331,32.970853],[102.754014,32.970145],[102.754325,32.969821],[102.755924,32.968485],[102.756612,32.967712],[102.756631,32.967691],[102.75665,32.96767],[102.756662,32.967656],[102.756709,32.967604],[102.756723,32.967588],[102.756737,32.967572],[102.756973,32.967307],[102.756987,32.967291],[102.757178,32.967077],[102.757175,32.967062],[102.757137,32.966989],[102.7571,32.966894],[102.7571,32.966864],[102.757109,32.966842],[102.757133,32.966819],[102.757146,32.966812],[102.757174,32.966812],[102.757209,32.966816],[102.757316,32.96684],[102.757377,32.966849],[102.757429,32.966861],[102.757473,32.966848],[102.757499,32.966829],[102.757519,32.966804],[102.757526,32.966782],[102.757538,32.966744],[102.757537,32.966673],[102.757706,32.966483],[102.757757,32.966426],[102.758814,32.965171],[102.759517,32.964523],[102.759649,32.9644],[102.759974,32.9641],[102.760814,32.962887],[102.76097,32.962704],[102.76101,32.962656],[102.762149,32.961319],[102.764134,32.959673],[102.764298,32.959538],[102.76462,32.959262],[102.766063,32.958023],[102.767549,32.956867],[102.768272,32.955942],[102.768497,32.955655],[102.768538,32.955606],[102.768894,32.955187],[102.769094,32.954952],[102.769219,32.954804],[102.769561,32.954415],[102.769858,32.954077],[102.770164,32.953729],[102.770371,32.953438],[102.770611,32.9531],[102.77083,32.953415],[102.771028,32.953699],[102.77153,32.953991],[102.771908,32.95421],[102.772304,32.954447],[102.77269,32.954674],[102.773048,32.954872],[102.773346,32.955001],[102.773607,32.955113],[102.773923,32.955249],[102.774347,32.955432],[102.77481,32.955632],[102.775093,32.955812],[102.775548,32.956102],[102.775941,32.956354],[102.77635,32.956614],[102.776161,32.958036],[102.776151,32.958112],[102.776143,32.958432],[102.776118,32.959431],[102.776114,32.959593],[102.776077,32.961067],[102.776039,32.962568],[102.776066,32.96366],[102.776523,32.964805],[102.77741,32.966004],[102.77878,32.967302],[102.779723,32.968456],[102.781472,32.969715],[102.786111,32.971981],[102.787012,32.972634],[102.788022,32.973243],[102.789142,32.973764],[102.789884,32.974323],[102.791195,32.975847],[102.792179,32.977502],[102.792915,32.978288],[102.794242,32.979176],[102.795519,32.979927],[102.796524,32.980763],[102.798027,32.981063],[102.799009,32.98067],[102.80048,32.980105],[102.801797,32.979218],[102.801875,32.979166],[102.802073,32.979035],[102.803059,32.978376],[102.804862,32.977498],[102.805465,32.977145],[102.806382,32.977161],[102.807907,32.976597],[102.809487,32.975987],[102.810955,32.975558],[102.811809,32.975937],[102.813195,32.976644],[102.814265,32.977026],[102.815819,32.977463],[102.816384,32.977446],[102.817384,32.976424],[102.817708,32.976191],[102.818462,32.975606],[102.819401,32.974725],[102.820127,32.974064],[102.820311,32.973953],[102.820849,32.973626],[102.821336,32.973013],[102.821793,32.972472],[102.822168,32.971681],[102.822274,32.971483],[102.822335,32.971369],[102.822974,32.970174],[102.823218,32.969968],[102.823477,32.96975],[102.823699,32.969563],[102.824126,32.96954],[102.82438,32.969525],[102.826164,32.970354],[102.827426,32.97075],[102.828182,32.971287],[102.829415,32.971683],[102.830507,32.971776],[102.831339,32.971641],[102.832757,32.971716],[102.833971,32.971687],[102.835834,32.971694],[102.837553,32.971574],[102.839267,32.971268],[102.839335,32.971256],[102.84064,32.971129],[102.841619,32.971021],[102.84238,32.971334],[102.84263,32.97147],[102.842919,32.97144],[102.843118,32.971444],[102.843218,32.971431],[102.843486,32.971518],[102.843563,32.97156],[102.84357,32.971563],[102.843797,32.971686],[102.843972,32.971822],[102.844076,32.971876],[102.844129,32.971926],[102.84419,32.971994],[102.844191,32.972072],[102.844142,32.972126],[102.844075,32.972171],[102.843972,32.972247],[102.843996,32.972277],[102.844927,32.973424],[102.845412,32.975118],[102.84538,32.976404],[102.845782,32.977209],[102.845784,32.977216],[102.84612,32.978163],[102.846225,32.978459],[102.846324,32.978653],[102.846332,32.978669],[102.846525,32.979047],[102.846553,32.979101],[102.846727,32.979443],[102.846785,32.980114],[102.846813,32.980434],[102.846845,32.980817],[102.846856,32.980936],[102.846892,32.981354],[102.847113,32.983087],[102.847091,32.983208],[102.847085,32.983243],[102.847078,32.983278],[102.847073,32.983306],[102.847006,32.983679],[102.847003,32.983697],[102.846999,32.983722],[102.846965,32.983908],[102.84693,32.984104],[102.846533,32.985295],[102.846467,32.985599],[102.846456,32.985653],[102.846456,32.985653],[102.846356,32.986117],[102.846309,32.986335],[102.846295,32.9864],[102.846271,32.986698],[102.846121,32.988511],[102.846126,32.98858],[102.84622,32.988564],[102.846298,32.988564],[102.846337,32.988587],[102.84637,32.988697],[102.846336,32.988793],[102.84629,32.988838],[102.846149,32.988913],[102.846226,32.989992],[102.846212,32.990035],[102.846145,32.990243],[102.84577,32.991403],[102.845761,32.991448],[102.845653,32.991957],[102.845557,32.992407],[102.845532,32.992523],[102.84578,32.993888],[102.846594,32.995025],[102.848012,32.998625],[102.84811,32.998776],[102.848335,32.999122],[102.848353,32.99915],[102.848753,32.999765],[102.848992,33.000135],[102.849273,33.000567],[102.849408,33.000739],[102.84943,33.000767],[102.849431,33.000768],[102.849522,33.000883],[102.849565,33.000939],[102.849953,33.001413],[102.849954,33.001414],[102.84996,33.001421],[102.850149,33.001653],[102.850544,33.003383],[102.850866,33.003953],[102.850895,33.004014],[102.851009,33.004252],[102.851248,33.00475],[102.851266,33.004823],[102.851285,33.004902],[102.851583,33.006139],[102.851562,33.007013],[102.851312,33.00763],[102.850754,33.008552],[102.850632,33.008782],[102.850449,33.008855],[102.850304,33.008986],[102.850136,33.009268],[102.850107,33.009517],[102.850117,33.009651],[102.850162,33.009757],[102.84989,33.01102],[102.849655,33.012427],[102.849572,33.013075],[102.849761,33.013586],[102.851089,33.014291],[102.85133,33.014245],[102.852178,33.014483],[102.852586,33.014663],[102.853221,33.01522],[102.853395,33.015513],[102.85453,33.016079],[102.85455,33.016089],[102.854623,33.016126],[102.855511,33.016434],[102.855534,33.016442],[102.855541,33.016445],[102.855544,33.016446],[102.855579,33.016458],[102.855598,33.016465],[102.856308,33.016712],[102.856349,33.016726],[102.857779,33.017224],[102.858539,33.017689],[102.858594,33.018169],[102.858102,33.01912],[102.857836,33.019781],[102.857759,33.01997],[102.857639,33.02027],[102.85701,33.021331],[102.856625,33.022002],[102.856544,33.022593],[102.85659,33.023469],[102.857227,33.024806],[102.857501,33.025968],[102.857282,33.026698],[102.856808,33.02827],[102.856445,33.02945],[102.856091,33.030234],[102.855469,33.030985],[102.854791,33.03134],[102.854443,33.031842],[102.854085,33.032796],[102.853801,33.034173],[102.85374,33.034468],[102.853592,33.035186],[102.853084,33.036786],[102.852846,33.038278],[102.852891,33.039182],[102.852986,33.04082],[102.852059,33.044501],[102.851659,33.045792],[102.851163,33.046885],[102.85111,33.04701],[102.851068,33.04711],[102.850947,33.047394],[102.850701,33.047977],[102.850368,33.049242],[102.850289,33.049748],[102.849892,33.050927],[102.849238,33.051621],[102.848508,33.052709],[102.848225,33.053325],[102.847498,33.054272],[102.846876,33.055023],[102.846806,33.056518],[102.846591,33.057107],[102.846445,33.057584],[102.845688,33.058389],[102.845335,33.059145],[102.845546,33.060108],[102.84563,33.060759],[102.84601,33.061697],[102.846066,33.062149],[102.84569,33.062453],[102.845547,33.062818],[102.844961,33.063485],[102.843901,33.064313],[102.843883,33.065075],[102.844117,33.066462],[102.844119,33.066488],[102.844189,33.06762],[102.844198,33.067669],[102.844589,33.069865],[102.844711,33.07062],[102.844725,33.070707],[102.84485,33.071477],[102.845118,33.072038],[102.845204,33.072041],[102.845242,33.072058],[102.845263,33.072102],[102.845273,33.072178],[102.845272,33.072264],[102.845259,33.072336],[102.845459,33.073577],[102.845469,33.073643],[102.8455,33.073836],[102.845496,33.073923],[102.845548,33.073897],[102.845582,33.073888],[102.845607,33.073897],[102.845605,33.073935],[102.845592,33.073981],[102.845563,33.07405],[102.845532,33.074119],[102.845519,33.074188],[102.84552,33.074258],[102.845527,33.074306],[102.845541,33.074363],[102.845541,33.074403],[102.845535,33.074447],[102.845517,33.07448],[102.845469,33.074509],[102.845455,33.074811],[102.845218,33.075529],[102.845265,33.075541],[102.845276,33.075575],[102.84528,33.075629],[102.845258,33.075685],[102.845243,33.075728],[102.845203,33.075757],[102.845141,33.075762],[102.84501,33.076158],[102.845079,33.076199],[102.845103,33.076236],[102.845115,33.076287],[102.845117,33.076336],[102.845099,33.076369],[102.845065,33.076391],[102.845031,33.0764],[102.844994,33.076401],[102.844935,33.07639],[102.844671,33.077231],[102.84467,33.077303],[102.844669,33.077341],[102.844646,33.078265],[102.844645,33.078323],[102.844641,33.07835],[102.844578,33.07883],[102.844569,33.078895],[102.844506,33.079376],[102.84443,33.079385],[102.844382,33.079401],[102.844495,33.079459],[102.844487,33.079513],[102.844508,33.079591],[102.84451,33.079602],[102.844512,33.07961],[102.844514,33.079618],[102.844559,33.079789],[102.844655,33.080159],[102.84525,33.080499],[102.845257,33.080503],[102.845298,33.080522],[102.845361,33.080552],[102.845363,33.080553],[102.845381,33.080562],[102.845398,33.080569],[102.845445,33.080591],[102.846283,33.080984],[102.846558,33.081086],[102.847221,33.081334],[102.847443,33.08131],[102.847586,33.081323],[102.847683,33.081317],[102.847819,33.0813],[102.847929,33.081285],[102.848028,33.081272],[102.84815,33.081248],[102.848238,33.081223],[102.848321,33.081192],[102.84839,33.081165],[102.84849,33.081112],[102.848577,33.081023],[102.84862,33.080975],[102.848658,33.080933],[102.848697,33.080876],[102.848697,33.080876],[102.848701,33.08087],[102.848731,33.080818],[102.848758,33.080799],[102.848817,33.080776],[102.848885,33.080757],[102.848931,33.080737],[102.848963,33.080715],[102.848969,33.080701],[102.848998,33.080643],[102.849001,33.080629],[102.849112,33.080743],[102.849713,33.080503],[102.850058,33.08164],[102.850294,33.083945],[102.8503,33.084349],[102.850301,33.084383],[102.850301,33.0844],[102.850318,33.085526],[102.850086,33.086506],[102.850374,33.089233],[102.850422,33.09071],[102.850403,33.09149],[102.850402,33.091519],[102.850378,33.092483],[102.850522,33.092517],[102.851355,33.092713],[102.851419,33.092728],[102.851453,33.092736],[102.851526,33.092753],[102.851535,33.092755],[102.852391,33.092957],[102.852889,33.093255],[102.852894,33.093258],[102.854324,33.094114],[102.855045,33.094495],[102.856554,33.095223],[102.857046,33.095461],[102.858194,33.096306],[102.858509,33.09655],[102.85889,33.096845],[102.85994,33.097442],[102.861071,33.098129],[102.861065,33.098389],[102.861061,33.098533],[102.861061,33.098539],[102.86106,33.098556],[102.861044,33.098582],[102.861033,33.098598],[102.861023,33.098613],[102.86101,33.098642],[102.861004,33.098666],[102.860991,33.098698],[102.860981,33.098735],[102.860968,33.098759],[102.86095,33.098794],[102.86093,33.098823],[102.860904,33.098841],[102.860862,33.09888],[102.860836,33.098903],[102.860807,33.098916],[102.860786,33.098915],[102.860755,33.098913],[102.860741,33.098919],[102.860737,33.098931],[102.860733,33.098949],[102.860725,33.098969],[102.860716,33.099011],[102.860713,33.099037],[102.860705,33.099086],[102.86071,33.099107],[102.860719,33.099122],[102.860743,33.099141],[102.860767,33.099153],[102.860783,33.099167],[102.8608,33.099188],[102.860808,33.099205],[102.860823,33.099223],[102.86055,33.099531],[102.860332,33.099777],[102.86032,33.099766],[102.860306,33.099764],[102.860286,33.099765],[102.860274,33.09978],[102.860267,33.099809],[102.860262,33.099833],[102.860259,33.099867],[102.860109,33.100093],[102.859586,33.100879],[102.859505,33.101633],[102.85946,33.102616],[102.859614,33.104024],[102.85943,33.104706],[102.859011,33.105138],[102.859009,33.105141],[102.85894,33.105212],[102.858917,33.105196],[102.85889,33.105181],[102.858874,33.105183],[102.858854,33.105195],[102.858841,33.105217],[102.858842,33.10523],[102.858861,33.105255],[102.858881,33.105272],[102.858927,33.105335],[102.858942,33.105392],[102.858947,33.105411],[102.858932,33.105501],[102.85888,33.105546],[102.858816,33.10557],[102.858744,33.10554],[102.858651,33.105511],[102.858625,33.105504],[102.858593,33.1055],[102.858585,33.105513],[102.858585,33.105536],[102.858591,33.105555],[102.858601,33.105574],[102.858535,33.105655],[102.858533,33.105658],[102.858459,33.10575],[102.8581,33.106194],[102.858056,33.106573],[102.858054,33.106595],[102.858049,33.106638],[102.858048,33.10665],[102.858042,33.1067],[102.857995,33.107105],[102.85789,33.107543],[102.85791,33.107566],[102.857915,33.107591],[102.857909,33.107607],[102.857891,33.107625],[102.857869,33.107631],[102.857842,33.107648],[102.857822,33.10766],[102.857799,33.107671],[102.857769,33.10769],[102.857747,33.107706],[102.857732,33.107722],[102.857725,33.107741],[102.857732,33.107759],[102.857748,33.107772],[102.857774,33.107783],[102.857804,33.10779],[102.85783,33.107792],[102.85779,33.107866],[102.857773,33.107899],[102.857133,33.109093],[102.857054,33.109278],[102.857044,33.109303],[102.857035,33.109324],[102.856712,33.110087],[102.856575,33.110577],[102.856583,33.111086],[102.856485,33.111682],[102.855896,33.112743],[102.855313,33.113541],[102.85473,33.114357],[102.854244,33.115437],[102.854168,33.116016],[102.854051,33.11654],[102.854206,33.117035],[102.854426,33.117408],[102.854543,33.117761],[102.854455,33.117953],[102.854298,33.118248],[102.854264,33.11824],[102.854234,33.11824],[102.854211,33.118248],[102.854176,33.118258],[102.854148,33.11827],[102.854131,33.118289],[102.854114,33.118314],[102.854114,33.118362],[102.854129,33.118395],[102.854151,33.11842],[102.854175,33.118441],[102.854193,33.118461],[102.854211,33.118491],[102.854222,33.118521],[102.854223,33.118562],[102.854217,33.118592],[102.854213,33.118627],[102.854211,33.118663],[102.854225,33.118689],[102.854252,33.118707],[102.854291,33.11872],[102.854306,33.118726],[102.854362,33.118723],[102.854394,33.118731],[102.85441,33.118759],[102.854413,33.118787],[102.854399,33.118796],[102.854376,33.118803],[102.854335,33.118801],[102.854301,33.118794],[102.854286,33.118788],[102.854248,33.118772],[102.854212,33.118761],[102.854139,33.118735],[102.854094,33.118716],[102.854077,33.118712],[102.854031,33.118709],[102.853997,33.118714],[102.853972,33.118723],[102.853954,33.118751],[102.853947,33.118778],[102.853949,33.118823],[102.853966,33.118863],[102.854038,33.118965],[102.854095,33.119045],[102.854166,33.119131],[102.854181,33.11914],[102.854178,33.11916],[102.854174,33.119177],[102.85412,33.119686],[102.853982,33.12021],[102.853571,33.120801],[102.85348,33.121958],[102.853504,33.122696],[102.853509,33.123364],[102.853622,33.123875],[102.85372,33.124966],[102.853662,33.125633],[102.853441,33.126173],[102.852825,33.127445],[102.852286,33.128138],[102.851337,33.129387],[102.850987,33.130066],[102.85087,33.130573],[102.850819,33.130941],[102.850642,33.131377],[102.850197,33.132493],[102.8502,33.133214],[102.850457,33.133798],[102.851046,33.134493],[102.8511,33.134863],[102.851124,33.135206],[102.851131,33.135302],[102.851089,33.135465],[102.851015,33.135757],[102.851047,33.136144],[102.851189,33.136322],[102.851521,33.136416],[102.851627,33.136446],[102.851671,33.136459],[102.851688,33.136473],[102.851702,33.136484],[102.851723,33.136495],[102.851751,33.136504],[102.851779,33.136511],[102.851798,33.136513],[102.851827,33.136512],[102.851832,33.136504],[102.851847,33.13649],[102.851868,33.136476],[102.851891,33.136467],[102.851923,33.136459],[102.851946,33.136454],[102.851979,33.136456],[102.852017,33.136465],[102.852053,33.136475],[102.852095,33.136494],[102.852112,33.136522],[102.852121,33.136544],[102.852123,33.136568],[102.852104,33.136603],[102.85209,33.136639],[102.852091,33.136659],[102.852091,33.136678],[102.852095,33.136698],[102.852105,33.136728],[102.852118,33.136748],[102.852128,33.136758],[102.852173,33.136778],[102.852215,33.136781],[102.852248,33.136776],[102.852266,33.13679],[102.852469,33.136941],[102.852832,33.137457],[102.852861,33.138121],[102.852869,33.138295],[102.852872,33.138371],[102.852986,33.138727],[102.853008,33.138794],[102.853026,33.138802],[102.853035,33.138805],[102.853088,33.138824],[102.853089,33.138839],[102.853089,33.13888],[102.853092,33.138913],[102.853098,33.138939],[102.853107,33.138956],[102.853122,33.138961],[102.853139,33.138962],[102.85316,33.138958],[102.853177,33.13895],[102.853205,33.138929],[102.85322,33.138914],[102.853244,33.138881],[102.853256,33.138865],[102.853286,33.138848],[102.853316,33.138835],[102.853345,33.138832],[102.853376,33.138832],[102.853393,33.138841],[102.853413,33.13886],[102.853423,33.138881],[102.853436,33.13895],[102.853567,33.138998],[102.85381,33.139045],[102.853848,33.139052],[102.853854,33.139064],[102.853864,33.139078],[102.853873,33.139094],[102.853881,33.139114],[102.853877,33.139125],[102.853863,33.139138],[102.853841,33.139155],[102.853816,33.139177],[102.853795,33.139206],[102.853791,33.139229],[102.853786,33.139245],[102.853798,33.139281],[102.853832,33.139319],[102.853866,33.139336],[102.853909,33.139338],[102.853982,33.139336],[102.854048,33.139305],[102.854106,33.139261],[102.854139,33.139216],[102.854173,33.139158],[102.854186,33.139134],[102.854293,33.139168],[102.854451,33.13954],[102.854528,33.139805],[102.854537,33.139898],[102.854561,33.140174],[102.85473,33.140365],[102.854846,33.140495],[102.854948,33.140517],[102.854987,33.140525],[102.854982,33.140539],[102.854952,33.140618],[102.854951,33.140664],[102.854965,33.140707],[102.854985,33.140758],[102.855005,33.140816],[102.855021,33.140868],[102.855043,33.140907],[102.855063,33.140926],[102.855073,33.140935],[102.855143,33.140953],[102.855172,33.140954],[102.855249,33.140936],[102.855349,33.1409],[102.855441,33.140877],[102.855493,33.140839],[102.855528,33.140789],[102.855553,33.14073],[102.85556,33.140705],[102.855567,33.14069],[102.855716,33.140756],[102.855855,33.14104],[102.855825,33.141443],[102.855628,33.141791],[102.855242,33.142224],[102.854334,33.142629],[102.853763,33.142953],[102.853168,33.143365],[102.852716,33.143919],[102.852429,33.144564],[102.852192,33.144876],[102.852083,33.145032],[102.85227,33.145088],[102.852482,33.144951],[102.852932,33.144777],[102.852965,33.144764],[102.852951,33.144732],[102.852939,33.144708],[102.852936,33.144686],[102.852938,33.144657],[102.852957,33.144616],[102.852969,33.144585],[102.852982,33.144554],[102.852993,33.144536],[102.853022,33.144513],[102.853061,33.1445],[102.853092,33.144486],[102.853135,33.144481],[102.853134,33.144491],[102.853139,33.144507],[102.853148,33.144523],[102.853164,33.144545],[102.853181,33.144557],[102.853198,33.144572],[102.853213,33.144591],[102.853239,33.144635],[102.853263,33.144665],[102.85331,33.144793],[102.853336,33.144851],[102.853364,33.144872],[102.853389,33.144883],[102.85342,33.144891],[102.853441,33.144889],[102.853486,33.14488],[102.85354,33.144859],[102.85365,33.144798],[102.853749,33.144732],[102.853756,33.144743],[102.853817,33.144838],[102.853821,33.144845],[102.853837,33.14487],[102.853755,33.144926],[102.8537,33.145038],[102.853699,33.145148],[102.853781,33.145297],[102.853896,33.145411],[102.854034,33.145519],[102.854226,33.145579],[102.85439,33.145581],[102.85455,33.145567],[102.854776,33.145569],[102.854947,33.145547],[102.855225,33.145487],[102.855509,33.145482],[102.855613,33.145539],[102.855598,33.145652],[102.85554,33.145764],[102.855516,33.145842],[102.855599,33.145876],[102.855789,33.145868],[102.855974,33.145804],[102.856089,33.14567],[102.856094,33.145585],[102.856045,33.145471],[102.856066,33.145388],[102.85616,33.145378],[102.856239,33.145446],[102.856245,33.145579],[102.856248,33.145822],[102.856272,33.145942],[102.856332,33.146023],[102.856461,33.146098],[102.856477,33.146163],[102.856424,33.146239],[102.856377,33.146316],[102.856421,33.146351],[102.856472,33.146434],[102.856384,33.146497],[102.856284,33.146505],[102.856168,33.146517],[102.856006,33.146612],[102.855852,33.146782],[102.855717,33.14691],[102.855579,33.146957],[102.855498,33.146889],[102.855453,33.146737],[102.855495,33.146601],[102.855659,33.146507],[102.855919,33.14642],[102.855979,33.146311],[102.855956,33.146215],[102.855822,33.146085],[102.855653,33.146024],[102.855534,33.146069],[102.85545,33.146149],[102.855352,33.146178],[102.855179,33.146183],[102.85511,33.146201],[102.855055,33.146318],[102.855086,33.14641],[102.855192,33.146522],[102.855236,33.146616],[102.855235,33.146732],[102.855157,33.146821],[102.855105,33.146836],[102.854999,33.146813],[102.854734,33.146718],[102.854548,33.146725],[102.854436,33.146795],[102.854388,33.146909],[102.854392,33.147019],[102.854387,33.147135],[102.854312,33.147169],[102.854224,33.14718],[102.854104,33.147179],[102.854015,33.14711],[102.853843,33.146878],[102.853679,33.146759],[102.853561,33.146715],[102.853444,33.146772],[102.853351,33.146871],[102.853303,33.147027],[102.853313,33.147122],[102.8534,33.147209],[102.853387,33.147215],[102.853364,33.147242],[102.853354,33.147254],[102.853194,33.14744],[102.853204,33.147897],[102.8534,33.148427],[102.853415,33.148458],[102.854155,33.149986],[102.85451,33.150835],[102.854685,33.151383],[102.854651,33.151927],[102.854557,33.152364],[102.854841,33.152703],[102.855174,33.152744],[102.855307,33.152592],[102.855372,33.152518],[102.855379,33.15251],[102.855508,33.152364],[102.85544,33.152273],[102.85541,33.152176],[102.855457,33.152109],[102.855547,33.152032],[102.855608,33.152005],[102.855643,33.151981],[102.855684,33.151956],[102.855704,33.151944],[102.855746,33.151933],[102.855789,33.151913],[102.855806,33.151899],[102.855822,33.151871],[102.855829,33.151844],[102.85583,33.151806],[102.855824,33.151769],[102.855803,33.15173],[102.855774,33.151695],[102.855752,33.151676],[102.855729,33.151658],[102.85571,33.151645],[102.855697,33.151634],[102.855689,33.151627],[102.855693,33.151609],[102.855704,33.151558],[102.855902,33.15114],[102.856594,33.151029],[102.857314,33.150602],[102.857804,33.150347],[102.857815,33.150341],[102.857839,33.150329],[102.857872,33.150312],[102.857882,33.150306],[102.858096,33.150194],[102.858822,33.1504],[102.85898,33.150789],[102.85901,33.151264],[102.859011,33.151537],[102.859011,33.151654],[102.859011,33.15167],[102.859012,33.151914],[102.859012,33.152037],[102.859004,33.152152],[102.858998,33.152237],[102.858995,33.152278],[102.858981,33.152475],[102.859028,33.152578],[102.859159,33.152865],[102.859383,33.153097],[102.859653,33.153154],[102.859765,33.153089],[102.859773,33.153084],[102.859809,33.153063],[102.859868,33.153076],[102.859935,33.153071],[102.860054,33.153038],[102.860215,33.152977],[102.860474,33.152937],[102.860837,33.152894],[102.860979,33.15291],[102.861046,33.153017],[102.861085,33.15315],[102.861123,33.153199],[102.861209,33.153191],[102.861275,33.15311],[102.86129,33.152994],[102.861229,33.152841],[102.861199,33.152716],[102.861222,33.152602],[102.861298,33.152558],[102.861424,33.152514],[102.861549,33.152506],[102.861616,33.152473],[102.861647,33.152404],[102.861624,33.152334],[102.861546,33.152268],[102.861504,33.152214],[102.861509,33.152158],[102.861555,33.152114],[102.861664,33.152065],[102.861823,33.152065],[102.861971,33.15208],[102.862039,33.152125],[102.862069,33.152217],[102.862069,33.152279],[102.862075,33.152367],[102.862058,33.152421],[102.862004,33.152495],[102.861962,33.152606],[102.862011,33.152698],[102.862113,33.152775],[102.862352,33.15288],[102.862458,33.15295],[102.862465,33.153008],[102.862453,33.153064],[102.862355,33.153086],[102.862212,33.153072],[102.862068,33.153041],[102.861989,33.153035],[102.861933,33.15307],[102.861884,33.153142],[102.861932,33.153235],[102.862139,33.153353],[102.862346,33.153449],[102.862383,33.153511],[102.862355,33.153554],[102.862262,33.153572],[102.862172,33.153568],[102.862053,33.153518],[102.861934,33.15344],[102.861797,33.153295],[102.861669,33.153154],[102.861592,33.153088],[102.861501,33.153072],[102.861445,33.153084],[102.861412,33.153129],[102.861378,33.153225],[102.86138,33.153301],[102.861445,33.153399],[102.861568,33.153538],[102.861669,33.153586],[102.861786,33.153597],[102.861951,33.153617],[102.862159,33.153744],[102.862241,33.153789],[102.862326,33.153777],[102.862478,33.153719],[102.862541,33.153721],[102.862582,33.153802],[102.86254,33.153853],[102.86244,33.153904],[102.862327,33.153945],[102.86223,33.153974],[102.8622,33.154043],[102.862199,33.154105],[102.862288,33.154155],[102.862377,33.154192],[102.862501,33.154205],[102.862604,33.154185],[102.862698,33.154113],[102.862897,33.153876],[102.86303,33.153675],[102.863146,33.153478],[102.863233,33.153429],[102.863339,33.153423],[102.863418,33.153405],[102.863483,33.153358],[102.863523,33.153372],[102.863529,33.153375],[102.863801,33.153472],[102.863919,33.153772],[102.864053,33.154249],[102.864187,33.15476],[102.864531,33.155241],[102.864896,33.155651],[102.865472,33.156047],[102.86569,33.156508],[102.865764,33.156895],[102.865664,33.157596],[102.86563,33.158123],[102.865555,33.158631],[102.865422,33.158975],[102.865406,33.159015],[102.865324,33.159033],[102.865248,33.159128],[102.865281,33.159241],[102.865596,33.159537],[102.865897,33.159707],[102.865913,33.159812],[102.865844,33.159867],[102.865668,33.15994],[102.865293,33.159982],[102.865059,33.159868],[102.864926,33.159835],[102.8648,33.159867],[102.864647,33.159967],[102.864519,33.159978],[102.864448,33.159918],[102.864468,33.159805],[102.864648,33.159691],[102.864819,33.159546],[102.86477,33.159426],[102.864538,33.159352],[102.864366,33.159369],[102.864263,33.159523],[102.864195,33.159734],[102.864172,33.159927],[102.864097,33.15993],[102.864087,33.15993],[102.864074,33.159931],[102.863895,33.159937],[102.863574,33.160248],[102.863502,33.160633],[102.863574,33.161108],[102.863879,33.161447],[102.864355,33.161631],[102.864754,33.161533],[102.864783,33.161509],[102.864873,33.161516],[102.864999,33.161521],[102.86525,33.161519],[102.865401,33.161506],[102.865589,33.161469],[102.865705,33.161424],[102.865759,33.16138],[102.865898,33.161269],[102.865943,33.161156],[102.865944,33.161058],[102.866143,33.161082],[102.866454,33.161227],[102.866535,33.161265],[102.86663,33.16167],[102.866684,33.162022],[102.866571,33.16213],[102.866565,33.162137],[102.866534,33.162126],[102.866468,33.162123],[102.866373,33.162138],[102.866243,33.162176],[102.866144,33.162241],[102.866104,33.162299],[102.866091,33.162355],[102.86609,33.162408],[102.866102,33.162461],[102.866124,33.162507],[102.866115,33.162514],[102.865747,33.162779],[102.865361,33.163177],[102.865602,33.163567],[102.866019,33.163627],[102.866049,33.163623],[102.866067,33.16362],[102.866087,33.163638],[102.866129,33.163664],[102.866189,33.163679],[102.866274,33.163688],[102.866401,33.163689],[102.86647,33.163684],[102.866604,33.163657],[102.866747,33.163615],[102.866805,33.163586],[102.866848,33.163563],[102.867022,33.163591],[102.86706,33.16375],[102.866885,33.164063],[102.866586,33.164357],[102.865868,33.164661],[102.865665,33.164893],[102.865616,33.16495],[102.86546,33.165128],[102.865702,33.165501],[102.866131,33.165877],[102.866544,33.166939],[102.86676,33.167373],[102.866764,33.167381],[102.866766,33.167386],[102.866786,33.167427],[102.866659,33.167582],[102.866645,33.167692],[102.866774,33.167739],[102.867033,33.167719],[102.867305,33.167618],[102.867519,33.167525],[102.86762,33.167553],[102.86763,33.167738],[102.8675,33.167968],[102.867306,33.168085],[102.86713,33.168122],[102.866879,33.16811],[102.866426,33.167984],[102.866066,33.167791],[102.865703,33.16752],[102.865508,33.167464],[102.865339,33.167433],[102.864892,33.167447],[102.864819,33.167533],[102.864747,33.167748],[102.864756,33.167881],[102.864866,33.168042],[102.864779,33.168146],[102.864555,33.168273],[102.864278,33.168436],[102.864056,33.168472],[102.863676,33.168258],[102.863466,33.168173],[102.863342,33.168191],[102.86317,33.168344],[102.86302,33.168427],[102.862941,33.168382],[102.862874,33.168211],[102.862836,33.167979],[102.862764,33.167736],[102.86265,33.167623],[102.862477,33.167608],[102.862307,33.167643],[102.862227,33.167727],[102.862176,33.167832],[102.862188,33.167935],[102.862212,33.168096],[102.862176,33.168216],[102.862051,33.168323],[102.861926,33.168373],[102.861776,33.168376],[102.861677,33.168331],[102.861593,33.168154],[102.861512,33.168096],[102.861444,33.168095],[102.861402,33.168229],[102.861505,33.168555],[102.861583,33.168773],[102.861749,33.168787],[102.862067,33.168776],[102.862206,33.168813],[102.862234,33.168919],[102.862153,33.169042],[102.861936,33.169123],[102.861687,33.169168],[102.861351,33.169146],[102.861059,33.16906],[102.860881,33.168954],[102.860573,33.16873],[102.860453,33.168635],[102.860316,33.168625],[102.860218,33.168672],[102.860066,33.168801],[102.859907,33.168838],[102.859743,33.168882],[102.859713,33.168954],[102.859809,33.169103],[102.860098,33.169344],[102.860249,33.169469],[102.860213,33.169551],[102.860084,33.169589],[102.859929,33.169577],[102.859826,33.169508],[102.859616,33.169344],[102.859416,33.169167],[102.859409,33.169194],[102.859404,33.169211],[102.8594,33.169228],[102.859343,33.169437],[102.859239,33.169561],[102.859056,33.169544],[102.858712,33.169257],[102.858524,33.168762],[102.858248,33.16842],[102.857959,33.167952],[102.857931,33.167917],[102.857922,33.167907],[102.857972,33.167881],[102.858029,33.167835],[102.858095,33.167748],[102.858135,33.167654],[102.858139,33.16759],[102.85813,33.167542],[102.858114,33.167501],[102.858093,33.167467],[102.858071,33.167444],[102.858038,33.16743],[102.857942,33.167426],[102.857857,33.167432],[102.857825,33.16744],[102.857799,33.167465],[102.857777,33.16751],[102.857736,33.167605],[102.857718,33.167656],[102.857711,33.167647],[102.857643,33.167564],[102.857122,33.166926],[102.8571,33.166922],[102.857076,33.166912],[102.857051,33.166896],[102.857039,33.166879],[102.85703,33.166857],[102.857034,33.166819],[102.857039,33.166796],[102.85706,33.16675],[102.857104,33.166699],[102.857175,33.166641],[102.857276,33.166588],[102.857307,33.166574],[102.857309,33.166554],[102.857302,33.166535],[102.857291,33.166525],[102.857284,33.166519],[102.857252,33.166501],[102.857208,33.166477],[102.857132,33.16644],[102.85696,33.166411],[102.856906,33.166414],[102.856868,33.166425],[102.856835,33.166424],[102.85679,33.166425],[102.856746,33.166441],[102.856711,33.166475],[102.856688,33.166519],[102.856692,33.166568],[102.856691,33.166602],[102.856673,33.166599],[102.856625,33.166589],[102.8566,33.166584],[102.85634,33.166533],[102.855953,33.166653],[102.85588,33.166919],[102.855957,33.167187],[102.856167,33.167472],[102.856597,33.167662],[102.856908,33.167892],[102.856943,33.168003],[102.856966,33.168075],[102.856987,33.168142],[102.856926,33.16813],[102.856884,33.168128],[102.856872,33.168127],[102.856856,33.168134],[102.856843,33.168161],[102.85684,33.168189],[102.856841,33.168213],[102.85685,33.168257],[102.85686,33.168311],[102.856863,33.168345],[102.856859,33.168364],[102.856843,33.168379],[102.85681,33.168398],[102.85676,33.168403],[102.856693,33.168403],[102.856622,33.168396],[102.856574,33.168388],[102.856517,33.168351],[102.856489,33.168322],[102.856458,33.168259],[102.856444,33.168215],[102.856441,33.168165],[102.856449,33.168129],[102.856521,33.167951],[102.856551,33.167918],[102.856582,33.167874],[102.856595,33.167834],[102.856603,33.167797],[102.856603,33.167773],[102.856599,33.167758],[102.856592,33.167748],[102.856569,33.167743],[102.856545,33.167745],[102.8565,33.16775],[102.856354,33.167807],[102.856333,33.167814],[102.856278,33.167848],[102.856262,33.167865],[102.856256,33.167881],[102.856258,33.167899],[102.856292,33.167954],[102.856306,33.167983],[102.856312,33.168014],[102.856313,33.168053],[102.856313,33.168071],[102.856309,33.168124],[102.85632,33.16818],[102.856335,33.168224],[102.856349,33.168261],[102.856368,33.1683],[102.856373,33.16831],[102.856379,33.168347],[102.856378,33.16838],[102.856371,33.168405],[102.856354,33.168429],[102.856326,33.168455],[102.856297,33.168464],[102.856263,33.168472],[102.856219,33.168475],[102.85618,33.168471],[102.856149,33.168464],[102.856094,33.168422],[102.856034,33.168371],[102.856021,33.168364],[102.856004,33.168361],[102.855992,33.168367],[102.855983,33.168388],[102.855949,33.168487],[102.85587,33.168433],[102.855857,33.168446],[102.855838,33.168458],[102.855817,33.168462],[102.855788,33.168459],[102.855756,33.168447],[102.855734,33.168435],[102.85572,33.168431],[102.855609,33.168429],[102.855538,33.16843],[102.855463,33.168429],[102.855406,33.168438],[102.855371,33.168453],[102.855337,33.168482],[102.85532,33.16852],[102.855319,33.168555],[102.855329,33.168594],[102.855358,33.168637],[102.855403,33.168671],[102.855457,33.168681],[102.855518,33.168681],[102.855547,33.168681],[102.855583,33.168693],[102.855594,33.168696],[102.855595,33.168758],[102.855513,33.168811],[102.855466,33.168844],[102.855409,33.168881],[102.855308,33.16893],[102.855245,33.168964],[102.855212,33.168993],[102.855192,33.169022],[102.855186,33.169059],[102.855195,33.169088],[102.85521,33.169108],[102.855252,33.169131],[102.855296,33.169159],[102.855341,33.169185],[102.855382,33.169193],[102.855413,33.16919],[102.855477,33.169174],[102.855521,33.16917],[102.855528,33.169169],[102.855675,33.169172],[102.855712,33.169172],[102.855764,33.169166],[102.85581,33.169145],[102.855842,33.169141],[102.855865,33.169169],[102.855874,33.169204],[102.85589,33.169255],[102.855918,33.169305],[102.855948,33.16934],[102.85598,33.169407],[102.855999,33.169492],[102.856027,33.169536],[102.856061,33.169569],[102.856104,33.169579],[102.856156,33.169578],[102.856212,33.16957],[102.856246,33.16956],[102.856274,33.169541],[102.856326,33.169505],[102.856363,33.169483],[102.856448,33.169426],[102.856501,33.169407],[102.856552,33.169407],[102.856612,33.169411],[102.856653,33.16942],[102.856692,33.169455],[102.856706,33.169484],[102.856704,33.169532],[102.856683,33.169562],[102.856641,33.169596],[102.856597,33.169639],[102.856585,33.169674],[102.856589,33.169718],[102.856601,33.169763],[102.856625,33.169799],[102.856671,33.169839],[102.856709,33.169865],[102.856788,33.169907],[102.856839,33.16992],[102.856891,33.169935],[102.856928,33.169946],[102.856944,33.169959],[102.856947,33.169976],[102.856942,33.169997],[102.856916,33.170026],[102.856879,33.170054],[102.856835,33.170071],[102.856783,33.170071],[102.856735,33.170068],[102.856697,33.17006],[102.85666,33.170041],[102.856613,33.170009],[102.856572,33.169987],[102.85653,33.169983],[102.856442,33.169986],[102.856364,33.170004],[102.856315,33.170021],[102.85626,33.170055],[102.856233,33.170104],[102.856207,33.170157],[102.856186,33.17017],[102.856143,33.170184],[102.856097,33.170204],[102.856064,33.170227],[102.856049,33.170249],[102.85605,33.170283],[102.856063,33.170315],[102.85609,33.170345],[102.856108,33.17036],[102.856173,33.170398],[102.856287,33.17043],[102.856386,33.170435],[102.856585,33.170469],[102.856712,33.170487],[102.856807,33.170497],[102.856898,33.17051],[102.85694,33.170544],[102.856957,33.170575],[102.856962,33.170616],[102.856962,33.170674],[102.856957,33.170714],[102.856938,33.170765],[102.856924,33.170825],[102.856924,33.170884],[102.856935,33.170937],[102.856946,33.170997],[102.856957,33.17105],[102.85694,33.171077],[102.856903,33.171114],[102.856845,33.171171],[102.856805,33.171211],[102.856777,33.171246],[102.856779,33.171275],[102.856786,33.171303],[102.856801,33.171337],[102.856807,33.171369],[102.856807,33.171396],[102.85679,33.171408],[102.856761,33.171403],[102.856675,33.171325],[102.856601,33.171244],[102.856562,33.171184],[102.856514,33.17112],[102.856492,33.171103],[102.856459,33.171087],[102.85643,33.17108],[102.856393,33.17108],[102.856363,33.171088],[102.856339,33.171101],[102.856314,33.171125],[102.856312,33.171128],[102.856289,33.171179],[102.85628,33.171261],[102.856287,33.171378],[102.85631,33.171476],[102.85633,33.171511],[102.856336,33.171525],[102.856337,33.171558],[102.856331,33.171578],[102.856317,33.171582],[102.856267,33.171576],[102.85629,33.17162],[102.856245,33.171608],[102.85606,33.171533],[102.856043,33.171431],[102.856113,33.171284],[102.856257,33.170989],[102.856186,33.170805],[102.856081,33.170778],[102.855947,33.17082],[102.855806,33.170955],[102.855686,33.171148],[102.855636,33.171369],[102.855642,33.171499],[102.855575,33.171539],[102.855532,33.171497],[102.855523,33.171488],[102.855469,33.171435],[102.855461,33.171429],[102.855157,33.171219],[102.855041,33.171202],[102.855005,33.171286],[102.854901,33.171467],[102.854511,33.171713],[102.854437,33.171779],[102.854426,33.171789],[102.85433,33.171874],[102.854049,33.172126],[102.853644,33.17233],[102.852718,33.172623],[102.85213,33.172768],[102.852044,33.172905],[102.852058,33.172935],[102.852073,33.172976],[102.852082,33.173006],[102.852099,33.173051],[102.85214,33.173095],[102.852192,33.173125],[102.852237,33.173137],[102.852301,33.173148],[102.852331,33.173199],[102.852582,33.173393],[102.852959,33.173695],[102.853418,33.174068],[102.853463,33.174094],[102.85351,33.174122],[102.853906,33.173709],[102.854238,33.173342],[102.854302,33.173219],[102.854332,33.173127],[102.85435,33.172652],[102.854404,33.172652],[102.854494,33.172654],[102.854534,33.17279],[102.854684,33.172877],[102.855221,33.172888],[102.855663,33.172954],[102.856086,33.173109],[102.856217,33.17329],[102.856137,33.173504],[102.855868,33.173689],[102.855719,33.173823],[102.855707,33.17396],[102.855776,33.174117],[102.85594,33.174207],[102.856179,33.174188],[102.856328,33.173994],[102.856494,33.173635],[102.856714,33.173269],[102.857016,33.173076],[102.857299,33.173132],[102.857395,33.173369],[102.857242,33.173623],[102.856968,33.173815],[102.856708,33.174051],[102.856567,33.174424],[102.856441,33.174547],[102.856024,33.174698],[102.855619,33.174788],[102.855425,33.17492],[102.855369,33.175146],[102.855541,33.175322],[102.856057,33.175644],[102.856167,33.175862],[102.856038,33.176036],[102.855606,33.176157],[102.855556,33.176287],[102.855665,33.176531],[102.855851,33.176542],[102.856289,33.176468],[102.856598,33.176491],[102.856723,33.176825],[102.85676,33.177042],[102.856698,33.177297],[102.856483,33.177428],[102.856151,33.177578],[102.855763,33.177666],[102.855164,33.177819],[102.854894,33.177926],[102.854849,33.178117],[102.854903,33.178352],[102.855138,33.178474],[102.855364,33.178674],[102.855804,33.179088],[102.856238,33.17942],[102.856454,33.179801],[102.856415,33.179975],[102.85608,33.18014],[102.855702,33.180375],[102.855445,33.180412],[102.855288,33.180313],[102.855175,33.180115],[102.8552,33.179943],[102.855286,33.179729],[102.855208,33.179613],[102.855038,33.179555],[102.854861,33.17962],[102.854819,33.179859],[102.854888,33.180189],[102.854971,33.180526],[102.854965,33.180722],[102.85484,33.180846],[102.854603,33.180874],[102.854372,33.180787],[102.854121,33.18066],[102.854027,33.180679],[102.853948,33.180836],[102.853887,33.181026],[102.853915,33.181135],[102.854056,33.181274],[102.854435,33.181477],[102.854627,33.181643],[102.854615,33.181885],[102.854597,33.182196],[102.854584,33.182508],[102.854372,33.182789],[102.85431,33.183057],[102.854236,33.183283],[102.854177,33.183334],[102.854064,33.183327],[102.853893,33.183215],[102.853636,33.182961],[102.853336,33.182695],[102.853154,33.182295],[102.853024,33.181977],[102.852848,33.181963],[102.852663,33.182093],[102.852549,33.182296],[102.852552,33.182487],[102.852691,33.18277],[102.852761,33.183031],[102.852804,33.18326],[102.852919,33.183342],[102.85319,33.183439],[102.853239,33.183504],[102.853136,33.183586],[102.852772,33.18371],[102.852448,33.183722],[102.85214,33.183616],[102.852051,33.18333],[102.851944,33.182979],[102.851841,33.182918],[102.851651,33.183053],[102.851108,33.18347],[102.850898,33.183715],[102.850819,33.183976],[102.851029,33.184095],[102.851538,33.184096],[102.852272,33.184126],[102.85259,33.184497],[102.852927,33.185096],[102.853149,33.185151],[102.853271,33.185035],[102.853386,33.184747],[102.853548,33.184514],[102.853971,33.184332],[102.854266,33.184372],[102.854544,33.184654],[102.854868,33.18493],[102.855164,33.185104],[102.85541,33.185052],[102.855977,33.184947],[102.856161,33.185002],[102.856193,33.185223],[102.856055,33.18546],[102.855861,33.185676],[102.855846,33.185837],[102.856065,33.185865],[102.856291,33.185584],[102.856502,33.185369],[102.856712,33.185359],[102.856835,33.185578],[102.856954,33.186002],[102.85706,33.186716],[102.857127,33.186833],[102.857288,33.186878],[102.857428,33.186812],[102.857578,33.186476],[102.857712,33.186129],[102.857964,33.186082],[102.858294,33.186339],[102.858553,33.186566],[102.858638,33.186848],[102.858746,33.187039],[102.858977,33.18702],[102.859235,33.186823],[102.859393,33.18688],[102.859741,33.187323],[102.860062,33.187779],[102.860288,33.188138],[102.860301,33.188496],[102.860373,33.188691],[102.860739,33.18882],[102.861396,33.188919],[102.861854,33.189231],[102.862218,33.189396],[102.862522,33.189389],[102.862897,33.189376],[102.863164,33.189458],[102.863532,33.189559],[102.863676,33.189272],[102.863892,33.189149],[102.864033,33.189344],[102.863899,33.18961],[102.863689,33.189923],[102.863695,33.190473],[102.863618,33.190695],[102.863271,33.190752],[102.86302,33.190831],[102.862945,33.190957],[102.863189,33.191131],[102.863653,33.19119],[102.864031,33.191048],[102.864323,33.19085],[102.864723,33.19076],[102.86515,33.19083],[102.865354,33.191015],[102.865437,33.191342],[102.865572,33.191543],[102.865916,33.191681],[102.866537,33.191707],[102.866913,33.191579],[102.867118,33.191274],[102.867154,33.190942],[102.866997,33.19073],[102.866556,33.190579],[102.866222,33.190423],[102.865726,33.190372],[102.865304,33.19031],[102.865188,33.190118],[102.865233,33.189854],[102.865637,33.18949],[102.866046,33.189096],[102.866163,33.188845],[102.866085,33.188669],[102.865865,33.188487],[102.86585,33.188391],[102.866066,33.188317],[102.866306,33.188392],[102.8669,33.188803],[102.867363,33.189134],[102.867759,33.18938],[102.868,33.189369],[102.868087,33.189224],[102.868062,33.188988],[102.867732,33.188688],[102.867612,33.188564],[102.867667,33.188406],[102.867978,33.188293],[102.868247,33.188182],[102.868295,33.188021],[102.868124,33.187929],[102.86795,33.187698],[102.867821,33.187109],[102.867654,33.18676],[102.867559,33.186512],[102.867636,33.186342],[102.867811,33.186257],[102.868261,33.186406],[102.868873,33.186657],[102.868996,33.186802],[102.86901,33.186978],[102.869012,33.187142],[102.869186,33.187254],[102.869403,33.187321],[102.869645,33.187264],[102.869943,33.187205],[102.870056,33.187295],[102.870022,33.187494],[102.869847,33.187687],[102.869735,33.187858],[102.869765,33.188021],[102.869903,33.188075],[102.870106,33.187997],[102.87034,33.187774],[102.870545,33.187568],[102.870774,33.18752],[102.870958,33.187566],[102.871106,33.187748],[102.871219,33.187862],[102.871402,33.187851],[102.871574,33.187525],[102.871766,33.187247],[102.872046,33.187197],[102.872172,33.187269],[102.872207,33.187451],[102.872124,33.187605],[102.872107,33.187895],[102.872055,33.188207],[102.872009,33.188515],[102.872182,33.188655],[102.872397,33.188704],[102.872461,33.188719],[102.872783,33.188895],[102.87286,33.188897],[102.873122,33.188904],[102.873336,33.188737],[102.87347,33.188385],[102.873641,33.188082],[102.873879,33.188068],[102.874013,33.188298],[102.873936,33.188647],[102.873724,33.189367],[102.873707,33.189662],[102.873812,33.189904],[102.874092,33.189954],[102.874436,33.189882],[102.874778,33.189949],[102.874902,33.190154],[102.874874,33.190339],[102.874562,33.19054],[102.874168,33.190886],[102.873756,33.19115],[102.87376,33.191274],[102.873942,33.191373],[102.874351,33.191556],[102.874508,33.191868],[102.874645,33.19205],[102.875228,33.19206],[102.875511,33.192157],[102.875701,33.192389],[102.875536,33.192611],[102.875157,33.192781],[102.874901,33.192999],[102.874933,33.193129],[102.875286,33.1932],[102.875919,33.193122],[102.87614,33.192925],[102.876395,33.192531],[102.876719,33.192525],[102.876817,33.192882],[102.876812,33.193258],[102.877043,33.193372],[102.877263,33.1933],[102.877451,33.192989],[102.877415,33.19263],[102.877449,33.192332],[102.877707,33.192285],[102.877897,33.192712],[102.877772,33.193017],[102.877537,33.19345],[102.877164,33.193916],[102.876879,33.194242],[102.876882,33.194419],[102.877191,33.194468],[102.877701,33.194402],[102.878099,33.194368],[102.878267,33.19459],[102.878249,33.194794],[102.877983,33.19503],[102.877598,33.195196],[102.87714,33.195287],[102.876999,33.195394],[102.877035,33.195574],[102.877286,33.195692],[102.87745,33.1958],[102.877485,33.195929],[102.877387,33.196029],[102.877212,33.196114],[102.877071,33.196216],[102.877068,33.196344],[102.877256,33.196444],[102.877707,33.196482],[102.878042,33.196635],[102.878419,33.197029],[102.878504,33.197386],[102.878398,33.197604],[102.878233,33.197725],[102.877974,33.197868],[102.877907,33.198012],[102.878042,33.198175],[102.878364,33.198178],[102.879058,33.198093],[102.879687,33.198165],[102.879742,33.198317],[102.87966,33.198478],[102.879259,33.19879],[102.879215,33.19896],[102.879372,33.199172],[102.879953,33.199189],[102.880336,33.199244],[102.880946,33.19957],[102.881179,33.199804],[102.881181,33.19999],[102.881012,33.200122],[102.880801,33.20031],[102.88065,33.2005],[102.880722,33.200646],[102.880923,33.200765],[102.881327,33.200729],[102.881942,33.200578],[102.882119,33.200652],[102.882102,33.200846],[102.881928,33.20102],[102.881786,33.201224],[102.881844,33.201388],[102.882159,33.20152],[102.882604,33.201581],[102.882693,33.201699],[102.882907,33.201918],[102.883051,33.202162],[102.883038,33.202385],[102.882941,33.2026],[102.88274,33.202735],[102.882372,33.202846],[102.881961,33.2029],[102.881688,33.202817],[102.881583,33.202584],[102.881501,33.202238],[102.881393,33.202143],[102.881229,33.202132],[102.880979,33.202245],[102.880859,33.202455],[102.880912,33.202619],[102.881126,33.202932],[102.881335,33.203136],[102.881566,33.20326],[102.881841,33.2034],[102.881906,33.203546],[102.881774,33.203669],[102.881377,33.203707],[102.881129,33.20364],[102.88073,33.203266],[102.880498,33.20312],[102.880336,33.203098],[102.880178,33.203187],[102.88006,33.203396],[102.879948,33.20361],[102.879794,33.203701],[102.879562,33.203741],[102.879305,33.203841],[102.879244,33.204007],[102.879455,33.204408],[102.879752,33.204771],[102.880229,33.204905],[102.88027,33.205071],[102.880021,33.205196],[102.879562,33.205345],[102.879447,33.205494],[102.879475,33.205672],[102.880042,33.205948],[102.880437,33.206174],[102.880653,33.206459],[102.880786,33.206708],[102.88097,33.206753],[102.881599,33.20656],[102.881807,33.206692],[102.882021,33.207197],[102.882086,33.207533],[102.881954,33.207666],[102.88177,33.207706],[102.88148,33.207627],[102.880866,33.207459],[102.880327,33.207389],[102.879435,33.207332],[102.878863,33.207368],[102.878347,33.207519],[102.878146,33.207542],[102.878058,33.207389],[102.878141,33.207131],[102.87815,33.206971],[102.877948,33.206934],[102.877598,33.20697],[102.877276,33.207013],[102.876899,33.207062],[102.876816,33.207255],[102.876904,33.207495],[102.877028,33.207618],[102.877392,33.208067],[102.877455,33.208384],[102.877327,33.208604],[102.877053,33.208925],[102.876723,33.209343],[102.876555,33.20959],[102.876614,33.209746],[102.877007,33.209719],[102.877352,33.20954],[102.877606,33.20926],[102.87784,33.208646],[102.878047,33.208411],[102.87839,33.208345],[102.878707,33.208739],[102.878609,33.209555],[102.878665,33.210143],[102.878486,33.210202],[102.878036,33.210041],[102.877638,33.210067],[102.87749,33.210271],[102.877402,33.21071],[102.877371,33.211157],[102.877482,33.211476],[102.877831,33.211528],[102.87822,33.211259],[102.878891,33.210734],[102.879219,33.210952],[102.879335,33.211228],[102.879264,33.211475],[102.878795,33.211747],[102.878261,33.211904],[102.877611,33.211889],[102.876957,33.211928],[102.876879,33.212038],[102.876911,33.212229],[102.87745,33.212346],[102.878098,33.212251],[102.878578,33.212178],[102.878935,33.212246],[102.879453,33.212491],[102.879793,33.212787],[102.879963,33.213079],[102.879914,33.213325],[102.879743,33.213542],[102.879436,33.213658],[102.878894,33.213612],[102.878588,33.213428],[102.87789,33.21295],[102.87759,33.212991],[102.877485,33.213115],[102.87748,33.213354],[102.877595,33.213788],[102.877638,33.214136],[102.877576,33.214323],[102.877072,33.214298],[102.876716,33.214141],[102.876528,33.213858],[102.876565,33.213449],[102.876725,33.213034],[102.876722,33.212873],[102.876289,33.212859],[102.876145,33.213003],[102.876081,33.213211],[102.876195,33.213451],[102.876171,33.213722],[102.876054,33.214189],[102.875865,33.214363],[102.875557,33.214765],[102.875677,33.214959],[102.876039,33.214946],[102.876602,33.214694],[102.876906,33.21466],[102.877047,33.214934],[102.876838,33.215236],[102.876453,33.215431],[102.87584,33.215588],[102.87548,33.215566],[102.875188,33.215411],[102.874663,33.214707],[102.874311,33.214335],[102.874007,33.214233],[102.873825,33.214297],[102.873742,33.214479],[102.873798,33.214896],[102.874043,33.215262],[102.87456,33.215623],[102.875222,33.215942],[102.875718,33.215945],[102.876598,33.215851],[102.876764,33.21598],[102.876791,33.216186],[102.876742,33.21636],[102.876501,33.216491],[102.876018,33.216626],[102.875401,33.216764],[102.87527,33.216943],[102.87526,33.217109],[102.875468,33.217255],[102.875901,33.217478],[102.876438,33.217628],[102.876517,33.21763],[102.876919,33.217639],[102.877422,33.217525],[102.878134,33.217403],[102.878452,33.217475],[102.878655,33.217627],[102.878813,33.21783],[102.878788,33.218144],[102.878636,33.218257],[102.878276,33.218302],[102.877835,33.218388],[102.877646,33.218529],[102.877591,33.218741],[102.87769,33.218967],[102.878208,33.219444],[102.878635,33.219896],[102.878605,33.220041],[102.878397,33.220148],[102.878032,33.220276],[102.877952,33.220433],[102.878093,33.220621],[102.878608,33.220927],[102.879037,33.221043],[102.879335,33.220916],[102.879482,33.220651],[102.87951,33.220405],[102.879434,33.220021],[102.879404,33.219671],[102.879485,33.219508],[102.879722,33.219436],[102.880109,33.219437],[102.880335,33.219572],[102.880419,33.219811],[102.880538,33.220309],[102.880496,33.220597],[102.880425,33.22094],[102.880412,33.221079],[102.88056,33.221167],[102.880773,33.221087],[102.880946,33.220894],[102.881144,33.220709],[102.881418,33.220599],[102.881724,33.220602],[102.882309,33.220678],[102.882516,33.220616],[102.882813,33.22048],[102.883136,33.220489],[102.883571,33.220592],[102.883763,33.220655],[102.884003,33.220622],[102.884236,33.22061],[102.884372,33.220649],[102.884458,33.220786],[102.884507,33.220964],[102.884587,33.221201],[102.884615,33.221397],[102.884611,33.221624],[102.884594,33.222066],[102.88469,33.222463],[102.884879,33.222571],[102.885279,33.222559],[102.885777,33.222554],[102.885982,33.22267],[102.88598,33.222849],[102.88569,33.223094],[102.885317,33.223368],[102.885301,33.223496],[102.885456,33.223606],[102.885738,33.223582],[102.886025,33.223404],[102.886486,33.222829],[102.886929,33.222156],[102.887182,33.222059],[102.88735,33.222165],[102.887351,33.222323],[102.887083,33.223284],[102.886881,33.224173],[102.886656,33.224978],[102.886652,33.225178],[102.886773,33.225222],[102.887335,33.224988],[102.887719,33.22489],[102.88793,33.224916],[102.888442,33.225208],[102.888722,33.225427],[102.888766,33.225625],[102.88868,33.225783],[102.888423,33.226394],[102.888141,33.227232],[102.887977,33.227336],[102.887689,33.227256],[102.887502,33.227143],[102.886993,33.22674],[102.886835,33.226434],[102.886748,33.225892],[102.886656,33.225617],[102.88636,33.225543],[102.886035,33.225567],[102.885743,33.225722],[102.885578,33.225929],[102.885606,33.226216],[102.885872,33.226623],[102.886061,33.226983],[102.886162,33.227884],[102.886237,33.228639],[102.886503,33.228746],[102.886771,33.228909],[102.88681,33.229111],[102.88671,33.229269],[102.886361,33.229416],[102.885909,33.229402],[102.884948,33.229353],[102.884144,33.229267],[102.883596,33.229144],[102.883219,33.22881],[102.882999,33.228686],[102.882816,33.228726],[102.88273,33.229128],[102.882805,33.229593],[102.883041,33.230494],[102.883432,33.230886],[102.883645,33.230958],[102.8839,33.230826],[102.88417,33.230331],[102.884403,33.229662],[102.884605,33.229554],[102.884872,33.22964],[102.885304,33.229768],[102.885683,33.229834],[102.886169,33.229821],[102.886355,33.22985],[102.886318,33.23],[102.886141,33.230177],[102.885533,33.230879],[102.885255,33.231377],[102.88518,33.231593],[102.885261,33.231703],[102.885497,33.231744],[102.885966,33.23162],[102.886469,33.231435],[102.886753,33.231426],[102.88693,33.231496],[102.887065,33.231665],[102.887173,33.231934],[102.887334,33.232467],[102.887353,33.232666],[102.887254,33.232817],[102.887074,33.232833],[102.88683,33.232844],[102.886515,33.232891],[102.886205,33.232957],[102.886112,33.233058],[102.886143,33.233207],[102.886338,33.233358],[102.886677,33.233472],[102.88697,33.23345],[102.887288,33.233387],[102.887654,33.233339],[102.888415,33.233116],[102.889023,33.232847],[102.889106,33.232582],[102.889187,33.232291],[102.889355,33.232205],[102.889523,33.232236],[102.889832,33.232529],[102.890171,33.232977],[102.890233,33.233132],[102.89004,33.233276],[102.889766,33.233494],[102.889417,33.233794],[102.888742,33.234203],[102.888388,33.234381],[102.888307,33.234524],[102.888403,33.234632],[102.888722,33.234691],[102.889308,33.23478],[102.889447,33.234878],[102.889469,33.235083],[102.889301,33.235258],[102.888952,33.235426],[102.888621,33.235487],[102.888223,33.235521],[102.887839,33.235474],[102.887152,33.235156],[102.886755,33.234968],[102.886697,33.234862],[102.886779,33.234708],[102.886945,33.234411],[102.886993,33.234245],[102.886818,33.234178],[102.886645,33.234228],[102.886336,33.234504],[102.886005,33.234933],[102.885894,33.235239],[102.88575,33.235887],[102.885654,33.235997],[102.885538,33.236025],[102.885424,33.235934],[102.885224,33.235722],[102.885037,33.235579],[102.884805,33.235541],[102.884645,33.235591],[102.884464,33.235773],[102.884382,33.236088],[102.884376,33.236331],[102.884594,33.236461],[102.885068,33.236788],[102.885294,33.237065],[102.885354,33.237343],[102.885254,33.237528],[102.885069,33.23768],[102.884622,33.237852],[102.884345,33.23784],[102.883727,33.237662],[102.883055,33.237506],[102.882795,33.237591],[102.882744,33.237793],[102.88296,33.238079],[102.883384,33.238282],[102.884197,33.238521],[102.884537,33.238525],[102.884742,33.23831],[102.885012,33.238159],[102.88524,33.23813],[102.885324,33.238343],[102.885333,33.238752],[102.885351,33.239348],[102.88529,33.239803],[102.88507,33.239879],[102.884398,33.239742],[102.884024,33.239736],[102.883863,33.239882],[102.883846,33.240162],[102.884194,33.240336],[102.884848,33.240541],[102.885931,33.240851],[102.886625,33.241094],[102.886962,33.241286],[102.887068,33.241412],[102.887066,33.241559],[102.886971,33.241722],[102.886906,33.241905],[102.886872,33.242161],[102.886869,33.242297],[102.887023,33.242332],[102.88727,33.242238],[102.887805,33.24201],[102.888687,33.241701],[102.889379,33.241501],[102.889574,33.241516],[102.889703,33.241628],[102.889737,33.241851],[102.889561,33.242176],[102.88931,33.242391],[102.889041,33.242784],[102.889042,33.242905],[102.889181,33.243007],[102.889383,33.243044],[102.889892,33.24299],[102.890284,33.242971],[102.890503,33.243012],[102.890846,33.243211],[102.891113,33.243297],[102.891266,33.243225],[102.891251,33.243046],[102.89107,33.242802],[102.890757,33.242475],[102.890742,33.242299],[102.890848,33.242154],[102.891057,33.242077],[102.891472,33.242111],[102.892056,33.242296],[102.892356,33.242473],[102.892435,33.242723],[102.892283,33.243067],[102.891935,33.243422],[102.891163,33.24389],[102.890562,33.244241],[102.889853,33.244604],[102.889654,33.244733],[102.889557,33.244944],[102.889802,33.245114],[102.890317,33.2452],[102.890887,33.245127],[102.891293,33.244869],[102.891645,33.244558],[102.892258,33.244044],[102.892504,33.243968],[102.892716,33.243995],[102.893113,33.244172],[102.893426,33.244428],[102.893923,33.244959],[102.89429,33.245438],[102.894264,33.245594],[102.894022,33.245742],[102.893459,33.245776],[102.89241,33.245672],[102.892226,33.245703],[102.892149,33.245779],[102.892141,33.245979],[102.892439,33.24628],[102.892784,33.24648],[102.893311,33.246555],[102.893818,33.246548],[102.894883,33.246468],[102.895153,33.246499],[102.895398,33.24658],[102.89582,33.246931],[102.896192,33.247056],[102.896394,33.246997],[102.896449,33.246828],[102.896273,33.246549],[102.895895,33.246229],[102.895818,33.246078],[102.895906,33.245939],[102.896189,33.245865],[102.896799,33.245863],[102.897115,33.245915],[102.897341,33.246041],[102.897529,33.24623],[102.897822,33.246552],[102.898129,33.246865],[102.898144,33.24697],[102.897862,33.247193],[102.897746,33.24737],[102.89772,33.247506],[102.897828,33.247606],[102.89805,33.247686],[102.898386,33.247744],[102.899047,33.247929],[102.899276,33.248081],[102.899398,33.248322],[102.899431,33.248606],[102.899403,33.2491],[102.899288,33.249309],[102.898936,33.249619],[102.898817,33.249805],[102.898974,33.249935],[102.899372,33.250204],[102.899654,33.250625],[102.899824,33.251013],[102.899726,33.251142],[102.899016,33.251156],[102.898378,33.251233],[102.897627,33.251277],[102.897016,33.251388],[102.896725,33.251494],[102.896494,33.251712],[102.89637,33.251827],[102.896213,33.25182],[102.896089,33.25161],[102.895998,33.251345],[102.895913,33.250906],[102.895741,33.250662],[102.895498,33.250669],[102.895342,33.250815],[102.895287,33.251103],[102.895287,33.251499],[102.895229,33.251543],[102.895215,33.251553],[102.895108,33.251635],[102.895065,33.251667],[102.8946,33.252208],[102.894164,33.252633],[102.894157,33.252639],[102.894068,33.252726],[102.894085,33.252752],[102.894194,33.252928],[102.894255,33.253026],[102.895721,33.255386],[102.895736,33.255445],[102.895739,33.255484],[102.895741,33.255526],[102.895741,33.255564],[102.895732,33.255602],[102.895716,33.25565],[102.895714,33.25568],[102.895713,33.2557],[102.895726,33.255718],[102.895744,33.255718],[102.89575,33.255705],[102.895762,33.255691],[102.895771,33.255693],[102.895782,33.255703],[102.895788,33.25571],[102.895805,33.255748],[102.89583,33.255811],[102.895843,33.255845],[102.895863,33.255849],[102.895875,33.255844],[102.895879,33.255821],[102.895877,33.255776],[102.895862,33.25574],[102.895853,33.255707],[102.895852,33.25568],[102.895851,33.255654],[102.895862,33.255613],[102.896195,33.256149],[102.896639,33.256863],[102.896783,33.257095],[102.897857,33.258822],[102.918741,33.29242],[102.918913,33.292696],[102.918917,33.292834],[102.919007,33.292947],[102.919032,33.293128],[102.918998,33.293294],[102.918977,33.293403],[102.918996,33.293508],[102.919071,33.293562],[102.919194,33.293638],[102.91929,33.293746],[102.919345,33.29385],[102.919388,33.29395],[102.919384,33.294087],[102.919316,33.294215],[102.91927,33.294281],[102.919245,33.294396],[102.91929,33.294488],[102.919364,33.29455],[102.919532,33.29459],[102.919662,33.294607],[102.919821,33.294617],[102.919901,33.294644],[102.920008,33.294696],[102.920188,33.294747],[102.920341,33.29463],[102.920409,33.294639],[102.92046,33.294618],[102.920504,33.294597],[102.920524,33.294569],[102.920537,33.294543],[102.920567,33.294497],[102.920603,33.294483],[102.920786,33.294569],[102.921041,33.294573],[102.921283,33.294565],[102.921339,33.294614],[102.92125,33.294756],[102.920962,33.29493],[102.920874,33.295036],[102.920799,33.295032],[102.920757,33.295015],[102.920713,33.294983],[102.920685,33.294959],[102.920664,33.294929],[102.920652,33.294904],[102.920621,33.294895],[102.920584,33.294903],[102.920547,33.294919],[102.920524,33.294925],[102.920476,33.294921],[102.920443,33.294912],[102.92039,33.294918],[102.92035,33.294943],[102.920329,33.294973],[102.920226,33.295043],[102.920174,33.295158],[102.920147,33.295233],[102.9201,33.295312],[102.920066,33.295363],[102.920028,33.295426],[102.920021,33.295494],[102.920026,33.295557],[102.920055,33.295598],[102.920094,33.295609],[102.92021,33.295614],[102.920307,33.295606],[102.920416,33.29558],[102.920493,33.295573],[102.92057,33.295515],[102.92063,33.295457],[102.920666,33.295516],[102.92071,33.295589],[102.920946,33.295986],[102.921019,33.296109],[102.92084,33.296106],[102.920608,33.296102],[102.920377,33.296098],[102.920145,33.296095],[102.919913,33.296091],[102.919682,33.296087],[102.91945,33.296083],[102.919219,33.296079],[102.918987,33.296075],[102.918746,33.296088],[102.918506,33.2961],[102.918265,33.296112],[102.918024,33.296125],[102.917783,33.296137],[102.917542,33.296149],[102.917301,33.296161],[102.917061,33.296174],[102.91682,33.296186],[102.916666,33.296194],[102.916579,33.296198],[102.916338,33.296211],[102.916097,33.296223],[102.915841,33.296232],[102.915585,33.296242],[102.915329,33.296251],[102.915072,33.29626],[102.914816,33.29627],[102.91456,33.296279],[102.914303,33.296288],[102.914047,33.296297],[102.913791,33.296307],[102.913534,33.296316],[102.913278,33.296325],[102.913022,33.296335],[102.912766,33.296344],[102.912509,33.296353],[102.912253,33.296363],[102.911997,33.296372],[102.911729,33.296377],[102.911462,33.296381],[102.911195,33.296385],[102.910927,33.29639],[102.91066,33.296394],[102.910392,33.296399],[102.910125,33.296403],[102.909858,33.296408],[102.90959,33.296412],[102.909323,33.296417],[102.909065,33.296439],[102.908808,33.296462],[102.908486,33.296493],[102.908164,33.296524],[102.907886,33.296609],[102.907561,33.296751],[102.907552,33.296755],[102.907217,33.296902],[102.906998,33.297096],[102.906779,33.297289],[102.906645,33.297448],[102.906462,33.297587],[102.906278,33.297726],[102.906095,33.297866],[102.905912,33.298005],[102.905728,33.298144],[102.905545,33.298283],[102.905362,33.298422],[102.905178,33.298561],[102.904894,33.298843],[102.904609,33.299125],[102.904325,33.299407],[102.904115,33.299655],[102.903906,33.299902],[102.903742,33.30007],[102.903578,33.300238],[102.903381,33.300379],[102.903056,33.300553],[102.902731,33.300727],[102.902397,33.300855],[102.902063,33.300984],[102.901842,33.301061],[102.90162,33.301138],[102.901399,33.301215],[102.901178,33.301293],[102.900797,33.301404],[102.900416,33.301516],[102.900116,33.301566],[102.899838,33.301579],[102.899582,33.301539],[102.899347,33.301518],[102.898919,33.301493],[102.898585,33.301603],[102.898251,33.301713],[102.898056,33.30185],[102.89786,33.301988],[102.897664,33.302125],[102.897469,33.302263],[102.897273,33.3024],[102.897078,33.302538],[102.896903,33.302696],[102.896728,33.302854],[102.896553,33.303013],[102.896378,33.303171],[102.896203,33.30333],[102.896028,33.303488],[102.895853,33.303647],[102.895678,33.303805],[102.895483,33.303972],[102.895288,33.304138],[102.895093,33.304305],[102.894898,33.304471],[102.894703,33.304637],[102.894508,33.304804],[102.894212,33.305077],[102.893916,33.30535],[102.893763,33.305509],[102.893567,33.305684],[102.893349,33.305807],[102.893198,33.305857],[102.892907,33.305969],[102.892616,33.30608],[102.892337,33.306165],[102.892014,33.306215],[102.891725,33.306237],[102.891436,33.306258],[102.891007,33.306269],[102.890579,33.306279],[102.890354,33.306302],[102.89013,33.306326],[102.88984,33.306356],[102.88955,33.306387],[102.889388,33.306385],[102.889136,33.306343],[102.888883,33.3063],[102.888587,33.306231],[102.888291,33.306162],[102.88793,33.306061],[102.887568,33.30596],[102.887359,33.305848],[102.887149,33.305736],[102.886927,33.305643],[102.886705,33.30555],[102.886483,33.305456],[102.88626,33.305363],[102.886038,33.305269],[102.885816,33.305176],[102.885594,33.305082],[102.885371,33.304989],[102.885022,33.304839],[102.884829,33.304853],[102.88453,33.304884],[102.884206,33.304968],[102.884009,33.305163],[102.883766,33.305499],[102.883586,33.305882],[102.883405,33.306264],[102.883206,33.306584],[102.883006,33.30685],[102.882841,33.307053],[102.882676,33.307257],[102.882521,33.307443],[102.882367,33.307629],[102.882189,33.307904],[102.882011,33.308178],[102.881919,33.308462],[102.88185,33.308677],[102.88178,33.308892],[102.881676,33.309175],[102.881571,33.309458],[102.881455,33.309814],[102.881428,33.310066],[102.881442,33.310371],[102.881519,33.310696],[102.881566,33.310983],[102.881612,33.311271],[102.88165,33.311504],[102.881685,33.311847],[102.881719,33.312151],[102.881713,33.312402],[102.881707,33.312653],[102.881636,33.31294],[102.881566,33.31319],[102.881428,33.313598],[102.881326,33.313968],[102.881225,33.314337],[102.881123,33.314707],[102.881055,33.31495],[102.880988,33.315192],[102.88092,33.315435],[102.880853,33.315678],[102.880785,33.315921],[102.880718,33.316164],[102.88065,33.316406],[102.880583,33.316649],[102.880463,33.316898],[102.880343,33.317147],[102.880223,33.317396],[102.880103,33.317646],[102.879983,33.317895],[102.879863,33.318144],[102.879661,33.318517],[102.879419,33.318835],[102.879176,33.319154],[102.878903,33.319392],[102.878629,33.319629],[102.878304,33.319785],[102.878067,33.319871],[102.877679,33.319972],[102.877336,33.320012],[102.876993,33.320051],[102.876591,33.320052],[102.87619,33.320053],[102.876116,33.320053],[102.875867,33.320025],[102.875619,33.319996],[102.87537,33.319968],[102.875121,33.31994],[102.874872,33.319912],[102.874623,33.319884],[102.874353,33.319885],[102.874083,33.319886],[102.873813,33.319887],[102.873543,33.319888],[102.873147,33.31989],[102.872751,33.319892],[102.872386,33.319958],[102.872133,33.32003],[102.87188,33.320102],[102.871627,33.320174],[102.871374,33.320246],[102.871121,33.320317],[102.870868,33.320389],[102.870615,33.320461],[102.870362,33.320533],[102.870137,33.320602],[102.869913,33.320672],[102.869688,33.320741],[102.869464,33.320811],[102.869239,33.32088],[102.869015,33.32095],[102.868791,33.321019],[102.868566,33.321088],[102.868342,33.321158],[102.868117,33.321227],[102.867893,33.321297],[102.867668,33.321366],[102.867268,33.32142],[102.867031,33.321452],[102.866796,33.321448],[102.866561,33.321444],[102.866338,33.321378],[102.866115,33.321311],[102.865936,33.321164],[102.865757,33.321017],[102.865454,33.320725],[102.865151,33.320432],[102.864936,33.320272],[102.864721,33.320111],[102.864506,33.319951],[102.864291,33.31979],[102.864059,33.319643],[102.863828,33.319495],[102.863572,33.319455],[102.863316,33.319415],[102.863048,33.319354],[102.86278,33.319294],[102.862512,33.319234],[102.862244,33.319174],[102.861976,33.319114],[102.861708,33.319054],[102.86144,33.318993],[102.861172,33.318933],[102.860904,33.318873],[102.860636,33.318813],[102.860259,33.318641],[102.859882,33.318469],[102.859505,33.318297],[102.859092,33.318124],[102.858679,33.317951],[102.858266,33.317778],[102.857853,33.317605],[102.857639,33.317525],[102.857424,33.317445],[102.857209,33.317365],[102.856995,33.317285],[102.85678,33.317205],[102.856566,33.317125],[102.856351,33.317045],[102.856136,33.316965],[102.855892,33.316916],[102.855648,33.316866],[102.855351,33.316772],[102.855011,33.316641],[102.854652,33.316473],[102.854421,33.316272],[102.854171,33.316034],[102.854,33.315851],[102.85383,33.315669],[102.85366,33.315487],[102.85349,33.315304],[102.85332,33.315122],[102.853149,33.31494],[102.852878,33.314675],[102.852606,33.31441],[102.85233,33.314315],[102.851914,33.314281],[102.851498,33.314246],[102.851082,33.314212],[102.850683,33.314199],[102.850284,33.314186],[102.849885,33.314172],[102.849671,33.314222],[102.849498,33.314256],[102.849248,33.314404],[102.848998,33.314552],[102.848747,33.314763],[102.848496,33.314973],[102.848324,33.315025],[102.848217,33.31504],[102.847896,33.315035],[102.847661,33.315013],[102.847342,33.314935],[102.847096,33.314814],[102.846851,33.314694],[102.846605,33.314573],[102.84636,33.314452],[102.846114,33.314331],[102.845868,33.31421],[102.845623,33.314089],[102.845377,33.313969],[102.845153,33.313826],[102.84493,33.313683],[102.844706,33.31354],[102.844482,33.313397],[102.844258,33.313254],[102.844034,33.313112],[102.843811,33.312969],[102.843587,33.312826],[102.84337,33.312715],[102.843154,33.312603],[102.842938,33.312492],[102.842721,33.312381],[102.842478,33.312287],[102.842234,33.312192],[102.842011,33.31213],[102.841788,33.312068],[102.841565,33.312006],[102.841341,33.311944],[102.841065,33.311903],[102.840788,33.311863],[102.840516,33.311844],[102.840244,33.311826],[102.839972,33.311807],[102.839701,33.311789],[102.839429,33.31177],[102.839157,33.311752],[102.838886,33.311733],[102.838614,33.311714],[102.838386,33.311701],[102.838158,33.311688],[102.83793,33.311675],[102.837702,33.311662],[102.837474,33.311649],[102.837246,33.311636],[102.836842,33.311594],[102.836628,33.311573],[102.836393,33.311567],[102.836072,33.31158],[102.835672,33.31177],[102.835271,33.31196],[102.835096,33.312125],[102.834921,33.312289],[102.834746,33.312454],[102.834571,33.312619],[102.834396,33.312783],[102.834221,33.312948],[102.833979,33.313176],[102.833827,33.313244],[102.833612,33.313313],[102.833333,33.313345],[102.832991,33.313356],[102.832565,33.31326],[102.832237,33.313137],[102.831908,33.313015],[102.831741,33.312841],[102.831574,33.312668],[102.831408,33.312463],[102.831242,33.312258],[102.831076,33.312054],[102.83091,33.311849],[102.830744,33.311644],[102.830578,33.31144],[102.830412,33.311235],[102.830246,33.31103],[102.830037,33.310834],[102.829815,33.31067],[102.829593,33.310506],[102.829319,33.310369],[102.829046,33.310232],[102.828983,33.310219],[102.828625,33.310122],[102.828266,33.310025],[102.827908,33.309928],[102.827566,33.309922],[102.827225,33.309916],[102.82686,33.309964],[102.826579,33.310031],[102.826451,33.310083],[102.826255,33.310258],[102.826032,33.310612],[102.82596,33.310926],[102.825887,33.311239],[102.825839,33.311489],[102.82579,33.31174],[102.825632,33.312059],[102.825475,33.312289],[102.825301,33.312465],[102.824954,33.312621],[102.824707,33.31268],[102.824459,33.312739],[102.824237,33.312792],[102.824015,33.312844],[102.823792,33.312897],[102.82357,33.31295],[102.823348,33.313003],[102.823125,33.313056],[102.822899,33.313112],[102.822672,33.313168],[102.822445,33.313225],[102.822218,33.313281],[102.821991,33.313337],[102.821764,33.313393],[102.821537,33.313449],[102.82131,33.313506],[102.821083,33.313562],[102.820856,33.313618],[102.820641,33.313684],[102.820425,33.313749],[102.82021,33.313815],[102.819994,33.31388],[102.819779,33.313946],[102.819563,33.314011],[102.819348,33.314077],[102.819132,33.314142],[102.818743,33.314338],[102.818353,33.314533],[102.817964,33.314728],[102.817574,33.314924],[102.817247,33.315178],[102.816919,33.315433],[102.816688,33.315698],[102.816456,33.315962],[102.816149,33.316284],[102.815841,33.316607],[102.815534,33.316929],[102.815227,33.317251],[102.814895,33.317529],[102.814563,33.317808],[102.814301,33.318001],[102.813977,33.318138],[102.813689,33.318168],[102.813677,33.318169],[102.813292,33.318143],[102.812933,33.318029],[102.812592,33.317917],[102.812347,33.317867],[102.812103,33.317818],[102.811739,33.317789],[102.811665,33.317783],[102.811228,33.317748],[102.810958,33.317746],[102.810688,33.317743],[102.810418,33.317741],[102.810148,33.317739],[102.809878,33.317736],[102.809608,33.317734],[102.809517,33.317733],[102.809338,33.317731],[102.809211,33.31773],[102.809068,33.317729],[102.808798,33.317726],[102.808528,33.317724],[102.808456,33.317723],[102.808258,33.317721],[102.807988,33.317719],[102.807718,33.317716],[102.807448,33.317714],[102.807178,33.317711],[102.806908,33.317709],[102.806639,33.317717],[102.80637,33.317724],[102.8061,33.317732],[102.805831,33.31774],[102.805562,33.317748],[102.805292,33.317756],[102.805023,33.317763],[102.804754,33.317771],[102.804484,33.317779],[102.804215,33.317787],[102.803946,33.317795],[102.803676,33.317802],[102.803407,33.31781],[102.803138,33.317818],[102.802868,33.317826],[102.802599,33.317833],[102.80233,33.317841],[102.80206,33.317849],[102.801791,33.317857],[102.801522,33.317865],[102.801251,33.317896],[102.80098,33.317927],[102.800709,33.317958],[102.800439,33.317989],[102.800168,33.31802],[102.799897,33.318051],[102.799626,33.318082],[102.799355,33.318113],[102.799085,33.318144],[102.798814,33.318175],[102.798543,33.318206],[102.798272,33.318237],[102.798001,33.318268],[102.797731,33.318299],[102.79746,33.31833],[102.797189,33.318361],[102.796943,33.318396],[102.796698,33.318431],[102.796453,33.318466],[102.796207,33.3185],[102.795962,33.318535],[102.795716,33.31857],[102.795481,33.318584],[102.795245,33.318597],[102.79501,33.318611],[102.794774,33.318625],[102.794538,33.318638],[102.794303,33.318652],[102.7942,33.318647],[102.79387,33.318631],[102.793438,33.31861],[102.793005,33.318589],[102.792573,33.318567],[102.792196,33.318525],[102.791818,33.318482],[102.791441,33.318439],[102.791079,33.318406],[102.790717,33.318373],[102.790267,33.318365],[102.789818,33.318357],[102.789551,33.318339],[102.789284,33.318321],[102.789017,33.318302],[102.788751,33.318284],[102.788484,33.318266],[102.788217,33.318248],[102.78795,33.31823],[102.787683,33.318212],[102.787324,33.318122],[102.786964,33.318032],[102.786557,33.317924],[102.786196,33.317795],[102.785945,33.3177],[102.785693,33.317605],[102.785369,33.317518],[102.785045,33.31743],[102.784816,33.317366],[102.784586,33.317301],[102.784356,33.317236],[102.784127,33.317171],[102.783897,33.317106],[102.783667,33.317041],[102.783437,33.316976],[102.783208,33.316911],[102.782978,33.316846],[102.782748,33.316781],[102.782519,33.316716],[102.782289,33.316651],[102.782059,33.316586],[102.78183,33.316521],[102.781544,33.316374],[102.781329,33.316259],[102.781114,33.316144],[102.780846,33.315961],[102.780577,33.315778],[102.780309,33.315595],[102.779943,33.315336],[102.779577,33.315077],[102.77921,33.314818],[102.778844,33.314559],[102.778711,33.31433],[102.778644,33.314111],[102.77854,33.313688],[102.778435,33.313264],[102.778297,33.313031],[102.778159,33.312798],[102.778111,33.312725],[102.77793,33.312455],[102.777769,33.312303],[102.777768,33.312303],[102.77755,33.312227],[102.777232,33.312171],[102.777226,33.31217],[102.776969,33.312093],[102.776817,33.312017],[102.776731,33.311913],[102.776636,33.311741],[102.776494,33.311622],[102.776383,33.311554],[102.776174,33.311426],[102.775965,33.311298],[102.775756,33.311169],[102.775547,33.311041],[102.775337,33.310913],[102.775128,33.310785],[102.774919,33.310657],[102.77471,33.310529],[102.774353,33.31031],[102.774095,33.310276],[102.773705,33.310171],[102.77345,33.310067],[102.773333,33.310019],[102.773086,33.309838],[102.772867,33.309543],[102.772751,33.309225],[102.772635,33.308906],[102.772518,33.308588],[102.772505,33.308553],[102.772315,33.308381],[102.771925,33.308172],[102.771606,33.308025],[102.771287,33.307877],[102.771147,33.307815],[102.771049,33.307772],[102.770878,33.307687],[102.770659,33.307658],[102.770373,33.30763],[102.770069,33.307534],[102.76974,33.307434],[102.769412,33.307335],[102.769098,33.307135],[102.768869,33.306963],[102.768842,33.306882],[102.768727,33.306542],[102.768612,33.306202],[102.768543,33.306032],[102.768368,33.305901],[102.768181,33.305762],[102.767995,33.305623],[102.767643,33.30536],[102.767316,33.305187],[102.766988,33.305014],[102.766661,33.304841],[102.766376,33.304699],[102.76609,33.304558],[102.7657,33.304365],[102.765395,33.304089],[102.765215,33.303861],[102.765189,33.303824],[102.765053,33.303632],[102.764862,33.30347],[102.764615,33.303404],[102.764196,33.303356],[102.763904,33.303437],[102.763612,33.303517],[102.763473,33.303556],[102.763346,33.303581],[102.763178,33.303613],[102.762854,33.303584],[102.762473,33.303508],[102.762212,33.303423],[102.76195,33.303337],[102.761769,33.303223],[102.761636,33.303097],[102.761598,33.303061],[102.76148,33.302914],[102.761295,33.302844],[102.76114,33.302794],[102.760907,33.302813],[102.760675,33.302833],[102.760351,33.302804],[102.760027,33.30268],[102.759732,33.302595],[102.759437,33.302509],[102.759171,33.302394],[102.759085,33.302357],[102.758762,33.302252],[102.758438,33.302147],[102.758124,33.302109],[102.75781,33.302223],[102.757496,33.302484],[102.757182,33.302744],[102.756867,33.303004],[102.756866,33.303004],[102.756865,33.303005],[102.756605,33.303123],[102.756344,33.303242],[102.755906,33.303318],[102.75564,33.303328],[102.755373,33.303337],[102.755021,33.303251],[102.75481,33.303166],[102.7546,33.303081],[102.754574,33.303071],[102.754269,33.302918],[102.753917,33.302658],[102.753566,33.302398],[102.753214,33.302137],[102.75306,33.302024],[102.75281,33.301849],[102.752559,33.301675],[102.752308,33.3015],[102.752213,33.301433],[102.752118,33.301272],[102.752099,33.30092],[102.75208,33.300567],[102.752054,33.300482],[102.751948,33.300129],[102.751842,33.299777],[102.751731,33.299489],[102.75162,33.2992],[102.751536,33.298981],[102.751509,33.298911],[102.751515,33.298699],[102.751518,33.298578],[102.75154,33.298207],[102.751562,33.297836],[102.751583,33.297479],[102.751604,33.297122],[102.751585,33.296694],[102.751573,33.296427],[102.751561,33.29616],[102.751477,33.295949],[102.751443,33.295901],[102.751362,33.295786],[102.751219,33.295702],[102.751187,33.295684],[102.750976,33.295561],[102.750701,33.295465],[102.750425,33.295368],[102.750285,33.295321],[102.750227,33.295254],[102.750195,33.295218],[102.750005,33.294971],[102.749848,33.294766],[102.749691,33.294562],[102.749482,33.294409],[102.74922,33.294309],[102.748958,33.294209],[102.748673,33.294117],[102.748387,33.294025],[102.748102,33.293933],[102.747883,33.293819],[102.74773,33.293667],[102.747678,33.293573],[102.747645,33.293515],[102.747645,33.293463],[102.747645,33.293018],[102.747645,33.292572],[102.747616,33.292334],[102.747501,33.291937],[102.747387,33.29154],[102.747272,33.291142],[102.747226,33.290983],[102.747116,33.290655],[102.747007,33.290326],[102.746769,33.290079],[102.746498,33.290017],[102.746227,33.289955],[102.745836,33.289879],[102.745541,33.289755],[102.745227,33.289527],[102.744994,33.289256],[102.744761,33.288985],[102.74458,33.288775],[102.744294,33.288613],[102.744018,33.288565],[102.743601,33.288615],[102.743557,33.288603],[102.743279,33.288588],[102.743094,33.288578],[102.743001,33.288573],[102.742638,33.288565],[102.742325,33.288539],[102.742013,33.288473],[102.741701,33.288406],[102.741364,33.288339],[102.741102,33.288194],[102.740914,33.287987],[102.740753,33.28768],[102.740674,33.287446],[102.740595,33.287211],[102.740485,33.286864],[102.74037,33.286558],[102.740257,33.286292],[102.740021,33.286086],[102.739773,33.285868],[102.739525,33.285651],[102.739364,33.285475],[102.739202,33.2853],[102.73904,33.285125],[102.738879,33.28495],[102.738717,33.284775],[102.738555,33.284599],[102.738393,33.284424],[102.738232,33.284249],[102.738042,33.284099],[102.737853,33.283948],[102.737664,33.283798],[102.737474,33.283647],[102.737285,33.283497],[102.737095,33.283346],[102.736906,33.283196],[102.736717,33.283045],[102.736473,33.282943],[102.73623,33.282842],[102.735942,33.282746],[102.735655,33.282649],[102.735392,33.282553],[102.735128,33.282457],[102.734816,33.28236],[102.734504,33.282263],[102.734203,33.282237],[102.733902,33.282212],[102.733712,33.282244],[102.733417,33.282387],[102.733121,33.282531],[102.732825,33.282674],[102.732464,33.282798],[102.73215,33.282817],[102.731921,33.282798],[102.731636,33.282702],[102.731322,33.282502],[102.731007,33.282303],[102.73077,33.282248],[102.730567,33.282232],[102.730254,33.282226],[102.73004,33.282235],[102.729796,33.282293],[102.729551,33.28235],[102.729199,33.282388],[102.729018,33.28235],[102.728733,33.282245],[102.728585,33.282118],[102.72839,33.28195],[102.728228,33.281779],[102.728162,33.281532],[102.728151,33.281488],[102.728095,33.281256],[102.728019,33.280865],[102.727762,33.28077],[102.727376,33.280713],[102.726991,33.280656],[102.726779,33.280578],[102.726705,33.280551],[102.726477,33.280437],[102.72623,33.280342],[102.725925,33.28018],[102.725738,33.279968],[102.725448,33.279638],[102.72544,33.279628],[102.725225,33.279433],[102.725011,33.279238],[102.724791,33.279128],[102.724571,33.279018],[102.724554,33.279009],[102.724269,33.278902],[102.723983,33.278794],[102.723698,33.278686],[102.723422,33.278643],[102.723146,33.2786],[102.722781,33.278575],[102.722416,33.278549],[102.722051,33.278524],[102.721623,33.278476],[102.721261,33.278305],[102.721004,33.278115],[102.720814,33.277734],[102.720647,33.277496],[102.720481,33.277258],[102.72029,33.277001],[102.720162,33.276778],[102.720148,33.276754],[102.720014,33.276525],[102.719795,33.276316],[102.71951,33.27604],[102.719509,33.276039],[102.719509,33.276038],[102.719301,33.275678],[102.71911,33.27545],[102.718882,33.275126],[102.718644,33.274917],[102.718463,33.274745],[102.718257,33.274498],[102.718051,33.274251],[102.717892,33.27406],[102.717678,33.27376],[102.717464,33.273461],[102.717424,33.273264],[102.717375,33.273193],[102.717264,33.27303],[102.71713,33.272937],[102.716907,33.272785],[102.716683,33.272632],[102.71646,33.272326],[102.716237,33.272019],[102.71615,33.2719],[102.716084,33.2717],[102.716055,33.271424],[102.716029,33.271202],[102.716007,33.271014],[102.715961,33.270858],[102.71595,33.270824],[102.715865,33.270634],[102.715722,33.270443],[102.715579,33.270253],[102.715403,33.27011],[102.715227,33.269967],[102.715181,33.269933],[102.714968,33.26977],[102.71483,33.269592],[102.714692,33.269413],[102.714462,33.269201],[102.714231,33.26899],[102.714114,33.268771],[102.713998,33.268552],[102.713931,33.268457],[102.713803,33.268361],[102.713741,33.268261],[102.713739,33.268248],[102.713717,33.268076],[102.713684,33.267766],[102.713677,33.267674],[102.71366,33.26741],[102.713555,33.267005],[102.713455,33.266798],[102.713355,33.266591],[102.713222,33.266443],[102.713046,33.266334],[102.712807,33.266241],[102.712665,33.266187],[102.71228,33.265996],[102.711894,33.265806],[102.711642,33.265634],[102.711494,33.265515],[102.71128,33.265187],[102.711214,33.265092],[102.71119,33.264973],[102.711171,33.264849],[102.711028,33.264649],[102.710909,33.26444],[102.7107,33.264354],[102.710533,33.264259],[102.710428,33.264164],[102.710338,33.26405],[102.710262,33.263974],[102.710133,33.263897],[102.709857,33.26384],[102.70947,33.263733],[102.709082,33.263626],[102.708782,33.263498],[102.708425,33.263257],[102.708068,33.263017],[102.707721,33.262765],[102.707602,33.262608],[102.707421,33.26237],[102.707383,33.262284],[102.707359,33.262118],[102.707349,33.262078],[102.707311,33.261932],[102.707235,33.261832],[102.707069,33.261737],[102.706975,33.261688],[102.706686,33.261539],[102.706398,33.26139],[102.706298,33.261294],[102.706274,33.261223],[102.706272,33.261209],[102.70626,33.261123],[102.706198,33.261014],[102.706074,33.260952],[102.705908,33.260937],[102.7059,33.260938],[102.705636,33.260971],[102.705432,33.260937],[102.705294,33.260876],[102.70507,33.260709],[102.704846,33.260542],[102.704632,33.260447],[102.704342,33.260352],[102.704144,33.260237],[102.704013,33.260162],[102.703785,33.259986],[102.703633,33.259795],[102.703452,33.259434],[102.703361,33.259348],[102.703138,33.259267],[102.702947,33.259196],[102.702729,33.259096],[102.702581,33.258967],[102.702315,33.258748],[102.702048,33.258529],[102.701846,33.258284],[102.701644,33.258039],[102.701501,33.257768],[102.701372,33.25772],[102.701229,33.25773],[102.70112,33.257801],[102.700977,33.257901],[102.700735,33.257977],[102.70071,33.25798],[102.700421,33.258009],[102.700363,33.258015],[102.700225,33.258039],[102.70013,33.258073],[102.70004,33.258149],[102.699887,33.258353],[102.699714,33.258701],[102.69954,33.259048],[102.699335,33.259265],[102.699131,33.259481],[102.698926,33.259614],[102.698769,33.259729],[102.698541,33.259781],[102.698312,33.25981],[102.698208,33.259857],[102.698096,33.260183],[102.697984,33.260509],[102.697872,33.260835],[102.69776,33.261161],[102.697629,33.261572],[102.697497,33.261983],[102.697365,33.262394],[102.69734,33.262465],[102.697212,33.262828],[102.697108,33.263122],[102.69698,33.263369],[102.696885,33.263502],[102.696516,33.263729],[102.696147,33.263955],[102.696071,33.263974],[102.695866,33.26395],[102.695505,33.263888],[102.695152,33.263737],[102.6948,33.263587],[102.694448,33.263436],[102.694086,33.263291],[102.693725,33.263146],[102.693472,33.263086],[102.69322,33.263027],[102.692898,33.262995],[102.692576,33.262963],[102.692254,33.262931],[102.691914,33.262858],[102.691878,33.262851],[102.691721,33.262822],[102.691517,33.262865],[102.691226,33.263036],[102.690967,33.263329],[102.690707,33.263622],[102.690448,33.263915],[102.690188,33.264207],[102.689894,33.264346],[102.689568,33.26433],[102.689242,33.264314],[102.688954,33.264248],[102.688686,33.264124],[102.68846,33.264019],[102.688121,33.263729],[102.687782,33.263439],[102.687444,33.263148],[102.687261,33.262959],[102.687079,33.262771],[102.686897,33.262582],[102.686715,33.262393],[102.686533,33.262204],[102.68635,33.262015],[102.686168,33.261826],[102.685986,33.261637],[102.685804,33.261448],[102.685622,33.26126],[102.685439,33.261071],[102.685257,33.260882],[102.685075,33.260693],[102.684893,33.260504],[102.68471,33.260315],[102.684528,33.260126],[102.684415,33.260009],[102.684379,33.259972],[102.684346,33.259937],[102.684164,33.259748],[102.684042,33.259622],[102.683982,33.25956],[102.683911,33.259486],[102.683799,33.259371],[102.68353,33.259111],[102.683261,33.258852],[102.682992,33.258592],[102.68278,33.258366],[102.682569,33.258139],[102.682418,33.257913],[102.682267,33.257687],[102.682117,33.257431],[102.681967,33.257174],[102.681814,33.256979],[102.681662,33.256783],[102.681416,33.256525],[102.68117,33.256267],[102.680963,33.256096],[102.680756,33.255925],[102.680549,33.255754],[102.680342,33.255583],[102.68014,33.255455],[102.679938,33.255327],[102.679736,33.255199],[102.679535,33.255071],[102.679333,33.254943],[102.679131,33.254815],[102.678929,33.254687],[102.678727,33.254559],[102.678498,33.254435],[102.678305,33.254331],[102.67827,33.254312],[102.678269,33.254311],[102.678247,33.254299],[102.678179,33.254262],[102.678041,33.254188],[102.677812,33.254064],[102.677584,33.25394],[102.677355,33.253816],[102.677127,33.253693],[102.676969,33.253607],[102.676899,33.253569],[102.676899,33.253569],[102.676898,33.253569],[102.67667,33.253445],[102.676441,33.253321],[102.676242,33.253204],[102.676043,33.253086],[102.675844,33.252969],[102.675645,33.252851],[102.675418,33.252766],[102.675191,33.25268],[102.674759,33.252591],[102.674519,33.252525],[102.67428,33.25246],[102.673872,33.252351],[102.673621,33.252266],[102.67337,33.25218],[102.673119,33.252063],[102.672868,33.251946],[102.67256,33.251739],[102.672322,33.251593],[102.672238,33.251559],[102.672107,33.251507],[102.671939,33.25144],[102.671893,33.251421],[102.671652,33.251367],[102.671412,33.251312],[102.671123,33.251266],[102.670834,33.25122],[102.670497,33.251194],[102.670147,33.251187],[102.669797,33.25118],[102.669674,33.251259],[102.669623,33.251379],[102.669594,33.251562],[102.669601,33.251767],[102.669607,33.251927],[102.66964,33.251985],[102.669816,33.252294],[102.66998,33.252481],[102.670144,33.252667],[102.670304,33.252968],[102.670351,33.253055],[102.670351,33.253056],[102.670351,33.253056],[102.670319,33.253339],[102.670098,33.253497],[102.669829,33.253633],[102.669797,33.253661],[102.669705,33.253741],[102.669671,33.253771],[102.669557,33.25387],[102.669532,33.253892],[102.669502,33.254094],[102.669554,33.254439],[102.669564,33.254499],[102.669644,33.254669],[102.669747,33.254889],[102.669908,33.255195],[102.669962,33.25543],[102.670016,33.255664],[102.670033,33.255949],[102.670025,33.256242],[102.670017,33.256536],[102.669961,33.256819],[102.669877,33.257014],[102.669698,33.257229],[102.669684,33.257246],[102.669627,33.257314],[102.669553,33.257393],[102.669532,33.257407],[102.669481,33.257441],[102.669233,33.25761],[102.668915,33.257767],[102.668524,33.257942],[102.668255,33.258058],[102.668156,33.258158],[102.668129,33.258259],[102.668172,33.258442],[102.668334,33.258729],[102.668373,33.258803],[102.668402,33.258859],[102.668464,33.258977],[102.668477,33.259001],[102.668495,33.259036],[102.668497,33.259042],[102.668529,33.259172],[102.668581,33.259382],[102.668575,33.259686],[102.668525,33.259726],[102.668427,33.259764],[102.668395,33.259769],[102.668268,33.259789],[102.668245,33.259792],[102.668185,33.259801],[102.66799,33.259847],[102.667869,33.259875],[102.667567,33.25987],[102.667495,33.259868],[102.667423,33.259867],[102.667359,33.259866],[102.667224,33.259863],[102.666976,33.259859],[102.666529,33.259851],[102.666388,33.259848],[102.666319,33.259847],[102.666082,33.259842],[102.665719,33.259886],[102.665355,33.25993],[102.665303,33.259939],[102.665101,33.259976],[102.664846,33.260021],[102.66458,33.260046],[102.664313,33.260072],[102.664059,33.260067],[102.663805,33.260063],[102.663384,33.260005],[102.662963,33.259947],[102.66253,33.259867],[102.662098,33.259787],[102.661784,33.259781],[102.661351,33.259753],[102.660965,33.259746],[102.660531,33.259658],[102.660196,33.259549],[102.659861,33.259441],[102.659623,33.259317],[102.659384,33.259194],[102.659146,33.25907],[102.658908,33.258947],[102.65867,33.258823],[102.658431,33.258699],[102.658193,33.258576],[102.657955,33.258452],[102.657658,33.258237],[102.657352,33.257947],[102.657045,33.257657],[102.656809,33.25745],[102.65655,33.257203],[102.656336,33.257077],[102.656003,33.256868],[102.655693,33.25673],[102.655384,33.256592],[102.655169,33.256492],[102.654954,33.256392],[102.654739,33.256291],[102.654524,33.256191],[102.654225,33.256094],[102.653926,33.255997],[102.653661,33.255911],[102.653303,33.255783],[102.652993,33.255655],[102.652635,33.255466],[102.652495,33.255302],[102.652235,33.255113],[102.652045,33.254928],[102.651788,33.254659],[102.651482,33.254349],[102.651285,33.254051],[102.651088,33.253753],[102.650862,33.2534],[102.650636,33.253046],[102.65041,33.252692],[102.650184,33.252338],[102.649918,33.252038],[102.649716,33.251923],[102.649514,33.251808],[102.649154,33.251699],[102.648746,33.25163],[102.648337,33.251562],[102.64817,33.251519],[102.647881,33.251432],[102.647585,33.251244],[102.647288,33.251056],[102.647103,33.250907],[102.646918,33.250758],[102.646733,33.25061],[102.646548,33.250461],[102.646363,33.250312],[102.646178,33.250163],[102.646109,33.250122],[102.645797,33.249933],[102.645462,33.249805],[102.64521,33.249759],[102.644957,33.249714],[102.644729,33.249679],[102.6445,33.249645],[102.644117,33.249516],[102.64371,33.249387],[102.643499,33.249243],[102.643288,33.249099],[102.643077,33.248955],[102.642866,33.248811],[102.642642,33.248656],[102.642419,33.248501],[102.642195,33.248346],[102.641972,33.248192],[102.641748,33.248037],[102.641525,33.247882],[102.641301,33.247727],[102.641078,33.247572],[102.640854,33.247417],[102.640631,33.247263],[102.640407,33.247108],[102.640184,33.246953],[102.63996,33.246798],[102.639737,33.246643],[102.639545,33.246507],[102.639521,33.24649],[102.639304,33.246336],[102.639088,33.246182],[102.638872,33.246029],[102.638655,33.245875],[102.638439,33.245722],[102.638223,33.245568],[102.638007,33.245415],[102.637669,33.245265],[102.637641,33.245252],[102.637344,33.24512],[102.637305,33.245103],[102.637275,33.24509],[102.637194,33.245053],[102.637148,33.245033],[102.636988,33.244962],[102.63691,33.244927],[102.636563,33.244789],[102.636217,33.244651],[102.635792,33.244516],[102.635367,33.244381],[102.634942,33.244247],[102.634516,33.244112],[102.634115,33.243939],[102.633713,33.243767],[102.633311,33.243595],[102.633074,33.243428],[102.632863,33.243201],[102.632841,33.243162],[102.632755,33.24301],[102.632748,33.242996],[102.632734,33.242611],[102.632812,33.242389],[102.632891,33.242168],[102.633048,33.24187],[102.633081,33.241806],[102.633272,33.241445],[102.633376,33.241183],[102.633479,33.240922],[102.633537,33.240579],[102.633572,33.240194],[102.633583,33.240099],[102.633603,33.239931],[102.633634,33.239668],[102.633642,33.239371],[102.633644,33.239304],[102.633614,33.239081],[102.633584,33.238857],[102.633509,33.238637],[102.633469,33.238517],[102.633435,33.238416],[102.63336,33.238195],[102.633286,33.237975],[102.633211,33.237754],[102.633137,33.237533],[102.633027,33.237336],[102.632918,33.237139],[102.632808,33.236942],[102.632699,33.236745],[102.63259,33.236547],[102.63248,33.23635],[102.632371,33.236153],[102.632262,33.235956],[102.63209,33.235598],[102.631919,33.23524],[102.631794,33.234954],[102.631669,33.234669],[102.631578,33.234446],[102.631488,33.234224],[102.631397,33.234002],[102.631306,33.233779],[102.631216,33.233557],[102.631125,33.233335],[102.631034,33.233112],[102.630944,33.23289],[102.630843,33.232635],[102.630742,33.232381],[102.630632,33.231953],[102.630614,33.231694],[102.630638,33.231606],[102.630696,33.23139],[102.630809,33.23119],[102.630923,33.23099],[102.631111,33.23073],[102.631299,33.230469],[102.631454,33.230087],[102.631546,33.229816],[102.631639,33.229544],[102.631674,33.229119],[102.631638,33.228672],[102.631596,33.228418],[102.631555,33.228164],[102.631457,33.227787],[102.631359,33.22741],[102.631274,33.227149],[102.631189,33.226888],[102.631105,33.226627],[102.63102,33.226366],[102.630935,33.226105],[102.630851,33.225844],[102.630766,33.225583],[102.630681,33.225322],[102.630597,33.225061],[102.630512,33.224799],[102.630449,33.22458],[102.630386,33.22436],[102.630323,33.22414],[102.630261,33.22392],[102.630198,33.2237],[102.630135,33.223481],[102.630098,33.223074],[102.630044,33.22283],[102.629991,33.222585],[102.629902,33.2223],[102.629813,33.222015],[102.629591,33.221767],[102.629368,33.22152],[102.629146,33.221253],[102.628923,33.220985],[102.628779,33.220786],[102.628635,33.220586],[102.62849,33.220387],[102.628346,33.220187],[102.628202,33.219988],[102.628057,33.219789],[102.627913,33.219589],[102.627769,33.21939],[102.627625,33.21919],[102.62748,33.218991],[102.627288,33.218624],[102.627095,33.218258],[102.626903,33.217891],[102.626801,33.217666],[102.626698,33.217442],[102.626613,33.217054],[102.626571,33.216821],[102.62653,33.216587],[102.626439,33.216373],[102.626347,33.216159],[102.626185,33.215904],[102.626046,33.215686],[102.625812,33.215418],[102.625554,33.21515],[102.625244,33.214962],[102.625019,33.214836],[102.624793,33.21471],[102.624436,33.21446],[102.62413,33.214231],[102.623979,33.214045],[102.623827,33.21386],[102.623724,33.213634],[102.623621,33.213409],[102.623593,33.213145],[102.623564,33.212881],[102.623646,33.212526],[102.62375,33.212265],[102.623853,33.212003],[102.624077,33.211744],[102.624252,33.211524],[102.624427,33.211304],[102.624583,33.21111],[102.62474,33.210916],[102.624896,33.210721],[102.625052,33.210527],[102.625196,33.210332],[102.62534,33.210137],[102.625484,33.209942],[102.625628,33.209747],[102.625731,33.209545],[102.625821,33.209304],[102.625912,33.209063],[102.625965,33.20876],[102.626018,33.208457],[102.626054,33.208254],[102.626089,33.207871],[102.626097,33.207597],[102.626106,33.207324],[102.626053,33.206988],[102.626001,33.206652],[102.625885,33.20641],[102.625746,33.206163],[102.625631,33.205918],[102.625615,33.205634],[102.625716,33.205473],[102.625951,33.205129],[102.626186,33.204785],[102.626194,33.204773],[102.62646,33.204447],[102.626726,33.204122],[102.626992,33.203796],[102.627284,33.203497],[102.627576,33.203199],[102.627868,33.2029],[102.628159,33.202601],[102.628333,33.202363],[102.628489,33.201979],[102.62855,33.201758],[102.628611,33.201536],[102.628671,33.201314],[102.628732,33.201092],[102.628805,33.200827],[102.628879,33.200563],[102.628952,33.200298],[102.629026,33.200033],[102.629099,33.199769],[102.629173,33.199504],[102.629246,33.199239],[102.62932,33.198975],[102.629332,33.198573],[102.629289,33.19835],[102.629247,33.198127],[102.629162,33.19772],[102.629076,33.197312],[102.628917,33.196934],[102.628758,33.196556],[102.628631,33.196202],[102.628504,33.195848],[102.628377,33.195495],[102.628263,33.195249],[102.628149,33.195004],[102.628047,33.194759],[102.627945,33.194514],[102.627759,33.194185],[102.627573,33.193959],[102.627349,33.193793],[102.627124,33.193626],[102.626811,33.193424],[102.626498,33.193222],[102.626186,33.19302],[102.626057,33.192937],[102.625814,33.192758],[102.625648,33.192613],[102.625416,33.192305],[102.625301,33.19207],[102.625187,33.191835],[102.625121,33.1916],[102.625054,33.191366],[102.624968,33.190989],[102.624882,33.190613],[102.624749,33.190226],[102.624658,33.18999],[102.624567,33.189755],[102.624455,33.189449],[102.624342,33.189142],[102.624146,33.188824],[102.62395,33.188507],[102.623754,33.188148],[102.623558,33.18779],[102.623385,33.187496],[102.623211,33.187201],[102.623049,33.186934],[102.622861,33.186768],[102.622552,33.18656],[102.62222,33.186391],[102.621788,33.186292],[102.621355,33.186192],[102.621098,33.186152],[102.620842,33.186112],[102.620585,33.186071],[102.620328,33.186031],[102.620071,33.18599],[102.619815,33.18595],[102.619558,33.185909],[102.619301,33.185869],[102.619044,33.185829],[102.618788,33.185788],[102.618531,33.185748],[102.618274,33.185707],[102.618017,33.185667],[102.61776,33.185626],[102.617504,33.185586],[102.617247,33.185546],[102.616973,33.185514],[102.616698,33.185482],[102.616424,33.185451],[102.61615,33.185419],[102.615875,33.185388],[102.615601,33.185356],[102.615327,33.185325],[102.615053,33.185293],[102.614778,33.185262],[102.614504,33.18523],[102.61427,33.185192],[102.614195,33.185179],[102.614169,33.185175],[102.614036,33.185153],[102.613803,33.185115],[102.613569,33.185076],[102.613335,33.185038],[102.613101,33.185],[102.612868,33.184961],[102.612634,33.184923],[102.6124,33.184885],[102.612166,33.184846],[102.611933,33.184808],[102.611699,33.18477],[102.611435,33.184704],[102.611171,33.184638],[102.611034,33.184604],[102.610908,33.184572],[102.610644,33.184507],[102.61038,33.184441],[102.610117,33.184375],[102.609882,33.184338],[102.609786,33.184322],[102.6097,33.184308],[102.609648,33.1843],[102.609479,33.184273],[102.609414,33.184263],[102.609179,33.184225],[102.609081,33.184209],[102.609001,33.184196],[102.608945,33.184188],[102.608774,33.18416],[102.608711,33.18415],[102.608477,33.184113],[102.608242,33.184075],[102.608014,33.184054],[102.607968,33.184049],[102.607785,33.184032],[102.607557,33.184011],[102.607376,33.183994],[102.607328,33.183989],[102.6071,33.183968],[102.606871,33.183946],[102.606437,33.183939],[102.606098,33.183973],[102.605735,33.184047],[102.605371,33.184121],[102.605121,33.184197],[102.604872,33.184273],[102.604863,33.184276],[102.604622,33.184349],[102.604373,33.184426],[102.604123,33.184502],[102.604109,33.184506],[102.604085,33.184514],[102.603873,33.184578],[102.603624,33.184654],[102.603374,33.184731],[102.60313,33.184843],[102.602886,33.184954],[102.602641,33.185066],[102.602397,33.185178],[102.602152,33.18529],[102.601908,33.185402],[102.601842,33.185432],[102.601664,33.185514],[102.601419,33.185626],[102.60117,33.185713],[102.600922,33.185801],[102.600531,33.185915],[102.600313,33.185972],[102.600094,33.186029],[102.599744,33.186052],[102.599393,33.186076],[102.598966,33.186108],[102.598539,33.18614],[102.598112,33.186173],[102.597668,33.186168],[102.597224,33.186163],[102.59678,33.186158],[102.596655,33.186157],[102.596348,33.186154],[102.596301,33.186154],[102.595916,33.186151],[102.595688,33.186123],[102.595687,33.186123],[102.595687,33.186123],[102.59555,33.186107],[102.595459,33.186096],[102.595418,33.186091],[102.595231,33.186069],[102.595002,33.186042],[102.594774,33.186015],[102.594545,33.185987],[102.594316,33.18596],[102.594088,33.185933],[102.593835,33.185915],[102.593582,33.185896],[102.593329,33.185878],[102.593076,33.185859],[102.592824,33.185841],[102.592571,33.185822],[102.592341,33.18578],[102.592111,33.185738],[102.591881,33.185696],[102.591651,33.185653],[102.591421,33.185611],[102.591191,33.185569],[102.590961,33.185527],[102.590731,33.185485],[102.59047,33.185421],[102.590209,33.185357],[102.589948,33.185294],[102.589688,33.18523],[102.589427,33.185167],[102.589166,33.185103],[102.588906,33.185039],[102.588645,33.184976],[102.588384,33.184912],[102.588124,33.184848],[102.58801,33.184821],[102.587863,33.184785],[102.587662,33.184736],[102.587602,33.184721],[102.587452,33.184685],[102.587342,33.184658],[102.587081,33.184594],[102.587175,33.184202],[102.58727,33.18381],[102.587269,33.183796],[102.587251,33.1834],[102.587198,33.183066],[102.587115,33.182782],[102.58695,33.182623],[102.586923,33.182597],[102.586922,33.182595],[102.586785,33.182463],[102.58662,33.182303],[102.586456,33.182144],[102.586171,33.181972],[102.585887,33.1818],[102.585586,33.181679],[102.585284,33.181558],[102.584936,33.181449],[102.584588,33.18134],[102.584349,33.181284],[102.58411,33.181228],[102.584043,33.181212],[102.583989,33.1812],[102.583872,33.181172],[102.583633,33.181116],[102.583394,33.18106],[102.583156,33.181004],[102.582917,33.180949],[102.582678,33.180893],[102.582378,33.180747],[102.582373,33.180745],[102.582348,33.180733],[102.582017,33.180573],[102.581701,33.180387],[102.581386,33.180202],[102.581163,33.180005],[102.580939,33.179809],[102.580777,33.179601],[102.580615,33.179393],[102.580561,33.179157],[102.580506,33.178921],[102.580452,33.178684],[102.580398,33.178448],[102.580405,33.178141],[102.580444,33.177861],[102.580541,33.177631],[102.580638,33.17748],[102.58088,33.177242],[102.580919,33.177203],[102.581023,33.177009],[102.581123,33.176823],[102.581326,33.176443],[102.581469,33.176178],[102.581481,33.176155],[102.58153,33.176063],[102.581546,33.175853],[102.581554,33.175744],[102.58156,33.175671],[102.581572,33.175503],[102.581579,33.175424],[102.581583,33.175369],[102.581595,33.175242],[102.5816,33.175181],[102.581622,33.174939],[102.581753,33.174583],[102.581948,33.174227],[102.582134,33.174053],[102.582207,33.173939],[102.582238,33.173889],[102.582459,33.173746],[102.582572,33.17362],[102.582688,33.173403],[102.582664,33.173274],[102.58261,33.173017],[102.582583,33.172928],[102.582507,33.172677],[102.582242,33.172338],[102.582176,33.1722],[102.582069,33.171976],[102.581984,33.171758],[102.581898,33.171539],[102.581808,33.171437],[102.581692,33.171304],[102.581421,33.171171],[102.581086,33.171138],[102.580843,33.171082],[102.580658,33.171055],[102.580449,33.171024],[102.580087,33.170862],[102.579908,33.170705],[102.579733,33.170446],[102.579554,33.170059],[102.579376,33.169672],[102.579256,33.169431],[102.579135,33.169189],[102.579015,33.168948],[102.578894,33.168707],[102.578774,33.168466],[102.578653,33.168224],[102.578448,33.167965],[102.57818,33.167728],[102.577968,33.167648],[102.577756,33.167568],[102.577438,33.167497],[102.577121,33.167426],[102.576755,33.167336],[102.576726,33.167329],[102.576534,33.167282],[102.576332,33.167232],[102.576163,33.167177],[102.576,33.167123],[102.575667,33.167014],[102.575304,33.166905],[102.574941,33.166795],[102.574924,33.166791],[102.57454,33.166683],[102.574155,33.166575],[102.57373,33.166477],[102.573306,33.166378],[102.572897,33.166281],[102.572487,33.166184],[102.572064,33.166073],[102.57164,33.165962],[102.5714,33.165829],[102.57116,33.165697],[102.570921,33.1655],[102.570683,33.165303],[102.57052,33.165121],[102.570358,33.164939],[102.570182,33.164562],[102.570007,33.164185],[102.569832,33.163808],[102.569654,33.163599],[102.569491,33.163443],[102.569328,33.163287],[102.569091,33.163052],[102.568971,33.162985],[102.568957,33.162966],[102.568761,33.162752],[102.568642,33.16252],[102.568386,33.16236],[102.568095,33.162253],[102.567803,33.162276],[102.567473,33.162475],[102.56722,33.162627],[102.567095,33.162717],[102.566923,33.16274],[102.566739,33.162675],[102.566643,33.162449],[102.566582,33.162157],[102.56656,33.16205],[102.56653,33.161747],[102.566352,33.161467],[102.566123,33.161203],[102.565929,33.16098],[102.565784,33.160751],[102.565638,33.160522],[102.565538,33.160194],[102.565437,33.159867],[102.565412,33.159784],[102.565341,33.159683],[102.565263,33.159611],[102.565132,33.159582],[102.564919,33.159593],[102.564811,33.1596],[102.56446,33.159641],[102.564234,33.159611],[102.564074,33.159492],[102.563901,33.159356],[102.563776,33.15926],[102.563663,33.159254],[102.563366,33.159272],[102.56314,33.15935],[102.562908,33.159308],[102.562673,33.159189],[102.562438,33.15907],[102.562075,33.158969],[102.561712,33.158868],[102.561357,33.158746],[102.56114,33.15882],[102.560923,33.158895],[102.560521,33.159091],[102.560242,33.159253],[102.559963,33.159414],[102.559649,33.159715],[102.559463,33.159852],[102.559277,33.15999],[102.559242,33.160013],[102.559043,33.160151],[102.559011,33.160174],[102.558809,33.160313],[102.558532,33.160423],[102.558254,33.160533],[102.557827,33.160601],[102.557477,33.160568],[102.557127,33.160536],[102.556896,33.160504],[102.556679,33.160385],[102.55656,33.160319],[102.55634,33.16026],[102.556013,33.160319],[102.555922,33.160351],[102.555757,33.160408],[102.555531,33.160485],[102.555305,33.160563],[102.555011,33.160674],[102.554717,33.160785],[102.554423,33.160896],[102.554187,33.160986],[102.553848,33.161152],[102.553616,33.161164],[102.553431,33.161099],[102.553211,33.160956],[102.553033,33.160664],[102.552955,33.160441],[102.552878,33.160218],[102.552747,33.160099],[102.552609,33.160041],[102.55242,33.159962],[102.552345,33.159906],[102.552182,33.159784],[102.551926,33.159605],[102.551629,33.159397],[102.551492,33.159189],[102.55132,33.158817],[102.551147,33.158445],[102.550992,33.158083],[102.550927,33.157904],[102.550772,33.15772],[102.550736,33.157565],[102.550593,33.157486],[102.550201,33.15727],[102.549809,33.157053],[102.549613,33.156946],[102.549464,33.156964],[102.549291,33.156845],[102.548928,33.15675],[102.548637,33.156673],[102.548593,33.156656],[102.548256,33.15653],[102.548051,33.156408],[102.547846,33.156286],[102.547542,33.156012],[102.547358,33.155825],[102.547173,33.155638],[102.546878,33.155473],[102.546582,33.155308],[102.546477,33.155227],[102.546251,33.154864],[102.54621,33.154692],[102.546073,33.154507],[102.546002,33.154377],[102.545906,33.15418],[102.545847,33.153948],[102.545834,33.153855],[102.545787,33.153512],[102.54574,33.153169],[102.545752,33.152824],[102.545829,33.152527],[102.545829,33.152417],[102.545829,33.151993],[102.545829,33.151569],[102.545805,33.15142],[102.545696,33.151243],[102.54534,33.151018],[102.544948,33.150856],[102.544624,33.150778],[102.544374,33.150752],[102.544223,33.150736],[102.543946,33.150706],[102.54367,33.150677],[102.543414,33.150629],[102.543301,33.150558],[102.543174,33.150431],[102.543075,33.150332],[102.542849,33.150308],[102.542726,33.150324],[102.542533,33.150349],[102.542233,33.150445],[102.541933,33.15054],[102.541671,33.150546],[102.541377,33.15046],[102.541084,33.150375],[102.54079,33.15029],[102.540416,33.150236],[102.539987,33.150254],[102.539583,33.150314],[102.539268,33.150465],[102.538952,33.150617],[102.538875,33.150666],[102.538562,33.150864],[102.538248,33.151062],[102.537935,33.151259],[102.537656,33.151518],[102.537376,33.151777],[102.537351,33.151829],[102.537215,33.15211],[102.536971,33.152259],[102.536626,33.15239],[102.5365,33.15241],[102.536186,33.152461],[102.535832,33.152717],[102.535478,33.152973],[102.535303,33.153139],[102.535127,33.153306],[102.534954,33.153376],[102.534878,33.153407],[102.534741,33.153413],[102.534574,33.153365],[102.534342,33.153234],[102.534166,33.153212],[102.533994,33.153216],[102.533704,33.153223],[102.533606,33.153207],[102.533491,33.153211],[102.533242,33.153258],[102.532992,33.153306],[102.532778,33.153246],[102.53254,33.153145],[102.532236,33.153115],[102.532187,33.153119],[102.531964,33.153136],[102.531921,33.153139],[102.53186,33.153156],[102.531522,33.153246],[102.531195,33.153425],[102.530868,33.153603],[102.530621,33.153779],[102.530374,33.153955],[102.530136,33.154096],[102.529898,33.154236],[102.529897,33.154236],[102.529896,33.154237],[102.529638,33.154324],[102.529381,33.154412],[102.529149,33.154501],[102.528917,33.154589],[102.528662,33.154584],[102.528407,33.154579],[102.52811,33.154523],[102.527814,33.154467],[102.527551,33.154147],[102.527482,33.153881],[102.527413,33.153615],[102.527356,33.15322],[102.527299,33.152826],[102.527212,33.152588],[102.527125,33.15235],[102.526877,33.152031],[102.526764,33.151885],[102.526764,33.151885],[102.526763,33.151884],[102.526361,33.151698],[102.525958,33.151511],[102.525559,33.151403],[102.525159,33.151295],[102.52476,33.151187],[102.52445,33.15109],[102.524141,33.150993],[102.523832,33.150897],[102.523523,33.150786],[102.523215,33.150675],[102.522906,33.150563],[102.522716,33.150352],[102.522527,33.150141],[102.522457,33.149911],[102.522387,33.14968],[102.522402,33.149428],[102.522432,33.14909],[102.522462,33.148753],[102.522492,33.148416],[102.522546,33.148071],[102.522582,33.147785],[102.522617,33.1475],[102.52257,33.147238],[102.522522,33.146976],[102.522445,33.146759],[102.522368,33.146542],[102.522198,33.14626],[102.522028,33.145977],[102.521922,33.145791],[102.521755,33.1455],[102.521588,33.14521],[102.521474,33.144993],[102.521309,33.14468],[102.52113,33.144347],[102.520934,33.144062],[102.520708,33.143913],[102.520342,33.14372],[102.519976,33.143526],[102.519792,33.143306],[102.51972,33.143003],[102.519688,33.14278],[102.519655,33.142557],[102.519697,33.14211],[102.519738,33.141664],[102.51978,33.141218],[102.519756,33.140921],[102.519738,33.14065],[102.51972,33.140378],[102.519628,33.140072],[102.519616,33.140031],[102.519536,33.139765],[102.519278,33.139469],[102.51902,33.139173],[102.518762,33.138877],[102.518428,33.138656],[102.518161,33.138479],[102.517893,33.138301],[102.51748,33.138193],[102.517066,33.138085],[102.516768,33.138017],[102.516469,33.137949],[102.516171,33.137881],[102.516062,33.137847],[102.51606,33.137846],[102.516058,33.137846],[102.515742,33.137718],[102.515425,33.137589],[102.515211,33.137471],[102.514914,33.137195],[102.514616,33.136919],[102.514319,33.136644],[102.514105,33.136352],[102.514004,33.136025],[102.513962,33.135686],[102.513994,33.135377],[102.514026,33.135067],[102.514057,33.134758],[102.514016,33.134356],[102.513974,33.133955],[102.513967,33.133598],[102.51396,33.13324],[102.513956,33.133063],[102.513909,33.132694],[102.513825,33.132414],[102.513647,33.132081],[102.513638,33.132068],[102.513467,33.131822],[102.513296,33.131575],[102.513128,33.13137],[102.512961,33.131164],[102.512774,33.130934],[102.512517,33.130618],[102.512344,33.13035],[102.512172,33.130082],[102.511975,33.129847],[102.511779,33.129612],[102.511603,33.129458],[102.511428,33.129303],[102.511285,33.129],[102.511249,33.12875],[102.511291,33.128339],[102.511398,33.128066],[102.511505,33.127792],[102.511624,33.127572],[102.511725,33.127167],[102.511535,33.126906],[102.511336,33.1267],[102.511136,33.126495],[102.510904,33.126311],[102.510672,33.126126],[102.51039,33.125988],[102.510108,33.12585],[102.509766,33.125682],[102.509423,33.125514],[102.509106,33.125397],[102.508789,33.12528],[102.508471,33.125163],[102.508125,33.125022],[102.507778,33.124881],[102.507431,33.12474],[102.507129,33.124617],[102.506828,33.124494],[102.506526,33.124372],[102.506187,33.124215],[102.505848,33.124058],[102.505509,33.123902],[102.505268,33.123795],[102.505027,33.123687],[102.5047,33.123497],[102.504495,33.123334],[102.50429,33.12317],[102.504052,33.12298],[102.503703,33.122823],[102.503354,33.122666],[102.503005,33.12251],[102.502658,33.122361],[102.502311,33.122212],[102.501964,33.122064],[102.501658,33.121951],[102.501353,33.121838],[102.501252,33.121786],[102.500924,33.121574],[102.500596,33.121363],[102.500267,33.121151],[102.500176,33.121076],[102.499831,33.120791],[102.499486,33.120506],[102.499217,33.120271],[102.49892,33.120013],[102.498622,33.119754],[102.498325,33.119495],[102.498023,33.119332],[102.497722,33.119168],[102.49742,33.119005],[102.497119,33.118841],[102.496763,33.118629],[102.496408,33.118417],[102.496367,33.118384],[102.496163,33.118132],[102.495959,33.117879],[102.495715,33.117543],[102.495556,33.117185],[102.495507,33.116937],[102.495457,33.11669],[102.49546,33.116438],[102.495462,33.116185],[102.495465,33.115933],[102.495467,33.115681],[102.49547,33.115428],[102.495472,33.115176],[102.495511,33.114799],[102.495507,33.114697],[102.495495,33.114396],[102.495459,33.114135],[102.495424,33.113874],[102.495366,33.113448],[102.495308,33.113021],[102.49537,33.112809],[102.495404,33.112597],[102.495556,33.112221],[102.495763,33.11187],[102.495911,33.111613],[102.496002,33.111379],[102.496041,33.111001],[102.496019,33.110811],[102.495996,33.110679],[102.495994,33.110668],[102.495944,33.110455],[102.495767,33.110205],[102.49559,33.109955],[102.495497,33.109728],[102.495404,33.109501],[102.495304,33.109074],[102.495258,33.108695],[102.495271,33.108269],[102.49528,33.107914],[102.495289,33.107608],[102.495325,33.107324],[102.495449,33.106948],[102.495455,33.106711],[102.495376,33.106497],[102.495187,33.106233],[102.494911,33.106038],[102.494578,33.105889],[102.494342,33.105766],[102.494106,33.105644],[102.493787,33.105495],[102.493467,33.105347],[102.493204,33.105188],[102.492942,33.105029],[102.492763,33.104871],[102.492584,33.104714],[102.492338,33.104449],[102.492327,33.104204],[102.492315,33.103958],[102.4923,33.103509],[102.492211,33.103242],[102.492196,33.1032],[102.492093,33.10289],[102.491899,33.102744],[102.491851,33.102722],[102.491622,33.10262],[102.491491,33.102592],[102.491383,33.102569],[102.491259,33.102542],[102.491191,33.102499],[102.49112,33.102454],[102.491065,33.102419],[102.491054,33.102412],[102.490871,33.102297],[102.490655,33.101938],[102.490592,33.1017],[102.490528,33.101462],[102.49051,33.101411],[102.490484,33.10134],[102.490424,33.101177],[102.49018,33.100864],[102.489877,33.100621],[102.489517,33.100425],[102.489302,33.100357],[102.489196,33.100324],[102.489086,33.100289],[102.488875,33.100223],[102.488608,33.100194],[102.488341,33.100165],[102.488232,33.100168],[102.488185,33.10017],[102.488102,33.100172],[102.488087,33.100173],[102.487862,33.100179],[102.487814,33.100203],[102.487785,33.100218],[102.487591,33.100315],[102.487457,33.100383],[102.48732,33.100452],[102.487115,33.100731],[102.486944,33.100964],[102.486909,33.101011],[102.486705,33.101256],[102.486502,33.1015],[102.486273,33.101613],[102.486079,33.101539],[102.486032,33.101437],[102.485974,33.101313],[102.485945,33.101251],[102.485955,33.100897],[102.486053,33.100497],[102.486156,33.100286],[102.486157,33.100285],[102.486158,33.100284],[102.486241,33.100115],[102.48626,33.100075],[102.48632,33.099937],[102.486356,33.099852],[102.486451,33.09963],[102.486547,33.099407],[102.486642,33.099184],[102.486738,33.098961],[102.486834,33.098739],[102.486945,33.098511],[102.487057,33.098284],[102.487169,33.098057],[102.487281,33.09783],[102.487288,33.097592],[102.487212,33.097284],[102.487136,33.096998],[102.487059,33.096713],[102.486952,33.09651],[102.486846,33.096307],[102.486683,33.09609],[102.48652,33.095874],[102.486371,33.095694],[102.486221,33.095513],[102.486034,33.095155],[102.48599,33.094752],[102.485997,33.094492],[102.486004,33.094232],[102.486044,33.09383],[102.486112,33.093405],[102.486189,33.093171],[102.486266,33.092936],[102.486417,33.09256],[102.486569,33.092184],[102.486661,33.091925],[102.486674,33.091501],[102.486593,33.09131],[102.486406,33.090935],[102.486299,33.09072],[102.486193,33.090505],[102.486058,33.09029],[102.485924,33.090074],[102.485803,33.089882],[102.485682,33.08969],[102.485561,33.089464],[102.485518,33.089381],[102.485472,33.089294],[102.485441,33.089237],[102.485391,33.089011],[102.485382,33.08897],[102.485374,33.088931]]]]},"properties":{"cp":[102.6838973693402,33.13732598840634],"code":"513233204","name":"瓦切镇","level":"street","center":[102.6838973693402,33.13732598840634],"fullCode":"513233204000","fullName":"四川省阿坝藏族羌族自治州红原县瓦切镇","acreageMu":1486490.28,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.669,33.2578]}},{"id":"513233205","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.615039,32.961439],[102.615041,32.961423],[102.61506,32.961253],[102.615113,32.960767],[102.615237,32.959638],[102.615775,32.958729],[102.615969,32.958606],[102.616157,32.958487],[102.61641,32.958327],[102.616466,32.958292],[102.616657,32.958171],[102.616683,32.958155],[102.616813,32.958071],[102.616773,32.957989],[102.61714,32.957866],[102.617603,32.957574],[102.61982,32.956263],[102.620567,32.955685],[102.621524,32.954943],[102.622672,32.953755],[102.62291,32.953509],[102.623137,32.953362],[102.623227,32.953304],[102.62369,32.953007],[102.623828,32.952861],[102.623952,32.952768],[102.624102,32.95268],[102.624407,32.952583],[102.624521,32.952567],[102.624575,32.952549],[102.624634,32.95253],[102.624718,32.952503],[102.624784,32.952481],[102.624898,32.952443],[102.624993,32.952412],[102.625048,32.952413],[102.625092,32.952414],[102.625819,32.952428],[102.625966,32.95243],[102.626001,32.952431],[102.62601,32.952431],[102.626055,32.952432],[102.626411,32.952439],[102.626533,32.952441],[102.628126,32.95285],[102.629362,32.95283],[102.629667,32.952825],[102.629867,32.952653],[102.630014,32.952525],[102.630043,32.952501],[102.630072,32.952476],[102.630581,32.952036],[102.630586,32.952031],[102.631193,32.951022],[102.631212,32.950989],[102.631325,32.950801],[102.631305,32.95058],[102.631292,32.950435],[102.631289,32.950407],[102.631281,32.950321],[102.631268,32.950179],[102.631261,32.950096],[102.631253,32.950011],[102.631239,32.949864],[102.631226,32.949717],[102.631147,32.949632],[102.631026,32.949501],[102.630945,32.949414],[102.630797,32.949254],[102.630717,32.949168],[102.630664,32.949111],[102.630559,32.949094],[102.630223,32.94904],[102.630073,32.949016],[102.629896,32.948988],[102.629789,32.94897],[102.629708,32.948958],[102.629671,32.948952],[102.62965,32.948949],[102.629514,32.948927],[102.629305,32.949017],[102.629284,32.949026],[102.629275,32.949029],[102.629149,32.949084],[102.629124,32.949091],[102.629128,32.949072],[102.629128,32.949052],[102.629128,32.94903],[102.629132,32.94902],[102.62915,32.949005],[102.629183,32.948969],[102.629237,32.948921],[102.629284,32.948885],[102.62931,32.948845],[102.629287,32.948833],[102.629242,32.94884],[102.62918,32.948888],[102.629121,32.948941],[102.629036,32.948996],[102.628909,32.949071],[102.628805,32.949141],[102.628718,32.949208],[102.628679,32.949261],[102.628679,32.949286],[102.62867,32.94929],[102.627807,32.949785],[102.627695,32.949759],[102.627607,32.949758],[102.627511,32.949803],[102.627333,32.949871],[102.627195,32.949893],[102.627028,32.949901],[102.626858,32.949902],[102.626711,32.949872],[102.626617,32.949834],[102.626523,32.949756],[102.626241,32.949485],[102.62597,32.949274],[102.625912,32.949199],[102.625857,32.949129],[102.625849,32.949119],[102.625835,32.949102],[102.625803,32.949061],[102.625727,32.948963],[102.625684,32.948907],[102.625731,32.948804],[102.625736,32.948794],[102.625673,32.948727],[102.625545,32.948604],[102.625474,32.948537],[102.625371,32.948488],[102.625351,32.948476],[102.625221,32.948308],[102.624921,32.94792],[102.624661,32.947719],[102.624519,32.94761],[102.624337,32.947469],[102.62409,32.947278],[102.6239,32.947298],[102.623772,32.947322],[102.623654,32.947338],[102.623541,32.947333],[102.623575,32.947311],[102.623661,32.947282],[102.623752,32.947253],[102.623829,32.94723],[102.623969,32.947185],[102.62395,32.94717],[102.623915,32.947143],[102.623865,32.947114],[102.623832,32.947094],[102.623569,32.946939],[102.62325,32.946751],[102.622588,32.94636],[102.622215,32.94592],[102.622203,32.945672],[102.6222,32.945615],[102.622184,32.94527],[102.622188,32.945178],[102.622282,32.945131],[102.622399,32.94504],[102.622461,32.944995],[102.62253,32.944946],[102.622554,32.944902],[102.622627,32.944914],[102.624358,32.944947],[102.624897,32.944973],[102.624921,32.944974],[102.624962,32.944976],[102.625021,32.944979],[102.6252,32.944988],[102.625312,32.944994],[102.625517,32.945004],[102.625704,32.945013],[102.625829,32.945011],[102.625877,32.945011],[102.626547,32.945002],[102.626715,32.944999],[102.626771,32.944999],[102.626956,32.944996],[102.627475,32.944827],[102.627538,32.944807],[102.627781,32.944728],[102.627788,32.944485],[102.627799,32.944073],[102.6278,32.944038],[102.6278,32.94398],[102.627805,32.943247],[102.627806,32.943155],[102.627807,32.942856],[102.627808,32.94282],[102.627809,32.94268],[102.62781,32.942466],[102.62781,32.942438],[102.627811,32.942347],[102.627815,32.941644],[102.627778,32.941492],[102.627763,32.941406],[102.627746,32.941325],[102.627734,32.941265],[102.627706,32.941115],[102.627707,32.941113],[102.627744,32.94106],[102.627748,32.941041],[102.627755,32.941008],[102.627766,32.94096],[102.627786,32.940914],[102.627817,32.940889],[102.627836,32.940881],[102.627841,32.940702],[102.627853,32.940184],[102.627855,32.940176],[102.627857,32.940081],[102.627863,32.93986],[102.627846,32.939758],[102.627841,32.939733],[102.627815,32.93958],[102.627797,32.939471],[102.627788,32.939417],[102.627655,32.938638],[102.627586,32.938556],[102.627572,32.938538],[102.627485,32.938434],[102.62737,32.938296],[102.627091,32.937961],[102.627068,32.937934],[102.627002,32.937855],[102.626862,32.937789],[102.626004,32.937389],[102.625218,32.937134],[102.625103,32.937156],[102.62506,32.937158],[102.624961,32.937152],[102.624854,32.937123],[102.624805,32.937105],[102.624752,32.937074],[102.624729,32.936978],[102.623426,32.93661],[102.623307,32.936597],[102.622872,32.936552],[102.622375,32.936501],[102.62226,32.936489],[102.621987,32.936461],[102.621837,32.936446],[102.620499,32.936311],[102.620468,32.936312],[102.620401,32.936314],[102.620007,32.936327],[102.618958,32.936362],[102.618905,32.936357],[102.617919,32.936263],[102.617902,32.936261],[102.617001,32.935757],[102.616202,32.934903],[102.616183,32.934882],[102.616112,32.934807],[102.616086,32.933994],[102.616977,32.933038],[102.617518,32.933099],[102.617755,32.933125],[102.617769,32.933127],[102.617902,32.933142],[102.618273,32.933184],[102.618315,32.933188],[102.618538,32.933206],[102.618546,32.933207],[102.619521,32.933289],[102.619924,32.933347],[102.620041,32.933364],[102.620127,32.933377],[102.620815,32.933476],[102.621431,32.933512],[102.621677,32.933527],[102.621682,32.933559],[102.621699,32.933675],[102.621698,32.93368],[102.621696,32.93369],[102.621693,32.933708],[102.621769,32.93371],[102.621854,32.933686],[102.621881,32.933675],[102.621992,32.933632],[102.622146,32.933591],[102.622308,32.933513],[102.622452,32.933447],[102.622607,32.933378],[102.622749,32.933313],[102.622869,32.933262],[102.622959,32.933214],[102.623006,32.933178],[102.623085,32.933154],[102.623205,32.933127],[102.623314,32.933071],[102.623394,32.933046],[102.62347,32.932992],[102.623547,32.932913],[102.623691,32.932796],[102.623785,32.932719],[102.623863,32.932619],[102.623915,32.932574],[102.624021,32.932543],[102.624131,32.932516],[102.624212,32.932505],[102.62425,32.932496],[102.624268,32.932451],[102.624296,32.932367],[102.624322,32.932275],[102.62434,32.932118],[102.624352,32.932108],[102.624417,32.932049],[102.624694,32.931801],[102.62483,32.931679],[102.624812,32.931628],[102.624823,32.931597],[102.624853,32.931583],[102.624893,32.931572],[102.624945,32.931545],[102.62497,32.931512],[102.624988,32.931461],[102.624994,32.931421],[102.625017,32.931375],[102.625046,32.931365],[102.625083,32.931365],[102.625159,32.931349],[102.625181,32.931332],[102.625195,32.931307],[102.625206,32.931274],[102.625206,32.931252],[102.625197,32.931232],[102.625169,32.931228],[102.625177,32.931215],[102.625332,32.930966],[102.625345,32.930946],[102.625524,32.93066],[102.625606,32.930529],[102.625621,32.930505],[102.625668,32.93043],[102.625868,32.930111],[102.626012,32.929882],[102.626642,32.929153],[102.626655,32.929138],[102.626676,32.929114],[102.626806,32.928964],[102.627594,32.928481],[102.627833,32.928334],[102.628244,32.927368],[102.62809,32.926724],[102.628072,32.926649],[102.628035,32.926495],[102.627952,32.926149],[102.627941,32.926104],[102.627842,32.925932],[102.627826,32.925905],[102.627822,32.925898],[102.627717,32.925716],[102.627565,32.925452],[102.627544,32.925416],[102.627509,32.925355],[102.627443,32.925242],[102.62737,32.925116],[102.62724,32.924891],[102.627204,32.924827],[102.627159,32.92475],[102.627123,32.924718],[102.626866,32.924491],[102.626683,32.92433],[102.626609,32.924265],[102.626462,32.924135],[102.626306,32.923997],[102.626219,32.92392],[102.626133,32.923866],[102.625869,32.923702],[102.625858,32.923709],[102.625821,32.923754],[102.625802,32.923772],[102.625774,32.923775],[102.625746,32.923751],[102.625732,32.923722],[102.625703,32.92369],[102.625661,32.923676],[102.625633,32.923653],[102.625586,32.923629],[102.62553,32.923609],[102.625475,32.923596],[102.625424,32.923582],[102.625375,32.923548],[102.625368,32.923522],[102.625361,32.923485],[102.625316,32.923467],[102.625238,32.923459],[102.625196,32.923452],[102.625141,32.923431],[102.625101,32.923415],[102.625048,32.923421],[102.624994,32.923441],[102.624965,32.923437],[102.624953,32.923416],[102.624956,32.923393],[102.624992,32.923371],[102.625042,32.923351],[102.625088,32.923338],[102.625125,32.923322],[102.625135,32.923302],[102.625123,32.923279],[102.625064,32.923265],[102.624911,32.923211],[102.624853,32.923176],[102.62479,32.923129],[102.624716,32.923072],[102.624547,32.922905],[102.624522,32.922893],[102.62437,32.922788],[102.624427,32.922741],[102.624406,32.922721],[102.624385,32.922701],[102.62438,32.922696],[102.62423,32.922553],[102.62413,32.922457],[102.623484,32.921839],[102.622876,32.921123],[102.622695,32.920909],[102.6226,32.920797],[102.622552,32.92074],[102.622518,32.920701],[102.622504,32.920684],[102.622472,32.920638],[102.622378,32.920501],[102.622343,32.92045],[102.622252,32.920318],[102.622187,32.920224],[102.622164,32.92019],[102.622167,32.919965],[102.622119,32.919923],[102.62206,32.91986],[102.622022,32.919816],[102.622121,32.919364],[102.622252,32.918768],[102.622264,32.91871],[102.622268,32.918691],[102.622344,32.918642],[102.622456,32.91857],[102.622537,32.918518],[102.622575,32.918494],[102.622727,32.918396],[102.623325,32.91801],[102.624304,32.91738],[102.624471,32.917272],[102.624972,32.916551],[102.625006,32.916494],[102.625056,32.91641],[102.625147,32.916259],[102.625475,32.915709],[102.626131,32.914873],[102.62621,32.914864],[102.626231,32.91482],[102.626316,32.914762],[102.626331,32.914751],[102.626464,32.914602],[102.62657,32.914466],[102.626826,32.914228],[102.627014,32.914039],[102.627174,32.913921],[102.627188,32.913927],[102.627293,32.913989],[102.6273,32.913985],[102.62732,32.913971],[102.627406,32.913915],[102.627409,32.913899],[102.627408,32.913845],[102.627407,32.913819],[102.627407,32.913805],[102.627403,32.913797],[102.627386,32.913787],[102.627359,32.913775],[102.627343,32.913764],[102.627329,32.913749],[102.627312,32.913727],[102.627311,32.913725],[102.627301,32.913705],[102.627296,32.913693],[102.627294,32.913681],[102.627293,32.913665],[102.627293,32.913637],[102.627372,32.913652],[102.627486,32.913682],[102.627566,32.913712],[102.627622,32.913737],[102.627673,32.913766],[102.627717,32.913797],[102.627757,32.913764],[102.627804,32.913724],[102.627857,32.913679],[102.627826,32.913638],[102.627938,32.913564],[102.628346,32.913364],[102.628357,32.913358],[102.628468,32.913304],[102.628729,32.913174],[102.629248,32.912921],[102.629346,32.912872],[102.629352,32.912869],[102.629619,32.912738],[102.630083,32.91251],[102.630222,32.912471],[102.630646,32.912353],[102.63074,32.912327],[102.63089,32.912285],[102.63096,32.912265],[102.631066,32.912236],[102.631528,32.912107],[102.631709,32.912057],[102.632098,32.911948],[102.632122,32.911942],[102.632265,32.911902],[102.632352,32.911849],[102.632554,32.911727],[102.63295,32.911488],[102.633064,32.911482],[102.633099,32.911405],[102.633161,32.911223],[102.633158,32.911157],[102.633459,32.910423],[102.633451,32.909577],[102.633448,32.909315],[102.633446,32.909084],[102.633672,32.908455],[102.633697,32.908384],[102.633706,32.908358],[102.633669,32.908378],[102.633673,32.90837],[102.63376,32.908214],[102.633982,32.908013],[102.634106,32.907965],[102.634151,32.907921],[102.634259,32.907906],[102.634405,32.907885],[102.634408,32.907894],[102.634425,32.907924],[102.63444,32.907938],[102.63451,32.907935],[102.634578,32.90792],[102.634622,32.90792],[102.634669,32.907916],[102.634725,32.907908],[102.634773,32.907902],[102.63481,32.907899],[102.634866,32.90789],[102.634881,32.90788],[102.634845,32.907863],[102.634825,32.907857],[102.634803,32.907842],[102.6348,32.907831],[102.634893,32.907818],[102.634924,32.907813],[102.635186,32.907955],[102.635295,32.908014],[102.635437,32.90806],[102.635548,32.908071],[102.635648,32.908099],[102.635734,32.908135],[102.635777,32.908162],[102.635831,32.908216],[102.635759,32.908208],[102.635631,32.908196],[102.636014,32.908402],[102.636056,32.908415],[102.636157,32.908447],[102.636298,32.908491],[102.636569,32.908575],[102.636573,32.908576],[102.637189,32.908768],[102.637197,32.90877],[102.6372,32.908772],[102.637379,32.908827],[102.637467,32.908792],[102.637512,32.908781],[102.637542,32.908784],[102.637562,32.908815],[102.637562,32.90884],[102.637544,32.908877],[102.63776,32.908864],[102.637774,32.908863],[102.638553,32.908816],[102.638689,32.908634],[102.638712,32.908603],[102.638719,32.908595],[102.638775,32.908519],[102.63883,32.908446],[102.638818,32.908252],[102.638808,32.908094],[102.638816,32.907979],[102.638854,32.907902],[102.638858,32.907849],[102.638857,32.907807],[102.638875,32.907784],[102.638899,32.907758],[102.638926,32.907731],[102.638949,32.907703],[102.638974,32.907675],[102.638991,32.907659],[102.638979,32.90757],[102.638977,32.90756],[102.638906,32.907058],[102.638899,32.907013],[102.638848,32.906654],[102.638847,32.906642],[102.638846,32.906641],[102.63881,32.906386],[102.638776,32.906093],[102.638742,32.905803],[102.638736,32.905752],[102.638736,32.90575],[102.638653,32.905044],[102.638717,32.904836],[102.63872,32.904826],[102.638729,32.904799],[102.638725,32.904683],[102.638813,32.904022],[102.638917,32.903767],[102.639114,32.903378],[102.639166,32.903117],[102.639282,32.902909],[102.639399,32.90291],[102.639537,32.902585],[102.639571,32.902558],[102.639772,32.902395],[102.63978,32.902389],[102.640913,32.901475],[102.641605,32.901035],[102.64163,32.901019],[102.641649,32.901007],[102.641843,32.900884],[102.642057,32.900824],[102.642078,32.900818],[102.642113,32.900808],[102.6432,32.900504],[102.643417,32.900587],[102.643604,32.900659],[102.643616,32.900664],[102.643849,32.900753],[102.643867,32.90076],[102.644057,32.900946],[102.644144,32.901032],[102.644163,32.901051],[102.644176,32.901064],[102.644289,32.901174],[102.644939,32.902038],[102.645604,32.902375],[102.646228,32.902343],[102.646439,32.902333],[102.64648,32.90233],[102.64676,32.902316],[102.647604,32.901963],[102.64764,32.901948],[102.647781,32.901889],[102.647921,32.901721],[102.647949,32.901687],[102.647956,32.901679],[102.647988,32.90164],[102.648278,32.90129],[102.648493,32.900872],[102.64858,32.900704],[102.648589,32.900687],[102.648685,32.900502],[102.648717,32.900438],[102.648734,32.900406],[102.648746,32.900349],[102.64878,32.900186],[102.648955,32.899355],[102.648741,32.898383],[102.64874,32.898377],[102.648705,32.898318],[102.648697,32.898305],[102.648722,32.898283],[102.648726,32.898265],[102.648715,32.89824],[102.64869,32.898216],[102.648662,32.898199],[102.64862,32.898176],[102.648604,32.89815],[102.648575,32.8981],[102.648468,32.897922],[102.648421,32.897844],[102.648415,32.897833],[102.648333,32.897805],[102.648051,32.897713],[102.647969,32.897665],[102.64793,32.897624],[102.64786,32.897547],[102.647846,32.897512],[102.647823,32.897475],[102.647788,32.897445],[102.647752,32.897419],[102.647728,32.897394],[102.647717,32.897316],[102.647714,32.897294],[102.647879,32.896904],[102.647916,32.896819],[102.648151,32.89655],[102.648187,32.896508],[102.648212,32.89648],[102.64829,32.896338],[102.648418,32.896141],[102.648588,32.895963],[102.648795,32.895776],[102.649038,32.895568],[102.64909,32.895525],[102.649158,32.895495],[102.649227,32.895473],[102.649337,32.895435],[102.649552,32.895349],[102.649682,32.895287],[102.649687,32.895212],[102.649741,32.895177],[102.650277,32.894835],[102.650313,32.894808],[102.651363,32.894026],[102.651553,32.893885],[102.652916,32.893261],[102.65373,32.893353],[102.653779,32.893359],[102.654404,32.893727],[102.654774,32.893945],[102.654798,32.893966],[102.654896,32.894049],[102.654965,32.894054],[102.655054,32.894067],[102.655118,32.894094],[102.655163,32.894122],[102.655207,32.894169],[102.655241,32.89421],[102.655286,32.894246],[102.655358,32.894329],[102.655407,32.894417],[102.655436,32.894503],[102.655666,32.894697],[102.655688,32.894715],[102.655809,32.894817],[102.656172,32.895635],[102.65702,32.896301],[102.657266,32.89632],[102.657312,32.896324],[102.657283,32.896342],[102.657314,32.896348],[102.657345,32.896369],[102.657355,32.896381],[102.657375,32.896389],[102.657405,32.896396],[102.657512,32.896339],[102.657554,32.89631],[102.657595,32.896269],[102.657647,32.896223],[102.65768,32.896189],[102.657707,32.89615],[102.657719,32.896123],[102.657734,32.896075],[102.657742,32.896022],[102.657748,32.895951],[102.65776,32.895902],[102.657775,32.895842],[102.657791,32.89579],[102.657799,32.895756],[102.657788,32.895639],[102.657788,32.895596],[102.657781,32.895561],[102.657774,32.895521],[102.657763,32.89547],[102.657763,32.89542],[102.657769,32.895364],[102.657779,32.895304],[102.657807,32.895215],[102.657831,32.895167],[102.657837,32.895136],[102.657844,32.895084],[102.657853,32.895028],[102.657877,32.894944],[102.657896,32.894884],[102.657916,32.894839],[102.65794,32.894795],[102.657951,32.894777],[102.65794,32.894737],[102.657903,32.8946],[102.65772,32.893918],[102.657717,32.893906],[102.657666,32.893716],[102.657708,32.893378],[102.657727,32.89323],[102.658175,32.893014],[102.658214,32.892995],[102.659423,32.892734],[102.659453,32.892706],[102.660163,32.892018],[102.660845,32.891706],[102.661289,32.891693],[102.661711,32.891681],[102.662236,32.891849],[102.662522,32.89194],[102.662943,32.892394],[102.663252,32.89328],[102.663256,32.893293],[102.663256,32.893314],[102.663254,32.893365],[102.663282,32.893498],[102.663286,32.893564],[102.663283,32.89368],[102.663284,32.893795],[102.663309,32.893941],[102.663343,32.893988],[102.663323,32.89421],[102.66337,32.89451],[102.663371,32.89486],[102.663359,32.895057],[102.663396,32.895284],[102.663669,32.895898],[102.664223,32.89676],[102.664933,32.89722],[102.664967,32.897222],[102.664991,32.897223],[102.665116,32.897231],[102.665347,32.897244],[102.665707,32.897265],[102.665743,32.897268],[102.665941,32.897279],[102.666727,32.896685],[102.668332,32.895985],[102.668715,32.895839],[102.668775,32.895816],[102.668799,32.895807],[102.669116,32.895686],[102.669132,32.89568],[102.669277,32.895625],[102.66945,32.895559],[102.66958,32.895536],[102.66962,32.895528],[102.669704,32.895513],[102.670465,32.895375],[102.67052,32.895342],[102.670569,32.895312],[102.670716,32.895224],[102.671247,32.894903],[102.671862,32.894594],[102.671904,32.894503],[102.67193,32.894503],[102.671994,32.894497],[102.672181,32.894434],[102.672417,32.894316],[102.672699,32.894213],[102.673208,32.894028],[102.673582,32.893891],[102.673727,32.893784],[102.673732,32.89378],[102.673905,32.893652],[102.673934,32.893631],[102.67406,32.893538],[102.674171,32.893456],[102.674267,32.893385],[102.674244,32.893347],[102.674224,32.89325],[102.674259,32.893207],[102.674391,32.893184],[102.674546,32.89318],[102.67471,32.89306],[102.674932,32.893105],[102.674934,32.893105],[102.675121,32.893143],[102.675156,32.89315],[102.675214,32.893161],[102.67538,32.893194],[102.67542,32.893233],[102.675437,32.893248],[102.6766,32.894353],[102.67769,32.89476],[102.677699,32.894764],[102.677744,32.89478],[102.677992,32.89485],[102.678985,32.895128],[102.679132,32.895223],[102.67922,32.895247],[102.679411,32.895317],[102.679629,32.895423],[102.679745,32.895517],[102.679779,32.895555],[102.679814,32.895643],[102.67982,32.895665],[102.680026,32.895797],[102.680198,32.895948],[102.680475,32.896192],[102.68052,32.896233],[102.681483,32.897082],[102.682138,32.897476],[102.682161,32.89749],[102.682273,32.897558],[102.682409,32.89764],[102.682525,32.89771],[102.682605,32.89778],[102.682616,32.89779],[102.683137,32.898249],[102.683128,32.898592],[102.683182,32.898554],[102.683219,32.89852],[102.683253,32.898474],[102.683266,32.898424],[102.683302,32.898416],[102.683301,32.898442],[102.683301,32.89855],[102.683286,32.898632],[102.683259,32.898671],[102.683163,32.898703],[102.683124,32.898712],[102.683121,32.898865],[102.683117,32.898998],[102.683116,32.899033],[102.683115,32.89906],[102.683071,32.899073],[102.683051,32.899082],[102.683031,32.899093],[102.683013,32.899108],[102.682987,32.89914],[102.682675,32.899336],[102.682595,32.899352],[102.682578,32.899356],[102.682538,32.899364],[102.68195,32.899485],[102.681367,32.899717],[102.68106,32.9],[102.680776,32.900262],[102.680677,32.900354],[102.680458,32.900829],[102.680429,32.90089],[102.680419,32.900913],[102.680306,32.901158],[102.680333,32.90119],[102.680348,32.901209],[102.680387,32.901265],[102.680397,32.901294],[102.680399,32.901325],[102.680397,32.90136],[102.68039,32.9014],[102.680548,32.901609],[102.681053,32.901841],[102.681107,32.901866],[102.681351,32.901978],[102.681595,32.90209],[102.682116,32.902328],[102.683152,32.9032],[102.683054,32.903717],[102.683052,32.903728],[102.682995,32.904034],[102.682939,32.904074],[102.682898,32.904094],[102.68285,32.904113],[102.682817,32.904128],[102.682796,32.904149],[102.68277,32.904196],[102.682647,32.904257],[102.682643,32.904259],[102.681571,32.904794],[102.681325,32.905214],[102.681288,32.905277],[102.681218,32.905396],[102.681343,32.906169],[102.68191,32.906545],[102.682449,32.906578],[102.682606,32.906587],[102.682777,32.906597],[102.682784,32.906598],[102.682832,32.906601],[102.682871,32.906603],[102.683042,32.906606],[102.683315,32.906611],[102.683784,32.90662],[102.683806,32.906623],[102.684065,32.906654],[102.684176,32.906668],[102.684588,32.906717],[102.684669,32.906727],[102.685024,32.90677],[102.685174,32.906788],[102.685367,32.906812],[102.685487,32.906818],[102.68578,32.906834],[102.685877,32.906839],[102.686487,32.906872],[102.68652,32.906874],[102.686622,32.906833],[102.686633,32.906829],[102.686929,32.90671],[102.686953,32.906701],[102.687006,32.90668],[102.688349,32.906826],[102.688397,32.906859],[102.688524,32.906942],[102.689484,32.907578],[102.689666,32.907732],[102.689737,32.907793],[102.689756,32.907809],[102.690044,32.908054],[102.690057,32.908066],[102.690442,32.908393],[102.690785,32.908684],[102.690849,32.908739],[102.691092,32.908822],[102.691436,32.908938],[102.691508,32.908962],[102.691524,32.908967],[102.691541,32.908973],[102.691632,32.909004],[102.691648,32.909009],[102.692375,32.909255],[102.694242,32.909614],[102.695183,32.90955],[102.69524,32.909546],[102.696122,32.909486],[102.697161,32.909169],[102.697536,32.909054],[102.697544,32.909051],[102.697625,32.909027],[102.697734,32.908993],[102.69829,32.90882],[102.698352,32.908801],[102.698446,32.908772],[102.698983,32.908605],[102.700235,32.908392],[102.700258,32.908388],[102.700469,32.908352],[102.700916,32.908276],[102.701927,32.907981],[102.702094,32.907932],[102.702106,32.907929],[102.702224,32.907894],[102.702512,32.907857],[102.703616,32.907717],[102.703656,32.907712],[102.703674,32.90771],[102.703898,32.907681],[102.704457,32.90761],[102.704478,32.907608],[102.704734,32.907575],[102.704856,32.907609],[102.70505,32.907662],[102.705442,32.907771],[102.705574,32.907808],[102.705833,32.907879],[102.705886,32.907918],[102.705893,32.907924],[102.706339,32.908251],[102.706367,32.908272],[102.706412,32.908304],[102.706683,32.908504],[102.707575,32.908692],[102.707646,32.908707],[102.707735,32.908726],[102.708094,32.908687],[102.708159,32.90868],[102.708216,32.908674],[102.708361,32.908658],[102.7087,32.908622],[102.709571,32.908435],[102.710292,32.908524],[102.710722,32.908578],[102.710755,32.908581],[102.710802,32.908622],[102.710956,32.908706],[102.71108,32.908821],[102.711279,32.908959],[102.711516,32.909092],[102.711733,32.909211],[102.711933,32.909306],[102.712116,32.909376],[102.712227,32.909408],[102.712252,32.909414],[102.712418,32.909461],[102.712609,32.909589],[102.712665,32.909666],[102.712776,32.909808],[102.712907,32.910053],[102.713413,32.910575],[102.713932,32.910911],[102.714123,32.911034],[102.714274,32.911047],[102.714299,32.911049],[102.714365,32.911054],[102.714747,32.911086],[102.71487,32.911103],[102.714956,32.911162],[102.715039,32.911186],[102.715117,32.911207],[102.715182,32.911236],[102.715254,32.911274],[102.715321,32.911309],[102.715372,32.911327],[102.715443,32.911336],[102.715582,32.911339],[102.715599,32.911339],[102.716182,32.911853],[102.716183,32.911854],[102.716218,32.911884],[102.716229,32.911912],[102.71643,32.912388],[102.716465,32.91247],[102.71658,32.912743],[102.71758,32.913167],[102.718304,32.913058],[102.71978,32.912873],[102.719994,32.912846],[102.720509,32.912563],[102.720696,32.91246],[102.721067,32.912257],[102.722416,32.911998],[102.722522,32.911978],[102.722528,32.911977],[102.722541,32.911974],[102.722608,32.911961],[102.722614,32.91196],[102.722804,32.912009],[102.722942,32.912045],[102.72308,32.91208],[102.723202,32.912112],[102.723754,32.912254],[102.72387,32.912284],[102.724068,32.912336],[102.724086,32.91234],[102.724443,32.912432],[102.724455,32.912436],[102.724466,32.912438],[102.724754,32.912513],[102.724813,32.912528],[102.724963,32.912605],[102.72498,32.912613],[102.724997,32.912622],[102.726047,32.913159],[102.726388,32.913223],[102.726459,32.913236],[102.726484,32.913241],[102.726503,32.913245],[102.726707,32.913283],[102.726669,32.913316],[102.726672,32.913328],[102.726683,32.913328],[102.726769,32.913295],[102.727005,32.913339],[102.727323,32.913157],[102.727329,32.913152],[102.727385,32.913042],[102.727519,32.912918],[102.727617,32.912821],[102.727718,32.912715],[102.7278,32.912634],[102.72786,32.9126],[102.727891,32.912583],[102.728089,32.912489],[102.728131,32.912471],[102.728178,32.912451],[102.728273,32.91241],[102.728318,32.91239],[102.728723,32.912359],[102.728853,32.912364],[102.728923,32.912373],[102.728956,32.912386],[102.729003,32.912416],[102.729104,32.912447],[102.729271,32.91247],[102.729416,32.912485],[102.729546,32.912448],[102.729624,32.912485],[102.72991,32.912621],[102.730192,32.913232],[102.730268,32.913397],[102.730317,32.913503],[102.730318,32.913505],[102.730393,32.913668],[102.730416,32.913718],[102.730457,32.913807],[102.730451,32.914056],[102.73045,32.914098],[102.730431,32.914821],[102.730604,32.915148],[102.730611,32.915197],[102.730646,32.915269],[102.730666,32.915328],[102.730692,32.915396],[102.73071,32.915442],[102.730742,32.915484],[102.730774,32.915564],[102.730825,32.915564],[102.730844,32.9156],[102.7311,32.915744],[102.731291,32.915851],[102.732131,32.916324],[102.732409,32.916481],[102.732834,32.917172],[102.732956,32.917371],[102.733084,32.91758],[102.733241,32.917835],[102.733385,32.91797],[102.733601,32.918174],[102.733813,32.918373],[102.733821,32.918381],[102.733962,32.918514],[102.734196,32.918751],[102.734407,32.918941],[102.734604,32.919118],[102.734786,32.919267],[102.734929,32.919384],[102.735104,32.919528],[102.735408,32.919777],[102.735575,32.919913],[102.735707,32.920021],[102.735922,32.920198],[102.736177,32.920407],[102.736439,32.920621],[102.73663,32.920778],[102.736807,32.920895],[102.736945,32.920987],[102.737116,32.921101],[102.737241,32.921184],[102.737408,32.921296],[102.737582,32.921412],[102.737763,32.921532],[102.737933,32.921646],[102.738081,32.921744],[102.73822,32.921837],[102.738326,32.921907],[102.738424,32.921973],[102.738578,32.922075],[102.738677,32.922141],[102.738759,32.922196],[102.738913,32.922291],[102.739069,32.922388],[102.73921,32.922475],[102.739349,32.922569],[102.739501,32.92266],[102.739661,32.922755],[102.739811,32.922848],[102.739923,32.922917],[102.740037,32.922988],[102.740175,32.923074],[102.740282,32.92314],[102.740368,32.923194],[102.74047,32.923257],[102.740621,32.923268],[102.740795,32.923289],[102.740974,32.92334],[102.74112,32.923392],[102.741241,32.923447],[102.74136,32.923474],[102.742381,32.923703],[102.742473,32.923724],[102.742664,32.923748],[102.742859,32.923772],[102.742902,32.923777],[102.742914,32.923778],[102.742972,32.923786],[102.743241,32.923819],[102.74332,32.923671],[102.743392,32.923538],[102.743306,32.923128],[102.743254,32.923076],[102.743238,32.923032],[102.74322,32.922971],[102.743208,32.92291],[102.743198,32.922843],[102.743198,32.922799],[102.743221,32.922724],[102.743266,32.922591],[102.743284,32.92251],[102.743288,32.922482],[102.743265,32.922461],[102.743185,32.922477],[102.743209,32.92233],[102.743253,32.922069],[102.743256,32.922054],[102.74328,32.921913],[102.743304,32.921767],[102.743312,32.921719],[102.74334,32.921553],[102.743591,32.921428],[102.743748,32.92135],[102.74378,32.921278],[102.743816,32.921258],[102.743884,32.921212],[102.744126,32.921157],[102.744397,32.92113],[102.744411,32.921129],[102.744895,32.921081],[102.744916,32.92106],[102.744943,32.921059],[102.744962,32.921075],[102.745525,32.92102],[102.746005,32.921121],[102.746019,32.921124],[102.746121,32.921145],[102.746329,32.921189],[102.746567,32.921239],[102.746578,32.921241],[102.747119,32.921684],[102.747138,32.9217],[102.747181,32.921783],[102.747305,32.922024],[102.747367,32.922131],[102.747411,32.922251],[102.747439,32.922325],[102.747439,32.922335],[102.747441,32.92239],[102.748182,32.922896],[102.748981,32.923567],[102.749043,32.92362],[102.749067,32.92364],[102.749539,32.923916],[102.75014,32.924268],[102.750821,32.924666],[102.750897,32.92471],[102.752718,32.925775],[102.753762,32.926362],[102.754013,32.926339],[102.754486,32.926294],[102.755005,32.926005],[102.75512,32.92594],[102.755324,32.925675],[102.755343,32.92565],[102.755767,32.9251],[102.755851,32.925049],[102.75694,32.92439],[102.757962,32.923922],[102.759033,32.923413],[102.760483,32.923155],[102.76197,32.923076],[102.763326,32.923003],[102.763664,32.922917],[102.763759,32.922893],[102.763859,32.922868],[102.765263,32.922511],[102.768211,32.921995],[102.768917,32.921832],[102.769064,32.921799],[102.770498,32.921468],[102.770824,32.921393],[102.771647,32.921183],[102.772644,32.92093],[102.772761,32.9209],[102.774166,32.920519],[102.774659,32.920528],[102.775261,32.920538],[102.775272,32.920539],[102.775292,32.920549],[102.775406,32.92053],[102.775565,32.920533],[102.775685,32.920557],[102.775724,32.920578],[102.775837,32.920637],[102.775953,32.920716],[102.77599,32.920763],[102.776038,32.920889],[102.776038,32.920923],[102.776003,32.920942],[102.776782,32.921742],[102.777396,32.9222],[102.778451,32.92234],[102.779793,32.922567],[102.780707,32.922543],[102.780821,32.922521],[102.780877,32.92251],[102.781004,32.922486],[102.781198,32.922448],[102.781227,32.922443],[102.781286,32.922431],[102.781674,32.922357],[102.781909,32.922218],[102.781916,32.922214],[102.782113,32.922097],[102.782407,32.921923],[102.783091,32.921058],[102.783102,32.921043],[102.783114,32.921025],[102.783167,32.92094],[102.783366,32.92062],[102.783454,32.920564],[102.783543,32.920473],[102.783617,32.920393],[102.783675,32.920321],[102.78412,32.920115],[102.784185,32.920084],[102.78422,32.920068],[102.784388,32.919977],[102.784709,32.919681],[102.785332,32.919338],[102.785571,32.919205],[102.785616,32.919177],[102.785818,32.919049],[102.785914,32.918988],[102.786003,32.918932],[102.786149,32.918839],[102.786208,32.918801],[102.786525,32.918546],[102.786551,32.918524],[102.78661,32.918476],[102.786756,32.918358],[102.787174,32.918127],[102.78726,32.918079],[102.787287,32.918051],[102.787318,32.917956],[102.787394,32.917881],[102.787617,32.917841],[102.787644,32.917837],[102.787859,32.917819],[102.787935,32.917821],[102.788048,32.917806],[102.788186,32.917746],[102.788313,32.917692],[102.788329,32.917688],[102.788463,32.917656],[102.788542,32.91766],[102.788644,32.917719],[102.788656,32.91774],[102.78886,32.917735],[102.789098,32.91773],[102.789228,32.917726],[102.789246,32.917726],[102.789323,32.917724],[102.789727,32.917693],[102.790093,32.91736],[102.790161,32.917035],[102.790185,32.91692],[102.790195,32.916871],[102.790195,32.916856],[102.790184,32.916358],[102.790176,32.915935],[102.790175,32.915889],[102.790168,32.915826],[102.790066,32.914868],[102.790069,32.914745],[102.790084,32.91414],[102.79009,32.913887],[102.790291,32.913022],[102.790959,32.912533],[102.791086,32.91244],[102.791095,32.912434],[102.791248,32.912322],[102.791313,32.912243],[102.791388,32.912299],[102.791459,32.912257],[102.791503,32.91218],[102.791515,32.912118],[102.791531,32.912086],[102.791561,32.912038],[102.791593,32.911993],[102.79161,32.911953],[102.791637,32.911851],[102.791772,32.911688],[102.791795,32.91166],[102.792171,32.911206],[102.79235,32.910484],[102.792381,32.91036],[102.792427,32.910174],[102.79243,32.91016],[102.792448,32.91009],[102.792451,32.910076],[102.792469,32.910003],[102.792499,32.909857],[102.792674,32.908987],[102.792659,32.908868],[102.792589,32.908296],[102.792588,32.908293],[102.792562,32.908079],[102.79258,32.907362],[102.792598,32.906607],[102.792311,32.905583],[102.792201,32.904599],[102.792147,32.904164],[102.79194,32.902481],[102.791918,32.901574],[102.791897,32.90063],[102.792016,32.899424],[102.792136,32.898708],[102.792174,32.898483],[102.792529,32.897642],[102.792982,32.896572],[102.793136,32.895782],[102.793334,32.894993],[102.793577,32.894242],[102.794106,32.892741],[102.794852,32.891546],[102.795242,32.890232],[102.795807,32.887297],[102.796124,32.88534],[102.795936,32.884076],[102.795932,32.884053],[102.795721,32.883558],[102.794845,32.882788],[102.794064,32.88183],[102.792755,32.880486],[102.792195,32.879607],[102.792015,32.87783],[102.791732,32.876617],[102.791887,32.875789],[102.791954,32.874884],[102.791453,32.873441],[102.790717,32.872446],[102.790649,32.871614],[102.790525,32.871394],[102.789877,32.870242],[102.78952,32.869795],[102.789357,32.869591],[102.788486,32.868632],[102.787961,32.868131],[102.787511,32.86784],[102.787497,32.867831],[102.787411,32.867776],[102.787402,32.86777],[102.787301,32.867705],[102.786635,32.867461],[102.78658,32.867441],[102.786548,32.867429],[102.786326,32.867347],[102.785864,32.867321],[102.785395,32.867294],[102.785388,32.867293],[102.784325,32.866859],[102.784121,32.866063],[102.784091,32.865458],[102.78402,32.864739],[102.783364,32.862349],[102.782933,32.859888],[102.782824,32.858867],[102.782848,32.857923],[102.782782,32.856978],[102.78237,32.855536],[102.781341,32.853782],[102.780965,32.852718],[102.780298,32.850743],[102.77869,32.848865],[102.778394,32.84818],[102.778601,32.847051],[102.77866,32.844711],[102.778935,32.840828],[102.779019,32.839244],[102.778864,32.838297],[102.778723,32.836784],[102.777969,32.834732],[102.777469,32.833251],[102.777068,32.831432],[102.776906,32.830668],[102.776818,32.830249],[102.776788,32.830105],[102.776835,32.829659],[102.776963,32.828447],[102.777092,32.8281],[102.77749,32.827022],[102.777562,32.825929],[102.777201,32.824299],[102.776928,32.822671],[102.776819,32.82165],[102.77715,32.820938],[102.778082,32.819407],[102.778698,32.818021],[102.778842,32.815834],[102.778791,32.814285],[102.778952,32.813193],[102.778714,32.811981],[102.778086,32.810271],[102.778451,32.808201],[102.778828,32.807415],[102.779383,32.80667],[102.779207,32.806553],[102.777841,32.805774],[102.774801,32.803983],[102.772867,32.802665],[102.771281,32.801731],[102.77063,32.800927],[102.769432,32.798791],[102.7685,32.796736],[102.767758,32.794231],[102.767846,32.792496],[102.768283,32.791107],[102.768401,32.789977],[102.768603,32.789036],[102.768283,32.783934],[102.766972,32.782778],[102.764572,32.780432],[102.76358,32.779018],[102.762794,32.778286],[102.762059,32.777292],[102.760564,32.776321],[102.759334,32.775469],[102.757893,32.774121],[102.757023,32.7732],[102.756686,32.772363],[102.756347,32.77164],[102.755127,32.77041],[102.753668,32.76978],[102.751567,32.769817],[102.749698,32.769482],[102.749676,32.769478],[102.749675,32.769477],[102.74874,32.769307],[102.748725,32.769304],[102.748457,32.769256],[102.748441,32.769253],[102.74832,32.769231],[102.747987,32.769127],[102.747886,32.769096],[102.747007,32.768823],[102.746988,32.768817],[102.746903,32.768791],[102.746896,32.768786],[102.746884,32.768778],[102.745408,32.767744],[102.743606,32.766541],[102.74239,32.76516],[102.740571,32.764057],[102.739106,32.763074],[102.738288,32.762456],[102.736213,32.762066],[102.734195,32.761778],[102.733005,32.761706],[102.732346,32.761845],[102.731268,32.762077],[102.729958,32.762053],[102.728347,32.762125],[102.726982,32.761949],[102.725669,32.762026],[102.723295,32.761681],[102.722461,32.761665],[102.721722,32.761859],[102.721562,32.761901],[102.721528,32.761909],[102.721535,32.761574],[102.721403,32.760994],[102.721183,32.760042],[102.721268,32.758641],[102.721303,32.758239],[102.721475,32.756253],[102.72146,32.754933],[102.721534,32.753945],[102.720966,32.753233],[102.720301,32.75252],[102.719211,32.751263],[102.719018,32.751013],[102.718502,32.750343],[102.717787,32.749711],[102.717373,32.748714],[102.717,32.748006],[102.71673,32.745239],[102.716646,32.743862],[102.716626,32.743546],[102.716983,32.73914],[102.717228,32.737165],[102.717499,32.736098],[102.717708,32.735566],[102.716965,32.734109],[102.716123,32.732691],[102.715777,32.730953],[102.714921,32.728174],[102.71461,32.727312],[102.714009,32.725642],[102.713869,32.723495],[102.713414,32.722209],[102.713119,32.720389],[102.712902,32.719354],[102.712407,32.717695],[102.711905,32.716367],[102.711114,32.714868],[102.710765,32.713253],[102.709942,32.711094],[102.709183,32.710255],[102.709519,32.70857],[102.710358,32.706276],[102.710897,32.705149],[102.711045,32.704072],[102.710474,32.703337],[102.710017,32.702332],[102.709341,32.701549],[102.708339,32.700897],[102.707656,32.700386],[102.706591,32.70014],[102.705215,32.699435],[102.704211,32.698918],[102.703359,32.698676],[102.702284,32.698838],[102.70224,32.698831],[102.701003,32.698633],[102.699845,32.697841],[102.69933,32.697017],[102.698919,32.696329],[102.698738,32.695012],[102.698869,32.694109],[102.698802,32.692522],[102.698076,32.691602],[102.696438,32.690711],[102.695055,32.690323],[102.693941,32.690213],[102.693933,32.690212],[102.693482,32.690181],[102.693023,32.69015],[102.691877,32.691413],[102.68777,32.695936],[102.687705,32.696008],[102.683759,32.700354],[102.68316,32.700868],[102.682445,32.701482],[102.681951,32.701906],[102.680319,32.702827],[102.678915,32.703254],[102.678,32.703419],[102.676411,32.70271],[102.675476,32.70156],[102.675466,32.701628],[102.675395,32.701302],[102.675186,32.700339],[102.675227,32.698736],[102.674756,32.696418],[102.674282,32.694228],[102.673717,32.692614],[102.67323,32.690937],[102.672292,32.689059],[102.671802,32.687511],[102.671464,32.685901],[102.671496,32.684682],[102.67192,32.682958],[102.672356,32.681203],[102.672635,32.680083],[102.672656,32.679999],[102.672682,32.679893],[102.673309,32.679135],[102.674451,32.678964],[102.67544,32.678854],[102.676287,32.679232],[102.67635,32.67926],[102.676639,32.67939],[102.678383,32.679422],[102.680135,32.679134],[102.681366,32.678451],[102.681637,32.678265],[102.681667,32.678244],[102.681706,32.678218],[102.681757,32.678183],[102.681831,32.678132],[102.682246,32.677847],[102.682241,32.677779],[102.682238,32.677683],[102.682263,32.677557],[102.682279,32.677463],[102.68229,32.677449],[102.682321,32.677414],[102.682326,32.677409],[102.682385,32.677355],[102.682413,32.677294],[102.682416,32.677278],[102.682431,32.677204],[102.68247,32.677154],[102.682618,32.677107],[102.682743,32.677065],[102.682844,32.677026],[102.682918,32.677014],[102.682963,32.677006],[102.683032,32.677005],[102.683093,32.677005],[102.683215,32.676868],[102.683384,32.676676],[102.683689,32.675608],[102.683601,32.675309],[102.683561,32.675298],[102.683283,32.675222],[102.68256,32.675187],[102.682356,32.675177],[102.682117,32.675122],[102.681991,32.67516],[102.681835,32.675168],[102.681748,32.675149],[102.681649,32.6751],[102.681521,32.675014],[102.681482,32.674975],[102.681411,32.674893],[102.681323,32.674784],[102.681159,32.674621],[102.681082,32.674508],[102.681038,32.674407],[102.681001,32.674262],[102.681076,32.673936],[102.681534,32.673566],[102.682123,32.673486],[102.68224,32.67347],[102.682334,32.673489],[102.683125,32.673646],[102.683294,32.673679],[102.683994,32.673692],[102.684191,32.67371],[102.684761,32.673761],[102.685199,32.673653],[102.685276,32.673635],[102.685326,32.673616],[102.685475,32.673561],[102.685527,32.673541],[102.68576,32.673454],[102.685769,32.673103],[102.685713,32.672804],[102.685395,32.672717],[102.684462,32.672916],[102.684081,32.672828],[102.683798,32.672606],[102.683765,32.672199],[102.683765,32.672191],[102.68375,32.67201],[102.68374,32.671985],[102.683692,32.67186],[102.683682,32.671834],[102.683669,32.671799],[102.683542,32.67147],[102.68354,32.671465],[102.683467,32.671388],[102.683452,32.671372],[102.683415,32.671332],[102.683073,32.670969],[102.682674,32.670861],[102.682626,32.670848],[102.682328,32.670767],[102.682315,32.670764],[102.68225,32.670765],[102.682149,32.670761],[102.682008,32.670744],[102.681933,32.670728],[102.681834,32.670695],[102.681696,32.670622],[102.681564,32.670516],[102.681539,32.670496],[102.681376,32.670362],[102.681293,32.670263],[102.681219,32.670179],[102.681207,32.670113],[102.681199,32.670106],[102.680891,32.669823],[102.680857,32.669791],[102.68084,32.669776],[102.680831,32.669767],[102.680707,32.669653],[102.680427,32.669351],[102.679888,32.669178],[102.67976,32.669138],[102.679442,32.669037],[102.679356,32.66901],[102.679342,32.669005],[102.679253,32.668977],[102.67908,32.668782],[102.678911,32.668592],[102.678699,32.668128],[102.678713,32.667587],[102.67855,32.666735],[102.678393,32.666535],[102.678355,32.666486],[102.678324,32.666447],[102.678085,32.66614],[102.678058,32.666133],[102.677949,32.666105],[102.677937,32.666103],[102.677703,32.666043],[102.67728,32.665935],[102.677243,32.665925],[102.677131,32.665897],[102.677008,32.665897],[102.676871,32.665897],[102.675732,32.6659],[102.675723,32.6659],[102.675556,32.6659],[102.675492,32.6659],[102.675141,32.665901],[102.675118,32.665901],[102.674944,32.665901],[102.674897,32.665896],[102.674869,32.665893],[102.674833,32.665856],[102.674781,32.665836],[102.674713,32.665832],[102.674644,32.665833],[102.674558,32.665833],[102.674498,32.665851],[102.674354,32.665835],[102.674347,32.665834],[102.674246,32.665823],[102.674038,32.665799],[102.6739,32.665784],[102.673508,32.665739],[102.673251,32.665666],[102.673228,32.665659],[102.6732,32.665651],[102.672814,32.66554],[102.672603,32.665479],[102.672538,32.6654],[102.672506,32.665382],[102.672453,32.665356],[102.672368,32.665317],[102.672287,32.665292],[102.672161,32.665199],[102.671979,32.665064],[102.671966,32.665055],[102.671874,32.664987],[102.671203,32.664118],[102.670967,32.663856],[102.670925,32.663809],[102.670858,32.663736],[102.67085,32.663727],[102.670729,32.663593],[102.670713,32.663575],[102.670581,32.663429],[102.67017,32.662835],[102.669943,32.662767],[102.669939,32.662765],[102.669852,32.662739],[102.669561,32.662815],[102.669047,32.66295],[102.668465,32.663198],[102.668238,32.663295],[102.667752,32.663338],[102.667533,32.663334],[102.667305,32.663349],[102.6669,32.66324],[102.666766,32.663204],[102.666715,32.66319],[102.665581,32.662885],[102.664943,32.662681],[102.664908,32.66267],[102.664897,32.662666],[102.664682,32.662598],[102.664653,32.662576],[102.664645,32.662571],[102.66456,32.662507],[102.664054,32.662135],[102.664002,32.661992],[102.663999,32.661985],[102.663952,32.661856],[102.663873,32.661639],[102.663914,32.66163],[102.663935,32.661619],[102.664063,32.661558],[102.664012,32.661519],[102.663976,32.661466],[102.663946,32.661403],[102.66393,32.661365],[102.663909,32.661314],[102.663901,32.661238],[102.664145,32.660693],[102.664301,32.660276],[102.664308,32.660258],[102.664328,32.660206],[102.664431,32.659931],[102.664496,32.659481],[102.664352,32.659195],[102.664291,32.659076],[102.664166,32.658972],[102.663957,32.658847],[102.663842,32.65881],[102.663774,32.658798],[102.663745,32.658782],[102.663392,32.658874],[102.663113,32.659534],[102.663051,32.65968],[102.662612,32.660168],[102.662547,32.660146],[102.662537,32.660143],[102.662515,32.660135],[102.662432,32.660107],[102.662423,32.660104],[102.662194,32.660027],[102.662165,32.660017],[102.662145,32.66001],[102.661976,32.659953],[102.661766,32.659881],[102.661715,32.659887],[102.661588,32.659901],[102.661071,32.659959],[102.66048,32.660083],[102.660468,32.660086],[102.660331,32.660115],[102.660263,32.660129],[102.660221,32.660138],[102.660115,32.66016],[102.659891,32.660207],[102.659854,32.660197],[102.658885,32.659918],[102.658876,32.659914],[102.658804,32.659884],[102.658717,32.659846],[102.65828,32.65966],[102.658154,32.659607],[102.657777,32.659446],[102.657708,32.659398],[102.657242,32.659078],[102.657165,32.658991],[102.656969,32.658771],[102.656384,32.658111],[102.6562,32.657822],[102.655813,32.657212],[102.655451,32.656865],[102.655442,32.656856],[102.655278,32.656699],[102.655095,32.65655],[102.655075,32.656533],[102.655036,32.656501],[102.655026,32.656493],[102.654896,32.656387],[102.654696,32.656224],[102.654614,32.656204],[102.654515,32.656123],[102.654352,32.656076],[102.654241,32.656052],[102.654197,32.656099],[102.654116,32.656229],[102.653911,32.656557],[102.65393,32.657544],[102.65393,32.657563],[102.653927,32.657591],[102.65391,32.657751],[102.65394,32.657765],[102.654034,32.657839],[102.654096,32.657886],[102.654141,32.657929],[102.654177,32.65799],[102.654189,32.658071],[102.654178,32.658126],[102.654139,32.658164],[102.654065,32.658218],[102.653984,32.658258],[102.65393,32.658313],[102.653873,32.658375],[102.653794,32.658421],[102.65373,32.658464],[102.65366,32.658502],[102.653657,32.658504],[102.653635,32.658509],[102.653568,32.658526],[102.653463,32.658536],[102.653388,32.658525],[102.653297,32.658495],[102.653215,32.658451],[102.653212,32.658448],[102.653197,32.658435],[102.653175,32.658414],[102.653146,32.658386],[102.653084,32.658345],[102.653027,32.658352],[102.652912,32.658365],[102.652811,32.658376],[102.652703,32.658389],[102.652586,32.658402],[102.6524,32.658423],[102.65181,32.658258],[102.651782,32.658126],[102.651773,32.658083],[102.651744,32.657942],[102.651729,32.65787],[102.651863,32.65769],[102.651868,32.657683],[102.651958,32.657562],[102.652013,32.657488],[102.652065,32.657399],[102.652131,32.657286],[102.652137,32.657275],[102.652146,32.65726],[102.652178,32.657206],[102.652329,32.656947],[102.652348,32.656915],[102.652341,32.656723],[102.652334,32.65654],[102.652321,32.65618],[102.652298,32.65615],[102.652172,32.655985],[102.651953,32.6557],[102.651995,32.655655],[102.652012,32.655609],[102.652021,32.655556],[102.652023,32.655492],[102.652016,32.655442],[102.651995,32.655409],[102.651961,32.655391],[102.651932,32.65539],[102.65192,32.655396],[102.651906,32.655414],[102.651905,32.655441],[102.651905,32.655491],[102.651904,32.655534],[102.651904,32.655567],[102.651907,32.655641],[102.651844,32.655558],[102.651851,32.655516],[102.651856,32.655485],[102.651856,32.655457],[102.651846,32.655427],[102.651826,32.655408],[102.6518,32.655389],[102.651773,32.655371],[102.651747,32.655363],[102.651682,32.655348],[102.651658,32.655317],[102.651494,32.655286],[102.651474,32.655282],[102.650978,32.655188],[102.650023,32.654938],[102.649976,32.654918],[102.649797,32.654842],[102.6496,32.654759],[102.649299,32.654632],[102.649164,32.654574],[102.648968,32.654534],[102.64823,32.654383],[102.648138,32.654364],[102.647894,32.654314],[102.64771,32.654277],[102.647462,32.654346],[102.64723,32.654411],[102.647189,32.654423],[102.647065,32.654458],[102.64697,32.65444],[102.6469,32.654426],[102.646513,32.654353],[102.646156,32.654286],[102.646001,32.654009],[102.645981,32.653973],[102.645964,32.653355],[102.646166,32.652983],[102.646516,32.652746],[102.646582,32.652727],[102.646644,32.652708],[102.64667,32.6527],[102.646794,32.652663],[102.646825,32.652654],[102.646914,32.652627],[102.647089,32.652574],[102.647419,32.652475],[102.647597,32.652484],[102.647701,32.652483],[102.647775,32.652486],[102.647845,32.65248],[102.647933,32.652445],[102.647995,32.652416],[102.648144,32.652384],[102.648169,32.652376],[102.648164,32.652357],[102.648169,32.652348],[102.648201,32.652328],[102.648233,32.652318],[102.64829,32.652285],[102.648312,32.65226],[102.648334,32.652229],[102.648366,32.652188],[102.648393,32.652157],[102.648441,32.652112],[102.648468,32.652086],[102.648502,32.65205],[102.648537,32.652014],[102.64856,32.651958],[102.648568,32.651915],[102.648578,32.651865],[102.64858,32.651819],[102.648579,32.651759],[102.648575,32.651712],[102.64855,32.651674],[102.648505,32.651632],[102.64847,32.6516],[102.648426,32.65157],[102.648366,32.651541],[102.648281,32.651509],[102.648176,32.651471],[102.648223,32.651471],[102.648271,32.651475],[102.648312,32.651489],[102.648381,32.651514],[102.648417,32.651528],[102.648461,32.651549],[102.64852,32.651575],[102.648556,32.651602],[102.648582,32.651622],[102.648614,32.651649],[102.648631,32.651676],[102.64865,32.651705],[102.648686,32.651785],[102.648693,32.651852],[102.64869,32.651893],[102.648689,32.651941],[102.648679,32.651971],[102.648671,32.651991],[102.64865,32.652053],[102.648731,32.651947],[102.648825,32.651823],[102.64883,32.651649],[102.648832,32.651555],[102.648833,32.651528],[102.648838,32.651321],[102.648067,32.651187],[102.647838,32.651148],[102.646467,32.651122],[102.646263,32.651067],[102.646112,32.650997],[102.646097,32.651022],[102.646091,32.651021],[102.64607,32.651015],[102.646024,32.651003],[102.646015,32.651],[102.645972,32.651079],[102.64594,32.651134],[102.64584,32.651101],[102.645741,32.651096],[102.645628,32.651118],[102.645614,32.65112],[102.645556,32.651139],[102.645458,32.651296],[102.645486,32.651413],[102.645481,32.651488],[102.645476,32.651547],[102.645477,32.651662],[102.645463,32.651673],[102.645447,32.651715],[102.645425,32.651879],[102.645396,32.651912],[102.645371,32.651967],[102.645358,32.652007],[102.645341,32.652059],[102.645298,32.652125],[102.645292,32.652155],[102.64527,32.652195],[102.645229,32.652236],[102.645194,32.652271],[102.645171,32.652291],[102.645118,32.652329],[102.645079,32.652351],[102.645011,32.652382],[102.644947,32.652408],[102.644877,32.652428],[102.644819,32.652438],[102.64478,32.652438],[102.644741,32.652462],[102.644727,32.652471],[102.644661,32.65251],[102.64456,32.652469],[102.644537,32.652481],[102.644492,32.65248],[102.64442,32.652467],[102.644323,32.65244],[102.644241,32.652409],[102.644178,32.652405],[102.644126,32.652437],[102.644092,32.652477],[102.644052,32.652526],[102.64399,32.65255],[102.643908,32.652568],[102.643872,32.652504],[102.643885,32.652001],[102.643881,32.651991],[102.643868,32.651966],[102.643823,32.651874],[102.643845,32.651854],[102.643842,32.651837],[102.643825,32.651802],[102.643802,32.651766],[102.643774,32.65173],[102.643712,32.65165],[102.643629,32.651628],[102.643304,32.65154],[102.643265,32.65153],[102.643258,32.651528],[102.64294,32.651442],[102.642827,32.651464],[102.642411,32.651544],[102.642375,32.651551],[102.642338,32.651558],[102.642118,32.6516],[102.642042,32.651658],[102.642012,32.651676],[102.641971,32.651695],[102.641925,32.651696],[102.641851,32.651719],[102.641762,32.651737],[102.641696,32.651726],[102.641652,32.651713],[102.641614,32.651704],[102.641545,32.651695],[102.641479,32.651693],[102.641428,32.651698],[102.641348,32.651694],[102.64127,32.651691],[102.641198,32.65168],[102.641184,32.651674],[102.641069,32.65165],[102.640984,32.651616],[102.640909,32.651578],[102.640842,32.65154],[102.640778,32.651495],[102.640749,32.651456],[102.64075,32.651425],[102.640756,32.651378],[102.640767,32.651324],[102.640776,32.65128],[102.640792,32.651222],[102.640869,32.651121],[102.640918,32.65108],[102.640971,32.651057],[102.641024,32.651053],[102.641096,32.651054],[102.641233,32.650909],[102.641238,32.650903],[102.641464,32.650665],[102.641482,32.650646],[102.641594,32.650527],[102.6417,32.650316],[102.641725,32.650267],[102.641779,32.650159],[102.641854,32.65019],[102.641842,32.650144],[102.641847,32.650098],[102.641835,32.650049],[102.641836,32.650018],[102.641844,32.649988],[102.641878,32.64995],[102.641809,32.649892],[102.641788,32.649839],[102.641754,32.649773],[102.641713,32.649751],[102.641682,32.649738],[102.641637,32.64972],[102.641591,32.649711],[102.641516,32.649696],[102.641514,32.649688],[102.641502,32.649682],[102.641474,32.649688],[102.641448,32.649701],[102.641429,32.6497],[102.641406,32.649681],[102.641388,32.649639],[102.641373,32.649595],[102.641362,32.649555],[102.641355,32.649515],[102.641167,32.64936],[102.640851,32.649238],[102.640534,32.649116],[102.640256,32.649266],[102.640241,32.649274],[102.639978,32.649415],[102.639883,32.649521],[102.639815,32.649597],[102.63958,32.649859],[102.639559,32.649884],[102.639396,32.650066],[102.639383,32.65008],[102.639366,32.650099],[102.639039,32.650364],[102.638588,32.650123],[102.638462,32.649486],[102.638391,32.649507],[102.638388,32.649487],[102.638388,32.649476],[102.638381,32.649463],[102.638382,32.649447],[102.638393,32.649429],[102.638405,32.649414],[102.63844,32.649372],[102.638427,32.649308],[102.638406,32.649244],[102.638403,32.649235],[102.638398,32.649219],[102.638374,32.649146],[102.638258,32.648789],[102.638176,32.64872],[102.638128,32.64867],[102.638039,32.648598],[102.637989,32.648553],[102.637953,32.648494],[102.637928,32.648438],[102.637878,32.648376],[102.63779,32.648292],[102.637703,32.6482],[102.637607,32.648111],[102.637508,32.64809],[102.636909,32.647966],[102.636895,32.64797],[102.636676,32.648048],[102.636641,32.64806],[102.636494,32.648112],[102.636437,32.64868],[102.636436,32.648687],[102.636432,32.64873],[102.636395,32.648859],[102.636376,32.648927],[102.63628,32.649268],[102.636256,32.649282],[102.636118,32.649359],[102.636105,32.649366],[102.635796,32.649538],[102.63569,32.649598],[102.63568,32.649603],[102.635178,32.649768],[102.635153,32.649776],[102.635004,32.649825],[102.634991,32.649829],[102.634957,32.64984],[102.634894,32.64986],[102.634653,32.64992],[102.634284,32.650011],[102.63402,32.650076],[102.633705,32.649915],[102.633645,32.649691],[102.63359,32.64969],[102.633558,32.649691],[102.633564,32.6496],[102.633585,32.649578],[102.63359,32.64957],[102.633605,32.649544],[102.633615,32.649434],[102.633619,32.64936],[102.633595,32.649235],[102.633557,32.64912],[102.63354,32.649026],[102.633506,32.648948],[102.633469,32.648894],[102.633404,32.648827],[102.633373,32.648769],[102.633357,32.648718],[102.633338,32.648674],[102.633326,32.64866],[102.633296,32.648666],[102.633277,32.648675],[102.633258,32.648684],[102.63325,32.648698],[102.63322,32.648699],[102.633203,32.648688],[102.633183,32.648672],[102.633158,32.648647],[102.633136,32.648631],[102.633071,32.648598],[102.633005,32.648566],[102.632908,32.648529],[102.632804,32.648476],[102.632706,32.648412],[102.632522,32.648303],[102.632396,32.648214],[102.63231,32.648166],[102.632105,32.648184],[102.632104,32.648217],[102.632101,32.648348],[102.632096,32.648532],[102.632808,32.649241],[102.632558,32.649501],[102.632541,32.649519],[102.632512,32.649549],[102.63248,32.649583],[102.632467,32.649588],[102.631907,32.649842],[102.63174,32.649917],[102.631415,32.649935],[102.630687,32.649974],[102.630377,32.649879],[102.63037,32.649878],[102.629463,32.649603],[102.628923,32.649284],[102.628938,32.648743],[102.629165,32.648404],[102.62919,32.648367],[102.629271,32.648247],[102.629329,32.648163],[102.629346,32.648138],[102.62936,32.648141],[102.629374,32.648141],[102.629399,32.648129],[102.629418,32.648096],[102.629461,32.648035],[102.629481,32.647999],[102.629498,32.647951],[102.629543,32.647885],[102.629574,32.647841],[102.629597,32.647817],[102.629628,32.647802],[102.629659,32.647782],[102.629718,32.647744],[102.629771,32.647687],[102.629857,32.647492],[102.629887,32.647434],[102.629909,32.647389],[102.629915,32.647365],[102.629915,32.647354],[102.62991,32.647343],[102.629906,32.647337],[102.629891,32.647289],[102.629792,32.647173],[102.629766,32.647138],[102.629731,32.647103],[102.629681,32.647056],[102.629548,32.646963],[102.629532,32.646956],[102.629469,32.646928],[102.629217,32.646815],[102.628614,32.646829],[102.628551,32.646831],[102.628425,32.646834],[102.628404,32.646834],[102.628302,32.646837],[102.628276,32.646863],[102.627867,32.647264],[102.627784,32.647345],[102.627824,32.647393],[102.627842,32.64742],[102.627854,32.647442],[102.627855,32.647458],[102.627853,32.647466],[102.627844,32.647475],[102.627818,32.647486],[102.627799,32.647495],[102.627785,32.647505],[102.62777,32.647517],[102.62776,32.647528],[102.627754,32.647544],[102.62775,32.647559],[102.627746,32.647577],[102.627735,32.647597],[102.627723,32.647608],[102.6277,32.647623],[102.627673,32.647635],[102.627609,32.647639],[102.627595,32.647639],[102.627567,32.647637],[102.627493,32.647633],[102.627459,32.647624],[102.627409,32.647608],[102.627375,32.647589],[102.627176,32.647669],[102.627165,32.647674],[102.627145,32.647682],[102.627092,32.647703],[102.626417,32.64769],[102.626356,32.647689],[102.626224,32.647686],[102.626168,32.647672],[102.626156,32.647669],[102.626006,32.647629],[102.625589,32.64752],[102.625589,32.647488],[102.625602,32.64702],[102.625664,32.646948],[102.625811,32.646784],[102.625832,32.64676],[102.625842,32.64675],[102.625867,32.646721],[102.626103,32.646457],[102.626159,32.646395],[102.626178,32.646418],[102.626202,32.646444],[102.626213,32.64646],[102.626216,32.646457],[102.626223,32.646445],[102.626223,32.646432],[102.62622,32.646402],[102.62622,32.646374],[102.626216,32.646332],[102.626573,32.646042],[102.626583,32.646035],[102.626595,32.646025],[102.626614,32.64601],[102.626733,32.645913],[102.626742,32.645906],[102.626868,32.645804],[102.627083,32.645475],[102.627088,32.645468],[102.627124,32.645413],[102.627184,32.645323],[102.627197,32.645303],[102.6272,32.645298],[102.627344,32.645079],[102.627494,32.645015],[102.627505,32.64501],[102.627553,32.64499],[102.627697,32.644929],[102.627714,32.644922],[102.628129,32.644746],[102.628065,32.643701],[102.62774,32.643381],[102.627773,32.643365],[102.627792,32.643357],[102.627833,32.643358],[102.6278,32.643345],[102.627768,32.643337],[102.627736,32.64333],[102.627716,32.643315],[102.627683,32.643285],[102.627652,32.643251],[102.62762,32.643225],[102.627593,32.643198],[102.627548,32.643157],[102.627463,32.643137],[102.627452,32.643152],[102.627443,32.643145],[102.627155,32.642935],[102.627103,32.642935],[102.626987,32.642894],[102.626939,32.642875],[102.626893,32.642851],[102.626865,32.642816],[102.626845,32.642772],[102.626824,32.642728],[102.626794,32.642697],[102.626737,32.64267],[102.626647,32.642619],[102.626611,32.642578],[102.626596,32.642531],[102.626578,32.642495],[102.626576,32.642456],[102.626588,32.642396],[102.626415,32.642201],[102.626363,32.641808],[102.626358,32.64177],[102.626374,32.641763],[102.626391,32.641751],[102.626407,32.641713],[102.626462,32.641605],[102.626511,32.641553],[102.62656,32.641504],[102.626569,32.641496],[102.626634,32.641435],[102.626767,32.641306],[102.627,32.641052],[102.62712,32.640927],[102.627319,32.64076],[102.627601,32.640522],[102.62797,32.640143],[102.628064,32.640045],[102.628118,32.639991],[102.62806,32.639901],[102.628013,32.639828],[102.627959,32.639744],[102.627942,32.639717],[102.627741,32.639565],[102.627629,32.639479],[102.627123,32.639585],[102.626942,32.639769],[102.626928,32.639782],[102.626915,32.639796],[102.626824,32.639888],[102.626748,32.639965],[102.626732,32.639974],[102.626713,32.639973],[102.626673,32.639961],[102.626613,32.639958],[102.626546,32.639963],[102.62647,32.63998],[102.626389,32.64003],[102.62635,32.640055],[102.626332,32.640083],[102.626311,32.640101],[102.62629,32.640105],[102.626254,32.640108],[102.626168,32.64015],[102.626149,32.640171],[102.626143,32.640198],[102.626141,32.640219],[102.626136,32.640243],[102.626126,32.640256],[102.626099,32.640264],[102.626074,32.640276],[102.626022,32.640335],[102.626011,32.640364],[102.625999,32.640385],[102.625998,32.640401],[102.625997,32.640411],[102.62595,32.640439],[102.625866,32.640489],[102.625755,32.64051],[102.625683,32.640524],[102.625131,32.64063],[102.624709,32.640828],[102.624669,32.640847],[102.624653,32.640854],[102.62453,32.640866],[102.624426,32.640901],[102.624365,32.640937],[102.624306,32.640993],[102.624265,32.641052],[102.624211,32.641122],[102.624108,32.641187],[102.623956,32.641283],[102.623925,32.641303],[102.623331,32.64133],[102.622841,32.640819],[102.622849,32.640525],[102.62285,32.640505],[102.622852,32.640433],[102.622854,32.640355],[102.622942,32.640263],[102.622984,32.64022],[102.623183,32.640013],[102.623913,32.640027],[102.624517,32.639652],[102.624478,32.639223],[102.624446,32.638877],[102.624339,32.638636],[102.624188,32.638293],[102.623922,32.638299],[102.623867,32.6383],[102.623826,32.638301],[102.623522,32.638308],[102.623511,32.638309],[102.623273,32.638314],[102.622581,32.638572],[102.622298,32.638459],[102.622234,32.638433],[102.622226,32.638408],[102.622218,32.638381],[102.622209,32.638351],[102.622197,32.638314],[102.622178,32.63827],[102.622146,32.638221],[102.62212,32.638188],[102.622075,32.638137],[102.621974,32.637859],[102.621961,32.637825],[102.622061,32.637636],[102.622087,32.637586],[102.622202,32.637366],[102.622242,32.637317],[102.622579,32.636909],[102.622619,32.636891],[102.623227,32.636612],[102.623736,32.636598],[102.623709,32.636569],[102.623661,32.636536],[102.62384,32.636548],[102.623961,32.636569],[102.62406,32.636582],[102.624076,32.636571],[102.624422,32.636326],[102.624567,32.636049],[102.624609,32.635969],[102.624568,32.635921],[102.624521,32.635878],[102.624414,32.635802],[102.624326,32.635751],[102.624304,32.635733],[102.624297,32.635714],[102.624291,32.635699],[102.624273,32.635671],[102.624212,32.635638],[102.624154,32.635618],[102.624089,32.635615],[102.624033,32.635618],[102.623957,32.635651],[102.623899,32.63569],[102.623853,32.635693],[102.623799,32.635695],[102.623595,32.635824],[102.62358,32.63588],[102.623579,32.635904],[102.623549,32.635903],[102.623492,32.635916],[102.623472,32.635938],[102.623449,32.635967],[102.623423,32.635991],[102.623391,32.636009],[102.623358,32.636024],[102.623311,32.636038],[102.623236,32.636054],[102.623213,32.63605],[102.62319,32.636023],[102.623158,32.635977],[102.623155,32.635954],[102.623085,32.635952],[102.623025,32.635951],[102.623011,32.635951],[102.62297,32.63595],[102.622878,32.635882],[102.622872,32.635878],[102.622867,32.635874],[102.622701,32.635752],[102.622802,32.635406],[102.622929,32.635292],[102.622945,32.635277],[102.622952,32.635249],[102.622961,32.635228],[102.622988,32.635201],[102.623045,32.635153],[102.623142,32.635072],[102.623261,32.634973],[102.623259,32.634943],[102.623269,32.634927],[102.623291,32.634903],[102.623309,32.634889],[102.623364,32.634868],[102.623413,32.634838],[102.623455,32.634817],[102.623474,32.634804],[102.623512,32.634789],[102.623581,32.634765],[102.62364,32.63472],[102.623701,32.634688],[102.623756,32.634668],[102.623806,32.63465],[102.623857,32.634616],[102.623897,32.634583],[102.623929,32.634542],[102.623941,32.63451],[102.623969,32.634443],[102.624022,32.634379],[102.624045,32.634351],[102.624072,32.634278],[102.624101,32.634209],[102.624124,32.634171],[102.624132,32.634145],[102.624138,32.63412],[102.624144,32.634063],[102.624174,32.63402],[102.624231,32.633945],[102.624248,32.633897],[102.624256,32.633857],[102.624258,32.63382],[102.624254,32.633795],[102.624238,32.633779],[102.624231,32.633768],[102.624223,32.633759],[102.62421,32.633742],[102.624198,32.633719],[102.624192,32.633697],[102.624189,32.633673],[102.624188,32.633651],[102.624181,32.63361],[102.624173,32.633609],[102.62409,32.633596],[102.623628,32.633527],[102.623071,32.633865],[102.622798,32.634106],[102.622783,32.634119],[102.622692,32.634199],[102.622557,32.634319],[102.622451,32.634349],[102.622082,32.634455],[102.622065,32.634459],[102.62205,32.634464],[102.622031,32.63443],[102.621963,32.634307],[102.621964,32.634275],[102.621986,32.63425],[102.622042,32.63418],[102.622046,32.634175],[102.62207,32.634127],[102.62207,32.634117],[102.622076,32.634029],[102.622103,32.633843],[102.622148,32.633676],[102.622175,32.633609],[102.62218,32.633586],[102.622182,32.633571],[102.622179,32.633564],[102.622172,32.63356],[102.622267,32.633335],[102.62236,32.633117],[102.622331,32.632498],[102.622075,32.632303],[102.622017,32.63226],[102.621846,32.632138],[102.62184,32.632134],[102.621807,32.632111],[102.62168,32.632021],[102.621662,32.632008],[102.621344,32.631783],[102.621257,32.631659],[102.621237,32.63163],[102.621219,32.631604],[102.621124,32.63147],[102.621132,32.63116],[102.621273,32.631113],[102.621303,32.631102],[102.62132,32.631097],[102.621642,32.630987],[102.621737,32.630955],[102.621778,32.630941],[102.622201,32.630485],[102.62213,32.62971],[102.622103,32.629658],[102.622102,32.629657],[102.622088,32.62963],[102.622083,32.629619],[102.622036,32.629529],[102.622026,32.629509],[102.622001,32.629462],[102.621924,32.629313],[102.621826,32.629125],[102.622087,32.628956],[102.622102,32.628946],[102.622158,32.62891],[102.622224,32.628867],[102.622286,32.628878],[102.622343,32.628893],[102.622382,32.628908],[102.622437,32.628921],[102.622477,32.628922],[102.62256,32.628907],[102.622586,32.628892],[102.622627,32.628872],[102.622669,32.628869],[102.622691,32.62887],[102.622737,32.628865],[102.622773,32.628851],[102.622801,32.628841],[102.622837,32.628835],[102.622907,32.628829],[102.622941,32.628825],[102.623011,32.628821],[102.623081,32.628828],[102.62321,32.628868],[102.623298,32.628917],[102.623359,32.628922],[102.623886,32.62897],[102.624528,32.628867],[102.625035,32.628488],[102.625051,32.628476],[102.625078,32.628456],[102.625085,32.628451],[102.625134,32.628414],[102.625142,32.628097],[102.625147,32.627908],[102.625159,32.627448],[102.625101,32.626937],[102.625074,32.626704],[102.625048,32.62648],[102.624968,32.62631],[102.624943,32.626257],[102.624939,32.626249],[102.62493,32.626229],[102.624909,32.626185],[102.624597,32.625522],[102.624576,32.625477],[102.624561,32.625447],[102.624345,32.624987],[102.624313,32.624919],[102.624322,32.624879],[102.6244,32.624549],[102.624463,32.624281],[102.624486,32.624265],[102.624863,32.624273],[102.624876,32.624273],[102.624971,32.624253],[102.625082,32.624253],[102.625161,32.624285],[102.625295,32.624371],[102.625402,32.624458],[102.625533,32.624554],[102.625551,32.624586],[102.625921,32.625222],[102.625926,32.62523],[102.62593,32.625237],[102.625986,32.625333],[102.625994,32.625347],[102.626004,32.625364],[102.626079,32.625494],[102.626268,32.625571],[102.626576,32.625697],[102.626607,32.625687],[102.626673,32.625666],[102.626807,32.625624],[102.62684,32.625532],[102.626845,32.625518],[102.626961,32.625203],[102.626968,32.625182],[102.627102,32.624818],[102.627107,32.624623],[102.627108,32.624593],[102.62711,32.624529],[102.62711,32.624521],[102.627111,32.624469],[102.627112,32.624435],[102.62712,32.624122],[102.626967,32.623588],[102.626957,32.623553],[102.626953,32.623539],[102.626959,32.623484],[102.626971,32.623374],[102.626956,32.623352],[102.626953,32.62333],[102.626951,32.623303],[102.626954,32.623277],[102.626967,32.623244],[102.626988,32.623223],[102.627064,32.623118],[102.627155,32.623061],[102.627307,32.622987],[102.627439,32.622946],[102.627606,32.62301],[102.627689,32.62332],[102.627692,32.623327],[102.627731,32.623476],[102.627745,32.623485],[102.627846,32.623551],[102.627966,32.623628],[102.627983,32.623639],[102.628041,32.6237],[102.628085,32.623727],[102.628151,32.623761],[102.628334,32.623809],[102.628397,32.623817],[102.628444,32.623818],[102.628508,32.623811],[102.628561,32.623796],[102.628588,32.623785],[102.628717,32.623675],[102.628803,32.623708],[102.628935,32.623537],[102.629142,32.62327],[102.6292,32.623195],[102.629267,32.622988],[102.62935,32.622734],[102.629314,32.622685],[102.629246,32.622589],[102.629232,32.62257],[102.629041,32.622303],[102.628513,32.622107],[102.628496,32.622101],[102.628477,32.622093],[102.628362,32.622051],[102.628335,32.622086],[102.628316,32.62211],[102.628308,32.622136],[102.628293,32.62217],[102.628282,32.622188],[102.628255,32.622197],[102.628187,32.622181],[102.628165,32.622161],[102.628151,32.62213],[102.628127,32.622091],[102.628104,32.622059],[102.628054,32.622022],[102.628022,32.622004],[102.627994,32.621985],[102.627975,32.621956],[102.627964,32.621917],[102.627948,32.62186],[102.627935,32.621842],[102.627927,32.621828],[102.627905,32.621813],[102.627891,32.621803],[102.627875,32.62179],[102.627858,32.621771],[102.62785,32.621752],[102.627851,32.621739],[102.627858,32.621721],[102.627867,32.621707],[102.627882,32.621691],[102.627898,32.621668],[102.627901,32.621655],[102.627902,32.62163],[102.627898,32.621606],[102.627881,32.621591],[102.627879,32.621572],[102.627888,32.621522],[102.627909,32.621483],[102.62792,32.621467],[102.627935,32.621453],[102.627948,32.621443],[102.627959,32.621436],[102.627975,32.621437],[102.627984,32.621442],[102.627998,32.621386],[102.628,32.62138],[102.628003,32.621367],[102.628067,32.621125],[102.628506,32.620979],[102.62862,32.620942],[102.628627,32.620947],[102.628634,32.620953],[102.628766,32.621054],[102.628787,32.621071],[102.628932,32.621183],[102.628969,32.621235],[102.629037,32.6213],[102.629104,32.62135],[102.629144,32.621379],[102.629176,32.621402],[102.629193,32.62141],[102.629226,32.621418],[102.629255,32.621422],[102.629277,32.621429],[102.629291,32.621447],[102.629301,32.621469],[102.629337,32.621496],[102.629422,32.621507],[102.629432,32.621508],[102.629701,32.621542],[102.62987,32.62133],[102.629905,32.621285],[102.62992,32.621268],[102.630058,32.621094],[102.630126,32.621009],[102.630125,32.620995],[102.630123,32.620981],[102.630053,32.620312],[102.630051,32.620293],[102.62995,32.620178],[102.629837,32.6201],[102.629772,32.620038],[102.629754,32.619986],[102.629754,32.619921],[102.629819,32.619935],[102.629952,32.61994],[102.630005,32.619941],[102.630003,32.619926],[102.629994,32.619862],[102.629992,32.619847],[102.629977,32.61973],[102.629827,32.619381],[102.629822,32.61937],[102.629809,32.619339],[102.629793,32.619302],[102.629778,32.61931],[102.629764,32.619314],[102.629753,32.619317],[102.629744,32.61932],[102.629733,32.619318],[102.629723,32.619315],[102.629706,32.619314],[102.629696,32.619316],[102.629685,32.619322],[102.629676,32.619332],[102.629667,32.619343],[102.629637,32.619291],[102.62964,32.619268],[102.629706,32.619233],[102.629742,32.619184],[102.629676,32.619029],[102.629823,32.618645],[102.629966,32.618136],[102.629805,32.617975],[102.629496,32.617618],[102.629476,32.617571],[102.629432,32.617523],[102.629352,32.617438],[102.629347,32.617432],[102.628642,32.616651],[102.628652,32.616278],[102.628664,32.616229],[102.628667,32.616217],[102.628674,32.616187],[102.628701,32.616074],[102.628707,32.616047],[102.628718,32.615648],[102.62832,32.615214],[102.628268,32.615004],[102.628255,32.614951],[102.628235,32.614866],[102.62831,32.614415],[102.628316,32.614403],[102.62847,32.614105],[102.628542,32.613967],[102.628628,32.613684],[102.628679,32.613517],[102.628681,32.613503],[102.628698,32.613319],[102.628723,32.613065],[102.628543,32.612715],[102.62836,32.612499],[102.62808,32.612387],[102.627877,32.612463],[102.62785,32.612473],[102.627798,32.612493],[102.627674,32.612539],[102.627626,32.612589],[102.62759,32.612638],[102.62755,32.612693],[102.627505,32.612733],[102.627436,32.612777],[102.627426,32.612784],[102.627376,32.6128],[102.6273,32.612826],[102.62729,32.612828],[102.627266,32.612851],[102.627185,32.612929],[102.626827,32.612922],[102.626681,32.61292],[102.626531,32.612777],[102.626375,32.612629],[102.626329,32.612585],[102.626312,32.612569],[102.626252,32.612512],[102.626302,32.612287],[102.626309,32.612255],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626338,32.61219],[102.626355,32.612185],[102.626406,32.612171],[102.626415,32.612168],[102.62666,32.612101],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.626707,32.612088],[102.626749,32.612076],[102.626761,32.612073],[102.626769,32.612071],[102.626957,32.612019],[102.626965,32.612018],[102.626966,32.612017],[102.626968,32.612017],[102.627017,32.612006],[102.627054,32.611997],[102.627071,32.611993],[102.627149,32.611975],[102.627812,32.611823],[102.628165,32.611536],[102.628317,32.611274],[102.628327,32.611257],[102.628333,32.611245],[102.628363,32.611194],[102.628372,32.611145],[102.628373,32.611142],[102.628373,32.61114],[102.628396,32.611017],[102.628436,32.610796],[102.628258,32.610537],[102.628234,32.610503],[102.628207,32.610464],[102.628194,32.610445],[102.628193,32.610445],[102.628191,32.610445],[102.628151,32.610442],[102.627534,32.610406],[102.627524,32.610411],[102.627463,32.61044],[102.627402,32.61047],[102.627375,32.610483],[102.627056,32.610636],[102.62685,32.610678],[102.626824,32.610684],[102.626729,32.610703],[102.626455,32.610758],[102.626225,32.610588],[102.626208,32.610576],[102.626208,32.610576],[102.626207,32.610575],[102.626181,32.610556],[102.62614,32.610526],[102.626128,32.610517],[102.626103,32.610498],[102.626085,32.610485],[102.6257,32.610144],[102.625316,32.609805],[102.625058,32.609693],[102.624476,32.609443],[102.623824,32.609111],[102.623239,32.608937],[102.622575,32.608741],[102.62212,32.608545],[102.622103,32.608538],[102.622085,32.60853],[102.621798,32.608406],[102.62152,32.608188],[102.621549,32.608132],[102.621653,32.607924],[102.621774,32.607819],[102.621802,32.607795],[102.621809,32.607789],[102.621892,32.607716],[102.621903,32.607706],[102.622072,32.607559],[102.622058,32.60732],[102.622056,32.60729],[102.622056,32.607289],[102.622056,32.607288],[102.62205,32.607188],[102.62205,32.607187],[102.62205,32.607186],[102.622031,32.60718],[102.62203,32.60718],[102.622028,32.607179],[102.621934,32.607151],[102.621904,32.607142],[102.621488,32.607016],[102.620828,32.607003],[102.620723,32.606822],[102.620723,32.606821],[102.620722,32.60682],[102.620718,32.606814],[102.620675,32.606739],[102.620675,32.606739],[102.620674,32.606738],[102.620407,32.606276],[102.620241,32.606042],[102.620065,32.605793],[102.620064,32.605792],[102.620064,32.605791],[102.620058,32.605784],[102.619896,32.605554],[102.619891,32.605547],[102.619869,32.605487],[102.619777,32.605235],[102.619773,32.605222],[102.619765,32.605202],[102.619734,32.605116],[102.619725,32.605092],[102.619722,32.605083],[102.619715,32.605065],[102.619885,32.604681],[102.619936,32.604566],[102.619949,32.604537],[102.620019,32.604272],[102.620037,32.604206],[102.620063,32.604105],[102.620076,32.604059],[102.620081,32.604039],[102.620124,32.603876],[102.620124,32.603875],[102.620124,32.603874],[102.620229,32.603796],[102.620236,32.603791],[102.620353,32.603704],[102.620366,32.603694],[102.620609,32.603513],[102.620611,32.603512],[102.620613,32.60351],[102.620627,32.6035],[102.620713,32.603436],[102.620715,32.603434],[102.620717,32.603433],[102.620927,32.603277],[102.620996,32.603038],[102.620595,32.602738],[102.620164,32.602357],[102.61981,32.601806],[102.619805,32.601797],[102.619784,32.601759],[102.619753,32.601704],[102.619655,32.601528],[102.619599,32.601428],[102.619576,32.601376],[102.619321,32.600799],[102.61933,32.600758],[102.619337,32.600725],[102.61934,32.60071],[102.619352,32.60065],[102.619357,32.600628],[102.619374,32.600544],[102.619385,32.600493],[102.619406,32.600395],[102.619852,32.600247],[102.619875,32.600045],[102.619878,32.600022],[102.619879,32.600015],[102.619889,32.599925],[102.619891,32.599908],[102.619899,32.599843],[102.619776,32.599746],[102.619574,32.599587],[102.619614,32.59954],[102.619624,32.599528],[102.619941,32.599153],[102.619979,32.599108],[102.619988,32.599097],[102.620093,32.598973],[102.62012,32.598941],[102.620145,32.598912],[102.62056,32.598545],[102.620541,32.598506],[102.620541,32.598505],[102.620541,32.598504],[102.620521,32.598461],[102.620521,32.598461],[102.62052,32.598459],[102.620462,32.598333],[102.620451,32.598311],[102.620386,32.598168],[102.620143,32.597602],[102.620125,32.597578],[102.62011,32.597558],[102.620046,32.59747],[102.620002,32.597411],[102.619648,32.596927],[102.619609,32.596874],[102.619548,32.59682],[102.61935,32.596645],[102.619282,32.596584],[102.619244,32.596551],[102.619213,32.596524],[102.618953,32.596433],[102.618919,32.596421],[102.618556,32.596293],[102.618557,32.596287],[102.618602,32.595951],[102.618908,32.595739],[102.61891,32.595738],[102.618912,32.595736],[102.618947,32.595711],[102.618996,32.595678],[102.619023,32.595659],[102.619127,32.595587],[102.619523,32.595354],[102.619539,32.595345],[102.619564,32.595186],[102.619571,32.595143],[102.619583,32.595066],[102.619583,32.595065],[102.619583,32.595065],[102.619536,32.59498],[102.619482,32.594884],[102.619447,32.594821],[102.619408,32.59475],[102.618823,32.594552],[102.618056,32.594319],[102.617771,32.593939],[102.617563,32.593467],[102.617866,32.59313],[102.618143,32.593025],[102.618246,32.592986],[102.618389,32.592931],[102.61849,32.592893],[102.618648,32.592833],[102.619144,32.592549],[102.619065,32.592209],[102.618865,32.592067],[102.618629,32.5919],[102.61797,32.591624],[102.617462,32.591174],[102.617441,32.591156],[102.617358,32.591082],[102.617339,32.591066],[102.617276,32.59101],[102.617265,32.590998],[102.617152,32.590885],[102.616627,32.590359],[102.61662,32.590286],[102.616616,32.590252],[102.616607,32.59016],[102.6166,32.5901],[102.616592,32.59002],[102.616779,32.589647],[102.616972,32.589585],[102.616999,32.589576],[102.617074,32.589552],[102.617122,32.589536],[102.617158,32.589524],[102.617546,32.589399],[102.617561,32.589394],[102.617608,32.589378],[102.617661,32.589361],[102.617676,32.589356],[102.617765,32.589328],[102.617815,32.589103],[102.617467,32.588833],[102.617208,32.588771],[102.617207,32.58877],[102.617206,32.58877],[102.617029,32.588727],[102.616999,32.58872],[102.616998,32.588719],[102.616997,32.588719],[102.616629,32.58863],[102.616564,32.588505],[102.616522,32.588425],[102.616519,32.588418],[102.616442,32.58827],[102.616396,32.588181],[102.616333,32.58806],[102.616166,32.587681],[102.616241,32.587512],[102.616241,32.587512],[102.616242,32.587511],[102.616247,32.587499],[102.616253,32.587485],[102.616298,32.587384],[102.616305,32.58737],[102.616342,32.587288],[102.616449,32.587048],[102.616514,32.586694],[102.616534,32.586583],[102.616552,32.586486],[102.616519,32.586401],[102.616478,32.586297],[102.616352,32.585974],[102.616344,32.585956],[102.616338,32.585925],[102.61628,32.585623],[102.616278,32.585615],[102.616227,32.585352],[102.616427,32.584529],[102.616407,32.584412],[102.616404,32.584397],[102.616401,32.584379],[102.616389,32.584305],[102.616384,32.584277],[102.616381,32.584261],[102.616365,32.584163],[102.616311,32.58385],[102.616342,32.583623],[102.616346,32.583592],[102.616351,32.583557],[102.61636,32.583488],[102.616361,32.583478],[102.616362,32.583477],[102.616362,32.583475],[102.616367,32.583438],[102.6166,32.583029],[102.617226,32.582808],[102.617249,32.582799],[102.617406,32.582744],[102.617414,32.582741],[102.617522,32.582697],[102.617679,32.582635],[102.617765,32.5826],[102.617767,32.582521],[102.617768,32.582485],[102.61777,32.582433],[102.617774,32.582262],[102.61777,32.582225],[102.617747,32.582039],[102.617738,32.581961],[102.617473,32.581881],[102.617388,32.581793],[102.61735,32.581753],[102.617246,32.581645],[102.617214,32.581612],[102.61721,32.581597],[102.617205,32.581575],[102.617094,32.581122],[102.617281,32.580749],[102.617533,32.580637],[102.617559,32.580626],[102.617559,32.580625],[102.617559,32.580625],[102.617655,32.580583],[102.617675,32.580574],[102.617912,32.580468],[102.61809,32.580389],[102.618139,32.580202],[102.618191,32.57994],[102.618089,32.579725],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618065,32.579674],[102.617943,32.579616],[102.6179,32.579595],[102.617835,32.579564],[102.617495,32.5794],[102.617244,32.578794],[102.617266,32.577979],[102.617266,32.577968],[102.617264,32.577963],[102.617158,32.577697],[102.617135,32.577638],[102.617007,32.57732],[102.616933,32.577135],[102.616962,32.576045],[102.617024,32.57537],[102.617128,32.574808],[102.617546,32.574269],[102.617547,32.574268],[102.617547,32.574268],[102.617564,32.574246],[102.617588,32.574215],[102.617617,32.574197],[102.617617,32.574197],[102.617618,32.574196],[102.617779,32.574093],[102.618041,32.573927],[102.618086,32.573899],[102.618204,32.573824],[102.618213,32.573818],[102.618213,32.573818],[102.618214,32.573818],[102.61822,32.573814],[102.618232,32.573802],[102.618447,32.573593],[102.618411,32.573291],[102.618068,32.572834],[102.617373,32.572257],[102.616982,32.571949],[102.617039,32.571461],[102.617046,32.571433],[102.617127,32.571108],[102.617188,32.570863],[102.617347,32.569889],[102.617331,32.56903],[102.61733,32.569001],[102.617329,32.568932],[102.617329,32.568911],[102.617303,32.568825],[102.617237,32.568605],[102.617235,32.568598],[102.617211,32.56852],[102.617125,32.568231],[102.616478,32.567504],[102.616138,32.567062],[102.616119,32.567038],[102.616069,32.566972],[102.616059,32.56696],[102.615962,32.566833],[102.61592,32.56678],[102.615901,32.566006],[102.6159,32.565956],[102.615899,32.565915],[102.615988,32.565587],[102.616011,32.565504],[102.616144,32.565017],[102.616205,32.564417],[102.616316,32.563555],[102.616504,32.563183],[102.616523,32.563175],[102.616705,32.563109],[102.617086,32.562968],[102.617187,32.562887],[102.617223,32.562857],[102.617449,32.562674],[102.617455,32.562449],[102.617435,32.562421],[102.617405,32.562378],[102.617371,32.562329],[102.61737,32.562328],[102.617369,32.562326],[102.617354,32.562305],[102.617228,32.562125],[102.617148,32.56201],[102.617147,32.56201],[102.617028,32.561839],[102.616994,32.561823],[102.616353,32.561508],[102.616302,32.561483],[102.616296,32.56148],[102.616151,32.561409],[102.615762,32.561012],[102.615734,32.560985],[102.615703,32.560952],[102.615287,32.560529],[102.615034,32.560035],[102.614831,32.559317],[102.614545,32.558372],[102.61425,32.557803],[102.614135,32.557124],[102.614149,32.556561],[102.614332,32.556062],[102.614348,32.556017],[102.614365,32.555971],[102.614384,32.55592],[102.614437,32.555777],[102.614949,32.554847],[102.615821,32.553774],[102.616057,32.553252],[102.616033,32.552462],[102.616357,32.55198],[102.616737,32.552072],[102.617168,32.552177],[102.617194,32.552183],[102.618168,32.552277],[102.61853,32.552021],[102.618628,32.551647],[102.618283,32.551302],[102.617712,32.551066],[102.617631,32.550764],[102.617824,32.550203],[102.618076,32.549043],[102.618233,32.548144],[102.61838,32.547621],[102.618569,32.547173],[102.619383,32.546587],[102.619578,32.54663],[102.619616,32.546638],[102.619653,32.546646],[102.619825,32.546684],[102.619927,32.546707],[102.620133,32.546752],[102.620412,32.546688],[102.62053,32.546661],[102.620532,32.546661],[102.620533,32.546661],[102.620648,32.546634],[102.620664,32.54663],[102.620892,32.546578],[102.621171,32.546301],[102.621211,32.546261],[102.621212,32.54626],[102.621213,32.546259],[102.621333,32.546139],[102.621385,32.546088],[102.62146,32.546013],[102.621485,32.545988],[102.621511,32.545969],[102.621587,32.545914],[102.621648,32.545869],[102.6217,32.545832],[102.621734,32.545806],[102.62239,32.545329],[102.622941,32.544625],[102.624279,32.54435],[102.624451,32.544246],[102.624691,32.5441],[102.624692,32.544099],[102.624693,32.544098],[102.624695,32.544097],[102.624776,32.544049],[102.625001,32.543912],[102.62528,32.54377],[102.62531,32.543755],[102.625351,32.543734],[102.62537,32.543724],[102.625855,32.543477],[102.62613,32.543144],[102.626329,32.543051],[102.626403,32.543016],[102.626426,32.543006],[102.626593,32.542927],[102.62662,32.542915],[102.626669,32.542891],[102.626966,32.542985],[102.627813,32.543251],[102.628128,32.543169],[102.628567,32.543054],[102.628618,32.543041],[102.628621,32.543023],[102.628655,32.54286],[102.628685,32.542719],[102.628705,32.542621],[102.628708,32.54261],[102.628719,32.542554],[102.629047,32.542384],[102.629104,32.542355],[102.629114,32.54235],[102.629207,32.542302],[102.62922,32.542295],[102.629265,32.542271],[102.629349,32.542228],[102.629441,32.541815],[102.62945,32.541779],[102.629508,32.54165],[102.629517,32.541628],[102.629563,32.541528],[102.629571,32.54151],[102.629664,32.541304],[102.629685,32.541257],[102.629861,32.54129],[102.62988,32.541294],[102.629969,32.541311],[102.629999,32.541316],[102.630568,32.541424],[102.630756,32.541421],[102.630765,32.541421],[102.630765,32.541421],[102.630813,32.54142],[102.630881,32.541419],[102.630883,32.541419],[102.630884,32.541419],[102.630886,32.541419],[102.630901,32.541419],[102.631635,32.541408],[102.631678,32.541407],[102.631678,32.541408],[102.631678,32.541408],[102.63176,32.541581],[102.631836,32.54174],[102.631845,32.541759],[102.63193,32.541938],[102.631892,32.542158],[102.631889,32.542171],[102.631869,32.542291],[102.631842,32.542444],[102.63184,32.542455],[102.631837,32.542473],[102.631826,32.542538],[102.631933,32.54269],[102.631934,32.542692],[102.631935,32.542694],[102.631989,32.54277],[102.632039,32.542842],[102.63213,32.542858],[102.632132,32.542858],[102.632135,32.542859],[102.632217,32.542873],[102.632235,32.542876],[102.632525,32.542927],[102.633512,32.542532],[102.634104,32.541942],[102.634044,32.541696],[102.634043,32.541694],[102.634043,32.541692],[102.634028,32.54163],[102.634025,32.541618],[102.634022,32.541607],[102.634002,32.541525],[102.633984,32.541451],[102.633966,32.541389],[102.633933,32.541275],[102.633928,32.541256],[102.633928,32.541255],[102.633902,32.541166],[102.633902,32.541164],[102.633902,32.541164],[102.633821,32.540884],[102.633956,32.5405],[102.633965,32.540473],[102.634144,32.540353],[102.634236,32.540291],[102.634704,32.540323],[102.634727,32.540324],[102.634989,32.540342],[102.635121,32.540338],[102.635162,32.540337],[102.635744,32.540319],[102.635927,32.540097],[102.635864,32.539923],[102.635849,32.539881],[102.635805,32.539763],[102.635803,32.539756],[102.635773,32.539748],[102.635763,32.539745],[102.635296,32.539612],[102.635234,32.539594],[102.635224,32.539591],[102.635099,32.539555],[102.635012,32.539569],[102.634853,32.539595],[102.634502,32.539652],[102.634475,32.539656],[102.634465,32.539644],[102.634336,32.539484],[102.634332,32.539479],[102.63426,32.539389],[102.63426,32.539366],[102.634261,32.539351],[102.634263,32.539258],[102.634267,32.539116],[102.634268,32.539088],[102.634269,32.539088],[102.63427,32.539088],[102.634369,32.539048],[102.634383,32.539042],[102.634716,32.538909],[102.635295,32.538845],[102.63535,32.538763],[102.635439,32.538632],[102.635443,32.538626],[102.635512,32.538524],[102.635523,32.538508],[102.635572,32.538437],[102.635849,32.537991],[102.636312,32.538],[102.636457,32.538002],[102.636483,32.538003],[102.636515,32.538003],[102.636583,32.538007],[102.636613,32.538009],[102.637073,32.538034],[102.637093,32.538035],[102.637269,32.538044],[102.637285,32.538045],[102.637513,32.538057],[102.637578,32.538061],[102.637599,32.538036],[102.637606,32.538026],[102.637616,32.538015],[102.637676,32.537942],[102.637682,32.537935],[102.637723,32.537886],[102.637853,32.537728],[102.637863,32.537711],[102.637927,32.537602],[102.637977,32.537517],[102.637999,32.537479],[102.638224,32.537096],[102.638283,32.537056],[102.638375,32.536993],[102.638376,32.536992],[102.638376,32.536992],[102.638493,32.536912],[102.638494,32.536911],[102.638505,32.536904],[102.638572,32.536858],[102.638586,32.536848],[102.638587,32.536848],[102.638587,32.536847],[102.638603,32.536836],[102.638676,32.536787],[102.638761,32.536728],[102.638812,32.536694],[102.638913,32.536207],[102.639317,32.536027],[102.639376,32.536028],[102.639527,32.536031],[102.63956,32.536031],[102.639724,32.536034],[102.639752,32.536035],[102.64012,32.536042],[102.64016,32.536042],[102.640215,32.536023],[102.640236,32.536015],[102.640397,32.535959],[102.640427,32.535948],[102.640563,32.5359],[102.640747,32.53564],[102.640694,32.535356],[102.640675,32.535254],[102.640672,32.535242],[102.640669,32.535225],[102.640967,32.535253],[102.641096,32.535265],[102.641211,32.535275],[102.641281,32.535282],[102.641299,32.535284],[102.641687,32.535319],[102.641735,32.535332],[102.641818,32.535354],[102.641818,32.535354],[102.641925,32.535382],[102.642035,32.535411],[102.642613,32.535562],[102.642891,32.535593],[102.642909,32.535594],[102.642943,32.535598],[102.643001,32.535604],[102.643002,32.535605],[102.643005,32.535605],[102.643453,32.535653],[102.643861,32.535323],[102.643814,32.535071],[102.643805,32.535024],[102.643783,32.534908],[102.643747,32.534607],[102.643747,32.534607],[102.643747,32.534606],[102.643595,32.534421],[102.643403,32.534187],[102.643167,32.534021],[102.643052,32.533827],[102.643625,32.533382],[102.643938,32.533334],[102.64408,32.533313],[102.64409,32.533311],[102.644091,32.533311],[102.644196,32.533295],[102.644196,32.533295],[102.644197,32.533295],[102.644393,32.533265],[102.64468,32.53348],[102.644681,32.53348],[102.644681,32.53348],[102.644682,32.533481],[102.644706,32.533494],[102.644769,32.533529],[102.644796,32.533544],[102.644856,32.533577],[102.645269,32.533806],[102.645627,32.533787],[102.64564,32.533307],[102.645557,32.533128],[102.645509,32.533089],[102.645294,32.532915],[102.645046,32.532714],[102.64499,32.532668],[102.645266,32.532445],[102.645275,32.532438],[102.645286,32.532429],[102.645329,32.532404],[102.645358,32.532387],[102.645388,32.532371],[102.645453,32.532333],[102.646118,32.531954],[102.646955,32.531316],[102.647929,32.530966],[102.649002,32.530496],[102.649638,32.53014],[102.649875,32.530032],[102.650146,32.529907],[102.650175,32.529894],[102.650259,32.529855],[102.650269,32.52985],[102.650322,32.529826],[102.650605,32.530077],[102.650546,32.530877],[102.650545,32.530898],[102.650536,32.531019],[102.650535,32.531031],[102.650534,32.531043],[102.65053,32.531097],[102.650693,32.531584],[102.650709,32.531631],[102.651536,32.531764],[102.651862,32.531816],[102.653072,32.531635],[102.653643,32.53144],[102.653944,32.531337],[102.654094,32.531286],[102.654879,32.53081],[102.655517,32.529994],[102.655534,32.52999],[102.655662,32.529965],[102.655669,32.529963],[102.656314,32.529834],[102.65641,32.529815],[102.656565,32.529784],[102.657123,32.529925],[102.65713,32.529926],[102.657237,32.529953],[102.657244,32.529955],[102.657263,32.52996],[102.657409,32.529996],[102.658259,32.529947],[102.659581,32.529579],[102.659938,32.529226],[102.659987,32.528834],[102.659803,32.528471],[102.659902,32.528379],[102.659942,32.528343],[102.659953,32.528333],[102.66003,32.528261],[102.660043,32.528249],[102.660071,32.528223],[102.66008,32.528215],[102.660501,32.528353],[102.660548,32.528369],[102.660566,32.528375],[102.660672,32.52841],[102.66068,32.528412],[102.660698,32.528418],[102.660922,32.528492],[102.66135,32.528369],[102.661704,32.528114],[102.661943,32.527824],[102.66307,32.527518],[102.664161,32.527146],[102.664518,32.52676],[102.664905,32.526735],[102.665566,32.526551],[102.665926,32.526067],[102.666055,32.525546],[102.666295,32.525224],[102.666917,32.525072],[102.66728,32.524732],[102.667395,32.524624],[102.6674,32.524619],[102.667431,32.524591],[102.667477,32.524574],[102.667492,32.524569],[102.66786,32.524435],[102.667951,32.524547],[102.667961,32.524558],[102.667961,32.524559],[102.667961,32.524559],[102.668012,32.524621],[102.668035,32.52465],[102.668065,32.524686],[102.668159,32.5248],[102.668617,32.525005],[102.669042,32.52498],[102.66932,32.524691],[102.66941,32.524202],[102.669075,32.523706],[102.668774,32.523406],[102.669132,32.522987],[102.669294,32.522965],[102.669367,32.522955],[102.669399,32.522951],[102.6694,32.522951],[102.669403,32.522951],[102.66951,32.522936],[102.669513,32.522936],[102.669515,32.522935],[102.669558,32.52293],[102.669892,32.523459],[102.670378,32.524057],[102.670431,32.524103],[102.670432,32.524104],[102.670432,32.524104],[102.670492,32.524157],[102.670513,32.524176],[102.670528,32.524189],[102.670553,32.524212],[102.670793,32.524424],[102.670986,32.524491],[102.671291,32.524597],[102.671554,32.524486],[102.67211,32.524252],[102.672697,32.523936],[102.673671,32.523595],[102.673758,32.523236],[102.673403,32.523078],[102.673382,32.523068],[102.673251,32.52301],[102.673237,32.523004],[102.673223,32.522998],[102.673136,32.52287],[102.673439,32.522784],[102.673464,32.522776],[102.67358,32.522743],[102.673602,32.522737],[102.67383,32.522671],[102.675023,32.522587],[102.676171,32.521759],[102.677006,32.520979],[102.677587,32.520299],[102.677981,32.520142],[102.678163,32.520069],[102.678266,32.520027],[102.678979,32.519741],[102.679013,32.519669],[102.679067,32.519549],[102.679245,32.519163],[102.679367,32.518942],[102.679507,32.51869],[102.680065,32.518912],[102.680557,32.519293],[102.680821,32.518767],[102.680585,32.518179],[102.680667,32.517438],[102.680855,32.517285],[102.680882,32.517263],[102.680957,32.517203],[102.680962,32.517198],[102.681017,32.517154],[102.681022,32.51715],[102.681434,32.516815],[102.681934,32.516877],[102.681933,32.516894],[102.681933,32.516899],[102.681929,32.517076],[102.681926,32.51717],[102.681919,32.517461],[102.682352,32.517681],[102.682923,32.517373],[102.68311,32.517089],[102.68351,32.516482],[102.684625,32.515951],[102.684905,32.515818],[102.685788,32.515569],[102.685954,32.515649],[102.68597,32.515657],[102.686083,32.515712],[102.686095,32.515718],[102.686179,32.515759],[102.686468,32.5159],[102.686606,32.51631],[102.686613,32.516331],[102.686625,32.516366],[102.686651,32.516445],[102.686655,32.516456],[102.686671,32.516504],[102.686701,32.516594],[102.687266,32.516551],[102.687724,32.515764],[102.688046,32.515451],[102.688716,32.51535],[102.689303,32.515262],[102.690046,32.514998],[102.690441,32.514858],[102.69077,32.514228],[102.691602,32.513553],[102.691931,32.513438],[102.692448,32.513257],[102.692613,32.5132],[102.692987,32.51326],[102.693362,32.513267],[102.693903,32.512961],[102.693915,32.512954],[102.693926,32.512948],[102.693926,32.512948],[102.693927,32.512948],[102.693998,32.512907],[102.694022,32.512914],[102.694049,32.512923],[102.694386,32.513025],[102.694498,32.513059],[102.694515,32.513064],[102.694688,32.513116],[102.69471,32.513123],[102.694744,32.513133],[102.694769,32.513134],[102.695495,32.513147],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695617,32.513298],[102.695663,32.513356],[102.695699,32.513401],[102.695798,32.513524],[102.695492,32.513878],[102.695447,32.513931],[102.695347,32.514046],[102.695347,32.514047],[102.695347,32.514047],[102.695344,32.514065],[102.695342,32.514081],[102.695268,32.514682],[102.695765,32.51485],[102.696356,32.514778],[102.696545,32.514754],[102.696895,32.514711],[102.697061,32.514684],[102.697136,32.514672],[102.697181,32.514664],[102.698342,32.514473],[102.699918,32.514077],[102.700242,32.513658],[102.700255,32.513128],[102.700016,32.512699],[102.699908,32.512007],[102.70036,32.511485],[102.701493,32.51124],[102.701513,32.511239],[102.70153,32.511237],[102.70162,32.51123],[102.701654,32.511227],[102.701667,32.511226],[102.702383,32.511168],[102.702384,32.511168],[102.702386,32.511168],[102.702421,32.511165],[102.702484,32.51116],[102.702492,32.511159],[102.70256,32.511154],[102.703558,32.511331],[102.704126,32.511129],[102.704323,32.510627],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704394,32.510444],[102.704444,32.51044],[102.704482,32.510437],[102.704959,32.510401],[102.705316,32.511151],[102.705536,32.511604],[102.70556,32.511652],[102.705612,32.51176],[102.705622,32.511781],[102.705622,32.511781],[102.705623,32.511782],[102.705623,32.511782],[102.705732,32.512007],[102.706044,32.512066],[102.706493,32.51165],[102.706572,32.511015],[102.706529,32.510218],[102.706532,32.510217],[102.706534,32.510216],[102.70656,32.510204],[102.706659,32.51016],[102.706669,32.510155],[102.70694,32.510034],[102.7071,32.509963],[102.707407,32.510181],[102.707499,32.510238],[102.707532,32.510258],[102.707622,32.510314],[102.70764,32.510325],[102.708024,32.510563],[102.708224,32.510567],[102.708462,32.510571],[102.709095,32.510318],[102.709417,32.509952],[102.709475,32.50948],[102.709487,32.509387],[102.70949,32.509363],[102.709494,32.50933],[102.709496,32.509317],[102.709529,32.509284],[102.709817,32.509004],[102.709887,32.509029],[102.709954,32.509053],[102.709979,32.509063],[102.710039,32.509084],[102.710063,32.509093],[102.710127,32.509116],[102.710493,32.509494],[102.710806,32.5095],[102.710882,32.50897],[102.71083,32.508545],[102.710504,32.50832],[102.710292,32.508174],[102.71031,32.508154],[102.710723,32.508037],[102.71116,32.507914],[102.711915,32.507729],[102.711916,32.507729],[102.711917,32.507729],[102.711945,32.507722],[102.711979,32.507714],[102.712118,32.507679],[102.712168,32.507667],[102.712609,32.507569],[102.712821,32.507706],[102.712847,32.507723],[102.712937,32.507781],[102.713025,32.507837],[102.713047,32.507852],[102.713073,32.507868],[102.713074,32.507869],[102.713075,32.507869],[102.713287,32.508006],[102.713785,32.508121],[102.714349,32.508078],[102.714991,32.507453],[102.715568,32.506933],[102.715631,32.506963],[102.715692,32.506992],[102.71583,32.507058],[102.715862,32.507073],[102.715942,32.507111],[102.716046,32.50716],[102.71622,32.507243],[102.71638,32.507319],[102.716496,32.507374],[102.7166,32.507404],[102.716857,32.507477],[102.716892,32.507487],[102.717491,32.507658],[102.718252,32.5073],[102.718639,32.50683],[102.718745,32.50632],[102.718782,32.506142],[102.718915,32.505826],[102.719185,32.505702],[102.71919,32.5057],[102.719204,32.505693],[102.71921,32.505691],[102.719359,32.505622],[102.719934,32.505796],[102.719977,32.505809],[102.720006,32.505818],[102.720007,32.505818],[102.720007,32.505818],[102.720017,32.505821],[102.720048,32.505831],[102.720151,32.505862],[102.720291,32.505904],[102.720993,32.505386],[102.721051,32.505351],[102.721117,32.505311],[102.721208,32.505256],[102.721208,32.505255],[102.72121,32.505255],[102.721334,32.505179],[102.721414,32.50513],[102.721438,32.505116],[102.721542,32.505053],[102.721873,32.504851],[102.721875,32.50485],[102.721877,32.504849],[102.722037,32.504752],[102.722519,32.504459],[102.723365,32.503728],[102.723691,32.503446],[102.723805,32.503348],[102.723817,32.503337],[102.723842,32.503315],[102.723843,32.503314],[102.723844,32.503314],[102.72393,32.50324],[102.724398,32.502835],[102.724504,32.502743],[102.726435,32.500656],[102.727914,32.49909],[102.728166,32.498816],[102.728367,32.498597],[102.728395,32.498566],[102.728471,32.498483],[102.728485,32.498468],[102.728492,32.49846],[102.728511,32.49844],[102.72856,32.498386],[102.728629,32.498311],[102.728646,32.498293],[102.729782,32.497054],[102.730612,32.495811],[102.731148,32.495009],[102.732184,32.493648],[102.733208,32.492503],[102.734052,32.491559],[102.736673,32.48943],[102.738793,32.487293],[102.740527,32.485544],[102.740655,32.485416],[102.742389,32.483696],[102.743611,32.482391],[102.745918,32.480256],[102.746753,32.479422],[102.748555,32.477438],[102.750094,32.47598],[102.750684,32.475398],[102.750992,32.475094],[102.752602,32.473318],[102.754269,32.471703],[102.755668,32.470826],[102.757623,32.470277],[102.760208,32.469527],[102.761659,32.469075],[102.762228,32.468925],[102.763549,32.468578],[102.764686,32.468174],[102.766968,32.467029],[102.767291,32.466858],[102.767291,32.466858],[102.767291,32.466858],[102.767501,32.46702],[102.76771,32.467181],[102.768054,32.467329],[102.768399,32.467477],[102.768643,32.467581],[102.768995,32.467731],[102.769195,32.46781],[102.76928,32.467902],[102.769409,32.467974],[102.769609,32.468024],[102.769837,32.468124],[102.769894,32.468338],[102.769909,32.468588],[102.76998,32.468709],[102.770058,32.46883],[102.77008,32.468973],[102.770101,32.469405],[102.770123,32.469837],[102.770116,32.470037],[102.769923,32.470372],[102.769959,32.470629],[102.770044,32.471],[102.770098,32.471089],[102.770242,32.471326],[102.770387,32.471564],[102.77058,32.4718],[102.770672,32.472078],[102.770779,32.472278],[102.770979,32.472535],[102.771022,32.47261],[102.771186,32.472892],[102.771222,32.473071],[102.771251,32.473328],[102.771279,32.473585],[102.771251,32.47397],[102.771183,32.474402],[102.771115,32.474834],[102.771086,32.475159],[102.771058,32.475483],[102.770919,32.475847],[102.770779,32.476211],[102.770669,32.476579],[102.770558,32.476947],[102.770572,32.477089],[102.770658,32.477168],[102.770787,32.477254],[102.771097,32.477325],[102.771408,32.477396],[102.771734,32.477444],[102.77206,32.477492],[102.772236,32.477518],[102.772525,32.477625],[102.772814,32.477732],[102.773092,32.477832],[102.773371,32.477932],[102.773799,32.478053],[102.774049,32.478203],[102.774299,32.478353],[102.774391,32.478406],[102.774598,32.478524],[102.774798,32.478524],[102.775195,32.478453],[102.775591,32.478382],[102.775912,32.478336],[102.776233,32.478291],[102.776554,32.478246],[102.776933,32.478224],[102.777222,32.478142],[102.777511,32.47806],[102.777729,32.477946],[102.777946,32.477832],[102.778268,32.477632],[102.778632,32.477596],[102.77886,32.477582],[102.779146,32.47755],[102.779431,32.477518],[102.77971,32.477511],[102.779988,32.477504],[102.780213,32.477507],[102.780438,32.477511],[102.780677,32.477589],[102.780916,32.477668],[102.781166,32.477775],[102.781416,32.477882],[102.781698,32.47797],[102.781981,32.478059],[102.782008,32.478067],[102.782312,32.47811],[102.782615,32.478153],[102.782847,32.478192],[102.783079,32.478232],[102.783222,32.47821],[102.783621,32.478082],[102.783832,32.477971],[102.784043,32.47786],[102.784235,32.477714],[102.784428,32.477568],[102.784709,32.477406],[102.78499,32.477244],[102.78527,32.477082],[102.785531,32.477064],[102.785791,32.477047],[102.78617,32.477068],[102.786548,32.477089],[102.786934,32.477125],[102.787276,32.477318],[102.787612,32.477549],[102.787947,32.47778],[102.788283,32.47801],[102.788603,32.478216],[102.788922,32.478422],[102.789004,32.478474],[102.789289,32.478724],[102.789575,32.478974],[102.789867,32.479224],[102.790067,32.479395],[102.790126,32.479539],[102.790146,32.479588],[102.790274,32.479802],[102.790396,32.479959],[102.790681,32.480177],[102.790967,32.480395],[102.791202,32.480602],[102.791356,32.480826],[102.791509,32.481051],[102.791756,32.481397],[102.792002,32.481744],[102.79208,32.481886],[102.79208,32.482001],[102.791995,32.482101],[102.791659,32.482393],[102.791496,32.482604],[102.791388,32.482743],[102.791238,32.482957],[102.791152,32.483071],[102.790995,32.483107],[102.790767,32.483164],[102.790738,32.483171],[102.79036,32.483257],[102.790232,32.483321],[102.790053,32.483507],[102.789875,32.483757],[102.789718,32.483935],[102.789603,32.484042],[102.789518,32.484214],[102.789511,32.484328],[102.789546,32.484553],[102.789582,32.484778],[102.789482,32.484985],[102.78935,32.48517],[102.789218,32.485356],[102.789218,32.485356],[102.789217,32.485357],[102.789056,32.485639],[102.788989,32.485755],[102.788911,32.486051],[102.788832,32.486346],[102.788754,32.486641],[102.788691,32.486903],[102.788628,32.487166],[102.788568,32.487412],[102.788472,32.487811],[102.788376,32.488211],[102.788276,32.488514],[102.788176,32.488818],[102.788088,32.488952],[102.787957,32.489153],[102.787826,32.489353],[102.78764,32.489639],[102.787569,32.489856],[102.787498,32.490074],[102.787492,32.490101],[102.787405,32.490503],[102.787405,32.490838],[102.787405,32.491174],[102.787405,32.491438],[102.787365,32.491662],[102.787326,32.491887],[102.787324,32.491912],[102.787298,32.492151],[102.787291,32.492294],[102.787233,32.492551],[102.787169,32.492851],[102.787151,32.493276],[102.787133,32.4937],[102.787098,32.494122],[102.786976,32.494329],[102.786898,32.494557],[102.786877,32.494871],[102.786877,32.495128],[102.786905,32.495407],[102.786869,32.495564],[102.786812,32.495655],[102.786748,32.495756],[102.78647,32.495949],[102.786248,32.496045],[102.786027,32.496142],[102.785767,32.496164],[102.785692,32.49617],[102.78527,32.496206],[102.784963,32.496277],[102.784656,32.496349],[102.78435,32.49642],[102.78395,32.496531],[102.78355,32.496642],[102.783186,32.496763],[102.782912,32.496903],[102.782639,32.497044],[102.782365,32.497184],[102.782058,32.497373],[102.781751,32.497562],[102.781394,32.497805],[102.781037,32.498048],[102.780843,32.498153],[102.780558,32.498307],[102.780274,32.498462],[102.780071,32.498557],[102.779724,32.498719],[102.779453,32.498883],[102.779181,32.498919],[102.778953,32.498947],[102.778724,32.498976],[102.778697,32.498981],[102.778654,32.498989],[102.778408,32.499036],[102.778161,32.499083],[102.777889,32.499165],[102.777618,32.499247],[102.777261,32.49934],[102.776947,32.499554],[102.776769,32.499761],[102.776583,32.500161],[102.776441,32.50041],[102.776347,32.500575],[102.776069,32.500917],[102.775849,32.501231],[102.77563,32.501546],[102.77541,32.50186],[102.775191,32.502174],[102.774984,32.502395],[102.774777,32.502616],[102.774584,32.502859],[102.774391,32.503102],[102.774263,32.503237],[102.774042,32.503316],[102.773795,32.503395],[102.773548,32.503474],[102.77337,32.503531],[102.773085,32.503623],[102.772735,32.503773],[102.772386,32.503923],[102.772022,32.504105],[102.771657,32.504287],[102.7714,32.504447],[102.771144,32.504608],[102.770858,32.504851],[102.770826,32.504881],[102.770587,32.505108],[102.77043,32.505436],[102.770339,32.505684],[102.77022,32.506009],[102.770101,32.506335],[102.769994,32.506564],[102.769887,32.506792],[102.769616,32.507056],[102.769345,32.507321],[102.76906,32.507473],[102.768775,32.507626],[102.768545,32.507749],[102.768367,32.507892],[102.768317,32.507956],[102.768295,32.508042],[102.768324,32.508077],[102.768663,32.508231],[102.769002,32.508384],[102.769327,32.508498],[102.769652,32.508613],[102.77003,32.508727],[102.770255,32.508837],[102.77048,32.508948],[102.770815,32.509087],[102.771151,32.509226],[102.771536,32.509419],[102.771779,32.509562],[102.772067,32.509793],[102.772355,32.510024],[102.772643,32.510254],[102.772821,32.510472],[102.772999,32.51069],[102.773185,32.51109],[102.773264,32.511439],[102.773342,32.511789],[102.773406,32.512125],[102.773571,32.51246],[102.773689,32.512655],[102.773848,32.512914],[102.774006,32.513174],[102.774056,32.513506],[102.774106,32.513838],[102.77422,32.514148],[102.774334,32.514459],[102.774347,32.514488],[102.774448,32.514713],[102.774549,32.514937],[102.774602,32.515233],[102.774656,32.51553],[102.774756,32.515851],[102.774855,32.516079],[102.774955,32.516308],[102.775162,32.516636],[102.775344,32.5169],[102.775526,32.517164],[102.775634,32.517371],[102.775741,32.517578],[102.775791,32.517914],[102.775813,32.518135],[102.775841,32.518414],[102.775883,32.518671],[102.775926,32.518928],[102.776048,32.519263],[102.776172,32.519455],[102.776297,32.519647],[102.776326,32.519691],[102.776526,32.51992],[102.776597,32.520155],[102.776612,32.520498],[102.776597,32.520759],[102.776583,32.521019],[102.776644,32.521362],[102.776704,32.521704],[102.776751,32.521947],[102.776797,32.52219],[102.776859,32.522497],[102.776921,32.522804],[102.776983,32.523111],[102.777004,32.52341],[102.776963,32.523703],[102.776922,32.523997],[102.776881,32.524289],[102.77684,32.524581],[102.776729,32.524845],[102.776619,32.525109],[102.776612,32.525288],[102.776647,32.525473],[102.776738,32.525614],[102.776917,32.525891],[102.777096,32.526168],[102.777275,32.526444],[102.77749,32.526769],[102.777704,32.527094],[102.777875,32.527222],[102.777996,32.527279],[102.778325,32.527272],[102.778675,32.527229],[102.778903,32.527215],[102.779109,32.527215],[102.779153,32.527215],[102.77936,32.527258],[102.779667,32.527429],[102.779912,32.52761],[102.780168,32.527798],[102.780423,32.527986],[102.780766,32.528161],[102.781109,32.528336],[102.781401,32.528557],[102.781544,32.528757],[102.781798,32.528796],[102.782051,32.528836],[102.782322,32.528832],[102.782593,32.528828],[102.782915,32.528768],[102.783236,32.528707],[102.783644,32.528625],[102.783871,32.528579],[102.784292,32.528543],[102.784477,32.528554],[102.784792,32.528571],[102.785188,32.5285],[102.785584,32.528429],[102.785906,32.528354],[102.786227,32.528279],[102.786612,32.528207],[102.786948,32.528179],[102.787191,32.528172],[102.787483,32.5282],[102.787726,32.528272],[102.787922,32.528386],[102.788119,32.5285],[102.78849,32.5287],[102.788647,32.528821],[102.788847,32.529082],[102.789047,32.529342],[102.789314,32.529564],[102.789582,32.529785],[102.789921,32.530063],[102.79026,32.530342],[102.790588,32.530549],[102.790917,32.530756],[102.791139,32.530865],[102.791452,32.53102],[102.791458,32.531025],[102.791701,32.531233],[102.791945,32.531441],[102.792162,32.53162],[102.79238,32.531798],[102.792673,32.53198],[102.792966,32.532162],[102.793287,32.532401],[102.793608,32.53264],[102.793821,32.532942],[102.793915,32.533076],[102.794099,32.53344],[102.794243,32.533725],[102.794347,32.533975],[102.79445,32.534225],[102.794498,32.534335],[102.794485,32.534424],[102.794612,32.53465],[102.794622,32.534682],[102.79475,32.534775],[102.794776,32.534784],[102.794971,32.534853],[102.795014,32.534862],[102.795384,32.534921],[102.795522,32.534971],[102.795671,32.535003],[102.795819,32.535079],[102.795835,32.535084],[102.795841,32.535089],[102.796163,32.535253],[102.796485,32.535417],[102.796678,32.535589],[102.796929,32.535954],[102.797064,32.53615],[102.797199,32.536345],[102.797317,32.5366],[102.797418,32.536819],[102.79752,32.537038],[102.797547,32.537102],[102.79762,32.537273],[102.797741,32.537373],[102.798041,32.537602],[102.798255,32.537809],[102.798469,32.538016],[102.798612,32.538251],[102.798912,32.538351],[102.799304,32.538487],[102.799573,32.538581],[102.79959,32.538587],[102.799811,32.538665],[102.79999,32.538794],[102.800166,32.538946],[102.800342,32.539098],[102.800493,32.5392],[102.800702,32.539342],[102.800911,32.539483],[102.801021,32.539639],[102.801041,32.539794],[102.800921,32.540004],[102.80078,32.540208],[102.800638,32.540413],[102.800497,32.540618],[102.800355,32.540822],[102.800281,32.541013],[102.800276,32.541265],[102.80043,32.541478],[102.800727,32.541781],[102.800896,32.541953],[102.801066,32.542125],[102.801235,32.542297],[102.801404,32.542469],[102.801573,32.542641],[102.801742,32.542813],[102.801974,32.543067],[102.802207,32.543322],[102.802362,32.543497],[102.80247,32.54373],[102.802596,32.544162],[102.802722,32.544593],[102.802848,32.545025],[102.8029,32.545252],[102.802951,32.545479],[102.803003,32.545707],[102.803054,32.545934],[102.803048,32.546261],[102.802881,32.54649],[102.802608,32.546813],[102.802334,32.547136],[102.802061,32.547459],[102.801913,32.547673],[102.801766,32.547887],[102.801619,32.548101],[102.801471,32.548316],[102.801326,32.548673],[102.80118,32.54903],[102.801035,32.549387],[102.800926,32.549743],[102.800817,32.550099],[102.800708,32.550455],[102.800665,32.550781],[102.800626,32.551087],[102.800623,32.551107],[102.800637,32.551483],[102.800651,32.551859],[102.800733,32.552208],[102.800783,32.552418],[102.800816,32.552557],[102.800931,32.552734],[102.800953,32.552878],[102.801062,32.553169],[102.801203,32.553549],[102.801307,32.553759],[102.80141,32.55397],[102.801692,32.55432],[102.80176,32.554405],[102.802067,32.554648],[102.802374,32.554891],[102.802745,32.555142],[102.803116,32.555394],[102.803488,32.555646],[102.803859,32.555897],[102.804201,32.556115],[102.804544,32.556333],[102.804758,32.55649],[102.804944,32.556583],[102.805094,32.556697],[102.805158,32.556839],[102.805186,32.557002],[102.805188,32.55709],[102.805196,32.557363],[102.805118,32.55776],[102.805099,32.557855],[102.805062,32.558178],[102.805024,32.558501],[102.804987,32.558824],[102.804851,32.559238],[102.804818,32.559337],[102.804715,32.559638],[102.804595,32.559812],[102.804523,32.559916],[102.804316,32.560123],[102.804247,32.560195],[102.803992,32.560462],[102.803737,32.56073],[102.803537,32.560951],[102.803338,32.561172],[102.803211,32.561378],[102.803085,32.561583],[102.802938,32.561822],[102.802795,32.562093],[102.802652,32.562365],[102.802463,32.562682],[102.802274,32.563],[102.802103,32.563271],[102.801839,32.56361],[102.801574,32.563949],[102.80146,32.564149],[102.801377,32.564292],[102.801153,32.564677],[102.801004,32.564859],[102.800889,32.564999],[102.800889,32.565106],[102.800953,32.565249],[102.801253,32.565427],[102.80134,32.565504],[102.80151,32.565655],[102.801741,32.565879],[102.801972,32.566103],[102.802203,32.566326],[102.802213,32.566341],[102.802395,32.566605],[102.802542,32.56683],[102.802688,32.567055],[102.802834,32.567265],[102.802981,32.567476],[102.803273,32.56774],[102.803552,32.567958],[102.80383,32.568175],[102.804134,32.568325],[102.804437,32.568475],[102.804751,32.568539],[102.805151,32.568625],[102.805465,32.568561],[102.805779,32.568496],[102.806122,32.568447],[102.806432,32.568418],[102.806743,32.568389],[102.807088,32.568382],[102.807433,32.568375],[102.807778,32.568368],[102.80811,32.568404],[102.808442,32.568439],[102.808781,32.568504],[102.80912,32.568568],[102.809441,32.568621],[102.809762,32.568675],[102.810164,32.568851],[102.810402,32.568956],[102.81064,32.56906],[102.810658,32.569069],[102.811009,32.569247],[102.811359,32.569425],[102.81171,32.569603],[102.812061,32.569781],[102.812396,32.569956],[102.812732,32.570131],[102.813017,32.570414],[102.813303,32.570697],[102.813588,32.570981],[102.813831,32.571184],[102.814074,32.571388],[102.814381,32.571509],[102.814523,32.571559],[102.814895,32.571473],[102.815152,32.571259],[102.815409,32.571045],[102.815787,32.570809],[102.816165,32.570574],[102.816558,32.570502],[102.816951,32.570431],[102.817386,32.570364],[102.817821,32.570298],[102.818257,32.570231],[102.81857,32.5702],[102.818913,32.570165],[102.819256,32.570131],[102.819556,32.570174],[102.819857,32.570216],[102.820157,32.570259],[102.820363,32.570288],[102.820795,32.570388],[102.821226,32.570488],[102.821521,32.570559],[102.821817,32.570631],[102.822112,32.570702],[102.822461,32.570838],[102.822811,32.570973],[102.823128,32.571271],[102.823444,32.571568],[102.823761,32.571866],[102.824032,32.572206],[102.824303,32.572546],[102.824574,32.572887],[102.824769,32.573201],[102.824965,32.573515],[102.82516,32.573829],[102.825289,32.574103],[102.825418,32.574377],[102.825547,32.57465],[102.825567,32.574693],[102.825752,32.575092],[102.825913,32.575289],[102.826073,32.575485],[102.826395,32.575696],[102.826716,32.575906],[102.827111,32.576075],[102.827506,32.576244],[102.827901,32.576413],[102.828215,32.576538],[102.828529,32.576663],[102.828907,32.576877],[102.829286,32.577091],[102.8296,32.577227],[102.829914,32.577362],[102.830214,32.577562],[102.830242,32.577605],[102.830242,32.577606],[102.830242,32.577607],[102.830242,32.577684],[102.830157,32.577841],[102.829885,32.578055],[102.829718,32.578217],[102.8296,32.578333],[102.829478,32.57864],[102.829357,32.579068],[102.829236,32.579497],[102.829114,32.579925],[102.829014,32.580339],[102.828914,32.580753],[102.828879,32.581181],[102.828864,32.581446],[102.828972,32.581806],[102.829079,32.582166],[102.82916,32.582481],[102.82924,32.582795],[102.829321,32.583109],[102.829418,32.58338],[102.829514,32.583651],[102.829694,32.584014],[102.829875,32.584377],[102.830055,32.584739],[102.830206,32.585043],[102.830367,32.585432],[102.830528,32.585821],[102.830688,32.58621],[102.830849,32.586599],[102.831031,32.586994],[102.831106,32.587156],[102.831127,32.587313],[102.831085,32.587563],[102.830956,32.587749],[102.830737,32.588004],[102.830519,32.588259],[102.830485,32.588298],[102.830197,32.588627],[102.82991,32.588957],[102.829842,32.589034],[102.829734,32.589242],[102.829626,32.589451],[102.829564,32.589569],[102.829386,32.58994],[102.829207,32.590311],[102.829076,32.590663],[102.828946,32.591015],[102.828886,32.591175],[102.828907,32.591475],[102.828929,32.591775],[102.828872,32.592139],[102.828797,32.592481],[102.828722,32.592824],[102.828658,32.593115],[102.828595,32.593406],[102.828544,32.59364],[102.828493,32.593873],[102.828493,32.59428],[102.828496,32.59434],[102.828506,32.594577],[102.828516,32.594813],[102.828529,32.595143],[102.828543,32.595472],[102.828632,32.595772],[102.828722,32.596072],[102.828738,32.596151],[102.828822,32.596565],[102.828836,32.596789],[102.82885,32.597014],[102.828793,32.5974],[102.828679,32.59765],[102.828565,32.597899],[102.828364,32.598181],[102.82819,32.598426],[102.828015,32.59867],[102.82795,32.598777],[102.827614,32.599066],[102.827303,32.599387],[102.826992,32.599708],[102.826681,32.600028],[102.826371,32.600349],[102.826206,32.600549],[102.826041,32.600748],[102.825896,32.601112],[102.825843,32.601419],[102.825813,32.601766],[102.825806,32.601997],[102.8258,32.602228],[102.825761,32.602458],[102.825721,32.602688],[102.825659,32.602918],[102.825596,32.603149],[102.825522,32.603379],[102.825448,32.603609],[102.82534,32.603847],[102.825231,32.604086],[102.825181,32.604317],[102.82513,32.604547],[102.82506,32.604786],[102.824991,32.605024],[102.824922,32.605263],[102.824852,32.605501],[102.824731,32.605807],[102.824611,32.606113],[102.824509,32.606516],[102.8245,32.606921],[102.824582,32.607289],[102.824732,32.607657],[102.824928,32.608027],[102.825124,32.608396],[102.82532,32.608766],[102.825516,32.609135],[102.825579,32.609358],[102.825643,32.60958],[102.825749,32.60989],[102.825855,32.610201],[102.825938,32.610604],[102.826021,32.611007],[102.826059,32.611296],[102.825983,32.611602],[102.825817,32.611947],[102.825716,32.612186],[102.825615,32.612425],[102.825514,32.612664],[102.825414,32.612903],[102.825313,32.613142],[102.825233,32.613332],[102.825212,32.613381],[102.825113,32.613687],[102.824924,32.613954],[102.824715,32.614124],[102.824472,32.614255],[102.824229,32.614385],[102.823848,32.61459],[102.823667,32.614688],[102.823539,32.614725],[102.823232,32.614767],[102.822925,32.61481],[102.82254,32.614857],[102.822154,32.614903],[102.821826,32.614989],[102.821433,32.615117],[102.821085,32.615334],[102.820791,32.615517],[102.820505,32.615649],[102.82022,32.615781],[102.820179,32.615813],[102.819917,32.61602],[102.819613,32.616259],[102.819501,32.616394],[102.819328,32.616602],[102.819063,32.616909],[102.819006,32.617095],[102.819006,32.617344],[102.819091,32.617611],[102.819092,32.617616],[102.819263,32.617889],[102.819435,32.618163],[102.819606,32.618437],[102.819681,32.618686],[102.819756,32.618936],[102.819777,32.619074],[102.819799,32.619215],[102.819763,32.619572],[102.819699,32.619804],[102.819635,32.620036],[102.819583,32.62019],[102.81952,32.620378],[102.819456,32.620535],[102.819346,32.620669],[102.819292,32.620735],[102.819067,32.620906],[102.818842,32.621078],[102.818704,32.621131],[102.818348,32.621269],[102.817993,32.621406],[102.817707,32.621575],[102.817422,32.621744],[102.817136,32.621913],[102.816911,32.622064],[102.81671,32.622199],[102.816508,32.622334],[102.816322,32.622491],[102.816208,32.62262],[102.816237,32.622791],[102.816239,32.62287],[102.816244,32.623005],[102.81623,32.62321],[102.81623,32.623219],[102.81613,32.623533],[102.81593,32.623893],[102.81573,32.624252],[102.81553,32.624611],[102.81528,32.624915],[102.81503,32.625218],[102.814702,32.625518],[102.814374,32.625818],[102.814045,32.626118],[102.813753,32.626417],[102.813653,32.626482],[102.813467,32.626546],[102.81341,32.626565],[102.813296,32.626603],[102.813046,32.626717],[102.812832,32.626888],[102.812618,32.627045],[102.81251,32.627167],[102.812296,32.627324],[102.812196,32.627481],[102.812096,32.627738],[102.811954,32.627938],[102.811832,32.628045],[102.811718,32.628159],[102.81164,32.628316],[102.811618,32.628516],[102.811661,32.628896],[102.811668,32.628959],[102.811725,32.629401],[102.811781,32.629844],[102.811782,32.629851],[102.811782,32.630229],[102.811707,32.630618],[102.811632,32.631007],[102.811554,32.6314],[102.81144,32.631714],[102.811404,32.631892],[102.81144,32.632],[102.811604,32.632199],[102.811911,32.632464],[102.812218,32.632728],[102.812453,32.63302],[102.812689,32.633199],[102.812889,32.633263],[102.813131,32.633299],[102.813141,32.633302],[102.813223,32.633361],[102.813512,32.633655],[102.813682,32.633973],[102.813708,32.634024],[102.813906,32.634374],[102.81402,32.634574],[102.814135,32.634774],[102.81425,32.634973],[102.814365,32.635173],[102.814553,32.635388],[102.814741,32.635602],[102.814944,32.635731],[102.815111,32.635838],[102.815147,32.63586],[102.815392,32.636048],[102.815628,32.636228],[102.815638,32.636235],[102.815958,32.636504],[102.816279,32.636773],[102.816599,32.637042],[102.816824,32.63719],[102.817049,32.637338],[102.817377,32.637553],[102.817507,32.637682],[102.81751,32.637687],[102.81765,32.637932],[102.817832,32.638185],[102.818014,32.638438],[102.81825,32.63866],[102.818649,32.638831],[102.818985,32.639092],[102.81932,32.639352],[102.819556,32.639645],[102.819877,32.639887],[102.820141,32.64008],[102.820405,32.640273],[102.820712,32.640392],[102.821019,32.640511],[102.821326,32.64063],[102.821601,32.640786],[102.821875,32.640942],[102.822104,32.641072],[102.822291,32.641237],[102.822597,32.641508],[102.822861,32.641708],[102.823125,32.641908],[102.823389,32.642107],[102.823624,32.642257],[102.823859,32.642406],[102.824192,32.642617],[102.824524,32.642828],[102.82481,32.643071],[102.825095,32.643314],[102.825285,32.643507],[102.825474,32.643699],[102.825602,32.643956],[102.825816,32.644206],[102.826009,32.644285],[102.826384,32.644424],[102.826759,32.644563],[102.827073,32.644717],[102.827387,32.64487],[102.827662,32.645077],[102.827936,32.645284],[102.828163,32.645553],[102.828389,32.645822],[102.828615,32.646091],[102.828712,32.64618],[102.828872,32.646326],[102.829086,32.646433],[102.82945,32.646655],[102.829624,32.646755],[102.829735,32.646819],[102.82985,32.646954],[102.829892,32.647154],[102.829895,32.647186],[102.829921,32.647461],[102.829875,32.647861],[102.829828,32.648261],[102.829757,32.648614],[102.829685,32.648967],[102.829589,32.649207],[102.829493,32.649446],[102.829279,32.64981],[102.829209,32.649879],[102.829029,32.65006],[102.828857,32.650217],[102.828743,32.650452],[102.828686,32.650788],[102.828661,32.650906],[102.828593,32.65123],[102.828465,32.651559],[102.828336,32.651887],[102.828168,32.652187],[102.828001,32.652487],[102.827929,32.652658],[102.827737,32.652879],[102.827423,32.653116],[102.827109,32.653353],[102.827094,32.653365],[102.82683,32.6536],[102.826666,32.653836],[102.826644,32.654136],[102.826752,32.654336],[102.827019,32.65461],[102.827287,32.654885],[102.827555,32.65516],[102.827822,32.655435],[102.827978,32.655628],[102.828133,32.655821],[102.828236,32.655949],[102.828336,32.656142],[102.828429,32.656299],[102.828429,32.656491],[102.828386,32.656663],[102.828193,32.656955],[102.82812,32.657215],[102.828047,32.657474],[102.828018,32.657682],[102.827976,32.657981],[102.827953,32.658152],[102.827949,32.658176],[102.827938,32.658404],[102.827926,32.658633],[102.827922,32.658704],[102.827869,32.658943],[102.827815,32.659182],[102.827722,32.659418],[102.827672,32.659618],[102.82768,32.659854],[102.827887,32.66025],[102.828094,32.660646],[102.82826,32.660901],[102.828322,32.660996],[102.828436,32.661217],[102.828436,32.661345],[102.828543,32.661424],[102.828765,32.661538],[102.829139,32.661624],[102.829514,32.661709],[102.829889,32.661795],[102.830264,32.661881],[102.830606,32.662021],[102.830949,32.662162],[102.831292,32.662302],[102.83157,32.662454],[102.831848,32.662607],[102.832127,32.662759],[102.83234,32.662956],[102.832576,32.663175],[102.832812,32.663394],[102.832998,32.663682],[102.833183,32.66397],[102.833369,32.664258],[102.833643,32.664585],[102.83389,32.664879],[102.834068,32.665222],[102.834168,32.665386],[102.834325,32.665436],[102.834482,32.665393],[102.834732,32.665332],[102.834982,32.665272],[102.835239,32.665261],[102.835496,32.66525],[102.835808,32.665298],[102.836119,32.665346],[102.836162,32.665358],[102.836554,32.665558],[102.836946,32.665757],[102.837338,32.665957],[102.837663,32.666128],[102.837987,32.666299],[102.838348,32.666564],[102.838708,32.666828],[102.839008,32.667078],[102.839308,32.667327],[102.839672,32.66757],[102.839779,32.667749],[102.839929,32.667998],[102.840079,32.668248],[102.8401,32.668284],[102.840322,32.668512],[102.8405,32.668634],[102.84075,32.668748],[102.841064,32.668791],[102.841378,32.668834],[102.841685,32.668886],[102.841992,32.668938],[102.842299,32.668991],[102.842486,32.669046],[102.842784,32.669133],[102.843113,32.669355],[102.843434,32.669469],[102.843655,32.669569],[102.843827,32.669847],[102.844059,32.6702],[102.844225,32.670452],[102.84439,32.670704],[102.844559,32.670923],[102.844728,32.671142],[102.844945,32.671422],[102.845161,32.671703],[102.845347,32.67191],[102.845533,32.672117],[102.845694,32.672245],[102.845704,32.672253],[102.84574,32.67227],[102.845802,32.672302],[102.845825,32.672308],[102.845924,32.672334],[102.846118,32.672346],[102.846375,32.67231],[102.846561,32.672285],[102.847003,32.672224],[102.847267,32.672224],[102.84753,32.672224],[102.847596,32.672224],[102.847986,32.672286],[102.848244,32.672327],[102.848376,32.672348],[102.848766,32.67241],[102.849159,32.672481],[102.849552,32.672553],[102.849944,32.672624],[102.850183,32.672674],[102.850422,32.672724],[102.850601,32.672791],[102.851001,32.672939],[102.8514,32.673088],[102.8518,32.67325],[102.8522,32.673413],[102.8526,32.673575],[102.852999,32.673738],[102.853263,32.673905],[102.853528,32.674073],[102.853727,32.674252],[102.853927,32.674344],[102.854113,32.674355],[102.85417,32.674359],[102.85451,32.674249],[102.854851,32.67414],[102.855191,32.67403],[102.855278,32.67398],[102.855541,32.673827],[102.855805,32.673673],[102.856033,32.673449],[102.856262,32.673224],[102.856487,32.673073],[102.856519,32.673052],[102.856761,32.67296],[102.857068,32.672924],[102.857318,32.672938],[102.857568,32.672952],[102.857839,32.673013],[102.85811,32.673074],[102.858209,32.673122],[102.858452,32.673199],[102.858668,32.673285],[102.858885,32.673371],[102.859101,32.673457],[102.859317,32.673543],[102.859533,32.673629],[102.859749,32.673715],[102.859955,32.673849],[102.860161,32.673984],[102.860296,32.674072],[102.860581,32.674232],[102.860866,32.674392],[102.861151,32.674551],[102.861398,32.674753],[102.861645,32.674954],[102.861651,32.674958],[102.861777,32.675088],[102.861953,32.67527],[102.862129,32.675451],[102.862286,32.675644],[102.862579,32.675908],[102.862869,32.676067],[102.86316,32.676227],[102.86345,32.676386],[102.863714,32.67652],[102.863979,32.676653],[102.864278,32.676804],[102.864578,32.676956],[102.864878,32.677107],[102.865107,32.677208],[102.86519,32.677318],[102.865304,32.677458],[102.865312,32.677546],[102.865295,32.677613],[102.865074,32.677945],[102.864853,32.678277],[102.864781,32.678484],[102.864674,32.678798],[102.864696,32.679112],[102.864781,32.679384],[102.864938,32.679698],[102.865232,32.679999],[102.865488,32.680262],[102.865631,32.680476],[102.865773,32.68069],[102.865848,32.680943],[102.865923,32.681197],[102.865945,32.681425],[102.865816,32.681682],[102.865823,32.681868],[102.865909,32.682011],[102.865952,32.682196],[102.865995,32.68241],[102.865988,32.682646],[102.866016,32.682839],[102.866088,32.683046],[102.866173,32.683188],[102.866316,32.683281],[102.866687,32.683388],[102.866998,32.683428],[102.867308,32.683467],[102.867465,32.683545],[102.867697,32.683692],[102.867929,32.683838],[102.868136,32.683995],[102.868229,32.684145],[102.868251,32.684331],[102.868272,32.684538],[102.86835,32.684652],[102.868486,32.684752],[102.868832,32.684912],[102.869178,32.685073],[102.869236,32.685141],[102.8694,32.685337],[102.869568,32.685505],[102.869735,32.685673],[102.869887,32.685872],[102.870142,32.686208],[102.870385,32.686493],[102.870613,32.686743],[102.87091,32.686954],[102.871206,32.687164],[102.871225,32.68718],[102.871563,32.68745],[102.871834,32.687764],[102.871977,32.687989],[102.87212,32.688214],[102.872173,32.688612],[102.872198,32.688799],[102.872177,32.68911],[102.872155,32.68942],[102.872127,32.689583],[102.872062,32.689948],[102.871985,32.690345],[102.871907,32.690741],[102.871905,32.690748],[102.871913,32.690934],[102.872034,32.691162],[102.872079,32.691238],[102.872198,32.69144],[102.872323,32.691651],[102.872448,32.691862],[102.872499,32.691967],[102.872662,32.692304],[102.872719,32.692529],[102.872725,32.692553],[102.872776,32.692754],[102.872933,32.693054],[102.873078,32.693209],[102.873138,32.69329],[102.873315,32.693446],[102.873331,32.69346],[102.873637,32.693638],[102.873943,32.693816],[102.874084,32.693819],[102.874226,32.693797],[102.874496,32.693671],[102.874785,32.69354],[102.875074,32.693409],[102.875362,32.693278],[102.87564,32.69318],[102.875917,32.693082],[102.876263,32.693053],[102.87661,32.693023],[102.876667,32.693018],[102.877021,32.693008],[102.877376,32.692999],[102.87773,32.692989],[102.878059,32.692925],[102.878401,32.692775],[102.87866,32.692634],[102.878919,32.692493],[102.878951,32.692475],[102.879151,32.69234],[102.87954,32.692236],[102.879929,32.692133],[102.880286,32.692083],[102.880643,32.692033],[102.880886,32.691999],[102.88109,32.691948],[102.881454,32.691905],[102.881817,32.691862],[102.882169,32.691848],[102.882313,32.691891],[102.882335,32.69189],[102.882592,32.69194],[102.882849,32.69199],[102.88317,32.692126],[102.883484,32.692375],[102.883798,32.692625],[102.883962,32.692854],[102.884155,32.693196],[102.88425,32.693335],[102.884485,32.693493],[102.884719,32.69365],[102.884972,32.693763],[102.885225,32.693877],[102.885251,32.693885],[102.885481,32.693994],[102.885711,32.694103],[102.885979,32.694206],[102.886246,32.69431],[102.886599,32.694331],[102.886951,32.694353],[102.887303,32.694374],[102.887703,32.694474],[102.887981,32.694474],[102.888145,32.694353],[102.888171,32.694333],[102.888499,32.694072],[102.888828,32.693812],[102.888866,32.693782],[102.889188,32.693547],[102.889511,32.693312],[102.889523,32.693303],[102.88983,32.693089],[102.890227,32.693034],[102.890237,32.693032],[102.890451,32.693061],[102.890858,32.693096],[102.891161,32.693139],[102.891465,32.693182],[102.891842,32.693225],[102.892188,32.693264],[102.892535,32.693303],[102.892835,32.693313],[102.893135,32.693323],[102.893435,32.693332],[102.893627,32.693361],[102.893892,32.693432],[102.894093,32.693514],[102.894371,32.693626],[102.894648,32.693739],[102.894962,32.693867],[102.895276,32.693996],[102.895519,32.694067],[102.895748,32.694124],[102.895976,32.694182],[102.896267,32.694221],[102.896497,32.694253],[102.89674,32.694274],[102.896968,32.69436],[102.897197,32.694446],[102.897446,32.694681],[102.897604,32.694863],[102.897761,32.695045],[102.897937,32.695274],[102.898003,32.695359],[102.8982,32.695612],[102.898396,32.695866],[102.898549,32.696082],[102.898589,32.696137],[102.898731,32.696402],[102.898867,32.69663],[102.899088,32.696716],[102.899388,32.696762],[102.899688,32.696808],[102.900026,32.696844],[102.900364,32.69688],[102.900702,32.696916],[102.901087,32.697037],[102.901473,32.697158],[102.901687,32.697233],[102.901901,32.697308],[102.902229,32.697426],[102.902558,32.697544],[102.902797,32.697676],[102.903036,32.697808],[102.903375,32.698033],[102.903714,32.698258],[102.903925,32.698365],[102.904135,32.698472],[102.904378,32.698661],[102.904621,32.69885],[102.904856,32.698993],[102.905227,32.699128],[102.905366,32.699249],[102.90562,32.699471],[102.905756,32.699542],[102.905899,32.69957],[102.905972,32.699593],[102.906074,32.699581],[102.906177,32.699539],[102.90634,32.699435],[102.906635,32.699134],[102.906929,32.698833],[102.907224,32.698532],[102.907519,32.698231],[102.907787,32.698006],[102.908054,32.697782],[102.908277,32.697642],[102.908475,32.697531],[102.908672,32.69742],[102.908955,32.697318],[102.909237,32.697216],[102.909545,32.697148],[102.909853,32.69708],[102.910139,32.69713],[102.910306,32.697196],[102.910517,32.69728],[102.910827,32.697433],[102.911138,32.697587],[102.911452,32.697782],[102.911802,32.698001],[102.912134,32.69824],[102.912466,32.698479],[102.912644,32.698566],[102.913022,32.69875],[102.913262,32.698896],[102.913501,32.699043],[102.913822,32.69915],[102.913869,32.699175],[102.914143,32.699321],[102.914257,32.699421],[102.914285,32.69954],[102.914286,32.699541],[102.914286,32.699542],[102.914343,32.699735],[102.914436,32.699807],[102.9147,32.699821],[102.914814,32.699792],[102.915171,32.699814],[102.915457,32.699899],[102.915771,32.699878],[102.916024,32.699824],[102.916278,32.699771],[102.916645,32.699749],[102.917013,32.699728],[102.917248,32.699714],[102.917484,32.699699],[102.917789,32.699623],[102.918084,32.69955],[102.918394,32.699528],[102.918705,32.699507],[102.918972,32.699528],[102.91924,32.69955],[102.919612,32.699654],[102.919954,32.699749],[102.920351,32.699804],[102.920749,32.699859],[102.921146,32.699914],[102.921179,32.69992],[102.921484,32.699977],[102.921788,32.700035],[102.92221,32.700049],[102.92247,32.700021],[102.922731,32.699992],[102.923049,32.699895],[102.923368,32.699797],[102.923687,32.699699],[102.924078,32.699517],[102.924469,32.699334],[102.924805,32.699121],[102.924805,32.699121],[102.924806,32.69912],[102.925015,32.698987],[102.925224,32.698855],[102.925433,32.698722],[102.925642,32.698589],[102.925851,32.698456],[102.92606,32.698323],[102.926269,32.69819],[102.926478,32.698057],[102.926825,32.697921],[102.927173,32.697784],[102.927491,32.697691],[102.92781,32.697597],[102.928068,32.697552],[102.928326,32.697506],[102.928641,32.697531],[102.928957,32.697556],[102.929235,32.69765],[102.929513,32.697743],[102.92987,32.697996],[102.930227,32.698249],[102.930485,32.698543],[102.930678,32.698763],[102.930768,32.699014],[102.930938,32.699353],[102.930954,32.699385],[102.931118,32.699621],[102.931218,32.699792],[102.931368,32.700078],[102.931468,32.700378],[102.931639,32.700735],[102.931875,32.701113],[102.931996,32.701227],[102.932196,32.701377],[102.932481,32.701625],[102.932667,32.701787],[102.932753,32.701862],[102.932896,32.702005],[102.932981,32.702127],[102.933053,32.702266],[102.933081,32.702319],[102.93314,32.702599],[102.933198,32.702878],[102.933238,32.703265],[102.933278,32.703653],[102.933319,32.70404],[102.933339,32.704234],[102.933369,32.704521],[102.933399,32.704808],[102.933459,32.705029],[102.933519,32.705249],[102.933565,32.705421],[102.933706,32.705768],[102.933829,32.706082],[102.933952,32.706395],[102.934059,32.706624],[102.934166,32.706852],[102.934281,32.707038],[102.93453,32.707252],[102.934656,32.707324],[102.934903,32.707466],[102.935151,32.707609],[102.935432,32.707694],[102.935595,32.707743],[102.935623,32.707752],[102.935987,32.70798],[102.936269,32.708191],[102.936551,32.708401],[102.936746,32.708637],[102.936941,32.708872],[102.937136,32.709108],[102.937346,32.709479],[102.937557,32.70985],[102.937678,32.710134],[102.9377,32.710186],[102.937832,32.710497],[102.937964,32.710808],[102.938021,32.710942],[102.938085,32.711107],[102.938157,32.71121],[102.93831,32.711319],[102.93862,32.711454],[102.938929,32.711589],[102.939301,32.711725],[102.939673,32.711862],[102.940044,32.711999],[102.940416,32.712136],[102.940813,32.712337],[102.941205,32.712535],[102.941597,32.712734],[102.94199,32.712932],[102.942382,32.713131],[102.94239,32.713133],[102.942561,32.713181],[102.942826,32.713255],[102.943029,32.713312],[102.943089,32.713329],[102.943351,32.713402],[102.943614,32.713476],[102.943877,32.713549],[102.94414,32.713623],[102.944402,32.713696],[102.944665,32.71377],[102.944928,32.713843],[102.945315,32.713928],[102.945702,32.714013],[102.94609,32.714099],[102.946475,32.714174],[102.946859,32.71425],[102.947112,32.714267],[102.947366,32.714284],[102.947619,32.714302],[102.947872,32.714319],[102.948125,32.714336],[102.948378,32.714354],[102.948818,32.714374],[102.949259,32.714395],[102.949488,32.714406],[102.949699,32.714416],[102.949933,32.71442],[102.950142,32.714522],[102.950347,32.714723],[102.950471,32.714918],[102.950595,32.715112],[102.95065,32.715199],[102.950818,32.715361],[102.951057,32.715726],[102.951296,32.716092],[102.951457,32.71627],[102.951617,32.716449],[102.951831,32.716651],[102.952046,32.716853],[102.952176,32.717091],[102.95226,32.717376],[102.952323,32.717633],[102.952387,32.71789],[102.952415,32.718005],[102.952445,32.718127],[102.952522,32.718435],[102.952587,32.718697],[102.952652,32.718959],[102.952807,32.719209],[102.953069,32.719518],[102.95336,32.719831],[102.95339,32.719863],[102.953711,32.720049],[102.954032,32.720236],[102.954354,32.720422],[102.954556,32.720517],[102.95477,32.720636],[102.95483,32.720755],[102.954861,32.720923],[102.954865,32.720946],[102.954888,32.721244],[102.954889,32.721255],[102.954877,32.721636],[102.955032,32.721886],[102.95521,32.722052],[102.955282,32.72235],[102.955329,32.722695],[102.955591,32.72304],[102.955829,32.723295],[102.956067,32.723551],[102.956373,32.72369],[102.956567,32.723777],[102.956799,32.723849],[102.957031,32.72392],[102.957366,32.724001],[102.957667,32.724073],[102.957967,32.724145],[102.958268,32.724217],[102.958613,32.724467],[102.958684,32.724527],[102.958744,32.724753],[102.958732,32.724991],[102.95872,32.725229],[102.958714,32.72552],[102.958708,32.725812],[102.958803,32.726157],[102.959029,32.72643],[102.959351,32.72668],[102.959707,32.726859],[102.959815,32.726966],[102.959823,32.726983],[102.959922,32.72718],[102.959986,32.727502],[102.959993,32.727537],[102.959981,32.727838],[102.959969,32.72814],[102.959957,32.728441],[102.959962,32.728774],[102.959979,32.728813],[102.960143,32.729193],[102.960343,32.729412],[102.960619,32.729574],[102.961,32.729716],[102.961212,32.729778],[102.961428,32.72984],[102.961871,32.729894],[102.962294,32.729945],[102.96257,32.73005],[102.962722,32.730211],[102.962894,32.730392],[102.96291,32.730419],[102.963046,32.730639],[102.963183,32.73086],[102.963217,32.730916],[102.963465,32.73122],[102.963779,32.731392],[102.964093,32.731582],[102.964407,32.731772],[102.96455,32.731858],[102.964731,32.731991],[102.964864,32.732172],[102.964917,32.732264],[102.965007,32.732419],[102.965179,32.732592],[102.965197,32.73261],[102.965549,32.732857],[102.965755,32.732983],[102.965961,32.733108],[102.965987,32.733124],[102.966239,32.733343],[102.966491,32.733562],[102.966634,32.733761],[102.966758,32.733999],[102.966929,32.734171],[102.967072,32.734342],[102.967111,32.734414],[102.967186,32.734551],[102.967321,32.734969],[102.967367,32.735113],[102.967557,32.73547],[102.967629,32.735584],[102.96765,32.73577],[102.967586,32.73597],[102.967357,32.736277],[102.96715,32.736551],[102.966943,32.736826],[102.966747,32.737105],[102.966551,32.737383],[102.966551,32.737383],[102.966551,32.737383],[102.96636,32.737635],[102.966168,32.737886],[102.966144,32.737918],[102.965965,32.738254],[102.965659,32.738518],[102.96538,32.738789],[102.96508,32.739053],[102.964852,32.73925],[102.964773,32.739318],[102.964524,32.73956],[102.964523,32.739562],[102.964427,32.739781],[102.964424,32.739789],[102.964331,32.740133],[102.964295,32.740267],[102.964247,32.740533],[102.964198,32.740799],[102.964181,32.740895],[102.964167,32.74094],[102.964109,32.74112],[102.964038,32.741345],[102.963931,32.741559],[102.963738,32.741702],[102.963417,32.741745],[102.963146,32.741784],[102.962875,32.741823],[102.96276,32.741849],[102.962496,32.741909],[102.962132,32.741959],[102.961797,32.74198],[102.961497,32.741966],[102.961439,32.741961],[102.961254,32.741944],[102.96123,32.741944],[102.96099,32.741944],[102.960783,32.742041],[102.960576,32.742137],[102.960393,32.74239],[102.960254,32.742452],[102.96004,32.742547],[102.959825,32.742643],[102.95961,32.742738],[102.959395,32.742833],[102.959185,32.742926],[102.95918,32.742929],[102.958965,32.743024],[102.958751,32.743119],[102.958536,32.743215],[102.958165,32.743393],[102.957795,32.743571],[102.957424,32.74375],[102.957208,32.743911],[102.956991,32.744073],[102.956774,32.744235],[102.956557,32.744396],[102.956395,32.744576],[102.956233,32.744756],[102.956071,32.744936],[102.955909,32.745116],[102.955715,32.745449],[102.95552,32.745782],[102.955439,32.746013],[102.955357,32.746244],[102.955276,32.746474],[102.955194,32.746705],[102.955122,32.746953],[102.95505,32.747201],[102.954979,32.747449],[102.954907,32.747697],[102.954761,32.747942],[102.954614,32.748187],[102.954363,32.748449],[102.954112,32.748712],[102.953945,32.748867],[102.953777,32.749023],[102.95361,32.749178],[102.953442,32.749333],[102.953275,32.749489],[102.953107,32.749644],[102.953075,32.749672],[102.952832,32.74988],[102.952557,32.750116],[102.952533,32.750136],[102.952248,32.750381],[102.951904,32.750553],[102.951879,32.750566],[102.951561,32.750725],[102.951255,32.750818],[102.950948,32.750912],[102.950524,32.751014],[102.9501,32.751116],[102.949992,32.75113],[102.949684,32.751169],[102.949267,32.751221],[102.948851,32.751274],[102.948435,32.751326],[102.948189,32.751337],[102.947943,32.751348],[102.947697,32.751358],[102.947451,32.751369],[102.947207,32.75138],[102.947205,32.75138],[102.946959,32.751391],[102.946713,32.751401],[102.946467,32.751412],[102.946221,32.751423],[102.945975,32.751434],[102.945729,32.751444],[102.945483,32.751455],[102.945251,32.751473],[102.945019,32.751491],[102.944788,32.751509],[102.944556,32.751527],[102.94418,32.7516],[102.943803,32.751673],[102.943556,32.751748],[102.943309,32.751822],[102.943046,32.752035],[102.942829,32.752348],[102.942667,32.752528],[102.942504,32.752708],[102.942342,32.752888],[102.94218,32.753068],[102.942026,32.753285],[102.941983,32.753346],[102.941976,32.753355],[102.941872,32.753502],[102.941718,32.75372],[102.941563,32.753937],[102.941543,32.753966],[102.941485,32.754047],[102.941409,32.754154],[102.941395,32.754175],[102.941255,32.754372],[102.941101,32.754589],[102.940947,32.754806],[102.940816,32.755011],[102.940685,32.755215],[102.940555,32.755419],[102.940424,32.755623],[102.940293,32.755827],[102.940162,32.756031],[102.940047,32.756252],[102.939931,32.756472],[102.939815,32.756692],[102.939699,32.756912],[102.939527,32.757255],[102.939354,32.757598],[102.93926,32.757959],[102.939167,32.75832],[102.939073,32.758681],[102.939087,32.759089],[102.939101,32.759497],[102.939115,32.759906],[102.939144,32.760171],[102.939173,32.760437],[102.939202,32.760702],[102.939231,32.760968],[102.93926,32.761233],[102.939289,32.761498],[102.939246,32.761804],[102.939203,32.76211],[102.939032,32.762482],[102.93891,32.762707],[102.938788,32.762932],[102.938684,32.763024],[102.93846,32.763221],[102.938237,32.763418],[102.937973,32.763729],[102.937825,32.763904],[102.937709,32.76404],[102.937608,32.76435],[102.937553,32.764703],[102.937616,32.764972],[102.937643,32.765085],[102.93768,32.765241],[102.937769,32.765449],[102.937858,32.765658],[102.937947,32.765867],[102.938036,32.766076],[102.938147,32.766315],[102.938259,32.766554],[102.938323,32.766822],[102.938388,32.767089],[102.93841,32.767475],[102.938432,32.76786],[102.938454,32.768246],[102.938495,32.768493],[102.938536,32.768741],[102.938684,32.769157],[102.938712,32.769237],[102.938893,32.769517],[102.939052,32.769718],[102.939211,32.769918],[102.939324,32.770137],[102.939437,32.770355],[102.939476,32.770634],[102.939491,32.771029],[102.93946,32.771343],[102.939404,32.771719],[102.93942,32.772094],[102.939461,32.772247],[102.939528,32.772491],[102.939655,32.772707],[102.939782,32.772923],[102.939909,32.773139],[102.940036,32.773355],[102.940163,32.773571],[102.94029,32.773787],[102.940418,32.774003],[102.940545,32.774219],[102.940651,32.774443],[102.940757,32.774667],[102.940862,32.774891],[102.940968,32.775115],[102.941067,32.775413],[102.941166,32.775711],[102.941251,32.776068],[102.941336,32.776425],[102.941398,32.776791],[102.94146,32.777158],[102.941453,32.777444],[102.941446,32.77773],[102.941429,32.777987],[102.941411,32.778243],[102.94137,32.778509],[102.941337,32.778722],[102.941329,32.778775],[102.941265,32.779031],[102.941201,32.779287],[102.941107,32.779531],[102.941014,32.779775],[102.94092,32.78002],[102.940826,32.780264],[102.940608,32.780609],[102.940389,32.780954],[102.940171,32.781299],[102.939944,32.781664],[102.939717,32.782029],[102.93949,32.782394],[102.939221,32.782737],[102.938953,32.783081],[102.938684,32.783424],[102.938414,32.783769],[102.938143,32.784115],[102.937873,32.78446],[102.937766,32.784672],[102.93766,32.784883],[102.937553,32.785094],[102.937534,32.785132],[102.937486,32.785226],[102.937452,32.785294],[102.937446,32.785306],[102.93734,32.785517],[102.937233,32.785728],[102.937191,32.785833],[102.937139,32.785964],[102.937133,32.785979],[102.937122,32.786009],[102.937034,32.786229],[102.936934,32.786479],[102.936835,32.786729],[102.936724,32.787142],[102.936613,32.787555],[102.936524,32.787886],[102.936502,32.787968],[102.936457,32.788363],[102.936413,32.788758],[102.936404,32.789139],[102.936395,32.789521],[102.936387,32.789902],[102.936423,32.790326],[102.936459,32.79075],[102.936453,32.791027],[102.936447,32.791304],[102.936427,32.791544],[102.936406,32.791784],[102.936383,32.792054],[102.936327,32.792448],[102.936296,32.79267],[102.936271,32.792842],[102.936237,32.793024],[102.936193,32.793255],[102.936191,32.793268],[102.936111,32.793695],[102.936076,32.793879],[102.93603,32.794122],[102.93599,32.794375],[102.935968,32.79451],[102.935959,32.794566],[102.935949,32.794627],[102.935908,32.79488],[102.935867,32.795133],[102.935839,32.795311],[102.935829,32.79537],[102.935827,32.795386],[102.935786,32.795639],[102.93571,32.795874],[102.935645,32.796076],[102.935634,32.79611],[102.935602,32.796209],[102.935558,32.796346],[102.935482,32.796581],[102.935396,32.796818],[102.93531,32.797055],[102.935278,32.797143],[102.935224,32.797292],[102.935138,32.797529],[102.935053,32.797766],[102.934967,32.798003],[102.934881,32.79824],[102.934795,32.798477],[102.934709,32.798714],[102.934623,32.798952],[102.934537,32.799189],[102.934452,32.799426],[102.934395,32.799682],[102.934338,32.799938],[102.934281,32.800194],[102.934225,32.80045],[102.934168,32.800706],[102.934111,32.800962],[102.934074,32.801215],[102.934037,32.801468],[102.934,32.801721],[102.933963,32.801973],[102.933926,32.802226],[102.933889,32.802479],[102.93388,32.802884],[102.933871,32.803289],[102.9339,32.80371],[102.933929,32.80413],[102.933958,32.804551],[102.934029,32.804765],[102.9341,32.804978],[102.934172,32.805192],[102.934243,32.805406],[102.934399,32.805725],[102.934555,32.806043],[102.934797,32.806389],[102.935039,32.806736],[102.935281,32.807082],[102.935459,32.807248],[102.935637,32.807414],[102.935814,32.80758],[102.935992,32.807746],[102.936063,32.807793],[102.936013,32.80783],[102.934879,32.808317],[102.933789,32.808695],[102.933748,32.808709],[102.932941,32.809186],[102.932352,32.809534],[102.931927,32.809785],[102.931088,32.810276],[102.930562,32.810583],[102.929342,32.811574],[102.928809,32.811976],[102.927929,32.812814],[102.927908,32.812834],[102.92793,32.813059],[102.927881,32.813193],[102.927826,32.813299],[102.927769,32.813337],[102.927719,32.813338],[102.927605,32.813305],[102.927426,32.813288],[102.926973,32.813715],[102.92583,32.814612],[102.924806,32.815195],[102.923798,32.815581],[102.922549,32.81651],[102.921764,32.817317],[102.921287,32.818021],[102.920757,32.818833],[102.920502,32.819929],[102.920294,32.821177],[102.920074,32.821821],[102.919937,32.822229],[102.919542,32.823064],[102.919081,32.823862],[102.918583,32.824746],[102.917569,32.825852],[102.916515,32.827186],[102.916182,32.828332],[102.916115,32.829712],[102.916032,32.83184],[102.916081,32.832647],[102.916265,32.833514],[102.915939,32.83581],[102.915777,32.83693],[102.915502,32.837198],[102.915253,32.837439],[102.91442,32.838099],[102.913864,32.838538],[102.912854,32.839471],[102.912321,32.840383],[102.912231,32.841331],[102.912993,32.843704],[102.913418,32.844488],[102.913605,32.844679],[102.914017,32.845102],[102.914889,32.845721],[102.914945,32.84624],[102.914884,32.846419],[102.914653,32.847098],[102.914301,32.847809],[102.914116,32.848183],[102.913412,32.849121],[102.912774,32.850175],[102.912105,32.851084],[102.911271,32.851346],[102.910971,32.85144],[102.909854,32.851133],[102.909759,32.851113],[102.909691,32.851098],[102.909683,32.851097],[102.909637,32.851087],[102.90952,32.851062],[102.909397,32.851035],[102.909209,32.850995],[102.909152,32.850983],[102.909006,32.850952],[102.9089,32.850929],[102.908868,32.850922],[102.908844,32.850917],[102.908804,32.850908],[102.908682,32.850882],[102.908667,32.850879],[102.908656,32.850877],[102.908603,32.850866],[102.908585,32.850862],[102.908395,32.850821],[102.907379,32.850545],[102.906262,32.850181],[102.905111,32.849845],[102.904054,32.849827],[102.902658,32.849775],[102.901531,32.849871],[102.900031,32.849846],[102.899478,32.850182],[102.899453,32.851218],[102.899529,32.852341],[102.900031,32.854191],[102.900346,32.85529],[102.900999,32.85651],[102.901606,32.858247],[102.90189,32.85923],[102.901703,32.859946],[102.901726,32.860407],[102.901708,32.861155],[102.901659,32.861816],[102.901196,32.86552],[102.901096,32.866871],[102.900589,32.868129],[102.899904,32.871167],[102.899493,32.874124],[102.899108,32.875988],[102.899044,32.877282],[102.898907,32.878719],[102.898709,32.881334],[102.899057,32.882491],[102.899003,32.883325],[102.898817,32.883983],[102.89849,32.884389],[102.89829,32.884636],[102.8978,32.885175],[102.897787,32.885186],[102.897278,32.885626],[102.896146,32.887334],[102.895571,32.88859],[102.895698,32.888995],[102.895751,32.889629],[102.895731,32.890464],[102.895235,32.8927],[102.894937,32.893759],[102.894535,32.894904],[102.894308,32.895821],[102.894356,32.896685],[102.894163,32.897215],[102.894094,32.897403],[102.893845,32.898086],[102.893579,32.899262],[102.89373,32.90007],[102.893743,32.900962],[102.893818,32.902114],[102.893929,32.903181],[102.893877,32.903928],[102.893691,32.904587],[102.893298,32.905329],[102.893252,32.905846],[102.89303,32.906561],[102.892434,32.907242],[102.891588,32.908408],[102.891018,32.909434],[102.890012,32.910136],[102.887136,32.912016],[102.886416,32.912147],[102.885692,32.91248],[102.884545,32.913353],[102.883882,32.914004],[102.883036,32.91514],[102.882087,32.916275],[102.881664,32.916844],[102.880757,32.917692],[102.879803,32.917647],[102.879321,32.91756],[102.87904,32.917509],[102.877821,32.917289],[102.876403,32.917034],[102.8761,32.916979],[102.876038,32.917017],[102.871981,32.91947],[102.871968,32.919496],[102.870938,32.920345],[102.870533,32.921255],[102.870228,32.923298],[102.870064,32.924805],[102.869858,32.925394],[102.869007,32.926242],[102.868257,32.92817],[102.867081,32.929228],[102.865955,32.93088],[102.865398,32.932757],[102.86523,32.934426],[102.865707,32.935889],[102.866382,32.937033],[102.866716,32.937779],[102.866746,32.937848],[102.866625,32.938309],[102.866394,32.939189],[102.865904,32.94096],[102.864585,32.942662],[102.863643,32.944587],[102.862638,32.94651],[102.861969,32.947739],[102.861808,32.949137],[102.861775,32.950484],[102.861744,32.950788],[102.861691,32.951315],[102.86162,32.951313],[102.861651,32.951857],[102.86167,32.952186],[102.861624,32.953016],[102.861455,32.953297],[102.861363,32.953469],[102.861205,32.953713],[102.861087,32.953893],[102.860996,32.95408],[102.860905,32.954352],[102.860864,32.954539],[102.86083,32.954846],[102.860635,32.955175],[102.860484,32.955576],[102.860467,32.955601],[102.8603,32.955824],[102.860098,32.956054],[102.859863,32.956364],[102.859755,32.956557],[102.85963,32.956773],[102.859496,32.956982],[102.859387,32.957147],[102.859254,32.957377],[102.859153,32.957528],[102.85902,32.957772],[102.858932,32.957991],[102.858705,32.9583],[102.858044,32.95907],[102.854856,32.961091],[102.853988,32.961587],[102.853286,32.962597],[102.85298,32.963434],[102.851996,32.964319],[102.850872,32.965052],[102.84967,32.966084],[102.8473,32.968208],[102.845807,32.969445],[102.844901,32.970021],[102.843744,32.970467],[102.842155,32.970493],[102.840628,32.970574],[102.839288,32.970765],[102.839267,32.971268],[102.837553,32.971574],[102.835834,32.971694],[102.833971,32.971687],[102.832757,32.971716],[102.831339,32.971641],[102.830507,32.971776],[102.829415,32.971683],[102.828182,32.971287],[102.827426,32.97075],[102.826164,32.970354],[102.82438,32.969525],[102.824126,32.96954],[102.823699,32.969563],[102.823477,32.96975],[102.823218,32.969968],[102.822974,32.970174],[102.822335,32.971369],[102.822274,32.971483],[102.822168,32.971681],[102.821793,32.972472],[102.821336,32.973013],[102.820849,32.973626],[102.820311,32.973953],[102.820127,32.974064],[102.819401,32.974725],[102.818462,32.975606],[102.817708,32.976191],[102.817384,32.976424],[102.816384,32.977446],[102.815819,32.977463],[102.814265,32.977026],[102.813195,32.976644],[102.811809,32.975937],[102.810955,32.975558],[102.809487,32.975987],[102.807907,32.976597],[102.806382,32.977161],[102.805465,32.977145],[102.804862,32.977498],[102.803059,32.978376],[102.802073,32.979035],[102.801875,32.979166],[102.801797,32.979218],[102.80048,32.980105],[102.799009,32.98067],[102.798027,32.981063],[102.796524,32.980763],[102.795519,32.979927],[102.794242,32.979176],[102.792915,32.978288],[102.792179,32.977502],[102.791195,32.975847],[102.789884,32.974323],[102.789142,32.973764],[102.788022,32.973243],[102.787012,32.972634],[102.786111,32.971981],[102.781472,32.969715],[102.779723,32.968456],[102.77878,32.967302],[102.77741,32.966004],[102.776523,32.964805],[102.776066,32.96366],[102.776039,32.962568],[102.776077,32.961067],[102.776114,32.959593],[102.776118,32.959431],[102.776143,32.958432],[102.776151,32.958112],[102.776161,32.958036],[102.77635,32.956614],[102.775941,32.956354],[102.775548,32.956102],[102.775093,32.955812],[102.77481,32.955632],[102.774347,32.955432],[102.773923,32.955249],[102.773607,32.955113],[102.773346,32.955001],[102.773048,32.954872],[102.77269,32.954674],[102.772304,32.954447],[102.771908,32.95421],[102.77153,32.953991],[102.771028,32.953699],[102.77083,32.953415],[102.770611,32.9531],[102.770371,32.953438],[102.770164,32.953729],[102.769858,32.954077],[102.769561,32.954415],[102.769219,32.954804],[102.769094,32.954952],[102.768894,32.955187],[102.768538,32.955606],[102.768497,32.955655],[102.768272,32.955942],[102.767549,32.956867],[102.766063,32.958023],[102.76462,32.959262],[102.764298,32.959538],[102.764134,32.959673],[102.762149,32.961319],[102.76101,32.962656],[102.76097,32.962704],[102.760814,32.962887],[102.759974,32.9641],[102.759649,32.9644],[102.759517,32.964523],[102.758814,32.965171],[102.757757,32.966426],[102.757706,32.966483],[102.757537,32.966673],[102.757538,32.966744],[102.757526,32.966782],[102.757519,32.966804],[102.757499,32.966829],[102.757473,32.966848],[102.757429,32.966861],[102.757377,32.966849],[102.757316,32.96684],[102.757209,32.966816],[102.757174,32.966812],[102.757146,32.966812],[102.757133,32.966819],[102.757109,32.966842],[102.7571,32.966864],[102.7571,32.966894],[102.757137,32.966989],[102.757175,32.967062],[102.757178,32.967077],[102.756987,32.967291],[102.756973,32.967307],[102.756737,32.967572],[102.756723,32.967588],[102.756709,32.967604],[102.756662,32.967656],[102.75665,32.96767],[102.756631,32.967691],[102.756612,32.967712],[102.755924,32.968485],[102.754325,32.969821],[102.754014,32.970145],[102.753331,32.970853],[102.753006,32.97119],[102.752386,32.971833],[102.749954,32.974109],[102.749867,32.974226],[102.749773,32.974205],[102.74975,32.9742],[102.749638,32.974219],[102.74959,32.974253],[102.749566,32.974292],[102.749484,32.974377],[102.749338,32.974456],[102.749238,32.974513],[102.749236,32.974514],[102.749074,32.974619],[102.748886,32.974742],[102.74874,32.974867],[102.748577,32.975041],[102.748536,32.975063],[102.748423,32.975139],[102.748291,32.975306],[102.748229,32.975442],[102.748201,32.975555],[102.748206,32.975637],[102.74822,32.975692],[102.748302,32.97573],[102.748427,32.975771],[102.748514,32.975799],[102.748602,32.975817],[102.748677,32.97582],[102.748573,32.97596],[102.748527,32.976023],[102.747383,32.977566],[102.746421,32.979322],[102.74575,32.980266],[102.745721,32.981402],[102.745726,32.983313],[102.745489,32.984173],[102.74509,32.984984],[102.74496,32.985846],[102.744713,32.98707],[102.744401,32.988747],[102.743771,32.990192],[102.743522,32.991461],[102.742569,32.992854],[102.74248,32.993057],[102.742054,32.994027],[102.741919,32.995071],[102.741881,32.996571],[102.741226,32.996832],[102.740258,32.996724],[102.739037,32.995883],[102.737294,32.994396],[102.736182,32.993557],[102.735613,32.992591],[102.734674,32.991301],[102.73399,32.990606],[102.73255,32.989943],[102.731398,32.988557],[102.731337,32.988351],[102.73105,32.987368],[102.730921,32.986092],[102.730902,32.985731],[102.730894,32.985565],[102.73089,32.985484],[102.730877,32.98523],[102.730849,32.984681],[102.730261,32.984443],[102.729457,32.984246],[102.727843,32.984035],[102.72754,32.983958],[102.726878,32.98379],[102.723982,32.983055],[102.722161,32.982521],[102.721906,32.981925],[102.721838,32.980377],[102.721602,32.979054],[102.7216,32.978999],[102.7216,32.978993],[102.721718,32.978952],[102.721774,32.978931],[102.721713,32.978899],[102.721776,32.978873],[102.721773,32.97887],[102.72176,32.978861],[102.721737,32.978828],[102.721712,32.978813],[102.721721,32.978794],[102.721771,32.978788],[102.721823,32.97878],[102.72189,32.978782],[102.721918,32.978793],[102.721941,32.978816],[102.721961,32.978842],[102.721974,32.978862],[102.721986,32.97888],[102.722016,32.97888],[102.722032,32.978871],[102.722028,32.978843],[102.722027,32.978829],[102.722008,32.978806],[102.721986,32.978785],[102.721965,32.978768],[102.721949,32.978745],[102.72196,32.978739],[102.72199,32.978733],[102.722008,32.978724],[102.722023,32.978703],[102.722039,32.978682],[102.72205,32.978643],[102.722057,32.978607],[102.722056,32.97858],[102.722054,32.978557],[102.721995,32.978499],[102.721936,32.97843],[102.721924,32.978432],[102.721874,32.978432],[102.721845,32.978421],[102.721851,32.978402],[102.721871,32.978381],[102.721873,32.978358],[102.721873,32.978343],[102.721848,32.978324],[102.721843,32.978325],[102.721801,32.978332],[102.72176,32.97834],[102.721706,32.97834],[102.721687,32.978327],[102.72168,32.978298],[102.721664,32.97826],[102.721657,32.978226],[102.721607,32.978197],[102.721591,32.97819],[102.721591,32.978159],[102.721593,32.978136],[102.721599,32.978114],[102.721563,32.978086],[102.721369,32.977982],[102.721282,32.977901],[102.721188,32.977826],[102.721189,32.977813],[102.721189,32.97775],[102.721164,32.977697],[102.721106,32.977641],[102.721003,32.977576],[102.720936,32.977522],[102.720875,32.977466],[102.7208,32.977377],[102.72075,32.977303],[102.720646,32.977139],[102.720574,32.977035],[102.720489,32.976955],[102.720347,32.976896],[102.720233,32.976873],[102.72012,32.976841],[102.720045,32.976809],[102.719953,32.97675],[102.719931,32.976726],[102.719917,32.976684],[102.719902,32.976604],[102.719887,32.976517],[102.719858,32.976449],[102.719823,32.976401],[102.719759,32.976366],[102.719667,32.976334],[102.719532,32.976287],[102.719386,32.976219],[102.719279,32.97616],[102.719176,32.976113],[102.719013,32.976066],[102.718918,32.976058],[102.718776,32.976068],[102.718649,32.976068],[102.718468,32.976039],[102.718401,32.976016],[102.718309,32.975966],[102.71824,32.975859],[102.71819,32.975776],[102.718022,32.975586],[102.717933,32.975476],[102.717801,32.975354],[102.717655,32.975236],[102.717499,32.975141],[102.717218,32.975006],[102.717108,32.974968],[102.71697,32.974912],[102.716814,32.974844],[102.716675,32.974797],[102.716452,32.974739],[102.716239,32.974666],[102.716065,32.974607],[102.715951,32.974551],[102.715777,32.974477],[102.715685,32.974424],[102.715432,32.974247],[102.715319,32.974173],[102.715048,32.974001],[102.714963,32.973957],[102.714828,32.973904],[102.714697,32.973869],[102.714594,32.973861],[102.714527,32.973873],[102.714425,32.973969],[102.714387,32.974044],[102.714388,32.974089],[102.714346,32.974178],[102.714286,32.974262],[102.714198,32.974334],[102.714033,32.974407],[102.713804,32.974495],[102.713638,32.974546],[102.713465,32.974586],[102.713334,32.974629],[102.713024,32.97483],[102.712852,32.97495],[102.712683,32.975071],[102.712468,32.975191],[102.71213,32.975309],[102.71196,32.975352],[102.711836,32.975377],[102.711653,32.975396],[102.711476,32.975414],[102.711225,32.975434],[102.711006,32.975453],[102.7109,32.975471],[102.71072,32.975526],[102.710686,32.975545],[102.710505,32.975432],[102.710373,32.97535],[102.710224,32.975261],[102.710064,32.975178],[102.709911,32.975114],[102.709755,32.97507],[102.70956,32.975008],[102.709545,32.975005],[102.709358,32.974967],[102.7092,32.974968],[102.709075,32.974973],[102.708968,32.975],[102.708855,32.975044],[102.708742,32.975111],[102.708675,32.975162],[102.708599,32.975219],[102.708473,32.975335],[102.708383,32.975431],[102.708321,32.975493],[102.708262,32.97557],[102.708215,32.975644],[102.708153,32.975752],[102.708083,32.975847],[102.708021,32.975874],[102.70794,32.975956],[102.70789,32.976049],[102.707851,32.97613],[102.707797,32.976183],[102.707645,32.97626],[102.707563,32.976304],[102.707496,32.97638],[102.707446,32.976455],[102.707364,32.976534],[102.707246,32.976649],[102.7071,32.976786],[102.706993,32.976875],[102.706875,32.97694],[102.706776,32.976986],[102.706595,32.977039],[102.706395,32.977078],[102.706271,32.977108],[102.706146,32.977142],[102.706028,32.977181],[102.705929,32.977236],[102.705777,32.977349],[102.705701,32.977438],[102.705654,32.977498],[102.705592,32.977591],[102.705514,32.977692],[102.705455,32.977756],[102.705402,32.977816],[102.705345,32.977862],[102.705261,32.977908],[102.705176,32.977944],[102.705063,32.977983],[102.705015,32.978002],[102.704826,32.978018],[102.704448,32.978073],[102.704193,32.97812],[102.703748,32.978161],[102.703688,32.978167],[102.703451,32.978201],[102.703087,32.978242],[102.702012,32.978316],[102.701913,32.978323],[102.701882,32.978319],[102.701746,32.97832],[102.701665,32.978326],[102.701515,32.978352],[102.701421,32.978385],[102.701226,32.978445],[102.701082,32.978495],[102.700955,32.978536],[102.700754,32.978623],[102.70066,32.97867],[102.700581,32.978702],[102.700434,32.978724],[102.700314,32.978727],[102.700187,32.978722],[102.700037,32.978715],[102.699777,32.978697],[102.699627,32.978666],[102.699548,32.978648],[102.698725,32.978816],[102.697858,32.978936],[102.697309,32.97929],[102.697029,32.979737],[102.697098,32.979899],[102.697123,32.98001],[102.697083,32.98012],[102.697073,32.980172],[102.696966,32.980321],[102.696599,32.98065],[102.696396,32.98088],[102.696233,32.98102],[102.69608,32.981094],[102.695949,32.981122],[102.695866,32.981138],[102.695747,32.981262],[102.694762,32.98179],[102.693452,32.982357],[102.692481,32.982339],[102.690873,32.9819],[102.689113,32.981094],[102.688071,32.979665],[102.687721,32.978612],[102.686783,32.977321],[102.685795,32.975893],[102.685128,32.974561],[102.684403,32.973411],[102.683979,32.971037],[102.683574,32.970029],[102.68301,32.968881],[102.681946,32.968316],[102.680498,32.96797],[102.678685,32.967118],[102.678521,32.967068],[102.677882,32.966876],[102.676001,32.966568],[102.673966,32.965984],[102.673007,32.965511],[102.672389,32.964408],[102.670758,32.962785],[102.669856,32.962223],[102.668662,32.960426],[102.667381,32.958529],[102.66674,32.958814],[102.665795,32.95906],[102.664637,32.958888],[102.66317,32.958597],[102.661343,32.958374],[102.659473,32.958075],[102.65869,32.958026],[102.658295,32.958001],[102.657777,32.957968],[102.655903,32.95782],[102.653898,32.957593],[102.652834,32.957234],[102.651058,32.956786],[102.650025,32.956955],[102.649124,32.95724],[102.647238,32.957543],[102.646026,32.957747],[102.645697,32.958343],[102.644971,32.958744],[102.644205,32.958994],[102.643612,32.959435],[102.642505,32.960695],[102.641353,32.961992],[102.640033,32.962872],[102.638671,32.963675],[102.637224,32.964289],[102.635503,32.965123],[102.633611,32.965652],[102.631407,32.965986],[102.629563,32.965699],[102.628738,32.965587],[102.627837,32.965465],[102.625633,32.965272],[102.625517,32.965235],[102.625251,32.965149],[102.625202,32.965133],[102.62515,32.965116],[102.625129,32.96511],[102.624804,32.965004],[102.622854,32.964212],[102.622259,32.963988],[102.622228,32.963976],[102.622206,32.963968],[102.62215,32.963947],[102.621943,32.963869],[102.621695,32.963776],[102.621599,32.963739],[102.621186,32.963584],[102.619898,32.963098],[102.619545,32.963028],[102.619534,32.963026],[102.619415,32.963002],[102.619296,32.962979],[102.618494,32.962819],[102.618418,32.962804],[102.61794,32.962709],[102.615949,32.962087],[102.615916,32.962077],[102.615704,32.962011],[102.61569,32.962006],[102.615264,32.961873],[102.615128,32.961831],[102.615001,32.961791],[102.615024,32.961581],[102.615039,32.961439]]]]},"properties":{"cp":[102.84021326842111,32.73181473528267],"code":"513233205","name":"阿木乡","level":"street","center":[102.84021326842111,32.73181473528267],"fullCode":"513233205000","fullName":"四川省阿坝藏族羌族自治州红原县阿木乡","acreageMu":1338297.24,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.789,32.9154]}},{"id":"513233207","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.844495,33.079459],[102.844382,33.079401],[102.84443,33.079385],[102.844506,33.079376],[102.844569,33.078895],[102.844578,33.07883],[102.844641,33.07835],[102.844645,33.078323],[102.844646,33.078265],[102.844669,33.077341],[102.84467,33.077303],[102.844671,33.077231],[102.844935,33.07639],[102.844994,33.076401],[102.845031,33.0764],[102.845065,33.076391],[102.845099,33.076369],[102.845117,33.076336],[102.845115,33.076287],[102.845103,33.076236],[102.845079,33.076199],[102.84501,33.076158],[102.845141,33.075762],[102.845203,33.075757],[102.845243,33.075728],[102.845258,33.075685],[102.84528,33.075629],[102.845276,33.075575],[102.845265,33.075541],[102.845218,33.075529],[102.845455,33.074811],[102.845469,33.074509],[102.845517,33.07448],[102.845535,33.074447],[102.845541,33.074403],[102.845541,33.074363],[102.845527,33.074306],[102.84552,33.074258],[102.845519,33.074188],[102.845532,33.074119],[102.845563,33.07405],[102.845592,33.073981],[102.845605,33.073935],[102.845607,33.073897],[102.845582,33.073888],[102.845548,33.073897],[102.845496,33.073923],[102.8455,33.073836],[102.845469,33.073643],[102.845459,33.073577],[102.845259,33.072336],[102.845272,33.072264],[102.845273,33.072178],[102.845263,33.072102],[102.845242,33.072058],[102.845204,33.072041],[102.845118,33.072038],[102.84485,33.071477],[102.844725,33.070707],[102.844711,33.07062],[102.844589,33.069865],[102.844198,33.067669],[102.844189,33.06762],[102.844119,33.066488],[102.844117,33.066462],[102.843883,33.065075],[102.843901,33.064313],[102.844961,33.063485],[102.845547,33.062818],[102.84569,33.062453],[102.846066,33.062149],[102.84601,33.061697],[102.84563,33.060759],[102.845546,33.060108],[102.845335,33.059145],[102.845688,33.058389],[102.846445,33.057584],[102.846591,33.057107],[102.846806,33.056518],[102.846876,33.055023],[102.847498,33.054272],[102.848225,33.053325],[102.848508,33.052709],[102.849238,33.051621],[102.849892,33.050927],[102.850289,33.049748],[102.850368,33.049242],[102.850701,33.047977],[102.850947,33.047394],[102.851068,33.04711],[102.85111,33.04701],[102.851163,33.046885],[102.851659,33.045792],[102.852059,33.044501],[102.852986,33.04082],[102.852891,33.039182],[102.852846,33.038278],[102.853084,33.036786],[102.853592,33.035186],[102.85374,33.034468],[102.853801,33.034173],[102.854085,33.032796],[102.854443,33.031842],[102.854791,33.03134],[102.855469,33.030985],[102.856091,33.030234],[102.856445,33.02945],[102.856808,33.02827],[102.857282,33.026698],[102.857501,33.025968],[102.857227,33.024806],[102.85659,33.023469],[102.856544,33.022593],[102.856625,33.022002],[102.85701,33.021331],[102.857639,33.02027],[102.857759,33.01997],[102.857836,33.019781],[102.858102,33.01912],[102.858594,33.018169],[102.858539,33.017689],[102.857779,33.017224],[102.856349,33.016726],[102.856308,33.016712],[102.855598,33.016465],[102.855579,33.016458],[102.855544,33.016446],[102.855541,33.016445],[102.855534,33.016442],[102.855511,33.016434],[102.854623,33.016126],[102.85455,33.016089],[102.85453,33.016079],[102.853395,33.015513],[102.853221,33.01522],[102.852586,33.014663],[102.852178,33.014483],[102.85133,33.014245],[102.851089,33.014291],[102.849761,33.013586],[102.849572,33.013075],[102.849655,33.012427],[102.84989,33.01102],[102.850162,33.009757],[102.850117,33.009651],[102.850107,33.009517],[102.850136,33.009268],[102.850304,33.008986],[102.850449,33.008855],[102.850632,33.008782],[102.850754,33.008552],[102.851312,33.00763],[102.851562,33.007013],[102.851583,33.006139],[102.851285,33.004902],[102.851266,33.004823],[102.851248,33.00475],[102.851009,33.004252],[102.850895,33.004014],[102.850866,33.003953],[102.850544,33.003383],[102.850149,33.001653],[102.84996,33.001421],[102.849954,33.001414],[102.849953,33.001413],[102.849565,33.000939],[102.849522,33.000883],[102.849431,33.000768],[102.84943,33.000767],[102.849408,33.000739],[102.849273,33.000567],[102.848992,33.000135],[102.848753,32.999765],[102.848353,32.99915],[102.848335,32.999122],[102.84811,32.998776],[102.848012,32.998625],[102.846594,32.995025],[102.84578,32.993888],[102.845532,32.992523],[102.845557,32.992407],[102.845653,32.991957],[102.845761,32.991448],[102.84577,32.991403],[102.846145,32.990243],[102.846212,32.990035],[102.846226,32.989992],[102.846149,32.988913],[102.84629,32.988838],[102.846336,32.988793],[102.84637,32.988697],[102.846337,32.988587],[102.846298,32.988564],[102.84622,32.988564],[102.846126,32.98858],[102.846121,32.988511],[102.846271,32.986698],[102.846295,32.9864],[102.846309,32.986335],[102.846356,32.986117],[102.846456,32.985653],[102.846456,32.985653],[102.846467,32.985599],[102.846533,32.985295],[102.84693,32.984104],[102.846965,32.983908],[102.846999,32.983722],[102.847003,32.983697],[102.847006,32.983679],[102.847073,32.983306],[102.847078,32.983278],[102.847085,32.983243],[102.847091,32.983208],[102.847113,32.983087],[102.846892,32.981354],[102.846856,32.980936],[102.846845,32.980817],[102.846813,32.980434],[102.846785,32.980114],[102.846727,32.979443],[102.846553,32.979101],[102.846525,32.979047],[102.846332,32.978669],[102.846324,32.978653],[102.846225,32.978459],[102.84612,32.978163],[102.845784,32.977216],[102.845782,32.977209],[102.84538,32.976404],[102.845412,32.975118],[102.844927,32.973424],[102.843996,32.972277],[102.843972,32.972247],[102.844075,32.972171],[102.844142,32.972126],[102.844191,32.972072],[102.84419,32.971994],[102.844129,32.971926],[102.844076,32.971876],[102.843972,32.971822],[102.843797,32.971686],[102.84357,32.971563],[102.843563,32.97156],[102.843486,32.971518],[102.843218,32.971431],[102.843118,32.971444],[102.842919,32.97144],[102.84263,32.97147],[102.84238,32.971334],[102.841619,32.971021],[102.84064,32.971129],[102.839335,32.971256],[102.839267,32.971268],[102.839288,32.970765],[102.840628,32.970574],[102.842155,32.970493],[102.843744,32.970467],[102.844901,32.970021],[102.845807,32.969445],[102.8473,32.968208],[102.84967,32.966084],[102.850872,32.965052],[102.851996,32.964319],[102.85298,32.963434],[102.853286,32.962597],[102.853988,32.961587],[102.854856,32.961091],[102.858044,32.95907],[102.858705,32.9583],[102.858932,32.957991],[102.85902,32.957772],[102.859153,32.957528],[102.859254,32.957377],[102.859387,32.957147],[102.859496,32.956982],[102.85963,32.956773],[102.859755,32.956557],[102.859863,32.956364],[102.860098,32.956054],[102.8603,32.955824],[102.860467,32.955601],[102.860484,32.955576],[102.860635,32.955175],[102.86083,32.954846],[102.860864,32.954539],[102.860905,32.954352],[102.860996,32.95408],[102.861087,32.953893],[102.861205,32.953713],[102.861363,32.953469],[102.861455,32.953297],[102.861624,32.953016],[102.86167,32.952186],[102.861651,32.951857],[102.86162,32.951313],[102.861691,32.951315],[102.861744,32.950788],[102.861775,32.950484],[102.861808,32.949137],[102.861969,32.947739],[102.862638,32.94651],[102.863643,32.944587],[102.864585,32.942662],[102.865904,32.94096],[102.866394,32.939189],[102.866625,32.938309],[102.866746,32.937848],[102.866716,32.937779],[102.866382,32.937033],[102.865707,32.935889],[102.86523,32.934426],[102.865398,32.932757],[102.865955,32.93088],[102.867081,32.929228],[102.868257,32.92817],[102.869007,32.926242],[102.869858,32.925394],[102.870064,32.924805],[102.870228,32.923298],[102.870533,32.921255],[102.870938,32.920345],[102.871968,32.919496],[102.871693,32.92007],[102.871316,32.92156],[102.871284,32.922912],[102.871605,32.923752],[102.872158,32.924883],[102.87269,32.925439],[102.873804,32.925947],[102.874892,32.92611],[102.875972,32.926617],[102.876812,32.92715],[102.877686,32.927682],[102.878487,32.928444],[102.879622,32.929499],[102.880462,32.93006],[102.88147,32.930711],[102.882746,32.931567],[102.88366,32.931899],[102.884597,32.932663],[102.885266,32.933221],[102.886338,32.934045],[102.887179,32.934577],[102.888025,32.93485],[102.889218,32.934928],[102.89017,32.935088],[102.890806,32.935588],[102.891001,32.935994],[102.891224,32.93666],[102.891513,32.937442],[102.89211,32.938171],[102.892844,32.938845],[102.893542,32.939663],[102.893773,32.939983],[102.89386,32.940647],[102.893875,32.941453],[102.893751,32.942343],[102.893623,32.943434],[102.893464,32.944352],[102.8936,32.944383],[102.894722,32.944575],[102.89584,32.944939],[102.897195,32.945336],[102.898181,32.945496],[102.899676,32.945809],[102.900765,32.945914],[102.901924,32.945962],[102.902951,32.945864],[102.903707,32.945618],[102.904564,32.945489],[102.905414,32.945589],[102.906153,32.94612],[102.907391,32.947176],[102.907846,32.948134],[102.908545,32.948893],[102.909038,32.949679],[102.909909,32.950384],[102.911449,32.951647],[102.912465,32.951981],[102.912939,32.952161],[102.913242,32.952339],[102.912622,32.952587],[102.912574,32.952611],[102.912009,32.952887],[102.911482,32.953144],[102.910888,32.953738],[102.910227,32.954274],[102.909535,32.954665],[102.908971,32.955404],[102.908231,32.956428],[102.907793,32.957629],[102.907528,32.958718],[102.907099,32.959545],[102.907069,32.960811],[102.906946,32.961701],[102.906749,32.96423],[102.906522,32.965176],[102.906497,32.965334],[102.906495,32.965869],[102.906499,32.966255],[102.906439,32.966646],[102.90634,32.966847],[102.906244,32.967051],[102.906205,32.967212],[102.90613,32.967694],[102.906121,32.967749],[102.906063,32.968122],[102.906027,32.968355],[102.905999,32.968534],[102.906001,32.968584],[102.906008,32.968794],[102.906009,32.968813],[102.906011,32.968862],[102.906043,32.969763],[102.906044,32.969792],[102.906081,32.970837],[102.906163,32.971906],[102.906168,32.971965],[102.906193,32.972293],[102.906212,32.972537],[102.90621,32.972547],[102.906126,32.973054],[102.905943,32.97316],[102.905842,32.973237],[102.905686,32.973453],[102.905547,32.973693],[102.905436,32.973985],[102.905404,32.974157],[102.905462,32.974266],[102.905519,32.974347],[102.905554,32.974447],[102.905561,32.974561],[102.905513,32.974791],[102.90551,32.974799],[102.905355,32.975544],[102.90527,32.976262],[102.905155,32.976807],[102.904836,32.97732],[102.9047,32.978167],[102.904686,32.978259],[102.904675,32.978324],[102.904655,32.97847],[102.904633,32.978632],[102.904594,32.978913],[102.904561,32.979147],[102.904447,32.979969],[102.904366,32.980111],[102.904266,32.980259],[102.904233,32.980345],[102.904212,32.980503],[102.90423,32.980617],[102.904332,32.980799],[102.90433,32.98081],[102.904305,32.980994],[102.904256,32.981626],[102.904443,32.982349],[102.905163,32.983859],[102.905481,32.984526],[102.90555,32.98467],[102.906417,32.9869],[102.906576,32.987204],[102.906623,32.987326],[102.906681,32.987451],[102.906775,32.987602],[102.906836,32.987721],[102.90684,32.987808],[102.906877,32.987951],[102.906932,32.988087],[102.906997,32.988218],[102.907083,32.988337],[102.907148,32.988468],[102.907153,32.988593],[102.907112,32.988706],[102.907123,32.988829],[102.907153,32.98893],[102.907203,32.989031],[102.907229,32.989134],[102.907256,32.989241],[102.907257,32.989243],[102.907289,32.989367],[102.907377,32.989707],[102.907402,32.989805],[102.907673,32.989889],[102.907766,32.989945],[102.907883,32.990079],[102.907984,32.990283],[102.908002,32.990469],[102.907905,32.990584],[102.907786,32.990689],[102.907644,32.99074],[102.907704,32.990972],[102.907721,32.991037],[102.90796,32.99248],[102.908895,32.993387],[102.910068,32.994328],[102.910665,32.995057],[102.911393,32.996048],[102.911415,32.996074],[102.911493,32.996166],[102.91169,32.99629],[102.911844,32.996382],[102.911964,32.996527],[102.912034,32.996735],[102.912104,32.996916],[102.912156,32.996998],[102.912232,32.997048],[102.913258,32.998065],[102.913707,32.998406],[102.913747,32.998558],[102.913804,32.998675],[102.91386,32.998768],[102.91392,32.998843],[102.914031,32.998892],[102.914129,32.998931],[102.914209,32.998956],[102.914892,32.999732],[102.915434,32.999943],[102.916052,32.99978],[102.916126,32.999771],[102.916174,32.999764],[102.9162,32.999761],[102.917011,32.999653],[102.917514,32.999675],[102.918035,32.999698],[102.919982,32.999645],[102.920907,32.999516],[102.92169,32.999644],[102.922491,32.999642],[102.922543,32.999642],[102.923193,32.999641],[102.924316,32.999774],[102.925448,32.999592],[102.926467,32.99981],[102.926518,32.999816],[102.92683,32.999855],[102.927284,32.99991],[102.927557,32.999943],[102.928347,32.999726],[102.929353,32.999111],[102.929906,32.998774],[102.930204,32.998433],[102.930503,32.998093],[102.930961,32.997598],[102.930748,32.997514],[102.930684,32.997468],[102.930679,32.997396],[102.930704,32.997321],[102.930788,32.997263],[102.930902,32.997248],[102.931051,32.997236],[102.931208,32.997199],[102.93139,32.997147],[102.931714,32.997056],[102.932275,32.99677],[102.932608,32.996656],[102.932769,32.996601],[102.933285,32.996425],[102.933962,32.996193],[102.934749,32.996211],[102.935232,32.996222],[102.935324,32.99626],[102.935719,32.996425],[102.935852,32.996481],[102.936192,32.996622],[102.936612,32.996739],[102.936622,32.996741],[102.936887,32.996815],[102.936929,32.996827],[102.936943,32.997076],[102.93695,32.997206],[102.93694,32.997237],[102.936909,32.997338],[102.936905,32.997399],[102.936909,32.997525],[102.936929,32.997644],[102.936947,32.997751],[102.936954,32.99777],[102.936963,32.997787],[102.93698,32.997818],[102.937059,32.9979],[102.937139,32.997955],[102.937163,32.997974],[102.937142,32.998014],[102.937106,32.998043],[102.937052,32.998056],[102.936996,32.99804],[102.936958,32.998015],[102.936957,32.998075],[102.936956,32.998086],[102.936945,32.998557],[102.937224,32.99885],[102.93752,32.998759],[102.937586,32.998738],[102.937629,32.998709],[102.937689,32.99868],[102.937752,32.998662],[102.937807,32.99867],[102.938021,32.998604],[102.93804,32.998564],[102.93806,32.998523],[102.938081,32.998497],[102.938108,32.998472],[102.93813,32.998454],[102.938159,32.998434],[102.938193,32.998422],[102.938222,32.998415],[102.938256,32.998408],[102.938292,32.99841],[102.938331,32.998411],[102.938357,32.998413],[102.938389,32.998419],[102.938415,32.998425],[102.938434,32.998436],[102.938453,32.99845],[102.938469,32.998464],[102.938477,32.998497],[102.93883,32.998444],[102.93911,32.998689],[102.939105,32.998697],[102.9391,32.998709],[102.93907,32.998767],[102.939059,32.99879],[102.939043,32.998821],[102.938956,32.998995],[102.938944,32.999019],[102.938928,32.99905],[102.938898,32.999111],[102.938885,32.999137],[102.938751,32.999404],[102.938834,32.999835],[102.938853,32.999934],[102.938867,32.999974],[102.938875,32.999997],[102.938895,33.000053],[102.939019,33.000403],[102.939021,33.00041],[102.939024,33.000418],[102.939042,33.000467],[102.939069,33.000543],[102.939078,33.000571],[102.93931,33.001223],[102.939829,33.001618],[102.939572,33.002059],[102.940057,33.002453],[102.940541,33.002848],[102.940178,33.003287],[102.940114,33.003419],[102.939985,33.003684],[102.939919,33.003818],[102.939759,33.004002],[102.939731,33.004033],[102.93961,33.004071],[102.939537,33.004108],[102.939495,33.004134],[102.939403,33.004261],[102.939403,33.004286],[102.93889,33.004098],[102.938337,33.003766],[102.938229,33.003701],[102.938188,33.003968],[102.938272,33.004117],[102.938274,33.00412],[102.938383,33.004314],[102.938409,33.00436],[102.938425,33.004388],[102.938358,33.004432],[102.938342,33.004443],[102.938327,33.004453],[102.938262,33.004496],[102.938249,33.004505],[102.93823,33.004517],[102.937816,33.004794],[102.937788,33.004904],[102.937787,33.00491],[102.937786,33.004917],[102.93777,33.004977],[102.937741,33.005091],[102.937714,33.005202],[102.93766,33.005415],[102.93767,33.005428],[102.937918,33.005742],[102.937935,33.005764],[102.937969,33.005806],[102.93811,33.005948],[102.938167,33.006005],[102.93821,33.006048],[102.938205,33.006077],[102.938199,33.006109],[102.938197,33.006118],[102.938129,33.006492],[102.937805,33.006754],[102.937096,33.006951],[102.936373,33.007711],[102.936262,33.007878],[102.936249,33.007898],[102.936213,33.007952],[102.93608,33.008152],[102.935914,33.008704],[102.935908,33.008724],[102.935813,33.009039],[102.935438,33.009984],[102.934819,33.010806],[102.934762,33.010955],[102.934481,33.011691],[102.93449,33.011729],[102.934704,33.012705],[102.935033,33.013621],[102.935054,33.013682],[102.935069,33.013722],[102.935134,33.013858],[102.935164,33.013919],[102.935204,33.014003],[102.935674,33.01498],[102.93571,33.01506],[102.935717,33.015074],[102.935734,33.015114],[102.935742,33.01513],[102.935778,33.015212],[102.935942,33.015578],[102.936065,33.015696],[102.936191,33.015817],[102.936235,33.015859],[102.937046,33.016636],[102.93746,33.017342],[102.937508,33.017424],[102.937521,33.017447],[102.93782,33.017896],[102.938168,33.01842],[102.938174,33.01843],[102.938274,33.018581],[102.938279,33.018589],[102.938286,33.018599],[102.938339,33.018678],[102.938343,33.018702],[102.938345,33.018712],[102.93837,33.018701],[102.938446,33.018669],[102.938521,33.018625],[102.93852,33.018718],[102.938376,33.018899],[102.938525,33.019781],[102.938288,33.020847],[102.938445,33.021681],[102.938479,33.021746],[102.939121,33.02297],[102.939399,33.023421],[102.939937,33.024291],[102.940119,33.024354],[102.940279,33.024408],[102.940391,33.024447],[102.940623,33.024366],[102.940872,33.024278],[102.940879,33.024276],[102.941164,33.024176],[102.94128,33.024135],[102.942032,33.02392],[102.942559,33.02377],[102.943649,33.023907],[102.944453,33.024217],[102.945046,33.024524],[102.945566,33.024919],[102.945727,33.025575],[102.945435,33.026194],[102.945281,33.026518],[102.945072,33.026791],[102.944445,33.027604],[102.944594,33.027943],[102.944814,33.028442],[102.944982,33.028989],[102.945043,33.029189],[102.945058,33.030051],[102.944664,33.031827],[102.94418,33.032918],[102.943913,33.033805],[102.944072,33.034551],[102.944095,33.034921],[102.944123,33.035384],[102.944424,33.036102],[102.944406,33.036874],[102.944209,33.037241],[102.944185,33.037286],[102.943602,33.038079],[102.943658,33.038704],[102.943924,33.039421],[102.94475,33.040297],[102.945123,33.040957],[102.945112,33.041432],[102.944747,33.041931],[102.944704,33.042287],[102.944946,33.042499],[102.945685,33.04257],[102.946802,33.042783],[102.946879,33.042798],[102.947222,33.043098],[102.94723,33.043106],[102.947401,33.043255],[102.947433,33.043283],[102.947847,33.043646],[102.950089,33.046339],[102.950358,33.046662],[102.950379,33.046815],[102.950431,33.046911],[102.950535,33.047031],[102.950573,33.047075],[102.950715,33.047228],[102.950835,33.047306],[102.95104,33.047444],[102.951177,33.047521],[102.951336,33.04762],[102.951473,33.047748],[102.951564,33.047883],[102.951633,33.048022],[102.951643,33.048115],[102.951621,33.048179],[102.952035,33.048677],[102.952143,33.048753],[102.953077,33.049407],[102.954887,33.050447],[102.955224,33.051136],[102.954598,33.052421],[102.954577,33.052464],[102.954345,33.05294],[102.95424,33.053644],[102.954164,33.054391],[102.954105,33.054534],[102.954077,33.054667],[102.954007,33.054911],[102.953928,33.055083],[102.953828,33.055234],[102.953817,33.055363],[102.953789,33.055517],[102.953701,33.055665],[102.953639,33.05583],[102.95362,33.056019],[102.95363,33.056188],[102.953632,33.056324],[102.953616,33.056485],[102.953635,33.056631],[102.953696,33.056813],[102.953668,33.056932],[102.953601,33.057025],[102.953547,33.057108],[102.953527,33.057188],[102.953518,33.057226],[102.953515,33.057373],[102.953482,33.057455],[102.953438,33.057575],[102.953429,33.057599],[102.953401,33.057727],[102.953395,33.057754],[102.953401,33.058019],[102.953426,33.05914],[102.953439,33.059687],[102.953557,33.060173],[102.953721,33.060844],[102.954309,33.062117],[102.954944,33.063279],[102.955595,33.063773],[102.956519,33.063899],[102.957133,33.064058],[102.958356,33.064598],[102.959416,33.064541],[102.960792,33.064192],[102.962617,33.063516],[102.963865,33.06317],[102.96396,33.063143],[102.96426,33.06306],[102.965237,33.062816],[102.966028,33.06294],[102.966722,33.063472],[102.967116,33.06407],[102.967168,33.06407],[102.967212,33.06407],[102.967249,33.064082],[102.967288,33.064113],[102.9673,33.064167],[102.967297,33.064203],[102.96728,33.064215],[102.967228,33.064239],[102.967489,33.064636],[102.967934,33.065222],[102.968175,33.065539],[102.968292,33.06621],[102.968286,33.066451],[102.96828,33.06672],[102.968278,33.06679],[102.968298,33.066793],[102.968312,33.066798],[102.968323,33.066807],[102.96833,33.066818],[102.968346,33.066844],[102.968384,33.066858],[102.968404,33.066859],[102.968424,33.06686],[102.968462,33.066864],[102.96848,33.066872],[102.96849,33.066884],[102.968491,33.066904],[102.968473,33.066925],[102.968445,33.066929],[102.968403,33.066932],[102.96835,33.066937],[102.968321,33.066945],[102.968296,33.066961],[102.968281,33.066974],[102.96827,33.066993],[102.968269,33.067009],[102.968271,33.067024],[102.968278,33.067036],[102.96829,33.067047],[102.968302,33.067056],[102.968321,33.067071],[102.968356,33.067091],[102.968372,33.067101],[102.968392,33.067112],[102.968426,33.067137],[102.968447,33.067161],[102.968454,33.06718],[102.968445,33.067198],[102.968411,33.067212],[102.968398,33.067212],[102.968356,33.06722],[102.96835,33.067222],[102.968337,33.067232],[102.968324,33.06725],[102.968318,33.067277],[102.968322,33.0673],[102.968335,33.067312],[102.968363,33.067332],[102.968384,33.067336],[102.968404,33.067423],[102.968477,33.067736],[102.968553,33.067811],[102.969168,33.068416],[102.969685,33.068683],[102.969735,33.068709],[102.969749,33.068733],[102.969759,33.068742],[102.969795,33.068764],[102.969825,33.068783],[102.969864,33.068801],[102.969896,33.06882],[102.96992,33.068804],[102.969985,33.068838],[102.970433,33.069069],[102.971306,33.06967],[102.971649,33.069906],[102.971661,33.069933],[102.972195,33.071104],[102.972578,33.072109],[102.972614,33.072204],[102.972621,33.072223],[102.972648,33.072262],[102.972665,33.072291],[102.972677,33.072314],[102.972691,33.072337],[102.972705,33.072352],[102.972723,33.072365],[102.972746,33.07238],[102.972775,33.072413],[102.972803,33.072437],[102.972827,33.072459],[102.972831,33.072473],[102.972835,33.072484],[102.972837,33.072503],[102.972834,33.072516],[102.972809,33.072543],[102.972789,33.072563],[102.972789,33.072577],[102.972797,33.072602],[102.972803,33.072619],[102.972833,33.072668],[102.97286,33.072701],[102.972888,33.072742],[102.97291,33.072771],[102.972938,33.072801],[102.972978,33.072833],[102.972995,33.072855],[102.973046,33.072884],[102.973066,33.072893],[102.973059,33.072937],[102.973106,33.072967],[102.973176,33.073006],[102.973223,33.073032],[102.973267,33.073062],[102.973277,33.073082],[102.973282,33.073118],[102.973292,33.073146],[102.973322,33.073165],[102.97335,33.073177],[102.973391,33.07319],[102.973423,33.073214],[102.973442,33.07323],[102.973454,33.073252],[102.973466,33.073296],[102.973482,33.073314],[102.973529,33.073341],[102.973559,33.073361],[102.973583,33.073397],[102.973606,33.073428],[102.973636,33.073459],[102.97366,33.073485],[102.973776,33.073635],[102.973819,33.073704],[102.973849,33.07375],[102.973854,33.073756],[102.973904,33.07375],[102.97394,33.073796],[102.973967,33.07383],[102.973998,33.073857],[102.974025,33.073888],[102.974102,33.073961],[102.974151,33.074007],[102.974187,33.074036],[102.974217,33.074074],[102.974257,33.074135],[102.974299,33.074177],[102.974345,33.074214],[102.974391,33.074242],[102.974457,33.074265],[102.974485,33.07427],[102.974528,33.07428],[102.974546,33.074304],[102.974551,33.074329],[102.97453,33.074342],[102.9745,33.074373],[102.974482,33.074397],[102.974482,33.074409],[102.974503,33.074424],[102.974517,33.074424],[102.97453,33.074424],[102.974557,33.074417],[102.974592,33.074408],[102.974623,33.074427],[102.974632,33.074449],[102.97463,33.074478],[102.974618,33.0745],[102.974619,33.074523],[102.974631,33.074543],[102.974665,33.074558],[102.97468,33.074559],[102.974696,33.074559],[102.974716,33.074547],[102.974725,33.074528],[102.974725,33.0745],[102.974726,33.074486],[102.974729,33.074471],[102.974754,33.07446],[102.974774,33.074456],[102.974815,33.074466],[102.974832,33.074474],[102.974852,33.074486],[102.97486,33.074507],[102.974866,33.074527],[102.974873,33.074544],[102.974891,33.07456],[102.974915,33.074575],[102.974927,33.074586],[102.974935,33.074608],[102.974944,33.074623],[102.974963,33.074639],[102.974976,33.074656],[102.974975,33.074673],[102.974957,33.074692],[102.974947,33.074706],[102.974947,33.074717],[102.974953,33.074723],[102.974965,33.074727],[102.97498,33.074728],[102.974994,33.074725],[102.975017,33.074722],[102.975035,33.074711],[102.975037,33.074695],[102.97504,33.074675],[102.975047,33.074666],[102.975082,33.074672],[102.975101,33.074697],[102.97511,33.074721],[102.975128,33.074737],[102.975135,33.07474],[102.975155,33.07475],[102.975167,33.074772],[102.975148,33.074797],[102.975138,33.074808],[102.975132,33.074814],[102.975117,33.074839],[102.975114,33.07485],[102.975118,33.074861],[102.975127,33.074869],[102.975139,33.074872],[102.975161,33.074879],[102.975185,33.074894],[102.975209,33.074905],[102.97523,33.074922],[102.975258,33.074939],[102.975287,33.07496],[102.975302,33.074971],[102.975311,33.074994],[102.975308,33.075013],[102.975285,33.075026],[102.975268,33.075031],[102.975247,33.075035],[102.975233,33.07504],[102.975231,33.075048],[102.975234,33.07506],[102.975243,33.075066],[102.975253,33.075068],[102.975269,33.075069],[102.97529,33.075067],[102.975329,33.075072],[102.975356,33.075084],[102.975399,33.075081],[102.975412,33.075079],[102.975424,33.075074],[102.975457,33.075066],[102.975472,33.075075],[102.975479,33.075096],[102.975493,33.075107],[102.975505,33.075119],[102.975504,33.075149],[102.975497,33.075178],[102.975475,33.0752],[102.975454,33.075205],[102.975431,33.075194],[102.975432,33.075175],[102.975438,33.075152],[102.975437,33.075143],[102.975418,33.075143],[102.975409,33.075149],[102.975405,33.075162],[102.975405,33.07518],[102.975408,33.075202],[102.975409,33.075212],[102.975411,33.075229],[102.975412,33.075243],[102.97541,33.075255],[102.975403,33.075271],[102.975456,33.075352],[102.975708,33.075731],[102.975784,33.07606],[102.97587,33.076434],[102.9759,33.076565],[102.975931,33.076617],[102.975964,33.076668],[102.975994,33.076703],[102.976014,33.076721],[102.976044,33.076726],[102.976075,33.076731],[102.976139,33.076753],[102.976173,33.076777],[102.976197,33.076794],[102.976206,33.07682],[102.976207,33.076849],[102.976188,33.07689],[102.976152,33.076913],[102.976124,33.076942],[102.97611,33.076969],[102.976124,33.076997],[102.976134,33.077043],[102.976141,33.077065],[102.97615,33.077096],[102.976148,33.077127],[102.976137,33.077151],[102.976115,33.077176],[102.976067,33.077204],[102.976021,33.077226],[102.975987,33.077236],[102.975936,33.077246],[102.975916,33.077252],[102.975882,33.07774],[102.976311,33.078305],[102.977408,33.078583],[102.97755,33.078663],[102.978148,33.079003],[102.978661,33.079571],[102.978966,33.079908],[102.979567,33.080661],[102.980294,33.081676],[102.981612,33.081958],[102.982003,33.082224],[102.982649,33.082903],[102.983512,33.083772],[102.984031,33.084226],[102.984499,33.085014],[102.985049,33.086026],[102.985132,33.086162],[102.985363,33.086542],[102.985606,33.086943],[102.985688,33.087077],[102.985791,33.087132],[102.985844,33.087097],[102.985954,33.087109],[102.986004,33.08717],[102.986062,33.087192],[102.986151,33.087228],[102.986235,33.087244],[102.986326,33.087276],[102.986372,33.087311],[102.986403,33.08737],[102.986421,33.087408],[102.986387,33.087446],[102.98656,33.087537],[102.986654,33.087565],[102.987126,33.087706],[102.987181,33.087722],[102.987238,33.087739],[102.987875,33.08793],[102.988353,33.088182],[102.98871,33.08837],[102.988824,33.08843],[102.988965,33.088505],[102.988999,33.088951],[102.988992,33.089262],[102.988989,33.08941],[102.989081,33.089449],[102.989128,33.089493],[102.989139,33.089546],[102.989134,33.089602],[102.989111,33.089673],[102.989084,33.08971],[102.989027,33.089721],[102.988982,33.089715],[102.988919,33.08973],[102.988867,33.089752],[102.988813,33.08978],[102.988806,33.089824],[102.988826,33.089876],[102.98889,33.089939],[102.988927,33.089973],[102.988983,33.090017],[102.989034,33.090084],[102.989064,33.090145],[102.98911,33.090215],[102.989172,33.090273],[102.989269,33.090339],[102.989364,33.090465],[102.989491,33.090631],[102.990656,33.091231],[102.990756,33.091283],[102.990985,33.092048],[102.991003,33.092105],[102.991231,33.092496],[102.991257,33.092503],[102.991334,33.092519],[102.99138,33.092545],[102.99138,33.09259],[102.991339,33.092682],[102.99128,33.092725],[102.991255,33.092758],[102.991244,33.092806],[102.99125,33.092842],[102.991264,33.092873],[102.991287,33.092873],[102.99143,33.092838],[102.991706,33.093312],[102.991724,33.093342],[102.991725,33.093344],[102.991776,33.093355],[102.99183,33.093432],[102.991842,33.093494],[102.991864,33.093598],[102.991904,33.093685],[102.991958,33.093747],[102.992026,33.093815],[102.992094,33.093871],[102.992155,33.093915],[102.992219,33.093995],[102.992241,33.094058],[102.992209,33.094111],[102.992198,33.094183],[102.992208,33.094264],[102.992217,33.094338],[102.99226,33.094404],[102.992323,33.094442],[102.992435,33.094488],[102.992556,33.094709],[102.992569,33.094733],[102.992645,33.094872],[102.992657,33.094894],[102.992714,33.094999],[102.992724,33.095018],[102.992778,33.095116],[102.992791,33.09514],[102.992882,33.095307],[102.992893,33.095326],[102.992898,33.095336],[102.992957,33.095443],[102.992963,33.095448],[102.992987,33.095468],[102.993024,33.095499],[102.993059,33.095529],[102.993073,33.09554],[102.993191,33.09555],[102.993223,33.095552],[102.993248,33.09558],[102.993257,33.095624],[102.993266,33.095702],[102.993371,33.09579],[102.993453,33.095858],[102.993528,33.095921],[102.993551,33.09594],[102.993953,33.096277],[102.994552,33.097104],[102.995163,33.097344],[102.99534,33.097414],[102.995491,33.097303],[102.995513,33.097287],[102.995616,33.097212],[102.995789,33.097086],[102.995836,33.097096],[102.996039,33.097137],[102.996049,33.097139],[102.996102,33.09715],[102.99658,33.097248],[102.996695,33.097323],[102.996696,33.097265],[102.996695,33.097258],[102.996755,33.097256],[102.996838,33.097266],[102.996882,33.097285],[102.996913,33.097317],[102.996921,33.097354],[102.996911,33.097401],[102.996895,33.097455],[102.996909,33.097464],[102.997102,33.097591],[102.997232,33.097846],[102.99729,33.097841],[102.997343,33.097873],[102.997366,33.097918],[102.997368,33.097952],[102.99735,33.098004],[102.997308,33.098053],[102.997269,33.098059],[102.997233,33.09805],[102.997188,33.098032],[102.997137,33.098023],[102.997117,33.098035],[102.997103,33.098058],[102.997106,33.098094],[102.997135,33.098114],[102.997192,33.098145],[102.997242,33.098183],[102.997264,33.098226],[102.997264,33.098252],[102.997253,33.09827],[102.997227,33.098283],[102.997205,33.098296],[102.997209,33.098322],[102.997229,33.098339],[102.997277,33.09835],[102.997257,33.09855],[102.997256,33.098559],[102.997261,33.098615],[102.997271,33.098733],[102.997283,33.098875],[102.997206,33.098814],[102.997176,33.098787],[102.997123,33.098759],[102.99708,33.098754],[102.997051,33.098769],[102.997049,33.098811],[102.997095,33.098853],[102.997173,33.098898],[102.997243,33.098937],[102.997298,33.098966],[102.997385,33.099005],[102.997433,33.099035],[102.997437,33.099062],[102.997408,33.099089],[102.997359,33.099106],[102.997245,33.09913],[102.997172,33.099122],[102.99712,33.099096],[102.997095,33.099069],[102.997072,33.099044],[102.997038,33.099053],[102.997021,33.099073],[102.997039,33.099118],[102.997092,33.099162],[102.997137,33.099183],[102.997202,33.099217],[102.997226,33.099245],[102.997236,33.099284],[102.99724,33.099318],[102.997229,33.099362],[102.997202,33.099375],[102.997156,33.09938],[102.997122,33.099373],[102.9971,33.099379],[102.997073,33.099441],[102.997065,33.09949],[102.997027,33.099529],[102.996954,33.099554],[102.996924,33.099588],[102.996922,33.099634],[102.996923,33.099675],[102.996888,33.099719],[102.99685,33.09973],[102.996832,33.099749],[102.996854,33.099772],[102.99689,33.099779],[102.996915,33.099769],[102.996949,33.099732],[102.996991,33.099665],[102.997023,33.099625],[102.997057,33.099629],[102.997096,33.09965],[102.997132,33.099661],[102.997193,33.099649],[102.99725,33.099618],[102.997295,33.099615],[102.997341,33.099643],[102.997363,33.099695],[102.997361,33.099735],[102.997318,33.09976],[102.997232,33.099787],[102.997161,33.099794],[102.99711,33.09981],[102.997119,33.099837],[102.997156,33.099868],[102.997185,33.099874],[102.997206,33.099869],[102.997239,33.099837],[102.997281,33.099804],[102.997319,33.099782],[102.997366,33.099756],[102.997403,33.09975],[102.997437,33.099751],[102.997473,33.099767],[102.997485,33.099807],[102.99749,33.099873],[102.997499,33.099931],[102.997508,33.09996],[102.997532,33.100005],[102.99756,33.100042],[102.997607,33.100056],[102.997651,33.100049],[102.9978,33.099964],[102.997858,33.099933],[102.997886,33.099945],[102.997924,33.099988],[102.997929,33.100036],[102.997922,33.100064],[102.997913,33.10008],[102.997882,33.10011],[102.997876,33.100149],[102.997883,33.100164],[102.997911,33.100193],[102.997955,33.100218],[102.998054,33.100247],[102.99809,33.100244],[102.998117,33.100225],[102.998153,33.100255],[102.998188,33.100283],[102.998445,33.100478],[102.998839,33.100777],[102.999123,33.101199],[102.999213,33.101333],[102.999221,33.101345],[102.999211,33.101419],[102.999219,33.10149],[102.99924,33.101526],[102.999299,33.101548],[102.999332,33.101555],[102.999365,33.10156],[102.999383,33.101556],[102.999431,33.101555],[102.99948,33.101555],[102.99955,33.101557],[102.999567,33.101567],[102.99956,33.101582],[102.999525,33.101596],[102.999425,33.10163],[102.999457,33.101658],[102.99957,33.101757],[102.999784,33.101944],[103.000106,33.102294],[103.000462,33.10268],[103.000611,33.103062],[103.000655,33.103075],[103.000689,33.103106],[103.000712,33.103138],[103.000733,33.103183],[103.000763,33.103218],[103.000804,33.103233],[103.000831,33.103253],[103.000861,33.103282],[103.000853,33.103309],[103.000822,33.103328],[103.000788,33.10334],[103.00074,33.103394],[103.000745,33.103408],[103.000818,33.103578],[103.000854,33.103663],[103.001029,33.104074],[103.001466,33.104616],[103.00167,33.104724],[103.001836,33.104811],[103.002321,33.104818],[103.002523,33.104738],[103.002571,33.104718],[103.00256,33.104701],[103.002561,33.104674],[103.002573,33.104646],[103.002598,33.10461],[103.002622,33.104577],[103.002643,33.104541],[103.002658,33.104529],[103.002673,33.104527],[103.002698,33.104549],[103.002706,33.104574],[103.002712,33.104598],[103.002719,33.104615],[103.002728,33.104625],[103.002753,33.10463],[103.002788,33.104621],[103.002821,33.104602],[103.002833,33.104573],[103.002837,33.104544],[103.002842,33.104515],[103.002854,33.104493],[103.002885,33.104484],[103.002919,33.104494],[103.002962,33.104516],[103.002983,33.104539],[103.00299,33.104569],[103.003026,33.104565],[103.003063,33.104554],[103.003089,33.104541],[103.003113,33.104531],[103.003137,33.104528],[103.003157,33.104528],[103.003185,33.104535],[103.003215,33.104544],[103.003236,33.104542],[103.003675,33.104494],[103.003857,33.104717],[103.00381,33.105126],[103.003771,33.105182],[103.003661,33.105336],[103.003653,33.105348],[103.003608,33.105411],[103.003668,33.105385],[103.003688,33.105378],[103.003733,33.105374],[103.003761,33.105384],[103.003766,33.105404],[103.003751,33.105424],[103.003718,33.105444],[103.003664,33.105459],[103.003608,33.105478],[103.003584,33.105493],[103.003553,33.105529],[103.003535,33.105556],[103.003519,33.105584],[103.003495,33.105613],[103.003465,33.10564],[103.003447,33.105681],[103.003393,33.105798],[103.003386,33.105814],[103.003347,33.105898],[103.003344,33.105905],[103.003415,33.106097],[103.003428,33.106132],[103.003433,33.106145],[103.003433,33.106145],[103.003507,33.106343],[103.003516,33.106369],[103.003487,33.10638],[103.00347,33.106374],[103.003449,33.106364],[103.003438,33.106356],[103.003432,33.106401],[103.003435,33.106458],[103.003453,33.106491],[103.003558,33.10652],[103.003708,33.106527],[103.003742,33.106542],[103.003747,33.10657],[103.003729,33.106607],[103.003699,33.10671],[103.003699,33.106752],[103.003701,33.106825],[103.003722,33.106883],[103.003756,33.106942],[103.003803,33.106974],[103.003907,33.106978],[103.004004,33.106968],[103.004061,33.106946],[103.004131,33.106907],[103.004186,33.106848],[103.004233,33.106786],[103.004308,33.106712],[103.004325,33.106664],[103.004345,33.106648],[103.00437,33.106652],[103.004399,33.106657],[103.00444,33.10668],[103.004461,33.106699],[103.004482,33.106748],[103.004496,33.106799],[103.004506,33.106828],[103.004519,33.106844],[103.00455,33.106869],[103.004616,33.106874],[103.004659,33.106866],[103.004743,33.106819],[103.00483,33.106814],[103.004875,33.10685],[103.004908,33.10688],[103.004916,33.106908],[103.004904,33.106996],[103.004934,33.10703],[103.004985,33.107085],[103.005013,33.107163],[103.004992,33.107208],[103.004963,33.107274],[103.004968,33.107329],[103.004978,33.107358],[103.005021,33.107416],[103.005063,33.107478],[103.005115,33.10752],[103.005172,33.107558],[103.005246,33.107583],[103.005359,33.107587],[103.005458,33.107614],[103.005522,33.107672],[103.005559,33.107681],[103.005603,33.10769],[103.005652,33.107725],[103.005677,33.10776],[103.005706,33.107784],[103.005742,33.107806],[103.00579,33.107832],[103.005847,33.107851],[103.005915,33.107876],[103.005961,33.107893],[103.005998,33.107912],[103.006019,33.107956],[103.006044,33.107994],[103.006084,33.108065],[103.006087,33.108071],[103.006123,33.108138],[103.006175,33.108189],[103.006197,33.108208],[103.006188,33.108258],[103.006154,33.108294],[103.006129,33.108331],[103.006118,33.108386],[103.006117,33.108444],[103.006144,33.108498],[103.006168,33.108517],[103.00619,33.108526],[103.006234,33.108528],[103.006266,33.108524],[103.006357,33.108508],[103.00638,33.108531],[103.006379,33.10856],[103.006369,33.108576],[103.006348,33.108603],[103.006355,33.10864],[103.006369,33.10867],[103.006384,33.108684],[103.00641,33.108697],[103.006518,33.108739],[103.006557,33.108762],[103.006601,33.108786],[103.006632,33.108787],[103.006687,33.108786],[103.006695,33.10878],[103.006728,33.108793],[103.006768,33.10882],[103.006804,33.108836],[103.006842,33.108845],[103.006822,33.108886],[103.006861,33.108955],[103.006867,33.108965],[103.006869,33.108988],[103.006866,33.10903],[103.006872,33.109076],[103.006899,33.109105],[103.006951,33.109125],[103.00699,33.109143],[103.007032,33.109168],[103.007074,33.109199],[103.007127,33.109235],[103.00719,33.109263],[103.007251,33.109271],[103.007288,33.109267],[103.007331,33.109251],[103.007364,33.109229],[103.007389,33.109207],[103.007427,33.10919],[103.007481,33.109181],[103.007532,33.109172],[103.007569,33.109152],[103.0076,33.109133],[103.00762,33.109107],[103.007631,33.109081],[103.00765,33.109055],[103.007681,33.109035],[103.00774,33.109025],[103.007767,33.109031],[103.007805,33.109058],[103.007843,33.109091],[103.007875,33.109118],[103.007899,33.109136],[103.007941,33.109158],[103.007972,33.109163],[103.008006,33.109164],[103.008024,33.109151],[103.008034,33.10913],[103.008035,33.109108],[103.008104,33.109123],[103.008133,33.109129],[103.008298,33.10914],[103.00854,33.109156],[103.008569,33.109158],[103.008768,33.109171],[103.008904,33.10925],[103.008943,33.109273],[103.0091,33.109365],[103.009122,33.109384],[103.00918,33.109435],[103.009376,33.109607],[103.00943,33.109653],[103.009375,33.109836],[103.00936,33.109883],[103.009268,33.110186],[103.009288,33.110682],[103.009292,33.110784],[103.009659,33.111186],[103.009682,33.11121],[103.009723,33.111256],[103.00973,33.111263],[103.009893,33.111342],[103.009935,33.111325],[103.01,33.111311],[103.010083,33.111311],[103.010156,33.111314],[103.010265,33.11135],[103.010366,33.111375],[103.010445,33.111369],[103.010554,33.111331],[103.010665,33.111322],[103.010739,33.111335],[103.010801,33.111368],[103.010876,33.111395],[103.010967,33.111397],[103.011032,33.111365],[103.011101,33.111305],[103.011155,33.111273],[103.01121,33.111226],[103.011258,33.111167],[103.011289,33.111109],[103.011292,33.111046],[103.011297,33.110965],[103.011296,33.110948],[103.011294,33.110872],[103.011289,33.110846],[103.011283,33.110811],[103.011261,33.110768],[103.011244,33.110724],[103.011261,33.110682],[103.01129,33.110681],[103.011367,33.110686],[103.011415,33.110684],[103.011445,33.110668],[103.01145,33.110631],[103.01145,33.110589],[103.011445,33.110502],[103.011426,33.110441],[103.011399,33.110405],[103.011351,33.110362],[103.011326,33.110322],[103.011289,33.110261],[103.011244,33.110198],[103.011191,33.110137],[103.011166,33.110087],[103.011161,33.110039],[103.01121,33.110019],[103.011342,33.110021],[103.01139,33.11003],[103.011419,33.110059],[103.011431,33.110094],[103.011452,33.110135],[103.011465,33.110176],[103.011465,33.110202],[103.011477,33.110236],[103.011494,33.110262],[103.011517,33.110275],[103.011539,33.110286],[103.011574,33.110294],[103.011618,33.110295],[103.011663,33.110288],[103.011723,33.110264],[103.01176,33.110249],[103.011802,33.110238],[103.011854,33.110239],[103.011867,33.110243],[103.011884,33.11025],[103.011908,33.110262],[103.011949,33.110279],[103.011996,33.11031],[103.012034,33.110329],[103.012073,33.110335],[103.012119,33.110336],[103.01215,33.110323],[103.012179,33.110306],[103.012215,33.110292],[103.012249,33.110307],[103.012279,33.110326],[103.012294,33.110346],[103.012315,33.110363],[103.01233,33.110377],[103.012354,33.110384],[103.012387,33.110395],[103.012399,33.110411],[103.012417,33.110456],[103.012438,33.110483],[103.01246,33.110524],[103.012476,33.110539],[103.012514,33.110544],[103.012549,33.110541],[103.012582,33.110521],[103.012608,33.11049],[103.012624,33.110462],[103.012635,33.110433],[103.012645,33.110402],[103.012647,33.110383],[103.012651,33.110309],[103.012655,33.110247],[103.012664,33.110181],[103.012681,33.110114],[103.012711,33.110064],[103.012754,33.110042],[103.012834,33.110054],[103.012879,33.11008],[103.01294,33.110128],[103.012976,33.110158],[103.013011,33.110179],[103.013046,33.110188],[103.013076,33.11019],[103.013119,33.110184],[103.013163,33.110173],[103.013213,33.110147],[103.013263,33.110121],[103.013321,33.110092],[103.013499,33.110002],[103.013621,33.110004],[103.014019,33.11001],[103.014171,33.110012],[103.014503,33.110238],[103.01452,33.110348],[103.01456,33.110604],[103.014577,33.110714],[103.014617,33.110722],[103.01463,33.110731],[103.014637,33.110752],[103.014632,33.110773],[103.014622,33.110794],[103.014613,33.110827],[103.014606,33.110852],[103.014608,33.110882],[103.014616,33.110908],[103.014622,33.11093],[103.014623,33.11095],[103.014608,33.11097],[103.014606,33.110971],[103.01461,33.111045],[103.014627,33.111373],[103.014501,33.112],[103.014595,33.112058],[103.014631,33.112079],[103.014639,33.112084],[103.01468,33.112056],[103.014699,33.112052],[103.01473,33.112067],[103.01474,33.112083],[103.014753,33.112105],[103.01476,33.112128],[103.014799,33.112181],[103.014803,33.11219],[103.01483,33.112213],[103.014869,33.112235],[103.014891,33.112254],[103.0149,33.112265],[103.014899,33.112282],[103.014883,33.112291],[103.014869,33.112315],[103.01487,33.112339],[103.014885,33.112356],[103.014915,33.112368],[103.014983,33.11238],[103.015029,33.112371],[103.015072,33.112441],[103.015159,33.112584],[103.015171,33.112604],[103.015233,33.112705],[103.015147,33.113207],[103.015495,33.113537],[103.015586,33.113623],[103.015586,33.113623],[103.015607,33.113647],[103.015956,33.114065],[103.015987,33.114101],[103.016025,33.114142],[103.016091,33.114214],[103.016252,33.114387],[103.016462,33.114613],[103.016481,33.114728],[103.016576,33.115299],[103.016578,33.115309],[103.016582,33.115332],[103.016593,33.115402],[103.016594,33.115406],[103.016597,33.115423],[103.016625,33.115571],[103.016629,33.115591],[103.016629,33.115595],[103.016641,33.115655],[103.016642,33.11566],[103.016644,33.115674],[103.016688,33.11591],[103.016692,33.115932],[103.016736,33.116165],[103.01674,33.116186],[103.016794,33.116475],[103.017154,33.116731],[103.017179,33.116749],[103.017276,33.116817],[103.017298,33.116833],[103.017383,33.116893],[103.017663,33.116975],[103.017705,33.116953],[103.017729,33.116943],[103.017775,33.11694],[103.017807,33.116952],[103.01784,33.116968],[103.01788,33.116993],[103.017896,33.117014],[103.01791,33.117046],[103.018059,33.11709],[103.018113,33.117106],[103.018131,33.117111],[103.018339,33.117171],[103.018373,33.117162],[103.01848,33.11713],[103.018576,33.117134],[103.018644,33.117219],[103.018717,33.117248],[103.018781,33.117259],[103.01886,33.117251],[103.018922,33.117232],[103.018993,33.117217],[103.019029,33.117227],[103.019063,33.117257],[103.01909,33.117324],[103.019136,33.117383],[103.019171,33.117423],[103.019227,33.117455],[103.019271,33.117467],[103.01934,33.117468],[103.01941,33.117467],[103.019487,33.117487],[103.019513,33.1175],[103.019526,33.117542],[103.019522,33.117614],[103.019517,33.117658],[103.019664,33.117741],[103.019643,33.117793],[103.019632,33.117834],[103.019632,33.117883],[103.019655,33.117933],[103.019679,33.11796],[103.01971,33.117963],[103.019749,33.117945],[103.019803,33.117915],[103.01985,33.117903],[103.019911,33.117897],[103.019928,33.117944],[103.019958,33.118024],[103.019978,33.118007],[103.019996,33.11798],[103.020016,33.117962],[103.020043,33.117953],[103.020088,33.11795],[103.020128,33.117959],[103.020157,33.117976],[103.02019,33.117999],[103.020206,33.118021],[103.020221,33.118044],[103.020234,33.11808],[103.020226,33.118118],[103.020222,33.118142],[103.020238,33.118171],[103.02026,33.118182],[103.020298,33.118188],[103.020332,33.118208],[103.020321,33.118223],[103.020284,33.118238],[103.020264,33.11825],[103.020241,33.118255],[103.020212,33.118261],[103.020172,33.118265],[103.020138,33.11826],[103.020111,33.118242],[103.020092,33.118216],[103.020085,33.11819],[103.020078,33.118171],[103.020058,33.118124],[103.02004,33.118113],[103.020011,33.1181],[103.019985,33.118097],[103.020003,33.118145],[103.020047,33.118264],[103.020116,33.118448],[103.020461,33.118531],[103.020674,33.118582],[103.021023,33.118707],[103.021082,33.118727],[103.02123,33.11878],[103.021264,33.118818],[103.021668,33.119259],[103.021699,33.119563],[103.021709,33.119658],[103.021755,33.119696],[103.021771,33.119717],[103.0218,33.119749],[103.021803,33.119782],[103.021798,33.119809],[103.02179,33.119836],[103.021779,33.119871],[103.02177,33.119906],[103.021761,33.119946],[103.02174,33.119989],[103.021719,33.120008],[103.021712,33.120032],[103.021712,33.120054],[103.021732,33.120073],[103.021747,33.120079],[103.02175,33.120118],[103.02175,33.120128],[103.021751,33.120141],[103.021759,33.120236],[103.021818,33.120291],[103.021938,33.120401],[103.022415,33.120837],[103.022528,33.120941],[103.022644,33.121014],[103.022688,33.121041],[103.022719,33.12106],[103.022731,33.121077],[103.022764,33.121121],[103.022797,33.121165],[103.022819,33.121194],[103.022852,33.121206],[103.022891,33.121212],[103.023045,33.121264],[103.023128,33.121265],[103.023429,33.12127],[103.023567,33.121273],[103.023582,33.121267],[103.023599,33.121261],[103.023618,33.121256],[103.023699,33.121247],[103.023802,33.121254],[103.023859,33.121263],[103.024107,33.121217],[103.024118,33.121215],[103.024267,33.121187],[103.024305,33.121197],[103.024323,33.121202],[103.024347,33.121204],[103.024391,33.121216],[103.024421,33.121228],[103.024436,33.121242],[103.024437,33.121252],[103.024436,33.121282],[103.024428,33.121298],[103.024411,33.121327],[103.024412,33.121345],[103.024417,33.121366],[103.024447,33.12138],[103.024487,33.121386],[103.024533,33.121385],[103.024584,33.121375],[103.024615,33.121359],[103.024641,33.121332],[103.024656,33.121303],[103.024667,33.12127],[103.024676,33.121243],[103.02469,33.121208],[103.024697,33.121179],[103.024707,33.12115],[103.024712,33.121132],[103.024706,33.121106],[103.024694,33.121069],[103.024691,33.121055],[103.024673,33.121016],[103.024667,33.120986],[103.024668,33.120965],[103.024707,33.120954],[103.024752,33.120978],[103.024784,33.121002],[103.02483,33.121043],[103.024841,33.12108],[103.024842,33.1211],[103.024838,33.12112],[103.024832,33.121139],[103.024827,33.121157],[103.024818,33.121179],[103.02481,33.1212],[103.02481,33.12122],[103.024813,33.121242],[103.024828,33.121258],[103.024857,33.121269],[103.024913,33.12128],[103.024953,33.12128],[103.024998,33.121276],[103.025021,33.121267],[103.025046,33.121243],[103.025058,33.121226],[103.025074,33.121189],[103.025083,33.121166],[103.02508,33.121149],[103.025077,33.121132],[103.025074,33.121114],[103.02507,33.121097],[103.025068,33.12108],[103.025069,33.12106],[103.025233,33.121048],[103.025968,33.120996],[103.026047,33.121012],[103.027122,33.121234],[103.027291,33.121322],[103.027936,33.121656],[103.028157,33.122108],[103.028165,33.122123],[103.028195,33.122184],[103.028227,33.12225],[103.028294,33.122386],[103.028276,33.123172],[103.028262,33.123248],[103.02826,33.123263],[103.028233,33.123408],[103.028224,33.123457],[103.028215,33.123508],[103.028197,33.12361],[103.028191,33.123643],[103.02828,33.123744],[103.028341,33.123746],[103.028413,33.123757],[103.028481,33.123776],[103.028525,33.123794],[103.028573,33.123817],[103.028609,33.123843],[103.028641,33.123869],[103.028654,33.123896],[103.028675,33.123929],[103.028697,33.123947],[103.028743,33.123974],[103.028931,33.124001],[103.029399,33.123982],[103.029492,33.123979],[103.029903,33.124017],[103.030231,33.124303],[103.030184,33.124324],[103.030172,33.124341],[103.03015,33.12438],[103.03015,33.124395],[103.030169,33.124422],[103.030176,33.124426],[103.0302,33.124441],[103.030236,33.124452],[103.030261,33.124464],[103.030276,33.12446],[103.030311,33.124589],[103.030332,33.124666],[103.030344,33.124711],[103.030371,33.124811],[103.030514,33.125128],[103.030848,33.125228],[103.031089,33.125104],[103.031158,33.125069],[103.031265,33.125014],[103.031688,33.124485],[103.032065,33.124366],[103.032677,33.124505],[103.032726,33.124516],[103.032809,33.124535],[103.032961,33.124553],[103.033704,33.124643],[103.034095,33.12459],[103.034243,33.12457],[103.034517,33.124532],[103.034525,33.124553],[103.034536,33.124568],[103.034593,33.124613],[103.034631,33.124633],[103.034661,33.124638],[103.034692,33.124636],[103.034729,33.124615],[103.034762,33.124594],[103.034789,33.124577],[103.034813,33.124572],[103.034847,33.124581],[103.034875,33.124596],[103.034905,33.124603],[103.034955,33.1246],[103.034989,33.124583],[103.035013,33.124569],[103.035031,33.124554],[103.035045,33.124538],[103.035058,33.124523],[103.03507,33.124501],[103.03508,33.124475],[103.035076,33.124449],[103.035065,33.124432],[103.035036,33.124404],[103.035004,33.124382],[103.034983,33.124362],[103.034979,33.124341],[103.034987,33.12433],[103.035002,33.124321],[103.035036,33.124313],[103.03506,33.124312],[103.035083,33.124318],[103.035103,33.124328],[103.035114,33.124342],[103.035128,33.124365],[103.03514,33.124393],[103.035152,33.12442],[103.035161,33.124444],[103.035171,33.124467],[103.035184,33.124484],[103.035197,33.124492],[103.035224,33.124505],[103.035254,33.124513],[103.035282,33.124514],[103.035358,33.124509],[103.035388,33.124499],[103.035418,33.124485],[103.035435,33.12447],[103.035452,33.124452],[103.035468,33.124439],[103.03549,33.124428],[103.035528,33.124416],[103.035556,33.124417],[103.035585,33.124433],[103.035582,33.12446],[103.035569,33.124475],[103.035554,33.12448],[103.035521,33.124498],[103.035506,33.124507],[103.035488,33.124515],[103.035468,33.124537],[103.035457,33.124556],[103.03545,33.124578],[103.035469,33.124601],[103.035495,33.124618],[103.035524,33.124635],[103.0356,33.124646],[103.035688,33.124632],[103.035736,33.124615],[103.035986,33.124648],[103.036034,33.124659],[103.036544,33.124782],[103.037105,33.12476],[103.037527,33.124326],[103.037817,33.124189],[103.03798,33.124113],[103.038271,33.124135],[103.038306,33.124154],[103.038333,33.124163],[103.038373,33.124166],[103.038415,33.124173],[103.038444,33.124185],[103.038464,33.124202],[103.038484,33.124223],[103.038517,33.124245],[103.038539,33.124276],[103.038553,33.12431],[103.038555,33.124333],[103.038546,33.124362],[103.038518,33.124381],[103.038501,33.124398],[103.038481,33.124411],[103.038436,33.124434],[103.038411,33.124474],[103.038413,33.124513],[103.038425,33.124551],[103.038448,33.124571],[103.038513,33.124587],[103.038555,33.124586],[103.038605,33.124583],[103.038675,33.124583],[103.038688,33.124588],[103.0387,33.12462],[103.038692,33.124676],[103.03867,33.124712],[103.038656,33.124758],[103.038661,33.124809],[103.038684,33.124856],[103.038519,33.125097],[103.038596,33.125186],[103.038802,33.125427],[103.038847,33.12548],[103.038988,33.125489],[103.039482,33.125521],[103.039545,33.125507],[103.040122,33.125374],[103.040426,33.125425],[103.040679,33.125468],[103.040783,33.125486],[103.040853,33.125498],[103.040882,33.125522],[103.040899,33.125528],[103.040928,33.125534],[103.040956,33.125543],[103.040983,33.125552],[103.041059,33.125596],[103.041078,33.12561],[103.041119,33.125639],[103.041149,33.12566],[103.041236,33.125722],[103.041531,33.125931],[103.041659,33.126276],[103.041739,33.126492],[103.041742,33.126501],[103.041752,33.126598],[103.041773,33.126816],[103.042328,33.127077],[103.04289,33.127023],[103.043303,33.126866],[103.043569,33.126765],[103.043607,33.126751],[103.044159,33.126667],[103.044217,33.126658],[103.044232,33.126656],[103.044241,33.126667],[103.044264,33.126685],[103.044317,33.1267],[103.044374,33.12671],[103.04443,33.126712],[103.044487,33.126698],[103.044542,33.126679],[103.044581,33.126657],[103.044608,33.126639],[103.044652,33.126598],[103.044706,33.126591],[103.044869,33.12657],[103.045201,33.126527],[103.045221,33.126524],[103.045236,33.126522],[103.045671,33.126437],[103.046265,33.126666],[103.04653,33.126727],[103.047009,33.126836],[103.04773,33.126817],[103.047767,33.126806],[103.047826,33.12679],[103.047852,33.126782],[103.047872,33.126786],[103.048322,33.126667],[103.048922,33.126582],[103.048939,33.126581],[103.049416,33.126555],[103.049724,33.126539],[103.049737,33.126538],[103.049821,33.126533],[103.05046,33.126324],[103.051291,33.126053],[103.052377,33.125975],[103.053574,33.125963],[103.054513,33.12582],[103.055303,33.125741],[103.055351,33.125736],[103.0556,33.125711],[103.05683,33.12561],[103.057211,33.125579],[103.058862,33.125353],[103.06006,33.125308],[103.061785,33.125115],[103.062842,33.125031],[103.063434,33.124983],[103.064328,33.125155],[103.065495,33.128226],[103.065744,33.128796],[103.066639,33.128904],[103.067463,33.128854],[103.069706,33.128952],[103.070755,33.128874],[103.072174,33.12899],[103.073453,33.130363],[103.073888,33.131056],[103.073944,33.131144],[103.074176,33.131514],[103.074196,33.131545],[103.074197,33.131547],[103.074212,33.131571],[103.074849,33.133249],[103.074696,33.133199],[103.074522,33.1332],[103.074424,33.133219],[103.074404,33.133266],[103.074413,33.133348],[103.074453,33.133441],[103.074526,33.133497],[103.07465,33.13355],[103.07474,33.13361],[103.074899,33.133736],[103.074911,33.133848],[103.075345,33.134516],[103.075937,33.13484],[103.078205,33.135473],[103.080146,33.135692],[103.081307,33.135615],[103.082047,33.135973],[103.082068,33.135976],[103.082831,33.136079],[103.083459,33.136435],[103.083375,33.136533],[103.083405,33.136675],[103.083504,33.136861],[103.083655,33.137189],[103.083754,33.137388],[103.083836,33.137593],[103.083871,33.137692],[103.083958,33.137849],[103.084016,33.137963],[103.084086,33.138087],[103.084166,33.138143],[103.084226,33.138185],[103.084857,33.139622],[103.085072,33.140113],[103.085129,33.140151],[103.085224,33.140233],[103.085315,33.140379],[103.085354,33.14045],[103.085389,33.140536],[103.085421,33.140686],[103.085444,33.140803],[103.085465,33.141064],[103.085475,33.141297],[103.085472,33.141386],[103.085452,33.141455],[103.085415,33.141544],[103.085437,33.141634],[103.085523,33.141687],[103.085621,33.141764],[103.085691,33.14185],[103.085825,33.14194],[103.085881,33.142075],[103.08591,33.142201],[103.085918,33.142236],[103.08612,33.143117],[103.086857,33.144555],[103.086859,33.144561],[103.08696,33.144758],[103.087435,33.145684],[103.087456,33.145725],[103.08805,33.146885],[103.0884,33.146937],[103.088753,33.147005],[103.089233,33.147077],[103.089483,33.147159],[103.089447,33.147234],[103.089426,33.147278],[103.08918,33.147425],[103.089075,33.14754],[103.088967,33.147656],[103.088687,33.147881],[103.088571,33.147901],[103.088994,33.148728],[103.088996,33.148731],[103.089146,33.149024],[103.08933,33.149383],[103.089382,33.149484],[103.089539,33.14979],[103.089566,33.149843],[103.089882,33.150504],[103.090067,33.150889],[103.090161,33.15174],[103.090206,33.152182],[103.090263,33.152222],[103.090656,33.152496],[103.09081,33.152518],[103.090868,33.152624],[103.090998,33.152814],[103.091019,33.15284],[103.09107,33.152903],[103.091142,33.152998],[103.091137,33.153141],[103.091011,33.153279],[103.090636,33.153434],[103.090474,33.153492],[103.090573,33.153681],[103.090963,33.154428],[103.091088,33.154546],[103.09188,33.155292],[103.092615,33.155869],[103.093157,33.15679],[103.093466,33.157091],[103.093816,33.15743],[103.093868,33.157689],[103.093918,33.157935],[103.093917,33.157965],[103.093906,33.158476],[103.093905,33.158502],[103.093633,33.159001],[103.093483,33.159257],[103.09305,33.159999],[103.092612,33.160511],[103.09225,33.160935],[103.091754,33.161517],[103.09159,33.161708],[103.09157,33.162652],[103.091701,33.163844],[103.091756,33.164341],[103.091772,33.164486],[103.091883,33.165497],[103.091888,33.165537],[103.09182,33.1656],[103.091591,33.165584],[103.091443,33.165639],[103.091433,33.165645],[103.09152,33.165732],[103.091714,33.165909],[103.091808,33.166057],[103.091888,33.166253],[103.092005,33.166424],[103.092069,33.166813],[103.09211,33.167067],[103.092237,33.168139],[103.093096,33.169946],[103.093294,33.170724],[103.093337,33.170894],[103.09339,33.171894],[103.09339,33.171902],[103.093389,33.172164],[103.093385,33.172831],[103.093383,33.173386],[103.093379,33.174136],[103.093372,33.174438],[103.093362,33.174923],[103.093373,33.175038],[103.093422,33.175514],[103.093454,33.175837],[103.093441,33.175994],[103.093354,33.177032],[103.093047,33.17776],[103.092959,33.17797],[103.092198,33.178525],[103.091267,33.179046],[103.090721,33.179352],[103.090478,33.179431],[103.088874,33.179953],[103.087701,33.180367],[103.087594,33.180405],[103.087304,33.180507],[103.087252,33.180526],[103.086823,33.180677],[103.08563,33.181099],[103.085248,33.181439],[103.085214,33.181739],[103.085211,33.181768],[103.085202,33.181848],[103.085297,33.182636],[103.085289,33.182678],[103.085324,33.182877],[103.08527,33.183026],[103.085192,33.183183],[103.08519,33.183189],[103.08515,33.183397],[103.08506,33.183867],[103.085001,33.184174],[103.084871,33.18499],[103.084533,33.185342],[103.084335,33.185548],[103.083301,33.186533],[103.082806,33.187004],[103.082559,33.187315],[103.08246,33.187439],[103.082395,33.187642],[103.082383,33.187679],[103.082203,33.188242],[103.082092,33.188588],[103.082058,33.188692],[103.082014,33.188936],[103.081956,33.189255],[103.081952,33.189281],[103.081888,33.189634],[103.081577,33.190154],[103.081422,33.190414],[103.080772,33.191033],[103.080742,33.191309],[103.080725,33.191473],[103.080745,33.191523],[103.080751,33.191537],[103.080823,33.191713],[103.080836,33.191745],[103.08084,33.191756],[103.080867,33.191821],[103.081351,33.191955],[103.081721,33.191943],[103.081886,33.191938],[103.081899,33.191938],[103.081958,33.191902],[103.082066,33.19181],[103.082112,33.191757],[103.082329,33.19159],[103.082392,33.191547],[103.082398,33.191543],[103.082451,33.191505],[103.082488,33.191492],[103.082516,33.191495],[103.082555,33.191513],[103.082596,33.191542],[103.08263,33.191599],[103.082653,33.191658],[103.082677,33.191719],[103.082695,33.191768],[103.082716,33.191841],[103.082902,33.191816],[103.082976,33.191806],[103.083019,33.1918],[103.083076,33.191792],[103.083448,33.191924],[103.083553,33.19224],[103.082907,33.192671],[103.081883,33.19365],[103.081745,33.194453],[103.081953,33.194776],[103.08197,33.194802],[103.082122,33.195038],[103.082174,33.19506],[103.082217,33.195077],[103.082723,33.195284],[103.082857,33.195266],[103.082981,33.19525],[103.083076,33.195224],[103.083133,33.195194],[103.083142,33.195189],[103.083191,33.195164],[103.083254,33.195153],[103.08331,33.195161],[103.083358,33.195175],[103.083421,33.195206],[103.083501,33.195271],[103.083544,33.195327],[103.083584,33.19541],[103.083614,33.195485],[103.083626,33.195557],[103.083651,33.195652],[103.083755,33.195693],[103.083847,33.195835],[103.083875,33.195878],[103.083887,33.196067],[103.083859,33.196239],[103.083729,33.196406],[103.083663,33.196439],[103.083446,33.196549],[103.083383,33.196555],[103.083266,33.196556],[103.0831,33.196536],[103.082739,33.196522],[103.082591,33.196513],[103.082365,33.196522],[103.082357,33.196523],[103.08222,33.196539],[103.082137,33.196549],[103.081945,33.196573],[103.081785,33.196592],[103.081622,33.196605],[103.081491,33.196606],[103.081331,33.196609],[103.081241,33.1966],[103.081251,33.196628],[103.08127,33.196648],[103.081124,33.196732],[103.081085,33.196772],[103.080943,33.196909],[103.080742,33.197243],[103.080539,33.197582],[103.080587,33.198112],[103.080676,33.198268],[103.080688,33.19829],[103.080789,33.198467],[103.080895,33.198517],[103.081137,33.19863],[103.081144,33.198634],[103.081234,33.198676],[103.081715,33.198582],[103.081888,33.198513],[103.082099,33.198428],[103.08244,33.198291],[103.082489,33.198296],[103.082555,33.198217],[103.08262,33.198143],[103.082697,33.198082],[103.082699,33.198079],[103.082786,33.198074],[103.082865,33.19809],[103.082921,33.198124],[103.082945,33.19817],[103.082961,33.19822],[103.082971,33.198278],[103.082963,33.198341],[103.083068,33.198351],[103.083177,33.198456],[103.083157,33.198507],[103.08312,33.198664],[103.083084,33.198775],[103.083059,33.198872],[103.083042,33.198998],[103.083035,33.199121],[103.083008,33.199311],[103.083005,33.199443],[103.083003,33.199518],[103.082924,33.199781],[103.082907,33.199878],[103.082892,33.199956],[103.082862,33.199997],[103.082788,33.200041],[103.082741,33.20011],[103.082688,33.200272],[103.082583,33.200607],[103.082499,33.200811],[103.082465,33.200898],[103.082445,33.200929],[103.082419,33.200969],[103.082386,33.201009],[103.082332,33.201038],[103.08222,33.201098],[103.082175,33.20115],[103.082164,33.201173],[103.082127,33.201252],[103.082114,33.201326],[103.082113,33.201417],[103.082133,33.201491],[103.082138,33.201509],[103.082184,33.201616],[103.082276,33.20179],[103.082301,33.201884],[103.082302,33.201969],[103.082285,33.202088],[103.082246,33.202247],[103.0822,33.202403],[103.082153,33.202553],[103.082127,33.202666],[103.082116,33.202755],[103.082113,33.202857],[103.082111,33.202899],[103.082112,33.203],[103.082119,33.203097],[103.082164,33.203194],[103.082263,33.203352],[103.082379,33.203491],[103.082453,33.203514],[103.082527,33.203537],[103.082759,33.203546],[103.082942,33.20351],[103.083046,33.203846],[103.083152,33.204185],[103.083178,33.20427],[103.083508,33.204275],[103.084149,33.203898],[103.084175,33.203883],[103.084268,33.203856],[103.08441,33.203814],[103.084467,33.203797],[103.084665,33.203739],[103.084748,33.203715],[103.08492,33.204071],[103.084919,33.204119],[103.084809,33.204158],[103.084768,33.204206],[103.084741,33.204302],[103.08475,33.204377],[103.084751,33.204513],[103.084662,33.204581],[103.084546,33.204601],[103.084496,33.204653],[103.084471,33.20473],[103.084434,33.204851],[103.084458,33.204939],[103.084369,33.205068],[103.08418,33.20523],[103.083937,33.2055],[103.083681,33.205639],[103.083577,33.205667],[103.083534,33.205638],[103.083541,33.20545],[103.083512,33.205459],[103.083355,33.205349],[103.083251,33.205276],[103.083043,33.20513],[103.082716,33.2049],[103.082598,33.204817],[103.082133,33.204598],[103.082023,33.205058],[103.082209,33.20634],[103.082276,33.206795],[103.082283,33.20685],[103.082431,33.207171],[103.082703,33.207763],[103.083185,33.20825],[103.083445,33.208513],[103.083783,33.208807],[103.0838,33.208759],[103.083913,33.208796],[103.084071,33.208828],[103.084195,33.208844],[103.084357,33.20886],[103.084457,33.208862],[103.084523,33.208973],[103.084538,33.209077],[103.084512,33.209245],[103.084455,33.209414],[103.084403,33.209471],[103.084466,33.209557],[103.0845,33.209603],[103.084356,33.209695],[103.084287,33.209739],[103.084253,33.209761],[103.084202,33.209769],[103.084099,33.209766],[103.083986,33.209752],[103.083821,33.209821],[103.083671,33.209884],[103.083589,33.209832],[103.083535,33.209788],[103.08346,33.209738],[103.083403,33.209732],[103.083301,33.209763],[103.083195,33.209848],[103.083094,33.209968],[103.082996,33.210085],[103.082863,33.210232],[103.082793,33.210313],[103.082724,33.210421],[103.082694,33.210516],[103.082618,33.210733],[103.082548,33.211232],[103.082421,33.211445],[103.082177,33.21175],[103.082181,33.211758],[103.082168,33.211786],[103.082143,33.211857],[103.082129,33.211944],[103.082133,33.212066],[103.082149,33.212129],[103.082156,33.212156],[103.082211,33.21222],[103.082311,33.212262],[103.082484,33.212292],[103.082946,33.212355],[103.083309,33.212205],[103.08364,33.212147],[103.08384,33.212116],[103.084106,33.211842],[103.084296,33.211648],[103.084646,33.211327],[103.084655,33.211319],[103.084809,33.211178],[103.085233,33.21079],[103.085705,33.211133],[103.085768,33.21129],[103.085838,33.211467],[103.085894,33.211606],[103.085928,33.211682],[103.085923,33.211687],[103.085892,33.211741],[103.085868,33.211806],[103.085862,33.21189],[103.085868,33.211953],[103.085904,33.21204],[103.085956,33.212135],[103.086012,33.212196],[103.086132,33.212289],[103.08628,33.212369],[103.086416,33.212429],[103.086487,33.212438],[103.086579,33.212419],[103.086675,33.212388],[103.086749,33.21234],[103.086809,33.212274],[103.086863,33.212205],[103.086918,33.212132],[103.086974,33.212107],[103.087082,33.21206],[103.087138,33.212024],[103.087409,33.211845],[103.087483,33.211797],[103.088134,33.211368],[103.088166,33.211322],[103.088214,33.211253],[103.088284,33.211175],[103.088358,33.211118],[103.088428,33.211072],[103.088509,33.211018],[103.088594,33.210987],[103.088654,33.210987],[103.088718,33.211004],[103.0888,33.211058],[103.089103,33.21095],[103.08945,33.211051],[103.089505,33.211067],[103.089515,33.21107],[103.08963,33.211104],[103.089752,33.211139],[103.089768,33.211352],[103.089793,33.211677],[103.089357,33.212118],[103.089001,33.212424],[103.088595,33.212772],[103.088567,33.212796],[103.088552,33.212809],[103.088538,33.212821],[103.088515,33.212841],[103.088435,33.212909],[103.088319,33.213355],[103.088362,33.213803],[103.088473,33.213777],[103.088578,33.213753],[103.088595,33.213749],[103.088854,33.213688],[103.088898,33.213677],[103.089024,33.213628],[103.089207,33.213476],[103.089281,33.213397],[103.089287,33.213362],[103.08933,33.213327],[103.089548,33.21315],[103.089597,33.213132],[103.089609,33.213127],[103.089959,33.212995],[103.090418,33.212822],[103.090461,33.212806],[103.09061,33.21291],[103.090615,33.212914],[103.090723,33.212989],[103.090518,33.213398],[103.090501,33.213433],[103.090215,33.213892],[103.090059,33.214143],[103.090069,33.214208],[103.090071,33.214221],[103.090102,33.214434],[103.090105,33.214456],[103.090846,33.214692],[103.091044,33.214685],[103.091067,33.214685],[103.091566,33.214668],[103.091568,33.214682],[103.091641,33.215074],[103.091658,33.215388],[103.091622,33.215637],[103.091606,33.215711],[103.091756,33.215721],[103.091844,33.216224],[103.091862,33.216351],[103.091967,33.217109],[103.09238,33.217454],[103.092421,33.217488],[103.092437,33.217502],[103.092636,33.217668],[103.092713,33.217735],[103.092743,33.217743],[103.0928,33.21776],[103.092896,33.217811],[103.092979,33.217875],[103.093082,33.217944],[103.093176,33.218056],[103.093206,33.218121],[103.093223,33.218182],[103.093224,33.218229],[103.093224,33.218296],[103.093214,33.218354],[103.093201,33.218384],[103.093205,33.218526],[103.09321,33.218703],[103.092939,33.219019],[103.092929,33.219031],[103.092482,33.219551],[103.092484,33.219643],[103.092484,33.219656],[103.09249,33.219883],[103.092495,33.220173],[103.092511,33.220188],[103.09257,33.220251],[103.092636,33.220322],[103.092932,33.220641],[103.092978,33.220654],[103.093031,33.220665],[103.093087,33.220684],[103.093155,33.220711],[103.093251,33.220765],[103.093483,33.220904],[103.093548,33.220946],[103.093591,33.220984],[103.093632,33.22102],[103.093642,33.221031],[103.093765,33.221058],[103.094547,33.22123],[103.095763,33.221463],[103.096141,33.221538],[103.096285,33.221519],[103.096425,33.22151],[103.096561,33.221496],[103.09672,33.221477],[103.096929,33.221462],[103.096986,33.221467],[103.097043,33.221491],[103.097086,33.221531],[103.097135,33.221597],[103.09716,33.221682],[103.097175,33.221786],[103.097163,33.221866],[103.097342,33.221965],[103.097471,33.222561],[103.097457,33.222587],[103.0971,33.223158],[103.096815,33.223719],[103.096935,33.224042],[103.096969,33.22413],[103.09709,33.224442],[103.097097,33.224505],[103.097104,33.224577],[103.09712,33.224732],[103.096991,33.224807],[103.096842,33.224777],[103.096861,33.224728],[103.096861,33.224691],[103.096851,33.224655],[103.09679,33.224609],[103.096716,33.224561],[103.096663,33.224547],[103.096632,33.224553],[103.096611,33.224584],[103.096581,33.22463],[103.096538,33.22466],[103.096477,33.224672],[103.09609,33.224472],[103.096048,33.224451],[103.09594,33.224397],[103.095932,33.224394],[103.095875,33.224422],[103.095818,33.22444],[103.09572,33.224456],[103.095604,33.224454],[103.095539,33.224448],[103.095476,33.224429],[103.09542,33.224401],[103.095369,33.224345],[103.09537,33.224363],[103.095378,33.224614],[103.095442,33.225012],[103.095644,33.225207],[103.09578,33.225338],[103.095913,33.225464],[103.095934,33.225483],[103.096224,33.225756],[103.096264,33.225744],[103.096297,33.22573],[103.096315,33.225718],[103.096334,33.225706],[103.096384,33.22567],[103.096491,33.225626],[103.096537,33.225627],[103.0966,33.225634],[103.096638,33.225651],[103.096667,33.225676],[103.096691,33.225713],[103.096719,33.225773],[103.096734,33.225832],[103.096735,33.225903],[103.096725,33.225978],[103.096709,33.226027],[103.09669,33.226065],[103.096745,33.226101],[103.096919,33.226408],[103.09683,33.226647],[103.096784,33.226809],[103.096704,33.226972],[103.096666,33.227085],[103.096622,33.227148],[103.096586,33.227188],[103.096527,33.227243],[103.096425,33.2273],[103.096347,33.227339],[103.096229,33.227373],[103.096149,33.227384],[103.096029,33.227385],[103.095937,33.227377],[103.095831,33.227359],[103.095741,33.227323],[103.095695,33.2273],[103.095665,33.227304],[103.095555,33.22732],[103.095094,33.227619],[103.095262,33.22781],[103.095272,33.22782],[103.095649,33.228009],[103.095724,33.228028],[103.095804,33.228019],[103.095927,33.228014],[103.096073,33.228025],[103.096131,33.228036],[103.096223,33.228053],[103.096376,33.228103],[103.096436,33.228135],[103.096444,33.228134],[103.096628,33.228131],[103.096658,33.228128],[103.096794,33.228165],[103.097034,33.228201],[103.097134,33.2282],[103.097209,33.228193],[103.097287,33.228165],[103.097357,33.228118],[103.097421,33.228052],[103.097723,33.228063],[103.097757,33.228052],[103.097831,33.228048],[103.097926,33.228043],[103.098002,33.228044],[103.098058,33.228058],[103.098091,33.228076],[103.098138,33.228078],[103.098486,33.228197],[103.098532,33.228213],[103.098932,33.22835],[103.099295,33.228594],[103.099292,33.228707],[103.099287,33.228849],[103.099295,33.228928],[103.099287,33.229126],[103.099325,33.22928],[103.099552,33.229709],[103.099744,33.230109],[103.100051,33.230478],[103.100121,33.230493],[103.100202,33.23052],[103.100289,33.230561],[103.100326,33.230579],[103.100366,33.230599],[103.100409,33.230632],[103.100463,33.230692],[103.100528,33.230765],[103.100568,33.230821],[103.100579,33.230837],[103.100614,33.230895],[103.100655,33.230996],[103.100684,33.231063],[103.100689,33.231081],[103.100689,33.231104],[103.100688,33.231119],[103.100718,33.231151],[103.10072,33.231157],[103.100749,33.231288],[103.100771,33.231443],[103.100749,33.231626],[103.10069,33.231778],[103.100632,33.23193],[103.100545,33.232049],[103.100442,33.232165],[103.100277,33.232264],[103.100119,33.232345],[103.099925,33.232418],[103.099787,33.232437],[103.099344,33.232369],[103.099155,33.23234],[103.098956,33.232232],[103.098755,33.232122],[103.098728,33.232107],[103.098594,33.232107],[103.098442,33.232104],[103.09829,33.232067],[103.098153,33.232022],[103.098016,33.231963],[103.097934,33.231907],[103.0979,33.231872],[103.097881,33.231868],[103.097324,33.231742],[103.097318,33.23174],[103.097265,33.231699],[103.09715,33.231639],[103.096787,33.231478],[103.09662,33.231412],[103.096522,33.231383],[103.09642,33.231365],[103.096359,33.231365],[103.096214,33.231302],[103.095845,33.231263],[103.095799,33.231303],[103.095737,33.231346],[103.095626,33.23137],[103.09555,33.231379],[103.095468,33.231383],[103.095388,33.231375],[103.09527,33.231347],[103.095188,33.231414],[103.095121,33.231468],[103.095046,33.231529],[103.094911,33.231893],[103.094936,33.232413],[103.095287,33.232969],[103.095344,33.233096],[103.095505,33.233459],[103.095547,33.233553],[103.095446,33.233682],[103.095427,33.233831],[103.095392,33.233918],[103.095369,33.233996],[103.095327,33.234115],[103.095307,33.234211],[103.095288,33.234339],[103.095314,33.234396],[103.095291,33.234466],[103.095281,33.234628],[103.095263,33.234939],[103.095433,33.235172],[103.095446,33.235188],[103.095601,33.235402],[103.095648,33.235405],[103.095684,33.235412],[103.095766,33.235437],[103.095816,33.235462],[103.095876,33.235499],[103.095926,33.235521],[103.095945,33.235528],[103.095987,33.235544],[103.096051,33.235563],[103.096155,33.235592],[103.096252,33.235624],[103.096329,33.235652],[103.096461,33.235733],[103.09651,33.235776],[103.09656,33.235827],[103.09677,33.235863],[103.096823,33.235886],[103.097226,33.236057],[103.097256,33.236069],[103.097298,33.236126],[103.097415,33.236286],[103.097153,33.236633],[103.096642,33.23702],[103.09658,33.237067],[103.096548,33.237115],[103.096541,33.237126],[103.096373,33.237385],[103.09642,33.23759],[103.096439,33.237676],[103.096569,33.23777],[103.096656,33.23776],[103.096791,33.237769],[103.096885,33.237802],[103.096928,33.237856],[103.096977,33.237861],[103.097072,33.237869],[103.097192,33.237772],[103.09722,33.237749],[103.097479,33.237539],[103.09754,33.237492],[103.09764,33.237417],[103.098183,33.237006],[103.09831,33.23691],[103.098607,33.236733],[103.098702,33.236676],[103.09891,33.236552],[103.099157,33.236404],[103.099791,33.236551],[103.100005,33.236738],[103.100003,33.237054],[103.099892,33.237211],[103.099339,33.237771],[103.09873,33.238018],[103.098694,33.238166],[103.098626,33.238444],[103.098623,33.238457],[103.098599,33.238467],[103.098535,33.238496],[103.098348,33.238579],[103.098347,33.238579],[103.098255,33.23862],[103.098144,33.238772],[103.09788,33.239134],[103.097791,33.239548],[103.097771,33.239638],[103.097739,33.239789],[103.097794,33.240092],[103.097852,33.240417],[103.097885,33.240519],[103.097887,33.240527],[103.098125,33.241276],[103.097955,33.241564],[103.097685,33.241568],[103.097427,33.241571],[103.097363,33.241517],[103.097327,33.241487],[103.097325,33.241485],[103.097318,33.241479],[103.096892,33.24112],[103.096243,33.240104],[103.096112,33.239932],[103.096064,33.239941],[103.095986,33.239892],[103.095795,33.239738],[103.095763,33.239739],[103.095589,33.239747],[103.095525,33.239749],[103.095508,33.23975],[103.095431,33.239753],[103.094674,33.240119],[103.09465,33.240131],[103.094604,33.240153],[103.094458,33.240168],[103.093711,33.240246],[103.093265,33.240223],[103.093203,33.24022],[103.093182,33.240235],[103.093065,33.240286],[103.092893,33.240343],[103.092764,33.240367],[103.092608,33.240354],[103.092525,33.240332],[103.092486,33.240345],[103.092473,33.24035],[103.092267,33.240606],[103.092307,33.24074],[103.092327,33.240806],[103.092386,33.241005],[103.092683,33.241544],[103.093072,33.242039],[103.093301,33.242525],[103.093305,33.242533],[103.09342,33.242778],[103.093421,33.242783],[103.093453,33.242923],[103.093569,33.243437],[103.093523,33.24391],[103.093321,33.24409],[103.093037,33.244345],[103.092837,33.244526],[103.092437,33.244641],[103.092251,33.244694],[103.092233,33.2447],[103.091934,33.244669],[103.091544,33.244628],[103.090967,33.244466],[103.090912,33.244451],[103.0906,33.24443],[103.090583,33.244461],[103.090563,33.244491],[103.09053,33.244517],[103.090472,33.244538],[103.09038,33.244557],[103.090299,33.244561],[103.09025,33.244564],[103.090176,33.244558],[103.090102,33.244548],[103.090046,33.244537],[103.089991,33.244511],[103.089965,33.244502],[103.089934,33.244497],[103.089894,33.244499],[103.089852,33.2445],[103.089812,33.244501],[103.089776,33.244494],[103.089752,33.24448],[103.08974,33.244463],[103.08973,33.244436],[103.08942,33.244487],[103.089341,33.2445],[103.089328,33.244502],[103.08932,33.244508],[103.088878,33.244814],[103.088572,33.245025],[103.088561,33.245036],[103.088527,33.245073],[103.08848,33.245123],[103.088445,33.245086],[103.088406,33.245035],[103.088365,33.24502],[103.08834,33.245031],[103.088307,33.245079],[103.088296,33.24512],[103.088294,33.245131],[103.088296,33.245173],[103.088306,33.245224],[103.08834,33.245273],[103.08805,33.245582],[103.087851,33.245679],[103.087788,33.24571],[103.087607,33.245798],[103.087614,33.245824],[103.087593,33.24584],[103.087561,33.245853],[103.0875,33.245888],[103.087463,33.245911],[103.087416,33.245933],[103.087372,33.245959],[103.087356,33.245968],[103.087303,33.245946],[103.087076,33.246056],[103.087027,33.246056],[103.086943,33.246081],[103.086814,33.246122],[103.086683,33.246157],[103.086539,33.246182],[103.086428,33.246182],[103.0863,33.246182],[103.086194,33.24617],[103.086052,33.246147],[103.085975,33.246138],[103.085801,33.246174],[103.085379,33.246351],[103.084995,33.246483],[103.0845,33.246658],[103.084142,33.246792],[103.08395,33.246864],[103.083719,33.247186],[103.08376,33.247533],[103.083928,33.247652],[103.084217,33.247855],[103.084235,33.247868],[103.084261,33.247887],[103.085003,33.248306],[103.085645,33.248507],[103.085822,33.248563],[103.086052,33.248559],[103.086387,33.248554],[103.086477,33.248552],[103.086523,33.248548],[103.086823,33.24852],[103.087035,33.2485],[103.087184,33.248481],[103.087235,33.248413],[103.087267,33.248361],[103.087309,33.248372],[103.087344,33.248379],[103.087366,33.248406],[103.08738,33.248455],[103.087594,33.248427],[103.087619,33.248493],[103.087686,33.248673],[103.087685,33.248704],[103.087685,33.248725],[103.087673,33.249284],[103.087682,33.249314],[103.087619,33.249334],[103.087603,33.249357],[103.087608,33.24938],[103.087635,33.249395],[103.08767,33.249402],[103.087711,33.249408],[103.087783,33.249642],[103.087784,33.249646],[103.087786,33.249652],[103.088002,33.249757],[103.088269,33.249741],[103.088346,33.249678],[103.08859,33.249481],[103.088721,33.24935],[103.088728,33.249343],[103.088729,33.249343],[103.088816,33.249256],[103.088817,33.249256],[103.08883,33.249243],[103.089247,33.248829],[103.089358,33.248719],[103.089398,33.248706],[103.089704,33.248606],[103.089895,33.248544],[103.090329,33.248632],[103.090575,33.248813],[103.090608,33.248838],[103.090861,33.249024],[103.090882,33.24904],[103.090949,33.24909],[103.091106,33.249389],[103.091229,33.249624],[103.091336,33.25027],[103.091286,33.251084],[103.09112,33.251642],[103.091077,33.251787],[103.091058,33.252656],[103.091151,33.252795],[103.091204,33.252875],[103.091277,33.252985],[103.091881,33.253429],[103.092194,33.253895],[103.092359,33.254247],[103.092367,33.254264],[103.092421,33.254379],[103.092564,33.254652],[103.092666,33.254847],[103.092823,33.255148],[103.093182,33.255414],[103.093252,33.255466],[103.093575,33.255705],[103.093655,33.255764],[103.093717,33.255731],[103.093745,33.255719],[103.09378,33.255712],[103.093804,33.255707],[103.093842,33.255707],[103.093769,33.255827],[103.09397,33.255932],[103.094051,33.25584],[103.094098,33.255785],[103.094187,33.255693],[103.094362,33.255544],[103.09443,33.255476],[103.094524,33.255409],[103.0946,33.255361],[103.094616,33.255352],[103.09468,33.255315],[103.094766,33.255283],[103.094871,33.255247],[103.094972,33.255226],[103.095045,33.255226],[103.095123,33.255228],[103.095227,33.25524],[103.095352,33.255273],[103.095397,33.255293],[103.095583,33.255369],[103.095668,33.255422],[103.095859,33.255611],[103.095962,33.25579],[103.096067,33.256109],[103.096083,33.256266],[103.096084,33.256348],[103.096116,33.256321],[103.09613,33.256316],[103.09612,33.256447],[103.096106,33.256565],[103.096063,33.25668],[103.095973,33.25677],[103.095749,33.256918],[103.095601,33.257018],[103.095316,33.257127],[103.095308,33.257131],[103.095097,33.257227],[103.094745,33.25737],[103.094507,33.257493],[103.094269,33.257598],[103.093969,33.257731],[103.093603,33.257865],[103.093255,33.257948],[103.092908,33.258031],[103.092798,33.258069],[103.09266,33.258084],[103.092575,33.258079],[103.092446,33.258036],[103.092342,33.258003],[103.092166,33.257993],[103.092042,33.257998],[103.091923,33.258041],[103.091828,33.258122],[103.091771,33.258207],[103.091747,33.258283],[103.091747,33.258341],[103.091766,33.25845],[103.091818,33.25855],[103.091894,33.258645],[103.092037,33.258755],[103.092166,33.25884],[103.09242,33.258931],[103.092675,33.259021],[103.092922,33.259064],[103.09317,33.259107],[103.093376,33.259156],[103.093565,33.259202],[103.093674,33.25925],[103.093812,33.259383],[103.093826,33.259497],[103.093779,33.259654],[103.093712,33.259749],[103.093652,33.259806],[103.093617,33.25984],[103.09338,33.259992],[103.093143,33.260145],[103.092987,33.260256],[103.09273,33.260456],[103.092427,33.260606],[103.092123,33.260756],[103.091724,33.260863],[103.091395,33.260927],[103.091117,33.260963],[103.09071,33.260963],[103.090372,33.260906],[103.090034,33.260849],[103.089696,33.260792],[103.089368,33.260728],[103.089061,33.260728],[103.08879,33.260749],[103.088618,33.260813],[103.088404,33.260956],[103.088247,33.261134],[103.08814,33.261334],[103.088062,33.261513],[103.088056,33.261535],[103.087997,33.261763],[103.087933,33.261905],[103.087812,33.262034],[103.087633,33.26212],[103.087455,33.262198],[103.087284,33.262212],[103.087119,33.262184],[103.086955,33.262127],[103.086691,33.261948],[103.08657,33.261663],[103.086391,33.261256],[103.086353,33.261155],[103.086299,33.261013],[103.086227,33.26087],[103.08612,33.260713],[103.085992,33.260628],[103.085877,33.260628],[103.085706,33.260685],[103.085606,33.260792],[103.085492,33.26097],[103.085374,33.261234],[103.085256,33.261498],[103.085092,33.261841],[103.085006,33.262048],[103.084892,33.262277],[103.084749,33.262455],[103.084478,33.262683],[103.084307,33.262812],[103.084286,33.262825],[103.084086,33.262948],[103.083893,33.263147],[103.083857,33.263326],[103.0839,33.263483],[103.083979,33.263669],[103.084093,33.263861],[103.084378,33.264061],[103.084585,33.26414],[103.084807,33.264161],[103.084921,33.264154],[103.085006,33.264083],[103.085174,33.263865],[103.085342,33.263647],[103.085417,33.26354],[103.085485,33.263444],[103.085628,33.26324],[103.085742,33.263076],[103.08592,33.262876],[103.086199,33.262691],[103.086406,33.262612],[103.086527,33.262583],[103.08667,33.262576],[103.087019,33.262583],[103.087405,33.262683],[103.087562,33.262748],[103.087691,33.262833],[103.087862,33.263005],[103.087905,33.263083],[103.087927,33.263104],[103.088019,33.26319],[103.088147,33.263255],[103.088297,33.263276],[103.088454,33.263269],[103.088633,33.263219],[103.08879,33.263112],[103.088795,33.263107],[103.088897,33.263005],[103.088997,33.262762],[103.089061,33.262612],[103.089082,33.262491],[103.089111,33.262376],[103.089218,33.262277],[103.089397,33.262205],[103.089438,33.262195],[103.089539,33.262169],[103.089704,33.262169],[103.08982,33.262178],[103.090003,33.262191],[103.090253,33.262341],[103.090382,33.262519],[103.090467,33.262691],[103.090471,33.262696],[103.090537,33.262805],[103.090624,33.262948],[103.090717,33.263205],[103.090717,33.263387],[103.090717,33.263404],[103.090689,33.263547],[103.090574,33.263776],[103.090417,33.264054],[103.090324,33.264232],[103.09026,33.264354],[103.090068,33.264468],[103.089868,33.264568],[103.089642,33.264632],[103.089589,33.264646],[103.089254,33.264675],[103.088861,33.264704],[103.088497,33.264768],[103.088119,33.264961],[103.08793,33.2651],[103.08774,33.265239],[103.087405,33.265482],[103.087069,33.265724],[103.086827,33.265917],[103.086684,33.26611],[103.08667,33.266267],[103.086677,33.266374],[103.086741,33.266502],[103.086884,33.266688],[103.087066,33.266984],[103.087248,33.267281],[103.087298,33.267566],[103.087434,33.267894],[103.087619,33.268173],[103.087876,33.268423],[103.088112,33.268608],[103.088362,33.26874],[103.088611,33.268872],[103.088875,33.268922],[103.089268,33.268894],[103.089561,33.268822],[103.089961,33.268808],[103.090332,33.268808],[103.090374,33.26881],[103.090564,33.268819],[103.090796,33.26883],[103.091106,33.26888],[103.091417,33.26893],[103.091595,33.268979],[103.091874,33.269101],[103.091945,33.269186],[103.091995,33.269308],[103.091999,33.269389],[103.092002,33.269458],[103.091959,33.269743],[103.091902,33.270022],[103.091816,33.270222],[103.091652,33.270414],[103.091445,33.270564],[103.091231,33.2707],[103.090931,33.270857],[103.09066,33.270971],[103.090389,33.271085],[103.090091,33.271221],[103.089794,33.271357],[103.089497,33.271492],[103.089254,33.271671],[103.08904,33.271871],[103.089025,33.271999],[103.089054,33.272149],[103.089161,33.272299],[103.089361,33.272434],[103.089618,33.27257],[103.089946,33.272646],[103.090275,33.272722],[103.090603,33.272799],[103.090913,33.272913],[103.091224,33.273027],[103.091253,33.273038],[103.091502,33.273134],[103.091709,33.273355],[103.091781,33.273519],[103.091838,33.273698],[103.091824,33.273862],[103.091774,33.273983],[103.091717,33.274041],[103.09151,33.274126],[103.091388,33.274169],[103.09106,33.274226],[103.090817,33.274226],[103.09046,33.274191],[103.090075,33.274133],[103.089778,33.274108],[103.089482,33.274083],[103.089132,33.274033],[103.088783,33.273983],[103.088404,33.273983],[103.088382,33.273984],[103.088133,33.273991],[103.087898,33.274041],[103.087698,33.274141],[103.087491,33.274326],[103.087391,33.274483],[103.087312,33.274626],[103.087298,33.274797],[103.087298,33.274997],[103.087326,33.275176],[103.08744,33.275524],[103.087604,33.275835],[103.087631,33.276088],[103.087561,33.276411],[103.087496,33.276564],[103.08737,33.276716],[103.0873,33.276784],[103.087238,33.276844],[103.087197,33.276884],[103.087024,33.277052],[103.086852,33.27722],[103.086824,33.277248],[103.086679,33.277388],[103.086603,33.277462],[103.086506,33.277557],[103.086333,33.277725],[103.08616,33.277893],[103.085987,33.278061],[103.085842,33.278234],[103.085831,33.278248],[103.085674,33.278436],[103.085518,33.278623],[103.085455,33.278697],[103.085403,33.27876],[103.085361,33.27881],[103.085205,33.278997],[103.085048,33.279184],[103.084892,33.279371],[103.084736,33.279559],[103.084579,33.279746],[103.084423,33.279933],[103.084266,33.28012],[103.08411,33.280307],[103.083934,33.280496],[103.083759,33.280685],[103.083583,33.280874],[103.083408,33.281064],[103.083233,33.281253],[103.083057,33.281442],[103.082882,33.281631],[103.082706,33.28182],[103.082505,33.281957],[103.082304,33.282094],[103.081905,33.282241],[103.081492,33.282312],[103.081079,33.282383],[103.080833,33.282412],[103.080587,33.282441],[103.080341,33.282471],[103.080095,33.2825],[103.079849,33.282529],[103.079603,33.282558],[103.079357,33.282587],[103.079112,33.282616],[103.078859,33.282666],[103.078607,33.282715],[103.078354,33.282765],[103.078102,33.282814],[103.07785,33.282863],[103.077597,33.282913],[103.077345,33.282962],[103.077093,33.283011],[103.07684,33.283061],[103.076588,33.28311],[103.076336,33.28316],[103.076083,33.283209],[103.075847,33.28326],[103.075611,33.283311],[103.075375,33.283362],[103.075139,33.283413],[103.074902,33.283464],[103.074666,33.283516],[103.07443,33.283567],[103.074194,33.283618],[103.073958,33.283669],[103.073722,33.28372],[103.073486,33.283771],[103.07325,33.283822],[103.073013,33.283873],[103.072777,33.283924],[103.072616,33.283965],[103.07244,33.284009],[103.072103,33.284093],[103.071886,33.284268],[103.071822,33.28442],[103.07182,33.284427],[103.07181,33.284481],[103.071753,33.284778],[103.071647,33.284981],[103.071541,33.285184],[103.071435,33.285386],[103.071328,33.285589],[103.071222,33.285792],[103.071116,33.285994],[103.070927,33.286299],[103.070738,33.286603],[103.070458,33.286871],[103.070178,33.287139],[103.069898,33.287408],[103.069744,33.287614],[103.06959,33.287821],[103.069436,33.288028],[103.069282,33.288234],[103.069173,33.28838],[103.069128,33.288441],[103.06906,33.288531],[103.069056,33.288537],[103.068973,33.288648],[103.068819,33.288854],[103.068665,33.289061],[103.068521,33.289269],[103.068376,33.289476],[103.068231,33.289683],[103.068087,33.289891],[103.067942,33.290098],[103.067797,33.290306],[103.067653,33.290513],[103.067564,33.29064],[103.067508,33.290721],[103.067364,33.290928],[103.067275,33.291055],[103.06725,33.29109],[103.067219,33.291136],[103.066996,33.291463],[103.066986,33.291478],[103.066773,33.29179],[103.066644,33.29198],[103.066515,33.29217],[103.066386,33.29236],[103.066256,33.29255],[103.066127,33.29274],[103.065998,33.29293],[103.065868,33.29312],[103.065739,33.29331],[103.06559,33.29353],[103.065441,33.29375],[103.065292,33.293969],[103.065143,33.294189],[103.065045,33.294334],[103.064994,33.294408],[103.064977,33.294434],[103.064845,33.294628],[103.064696,33.294848],[103.064547,33.295067],[103.064398,33.295287],[103.064249,33.295507],[103.06411,33.295704],[103.064078,33.29575],[103.063971,33.295901],[103.063832,33.296099],[103.063731,33.296241],[103.063693,33.296296],[103.063539,33.296514],[103.063385,33.296732],[103.063231,33.296951],[103.063077,33.297169],[103.062923,33.297387],[103.062769,33.297606],[103.062568,33.297781],[103.062366,33.297956],[103.061968,33.298079],[103.061539,33.298166],[103.06111,33.298252],[103.060682,33.298339],[103.060652,33.298344],[103.060246,33.298416],[103.05981,33.298492],[103.059374,33.298568],[103.058938,33.298644],[103.058693,33.298705],[103.058448,33.298765],[103.058203,33.298825],[103.057958,33.298885],[103.057799,33.29892],[103.057717,33.298938],[103.057476,33.29899],[103.057236,33.299042],[103.056995,33.299094],[103.056754,33.299146],[103.056513,33.299198],[103.056273,33.299251],[103.056266,33.299252],[103.056032,33.299303],[103.055791,33.299355],[103.05555,33.299407],[103.05531,33.299459],[103.055069,33.299511],[103.054811,33.299579],[103.054554,33.299646],[103.054296,33.299714],[103.054039,33.299782],[103.053781,33.299849],[103.053524,33.299917],[103.053266,33.299984],[103.053009,33.300052],[103.052751,33.300119],[103.052494,33.300187],[103.052251,33.300221],[103.052007,33.300256],[103.051764,33.30029],[103.051521,33.300325],[103.051277,33.300359],[103.051034,33.300394],[103.050791,33.300428],[103.050547,33.300462],[103.050304,33.300497],[103.050061,33.300531],[103.049817,33.300566],[103.049574,33.3006],[103.049331,33.300635],[103.049088,33.300669],[103.048844,33.300704],[103.048601,33.300738],[103.048344,33.30076],[103.04833,33.300761],[103.04828,33.300765],[103.048087,33.300781],[103.04783,33.300803],[103.047573,33.300824],[103.047316,33.300846],[103.047059,33.300867],[103.046802,33.300889],[103.046545,33.30091],[103.046458,33.300918],[103.046404,33.300922],[103.046288,33.300932],[103.046031,33.300953],[103.045774,33.300975],[103.045517,33.300997],[103.045283,33.301014],[103.045049,33.301031],[103.044815,33.301049],[103.044581,33.301066],[103.044347,33.301084],[103.044113,33.301101],[103.043894,33.301141],[103.043874,33.301144],[103.043634,33.301188],[103.043395,33.301231],[103.043155,33.301274],[103.042944,33.301312],[103.042916,33.301317],[103.042676,33.30136],[103.042257,33.301385],[103.041837,33.301411],[103.041417,33.301436],[103.040997,33.301461],[103.040733,33.301457],[103.040469,33.301453],[103.040205,33.301449],[103.039941,33.301444],[103.039677,33.30144],[103.039413,33.301436],[103.039151,33.301435],[103.038889,33.301433],[103.038627,33.301432],[103.038365,33.30143],[103.038103,33.301429],[103.037841,33.301427],[103.037579,33.301426],[103.037317,33.301424],[103.037055,33.301423],[103.036793,33.301421],[103.036474,33.301409],[103.036388,33.301406],[103.035982,33.301391],[103.035576,33.301376],[103.035171,33.301338],[103.035149,33.301336],[103.034722,33.301296],[103.034295,33.301256],[103.033868,33.301216],[103.033442,33.301157],[103.033015,33.301097],[103.032588,33.301037],[103.032162,33.300977],[103.0318,33.300879],[103.031439,33.30078],[103.031213,33.300741],[103.030987,33.300702],[103.030733,33.300689],[103.030376,33.300683],[103.030366,33.300682],[103.03008,33.300661],[103.029818,33.300639],[103.029524,33.300599],[103.029209,33.300541],[103.028894,33.300483],[103.028662,33.300431],[103.028586,33.300413],[103.028483,33.30039],[103.028431,33.300378],[103.028166,33.300343],[103.0279,33.300307],[103.027635,33.300272],[103.02737,33.300237],[103.027097,33.300195],[103.026824,33.300154],[103.026793,33.300149],[103.026552,33.300112],[103.026279,33.30007],[103.026047,33.300053],[103.025816,33.300036],[103.025489,33.300031],[103.025162,33.300026],[103.024935,33.300036],[103.024708,33.300045],[103.02439,33.30008],[103.024073,33.300115],[103.02384,33.300154],[103.023607,33.300193],[103.023374,33.300232],[103.023142,33.300271],[103.022909,33.30031],[103.022676,33.300349],[103.02228,33.300404],[103.021884,33.300459],[103.021586,33.300521],[103.021289,33.300584],[103.020896,33.300692],[103.020751,33.300754],[103.02068,33.300785],[103.020463,33.300877],[103.020314,33.300963],[103.020121,33.301132],[103.019928,33.301302],[103.019731,33.301564],[103.019653,33.301757],[103.019567,33.302039],[103.019482,33.302321],[103.01938,33.302603],[103.01925,33.302761],[103.019154,33.302864],[103.019045,33.30296],[103.01895,33.303003],[103.018811,33.30308],[103.018673,33.303131],[103.018365,33.303188],[103.018111,33.3032],[103.017858,33.303211],[103.017605,33.303223],[103.017352,33.303234],[103.016904,33.303223],[103.016457,33.303213],[103.016009,33.303202],[103.015567,33.303144],[103.015124,33.303086],[103.014682,33.303029],[103.014239,33.302971],[103.013977,33.302925],[103.013715,33.302878],[103.013454,33.302831],[103.013192,33.302785],[103.01293,33.302738],[103.012668,33.302692],[103.012484,33.302659],[103.012406,33.302645],[103.012144,33.302599],[103.011882,33.302552],[103.011621,33.302506],[103.011359,33.302459],[103.011097,33.302413],[103.010835,33.302366],[103.010573,33.30232],[103.010311,33.302273],[103.010049,33.302227],[103.009787,33.30218],[103.009526,33.302134],[103.009264,33.302087],[103.009024,33.302044],[103.009002,33.302041],[103.0088,33.302005],[103.00874,33.301994],[103.008478,33.301948],[103.008216,33.301901],[103.007954,33.301854],[103.007693,33.301808],[103.007431,33.301761],[103.007169,33.301715],[103.006907,33.301668],[103.006653,33.301629],[103.006398,33.30159],[103.006144,33.301551],[103.005889,33.301511],[103.005635,33.301472],[103.005381,33.301433],[103.005126,33.301394],[103.004872,33.301355],[103.004618,33.301315],[103.004363,33.301276],[103.004109,33.301237],[103.003855,33.301198],[103.0036,33.301158],[103.003346,33.301119],[103.003076,33.301076],[103.002807,33.301032],[103.002538,33.300988],[103.002269,33.300945],[103.001999,33.300901],[103.00173,33.300857],[103.001461,33.300814],[103.001191,33.30077],[103.000961,33.300733],[103.000731,33.300696],[103.000501,33.300658],[103.000271,33.300621],[103.000029,33.300608],[102.999786,33.300594],[102.999544,33.300581],[102.999301,33.300567],[102.999059,33.300554],[102.998816,33.30054],[102.998574,33.300527],[102.998332,33.300513],[102.998089,33.3005],[102.997847,33.300486],[102.997604,33.300472],[102.997362,33.300459],[102.997124,33.300415],[102.996887,33.300372],[102.99665,33.300328],[102.996412,33.300285],[102.996406,33.300283],[102.996184,33.300243],[102.996175,33.300241],[102.995938,33.300198],[102.995815,33.300175],[102.995733,33.30016],[102.995701,33.300154],[102.995463,33.30011],[102.995226,33.300067],[102.994989,33.300023],[102.994751,33.29998],[102.994514,33.299936],[102.994277,33.299893],[102.994039,33.299849],[102.993613,33.299825],[102.99342,33.299822],[102.993205,33.29989],[102.99287,33.300178],[102.992535,33.300466],[102.992201,33.300754],[102.99194,33.300937],[102.99168,33.301121],[102.991431,33.301243],[102.991181,33.301364],[102.990771,33.301528],[102.990361,33.301692],[102.990352,33.301696],[102.990108,33.301776],[102.989855,33.301859],[102.989601,33.301942],[102.989348,33.302025],[102.989095,33.302108],[102.988841,33.302191],[102.988461,33.302281],[102.988081,33.30237],[102.987701,33.302459],[102.987455,33.302482],[102.987209,33.302505],[102.986824,33.302499],[102.986439,33.302494],[102.98611,33.302398],[102.985781,33.302302],[102.98558,33.302198],[102.985379,33.302094],[102.985178,33.30199],[102.984977,33.301886],[102.984776,33.301782],[102.984575,33.301677],[102.984374,33.301573],[102.984174,33.301469],[102.983947,33.301322],[102.983721,33.301175],[102.983494,33.301028],[102.983268,33.30088],[102.983041,33.300733],[102.982815,33.300586],[102.982588,33.300439],[102.982362,33.300292],[102.981996,33.300082],[102.98163,33.299873],[102.981264,33.299664],[102.98091,33.29952],[102.980556,33.299376],[102.980168,33.29919],[102.97978,33.299004],[102.979392,33.298818],[102.979095,33.298697],[102.978799,33.298576],[102.978671,33.298558],[102.978372,33.298515],[102.978138,33.298476],[102.977903,33.298436],[102.977669,33.298396],[102.977441,33.298357],[102.977435,33.298356],[102.977201,33.298317],[102.976967,33.298277],[102.976714,33.298264],[102.976461,33.298251],[102.976209,33.298238],[102.975956,33.298225],[102.975703,33.298212],[102.97545,33.298199],[102.975197,33.298185],[102.974944,33.298172],[102.974692,33.298159],[102.974439,33.298146],[102.974186,33.298133],[102.973933,33.29812],[102.973665,33.298117],[102.973396,33.298114],[102.973127,33.298111],[102.972859,33.298108],[102.97259,33.298105],[102.972321,33.298102],[102.972053,33.298098],[102.971784,33.298095],[102.971515,33.298092],[102.971247,33.298089],[102.970978,33.298086],[102.970709,33.298083],[102.970441,33.29808],[102.970172,33.298077],[102.969907,33.298083],[102.969642,33.29809],[102.969377,33.298097],[102.969113,33.298104],[102.968848,33.298111],[102.968583,33.298117],[102.968318,33.298124],[102.968053,33.298131],[102.967661,33.298149],[102.967268,33.298167],[102.966876,33.298184],[102.966515,33.298168],[102.966484,33.298166],[102.966093,33.298148],[102.965701,33.29813],[102.965472,33.298112],[102.965242,33.298095],[102.965013,33.298078],[102.964784,33.29806],[102.964554,33.298043],[102.964325,33.298026],[102.964096,33.298009],[102.963867,33.297991],[102.963609,33.29799],[102.963351,33.297988],[102.963093,33.297987],[102.962836,33.297985],[102.962578,33.297984],[102.96232,33.297982],[102.962062,33.29798],[102.961805,33.297979],[102.961547,33.297977],[102.961289,33.297976],[102.961031,33.297974],[102.960774,33.297973],[102.960516,33.297971],[102.960258,33.297969],[102.960001,33.297968],[102.959743,33.297966],[102.959485,33.297965],[102.959227,33.297963],[102.95897,33.297962],[102.958712,33.29796],[102.958453,33.297957],[102.958195,33.297954],[102.957936,33.297951],[102.957678,33.297949],[102.957419,33.297946],[102.957161,33.297943],[102.956902,33.29794],[102.956643,33.297937],[102.956385,33.297934],[102.956126,33.297931],[102.955868,33.297928],[102.955609,33.297925],[102.955351,33.297923],[102.955092,33.29792],[102.954834,33.297917],[102.954575,33.297914],[102.954317,33.297911],[102.954058,33.297908],[102.953799,33.297905],[102.953541,33.297902],[102.953282,33.2979],[102.953024,33.297897],[102.952765,33.297894],[102.952507,33.297891],[102.952248,33.297888],[102.95199,33.297885],[102.951731,33.297882],[102.951473,33.297879],[102.951214,33.297864],[102.950955,33.297848],[102.950697,33.297832],[102.950438,33.297816],[102.950179,33.2978],[102.94992,33.297784],[102.949662,33.297768],[102.94946,33.297756],[102.949403,33.297753],[102.949322,33.297748],[102.949144,33.297737],[102.948886,33.297721],[102.948627,33.297705],[102.948368,33.297689],[102.94811,33.297673],[102.947851,33.297657],[102.947598,33.297657],[102.947345,33.297656],[102.947092,33.297655],[102.946839,33.297654],[102.946586,33.297654],[102.946333,33.297653],[102.94608,33.297652],[102.945968,33.297652],[102.945827,33.297651],[102.945573,33.29765],[102.94532,33.29765],[102.944872,33.297678],[102.944636,33.297728],[102.944336,33.297759],[102.94393,33.297752],[102.943502,33.297741],[102.943075,33.297729],[102.942647,33.297718],[102.942564,33.297716],[102.942219,33.297707],[102.941985,33.2977],[102.941979,33.2977],[102.941739,33.297694],[102.941498,33.297688],[102.941258,33.297681],[102.941018,33.297675],[102.940778,33.297669],[102.940537,33.297662],[102.940297,33.297656],[102.940083,33.297653],[102.939977,33.297615],[102.939871,33.297505],[102.939834,33.297307],[102.939865,33.296913],[102.939876,33.296465],[102.939837,33.296349],[102.939815,33.296284],[102.93967,33.29612],[102.939544,33.296029],[102.939352,33.296007],[102.939158,33.296004],[102.938966,33.296055],[102.93879,33.296213],[102.93869,33.296416],[102.938538,33.296724],[102.938387,33.297032],[102.938358,33.29711],[102.938341,33.297157],[102.938296,33.297211],[102.938257,33.297253],[102.938231,33.297281],[102.938122,33.297316],[102.937972,33.29733],[102.937674,33.297289],[102.937399,33.29716],[102.937273,33.297062],[102.937232,33.29703],[102.937125,33.297011],[102.936976,33.29701],[102.936903,33.297018],[102.936718,33.29704],[102.936483,33.297054],[102.936248,33.297037],[102.936162,33.297031],[102.93602,33.297012],[102.936014,33.297011],[102.935908,33.296937],[102.935869,33.296793],[102.935853,33.296541],[102.935927,33.296112],[102.935934,33.296077],[102.935977,33.295827],[102.936002,33.295683],[102.935985,33.295521],[102.935945,33.295359],[102.935929,33.295336],[102.935884,33.295268],[102.935849,33.295257],[102.935649,33.295193],[102.935308,33.295169],[102.934988,33.29524],[102.934977,33.295243],[102.93491,33.295258],[102.934513,33.295346],[102.934115,33.295434],[102.933834,33.295483],[102.933428,33.295513],[102.933065,33.295506],[102.932787,33.295511],[102.932509,33.295515],[102.932245,33.295531],[102.93198,33.295548],[102.931716,33.295565],[102.931452,33.295581],[102.931188,33.295598],[102.930924,33.295614],[102.930658,33.29562],[102.930392,33.295626],[102.930126,33.295632],[102.92986,33.295637],[102.929595,33.295643],[102.929329,33.295649],[102.929063,33.295655],[102.928797,33.295661],[102.928531,33.295666],[102.928265,33.295672],[102.927999,33.295678],[102.927733,33.295684],[102.927467,33.295689],[102.927202,33.295695],[102.926962,33.295714],[102.926723,33.295733],[102.926483,33.295752],[102.926244,33.295771],[102.926004,33.29579],[102.925765,33.295809],[102.925526,33.295828],[102.925286,33.295847],[102.925047,33.295866],[102.924807,33.295885],[102.924572,33.295906],[102.924336,33.295928],[102.9241,33.295949],[102.923865,33.29597],[102.923629,33.295991],[102.923393,33.296013],[102.923158,33.296034],[102.922922,33.296055],[102.922686,33.296076],[102.922451,33.296097],[102.922066,33.29609],[102.921766,33.296122],[102.921535,33.296118],[102.921303,33.296114],[102.921071,33.29611],[102.921019,33.296109],[102.920946,33.295986],[102.92071,33.295589],[102.920666,33.295516],[102.92063,33.295457],[102.92057,33.295515],[102.920493,33.295573],[102.920416,33.29558],[102.920307,33.295606],[102.92021,33.295614],[102.920094,33.295609],[102.920055,33.295598],[102.920026,33.295557],[102.920021,33.295494],[102.920028,33.295426],[102.920066,33.295363],[102.9201,33.295312],[102.920147,33.295233],[102.920174,33.295158],[102.920226,33.295043],[102.920329,33.294973],[102.92035,33.294943],[102.92039,33.294918],[102.920443,33.294912],[102.920476,33.294921],[102.920524,33.294925],[102.920547,33.294919],[102.920584,33.294903],[102.920621,33.294895],[102.920652,33.294904],[102.920664,33.294929],[102.920685,33.294959],[102.920713,33.294983],[102.920757,33.295015],[102.920799,33.295032],[102.920874,33.295036],[102.920962,33.29493],[102.92125,33.294756],[102.921339,33.294614],[102.921283,33.294565],[102.921041,33.294573],[102.920786,33.294569],[102.920603,33.294483],[102.920567,33.294497],[102.920537,33.294543],[102.920524,33.294569],[102.920504,33.294597],[102.92046,33.294618],[102.920409,33.294639],[102.920341,33.29463],[102.920188,33.294747],[102.920008,33.294696],[102.919901,33.294644],[102.919821,33.294617],[102.919662,33.294607],[102.919532,33.29459],[102.919364,33.29455],[102.91929,33.294488],[102.919245,33.294396],[102.91927,33.294281],[102.919316,33.294215],[102.919384,33.294087],[102.919388,33.29395],[102.919345,33.29385],[102.91929,33.293746],[102.919194,33.293638],[102.919071,33.293562],[102.918996,33.293508],[102.918977,33.293403],[102.918998,33.293294],[102.919032,33.293128],[102.919007,33.292947],[102.918917,33.292834],[102.918913,33.292696],[102.918741,33.29242],[102.897857,33.258822],[102.896783,33.257095],[102.896639,33.256863],[102.896195,33.256149],[102.895862,33.255613],[102.895851,33.255654],[102.895852,33.25568],[102.895853,33.255707],[102.895862,33.25574],[102.895877,33.255776],[102.895879,33.255821],[102.895875,33.255844],[102.895863,33.255849],[102.895843,33.255845],[102.89583,33.255811],[102.895805,33.255748],[102.895788,33.25571],[102.895782,33.255703],[102.895771,33.255693],[102.895762,33.255691],[102.89575,33.255705],[102.895744,33.255718],[102.895726,33.255718],[102.895713,33.2557],[102.895714,33.25568],[102.895716,33.25565],[102.895732,33.255602],[102.895741,33.255564],[102.895741,33.255526],[102.895739,33.255484],[102.895736,33.255445],[102.895721,33.255386],[102.894255,33.253026],[102.894194,33.252928],[102.894085,33.252752],[102.894068,33.252726],[102.894157,33.252639],[102.894164,33.252633],[102.8946,33.252208],[102.895065,33.251667],[102.895108,33.251635],[102.895215,33.251553],[102.895229,33.251543],[102.895287,33.251499],[102.895287,33.251103],[102.895342,33.250815],[102.895498,33.250669],[102.895741,33.250662],[102.895913,33.250906],[102.895998,33.251345],[102.896089,33.25161],[102.896213,33.25182],[102.89637,33.251827],[102.896494,33.251712],[102.896725,33.251494],[102.897016,33.251388],[102.897627,33.251277],[102.898378,33.251233],[102.899016,33.251156],[102.899726,33.251142],[102.899824,33.251013],[102.899654,33.250625],[102.899372,33.250204],[102.898974,33.249935],[102.898817,33.249805],[102.898936,33.249619],[102.899288,33.249309],[102.899403,33.2491],[102.899431,33.248606],[102.899398,33.248322],[102.899276,33.248081],[102.899047,33.247929],[102.898386,33.247744],[102.89805,33.247686],[102.897828,33.247606],[102.89772,33.247506],[102.897746,33.24737],[102.897862,33.247193],[102.898144,33.24697],[102.898129,33.246865],[102.897822,33.246552],[102.897529,33.24623],[102.897341,33.246041],[102.897115,33.245915],[102.896799,33.245863],[102.896189,33.245865],[102.895906,33.245939],[102.895818,33.246078],[102.895895,33.246229],[102.896273,33.246549],[102.896449,33.246828],[102.896394,33.246997],[102.896192,33.247056],[102.89582,33.246931],[102.895398,33.24658],[102.895153,33.246499],[102.894883,33.246468],[102.893818,33.246548],[102.893311,33.246555],[102.892784,33.24648],[102.892439,33.24628],[102.892141,33.245979],[102.892149,33.245779],[102.892226,33.245703],[102.89241,33.245672],[102.893459,33.245776],[102.894022,33.245742],[102.894264,33.245594],[102.89429,33.245438],[102.893923,33.244959],[102.893426,33.244428],[102.893113,33.244172],[102.892716,33.243995],[102.892504,33.243968],[102.892258,33.244044],[102.891645,33.244558],[102.891293,33.244869],[102.890887,33.245127],[102.890317,33.2452],[102.889802,33.245114],[102.889557,33.244944],[102.889654,33.244733],[102.889853,33.244604],[102.890562,33.244241],[102.891163,33.24389],[102.891935,33.243422],[102.892283,33.243067],[102.892435,33.242723],[102.892356,33.242473],[102.892056,33.242296],[102.891472,33.242111],[102.891057,33.242077],[102.890848,33.242154],[102.890742,33.242299],[102.890757,33.242475],[102.89107,33.242802],[102.891251,33.243046],[102.891266,33.243225],[102.891113,33.243297],[102.890846,33.243211],[102.890503,33.243012],[102.890284,33.242971],[102.889892,33.24299],[102.889383,33.243044],[102.889181,33.243007],[102.889042,33.242905],[102.889041,33.242784],[102.88931,33.242391],[102.889561,33.242176],[102.889737,33.241851],[102.889703,33.241628],[102.889574,33.241516],[102.889379,33.241501],[102.888687,33.241701],[102.887805,33.24201],[102.88727,33.242238],[102.887023,33.242332],[102.886869,33.242297],[102.886872,33.242161],[102.886906,33.241905],[102.886971,33.241722],[102.887066,33.241559],[102.887068,33.241412],[102.886962,33.241286],[102.886625,33.241094],[102.885931,33.240851],[102.884848,33.240541],[102.884194,33.240336],[102.883846,33.240162],[102.883863,33.239882],[102.884024,33.239736],[102.884398,33.239742],[102.88507,33.239879],[102.88529,33.239803],[102.885351,33.239348],[102.885333,33.238752],[102.885324,33.238343],[102.88524,33.23813],[102.885012,33.238159],[102.884742,33.23831],[102.884537,33.238525],[102.884197,33.238521],[102.883384,33.238282],[102.88296,33.238079],[102.882744,33.237793],[102.882795,33.237591],[102.883055,33.237506],[102.883727,33.237662],[102.884345,33.23784],[102.884622,33.237852],[102.885069,33.23768],[102.885254,33.237528],[102.885354,33.237343],[102.885294,33.237065],[102.885068,33.236788],[102.884594,33.236461],[102.884376,33.236331],[102.884382,33.236088],[102.884464,33.235773],[102.884645,33.235591],[102.884805,33.235541],[102.885037,33.235579],[102.885224,33.235722],[102.885424,33.235934],[102.885538,33.236025],[102.885654,33.235997],[102.88575,33.235887],[102.885894,33.235239],[102.886005,33.234933],[102.886336,33.234504],[102.886645,33.234228],[102.886818,33.234178],[102.886993,33.234245],[102.886945,33.234411],[102.886779,33.234708],[102.886697,33.234862],[102.886755,33.234968],[102.887152,33.235156],[102.887839,33.235474],[102.888223,33.235521],[102.888621,33.235487],[102.888952,33.235426],[102.889301,33.235258],[102.889469,33.235083],[102.889447,33.234878],[102.889308,33.23478],[102.888722,33.234691],[102.888403,33.234632],[102.888307,33.234524],[102.888388,33.234381],[102.888742,33.234203],[102.889417,33.233794],[102.889766,33.233494],[102.89004,33.233276],[102.890233,33.233132],[102.890171,33.232977],[102.889832,33.232529],[102.889523,33.232236],[102.889355,33.232205],[102.889187,33.232291],[102.889106,33.232582],[102.889023,33.232847],[102.888415,33.233116],[102.887654,33.233339],[102.887288,33.233387],[102.88697,33.23345],[102.886677,33.233472],[102.886338,33.233358],[102.886143,33.233207],[102.886112,33.233058],[102.886205,33.232957],[102.886515,33.232891],[102.88683,33.232844],[102.887074,33.232833],[102.887254,33.232817],[102.887353,33.232666],[102.887334,33.232467],[102.887173,33.231934],[102.887065,33.231665],[102.88693,33.231496],[102.886753,33.231426],[102.886469,33.231435],[102.885966,33.23162],[102.885497,33.231744],[102.885261,33.231703],[102.88518,33.231593],[102.885255,33.231377],[102.885533,33.230879],[102.886141,33.230177],[102.886318,33.23],[102.886355,33.22985],[102.886169,33.229821],[102.885683,33.229834],[102.885304,33.229768],[102.884872,33.22964],[102.884605,33.229554],[102.884403,33.229662],[102.88417,33.230331],[102.8839,33.230826],[102.883645,33.230958],[102.883432,33.230886],[102.883041,33.230494],[102.882805,33.229593],[102.88273,33.229128],[102.882816,33.228726],[102.882999,33.228686],[102.883219,33.22881],[102.883596,33.229144],[102.884144,33.229267],[102.884948,33.229353],[102.885909,33.229402],[102.886361,33.229416],[102.88671,33.229269],[102.88681,33.229111],[102.886771,33.228909],[102.886503,33.228746],[102.886237,33.228639],[102.886162,33.227884],[102.886061,33.226983],[102.885872,33.226623],[102.885606,33.226216],[102.885578,33.225929],[102.885743,33.225722],[102.886035,33.225567],[102.88636,33.225543],[102.886656,33.225617],[102.886748,33.225892],[102.886835,33.226434],[102.886993,33.22674],[102.887502,33.227143],[102.887689,33.227256],[102.887977,33.227336],[102.888141,33.227232],[102.888423,33.226394],[102.88868,33.225783],[102.888766,33.225625],[102.888722,33.225427],[102.888442,33.225208],[102.88793,33.224916],[102.887719,33.22489],[102.887335,33.224988],[102.886773,33.225222],[102.886652,33.225178],[102.886656,33.224978],[102.886881,33.224173],[102.887083,33.223284],[102.887351,33.222323],[102.88735,33.222165],[102.887182,33.222059],[102.886929,33.222156],[102.886486,33.222829],[102.886025,33.223404],[102.885738,33.223582],[102.885456,33.223606],[102.885301,33.223496],[102.885317,33.223368],[102.88569,33.223094],[102.88598,33.222849],[102.885982,33.22267],[102.885777,33.222554],[102.885279,33.222559],[102.884879,33.222571],[102.88469,33.222463],[102.884594,33.222066],[102.884611,33.221624],[102.884615,33.221397],[102.884587,33.221201],[102.884507,33.220964],[102.884458,33.220786],[102.884372,33.220649],[102.884236,33.22061],[102.884003,33.220622],[102.883763,33.220655],[102.883571,33.220592],[102.883136,33.220489],[102.882813,33.22048],[102.882516,33.220616],[102.882309,33.220678],[102.881724,33.220602],[102.881418,33.220599],[102.881144,33.220709],[102.880946,33.220894],[102.880773,33.221087],[102.88056,33.221167],[102.880412,33.221079],[102.880425,33.22094],[102.880496,33.220597],[102.880538,33.220309],[102.880419,33.219811],[102.880335,33.219572],[102.880109,33.219437],[102.879722,33.219436],[102.879485,33.219508],[102.879404,33.219671],[102.879434,33.220021],[102.87951,33.220405],[102.879482,33.220651],[102.879335,33.220916],[102.879037,33.221043],[102.878608,33.220927],[102.878093,33.220621],[102.877952,33.220433],[102.878032,33.220276],[102.878397,33.220148],[102.878605,33.220041],[102.878635,33.219896],[102.878208,33.219444],[102.87769,33.218967],[102.877591,33.218741],[102.877646,33.218529],[102.877835,33.218388],[102.878276,33.218302],[102.878636,33.218257],[102.878788,33.218144],[102.878813,33.21783],[102.878655,33.217627],[102.878452,33.217475],[102.878134,33.217403],[102.877422,33.217525],[102.876919,33.217639],[102.876517,33.21763],[102.876438,33.217628],[102.875901,33.217478],[102.875468,33.217255],[102.87526,33.217109],[102.87527,33.216943],[102.875401,33.216764],[102.876018,33.216626],[102.876501,33.216491],[102.876742,33.21636],[102.876791,33.216186],[102.876764,33.21598],[102.876598,33.215851],[102.875718,33.215945],[102.875222,33.215942],[102.87456,33.215623],[102.874043,33.215262],[102.873798,33.214896],[102.873742,33.214479],[102.873825,33.214297],[102.874007,33.214233],[102.874311,33.214335],[102.874663,33.214707],[102.875188,33.215411],[102.87548,33.215566],[102.87584,33.215588],[102.876453,33.215431],[102.876838,33.215236],[102.877047,33.214934],[102.876906,33.21466],[102.876602,33.214694],[102.876039,33.214946],[102.875677,33.214959],[102.875557,33.214765],[102.875865,33.214363],[102.876054,33.214189],[102.876171,33.213722],[102.876195,33.213451],[102.876081,33.213211],[102.876145,33.213003],[102.876289,33.212859],[102.876722,33.212873],[102.876725,33.213034],[102.876565,33.213449],[102.876528,33.213858],[102.876716,33.214141],[102.877072,33.214298],[102.877576,33.214323],[102.877638,33.214136],[102.877595,33.213788],[102.87748,33.213354],[102.877485,33.213115],[102.87759,33.212991],[102.87789,33.21295],[102.878588,33.213428],[102.878894,33.213612],[102.879436,33.213658],[102.879743,33.213542],[102.879914,33.213325],[102.879963,33.213079],[102.879793,33.212787],[102.879453,33.212491],[102.878935,33.212246],[102.878578,33.212178],[102.878098,33.212251],[102.87745,33.212346],[102.876911,33.212229],[102.876879,33.212038],[102.876957,33.211928],[102.877611,33.211889],[102.878261,33.211904],[102.878795,33.211747],[102.879264,33.211475],[102.879335,33.211228],[102.879219,33.210952],[102.878891,33.210734],[102.87822,33.211259],[102.877831,33.211528],[102.877482,33.211476],[102.877371,33.211157],[102.877402,33.21071],[102.87749,33.210271],[102.877638,33.210067],[102.878036,33.210041],[102.878486,33.210202],[102.878665,33.210143],[102.878609,33.209555],[102.878707,33.208739],[102.87839,33.208345],[102.878047,33.208411],[102.87784,33.208646],[102.877606,33.20926],[102.877352,33.20954],[102.877007,33.209719],[102.876614,33.209746],[102.876555,33.20959],[102.876723,33.209343],[102.877053,33.208925],[102.877327,33.208604],[102.877455,33.208384],[102.877392,33.208067],[102.877028,33.207618],[102.876904,33.207495],[102.876816,33.207255],[102.876899,33.207062],[102.877276,33.207013],[102.877598,33.20697],[102.877948,33.206934],[102.87815,33.206971],[102.878141,33.207131],[102.878058,33.207389],[102.878146,33.207542],[102.878347,33.207519],[102.878863,33.207368],[102.879435,33.207332],[102.880327,33.207389],[102.880866,33.207459],[102.88148,33.207627],[102.88177,33.207706],[102.881954,33.207666],[102.882086,33.207533],[102.882021,33.207197],[102.881807,33.206692],[102.881599,33.20656],[102.88097,33.206753],[102.880786,33.206708],[102.880653,33.206459],[102.880437,33.206174],[102.880042,33.205948],[102.879475,33.205672],[102.879447,33.205494],[102.879562,33.205345],[102.880021,33.205196],[102.88027,33.205071],[102.880229,33.204905],[102.879752,33.204771],[102.879455,33.204408],[102.879244,33.204007],[102.879305,33.203841],[102.879562,33.203741],[102.879794,33.203701],[102.879948,33.20361],[102.88006,33.203396],[102.880178,33.203187],[102.880336,33.203098],[102.880498,33.20312],[102.88073,33.203266],[102.881129,33.20364],[102.881377,33.203707],[102.881774,33.203669],[102.881906,33.203546],[102.881841,33.2034],[102.881566,33.20326],[102.881335,33.203136],[102.881126,33.202932],[102.880912,33.202619],[102.880859,33.202455],[102.880979,33.202245],[102.881229,33.202132],[102.881393,33.202143],[102.881501,33.202238],[102.881583,33.202584],[102.881688,33.202817],[102.881961,33.2029],[102.882372,33.202846],[102.88274,33.202735],[102.882941,33.2026],[102.883038,33.202385],[102.883051,33.202162],[102.882907,33.201918],[102.882693,33.201699],[102.882604,33.201581],[102.882159,33.20152],[102.881844,33.201388],[102.881786,33.201224],[102.881928,33.20102],[102.882102,33.200846],[102.882119,33.200652],[102.881942,33.200578],[102.881327,33.200729],[102.880923,33.200765],[102.880722,33.200646],[102.88065,33.2005],[102.880801,33.20031],[102.881012,33.200122],[102.881181,33.19999],[102.881179,33.199804],[102.880946,33.19957],[102.880336,33.199244],[102.879953,33.199189],[102.879372,33.199172],[102.879215,33.19896],[102.879259,33.19879],[102.87966,33.198478],[102.879742,33.198317],[102.879687,33.198165],[102.879058,33.198093],[102.878364,33.198178],[102.878042,33.198175],[102.877907,33.198012],[102.877974,33.197868],[102.878233,33.197725],[102.878398,33.197604],[102.878504,33.197386],[102.878419,33.197029],[102.878042,33.196635],[102.877707,33.196482],[102.877256,33.196444],[102.877068,33.196344],[102.877071,33.196216],[102.877212,33.196114],[102.877387,33.196029],[102.877485,33.195929],[102.87745,33.1958],[102.877286,33.195692],[102.877035,33.195574],[102.876999,33.195394],[102.87714,33.195287],[102.877598,33.195196],[102.877983,33.19503],[102.878249,33.194794],[102.878267,33.19459],[102.878099,33.194368],[102.877701,33.194402],[102.877191,33.194468],[102.876882,33.194419],[102.876879,33.194242],[102.877164,33.193916],[102.877537,33.19345],[102.877772,33.193017],[102.877897,33.192712],[102.877707,33.192285],[102.877449,33.192332],[102.877415,33.19263],[102.877451,33.192989],[102.877263,33.1933],[102.877043,33.193372],[102.876812,33.193258],[102.876817,33.192882],[102.876719,33.192525],[102.876395,33.192531],[102.87614,33.192925],[102.875919,33.193122],[102.875286,33.1932],[102.874933,33.193129],[102.874901,33.192999],[102.875157,33.192781],[102.875536,33.192611],[102.875701,33.192389],[102.875511,33.192157],[102.875228,33.19206],[102.874645,33.19205],[102.874508,33.191868],[102.874351,33.191556],[102.873942,33.191373],[102.87376,33.191274],[102.873756,33.19115],[102.874168,33.190886],[102.874562,33.19054],[102.874874,33.190339],[102.874902,33.190154],[102.874778,33.189949],[102.874436,33.189882],[102.874092,33.189954],[102.873812,33.189904],[102.873707,33.189662],[102.873724,33.189367],[102.873936,33.188647],[102.874013,33.188298],[102.873879,33.188068],[102.873641,33.188082],[102.87347,33.188385],[102.873336,33.188737],[102.873122,33.188904],[102.87286,33.188897],[102.872783,33.188895],[102.872461,33.188719],[102.872397,33.188704],[102.872182,33.188655],[102.872009,33.188515],[102.872055,33.188207],[102.872107,33.187895],[102.872124,33.187605],[102.872207,33.187451],[102.872172,33.187269],[102.872046,33.187197],[102.871766,33.187247],[102.871574,33.187525],[102.871402,33.187851],[102.871219,33.187862],[102.871106,33.187748],[102.870958,33.187566],[102.870774,33.18752],[102.870545,33.187568],[102.87034,33.187774],[102.870106,33.187997],[102.869903,33.188075],[102.869765,33.188021],[102.869735,33.187858],[102.869847,33.187687],[102.870022,33.187494],[102.870056,33.187295],[102.869943,33.187205],[102.869645,33.187264],[102.869403,33.187321],[102.869186,33.187254],[102.869012,33.187142],[102.86901,33.186978],[102.868996,33.186802],[102.868873,33.186657],[102.868261,33.186406],[102.867811,33.186257],[102.867636,33.186342],[102.867559,33.186512],[102.867654,33.18676],[102.867821,33.187109],[102.86795,33.187698],[102.868124,33.187929],[102.868295,33.188021],[102.868247,33.188182],[102.867978,33.188293],[102.867667,33.188406],[102.867612,33.188564],[102.867732,33.188688],[102.868062,33.188988],[102.868087,33.189224],[102.868,33.189369],[102.867759,33.18938],[102.867363,33.189134],[102.8669,33.188803],[102.866306,33.188392],[102.866066,33.188317],[102.86585,33.188391],[102.865865,33.188487],[102.866085,33.188669],[102.866163,33.188845],[102.866046,33.189096],[102.865637,33.18949],[102.865233,33.189854],[102.865188,33.190118],[102.865304,33.19031],[102.865726,33.190372],[102.866222,33.190423],[102.866556,33.190579],[102.866997,33.19073],[102.867154,33.190942],[102.867118,33.191274],[102.866913,33.191579],[102.866537,33.191707],[102.865916,33.191681],[102.865572,33.191543],[102.865437,33.191342],[102.865354,33.191015],[102.86515,33.19083],[102.864723,33.19076],[102.864323,33.19085],[102.864031,33.191048],[102.863653,33.19119],[102.863189,33.191131],[102.862945,33.190957],[102.86302,33.190831],[102.863271,33.190752],[102.863618,33.190695],[102.863695,33.190473],[102.863689,33.189923],[102.863899,33.18961],[102.864033,33.189344],[102.863892,33.189149],[102.863676,33.189272],[102.863532,33.189559],[102.863164,33.189458],[102.862897,33.189376],[102.862522,33.189389],[102.862218,33.189396],[102.861854,33.189231],[102.861396,33.188919],[102.860739,33.18882],[102.860373,33.188691],[102.860301,33.188496],[102.860288,33.188138],[102.860062,33.187779],[102.859741,33.187323],[102.859393,33.18688],[102.859235,33.186823],[102.858977,33.18702],[102.858746,33.187039],[102.858638,33.186848],[102.858553,33.186566],[102.858294,33.186339],[102.857964,33.186082],[102.857712,33.186129],[102.857578,33.186476],[102.857428,33.186812],[102.857288,33.186878],[102.857127,33.186833],[102.85706,33.186716],[102.856954,33.186002],[102.856835,33.185578],[102.856712,33.185359],[102.856502,33.185369],[102.856291,33.185584],[102.856065,33.185865],[102.855846,33.185837],[102.855861,33.185676],[102.856055,33.18546],[102.856193,33.185223],[102.856161,33.185002],[102.855977,33.184947],[102.85541,33.185052],[102.855164,33.185104],[102.854868,33.18493],[102.854544,33.184654],[102.854266,33.184372],[102.853971,33.184332],[102.853548,33.184514],[102.853386,33.184747],[102.853271,33.185035],[102.853149,33.185151],[102.852927,33.185096],[102.85259,33.184497],[102.852272,33.184126],[102.851538,33.184096],[102.851029,33.184095],[102.850819,33.183976],[102.850898,33.183715],[102.851108,33.18347],[102.851651,33.183053],[102.851841,33.182918],[102.851944,33.182979],[102.852051,33.18333],[102.85214,33.183616],[102.852448,33.183722],[102.852772,33.18371],[102.853136,33.183586],[102.853239,33.183504],[102.85319,33.183439],[102.852919,33.183342],[102.852804,33.18326],[102.852761,33.183031],[102.852691,33.18277],[102.852552,33.182487],[102.852549,33.182296],[102.852663,33.182093],[102.852848,33.181963],[102.853024,33.181977],[102.853154,33.182295],[102.853336,33.182695],[102.853636,33.182961],[102.853893,33.183215],[102.854064,33.183327],[102.854177,33.183334],[102.854236,33.183283],[102.85431,33.183057],[102.854372,33.182789],[102.854584,33.182508],[102.854597,33.182196],[102.854615,33.181885],[102.854627,33.181643],[102.854435,33.181477],[102.854056,33.181274],[102.853915,33.181135],[102.853887,33.181026],[102.853948,33.180836],[102.854027,33.180679],[102.854121,33.18066],[102.854372,33.180787],[102.854603,33.180874],[102.85484,33.180846],[102.854965,33.180722],[102.854971,33.180526],[102.854888,33.180189],[102.854819,33.179859],[102.854861,33.17962],[102.855038,33.179555],[102.855208,33.179613],[102.855286,33.179729],[102.8552,33.179943],[102.855175,33.180115],[102.855288,33.180313],[102.855445,33.180412],[102.855702,33.180375],[102.85608,33.18014],[102.856415,33.179975],[102.856454,33.179801],[102.856238,33.17942],[102.855804,33.179088],[102.855364,33.178674],[102.855138,33.178474],[102.854903,33.178352],[102.854849,33.178117],[102.854894,33.177926],[102.855164,33.177819],[102.855763,33.177666],[102.856151,33.177578],[102.856483,33.177428],[102.856698,33.177297],[102.85676,33.177042],[102.856723,33.176825],[102.856598,33.176491],[102.856289,33.176468],[102.855851,33.176542],[102.855665,33.176531],[102.855556,33.176287],[102.855606,33.176157],[102.856038,33.176036],[102.856167,33.175862],[102.856057,33.175644],[102.855541,33.175322],[102.855369,33.175146],[102.855425,33.17492],[102.855619,33.174788],[102.856024,33.174698],[102.856441,33.174547],[102.856567,33.174424],[102.856708,33.174051],[102.856968,33.173815],[102.857242,33.173623],[102.857395,33.173369],[102.857299,33.173132],[102.857016,33.173076],[102.856714,33.173269],[102.856494,33.173635],[102.856328,33.173994],[102.856179,33.174188],[102.85594,33.174207],[102.855776,33.174117],[102.855707,33.17396],[102.855719,33.173823],[102.855868,33.173689],[102.856137,33.173504],[102.856217,33.17329],[102.856086,33.173109],[102.855663,33.172954],[102.855221,33.172888],[102.854684,33.172877],[102.854534,33.17279],[102.854494,33.172654],[102.854404,33.172652],[102.85435,33.172652],[102.854332,33.173127],[102.854302,33.173219],[102.854238,33.173342],[102.853906,33.173709],[102.85351,33.174122],[102.853463,33.174094],[102.853418,33.174068],[102.852959,33.173695],[102.852582,33.173393],[102.852331,33.173199],[102.852301,33.173148],[102.852237,33.173137],[102.852192,33.173125],[102.85214,33.173095],[102.852099,33.173051],[102.852082,33.173006],[102.852073,33.172976],[102.852058,33.172935],[102.852044,33.172905],[102.85213,33.172768],[102.852718,33.172623],[102.853644,33.17233],[102.854049,33.172126],[102.85433,33.171874],[102.854426,33.171789],[102.854437,33.171779],[102.854511,33.171713],[102.854901,33.171467],[102.855005,33.171286],[102.855041,33.171202],[102.855157,33.171219],[102.855461,33.171429],[102.855469,33.171435],[102.855523,33.171488],[102.855532,33.171497],[102.855575,33.171539],[102.855642,33.171499],[102.855636,33.171369],[102.855686,33.171148],[102.855806,33.170955],[102.855947,33.17082],[102.856081,33.170778],[102.856186,33.170805],[102.856257,33.170989],[102.856113,33.171284],[102.856043,33.171431],[102.85606,33.171533],[102.856245,33.171608],[102.85629,33.17162],[102.856267,33.171576],[102.856317,33.171582],[102.856331,33.171578],[102.856337,33.171558],[102.856336,33.171525],[102.85633,33.171511],[102.85631,33.171476],[102.856287,33.171378],[102.85628,33.171261],[102.856289,33.171179],[102.856312,33.171128],[102.856314,33.171125],[102.856339,33.171101],[102.856363,33.171088],[102.856393,33.17108],[102.85643,33.17108],[102.856459,33.171087],[102.856492,33.171103],[102.856514,33.17112],[102.856562,33.171184],[102.856601,33.171244],[102.856675,33.171325],[102.856761,33.171403],[102.85679,33.171408],[102.856807,33.171396],[102.856807,33.171369],[102.856801,33.171337],[102.856786,33.171303],[102.856779,33.171275],[102.856777,33.171246],[102.856805,33.171211],[102.856845,33.171171],[102.856903,33.171114],[102.85694,33.171077],[102.856957,33.17105],[102.856946,33.170997],[102.856935,33.170937],[102.856924,33.170884],[102.856924,33.170825],[102.856938,33.170765],[102.856957,33.170714],[102.856962,33.170674],[102.856962,33.170616],[102.856957,33.170575],[102.85694,33.170544],[102.856898,33.17051],[102.856807,33.170497],[102.856712,33.170487],[102.856585,33.170469],[102.856386,33.170435],[102.856287,33.17043],[102.856173,33.170398],[102.856108,33.17036],[102.85609,33.170345],[102.856063,33.170315],[102.85605,33.170283],[102.856049,33.170249],[102.856064,33.170227],[102.856097,33.170204],[102.856143,33.170184],[102.856186,33.17017],[102.856207,33.170157],[102.856233,33.170104],[102.85626,33.170055],[102.856315,33.170021],[102.856364,33.170004],[102.856442,33.169986],[102.85653,33.169983],[102.856572,33.169987],[102.856613,33.170009],[102.85666,33.170041],[102.856697,33.17006],[102.856735,33.170068],[102.856783,33.170071],[102.856835,33.170071],[102.856879,33.170054],[102.856916,33.170026],[102.856942,33.169997],[102.856947,33.169976],[102.856944,33.169959],[102.856928,33.169946],[102.856891,33.169935],[102.856839,33.16992],[102.856788,33.169907],[102.856709,33.169865],[102.856671,33.169839],[102.856625,33.169799],[102.856601,33.169763],[102.856589,33.169718],[102.856585,33.169674],[102.856597,33.169639],[102.856641,33.169596],[102.856683,33.169562],[102.856704,33.169532],[102.856706,33.169484],[102.856692,33.169455],[102.856653,33.16942],[102.856612,33.169411],[102.856552,33.169407],[102.856501,33.169407],[102.856448,33.169426],[102.856363,33.169483],[102.856326,33.169505],[102.856274,33.169541],[102.856246,33.16956],[102.856212,33.16957],[102.856156,33.169578],[102.856104,33.169579],[102.856061,33.169569],[102.856027,33.169536],[102.855999,33.169492],[102.85598,33.169407],[102.855948,33.16934],[102.855918,33.169305],[102.85589,33.169255],[102.855874,33.169204],[102.855865,33.169169],[102.855842,33.169141],[102.85581,33.169145],[102.855764,33.169166],[102.855712,33.169172],[102.855675,33.169172],[102.855528,33.169169],[102.855521,33.16917],[102.855477,33.169174],[102.855413,33.16919],[102.855382,33.169193],[102.855341,33.169185],[102.855296,33.169159],[102.855252,33.169131],[102.85521,33.169108],[102.855195,33.169088],[102.855186,33.169059],[102.855192,33.169022],[102.855212,33.168993],[102.855245,33.168964],[102.855308,33.16893],[102.855409,33.168881],[102.855466,33.168844],[102.855513,33.168811],[102.855595,33.168758],[102.855594,33.168696],[102.855583,33.168693],[102.855547,33.168681],[102.855518,33.168681],[102.855457,33.168681],[102.855403,33.168671],[102.855358,33.168637],[102.855329,33.168594],[102.855319,33.168555],[102.85532,33.16852],[102.855337,33.168482],[102.855371,33.168453],[102.855406,33.168438],[102.855463,33.168429],[102.855538,33.16843],[102.855609,33.168429],[102.85572,33.168431],[102.855734,33.168435],[102.855756,33.168447],[102.855788,33.168459],[102.855817,33.168462],[102.855838,33.168458],[102.855857,33.168446],[102.85587,33.168433],[102.855949,33.168487],[102.855983,33.168388],[102.855992,33.168367],[102.856004,33.168361],[102.856021,33.168364],[102.856034,33.168371],[102.856094,33.168422],[102.856149,33.168464],[102.85618,33.168471],[102.856219,33.168475],[102.856263,33.168472],[102.856297,33.168464],[102.856326,33.168455],[102.856354,33.168429],[102.856371,33.168405],[102.856378,33.16838],[102.856379,33.168347],[102.856373,33.16831],[102.856368,33.1683],[102.856349,33.168261],[102.856335,33.168224],[102.85632,33.16818],[102.856309,33.168124],[102.856313,33.168071],[102.856313,33.168053],[102.856312,33.168014],[102.856306,33.167983],[102.856292,33.167954],[102.856258,33.167899],[102.856256,33.167881],[102.856262,33.167865],[102.856278,33.167848],[102.856333,33.167814],[102.856354,33.167807],[102.8565,33.16775],[102.856545,33.167745],[102.856569,33.167743],[102.856592,33.167748],[102.856599,33.167758],[102.856603,33.167773],[102.856603,33.167797],[102.856595,33.167834],[102.856582,33.167874],[102.856551,33.167918],[102.856521,33.167951],[102.856449,33.168129],[102.856441,33.168165],[102.856444,33.168215],[102.856458,33.168259],[102.856489,33.168322],[102.856517,33.168351],[102.856574,33.168388],[102.856622,33.168396],[102.856693,33.168403],[102.85676,33.168403],[102.85681,33.168398],[102.856843,33.168379],[102.856859,33.168364],[102.856863,33.168345],[102.85686,33.168311],[102.85685,33.168257],[102.856841,33.168213],[102.85684,33.168189],[102.856843,33.168161],[102.856856,33.168134],[102.856872,33.168127],[102.856884,33.168128],[102.856926,33.16813],[102.856987,33.168142],[102.856966,33.168075],[102.856943,33.168003],[102.856908,33.167892],[102.856597,33.167662],[102.856167,33.167472],[102.855957,33.167187],[102.85588,33.166919],[102.855953,33.166653],[102.85634,33.166533],[102.8566,33.166584],[102.856625,33.166589],[102.856673,33.166599],[102.856691,33.166602],[102.856692,33.166568],[102.856688,33.166519],[102.856711,33.166475],[102.856746,33.166441],[102.85679,33.166425],[102.856835,33.166424],[102.856868,33.166425],[102.856906,33.166414],[102.85696,33.166411],[102.857132,33.16644],[102.857208,33.166477],[102.857252,33.166501],[102.857284,33.166519],[102.857291,33.166525],[102.857302,33.166535],[102.857309,33.166554],[102.857307,33.166574],[102.857276,33.166588],[102.857175,33.166641],[102.857104,33.166699],[102.85706,33.16675],[102.857039,33.166796],[102.857034,33.166819],[102.85703,33.166857],[102.857039,33.166879],[102.857051,33.166896],[102.857076,33.166912],[102.8571,33.166922],[102.857122,33.166926],[102.857643,33.167564],[102.857711,33.167647],[102.857718,33.167656],[102.857736,33.167605],[102.857777,33.16751],[102.857799,33.167465],[102.857825,33.16744],[102.857857,33.167432],[102.857942,33.167426],[102.858038,33.16743],[102.858071,33.167444],[102.858093,33.167467],[102.858114,33.167501],[102.85813,33.167542],[102.858139,33.16759],[102.858135,33.167654],[102.858095,33.167748],[102.858029,33.167835],[102.857972,33.167881],[102.857922,33.167907],[102.857931,33.167917],[102.857959,33.167952],[102.858248,33.16842],[102.858524,33.168762],[102.858712,33.169257],[102.859056,33.169544],[102.859239,33.169561],[102.859343,33.169437],[102.8594,33.169228],[102.859404,33.169211],[102.859409,33.169194],[102.859416,33.169167],[102.859616,33.169344],[102.859826,33.169508],[102.859929,33.169577],[102.860084,33.169589],[102.860213,33.169551],[102.860249,33.169469],[102.860098,33.169344],[102.859809,33.169103],[102.859713,33.168954],[102.859743,33.168882],[102.859907,33.168838],[102.860066,33.168801],[102.860218,33.168672],[102.860316,33.168625],[102.860453,33.168635],[102.860573,33.16873],[102.860881,33.168954],[102.861059,33.16906],[102.861351,33.169146],[102.861687,33.169168],[102.861936,33.169123],[102.862153,33.169042],[102.862234,33.168919],[102.862206,33.168813],[102.862067,33.168776],[102.861749,33.168787],[102.861583,33.168773],[102.861505,33.168555],[102.861402,33.168229],[102.861444,33.168095],[102.861512,33.168096],[102.861593,33.168154],[102.861677,33.168331],[102.861776,33.168376],[102.861926,33.168373],[102.862051,33.168323],[102.862176,33.168216],[102.862212,33.168096],[102.862188,33.167935],[102.862176,33.167832],[102.862227,33.167727],[102.862307,33.167643],[102.862477,33.167608],[102.86265,33.167623],[102.862764,33.167736],[102.862836,33.167979],[102.862874,33.168211],[102.862941,33.168382],[102.86302,33.168427],[102.86317,33.168344],[102.863342,33.168191],[102.863466,33.168173],[102.863676,33.168258],[102.864056,33.168472],[102.864278,33.168436],[102.864555,33.168273],[102.864779,33.168146],[102.864866,33.168042],[102.864756,33.167881],[102.864747,33.167748],[102.864819,33.167533],[102.864892,33.167447],[102.865339,33.167433],[102.865508,33.167464],[102.865703,33.16752],[102.866066,33.167791],[102.866426,33.167984],[102.866879,33.16811],[102.86713,33.168122],[102.867306,33.168085],[102.8675,33.167968],[102.86763,33.167738],[102.86762,33.167553],[102.867519,33.167525],[102.867305,33.167618],[102.867033,33.167719],[102.866774,33.167739],[102.866645,33.167692],[102.866659,33.167582],[102.866786,33.167427],[102.866766,33.167386],[102.866764,33.167381],[102.86676,33.167373],[102.866544,33.166939],[102.866131,33.165877],[102.865702,33.165501],[102.86546,33.165128],[102.865616,33.16495],[102.865665,33.164893],[102.865868,33.164661],[102.866586,33.164357],[102.866885,33.164063],[102.86706,33.16375],[102.867022,33.163591],[102.866848,33.163563],[102.866805,33.163586],[102.866747,33.163615],[102.866604,33.163657],[102.86647,33.163684],[102.866401,33.163689],[102.866274,33.163688],[102.866189,33.163679],[102.866129,33.163664],[102.866087,33.163638],[102.866067,33.16362],[102.866049,33.163623],[102.866019,33.163627],[102.865602,33.163567],[102.865361,33.163177],[102.865747,33.162779],[102.866115,33.162514],[102.866124,33.162507],[102.866102,33.162461],[102.86609,33.162408],[102.866091,33.162355],[102.866104,33.162299],[102.866144,33.162241],[102.866243,33.162176],[102.866373,33.162138],[102.866468,33.162123],[102.866534,33.162126],[102.866565,33.162137],[102.866571,33.16213],[102.866684,33.162022],[102.86663,33.16167],[102.866535,33.161265],[102.866454,33.161227],[102.866143,33.161082],[102.865944,33.161058],[102.865943,33.161156],[102.865898,33.161269],[102.865759,33.16138],[102.865705,33.161424],[102.865589,33.161469],[102.865401,33.161506],[102.86525,33.161519],[102.864999,33.161521],[102.864873,33.161516],[102.864783,33.161509],[102.864754,33.161533],[102.864355,33.161631],[102.863879,33.161447],[102.863574,33.161108],[102.863502,33.160633],[102.863574,33.160248],[102.863895,33.159937],[102.864074,33.159931],[102.864087,33.15993],[102.864097,33.15993],[102.864172,33.159927],[102.864195,33.159734],[102.864263,33.159523],[102.864366,33.159369],[102.864538,33.159352],[102.86477,33.159426],[102.864819,33.159546],[102.864648,33.159691],[102.864468,33.159805],[102.864448,33.159918],[102.864519,33.159978],[102.864647,33.159967],[102.8648,33.159867],[102.864926,33.159835],[102.865059,33.159868],[102.865293,33.159982],[102.865668,33.15994],[102.865844,33.159867],[102.865913,33.159812],[102.865897,33.159707],[102.865596,33.159537],[102.865281,33.159241],[102.865248,33.159128],[102.865324,33.159033],[102.865406,33.159015],[102.865422,33.158975],[102.865555,33.158631],[102.86563,33.158123],[102.865664,33.157596],[102.865764,33.156895],[102.86569,33.156508],[102.865472,33.156047],[102.864896,33.155651],[102.864531,33.155241],[102.864187,33.15476],[102.864053,33.154249],[102.863919,33.153772],[102.863801,33.153472],[102.863529,33.153375],[102.863523,33.153372],[102.863483,33.153358],[102.863418,33.153405],[102.863339,33.153423],[102.863233,33.153429],[102.863146,33.153478],[102.86303,33.153675],[102.862897,33.153876],[102.862698,33.154113],[102.862604,33.154185],[102.862501,33.154205],[102.862377,33.154192],[102.862288,33.154155],[102.862199,33.154105],[102.8622,33.154043],[102.86223,33.153974],[102.862327,33.153945],[102.86244,33.153904],[102.86254,33.153853],[102.862582,33.153802],[102.862541,33.153721],[102.862478,33.153719],[102.862326,33.153777],[102.862241,33.153789],[102.862159,33.153744],[102.861951,33.153617],[102.861786,33.153597],[102.861669,33.153586],[102.861568,33.153538],[102.861445,33.153399],[102.86138,33.153301],[102.861378,33.153225],[102.861412,33.153129],[102.861445,33.153084],[102.861501,33.153072],[102.861592,33.153088],[102.861669,33.153154],[102.861797,33.153295],[102.861934,33.15344],[102.862053,33.153518],[102.862172,33.153568],[102.862262,33.153572],[102.862355,33.153554],[102.862383,33.153511],[102.862346,33.153449],[102.862139,33.153353],[102.861932,33.153235],[102.861884,33.153142],[102.861933,33.15307],[102.861989,33.153035],[102.862068,33.153041],[102.862212,33.153072],[102.862355,33.153086],[102.862453,33.153064],[102.862465,33.153008],[102.862458,33.15295],[102.862352,33.15288],[102.862113,33.152775],[102.862011,33.152698],[102.861962,33.152606],[102.862004,33.152495],[102.862058,33.152421],[102.862075,33.152367],[102.862069,33.152279],[102.862069,33.152217],[102.862039,33.152125],[102.861971,33.15208],[102.861823,33.152065],[102.861664,33.152065],[102.861555,33.152114],[102.861509,33.152158],[102.861504,33.152214],[102.861546,33.152268],[102.861624,33.152334],[102.861647,33.152404],[102.861616,33.152473],[102.861549,33.152506],[102.861424,33.152514],[102.861298,33.152558],[102.861222,33.152602],[102.861199,33.152716],[102.861229,33.152841],[102.86129,33.152994],[102.861275,33.15311],[102.861209,33.153191],[102.861123,33.153199],[102.861085,33.15315],[102.861046,33.153017],[102.860979,33.15291],[102.860837,33.152894],[102.860474,33.152937],[102.860215,33.152977],[102.860054,33.153038],[102.859935,33.153071],[102.859868,33.153076],[102.859809,33.153063],[102.859773,33.153084],[102.859765,33.153089],[102.859653,33.153154],[102.859383,33.153097],[102.859159,33.152865],[102.859028,33.152578],[102.858981,33.152475],[102.858995,33.152278],[102.858998,33.152237],[102.859004,33.152152],[102.859012,33.152037],[102.859012,33.151914],[102.859011,33.15167],[102.859011,33.151654],[102.859011,33.151537],[102.85901,33.151264],[102.85898,33.150789],[102.858822,33.1504],[102.858096,33.150194],[102.857882,33.150306],[102.857872,33.150312],[102.857839,33.150329],[102.857815,33.150341],[102.857804,33.150347],[102.857314,33.150602],[102.856594,33.151029],[102.855902,33.15114],[102.855704,33.151558],[102.855693,33.151609],[102.855689,33.151627],[102.855697,33.151634],[102.85571,33.151645],[102.855729,33.151658],[102.855752,33.151676],[102.855774,33.151695],[102.855803,33.15173],[102.855824,33.151769],[102.85583,33.151806],[102.855829,33.151844],[102.855822,33.151871],[102.855806,33.151899],[102.855789,33.151913],[102.855746,33.151933],[102.855704,33.151944],[102.855684,33.151956],[102.855643,33.151981],[102.855608,33.152005],[102.855547,33.152032],[102.855457,33.152109],[102.85541,33.152176],[102.85544,33.152273],[102.855508,33.152364],[102.855379,33.15251],[102.855372,33.152518],[102.855307,33.152592],[102.855174,33.152744],[102.854841,33.152703],[102.854557,33.152364],[102.854651,33.151927],[102.854685,33.151383],[102.85451,33.150835],[102.854155,33.149986],[102.853415,33.148458],[102.8534,33.148427],[102.853204,33.147897],[102.853194,33.14744],[102.853354,33.147254],[102.853364,33.147242],[102.853387,33.147215],[102.8534,33.147209],[102.853313,33.147122],[102.853303,33.147027],[102.853351,33.146871],[102.853444,33.146772],[102.853561,33.146715],[102.853679,33.146759],[102.853843,33.146878],[102.854015,33.14711],[102.854104,33.147179],[102.854224,33.14718],[102.854312,33.147169],[102.854387,33.147135],[102.854392,33.147019],[102.854388,33.146909],[102.854436,33.146795],[102.854548,33.146725],[102.854734,33.146718],[102.854999,33.146813],[102.855105,33.146836],[102.855157,33.146821],[102.855235,33.146732],[102.855236,33.146616],[102.855192,33.146522],[102.855086,33.14641],[102.855055,33.146318],[102.85511,33.146201],[102.855179,33.146183],[102.855352,33.146178],[102.85545,33.146149],[102.855534,33.146069],[102.855653,33.146024],[102.855822,33.146085],[102.855956,33.146215],[102.855979,33.146311],[102.855919,33.14642],[102.855659,33.146507],[102.855495,33.146601],[102.855453,33.146737],[102.855498,33.146889],[102.855579,33.146957],[102.855717,33.14691],[102.855852,33.146782],[102.856006,33.146612],[102.856168,33.146517],[102.856284,33.146505],[102.856384,33.146497],[102.856472,33.146434],[102.856421,33.146351],[102.856377,33.146316],[102.856424,33.146239],[102.856477,33.146163],[102.856461,33.146098],[102.856332,33.146023],[102.856272,33.145942],[102.856248,33.145822],[102.856245,33.145579],[102.856239,33.145446],[102.85616,33.145378],[102.856066,33.145388],[102.856045,33.145471],[102.856094,33.145585],[102.856089,33.14567],[102.855974,33.145804],[102.855789,33.145868],[102.855599,33.145876],[102.855516,33.145842],[102.85554,33.145764],[102.855598,33.145652],[102.855613,33.145539],[102.855509,33.145482],[102.855225,33.145487],[102.854947,33.145547],[102.854776,33.145569],[102.85455,33.145567],[102.85439,33.145581],[102.854226,33.145579],[102.854034,33.145519],[102.853896,33.145411],[102.853781,33.145297],[102.853699,33.145148],[102.8537,33.145038],[102.853755,33.144926],[102.853837,33.14487],[102.853821,33.144845],[102.853817,33.144838],[102.853756,33.144743],[102.853749,33.144732],[102.85365,33.144798],[102.85354,33.144859],[102.853486,33.14488],[102.853441,33.144889],[102.85342,33.144891],[102.853389,33.144883],[102.853364,33.144872],[102.853336,33.144851],[102.85331,33.144793],[102.853263,33.144665],[102.853239,33.144635],[102.853213,33.144591],[102.853198,33.144572],[102.853181,33.144557],[102.853164,33.144545],[102.853148,33.144523],[102.853139,33.144507],[102.853134,33.144491],[102.853135,33.144481],[102.853092,33.144486],[102.853061,33.1445],[102.853022,33.144513],[102.852993,33.144536],[102.852982,33.144554],[102.852969,33.144585],[102.852957,33.144616],[102.852938,33.144657],[102.852936,33.144686],[102.852939,33.144708],[102.852951,33.144732],[102.852965,33.144764],[102.852932,33.144777],[102.852482,33.144951],[102.85227,33.145088],[102.852083,33.145032],[102.852192,33.144876],[102.852429,33.144564],[102.852716,33.143919],[102.853168,33.143365],[102.853763,33.142953],[102.854334,33.142629],[102.855242,33.142224],[102.855628,33.141791],[102.855825,33.141443],[102.855855,33.14104],[102.855716,33.140756],[102.855567,33.14069],[102.85556,33.140705],[102.855553,33.14073],[102.855528,33.140789],[102.855493,33.140839],[102.855441,33.140877],[102.855349,33.1409],[102.855249,33.140936],[102.855172,33.140954],[102.855143,33.140953],[102.855073,33.140935],[102.855063,33.140926],[102.855043,33.140907],[102.855021,33.140868],[102.855005,33.140816],[102.854985,33.140758],[102.854965,33.140707],[102.854951,33.140664],[102.854952,33.140618],[102.854982,33.140539],[102.854987,33.140525],[102.854948,33.140517],[102.854846,33.140495],[102.85473,33.140365],[102.854561,33.140174],[102.854537,33.139898],[102.854528,33.139805],[102.854451,33.13954],[102.854293,33.139168],[102.854186,33.139134],[102.854173,33.139158],[102.854139,33.139216],[102.854106,33.139261],[102.854048,33.139305],[102.853982,33.139336],[102.853909,33.139338],[102.853866,33.139336],[102.853832,33.139319],[102.853798,33.139281],[102.853786,33.139245],[102.853791,33.139229],[102.853795,33.139206],[102.853816,33.139177],[102.853841,33.139155],[102.853863,33.139138],[102.853877,33.139125],[102.853881,33.139114],[102.853873,33.139094],[102.853864,33.139078],[102.853854,33.139064],[102.853848,33.139052],[102.85381,33.139045],[102.853567,33.138998],[102.853436,33.13895],[102.853423,33.138881],[102.853413,33.13886],[102.853393,33.138841],[102.853376,33.138832],[102.853345,33.138832],[102.853316,33.138835],[102.853286,33.138848],[102.853256,33.138865],[102.853244,33.138881],[102.85322,33.138914],[102.853205,33.138929],[102.853177,33.13895],[102.85316,33.138958],[102.853139,33.138962],[102.853122,33.138961],[102.853107,33.138956],[102.853098,33.138939],[102.853092,33.138913],[102.853089,33.13888],[102.853089,33.138839],[102.853088,33.138824],[102.853035,33.138805],[102.853026,33.138802],[102.853008,33.138794],[102.852986,33.138727],[102.852872,33.138371],[102.852869,33.138295],[102.852861,33.138121],[102.852832,33.137457],[102.852469,33.136941],[102.852266,33.13679],[102.852248,33.136776],[102.852215,33.136781],[102.852173,33.136778],[102.852128,33.136758],[102.852118,33.136748],[102.852105,33.136728],[102.852095,33.136698],[102.852091,33.136678],[102.852091,33.136659],[102.85209,33.136639],[102.852104,33.136603],[102.852123,33.136568],[102.852121,33.136544],[102.852112,33.136522],[102.852095,33.136494],[102.852053,33.136475],[102.852017,33.136465],[102.851979,33.136456],[102.851946,33.136454],[102.851923,33.136459],[102.851891,33.136467],[102.851868,33.136476],[102.851847,33.13649],[102.851832,33.136504],[102.851827,33.136512],[102.851798,33.136513],[102.851779,33.136511],[102.851751,33.136504],[102.851723,33.136495],[102.851702,33.136484],[102.851688,33.136473],[102.851671,33.136459],[102.851627,33.136446],[102.851521,33.136416],[102.851189,33.136322],[102.851047,33.136144],[102.851015,33.135757],[102.851089,33.135465],[102.851131,33.135302],[102.851124,33.135206],[102.8511,33.134863],[102.851046,33.134493],[102.850457,33.133798],[102.8502,33.133214],[102.850197,33.132493],[102.850642,33.131377],[102.850819,33.130941],[102.85087,33.130573],[102.850987,33.130066],[102.851337,33.129387],[102.852286,33.128138],[102.852825,33.127445],[102.853441,33.126173],[102.853662,33.125633],[102.85372,33.124966],[102.853622,33.123875],[102.853509,33.123364],[102.853504,33.122696],[102.85348,33.121958],[102.853571,33.120801],[102.853982,33.12021],[102.85412,33.119686],[102.854174,33.119177],[102.854178,33.11916],[102.854181,33.11914],[102.854166,33.119131],[102.854095,33.119045],[102.854038,33.118965],[102.853966,33.118863],[102.853949,33.118823],[102.853947,33.118778],[102.853954,33.118751],[102.853972,33.118723],[102.853997,33.118714],[102.854031,33.118709],[102.854077,33.118712],[102.854094,33.118716],[102.854139,33.118735],[102.854212,33.118761],[102.854248,33.118772],[102.854286,33.118788],[102.854301,33.118794],[102.854335,33.118801],[102.854376,33.118803],[102.854399,33.118796],[102.854413,33.118787],[102.85441,33.118759],[102.854394,33.118731],[102.854362,33.118723],[102.854306,33.118726],[102.854291,33.11872],[102.854252,33.118707],[102.854225,33.118689],[102.854211,33.118663],[102.854213,33.118627],[102.854217,33.118592],[102.854223,33.118562],[102.854222,33.118521],[102.854211,33.118491],[102.854193,33.118461],[102.854175,33.118441],[102.854151,33.11842],[102.854129,33.118395],[102.854114,33.118362],[102.854114,33.118314],[102.854131,33.118289],[102.854148,33.11827],[102.854176,33.118258],[102.854211,33.118248],[102.854234,33.11824],[102.854264,33.11824],[102.854298,33.118248],[102.854455,33.117953],[102.854543,33.117761],[102.854426,33.117408],[102.854206,33.117035],[102.854051,33.11654],[102.854168,33.116016],[102.854244,33.115437],[102.85473,33.114357],[102.855313,33.113541],[102.855896,33.112743],[102.856485,33.111682],[102.856583,33.111086],[102.856575,33.110577],[102.856712,33.110087],[102.857035,33.109324],[102.857044,33.109303],[102.857054,33.109278],[102.857133,33.109093],[102.857773,33.107899],[102.85779,33.107866],[102.85783,33.107792],[102.857804,33.10779],[102.857774,33.107783],[102.857748,33.107772],[102.857732,33.107759],[102.857725,33.107741],[102.857732,33.107722],[102.857747,33.107706],[102.857769,33.10769],[102.857799,33.107671],[102.857822,33.10766],[102.857842,33.107648],[102.857869,33.107631],[102.857891,33.107625],[102.857909,33.107607],[102.857915,33.107591],[102.85791,33.107566],[102.85789,33.107543],[102.857995,33.107105],[102.858042,33.1067],[102.858048,33.10665],[102.858049,33.106638],[102.858054,33.106595],[102.858056,33.106573],[102.8581,33.106194],[102.858459,33.10575],[102.858533,33.105658],[102.858535,33.105655],[102.858601,33.105574],[102.858591,33.105555],[102.858585,33.105536],[102.858585,33.105513],[102.858593,33.1055],[102.858625,33.105504],[102.858651,33.105511],[102.858744,33.10554],[102.858816,33.10557],[102.85888,33.105546],[102.858932,33.105501],[102.858947,33.105411],[102.858942,33.105392],[102.858927,33.105335],[102.858881,33.105272],[102.858861,33.105255],[102.858842,33.10523],[102.858841,33.105217],[102.858854,33.105195],[102.858874,33.105183],[102.85889,33.105181],[102.858917,33.105196],[102.85894,33.105212],[102.859009,33.105141],[102.859011,33.105138],[102.85943,33.104706],[102.859614,33.104024],[102.85946,33.102616],[102.859505,33.101633],[102.859586,33.100879],[102.860109,33.100093],[102.860259,33.099867],[102.860262,33.099833],[102.860267,33.099809],[102.860274,33.09978],[102.860286,33.099765],[102.860306,33.099764],[102.86032,33.099766],[102.860332,33.099777],[102.86055,33.099531],[102.860823,33.099223],[102.860808,33.099205],[102.8608,33.099188],[102.860783,33.099167],[102.860767,33.099153],[102.860743,33.099141],[102.860719,33.099122],[102.86071,33.099107],[102.860705,33.099086],[102.860713,33.099037],[102.860716,33.099011],[102.860725,33.098969],[102.860733,33.098949],[102.860737,33.098931],[102.860741,33.098919],[102.860755,33.098913],[102.860786,33.098915],[102.860807,33.098916],[102.860836,33.098903],[102.860862,33.09888],[102.860904,33.098841],[102.86093,33.098823],[102.86095,33.098794],[102.860968,33.098759],[102.860981,33.098735],[102.860991,33.098698],[102.861004,33.098666],[102.86101,33.098642],[102.861023,33.098613],[102.861033,33.098598],[102.861044,33.098582],[102.86106,33.098556],[102.861061,33.098539],[102.861061,33.098533],[102.861065,33.098389],[102.861071,33.098129],[102.85994,33.097442],[102.85889,33.096845],[102.858509,33.09655],[102.858194,33.096306],[102.857046,33.095461],[102.856554,33.095223],[102.855045,33.094495],[102.854324,33.094114],[102.852894,33.093258],[102.852889,33.093255],[102.852391,33.092957],[102.851535,33.092755],[102.851526,33.092753],[102.851453,33.092736],[102.851419,33.092728],[102.851355,33.092713],[102.850522,33.092517],[102.850378,33.092483],[102.850402,33.091519],[102.850403,33.09149],[102.850422,33.09071],[102.850374,33.089233],[102.850086,33.086506],[102.850318,33.085526],[102.850301,33.0844],[102.850301,33.084383],[102.8503,33.084349],[102.850294,33.083945],[102.850058,33.08164],[102.849713,33.080503],[102.849112,33.080743],[102.849001,33.080629],[102.848998,33.080643],[102.848969,33.080701],[102.848963,33.080715],[102.848931,33.080737],[102.848885,33.080757],[102.848817,33.080776],[102.848758,33.080799],[102.848731,33.080818],[102.848701,33.08087],[102.848697,33.080876],[102.848697,33.080876],[102.848658,33.080933],[102.84862,33.080975],[102.848577,33.081023],[102.84849,33.081112],[102.84839,33.081165],[102.848321,33.081192],[102.848238,33.081223],[102.84815,33.081248],[102.848028,33.081272],[102.847929,33.081285],[102.847819,33.0813],[102.847683,33.081317],[102.847586,33.081323],[102.847443,33.08131],[102.847221,33.081334],[102.846558,33.081086],[102.846283,33.080984],[102.845445,33.080591],[102.845398,33.080569],[102.845381,33.080562],[102.845363,33.080553],[102.845361,33.080552],[102.845298,33.080522],[102.845257,33.080503],[102.84525,33.080499],[102.844655,33.080159],[102.844559,33.079789],[102.844514,33.079618],[102.844512,33.07961],[102.84451,33.079602],[102.844508,33.079591],[102.844487,33.079513],[102.844495,33.079459]]]]},"properties":{"cp":[102.93341761730755,33.11135771891013],"code":"513233207","name":"麦洼乡","level":"street","center":[102.93341761730755,33.11135771891013],"fullCode":"513233207000","fullName":"四川省阿坝藏族羌族自治州红原县麦洼乡","acreageMu":838703.39,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.918,32.9156]}},{"id":"513233208","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.876403,32.917034],[102.877821,32.917289],[102.87904,32.917509],[102.879321,32.91756],[102.879803,32.917647],[102.880757,32.917692],[102.881664,32.916844],[102.882087,32.916275],[102.883036,32.91514],[102.883882,32.914004],[102.884545,32.913353],[102.885692,32.91248],[102.886416,32.912147],[102.887136,32.912016],[102.890012,32.910136],[102.891018,32.909434],[102.891588,32.908408],[102.892434,32.907242],[102.89303,32.906561],[102.893252,32.905846],[102.893298,32.905329],[102.893691,32.904587],[102.893877,32.903928],[102.893929,32.903181],[102.893818,32.902114],[102.893743,32.900962],[102.89373,32.90007],[102.893579,32.899262],[102.893845,32.898086],[102.894094,32.897403],[102.894163,32.897215],[102.894356,32.896685],[102.894308,32.895821],[102.894535,32.894904],[102.894937,32.893759],[102.895235,32.8927],[102.895731,32.890464],[102.895751,32.889629],[102.895698,32.888995],[102.895571,32.88859],[102.896146,32.887334],[102.897278,32.885626],[102.897787,32.885186],[102.8978,32.885175],[102.89829,32.884636],[102.89849,32.884389],[102.898817,32.883983],[102.899003,32.883325],[102.899057,32.882491],[102.898709,32.881334],[102.898907,32.878719],[102.899044,32.877282],[102.899108,32.875988],[102.899493,32.874124],[102.899904,32.871167],[102.900589,32.868129],[102.901096,32.866871],[102.901196,32.86552],[102.901659,32.861816],[102.901708,32.861155],[102.901726,32.860407],[102.901703,32.859946],[102.90189,32.85923],[102.901606,32.858247],[102.900999,32.85651],[102.900346,32.85529],[102.900031,32.854191],[102.899529,32.852341],[102.899453,32.851218],[102.899478,32.850182],[102.900031,32.849846],[102.901531,32.849871],[102.902658,32.849775],[102.904054,32.849827],[102.905111,32.849845],[102.906262,32.850181],[102.907379,32.850545],[102.908395,32.850821],[102.908585,32.850862],[102.908603,32.850866],[102.908656,32.850877],[102.908667,32.850879],[102.908682,32.850882],[102.908804,32.850908],[102.908844,32.850917],[102.908868,32.850922],[102.9089,32.850929],[102.909006,32.850952],[102.909152,32.850983],[102.909209,32.850995],[102.909397,32.851035],[102.90952,32.851062],[102.909637,32.851087],[102.909683,32.851097],[102.909691,32.851098],[102.909759,32.851113],[102.909854,32.851133],[102.910971,32.85144],[102.911271,32.851346],[102.912105,32.851084],[102.912774,32.850175],[102.913412,32.849121],[102.914116,32.848183],[102.914301,32.847809],[102.914653,32.847098],[102.914884,32.846419],[102.914945,32.84624],[102.914889,32.845721],[102.914017,32.845102],[102.913605,32.844679],[102.913418,32.844488],[102.912993,32.843704],[102.912231,32.841331],[102.912321,32.840383],[102.912854,32.839471],[102.913864,32.838538],[102.91442,32.838099],[102.915253,32.837439],[102.915502,32.837198],[102.915777,32.83693],[102.915939,32.83581],[102.916265,32.833514],[102.916081,32.832647],[102.916032,32.83184],[102.916115,32.829712],[102.916182,32.828332],[102.916515,32.827186],[102.917569,32.825852],[102.918583,32.824746],[102.919081,32.823862],[102.919542,32.823064],[102.919937,32.822229],[102.920074,32.821821],[102.920294,32.821177],[102.920502,32.819929],[102.920757,32.818833],[102.921287,32.818021],[102.921764,32.817317],[102.922549,32.81651],[102.923798,32.815581],[102.924806,32.815195],[102.92583,32.814612],[102.926973,32.813715],[102.927426,32.813288],[102.927605,32.813305],[102.927719,32.813338],[102.927769,32.813337],[102.927826,32.813299],[102.927881,32.813193],[102.92793,32.813059],[102.927908,32.812834],[102.927929,32.812814],[102.928809,32.811976],[102.929342,32.811574],[102.930562,32.810583],[102.931088,32.810276],[102.931927,32.809785],[102.932352,32.809534],[102.932941,32.809186],[102.933748,32.808709],[102.933789,32.808695],[102.934879,32.808317],[102.936013,32.80783],[102.936063,32.807793],[102.936182,32.807873],[102.936372,32.808],[102.936563,32.808126],[102.936753,32.808253],[102.937055,32.808366],[102.937357,32.80848],[102.937721,32.808585],[102.938085,32.808689],[102.93845,32.808794],[102.938684,32.808886],[102.938914,32.808975],[102.939144,32.809065],[102.939373,32.809155],[102.939603,32.809245],[102.939832,32.809335],[102.940062,32.809424],[102.940291,32.809514],[102.940521,32.809604],[102.940751,32.809694],[102.94098,32.809784],[102.941207,32.809896],[102.941434,32.810007],[102.941662,32.810119],[102.941889,32.810231],[102.942116,32.810343],[102.942343,32.810454],[102.942562,32.810599],[102.942781,32.810745],[102.943,32.81089],[102.94322,32.811035],[102.943439,32.81118],[102.943658,32.811325],[102.943877,32.81147],[102.944096,32.811616],[102.944315,32.811761],[102.944534,32.811906],[102.944753,32.812051],[102.944972,32.812196],[102.945342,32.812425],[102.945712,32.812653],[102.946081,32.812882],[102.946451,32.81311],[102.946787,32.813264],[102.947123,32.813417],[102.947425,32.813501],[102.947752,32.813556],[102.948078,32.81361],[102.94845,32.813735],[102.948798,32.813918],[102.949012,32.814078],[102.949226,32.814238],[102.94944,32.814397],[102.949654,32.814557],[102.949868,32.814716],[102.950083,32.814876],[102.950297,32.815036],[102.950511,32.815195],[102.950725,32.815355],[102.950939,32.815514],[102.951132,32.815656],[102.951325,32.815797],[102.951518,32.815939],[102.951711,32.81608],[102.951903,32.816222],[102.952096,32.816363],[102.952289,32.816505],[102.952482,32.816646],[102.952793,32.816951],[102.953105,32.817255],[102.953416,32.81756],[102.953727,32.817865],[102.954085,32.818098],[102.954444,32.818331],[102.954675,32.818433],[102.954907,32.818535],[102.955168,32.818615],[102.955428,32.818694],[102.955689,32.818773],[102.955949,32.818853],[102.95621,32.818932],[102.95647,32.819011],[102.956731,32.819091],[102.956991,32.81917],[102.957252,32.819249],[102.957512,32.819329],[102.957883,32.819499],[102.958254,32.81967],[102.958625,32.819841],[102.95889,32.820022],[102.959156,32.820204],[102.959454,32.820486],[102.959679,32.820846],[102.959756,32.821084],[102.959832,32.821323],[102.959909,32.821541],[102.959986,32.82176],[102.960082,32.822008],[102.960179,32.822256],[102.960275,32.822504],[102.960371,32.822752],[102.960467,32.823],[102.960563,32.823248],[102.96066,32.823497],[102.960756,32.823745],[102.960852,32.823993],[102.960948,32.824241],[102.96106,32.82448],[102.961171,32.824719],[102.961283,32.824958],[102.961394,32.825197],[102.961427,32.825243],[102.961621,32.825516],[102.961704,32.825577],[102.961899,32.825718],[102.96209,32.825839],[102.962282,32.825961],[102.962473,32.826083],[102.962665,32.826205],[102.962856,32.826326],[102.963048,32.826448],[102.963239,32.82657],[102.963431,32.826691],[102.963621,32.826812],[102.963622,32.826813],[102.963761,32.826901],[102.963814,32.826935],[102.964229,32.827093],[102.964644,32.827252],[102.965059,32.827411],[102.965475,32.82757],[102.96589,32.827728],[102.966084,32.827845],[102.966092,32.82785],[102.966178,32.827902],[102.966467,32.828075],[102.966742,32.828316],[102.96697,32.828636],[102.967049,32.828814],[102.967148,32.829035],[102.967178,32.829262],[102.967208,32.829489],[102.967257,32.829895],[102.967306,32.830301],[102.967318,32.830568],[102.967329,32.830834],[102.967341,32.831101],[102.967353,32.831368],[102.967336,32.831598],[102.967319,32.831829],[102.967302,32.832059],[102.967285,32.83229],[102.967262,32.832526],[102.967239,32.832762],[102.967216,32.832999],[102.967193,32.833235],[102.967174,32.833451],[102.967138,32.833853],[102.967103,32.834255],[102.967067,32.834656],[102.966978,32.834971],[102.966888,32.835285],[102.966755,32.835501],[102.966621,32.835717],[102.966476,32.835902],[102.966332,32.836087],[102.966176,32.836262],[102.966019,32.836437],[102.965863,32.836613],[102.965707,32.836788],[102.96555,32.836964],[102.965394,32.837139],[102.965099,32.837444],[102.964804,32.837749],[102.964508,32.838053],[102.964213,32.838358],[102.964213,32.838359],[102.964212,32.83836],[102.964139,32.838534],[102.964134,32.838691],[102.964223,32.838892],[102.964409,32.839183],[102.964455,32.839256],[102.964687,32.83962],[102.964919,32.839984],[102.965151,32.840348],[102.965275,32.840554],[102.965399,32.84076],[102.965524,32.840966],[102.965648,32.841173],[102.965772,32.841379],[102.965896,32.841585],[102.96602,32.841791],[102.966144,32.841997],[102.966269,32.842203],[102.966339,32.84232],[102.966393,32.842409],[102.966517,32.842615],[102.966641,32.842822],[102.966814,32.84298],[102.966987,32.843139],[102.967159,32.843298],[102.967258,32.843388],[102.967332,32.843456],[102.967505,32.843615],[102.967678,32.843774],[102.96785,32.843932],[102.968023,32.844091],[102.968196,32.84425],[102.968368,32.844409],[102.968493,32.844598],[102.968618,32.844788],[102.968721,32.844994],[102.968742,32.845037],[102.968865,32.845286],[102.968988,32.84569],[102.969112,32.846093],[102.969235,32.846497],[102.969253,32.846725],[102.969272,32.846953],[102.969287,32.847308],[102.969279,32.847664],[102.969214,32.847939],[102.969149,32.848215],[102.969008,32.848594],[102.968867,32.848974],[102.968726,32.849353],[102.968566,32.849716],[102.968406,32.850079],[102.968241,32.850253],[102.968076,32.850428],[102.967911,32.850602],[102.967746,32.850776],[102.967581,32.850951],[102.967416,32.851125],[102.967234,32.851409],[102.967051,32.851692],[102.966974,32.852007],[102.966991,32.852303],[102.967068,32.852542],[102.967144,32.85278],[102.967255,32.853058],[102.967366,32.853336],[102.967473,32.853773],[102.967488,32.854129],[102.967471,32.854386],[102.967453,32.854642],[102.967415,32.854866],[102.967377,32.85509],[102.967339,32.855314],[102.967301,32.855538],[102.967263,32.855762],[102.967225,32.855986],[102.967187,32.85621],[102.96715,32.856434],[102.967112,32.856657],[102.967074,32.856881],[102.967026,32.857276],[102.966978,32.857671],[102.966931,32.858065],[102.966936,32.858352],[102.966941,32.858639],[102.967005,32.858936],[102.967068,32.859234],[102.967168,32.859477],[102.967267,32.85972],[102.967367,32.859964],[102.967467,32.860207],[102.96757,32.860361],[102.967639,32.860462],[102.967811,32.860717],[102.968064,32.860937],[102.968435,32.861121],[102.968666,32.861254],[102.968898,32.861386],[102.969129,32.861518],[102.96936,32.861651],[102.969634,32.86195],[102.969816,32.86225],[102.969939,32.862499],[102.970063,32.862748],[102.970082,32.862793],[102.970151,32.862957],[102.970239,32.863166],[102.970326,32.863473],[102.970413,32.86378],[102.970511,32.864138],[102.970608,32.864496],[102.970876,32.864809],[102.971144,32.865121],[102.971412,32.865433],[102.97171,32.865754],[102.972007,32.866075],[102.972304,32.866396],[102.972602,32.866717],[102.972749,32.866936],[102.972896,32.867156],[102.973052,32.867494],[102.973116,32.867832],[102.973128,32.868266],[102.973118,32.868701],[102.973039,32.869085],[102.972961,32.869469],[102.972883,32.869784],[102.972806,32.870098],[102.972798,32.870493],[102.972815,32.87075],[102.972833,32.871008],[102.97285,32.871265],[102.972868,32.871522],[102.97291,32.871586],[102.973072,32.871828],[102.973396,32.871992],[102.973722,32.872076],[102.974168,32.872043],[102.974311,32.871967],[102.974696,32.871828],[102.975082,32.87169],[102.975468,32.871551],[102.975728,32.871471],[102.975988,32.871391],[102.976248,32.871312],[102.976508,32.871232],[102.976848,32.871178],[102.977188,32.871125],[102.977626,32.871118],[102.978064,32.871112],[102.978501,32.871105],[102.978774,32.87113],[102.979048,32.871154],[102.979321,32.871178],[102.979594,32.871203],[102.979867,32.871227],[102.98014,32.871251],[102.980384,32.871322],[102.980629,32.871392],[102.980873,32.871463],[102.981117,32.871533],[102.981362,32.871604],[102.981606,32.871675],[102.981851,32.871745],[102.982095,32.871816],[102.98232,32.871911],[102.982545,32.872006],[102.98277,32.872102],[102.982995,32.872197],[102.983219,32.872293],[102.983444,32.872388],[102.983669,32.872483],[102.983894,32.872579],[102.984134,32.872666],[102.984373,32.872753],[102.984447,32.872779],[102.984612,32.87284],[102.984852,32.872927],[102.985091,32.873013],[102.985331,32.8731],[102.98557,32.873187],[102.98581,32.873274],[102.986049,32.873361],[102.986289,32.873448],[102.986542,32.873649],[102.986887,32.873931],[102.986937,32.873947],[102.987283,32.874056],[102.98761,32.874101],[102.987882,32.874103],[102.988155,32.874105],[102.988427,32.874107],[102.988699,32.874108],[102.988972,32.87411],[102.989244,32.874112],[102.989516,32.874114],[102.989789,32.874116],[102.990043,32.874103],[102.990297,32.87409],[102.990321,32.874088],[102.99055,32.874077],[102.990804,32.874064],[102.991058,32.874051],[102.991312,32.874038],[102.991566,32.874025],[102.99182,32.874012],[102.992127,32.873973],[102.992231,32.873959],[102.992642,32.873906],[102.993066,32.873795],[102.99349,32.873683],[102.993711,32.873564],[102.993932,32.873445],[102.994153,32.873326],[102.994373,32.873207],[102.994594,32.873088],[102.994815,32.872969],[102.995035,32.87285],[102.995114,32.872808],[102.995256,32.872732],[102.995477,32.872613],[102.995697,32.872494],[102.995923,32.872372],[102.996068,32.872294],[102.996148,32.872251],[102.996374,32.872129],[102.996599,32.872008],[102.996825,32.871887],[102.997051,32.871765],[102.997408,32.871494],[102.997765,32.871223],[102.997893,32.870988],[102.998022,32.870753],[102.99815,32.870518],[102.998279,32.870283],[102.998492,32.869933],[102.998705,32.869583],[102.998917,32.869234],[102.99911,32.869],[102.999303,32.868765],[102.99959,32.868524],[102.999876,32.868282],[103.000272,32.868072],[103.000501,32.86791],[103.000729,32.867747],[103.000958,32.867582],[103.001187,32.867417],[103.001378,32.867279],[103.001568,32.867142],[103.001839,32.866968],[103.002172,32.866684],[103.002376,32.86655],[103.00258,32.866416],[103.002784,32.866282],[103.002988,32.866149],[103.003291,32.86587],[103.003594,32.865592],[103.003772,32.865337],[103.00395,32.865082],[103.004137,32.864759],[103.004325,32.864436],[103.004512,32.864113],[103.004619,32.863897],[103.004726,32.863681],[103.004833,32.863465],[103.00494,32.863248],[103.005047,32.863032],[103.005154,32.862816],[103.005304,32.862399],[103.005453,32.861982],[103.005603,32.861564],[103.005765,32.861214],[103.005926,32.860864],[103.006087,32.860514],[103.006192,32.860293],[103.006297,32.860073],[103.006402,32.859853],[103.006508,32.859632],[103.006667,32.859393],[103.006784,32.859314],[103.006879,32.859315],[103.006994,32.859333],[103.007068,32.859431],[103.007121,32.859593],[103.007114,32.859948],[103.007094,32.860392],[103.007075,32.860835],[103.00704,32.861099],[103.007005,32.861363],[103.006971,32.861628],[103.006936,32.861892],[103.006907,32.862328],[103.006911,32.862578],[103.006914,32.862828],[103.006981,32.863083],[103.007047,32.863339],[103.007114,32.863594],[103.00718,32.863849],[103.007242,32.864073],[103.007304,32.864297],[103.007366,32.864522],[103.007428,32.864746],[103.00749,32.86497],[103.007552,32.865194],[103.007709,32.865579],[103.007866,32.865963],[103.008023,32.866347],[103.008144,32.866606],[103.008206,32.86674],[103.008389,32.867133],[103.008573,32.867526],[103.008751,32.867907],[103.008756,32.867919],[103.008856,32.868149],[103.008956,32.868379],[103.009057,32.868608],[103.009157,32.868838],[103.009257,32.869068],[103.009357,32.869297],[103.009366,32.869317],[103.009398,32.869391],[103.009457,32.869527],[103.009557,32.869757],[103.009686,32.869992],[103.009815,32.870228],[103.009945,32.870464],[103.010074,32.870699],[103.010203,32.870935],[103.010332,32.87117],[103.010461,32.871406],[103.01059,32.871642],[103.0107,32.871885],[103.010809,32.872129],[103.010919,32.872373],[103.011028,32.872616],[103.011138,32.87286],[103.011247,32.873104],[103.011357,32.873348],[103.011466,32.873591],[103.011641,32.873973],[103.011815,32.874355],[103.01199,32.874736],[103.012164,32.875118],[103.012317,32.875452],[103.01247,32.875787],[103.012588,32.876002],[103.012705,32.876217],[103.012759,32.876315],[103.012823,32.876432],[103.012941,32.876647],[103.013017,32.876786],[103.013058,32.876862],[103.013176,32.877077],[103.013294,32.877293],[103.013412,32.877508],[103.01362,32.877893],[103.013828,32.878278],[103.014036,32.878663],[103.014156,32.879042],[103.014275,32.87942],[103.014395,32.879799],[103.014504,32.880023],[103.014614,32.880248],[103.014763,32.880482],[103.014841,32.880603],[103.015068,32.880957],[103.015294,32.881312],[103.015298,32.881318],[103.015521,32.881667],[103.015631,32.881911],[103.015758,32.882187],[103.01581,32.882462],[103.015843,32.882688],[103.015876,32.882915],[103.015885,32.883157],[103.015894,32.883399],[103.015903,32.883641],[103.015912,32.883884],[103.015921,32.884143],[103.01593,32.884403],[103.015939,32.884662],[103.015948,32.884922],[103.015958,32.885182],[103.015967,32.885441],[103.015976,32.885701],[103.015985,32.88596],[103.016026,32.886407],[103.016067,32.886854],[103.016108,32.887301],[103.01616,32.887552],[103.016211,32.887803],[103.016262,32.888135],[103.016313,32.888466],[103.016445,32.888816],[103.016577,32.889167],[103.016709,32.889517],[103.016917,32.889866],[103.016932,32.889892],[103.017099,32.890121],[103.017287,32.89027],[103.017514,32.890353],[103.017887,32.89051],[103.018261,32.890666],[103.018634,32.890822],[103.018889,32.890972],[103.019028,32.891053],[103.019144,32.891121],[103.019388,32.891352],[103.019594,32.891596],[103.019779,32.89189],[103.01989,32.892102],[103.02,32.892313],[103.020134,32.892727],[103.020268,32.893141],[103.020389,32.893528],[103.020509,32.893916],[103.02063,32.894304],[103.020731,32.894508],[103.020832,32.894711],[103.020979,32.894955],[103.021298,32.895267],[103.021582,32.895434],[103.021824,32.89553],[103.022066,32.895627],[103.022308,32.895723],[103.022549,32.89582],[103.02278,32.895911],[103.022825,32.895929],[103.023058,32.896022],[103.0231,32.896039],[103.02327,32.896185],[103.02338,32.896382],[103.023433,32.896591],[103.023428,32.896785],[103.023404,32.897043],[103.023358,32.897366],[103.02333,32.897736],[103.023324,32.898026],[103.023384,32.898201],[103.023571,32.898413],[103.023835,32.89858],[103.024138,32.898714],[103.024482,32.898768],[103.024703,32.898805],[103.024925,32.898843],[103.025147,32.898881],[103.025369,32.898919],[103.025591,32.898956],[103.025812,32.898994],[103.026034,32.899032],[103.026256,32.89907],[103.02657,32.899139],[103.026885,32.899209],[103.027069,32.89928],[103.027122,32.899301],[103.027359,32.899393],[103.027496,32.899464],[103.027681,32.89956],[103.028002,32.899727],[103.028267,32.8999],[103.028532,32.900073],[103.028737,32.900302],[103.028943,32.900532],[103.029087,32.900716],[103.029232,32.9009],[103.029376,32.901084],[103.029521,32.901268],[103.029737,32.901605],[103.029953,32.901942],[103.030168,32.902279],[103.030447,32.902539],[103.030725,32.902799],[103.031004,32.903059],[103.031279,32.903414],[103.031553,32.90377],[103.031828,32.904125],[103.032103,32.904481],[103.032388,32.904778],[103.032396,32.904786],[103.03252,32.904916],[103.032541,32.904938],[103.032689,32.905092],[103.032766,32.905172],[103.032918,32.905331],[103.032983,32.905398],[103.033003,32.905416],[103.033007,32.90542],[103.033183,32.905578],[103.033383,32.905759],[103.033583,32.90594],[103.033783,32.90612],[103.033984,32.906301],[103.034184,32.906482],[103.034276,32.90655],[103.034337,32.906596],[103.034492,32.906713],[103.034514,32.906729],[103.034845,32.906976],[103.035148,32.907236],[103.035286,32.907354],[103.035451,32.907496],[103.035641,32.907662],[103.035695,32.90771],[103.035721,32.907732],[103.035739,32.907748],[103.035761,32.907767],[103.03594,32.907923],[103.036167,32.908057],[103.036409,32.908088],[103.036434,32.908091],[103.036454,32.908094],[103.036787,32.908128],[103.036816,32.90813],[103.03683,32.908129],[103.03722,32.90808],[103.037623,32.90803],[103.038057,32.907916],[103.03849,32.907802],[103.038923,32.907688],[103.039357,32.907574],[103.039599,32.907465],[103.039841,32.907355],[103.039904,32.907216],[103.040001,32.907003],[103.040023,32.906809],[103.040032,32.906756],[103.040069,32.906536],[103.040094,32.9063],[103.040118,32.906064],[103.040143,32.905828],[103.040167,32.905593],[103.040211,32.905335],[103.040255,32.905078],[103.040376,32.904822],[103.040562,32.904491],[103.040749,32.90416],[103.040935,32.90383],[103.041054,32.903635],[103.041173,32.903441],[103.041273,32.903276],[103.041292,32.903246],[103.041298,32.903235],[103.041411,32.903052],[103.04153,32.902857],[103.041564,32.902801],[103.041595,32.902751],[103.041649,32.902662],[103.041792,32.902434],[103.041935,32.902206],[103.042079,32.901978],[103.042222,32.90175],[103.042366,32.901522],[103.042462,32.901368],[103.042509,32.901294],[103.042612,32.901169],[103.042661,32.901111],[103.042765,32.900985],[103.042812,32.900927],[103.042964,32.900744],[103.043115,32.900561],[103.043267,32.900378],[103.043303,32.900334],[103.043418,32.900195],[103.043543,32.900043],[103.04357,32.900011],[103.043721,32.899828],[103.043873,32.899645],[103.044024,32.899462],[103.044177,32.899296],[103.044329,32.899129],[103.044482,32.898963],[103.044634,32.898797],[103.044701,32.898725],[103.044787,32.898631],[103.044939,32.898465],[103.045092,32.898299],[103.045244,32.898132],[103.045406,32.89796],[103.045568,32.897788],[103.04573,32.897616],[103.045892,32.897444],[103.046054,32.897271],[103.046215,32.897099],[103.046377,32.896927],[103.046539,32.896755],[103.046701,32.896582],[103.046863,32.89641],[103.047025,32.896238],[103.047186,32.896066],[103.047373,32.895892],[103.047443,32.895826],[103.047559,32.895718],[103.047745,32.895544],[103.047932,32.89537],[103.047965,32.89534],[103.048118,32.895196],[103.048276,32.895049],[103.048304,32.895022],[103.048491,32.894849],[103.048677,32.894675],[103.048699,32.894653],[103.04884,32.894513],[103.048848,32.894504],[103.049002,32.89435],[103.049165,32.894188],[103.049327,32.894026],[103.04949,32.893864],[103.049559,32.893795],[103.049652,32.893702],[103.049815,32.89354],[103.049977,32.893378],[103.05014,32.893216],[103.050303,32.893053],[103.050574,32.892881],[103.050604,32.892874],[103.050844,32.892821],[103.05119,32.89281],[103.05155,32.892928],[103.051792,32.893033],[103.051879,32.89307],[103.052034,32.893137],[103.052275,32.893242],[103.052517,32.893346],[103.052763,32.893495],[103.053009,32.893644],[103.053309,32.893964],[103.053609,32.894283],[103.053898,32.894619],[103.054187,32.894955],[103.05446,32.8952],[103.054732,32.895446],[103.055009,32.895609],[103.055053,32.895635],[103.055054,32.895635],[103.055057,32.895636],[103.055287,32.895771],[103.055544,32.895896],[103.0558,32.896021],[103.056219,32.896109],[103.056545,32.896097],[103.056618,32.896074],[103.056833,32.896005],[103.056911,32.895966],[103.05722,32.89581],[103.0573,32.89577],[103.057513,32.895662],[103.057608,32.895614],[103.057995,32.895418],[103.058382,32.895222],[103.058627,32.895128],[103.058872,32.895034],[103.059118,32.89494],[103.059363,32.894846],[103.059608,32.894752],[103.059685,32.894723],[103.059853,32.894658],[103.060099,32.894564],[103.060344,32.89447],[103.060584,32.894397],[103.060825,32.894324],[103.061065,32.894251],[103.061305,32.894178],[103.061747,32.89417],[103.062186,32.894208],[103.062439,32.894245],[103.062692,32.894281],[103.062945,32.894317],[103.063198,32.894354],[103.063443,32.894418],[103.063688,32.894481],[103.0641,32.894589],[103.064511,32.894696],[103.064796,32.89483],[103.065081,32.894964],[103.065288,32.895144],[103.065494,32.895325],[103.065701,32.895506],[103.065907,32.895686],[103.065943,32.895717],[103.066114,32.895867],[103.066321,32.896048],[103.066505,32.896254],[103.06669,32.89646],[103.066875,32.896666],[103.06706,32.896873],[103.067257,32.897037],[103.067454,32.897202],[103.067651,32.897367],[103.067849,32.897531],[103.068037,32.897704],[103.068224,32.897876],[103.068412,32.898048],[103.0686,32.898221],[103.068788,32.898393],[103.068976,32.898566],[103.069249,32.89878],[103.069523,32.898994],[103.069594,32.899032],[103.069741,32.89911],[103.069958,32.899227],[103.070176,32.899343],[103.070394,32.89946],[103.070643,32.899546],[103.070892,32.899632],[103.071141,32.899718],[103.07139,32.899804],[103.071639,32.89989],[103.071888,32.899976],[103.072137,32.900062],[103.072386,32.900148],[103.072635,32.900234],[103.072884,32.90032],[103.07312,32.900391],[103.073355,32.900462],[103.073464,32.900495],[103.073591,32.900533],[103.073826,32.900604],[103.074062,32.900675],[103.074298,32.900746],[103.074533,32.900817],[103.074769,32.900888],[103.075005,32.900959],[103.07524,32.90103],[103.075476,32.901101],[103.075711,32.901172],[103.075947,32.901243],[103.076183,32.901314],[103.076429,32.901423],[103.076676,32.901531],[103.076923,32.90164],[103.07717,32.901749],[103.077483,32.901916],[103.077795,32.902083],[103.07798,32.902231],[103.078165,32.902379],[103.07835,32.902527],[103.078535,32.902675],[103.078721,32.902823],[103.078906,32.902971],[103.079083,32.903175],[103.079261,32.90338],[103.079568,32.90369],[103.079875,32.904],[103.080182,32.90431],[103.080489,32.90462],[103.080697,32.904744],[103.080905,32.904868],[103.081211,32.904954],[103.081535,32.904975],[103.081842,32.904914],[103.082132,32.90479],[103.082483,32.904521],[103.082493,32.904506],[103.082621,32.904314],[103.082704,32.90404],[103.082824,32.903783],[103.083004,32.903464],[103.083259,32.90321],[103.083531,32.902972],[103.083685,32.90291],[103.08384,32.902848],[103.084166,32.902853],[103.084479,32.902963],[103.084793,32.903072],[103.084926,32.90313],[103.085033,32.903176],[103.08506,32.903188],[103.085272,32.903281],[103.085335,32.903308],[103.085512,32.903385],[103.085752,32.90349],[103.085992,32.903594],[103.086231,32.903699],[103.086471,32.903803],[103.086711,32.903907],[103.086878,32.904104],[103.086967,32.904262],[103.087044,32.904398],[103.087179,32.904803],[103.087315,32.905209],[103.087377,32.905413],[103.087414,32.905533],[103.087513,32.905857],[103.087634,32.906083],[103.087755,32.906309],[103.087876,32.906536],[103.087998,32.906762],[103.088119,32.906988],[103.08824,32.907214],[103.088383,32.907426],[103.088525,32.907638],[103.088667,32.90785],[103.08881,32.908063],[103.088952,32.908275],[103.089095,32.908487],[103.089365,32.908809],[103.089636,32.909131],[103.089907,32.909454],[103.090177,32.909776],[103.090446,32.910076],[103.090714,32.910376],[103.090983,32.910677],[103.091161,32.910848],[103.09134,32.911019],[103.091519,32.911191],[103.091698,32.911362],[103.091981,32.911496],[103.092285,32.91163],[103.092542,32.911721],[103.092799,32.911812],[103.093055,32.911903],[103.093312,32.911994],[103.093568,32.912085],[103.093825,32.912176],[103.094082,32.912267],[103.094338,32.912358],[103.094429,32.91239],[103.094595,32.912449],[103.094851,32.91254],[103.09502,32.912597],[103.095086,32.912619],[103.09532,32.912698],[103.095555,32.912777],[103.09579,32.912856],[103.096024,32.912935],[103.096259,32.913014],[103.096602,32.913067],[103.096794,32.913038],[103.096882,32.912988],[103.096989,32.912928],[103.097145,32.912769],[103.097175,32.912726],[103.097276,32.912585],[103.097408,32.912402],[103.097539,32.912218],[103.097671,32.912034],[103.097803,32.911851],[103.097934,32.911667],[103.09809,32.911438],[103.098246,32.911209],[103.098403,32.91098],[103.098559,32.910751],[103.098679,32.910503],[103.0988,32.910255],[103.098876,32.909812],[103.098952,32.90937],[103.09903,32.909153],[103.099108,32.908937],[103.099186,32.90872],[103.099264,32.908503],[103.099342,32.908287],[103.09942,32.90807],[103.09964,32.907679],[103.09986,32.907288],[103.10008,32.906897],[103.1003,32.906506],[103.100435,32.906286],[103.100569,32.906065],[103.100704,32.905844],[103.100839,32.905624],[103.100974,32.905403],[103.101109,32.905182],[103.101244,32.904962],[103.101378,32.904741],[103.101513,32.90452],[103.101648,32.9043],[103.101867,32.903977],[103.102085,32.903653],[103.102304,32.90333],[103.102434,32.90309],[103.102563,32.90285],[103.102626,32.902601],[103.102688,32.902352],[103.102773,32.902006],[103.102857,32.90166],[103.102904,32.901241],[103.102952,32.900822],[103.103139,32.900435],[103.103326,32.900048],[103.103513,32.899661],[103.103723,32.899273],[103.103932,32.898885],[103.104142,32.898497],[103.104351,32.898109],[103.104508,32.897933],[103.104664,32.897758],[103.104821,32.897583],[103.104977,32.897407],[103.105281,32.897121],[103.105585,32.896836],[103.105815,32.896712],[103.105824,32.896707],[103.106063,32.896579],[103.106302,32.896451],[103.106448,32.896373],[103.106541,32.896323],[103.10685,32.896199],[103.107159,32.896075],[103.107419,32.896039],[103.107679,32.896003],[103.108083,32.895912],[103.108486,32.895821],[103.108686,32.895767],[103.108852,32.895721],[103.109218,32.895622],[103.109422,32.895512],[103.109626,32.895402],[103.109867,32.895192],[103.109908,32.895156],[103.11019,32.89491],[103.110364,32.894762],[103.110537,32.894613],[103.110711,32.894464],[103.110884,32.894316],[103.111057,32.894167],[103.111231,32.894019],[103.111404,32.89387],[103.111578,32.893721],[103.111769,32.893535],[103.11196,32.893349],[103.112152,32.893163],[103.112343,32.892977],[103.112535,32.892791],[103.112726,32.892606],[103.112917,32.89242],[103.113109,32.892234],[103.113313,32.89208],[103.113517,32.891927],[103.113722,32.891773],[103.113926,32.89162],[103.11413,32.891467],[103.114335,32.891313],[103.114539,32.89116],[103.114743,32.891006],[103.114948,32.890853],[103.115152,32.8907],[103.115325,32.890555],[103.115497,32.89041],[103.11567,32.890266],[103.115843,32.890121],[103.116016,32.889976],[103.116189,32.889832],[103.116361,32.889687],[103.116534,32.889542],[103.116755,32.88941],[103.116769,32.889402],[103.117003,32.889263],[103.117237,32.889123],[103.117472,32.888983],[103.11783,32.888779],[103.118189,32.888575],[103.11839,32.888452],[103.11859,32.888328],[103.118791,32.888205],[103.118991,32.888081],[103.119192,32.887958],[103.119393,32.887834],[103.119486,32.887731],[103.119637,32.887564],[103.119882,32.887293],[103.119947,32.887222],[103.120002,32.887195],[103.120189,32.887105],[103.120226,32.887086],[103.12043,32.886987],[103.12078,32.886775],[103.121129,32.886562],[103.121275,32.886424],[103.121431,32.886276],[103.121733,32.88599],[103.121962,32.885639],[103.12199,32.885595],[103.12219,32.885287],[103.1223,32.885063],[103.122306,32.885051],[103.12241,32.884838],[103.122546,32.884469],[103.122681,32.8841],[103.122817,32.883731],[103.122832,32.883478],[103.122847,32.883226],[103.122862,32.882973],[103.122877,32.882721],[103.122882,32.882472],[103.122885,32.882312],[103.122894,32.881904],[103.122897,32.881761],[103.122902,32.881495],[103.122883,32.881413],[103.122851,32.88127],[103.12284,32.881224],[103.122809,32.881085],[103.122715,32.880676],[103.122622,32.880266],[103.122555,32.880068],[103.122495,32.879892],[103.12245,32.879756],[103.122369,32.879519],[103.122317,32.879364],[103.122243,32.879145],[103.122121,32.878929],[103.121998,32.878713],[103.121803,32.87846],[103.121607,32.878207],[103.121483,32.877991],[103.121358,32.877775],[103.121234,32.877559],[103.121109,32.877344],[103.120981,32.877027],[103.120853,32.876709],[103.12083,32.876484],[103.120806,32.876259],[103.120819,32.876012],[103.120824,32.87592],[103.120834,32.87572],[103.120841,32.875582],[103.120883,32.87535],[103.120925,32.875117],[103.120965,32.874895],[103.121005,32.874673],[103.121045,32.87445],[103.121085,32.874228],[103.121125,32.874006],[103.121165,32.873784],[103.121316,32.873415],[103.121467,32.873047],[103.121685,32.87271],[103.121911,32.872415],[103.122137,32.87212],[103.12236,32.872035],[103.12242,32.872012],[103.122582,32.87195],[103.122843,32.87184],[103.123104,32.871731],[103.123382,32.871712],[103.12366,32.871692],[103.124081,32.871633],[103.124199,32.871555],[103.12424,32.871377],[103.124254,32.871349],[103.124402,32.871044],[103.124564,32.870711],[103.124698,32.870503],[103.124831,32.870295],[103.124965,32.870087],[103.125099,32.869879],[103.12531,32.869522],[103.125521,32.869165],[103.125733,32.868808],[103.125913,32.868614],[103.126094,32.86842],[103.126187,32.868366],[103.12641,32.868239],[103.126424,32.868231],[103.126655,32.868122],[103.126736,32.868102],[103.12704,32.868031],[103.127285,32.867982],[103.12753,32.867933],[103.127776,32.867884],[103.128021,32.867835],[103.128266,32.867786],[103.128511,32.867737],[103.128608,32.867718],[103.128757,32.867689],[103.129002,32.86764],[103.129234,32.867593],[103.129466,32.867547],[103.129699,32.867501],[103.129931,32.867455],[103.130163,32.867408],[103.130395,32.867362],[103.130628,32.867316],[103.13086,32.867269],[103.131092,32.867223],[103.131151,32.867211],[103.131182,32.867205],[103.131324,32.867177],[103.131556,32.867131],[103.131789,32.867084],[103.132057,32.867072],[103.132325,32.86706],[103.132594,32.867048],[103.132862,32.867036],[103.13313,32.867023],[103.133399,32.867011],[103.13357,32.86702],[103.133817,32.867033],[103.133862,32.867036],[103.134236,32.867055],[103.134655,32.867078],[103.135073,32.8671],[103.1353,32.867089],[103.135528,32.867078],[103.135755,32.867067],[103.135983,32.867057],[103.13621,32.867046],[103.136438,32.867035],[103.136665,32.867024],[103.136892,32.867014],[103.137122,32.867019],[103.137352,32.867025],[103.137581,32.86703],[103.137811,32.867036],[103.137887,32.867037],[103.138041,32.867041],[103.13827,32.867047],[103.1385,32.867052],[103.13873,32.867057],[103.139027,32.867038],[103.139324,32.867018],[103.139655,32.866971],[103.139737,32.866959],[103.140151,32.8669],[103.140377,32.866835],[103.140603,32.86677],[103.140829,32.866705],[103.141055,32.86664],[103.141293,32.866571],[103.14153,32.866502],[103.141767,32.866432],[103.142005,32.866363],[103.142242,32.866293],[103.142479,32.866224],[103.142717,32.866154],[103.142954,32.866085],[103.14318,32.866028],[103.143407,32.86597],[103.143633,32.865913],[103.143859,32.865856],[103.144225,32.865796],[103.14459,32.865737],[103.14483,32.865676],[103.145001,32.865633],[103.145001,32.865633],[103.14507,32.865615],[103.145311,32.865554],[103.145551,32.865493],[103.145722,32.865437],[103.145956,32.865359],[103.146361,32.865225],[103.146766,32.865092],[103.147004,32.864954],[103.147241,32.864816],[103.147478,32.864679],[103.147716,32.864541],[103.147953,32.864403],[103.148191,32.864266],[103.148428,32.864128],[103.148665,32.86399],[103.148982,32.863863],[103.148993,32.863858],[103.149321,32.863726],[103.149552,32.863713],[103.149934,32.863751],[103.1503,32.863893],[103.150666,32.864034],[103.150895,32.864069],[103.151105,32.864056],[103.151318,32.864018],[103.151355,32.864012],[103.15152,32.863972],[103.151701,32.863928],[103.152047,32.863844],[103.152298,32.863727],[103.15255,32.863609],[103.152801,32.863492],[103.153052,32.863375],[103.153304,32.863258],[103.153555,32.863141],[103.153806,32.863024],[103.154058,32.862906],[103.154309,32.862789],[103.15456,32.862672],[103.154925,32.862544],[103.154936,32.86254],[103.155312,32.862408],[103.155639,32.862332],[103.156063,32.86229],[103.156326,32.862286],[103.156589,32.862282],[103.156853,32.862278],[103.157116,32.862273],[103.157187,32.862274],[103.157342,32.862274],[103.157568,32.862275],[103.157794,32.862275],[103.157998,32.862276],[103.15802,32.862276],[103.158246,32.862277],[103.158472,32.862278],[103.158699,32.862278],[103.158925,32.862279],[103.159308,32.862244],[103.159691,32.86221],[103.159937,32.86217],[103.160184,32.862131],[103.16043,32.862092],[103.160677,32.862052],[103.160923,32.862013],[103.161169,32.861973],[103.161554,32.861906],[103.161939,32.861839],[103.1622,32.861722],[103.162461,32.861605],[103.162733,32.861362],[103.16274,32.861356],[103.162756,32.861341],[103.162837,32.861165],[103.162861,32.860939],[103.162862,32.860907],[103.162864,32.860783],[103.162867,32.860617],[103.162797,32.860309],[103.162652,32.859952],[103.162449,32.859553],[103.162247,32.859155],[103.162101,32.85883],[103.162012,32.85849],[103.16198,32.858215],[103.161948,32.85794],[103.161924,32.857714],[103.161899,32.857488],[103.161875,32.857262],[103.161851,32.857035],[103.161826,32.856809],[103.161802,32.856583],[103.161809,32.856182],[103.161815,32.855781],[103.161844,32.855552],[103.161873,32.855322],[103.161902,32.855093],[103.16193,32.854863],[103.161959,32.854634],[103.161988,32.854404],[103.162017,32.854175],[103.162045,32.853945],[103.162069,32.853519],[103.162092,32.853094],[103.162115,32.852668],[103.162139,32.852242],[103.162157,32.851823],[103.162175,32.851403],[103.162193,32.850984],[103.162212,32.850564],[103.162278,32.850126],[103.162345,32.849689],[103.162411,32.849251],[103.162466,32.849023],[103.162521,32.848796],[103.162576,32.848569],[103.162631,32.848342],[103.162686,32.848115],[103.162741,32.847888],[103.162791,32.84768],[103.162795,32.847661],[103.16285,32.847433],[103.162928,32.847037],[103.162932,32.84702],[103.163007,32.84664],[103.163085,32.846243],[103.163167,32.846032],[103.163249,32.845821],[103.16333,32.84561],[103.163412,32.845399],[103.163678,32.845072],[103.163943,32.844745],[103.164138,32.844575],[103.164333,32.844404],[103.164528,32.844233],[103.164722,32.844063],[103.164992,32.843891],[103.165033,32.843866],[103.165343,32.843668],[103.16559,32.843567],[103.165836,32.843465],[103.166083,32.843364],[103.166329,32.843263],[103.16656,32.84321],[103.16679,32.843157],[103.167021,32.843104],[103.167251,32.843051],[103.167482,32.842998],[103.167713,32.842944],[103.168098,32.842885],[103.168337,32.842897],[103.168576,32.842908],[103.168851,32.842969],[103.169054,32.843013],[103.169087,32.843021],[103.169127,32.843029],[103.169491,32.843068],[103.169758,32.843063],[103.17002,32.843059],[103.170026,32.843059],[103.170257,32.842959],[103.170303,32.84294],[103.170579,32.84282],[103.170794,32.842599],[103.170872,32.842518],[103.170992,32.842293],[103.171112,32.842069],[103.17131,32.841733],[103.171508,32.841397],[103.171657,32.841001],[103.171805,32.840605],[103.171954,32.840209],[103.172074,32.83997],[103.172195,32.839732],[103.172315,32.839493],[103.172436,32.839255],[103.172652,32.838951],[103.172963,32.838714],[103.173071,32.838648],[103.173195,32.838572],[103.173618,32.838465],[103.174021,32.838471],[103.174256,32.838517],[103.17449,32.838564],[103.174725,32.83861],[103.17496,32.838657],[103.175194,32.838703],[103.175429,32.83875],[103.175667,32.83884],[103.175904,32.83893],[103.176142,32.83902],[103.17638,32.839111],[103.176617,32.839201],[103.176855,32.839291],[103.177092,32.839381],[103.17733,32.839471],[103.177524,32.839587],[103.177718,32.839703],[103.177911,32.839819],[103.178105,32.839935],[103.178247,32.840042],[103.178287,32.840072],[103.178387,32.840148],[103.178669,32.840362],[103.17903,32.840545],[103.1793,32.840629],[103.179337,32.84064],[103.179439,32.840672],[103.179849,32.840798],[103.180189,32.840846],[103.18053,32.840894],[103.180931,32.8409],[103.181211,32.840799],[103.18149,32.840698],[103.181857,32.840494],[103.181977,32.840354],[103.182014,32.84031],[103.182172,32.840127],[103.182349,32.83988],[103.182527,32.839632],[103.182684,32.839457],[103.18284,32.839282],[103.182997,32.839107],[103.183153,32.838931],[103.183494,32.838729],[103.183512,32.838719],[103.18387,32.838506],[103.184112,32.838401],[103.184354,32.838295],[103.184596,32.83819],[103.184838,32.838084],[103.18508,32.837979],[103.185322,32.837873],[103.185564,32.837768],[103.185807,32.837662],[103.186049,32.837557],[103.186291,32.837451],[103.18653,32.837336],[103.18677,32.837222],[103.18701,32.837107],[103.18725,32.836993],[103.187489,32.836878],[103.187729,32.836764],[103.187969,32.836649],[103.188208,32.836535],[103.188448,32.83642],[103.188688,32.836306],[103.188917,32.836196],[103.189145,32.836087],[103.189374,32.835978],[103.189603,32.835868],[103.189831,32.835759],[103.19006,32.83565],[103.190446,32.835482],[103.190832,32.835314],[103.191218,32.835147],[103.191604,32.834979],[103.192008,32.834871],[103.192412,32.834764],[103.192817,32.834657],[103.193221,32.83455],[103.193463,32.834502],[103.193705,32.834454],[103.193947,32.834407],[103.194189,32.834359],[103.194536,32.834189],[103.194867,32.833927],[103.194878,32.833919],[103.195198,32.833666],[103.195295,32.833537],[103.195533,32.833313],[103.195771,32.833089],[103.196009,32.832865],[103.196178,32.832611],[103.196346,32.832358],[103.196526,32.832028],[103.196568,32.83195],[103.196706,32.831697],[103.196885,32.831367],[103.197065,32.831037],[103.197182,32.830782],[103.197287,32.830497],[103.197365,32.830282],[103.197391,32.830212],[103.197467,32.830005],[103.197496,32.829928],[103.197573,32.829607],[103.19765,32.829286],[103.197727,32.828965],[103.197749,32.828835],[103.197829,32.828571],[103.197894,32.828356],[103.19796,32.82814],[103.198043,32.827921],[103.198049,32.827908],[103.198096,32.827803],[103.198178,32.827657],[103.198416,32.827419],[103.198681,32.827316],[103.198945,32.827212],[103.199241,32.827116],[103.199537,32.827019],[103.199737,32.826998],[103.199994,32.827055],[103.200251,32.827112],[103.200529,32.827184],[103.200808,32.827255],[103.200921,32.827251],[103.201029,32.827248],[103.201429,32.827155],[103.201494,32.827135],[103.2019,32.827012],[103.202092,32.826991],[103.202127,32.826987],[103.202353,32.826961],[103.202771,32.826899],[103.202871,32.826884],[103.203162,32.82683],[103.203388,32.826699],[103.203638,32.826527],[103.203811,32.826339],[103.203983,32.826152],[103.20416,32.825835],[103.204337,32.825518],[103.204369,32.825468],[103.204475,32.8253],[103.204614,32.825081],[103.204762,32.824737],[103.20491,32.824394],[103.20513,32.824015],[103.205212,32.823969],[103.20534,32.823927],[103.205725,32.823883],[103.206164,32.823907],[103.206469,32.823958],[103.206707,32.82401],[103.206944,32.824063],[103.207147,32.824133],[103.207287,32.824181],[103.207629,32.824299],[103.207968,32.824513],[103.208289,32.824775],[103.208569,32.825118],[103.20869,32.825314],[103.20881,32.82551],[103.208864,32.825728],[103.208917,32.825947],[103.208946,32.826382],[103.208938,32.826762],[103.208931,32.827141],[103.208934,32.827566],[103.208937,32.827991],[103.208987,32.828346],[103.209096,32.828573],[103.20932,32.828852],[103.209613,32.829066],[103.209906,32.82928],[103.210091,32.829412],[103.210277,32.829543],[103.210462,32.829675],[103.210648,32.829807],[103.210833,32.829939],[103.211019,32.830071],[103.211243,32.830195],[103.211468,32.830319],[103.211693,32.830443],[103.211918,32.830567],[103.212142,32.830691],[103.212367,32.830815],[103.212592,32.83094],[103.212817,32.831064],[103.213161,32.831234],[103.213506,32.831403],[103.213851,32.831573],[103.21427,32.831692],[103.214391,32.831702],[103.214708,32.831731],[103.214957,32.831742],[103.215206,32.831754],[103.215474,32.831756],[103.215742,32.831757],[103.21601,32.831759],[103.216278,32.831761],[103.216546,32.831762],[103.216814,32.831764],[103.217082,32.831766],[103.21735,32.831767],[103.21779,32.831779],[103.21823,32.831791],[103.218502,32.831799],[103.218669,32.831803],[103.218898,32.831838],[103.219126,32.831874],[103.219506,32.832025],[103.219754,32.832189],[103.219932,32.832353],[103.22011,32.832518],[103.220412,32.832828],[103.220715,32.833139],[103.221017,32.833449],[103.221258,32.833696],[103.221499,32.833943],[103.221653,32.834107],[103.221808,32.834272],[103.221963,32.834436],[103.222117,32.8346],[103.222272,32.834765],[103.222426,32.834929],[103.222581,32.835093],[103.222736,32.835258],[103.22289,32.835422],[103.223045,32.835586],[103.223355,32.835888],[103.223664,32.83619],[103.223823,32.836419],[103.223981,32.836648],[103.224167,32.836933],[103.224352,32.837218],[103.224517,32.837422],[103.224682,32.837626],[103.224847,32.83783],[103.225012,32.838034],[103.225177,32.838238],[103.225342,32.838442],[103.225483,32.838664],[103.225625,32.838887],[103.225766,32.83911],[103.225908,32.839333],[103.226049,32.839555],[103.226191,32.839778],[103.226332,32.840001],[103.226474,32.840224],[103.226615,32.840447],[103.226757,32.840669],[103.22682,32.840888],[103.226882,32.841107],[103.226945,32.841325],[103.227008,32.841544],[103.227087,32.841884],[103.227166,32.842224],[103.227219,32.842467],[103.227272,32.84271],[103.227373,32.843103],[103.227474,32.843495],[103.227575,32.843888],[103.227702,32.844261],[103.227828,32.844634],[103.228032,32.844943],[103.228237,32.845221],[103.228415,32.845426],[103.228593,32.84563],[103.228853,32.84594],[103.229021,32.846217],[103.229189,32.846493],[103.229437,32.846868],[103.229684,32.847243],[103.229932,32.847618],[103.23006,32.847902],[103.230187,32.848186],[103.230302,32.8486],[103.230416,32.849015],[103.23053,32.849429],[103.230602,32.849689],[103.230673,32.849948],[103.230745,32.850207],[103.230816,32.850466],[103.230944,32.850775],[103.231169,32.850988],[103.231416,32.851119],[103.231757,32.851222],[103.232141,32.851243],[103.232428,32.851248],[103.232715,32.851253],[103.232945,32.851207],[103.233176,32.851161],[103.233579,32.851102],[103.233982,32.851044],[103.234211,32.851079],[103.23444,32.851115],[103.234697,32.851183],[103.234954,32.851251],[103.235239,32.851368],[103.235524,32.851485],[103.235921,32.851634],[103.236318,32.851782],[103.236715,32.851931],[103.237113,32.852079],[103.237532,32.852182],[103.23777,32.852234],[103.238009,32.852286],[103.238247,32.852338],[103.238485,32.85239],[103.238731,32.852404],[103.238976,32.852418],[103.239221,32.852432],[103.239467,32.852446],[103.239712,32.85246],[103.239957,32.852474],[103.240202,32.852482],[103.240447,32.852491],[103.240692,32.852499],[103.240937,32.852507],[103.241182,32.852515],[103.241426,32.852524],[103.241671,32.852532],[103.241916,32.85254],[103.242161,32.852549],[103.242406,32.852557],[103.242664,32.852581],[103.242922,32.852605],[103.243179,32.852628],[103.243437,32.852652],[103.243695,32.852676],[103.243953,32.8527],[103.244211,32.852724],[103.244469,32.852747],[103.244828,32.852827],[103.245187,32.852906],[103.24553,32.852992],[103.245873,32.853077],[103.245913,32.853095],[103.245991,32.853129],[103.246216,32.853228],[103.246574,32.853442],[103.24679,32.853542],[103.247006,32.853642],[103.247221,32.853742],[103.247437,32.853842],[103.247653,32.853942],[103.247869,32.854041],[103.248084,32.854141],[103.2483,32.854241],[103.248306,32.854244],[103.2487,32.854408],[103.249027,32.85445],[103.249119,32.854462],[103.249339,32.854465],[103.249371,32.854466],[103.249552,32.854468],[103.249623,32.854469],[103.249875,32.854473],[103.250127,32.854476],[103.250379,32.85448],[103.250631,32.854484],[103.25091,32.854454],[103.251188,32.854424],[103.251578,32.854382],[103.251968,32.85434],[103.252358,32.854298],[103.252799,32.854229],[103.253241,32.854159],[103.253683,32.85409],[103.253934,32.854041],[103.254184,32.853992],[103.254435,32.853943],[103.254686,32.853894],[103.254937,32.853845],[103.255188,32.853796],[103.255439,32.853747],[103.25569,32.853698],[103.255941,32.853649],[103.256191,32.8536],[103.256442,32.853551],[103.256693,32.853502],[103.256923,32.853489],[103.257153,32.853476],[103.257421,32.853512],[103.257649,32.853612],[103.257877,32.85376],[103.258075,32.853916],[103.258272,32.854073],[103.25847,32.854229],[103.258668,32.854385],[103.258827,32.854565],[103.258986,32.854744],[103.259145,32.854924],[103.259304,32.855104],[103.259464,32.855283],[103.259623,32.855463],[103.259782,32.855642],[103.259941,32.855822],[103.26013,32.85597],[103.260318,32.856119],[103.260698,32.856318],[103.260923,32.856411],[103.261149,32.856505],[103.261374,32.856599],[103.2616,32.856693],[103.261822,32.856786],[103.261825,32.856787],[103.26205,32.856881],[103.262276,32.856975],[103.262501,32.857068],[103.26279,32.857256],[103.263079,32.857444],[103.263419,32.857696],[103.263759,32.857948],[103.264099,32.8582],[103.264272,32.858348],[103.264444,32.858496],[103.264617,32.858643],[103.264789,32.858791],[103.264962,32.858939],[103.265134,32.859087],[103.265456,32.859268],[103.265664,32.859368],[103.265872,32.859469],[103.266101,32.85955],[103.266329,32.859631],[103.266557,32.859712],[103.266785,32.859793],[103.267013,32.859874],[103.267241,32.859955],[103.26746,32.860023],[103.267679,32.86009],[103.267898,32.860158],[103.268117,32.860225],[103.268336,32.860293],[103.268555,32.86036],[103.268774,32.860428],[103.268993,32.860495],[103.269212,32.860562],[103.269431,32.86063],[103.269696,32.860755],[103.269961,32.860881],[103.270284,32.861046],[103.270567,32.861243],[103.270774,32.861457],[103.270999,32.861701],[103.27114,32.861885],[103.271281,32.862069],[103.271423,32.862253],[103.271564,32.862437],[103.271705,32.862621],[103.271847,32.862804],[103.2721,32.863106],[103.272353,32.863408],[103.27255,32.863596],[103.272747,32.863784],[103.272939,32.863946],[103.27313,32.864107],[103.273321,32.864268],[103.273513,32.86443],[103.273704,32.864591],[103.273896,32.864753],[103.274122,32.864965],[103.274327,32.865307],[103.274437,32.865511],[103.274548,32.865714],[103.274689,32.865953],[103.274829,32.866191],[103.27497,32.866429],[103.27511,32.866667],[103.275256,32.866992],[103.275402,32.867318],[103.275493,32.867601],[103.275584,32.867885],[103.275757,32.868299],[103.275931,32.868713],[103.276089,32.868973],[103.276247,32.869233],[103.276445,32.869421],[103.276642,32.86961],[103.276865,32.869752],[103.277088,32.869894],[103.277311,32.870036],[103.277534,32.870178],[103.277748,32.870262],[103.277962,32.870345],[103.278176,32.870429],[103.278389,32.870512],[103.27879,32.870588],[103.279191,32.870664],[103.279591,32.87074],[103.279859,32.870774],[103.280126,32.870808],[103.280393,32.870841],[103.280661,32.870875],[103.280928,32.870909],[103.281195,32.870943],[103.281463,32.870977],[103.28173,32.871011],[103.282163,32.87107],[103.282596,32.87113],[103.28303,32.87119],[103.283267,32.871266],[103.283505,32.871342],[103.283743,32.871418],[103.283981,32.871494],[103.28423,32.871611],[103.284479,32.871729],[103.284728,32.871847],[103.284978,32.871965],[103.285215,32.872065],[103.285453,32.872165],[103.285688,32.872267],[103.285923,32.872369],[103.286158,32.872471],[103.286393,32.872573],[103.286628,32.872675],[103.286863,32.872777],[103.287098,32.872879],[103.287333,32.872981],[103.287546,32.873061],[103.287759,32.873142],[103.287972,32.873222],[103.288185,32.873303],[103.288398,32.873383],[103.288611,32.873464],[103.288824,32.873544],[103.289037,32.873625],[103.28925,32.873705],[103.289463,32.873786],[103.289709,32.873894],[103.289956,32.874002],[103.290203,32.87411],[103.29045,32.874218],[103.290696,32.874326],[103.290943,32.874434],[103.291205,32.874492],[103.291468,32.87455],[103.29173,32.874609],[103.291992,32.874667],[103.292254,32.874725],[103.292516,32.874783],[103.292779,32.874841],[103.293041,32.874899],[103.293464,32.87493],[103.293887,32.874961],[103.294311,32.874992],[103.294734,32.875022],[103.295096,32.875093],[103.29514,32.875115],[103.295514,32.875307],[103.295662,32.875519],[103.295848,32.875861],[103.295994,32.876202],[103.296141,32.876542],[103.296262,32.876897],[103.296383,32.877252],[103.296503,32.877607],[103.296515,32.877995],[103.296471,32.878316],[103.296254,32.878653],[103.296135,32.878853],[103.296016,32.879053],[103.295838,32.879349],[103.29566,32.879645],[103.295554,32.879855],[103.295447,32.880065],[103.295341,32.880275],[103.295234,32.880485],[103.295128,32.880694],[103.295021,32.880904],[103.294909,32.881282],[103.294796,32.88166],[103.294764,32.881886],[103.294731,32.882112],[103.294724,32.882442],[103.294717,32.882773],[103.294691,32.88312],[103.294665,32.883467],[103.294612,32.883736],[103.294559,32.884005],[103.294506,32.884275],[103.294453,32.884544],[103.294343,32.884796],[103.294232,32.885047],[103.294121,32.885298],[103.294011,32.88555],[103.293865,32.885741],[103.29372,32.885933],[103.293575,32.886125],[103.293429,32.886316],[103.293284,32.886508],[103.293139,32.8867],[103.292993,32.886891],[103.292848,32.887083],[103.292703,32.887275],[103.292557,32.887466],[103.292438,32.88774],[103.292449,32.888095],[103.292615,32.888436],[103.292745,32.888639],[103.292876,32.888842],[103.293178,32.889054],[103.293481,32.889265],[103.29385,32.889472],[103.294219,32.88968],[103.294432,32.88984],[103.294644,32.890001],[103.294857,32.890161],[103.29507,32.890322],[103.295263,32.890473],[103.295456,32.890625],[103.29565,32.890777],[103.295843,32.890929],[103.296036,32.89108],[103.29623,32.891232],[103.296423,32.891384],[103.296616,32.891535],[103.296795,32.891724],[103.296973,32.891912],[103.297151,32.8921],[103.29733,32.892288],[103.297418,32.892579],[103.29739,32.892745],[103.297375,32.892837],[103.297357,32.892895],[103.297357,32.892896],[103.297305,32.893068],[103.297236,32.893299],[103.297166,32.893531],[103.297097,32.893762],[103.297033,32.894035],[103.29697,32.894309],[103.296888,32.894678],[103.29686,32.895082],[103.296837,32.895308],[103.296814,32.895534],[103.296822,32.895887],[103.296824,32.895953],[103.296862,32.896193],[103.296892,32.89639],[103.296961,32.896777],[103.297,32.897003],[103.297039,32.897228],[103.297077,32.897453],[103.297083,32.897488],[103.297116,32.897678],[103.297244,32.898019],[103.297371,32.898359],[103.297528,32.898644],[103.297556,32.898695],[103.297686,32.898929],[103.297843,32.89923],[103.298,32.89953],[103.2981,32.899822],[103.2982,32.900114],[103.298318,32.900446],[103.298335,32.900494],[103.298436,32.900778],[103.298486,32.901183],[103.298491,32.90142],[103.298496,32.901657],[103.298501,32.901894],[103.298506,32.902131],[103.298499,32.902368],[103.298491,32.902604],[103.298483,32.902841],[103.298475,32.903078],[103.298468,32.903314],[103.29846,32.903551],[103.298453,32.903914],[103.298446,32.904277],[103.298459,32.904616],[103.298472,32.904955],[103.298504,32.905238],[103.298537,32.905521],[103.298542,32.905769],[103.298547,32.906017],[103.298552,32.906264],[103.298556,32.906512],[103.298561,32.90676],[103.298566,32.907008],[103.298571,32.907255],[103.298576,32.907503],[103.298552,32.907777],[103.298528,32.908051],[103.298503,32.908326],[103.298479,32.9086],[103.298474,32.908852],[103.298469,32.909103],[103.298464,32.909355],[103.298459,32.909607],[103.298455,32.909859],[103.29845,32.910111],[103.298445,32.910363],[103.29844,32.910615],[103.298452,32.910877],[103.298463,32.911139],[103.298475,32.9114],[103.298487,32.911662],[103.298499,32.911924],[103.29851,32.912186],[103.298522,32.912448],[103.298534,32.912709],[103.298582,32.913151],[103.298631,32.913593],[103.29868,32.914034],[103.298702,32.914438],[103.298723,32.914842],[103.298724,32.915277],[103.298726,32.915711],[103.298625,32.916016],[103.298408,32.91632],[103.298184,32.916518],[103.29796,32.916716],[103.297858,32.916782],[103.297494,32.917017],[103.297282,32.917103],[103.29707,32.917189],[103.296858,32.917275],[103.296645,32.917361],[103.2964,32.917455],[103.296154,32.91755],[103.295909,32.917645],[103.295663,32.917739],[103.295418,32.917834],[103.295173,32.917928],[103.294927,32.918023],[103.294682,32.918118],[103.294436,32.918212],[103.294191,32.918307],[103.293945,32.918402],[103.2937,32.918496],[103.293454,32.918591],[103.293209,32.918686],[103.292841,32.918882],[103.292474,32.919078],[103.29226,32.919253],[103.291987,32.919492],[103.291847,32.919781],[103.291792,32.920011],[103.291737,32.920241],[103.291729,32.920604],[103.291722,32.920967],[103.291708,32.921201],[103.291694,32.921434],[103.29168,32.921668],[103.291666,32.921902],[103.29166,32.922209],[103.291653,32.922515],[103.29161,32.922805],[103.291566,32.923094],[103.291444,32.92348],[103.291304,32.923786],[103.291137,32.924126],[103.29097,32.924465],[103.290803,32.924805],[103.290592,32.925163],[103.29038,32.925521],[103.290169,32.925878],[103.290026,32.926082],[103.289883,32.926286],[103.28974,32.92649],[103.289597,32.926694],[103.289476,32.926886],[103.289354,32.927078],[103.289232,32.92727],[103.28911,32.927462],[103.288989,32.927654],[103.288867,32.927846],[103.288706,32.928046],[103.288546,32.928247],[103.288385,32.928448],[103.288224,32.928648],[103.288064,32.928849],[103.287903,32.929049],[103.287742,32.92925],[103.287582,32.929451],[103.287421,32.929651],[103.28726,32.929852],[103.2871,32.930052],[103.286939,32.930253],[103.286627,32.930507],[103.286506,32.930605],[103.286315,32.930761],[103.286083,32.930895],[103.285851,32.931029],[103.285542,32.931113],[103.285233,32.931197],[103.284898,32.931217],[103.284563,32.931237],[103.284299,32.931231],[103.284036,32.931226],[103.283773,32.93122],[103.283509,32.931214],[103.283246,32.931209],[103.282982,32.931203],[103.282719,32.931197],[103.282456,32.931192],[103.282321,32.931255],[103.28228,32.931383],[103.282275,32.931625],[103.282384,32.931966],[103.282554,32.932162],[103.282761,32.932213],[103.283144,32.932291],[103.283526,32.932369],[103.283767,32.932425],[103.284007,32.932481],[103.284248,32.932536],[103.284489,32.932592],[103.284729,32.932648],[103.28497,32.932704],[103.285022,32.932716],[103.285211,32.93276],[103.285451,32.932815],[103.285857,32.932952],[103.286262,32.933089],[103.286667,32.933226],[103.287073,32.933363],[103.28711,32.933375],[103.28733,32.933447],[103.28744,32.933483],[103.287587,32.933531],[103.287844,32.933615],[103.288101,32.9337],[103.288463,32.933834],[103.288701,32.933912],[103.288748,32.933927],[103.289033,32.93402],[103.289397,32.934056],[103.289628,32.934045],[103.289646,32.934044],[103.289668,32.934035],[103.289955,32.93392],[103.290172,32.93378],[103.290389,32.933639],[103.290607,32.933498],[103.290735,32.933415],[103.290824,32.933357],[103.290998,32.933244],[103.291041,32.933217],[103.291155,32.933143],[103.291259,32.933076],[103.291476,32.932935],[103.291693,32.932794],[103.291911,32.932654],[103.292128,32.932513],[103.292325,32.932379],[103.292522,32.932245],[103.292718,32.932111],[103.292915,32.931977],[103.293112,32.931844],[103.293309,32.93171],[103.293506,32.931576],[103.293702,32.931442],[103.293899,32.931308],[103.294096,32.931174],[103.294277,32.931016],[103.294458,32.930857],[103.29464,32.930698],[103.294821,32.930539],[103.295002,32.93038],[103.295183,32.930221],[103.295365,32.930062],[103.295546,32.929904],[103.295727,32.929745],[103.295908,32.929586],[103.296092,32.929383],[103.296276,32.929179],[103.296459,32.928976],[103.296643,32.928773],[103.296826,32.928569],[103.29701,32.928366],[103.297194,32.928163],[103.297377,32.927959],[103.297531,32.92778],[103.297684,32.9276],[103.297838,32.92742],[103.297991,32.92724],[103.298145,32.927061],[103.298299,32.926881],[103.298452,32.926701],[103.298606,32.926521],[103.298759,32.926342],[103.298913,32.926162],[103.299103,32.925987],[103.299294,32.925812],[103.299484,32.925637],[103.299674,32.925462],[103.299964,32.925352],[103.300308,32.925309],[103.300559,32.92524],[103.30081,32.92517],[103.301032,32.925092],[103.301253,32.925014],[103.301548,32.924836],[103.301842,32.924658],[103.30201,32.924504],[103.302178,32.92435],[103.302346,32.924195],[103.302513,32.924041],[103.302681,32.923887],[103.302849,32.923732],[103.303016,32.923578],[103.303184,32.923424],[103.303352,32.923269],[103.30352,32.923115],[103.303723,32.922977],[103.303927,32.922838],[103.304131,32.9227],[103.304335,32.922561],[103.304538,32.922423],[103.304742,32.922284],[103.304946,32.922146],[103.30515,32.922007],[103.305526,32.921851],[103.305657,32.921797],[103.305902,32.921695],[103.305997,32.921687],[103.306209,32.921667],[103.306592,32.921672],[103.306801,32.921788],[103.306952,32.921919],[103.30707,32.922155],[103.307082,32.922179],[103.307116,32.922357],[103.307101,32.922457],[103.307073,32.922647],[103.307029,32.922937],[103.306966,32.923188],[103.306966,32.92319],[103.306965,32.923192],[103.306904,32.923439],[103.306841,32.923691],[103.306779,32.923942],[103.306716,32.924193],[103.306654,32.924445],[103.306592,32.924696],[103.306529,32.924947],[103.306572,32.925244],[103.306615,32.925541],[103.306696,32.925967],[103.306777,32.926393],[103.306858,32.926819],[103.306985,32.927176],[103.307112,32.927532],[103.307233,32.927756],[103.307354,32.927979],[103.307457,32.928171],[103.307469,32.928193],[103.307474,32.928203],[103.307474,32.928203],[103.307595,32.928426],[103.307694,32.928534],[103.307763,32.92861],[103.307857,32.928712],[103.30812,32.928999],[103.308298,32.929195],[103.308476,32.929391],[103.308655,32.929587],[103.308833,32.929784],[103.309151,32.930045],[103.309235,32.930115],[103.309468,32.930306],[103.309484,32.930319],[103.309785,32.930567],[103.309992,32.930763],[103.310103,32.931024],[103.310077,32.931346],[103.309977,32.931683],[103.309884,32.931964],[103.309792,32.932246],[103.309698,32.932504],[103.309603,32.932762],[103.309508,32.93302],[103.309414,32.933278],[103.309319,32.933536],[103.309224,32.933793],[103.309129,32.934051],[103.309035,32.934309],[103.308817,32.934699],[103.3086,32.935089],[103.308581,32.935123],[103.308531,32.935212],[103.308383,32.935478],[103.308101,32.935803],[103.308098,32.935807],[103.308056,32.935855],[103.307898,32.936037],[103.30782,32.936127],[103.307539,32.936452],[103.307133,32.936625],[103.307085,32.936636],[103.306863,32.93669],[103.306861,32.93669],[103.306859,32.936691],[103.306594,32.936754],[103.306325,32.936819],[103.306056,32.936884],[103.305681,32.936943],[103.305307,32.937002],[103.305046,32.937063],[103.304786,32.937125],[103.304526,32.937186],[103.304266,32.937247],[103.304042,32.93739],[103.303819,32.937532],[103.303661,32.937772],[103.303504,32.938012],[103.303436,32.938374],[103.303487,32.938731],[103.30354,32.938957],[103.303593,32.939184],[103.303689,32.939411],[103.303785,32.939638],[103.303882,32.939866],[103.303978,32.940093],[103.304109,32.94028],[103.304239,32.940468],[103.30437,32.940655],[103.3045,32.940843],[103.304792,32.941121],[103.305084,32.941399],[103.305233,32.941689],[103.305383,32.941979],[103.305578,32.942353],[103.305772,32.942727],[103.306025,32.943021],[103.306278,32.943315],[103.306398,32.943583],[103.306517,32.943851],[103.306647,32.944087],[103.306776,32.944322],[103.307,32.944672],[103.307223,32.945022],[103.307437,32.945348],[103.307651,32.945674],[103.307867,32.945919],[103.308082,32.946164],[103.308413,32.946445],[103.308744,32.946726],[103.309075,32.947007],[103.309406,32.947289],[103.309601,32.947481],[103.309796,32.947673],[103.309992,32.947866],[103.310187,32.948058],[103.310382,32.94825],[103.310578,32.948443],[103.310773,32.948635],[103.310968,32.948827],[103.311059,32.94907],[103.311035,32.949328],[103.310876,32.949617],[103.310695,32.9498],[103.310515,32.949983],[103.310334,32.950166],[103.310153,32.950349],[103.309955,32.950691],[103.309756,32.951034],[103.309635,32.951339],[103.309515,32.951644],[103.309444,32.951865],[103.309373,32.952086],[103.309302,32.952307],[103.309231,32.952528],[103.309089,32.952919],[103.308947,32.95331],[103.308805,32.953702],[103.30879,32.953992],[103.308775,32.954282],[103.308864,32.954622],[103.308953,32.954961],[103.309045,32.955181],[103.309137,32.9554],[103.30936,32.955767],[103.309583,32.956134],[103.309807,32.956501],[103.309918,32.956712],[103.310028,32.956923],[103.310139,32.957134],[103.31025,32.957345],[103.310369,32.957662],[103.310487,32.957978],[103.310594,32.958399],[103.310607,32.958449],[103.310681,32.958732],[103.310755,32.959015],[103.31077,32.959257],[103.310785,32.9595],[103.310867,32.959722],[103.310949,32.959945],[103.311031,32.960167],[103.311113,32.96039],[103.311219,32.960627],[103.311324,32.960865],[103.31143,32.961102],[103.311536,32.96134],[103.311641,32.961577],[103.311747,32.961815],[103.311853,32.962052],[103.311958,32.96229],[103.312073,32.962498],[103.312187,32.962707],[103.312301,32.962916],[103.312416,32.963124],[103.31253,32.963333],[103.312644,32.963542],[103.31286,32.963762],[103.313076,32.963983],[103.313186,32.964242],[103.313219,32.964533],[103.313158,32.96471],[103.313002,32.964837],[103.312656,32.964962],[103.312251,32.96502],[103.311885,32.965081],[103.311625,32.965198],[103.311514,32.965248],[103.311365,32.965315],[103.311184,32.965425],[103.31117,32.965433],[103.310976,32.965551],[103.310782,32.965669],[103.310588,32.965787],[103.310394,32.965906],[103.3102,32.966024],[103.310035,32.966234],[103.310089,32.966472],[103.310252,32.966844],[103.310396,32.96706],[103.31054,32.967277],[103.310777,32.967489],[103.310962,32.967654],[103.311013,32.967701],[103.311254,32.967946],[103.311495,32.968192],[103.311622,32.968323],[103.311735,32.968438],[103.312013,32.96871],[103.312291,32.968982],[103.31252,32.969224],[103.312748,32.969465],[103.313044,32.969782],[103.313291,32.970046],[103.313539,32.970311],[103.313746,32.970548],[103.313954,32.970786],[103.314133,32.970989],[103.314162,32.971023],[103.31454,32.971243],[103.314875,32.971474],[103.31521,32.971705],[103.315225,32.971717],[103.315468,32.971905],[103.315726,32.972106],[103.315969,32.972419],[103.316044,32.972515],[103.316181,32.972756],[103.316318,32.972996],[103.31642,32.973212],[103.316522,32.973428],[103.316588,32.97365],[103.316655,32.973871],[103.316702,32.974016],[103.316735,32.974117],[103.316815,32.974362],[103.316867,32.974631],[103.316902,32.974818],[103.316918,32.9749],[103.316977,32.975158],[103.317036,32.975415],[103.317065,32.975761],[103.317093,32.976107],[103.317002,32.97653],[103.316969,32.976678],[103.316837,32.976858],[103.316708,32.977032],[103.316446,32.977387],[103.316236,32.977664],[103.316026,32.977942],[103.315815,32.978201],[103.315605,32.978461],[103.315427,32.978603],[103.315261,32.978735],[103.314939,32.979009],[103.314739,32.97918],[103.314721,32.979199],[103.314572,32.979358],[103.314525,32.979573],[103.314535,32.979612],[103.314561,32.979713],[103.314596,32.979846],[103.314725,32.98013],[103.314854,32.980414],[103.314893,32.980501],[103.314941,32.980673],[103.314989,32.980846],[103.315036,32.981244],[103.315059,32.981432],[103.315084,32.981643],[103.315159,32.982055],[103.315234,32.982468],[103.31531,32.98288],[103.315402,32.983207],[103.315494,32.983534],[103.315586,32.983862],[103.315626,32.984001],[103.315679,32.984189],[103.315687,32.984434],[103.315696,32.984679],[103.315702,32.984855],[103.315691,32.985188],[103.315798,32.985474],[103.315952,32.985795],[103.316309,32.986021],[103.316635,32.986194],[103.31696,32.986368],[103.317304,32.98658],[103.317671,32.986805],[103.31788,32.986928],[103.31809,32.987052],[103.3183,32.987175],[103.31851,32.987298],[103.318719,32.987421],[103.318929,32.987545],[103.319155,32.987765],[103.319381,32.987986],[103.319559,32.988182],[103.319738,32.988378],[103.319917,32.988574],[103.320095,32.98877],[103.320249,32.98899],[103.320403,32.98921],[103.320558,32.98943],[103.320712,32.98965],[103.320823,32.989853],[103.320934,32.990056],[103.321045,32.99026],[103.321156,32.990463],[103.321267,32.990666],[103.321378,32.990869],[103.321489,32.991073],[103.3216,32.991276],[103.321788,32.991649],[103.321975,32.992021],[103.322144,32.992209],[103.322314,32.992397],[103.322615,32.992692],[103.322965,32.992915],[103.323315,32.993138],[103.323528,32.993232],[103.32374,32.993326],[103.323952,32.99342],[103.324165,32.993514],[103.324377,32.993609],[103.324589,32.993703],[103.324629,32.993718],[103.324853,32.993801],[103.325077,32.993885],[103.325423,32.994008],[103.325768,32.994131],[103.326113,32.994254],[103.326333,32.994409],[103.326553,32.994563],[103.326553,32.994564],[103.326554,32.994564],[103.326898,32.994843],[103.327243,32.995122],[103.327512,32.995388],[103.327782,32.995654],[103.328052,32.995919],[103.32826,32.996056],[103.328468,32.996193],[103.328568,32.996236],[103.328676,32.996283],[103.329075,32.996455],[103.329392,32.996681],[103.329709,32.996907],[103.330027,32.997133],[103.330356,32.997387],[103.330685,32.997641],[103.331014,32.997894],[103.33107,32.998009],[103.331173,32.99822],[103.331276,32.99843],[103.33147,32.998609],[103.331585,32.998715],[103.331865,32.998816],[103.332014,32.99887],[103.332138,32.998956],[103.332287,32.99906],[103.332442,32.999322],[103.33254,32.999627],[103.332638,32.999932],[103.332736,33.000236],[103.332763,33.000321],[103.332942,33.000619],[103.333153,33.000798],[103.333365,33.000977],[103.333552,33.001135],[103.33366,33.001227],[103.333955,33.001476],[103.33425,33.001725],[103.334464,33.001987],[103.334487,33.002208],[103.3345,33.002332],[103.334504,33.002366],[103.33452,33.0025],[103.334565,33.002895],[103.334589,33.003105],[103.334611,33.003291],[103.334657,33.003686],[103.334702,33.004081],[103.334792,33.004343],[103.334881,33.004605],[103.334994,33.004935],[103.335107,33.005265],[103.335112,33.005279],[103.33522,33.005595],[103.335333,33.005925],[103.335505,33.006306],[103.335678,33.006687],[103.335892,33.007055],[103.335999,33.0074],[103.33601,33.007439],[103.336071,33.007656],[103.336114,33.007811],[103.336142,33.007912],[103.336201,33.008178],[103.336209,33.008215],[103.336261,33.008447],[103.336404,33.008792],[103.336635,33.009159],[103.336749,33.00934],[103.336803,33.00941],[103.336875,33.009503],[103.33703,33.009704],[103.337257,33.009997],[103.33731,33.010052],[103.337492,33.010237],[103.337728,33.010476],[103.337963,33.010716],[103.338184,33.011],[103.338406,33.011285],[103.338627,33.011569],[103.338848,33.011854],[103.339069,33.012138],[103.339239,33.012395],[103.339409,33.012651],[103.339578,33.012908],[103.339629,33.013215],[103.33968,33.013522],[103.339731,33.013828],[103.339731,33.013829],[103.339731,33.013829],[103.339751,33.01391],[103.339781,33.014316],[103.339811,33.014721],[103.339827,33.014944],[103.339841,33.015127],[103.33981,33.015519],[103.33978,33.015912],[103.33975,33.016304],[103.339678,33.016587],[103.339605,33.016871],[103.339372,33.017229],[103.339176,33.017416],[103.338981,33.017603],[103.338691,33.017866],[103.3384,33.018128],[103.338109,33.01839],[103.337772,33.018604],[103.337434,33.018818],[103.337097,33.019032],[103.336877,33.019137],[103.336657,33.019241],[103.336437,33.019346],[103.336216,33.019451],[103.335996,33.019555],[103.335776,33.01966],[103.335489,33.019941],[103.335202,33.020221],[103.335046,33.020389],[103.33489,33.020556],[103.334734,33.020723],[103.334578,33.02089],[103.334421,33.021057],[103.334265,33.021224],[103.334255,33.021601],[103.334244,33.021978],[103.334234,33.022354],[103.334375,33.022591],[103.334515,33.022827],[103.334656,33.023064],[103.334797,33.0233],[103.334938,33.023537],[103.335078,33.023773],[103.335278,33.024142],[103.335456,33.024415],[103.335726,33.024669],[103.335906,33.024846],[103.336223,33.025081],[103.336438,33.025238],[103.336652,33.025395],[103.336867,33.025553],[103.337082,33.02571],[103.337307,33.025954],[103.337533,33.026198],[103.337664,33.026388],[103.337664,33.026388],[103.337665,33.026389],[103.337778,33.026554],[103.338024,33.026909],[103.338171,33.027122],[103.33827,33.027264],[103.338355,33.027477],[103.338401,33.027593],[103.338486,33.02798],[103.33848,33.028295],[103.338498,33.028382],[103.338535,33.028736],[103.338572,33.029089],[103.338608,33.029443],[103.338616,33.029514],[103.3386,33.029828],[103.338583,33.030143],[103.338567,33.030458],[103.338561,33.030586],[103.338559,33.030621],[103.338464,33.031021],[103.338455,33.031241],[103.338454,33.031278],[103.338492,33.031478],[103.338632,33.031766],[103.338771,33.032055],[103.338911,33.032344],[103.338988,33.032472],[103.339044,33.032563],[103.339082,33.032753],[103.339025,33.033125],[103.338882,33.033515],[103.338697,33.033862],[103.338511,33.03421],[103.338473,33.034514],[103.338435,33.034819],[103.338411,33.035247],[103.338387,33.035675],[103.338356,33.036082],[103.338324,33.036488],[103.338297,33.036831],[103.338292,33.036894],[103.338378,33.037227],[103.338502,33.037431],[103.338625,33.037636],[103.338638,33.0377],[103.338673,33.037874],[103.338595,33.038213],[103.338587,33.038245],[103.3386,33.038547],[103.338602,33.038574],[103.338616,33.038902],[103.33861,33.039207],[103.338603,33.039511],[103.338597,33.039816],[103.338644,33.040139],[103.338666,33.04037],[103.338688,33.0406],[103.338692,33.04062],[103.338753,33.040944],[103.33877,33.041035],[103.338868,33.041409],[103.338965,33.041782],[103.338987,33.041868],[103.339028,33.042026],[103.339092,33.04227],[103.339156,33.042514],[103.339219,33.042758],[103.339317,33.043078],[103.339414,33.043398],[103.339477,33.043659],[103.339541,33.043919],[103.339649,33.044288],[103.339849,33.044638],[103.339937,33.044849],[103.340025,33.04506],[103.340099,33.045369],[103.340174,33.045679],[103.340225,33.046017],[103.340277,33.046356],[103.340291,33.046771],[103.340306,33.047186],[103.340325,33.047437],[103.340343,33.047688],[103.340338,33.047942],[103.340333,33.048196],[103.340329,33.04845],[103.340324,33.048704],[103.340319,33.048958],[103.340314,33.049212],[103.340297,33.049501],[103.34028,33.049791],[103.34023,33.05005],[103.340179,33.05031],[103.340034,33.050683],[103.33989,33.051057],[103.339788,33.051296],[103.339686,33.051536],[103.339585,33.051775],[103.339483,33.052014],[103.339383,33.052444],[103.339284,33.052873],[103.339184,33.053303],[103.339177,33.053593],[103.339241,33.053901],[103.339372,33.054251],[103.339483,33.054464],[103.339653,33.054663],[103.339824,33.054862],[103.339994,33.055061],[103.340165,33.05526],[103.340335,33.055459],[103.340506,33.055658],[103.340676,33.055858],[103.340847,33.056057],[103.341017,33.056256],[103.341187,33.056455],[103.341361,33.056652],[103.341534,33.056849],[103.341708,33.057045],[103.341881,33.057242],[103.342055,33.057439],[103.342228,33.057636],[103.342401,33.057833],[103.342575,33.05803],[103.342748,33.058226],[103.342922,33.058423],[103.343144,33.058802],[103.343367,33.059181],[103.34346,33.059409],[103.343553,33.059637],[103.343646,33.059865],[103.343739,33.060093],[103.343793,33.060325],[103.343846,33.060557],[103.343852,33.060828],[103.343857,33.061098],[103.343829,33.061396],[103.343801,33.061695],[103.343784,33.062004],[103.343767,33.062313],[103.343759,33.062717],[103.343774,33.063142],[103.343812,33.063586],[103.343852,33.063866],[103.343893,33.064147],[103.344004,33.064359],[103.344116,33.064572],[103.344227,33.064785],[103.344339,33.064998],[103.344427,33.065172],[103.344421,33.065481],[103.344393,33.06577],[103.344388,33.066041],[103.344309,33.066281],[103.34423,33.066521],[103.344151,33.06676],[103.344072,33.067],[103.343965,33.067385],[103.343858,33.067769],[103.343752,33.068154],[103.343642,33.06849],[103.343533,33.068826],[103.343539,33.069087],[103.343546,33.069347],[103.343631,33.069734],[103.343696,33.069967],[103.34376,33.0702],[103.343936,33.070529],[103.344239,33.070861],[103.344542,33.071192],[103.344845,33.071523],[103.345148,33.071854],[103.345304,33.072088],[103.345414,33.07234],[103.345524,33.072591],[103.345588,33.072883],[103.34558,33.073288],[103.345518,33.073519],[103.345457,33.07375],[103.345429,33.07398],[103.345402,33.074211],[103.345489,33.074463],[103.345597,33.074819],[103.345705,33.075174],[103.345813,33.07553],[103.34591,33.075811],[103.346008,33.076092],[103.346073,33.076363],[103.346137,33.076634],[103.346134,33.076673],[103.346107,33.077018],[103.345962,33.077423],[103.345793,33.077825],[103.345626,33.07819],[103.345403,33.078559],[103.345181,33.078929],[103.345062,33.079127],[103.344959,33.079298],[103.344745,33.079668],[103.344532,33.080038],[103.344424,33.080226],[103.344319,33.080407],[103.344198,33.080734],[103.344033,33.080984],[103.34387,33.081146],[103.343706,33.081307],[103.343543,33.081469],[103.34346,33.08155],[103.343379,33.08163],[103.343223,33.081808],[103.343066,33.081986],[103.34291,33.082165],[103.342754,33.082343],[103.342597,33.082521],[103.342441,33.082699],[103.342253,33.082937],[103.342065,33.083175],[103.341934,33.083449],[103.341825,33.083674],[103.341752,33.083914],[103.341678,33.084155],[103.34164,33.084395],[103.341621,33.084511],[103.341601,33.084636],[103.341585,33.084863],[103.341571,33.085065],[103.34154,33.085494],[103.341507,33.08574],[103.341473,33.085986],[103.34144,33.086231],[103.341406,33.086477],[103.341309,33.086727],[103.341279,33.086804],[103.341212,33.086977],[103.341207,33.087247],[103.341207,33.087277],[103.341202,33.087517],[103.341222,33.087729],[103.341232,33.087772],[103.341257,33.087882],[103.341307,33.088097],[103.341309,33.088115],[103.341347,33.088425],[103.341386,33.088831],[103.341358,33.089043],[103.341263,33.089196],[103.34108,33.089333],[103.340897,33.089471],[103.340713,33.089608],[103.340651,33.089655],[103.34053,33.089746],[103.340347,33.089884],[103.340163,33.090021],[103.33998,33.090159],[103.339968,33.090168],[103.339894,33.090223],[103.339891,33.090225],[103.339797,33.090296],[103.339563,33.090414],[103.339556,33.090417],[103.339337,33.090527],[103.33932,33.090536],[103.339315,33.090539],[103.339194,33.090599],[103.339074,33.09066],[103.338999,33.090698],[103.338834,33.090781],[103.338671,33.090809],[103.338466,33.090844],[103.338098,33.090907],[103.337913,33.090917],[103.337811,33.090922],[103.337524,33.090937],[103.337457,33.090941],[103.337388,33.090945],[103.337248,33.090952],[103.336856,33.091044],[103.336598,33.091272],[103.33639,33.0915],[103.336288,33.091615],[103.336236,33.091672],[103.336083,33.091845],[103.335988,33.092075],[103.335911,33.092235],[103.335881,33.092298],[103.335868,33.092323],[103.335776,33.092514],[103.335748,33.092572],[103.335561,33.092801],[103.335333,33.093024],[103.335327,33.09303],[103.334991,33.093219],[103.334916,33.093261],[103.334655,33.093407],[103.334351,33.093711],[103.33433,33.093744],[103.334184,33.09398],[103.333973,33.094219],[103.333911,33.094288],[103.333762,33.094457],[103.33346,33.094684],[103.333229,33.094778],[103.332906,33.094851],[103.332469,33.094883],[103.332158,33.094927],[103.331848,33.094971],[103.331478,33.095159],[103.331303,33.095335],[103.331273,33.095365],[103.331149,33.09549],[103.331127,33.095512],[103.330993,33.095647],[103.330993,33.095647],[103.330952,33.095688],[103.330776,33.095864],[103.33042,33.096098],[103.330064,33.096331],[103.329707,33.096564],[103.329344,33.096705],[103.329047,33.09668],[103.328726,33.096618],[103.328409,33.09646],[103.328277,33.096402],[103.328044,33.0963],[103.327745,33.096334],[103.327535,33.096507],[103.327417,33.096716],[103.327346,33.096794],[103.327232,33.096819],[103.327024,33.096866],[103.326772,33.096862],[103.326472,33.096917],[103.326264,33.09699],[103.326239,33.097018],[103.326144,33.097123],[103.326143,33.097123],[103.326143,33.097123],[103.326125,33.097144],[103.326122,33.097157],[103.326115,33.097189],[103.3261,33.097259],[103.326097,33.097317],[103.32608,33.097644],[103.326065,33.097951],[103.326061,33.09803],[103.326059,33.098048],[103.326033,33.098281],[103.325914,33.09851],[103.325705,33.098661],[103.325382,33.098774],[103.325316,33.098768],[103.325263,33.098764],[103.325106,33.098751],[103.324742,33.098649],[103.324493,33.09859],[103.324325,33.098551],[103.324307,33.098546],[103.324015,33.09856],[103.323988,33.098561],[103.323756,33.098577],[103.323724,33.09862],[103.32365,33.098717],[103.323568,33.098826],[103.323474,33.099015],[103.323473,33.099018],[103.323329,33.099306],[103.32319,33.09938],[103.323098,33.099399],[103.32296,33.099359],[103.322688,33.099239],[103.322606,33.0992],[103.322549,33.099173],[103.322393,33.0991],[103.322364,33.099103],[103.322002,33.099153],[103.321746,33.099304],[103.321675,33.099417],[103.321462,33.099782],[103.32134,33.100147],[103.321313,33.10034],[103.321377,33.10063],[103.321392,33.10066],[103.321487,33.100844],[103.321692,33.100962],[103.321994,33.101019],[103.322126,33.101044],[103.322419,33.101319],[103.322488,33.101451],[103.322492,33.101551],[103.322502,33.101818],[103.322501,33.101877],[103.322496,33.102146],[103.322462,33.102293],[103.322461,33.102295],[103.322442,33.10238],[103.322388,33.102614],[103.322336,33.102837],[103.322335,33.102844],[103.322334,33.102846],[103.322334,33.102848],[103.32232,33.102908],[103.322309,33.102953],[103.32228,33.103082],[103.322255,33.103187],[103.322226,33.103316],[103.322172,33.10355],[103.322104,33.103805],[103.322036,33.10406],[103.321968,33.104315],[103.32192,33.104493],[103.3219,33.104569],[103.32178,33.104876],[103.321709,33.105056],[103.321659,33.105183],[103.321491,33.10544],[103.321471,33.10547],[103.321209,33.105814],[103.320907,33.106041],[103.320605,33.106269],[103.320604,33.106269],[103.320415,33.106412],[103.320351,33.10646],[103.320303,33.106497],[103.320082,33.106677],[103.319861,33.106858],[103.319641,33.106977],[103.319569,33.107015],[103.319514,33.107045],[103.319119,33.107176],[103.318806,33.107279],[103.318718,33.107278],[103.318555,33.107276],[103.318554,33.107276],[103.318553,33.107276],[103.318301,33.107272],[103.318048,33.107269],[103.317796,33.107265],[103.31736,33.10724],[103.317286,33.107225],[103.31718,33.107204],[103.317097,33.107179],[103.316777,33.107079],[103.316375,33.106954],[103.316072,33.106945],[103.315768,33.106936],[103.315613,33.106998],[103.315367,33.107097],[103.314952,33.107198],[103.314536,33.107298],[103.31435,33.107441],[103.314165,33.107583],[103.313975,33.107927],[103.313972,33.108061],[103.313968,33.108222],[103.313922,33.108478],[103.313876,33.108735],[103.313819,33.108885],[103.313782,33.108945],[103.313691,33.108966],[103.313655,33.108974],[103.313313,33.109031],[103.313276,33.109037],[103.312949,33.109033],[103.312862,33.109032],[103.312623,33.109029],[103.312414,33.109151],[103.312205,33.109274],[103.312128,33.109621],[103.312192,33.10993],[103.312246,33.11004],[103.312325,33.110201],[103.312504,33.110435],[103.312706,33.110651],[103.312708,33.110655],[103.312749,33.110747],[103.312763,33.110805],[103.312813,33.111018],[103.312743,33.111191],[103.312486,33.11138],[103.312337,33.111432],[103.31222,33.111473],[103.312217,33.111474],[103.312214,33.111475],[103.311954,33.111566],[103.311654,33.111639],[103.311355,33.111712],[103.310942,33.111746],[103.310621,33.111683],[103.310392,33.111584],[103.31028,33.111543],[103.310188,33.111524],[103.309955,33.111694],[103.309904,33.111924],[103.309784,33.112193],[103.309589,33.112391],[103.309395,33.112588],[103.309231,33.112759],[103.309067,33.11293],[103.308846,33.113034],[103.308628,33.113136],[103.308626,33.113137],[103.308282,33.11319],[103.308122,33.113148],[103.307939,33.11307],[103.307827,33.112932],[103.307741,33.11268],[103.307399,33.11258],[103.307075,33.112677],[103.307029,33.112691],[103.306658,33.112859],[103.30664,33.112867],[103.306427,33.112962],[103.306195,33.113064],[103.306037,33.113228],[103.305973,33.113293],[103.305751,33.113521],[103.305627,33.113717],[103.30551,33.113901],[103.305502,33.113913],[103.305415,33.114051],[103.305378,33.114109],[103.305278,33.114268],[103.305254,33.114306],[103.305052,33.11467],[103.304963,33.11483],[103.304851,33.115032],[103.304851,33.115032],[103.30485,33.115034],[103.304798,33.115303],[103.304843,33.115401],[103.304957,33.115402],[103.305058,33.115392],[103.30521,33.115377],[103.30537,33.11536],[103.305463,33.115351],[103.305783,33.115452],[103.305821,33.115493],[103.305875,33.115552],[103.305962,33.115647],[103.306027,33.115822],[103.306024,33.115976],[103.305895,33.116134],[103.305883,33.116148],[103.305723,33.116272],[103.305534,33.11642],[103.305185,33.116692],[103.304836,33.116963],[103.304642,33.117083],[103.304448,33.117203],[103.304255,33.117322],[103.304061,33.117442],[103.303868,33.117562],[103.303813,33.117595],[103.303684,33.117675],[103.303674,33.117681],[103.303374,33.117812],[103.303121,33.117847],[103.302987,33.117652],[103.302911,33.117419],[103.302834,33.117187],[103.302831,33.117155],[103.302805,33.116935],[103.302789,33.116796],[103.302776,33.116684],[103.302757,33.116452],[103.302739,33.116221],[103.302718,33.116066],[103.302605,33.115968],[103.302442,33.115949],[103.302423,33.115946],[103.302283,33.116002],[103.302136,33.11613],[103.302108,33.116154],[103.30201,33.116239],[103.301933,33.116306],[103.301766,33.116613],[103.301748,33.116706],[103.301721,33.116838],[103.301716,33.116863],[103.30164,33.117208],[103.301635,33.117479],[103.301579,33.117568],[103.301347,33.117719],[103.300954,33.117887],[103.30063,33.118037],[103.300521,33.118087],[103.300453,33.118119],[103.300381,33.118152],[103.300306,33.118187],[103.300119,33.118349],[103.299931,33.11851],[103.299821,33.118653],[103.299754,33.11874],[103.299681,33.118835],[103.29968,33.118835],[103.29968,33.118835],[103.299429,33.119159],[103.299178,33.119484],[103.299143,33.119524],[103.299087,33.119588],[103.298943,33.11975],[103.298689,33.119921],[103.298413,33.119936],[103.298314,33.119935],[103.298251,33.119934],[103.29793,33.11991],[103.297586,33.119925],[103.297574,33.119931],[103.297527,33.119953],[103.297425,33.12],[103.297283,33.120152],[103.297116,33.120497],[103.297027,33.120698],[103.297005,33.120746],[103.296997,33.120766],[103.296955,33.120874],[103.2969,33.121015],[103.296855,33.121087],[103.296824,33.121136],[103.296733,33.121284],[103.296617,33.121398],[103.296501,33.121453],[103.29634,33.121432],[103.296248,33.121372],[103.29616,33.121314],[103.29616,33.121314],[103.296159,33.121314],[103.29612,33.121291],[103.296063,33.121258],[103.296056,33.121254],[103.296009,33.121227],[103.295819,33.121116],[103.295523,33.120996],[103.295469,33.120982],[103.295295,33.120935],[103.295291,33.120936],[103.295041,33.12098],[103.294788,33.121025],[103.294618,33.121148],[103.294578,33.121176],[103.294507,33.121374],[103.294481,33.121445],[103.294484,33.121469],[103.294494,33.121589],[103.294501,33.121658],[103.294564,33.121909],[103.294743,33.122124],[103.295085,33.122284],[103.295186,33.122362],[103.295219,33.122388],[103.295312,33.122461],[103.295331,33.122634],[103.295213,33.122767],[103.294819,33.122935],[103.29452,33.123029],[103.29429,33.123093],[103.294093,33.123148],[103.29406,33.123157],[103.293985,33.123195],[103.293803,33.123289],[103.293732,33.123442],[103.293729,33.123596],[103.29373,33.123638],[103.293733,33.123734],[103.293734,33.123766],[103.293739,33.123921],[103.293775,33.124087],[103.293824,33.124308],[103.293829,33.124367],[103.293843,33.124502],[103.293838,33.124683],[103.293838,33.124695],[103.293812,33.124848],[103.293546,33.125118],[103.293532,33.125133],[103.293321,33.125363],[103.293087,33.125572],[103.292854,33.125723],[103.292506,33.12593],[103.292275,33.126024],[103.291999,33.126019],[103.291633,33.125995],[103.291313,33.125952],[103.291037,33.125929],[103.290764,33.12589],[103.29074,33.125886],[103.290488,33.125835],[103.290446,33.125826],[103.290237,33.125783],[103.290127,33.125753],[103.28994,33.125702],[103.289734,33.125605],[103.289644,33.125562],[103.289418,33.125406],[103.289406,33.125406],[103.289339,33.125405],[103.289323,33.125404],[103.289189,33.125402],[103.289096,33.12544],[103.288934,33.125496],[103.28882,33.125693],[103.288791,33.125744],[103.288774,33.125792],[103.288694,33.126013],[103.288672,33.126114],[103.288645,33.126243],[103.288501,33.126532],[103.288406,33.126685],[103.28813,33.126776],[103.287898,33.126813],[103.287624,33.126827],[103.287544,33.126826],[103.287301,33.126823],[103.286945,33.126866],[103.286589,33.126909],[103.286488,33.12695],[103.286311,33.127021],[103.286194,33.127156],[103.286121,33.127348],[103.286003,33.1275],[103.285793,33.127651],[103.285539,33.127783],[103.285193,33.127875],[103.28493,33.12792],[103.284668,33.127965],[103.284366,33.128134],[103.284135,33.128207],[103.284119,33.128205],[103.283884,33.128185],[103.283832,33.128167],[103.283655,33.128104],[103.283635,33.128055],[103.283569,33.127892],[103.283506,33.127542],[103.283441,33.127349],[103.283374,33.127252],[103.283306,33.127213],[103.283073,33.12729],[103.283029,33.127305],[103.282959,33.127361],[103.282915,33.127367],[103.28282,33.12738],[103.282727,33.127357],[103.282569,33.127317],[103.282388,33.127219],[103.282211,33.126908],[103.282144,33.126733],[103.282078,33.126617],[103.281873,33.126538],[103.28162,33.126532],[103.281413,33.126588],[103.281181,33.126682],[103.28103,33.126753],[103.280904,33.126813],[103.280672,33.126886],[103.280488,33.126923],[103.280167,33.126938],[103.279845,33.126953],[103.279731,33.126959],[103.279592,33.126967],[103.279314,33.126979],[103.279248,33.126982],[103.279201,33.126983],[103.278938,33.126988],[103.278795,33.126991],[103.278704,33.126993],[103.278628,33.126994],[103.278588,33.126978],[103.278423,33.126913],[103.278388,33.126909],[103.278215,33.126886],[103.278102,33.126871],[103.277734,33.126943],[103.277615,33.127114],[103.277568,33.127191],[103.277541,33.127384],[103.277607,33.127519],[103.277788,33.127677],[103.277886,33.127702],[103.277948,33.127718],[103.278008,33.127726],[103.278177,33.12775],[103.278406,33.127782],[103.278655,33.127939],[103.278741,33.128249],[103.278716,33.128364],[103.278461,33.128496],[103.278116,33.128569],[103.277961,33.12858],[103.277885,33.128585],[103.277866,33.128586],[103.277471,33.128618],[103.27742,33.128638],[103.27724,33.12871],[103.277154,33.12878],[103.277123,33.128805],[103.277076,33.12886],[103.276912,33.129054],[103.276772,33.129168],[103.276655,33.129262],[103.276516,33.129317],[103.276228,33.129314],[103.276172,33.129314],[103.276036,33.129319],[103.275805,33.129327],[103.275461,33.129323],[103.275181,33.129351],[103.275145,33.129354],[103.275116,33.129357],[103.275029,33.129375],[103.27477,33.129429],[103.274563,33.129426],[103.274381,33.129385],[103.274314,33.129249],[103.274316,33.129128],[103.27432,33.128941],[103.274328,33.128855],[103.274335,33.128775],[103.27435,33.128613],[103.274367,33.128521],[103.274386,33.128411],[103.274402,33.128324],[103.274453,33.128036],[103.274467,33.127978],[103.274503,33.127823],[103.2746,33.127574],[103.274601,33.127517],[103.274533,33.127477],[103.274403,33.127476],[103.274312,33.127474],[103.274265,33.127486],[103.274093,33.127529],[103.274039,33.127542],[103.273874,33.127584],[103.27369,33.127601],[103.273552,33.127599],[103.273484,33.127598],[103.273361,33.127557],[103.273301,33.127537],[103.273168,33.127343],[103.273196,33.127015],[103.273203,33.126686],[103.273136,33.126477],[103.273116,33.126416],[103.272863,33.126412],[103.272539,33.126582],[103.272409,33.12671],[103.272375,33.126743],[103.272212,33.126905],[103.272058,33.127105],[103.271904,33.127305],[103.271741,33.127506],[103.271623,33.127649],[103.271506,33.127702],[103.271415,33.127743],[103.271277,33.12776],[103.270842,33.127696],[103.270617,33.127442],[103.270544,33.127281],[103.270515,33.127216],[103.27044,33.127054],[103.270337,33.126775],[103.270332,33.126762],[103.270284,33.126731],[103.270151,33.126644],[103.269897,33.126738],[103.269618,33.126927],[103.26936,33.127136],[103.269358,33.127137],[103.269356,33.127139],[103.269271,33.127194],[103.269151,33.127273],[103.269129,33.127287],[103.268921,33.127303],[103.26876,33.127282],[103.268534,33.127323],[103.268485,33.127332],[103.268308,33.127365],[103.268117,33.127401],[103.268081,33.127407],[103.268034,33.127416],[103.267855,33.127449],[103.267628,33.127491],[103.267402,33.127533],[103.267145,33.127593],[103.267089,33.127607],[103.266887,33.127654],[103.266842,33.127665],[103.266688,33.127701],[103.26663,33.127715],[103.266372,33.127776],[103.266114,33.127836],[103.265967,33.127871],[103.265893,33.127889],[103.265857,33.127897],[103.265834,33.127907],[103.265674,33.127975],[103.265614,33.128],[103.265371,33.128103],[103.265266,33.128181],[103.265116,33.128292],[103.264996,33.128483],[103.264992,33.128711],[103.264991,33.128734],[103.265001,33.128794],[103.265032,33.128985],[103.265043,33.129033],[103.265052,33.129074],[103.265096,33.129276],[103.265143,33.129516],[103.265166,33.129631],[103.265176,33.129684],[103.26519,33.129755],[103.265232,33.129967],[103.265182,33.130179],[103.264951,33.13033],[103.264697,33.130346],[103.264587,33.130345],[103.264506,33.130343],[103.264468,33.130343],[103.264283,33.130417],[103.264281,33.130514],[103.264321,33.130823],[103.264318,33.130946],[103.264317,33.131017],[103.264316,33.131054],[103.264289,33.131305],[103.264146,33.131534],[103.264043,33.131666],[103.264004,33.131716],[103.263981,33.131744],[103.263953,33.132014],[103.264016,33.132294],[103.26408,33.132575],[103.264213,33.132809],[103.264141,33.133001],[103.264094,33.133019],[103.264025,33.133018],[103.26366,33.132936],[103.263407,33.132952],[103.263154,33.132967],[103.262969,33.133023],[103.26283,33.133117],[103.262782,33.133232],[103.262821,33.133503],[103.262977,33.133795],[103.262984,33.133809],[103.263121,33.134067],[103.263265,33.134339],[103.263383,33.134732],[103.263393,33.134765],[103.263402,33.134819],[103.263455,33.135152],[103.263358,33.135382],[103.263243,33.135477],[103.26299,33.135493],[103.262932,33.135497],[103.262737,33.135509],[103.262484,33.135525],[103.262231,33.13554],[103.261978,33.135556],[103.261871,33.135563],[103.261726,33.135572],[103.261473,33.135587],[103.26114,33.135583],[103.260806,33.135579],[103.260629,33.135589],[103.260531,33.135594],[103.260365,33.135603],[103.260256,33.135609],[103.259956,33.135661],[103.25975,33.135732],[103.259713,33.135745],[103.25947,33.135829],[103.259283,33.136058],[103.259188,33.136231],[103.259172,33.136359],[103.259159,33.136463],[103.259213,33.136759],[103.259215,33.136769],[103.259283,33.137029],[103.259289,33.13705],[103.259363,33.137331],[103.259337,33.137562],[103.259265,33.137676],[103.259173,33.137713],[103.258943,33.137711],[103.258799,33.137684],[103.258714,33.137668],[103.258678,33.137665],[103.25837,33.137644],[103.25812,33.137674],[103.258073,33.137679],[103.257864,33.137753],[103.25777,33.137868],[103.257769,33.137929],[103.257761,33.138293],[103.257744,33.138502],[103.25773,33.138678],[103.257729,33.138758],[103.257726,33.138909],[103.257722,33.13914],[103.257651,33.139431],[103.257647,33.139449],[103.257489,33.139608],[103.257459,33.139639],[103.257136,33.139749],[103.256896,33.139803],[103.256895,33.139804],[103.256894,33.139804],[103.256824,33.13982],[103.256665,33.139855],[103.256653,33.139858],[103.256272,33.139921],[103.255892,33.139984],[103.255872,33.13999],[103.255521,33.140093],[103.255255,33.140175],[103.255221,33.140185],[103.255058,33.14032],[103.255003,33.140408],[103.254986,33.140434],[103.254984,33.140587],[103.254997,33.140678],[103.255025,33.140878],[103.255025,33.140879],[103.255025,33.14088],[103.255109,33.141168],[103.255171,33.141536],[103.255162,33.141979],[103.255091,33.142152],[103.255086,33.142169],[103.254969,33.142537],[103.254926,33.142593],[103.254837,33.142709],[103.254779,33.142785],[103.254777,33.142895],[103.254898,33.143119],[103.254922,33.143163],[103.254926,33.14317],[103.25501,33.143324],[103.25502,33.143342],[103.255174,33.143633],[103.255306,33.143886],[103.255322,33.144252],[103.255312,33.144352],[103.255295,33.144523],[103.255167,33.144795],[103.25515,33.144829],[103.255067,33.145093],[103.255028,33.145214],[103.255004,33.145288],[103.254973,33.145385],[103.254905,33.145597],[103.254821,33.145818],[103.254737,33.146039],[103.254593,33.146268],[103.25443,33.146421],[103.254316,33.146439],[103.254132,33.146435],[103.253927,33.146317],[103.253704,33.146044],[103.25367,33.145997],[103.253569,33.145859],[103.253528,33.145802],[103.253435,33.145674],[103.253425,33.145661],[103.253418,33.145653],[103.253289,33.145489],[103.253276,33.145472],[103.253158,33.145322],[103.253143,33.145303],[103.252957,33.145131],[103.252772,33.14496],[103.252658,33.144856],[103.252586,33.144789],[103.252563,33.144768],[103.2524,33.144617],[103.252289,33.144527],[103.252224,33.144475],[103.252049,33.144333],[103.251874,33.14419],[103.251699,33.144048],[103.251495,33.143939],[103.251291,33.143829],[103.251191,33.143835],[103.250991,33.143845],[103.250877,33.143862],[103.250778,33.144228],[103.25077,33.144594],[103.250796,33.144841],[103.250809,33.144961],[103.250873,33.145194],[103.250937,33.145426],[103.251003,33.145682],[103.251023,33.145756],[103.251016,33.146103],[103.251009,33.14645],[103.250798,33.146679],[103.250428,33.146828],[103.25015,33.146901],[103.249898,33.146878],[103.249647,33.146836],[103.249269,33.146715],[103.24911,33.146616],[103.248859,33.146555],[103.248608,33.146494],[103.248216,33.146585],[103.247983,33.146716],[103.247862,33.146985],[103.24786,33.147074],[103.247857,33.147224],[103.247856,33.147264],[103.24785,33.147543],[103.247779,33.147736],[103.24764,33.147792],[103.247319,33.147789],[103.247127,33.14774],[103.246908,33.147684],[103.246851,33.147673],[103.246725,33.147646],[103.246614,33.147623],[103.246519,33.147603],[103.246175,33.147617],[103.245888,33.14774],[103.245882,33.147743],[103.245827,33.147767],[103.245572,33.147936],[103.245293,33.148087],[103.245131,33.148143],[103.244993,33.148102],[103.244974,33.147947],[103.24498,33.147869],[103.244995,33.147701],[103.245003,33.147602],[103.245009,33.14733],[103.244994,33.147033],[103.244994,33.147024],[103.244992,33.147002],[103.244927,33.146828],[103.244723,33.146728],[103.244458,33.14674],[103.244402,33.146743],[103.244245,33.14678],[103.244171,33.146798],[103.244086,33.146889],[103.244029,33.14695],[103.243698,33.147213],[103.24347,33.147346],[103.243429,33.14736],[103.243124,33.147458],[103.243044,33.147471],[103.242686,33.147529],[103.242343,33.147505],[103.242068,33.147462],[103.241793,33.14742],[103.241718,33.147411],[103.241564,33.147393],[103.241515,33.147387],[103.241345,33.147367],[103.241335,33.147366],[103.241106,33.147338],[103.240877,33.147311],[103.240602,33.147269],[103.240473,33.147249],[103.240327,33.147226],[103.240278,33.147231],[103.239938,33.147259],[103.239589,33.147447],[103.239333,33.147617],[103.239207,33.147696],[103.239123,33.147749],[103.239022,33.147804],[103.238845,33.147899],[103.238614,33.147935],[103.238566,33.147939],[103.238481,33.147946],[103.238304,33.14796],[103.237995,33.147984],[103.237761,33.148008],[103.237527,33.148032],[103.237293,33.148056],[103.237059,33.148079],[103.236833,33.148148],[103.236608,33.148217],[103.236382,33.148286],[103.236157,33.148355],[103.235787,33.148472],[103.235736,33.148489],[103.235418,33.148589],[103.235048,33.148706],[103.234701,33.148843],[103.234354,33.148979],[103.234007,33.149116],[103.233599,33.149303],[103.233191,33.14949],[103.232783,33.149677],[103.232375,33.149864],[103.231968,33.150051],[103.231723,33.150128],[103.231479,33.150205],[103.231234,33.150282],[103.23099,33.150359],[103.230745,33.150436],[103.230501,33.150513],[103.230256,33.15059],[103.230012,33.150667],[103.229767,33.150744],[103.229523,33.150821],[103.229279,33.150898],[103.229034,33.150975],[103.228792,33.151042],[103.228682,33.151073],[103.228549,33.15111],[103.228539,33.151113],[103.228307,33.151178],[103.228064,33.151246],[103.227822,33.151314],[103.227579,33.151382],[103.227495,33.151406],[103.227337,33.15145],[103.227094,33.151518],[103.226852,33.151586],[103.22661,33.151654],[103.226533,33.151681],[103.226389,33.151733],[103.226168,33.151811],[103.225947,33.15189],[103.225726,33.151969],[103.225505,33.152047],[103.225284,33.152126],[103.225063,33.152205],[103.224842,33.152284],[103.224621,33.152362],[103.2244,33.152441],[103.224207,33.152507],[103.224169,33.15252],[103.223937,33.152598],[103.223821,33.152638],[103.223706,33.152677],[103.223475,33.152756],[103.223244,33.152835],[103.223013,33.152913],[103.222782,33.152992],[103.222551,33.153071],[103.222319,33.153149],[103.222088,33.153228],[103.221857,33.153307],[103.221626,33.153385],[103.221434,33.153451],[103.221395,33.153464],[103.221164,33.153543],[103.220932,33.153621],[103.220701,33.1537],[103.220463,33.153788],[103.220226,33.153875],[103.219988,33.153963],[103.21975,33.15405],[103.219512,33.154138],[103.219274,33.154226],[103.219036,33.154313],[103.218798,33.154401],[103.21856,33.154488],[103.218323,33.154576],[103.218085,33.154664],[103.217847,33.154751],[103.217609,33.154839],[103.217371,33.154926],[103.217117,33.155013],[103.216863,33.1551],[103.216609,33.155187],[103.216355,33.155274],[103.216101,33.155361],[103.215847,33.155448],[103.215593,33.155535],[103.215339,33.155622],[103.215085,33.155709],[103.214831,33.155796],[103.21478,33.155813],[103.214577,33.155883],[103.214323,33.155969],[103.214069,33.156048],[103.213815,33.156126],[103.21356,33.156205],[103.213306,33.156283],[103.212906,33.1564],[103.212505,33.156516],[103.212105,33.156633],[103.211889,33.156733],[103.211672,33.156833],[103.211456,33.156932],[103.211239,33.157032],[103.211023,33.157132],[103.210807,33.157232],[103.210436,33.15738],[103.210066,33.157528],[103.209672,33.157717],[103.209369,33.157906],[103.209229,33.158039],[103.208971,33.158331],[103.208712,33.158622],[103.208453,33.158914],[103.208265,33.159153],[103.208076,33.159391],[103.207845,33.159504],[103.207639,33.159483],[103.207388,33.159382],[103.207024,33.159202],[103.206706,33.159006],[103.206498,33.158905],[103.20629,33.158804],[103.206081,33.158703],[103.205873,33.158602],[103.205664,33.158501],[103.205456,33.158399],[103.205247,33.158298],[103.205039,33.158197],[103.204831,33.158096],[103.204622,33.157995],[103.204414,33.157894],[103.204205,33.157793],[103.203976,33.15769],[103.203747,33.157588],[103.203518,33.157485],[103.203289,33.157383],[103.20306,33.15728],[103.202831,33.157178],[103.202602,33.157075],[103.202373,33.156973],[103.202066,33.156834],[103.201758,33.156695],[103.201552,33.156671],[103.201207,33.156686],[103.200919,33.156778],[103.20063,33.15687],[103.200236,33.157019],[103.199959,33.157132],[103.199749,33.157264],[103.199539,33.157396],[103.199236,33.157674],[103.198932,33.157952],[103.198628,33.15823],[103.198435,33.158416],[103.198241,33.158602],[103.198048,33.158788],[103.197854,33.158974],[103.197726,33.15916],[103.197597,33.159347],[103.197469,33.159534],[103.19734,33.15972],[103.197212,33.159907],[103.197083,33.160094],[103.196955,33.16028],[103.196826,33.160467],[103.196697,33.160654],[103.196569,33.160841],[103.196435,33.161036],[103.196301,33.161232],[103.196166,33.161428],[103.196032,33.161624],[103.195898,33.16182],[103.195764,33.162016],[103.19563,33.162212],[103.195495,33.162408],[103.195361,33.162603],[103.195227,33.162799],[103.195093,33.162995],[103.194959,33.163191],[103.194805,33.163391],[103.194652,33.163592],[103.194418,33.163743],[103.194176,33.163846],[103.193933,33.163948],[103.193679,33.164012],[103.193425,33.164076],[103.193171,33.16414],[103.192917,33.164203],[103.192537,33.164304],[103.192156,33.164405],[103.191774,33.164553],[103.191391,33.164702],[103.191129,33.164785],[103.190868,33.164868],[103.190606,33.164951],[103.190344,33.165034],[103.190082,33.165117],[103.18982,33.1652],[103.189444,33.165333],[103.189068,33.165466],[103.188692,33.165598],[103.188664,33.165608],[103.188247,33.165766],[103.18783,33.165924],[103.187447,33.166122],[103.187064,33.166319],[103.186706,33.166553],[103.186347,33.166788],[103.186144,33.16692],[103.185919,33.167],[103.185693,33.167081],[103.185468,33.167161],[103.185242,33.167241],[103.185017,33.167321],[103.184791,33.167402],[103.184566,33.167482],[103.18434,33.167562],[103.184115,33.167643],[103.18389,33.167723],[103.183664,33.167803],[103.183439,33.167883],[103.183136,33.168032],[103.182811,33.168242],[103.182718,33.168317],[103.18262,33.168566],[103.182612,33.168952],[103.182605,33.169338],[103.18262,33.169666],[103.182643,33.170058],[103.182652,33.170215],[103.182658,33.170328],[103.182666,33.170451],[103.182688,33.170844],[103.182684,33.171076],[103.182683,33.171119],[103.18268,33.171249],[103.182672,33.171654],[103.182664,33.172059],[103.18266,33.172089],[103.182636,33.172289],[103.182608,33.172519],[103.18258,33.172749],[103.182552,33.172979],[103.182527,33.173065],[103.182484,33.173219],[103.182416,33.173459],[103.182348,33.173699],[103.18228,33.17394],[103.182206,33.174168],[103.182132,33.174397],[103.182059,33.174625],[103.181985,33.174854],[103.181912,33.175082],[103.18184,33.175305],[103.181838,33.175311],[103.181765,33.175539],[103.181691,33.175768],[103.181617,33.175996],[103.181597,33.17606],[103.181562,33.176168],[103.181544,33.176225],[103.181493,33.176452],[103.181442,33.17668],[103.181392,33.176907],[103.181341,33.177134],[103.18129,33.177362],[103.181239,33.177589],[103.181143,33.1778],[103.181046,33.17801],[103.18095,33.178221],[103.180854,33.178432],[103.180757,33.178642],[103.180661,33.178853],[103.180564,33.179063],[103.180468,33.179274],[103.180371,33.179485],[103.180275,33.179695],[103.180179,33.179906],[103.180082,33.180117],[103.180034,33.180334],[103.180033,33.180336],[103.180033,33.180338],[103.179987,33.180544],[103.179892,33.180972],[103.179797,33.181399],[103.179702,33.181827],[103.179645,33.182053],[103.179615,33.182175],[103.179589,33.182279],[103.179532,33.182505],[103.179476,33.182731],[103.179398,33.183173],[103.179392,33.183511],[103.179385,33.183849],[103.17933,33.184292],[103.17929,33.184542],[103.179251,33.184792],[103.179242,33.185236],[103.179282,33.185488],[103.179389,33.185874],[103.179565,33.186239],[103.17974,33.186604],[103.179837,33.186914],[103.179934,33.187224],[103.179926,33.18761],[103.179803,33.188032],[103.179611,33.188436],[103.179515,33.188652],[103.179419,33.188867],[103.179322,33.189083],[103.179226,33.189298],[103.179129,33.189514],[103.179033,33.189729],[103.178936,33.189945],[103.17884,33.19016],[103.178659,33.190523],[103.178478,33.190886],[103.178385,33.191315],[103.178292,33.191744],[103.178199,33.192173],[103.178147,33.192443],[103.178096,33.192712],[103.178086,33.193155],[103.178084,33.193573],[103.178082,33.193991],[103.178081,33.194409],[103.178083,33.194655],[103.178086,33.194901],[103.178088,33.195146],[103.178091,33.195392],[103.178093,33.195637],[103.178096,33.195883],[103.178098,33.196128],[103.178101,33.196374],[103.178103,33.19662],[103.178106,33.196865],[103.178108,33.197111],[103.178111,33.197356],[103.178071,33.1976],[103.178032,33.197844],[103.177992,33.198088],[103.177952,33.198332],[103.177913,33.198576],[103.177873,33.19882],[103.177822,33.199089],[103.177771,33.199358],[103.177685,33.199598],[103.177599,33.199838],[103.177513,33.200097],[103.177481,33.200193],[103.177427,33.200357],[103.177272,33.200673],[103.177116,33.200989],[103.176979,33.201214],[103.176843,33.201438],[103.176706,33.201663],[103.176569,33.201887],[103.176433,33.202112],[103.176296,33.202337],[103.176159,33.202561],[103.176155,33.202567],[103.176023,33.202786],[103.175884,33.203005],[103.175745,33.203224],[103.175606,33.203444],[103.175467,33.203663],[103.175328,33.203882],[103.175189,33.204102],[103.174969,33.20448],[103.174748,33.204857],[103.174528,33.205235],[103.174308,33.205613],[103.174164,33.20591],[103.17402,33.206207],[103.173965,33.206631],[103.173959,33.20692],[103.174021,33.20721],[103.174062,33.207451],[103.174103,33.207693],[103.174095,33.208074],[103.174087,33.208455],[103.174081,33.20875],[103.174075,33.209044],[103.174058,33.209324],[103.174041,33.209603],[103.174009,33.210027],[103.173977,33.210451],[103.173949,33.210682],[103.173921,33.210913],[103.173894,33.211144],[103.173866,33.211375],[103.173827,33.211615],[103.173788,33.211855],[103.173665,33.212163],[103.173487,33.212479],[103.173309,33.212795],[103.173235,33.213015],[103.173161,33.213235],[103.173061,33.21362],[103.173008,33.213976],[103.172975,33.21419],[103.172954,33.214332],[103.172919,33.21457],[103.172883,33.214807],[103.172848,33.215044],[103.172812,33.215282],[103.172777,33.215519],[103.172741,33.215756],[103.17271,33.215997],[103.172678,33.216238],[103.172646,33.216479],[103.172614,33.21672],[103.172582,33.216961],[103.17255,33.217201],[103.172511,33.217427],[103.172472,33.217653],[103.172433,33.217879],[103.172394,33.218105],[103.172354,33.218331],[103.172315,33.218557],[103.172276,33.218783],[103.172237,33.219008],[103.172172,33.219335],[103.172108,33.219662],[103.172031,33.220008],[103.172005,33.220139],[103.171981,33.220259],[103.17201,33.22051],[103.172039,33.220761],[103.172076,33.22099],[103.172114,33.221219],[103.172151,33.221448],[103.172189,33.221677],[103.172226,33.221906],[103.172263,33.222135],[103.172292,33.222386],[103.172322,33.222636],[103.172315,33.223003],[103.172283,33.223312],[103.172187,33.223638],[103.172123,33.223937],[103.17206,33.224235],[103.17199,33.224626],[103.17192,33.225017],[103.17185,33.225409],[103.171786,33.225736],[103.171723,33.226063],[103.171585,33.226412],[103.171447,33.226762],[103.17131,33.227112],[103.171248,33.227328],[103.171186,33.227544],[103.171124,33.22776],[103.171063,33.227977],[103.171044,33.228216],[103.171025,33.228454],[103.171006,33.228693],[103.170987,33.228932],[103.170969,33.229171],[103.17095,33.22941],[103.170931,33.229649],[103.170912,33.229888],[103.170893,33.230127],[103.170874,33.230366],[103.170834,33.230674],[103.170793,33.230983],[103.170694,33.23127],[103.170457,33.231635],[103.170315,33.231844],[103.170083,33.231974],[103.169683,33.232169],[103.169283,33.232364],[103.169072,33.232473],[103.168861,33.232582],[103.168808,33.232609],[103.168649,33.232691],[103.168441,33.232798],[103.168438,33.2328],[103.168226,33.232908],[103.168015,33.233017],[103.167804,33.233126],[103.167592,33.233235],[103.167381,33.233344],[103.167169,33.233452],[103.166962,33.233604],[103.166755,33.233755],[103.166549,33.233905],[103.166548,33.233906],[103.16634,33.234057],[103.166133,33.234208],[103.165926,33.234359],[103.165719,33.234511],[103.165512,33.234662],[103.165184,33.234933],[103.164857,33.235205],[103.16453,33.235477],[103.164352,33.235744],[103.164173,33.236011],[103.164077,33.236271],[103.16398,33.23653],[103.163833,33.236953],[103.163817,33.237184],[103.1638,33.237415],[103.163818,33.237722],[103.163835,33.238029],[103.163867,33.238286],[103.163899,33.238542],[103.163931,33.238798],[103.163963,33.239054],[103.163995,33.23931],[103.164027,33.239566],[103.164059,33.239822],[103.164091,33.240078],[103.164124,33.240326],[103.164157,33.240575],[103.16419,33.240823],[103.164224,33.241071],[103.164257,33.241319],[103.16429,33.241567],[103.164359,33.241809],[103.164429,33.242051],[103.164498,33.242293],[103.164568,33.242535],[103.164745,33.242866],[103.164922,33.243196],[103.165031,33.243507],[103.165045,33.243913],[103.165004,33.244259],[103.164962,33.244605],[103.164876,33.245033],[103.16479,33.245461],[103.164704,33.245889],[103.164676,33.24612],[103.164648,33.246351],[103.164639,33.246789],[103.16463,33.247226],[103.164622,33.247663],[103.164661,33.247915],[103.164795,33.248187],[103.164833,33.248534],[103.164826,33.248901],[103.164819,33.249267],[103.164742,33.249695],[103.164665,33.250122],[103.164661,33.250143],[103.164595,33.250396],[103.164529,33.250648],[103.164464,33.2509],[103.164398,33.251152],[103.164332,33.251405],[103.164266,33.251657],[103.164201,33.251909],[103.164135,33.252161],[103.164066,33.25243],[103.163997,33.252699],[103.163928,33.252968],[103.163859,33.253237],[103.163791,33.253506],[103.163722,33.253775],[103.163653,33.254044],[103.163584,33.254313],[103.163439,33.254678],[103.163293,33.255043],[103.163144,33.255241],[103.162995,33.255438],[103.162846,33.255636],[103.162697,33.255834],[103.162532,33.256027],[103.162368,33.256219],[103.162281,33.256321],[103.162203,33.256412],[103.162038,33.256604],[103.161873,33.256796],[103.161708,33.256989],[103.161543,33.257181],[103.161378,33.257374],[103.161214,33.257566],[103.161049,33.257758],[103.160865,33.257949],[103.16068,33.258139],[103.160496,33.25833],[103.160366,33.258464],[103.160312,33.25852],[103.160128,33.258711],[103.159944,33.258901],[103.15978,33.259032],[103.159665,33.25907],[103.159436,33.259047],[103.159184,33.258947],[103.158972,33.258805],[103.158889,33.25875],[103.158685,33.258621],[103.158481,33.258493],[103.158093,33.258313],[103.157886,33.25824],[103.157866,33.258233],[103.157498,33.258169],[103.157064,33.258125],[103.156754,33.25812],[103.156444,33.258116],[103.156144,33.25813],[103.155845,33.258145],[103.15558,33.258189],[103.155314,33.258234],[103.15508,33.258299],[103.154845,33.258365],[103.154698,33.258406],[103.154611,33.25843],[103.154376,33.258496],[103.154125,33.258538],[103.153873,33.258581],[103.153622,33.258623],[103.15337,33.258666],[103.153357,33.258668],[103.153156,33.258702],[103.153119,33.258708],[103.152867,33.25875],[103.152793,33.258763],[103.152727,33.258774],[103.152616,33.258793],[103.152443,33.258822],[103.152364,33.258835],[103.152113,33.258878],[103.151861,33.25892],[103.151434,33.259001],[103.151008,33.259081],[103.150581,33.259162],[103.150154,33.259243],[103.149923,33.259292],[103.149692,33.259342],[103.149461,33.259392],[103.14923,33.259441],[103.148907,33.259514],[103.148665,33.259539],[103.148626,33.259543],[103.148423,33.259564],[103.148181,33.259589],[103.147938,33.259615],[103.147752,33.259619],[103.147678,33.259621],[103.147418,33.259627],[103.147157,33.259633],[103.146897,33.259639],[103.146636,33.259645],[103.146376,33.259651],[103.146116,33.259657],[103.145855,33.259663],[103.145598,33.259655],[103.145341,33.259648],[103.145084,33.25964],[103.144827,33.259633],[103.14457,33.259626],[103.144313,33.259618],[103.144056,33.259611],[103.143799,33.259603],[103.143542,33.259596],[103.143285,33.259588],[103.143028,33.259581],[103.142771,33.259573],[103.142514,33.259566],[103.142257,33.259559],[103.141999,33.259551],[103.141742,33.259544],[103.141497,33.259543],[103.141252,33.259543],[103.141007,33.259542],[103.140762,33.259542],[103.140517,33.259541],[103.140272,33.259541],[103.140027,33.259541],[103.139781,33.25954],[103.139536,33.25954],[103.139291,33.259539],[103.139046,33.259539],[103.138801,33.259538],[103.138551,33.259533],[103.138302,33.259529],[103.138053,33.259524],[103.137803,33.259519],[103.137554,33.259514],[103.137304,33.259509],[103.137061,33.259504],[103.137055,33.259504],[103.136805,33.2595],[103.136556,33.259495],[103.136433,33.259492],[103.136306,33.25949],[103.136052,33.259463],[103.135797,33.259437],[103.135542,33.25941],[103.135287,33.259383],[103.135032,33.259357],[103.134778,33.25933],[103.134523,33.259303],[103.134405,33.259291],[103.134268,33.259277],[103.134013,33.25925],[103.133759,33.259224],[103.13352,33.259218],[103.133282,33.259213],[103.133044,33.259207],[103.132806,33.259202],[103.132567,33.259196],[103.132329,33.259191],[103.132091,33.259185],[103.131853,33.25918],[103.131776,33.259178],[103.131615,33.259174],[103.131376,33.259169],[103.131138,33.259163],[103.1309,33.259158],[103.130662,33.259152],[103.130423,33.259147],[103.130275,33.259149],[103.130017,33.259154],[103.12961,33.25916],[103.129346,33.259176],[103.129148,33.259188],[103.129082,33.259192],[103.12899,33.25921],[103.128849,33.259236],[103.128617,33.259279],[103.128359,33.25935],[103.128224,33.259388],[103.127831,33.259496],[103.127475,33.259602],[103.127447,33.25961],[103.127362,33.259636],[103.127118,33.259708],[103.126926,33.259766],[103.126762,33.259815],[103.126477,33.259898],[103.126193,33.259982],[103.125954,33.260052],[103.125716,33.260122],[103.125477,33.260192],[103.125239,33.260262],[103.125,33.260332],[103.124762,33.260402],[103.124667,33.26043],[103.124523,33.260472],[103.124285,33.260542],[103.124046,33.260612],[103.123808,33.260682],[103.12357,33.260752],[103.123331,33.260822],[103.122898,33.260922],[103.122465,33.261023],[103.122032,33.261123],[103.121688,33.261203],[103.121599,33.261224],[103.121206,33.261285],[103.120814,33.261346],[103.120367,33.261353],[103.120314,33.261352],[103.120314,33.261352],[103.120136,33.261349],[103.119905,33.261346],[103.119846,33.261341],[103.119489,33.261313],[103.119124,33.261281],[103.11871,33.261207],[103.118297,33.261133],[103.118267,33.261128],[103.117899,33.26106],[103.117657,33.26098],[103.117415,33.260899],[103.117174,33.260819],[103.116932,33.260738],[103.116563,33.260576],[103.116463,33.260532],[103.116291,33.260457],[103.116194,33.260415],[103.115826,33.260253],[103.115508,33.260141],[103.115191,33.260029],[103.11492,33.259998],[103.114649,33.259967],[103.114285,33.259948],[103.114246,33.259955],[103.113981,33.260003],[103.113879,33.260022],[103.113676,33.260059],[103.113339,33.260134],[103.113044,33.260162],[103.112748,33.260191],[103.112349,33.260185],[103.111976,33.26018],[103.11195,33.26018],[103.111715,33.260166],[103.111479,33.260153],[103.111244,33.260139],[103.111009,33.260126],[103.110782,33.260079],[103.110556,33.260032],[103.110329,33.259984],[103.110103,33.259937],[103.109732,33.259874],[103.109361,33.25981],[103.10899,33.259746],[103.108748,33.259692],[103.108506,33.259638],[103.108263,33.259584],[103.108021,33.25953],[103.107792,33.259467],[103.107563,33.259404],[103.107333,33.25934],[103.107104,33.259277],[103.106874,33.259214],[103.106645,33.25915],[103.106416,33.259087],[103.106186,33.259024],[103.105946,33.258961],[103.105706,33.258899],[103.105466,33.258837],[103.105225,33.258774],[103.104985,33.258712],[103.104745,33.25865],[103.104505,33.258587],[103.104265,33.258525],[103.104047,33.258462],[103.103829,33.258398],[103.103611,33.258334],[103.103393,33.258271],[103.103172,33.258195],[103.103161,33.258191],[103.103086,33.258166],[103.103074,33.258161],[103.103045,33.258151],[103.102943,33.258117],[103.10288,33.258095],[103.102696,33.258032],[103.102418,33.257934],[103.102141,33.257836],[103.101726,33.257685],[103.101312,33.257535],[103.100898,33.257384],[103.100494,33.25722],[103.100091,33.257056],[103.099688,33.256892],[103.099284,33.256728],[103.098871,33.256628],[103.098459,33.256529],[103.098046,33.256429],[103.097633,33.256329],[103.09737,33.256289],[103.097106,33.25625],[103.096787,33.256219],[103.096488,33.256259],[103.096268,33.256288],[103.096188,33.256298],[103.09613,33.256316],[103.096116,33.256321],[103.096084,33.256348],[103.096083,33.256266],[103.096067,33.256109],[103.095962,33.25579],[103.095859,33.255611],[103.095668,33.255422],[103.095583,33.255369],[103.095397,33.255293],[103.095352,33.255273],[103.095227,33.25524],[103.095123,33.255228],[103.095045,33.255226],[103.094972,33.255226],[103.094871,33.255247],[103.094766,33.255283],[103.09468,33.255315],[103.094616,33.255352],[103.0946,33.255361],[103.094524,33.255409],[103.09443,33.255476],[103.094362,33.255544],[103.094187,33.255693],[103.094098,33.255785],[103.094051,33.25584],[103.09397,33.255932],[103.093769,33.255827],[103.093842,33.255707],[103.093804,33.255707],[103.09378,33.255712],[103.093745,33.255719],[103.093717,33.255731],[103.093655,33.255764],[103.093575,33.255705],[103.093252,33.255466],[103.093182,33.255414],[103.092823,33.255148],[103.092666,33.254847],[103.092564,33.254652],[103.092421,33.254379],[103.092367,33.254264],[103.092359,33.254247],[103.092194,33.253895],[103.091881,33.253429],[103.091277,33.252985],[103.091204,33.252875],[103.091151,33.252795],[103.091058,33.252656],[103.091077,33.251787],[103.09112,33.251642],[103.091286,33.251084],[103.091336,33.25027],[103.091229,33.249624],[103.091106,33.249389],[103.090949,33.24909],[103.090882,33.24904],[103.090861,33.249024],[103.090608,33.248838],[103.090575,33.248813],[103.090329,33.248632],[103.089895,33.248544],[103.089704,33.248606],[103.089398,33.248706],[103.089358,33.248719],[103.089247,33.248829],[103.08883,33.249243],[103.088817,33.249256],[103.088816,33.249256],[103.088729,33.249343],[103.088728,33.249343],[103.088721,33.24935],[103.08859,33.249481],[103.088346,33.249678],[103.088269,33.249741],[103.088002,33.249757],[103.087786,33.249652],[103.087784,33.249646],[103.087783,33.249642],[103.087711,33.249408],[103.08767,33.249402],[103.087635,33.249395],[103.087608,33.24938],[103.087603,33.249357],[103.087619,33.249334],[103.087682,33.249314],[103.087673,33.249284],[103.087685,33.248725],[103.087685,33.248704],[103.087686,33.248673],[103.087619,33.248493],[103.087594,33.248427],[103.08738,33.248455],[103.087366,33.248406],[103.087344,33.248379],[103.087309,33.248372],[103.087267,33.248361],[103.087235,33.248413],[103.087184,33.248481],[103.087035,33.2485],[103.086823,33.24852],[103.086523,33.248548],[103.086477,33.248552],[103.086387,33.248554],[103.086052,33.248559],[103.085822,33.248563],[103.085645,33.248507],[103.085003,33.248306],[103.084261,33.247887],[103.084235,33.247868],[103.084217,33.247855],[103.083928,33.247652],[103.08376,33.247533],[103.083719,33.247186],[103.08395,33.246864],[103.084142,33.246792],[103.0845,33.246658],[103.084995,33.246483],[103.085379,33.246351],[103.085801,33.246174],[103.085975,33.246138],[103.086052,33.246147],[103.086194,33.24617],[103.0863,33.246182],[103.086428,33.246182],[103.086539,33.246182],[103.086683,33.246157],[103.086814,33.246122],[103.086943,33.246081],[103.087027,33.246056],[103.087076,33.246056],[103.087303,33.245946],[103.087356,33.245968],[103.087372,33.245959],[103.087416,33.245933],[103.087463,33.245911],[103.0875,33.245888],[103.087561,33.245853],[103.087593,33.24584],[103.087614,33.245824],[103.087607,33.245798],[103.087788,33.24571],[103.087851,33.245679],[103.08805,33.245582],[103.08834,33.245273],[103.088306,33.245224],[103.088296,33.245173],[103.088294,33.245131],[103.088296,33.24512],[103.088307,33.245079],[103.08834,33.245031],[103.088365,33.24502],[103.088406,33.245035],[103.088445,33.245086],[103.08848,33.245123],[103.088527,33.245073],[103.088561,33.245036],[103.088572,33.245025],[103.088878,33.244814],[103.08932,33.244508],[103.089328,33.244502],[103.089341,33.2445],[103.08942,33.244487],[103.08973,33.244436],[103.08974,33.244463],[103.089752,33.24448],[103.089776,33.244494],[103.089812,33.244501],[103.089852,33.2445],[103.089894,33.244499],[103.089934,33.244497],[103.089965,33.244502],[103.089991,33.244511],[103.090046,33.244537],[103.090102,33.244548],[103.090176,33.244558],[103.09025,33.244564],[103.090299,33.244561],[103.09038,33.244557],[103.090472,33.244538],[103.09053,33.244517],[103.090563,33.244491],[103.090583,33.244461],[103.0906,33.24443],[103.090912,33.244451],[103.090967,33.244466],[103.091544,33.244628],[103.091934,33.244669],[103.092233,33.2447],[103.092251,33.244694],[103.092437,33.244641],[103.092837,33.244526],[103.093037,33.244345],[103.093321,33.24409],[103.093523,33.24391],[103.093569,33.243437],[103.093453,33.242923],[103.093421,33.242783],[103.09342,33.242778],[103.093305,33.242533],[103.093301,33.242525],[103.093072,33.242039],[103.092683,33.241544],[103.092386,33.241005],[103.092327,33.240806],[103.092307,33.24074],[103.092267,33.240606],[103.092473,33.24035],[103.092486,33.240345],[103.092525,33.240332],[103.092608,33.240354],[103.092764,33.240367],[103.092893,33.240343],[103.093065,33.240286],[103.093182,33.240235],[103.093203,33.24022],[103.093265,33.240223],[103.093711,33.240246],[103.094458,33.240168],[103.094604,33.240153],[103.09465,33.240131],[103.094674,33.240119],[103.095431,33.239753],[103.095508,33.23975],[103.095525,33.239749],[103.095589,33.239747],[103.095763,33.239739],[103.095795,33.239738],[103.095986,33.239892],[103.096064,33.239941],[103.096112,33.239932],[103.096243,33.240104],[103.096892,33.24112],[103.097318,33.241479],[103.097325,33.241485],[103.097327,33.241487],[103.097363,33.241517],[103.097427,33.241571],[103.097685,33.241568],[103.097955,33.241564],[103.098125,33.241276],[103.097887,33.240527],[103.097885,33.240519],[103.097852,33.240417],[103.097794,33.240092],[103.097739,33.239789],[103.097771,33.239638],[103.097791,33.239548],[103.09788,33.239134],[103.098144,33.238772],[103.098255,33.23862],[103.098347,33.238579],[103.098348,33.238579],[103.098535,33.238496],[103.098599,33.238467],[103.098623,33.238457],[103.098626,33.238444],[103.098694,33.238166],[103.09873,33.238018],[103.099339,33.237771],[103.099892,33.237211],[103.100003,33.237054],[103.100005,33.236738],[103.099791,33.236551],[103.099157,33.236404],[103.09891,33.236552],[103.098702,33.236676],[103.098607,33.236733],[103.09831,33.23691],[103.098183,33.237006],[103.09764,33.237417],[103.09754,33.237492],[103.097479,33.237539],[103.09722,33.237749],[103.097192,33.237772],[103.097072,33.237869],[103.096977,33.237861],[103.096928,33.237856],[103.096885,33.237802],[103.096791,33.237769],[103.096656,33.23776],[103.096569,33.23777],[103.096439,33.237676],[103.09642,33.23759],[103.096373,33.237385],[103.096541,33.237126],[103.096548,33.237115],[103.09658,33.237067],[103.096642,33.23702],[103.097153,33.236633],[103.097415,33.236286],[103.097298,33.236126],[103.097256,33.236069],[103.097226,33.236057],[103.096823,33.235886],[103.09677,33.235863],[103.09656,33.235827],[103.09651,33.235776],[103.096461,33.235733],[103.096329,33.235652],[103.096252,33.235624],[103.096155,33.235592],[103.096051,33.235563],[103.095987,33.235544],[103.095945,33.235528],[103.095926,33.235521],[103.095876,33.235499],[103.095816,33.235462],[103.095766,33.235437],[103.095684,33.235412],[103.095648,33.235405],[103.095601,33.235402],[103.095446,33.235188],[103.095433,33.235172],[103.095263,33.234939],[103.095281,33.234628],[103.095291,33.234466],[103.095314,33.234396],[103.095288,33.234339],[103.095307,33.234211],[103.095327,33.234115],[103.095369,33.233996],[103.095392,33.233918],[103.095427,33.233831],[103.095446,33.233682],[103.095547,33.233553],[103.095505,33.233459],[103.095344,33.233096],[103.095287,33.232969],[103.094936,33.232413],[103.094911,33.231893],[103.095046,33.231529],[103.095121,33.231468],[103.095188,33.231414],[103.09527,33.231347],[103.095388,33.231375],[103.095468,33.231383],[103.09555,33.231379],[103.095626,33.23137],[103.095737,33.231346],[103.095799,33.231303],[103.095845,33.231263],[103.096214,33.231302],[103.096359,33.231365],[103.09642,33.231365],[103.096522,33.231383],[103.09662,33.231412],[103.096787,33.231478],[103.09715,33.231639],[103.097265,33.231699],[103.097318,33.23174],[103.097324,33.231742],[103.097881,33.231868],[103.0979,33.231872],[103.097934,33.231907],[103.098016,33.231963],[103.098153,33.232022],[103.09829,33.232067],[103.098442,33.232104],[103.098594,33.232107],[103.098728,33.232107],[103.098755,33.232122],[103.098956,33.232232],[103.099155,33.23234],[103.099344,33.232369],[103.099787,33.232437],[103.099925,33.232418],[103.100119,33.232345],[103.100277,33.232264],[103.100442,33.232165],[103.100545,33.232049],[103.100632,33.23193],[103.10069,33.231778],[103.100749,33.231626],[103.100771,33.231443],[103.100749,33.231288],[103.10072,33.231157],[103.100718,33.231151],[103.100688,33.231119],[103.100689,33.231104],[103.100689,33.231081],[103.100684,33.231063],[103.100655,33.230996],[103.100614,33.230895],[103.100579,33.230837],[103.100568,33.230821],[103.100528,33.230765],[103.100463,33.230692],[103.100409,33.230632],[103.100366,33.230599],[103.100326,33.230579],[103.100289,33.230561],[103.100202,33.23052],[103.100121,33.230493],[103.100051,33.230478],[103.099744,33.230109],[103.099552,33.229709],[103.099325,33.22928],[103.099287,33.229126],[103.099295,33.228928],[103.099287,33.228849],[103.099292,33.228707],[103.099295,33.228594],[103.098932,33.22835],[103.098532,33.228213],[103.098486,33.228197],[103.098138,33.228078],[103.098091,33.228076],[103.098058,33.228058],[103.098002,33.228044],[103.097926,33.228043],[103.097831,33.228048],[103.097757,33.228052],[103.097723,33.228063],[103.097421,33.228052],[103.097357,33.228118],[103.097287,33.228165],[103.097209,33.228193],[103.097134,33.2282],[103.097034,33.228201],[103.096794,33.228165],[103.096658,33.228128],[103.096628,33.228131],[103.096444,33.228134],[103.096436,33.228135],[103.096376,33.228103],[103.096223,33.228053],[103.096131,33.228036],[103.096073,33.228025],[103.095927,33.228014],[103.095804,33.228019],[103.095724,33.228028],[103.095649,33.228009],[103.095272,33.22782],[103.095262,33.22781],[103.095094,33.227619],[103.095555,33.22732],[103.095665,33.227304],[103.095695,33.2273],[103.095741,33.227323],[103.095831,33.227359],[103.095937,33.227377],[103.096029,33.227385],[103.096149,33.227384],[103.096229,33.227373],[103.096347,33.227339],[103.096425,33.2273],[103.096527,33.227243],[103.096586,33.227188],[103.096622,33.227148],[103.096666,33.227085],[103.096704,33.226972],[103.096784,33.226809],[103.09683,33.226647],[103.096919,33.226408],[103.096745,33.226101],[103.09669,33.226065],[103.096709,33.226027],[103.096725,33.225978],[103.096735,33.225903],[103.096734,33.225832],[103.096719,33.225773],[103.096691,33.225713],[103.096667,33.225676],[103.096638,33.225651],[103.0966,33.225634],[103.096537,33.225627],[103.096491,33.225626],[103.096384,33.22567],[103.096334,33.225706],[103.096315,33.225718],[103.096297,33.22573],[103.096264,33.225744],[103.096224,33.225756],[103.095934,33.225483],[103.095913,33.225464],[103.09578,33.225338],[103.095644,33.225207],[103.095442,33.225012],[103.095378,33.224614],[103.09537,33.224363],[103.095369,33.224345],[103.09542,33.224401],[103.095476,33.224429],[103.095539,33.224448],[103.095604,33.224454],[103.09572,33.224456],[103.095818,33.22444],[103.095875,33.224422],[103.095932,33.224394],[103.09594,33.224397],[103.096048,33.224451],[103.09609,33.224472],[103.096477,33.224672],[103.096538,33.22466],[103.096581,33.22463],[103.096611,33.224584],[103.096632,33.224553],[103.096663,33.224547],[103.096716,33.224561],[103.09679,33.224609],[103.096851,33.224655],[103.096861,33.224691],[103.096861,33.224728],[103.096842,33.224777],[103.096991,33.224807],[103.09712,33.224732],[103.097104,33.224577],[103.097097,33.224505],[103.09709,33.224442],[103.096969,33.22413],[103.096935,33.224042],[103.096815,33.223719],[103.0971,33.223158],[103.097457,33.222587],[103.097471,33.222561],[103.097342,33.221965],[103.097163,33.221866],[103.097175,33.221786],[103.09716,33.221682],[103.097135,33.221597],[103.097086,33.221531],[103.097043,33.221491],[103.096986,33.221467],[103.096929,33.221462],[103.09672,33.221477],[103.096561,33.221496],[103.096425,33.22151],[103.096285,33.221519],[103.096141,33.221538],[103.095763,33.221463],[103.094547,33.22123],[103.093765,33.221058],[103.093642,33.221031],[103.093632,33.22102],[103.093591,33.220984],[103.093548,33.220946],[103.093483,33.220904],[103.093251,33.220765],[103.093155,33.220711],[103.093087,33.220684],[103.093031,33.220665],[103.092978,33.220654],[103.092932,33.220641],[103.092636,33.220322],[103.09257,33.220251],[103.092511,33.220188],[103.092495,33.220173],[103.09249,33.219883],[103.092484,33.219656],[103.092484,33.219643],[103.092482,33.219551],[103.092929,33.219031],[103.092939,33.219019],[103.09321,33.218703],[103.093205,33.218526],[103.093201,33.218384],[103.093214,33.218354],[103.093224,33.218296],[103.093224,33.218229],[103.093223,33.218182],[103.093206,33.218121],[103.093176,33.218056],[103.093082,33.217944],[103.092979,33.217875],[103.092896,33.217811],[103.0928,33.21776],[103.092743,33.217743],[103.092713,33.217735],[103.092636,33.217668],[103.092437,33.217502],[103.092421,33.217488],[103.09238,33.217454],[103.091967,33.217109],[103.091862,33.216351],[103.091844,33.216224],[103.091756,33.215721],[103.091606,33.215711],[103.091622,33.215637],[103.091658,33.215388],[103.091641,33.215074],[103.091568,33.214682],[103.091566,33.214668],[103.091067,33.214685],[103.091044,33.214685],[103.090846,33.214692],[103.090105,33.214456],[103.090102,33.214434],[103.090071,33.214221],[103.090069,33.214208],[103.090059,33.214143],[103.090215,33.213892],[103.090501,33.213433],[103.090518,33.213398],[103.090723,33.212989],[103.090615,33.212914],[103.09061,33.21291],[103.090461,33.212806],[103.090418,33.212822],[103.089959,33.212995],[103.089609,33.213127],[103.089597,33.213132],[103.089548,33.21315],[103.08933,33.213327],[103.089287,33.213362],[103.089281,33.213397],[103.089207,33.213476],[103.089024,33.213628],[103.088898,33.213677],[103.088854,33.213688],[103.088595,33.213749],[103.088578,33.213753],[103.088473,33.213777],[103.088362,33.213803],[103.088319,33.213355],[103.088435,33.212909],[103.088515,33.212841],[103.088538,33.212821],[103.088552,33.212809],[103.088567,33.212796],[103.088595,33.212772],[103.089001,33.212424],[103.089357,33.212118],[103.089793,33.211677],[103.089768,33.211352],[103.089752,33.211139],[103.08963,33.211104],[103.089515,33.21107],[103.089505,33.211067],[103.08945,33.211051],[103.089103,33.21095],[103.0888,33.211058],[103.088718,33.211004],[103.088654,33.210987],[103.088594,33.210987],[103.088509,33.211018],[103.088428,33.211072],[103.088358,33.211118],[103.088284,33.211175],[103.088214,33.211253],[103.088166,33.211322],[103.088134,33.211368],[103.087483,33.211797],[103.087409,33.211845],[103.087138,33.212024],[103.087082,33.21206],[103.086974,33.212107],[103.086918,33.212132],[103.086863,33.212205],[103.086809,33.212274],[103.086749,33.21234],[103.086675,33.212388],[103.086579,33.212419],[103.086487,33.212438],[103.086416,33.212429],[103.08628,33.212369],[103.086132,33.212289],[103.086012,33.212196],[103.085956,33.212135],[103.085904,33.21204],[103.085868,33.211953],[103.085862,33.21189],[103.085868,33.211806],[103.085892,33.211741],[103.085923,33.211687],[103.085928,33.211682],[103.085894,33.211606],[103.085838,33.211467],[103.085768,33.21129],[103.085705,33.211133],[103.085233,33.21079],[103.084809,33.211178],[103.084655,33.211319],[103.084646,33.211327],[103.084296,33.211648],[103.084106,33.211842],[103.08384,33.212116],[103.08364,33.212147],[103.083309,33.212205],[103.082946,33.212355],[103.082484,33.212292],[103.082311,33.212262],[103.082211,33.21222],[103.082156,33.212156],[103.082149,33.212129],[103.082133,33.212066],[103.082129,33.211944],[103.082143,33.211857],[103.082168,33.211786],[103.082181,33.211758],[103.082177,33.21175],[103.082421,33.211445],[103.082548,33.211232],[103.082618,33.210733],[103.082694,33.210516],[103.082724,33.210421],[103.082793,33.210313],[103.082863,33.210232],[103.082996,33.210085],[103.083094,33.209968],[103.083195,33.209848],[103.083301,33.209763],[103.083403,33.209732],[103.08346,33.209738],[103.083535,33.209788],[103.083589,33.209832],[103.083671,33.209884],[103.083821,33.209821],[103.083986,33.209752],[103.084099,33.209766],[103.084202,33.209769],[103.084253,33.209761],[103.084287,33.209739],[103.084356,33.209695],[103.0845,33.209603],[103.084466,33.209557],[103.084403,33.209471],[103.084455,33.209414],[103.084512,33.209245],[103.084538,33.209077],[103.084523,33.208973],[103.084457,33.208862],[103.084357,33.20886],[103.084195,33.208844],[103.084071,33.208828],[103.083913,33.208796],[103.0838,33.208759],[103.083783,33.208807],[103.083445,33.208513],[103.083185,33.20825],[103.082703,33.207763],[103.082431,33.207171],[103.082283,33.20685],[103.082276,33.206795],[103.082209,33.20634],[103.082023,33.205058],[103.082133,33.204598],[103.082598,33.204817],[103.082716,33.2049],[103.083043,33.20513],[103.083251,33.205276],[103.083355,33.205349],[103.083512,33.205459],[103.083541,33.20545],[103.083534,33.205638],[103.083577,33.205667],[103.083681,33.205639],[103.083937,33.2055],[103.08418,33.20523],[103.084369,33.205068],[103.084458,33.204939],[103.084434,33.204851],[103.084471,33.20473],[103.084496,33.204653],[103.084546,33.204601],[103.084662,33.204581],[103.084751,33.204513],[103.08475,33.204377],[103.084741,33.204302],[103.084768,33.204206],[103.084809,33.204158],[103.084919,33.204119],[103.08492,33.204071],[103.084748,33.203715],[103.084665,33.203739],[103.084467,33.203797],[103.08441,33.203814],[103.084268,33.203856],[103.084175,33.203883],[103.084149,33.203898],[103.083508,33.204275],[103.083178,33.20427],[103.083152,33.204185],[103.083046,33.203846],[103.082942,33.20351],[103.082759,33.203546],[103.082527,33.203537],[103.082453,33.203514],[103.082379,33.203491],[103.082263,33.203352],[103.082164,33.203194],[103.082119,33.203097],[103.082112,33.203],[103.082111,33.202899],[103.082113,33.202857],[103.082116,33.202755],[103.082127,33.202666],[103.082153,33.202553],[103.0822,33.202403],[103.082246,33.202247],[103.082285,33.202088],[103.082302,33.201969],[103.082301,33.201884],[103.082276,33.20179],[103.082184,33.201616],[103.082138,33.201509],[103.082133,33.201491],[103.082113,33.201417],[103.082114,33.201326],[103.082127,33.201252],[103.082164,33.201173],[103.082175,33.20115],[103.08222,33.201098],[103.082332,33.201038],[103.082386,33.201009],[103.082419,33.200969],[103.082445,33.200929],[103.082465,33.200898],[103.082499,33.200811],[103.082583,33.200607],[103.082688,33.200272],[103.082741,33.20011],[103.082788,33.200041],[103.082862,33.199997],[103.082892,33.199956],[103.082907,33.199878],[103.082924,33.199781],[103.083003,33.199518],[103.083005,33.199443],[103.083008,33.199311],[103.083035,33.199121],[103.083042,33.198998],[103.083059,33.198872],[103.083084,33.198775],[103.08312,33.198664],[103.083157,33.198507],[103.083177,33.198456],[103.083068,33.198351],[103.082963,33.198341],[103.082971,33.198278],[103.082961,33.19822],[103.082945,33.19817],[103.082921,33.198124],[103.082865,33.19809],[103.082786,33.198074],[103.082699,33.198079],[103.082697,33.198082],[103.08262,33.198143],[103.082555,33.198217],[103.082489,33.198296],[103.08244,33.198291],[103.082099,33.198428],[103.081888,33.198513],[103.081715,33.198582],[103.081234,33.198676],[103.081144,33.198634],[103.081137,33.19863],[103.080895,33.198517],[103.080789,33.198467],[103.080688,33.19829],[103.080676,33.198268],[103.080587,33.198112],[103.080539,33.197582],[103.080742,33.197243],[103.080943,33.196909],[103.081085,33.196772],[103.081124,33.196732],[103.08127,33.196648],[103.081251,33.196628],[103.081241,33.1966],[103.081331,33.196609],[103.081491,33.196606],[103.081622,33.196605],[103.081785,33.196592],[103.081945,33.196573],[103.082137,33.196549],[103.08222,33.196539],[103.082357,33.196523],[103.082365,33.196522],[103.082591,33.196513],[103.082739,33.196522],[103.0831,33.196536],[103.083266,33.196556],[103.083383,33.196555],[103.083446,33.196549],[103.083663,33.196439],[103.083729,33.196406],[103.083859,33.196239],[103.083887,33.196067],[103.083875,33.195878],[103.083847,33.195835],[103.083755,33.195693],[103.083651,33.195652],[103.083626,33.195557],[103.083614,33.195485],[103.083584,33.19541],[103.083544,33.195327],[103.083501,33.195271],[103.083421,33.195206],[103.083358,33.195175],[103.08331,33.195161],[103.083254,33.195153],[103.083191,33.195164],[103.083142,33.195189],[103.083133,33.195194],[103.083076,33.195224],[103.082981,33.19525],[103.082857,33.195266],[103.082723,33.195284],[103.082217,33.195077],[103.082174,33.19506],[103.082122,33.195038],[103.08197,33.194802],[103.081953,33.194776],[103.081745,33.194453],[103.081883,33.19365],[103.082907,33.192671],[103.083553,33.19224],[103.083448,33.191924],[103.083076,33.191792],[103.083019,33.1918],[103.082976,33.191806],[103.082902,33.191816],[103.082716,33.191841],[103.082695,33.191768],[103.082677,33.191719],[103.082653,33.191658],[103.08263,33.191599],[103.082596,33.191542],[103.082555,33.191513],[103.082516,33.191495],[103.082488,33.191492],[103.082451,33.191505],[103.082398,33.191543],[103.082392,33.191547],[103.082329,33.19159],[103.082112,33.191757],[103.082066,33.19181],[103.081958,33.191902],[103.081899,33.191938],[103.081886,33.191938],[103.081721,33.191943],[103.081351,33.191955],[103.080867,33.191821],[103.08084,33.191756],[103.080836,33.191745],[103.080823,33.191713],[103.080751,33.191537],[103.080745,33.191523],[103.080725,33.191473],[103.080742,33.191309],[103.080772,33.191033],[103.081422,33.190414],[103.081577,33.190154],[103.081888,33.189634],[103.081952,33.189281],[103.081956,33.189255],[103.082014,33.188936],[103.082058,33.188692],[103.082092,33.188588],[103.082203,33.188242],[103.082383,33.187679],[103.082395,33.187642],[103.08246,33.187439],[103.082559,33.187315],[103.082806,33.187004],[103.083301,33.186533],[103.084335,33.185548],[103.084533,33.185342],[103.084871,33.18499],[103.085001,33.184174],[103.08506,33.183867],[103.08515,33.183397],[103.08519,33.183189],[103.085192,33.183183],[103.08527,33.183026],[103.085324,33.182877],[103.085289,33.182678],[103.085297,33.182636],[103.085202,33.181848],[103.085211,33.181768],[103.085214,33.181739],[103.085248,33.181439],[103.08563,33.181099],[103.086823,33.180677],[103.087252,33.180526],[103.087304,33.180507],[103.087594,33.180405],[103.087701,33.180367],[103.088874,33.179953],[103.090478,33.179431],[103.090721,33.179352],[103.091267,33.179046],[103.092198,33.178525],[103.092959,33.17797],[103.093047,33.17776],[103.093354,33.177032],[103.093441,33.175994],[103.093454,33.175837],[103.093422,33.175514],[103.093373,33.175038],[103.093362,33.174923],[103.093372,33.174438],[103.093379,33.174136],[103.093383,33.173386],[103.093385,33.172831],[103.093389,33.172164],[103.09339,33.171902],[103.09339,33.171894],[103.093337,33.170894],[103.093294,33.170724],[103.093096,33.169946],[103.092237,33.168139],[103.09211,33.167067],[103.092069,33.166813],[103.092005,33.166424],[103.091888,33.166253],[103.091808,33.166057],[103.091714,33.165909],[103.09152,33.165732],[103.091433,33.165645],[103.091443,33.165639],[103.091591,33.165584],[103.09182,33.1656],[103.091888,33.165537],[103.091883,33.165497],[103.091772,33.164486],[103.091756,33.164341],[103.091701,33.163844],[103.09157,33.162652],[103.09159,33.161708],[103.091754,33.161517],[103.09225,33.160935],[103.092612,33.160511],[103.09305,33.159999],[103.093483,33.159257],[103.093633,33.159001],[103.093905,33.158502],[103.093906,33.158476],[103.093917,33.157965],[103.093918,33.157935],[103.093868,33.157689],[103.093816,33.15743],[103.093466,33.157091],[103.093157,33.15679],[103.092615,33.155869],[103.09188,33.155292],[103.091088,33.154546],[103.090963,33.154428],[103.090573,33.153681],[103.090474,33.153492],[103.090636,33.153434],[103.091011,33.153279],[103.091137,33.153141],[103.091142,33.152998],[103.09107,33.152903],[103.091019,33.15284],[103.090998,33.152814],[103.090868,33.152624],[103.09081,33.152518],[103.090656,33.152496],[103.090263,33.152222],[103.090206,33.152182],[103.090161,33.15174],[103.090067,33.150889],[103.089882,33.150504],[103.089566,33.149843],[103.089539,33.14979],[103.089382,33.149484],[103.08933,33.149383],[103.089146,33.149024],[103.088996,33.148731],[103.088994,33.148728],[103.088571,33.147901],[103.088687,33.147881],[103.088967,33.147656],[103.089075,33.14754],[103.08918,33.147425],[103.089426,33.147278],[103.089447,33.147234],[103.089483,33.147159],[103.089233,33.147077],[103.088753,33.147005],[103.0884,33.146937],[103.08805,33.146885],[103.087456,33.145725],[103.087435,33.145684],[103.08696,33.144758],[103.086859,33.144561],[103.086857,33.144555],[103.08612,33.143117],[103.085918,33.142236],[103.08591,33.142201],[103.085881,33.142075],[103.085825,33.14194],[103.085691,33.14185],[103.085621,33.141764],[103.085523,33.141687],[103.085437,33.141634],[103.085415,33.141544],[103.085452,33.141455],[103.085472,33.141386],[103.085475,33.141297],[103.085465,33.141064],[103.085444,33.140803],[103.085421,33.140686],[103.085389,33.140536],[103.085354,33.14045],[103.085315,33.140379],[103.085224,33.140233],[103.085129,33.140151],[103.085072,33.140113],[103.084857,33.139622],[103.084226,33.138185],[103.084166,33.138143],[103.084086,33.138087],[103.084016,33.137963],[103.083958,33.137849],[103.083871,33.137692],[103.083836,33.137593],[103.083754,33.137388],[103.083655,33.137189],[103.083504,33.136861],[103.083405,33.136675],[103.083375,33.136533],[103.083459,33.136435],[103.082831,33.136079],[103.082068,33.135976],[103.082047,33.135973],[103.081307,33.135615],[103.080146,33.135692],[103.078205,33.135473],[103.075937,33.13484],[103.075345,33.134516],[103.074911,33.133848],[103.074899,33.133736],[103.07474,33.13361],[103.07465,33.13355],[103.074526,33.133497],[103.074453,33.133441],[103.074413,33.133348],[103.074404,33.133266],[103.074424,33.133219],[103.074522,33.1332],[103.074696,33.133199],[103.074849,33.133249],[103.074212,33.131571],[103.074197,33.131547],[103.074196,33.131545],[103.074176,33.131514],[103.073944,33.131144],[103.073888,33.131056],[103.073453,33.130363],[103.072174,33.12899],[103.070755,33.128874],[103.069706,33.128952],[103.067463,33.128854],[103.066639,33.128904],[103.065744,33.128796],[103.065495,33.128226],[103.064328,33.125155],[103.063434,33.124983],[103.062842,33.125031],[103.061785,33.125115],[103.06006,33.125308],[103.058862,33.125353],[103.057211,33.125579],[103.05683,33.12561],[103.0556,33.125711],[103.055351,33.125736],[103.055303,33.125741],[103.054513,33.12582],[103.053574,33.125963],[103.052377,33.125975],[103.051291,33.126053],[103.05046,33.126324],[103.049821,33.126533],[103.049737,33.126538],[103.049724,33.126539],[103.049416,33.126555],[103.048939,33.126581],[103.048922,33.126582],[103.048322,33.126667],[103.047872,33.126786],[103.047852,33.126782],[103.047826,33.12679],[103.047767,33.126806],[103.04773,33.126817],[103.047009,33.126836],[103.04653,33.126727],[103.046265,33.126666],[103.045671,33.126437],[103.045236,33.126522],[103.045221,33.126524],[103.045201,33.126527],[103.044869,33.12657],[103.044706,33.126591],[103.044652,33.126598],[103.044608,33.126639],[103.044581,33.126657],[103.044542,33.126679],[103.044487,33.126698],[103.04443,33.126712],[103.044374,33.12671],[103.044317,33.1267],[103.044264,33.126685],[103.044241,33.126667],[103.044232,33.126656],[103.044217,33.126658],[103.044159,33.126667],[103.043607,33.126751],[103.043569,33.126765],[103.043303,33.126866],[103.04289,33.127023],[103.042328,33.127077],[103.041773,33.126816],[103.041752,33.126598],[103.041742,33.126501],[103.041739,33.126492],[103.041659,33.126276],[103.041531,33.125931],[103.041236,33.125722],[103.041149,33.12566],[103.041119,33.125639],[103.041078,33.12561],[103.041059,33.125596],[103.040983,33.125552],[103.040956,33.125543],[103.040928,33.125534],[103.040899,33.125528],[103.040882,33.125522],[103.040853,33.125498],[103.040783,33.125486],[103.040679,33.125468],[103.040426,33.125425],[103.040122,33.125374],[103.039545,33.125507],[103.039482,33.125521],[103.038988,33.125489],[103.038847,33.12548],[103.038802,33.125427],[103.038596,33.125186],[103.038519,33.125097],[103.038684,33.124856],[103.038661,33.124809],[103.038656,33.124758],[103.03867,33.124712],[103.038692,33.124676],[103.0387,33.12462],[103.038688,33.124588],[103.038675,33.124583],[103.038605,33.124583],[103.038555,33.124586],[103.038513,33.124587],[103.038448,33.124571],[103.038425,33.124551],[103.038413,33.124513],[103.038411,33.124474],[103.038436,33.124434],[103.038481,33.124411],[103.038501,33.124398],[103.038518,33.124381],[103.038546,33.124362],[103.038555,33.124333],[103.038553,33.12431],[103.038539,33.124276],[103.038517,33.124245],[103.038484,33.124223],[103.038464,33.124202],[103.038444,33.124185],[103.038415,33.124173],[103.038373,33.124166],[103.038333,33.124163],[103.038306,33.124154],[103.038271,33.124135],[103.03798,33.124113],[103.037817,33.124189],[103.037527,33.124326],[103.037105,33.12476],[103.036544,33.124782],[103.036034,33.124659],[103.035986,33.124648],[103.035736,33.124615],[103.035688,33.124632],[103.0356,33.124646],[103.035524,33.124635],[103.035495,33.124618],[103.035469,33.124601],[103.03545,33.124578],[103.035457,33.124556],[103.035468,33.124537],[103.035488,33.124515],[103.035506,33.124507],[103.035521,33.124498],[103.035554,33.12448],[103.035569,33.124475],[103.035582,33.12446],[103.035585,33.124433],[103.035556,33.124417],[103.035528,33.124416],[103.03549,33.124428],[103.035468,33.124439],[103.035452,33.124452],[103.035435,33.12447],[103.035418,33.124485],[103.035388,33.124499],[103.035358,33.124509],[103.035282,33.124514],[103.035254,33.124513],[103.035224,33.124505],[103.035197,33.124492],[103.035184,33.124484],[103.035171,33.124467],[103.035161,33.124444],[103.035152,33.12442],[103.03514,33.124393],[103.035128,33.124365],[103.035114,33.124342],[103.035103,33.124328],[103.035083,33.124318],[103.03506,33.124312],[103.035036,33.124313],[103.035002,33.124321],[103.034987,33.12433],[103.034979,33.124341],[103.034983,33.124362],[103.035004,33.124382],[103.035036,33.124404],[103.035065,33.124432],[103.035076,33.124449],[103.03508,33.124475],[103.03507,33.124501],[103.035058,33.124523],[103.035045,33.124538],[103.035031,33.124554],[103.035013,33.124569],[103.034989,33.124583],[103.034955,33.1246],[103.034905,33.124603],[103.034875,33.124596],[103.034847,33.124581],[103.034813,33.124572],[103.034789,33.124577],[103.034762,33.124594],[103.034729,33.124615],[103.034692,33.124636],[103.034661,33.124638],[103.034631,33.124633],[103.034593,33.124613],[103.034536,33.124568],[103.034525,33.124553],[103.034517,33.124532],[103.034243,33.12457],[103.034095,33.12459],[103.033704,33.124643],[103.032961,33.124553],[103.032809,33.124535],[103.032726,33.124516],[103.032677,33.124505],[103.032065,33.124366],[103.031688,33.124485],[103.031265,33.125014],[103.031158,33.125069],[103.031089,33.125104],[103.030848,33.125228],[103.030514,33.125128],[103.030371,33.124811],[103.030344,33.124711],[103.030332,33.124666],[103.030311,33.124589],[103.030276,33.12446],[103.030261,33.124464],[103.030236,33.124452],[103.0302,33.124441],[103.030176,33.124426],[103.030169,33.124422],[103.03015,33.124395],[103.03015,33.12438],[103.030172,33.124341],[103.030184,33.124324],[103.030231,33.124303],[103.029903,33.124017],[103.029492,33.123979],[103.029399,33.123982],[103.028931,33.124001],[103.028743,33.123974],[103.028697,33.123947],[103.028675,33.123929],[103.028654,33.123896],[103.028641,33.123869],[103.028609,33.123843],[103.028573,33.123817],[103.028525,33.123794],[103.028481,33.123776],[103.028413,33.123757],[103.028341,33.123746],[103.02828,33.123744],[103.028191,33.123643],[103.028197,33.12361],[103.028215,33.123508],[103.028224,33.123457],[103.028233,33.123408],[103.02826,33.123263],[103.028262,33.123248],[103.028276,33.123172],[103.028294,33.122386],[103.028227,33.12225],[103.028195,33.122184],[103.028165,33.122123],[103.028157,33.122108],[103.027936,33.121656],[103.027291,33.121322],[103.027122,33.121234],[103.026047,33.121012],[103.025968,33.120996],[103.025233,33.121048],[103.025069,33.12106],[103.025068,33.12108],[103.02507,33.121097],[103.025074,33.121114],[103.025077,33.121132],[103.02508,33.121149],[103.025083,33.121166],[103.025074,33.121189],[103.025058,33.121226],[103.025046,33.121243],[103.025021,33.121267],[103.024998,33.121276],[103.024953,33.12128],[103.024913,33.12128],[103.024857,33.121269],[103.024828,33.121258],[103.024813,33.121242],[103.02481,33.12122],[103.02481,33.1212],[103.024818,33.121179],[103.024827,33.121157],[103.024832,33.121139],[103.024838,33.12112],[103.024842,33.1211],[103.024841,33.12108],[103.02483,33.121043],[103.024784,33.121002],[103.024752,33.120978],[103.024707,33.120954],[103.024668,33.120965],[103.024667,33.120986],[103.024673,33.121016],[103.024691,33.121055],[103.024694,33.121069],[103.024706,33.121106],[103.024712,33.121132],[103.024707,33.12115],[103.024697,33.121179],[103.02469,33.121208],[103.024676,33.121243],[103.024667,33.12127],[103.024656,33.121303],[103.024641,33.121332],[103.024615,33.121359],[103.024584,33.121375],[103.024533,33.121385],[103.024487,33.121386],[103.024447,33.12138],[103.024417,33.121366],[103.024412,33.121345],[103.024411,33.121327],[103.024428,33.121298],[103.024436,33.121282],[103.024437,33.121252],[103.024436,33.121242],[103.024421,33.121228],[103.024391,33.121216],[103.024347,33.121204],[103.024323,33.121202],[103.024305,33.121197],[103.024267,33.121187],[103.024118,33.121215],[103.024107,33.121217],[103.023859,33.121263],[103.023802,33.121254],[103.023699,33.121247],[103.023618,33.121256],[103.023599,33.121261],[103.023582,33.121267],[103.023567,33.121273],[103.023429,33.12127],[103.023128,33.121265],[103.023045,33.121264],[103.022891,33.121212],[103.022852,33.121206],[103.022819,33.121194],[103.022797,33.121165],[103.022764,33.121121],[103.022731,33.121077],[103.022719,33.12106],[103.022688,33.121041],[103.022644,33.121014],[103.022528,33.120941],[103.022415,33.120837],[103.021938,33.120401],[103.021818,33.120291],[103.021759,33.120236],[103.021751,33.120141],[103.02175,33.120128],[103.02175,33.120118],[103.021747,33.120079],[103.021732,33.120073],[103.021712,33.120054],[103.021712,33.120032],[103.021719,33.120008],[103.02174,33.119989],[103.021761,33.119946],[103.02177,33.119906],[103.021779,33.119871],[103.02179,33.119836],[103.021798,33.119809],[103.021803,33.119782],[103.0218,33.119749],[103.021771,33.119717],[103.021755,33.119696],[103.021709,33.119658],[103.021699,33.119563],[103.021668,33.119259],[103.021264,33.118818],[103.02123,33.11878],[103.021082,33.118727],[103.021023,33.118707],[103.020674,33.118582],[103.020461,33.118531],[103.020116,33.118448],[103.020047,33.118264],[103.020003,33.118145],[103.019985,33.118097],[103.020011,33.1181],[103.02004,33.118113],[103.020058,33.118124],[103.020078,33.118171],[103.020085,33.11819],[103.020092,33.118216],[103.020111,33.118242],[103.020138,33.11826],[103.020172,33.118265],[103.020212,33.118261],[103.020241,33.118255],[103.020264,33.11825],[103.020284,33.118238],[103.020321,33.118223],[103.020332,33.118208],[103.020298,33.118188],[103.02026,33.118182],[103.020238,33.118171],[103.020222,33.118142],[103.020226,33.118118],[103.020234,33.11808],[103.020221,33.118044],[103.020206,33.118021],[103.02019,33.117999],[103.020157,33.117976],[103.020128,33.117959],[103.020088,33.11795],[103.020043,33.117953],[103.020016,33.117962],[103.019996,33.11798],[103.019978,33.118007],[103.019958,33.118024],[103.019928,33.117944],[103.019911,33.117897],[103.01985,33.117903],[103.019803,33.117915],[103.019749,33.117945],[103.01971,33.117963],[103.019679,33.11796],[103.019655,33.117933],[103.019632,33.117883],[103.019632,33.117834],[103.019643,33.117793],[103.019664,33.117741],[103.019517,33.117658],[103.019522,33.117614],[103.019526,33.117542],[103.019513,33.1175],[103.019487,33.117487],[103.01941,33.117467],[103.01934,33.117468],[103.019271,33.117467],[103.019227,33.117455],[103.019171,33.117423],[103.019136,33.117383],[103.01909,33.117324],[103.019063,33.117257],[103.019029,33.117227],[103.018993,33.117217],[103.018922,33.117232],[103.01886,33.117251],[103.018781,33.117259],[103.018717,33.117248],[103.018644,33.117219],[103.018576,33.117134],[103.01848,33.11713],[103.018373,33.117162],[103.018339,33.117171],[103.018131,33.117111],[103.018113,33.117106],[103.018059,33.11709],[103.01791,33.117046],[103.017896,33.117014],[103.01788,33.116993],[103.01784,33.116968],[103.017807,33.116952],[103.017775,33.11694],[103.017729,33.116943],[103.017705,33.116953],[103.017663,33.116975],[103.017383,33.116893],[103.017298,33.116833],[103.017276,33.116817],[103.017179,33.116749],[103.017154,33.116731],[103.016794,33.116475],[103.01674,33.116186],[103.016736,33.116165],[103.016692,33.115932],[103.016688,33.11591],[103.016644,33.115674],[103.016642,33.11566],[103.016641,33.115655],[103.016629,33.115595],[103.016629,33.115591],[103.016625,33.115571],[103.016597,33.115423],[103.016594,33.115406],[103.016593,33.115402],[103.016582,33.115332],[103.016578,33.115309],[103.016576,33.115299],[103.016481,33.114728],[103.016462,33.114613],[103.016252,33.114387],[103.016091,33.114214],[103.016025,33.114142],[103.015987,33.114101],[103.015956,33.114065],[103.015607,33.113647],[103.015586,33.113623],[103.015586,33.113623],[103.015495,33.113537],[103.015147,33.113207],[103.015233,33.112705],[103.015171,33.112604],[103.015159,33.112584],[103.015072,33.112441],[103.015029,33.112371],[103.014983,33.11238],[103.014915,33.112368],[103.014885,33.112356],[103.01487,33.112339],[103.014869,33.112315],[103.014883,33.112291],[103.014899,33.112282],[103.0149,33.112265],[103.014891,33.112254],[103.014869,33.112235],[103.01483,33.112213],[103.014803,33.11219],[103.014799,33.112181],[103.01476,33.112128],[103.014753,33.112105],[103.01474,33.112083],[103.01473,33.112067],[103.014699,33.112052],[103.01468,33.112056],[103.014639,33.112084],[103.014631,33.112079],[103.014595,33.112058],[103.014501,33.112],[103.014627,33.111373],[103.01461,33.111045],[103.014606,33.110971],[103.014608,33.11097],[103.014623,33.11095],[103.014622,33.11093],[103.014616,33.110908],[103.014608,33.110882],[103.014606,33.110852],[103.014613,33.110827],[103.014622,33.110794],[103.014632,33.110773],[103.014637,33.110752],[103.01463,33.110731],[103.014617,33.110722],[103.014577,33.110714],[103.01456,33.110604],[103.01452,33.110348],[103.014503,33.110238],[103.014171,33.110012],[103.014019,33.11001],[103.013621,33.110004],[103.013499,33.110002],[103.013321,33.110092],[103.013263,33.110121],[103.013213,33.110147],[103.013163,33.110173],[103.013119,33.110184],[103.013076,33.11019],[103.013046,33.110188],[103.013011,33.110179],[103.012976,33.110158],[103.01294,33.110128],[103.012879,33.11008],[103.012834,33.110054],[103.012754,33.110042],[103.012711,33.110064],[103.012681,33.110114],[103.012664,33.110181],[103.012655,33.110247],[103.012651,33.110309],[103.012647,33.110383],[103.012645,33.110402],[103.012635,33.110433],[103.012624,33.110462],[103.012608,33.11049],[103.012582,33.110521],[103.012549,33.110541],[103.012514,33.110544],[103.012476,33.110539],[103.01246,33.110524],[103.012438,33.110483],[103.012417,33.110456],[103.012399,33.110411],[103.012387,33.110395],[103.012354,33.110384],[103.01233,33.110377],[103.012315,33.110363],[103.012294,33.110346],[103.012279,33.110326],[103.012249,33.110307],[103.012215,33.110292],[103.012179,33.110306],[103.01215,33.110323],[103.012119,33.110336],[103.012073,33.110335],[103.012034,33.110329],[103.011996,33.11031],[103.011949,33.110279],[103.011908,33.110262],[103.011884,33.11025],[103.011867,33.110243],[103.011854,33.110239],[103.011802,33.110238],[103.01176,33.110249],[103.011723,33.110264],[103.011663,33.110288],[103.011618,33.110295],[103.011574,33.110294],[103.011539,33.110286],[103.011517,33.110275],[103.011494,33.110262],[103.011477,33.110236],[103.011465,33.110202],[103.011465,33.110176],[103.011452,33.110135],[103.011431,33.110094],[103.011419,33.110059],[103.01139,33.11003],[103.011342,33.110021],[103.01121,33.110019],[103.011161,33.110039],[103.011166,33.110087],[103.011191,33.110137],[103.011244,33.110198],[103.011289,33.110261],[103.011326,33.110322],[103.011351,33.110362],[103.011399,33.110405],[103.011426,33.110441],[103.011445,33.110502],[103.01145,33.110589],[103.01145,33.110631],[103.011445,33.110668],[103.011415,33.110684],[103.011367,33.110686],[103.01129,33.110681],[103.011261,33.110682],[103.011244,33.110724],[103.011261,33.110768],[103.011283,33.110811],[103.011289,33.110846],[103.011294,33.110872],[103.011296,33.110948],[103.011297,33.110965],[103.011292,33.111046],[103.011289,33.111109],[103.011258,33.111167],[103.01121,33.111226],[103.011155,33.111273],[103.011101,33.111305],[103.011032,33.111365],[103.010967,33.111397],[103.010876,33.111395],[103.010801,33.111368],[103.010739,33.111335],[103.010665,33.111322],[103.010554,33.111331],[103.010445,33.111369],[103.010366,33.111375],[103.010265,33.11135],[103.010156,33.111314],[103.010083,33.111311],[103.01,33.111311],[103.009935,33.111325],[103.009893,33.111342],[103.00973,33.111263],[103.009723,33.111256],[103.009682,33.11121],[103.009659,33.111186],[103.009292,33.110784],[103.009288,33.110682],[103.009268,33.110186],[103.00936,33.109883],[103.009375,33.109836],[103.00943,33.109653],[103.009376,33.109607],[103.00918,33.109435],[103.009122,33.109384],[103.0091,33.109365],[103.008943,33.109273],[103.008904,33.10925],[103.008768,33.109171],[103.008569,33.109158],[103.00854,33.109156],[103.008298,33.10914],[103.008133,33.109129],[103.008104,33.109123],[103.008035,33.109108],[103.008034,33.10913],[103.008024,33.109151],[103.008006,33.109164],[103.007972,33.109163],[103.007941,33.109158],[103.007899,33.109136],[103.007875,33.109118],[103.007843,33.109091],[103.007805,33.109058],[103.007767,33.109031],[103.00774,33.109025],[103.007681,33.109035],[103.00765,33.109055],[103.007631,33.109081],[103.00762,33.109107],[103.0076,33.109133],[103.007569,33.109152],[103.007532,33.109172],[103.007481,33.109181],[103.007427,33.10919],[103.007389,33.109207],[103.007364,33.109229],[103.007331,33.109251],[103.007288,33.109267],[103.007251,33.109271],[103.00719,33.109263],[103.007127,33.109235],[103.007074,33.109199],[103.007032,33.109168],[103.00699,33.109143],[103.006951,33.109125],[103.006899,33.109105],[103.006872,33.109076],[103.006866,33.10903],[103.006869,33.108988],[103.006867,33.108965],[103.006861,33.108955],[103.006822,33.108886],[103.006842,33.108845],[103.006804,33.108836],[103.006768,33.10882],[103.006728,33.108793],[103.006695,33.10878],[103.006687,33.108786],[103.006632,33.108787],[103.006601,33.108786],[103.006557,33.108762],[103.006518,33.108739],[103.00641,33.108697],[103.006384,33.108684],[103.006369,33.10867],[103.006355,33.10864],[103.006348,33.108603],[103.006369,33.108576],[103.006379,33.10856],[103.00638,33.108531],[103.006357,33.108508],[103.006266,33.108524],[103.006234,33.108528],[103.00619,33.108526],[103.006168,33.108517],[103.006144,33.108498],[103.006117,33.108444],[103.006118,33.108386],[103.006129,33.108331],[103.006154,33.108294],[103.006188,33.108258],[103.006197,33.108208],[103.006175,33.108189],[103.006123,33.108138],[103.006087,33.108071],[103.006084,33.108065],[103.006044,33.107994],[103.006019,33.107956],[103.005998,33.107912],[103.005961,33.107893],[103.005915,33.107876],[103.005847,33.107851],[103.00579,33.107832],[103.005742,33.107806],[103.005706,33.107784],[103.005677,33.10776],[103.005652,33.107725],[103.005603,33.10769],[103.005559,33.107681],[103.005522,33.107672],[103.005458,33.107614],[103.005359,33.107587],[103.005246,33.107583],[103.005172,33.107558],[103.005115,33.10752],[103.005063,33.107478],[103.005021,33.107416],[103.004978,33.107358],[103.004968,33.107329],[103.004963,33.107274],[103.004992,33.107208],[103.005013,33.107163],[103.004985,33.107085],[103.004934,33.10703],[103.004904,33.106996],[103.004916,33.106908],[103.004908,33.10688],[103.004875,33.10685],[103.00483,33.106814],[103.004743,33.106819],[103.004659,33.106866],[103.004616,33.106874],[103.00455,33.106869],[103.004519,33.106844],[103.004506,33.106828],[103.004496,33.106799],[103.004482,33.106748],[103.004461,33.106699],[103.00444,33.10668],[103.004399,33.106657],[103.00437,33.106652],[103.004345,33.106648],[103.004325,33.106664],[103.004308,33.106712],[103.004233,33.106786],[103.004186,33.106848],[103.004131,33.106907],[103.004061,33.106946],[103.004004,33.106968],[103.003907,33.106978],[103.003803,33.106974],[103.003756,33.106942],[103.003722,33.106883],[103.003701,33.106825],[103.003699,33.106752],[103.003699,33.10671],[103.003729,33.106607],[103.003747,33.10657],[103.003742,33.106542],[103.003708,33.106527],[103.003558,33.10652],[103.003453,33.106491],[103.003435,33.106458],[103.003432,33.106401],[103.003438,33.106356],[103.003449,33.106364],[103.00347,33.106374],[103.003487,33.10638],[103.003516,33.106369],[103.003507,33.106343],[103.003433,33.106145],[103.003433,33.106145],[103.003428,33.106132],[103.003415,33.106097],[103.003344,33.105905],[103.003347,33.105898],[103.003386,33.105814],[103.003393,33.105798],[103.003447,33.105681],[103.003465,33.10564],[103.003495,33.105613],[103.003519,33.105584],[103.003535,33.105556],[103.003553,33.105529],[103.003584,33.105493],[103.003608,33.105478],[103.003664,33.105459],[103.003718,33.105444],[103.003751,33.105424],[103.003766,33.105404],[103.003761,33.105384],[103.003733,33.105374],[103.003688,33.105378],[103.003668,33.105385],[103.003608,33.105411],[103.003653,33.105348],[103.003661,33.105336],[103.003771,33.105182],[103.00381,33.105126],[103.003857,33.104717],[103.003675,33.104494],[103.003236,33.104542],[103.003215,33.104544],[103.003185,33.104535],[103.003157,33.104528],[103.003137,33.104528],[103.003113,33.104531],[103.003089,33.104541],[103.003063,33.104554],[103.003026,33.104565],[103.00299,33.104569],[103.002983,33.104539],[103.002962,33.104516],[103.002919,33.104494],[103.002885,33.104484],[103.002854,33.104493],[103.002842,33.104515],[103.002837,33.104544],[103.002833,33.104573],[103.002821,33.104602],[103.002788,33.104621],[103.002753,33.10463],[103.002728,33.104625],[103.002719,33.104615],[103.002712,33.104598],[103.002706,33.104574],[103.002698,33.104549],[103.002673,33.104527],[103.002658,33.104529],[103.002643,33.104541],[103.002622,33.104577],[103.002598,33.10461],[103.002573,33.104646],[103.002561,33.104674],[103.00256,33.104701],[103.002571,33.104718],[103.002523,33.104738],[103.002321,33.104818],[103.001836,33.104811],[103.00167,33.104724],[103.001466,33.104616],[103.001029,33.104074],[103.000854,33.103663],[103.000818,33.103578],[103.000745,33.103408],[103.00074,33.103394],[103.000788,33.10334],[103.000822,33.103328],[103.000853,33.103309],[103.000861,33.103282],[103.000831,33.103253],[103.000804,33.103233],[103.000763,33.103218],[103.000733,33.103183],[103.000712,33.103138],[103.000689,33.103106],[103.000655,33.103075],[103.000611,33.103062],[103.000462,33.10268],[103.000106,33.102294],[102.999784,33.101944],[102.99957,33.101757],[102.999457,33.101658],[102.999425,33.10163],[102.999525,33.101596],[102.99956,33.101582],[102.999567,33.101567],[102.99955,33.101557],[102.99948,33.101555],[102.999431,33.101555],[102.999383,33.101556],[102.999365,33.10156],[102.999332,33.101555],[102.999299,33.101548],[102.99924,33.101526],[102.999219,33.10149],[102.999211,33.101419],[102.999221,33.101345],[102.999213,33.101333],[102.999123,33.101199],[102.998839,33.100777],[102.998445,33.100478],[102.998188,33.100283],[102.998153,33.100255],[102.998117,33.100225],[102.99809,33.100244],[102.998054,33.100247],[102.997955,33.100218],[102.997911,33.100193],[102.997883,33.100164],[102.997876,33.100149],[102.997882,33.10011],[102.997913,33.10008],[102.997922,33.100064],[102.997929,33.100036],[102.997924,33.099988],[102.997886,33.099945],[102.997858,33.099933],[102.9978,33.099964],[102.997651,33.100049],[102.997607,33.100056],[102.99756,33.100042],[102.997532,33.100005],[102.997508,33.09996],[102.997499,33.099931],[102.99749,33.099873],[102.997485,33.099807],[102.997473,33.099767],[102.997437,33.099751],[102.997403,33.09975],[102.997366,33.099756],[102.997319,33.099782],[102.997281,33.099804],[102.997239,33.099837],[102.997206,33.099869],[102.997185,33.099874],[102.997156,33.099868],[102.997119,33.099837],[102.99711,33.09981],[102.997161,33.099794],[102.997232,33.099787],[102.997318,33.09976],[102.997361,33.099735],[102.997363,33.099695],[102.997341,33.099643],[102.997295,33.099615],[102.99725,33.099618],[102.997193,33.099649],[102.997132,33.099661],[102.997096,33.09965],[102.997057,33.099629],[102.997023,33.099625],[102.996991,33.099665],[102.996949,33.099732],[102.996915,33.099769],[102.99689,33.099779],[102.996854,33.099772],[102.996832,33.099749],[102.99685,33.09973],[102.996888,33.099719],[102.996923,33.099675],[102.996922,33.099634],[102.996924,33.099588],[102.996954,33.099554],[102.997027,33.099529],[102.997065,33.09949],[102.997073,33.099441],[102.9971,33.099379],[102.997122,33.099373],[102.997156,33.09938],[102.997202,33.099375],[102.997229,33.099362],[102.99724,33.099318],[102.997236,33.099284],[102.997226,33.099245],[102.997202,33.099217],[102.997137,33.099183],[102.997092,33.099162],[102.997039,33.099118],[102.997021,33.099073],[102.997038,33.099053],[102.997072,33.099044],[102.997095,33.099069],[102.99712,33.099096],[102.997172,33.099122],[102.997245,33.09913],[102.997359,33.099106],[102.997408,33.099089],[102.997437,33.099062],[102.997433,33.099035],[102.997385,33.099005],[102.997298,33.098966],[102.997243,33.098937],[102.997173,33.098898],[102.997095,33.098853],[102.997049,33.098811],[102.997051,33.098769],[102.99708,33.098754],[102.997123,33.098759],[102.997176,33.098787],[102.997206,33.098814],[102.997283,33.098875],[102.997271,33.098733],[102.997261,33.098615],[102.997256,33.098559],[102.997257,33.09855],[102.997277,33.09835],[102.997229,33.098339],[102.997209,33.098322],[102.997205,33.098296],[102.997227,33.098283],[102.997253,33.09827],[102.997264,33.098252],[102.997264,33.098226],[102.997242,33.098183],[102.997192,33.098145],[102.997135,33.098114],[102.997106,33.098094],[102.997103,33.098058],[102.997117,33.098035],[102.997137,33.098023],[102.997188,33.098032],[102.997233,33.09805],[102.997269,33.098059],[102.997308,33.098053],[102.99735,33.098004],[102.997368,33.097952],[102.997366,33.097918],[102.997343,33.097873],[102.99729,33.097841],[102.997232,33.097846],[102.997102,33.097591],[102.996909,33.097464],[102.996895,33.097455],[102.996911,33.097401],[102.996921,33.097354],[102.996913,33.097317],[102.996882,33.097285],[102.996838,33.097266],[102.996755,33.097256],[102.996695,33.097258],[102.996696,33.097265],[102.996695,33.097323],[102.99658,33.097248],[102.996102,33.09715],[102.996049,33.097139],[102.996039,33.097137],[102.995836,33.097096],[102.995789,33.097086],[102.995616,33.097212],[102.995513,33.097287],[102.995491,33.097303],[102.99534,33.097414],[102.995163,33.097344],[102.994552,33.097104],[102.993953,33.096277],[102.993551,33.09594],[102.993528,33.095921],[102.993453,33.095858],[102.993371,33.09579],[102.993266,33.095702],[102.993257,33.095624],[102.993248,33.09558],[102.993223,33.095552],[102.993191,33.09555],[102.993073,33.09554],[102.993059,33.095529],[102.993024,33.095499],[102.992987,33.095468],[102.992963,33.095448],[102.992957,33.095443],[102.992898,33.095336],[102.992893,33.095326],[102.992882,33.095307],[102.992791,33.09514],[102.992778,33.095116],[102.992724,33.095018],[102.992714,33.094999],[102.992657,33.094894],[102.992645,33.094872],[102.992569,33.094733],[102.992556,33.094709],[102.992435,33.094488],[102.992323,33.094442],[102.99226,33.094404],[102.992217,33.094338],[102.992208,33.094264],[102.992198,33.094183],[102.992209,33.094111],[102.992241,33.094058],[102.992219,33.093995],[102.992155,33.093915],[102.992094,33.093871],[102.992026,33.093815],[102.991958,33.093747],[102.991904,33.093685],[102.991864,33.093598],[102.991842,33.093494],[102.99183,33.093432],[102.991776,33.093355],[102.991725,33.093344],[102.991724,33.093342],[102.991706,33.093312],[102.99143,33.092838],[102.991287,33.092873],[102.991264,33.092873],[102.99125,33.092842],[102.991244,33.092806],[102.991255,33.092758],[102.99128,33.092725],[102.991339,33.092682],[102.99138,33.09259],[102.99138,33.092545],[102.991334,33.092519],[102.991257,33.092503],[102.991231,33.092496],[102.991003,33.092105],[102.990985,33.092048],[102.990756,33.091283],[102.990656,33.091231],[102.989491,33.090631],[102.989364,33.090465],[102.989269,33.090339],[102.989172,33.090273],[102.98911,33.090215],[102.989064,33.090145],[102.989034,33.090084],[102.988983,33.090017],[102.988927,33.089973],[102.98889,33.089939],[102.988826,33.089876],[102.988806,33.089824],[102.988813,33.08978],[102.988867,33.089752],[102.988919,33.08973],[102.988982,33.089715],[102.989027,33.089721],[102.989084,33.08971],[102.989111,33.089673],[102.989134,33.089602],[102.989139,33.089546],[102.989128,33.089493],[102.989081,33.089449],[102.988989,33.08941],[102.988992,33.089262],[102.988999,33.088951],[102.988965,33.088505],[102.988824,33.08843],[102.98871,33.08837],[102.988353,33.088182],[102.987875,33.08793],[102.987238,33.087739],[102.987181,33.087722],[102.987126,33.087706],[102.986654,33.087565],[102.98656,33.087537],[102.986387,33.087446],[102.986421,33.087408],[102.986403,33.08737],[102.986372,33.087311],[102.986326,33.087276],[102.986235,33.087244],[102.986151,33.087228],[102.986062,33.087192],[102.986004,33.08717],[102.985954,33.087109],[102.985844,33.087097],[102.985791,33.087132],[102.985688,33.087077],[102.985606,33.086943],[102.985363,33.086542],[102.985132,33.086162],[102.985049,33.086026],[102.984499,33.085014],[102.984031,33.084226],[102.983512,33.083772],[102.982649,33.082903],[102.982003,33.082224],[102.981612,33.081958],[102.980294,33.081676],[102.979567,33.080661],[102.978966,33.079908],[102.978661,33.079571],[102.978148,33.079003],[102.97755,33.078663],[102.977408,33.078583],[102.976311,33.078305],[102.975882,33.07774],[102.975916,33.077252],[102.975936,33.077246],[102.975987,33.077236],[102.976021,33.077226],[102.976067,33.077204],[102.976115,33.077176],[102.976137,33.077151],[102.976148,33.077127],[102.97615,33.077096],[102.976141,33.077065],[102.976134,33.077043],[102.976124,33.076997],[102.97611,33.076969],[102.976124,33.076942],[102.976152,33.076913],[102.976188,33.07689],[102.976207,33.076849],[102.976206,33.07682],[102.976197,33.076794],[102.976173,33.076777],[102.976139,33.076753],[102.976075,33.076731],[102.976044,33.076726],[102.976014,33.076721],[102.975994,33.076703],[102.975964,33.076668],[102.975931,33.076617],[102.9759,33.076565],[102.97587,33.076434],[102.975784,33.07606],[102.975708,33.075731],[102.975456,33.075352],[102.975403,33.075271],[102.97541,33.075255],[102.975412,33.075243],[102.975411,33.075229],[102.975409,33.075212],[102.975408,33.075202],[102.975405,33.07518],[102.975405,33.075162],[102.975409,33.075149],[102.975418,33.075143],[102.975437,33.075143],[102.975438,33.075152],[102.975432,33.075175],[102.975431,33.075194],[102.975454,33.075205],[102.975475,33.0752],[102.975497,33.075178],[102.975504,33.075149],[102.975505,33.075119],[102.975493,33.075107],[102.975479,33.075096],[102.975472,33.075075],[102.975457,33.075066],[102.975424,33.075074],[102.975412,33.075079],[102.975399,33.075081],[102.975356,33.075084],[102.975329,33.075072],[102.97529,33.075067],[102.975269,33.075069],[102.975253,33.075068],[102.975243,33.075066],[102.975234,33.07506],[102.975231,33.075048],[102.975233,33.07504],[102.975247,33.075035],[102.975268,33.075031],[102.975285,33.075026],[102.975308,33.075013],[102.975311,33.074994],[102.975302,33.074971],[102.975287,33.07496],[102.975258,33.074939],[102.97523,33.074922],[102.975209,33.074905],[102.975185,33.074894],[102.975161,33.074879],[102.975139,33.074872],[102.975127,33.074869],[102.975118,33.074861],[102.975114,33.07485],[102.975117,33.074839],[102.975132,33.074814],[102.975138,33.074808],[102.975148,33.074797],[102.975167,33.074772],[102.975155,33.07475],[102.975135,33.07474],[102.975128,33.074737],[102.97511,33.074721],[102.975101,33.074697],[102.975082,33.074672],[102.975047,33.074666],[102.97504,33.074675],[102.975037,33.074695],[102.975035,33.074711],[102.975017,33.074722],[102.974994,33.074725],[102.97498,33.074728],[102.974965,33.074727],[102.974953,33.074723],[102.974947,33.074717],[102.974947,33.074706],[102.974957,33.074692],[102.974975,33.074673],[102.974976,33.074656],[102.974963,33.074639],[102.974944,33.074623],[102.974935,33.074608],[102.974927,33.074586],[102.974915,33.074575],[102.974891,33.07456],[102.974873,33.074544],[102.974866,33.074527],[102.97486,33.074507],[102.974852,33.074486],[102.974832,33.074474],[102.974815,33.074466],[102.974774,33.074456],[102.974754,33.07446],[102.974729,33.074471],[102.974726,33.074486],[102.974725,33.0745],[102.974725,33.074528],[102.974716,33.074547],[102.974696,33.074559],[102.97468,33.074559],[102.974665,33.074558],[102.974631,33.074543],[102.974619,33.074523],[102.974618,33.0745],[102.97463,33.074478],[102.974632,33.074449],[102.974623,33.074427],[102.974592,33.074408],[102.974557,33.074417],[102.97453,33.074424],[102.974517,33.074424],[102.974503,33.074424],[102.974482,33.074409],[102.974482,33.074397],[102.9745,33.074373],[102.97453,33.074342],[102.974551,33.074329],[102.974546,33.074304],[102.974528,33.07428],[102.974485,33.07427],[102.974457,33.074265],[102.974391,33.074242],[102.974345,33.074214],[102.974299,33.074177],[102.974257,33.074135],[102.974217,33.074074],[102.974187,33.074036],[102.974151,33.074007],[102.974102,33.073961],[102.974025,33.073888],[102.973998,33.073857],[102.973967,33.07383],[102.97394,33.073796],[102.973904,33.07375],[102.973854,33.073756],[102.973849,33.07375],[102.973819,33.073704],[102.973776,33.073635],[102.97366,33.073485],[102.973636,33.073459],[102.973606,33.073428],[102.973583,33.073397],[102.973559,33.073361],[102.973529,33.073341],[102.973482,33.073314],[102.973466,33.073296],[102.973454,33.073252],[102.973442,33.07323],[102.973423,33.073214],[102.973391,33.07319],[102.97335,33.073177],[102.973322,33.073165],[102.973292,33.073146],[102.973282,33.073118],[102.973277,33.073082],[102.973267,33.073062],[102.973223,33.073032],[102.973176,33.073006],[102.973106,33.072967],[102.973059,33.072937],[102.973066,33.072893],[102.973046,33.072884],[102.972995,33.072855],[102.972978,33.072833],[102.972938,33.072801],[102.97291,33.072771],[102.972888,33.072742],[102.97286,33.072701],[102.972833,33.072668],[102.972803,33.072619],[102.972797,33.072602],[102.972789,33.072577],[102.972789,33.072563],[102.972809,33.072543],[102.972834,33.072516],[102.972837,33.072503],[102.972835,33.072484],[102.972831,33.072473],[102.972827,33.072459],[102.972803,33.072437],[102.972775,33.072413],[102.972746,33.07238],[102.972723,33.072365],[102.972705,33.072352],[102.972691,33.072337],[102.972677,33.072314],[102.972665,33.072291],[102.972648,33.072262],[102.972621,33.072223],[102.972614,33.072204],[102.972578,33.072109],[102.972195,33.071104],[102.971661,33.069933],[102.971649,33.069906],[102.971306,33.06967],[102.970433,33.069069],[102.969985,33.068838],[102.96992,33.068804],[102.969896,33.06882],[102.969864,33.068801],[102.969825,33.068783],[102.969795,33.068764],[102.969759,33.068742],[102.969749,33.068733],[102.969735,33.068709],[102.969685,33.068683],[102.969168,33.068416],[102.968553,33.067811],[102.968477,33.067736],[102.968404,33.067423],[102.968384,33.067336],[102.968363,33.067332],[102.968335,33.067312],[102.968322,33.0673],[102.968318,33.067277],[102.968324,33.06725],[102.968337,33.067232],[102.96835,33.067222],[102.968356,33.06722],[102.968398,33.067212],[102.968411,33.067212],[102.968445,33.067198],[102.968454,33.06718],[102.968447,33.067161],[102.968426,33.067137],[102.968392,33.067112],[102.968372,33.067101],[102.968356,33.067091],[102.968321,33.067071],[102.968302,33.067056],[102.96829,33.067047],[102.968278,33.067036],[102.968271,33.067024],[102.968269,33.067009],[102.96827,33.066993],[102.968281,33.066974],[102.968296,33.066961],[102.968321,33.066945],[102.96835,33.066937],[102.968403,33.066932],[102.968445,33.066929],[102.968473,33.066925],[102.968491,33.066904],[102.96849,33.066884],[102.96848,33.066872],[102.968462,33.066864],[102.968424,33.06686],[102.968404,33.066859],[102.968384,33.066858],[102.968346,33.066844],[102.96833,33.066818],[102.968323,33.066807],[102.968312,33.066798],[102.968298,33.066793],[102.968278,33.06679],[102.96828,33.06672],[102.968286,33.066451],[102.968292,33.06621],[102.968175,33.065539],[102.967934,33.065222],[102.967489,33.064636],[102.967228,33.064239],[102.96728,33.064215],[102.967297,33.064203],[102.9673,33.064167],[102.967288,33.064113],[102.967249,33.064082],[102.967212,33.06407],[102.967168,33.06407],[102.967116,33.06407],[102.966722,33.063472],[102.966028,33.06294],[102.965237,33.062816],[102.96426,33.06306],[102.96396,33.063143],[102.963865,33.06317],[102.962617,33.063516],[102.960792,33.064192],[102.959416,33.064541],[102.958356,33.064598],[102.957133,33.064058],[102.956519,33.063899],[102.955595,33.063773],[102.954944,33.063279],[102.954309,33.062117],[102.953721,33.060844],[102.953557,33.060173],[102.953439,33.059687],[102.953426,33.05914],[102.953401,33.058019],[102.953395,33.057754],[102.953401,33.057727],[102.953429,33.057599],[102.953438,33.057575],[102.953482,33.057455],[102.953515,33.057373],[102.953518,33.057226],[102.953527,33.057188],[102.953547,33.057108],[102.953601,33.057025],[102.953668,33.056932],[102.953696,33.056813],[102.953635,33.056631],[102.953616,33.056485],[102.953632,33.056324],[102.95363,33.056188],[102.95362,33.056019],[102.953639,33.05583],[102.953701,33.055665],[102.953789,33.055517],[102.953817,33.055363],[102.953828,33.055234],[102.953928,33.055083],[102.954007,33.054911],[102.954077,33.054667],[102.954105,33.054534],[102.954164,33.054391],[102.95424,33.053644],[102.954345,33.05294],[102.954577,33.052464],[102.954598,33.052421],[102.955224,33.051136],[102.954887,33.050447],[102.953077,33.049407],[102.952143,33.048753],[102.952035,33.048677],[102.951621,33.048179],[102.951643,33.048115],[102.951633,33.048022],[102.951564,33.047883],[102.951473,33.047748],[102.951336,33.04762],[102.951177,33.047521],[102.95104,33.047444],[102.950835,33.047306],[102.950715,33.047228],[102.950573,33.047075],[102.950535,33.047031],[102.950431,33.046911],[102.950379,33.046815],[102.950358,33.046662],[102.950089,33.046339],[102.947847,33.043646],[102.947433,33.043283],[102.947401,33.043255],[102.94723,33.043106],[102.947222,33.043098],[102.946879,33.042798],[102.946802,33.042783],[102.945685,33.04257],[102.944946,33.042499],[102.944704,33.042287],[102.944747,33.041931],[102.945112,33.041432],[102.945123,33.040957],[102.94475,33.040297],[102.943924,33.039421],[102.943658,33.038704],[102.943602,33.038079],[102.944185,33.037286],[102.944209,33.037241],[102.944406,33.036874],[102.944424,33.036102],[102.944123,33.035384],[102.944095,33.034921],[102.944072,33.034551],[102.943913,33.033805],[102.94418,33.032918],[102.944664,33.031827],[102.945058,33.030051],[102.945043,33.029189],[102.944982,33.028989],[102.944814,33.028442],[102.944594,33.027943],[102.944445,33.027604],[102.945072,33.026791],[102.945281,33.026518],[102.945435,33.026194],[102.945727,33.025575],[102.945566,33.024919],[102.945046,33.024524],[102.944453,33.024217],[102.943649,33.023907],[102.942559,33.02377],[102.942032,33.02392],[102.94128,33.024135],[102.941164,33.024176],[102.940879,33.024276],[102.940872,33.024278],[102.940623,33.024366],[102.940391,33.024447],[102.940279,33.024408],[102.940119,33.024354],[102.939937,33.024291],[102.939399,33.023421],[102.939121,33.02297],[102.938479,33.021746],[102.938445,33.021681],[102.938288,33.020847],[102.938525,33.019781],[102.938376,33.018899],[102.93852,33.018718],[102.938521,33.018625],[102.938446,33.018669],[102.93837,33.018701],[102.938345,33.018712],[102.938343,33.018702],[102.938339,33.018678],[102.938286,33.018599],[102.938279,33.018589],[102.938274,33.018581],[102.938174,33.01843],[102.938168,33.01842],[102.93782,33.017896],[102.937521,33.017447],[102.937508,33.017424],[102.93746,33.017342],[102.937046,33.016636],[102.936235,33.015859],[102.936191,33.015817],[102.936065,33.015696],[102.935942,33.015578],[102.935778,33.015212],[102.935742,33.01513],[102.935734,33.015114],[102.935717,33.015074],[102.93571,33.01506],[102.935674,33.01498],[102.935204,33.014003],[102.935164,33.013919],[102.935134,33.013858],[102.935069,33.013722],[102.935054,33.013682],[102.935033,33.013621],[102.934704,33.012705],[102.93449,33.011729],[102.934481,33.011691],[102.934762,33.010955],[102.934819,33.010806],[102.935438,33.009984],[102.935813,33.009039],[102.935908,33.008724],[102.935914,33.008704],[102.93608,33.008152],[102.936213,33.007952],[102.936249,33.007898],[102.936262,33.007878],[102.936373,33.007711],[102.937096,33.006951],[102.937805,33.006754],[102.938129,33.006492],[102.938197,33.006118],[102.938199,33.006109],[102.938205,33.006077],[102.93821,33.006048],[102.938167,33.006005],[102.93811,33.005948],[102.937969,33.005806],[102.937935,33.005764],[102.937918,33.005742],[102.93767,33.005428],[102.93766,33.005415],[102.937714,33.005202],[102.937741,33.005091],[102.93777,33.004977],[102.937786,33.004917],[102.937787,33.00491],[102.937788,33.004904],[102.937816,33.004794],[102.93823,33.004517],[102.938249,33.004505],[102.938262,33.004496],[102.938327,33.004453],[102.938342,33.004443],[102.938358,33.004432],[102.938425,33.004388],[102.938409,33.00436],[102.938383,33.004314],[102.938274,33.00412],[102.938272,33.004117],[102.938188,33.003968],[102.938229,33.003701],[102.938337,33.003766],[102.93889,33.004098],[102.939403,33.004286],[102.939403,33.004261],[102.939495,33.004134],[102.939537,33.004108],[102.93961,33.004071],[102.939731,33.004033],[102.939759,33.004002],[102.939919,33.003818],[102.939985,33.003684],[102.940114,33.003419],[102.940178,33.003287],[102.940541,33.002848],[102.940057,33.002453],[102.939572,33.002059],[102.939829,33.001618],[102.93931,33.001223],[102.939078,33.000571],[102.939069,33.000543],[102.939042,33.000467],[102.939024,33.000418],[102.939021,33.00041],[102.939019,33.000403],[102.938895,33.000053],[102.938875,32.999997],[102.938867,32.999974],[102.938853,32.999934],[102.938834,32.999835],[102.938751,32.999404],[102.938885,32.999137],[102.938898,32.999111],[102.938928,32.99905],[102.938944,32.999019],[102.938956,32.998995],[102.939043,32.998821],[102.939059,32.99879],[102.93907,32.998767],[102.9391,32.998709],[102.939105,32.998697],[102.93911,32.998689],[102.93883,32.998444],[102.938477,32.998497],[102.938469,32.998464],[102.938453,32.99845],[102.938434,32.998436],[102.938415,32.998425],[102.938389,32.998419],[102.938357,32.998413],[102.938331,32.998411],[102.938292,32.99841],[102.938256,32.998408],[102.938222,32.998415],[102.938193,32.998422],[102.938159,32.998434],[102.93813,32.998454],[102.938108,32.998472],[102.938081,32.998497],[102.93806,32.998523],[102.93804,32.998564],[102.938021,32.998604],[102.937807,32.99867],[102.937752,32.998662],[102.937689,32.99868],[102.937629,32.998709],[102.937586,32.998738],[102.93752,32.998759],[102.937224,32.99885],[102.936945,32.998557],[102.936956,32.998086],[102.936957,32.998075],[102.936958,32.998015],[102.936996,32.99804],[102.937052,32.998056],[102.937106,32.998043],[102.937142,32.998014],[102.937163,32.997974],[102.937139,32.997955],[102.937059,32.9979],[102.93698,32.997818],[102.936963,32.997787],[102.936954,32.99777],[102.936947,32.997751],[102.936929,32.997644],[102.936909,32.997525],[102.936905,32.997399],[102.936909,32.997338],[102.93694,32.997237],[102.93695,32.997206],[102.936943,32.997076],[102.936929,32.996827],[102.936887,32.996815],[102.936622,32.996741],[102.936612,32.996739],[102.936192,32.996622],[102.935852,32.996481],[102.935719,32.996425],[102.935324,32.99626],[102.935232,32.996222],[102.934749,32.996211],[102.933962,32.996193],[102.933285,32.996425],[102.932769,32.996601],[102.932608,32.996656],[102.932275,32.99677],[102.931714,32.997056],[102.93139,32.997147],[102.931208,32.997199],[102.931051,32.997236],[102.930902,32.997248],[102.930788,32.997263],[102.930704,32.997321],[102.930679,32.997396],[102.930684,32.997468],[102.930748,32.997514],[102.930961,32.997598],[102.930503,32.998093],[102.930204,32.998433],[102.929906,32.998774],[102.929353,32.999111],[102.928347,32.999726],[102.927557,32.999943],[102.927284,32.99991],[102.92683,32.999855],[102.926518,32.999816],[102.926467,32.99981],[102.925448,32.999592],[102.924316,32.999774],[102.923193,32.999641],[102.922543,32.999642],[102.922491,32.999642],[102.92169,32.999644],[102.920907,32.999516],[102.919982,32.999645],[102.918035,32.999698],[102.917514,32.999675],[102.917011,32.999653],[102.9162,32.999761],[102.916174,32.999764],[102.916126,32.999771],[102.916052,32.99978],[102.915434,32.999943],[102.914892,32.999732],[102.914209,32.998956],[102.914129,32.998931],[102.914031,32.998892],[102.91392,32.998843],[102.91386,32.998768],[102.913804,32.998675],[102.913747,32.998558],[102.913707,32.998406],[102.913258,32.998065],[102.912232,32.997048],[102.912156,32.996998],[102.912104,32.996916],[102.912034,32.996735],[102.911964,32.996527],[102.911844,32.996382],[102.91169,32.99629],[102.911493,32.996166],[102.911415,32.996074],[102.911393,32.996048],[102.910665,32.995057],[102.910068,32.994328],[102.908895,32.993387],[102.90796,32.99248],[102.907721,32.991037],[102.907704,32.990972],[102.907644,32.99074],[102.907786,32.990689],[102.907905,32.990584],[102.908002,32.990469],[102.907984,32.990283],[102.907883,32.990079],[102.907766,32.989945],[102.907673,32.989889],[102.907402,32.989805],[102.907377,32.989707],[102.907289,32.989367],[102.907257,32.989243],[102.907256,32.989241],[102.907229,32.989134],[102.907203,32.989031],[102.907153,32.98893],[102.907123,32.988829],[102.907112,32.988706],[102.907153,32.988593],[102.907148,32.988468],[102.907083,32.988337],[102.906997,32.988218],[102.906932,32.988087],[102.906877,32.987951],[102.90684,32.987808],[102.906836,32.987721],[102.906775,32.987602],[102.906681,32.987451],[102.906623,32.987326],[102.906576,32.987204],[102.906417,32.9869],[102.90555,32.98467],[102.905481,32.984526],[102.905163,32.983859],[102.904443,32.982349],[102.904256,32.981626],[102.904305,32.980994],[102.90433,32.98081],[102.904332,32.980799],[102.90423,32.980617],[102.904212,32.980503],[102.904233,32.980345],[102.904266,32.980259],[102.904366,32.980111],[102.904447,32.979969],[102.904561,32.979147],[102.904594,32.978913],[102.904633,32.978632],[102.904655,32.97847],[102.904675,32.978324],[102.904686,32.978259],[102.9047,32.978167],[102.904836,32.97732],[102.905155,32.976807],[102.90527,32.976262],[102.905355,32.975544],[102.90551,32.974799],[102.905513,32.974791],[102.905561,32.974561],[102.905554,32.974447],[102.905519,32.974347],[102.905462,32.974266],[102.905404,32.974157],[102.905436,32.973985],[102.905547,32.973693],[102.905686,32.973453],[102.905842,32.973237],[102.905943,32.97316],[102.906126,32.973054],[102.90621,32.972547],[102.906212,32.972537],[102.906193,32.972293],[102.906168,32.971965],[102.906163,32.971906],[102.906081,32.970837],[102.906044,32.969792],[102.906043,32.969763],[102.906011,32.968862],[102.906009,32.968813],[102.906008,32.968794],[102.906001,32.968584],[102.905999,32.968534],[102.906027,32.968355],[102.906063,32.968122],[102.906121,32.967749],[102.90613,32.967694],[102.906205,32.967212],[102.906244,32.967051],[102.90634,32.966847],[102.906439,32.966646],[102.906499,32.966255],[102.906495,32.965869],[102.906497,32.965334],[102.906522,32.965176],[102.906749,32.96423],[102.906946,32.961701],[102.907069,32.960811],[102.907099,32.959545],[102.907528,32.958718],[102.907793,32.957629],[102.908231,32.956428],[102.908971,32.955404],[102.909535,32.954665],[102.910227,32.954274],[102.910888,32.953738],[102.911482,32.953144],[102.912009,32.952887],[102.912574,32.952611],[102.912622,32.952587],[102.913242,32.952339],[102.912939,32.952161],[102.912465,32.951981],[102.911449,32.951647],[102.909909,32.950384],[102.909038,32.949679],[102.908545,32.948893],[102.907846,32.948134],[102.907391,32.947176],[102.906153,32.94612],[102.905414,32.945589],[102.904564,32.945489],[102.903707,32.945618],[102.902951,32.945864],[102.901924,32.945962],[102.900765,32.945914],[102.899676,32.945809],[102.898181,32.945496],[102.897195,32.945336],[102.89584,32.944939],[102.894722,32.944575],[102.8936,32.944383],[102.893464,32.944352],[102.893623,32.943434],[102.893751,32.942343],[102.893875,32.941453],[102.89386,32.940647],[102.893773,32.939983],[102.893542,32.939663],[102.892844,32.938845],[102.89211,32.938171],[102.891513,32.937442],[102.891224,32.93666],[102.891001,32.935994],[102.890806,32.935588],[102.89017,32.935088],[102.889218,32.934928],[102.888025,32.93485],[102.887179,32.934577],[102.886338,32.934045],[102.885266,32.933221],[102.884597,32.932663],[102.88366,32.931899],[102.882746,32.931567],[102.88147,32.930711],[102.880462,32.93006],[102.879622,32.929499],[102.878487,32.928444],[102.877686,32.927682],[102.876812,32.92715],[102.875972,32.926617],[102.874892,32.92611],[102.873804,32.925947],[102.87269,32.925439],[102.872158,32.924883],[102.871605,32.923752],[102.871284,32.922912],[102.871316,32.92156],[102.871693,32.92007],[102.871968,32.919496],[102.871981,32.91947],[102.876038,32.917017],[102.8761,32.916979],[102.876403,32.917034]]]]},"properties":{"cp":[103.14126598596769,33.03468485062284],"code":"513233208","name":"色地镇","level":"street","center":[103.14126598596769,33.03468485062284],"fullCode":"513233208000","fullName":"四川省阿坝藏族羌族自治州红原县色地镇","acreageMu":1798581.17,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.999,32.865]}}]} |
|
|
`,_Be="datas/geojsons/hongyuan-townships-screen.geojson",$W="assets/json/红原县-轮廓.json",SBe="assets/json/中华人民共和国.json";function Tg(n){return`./${n}`}const bBe={邛溪镇:"qiongxi",刷经寺镇:"shuajingsi",安曲镇:"anqu",龙日镇:"longri",江茸乡:"jiangrong",查尔玛乡:"chaerma",瓦切镇:"waqie",阿木乡:"amu",麦洼乡:"maiwa",色地镇:"sedi"},xBe={色地镇:1199,瓦切镇:991,刷经寺镇:986,邛溪镇:896,阿木乡:892,安曲镇:885,查尔玛乡:729,龙日镇:645,麦洼乡:559,江茸乡:514};function wBe(n){try{return JSON.parse(n)}catch(e){return{type:"FeatureCollection",features:[]}}}function TBe(n={}){const e=n.properties||{},t=e.cp||e.center||e.centroid||e.sourceCenter;return Array.isArray(t)&&Number.isFinite(Number(t[0]))&&Number.isFinite(Number(t[1]))?[Number(t[0]),Number(t[1])]:[0,0]}const ABe=G2e,CBe=wBe(G2e),zL=CBe.features||[],SA=zL.reduce((n,e)=>{const t=e.properties||{},i=_f(t.name);return[t.code,t.fullCode].forEach(r=>{const a=String(r||"").replace(/\D/g,"");a&&i&&(n[a]=i)}),n},{}),MBe=zL.reduce((n,e)=>{const t=e.properties||{},i=_f(t.name),r=String(t.code||"").replace(/\D/g,"");return i&&r&&(n[i]=r),n},{}),yf=zL.map(n=>{const e=n.properties||{},t=_f(e.name),i=TBe(n);return{name:t,code:e.code,fullCode:e.fullCode,center:i,centroid:i,acreageMu:Number(e.acreageMu)||0}}),EBe=yf.map(n=>V2(y2({},n),{enName:bBe[n.name]||"",value:xBe[n.name]||0})).sort((n,e)=>e.value-n.value),PBe=yf.map(n=>n.name);function _f(n){const e=String(n||"").trim();return!e||e==="--"?"":e}function Sf(n){const e=String(n||"").replace(/\D/g,"");return e&&(SA[e]||SA[e.slice(0,12)]||SA[e.slice(0,9)])||""}function UL(n){const e=_f(n);return e&&MBe[e]||""}function RBe(n){const e=_f(n);return!!(e&&yf.some(t=>t.name===e))}const LBe=yf.map(n=>y2({},n)),YW=EBe.map(n=>y2({},n)),IBe=[{value:180,lng:102.60242339873115,lat:32.83022561372293},{value:160,lng:102.55651980382184,lat:32.204097908180216},{value:150,lng:102.38447320923945,lat:32.696113484169786},{value:177,lng:102.48704663740175,lat:32.471364980560764},{value:130,lng:102.29046083534963,lat:32.355689518554044},{value:165,lng:102.03268479676977,lat:32.440590072394265},{value:165,lng:102.71535664604494,lat:33.12869670968013},{value:132,lng:102.77925597565002,lat:32.73632379185147},{value:158,lng:102.95718106156616,lat:33.15445682575394},{value:187,lng:103.12540730227074,lat:33.010462261362875}],DBe=[{name:"邛溪镇",level:"县城驻地",value:895.94,lng:102.60242339873115,lat:32.83022561372293},{name:"瓦切镇",level:"北部牧区",value:991,lng:102.71535664604494,lat:33.12869670968013},{name:"刷经寺镇",level:"南部通道",value:986.44,lng:102.55651980382184,lat:32.204097908180216},{name:"色地镇",level:"东部片区",value:1199.06,lng:103.12540730227074,lat:33.010462261362875}];var qW=class{constructor(e,t){I3(this,"target");I3(this,"name");I3(this,"intersected");I3(this,"wasIntersected",!1);I3(this,"wasIntersectedOnMouseDown",!1);I3(this,"distance");this.target=e,this.name=t,this.intersected=!1,this.distance=0}},Ki=class{constructor(n,e=null){I3(this,"type");I3(this,"cancelBubble");I3(this,"originalEvent");I3(this,"coords",new J2(0,0));I3(this,"distance",0);I3(this,"intersected",!1);I3(this,"wasIntersected",!1);I3(this,"wasIntersectedOnMouseDown",!1);this.cancelBubble=!1,this.type=n,this.originalEvent=e}stopPropagation(){this.cancelBubble=!0}},NBe=class{constructor(n,e,t,i){I3(this,"renderer");I3(this,"camera");I3(this,"domElement");I3(this,"bindEventsOnBodyElement");I3(this,"autoAdd");I3(this,"scene");I3(this,"mouse");I3(this,"supportsPointerEvents");I3(this,"interactiveObjects");I3(this,"closestObject");I3(this,"raycaster");I3(this,"treatTouchEventsAsMouseEvents");I3(this,"dispose",()=>{this.domElement.removeEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("pointermove",this.onDocumentPointerMove):this.domElement.removeEventListener("pointermove",this.onDocumentPointerMove),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("mousemove",this.onDocumentMouseMove):this.domElement.removeEventListener("mousemove",this.onDocumentMouseMove),this.domElement.removeEventListener("mousedown",this.onMouseDown),this.domElement.removeEventListener("mouseup",this.onMouseUp),this.domElement.removeEventListener("touchstart",this.onTouchStart),this.domElement.removeEventListener("touchmove",this.onTouchMove),this.domElement.removeEventListener("touchend",this.onTouchEnd)});I3(this,"add",(n,e=[])=>{if(n&&!this.interactiveObjects.find(t=>t.target===n))if(e.length>0)e.forEach(t=>{let i=n.getObjectByName(t);if(i){let r=new qW(i,t);this.interactiveObjects.push(r)}});else{let t=new qW(n,n.name);this.interactiveObjects.push(t)}});I3(this,"remove",(n,e=[])=>{!n||(e.length>0?e.forEach(t=>{let i=n.getObjectByName(t);i&&(this.interactiveObjects=this.interactiveObjects.filter(r=>r.target!==i))}):this.interactiveObjects=this.interactiveObjects.filter(t=>t.target!==n))});I3(this,"update",()=>{var i;this.raycaster.setFromCamera(this.mouse,this.camera),this.interactiveObjects.forEach(r=>{r.target&&this.checkIntersection(r)}),this.interactiveObjects.sort(function(r,a){return r.distance-a.distance});let n=(i=this.interactiveObjects.find(r=>r.intersected))!=null?i:null;if(n!=this.closestObject){if(this.closestObject){let r=new Ki("mouseout");this.dispatch(this.closestObject,r)}if(n){let r=new Ki("mouseover");this.dispatch(n,r)}this.closestObject=n}let e;this.interactiveObjects.forEach(r=>{!r.intersected&&r.wasIntersected&&(e||(e=new Ki("mouseleave")),this.dispatch(r,e))});let t;this.interactiveObjects.forEach(r=>{r.intersected&&!r.wasIntersected&&(t||(t=new Ki("mouseenter")),this.dispatch(r,t))})});I3(this,"checkIntersection",n=>{let e=this.raycaster.intersectObjects([n.target],!0);if(n.wasIntersected=n.intersected,e.length>0){let t=e[0].distance;e.forEach(i=>{i.distance<t&&(t=i.distance)}),n.intersected=!0,n.distance=t}else n.intersected=!1});I3(this,"onDocumentMouseMove",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY);let e=new Ki("mousemove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});I3(this,"onDocumentPointerMove",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY);let e=new Ki("pointermove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});I3(this,"onTouchMove",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY);let e=new Ki(this.treatTouchEventsAsMouseEvents?"mousemove":"touchmove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});I3(this,"onMouseClick",n=>{this.update();let e=new Ki("click",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});I3(this,"onMouseDown",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY),this.update();let e=new Ki("mousedown",n);this.interactiveObjects.forEach(t=>{t.intersected?(t.wasIntersectedOnMouseDown=!0,this.dispatch(t,e)):t.wasIntersectedOnMouseDown=!1})});I3(this,"onPointerDown",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY),this.update();let e=new Ki("pointerdown",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});I3(this,"onTouchStart",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY),this.update();let e=new Ki(this.treatTouchEventsAsMouseEvents?"mousedown":"touchstart",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});I3(this,"onMouseUp",n=>{let e=new Ki("mouseup",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});I3(this,"onPointerUp",n=>{let e=new Ki("pointerup",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});I3(this,"onTouchEnd",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY),this.update();let e=new Ki(this.treatTouchEventsAsMouseEvents?"mouseup":"touchend",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});I3(this,"dispatch",(n,e)=>{n.target&&!e.cancelBubble&&(e.coords=this.mouse,e.distance=n.distance,e.intersected=n.intersected,e.wasIntersected=n.wasIntersected,e.wasIntersectedOnMouseDown=n.wasIntersectedOnMouseDown,n.target.dispatchEvent(e))});I3(this,"mapPositionToPoint",(n,e,t)=>{let i=this.renderer.domElement.getBoundingClientRect();n.x=(e-i.left)/i.width*2-1,n.y=-((t-i.top)/i.height)*2+1});this.renderer=n,this.camera=e,this.domElement=t,this.bindEventsOnBodyElement=i&&typeof i.bindEventsOnBodyElement<"u"?i.bindEventsOnBodyElement:!0,this.scene=i&&typeof i.scene<"u"?i.scene:null,this.scene&&(this.scene.onBeforeRender=()=>{this.autoAdd&&this.scene!==null&&this.scene.traverse(r=>{this.add(r),r.addEventListener("removed",a=>{this.remove(a.target)})}),this.update()}),this.autoAdd=i&&typeof i.autoAdd<"u"?i.autoAdd:!1,this.autoAdd&&this.scene===null&&console.error("Attention: Options.scene needs to be set when using options.autoAdd"),this.mouse=new J2(-1,1),this.supportsPointerEvents=!!window.PointerEvent,this.interactiveObjects=[],this.closestObject=null,this.raycaster=new EFe,t.addEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?t.ownerDocument.addEventListener("pointermove",this.onDocumentPointerMove):t.addEventListener("pointermove",this.onDocumentPointerMove),t.addEventListener("pointerdown",this.onPointerDown),t.addEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?t.ownerDocument.addEventListener("mousemove",this.onDocumentMouseMove):t.addEventListener("mousemove",this.onDocumentMouseMove),t.addEventListener("mousedown",this.onMouseDown),t.addEventListener("mouseup",this.onMouseUp),t.addEventListener("touchstart",this.onTouchStart,{passive:!0}),t.addEventListener("touchmove",this.onTouchMove,{passive:!0}),t.addEventListener("touchend",this.onTouchEnd,{passive:!0}),this.treatTouchEventsAsMouseEvents=!0}};const i7=256,kBe="https://map.shuxitech.com/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}",sd={west:101.852492,south:31.851389,east:103.347518,north:33.319796};function XW(n,e,t){const i=Rs(2,t),r=Math.sin(e*Math.PI/180);return{x:(n+180)/360*i,y:(.5-Math.log((1+r)/(1-r))/(4*Math.PI))*i}}function KW(n,e,t){const i=Rs(2,t),r=n/i*360-180,a=Math.PI-2*Math.PI*e/i,o=180/Math.PI*Math.atan(.5*(Math.exp(a)-Math.exp(-a)));return[r,o]}function FBe(n,e){const t=XW(n.west,n.north,e),i=XW(n.east,n.south,e),r=Math.floor(t.x),a=Math.floor(i.x),o=Math.floor(t.y),s=Math.floor(i.y);return{zoom:e,minX:r,maxX:a,minY:o,maxY:s,cols:a-r+1,rows:s-o+1}}function OBe(n,e){const[t,i]=KW(n.minX,n.minY,n.zoom),[r,a]=KW(n.maxX+1,n.maxY+1,n.zoom),[o]=e([t,sd.south]),[s]=e([r,sd.south]),[,l]=e([sd.west,i]),[,u]=e([sd.west,a]);return{left:o,right:s,bottom:-u,top:-l}}function BBe(n,e){const{width:t,height:i}=e;n.save(),n.globalCompositeOperation="multiply",n.fillStyle="rgba(5, 24, 34, 0.22)",n.fillRect(0,0,t,i),n.globalCompositeOperation="screen";const r=n.createRadialGradient(t*.5,i*.48,t*.1,t*.5,i*.5,t*.72);r.addColorStop(0,"rgba(80, 230, 255, 0.16)"),r.addColorStop(1,"rgba(0, 18, 36, 0.03)"),n.fillStyle=r,n.fillRect(0,0,t,i),n.restore()}function zBe(n,e){const t=n.createLinearGradient(0,0,e.width,e.height);t.addColorStop(0,"#061927"),t.addColorStop(.5,"#0b2c3c"),t.addColorStop(1,"#07131f"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height)}function UBe(n){return new Promise(e=>{const t=new Image;t.crossOrigin="anonymous",t.onload=()=>e(t),t.onerror=()=>e(null),t.src=n})}function GBe(n,e,t){return kBe.replace("{x}",n).replace("{y}",e).replace("{z}",t)}function VBe(n,e,t,i){return Z2(this,null,function*(){const r=[];n.save(),n.filter="brightness(0.92) contrast(1.22) saturate(1.06)";for(let a=i.minX;a<=i.maxX;a+=1)for(let o=i.minY;o<=i.maxY;o+=1)r.push(UBe(GBe(a,o,i.zoom)).then(s=>{s&&(n.drawImage(s,(a-i.minX)*i7,(o-i.minY)*i7,i7,i7),t.needsUpdate=!0)}));yield Promise.allSettled(r),n.restore(),BBe(n,e),t.needsUpdate=!0})}function HBe({geoProjectionCenter:n,geoProjectionScale:e,zoom:t=11}={}){const i=FBe(sd,t),r=document.createElement("canvas");r.width=i.cols*i7,r.height=i.rows*i7;const a=r.getContext("2d");zBe(a,r);const o=new CL(r);o.colorSpace=Y1,o.wrapS=yi,o.wrapT=yi,o.minFilter=ln,o.magFilter=ln,o.needsUpdate=!0;const s=$s().center(n).scale(e).translate([0,0]),l=OBe(i,s);return VBe(a,r,o,i).catch(u=>{console.warn("load satellite tiles failed:",u)}),{texture:o,uvBounds:l}}function ZW(n,e){const t=e.right-e.left,i=e.top-e.bottom;n.mapGroup.traverse(r=>{var s,l;const a=(l=(s=r.geometry)==null?void 0:s.attributes)==null?void 0:l.position;if(!r.isMesh||!a)return;const o=new Float32Array(a.count*2);for(let u=0;u<a.count;u+=1){const c=a.getX(u),d=a.getY(u);o[u*2]=(c-e.left)/t,o[u*2+1]=(d-e.bottom)/i}r.geometry.setAttribute("uv",new I0(o,2)),r.geometry.attributes.uv.needsUpdate=!0})}const s1={west:101.852492,south:31.851389,east:103.347518,north:33.319796},u5={width:2400,height:2400},WBe=9;function jBe(n){return String(n).replace(/'/g,"''")}function Ri(n,e){return`${n} = '${jBe(e)}'`}const JW=[{name:"低地草甸类",fillColor:"#FFFFFF",strokeColor:"#FFFFFF"},{name:"莎草、杂类草型",fillColor:"#F67A7A",strokeColor:"#F67A7A"},{name:"山地草甸类",fillColor:"#FFFFFF",strokeColor:"#FFFFFF"},{name:"羊茅、杂类草型",fillColor:"#E69800",strokeColor:"#E69800"},{name:"早熟禾、杂类草型",fillColor:"#FFD380",strokeColor:"#FFD380"},{name:"垂穗披碱草型",fillColor:"#FFAA01",strokeColor:"#FFAA01"},{name:"苔草、杂类草型",fillColor:"#FFEBB0",strokeColor:"#FFEBB0"},{name:"委陵菜、杂类草型",fillColor:"#F5CA7B",strokeColor:"#F5CA7B"},{name:"披碱草型",fillColor:"#A87001",strokeColor:"#A87001"},{name:"高寒草甸类",fillColor:"#FFFFFF",strokeColor:"#FFFFFF"},{name:"矮生嵩草、杂类草型",fillColor:"#6CB3FF",strokeColor:"#6CB3FF"},{name:"矮生嵩草、圆穗蓼型",fillColor:"#00C7FF",strokeColor:"#00C7FF"},{name:"西藏嵩草、杂类草型",fillColor:"#8FE5FD",strokeColor:"#8FE5FD"},{name:"西藏嵩草、甘肃嵩草型",fillColor:"#7B8FED",strokeColor:"#7B8FED"},{name:"高山嵩草、矮生嵩草型",fillColor:"#71DDFE",strokeColor:"#71DDFE"},{name:"高山嵩草、苔草型",fillColor:"#7BB5F3",strokeColor:"#7BB5F3"},{name:"高山嵩草、杂类草型",fillColor:"#444E87",strokeColor:"#444E87"},{name:"具灌木的矮生嵩草型",fillColor:"#6873D1",strokeColor:"#6873D1"}].map((n,e)=>V2(y2({},n),{key:`grassland-type-${e+1}`,cqlFilter:Ri("grass_min_type",n.name),rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"]})),QW=[{name:">4000(kg/hm2)",fillColor:"#39A700",strokeColor:"#39A700"},{name:"3000-4000(kg/hm2)",fillColor:"#8CCF00",strokeColor:"#8CCF00"},{name:"2000-3000(kg/hm2)",fillColor:"#FEFE02",strokeColor:"#FEFE02"},{name:"1500-2000(kg/hm2)",fillColor:"#FE7E01",strokeColor:"#FE7E01"},{name:"<1500(kg/hm2)",fillColor:"#FB0100",strokeColor:"#FB0100"}].map(n=>V2(y2({},n),{selectable:!1})),kd={1:"一级",2:"二级",3:"三级",4:"四级",5:"五级",6:"六级",7:"七级",8:"八级"},V2e=[{level:"1",name:"1级草原",fillColor:"#81D10B",strokeColor:"#81D10B"},{level:"2",name:"2级草原",fillColor:"#8AE611",strokeColor:"#8AE611"},{level:"3",name:"3级草原",fillColor:"#79C801",strokeColor:"#79C801"},{level:"4",name:"4级草原",fillColor:"#D0EC03",strokeColor:"#D0EC03"},{level:"5",name:"5级草原",fillColor:"#FFCC00",strokeColor:"#FFCC00"},{level:"6",name:"6级草原",fillColor:"#FF6501",strokeColor:"#FF6501"},{level:"7",name:"7级草原",fillColor:"#FB0002",strokeColor:"#FB0002"},{level:"8",name:"8级草原",fillColor:"#D71345",strokeColor:"#D71345"}].map(n=>V2(y2({},n),{key:`grassland-level-${n.level}`,cqlFilter:`grassland_level IN ('${n.level}','${n.name}','${kd[n.level]}草原','${kd[n.level]}草地')`,rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"],level:void 0})),$Be=V2e.map(n=>{const e=n.key.replace("grassland-level-",""),t=n.name.replace("草原","湿地");return V2(y2({},n),{key:`wetland-level-${e}`,name:t,cqlFilter:`grassland_level IN ('${e}','${t}','${n.name}','${kd[e]}湿地','${kd[e]}草原','${kd[e]}草地')`})}),YBe=[{key:"basic-grassland-basic",name:"基本草原",fillColor:"#2EEA78",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'BASIC' OR grassland_category_name = '基本草原')",rankingValueKey:"basicAreaWanMu"},{key:"basic-grassland-general",name:"一般草原",fillColor:"#FFD15A",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'GENERAL' OR grassland_category_name = '一般草原')",rankingValueKey:"generalAreaWanMu"}],J7=[{key:"grassland",name:"草地资源",color:"#8AE611",defaultLayerKey:"grassland-distribution",coreGroups:["grassLand","grassland"]},{key:"wetland",name:"湿地资源",color:"#33A3DC",defaultLayerKey:"wetland-distribution",coreGroups:["wetland"]},{key:"woodland",name:"林地资源",color:"#2BD17E",defaultLayerKey:"woodland-distribution",coreGroups:["woodland"]}],fv=[{key:"national-park",name:"若尔盖国家公园",color:"#8AE611",defaultLayerKey:"national-park-zoning"},{key:"restoration",name:"生态修复工程",color:"#33A3DC",defaultLayerKey:"restoration-projects"},{key:"engineering-analysis",name:"工程分析",color:"#24F6C4",defaultLayerKey:"engineering-analysis-projects"}],H2e=[{key:"yak-industry-chain",name:"牦牛产业链",color:"#24F6C4",defaultLayerKey:"yak-industry-points"}],pv={woodland:[{key:"woodland-distribution",name:"林地范围",layerName:"ne:t_woodland_2023",styles:"woodland_distribution",opacity:.82,legends:[{key:"woodland-distribution-all",name:"林地范围",fillColor:"#2BD17E",strokeColor:"#2BD17E",selectable:!1}]},{key:"woodland-protection",name:"公益林",layerName:"ne:t_woodland_2023",styles:"woodland_protection",opacity:.86,legends:[{key:"woodland-protection-level-1",name:"国家一级公益林",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:Ri("gjgyl_bhdj","1")},{key:"woodland-protection-level-2",name:"国家二级公益林",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:Ri("gjgyl_bhdj","2")},{key:"woodland-protection-unset",name:"未划定",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(gjgyl_bhdj IS NULL OR gjgyl_bhdj = '' OR gjgyl_bhdj NOT IN ('1','2'))"}]},{key:"woodland-type",name:"林地类型",layerName:"ne:t_woodland_2023",styles:"woodland_type",opacity:.84,legends:[{key:"woodland-type-shrub",name:"灌木林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:Ri("dlmc","灌木林地")},{key:"woodland-type-arbor",name:"乔木林地",fillColor:"#0DA368",strokeColor:"#0DA368",cqlFilter:Ri("dlmc","乔木林地")},{key:"woodland-type-swamp",name:"灌丛沼泽",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:Ri("dlmc","灌丛沼泽")},{key:"woodland-type-other",name:"其他林地",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:"(dlmc IS NULL OR dlmc = '' OR dlmc NOT IN ('灌木林地','乔木林地','灌丛沼泽'))"}]},{key:"woodland-quality",name:"林地质量",layerName:"ne:t_woodland_2023",styles:"woodland_quality",opacity:.84,legends:[{key:"woodland-quality-2",name:"二级质量",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:Ri("zl_dj","2")},{key:"woodland-quality-3",name:"三级质量",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:Ri("zl_dj","3")},{key:"woodland-quality-4",name:"四级质量",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:Ri("zl_dj","4")},{key:"woodland-quality-5",name:"五级质量",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:Ri("zl_dj","5")},{key:"woodland-quality-unset",name:"未划分",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(zl_dj IS NULL OR zl_dj = '' OR zl_dj NOT IN ('2','3','4','5'))"}]},{key:"woodland-ownership",name:"林地权属",layerName:"ne:t_woodland_2023",styles:"woodland_ownership",opacity:.84,legends:[{key:"woodland-ownership-collective",name:"集体林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:Ri("ld_qs","10")},{key:"woodland-ownership-other",name:"国有或其他",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:"(ld_qs IS NULL OR ld_qs = '' OR ld_qs <> '10')"}]}],grassland:[{key:"grassland-distribution",name:"草地分布",layerName:"ne:t_grassland_result_caodi",opacity:.82,legends:[{name:"草地",fillColor:"#1D953F",strokeColor:"#1D953F"}]},{key:"basic-grassland",name:"基本/一般草原",layerName:"ne:t_basic_grassland_2023",styles:"basic_grassland_type",opacity:.84,legends:YBe},{key:"grassland-level",name:"草原级",layerName:"ne:t_grassland_result_level_caodi",opacity:.82,legends:V2e},{key:"grassland-type",name:"草原类型",layerName:"ne:t_grassland_result_grass_min_type_caodi",opacity:.82,legends:JW},{key:"grassland-yield",name:"草地产草量/生产力",layerName:"ne:t_grassland_result_yield_caodi",opacity:.82,legends:QW},{key:"grassland-health",name:"草地健康/退化",layerName:"ne:2023_08_ndvi",opacity:.72,legends:[{name:"非常差",fillColor:"#FF000533",strokeColor:"#FF0005",selectable:!1},{name:"差",fillColor:"#D8EE8C33",strokeColor:"#D8EE8C",selectable:!1},{name:"正常",fillColor:"#78C96233",strokeColor:"#78C962",selectable:!1},{name:"较好",fillColor:"#25814933",strokeColor:"#258149",selectable:!1}]}],wetland:[{key:"wetland-distribution",name:"湿地分布",layerName:"ne:t_grassland_result_shidi",opacity:.84,legends:[{name:"湿地",fillColor:"#33A3DC",strokeColor:"#33A3DC"}]},{key:"wetland-level",name:"湿地级",layerName:"ne:t_grassland_result_level_shidi",opacity:.82,legends:$Be},{key:"wetland-type",name:"湿地类型",layerName:"ne:t_grassland_result_grass_min_type_shidi",opacity:.82,legends:JW},{key:"wetland-yield",name:"湿地产草量/生产力",layerName:"ne:t_grassland_result_yield_shidi",opacity:.82,legends:QW}]},jy={"national-park":[{key:"national-park-zoning",name:"国家公园分区",sourceType:"wkt-api",apiUrl:"/openApi/gjgy/gjgy_area",fallbackPath:"datas/ecological-protection/national_park_wkt.json",opacity:.9,clipBounds:{west:101.852492,south:32.757724488,east:103.227028864,north:33.319796},mapView:{targetLngLat:[102.74,33.12],distanceScale:.68,targetLocalZ:.78,duration:.95},legends:[{key:"national-park-core",name:"核心保护区",fillColor:"#2EEA78",strokeColor:"#18F8FF",match:{field:"type",value:"核心保护区"},selectable:!1},{key:"national-park-general",name:"一般控制区",fillColor:"#FFD15A",strokeColor:"#FFF2A0",match:{field:"type",value:"一般控制区"},selectable:!1}]}],restoration:[{key:"restoration-projects",name:"生态修复工程",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.9,legends:[{key:"restoration-grassland",name:"草地修复",fillColor:"#70D44B",strokeColor:"#B7FF6D",cqlFilter:Ri("project_category","草地修复"),match:{field:"project_category",value:"草地修复"}},{key:"restoration-wetland",name:"湿地修复",fillColor:"#42C6DF",strokeColor:"#9CF7FF",cqlFilter:Ri("project_category","湿地修复"),match:{field:"project_category",value:"湿地修复"}},{key:"restoration-woodland",name:"林地修复",fillColor:"#1FB579",strokeColor:"#57F2A6",cqlFilter:Ri("project_category","林地修复"),match:{field:"project_category",value:"林地修复"}},{key:"restoration-linear",name:"线性设施",fillColor:"#F5C84B",strokeColor:"#FFE289",cqlFilter:Ri("feature_role","线性设施"),match:{field:"feature_role",value:"线性设施"}}]}],"engineering-analysis":[{key:"engineering-analysis-projects",name:"工程分析项目库",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.82,mapView:{targetLngLat:[102.58,32.72],distanceScale:.78,targetLocalZ:.72,duration:.85},legends:[{key:"analysis-project-grassland",name:"草地修复",fillColor:"#70D44B",strokeColor:"#B7FF6D",match:{field:"project_category",value:"草地修复"},selectable:!1},{key:"analysis-project-wetland",name:"湿地修复",fillColor:"#42C6DF",strokeColor:"#9CF7FF",match:{field:"project_category",value:"湿地修复"},selectable:!1},{key:"analysis-project-woodland",name:"林地修复",fillColor:"#1FB579",strokeColor:"#57F2A6",match:{field:"project_category",value:"林地修复"},selectable:!1},{key:"analysis-project-linear",name:"线性设施",fillColor:"#F5C84B",strokeColor:"#FFE289",match:{field:"feature_role",value:"线性设施"},selectable:!1}]}]},W2e=Object.fromEntries(yf.map(n=>[n.name,n.center])),qBe=[{name:"色地镇",count:131983,devices:25},{name:"瓦切镇",count:126611,devices:24},{name:"安曲镇",count:99331,devices:20},{name:"邛溪镇",count:81727,devices:18},{name:"麦洼乡",count:78489,devices:16},{name:"龙日镇",count:66846,devices:15},{name:"阿木乡",count:64176,devices:14},{name:"查尔玛乡",count:47958,devices:11},{name:"江茸乡",count:34576,devices:9},{name:"刷经寺镇",count:30407,devices:8}];function XBe(n,e,t,i){const r=W2e[n.name];return{type:"Feature",properties:{id:`${t}-${e+1}`,name:n.name,town:n.name,count:n.count,value:n.count,devices:n.devices,metricLabel:i},geometry:{type:"Point",coordinates:r}}}function KBe(n,e,t){return{type:"FeatureCollection",features:n.filter(i=>W2e[i.name]).map((i,r)=>XBe(i,r,e,t))}}const ZBe={"yak-industry-chain":[{key:"yak-recognition-layer",name:"牦牛识别",sourceType:"geojson",geojsonData:KBe(qBe,"yak-recognition-layer","识别数量"),opacity:.94,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-recognition-all",name:"牦牛识别",fillColor:"#32DCFF",strokeColor:"#B8F7FF",selectable:!1}]},{key:"yak-industry-points",name:"牦牛产业点位",sourceType:"geojson",dataPath:"datas/yak-industry-chain/yak_industry_points.geojson",opacity:.96,pointLabelLimit:12,mapView:{targetLngLat:[102.48,32.69],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-industry-family-pasture",name:"家庭生态牧场",fillColor:"#24F6C4",strokeColor:"#B7FFF2",match:{field:"stageKey",value:"family-pasture"}},{key:"yak-industry-artificial-grassland",name:"人工草地",fillColor:"#7EE269",strokeColor:"#D6FF8D",match:{field:"stageKey",value:"artificial-grassland"}},{key:"yak-industry-scale-breeding",name:"规模化养殖基地",fillColor:"#32DCFF",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"scale-breeding"}},{key:"yak-industry-forage-storage",name:"防灾减灾",fillColor:"#FFE06B",strokeColor:"#FFF2A0",match:{field:"stageKey",value:"forage-storage"}},{key:"yak-industry-slaughter-processing",name:"屠宰与加工",fillColor:"#FF9A62",strokeColor:"#FFD0A8",match:{field:"stageKey",value:"slaughter-processing"}},{key:"yak-industry-farm-equipment",name:"农机装备",fillColor:"#30DCFF",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"farm-equipment"}},{key:"yak-industry-social-service",name:"社会化服务",fillColor:"#9EA7FF",strokeColor:"#DFE3FF",match:{field:"stageKey",value:"social-service"}}]}]},JBe=y2(y2(y2({},pv),jy),ZBe),QBe=[...J7,...fv,...H2e];function ej(n){return QBe.find(e=>e.key===n)||J7[0]}function mS(n){return JBe[n]||[]}function bf(n,e){const t=mS(n);return t.find(i=>i.key===e)||t[0]}const eze=12e3;function tze(n,e={}){const t=new URLSearchParams;Object.entries(e).forEach(([r,a])=>{a!=null&&a!==""&&t.append(r,a)});const i=t.toString();return i?`${n}${n.includes("?")?"&":"?"}${i}`:n}function bo(t){return Z2(this,arguments,function*(n,e={}){const u=e,{params:i,timeout:r=eze}=u,a=LN(u,["params","timeout"]),o=new AbortController;let s=!1;const l=window.setTimeout(()=>{s=!0,o.abort()},r);try{const c=yield fetch(tze(n,i),V2(y2({credentials:"include"},a),{signal:o.signal,headers:y2({Accept:"application/json"},a.headers||{})}));if(!c.ok){const h=new Error(c.status===401?"用户未登录或授权已过期。":`HTTP ${c.status}`);throw h.code=`HTTP_${c.status}`,h.status=c.status,c.status===401&&FN(),h}const d=yield c.json();if((d==null?void 0:d.code)===401||(d==null?void 0:d.code)==="401"){const h=new Error((d==null?void 0:d.msg)||"用户未登录或授权已过期。");throw h.code="HTTP_401",h.status=401,FN(),h}return d}catch(c){if(o.signal.aborted||(c==null?void 0:c.name)==="AbortError"||/aborted/i.test((c==null?void 0:c.message)||"")){const h=new Error(s?"服务响应超时,请稍后再试。":"请求已取消,请重新发送。");throw h.code=s?"REQUEST_TIMEOUT":"REQUEST_ABORTED",h}throw c}finally{window.clearTimeout(l)}})}function D3(n){return(n==null?void 0:n.data)!==void 0?n.data:(n==null?void 0:n.result)!==void 0?n.result:n}const GL="/geoserver/ne/wms",nze={}.VITE_GEOSERVER_WFS_URL||GL.replace(/\/wms$/i,"/wfs");function VL(n,e){const t=new URLSearchParams;return Object.entries(e).forEach(([i,r])=>{r!=null&&r!==""&&t.append(i,r)}),`${n}${n.includes("?")?"&":"?"}${t.toString()}`}function tj(n,e={}){const t=e.bounds||s1,i=e.size||u5;return VL(e.url||GL,{service:"WMS",version:"1.1.1",request:"GetMap",layers:n.layerName,styles:n.styles||"",format:"image/png",transparent:!0,tiled:!0,srs:"EPSG:4326",bbox:[t.west,t.south,t.east,t.north].join(","),width:i.width,height:i.height,CQL_FILTER:e.cqlFilter||n.cqlFilter,_:Date.now()})}function ize(n,e,t={}){var a,o;const i=t.bounds||s1,r=t.size||u5;return VL(t.url||GL,{service:"WMS",version:"1.1.1",request:"GetFeatureInfo",layers:n.layerName,query_layers:n.layerName,styles:n.styles||"",info_format:"application/json",feature_count:5,srs:"EPSG:4326",bbox:[i.west,i.south,i.east,i.north].join(","),width:r.width,height:r.height,x:Math.round(e.x),y:Math.round(e.y),buffer:(o=(a=t.buffer)!=null?a:n.queryBuffer)!=null?o:8,CQL_FILTER:t.cqlFilter||n.cqlFilter})}function nj(i,r){return Z2(this,arguments,function*(n,e,t={}){const a=ize(n,e,t);return bo(a,{credentials:"include"})})}function rze(n,e={}){return VL(e.url||nze,{service:"WFS",version:e.version||"1.0.0",request:"GetFeature",typeName:n,outputFormat:"json",propertyName:Array.isArray(e.propertyName)?e.propertyName.join(","):e.propertyName,CQL_FILTER:e.cqlFilter,maxFeatures:e.maxFeatures||2e5})}function Oh(t){return Z2(this,arguments,function*(n,e={}){const i=rze(n,e);return bo(i,{credentials:"include",timeout:e.timeout||2e4})})}function ij(n){var i;const e=(i=n==null?void 0:n.features)==null?void 0:i[0];if(!e)return null;const t=e.properties||{};return{id:e.id||t.gid||t.objectid||t.OBJECTID,properties:t,feature:e}}const aze=new Ge(0,22.8,18.8),oze=new Ge(0,0,0),sze=new Ge(-7.2,24.2,31.2);function rj(n){return n.sort((e,t)=>t.value-e.value),n}function n8(n){return String(n||"").replace(/\s+/g,"").trim()}function Z1(n,e=0){const t=Number(n);return Number.isFinite(t)?t:e}function mn(n){return String(n!=null?n:"").replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}function aj(n){return(n==null?void 0:n.scope)==="village"||(n==null?void 0:n.labelMode)==="village"}function oj(n){return(n==null?void 0:n.scope)==="trade-flow"||(n==null?void 0:n.labelMode)==="trade-flow"}function sj(n){return!!(n!=null&&n.hideTownNames||(n==null?void 0:n.showTownNames)===!1)}function Ag(n){return!!(n!=null&&n.hideMapLabels||(n==null?void 0:n.showMapLabels)===!1)}function lze(n){return(n==null?void 0:n.displayMode)==="callout"||(n==null?void 0:n.labelMode)==="callout"}function Cg(n){return["wkt-api","geojson","wfs"].includes(n==null?void 0:n.sourceType)}function lj(n){return n?/^https?:\/\//.test(n)||n.startsWith("/")?n:`./${n}`:""}function uze(n){if(!n)return null;if(typeof n=="string")try{return JSON.parse(n)}catch(e){return console.warn("地图 GeoJSON 解析失败",e),null}return n}function Mg(n){const e=uze(n);return e!=null&&e.features&&e.features.forEach(t=>{var i;((i=t.geometry)==null?void 0:i.type)==="Polygon"&&(t.geometry.coordinates=[t.geometry.coordinates])}),e}function uj(n){return n!=null&&n.coordinates?n.type==="Polygon"?[n.coordinates]:n.type==="MultiPolygon"?n.coordinates:[]:[]}class cze extends oBe{constructor(e,t,i={}){var r,a,o,s;super(e),this.geoProjectionCenter=[102.6305459723107,32.72169252326339],this.geoProjectionScale=650,this.tradeGeoProjectionCenter=[104,36],this.tradeGeoProjectionScale=11.4,this.tradeNationalDepth=.24,this.depth=.5,this.mapFocusLabelInfo={name:"红原县",enName:"HONGYUAN COUNTY",center:[102.6305459723107,32.22]},this.clicked=!1,this.scene.fog=new bL(466735,1,50),this.scene.background=new Yt(466735),this.camera.instance.position.copy(sze),this.camera.instance.near=1,this.camera.instance.far=1e4,this.camera.instance.updateProjectionMatrix(),this.defaultMapCameraPosition=aze.clone(),this.defaultMapTarget=oze.clone(),this.camera.controls.target.copy(this.defaultMapTarget),this.camera.controls.update(),this.activeMapViewTweens=[],this.sceneTweens=[],this.sceneTimers=[],this.interactionManager=new NBe(this.renderer.instance,this.camera.instance,this.canvas),this.assets=t,this.callbacks=i,this.topicLayerLoadId=0,this.visibleTopicLayers=[],this.mapAnimationComplete=!1,this.showTownRankingBars=!1,this.showTownRankingPointMarkers=!1,this.currentTownRanking=null,this.villageRankingGroup=null,this.villageRankingLabels=[],this.tradeFlowGroup=null,this.tradeFlowMeshGroup=null,this.tradeFlowLabelGroup=null,this.tradeFlowLabels=[],this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[],this.isTradeNationalMapActive=!1,this.selectedFeatureGroup=null,this.selectedVectorFeatures=[],this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.currentVectorFeatures=[],this.yakIndustryPointLabelGroup=null,this.yakIndustryPointLabels=[],this.hongyuanBoundaryPolygons=[],this.townMetaByName=new Map(YW.map(l=>[n8(l.name),l])),this.staticMapData={china:Mg(this.assets.instance.getResource("china")),mapJson:Mg(this.assets.instance.getResource("mapJson")),mapStroke:Mg(this.assets.instance.getResource("mapStroke"))},this.handleCanvasBoundaryPointerDown=this.handleCanvasBoundaryPointerDown.bind(this),this.handleCanvasBoundaryDoubleClick=this.handleCanvasBoundaryDoubleClick.bind(this),(a=(r=this.canvas)==null?void 0:r.addEventListener)==null||a.call(r,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(s=(o=this.canvas)==null?void 0:o.addEventListener)==null||s.call(o,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.initEnvironment(),this.init()}init(){this.labelGroup=new E1,this.label3d=new fBe(this),this.labelGroup.rotation.x=-Math.PI/2,this.scene.add(this.labelGroup),this.flyLineFocusGroup=new E1,this.flyLineFocusGroup.visible=!1,this.flyLineFocusGroup.rotation.x=-Math.PI/2,this.scene.add(this.flyLineFocusGroup),this.eventElement=[],this.defaultMaterial=null,this.defaultLightMaterial=null,this.createBottomBg(),this.createChinaBlurLine(),this.createGrid(),this.createRotateBorder(),this.createLabel(),this.createMap(),this.createEvent(),this.createFlyLine(),this.createFocus(),this.createParticles(),this.createScatter(),this.createInfoPoint(),this.createStorke();let e=O0.timeline({onComplete:()=>{if(this.mapAnimationComplete=!0,this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),Ag(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}});e.pause(),this.animateTl=e,e.addLabel("focusMap",1.5),e.addLabel("focusMapOpacity",2),e.addLabel("bar",3),e.to(this.camera.instance.position,{duration:2,x:this.defaultMapCameraPosition.x,y:this.defaultMapCameraPosition.y,z:this.defaultMapCameraPosition.z,ease:"circ.out",onStart:()=>{this.flyLineFocusGroup.visible=!1}}),e.to(this.focusMapGroup.position,{duration:1,x:0,y:0,z:0},"focusMap"),e.to(this.focusMapGroup.scale,{duration:1,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{if(this.flyLineGroup.visible=!0,this.scatterGroup.visible=!0,this.InfoPointGroup.visible=!Ag(this.currentTownRanking)&&this.showTownRankingPointMarkers&&this.hasTownRankingRows(),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),Ag(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}},"focusMap"),e.to(this.focusMapTopMaterial,{duration:1,opacity:1,ease:"circ.out"},"focusMapOpacity"),e.to(this.focusMapSideMaterial,{duration:1,opacity:1,ease:"circ.out",onComplete:()=>{this.focusMapSideMaterial.transparent=!1}},"focusMapOpacity"),this.otherLabel.map((i,r)=>{let a=i.element.querySelector(".other-label");e.to(a,{duration:1,delay:.1*r,translateY:0,opacity:1,ease:"circ.out"},"focusMapOpacity")}),e.to(this.mapLineMaterial,{duration:.5,delay:.3,opacity:1},"focusMapOpacity"),e.to(this.rotateBorder1.scale,{delay:.3,duration:1,x:1,y:1,z:1,ease:"circ.out"},"focusMapOpacity"),e.to(this.rotateBorder2.scale,{duration:1,delay:.5,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{var i,r;this.flyLineFocusGroup.visible=!0,(r=(i=this.callbacks).onPlayComplete)==null||r.call(i)}},"focusMapOpacity"),this.showTownRankingBars&&(this.allBar.map((i,r)=>{e.to(i.scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar")}),this.allBarMaterial.map((i,r)=>{e.to(i,{duration:1,delay:.1*r,opacity:1,ease:"circ.out"},"bar")}));const t=this;this.allProvinceLabel.map((i,r)=>{let a=i.element.querySelector(".provinces-label-wrap"),o=i.element.querySelector(".number .value"),s={progress:0};e.to(a,{duration:1,delay:.2*r,translateY:0,opacity:1,ease:"circ.out"},"bar"),e.to(s,{duration:1,delay:.2*r,progress:1,onStart:()=>{s.progress=0},onUpdate:l},"bar");function l(){var c,d;const u=Z1((d=(c=i.userData)==null?void 0:c.targetValue)!=null?d:o.dataset.targetValue);o.innerText=t.formatMapRankingValue(u*s.progress)}}),this.showTownRankingBars&&this.allGuangquan.map((i,r)=>{e.to(i.children[0].scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar"),e.to(i.children[1].scale,{duration:1,delay:.1*r,x:1,y:1,z:1,ease:"circ.out"},"bar")})}initEnvironment(){let e=new S2e(13171711,4.2);this.scene.add(e);let t=new zy(14679295,5.8);t.position.set(-30,6,-8),t.castShadow=!0,t.shadow.radius=20,t.shadow.mapSize.width=1024,t.shadow.mapSize.height=1024,this.scene.add(t),this.createPointLight({color:"#1fd6df",intensity:680,distance:1e4,x:-9,y:3,z:-3}),this.createPointLight({color:"#2af0c6",intensity:260,distance:1e4,x:0,y:2,z:5})}createPointLight(e){const t=new _2e(1924702,e.intensity,e.distance);t.position.set(e.x,e.y,e.z),this.scene.add(t)}createMap(){let e=new E1,t=new E1;this.mapGroup=e,this.focusMapGroup=t;let{china:i,chinaTopLine:r}=this.createChina(),{map:a,mapTop:o,mapLine:s}=this.createProvince();i.setParent(e),r.setParent(e),this.createDiffuse(),a.setParent(t),o.setParent(t),s.setParent(t),t.position.set(0,0,-.01),t.scale.set(1,1,0),e.add(t),this.createTopicLayer(),e.rotation.x=-Math.PI/2,e.position.set(0,.2,0),this.scene.add(e),this.createBar()}createChina(){let e={chinaBgMaterialColor:"#0d3349",lineColor:"#39c7ef"},t=this.staticMapData.china,i=new tE({color:new Yt(e.chinaBgMaterialColor),transparent:!0,opacity:.72}),r=new yg(this,{data:t,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,merge:!0,material:i,renderOrder:2}),a=new Yo({color:e.lineColor,transparent:!0,opacity:.58}),o=new xg(this,{data:t,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,material:a,renderOrder:3});return o.lineGroup.position.z+=.01,{china:r,chinaTopLine:o}}createTradeNationalMap(){var d;if(this.tradeNationalMapGroup)return!0;let e=null;try{e=Mg(this.assets.instance.getResource("chinaMap"))}catch(h){return console.warn("牦牛交易全国地图资源未加载",h),!1}const t=e;if(!e||!((d=t==null?void 0:t.features)!=null&&d.length))return!1;const i=new E1;i.name="trade-national-map",i.visible=!1,i.rotation.x=-Math.PI/2,i.position.set(0,.04,0);const r=new M1({color:403001,transparent:!0,opacity:.14,side:o0,depthWrite:!1,fog:!1});new yg(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new Ge(.05,-.05,-.03),material:r,renderOrder:17}).setParent(i);const{topMaterial:o,sideMaterial:s}=this.createTradeNationalMaterials(),l=new UW(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new Ge(0,0,0),depth:this.tradeNationalDepth,topFaceMaterial:o,sideMaterial:s,renderOrder:20,bevelThickness:.024,bevelSegments:1});l.mapGroup.traverse(h=>{h.isMesh&&(h.renderOrder=20)}),l.setParent(i);const u=new Yo({color:4777983,transparent:!0,opacity:.52,fog:!1,depthTest:!1}),c=new xg(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,material:u,renderOrder:21});return c.lineGroup.position.z+=this.tradeNationalDepth+.055,c.setParent(i),this.scene.add(i),this.tradeNationalMapGroup=i,this.createTradeNationalLabels(t),!0}createTradeNationalMaterials(){const e=new R8({color:16777215,transparent:!0,opacity:.54,roughness:.84,metalness:.08,side:o0,fog:!1});new wg(e,{uColor1:827317,uColor2:403515,size:6.8,dir:"x"});const t=this.assets.instance.getResource("side").clone();t.wrapS=In,t.wrapT=In,t.repeat.set(1,1.2),t.needsUpdate=!0;const i=new R8({color:1485501,map:t,transparent:!0,opacity:.58,roughness:.78,metalness:.04,side:o0,fog:!1});return new wg(i,{uColor1:1354174,uColor2:134940,size:Math.max(this.tradeNationalDepth,.1),dir:"y"}),this.time.on("tick",()=>{t.offset.y+=.004}),{topMaterial:e,sideMaterial:i}}createTradeNationalLabels(e){this.tradeNationalLabelGroup=new E1,this.tradeNationalLabelGroup.name="trade-national-label",this.tradeNationalLabelGroup.rotation.x=-Math.PI/2,this.tradeNationalLabelGroup.visible=!1,this.scene.add(this.tradeNationalLabelGroup),this.tradeNationalLabels=[];const t=new Set(["四川","青海","甘肃","陕西","重庆","云南","西藏","新疆"]);(e.features||[]).forEach(i=>{var l;const r=((l=i.properties)==null?void 0:l.name)||"",a=this.normalizeTradeProvinceName(r);if(!t.has(a))return;const o=this.getFeatureCenterLngLat(i);if(!o)return;const s=this.label3d.create("","trade-national-label",!0);s.init(`<div class="trade-national-name">${mn(a)}</div>`,this.getTradeLocalPoint(o.lng,o.lat,.82)),this.label3d.setLabelStyle(s,.012,"x"),s.setParent(this.tradeNationalLabelGroup),s.visible=!0,this.tradeNationalLabels.push(s)})}normalizeTradeProvinceName(e=""){return String(e).replace(/省|市|自治区|壮族|回族|维吾尔|特别行政区/g,"").trim()}getFeatureCenterLngLat(e){var a,o,s;const t=((a=e==null?void 0:e.properties)==null?void 0:a.cp)||((o=e==null?void 0:e.properties)==null?void 0:o.centroid)||((s=e==null?void 0:e.properties)==null?void 0:s.center);if(Array.isArray(t)&&Number.isFinite(Number(t[0]))&&Number.isFinite(Number(t[1])))return{lng:Number(t[0]),lat:Number(t[1])};const i=this.getGeometryCoordinateList(e==null?void 0:e.geometry);if(!i.length)return null;const r=i.reduce((l,u)=>({minLng:Math.min(l.minLng,Number(u[0])),maxLng:Math.max(l.maxLng,Number(u[0])),minLat:Math.min(l.minLat,Number(u[1])),maxLat:Math.max(l.maxLat,Number(u[1]))}),{minLng:1/0,maxLng:-1/0,minLat:1/0,maxLat:-1/0});return{lng:(r.minLng+r.maxLng)/2,lat:(r.minLat+r.maxLat)/2}}createProvince(){let e=this.staticMapData.mapJson;this.mapJsonData=e;const t=HBe({geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,zoom:WBe});this.enhanceTexture(t.texture);let[i,r]=this.createProvinceMaterial();this.focusMapTopMaterial=i,this.focusMapSideMaterial=r;let a=new UW(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Ge(0,0,.11),data:e,depth:this.depth,topFaceMaterial:i,sideMaterial:r,renderOrder:9}),o=new R8({color:16777215,map:t.texture,transparent:!0,opacity:.94,roughness:.82});new wg(o,{uColor1:1629410,uColor2:757673}),this.defaultMaterial=o,this.defaultLightMaterial=this.defaultMaterial.clone(),this.defaultLightMaterial.color=new Yt("rgba(128,244,255,1)"),this.defaultLightMaterial.opacity=.9;let s=new yg(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Ge(0,0,this.depth+.22),data:e,material:o,renderOrder:8});ZW(s,t.uvBounds),s.mapGroup.children.map(u=>{u.children.map(c=>{c.type==="Mesh"&&this.eventElement.push(c)})}),this.mapLineMaterial=new Yo({color:12254463,opacity:0,transparent:!0,fog:!1});let l=new xg(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapLineMaterial,renderOrder:3});return l.lineGroup.position.z+=this.depth+.23,{map:a,mapTop:s,mapLine:l}}createTopicLayer(){if(!this.mapJsonData)return;this.initHongyuanBoundaryPolygons();const e=document.createElement("canvas");e.width=u5.width,e.height=u5.height;const t=e.getContext("2d");t.clearRect(0,0,e.width,e.height);const i=new CL(e);i.colorSpace=Y1,i.wrapS=yi,i.wrapT=yi,i.minFilter=ln,i.magFilter=ln,this.enhanceTexture(i),i.needsUpdate=!0;const r=new M1({map:i,transparent:!0,opacity:0,depthWrite:!1,side:o0,fog:!1}),a=this.createLayerUvBounds(),o=new yg(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Ge(0,0,this.depth+.255),data:this.mapJsonData,material:r,renderOrder:18});ZW(o,a),o.setParent(this.focusMapGroup),this.topicLayerUvBounds=a,this.topicLayerCanvas=e,this.topicLayerContext=t,this.topicLayerTexture=i,this.topicLayerMaterial=r,this.topicLayerMap=o}initHongyuanBoundaryPolygons(){var t,i,r;if((t=this.hongyuanBoundaryPolygons)!=null&&t.length)return;const e=this.staticMapData.mapStroke;this.hongyuanBoundaryPolygons=uj((r=(i=e==null?void 0:e.features)==null?void 0:i[0])==null?void 0:r.geometry)}createSelectedFeatureGroup(){var e;this.selectedFeatureGroup||(this.selectedFeatureGroup=new E1,this.selectedFeatureGroup.name="selected-feature-highlight",this.selectedFeatureGroup.position.z=this.depth+.31,(e=this.focusMapGroup)==null||e.add(this.selectedFeatureGroup))}createLayerUvBounds(){const e=$s().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),[t]=e([s1.west,s1.south]),[i]=e([s1.east,s1.south]),[,r]=e([s1.west,s1.north]),[,a]=e([s1.west,s1.south]);return{left:t,right:i,bottom:-a,top:-r}}setTopicLayer(e){var r,a;if(!e||!this.topicLayerContext||!this.topicLayerTexture)return;this.currentTopicLayer=e,this.visibleTopicLayers=[e],this.clearSelectedFeature(),this.applyLayerMapView(e);const t=++this.topicLayerLoadId;if(this.currentVectorFeatures=[],this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"loading",text:`正在加载 ${e.name}`}),Cg(e)){this.loadVectorTopicLayer(e,t);return}const i=new Image;i.crossOrigin="anonymous",i.onload=()=>{var o,s,l;t===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerContext.drawImage(i,0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=(o=e.opacity)!=null?o:.84,(l=(s=this.callbacks).onLayerStatus)==null||l.call(s,{type:"success",text:"GeoServer 图层已加载"}))},i.onerror=()=>{var o,s;t===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"GeoServer 图层加载失败"}))},i.src=tj(e)}setTopicLayers(e=[],t=e[0]){var a,o,s,l;if(!this.topicLayerContext||!this.topicLayerTexture)return;const i=e.filter(Boolean);if(!i.length){this.topicLayerLoadId+=1,this.visibleTopicLayers=[],this.currentTopicLayer=null,this.currentVectorFeatures=[],this.clearYakIndustryPointLabels(),this.clearSelectedFeature(),this.applyLayerMapView(null),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(a=this.callbacks).onLayerStatus)==null||o.call(a,{type:"success",text:"图层已关闭"});return}if(i.length===1){this.setTopicLayer(y2(y2({},i[0]),(t==null?void 0:t.key)===i[0].key?t:{}));return}this.currentTopicLayer=t||i[i.length-1],this.visibleTopicLayers=i,this.clearSelectedFeature(),this.clearYakIndustryPointLabels(),this.applyLayerMapView(this.currentTopicLayer);const r=++this.topicLayerLoadId;this.currentVectorFeatures=[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(l=(s=this.callbacks).onLayerStatus)==null||l.call(s,{type:"loading",text:`正在加载 ${i.length} 个林地图层`}),Promise.all(i.map(u=>this.loadCompositeTopicLayerItem(u))).then(u=>{var d,h;if(r!==this.topicLayerLoadId)return;const c=u.filter(Boolean);this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),c.forEach((f,p)=>{var g,m;if(f.type==="image"){this.topicLayerContext.save();const v=p===c.length-1?Math.max(.78,(g=f.layer.opacity)!=null?g:.9):Math.min(.52,(m=f.layer.opacity)!=null?m:.52);this.topicLayerContext.globalAlpha=Math.min(1,Math.max(.28,v)),this.topicLayerContext.drawImage(f.image,0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerContext.restore();return}this.drawVectorTopicLayer(f.layer,f.geojson.features||[],{clear:!1})}),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=c.length?1:0,(h=(d=this.callbacks).onLayerStatus)==null||h.call(d,{type:c.length?"success":"error",text:c.length?`已加载 ${c.length} 个林地图层`:"林地图层加载失败"})})}loadCompositeTopicLayerItem(e){return Z2(this,null,function*(){if(Cg(e))try{const t=yield this.fetchVectorLayerGeojson(e);return{type:"vector",layer:e,geojson:t}}catch(t){return null}return this.loadTopicLayerImage(e).then(t=>t?y2({type:"image"},t):null)})}loadTopicLayerImage(e){return new Promise(t=>{const i=new Image;i.crossOrigin="anonymous",i.onload=()=>t({image:i,layer:e}),i.onerror=()=>t(null),i.src=tj(e)})}applyLayerMapView(e,t={}){var s,l;if(!((s=this.camera)!=null&&s.instance)||!((l=this.camera)!=null&&l.controls)||!this.mapAnimationComplete&&!t.force)return;const i=(e==null?void 0:e.mapView)||(e!=null&&e.cameraPosition?{cameraPosition:e.cameraPosition}:null),r=i?this.getLayerMapViewTarget(i):this.defaultMapTarget.clone(),a=i?this.getLayerMapViewCameraPosition(i,r):this.defaultMapCameraPosition.clone(),o=i&&Number.isFinite(i.duration)?i.duration:.75;this.animateMapCamera(a,r,o)}getLayerMapViewTarget(e){var t;return e!=null&&e.targetLngLat?this.lngLatToWorldPoint(e.targetLngLat,(t=e.targetLocalZ)!=null?t:.72):e!=null&&e.target?this.toVector3(e.target,this.defaultMapTarget):this.defaultMapTarget.clone()}getLayerMapViewCameraPosition(e,t){if(e!=null&&e.cameraPosition)return this.toVector3(e.cameraPosition,this.defaultMapCameraPosition);const i=Number.isFinite(e==null?void 0:e.distanceScale)?e.distanceScale:1,r=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(i),a=t.clone().add(r);return e!=null&&e.cameraOffset&&a.add(this.toVector3(e.cameraOffset,new Ge(0,0,0))),a}lngLatToWorldPoint(e,t=0){const i=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],r=Number(i==null?void 0:i[0]),a=Number(i==null?void 0:i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return this.defaultMapTarget.clone();const[o,s]=this.geoProjection([r,a]),l=new Ge(o,-s,Number(t)||0);return this.focusMapGroup?this.focusMapGroup.localToWorld(l):l}toVector3(e,t){if(Array.isArray(e)){const[o,s,l]=e.map(Number);return[o,s,l].every(Number.isFinite)?new Ge(o,s,l):t.clone()}const i=Number(e==null?void 0:e.x),r=Number(e==null?void 0:e.y),a=Number(e==null?void 0:e.z);return[i,r,a].every(Number.isFinite)?new Ge(i,r,a):t.clone()}animateMapCamera(e,t,i=.75){this.activeMapViewTweens.forEach(o=>{var s;return(s=o==null?void 0:o.kill)==null?void 0:s.call(o)}),this.activeMapViewTweens=[];const r=this.camera.controls,a=()=>r.update();this.activeMapViewTweens.push(O0.to(this.camera.instance.position,{duration:i,x:e.x,y:e.y,z:e.z,ease:"power2.out",onUpdate:a}),O0.to(r.target,{duration:i,x:t.x,y:t.y,z:t.z,ease:"power2.out",onUpdate:a}))}addSceneTween(e){var t;return e&&(this.sceneTweens.push(e),this.scenePaused&&((t=e.pause)==null||t.call(e)),e)}addSceneTimer(e){return e&&this.sceneTimers.push(e),e}focusTownByName(e,t={}){var o,s,l;const i=this.townMetaByName.get(n8(e));if(!(i!=null&&i.center))return!1;const r=this.lngLatToWorldPoint(i.center,(o=t.targetLocalZ)!=null?o:.82),a=this.getLayerMapViewCameraPosition({distanceScale:(s=t.distanceScale)!=null?s:.82,cameraOffset:t.cameraOffset||{x:0,y:1.2,z:0}},r);return this.animateMapCamera(a,r,(l=t.duration)!=null?l:.75),!0}focusYakIndustryPoint(e={}){var a,o;const t=this.getYakIndustryPayloadCoordinate(e);if(!t)return(o=(a=this.callbacks).onLayerStatus)==null||o.call(a,{type:"warning",text:"当前主体暂无可定位坐标"}),{focused:!1,screen:null};const i=this.findYakIndustryPointFeature(e,t);return i?this.setSelectedVectorFeatures([i]):this.clearSelectedFeature(),{focused:this.flyToLngLat(t,{span:.035,duration:.72,statusText:"已定位产业主体"}),screen:this.getYakIndustryPointScreen(e),feature:i}}getYakIndustryPointScreen(e={}){const t=this.getYakIndustryPayloadCoordinate(e);return t?this.lngLatToLayerScreenPoint(t,this.depth+.255)||this.lngLatToScreenPoint(t,this.depth+.32):null}getYakIndustryPayloadCoordinate(e={}){var a,o,s,l,u;const t=((a=e.geometry)==null?void 0:a.coordinates)||e.coordinates,i=Number((s=(o=e.longitude)!=null?o:e.lng)!=null?s:t==null?void 0:t[0]),r=Number((u=(l=e.latitude)!=null?l:e.lat)!=null?u:t==null?void 0:t[1]);return!Number.isFinite(i)||!Number.isFinite(r)?null:[i,r]}findYakIndustryPointFeature(e={},t=this.getYakIndustryPayloadCoordinate(e)){const i=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),r=String(e.id||e.key||""),a=String(e.fullName||e.name||"").trim(),o=String(e.stageKey||""),s=i.find(l=>{const u=(l==null?void 0:l.properties)||{};return!!(r&&String(u.id||"")===r||a&&String(u.name||u.fullName||"").trim()===a)});return s||t&&i.find(l=>{var c;if(((c=l==null?void 0:l.geometry)==null?void 0:c.type)!=="Point")return!1;const u=l.properties||{};return o&&String(u.stageKey||"")!==o?!1:this.getCoordinateDistance(l.geometry.coordinates,t)<=8e-4})||null}loadVectorTopicLayer(e,t){return Z2(this,null,function*(){var i,r,a,o,s;try{const l=yield this.fetchVectorLayerGeojson(e);if(t!==this.topicLayerLoadId)return;this.currentVectorFeatures=l.features||[],this.drawVectorTopicLayer(e,this.currentVectorFeatures),this.updateYakIndustryPointLabels(e,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=(i=e.opacity)!=null?i:.9,(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"success",text:"真实矢量图层已加载"})}catch(l){if(t!==this.topicLayerLoadId)return;this.currentVectorFeatures=[],this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"真实矢量图层加载失败"})}})}fetchVectorLayerGeojson(e){return Z2(this,null,function*(){var i;if(e.sourceType==="geojson"){if(((i=e.geojsonData)==null?void 0:i.type)==="FeatureCollection")return e.geojsonData;const r=yield fetch(lj(e.dataPath),{credentials:"include"});if(!r.ok)throw new Error(`HTTP ${r.status}`);return yield r.json()}if(e.sourceType==="wfs"){const r=yield Oh(e.layerName,{cqlFilter:e.cqlFilter,maxFeatures:e.maxFeatures||1200,timeout:e.timeout||18e3});return(r==null?void 0:r.type)==="FeatureCollection"?r:{type:"FeatureCollection",features:(r==null?void 0:r.features)||[]}}let t=[];try{const r=yield fetch(e.apiUrl,{credentials:"include"});if(!r.ok)throw new Error(`HTTP ${r.status}`);const a=yield r.json();t=Array.isArray(a==null?void 0:a.data)?a.data:[]}catch(r){const a=yield fetch(lj(e.fallbackPath),{credentials:"include"});if(!a.ok)throw r;const o=yield a.json();t=Array.isArray(o==null?void 0:o.rows)?o.rows:[]}return{type:"FeatureCollection",features:t.map(r=>({type:"Feature",properties:{id:r.id,type:r.type,totalAcreage:r.totalAcreage,cdAcreage:r.cdAcreage,sdAcreage:r.sdAcreage,cdScl:r.cdScl,sdScl:r.sdScl},geometry:this.parseWktGeometry(r.wkt)})).filter(r=>r.geometry)}})}drawVectorTopicLayer(e,t,i={}){const r=this.topicLayerContext;i.clear!==!1&&r.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),r.save(),r.lineJoin="round",r.lineCap="round",this.clipVectorLayerContext(r,e),this.getVisibleVectorFeatures(e,t).sort((s,l)=>{var d,h;const u=this.getGeometryDrawRank((d=s.geometry)==null?void 0:d.type),c=this.getGeometryDrawRank((h=l.geometry)==null?void 0:h.type);return u-c}).forEach(s=>{const l=this.getVectorFeatureStyle(e,s);this.drawVectorFeature(r,s.geometry,l)}),this.drawSelectedVectorOverlay(r),r.restore()}drawSelectedVectorOverlay(e){const t=this.selectedVectorFeatures||[],i=this.analysisMatchedFeatures||[],r=this.analysisBoundaryFeature,a=this.boundaryDrawPoints||[];if(!t.length&&!i.length&&!r&&!a.length)return;const o={fill:"#FFE15A",stroke:"#24F6C4",polygonAlpha:.24,lineAlpha:.98,lineWidth:12,pointRadius:11,glow:!0,halo:!0},s={fill:"#FFF06A",stroke:"#FFFDF2",polygonAlpha:.46,lineAlpha:1,lineWidth:5,pointRadius:6.5,glow:!1,halo:!1};if(e.save(),t.forEach(l=>{var c;const u=(l==null?void 0:l.geometry)||((c=l==null?void 0:l.feature)==null?void 0:c.geometry);this.drawVectorFeature(e,u,o),this.drawVectorFeature(e,u,s)}),i.forEach(l=>{var c;const u=(l==null?void 0:l.geometry)||((c=l==null?void 0:l.feature)==null?void 0:c.geometry);this.drawVectorFeature(e,u,{fill:"#FF8A3D",stroke:"#FFE15A",polygonAlpha:.28,lineAlpha:.98,lineWidth:5,pointRadius:6,glow:!0})}),r!=null&&r.geometry&&this.drawVectorFeature(e,r.geometry,{fill:"#24F6C4",stroke:"#FFFFFF",polygonAlpha:.18,lineAlpha:1,lineWidth:4,pointRadius:6,glow:!0}),a.length){const l=a.map(c=>[c.lng,c.lat]),u={type:"LineString",coordinates:this.boundaryDrawingEnabled?l:[...l,l[0]].filter(Boolean)};this.drawVectorFeature(e,u,{fill:"#24F6C4",stroke:"#24F6C4",polygonAlpha:.12,lineAlpha:1,lineWidth:4,pointRadius:6,glow:!0}),l.forEach(c=>{this.drawVectorFeature(e,{type:"Point",coordinates:c},{fill:"#FFFFFF",stroke:"#24F6C4",polygonAlpha:.2,lineAlpha:1,lineWidth:3,pointRadius:5.5,glow:!0})})}e.restore()}redrawVectorTopicLayer(){!this.topicLayerContext||!this.topicLayerTexture||!this.currentTopicLayer||!Cg(this.currentTopicLayer)||(this.drawVectorTopicLayer(this.currentTopicLayer,this.currentVectorFeatures||[]),this.topicLayerTexture.needsUpdate=!0)}getVisibleVectorFeatures(e,t){const i=e==null?void 0:e.activeLegend,r=i==null?void 0:i.match;if(r!=null&&r.field)return(t||[]).filter(s=>{var l,u;return String((u=(l=s==null?void 0:s.properties)==null?void 0:l[r.field])!=null?u:"")===String(r.value)});const o=String((e==null?void 0:e.cqlFilter)||"").trim().match(/^([a-zA-Z0-9_]+)\s*=\s*'((?:''|[^'])*)'$/);if(o){const[,s,l]=o,u=l.replace(/''/g,"'");return(t||[]).filter(c=>{var d,h;return String((h=(d=c==null?void 0:c.properties)==null?void 0:d[s])!=null?h:"")===u})}return[...t||[]]}updateYakIndustryPointLabels(){this.clearYakIndustryPointLabels()}ensureYakIndustryPointLabelGroup(){this.yakIndustryPointLabelGroup||(this.yakIndustryPointLabelGroup=new E1,this.yakIndustryPointLabelGroup.name="yak-industry-point-labels",this.yakIndustryPointLabelGroup.rotation.x=-Math.PI/2,this.yakIndustryPointLabelGroup.visible=!1,this.scene.add(this.yakIndustryPointLabelGroup))}clearYakIndustryPointLabels(){var e;this.yakIndustryPointLabelGroup&&(this.yakIndustryPointLabelGroup.visible=!1),(e=this.yakIndustryPointLabels)==null||e.forEach(t=>{var i;t.visible=!1,(i=t.hide)==null||i.call(t)})}getYakIndustryLabelFeatures(e,t){const i=this.getVisibleVectorFeatures(e,t).filter(l=>{var u;return((u=l==null?void 0:l.geometry)==null?void 0:u.type)==="Point"}),r=Number(e==null?void 0:e.pointLabelLimit)||(i.length>36?12:Math.min(i.length,16)),a=i.map(l=>{var u;return{feature:l,score:this.getYakIndustryFeatureScore(l),town:n8((u=l.properties)==null?void 0:u.town)}}).sort((l,u)=>{var c,d;return u.score-l.score||String(((c=l.feature.properties)==null?void 0:c.name)||"").localeCompare(String(((d=u.feature.properties)==null?void 0:d.name)||""),"zh-CN")}),o=[],s=new Set;return a.forEach(l=>{o.length>=r||!l.town||s.has(l.town)||(o.push(l.feature),s.add(l.town))}),a.forEach(l=>{o.length>=r||o.includes(l.feature)||o.push(l.feature)}),o}getYakIndustryFeatureScore(e){const t=(e==null?void 0:e.properties)||{},i=[t.outputValue,t.capacity,t.value,t.count,t["年产值 (万元)"],t["年总产值 (万元)"],t["设计存栏量 (头)"],t["总库容 (吨)"]].map(r=>this.parseMapMetricNumber(r));return Math.max(...i,0)}parseMapMetricNumber(e){if(typeof e=="number")return Number.isFinite(e)?e:0;const t=String(e!=null?e:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);return t&&Number(t[0])||0}getYakIndustryPointLabelPosition(e,t=0){var r;const i=this.lngLatToLayerLocalPoint((r=e==null?void 0:e.geometry)==null?void 0:r.coordinates,this.depth+1.08+Math.min(t,5)*.015);return i.x+=(t%3-1)*.08,i.y+=t%2===0?.07:-.06,i}getYakIndustryPointLabelHtml(e){const t=(e==null?void 0:e.properties)||{},i=this.compactYakIndustryLabelName(t.name||t.fullName||"产业主体"),r=this.formatYakIndustryLabelText(t.categoryName||t.stageName||"产业主体"),a=t.town||t.village||"红原县",o=this.getYakIndustryPointMetricText(t),s=this.getYakIndustryLabelColor(t);return`<div class="yak-industry-point-label-wrap" style="--yak-point-color:${mn(s)}"> |
|
|
<div class="yak-industry-point-label-head"><i></i><span>${mn(r)}</span></div> |
|
|
<div class="yak-industry-point-label-name">${mn(i)}</div> |
|
|
<div class="yak-industry-point-label-meta"> |
|
|
<span>${mn(a)}</span> |
|
|
${o?`<strong>${mn(o)}</strong>`:""} |
|
|
</div> |
|
|
</div>`}compactYakIndustryLabelName(e=""){const t=String(e).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/\s+/g," ").trim();return t.length>16?`${t.slice(0,15)}…`:t}formatYakIndustryLabelText(e=""){return String(e).replace(/\bcxpt[-_./\s]*/gi,"").replace(/^cxpt/i,"").replace(/\s+/g," ").trim()}getYakIndustryPointMetricText(e={}){return e.capacity!==void 0&&e.capacity!==null&&e.capacity!==""&&this.parseMapMetricNumber(e.capacity)>0?this.formatYakIndustryMetricText(e.capacity,e.capacityUnit):this.parseMapMetricNumber(e.outputValue)>0?`${this.formatMapRankingValue(e.outputValue)}万元`:this.isMeaningfulMapText(e.locationType)?e.locationType:this.isMeaningfulMapText(e.status)?e.status:""}isMeaningfulMapText(e){const t=String(e!=null?e:"").trim();return!!(t&&t!=="0"&&t!=="无"&&t!=="待完善")}formatYakIndustryMetricText(e,t=""){const i=String(e!=null?e:"").trim();return!i||i==="0"?"":typeof e=="string"&&/[^\d.,\s-]/.test(i)?i:`${this.formatMapRankingValue(e)}${t||""}`}getYakIndustryLabelColor(e={}){var r,a,o,s,l,u;const t=String(e.stageKey||""),i=(((r=this.currentTopicLayer)==null?void 0:r.legends)||[]).find(c=>{var d;return String(((d=c.match)==null?void 0:d.value)||"")===t})||(String(((s=(o=(a=this.currentTopicLayer)==null?void 0:a.activeLegend)==null?void 0:o.match)==null?void 0:s.value)||"")===t?this.currentTopicLayer.activeLegend:null);return(i==null?void 0:i.fillColor)||((u=(l=this.currentTopicLayer)==null?void 0:l.activeLegend)==null?void 0:u.fillColor)||"#24F6C4"}clipVectorLayerContext(e,t){this.clipContextToHongyuanBoundary(e);const i=this.getLayerClipBounds(t);if(!i)return;const r=this.lngLatToLayerCanvasPoint([i.west,i.north]),a=this.lngLatToLayerCanvasPoint([i.east,i.south]),o=Math.min(r.x,a.x),s=Math.min(r.y,a.y),l=Math.abs(a.x-r.x),u=Math.abs(a.y-r.y);!l||!u||(e.beginPath(),e.rect(o,s,l,u),e.clip())}clipContextToHongyuanBoundary(e){const t=this.hongyuanBoundaryPolygons||[];t.length&&(e.beginPath(),t.forEach(i=>{i.forEach(r=>{r.forEach((a,o)=>{const s=this.lngLatToLayerCanvasPoint(a);o===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.closePath()})}),e.clip("evenodd"))}shouldClipLayerToHongyuanBoundary(e=this.currentTopicLayer){const t=String((e==null?void 0:e.key)||"");return!!(e!=null&&e.clipToHongyuanBoundary||t==="national-park-zoning"||t.startsWith("yak-"))}shouldClipLayerToLayerBounds(e=this.currentTopicLayer){return!!(e!=null&&e.clipBounds&&(e==null?void 0:e.key)==="national-park-zoning")}isLngLatInHongyuanBoundary(e){const t=this.hongyuanBoundaryPolygons||[];return t.length?t.some(i=>this.isLngLatInPolygon(e,i)):!0}isLngLatInLayerClipBounds(e,t=this.currentTopicLayer){const i=this.getLayerClipBounds(t);return i?e.lng>=i.west&&e.lng<=i.east&&e.lat>=i.south&&e.lat<=i.north:!0}getLayerClipBounds(e){const t=e==null?void 0:e.clipBounds;if(!t)return null;const i=Math.max(Number(t.west),s1.west),r=Math.max(Number(t.south),s1.south),a=Math.min(Number(t.east),s1.east),o=Math.min(Number(t.north),s1.north);return![i,r,a,o].every(Number.isFinite)||i>=a||r>=o?null:{west:i,south:r,east:a,north:o}}getGeometryDrawRank(e){return String(e).includes("Polygon")?1:String(e).includes("LineString")?2:3}getVectorFeatureStyle(e,t){var l,u,c;const i=t.properties||{},a=(e.legends||[]).find(d=>{var f;const h=d.match;return h?String((f=i[h.field])!=null?f:"")===String(h.value):!1})||e.activeLegend||((l=e.legends)==null?void 0:l[0])||{},o=String(((u=t.geometry)==null?void 0:u.type)||"").includes("LineString"),s=((c=t.geometry)==null?void 0:c.type)==="Point";return(e==null?void 0:e.key)==="yak-epidemic-village-boundary"?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||"#FFF06A",polygonAlpha:.16,lineAlpha:1,lineWidth:5,pointRadius:4.5,glow:!0}:(e==null?void 0:e.key)==="yak-industry-points"?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||a.fillColor||"#B7FFF2",polygonAlpha:.36,lineAlpha:.82,lineWidth:1.6,pointRadius:this.getVectorPointRadius(e,t),glow:!0,halo:!0}:e!=null&&e.boundaryOnly?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||a.fillColor||"#18F8FF",polygonAlpha:.06,lineAlpha:.96,lineWidth:7,pointRadius:4.5,glow:!0}:{fill:o||s?a.strokeColor||a.fillColor||"#30DCFF":a.fillColor||"#30DCFF",stroke:a.strokeColor||a.fillColor||"#30DCFF",polygonAlpha:.36,lineAlpha:o?.92:.9,lineWidth:o?5:2.4,pointRadius:s?this.getVectorPointRadius(e,t):4.5,glow:!0}}getVectorPointRadius(e,t){var r,a;const i=Number(((r=t==null?void 0:t.properties)==null?void 0:r.count)||((a=t==null?void 0:t.properties)==null?void 0:a.value)||0);return(e==null?void 0:e.key)==="yak-recognition-layer"?Math.max(3.8,Math.min(8.6,3.6+Math.sqrt(i)/68)):(e==null?void 0:e.key)==="yak-industry-points"?4.8:4.5}drawVectorFeature(e,t,i){if(t!=null&&t.coordinates){if(t.type==="Polygon"){this.drawPolygonPath(e,t.coordinates,i);return}if(t.type==="MultiPolygon"){t.coordinates.forEach(r=>this.drawPolygonPath(e,r,i));return}if(t.type==="LineString"){this.drawLinePath(e,t.coordinates,i);return}if(t.type==="MultiLineString"){t.coordinates.forEach(r=>this.drawLinePath(e,r,i));return}t.type==="Point"&&this.drawPointPath(e,t.coordinates,i)}}drawPolygonPath(e,t,i){Array.isArray(t==null?void 0:t[0])&&(e.save(),e.beginPath(),t.forEach(r=>{r.forEach((a,o)=>{const s=this.lngLatToLayerCanvasPoint(a);o===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.closePath()}),e.fillStyle=this.hexToRgba(i.fill,i.polygonAlpha),e.strokeStyle=this.hexToRgba(i.stroke,i.lineAlpha),e.lineWidth=i.lineWidth,i.glow&&(e.shadowColor=i.stroke,e.shadowBlur=14),e.fill("evenodd"),e.stroke(),e.restore())}drawLinePath(e,t,i){!Array.isArray(t)||t.length<2||(e.save(),e.beginPath(),t.forEach((r,a)=>{const o=this.lngLatToLayerCanvasPoint(r);a===0?e.moveTo(o.x,o.y):e.lineTo(o.x,o.y)}),e.strokeStyle=this.hexToRgba(i.stroke,i.lineAlpha),e.lineWidth=i.lineWidth,e.shadowColor=i.stroke,e.shadowBlur=12,e.stroke(),e.restore())}drawPointPath(e,t,i){var a;const r=this.lngLatToLayerCanvasPoint(t);e.save(),i.halo&&(e.beginPath(),e.arc(r.x,r.y,i.pointRadius*2.35,0,Math.PI*2),e.fillStyle=this.hexToRgba(i.fill,.18),e.shadowColor=i.fill,e.shadowBlur=18,e.fill()),e.beginPath(),e.arc(r.x,r.y,i.pointRadius,0,Math.PI*2),e.fillStyle=this.hexToRgba(i.fill,.96),e.shadowColor=i.stroke,e.shadowBlur=i.halo?8:12,e.fill(),i.lineWidth&&(e.lineWidth=i.lineWidth,e.strokeStyle=this.hexToRgba(i.stroke,(a=i.lineAlpha)!=null?a:.9),e.stroke()),e.restore()}lngLatToLayerCanvasPoint(e){const t=Number(e==null?void 0:e[0]),i=Number(e==null?void 0:e[1]);return{x:(t-s1.west)/(s1.east-s1.west)*this.topicLayerCanvas.width,y:(s1.north-i)/(s1.north-s1.south)*this.topicLayerCanvas.height}}hexToRgba(e,t=1){const i=String(e||"#30DCFF").replace("#",""),r=i.length===3?i.split("").map(u=>u+u).join(""):i,a=Number.parseInt(r,16);if(!Number.isFinite(a))return`rgba(48, 220, 255, ${t})`;const o=a>>16&255,s=a>>8&255,l=a&255;return`rgba(${o}, ${s}, ${l}, ${t})`}parseWktGeometry(e){var o;const t=String(e||"").trim();if(!t)return null;const i=t.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),r=(o=i==null?void 0:i[1])==null?void 0:o.toUpperCase();if(!r)return null;const a=t.slice(t.indexOf("("));return r==="POLYGON"?{type:"Polygon",coordinates:this.parseWktPolygonBody(a)}:r==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:this.parseWktMultiPolygonBody(a)}:r==="POINT"?{type:"Point",coordinates:this.parseWktPoint(a)}:r==="MULTIPOINT"?{type:"MultiPoint",coordinates:this.getWktChildGroups(a).map(s=>this.parseWktPoint(s)).filter(Boolean)}:r==="LINESTRING"?{type:"LineString",coordinates:this.parseWktRing(a)}:r==="MULTILINESTRING"?{type:"MultiLineString",coordinates:this.getWktChildGroups(a).map(s=>this.parseWktRing(s)).filter(s=>s.length)}:null}parseWktMultiPolygonBody(e){return this.getWktChildGroups(e).map(t=>this.parseWktPolygonBody(t)).filter(t=>t.length)}parseWktPolygonBody(e){return this.getWktChildGroups(e).map(t=>this.parseWktRing(t)).filter(t=>t.length>=3)}getWktChildGroups(e){const t=String(e||"").trim(),i=t.startsWith("(")&&t.endsWith(")")?t.slice(1,-1):t,r=[];let a=0,o=-1;for(let s=0;s<i.length;s+=1){const l=i[s];l==="("?(a===0&&(o=s),a+=1):l===")"&&(a-=1,a===0&&o>=0&&(r.push(i.slice(o,s+1)),o=-1))}return r.length?r:[i]}parseWktRing(e){return String(e||"").replace(/^\(+|\)+$/g,"").split(",").map(i=>i.trim().split(/\s+/).slice(0,2).map(Number)).filter(([i,r])=>Number.isFinite(i)&&Number.isFinite(r))}parseWktPoint(e){const t=String(e||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return t.length>=2&&Number.isFinite(t[0])&&Number.isFinite(t[1])?[t[0],t[1]]:null}createProvinceMaterial(){let e=new tE({color:16777215,transparent:!0,opacity:0,fog:!1,side:o0});e.onBeforeCompile=r=>{r.uniforms=V2(y2({},r.uniforms),{uColor1:{value:new Yt(2152676)},uColor2:{value:new Yt(475482)}}),r.vertexShader=r.vertexShader.replace("void main() {",` |
|
|
attribute float alpha; |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
void main() { |
|
|
vAlpha = alpha; |
|
|
vPosition = position; |
|
|
`),r.fragmentShader=r.fragmentShader.replace("void main() {",` |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
uniform vec3 uColor1; |
|
|
uniform vec3 uColor2; |
|
|
void main() { |
|
|
`),r.fragmentShader=r.fragmentShader.replace("#include <opaque_fragment>",` |
|
|
#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= transmissionAlpha + 0.1; |
|
|
#endif |
|
|
vec3 gradient = mix(uColor1, uColor2, vPosition.x/15.78); |
|
|
outgoingLight = mix(outgoingLight * vec3(1.18), outgoingLight * gradient, 0.32); |
|
|
float topAlpha = 0.92; |
|
|
if(vPosition.z>0.3){ |
|
|
diffuseColor.a *= topAlpha; |
|
|
} |
|
|
gl_FragColor = vec4( outgoingLight, diffuseColor.a ); |
|
|
`)};let t=this.assets.instance.getResource("side");t.wrapS=In,t.wrapT=In,t.repeat.set(1,1.8),t.offset.y+=.065;let i=new R8({color:2148829,map:t,fog:!1,opacity:0,side:o0,roughness:.58,metalness:.08});return this.time.on("tick",()=>{t.offset.y+=.005}),i.onBeforeCompile=r=>{r.uniforms=V2(y2({},r.uniforms),{uColor1:{value:new Yt(1629410)},uColor2:{value:new Yt(205365)}}),r.vertexShader=r.vertexShader.replace("void main() {",` |
|
|
attribute float alpha; |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
void main() { |
|
|
vAlpha = alpha; |
|
|
vPosition = position; |
|
|
`),r.fragmentShader=r.fragmentShader.replace("void main() {",` |
|
|
varying vec3 vPosition; |
|
|
varying float vAlpha; |
|
|
uniform vec3 uColor1; |
|
|
uniform vec3 uColor2; |
|
|
void main() { |
|
|
`),r.fragmentShader=r.fragmentShader.replace("#include <opaque_fragment>",` |
|
|
#ifdef OPAQUE |
|
|
diffuseColor.a = 1.0; |
|
|
#endif |
|
|
#ifdef USE_TRANSMISSION |
|
|
diffuseColor.a *= transmissionAlpha + 0.1; |
|
|
#endif |
|
|
vec3 gradient = mix(uColor1, uColor2, vPosition.z/1.2); |
|
|
outgoingLight = outgoingLight*gradient*vec3(1.12); |
|
|
gl_FragColor = vec4( outgoingLight, diffuseColor.a ); |
|
|
`)},[e,i]}getDefaultTownRanking(){return{title:"乡镇统计加载中",unit:"",rows:YW.map(e=>({name:e.name,value:0,unit:""}))}}getTownRankingMeta(e=this.currentTownRanking){var r,a;const t=this.getDefaultTownRanking(),i=lze(e);return{title:(e==null?void 0:e.title)||t.title,unit:(e==null?void 0:e.unit)||t.unit,metricLabel:(e==null?void 0:e.metricLabel)||(e==null?void 0:e.legendName)||"",note:(e==null?void 0:e.note)||"",hideTownNames:sj(e),hideMapLabels:Ag(e),calloutMode:i,showBars:(r=e==null?void 0:e.showBars)!=null?r:!1,showPointMarkers:(a=e==null?void 0:e.showPointMarkers)!=null?a:i}}getTownRankingRows(e=this.currentTownRanking,t=7,i=!0){var l;const r=this.getDefaultTownRanking(),a=(l=e==null?void 0:e.rows)!=null&&l.length?e.rows:i?r.rows:[],o=this.getTownRankingMeta(e),s=a.map(u=>{const c=this.townMetaByName.get(n8(u.name));return c?V2(y2(y2({},c),u),{name:c.name,enName:c.enName,center:c.center,centroid:c.centroid,value:Z1(u.value),unit:u.unit||o.unit,metricTitle:o.title}):null}).filter(Boolean).sort((u,c)=>c.value-u.value).map((u,c)=>V2(y2({},u),{rank:c+1}));return Number.isFinite(t)?s.slice(0,t):s}getVillageRankingRows(e=this.currentTownRanking){const t=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((i,r)=>{var u,c,d,h,f,p,g,m;const a=Z1((u=i.lng)!=null?u:i.longitude,NaN),o=Z1((c=i.lat)!=null?c:i.latitude,NaN);if(!Number.isFinite(a)||!Number.isFinite(o))return null;const s=Z1((d=i.displayValue)!=null?d:i.value),l=Z1((p=(f=(h=i.rawValue)!=null?h:i.earTagCount)!=null?f:i.ear_tag_count)!=null?p:i.value);return V2(y2({},i),{key:i.key||`${i.town||""}-${i.village||i.name||r}`,name:i.name||i.village||`村${r+1}`,town:i.town||"",lng:a,lat:o,value:s,rawValue:l,recordCount:Z1((g=i.recordCount)!=null?g:i.record_count,0),imageRate:Z1((m=i.imageRate)!=null?m:i.image_rate,0),unit:i.displayUnit||i.unit||t.unit,metricTitle:t.title,metricLabel:i.metricLabel||t.metricLabel||""})}).filter(Boolean).sort((i,r)=>r.rawValue-i.rawValue).map((i,r)=>V2(y2({},i),{rank:r+1}))}getVillageRankingHtml(e,t){const i=t.hideTownNames?"":`<span>${mn(e.town||"红原县")}</span>`;return e.displayMode==="park-village"||t.displayMode==="park-village"?`<div class="epidemic-village-card is-park-village ${e.rank>8?"is-small":""}"> |
|
|
<div class="village-card-head"> |
|
|
<strong>${mn(e.name)}</strong> |
|
|
${i} |
|
|
</div> |
|
|
<div class="village-card-body"> |
|
|
<span class="metric">${mn(e.metricLabel||t.metricLabel||"")}</span> |
|
|
<span class="number">${this.formatMapRankingValue(e.value)}</span> |
|
|
<span class="unit">${mn(e.unit||t.unit||"")}</span> |
|
|
</div> |
|
|
</div>`:`<div class="epidemic-village-card ${e.rank>8?"is-small":""}"> |
|
|
<div class="village-card-head"> |
|
|
<strong>${mn(e.name)}</strong> |
|
|
${i} |
|
|
</div> |
|
|
<div class="village-card-body"> |
|
|
<span class="metric">${mn(e.metricLabel||"防疫")}</span> |
|
|
<span class="number">${this.formatMapRankingValue(e.value)}</span> |
|
|
<span class="unit">${mn(e.unit||t.unit||"")}</span> |
|
|
</div> |
|
|
<div class="village-card-foot"> |
|
|
<span>台账 ${this.formatMapCompactValue(e.recordCount)}条</span> |
|
|
<span>耳标 ${this.formatMapCompactValue(e.rawValue)}头</span> |
|
|
</div> |
|
|
</div>`}ensureVillageRankingGroup(){this.villageRankingGroup||(this.villageRankingGroup=new E1,this.villageRankingGroup.rotation.x=-Math.PI/2,this.villageRankingGroup.visible=!1,this.scene.add(this.villageRankingGroup),this.villageRankingLabels=[])}hideVillageRankingLabels(){var e;this.villageRankingGroup&&(this.villageRankingGroup.visible=!1),(e=this.villageRankingLabels)==null||e.forEach(t=>{t.visible=!1})}hideAllMapStatisticLabels(){var e,t,i,r;this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.hideTradeFlowLayer(),this.clearInfoPointStats(),(e=this.allProvinceLabel)==null||e.forEach(a=>{a.visible=!1}),(t=this.allBar)==null||t.forEach(a=>{a.visible=!1,a.scale.set(1,1,0)}),(i=this.allBarMaterial)==null||i.forEach(a=>{a.opacity=0}),(r=this.allGuangquan)==null||r.forEach(a=>{a.visible=!1})}setTownNameLabelsVisible(e=!0){var t;(t=this.townNameLabels)==null||t.forEach(i=>{i.visible=e})}updateVillageRankingLabels(e=this.currentTownRanking){if(this.ensureVillageRankingGroup(),!aj(e)){this.hideVillageRankingLabels();return}const t=this.getVillageRankingRows(e),i=this.getTownRankingMeta(e);if(!t.length){this.hideVillageRankingLabels();return}this.villageRankingGroup.visible=this.mapAnimationComplete,t.forEach((r,a)=>{let o=this.villageRankingLabels[a];o||(o=this.label3d.create("","epidemic-village-label",!0),this.label3d.setLabelStyle(o,.0135,"x"),o.setParent(this.villageRankingGroup),this.villageRankingLabels.push(o));const[s,l]=this.geoProjection([r.lng,r.lat]),u=(a%3-1)*.06,c=Math.floor(a/3)%2*.04;o.init(this.getVillageRankingHtml(r,i),new Ge(s+u,-l+c,this.depth+1.55+Math.min(a,6)*.015)),o.visible=!0,o.userData=y2({},r)}),this.villageRankingLabels.slice(t.length).forEach(r=>{r.visible=!1})}ensureTradeFlowGroup(){this.tradeFlowGroup||(this.tradeFlowGroup=new E1,this.tradeFlowGroup.name="yak-trade-flow",this.tradeFlowGroup.visible=!1,this.tradeFlowMeshGroup=new E1,this.tradeFlowMeshGroup.name="yak-trade-flow-mesh",this.tradeFlowMeshGroup.rotation.x=-Math.PI/2,this.tradeFlowLabelGroup=new E1,this.tradeFlowLabelGroup.name="yak-trade-flow-label",this.tradeFlowLabelGroup.rotation.x=-Math.PI/2,this.tradeFlowGroup.add(this.tradeFlowMeshGroup,this.tradeFlowLabelGroup),this.scene.add(this.tradeFlowGroup))}hideTradeFlowLayer(){var e,t;this.tradeFlowGroup&&(this.tradeFlowGroup.visible=!1),(e=this.tradeFlowLabels)==null||e.forEach(i=>{i.visible=!1}),(t=this.tradeFlowPulseSprites)==null||t.forEach(i=>{i.visible=!1})}clearTradeFlowLayer(){this.tradeFlowMeshGroup&&(this.tradeFlowMeshGroup.children.forEach(e=>{var t;(t=e.traverse)==null||t.call(e,i=>this.disposeObject3D(i))}),this.tradeFlowMeshGroup.clear(),this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[])}getTradeFlowSource(e=this.currentTownRanking){var a,o,s,l;const t=(e==null?void 0:e.source)||{},i=Z1((a=t.lng)!=null?a:t.longitude,NaN),r=Z1((o=t.lat)!=null?o:t.latitude,NaN);return!Number.isFinite(i)||!Number.isFinite(r)?null:{name:t.name||"红原牦牛交易市场",lng:i,lat:r,total:Z1((l=(s=t.total)!=null?s:t.headCount)!=null?l:t.value,NaN)}}getTradeFlowRows(e=this.currentTownRanking){const t=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((i,r)=>{var h,f,p,g,m,v;const a=Z1((h=i.lng)!=null?h:i.longitude,NaN),o=Z1((f=i.lat)!=null?f:i.latitude,NaN),s=Z1((m=(g=(p=i.headCount)!=null?p:i.head_count)!=null?g:i.rawValue)!=null?m:i.value),l=i.displayName||i.display_name||i.name,u=i.mapTownName||i.map_town_name||i.town||i.startTown||i.start_town||l,c=this.townMetaByName.get(n8(u)),d=Number.isFinite(a)&&Number.isFinite(o)?{lng:a,lat:o}:c!=null&&c.center?{lng:c.center[0],lat:c.center[1]}:null;return!d||!Number.isFinite(s)?null:V2(y2(y2({},i),c),{key:i.key||`${(c==null?void 0:c.name)||l||u||"trade-source"}-${r}`,name:l||u||(c==null?void 0:c.name)||`来源${r+1}`,townName:(c==null?void 0:c.name)||u,lng:d.lng,lat:d.lat,labelSide:i.labelSide||i.label_side||this.getTradeSourceLabelSide(c,r),value:s,headCount:s,recordCount:Z1((v=i.recordCount)!=null?v:i.record_count,0),unit:i.unit||t.unit||"头"})}).filter(Boolean).sort((i,r)=>r.value-i.value).map((i,r)=>V2(y2({},i),{rank:r+1}))}getTradeMarketHtml(e,t){const i=Number.isFinite(e.total)?e.total:t.reduce((r,a)=>r+Z1(a.value),0);return`<div class="trade-market-card"> |
|
|
<div class="market-title">${mn(e.name)}</div> |
|
|
<div class="market-total"><span>${this.formatMapIntegerValue(i)}</span><em>头</em></div> |
|
|
</div>`}getTradeFlowDisplayName(e=""){const t=String(e||"").replace(/^.*红原县/,"").replace(/\s+/g,"");return t.length>7?`${t.slice(0,7)}…`:t||"来源区域"}getTradeFlowLabelHtml(e){return`<div class="trade-flow-card${e.labelSide?` is-${String(e.labelSide).replace(/[^a-z0-9-]/gi,"")}`:""}"> |
|
|
<div class="flow-head"><span>${String(e.rank).padStart(2,"0")}</span><strong>${mn(this.getTradeFlowDisplayName(e.name))}</strong></div> |
|
|
<div class="flow-body"><em>${this.formatMapIntegerValue(e.value)}</em><b>${mn(e.unit||"头")}</b></div> |
|
|
</div>`}getTradeFlowLabelOffset(e,t){return new Ge(0,0,0)}getTradeSourceLabelSide(e,t=0){var a,o;const i=Number((a=e==null?void 0:e.center)==null?void 0:a[0]),r=Number((o=e==null?void 0:e.center)==null?void 0:o[1]);return Number.isFinite(i)&&i<this.geoProjectionCenter[0]-.18?"left":Number.isFinite(i)&&i>this.geoProjectionCenter[0]+.2?"right":Number.isFinite(r)&&r>this.geoProjectionCenter[1]+.22?"top":Number.isFinite(r)&&r<this.geoProjectionCenter[1]-.26?"bottom":["right","left","top","bottom"][t%4]}getTradeLocalPoint(e,t,i=0){const[r,a]=this.geoProjection([e,t]);return new Ge(r,-a,this.depth+i)}getTradeFlowPoint(e,t=0){return this.getTradeLocalPoint(e.lng,e.lat,t)}getLocalTradeFlowCurve(e,t,i){const r=this.getTradeFlowPoint(e,.76),a=this.getTradeLocalPoint(t.lng,t.lat,.86),o=r.clone().lerp(a,.5),s=r.distanceTo(a);o.z+=Math.max(.32,Math.min(.82,s*.22+i*.012));const l=new Ge(-(a.y-r.y),a.x-r.x,0);return l.lengthSq()>0&&(l.normalize().multiplyScalar((i%2===0?1:-1)*Math.min(.18,.05+s*.02)),o.add(l)),new PL([r,o,a])}tradeGeoProjection(e){return $s().center(this.tradeGeoProjectionCenter).scale(this.tradeGeoProjectionScale).translate([0,0])(e)}setTradeNationalMapVisible(e){const t=!!e;if(!(!t&&!this.isTradeNationalMapActive&&!this.tradeNationalMapGroup&&!this.tradeFlowGroup)){if(t&&!this.createTradeNationalMap()){this.isTradeNationalMapActive=!1;return}this.isTradeNationalMapActive=t,this.tradeNationalMapGroup&&(this.tradeNationalMapGroup.visible=t&&this.mapAnimationComplete),this.tradeNationalLabelGroup&&(this.tradeNationalLabelGroup.visible=t&&this.mapAnimationComplete),this.mapGroup&&(this.mapGroup.visible=!t),this.labelGroup&&(this.labelGroup.visible=!t),this.flyLineGroup&&(this.flyLineGroup.visible=!t&&this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!t&&this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=!t&&this.mapAnimationComplete),this.topicLayerMaterial&&t&&(this.topicLayerMaterial.opacity=0),t&&this.mapAnimationComplete?this.animateMapCamera(new Ge(0,11.4,16.2),new Ge(0,-.05,0),.65):!t&&this.mapAnimationComplete&&this.applyLayerMapView(this.currentTopicLayer,{force:!0})}}createTradeSourceMarker(e,t,i,r){const a=new Yt(t%3===1?16766828:t%3===2?2617536:3202303),o=this.getTradeFlowPoint(e,.72);if(r){const p=this.getLocalTradeFlowCurve(e,r,t),g=new M1({color:a,transparent:!0,opacity:.42,depthWrite:!1,depthTest:!1,fog:!1,blending:Ln}),m=.012+Math.min(.012,Z1(e.value)/Math.max(i,1)*.01),v=new f1(new dS(p,48,m,8,!1),g);v.renderOrder=31,this.tradeFlowMeshGroup.add(v),this.tradeFlowMaterials.push(g);const _=new W4({map:this.assets.instance.getResource("point"),color:a,transparent:!0,opacity:.92,depthWrite:!1,depthTest:!1,fog:!1,blending:Ln}),S=new Oc(_),x=.12+Math.min(.08,Z1(e.value)/Math.max(i,1)*.06);S.renderOrder=36,S.scale.set(x,x,x),S.userData={curve:p,phase:t*.13%1,speed:.16+Math.min(.16,Z1(e.value)/Math.max(i,1)*.12)},S.position.copy(p.getPointAt(S.userData.phase)),this.tradeFlowPulseSprites.push(S),this.tradeFlowMeshGroup.add(S)}const s=new W4({map:this.assets.instance.getResource("point"),color:a,transparent:!0,opacity:.95,depthWrite:!1,depthTest:!1,fog:!1,blending:Ln}),l=new Oc(s),u=.22+Math.min(.34,Z1(e.value)/Math.max(i,1)*.28);l.renderOrder=34,l.scale.set(u,u,u),l.position.copy(o),this.tradeFlowMeshGroup.add(l);const c=this.assets.instance.getResource("guangquan1"),d=new M1({map:c,alphaMap:c,color:a,transparent:!0,opacity:.52,depthWrite:!1,depthTest:!1,fog:!1,blending:Ln,side:o0}),h=.38+Math.min(.36,Z1(e.value)/Math.max(i,1)*.28),f=new f1(new Nr(h,h),d);f.renderOrder=29,f.position.copy(this.getTradeFlowPoint(e,.5)),this.tradeFlowMeshGroup.add(f)}createTradeMarketMarker(e){const t=this.assets.instance.getResource("point"),i=this.assets.instance.getResource("guangquan1"),r=this.getTradeLocalPoint(e.lng,e.lat,.82),a=new W4({map:t,color:16773997,transparent:!0,opacity:1,depthWrite:!1,depthTest:!1,fog:!1,blending:Ln}),o=new Oc(a);o.renderOrder=35,o.scale.set(.34,.34,.34),o.position.copy(r),this.tradeFlowMeshGroup.add(o);const s=new M1({map:i,alphaMap:i,color:16773997,transparent:!0,opacity:.72,depthWrite:!1,depthTest:!1,fog:!1,blending:Ln,side:o0}),l=new f1(new Nr(.58,.58),s);l.renderOrder=29,l.position.copy(this.getTradeLocalPoint(e.lng,e.lat,.58)),this.tradeFlowMeshGroup.add(l)}disposeObject3D(e){var t,i,r,a;(i=(t=e.geometry)==null?void 0:t.dispose)==null||i.call(t),Array.isArray(e.material)?e.material.forEach(o=>{var s;return(s=o==null?void 0:o.dispose)==null?void 0:s.call(o)}):(a=(r=e.material)==null?void 0:r.dispose)==null||a.call(r)}updateTradeFlowPulses(e=.016){var t,i;!((t=this.tradeFlowGroup)!=null&&t.visible)||!((i=this.tradeFlowPulseSprites)!=null&&i.length)||this.tradeFlowPulseSprites.forEach(r=>{var s;const a=(s=r.userData)==null?void 0:s.curve;if(!a)return;const o=(Z1(r.userData.phase)+Z1(r.userData.speed,.16)*e)%1;r.userData.phase=o,r.position.copy(a.getPointAt(o))})}updateTradeFlowLayer(e=this.currentTownRanking){if(!oj(e)){this.hideTradeFlowLayer();return}this.ensureTradeFlowGroup();const t=this.getTradeFlowSource(e),i=this.getTradeFlowRows(e);if(!t||!i.length){this.clearTradeFlowLayer(),this.hideTradeFlowLayer();return}this.clearTradeFlowLayer(),this.tradeFlowGroup.visible=this.mapAnimationComplete,this.createTradeMarketMarker(t);const r=Math.max(...i.map(s=>s.value),1);i.forEach((s,l)=>{this.createTradeSourceMarker(s,l,r,t)});const a=i.length+1;for(let s=this.tradeFlowLabels.length;s<a;s+=1){const l=this.label3d.create("",s===0?"trade-market-label":"trade-flow-label",!0);this.label3d.setLabelStyle(l,s===0?.014:.0125,"x"),l.setParent(this.tradeFlowLabelGroup),this.tradeFlowLabels.push(l)}const o=this.tradeFlowLabels[0];o.element.className="trade-market-label",o.init(this.getTradeMarketHtml(t,i),this.getTradeLocalPoint(t.lng,t.lat,1.46)),o.visible=!0,o.userData=V2(y2({},t),{rows:i.length}),i.forEach((s,l)=>{const u=this.tradeFlowLabels[l+1];u.element.className="trade-flow-label",u.init(this.getTradeFlowLabelHtml(s),this.getTradeFlowPoint(s,.92+Math.min(l,5)*.035).add(this.getTradeFlowLabelOffset(s,l))),u.visible=!0,u.userData=y2({},s)}),this.tradeFlowLabels.slice(a).forEach(s=>{s.visible=!1})}hasTownRankingRows(e=this.currentTownRanking){return this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1).length>0}formatMapRankingValue(e){const t=Z1(e);return Math.abs(t)>=100?String(Math.round(t)):Math.abs(t)>=10?String(Number(t.toFixed(1))):String(Number(t.toFixed(2)))}formatMapCompactValue(e){const t=Z1(e);return Math.abs(t)>=1e4?`${Number((t/1e4).toFixed(Math.abs(t)>=1e5?1:2))}万`:Math.abs(t)>=1e3?`${Number((t/1e3).toFixed(1))}千`:this.formatMapRankingValue(t)}formatMapIntegerValue(e){const t=Z1(e);return Math.round(t).toLocaleString("zh-CN")}getBarHeight(e,t){return t?Math.max(2.8*.12,2.8*(Z1(e)/t)):2.8*.25}createBarGeometry(e){const i=new wu(.06999999999999999,.06999999999999999,e);return i.translate(0,0,e/2),i}getProvinceLabelHtml(e,t,i){return`<div class="provinces-label ${t>4?"yellow":""}"> |
|
|
<div class="provinces-label-wrap"> |
|
|
<div class="label-main"> |
|
|
<div class="label-title">${i.title}</div> |
|
|
<div class="number"><span class="value" data-target-value="${e.value}">${this.formatMapRankingValue(e.value)}</span><span class="unit">${e.unit||i.unit}</span></div> |
|
|
<div class="name">${e.name}</div> |
|
|
</div> |
|
|
<div class="no">${t+1}</div> |
|
|
</div> |
|
|
</div>`}updateBarItem(e,t,i,r,a=!0){var u,c;const o=this.getBarHeight(t.value,r),[s,l]=this.geoProjection(t.centroid);return e.visible=!0,(c=(u=e.geometry)==null?void 0:u.dispose)==null||c.call(u),e.geometry=this.createBarGeometry(o),e.position.set(s,-l,this.depth+.45),e.userData=V2(y2({},t),{targetValue:t.value,geoHeight:o}),e.children.forEach(d=>{var h,f,p,g;(f=(h=d.geometry)==null?void 0:h.dispose)==null||f.call(h),Array.isArray(d.material)?d.material.forEach(m=>{var v;return(v=m==null?void 0:m.dispose)==null?void 0:v.call(m)}):(g=(p=d.material)==null?void 0:p.dispose)==null||g.call(p)}),e.clear(),e.add(...this.createHUIGUANG(o,i>3?16776948:7863285)),a?O0.to(e.scale,{duration:.45,x:1,y:1,z:1,ease:"power2.out"}):this.mapAnimationComplete&&e.scale.set(1,1,1),{x:s,y:l,geoHeight:o}}updateProvinceLabel(e,t,i,r,a,o=!0){var p;const s=Z1((p=e.userData)==null?void 0:p.targetValue,t.value);e.visible=!0,e.userData=V2(y2({},t),{targetValue:t.value}),e.position.copy(r);const l=e.element.querySelector(".label-title"),u=e.element.querySelector(".number .value"),c=e.element.querySelector(".number .unit"),d=e.element.querySelector(".name"),h=e.element.querySelector(".no");!l||!u||!c||!d||!h?e.element.innerHTML=this.getProvinceLabelHtml(t,i,a):(l.innerText=a.title,u.dataset.targetValue=String(t.value),u.innerText=this.formatMapRankingValue(t.value),c.innerText=t.unit||a.unit,d.innerText=t.name,h.innerText=i+1);const f=e.element.querySelector(".provinces-label-wrap");if(this.mapAnimationComplete&&(f.style.opacity="1",f.style.transform="translate(50%, 0)"),o&&this.mapAnimationComplete){const g=e.element.querySelector(".number .value"),v={value:s};O0.to(v,{value:t.value,duration:.45,ease:"power2.out",onUpdate:()=>{g.innerText=this.formatMapRankingValue(v.value)},onComplete:()=>{g.dataset.previousValue=String(t.value),g.innerText=this.formatMapRankingValue(t.value)}})}}clearTownNameLabelStat(e){const t=e.element.querySelector(".town-stat-label"),i=e.element.querySelector(".town-stat-value"),r=e.element.querySelector(".town-stat-unit"),a=e.element.querySelector(".town-rank"),o=e.element.querySelector(".town-stat-metric");t==null||t.classList.remove("has-stat"),i&&(i.innerText=""),r&&(r.innerText=""),a&&(a.innerText=""),o&&(o.innerText="")}updateTownNameLabelStats(e=this.currentTownRanking){var a;if(!((a=this.townNameLabels)!=null&&a.length))return;const t=this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1),i=this.getTownRankingMeta(e),r=new Map(t.map(o=>[n8(o.name),o]));this.townNameLabels.forEach(o=>{var g,m;const s=((g=o.userData)==null?void 0:g.townName)||((m=o.userData)==null?void 0:m.name),l=r.get(n8(s));if(!l){this.clearTownNameLabelStat(o);return}const u=o.element.querySelector(".town-stat-label"),c=o.element.querySelector(".town-name"),d=o.element.querySelector(".town-stat-value"),h=o.element.querySelector(".town-stat-unit"),f=o.element.querySelector(".town-rank"),p=o.element.querySelector(".town-stat-metric");u==null||u.classList.add("has-stat"),c&&(c.innerText=s),p&&(p.innerText=l.metricLabel||i.metricLabel||""),d&&(d.innerText=this.formatMapRankingValue(l.value)),h&&(h.innerText=l.unit||i.unit||""),f&&(f.innerText=l.rank?`第${l.rank}名`:""),o.userData=V2(y2(y2({},o.userData),l),{townName:s,targetValue:l.value})})}getInfoPointHtml(e,t=this.getTownRankingMeta()){const i=String(e.metricLabel||t.metricLabel||t.title||"统计指标").replace(/排行$/,""),r=Number(e.rank),a=Number.isFinite(r)?String(r).padStart(2,"0"):"--";return`<div class="info-point-wrap ${r<=3?"is-prime":""}"> |
|
|
<div class="info-point-wrap-inner"> |
|
|
<div class="info-point-head"> |
|
|
<span class="rank">${a}</span> |
|
|
<strong>${mn(e.name||"红原县")}</strong> |
|
|
</div> |
|
|
<div class="info-point-metric">${mn(i)}</div> |
|
|
<div class="info-point-value"> |
|
|
<span>${this.formatMapRankingValue(e.value)}</span> |
|
|
<em>${mn(e.unit||t.unit||"")}</em> |
|
|
</div> |
|
|
</div> |
|
|
</div>`}updateInfoPointStats(){var o,s;if(!((o=this.infoPointSprites)!=null&&o.length)||!((s=this.infoLabelElement)!=null&&s.length))return;if(!this.showTownRankingPointMarkers){this.clearInfoPointStats();return}const e=this.getTownRankingRows(this.currentTownRanking,Number.POSITIVE_INFINITY,!1);if(!e.length){this.clearInfoPointStats();return}const t=this.getTownRankingMeta(),i=e.slice(0,this.infoPointSprites.length),r=Math.max(...i.map(l=>l.value),1);this.infoPointSprites.forEach((l,u)=>{const c=i[u],d=this.infoLabelElement[u];if(!c){l.visible=!1,l.scale.set(0,0,0),d&&(d.visible=!1);return}const[h,f]=this.geoProjection(c.centroid||c.center),p=[h,-f,this.depth+.72];l.userData=V2(y2(y2({},l.userData),c),{position:p,value:c.value,unit:c.unit||t.unit,rank:c.rank,metricTitle:t.title,index:u}),l.position.set(...p),l.visible=this.showTownRankingPointMarkers;const g=.78+c.value/r*.44;if(l.scale.set(g,g,g),d){const m=(u%2===0?.22:-.18)+(u===0?.12:0),v=u%3===0?.08:-.04;d.position.set(h+m,-f+v,this.depth+1.88+Math.min(u,4)*.03),d.userData=V2(y2({},c),{index:u}),d.element.innerHTML=this.getInfoPointHtml(c,t)}});const a=this.infoLabelElement[this.infoPointIndex];a&&this.showTownRankingPointMarkers&&this.mapAnimationComplete&&(a.visible=!0),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}clearInfoPointStats(){var e,t;clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null,this.infoPointIndex=0,this.InfoPointGroup&&(this.InfoPointGroup.visible=!1),(e=this.infoLabelElement)==null||e.forEach(i=>{i.visible=!1}),(t=this.infoPointSprites)==null||t.forEach(i=>{i.visible=!1,i.scale.set(0,0,0)})}createBar(){const e=this.getTownRankingRows();this.getTownRankingMeta();const t=new E1;this.barGroup=t;const i=Math.max(...e.map(r=>r.value),1);this.allBar=[],this.allBarMaterial=[],this.allGuangquan=[],this.allProvinceLabel=[],e.map((r,a)=>{const o=this.getBarHeight(r.value,i),s=new M1({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new wg(s,{uColor1:a>3?16506760:5291006,uColor2:a>3?16776948:7863285,size:o,dir:"y"});const l=new f1(this.createBarGeometry(o),s);l.renderOrder=5;const[u,c]=this.geoProjection(r.centroid);l.position.set(u,-c,this.depth+.45),l.scale.set(1,1,0),l.userData=V2(y2({},r),{targetValue:r.value,geoHeight:o});const d=this.createQuan(new Ge(u,this.depth+.44,c),a);l.add(...this.createHUIGUANG(o,a>3?16776948:7863285)),t.add(l),t.rotation.x=-Math.PI/2,this.allBar.push(l),this.allBarMaterial.push(s),this.allGuangquan.push(d)}),this.scene.add(t),this.updateTownNameLabelStats(this.currentTownRanking)}setTownRanking(e){var a,o,s,l,u,c,d,h,f,p,g,m,v,_,S,x;this.currentTownRanking=e;const t=this.getTownRankingMeta(e);if(this.showTownRankingBars=!!t.showBars,this.showTownRankingPointMarkers=!!t.showPointMarkers,t.hideMapLabels){this.hideAllMapStatisticLabels(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete);return}if(oj(e)){this.setTradeNationalMapVisible(!1),this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.clearInfoPointStats(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!1),this.flyLineGroup&&(this.flyLineGroup.visible=!1),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!1),this.scatterGroup&&(this.scatterGroup.visible=!1),(a=this.allBar)!=null&&a.length&&(this.allBar.forEach(A=>{A.visible=!1,A.scale.set(1,1,0)}),(o=this.allBarMaterial)==null||o.forEach(A=>{A.opacity=0}),(s=this.allProvinceLabel)==null||s.forEach(A=>{A.visible=!1}),(l=this.allGuangquan)==null||l.forEach(A=>{A.visible=!1})),this.updateTradeFlowLayer(e);return}if(this.setTradeNationalMapVisible(!1),this.hideTradeFlowLayer(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete),aj(e)){this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!sj(e)),this.clearInfoPointStats(),this.updateVillageRankingLabels(e),(u=this.allBar)!=null&&u.length&&(this.allBar.forEach(A=>{A.visible=!1,A.scale.set(1,1,0)}),(c=this.allBarMaterial)==null||c.forEach(A=>{A.opacity=0}),(d=this.allProvinceLabel)==null||d.forEach(A=>{A.visible=!1}),(h=this.allGuangquan)==null||h.forEach(A=>{A.visible=!1}));return}if(this.setTownNameLabelsVisible(!t.calloutMode&&!t.hideTownNames),this.hideVillageRankingLabels(),t.calloutMode?this.updateTownNameLabelStats(null):this.updateTownNameLabelStats(e),!((f=this.allBar)!=null&&f.length))return;if(!this.showTownRankingBars){this.allBar.forEach(A=>{A.visible=!1,A.scale.set(1,1,0)}),(p=this.allBarMaterial)==null||p.forEach(A=>{A.opacity=0}),(g=this.allProvinceLabel)==null||g.forEach(A=>{A.visible=!1}),(m=this.allGuangquan)==null||m.forEach(A=>{A.visible=!1}),this.showTownRankingPointMarkers?(this.InfoPointGroup&&(this.InfoPointGroup.visible=this.mapAnimationComplete&&this.hasTownRankingRows(e)),this.updateInfoPointStats()):this.clearInfoPointStats();return}const i=this.getTownRankingRows(e,7,!1);if(!i.length){this.allBar.forEach(A=>{A.visible=!1,A.scale.set(1,1,0)}),(v=this.allProvinceLabel)==null||v.forEach(A=>{A.visible=!1}),(_=this.allGuangquan)==null||_.forEach(A=>{A.visible=!1}),this.clearInfoPointStats();return}this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.mapAnimationComplete),(S=this.infoPointSprites)==null||S.forEach(A=>{A.visible=this.showTownRankingPointMarkers});const r=Math.max(...i.map(A=>A.value),1);this.allBar.forEach((A,C)=>{const M=C<i.length;A.visible=M,M||A.scale.set(1,1,0)}),(x=this.allProvinceLabel)==null||x.forEach(A=>{A.visible=!1}),this.allGuangquan.forEach((A,C)=>{A.visible=C<i.length}),i.forEach((A,C)=>{const M=this.allBar[C],I=this.allGuangquan[C];if(!M)return;const{x:D,y:E}=this.updateBarItem(M,A,C,r,this.mapAnimationComplete);I&&(I.visible=!0,I.position.set(0,0,0),I.children.forEach(L=>{L.position.set(D,this.depth+.44,E),this.mapAnimationComplete&&L.scale.set(1,1,1)}))}),this.updateInfoPointStats()}createEvent(){let e=[];const t=r=>{r.traverse(a=>{a.isMesh&&(a.material=this.defaultMaterial)})},i=r=>{r.traverse(a=>{a.isMesh&&(a.material=this.defaultLightMaterial)})};this.eventElement.map(r=>{this.interactionManager.add(r),r.addEventListener("mousedown",a=>{this.handleMapClick(a)}),r.addEventListener("mouseover",a=>{e.includes(a.target.parent)||e.push(a.target.parent),document.body.style.cursor="pointer",i(a.target.parent)}),r.addEventListener("mouseout",a=>{e=e.filter(o=>o.userData.name!==a.target.parent.userData.name),e.length>0&&e[e.length-1],t(a.target.parent),document.body.style.cursor="default"})})}createHUIGUANG(e,t){let i=new Nr(.35,e);i.translate(0,e/2,0);const r=this.assets.instance.getResource("huiguang");r.colorSpace=Y1,r.wrapS=In,r.wrapT=In;let a=new M1({color:t,map:r,transparent:!0,opacity:.4,depthWrite:!1,side:o0,blending:Ln}),o=new f1(i,a);o.renderOrder=10,o.rotateX(Math.PI/2);let s=o.clone(),l=o.clone();return s.rotateY(Math.PI/180*60),l.rotateY(Math.PI/180*120),[o,s,l]}createQuan(e,t){const i=this.assets.instance.getResource("guangquan1"),r=this.assets.instance.getResource("guangquan2");let a=new Nr(.5,.5),o=new M1({color:16777215,map:i,alphaMap:i,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:Ln}),s=new M1({color:16777215,map:r,alphaMap:r,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:Ln}),l=new f1(a,o),u=new f1(a,s);return l.renderOrder=6,u.renderOrder=6,l.rotateX(-Math.PI/2),u.rotateX(-Math.PI/2),l.position.copy(e),u.position.copy(e),u.position.y-=.001,l.scale.set(0,0,0),u.scale.set(0,0,0),this.quanGroup=new E1,this.quanGroup.add(l,u),this.scene.add(this.quanGroup),this.time.on("tick",()=>{l.rotation.z+=.05}),this.quanGroup}createDiffuse(){let e=new Nr(200,200),t=new M1({color:0,depthWrite:!1,transparent:!0,blending:Eee});t.blendEquation=c5,t.blendSrc=Ree,t.blendDst=Pee,new sBe({material:t,time:this.time,size:60,diffuseSpeed:8,diffuseColor:7442830,diffuseWidth:2,callback:r=>{const a=setTimeout(()=>{this.addSceneTween(O0.to(r.uniforms.uTime,{value:4,repeat:-1,duration:6,ease:"power1.easeIn"}))},3);this.addSceneTimer(a)}});let i=new f1(e,t);i.renderOrder=3,i.rotation.x=-Math.PI/2,i.position.set(0,.21,0),this.scene.add(i)}createGrid(){new lBe(this,{gridSize:54,gridDivision:24,gridColor:1990543,shapeSize:.55,shapeColor:3309487,pointSize:.085,pointColor:1993891,pointBlending:Ln})}createBottomBg(){let e=new Nr(24,24);const t=this.assets.instance.getResource("ocean");t.colorSpace=Y1,t.wrapS=In,t.wrapT=In,t.repeat.set(1,1);let i=new M1({map:t,opacity:.92,fog:!1}),r=new f1(e,i);r.rotation.x=-Math.PI/2,r.position.set(0,-.7,0),this.scene.add(r)}createChinaBlurLine(){let e=new Nr(154,154);const t=this.assets.instance.getResource("chinaBlurLine");t.colorSpace=Y1,t.wrapS=In,t.wrapT=In,t.generateMipmaps=!1,t.minFilter=yn,t.repeat.set(1,1);let i=new M1({color:4162253,alphaMap:t,transparent:!0,opacity:.62}),r=new f1(e,i);r.rotateX(-Math.PI/2),r.position.set(-19.3,-.5,-19.7),this.scene.add(r)}createLabel(){let e=this,t=this.labelGroup,i=this.label3d,r=[],a=[];LBe.map(u=>{if(u.hide==!0)return!1;let c=s(u,i,t);r.push(c),a.push(c)});let o=l(y2({},this.mapFocusLabelInfo),i,t);r.push(o),this.otherLabel=r,this.townNameLabels=a;function s(u,c,d){let h=c.create("",`china-label ${u.blur?" blur":""}`,!0);const[f,p]=e.geoProjection(u.center);return h.init(`<div class="other-label town-stat-label"> |
|
|
<div class="town-name-row"><img class="label-icon" src="${yBe}"><span class="town-name">${u.name}</span><span class="town-rank"></span></div> |
|
|
<div class="town-stat-row"><span class="town-stat-metric"></span><span class="town-stat-value"></span><span class="town-stat-unit"></span></div> |
|
|
</div>`,new Ge(f,-p,e.depth+.85)),c.setLabelStyle(h,.018,"x"),h.setParent(d),h.userData=V2(y2({},u),{townName:u.name}),h}function l(u,c,d){let h=c.create("","map-label",!0);const[f,p]=e.geoProjection(u.center);return h.init(`<div class="other-label"><span>${u.name}</span><span>${u.enName}</span></div>`,new Ge(f,-p,.4)),c.setLabelStyle(h,.015,"x"),h.setParent(d),h}}createRotateBorder(){let e=13.2,t=this.assets.instance.getResource("rotationBorder1"),i=this.assets.instance.getResource("rotationBorder2"),r=new zW(this,{width:e*1.178,needRotate:!0,rotateSpeed:.001,material:new M1({map:t,color:4763647,transparent:!0,opacity:.26,side:o0,depthWrite:!1,blending:Ln}),position:new Ge(0,.31,0)});r.instance.rotation.x=-Math.PI/2,r.instance.renderOrder=6,r.instance.scale.set(0,0,0),r.setParent(this.scene);let a=new zW(this,{width:e*1.116,needRotate:!0,rotateSpeed:-.004,material:new M1({map:i,color:4763647,transparent:!0,opacity:.5,side:o0,depthWrite:!1,blending:Ln}),position:new Ge(0,.33,0)});a.instance.rotation.x=-Math.PI/2,a.instance.renderOrder=6,a.instance.scale.set(0,0,0),a.setParent(this.scene),this.rotateBorder1=r.instance,this.rotateBorder2=a.instance}createFlyLine(){this.flyLineGroup=new E1,this.flyLineGroup.visible=!1,this.scene.add(this.flyLineGroup)}createFocus(){this.flyLineFocusGroup.clear()}createParticles(){this.particles=new Wy(this,{num:10,range:30,dir:"up",speed:.05,material:new mf({map:Wy.createTexture(),size:1,color:61166,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,vertexColors:!0,blending:Ln,sizeAttenuation:!0})}),this.particleGroup=new E1,this.scene.add(this.particleGroup),this.particleGroup.rotation.x=-Math.PI/2,this.particles.setParent(this.particleGroup),this.particles.enable=!0,this.particleGroup.visible=!0}createScatter(){this.scatterGroup=new E1,this.scatterGroup.visible=!1,this.scatterGroup.rotation.x=-Math.PI/2,this.scene.add(this.scatterGroup);const e=this.assets.instance.getResource("arrow"),t=new W4({map:e,color:16776948,fog:!1,transparent:!0,depthTest:!1});let i=rj(IBe),r=i[0].value;i.map(a=>{const o=new Oc(t);o.renderOrder=23;let s=.1+a.value/r*.2;o.scale.set(s,s,s);let[l,u]=this.geoProjection([a.lng,a.lat]);o.position.set(l,-u,this.depth+.45),o.userData.position=[l,-u,this.depth+.45],this.scatterGroup.add(o)})}createInfoPoint(){let e=this;this.InfoPointGroup=new E1,this.scene.add(this.InfoPointGroup),this.InfoPointGroup.visible=!1,this.InfoPointGroup.rotation.x=-Math.PI/2,this.infoPointIndex=0,this.infoPointLabelTime=null,this.infoLabelElement=[],this.infoPointSprites=[];let t=this.label3d;const i=this.assets.instance.getResource("point");let r=[16776948,7863285],a=rj(DBe),o=a[0].value;a.map((l,u)=>{const c=new W4({map:i,color:r[u%r.length],fog:!1,transparent:!0,depthTest:!1}),d=new Oc(c);d.renderOrder=23;let h=.7+l.value/o*.4;d.scale.set(h,h,h);let[f,p]=this.geoProjection([l.lng,l.lat]),g=[f,-p,this.depth+.7];d.position.set(...g),d.userData.position=[...g],d.userData={position:[f,-p,this.depth+.7],name:l.name,value:l.value,level:l.level,index:u},this.InfoPointGroup.add(d);let m=s(l,t,this.InfoPointGroup,u);this.infoLabelElement.push(m),this.infoPointSprites.push(d),this.interactionManager.add(d),d.addEventListener("mousedown",v=>{if(this.clicked||!this.InfoPointGroup.visible)return!1;this.clicked=!0,this.infoPointIndex=v.target.userData.index,this.infoLabelElement.map(_=>{_.visible=!1}),m.visible=!0,this.createInfoPointLabelLoop()}),d.addEventListener("mouseup",v=>{this.clicked=!1}),d.addEventListener("mouseover",v=>{document.body.style.cursor="pointer"}),d.addEventListener("mouseout",v=>{document.body.style.cursor="default"})});function s(l,u,c,d){let h=u.create("","info-point",!0);const[f,p]=e.geoProjection([l.lng,l.lat]);return h.init(e.getInfoPointHtml(V2(y2({},l),{value:0,rank:d+1,unit:""}),e.getTownRankingMeta()),new Ge(f,-p,e.depth+1.9)),u.setLabelStyle(h,.015,"x"),h.setParent(c),h.visible=!1,h}}createInfoPointLabelLoop(){var e;this.scenePaused||!((e=this.infoLabelElement)!=null&&e.length)||(clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=setInterval(()=>{this.infoPointIndex++,this.infoPointIndex>=this.infoLabelElement.length&&(this.infoPointIndex=0),this.infoLabelElement.map((t,i)=>{this.infoPointIndex===i?t.visible=!0:t.visible=!1})},3e3))}createStorke(){const e=this.staticMapData.mapStroke,t=this.assets.instance.getResource("pathLine3");t.wrapS=t.wrapT=In,t.repeat.set(2,1);let i=new xg(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Ge(0,0,this.depth+.24),data:e,material:new M1({color:2868444,map:t,alphaMap:t,fog:!1,transparent:!0,opacity:1,blending:Ln}),type:"Line3",renderOrder:22,tubeRadius:.03});this.focusMapGroup.add(i.lineGroup),this.time.on("tick",()=>{t.offset.x+=.005})}handleMapClick(e){return Z2(this,null,function*(){var a,o,s,l,u,c,d,h,f,p,g,m,v,_,S,x,A,C,M,I,D,E,L,V,Y,G,W,q,ce,J,H,re,ee,se,Be,we,ve,Ke,p2;if(!this.currentTopicLayer)return;const t=this.getScreenPointFromEvent(e),i=this.getLngLatFromEvent(e);if(!i){this.clearSelectedFeature(),(o=(a=this.callbacks).onFeatureInfo)==null||o.call(a,{feature:null});return}if(this.boundaryDrawingEnabled){const c2=((s=e==null?void 0:e.data)==null?void 0:s.originalEvent)||(e==null?void 0:e.originalEvent)||e;if(c2!=null&&c2.__analysisBoundaryHandled)return;this.addBoundaryDrawPoint(i);return}if(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)&&!this.isLngLatInHongyuanBoundary(i)){this.clearSelectedFeature(),(u=(l=this.callbacks).onFeatureInfo)==null||u.call(l,{feature:null}),(d=(c=this.callbacks).onLayerStatus)==null||d.call(c,{type:"success",text:"当前点击位置不在红原县边界内"});return}if(this.shouldClipLayerToLayerBounds(this.currentTopicLayer)&&!this.isLngLatInLayerClipBounds(i,this.currentTopicLayer)){this.clearSelectedFeature(),(f=(h=this.callbacks).onFeatureInfo)==null||f.call(h,{feature:null}),(g=(p=this.callbacks).onLayerStatus)==null||g.call(p,{type:"success",text:"当前点击位置不在图层显示范围内"});return}if(Cg(this.currentTopicLayer)){const c2=this.pickVectorFeatureAtPoint(i,t),s2=(c2==null?void 0:c2.feature)||c2;let R2=(c2==null?void 0:c2.screen)||t;s2?(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)?(this.clearSelectedGeometryGroup(),this.setSelectedVectorFeatures([s2])):this.showSelectedFeature(s2),((m=this.currentTopicLayer)==null?void 0:m.key)==="yak-industry-points"&&(this.setSelectedVectorFeatures([s2]),R2=this.getPointFeatureScreenPoint(s2)||R2),(A=(x=this.callbacks).onFeatureInfo)==null||A.call(x,{feature:{id:((v=s2.properties)==null?void 0:v.id)||((_=s2.properties)==null?void 0:_.feature_id)||((S=s2.properties)==null?void 0:S.project_name),properties:s2.properties||{},feature:s2,layer:this.currentTopicLayer,lngLat:i},screen:R2}),(M=(C=this.callbacks).onLayerStatus)==null||M.call(C,{type:"success",text:"真实矢量要素已选中"})):(this.clearSelectedFeature(),(D=(I=this.callbacks).onFeatureInfo)==null||D.call(I,{feature:null}),(L=(E=this.callbacks).onLayerStatus)==null||L.call(E,{type:"success",text:"当前点击位置无生态保护要素"}));return}const r=this.lngLatToWmsPixel(i);(Y=(V=this.callbacks).onFeatureInfo)==null||Y.call(V,{feature:null}),(W=(G=this.callbacks).onFeatureLoading)==null||W.call(G,!0);try{const c2=yield nj(this.currentTopicLayer,r,{size:u5,buffer:10}),s2=ij(c2),R2=s2?null:yield this.queryFallbackFeatureInfo(i),w2=s2||(R2==null?void 0:R2.feature);if(w2){const Re=yield this.enrichFeatureInfo(w2,r,i);this.showSelectedFeature(Re.feature||Re),(ce=(q=this.callbacks).onFeatureInfo)==null||ce.call(q,{feature:V2(y2({},Re),{layer:(R2==null?void 0:R2.layer)||this.currentTopicLayer,lngLat:i}),screen:t})}else this.clearSelectedFeature(),(H=(J=this.callbacks).onFeatureInfo)==null||H.call(J,{feature:null});w2||(ee=(re=this.callbacks).onLayerStatus)==null||ee.call(re,{type:"success",text:"当前点击位置无图斑"})}catch(c2){this.clearSelectedFeature(),(Be=(se=this.callbacks).onFeatureInfo)==null||Be.call(se,{feature:null}),(ve=(we=this.callbacks).onLayerStatus)==null||ve.call(we,{type:"error",text:"图斑信息查询失败"})}finally{(p2=(Ke=this.callbacks).onFeatureLoading)==null||p2.call(Ke,!1)}})}handleCanvasBoundaryPointerDown(e){var i,r;if(!this.boundaryDrawingEnabled)return;const t=this.getLngLatFromCanvasEvent(e);t&&this.addBoundaryDrawPoint(t)&&(e.__analysisBoundaryHandled=!0),(i=e.preventDefault)==null||i.call(e),(r=e.stopPropagation)==null||r.call(e)}handleCanvasBoundaryDoubleClick(e){var i,r;if(!this.boundaryDrawingEnabled)return;const t=this.getLngLatFromCanvasEvent(e);(this.boundaryDrawPoints||[]).length<3&&t&&this.addBoundaryDrawPoint(t),(this.boundaryDrawPoints||[]).length>=3&&(this.finishBoundaryDrawing(),e.__analysisBoundaryHandled=!0),(i=e.preventDefault)==null||i.call(e),(r=e.stopPropagation)==null||r.call(e)}getLngLatFromCanvasEvent(e){var h,f,p;if(!((h=this.camera)!=null&&h.instance)||!this.focusMapGroup||!this.canvas)return null;const t=this.canvas.getBoundingClientRect();if(!t.width||!t.height)return null;const i=(f=this.interactionManager)==null?void 0:f.raycaster;if(!(i!=null&&i.setFromCamera))return null;const r={x:(e.clientX-t.left)/t.width*2-1,y:-((e.clientY-t.top)/t.height)*2+1};i.setFromCamera(r,this.camera.instance);const o=((p=i.intersectObjects(this.eventElement||[],!0)[0])==null?void 0:p.point)||this.getRayMapPlaneIntersection(i.ray);if(!o)return null;const s=this.focusMapGroup.worldToLocal(o.clone()),u=$s().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([s.x,-s.y]);if(!u)return null;const c=Number(u[0]),d=Number(u[1]);return!Number.isFinite(c)||!Number.isFinite(d)?null:c<s1.west-.03||c>s1.east+.03||d<s1.south-.03||d>s1.north+.03?this.getFallbackLngLatFromPointer(e,t):{lng:c,lat:d}}getFallbackLngLatFromPointer(e,t=(r=>(r=(i=>(i=this.canvas)==null?void 0:i.getBoundingClientRect)())==null?void 0:r.call(i))()){if(!(t!=null&&t.width)||!(t!=null&&t.height))return null;const a=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)),o=Math.min(1,Math.max(0,(e.clientY-t.top)/t.height)),s=s1.west+(s1.east-s1.west)*a,l=s1.north-(s1.north-s1.south)*o;return{lng:s,lat:l}}getRayMapPlaneIntersection(e){if(!(e!=null&&e.origin)||!(e!=null&&e.direction)||!this.focusMapGroup)return null;const t=this.focusMapGroup.worldToLocal(e.origin.clone()),r=this.focusMapGroup.worldToLocal(e.origin.clone().add(e.direction.clone())).sub(t),a=this.depth+.22;if(Math.abs(r.z)<1e-8)return null;const o=(a-t.z)/r.z;if(!Number.isFinite(o)||o<0)return null;const s=t.add(r.multiplyScalar(o));return this.focusMapGroup.localToWorld(s)}enrichFeatureInfo(e,t,i){return Z2(this,null,function*(){const r=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(r))return e;const o=(pv[r]||[]).find(d=>d.key===`${r}-distribution`),s=(this.visibleTopicLayers||[]).filter(d=>this.getLayerTopicKey(d)===r).slice(0,5),l=[o,this.currentTopicLayer,...s].filter(d=>d==null?void 0:d.layerName).filter((d,h,f)=>f.findIndex(p=>this.getLayerQueryKey(p)===this.getLayerQueryKey(d))===h);if(!l.length)return e;const u=yield Promise.allSettled([...l.filter(d=>this.getLayerQueryKey(d)!==this.getLayerQueryKey(this.currentTopicLayer)).map(d=>Z2(this,null,function*(){const h=yield nj(d,t,{size:u5,buffer:10}),f=ij(h);return f?{layer:d,feature:f,source:"wms"}:null})),...l.map(d=>Z2(this,null,function*(){const h=yield this.queryLayerFeatureByPoint(d,i);return h?{layer:d,feature:h,source:"wfs"}:null}))]),c=y2({},e.properties||{});return u.forEach(d=>{var h,f;d.status!=="fulfilled"||!((f=(h=d.value)==null?void 0:h.feature)!=null&&f.properties)||this.mergeBusinessProperties(c,d.value.feature.properties,d.value.layer)}),V2(y2({},e),{properties:c,relatedFeatures:u.filter(d=>{var h;return d.status==="fulfilled"&&((h=d.value)==null?void 0:h.feature)}).map(d=>d.value),feature:V2(y2({},e.feature||{}),{properties:c})})})}queryFallbackFeatureInfo(e){return Z2(this,null,function*(){const t=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(t))return null;const r=[(pv[t]||[]).find(a=>a.key===`${t}-distribution`),this.currentTopicLayer,...(this.visibleTopicLayers||[]).filter(a=>this.getLayerTopicKey(a)===t)].filter((a,o,s)=>(a==null?void 0:a.layerName)&&s.findIndex(l=>this.getLayerQueryKey(l)===this.getLayerQueryKey(a))===o);for(const a of r){const o=yield this.queryLayerFeatureByPoint(a,e,{requireContainment:!0});if(o)return{layer:a,feature:o}}return null})}queryLayerFeatureByPoint(r,a){return Z2(this,arguments,function*(e,t,i={}){var p,g,m;if(!(e!=null&&e.layerName)||!Number.isFinite(t==null?void 0:t.lng)||!Number.isFinite(t==null?void 0:t.lat))return null;const o=e.pointQueryTolerance||.0015,s=e.geometryField||"geom",l=t.lng-o,u=t.lat-o,c=t.lng+o,d=t.lat+o,h=yield Oh(e.layerName,{cqlFilter:`BBOX(${s},${l},${u},${c},${d})`,maxFeatures:8,timeout:12e3}),f=this.pickFeatureAtPoint((h==null?void 0:h.features)||[],t,i);return f?{id:f.id||((p=f.properties)==null?void 0:p.gid)||((g=f.properties)==null?void 0:g.objectid)||((m=f.properties)==null?void 0:m.OBJECTID),properties:f.properties||{},feature:f}:null})}pickFeatureAtPoint(e,t,i={}){var a;if(!Array.isArray(e)||!e.length)return null;const r=e.filter(o=>this.isLngLatInGeometry(t,o.geometry)).sort((o,s)=>this.getGeometryAreaScore(o.geometry)-this.getGeometryAreaScore(s.geometry));return r.length?r[0]:i.requireContainment?null:((a=e.map(o=>({feature:o,distance:this.getGeometryDistanceScore(o.geometry,t)})).sort((o,s)=>o.distance-s.distance)[0])==null?void 0:a.feature)||null}isLngLatInGeometry(e,t){return!e||!(t!=null&&t.coordinates)?!1:t.type==="Polygon"?this.isLngLatInPolygon(e,t.coordinates):t.type==="MultiPolygon"?t.coordinates.some(i=>this.isLngLatInPolygon(e,i)):!1}isLngLatInPolygon(e,t=[]){return!t.length||!this.isLngLatInRing(e,t[0])?!1:!t.slice(1).some(r=>this.isLngLatInRing(e,r))}isLngLatInRing(e,t=[]){if(t.length<3)return!1;let i=!1;const r=e.lng,a=e.lat;for(let o=0,s=t.length-1;o<t.length;s=o++){const l=t[o],u=t[s],c=Number(l==null?void 0:l[0]),d=Number(l==null?void 0:l[1]),h=Number(u==null?void 0:u[0]),f=Number(u==null?void 0:u[1]);if(this.isPointOnSegment(r,a,c,d,h,f))return!0;d>a!=f>a&&r<(h-c)*(a-d)/(f-d)+c&&(i=!i)}return i}isPointOnSegment(e,t,i,r,a,o){const s=(e-i)*(o-r)-(t-r)*(a-i);return Math.abs(s)>1e-10?!1:(e-i)*(e-a)+(t-r)*(t-o)<=1e-10}getGeometryAreaScore(e){return e!=null&&e.coordinates?e.type==="Polygon"?this.getLngLatPolygonAreaScore(e.coordinates):e.type==="MultiPolygon"?e.coordinates.reduce((t,i)=>t+this.getLngLatPolygonAreaScore(i),0):Number.POSITIVE_INFINITY:Number.POSITIVE_INFINITY}getLngLatPolygonAreaScore(e=[]){const t=e[0]||[];if(t.length<3)return Number.POSITIVE_INFINITY;let i=0;for(let r=0;r<t.length;r++){const a=t[r],o=t[(r+1)%t.length];i+=Number((a==null?void 0:a[0])||0)*Number((o==null?void 0:o[1])||0)-Number((o==null?void 0:o[0])||0)*Number((a==null?void 0:a[1])||0)}return Math.abs(i)}getGeometryDistanceScore(e,t){const i=this.getGeometryLngLatBounds(e);if(!i)return Number.POSITIVE_INFINITY;const r=(i.minLng+i.maxLng)/2,a=(i.minLat+i.maxLat)/2;return Math.hypot(r-t.lng,a-t.lat)}getGeometryLngLatBounds(e){const t=this.getGeometryCoordinateList(e);return t.length?t.reduce((i,r)=>({minLng:Math.min(i.minLng,Number((r==null?void 0:r[0])||0)),minLat:Math.min(i.minLat,Number((r==null?void 0:r[1])||0)),maxLng:Math.max(i.maxLng,Number((r==null?void 0:r[0])||0)),maxLat:Math.max(i.maxLat,Number((r==null?void 0:r[1])||0))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}getGeometryCoordinateList(e){const t=[],i=r=>{if(Array.isArray(r)){if(typeof r[0]=="number"&&typeof r[1]=="number"){t.push(r);return}r.forEach(i)}};return i(e==null?void 0:e.coordinates),t}pickVectorFeatureAtPoint(e,t){var o;const i=this.currentVectorFeatures||[];if(((o=this.currentTopicLayer)==null?void 0:o.key)==="yak-industry-points"){const s=this.pickPointFeatureAtScreenPoint(i,t);if(s)return s}const r=i.filter(s=>this.isLngLatInGeometry(e,s.geometry)).sort((s,l)=>this.getGeometryAreaScore(s.geometry)-this.getGeometryAreaScore(l.geometry));if(r.length)return r[0];const a=i.find(s=>this.isPointOrLineNearLngLat(s.geometry,e));return a||null}pickPointFeatureAtScreenPoint(e,t){var a;if(!t||!((a=this.camera)!=null&&a.instance)||!this.focusMapGroup||!this.canvas)return null;const r=(e||[]).filter(o=>{var s;return((s=o==null?void 0:o.geometry)==null?void 0:s.type)==="Point"}).map(o=>{const s=this.getPointFeatureScreenPoint(o);return s?{feature:o,screen:s,distance:Math.hypot(s.x-t.x,s.y-t.y)}:null}).filter(Boolean).sort((o,s)=>o.distance-s.distance)[0];return(r==null?void 0:r.distance)<=22?{feature:r.feature,screen:r.screen}:null}getPointFeatureScreenPoint(e){var i,r;const t=(e==null?void 0:e.geometry)||((i=e==null?void 0:e.feature)==null?void 0:i.geometry);return(t==null?void 0:t.type)!=="Point"?null:((r=this.currentTopicLayer)==null?void 0:r.key)==="yak-industry-points"?this.lngLatToLayerScreenPoint(t.coordinates,this.depth+.255):this.lngLatToScreenPoint(t.coordinates,this.depth+.32)}lngLatToLayerLocalPoint(e,t=0){const i=()=>{const u=Number(e==null?void 0:e[0]),c=Number(e==null?void 0:e[1]);if(!Number.isFinite(u)||!Number.isFinite(c))return new Ge(0,0,Number(t)||0);const[d,h]=this.geoProjection([u,c]);return new Ge(d,-h,Number(t)||0)},r=this.topicLayerUvBounds;if(!r)return i();const a=this.lngLatToLayerCanvasPoint(e),o=this.topicLayerCanvas;if(!(o!=null&&o.width)||!(o!=null&&o.height))return i();const s=r.left+a.x/o.width*(r.right-r.left),l=r.bottom+(o.height-a.y)/o.height*(r.top-r.bottom);return new Ge(s,l,Number(t)||0)}lngLatToLayerScreenPoint(e,t=0){return this.localMapPointToScreenPoint(this.lngLatToLayerLocalPoint(e,t))}lngLatToScreenPoint(e,t=0){const i=Number(e==null?void 0:e[0]),r=Number(e==null?void 0:e[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return null;const a=this.lngLatToWorldPoint([i,r],t);return this.worldPointToScreenPoint(a)}localMapPointToScreenPoint(e){const t=this.focusMapGroup?this.focusMapGroup.localToWorld(e):e;return this.worldPointToScreenPoint(t)}worldPointToScreenPoint(e){var r;if(!((r=this.camera)!=null&&r.instance)||!this.canvas||!e)return null;const t=this.canvas.getBoundingClientRect();if(!t.width||!t.height)return null;const i=e.clone().project(this.camera.instance);return!Number.isFinite(i.x)||!Number.isFinite(i.y)?null:{x:t.left+(i.x+1)/2*t.width,y:t.top+(1-i.y)/2*t.height}}focusProject(e){var h,f,p,g;const t=String(e||"").trim();if(!t)return!1;const i=(this.currentVectorFeatures||[]).filter(m=>{var v;return String(((v=m==null?void 0:m.properties)==null?void 0:v.project_name)||"").trim()===t});if(!i.length)return(f=(h=this.callbacks).onLayerStatus)==null||f.call(h,{type:"success",text:"当前项目图斑尚未加载"}),!1;const r=this.getFeatureListLngLatBounds(i);if(!r)return!1;const a=this.getProjectHighlightFeatures(i);a.length?(this.showSelectedFeatures(a),this.setSelectedVectorFeatures(a)):this.clearSelectedFeature();const o=[(r.minLng+r.maxLng)/2,(r.minLat+r.maxLat)/2],s=Math.max(r.maxLng-r.minLng,r.maxLat-r.minLat),l=Math.max(.22,Math.min(.55,s*1.25)),u=this.lngLatToWorldPoint(o,.72),c=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(l),d=u.clone().add(c);return this.animateMapCamera(d,u,.75),(g=(p=this.callbacks).onLayerStatus)==null||g.call(p,{type:"success",text:"已定位项目"}),!0}setBoundaryDrawing(e){var t,i,r,a;this.boundaryDrawingEnabled=!!e,this.boundaryDrawingEnabled?(this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.clearSelectedFeature(),(i=(t=this.callbacks).onLayerStatus)==null||i.call(t,{type:"success",text:"请在地图上依次点击绘制分析边界"})):(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"success",text:"已退出边界绘制"}),this.redrawVectorTopicLayer()}addBoundaryDrawPoint(e){var a,o,s,l;if(!Number.isFinite(e==null?void 0:e.lng)||!Number.isFinite(e==null?void 0:e.lat))return!1;const t=Date.now(),i=this.lastBoundaryDrawPoint;return i&&t-i.time<350&&Math.hypot(e.lng-i.lng,e.lat-i.lat)<8e-4?!1:(this.lastBoundaryDrawPoint={lng:e.lng,lat:e.lat,time:t},this.boundaryDrawPoints=[...this.boundaryDrawPoints||[],{lng:e.lng,lat:e.lat}],(o=(a=this.callbacks).onDrawBoundary)==null||o.call(a,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),(l=(s=this.callbacks).onLayerStatus)==null||l.call(s,{type:"success",text:`已添加边界点 ${this.boundaryDrawPoints.length} 个`}),this.redrawVectorTopicLayer(),!0)}undoBoundaryPoint(){var e,t,i;return(e=this.boundaryDrawPoints)!=null&&e.length?(this.boundaryDrawPoints=this.boundaryDrawPoints.slice(0,-1),(i=(t=this.callbacks).onDrawBoundary)==null||i.call(t,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),this.redrawVectorTopicLayer(),!0):!1}finishBoundaryDrawing(){var o,s,l,u,c,d;const e=this.boundaryDrawPoints||[];if(e.length<3)return(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"至少需要 3 个点才能形成分析边界"}),null;const t=e.map(h=>[h.lng,h.lat]),i=t[0],r=t[t.length-1];(i[0]!==r[0]||i[1]!==r[1])&&t.push([...i]);const a={type:"Feature",properties:{source:"draw",pointCount:e.length},geometry:{type:"Polygon",coordinates:[t]}};return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=a,(u=(l=this.callbacks).onDrawBoundary)==null||u.call(l,{status:"complete",feature:a,points:e,pointCount:e.length}),(d=(c=this.callbacks).onLayerStatus)==null||d.call(c,{type:"success",text:"分析边界已生成"}),this.focusAnalysisGeometry(a.geometry),this.redrawVectorTopicLayer(),a}clearAnalysisBoundary(){var e,t;return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.redrawVectorTopicLayer(),(t=(e=this.callbacks).onDrawBoundary)==null||t.call(e,{status:"clear",points:[],pointCount:0}),!0}showAnalysisResult(e={}){var a;const t=Object.prototype.hasOwnProperty.call(e,"boundary")||Object.prototype.hasOwnProperty.call(e,"boundaryFeature")||Object.prototype.hasOwnProperty.call(e,"feature"),i=e.boundary||e.boundaryFeature||e.feature||null,r=Array.isArray(e.matches)?e.matches:[];return t&&(this.analysisBoundaryFeature=(i==null?void 0:i.type)==="Feature"?i:i!=null&&i.geometry?{type:"Feature",properties:i.properties||{},geometry:i.geometry}:null),this.analysisMatchedFeatures=r.map(o=>(o==null?void 0:o.feature)||o).filter(o=>o==null?void 0:o.geometry),!t&&this.analysisMatchedFeatures.length?this.focusAnalysisFeatures(this.analysisMatchedFeatures):(a=this.analysisBoundaryFeature)!=null&&a.geometry&&this.focusAnalysisGeometry(this.analysisBoundaryFeature.geometry),this.redrawVectorTopicLayer(),!0}focusAnalysisFeatures(e=[]){const t=this.getFeatureListLngLatBounds(e);if(!t)return!1;const i=[(t.minLng+t.maxLng)/2,(t.minLat+t.maxLat)/2];return this.flyToLngLat(i,{span:Math.max(t.maxLng-t.minLng,t.maxLat-t.minLat),statusText:"已定位命中项目"})}focusAnalysisGeometry(e){const t=this.getGeometryLngLatBounds(e);if(!t)return!1;const i=[(t.minLng+t.maxLng)/2,(t.minLat+t.maxLat)/2];return this.flyToLngLat(i,{span:Math.max(t.maxLng-t.minLng,t.maxLat-t.minLat),statusText:"已定位分析边界"})}focusPasture(e={}){var r,a;const i=[...this.normalizePastureGrasslandRows(e==null?void 0:e.grasslands),...this.normalizePastureGrasslandRows(e==null?void 0:e.wkt)].map((o,s)=>{const l=this.normalizePastureGrasslandGeometry(o);if(!l)return null;const u=this.normalizePastureGrasslandProperties(o);return{type:"Feature",properties:V2(y2({},u),{id:u.id||u.gid||`${(e==null?void 0:e.name)||"pasture"}-${s}`,pasture_name:(e==null?void 0:e.name)||u.pastureName||u.name}),geometry:l}}).filter(Boolean);if(i.length){const o=this.getFeatureListLngLatBounds(i);if(!o)return!1;this.showSelectedFeatures(i,{mode:"pasture"}),this.setSelectedVectorFeatures(i);const s=[(o.minLng+o.maxLng)/2,(o.minLat+o.maxLat)/2];return this.flyToLngLat(s,{span:Math.max(o.maxLng-o.minLng,o.maxLat-o.minLat),statusText:"已定位具体草场"}),!0}return(a=(r=this.callbacks).onLayerStatus)==null||a.call(r,{type:"warning",text:"当前牧户暂无可定位数据"}),!1}normalizePastureGrasslandRows(e){return e?typeof e=="string"?[e]:Array.isArray(e)?e:(e==null?void 0:e.type)==="FeatureCollection"&&Array.isArray(e.features)?e.features:(e==null?void 0:e.type)==="Feature"||this.isGeoJsonGeometry(e)?[e]:Array.isArray(e==null?void 0:e.rows)?e.rows:Array.isArray(e==null?void 0:e.data)?e.data:e!=null&&e.data?this.normalizePastureGrasslandRows(e.data):Array.isArray(e==null?void 0:e.list)?e.list:Array.isArray(e==null?void 0:e.features)?e.features:e!=null&&e.wkt||e!=null&&e.geo||e!=null&&e.geom||e!=null&&e.geometryWkt||e!=null&&e.geometry_wkt||e!=null&&e.shape||e!=null&&e.location||e!=null&&e.geometry?[e]:[]:[]}normalizePastureGrasslandGeometry(e){var t;return typeof e=="string"?this.parseGeometryText(e):(e==null?void 0:e.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry):this.isGeoJsonGeometry(e)?e:typeof(e==null?void 0:e.geometry)=="string"?this.parseGeometryText(e.geometry):((t=e==null?void 0:e.geometry)==null?void 0:t.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry.geometry):this.isGeoJsonGeometry(e==null?void 0:e.geometry)?e.geometry:this.parseGeometryText((e==null?void 0:e.wkt)||(e==null?void 0:e.geo)||(e==null?void 0:e.geom)||(e==null?void 0:e.geometryWkt)||(e==null?void 0:e.geometry_wkt)||(e==null?void 0:e.shape)||(e==null?void 0:e.location))}normalizePastureGrasslandProperties(e){return!e||typeof e!="object"||Array.isArray(e)?{wkt:e}:e.type==="Feature"?e.properties||{}:e}parseGeometryText(e){const t=String(e||"").trim();if(!t)return null;if(t.startsWith("{")||t.startsWith("["))try{const i=JSON.parse(t);if((i==null?void 0:i.type)==="Feature")return this.normalizePastureGrasslandGeometry(i);if(this.isGeoJsonGeometry(i))return i}catch(i){return null}return this.parseWktGeometry(t)}isGeoJsonGeometry(e){return!!(e&&["Polygon","MultiPolygon","LineString","MultiLineString","Point"].includes(e.type)&&e.coordinates)}flyToLngLat(e,t={}){var d,h;const i=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],r=Number(i==null?void 0:i[0]),a=Number(i==null?void 0:i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return!1;const o=Number(t.span),s=Number.isFinite(o)?Math.max(.2,Math.min(.55,o*1.25)):.32,l=this.lngLatToWorldPoint([r,a],.72),u=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(s),c=l.clone().add(u);return this.animateMapCamera(c,l,t.duration||.75),(h=(d=this.callbacks).onLayerStatus)==null||h.call(d,{type:"success",text:t.statusText||"已定位"}),!0}getProjectHighlightFeatures(e){const t=e.filter(r=>{var o;const a=String(((o=r==null?void 0:r.geometry)==null?void 0:o.type)||"");return a.includes("Polygon")||a.includes("LineString")}),i=t.filter(r=>{var a;return((a=r==null?void 0:r.properties)==null?void 0:a.feature_role)==="工程范围"});return i.length?i:t}getFeatureListLngLatBounds(e){return e.reduce((t,i)=>{const r=this.getGeometryLngLatBounds(i.geometry);return r?t?{minLng:Math.min(t.minLng,r.minLng),minLat:Math.min(t.minLat,r.minLat),maxLng:Math.max(t.maxLng,r.maxLng),maxLat:Math.max(t.maxLat,r.maxLat)}:y2({},r):t},null)}isPointOrLineNearLngLat(e,t){return e!=null&&e.coordinates?e.type==="Point"?this.getCoordinateDistance(e.coordinates,[t.lng,t.lat])<=.02:e.type==="LineString"?this.isCoordinateNearLine(e.coordinates,t,.004):e.type==="MultiLineString"?e.coordinates.some(i=>this.isCoordinateNearLine(i,t,.004)):!1:!1}isCoordinateNearLine(e,t,i){if(!Array.isArray(e)||e.length<2)return!1;const r=[t.lng,t.lat];for(let a=1;a<e.length;a+=1)if(this.getCoordinateSegmentDistance(r,e[a-1],e[a])<=i)return!0;return!1}getCoordinateDistance(e,t){return Math.hypot(Number(e==null?void 0:e[0])-Number(t==null?void 0:t[0]),Number(e==null?void 0:e[1])-Number(t==null?void 0:t[1]))}getCoordinateSegmentDistance(e,t,i){const r=Number(t==null?void 0:t[0]),a=Number(t==null?void 0:t[1]),o=Number(i==null?void 0:i[0])-r,s=Number(i==null?void 0:i[1])-a;if(!Number.isFinite(o)||!Number.isFinite(s))return Number.POSITIVE_INFINITY;if(!o&&!s)return this.getCoordinateDistance(e,t);const l=Math.max(0,Math.min(1,((e[0]-r)*o+(e[1]-a)*s)/(o*o+s*s)));return this.getCoordinateDistance(e,[r+l*o,a+l*s])}getLayerTopicKey(e){const t=e==null?void 0:e.layerName,i=e==null?void 0:e.key,r=Object.entries(y2(y2({},pv),jy)).find(([,a])=>a.some(o=>o.key===i||o.layerName===t));return(r==null?void 0:r[0])||""}getLayerQueryKey(e){return[(e==null?void 0:e.layerName)||"",(e==null?void 0:e.styles)||"",(e==null?void 0:e.cqlFilter)||"",(e==null?void 0:e.key)||""].join("|")}mergeBusinessProperties(e,t,i){const r=(i==null?void 0:i.key)||"";if(Object.entries(t||{}).forEach(([a,o])=>{o==null||o===""||(e[a]===void 0||e[a]===null||e[a]==="")&&(e[a]=o)}),r==="basic-grassland"){const a=(t==null?void 0:t.basic_type_name)||(t==null?void 0:t.grassland_category_name)||(t==null?void 0:t.land_class_name)||(t==null?void 0:t.land_use_name)||(t==null?void 0:t.base_grass);a!=null&&a!==""&&(e.basic_type_name=a)}if(r==="grassland-level"){const a=(t==null?void 0:t.grassland_level)||(t==null?void 0:t.level)||(t==null?void 0:t.grassland_level_name)||(t==null?void 0:t.level_name);a!=null&&a!==""&&(e.grassland_level=a)}if(r==="grassland-type"||r==="wetland-type"){const a=(t==null?void 0:t.grass_min_type)||(t==null?void 0:t.grass_type)||(t==null?void 0:t.grassland_type)||(t==null?void 0:t.type_name)||(t==null?void 0:t.type);a!=null&&a!==""&&(e.grass_min_type=a)}if(r==="grassland-yield"||r==="wetland-yield"){const a=(t==null?void 0:t.yield)||(t==null?void 0:t.xc_yield)||(t==null?void 0:t.xb_xc_yield)||(t==null?void 0:t.fresh_grass_yield)||(t==null?void 0:t.value),o=(t==null?void 0:t.mu_yield)||(t==null?void 0:t.xc_mu_yield)||(t==null?void 0:t.xb_xc_mu_yield)||(t==null?void 0:t.yield_per_mu);a!=null&&a!==""&&(e.fresh_grass_yield=a),o!=null&&o!==""&&(e.mu_yield=o)}if(r==="grassland-health"){const a=(t==null?void 0:t.health_level)||(t==null?void 0:t.health_level_name)||(t==null?void 0:t.ndvi_level)||(t==null?void 0:t.level)||(t==null?void 0:t.level_name),o=(t==null?void 0:t.ndvi)||(t==null?void 0:t.NDVI)||(t==null?void 0:t.value);a!=null&&a!==""&&(e.health_level=a),o!=null&&o!==""&&(e.ndvi=o);const s=(t==null?void 0:t.degradation_level)||(t==null?void 0:t.degradation_level_name)||(t==null?void 0:t.level)||(t==null?void 0:t.level_name);s!=null&&s!==""&&(e.degradation_level=s)}}getScreenPointFromEvent(e){var i;const t=((i=e==null?void 0:e.data)==null?void 0:i.originalEvent)||(e==null?void 0:e.originalEvent)||e;return(t==null?void 0:t.clientX)!==void 0&&(t==null?void 0:t.clientY)!==void 0?{x:t.clientX,y:t.clientY}:null}getLngLatFromEvent(e){var s,l,u;const i=(u=(((l=(s=this.interactionManager)==null?void 0:s.raycaster)==null?void 0:l.intersectObject(e.target,!1))||[])[0])==null?void 0:u.point;if(!i)return null;const r=this.focusMapGroup.worldToLocal(i.clone()),o=$s().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([r.x,-r.y]);return o?{lng:o[0],lat:o[1]}:null}lngLatToWmsPixel({lng:e,lat:t}){const i=(e-s1.west)/(s1.east-s1.west)*u5.width,r=(s1.north-t)/(s1.north-s1.south)*u5.height;return{x:i,y:r}}showSelectedFeature(e,t={}){var r;const i=(e==null?void 0:e.geometry)||((r=e==null?void 0:e.feature)==null?void 0:r.geometry);this.clearSelectedFeature(),this.createSelectedFeatureGroup(),this.addSelectedGeometry(i,t),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}showSelectedFeatures(e=[],t={}){this.clearSelectedFeature(),this.createSelectedFeatureGroup(),e.forEach(i=>{var a;const r=(i==null?void 0:i.geometry)||((a=i==null?void 0:i.feature)==null?void 0:a.geometry);this.addSelectedGeometry(r,t)}),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}setSelectedVectorFeatures(e=[]){this.selectedVectorFeatures=[...e],this.redrawVectorTopicLayer()}getSelectedFeatureStyle(e={}){const t=e.mode==="pasture";return{fillColor:t?16765773:16769370,fillOpacity:t?.42:.5,lineColor:16777215,lineOpacity:.98,glowColor:t?2357712:2422468,glowOpacity:t?.92:.96,renderOrderBase:t?42:35,boundary:t,boundaryColor:16773226,boundaryGlowColor:2422468,boundaryWidth:.018,boundaryGlowWidth:.06,boundaryOpacity:.95,boundaryGlowOpacity:.42}}addSelectedGeometry(e,t={}){if(!(e!=null&&e.coordinates)||!this.selectedFeatureGroup)return;const i=this.getSelectedFeatureStyle(t),r=this.getDisplayFeaturePolygons(e),a=new M1({color:i.fillColor,transparent:!0,opacity:i.fillOpacity,side:o0,depthWrite:!1,fog:!1}),o=new Yo({color:i.lineColor,transparent:!0,opacity:i.lineOpacity,linewidth:2,depthTest:!1,depthWrite:!1,fog:!1}),s=new Yo({color:i.glowColor,transparent:!0,opacity:i.glowOpacity,linewidth:3,depthTest:!1,depthWrite:!1,fog:!1}),l=i.boundary?new M1({color:i.boundaryColor,transparent:!0,opacity:i.boundaryOpacity,side:o0,depthTest:!1,depthWrite:!1,fog:!1}):null,u=i.boundary?new M1({color:i.boundaryGlowColor,transparent:!0,opacity:i.boundaryGlowOpacity,side:o0,depthTest:!1,depthWrite:!1,fog:!1,blending:Ln}):null;r.length&&r.forEach(d=>{const h=this.createProjectedShape(d);if(!h)return;const f=new gf(h),p=new f1(f,a);p.renderOrder=i.renderOrderBase,this.selectedFeatureGroup.add(p),d.forEach(g=>{const m=this.createProjectedRingPoints(g);if(m.length<3)return;i.boundary&&(this.addSelectedBoundaryBand(m,u,i.boundaryGlowWidth,i.renderOrderBase+1,!0),this.addSelectedBoundaryBand(m,l,i.boundaryWidth,i.renderOrderBase+4,!0));const v=new Q1().setFromPoints(m),_=new Oy(v,o);_.renderOrder=i.renderOrderBase+5,this.selectedFeatureGroup.add(_);const S=new Q1().setFromPoints(m),x=new Oy(S,s);x.renderOrder=i.renderOrderBase+3,x.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(x)})});const c=this.normalizeFeatureLineStrings(e);c.length&&c.forEach(d=>{const h=this.createProjectedRingPoints(d);if(h.length<2)return;i.boundary&&(this.addSelectedBoundaryBand(h,u,i.boundaryGlowWidth,i.renderOrderBase+1,!1),this.addSelectedBoundaryBand(h,l,i.boundaryWidth,i.renderOrderBase+4,!1));const f=new Q1().setFromPoints(h),p=new Ph(f,s);p.renderOrder=i.renderOrderBase+3,p.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(p);const g=new Q1().setFromPoints(h),m=new Ph(g,o);m.renderOrder=i.renderOrderBase+5,this.selectedFeatureGroup.add(m)})}addSelectedBoundaryBand(e,t,i,r,a=!0){if(!t||!this.selectedFeatureGroup)return;const o=this.createPathBandGeometry(e,i,a);if(!o)return;const s=new f1(o,t);s.renderOrder=r,this.selectedFeatureGroup.add(s)}createPathBandGeometry(e,t,i=!0){const r=this.normalizePathBandPoints(e,i);if(r.length<(i?3:2))return null;const a=Math.max(Number(t)||0,0)/2;if(!a)return null;const o=[],s=i?r.length:r.length-1;for(let u=0;u<s;u+=1){const c=r[u],d=r[(u+1)%r.length],h=d.x-c.x,f=d.y-c.y,p=Math.hypot(h,f);if(!p)continue;const g=-f/p*a,m=h/p*a,v=[c.x+g,c.y+m,.006],_=[c.x-g,c.y-m,.006],S=[d.x+g,d.y+m,.006],x=[d.x-g,d.y-m,.006];o.push(...v,..._,...S,...S,..._,...x)}if(!o.length)return null;const l=new Q1;return l.setAttribute("position",new S0(o,3)),l.computeVertexNormals(),l}normalizePathBandPoints(e,t){const i=(e||[]).filter(r=>Number.isFinite(r==null?void 0:r.x)&&Number.isFinite(r==null?void 0:r.y)).map(r=>r.clone());if(t&&i.length>2){const r=i[0],a=i[i.length-1];r.distanceToSquared(a)<1e-10&&i.pop()}return i}clearSelectedFeature(){var t;const e=!!((t=this.selectedVectorFeatures)!=null&&t.length);this.selectedVectorFeatures=[],e&&this.redrawVectorTopicLayer(),this.clearSelectedGeometryGroup()}clearSelectedGeometryGroup(){var t,i;if(!this.selectedFeatureGroup)return;const e=new Set;for(;this.selectedFeatureGroup.children.length;){const r=this.selectedFeatureGroup.children.pop();(i=(t=r.geometry)==null?void 0:t.dispose)==null||i.call(t),Array.isArray(r.material)?r.material.forEach(a=>e.add(a)):e.add(r.material)}e.forEach(r=>{var a;return(a=r==null?void 0:r.dispose)==null?void 0:a.call(r)})}normalizeFeaturePolygons(e){return uj(e)}normalizeFeatureLineStrings(e){return e!=null&&e.coordinates?e.type==="LineString"?[e.coordinates]:e.type==="MultiLineString"?e.coordinates:[]:[]}getDisplayFeaturePolygons(e){const t=this.normalizeFeaturePolygons(e),i=this.getLayerClipBounds(this.currentTopicLayer);return i?t.map(r=>{const a=this.clipRingToBounds(r==null?void 0:r[0],i);if(a.length<3)return null;const o=r.slice(1).map(s=>this.clipRingToBounds(s,i)).filter(s=>s.length>=3);return[a,...o]}).filter(Boolean):t}clipRingToBounds(e=[],t){let i=e.map(a=>[Number(a==null?void 0:a[0]),Number(a==null?void 0:a[1])]).filter(([a,o])=>Number.isFinite(a)&&Number.isFinite(o));return[{inside:([a])=>a>=t.west,intersect:(a,o)=>this.getLngLatLineIntersection(a,o,"lng",t.west)},{inside:([a])=>a<=t.east,intersect:(a,o)=>this.getLngLatLineIntersection(a,o,"lng",t.east)},{inside:([,a])=>a>=t.south,intersect:(a,o)=>this.getLngLatLineIntersection(a,o,"lat",t.south)},{inside:([,a])=>a<=t.north,intersect:(a,o)=>this.getLngLatLineIntersection(a,o,"lat",t.north)}].forEach(a=>{const o=i;i=[],o.length&&o.forEach((s,l)=>{const u=o[(l+o.length-1)%o.length],c=a.inside(s),d=a.inside(u);c?(d||i.push(a.intersect(u,s)),i.push(s)):d&&i.push(a.intersect(u,s))})}),i}getLngLatLineIntersection(e,t,i,r){const a=i==="lng"?0:1,o=i==="lng"?1:0,s=t[a]-e[a];if(!s)return[...e];const l=(r-e[a])/s,u=[...e];return u[a]=r,u[o]=e[o]+(t[o]-e[o])*l,u}createProjectedShape(e){const t=e==null?void 0:e[0];if(!Array.isArray(t)||t.length<3)return null;const i=new ns;return this.createProjectedRingPoints(t).forEach((a,o)=>{o===0?i.moveTo(a.x,a.y):i.lineTo(a.x,a.y)}),e.slice(1).forEach(a=>{const o=this.createProjectedRingPoints(a);if(o.length<3)return;const s=new ns;o.forEach((l,u)=>{u===0?s.moveTo(l.x,l.y):s.lineTo(l.x,l.y)}),i.holes.push(s)}),i}createProjectedRingPoints(e){if(!Array.isArray(e))return[];const t=[];return e.forEach(i=>{if(!Array.isArray(i)||i.length<2)return;const r=Number(i[0]),a=Number(i[1]);if(!Number.isFinite(r)||!Number.isFinite(a))return;const[o,s]=this.geoProjection([r,a]);t.push(new Ge(o,-s,0))}),t}enhanceTexture(e){var i,r,a;const t=(r=(i=this.renderer)==null?void 0:i.instance)==null?void 0:r.capabilities;e.anisotropy=((a=t==null?void 0:t.getMaxAnisotropy)==null?void 0:a.call(t))||1,e.needsUpdate=!0}geoProjection(e){return $s().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0])(e)}update(e){super.update(e),this.updateTradeFlowPulses(e),this.interactionManager&&this.interactionManager.update()}pauseScene(){var e,t;this.scenePaused=!0,(t=(e=this.time)==null?void 0:e.pause)==null||t.call(e),this.sceneTweens.forEach(i=>{var r;return(r=i==null?void 0:i.pause)==null?void 0:r.call(i)}),clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null}resumeScene(){var e,t;this.scenePaused=!1,(t=(e=this.time)==null?void 0:e.resume)==null||t.call(e),this.sceneTweens.forEach(i=>{var r;return(r=i==null?void 0:i.resume)==null?void 0:r.call(i)}),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}destroy(){var e,t,i,r;this.pauseScene(),this.sceneTimers.forEach(a=>clearTimeout(a)),this.sceneTimers=[],this.sceneTweens.forEach(a=>{var o;return(o=a==null?void 0:a.kill)==null?void 0:o.call(a)}),this.sceneTweens=[],this.callbacks={},(t=(e=this.canvas)==null?void 0:e.removeEventListener)==null||t.call(e,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(r=(i=this.canvas)==null?void 0:i.removeEventListener)==null||r.call(i,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.clearTradeFlowLayer(),this.clearSelectedFeature(),super.destroy(),this.label3d&&this.label3d.destroy()}}const dze={class:"map"},Mu={__name:"map",props:{activeLayer:{type:Object,default:null},mapRanking:{type:Object,default:null}},emits:["feature-loading","feature-info","layer-status","draw-boundary","scene-mounted"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=U2(null),o=Wc(null);let s=null,l=null,u=null,c=null,d="",h="",f=!1;_r(()=>{r("scene-mounted")}),Yr(()=>{Y()});function p(ee){o.value||!a.value||(o.value=new cze(a.value,ee,{onFeatureLoading:se=>r("feature-loading",se),onFeatureInfo:se=>r("feature-info",se),onLayerStatus:se=>r("layer-status",se),onDrawBoundary:se=>r("draw-boundary",se)}),o.value.time.pause(),d=J(i.activeLayer),h=re(i.mapRanking),o.value.setTopicLayers(H(i.activeLayer),i.activeLayer),o.value.setTownRanking(i.mapRanking),W(),G())}function g(){return Z2(this,null,function*(){var ee,se,Be,we;o.value&&(m(),!(f||o.value.mapAnimationComplete)&&(f=!0,(se=(ee=o.value.animateTl)==null?void 0:ee.timeScale)==null||se.call(ee,1),(we=(Be=o.value.animateTl)==null?void 0:Be.play)==null||we.call(Be)))})}function m(){var ee,se;o.value&&(W(),G(),(se=(ee=o.value).resumeScene)==null||se.call(ee),o.value.resumeScene||o.value.time.resume())}function v(){var ee,se,Be,we,ve,Ke;o.value&&((se=(ee=o.value.animateTl)==null?void 0:ee.pause)==null||se.call(ee),(we=(Be=o.value).pauseScene)==null||we.call(Be),o.value.pauseScene||(Ke=(ve=o.value.time)==null?void 0:ve.pause)==null||Ke.call(ve),ce())}function _(){var ee,se;(se=(ee=o.value)==null?void 0:ee.clearSelectedFeature)==null||se.call(ee)}function S(ee){var se,Be;(Be=(se=o.value)==null?void 0:se.focusProject)==null||Be.call(se,ee)}function x(ee){var se,Be;(Be=(se=o.value)==null?void 0:se.focusPasture)==null||Be.call(se,ee)}function A(ee,se){var Be,we;return(we=(Be=o.value)==null?void 0:Be.focusTownByName)==null?void 0:we.call(Be,ee,se)}function C(ee){var se,Be;return(Be=(se=o.value)==null?void 0:se.focusYakIndustryPoint)==null?void 0:Be.call(se,ee)}function M(ee){var se,Be;return(Be=(se=o.value)==null?void 0:se.getYakIndustryPointScreen)==null?void 0:Be.call(se,ee)}function I(ee){var se,Be;(Be=(se=o.value)==null?void 0:se.setBoundaryDrawing)==null||Be.call(se,ee)}function D(){var ee,se;return(se=(ee=o.value)==null?void 0:ee.finishBoundaryDrawing)==null?void 0:se.call(ee)}function E(){var ee,se;(se=(ee=o.value)==null?void 0:ee.undoBoundaryPoint)==null||se.call(ee)}function L(){var ee,se;(se=(ee=o.value)==null?void 0:ee.clearAnalysisBoundary)==null||se.call(ee)}function V(ee){var se,Be;(Be=(se=o.value)==null?void 0:se.showAnalysisResult)==null||Be.call(se,ee)}function Y(){var ee,se;ce(),(se=(ee=o.value)==null?void 0:ee.destroy)==null||se.call(ee),o.value=null}function G(){l&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{var ee,se,Be,we,ve;l=null,(Be=(se=(ee=o.value)==null?void 0:ee.sizes)==null?void 0:se.init)==null||Be.call(se),(ve=(we=o.value)==null?void 0:we.resize)==null||ve.call(we)}),u&&window.clearTimeout(u),u=window.setTimeout(()=>{var ee,se,Be,we,ve;u=null,(Be=(se=(ee=o.value)==null?void 0:ee.sizes)==null?void 0:se.init)==null||Be.call(se),(ve=(we=o.value)==null?void 0:we.resize)==null||ve.call(we)},180)}function W(){var se;ce();const ee=(se=a.value)==null?void 0:se.parentNode;ee&&window.ResizeObserver&&(s=new ResizeObserver(()=>G()),s.observe(ee)),c=window.setInterval(q,1e3),Nn(G)}function q(){var p2;if(!o.value||!a.value)return;const ee=a.value.parentNode,se=(ee==null?void 0:ee.offsetWidth)||window.innerWidth||1,Be=(ee==null?void 0:ee.offsetHeight)||window.innerHeight||1,we=((p2=o.value.sizes)==null?void 0:p2.pixelRatio)||1,ve=Math.floor(se*we),Ke=Math.floor(Be*we);(a.value.width!==ve||a.value.height!==Ke)&&G()}function ce(){s&&(s.disconnect(),s=null),l&&(window.cancelAnimationFrame(l),l=null),u&&(window.clearTimeout(u),u=null),c&&(window.clearInterval(c),c=null)}U1(()=>i.activeLayer,ee=>{const se=J(ee);se!==d&&(d=se,o.value&&o.value.setTopicLayers(H(ee),ee))},{deep:!0}),U1(()=>i.mapRanking,ee=>{const se=re(ee);se!==h&&(h=se,o.value&&o.value.setTownRanking(ee))},{deep:!0}),e({loadMap:p,play:g,resume:m,pause:v,clearSelectedFeature:_,focusProject:S,focusPasture:x,focusTown:A,focusYakIndustryPoint:C,getYakIndustryPointScreen:M,setBoundaryDrawing:I,finishBoundaryDrawing:D,undoBoundaryPoint:E,clearAnalysisBoundary:L,showAnalysisResult:V,destroyMap:Y,canvasMap:o});function J(ee){return ee?H(ee).map(se=>{var Be;return[se.key||"",se.layerName||"",se.styles||"",se.cqlFilter||"",((Be=se.activeLegend)==null?void 0:Be.key)||"",se.sourceType||"",se.dataPath||"",se.fallbackPath||""].join("|")}).join("||"):""}function H(ee){if(!ee)return[];const se=Array.isArray(ee.overlayLayers)?ee.overlayLayers.filter(Boolean):[];return[ee,...se]}function re(ee){var se,Be;return ee?[ee.status||"",ee.topicKey||"",ee.layerKey||"",ee.title||"",ee.metricLabel||"",ee.scope||"",ee.displayMode||"",((se=ee.rows)==null?void 0:se.length)||0,((Be=ee.rows)==null?void 0:Be.map(we=>{var ve;return`${we.key||we.name||""}:${(ve=we.value)!=null?ve:""}`}).join(","))||""].join("|"):""}return(ee,se)=>(Ee(),De("div",dze,[k("canvas",{ref_key:"canvasRef",ref:a},null,512)]))}};const hze={key:0,class:"business-stat-empty"},fze={class:"business-stat-rank"},pze={class:"business-stat-main"},mze={class:"business-stat-name"},gze={class:"business-stat-bar"},vze={class:"business-stat-value"},yze={key:0},cj={__name:"BusinessStatList",props:{rows:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(n){const e=n,t=Ze(()=>{const r=e.rows.map(a=>Number(a.value)).filter(a=>!Number.isNaN(a));return Math.max(...r,1)});function i(r){const a=Number(r.value);return Number.isNaN(a)?36:Math.max(8,Math.round(a/t.value*100))}return(r,a)=>(Ee(),De("div",{class:Ht(["business-stat-list",{"is-compact":n.compact,"is-dense":n.rows.length>10}])},[n.rows.length?Tt("",!0):(Ee(),De("div",hze,"暂无业务统计数据")),(Ee(!0),De(gt,null,Mt(n.rows,(o,s)=>(Ee(),De("div",{key:o.key||o.name,class:"business-stat-row"},[k("div",fze,Ue(s+1),1),k("div",pze,[k("div",mze,Ue(o.name),1),k("div",gze,[k("span",{style:J3({width:`${i(o)}%`})},null,4)])]),k("div",vze,[k("strong",null,Ue(o.value),1),k("em",null,Ue(o.unit),1),o.extra?(Ee(),De("span",yze,Ue(o.extra),1)):Tt("",!0)])]))),128))],2))}},_ze=""+new URL("ring2-a1b91808-balabala-1782986963996.png",import.meta.url).href,Sze=""+new URL("ring3-fe0f60d7-balabala-1782986963996.png",import.meta.url).href,bze=""+new URL("ring4-f2e324d6-balabala-1782986963996.png",import.meta.url).href;const xze={name:"ThreePie",props:{data:{type:Array,default:()=>[]},colors:{type:Array,default:()=>[2161326,15380744,3122407,65535,16536624]},opacity:{type:Number,default:.5},delay:{type:Number,default:5e3},loopComplete:{type:Function,default:()=>{}}},computed:{currentData(){return V2(y2({},this.data[this.activeIndex]),{count:this.count})}},data(){return this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null,this.pieGroup=new E1,this.planeTweens=[],this.resizeHandler=null,this.visibilityObserver=null,this.isVisible=!0,this.isDestroyed=!1,this.isLooping=!1,{width:300,height:200,activeIndex:0,count:0,timer:null}},mounted(){this.isVisible=this.isElementVisible(this.$el),this.updateSize(),this.count=this.data.map(n=>Number(n.value)||0).reduce((n,e)=>n+e,0),this.init(),this.setupVisibilityObserver(),this.resizeHandler=()=>this.resize(),window.addEventListener("resize",this.resizeHandler)},beforeUnmount(){this.destroy()},methods:{init(){this.scene=new a2e,this.initCamera(),this.initRenderer(),this.initLight(),this.initAxes(),this.initControls(),this.createPlane({url:_ze,width:5,position:new Ge(0,0,-.01),color:"#00ffff"}),this.createPlane({url:Sze,width:6.5,position:new Ge(0,0,-.02),color:"#00ffff"}),this.createPlane({url:bze,width:5.5,position:new Ge(0,0,-.03),animate:!0,color:"#00ffff"}),this.createPie(),this.isVisible&&this.start()},createPlane(n){let e={url:"texture/ring1.png",width:5.5,z:0,position:new Ge(0,0,0),animate:!1,color:null},t=Object.assign(e,n);const i=new Nr(t.width,t.width),r=new M1({map:this.getTexture(t.url),transparent:!0,side:o0,depthTest:!1});t.color&&(r.color=new Yt(t.color));const a=new f1(i,r);if(a.position.copy(t.position),a.rotation.x=-1*Math.PI/2,t.animate){const o=O0.to(a.rotation,{z:2*Math.PI,repeat:-1,ease:"none",duration:3});this.planeTweens.push(o)}this.scene.add(a)},getTexture(n){const e=new RL().load(n);return e.wrapS=e.wrapT=In,e},createPie(){if(!this.data.length||this.count<=0)return;let n=0,e=0;for(var t=0;t<this.data.length;t++){let i=this.data[t].value/this.count;t==0?n=0:n=e+1e-4,e=e+2*Math.PI*i-1e-4;let r=this.addRing({startAngle:n,endAngle:e,color:new Yt(this.colors[t%this.colors.length])});r.name="ring"+t,this.pieGroup.add(r)}this.scene.add(this.pieGroup),this.pieGroup.children.length&&this.chooseRing(this.activeIndex,!0)},loopChange(){let n=this.activeIndex+1;n>=this.data.length&&(n=0,this.loopComplete&&this.loopComplete()),this.chooseRing(n)},chooseRing(n=0,e=!1){if(!this.pieGroup.children.length)return;let t=n-1<0?this.data.length-1:n-1,i=this.pieGroup.children[t];this.prevMesh=i,this.activeIndex=n;let r=this.pieGroup.children[n];r&&(e||i&&(O0.to(i.scale,{z:1}),O0.to(i.material,{opacity:this.opacity})),O0.to(r.scale,{z:2}),O0.to(r.material,{opacity:.8}))},addRing(n={}){let e={innerRadius:1.5,outerRadius:2,thickness:.5,startAngle:0,endAngle:Math.PI/2,color:65535,segments:120},t=Object.assign(e,n),i=new ns;i.arc(0,0,t.outerRadius,t.startAngle,t.endAngle);let r=i.getPoints(t.segments),a=new ns;a.arc(0,0,t.innerRadius,t.endAngle,t.startAngle,!0);let o=a.getPoints(t.segments),s=new ns(r.concat(o));const l={steps:1,depth:t.thickness,bevelEnabled:!0,bevelThickness:0,bevelSize:0,bevelOffset:0,bevelSegments:0},u=new cS(s,l);let c=new tE({color:t.color,transparent:!0,opacity:this.opacity,side:o0});const d=new f1(u,c.clone());return d.renderOrder=10,d.rotation.x=-1*Math.PI/2,d},initCamera(){var n=this.width/this.height;this.camera=new gi(30,n,.1,1500),this.camera.position.set(6.023813305272227,4.838542633695233,6.111272698256137),this.camera.lookAt(0,0,0)},initRenderer(){this.renderer=new SL({antialias:!0,alpha:!0}),this.renderer.setPixelRatio(this.getPixelRatio()),this.renderer.setSize(this.width,this.height),this.$refs.pieDom.appendChild(this.renderer.domElement)},initLight(){let n=new zy(16777215,2);n.position.set(200,300,200);let e=new zy(16777215,2);e.position.set(-200,-300,-200);let t=new S2e(16777215,2);this.scene.add(n),this.scene.add(e),this.scene.add(t)},initAxes(){this.axes=new b2e(0),this.scene.add(this.axes)},initControls(){this.controls=new P2e(this.camera,this.renderer.domElement),this.controls.maxPolarAngle=Math.PI,this.controls.autoRotate=!1,this.controls.enableDamping=!0,this.controls.enabled=!1},loop(){!this.renderer||this.isLooping||(this.isLooping=!0,this.renderer.setAnimationLoop(()=>{this.renderer.render(this.scene,this.camera),this.controls&&this.controls.update()}))},start(){this.isDestroyed||!this.renderer||!this.data.length||(this.isVisible=!0,this.loop(),this.planeTweens.forEach(n=>{var e;return(e=n==null?void 0:n.resume)==null?void 0:e.call(n)}),this.controls&&(this.controls.enabled=!0),this.startTimer())},startTimer(){this.stopTimer(),!(this.data.length<2)&&(this.timer=window.setInterval(()=>{this.loopChange()},this.delay))},stop(){this.stopTimer(),this.controls&&(this.controls.enabled=!1),this.renderer&&this.renderer.setAnimationLoop(null),this.planeTweens.forEach(n=>{var e;return(e=n==null?void 0:n.pause)==null?void 0:e.call(n)}),this.isLooping=!1},stopTimer(){this.timer&&(window.clearInterval(this.timer),this.timer=null)},setupVisibilityObserver(){const n=this.$el;!n||typeof window.IntersectionObserver!="function"||(this.visibilityObserver=new IntersectionObserver(e=>{const t=e[0],i=!!(t!=null&&t.isIntersecting)&&this.isElementVisible(n);i!==this.isVisible&&(this.isVisible=i,i?(this.resize(),this.start()):this.stop())}),this.visibilityObserver.observe(n),this.isVisible=this.isElementVisible(n),this.isVisible||this.stop())},isElementVisible(n){if(!n||typeof window.getComputedStyle!="function")return!0;let e=n;for(;e&&e!==document.body;){const i=window.getComputedStyle(e);if(i.display==="none"||i.visibility==="hidden"||Number(i.opacity)===0)return!1;e=e.parentElement}const t=n.getBoundingClientRect();return t.width>0&&t.height>0},getPixelRatio(){return Math.min(window.devicePixelRatio||1,1.5)},updateSize(){var e,t;const n=this.$refs.pieDom;this.width=(n==null?void 0:n.offsetWidth)||((e=this.$el)==null?void 0:e.offsetWidth)||300,this.height=(n==null?void 0:n.offsetHeight)||((t=this.$el)==null?void 0:t.offsetHeight)||200},getScene(){return this.scene},getRender(){return this.renderer},resize(){if(!this.camera||!this.renderer)return;this.updateSize();let n=this.width/this.height;this.camera.aspect=n,this.camera.updateProjectionMatrix(),this.renderer.setSize(this.width,this.height),this.renderer.setPixelRatio(this.getPixelRatio())},destroy(){var n,e,t,i;this.isDestroyed=!0,this.prevMesh&&(O0.set(this.prevMesh.scale,{z:1}),O0.set(this.prevMesh.material,{opacity:this.opacity})),this.stop(),(e=(n=this.visibilityObserver)==null?void 0:n.disconnect)==null||e.call(n),this.visibilityObserver=null,this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.renderer&&(this.planeTweens.forEach(r=>{var a;return(a=r==null?void 0:r.kill)==null?void 0:a.call(r)}),this.planeTweens=[],yOe(this.pieGroup),this.renderer.dispose(),this.renderer.forceContextLoss(),(i=(t=this.controls)==null?void 0:t.dispose)==null||i.call(t),this.$refs.pieDom&&(this.$refs.pieDom.innerHTML=""),this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null)}}},wze={class:"three-pie-wrap"},Tze={class:"three-pie",ref:"pieDom"},Aze={class:"three-pie-slot"};function Cze(n,e,t,i,r,a){return Ee(),De("div",wze,[k("div",Tze,null,512),k("div",Aze,[A7(n.$slots,"default",{data:a.currentData})])])}const j2e=h_(xze,[["render",Cze]]);const Mze={key:0,class:"business-panel-empty"},Eze={key:2,class:"business-metrics"},Pze={key:3,class:"business-icon-metrics"},Rze={class:"business-icon-metric-copy"},Lze={key:0},Ize={key:4,class:"business-spotlight"},Dze={class:"business-spotlight-main"},Nze={class:"business-spotlight-side"},kze={key:0},Fze={key:1,class:"business-panel-empty"},Oze={key:0,class:"business-ring-visual"},Bze={class:"business-ring-inner"},zze={key:1,class:"business-donut-visual"},Uze={class:"business-three-pie-center"},Gze={class:"business-donut-legend"},Vze={key:1,class:"business-panel-empty"},Hze={key:6,class:"business-structure"},Wze={class:"business-structure-overview"},jze={class:"business-structure-band"},$ze=["title"],Yze={class:"business-structure-list"},qze={key:1,class:"business-panel-empty"},Xze={key:7,class:"business-capacity"},Kze={class:"business-capacity-head"},Zze={class:"business-capacity-band"},Jze=["title"],Qze={class:"business-capacity-list"},eUe={key:0,class:"business-capacity-town"},tUe={key:1,class:"business-panel-empty"},nUe={class:"business-bar-name"},iUe={class:"business-bar-track"},rUe={key:0},aUe={key:1},oUe={key:0,class:"business-column-unit"},sUe={key:0},lUe={class:"business-column-track"},uUe={key:10,class:"business-project-table"},cUe={class:"business-project-search"},dUe=["placeholder"],hUe={class:"business-project-frame"},fUe=["onClick","onKeydown"],pUe=["title"],mUe={key:0},gUe={key:0},vUe={key:1},yUe={key:0,class:"business-project-empty"},_Ue={class:"business-table-head"},SUe={class:"business-table-body"},bUe={class:"business-table-name"},xUe={class:"business-table-value"},wUe={key:0},TUe={class:"business-stack-legend"},AUe={class:"business-stack-chart"},CUe={class:"business-stack-track"},MUe={key:0,class:"business-column-unit business-peak-unit"},EUe={key:0},PUe={key:14,class:"business-line"},RUe={viewBox:"0 0 320 86",preserveAspectRatio:"none","aria-hidden":"true"},LUe=["points"],IUe=["points"],DUe=["cx","cy"],NUe=["cx","cy","onMouseenter"],kUe=["onMouseenter"],FUe={key:0},OUe={key:0},BUe={class:"business-split-band"},zUe={class:"business-split-list"},dj=3e3,Di={__name:"BusinessPanelRenderer",props:{panel:{type:Object,default:()=>({rows:[]})},compact:{type:Boolean,default:!1}},emits:["row-select"],setup(n,{emit:e}){const t=n,i=e,r=["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"],a=Ze(()=>{var Fe;return((Fe=t.panel)==null?void 0:Fe.type)||"rank"}),o=Ze(()=>{var Fe;return(((Fe=t.panel)==null?void 0:Fe.rows)||[]).filter(Z=>Z==null?void 0:Z.name)}),s=Ze(()=>o.value.map(Fe=>V2(y2({},Fe),{value:Ae(Fe)})).filter(Fe=>Fe.value>0)),l=Ze(()=>o.value.map(Fe=>Ae(Fe)).filter(Fe=>Fe>0)),u=Ze(()=>Math.max(...l.value,1)),c=Ze(()=>l.value.reduce((Fe,Z)=>Fe+Z,0)),d=Ze(()=>o.value.filter(Fe=>Ae(Fe)>0)),h=Ze(()=>o.value.filter(Fe=>Ae(Fe)>0)),f=Ze(()=>h.value),p=Ze(()=>a.value!=="column"?"":ye()),g=Ze(()=>a.value!=="peak"?"":ye()),m=Ze(()=>o.value.filter(Fe=>Ae(Fe)>0)),v=Ze(()=>{var Fe;return h.value.slice(0,((Fe=t.panel)==null?void 0:Fe.limit)||8)}),_=Ze(()=>{var Fe;return((Fe=t.panel)==null?void 0:Fe.segments)||[]}),S=Ze(()=>o.value.filter(Fe=>ge(Fe)>0)),x=U2(""),A=U2(null),C=[{key:"name",label:"项目名称",field:"name",width:"45%",className:"business-project-col-name"},{key:"year",label:"年份",field:"year",width:"13%",fallback:"未知",align:"right",className:"business-project-col-year"},{key:"category",label:"类型",field:"category",width:"20%",className:"business-project-col-category"},{key:"scale",label:"规模",field:"value",width:"22%",align:"right",strong:!0,unitField:"unit",className:"business-project-col-scale"}],M=Ze(()=>{var Z;return(Array.isArray((Z=t.panel)==null?void 0:Z.columns)&&t.panel.columns.length?t.panel.columns:C).map((be,Ve)=>({key:be.key||be.field||`column-${Ve}`,label:be.label||be.title||be.name||"",field:be.field||be.dataIndex||be.key,fields:be.fields||[],width:be.width,align:be.align,strong:!!be.strong,unit:be.unit,unitField:be.unitField,fallback:be.fallback,format:be.format,className:be.className}))}),I=Ze(()=>{var Fe;return((Fe=t.panel)==null?void 0:Fe.searchPlaceholder)||"搜索项目"}),D=Ze(()=>{var Fe;return((Fe=t.panel)==null?void 0:Fe.emptyText)||"无匹配项目"}),E=Ze(()=>{var Z;const Fe=Array.isArray((Z=t.panel)==null?void 0:Z.searchKeys)?t.panel.searchKeys:[];return Fe.length?Fe:[...M.value.flatMap(be=>[be.field,...be.fields||[]]),"projectName","category","year","measure","townships","metric"].filter(Boolean)}),L=Ze(()=>{const Fe=T2(x.value);return Fe?o.value.filter(Z=>T2(o2(Z)).includes(Fe)):o.value}),V=Ze(()=>o.value.find(Fe=>["forage-total","wetland-yield-total"].includes(Fe.key))||o.value[0]),Y=Ze(()=>o.value.filter(Fe=>["forage-edible","forage-unavailable","wetland-yield-edible","wetland-yield-unavailable"].includes(Fe.key))),G=Ze(()=>o.value.find(Fe=>["forage-top-town","wetland-yield-top-town"].includes(Fe.key))),W=U2(0),q=U2(null),ce=U2(null),J=U2(!0);let H=null,re=null;const ee=Ze(()=>{var Fe,Z;return`${((Fe=t.panel)==null?void 0:Fe.key)||((Z=t.panel)==null?void 0:Z.title)||"pie"}-${s.value.map(be=>`${be.name}:${be.value}`).join("|")}`}),se=Ze(()=>{const Fe=Be.value;return Fe?W.value%Fe:0}),Be=Ze(()=>{var Fe;return a.value==="structure"?m.value.length:a.value==="donut"?s.value.length:a.value==="bar"&&((Fe=t.panel)==null?void 0:Fe.variant)==="capacity"?Y.value.length:a.value==="bar"||a.value==="column"?h.value.length:a.value==="table"?f.value.length:a.value==="line"?h.value.length:a.value==="split"?d.value.length:0}),we=Ze(()=>s.value[se.value]||s.value[0]);Ze(()=>m.value[se.value]||m.value[0]);const ve=Ze(()=>o.value[0]),Ke=Ze(()=>o.value.slice(0,4).map((Fe,Z)=>V2(y2({},Fe),{icon:R1(Fe,Z)}))),p2=Ze(()=>m.value.map((Fe,Z)=>V2(y2({},Fe),{displayIndex:Z}))),c2=Ze(()=>{var Fe;return a.value!=="donut"?"standard":((Fe=t.panel)==null?void 0:Fe.variant)==="ring"?"ring":"three"}),s2=Ze(()=>{if(!s.value.length)return{};const Fe=c.value||1;let Z=-90;return{"--ring-gradient":`conic-gradient(${s.value.map((Ve,ie)=>{const Ne=Ae(Ve)/Fe*360,$e=Z,i2=Z+Ne;return Z=i2,`${a3(ie)} ${$e}deg ${i2}deg`}).join(", ")})`,"--ring-active-color":a3(se.value)}});_r(()=>{Cn(),e1()}),Yr(()=>{M2(),L1()}),U1(()=>{var Fe;return[(Fe=t.panel)==null?void 0:Fe.key,o.value.length]},()=>{W.value=0,q.value=null,x.value="",A.value=null,e1()}),U1(J,()=>{e1()});const R2=Ze(()=>{const Fe=h.value,Z=320,be=66,Ve=10,ie=Fe.length>1?Z/(Fe.length-1):Z,Ne=Fe.map(He=>Ae(He)).filter(He=>He>0),$e=Ne.length?Math.min(...Ne):0,i2=Ne.length?Math.max(...Ne):1,_2=Math.max(i2-$e,i2*.08,1);return Fe.map((He,z2)=>{const kt=Ae(He);return{x:Math.round(z2*ie),y:Math.round(Ve+be-(kt-$e)/_2*be),item:He}})}),w2=Ze(()=>R2.value.map(Fe=>`${Fe.x},${Fe.y}`).join(" ")),Re=Ze(()=>R2.value.length?`0,86 ${w2.value} 320,86`:""),k2=Ze(()=>h.value),x2=Ze(()=>({gridTemplateColumns:`repeat(${Math.max(k2.value.length,1)}, minmax(0, 1fr))`})),D2=Ze(()=>Number.isInteger(q.value)?R2.value[q.value]:null),z=Ze(()=>R2.value.length?Number.isInteger(q.value)?q.value:se.value:0),Q2=Ze(()=>D2.value?D2.value:R2.value[z.value]||R2.value[0]),Y2=Ze(()=>{const Fe=Q2.value;if(!Fe)return{};const Z=Fe.x/320*100,be=Fe.y/86*100,Ve=Fe.y<42;return{left:`${Math.min(84,Math.max(16,Z))}%`,top:`${be}%`,transform:Ve?"translate(-50%, 10px)":"translate(-50%, calc(-100% - 8px))"}});function Ae(Fe){const Z=Number(Fe==null?void 0:Fe.value);if(!Number.isNaN(Z)&&Z>0)return Z;const be=Number(Fe==null?void 0:Fe.percent);return Number.isNaN(be)?0:be}function ge(Fe){const Z=(Fe==null?void 0:Fe.segments)||(Fe==null?void 0:Fe.values)||{};return _.value.reduce((be,Ve)=>be+(Number(Z[Ve.key])||0),0)}function ke(Fe){const Z=ge(Fe),be=(Fe==null?void 0:Fe.segments)||(Fe==null?void 0:Fe.values)||{};return Z?_.value.map(Ve=>{const ie=Number(be[Ve.key])||0;return V2(y2({},Ve),{value:ie,percent:Math.max(ie>0?3:0,ie/Z*100)})}):[]}function d2(Fe){const Z=Number(Fe);return Number.isNaN(Z)?"--":Number.isInteger(Z)?`${Z}`:`${Number(Z.toFixed(2))}`}function m2(Fe){return(Fe==null?void 0:Fe.displayValue)!==void 0&&(Fe==null?void 0:Fe.displayValue)!==null&&(Fe==null?void 0:Fe.displayValue)!==""?Fe.displayValue:(Fe==null?void 0:Fe.value)===void 0||(Fe==null?void 0:Fe.value)===null||(Fe==null?void 0:Fe.value)===""?"--":d2(Fe.value)}function Te(Fe){var Ve;const Z=(Fe==null?void 0:Fe.displayUnit)||(Fe==null?void 0:Fe.unit)||"";if(!Z)return"";const be=String((Ve=m2(Fe))!=null?Ve:"");return be&&be.endsWith(String(Z))?"":Z}function ye(){const Fe=[...new Set(h.value.map(Z=>(Z==null?void 0:Z.displayUnit)||(Z==null?void 0:Z.unit)).filter(Boolean))];return Fe.length===1?Fe[0]:""}function Le(Fe){const Z=Te(Fe);return Z?p.value===Z?"":Z:""}function t2(Fe){const Z=Te(Fe);return Z?g.value===Z?"":Z:""}function Oe(Fe){const Z=String(Fe||"").trim();if(!Z)return"";const be=Z.match(/^(.+)(镇|乡|村)$/);return be?`${be[1]} |
|
|
${be[2]}`:Z}function T2(Fe){return String(Fe||"").trim().toLowerCase()}function o2(Fe){const Z=E.value.map(be=>q2(Fe,{field:be})).filter(be=>be!=null);return[Fe==null?void 0:Fe.searchText,...Z].filter(Boolean).join(" ")}function q2(Fe,Z){const be=[Z==null?void 0:Z.field,...(Z==null?void 0:Z.fields)||[]].filter(Boolean);for(const Ve of be){const ie=String(Ve).split(".").reduce((Ne,$e)=>Ne==null?void 0:Ne[$e],Fe);if(ie!=null&&ie!=="")return ie}}function K2(Fe,Z){const be=q2(Fe,Z);return be==null||be===""?(Z==null?void 0:Z.fallback)||"--":(Z==null?void 0:Z.format)==="number"?d2(be):(Z==null?void 0:Z.format)==="displayValue"?m2({value:be}):String(be)}function st(Fe,Z){return Z!=null&&Z.unitField&&(Fe!=null&&Fe[Z.unitField])?Fe[Z.unitField]:(Z==null?void 0:Z.unit)||""}function lt(Fe){return{"business-project-name":(Fe==null?void 0:Fe.key)==="name","business-project-locate":(Fe==null?void 0:Fe.key)==="locate","is-right":(Fe==null?void 0:Fe.align)==="right","is-center":(Fe==null?void 0:Fe.align)==="center","is-strong":Fe==null?void 0:Fe.strong}}function rt(Fe){(Fe==null?void 0:Fe.canLocate)!==!1&&(A.value=(Fe==null?void 0:Fe.key)||(Fe==null?void 0:Fe.name)||null,i("row-select",Fe))}function Ut(Fe){const Z=Number(Fe==null?void 0:Fe.scaleValue);if(!Number.isNaN(Z)&&Z>0)return Math.max(8,Math.min(100,Math.round(Z)));const be=Ae(Fe);return be?Math.max(8,Math.round(be/u.value*100)):8}function Qe(Fe,Z){const be=Ut(Fe),Ve=Math.max(.14,Math.min(.46,be/180));return{"--heat-color":a3(Z),"--heat-bg":ot(a3(Z),Ve)}}function ot(Fe,Z=.2){const be=String(Fe||"").replace("#","");if(be.length!==6)return`rgba(48, 220, 255, ${Z})`;const Ve=parseInt(be,16),ie=Ve>>16&255,Ne=Ve>>8&255,$e=Ve&255;return`rgba(${ie}, ${Ne}, ${$e}, ${Z})`}function vt(Fe){const Z=R2.value.length;if(!Z)return;const be=Fe.currentTarget.getBoundingClientRect(),Ve=be.width?(Fe.clientX-be.left)/be.width:0,ie=Math.min(Z-1,Math.max(0,Math.round(Ve*(Z-1))));q.value=ie}function Nt(Fe){const Z=Ae(Fe);return!c.value||!Z?0:Math.max(6,Z/c.value*100)}function je(Fe){const Z=Ae(Fe);return!c.value||!Z?0:Math.max(2,Z/c.value*100)}function $2(Fe){if(!Fe)return"--";if(Fe.extra)return Fe.extra;const Z=Ae(Fe);return!c.value||!Z?"--":`${d2(Z/c.value*100)}%`}function tt(){const Fe=Ae(V.value);return Fe>0?Fe:Y.value.reduce((Z,be)=>Z+Ae(be),0)}function Et(Fe){const Z=tt(),be=Ae(Fe);return!Z||!be?0:Math.max(6,be/Z*100)}function Ft(Fe){const Z=tt(),be=Ae(Fe);return!Z||!be?"--":`${d2(be/Z*100)}%`}function yt(Fe,Z){return["forage-edible","wetland-yield-edible"].includes(Fe==null?void 0:Fe.key)?"#24f6c4":["forage-unavailable","wetland-yield-unavailable"].includes(Fe==null?void 0:Fe.key)?"#ffe06b":a3(Z)}function p3(Fe){const Z=Ae(Fe),be=Number(Fe==null?void 0:Fe.count)||c.value;return!Z||!be?"0%":`${d2(Z/be*100)}%`}function a3(Fe){return r[Fe%r.length]}function R1(Fe,Z){if(Fe!=null&&Fe.icon)return String(Fe.icon).replace(/[^a-z0-9-]/gi,"");const be=String((Fe==null?void 0:Fe.name)||"");return be.includes("退化率")||be.includes("利用率")||be.includes("占比")?"rate":be.includes("重度")||be.includes("退化")?"risk":be.includes("可食")||be.includes("供给")?"leaf":be.includes("不可")?"stack":be.includes("产量")||be.includes("鲜草")?"yield":be.includes("乡镇")?"town":be.includes("面积")?"area":["yield","leaf","rate","risk"][Z%4]}function P3(){L1();const Fe=Be.value;J.value&&(Fe<2||(H=window.setInterval(()=>{W.value=(W.value+1)%Fe},dj)))}function e1(){J.value?P3():L1()}function L1(){H&&(window.clearInterval(H),H=null)}function Cn(){at(),!(!ce.value||typeof window.IntersectionObserver!="function")&&(re=new IntersectionObserver(Fe=>{const Z=Fe[0];J.value=!!(Z!=null&&Z.isIntersecting)&&mt()}),re.observe(ce.value),window.requestAnimationFrame(at))}function M2(){var Fe;(Fe=re==null?void 0:re.disconnect)==null||Fe.call(re),re=null}function at(){J.value=mt()}function mt(){const Fe=ce.value;return Fe?!!(Fe.offsetParent||Fe.getClientRects().length):!0}function u3(Fe){return`linear-gradient(90deg, rgba(36, 246, 196, 0.18), ${a3(Fe)})`}function x1(Fe){return`linear-gradient(180deg, ${a3(Fe)}, rgba(50, 220, 255, 0.12))`}return(Fe,Z)=>{var be,Ve,ie,Ne,$e,i2,_2;return Ee(),De("div",{ref_key:"panelRef",ref:ce,class:Ht(["business-panel",[`is-${a.value}`,`is-${c2.value}`,{"is-compact":n.compact}]])},[o.value.length?a.value==="rank"?(Ee(),K0(cj,{key:1,rows:o.value,compact:""},null,8,["rows"])):a.value==="metric"?(Ee(),De("div",Eze,[(Ee(!0),De(gt,null,Mt(o.value.slice(0,4),He=>(Ee(),De("div",{key:He.key||He.name,class:"business-metric-item"},[k("span",null,Ue(He.name),1),k("strong",null,Ue(m2(He)),1),k("em",null,Ue(He.unit),1)]))),128))])):a.value==="iconMetric"?(Ee(),De("div",Pze,[(Ee(!0),De(gt,null,Mt(Ke.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:Ht(["business-icon-metric-item",`is-tone-${z2%r.length}`])},[k("i",{class:Ht(["business-icon-metric-mark",`is-${He.icon}`])},[...Z[2]||(Z[2]=[k("span",null,null,-1)])],2),k("div",Rze,[k("span",null,Ue(He.name),1),k("strong",null,[J1(Ue(m2(He)),1),He.unit?(Ee(),De("em",Lze,Ue(He.unit),1)):Tt("",!0)])])],2))),128))])):a.value==="spotlight"?(Ee(),De("div",Ize,[ve.value?(Ee(),De(gt,{key:0},[k("div",Dze,[k("span",null,Ue(ve.value.name),1),k("strong",null,[J1(Ue(m2(ve.value)),1),k("em",null,Ue(ve.value.unit),1)]),k("small",null,Ue(ve.value.extra||((be=n.panel)==null?void 0:be.note)||"核心业务指标"),1)]),k("div",Nze,[(Ee(!0),De(gt,null,Mt(o.value.slice(1,4),(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:"business-spotlight-chip"},[k("i",{style:J3({borderColor:a3(z2+1)})},null,4),k("span",null,Ue(He.name),1),k("strong",null,[J1(Ue(m2(He)),1),k("em",null,Ue(He.unit),1)]),He.extra?(Ee(),De("small",kze,Ue(He.extra),1)):Tt("",!0)]))),128))])],64)):(Ee(),De("div",Fze,"暂无业务统计数据"))])):a.value==="donut"?(Ee(),De("div",{key:5,class:Ht(["business-donut",[`is-variant-${c2.value}`,{"is-dense":s.value.length>5}]])},[s.value.length?(Ee(),De(gt,{key:0},[c2.value==="ring"?(Ee(),De("div",Oze,[k("div",{class:"business-ring-core",style:J3(s2.value)},[Z[3]||(Z[3]=k("div",{class:"business-ring-orbit"},null,-1)),k("div",Bze,[k("strong",null,Ue(p3(we.value)),1),k("span",null,Ue(((Ve=we.value)==null?void 0:Ve.name)||"结构占比"),1)])],4)])):(Ee(),De("div",zze,[(Ee(),K0(j2e,{key:ee.value,data:s.value,delay:dj,colors:r,opacity:.62,class:"business-three-pie"},{default:s3(({data:He})=>[k("div",Uze,[k("strong",null,Ue(p3(He)),1),k("span",null,Ue((He==null?void 0:He.name)||"结构占比"),1)])]),_:1},8,["data"]))])),k("div",Gze,[(Ee(!0),De(gt,null,Mt(s.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:Ht(["business-donut-row",{"is-active":z2===se.value}])},[k("i",{style:J3({borderColor:a3(z2)})},null,4),k("span",null,Ue(He.name),1),k("strong",null,Ue(m2(He)),1),k("em",null,Ue(He.unit),1)],2))),128))])],64)):(Ee(),De("div",Vze,"暂无业务统计数据"))],2)):a.value==="structure"?(Ee(),De("div",Hze,[m.value.length?(Ee(),De(gt,{key:0},[k("div",Wze,[k("div",jze,[(Ee(!0),De(gt,null,Mt(m.value,(He,z2)=>(Ee(),De("i",{key:He.key||He.name,class:Ht({"is-active":z2===se.value}),style:J3({width:`${je(He)}%`,background:a3(z2),color:a3(z2)}),title:`${He.name}:${m2(He)}${He.unit||""} ${$2(He)}`},null,14,$ze))),128))])]),k("div",Yze,[(Ee(!0),De(gt,null,Mt(p2.value,He=>(Ee(),De("div",{key:He.key||He.name,class:Ht(["business-structure-row",{"is-active":He.displayIndex===se.value}])},[k("i",{style:J3({background:a3(He.displayIndex),color:a3(He.displayIndex)})},null,4),k("span",null,Ue(He.name),1),k("strong",null,[J1(Ue(m2(He)),1),k("em",null,Ue(He.unit),1)]),k("small",null,Ue($2(He)),1)],2))),128))])],64)):(Ee(),De("div",qze,"暂无业务统计数据"))])):a.value==="bar"&&((ie=n.panel)==null?void 0:ie.variant)==="capacity"?(Ee(),De("div",Xze,[V.value?(Ee(),De(gt,{key:0},[k("div",Kze,[k("span",null,Ue(V.value.name),1),k("strong",null,[J1(Ue(m2(V.value)),1),k("em",null,Ue(V.value.unit),1)])]),k("div",Zze,[(Ee(!0),De(gt,null,Mt(Y.value,(He,z2)=>(Ee(),De("i",{key:He.key||He.name,class:Ht({"is-active":z2===se.value}),style:J3({width:`${Et(He)}%`,background:yt(He,z2),color:yt(He,z2)}),title:`${He.name}:${m2(He)}${He.unit||""} ${Ft(He)}`},null,14,Jze))),128))]),k("div",Qze,[(Ee(!0),De(gt,null,Mt(Y.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:Ht(["business-capacity-row",{"is-active":z2===se.value}])},[k("i",{style:J3({background:yt(He,z2),color:yt(He,z2)})},null,4),k("span",null,Ue(He.name),1),k("strong",null,[J1(Ue(m2(He)),1),k("em",null,Ue(He.unit),1)]),k("small",null,Ue(Ft(He)),1)],2))),128))]),G.value?(Ee(),De("div",eUe,[k("span",null,Ue(G.value.name),1),k("strong",null,[J1(Ue(m2(G.value)),1),k("em",null,Ue(G.value.unit),1)])])):Tt("",!0)],64)):(Ee(),De("div",tUe,"暂无业务统计数据"))])):a.value==="bar"?(Ee(),De("div",{key:8,class:Ht(["business-bars",{"is-dense":h.value.length>=5,"is-long":h.value.length>10,"is-single":((Ne=n.panel)==null?void 0:Ne.span)===1,"is-distribution":(($e=n.panel)==null?void 0:$e.variant)==="distribution","is-capacity":((i2=n.panel)==null?void 0:i2.variant)==="capacity"}])},[(Ee(!0),De(gt,null,Mt(h.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:Ht(["business-bar-row",{"is-active":z2===se.value}])},[k("span",nUe,Ue(He.name),1),k("div",iUe,[k("i",{style:J3({width:`${Ut(He)}%`,background:u3(z2)})},null,4)]),k("strong",null,[J1(Ue(m2(He))+" ",1),He.unit?(Ee(),De("em",rUe,Ue(He.unit),1)):Tt("",!0),He.extra?(Ee(),De("small",aUe,Ue(He.extra),1)):Tt("",!0)])],2))),128))],2)):a.value==="column"?(Ee(),De("div",{key:9,class:Ht(["business-columns",[`is-variant-${((_2=n.panel)==null?void 0:_2.variant)||"solid"}`,{"is-dense":h.value.length>6}]])},[p.value?(Ee(),De("small",oUe,"单位:"+Ue(p.value),1)):Tt("",!0),(Ee(!0),De(gt,null,Mt(h.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:Ht(["business-column-item",{"is-active":z2===se.value}])},[k("strong",null,[J1(Ue(m2(He)),1),Le(He)?(Ee(),De("em",sUe,Ue(Le(He)),1)):Tt("",!0)]),k("div",lUe,[k("i",{style:J3({height:`${Ut(He)}%`,background:x1(z2),"--column-load-delay":`${z2*.075}s`})},null,4)]),k("span",null,Ue(Oe(He.name)),1)],2))),128))],2)):a.value==="projectTable"?(Ee(),De("div",uUe,[k("div",cUe,[rn(k("input",{"onUpdate:modelValue":Z[0]||(Z[0]=He=>x.value=He),type:"search",placeholder:I.value},null,8,dUe),[[m8,x.value]])]),k("div",hUe,[k("table",null,[k("colgroup",null,[(Ee(!0),De(gt,null,Mt(M.value,He=>(Ee(),De("col",{key:He.key,class:Ht(He.className),style:J3({width:He.width||void 0})},null,6))),128))]),k("thead",null,[k("tr",null,[(Ee(!0),De(gt,null,Mt(M.value,He=>(Ee(),De("th",{key:He.key,class:Ht(lt(He))},Ue(He.label),3))),128))])]),k("tbody",null,[(Ee(!0),De(gt,null,Mt(L.value,He=>(Ee(),De("tr",{key:He.key||He.name,class:Ht({"is-active":A.value===(He.key||He.name)}),tabindex:"0",onClick:z2=>rt(He),onKeydown:[l7(pi(z2=>rt(He),["prevent"]),["enter"]),l7(pi(z2=>rt(He),["prevent"]),["space"])]},[(Ee(!0),De(gt,null,Mt(M.value,z2=>(Ee(),De("td",{key:z2.key,class:Ht(lt(z2)),title:K2(He,z2)},[z2.strong?(Ee(),De("strong",mUe,[J1(Ue(K2(He,z2)),1),st(He,z2)?(Ee(),De("em",gUe,Ue(st(He,z2)),1)):Tt("",!0)])):(Ee(),De("span",vUe,Ue(K2(He,z2)),1))],10,pUe))),128))],42,fUe))),128))])]),L.value.length?Tt("",!0):(Ee(),De("div",yUe,Ue(D.value),1))])])):a.value==="table"?(Ee(),De("div",{key:11,class:Ht(["business-table",{"is-dense":f.value.length>8}])},[k("div",_Ue,[(Ee(),De(gt,null,Mt(2,He=>k("div",{key:He,class:"business-table-head-group"},[...Z[4]||(Z[4]=[k("span",null,"乡镇",-1),k("span",null,"亩产",-1)])])),64))]),k("div",SUe,[(Ee(!0),De(gt,null,Mt(f.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:Ht(["business-table-row",{"is-active":z2===se.value}])},[k("span",bUe,Ue(He.name),1),k("div",xUe,[k("strong",null,[J1(Ue(m2(He)),1),He.unit?(Ee(),De("em",wUe,Ue(He.unit),1)):Tt("",!0)]),k("i",null,[k("b",{style:J3({width:`${Ut(He)}%`,background:u3(z2)})},null,4)])])],2))),128))])],2)):a.value==="stackColumn"?(Ee(),De("div",{key:12,class:Ht(["business-stack-columns",{"is-dense":S.value.length>6}])},[k("div",TUe,[(Ee(!0),De(gt,null,Mt(_.value,(He,z2)=>(Ee(),De("span",{key:He.key||He.name},[k("i",{style:J3({background:a3(z2)})},null,4),J1(Ue(He.name),1)]))),128))]),k("div",AUe,[(Ee(!0),De(gt,null,Mt(S.value,He=>(Ee(),De("div",{key:He.key||He.name,class:"business-stack-item"},[k("div",CUe,[(Ee(!0),De(gt,null,Mt(ke(He),(z2,kt)=>(Ee(),De("i",{key:z2.key||z2.name,style:J3({height:`${z2.percent}%`,background:a3(kt)})},null,4))),128))]),k("span",null,Ue(Oe(He.name)),1)]))),128))])],2)):a.value==="peak"?(Ee(),De("div",{key:13,class:Ht(["business-peaks",{"is-dense":h.value.length>5}])},[g.value?(Ee(),De("small",MUe,"单位:"+Ue(g.value),1)):Tt("",!0),(Ee(!0),De(gt,null,Mt(h.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:"business-peak-item",style:J3({"--peak-height":`${Ut(He)}%`,"--peak-color":a3(z2)})},[k("strong",null,[J1(Ue(m2(He)),1),t2(He)?(Ee(),De("em",EUe,Ue(t2(He)),1)):Tt("",!0)]),Z[5]||(Z[5]=k("div",{class:"business-peak-stage"},[k("i")],-1)),k("span",null,Ue(Oe(He.name)),1)],4))),128))],2)):a.value==="line"?(Ee(),De("div",PUe,[k("div",{class:"business-line-chart",onMousemove:vt,onMouseleave:Z[1]||(Z[1]=He=>q.value=null)},[(Ee(),De("svg",RUe,[Z[6]||(Z[6]=k("path",{class:"business-line-grid",d:"M0 18H320M0 44H320M0 70H320"},null,-1)),k("polyline",{class:"business-line-area",points:Re.value},null,8,LUe),k("polyline",{class:"business-line-stroke",points:w2.value},null,8,IUe),(Ee(!0),De(gt,null,Mt(R2.value,(He,z2)=>(Ee(),De("circle",{key:z2,cx:He.x,cy:He.y,r:"3",class:Ht(["business-line-dot",{"is-active":z2===z.value}])},null,10,DUe))),128)),(Ee(!0),De(gt,null,Mt(R2.value,(He,z2)=>(Ee(),De("circle",{key:`hit-${z2}`,cx:He.x,cy:He.y,r:"13",class:"business-line-hit",onMouseenter:kt=>q.value=z2},null,40,NUe))),128))])),k("div",{class:"business-line-hover-zones",style:J3(x2.value)},[(Ee(!0),De(gt,null,Mt(R2.value,(He,z2)=>(Ee(),De("i",{key:`zone-${z2}`,onMouseenter:kt=>q.value=z2},null,40,kUe))),128))],4),Q2.value?(Ee(),De("div",{key:0,class:"business-line-tooltip",style:J3(Y2.value)},[k("span",null,Ue(Q2.value.item.name),1),k("strong",null,[J1(Ue(m2(Q2.value.item)),1),Q2.value.item.unit?(Ee(),De("em",FUe,Ue(Q2.value.item.unit),1)):Tt("",!0)])],4)):Tt("",!0)],32),k("div",{class:"business-line-labels",style:J3(x2.value)},[(Ee(!0),De(gt,null,Mt(k2.value,He=>(Ee(),De("span",{key:He.key||He.name},Ue(Oe(He.name)),1))),128))],4)])):a.value==="heat"?(Ee(),De("div",{key:15,class:Ht(["business-heat",{"is-dense":v.value.length>6}])},[(Ee(!0),De(gt,null,Mt(v.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:"business-heat-cell",style:J3(Qe(He,z2))},[Z[7]||(Z[7]=k("i",null,null,-1)),k("span",null,Ue(He.name),1),k("strong",null,[J1(Ue(m2(He)),1),He.unit?(Ee(),De("em",OUe,Ue(He.unit),1)):Tt("",!0)])],4))),128))],2)):a.value==="split"?(Ee(),De("div",{key:16,class:Ht(["business-split",{"is-dense":d.value.length>10}])},[k("div",BUe,[(Ee(!0),De(gt,null,Mt(d.value,(He,z2)=>(Ee(),De("i",{key:He.key||He.name,style:J3({width:`${Nt(He)}%`,background:a3(z2)})},null,4))),128))]),k("div",zUe,[(Ee(!0),De(gt,null,Mt(d.value,(He,z2)=>(Ee(),De("div",{key:He.key||He.name,class:"business-split-row"},[k("span",null,[k("i",{style:J3({background:a3(z2)})},null,4),J1(Ue(He.name),1)]),k("strong",null,Ue(m2(He))+Ue(He.unit),1)]))),128))])],2)):(Ee(),K0(cj,{key:17,rows:o.value,compact:""},null,8,["rows"])):(Ee(),De("div",Mze,"暂无业务统计数据"))],2)}}},hj="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD0SURBVHgB7dEBDcAgEACxZ/5NTgkg40JaC137mgesf57wDSlCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTEHKbcBaYZyb5dAAAAAElFTkSuQmCC",UUe=""+new URL("pathLine2-d4134d4b-balabala-1782986963996.png",import.meta.url).href,GUe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADzSURBVHgB7dEBDcAwDMCw9vw5f4MRTTYF73/NC3bnBd+QIiRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSMwBQCIExogIrTYAAAAASUVORK5CYII=",VUe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMxSURBVHgB7dZBDcJQFADBB/kCuHAgAQckHAA3Tf27aIXsjIjNXv7bfgyQdB0gSwAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgbN2erwGaHACECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCErfv7M0CTA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYCw9fj+BmhyABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABB2Amb1BS2MWc5zAAAAAElFTkSuQmCC",HUe=""+new URL("ocean-bg-8c848b8f-balabala-1782986963996.png",import.meta.url).href,WUe=""+new URL("rotationBorder1-2ce8e0ef-balabala-1782986963996.png",import.meta.url).href,jUe=""+new URL("rotationBorder2-7496b968-balabala-1782986963996.png",import.meta.url).href,$Ue=""+new URL("chinaBlurLine-1a2cbc0f-balabala-1782986963996.png",import.meta.url).href,YUe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA0ESURBVHgB7Z3/VRu7E8XFO+9/kgpIKoAOEioAKoBUAFSAqSCkAkwFQAVABUAFhAoIFfjt3bzl+TlGtndG0oz2fs6ZY/L94R2v9u6MpJG0FkKYBELIXP4KhJB3oUAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIfweSlA8fPoRPnz6Fra2t9u+NjY23/wyfsBg/f/58+/z161d4fn5++/vh4aH9JOlYC9wXSw089F+/fg2bm5tvosBnSjqhwO7u7lrx4G+iAwUiAA//7u5uKwh8LooGuehEcn19HW5vb9+iEFkdCmRFECF2dnZaQaSODlpAIBDKxcVF+0lWY0Jb3s7OziaeeXp6mpyfn08aobu67wXNlbPFDQ9WLUAsBwcHkyYSumqDzObKWRP28vIyqQ1EFQrlT+M8SA+Qy9dGE0lCE1HCzc1N288i/+FK0RaspjTrPRqhsJ/y21w5a8ZqTLPmMfTUa3ApFuYqMEQrpcY0ax5d6tUIxc2wtjauFC2xw8PDtze/NH0YQpo1SzfqVbINC5grZ3sZUgTk1NPg39LvHUqaNcv9/f2Q0i5Xzq5s01FjlibVEn33eDyeDJmTkxMz7ZzQXDm7tM2LGrMgZWj6JL2vMcQ0axbc45qjSZW1WBjHv7y8XKp48PT0NIxGo9AHfD86sKsUKaL6FrVRXcn66+vruyXr+N719fW3znFXMm8N/Jbj4+NwdXUVasSNmpcxhP1VQPoleQO+l2bhe/F2Re0WOrbNwy2KVp3hOxC5kB7iu3ENK32hSlMuV85GH5wmakz6gLH+vtfFgwo6QRwdHbViyP37cU1ce1FamRq0gcaLwJC5cnauIQKgPyGh77Bv90a39lBAuIhuJaIL2qKifokrZ/8wvDml4gAaw75WDSle7shSkUhcOfs/gzg035C1T4LhgUVU0XihLAPapkS6qWyunH2z/f199fQB31dZ/jzXIBS8DHIIBfcUbeXp/syYK2dbww1PRTPk6+peSA0d+xxCcSwSV84mFQfAG8/T/dAwRJQcS4mdisSPs9p9jllqnxVeZMtUH0hw2ifx4SgaL5U48L1INbzci9SWsn/iUCT2ndSY53iPoUeN2D1PFU2cDQHbdhCjSqnEwaix2DBokQJpoWhGs+1g3/KRRY3D9dbLm9Zk7CxoWwe/365zqxYeLsPAFvuoGe4Z7p02DgocbTrWFQFqglnkIUwEprQUi8SMR3N7TqXolA9tAjClafdLpEsOEps9p7RHTygOfdMWieFiUVsOafc7KI50pi0So6OKdpxBmNWE4khvmiIxmmrZcUZzlITiyGeaIjGYatlwBOUNWmCkxcrvGoppjm4ZS7XKO6E5aoUoZOE3Dc0wfK6VARhbl1PeCWyaoEFla6HdmeaL7vv371Z+V/mbqkUFyzvdm+Zmekbas6wDWtGDnXI7hj6EBkY67OUurvW2qXlHEq+mNdlroAzF901kv8OmaS1wM/DyK3NhregxwPMq3JhWqlU4ipS5sEb0YGpl3ypo5/wX1Rq5Ympl37TaulQUKXJG4cnJSZDy48ePdtt9Yhu0EY6YkKJxrmRf3L1R2DH3ZZgVl3bYS82uZ48gGofUM3r4AgcEoc0k4OCgptMfSpBVkdJSBPz/c/tMk5tGFClUZ5fvYhpDuxzW9WsaZfG5O+tZU6z9/f0gAWnV7e1tID45Ozt79zzGZSnRWc+mRml6JTkqjWbDpFGkwObieS6kkV5x5Mq/oS8iJWealS3FkqZXSK04cuUfpFjSNDl3mpVFidL0ip3zeky6KWDmkcz0F5FODg7xUJuaTWPId2NjI4uvWVIs6eTg1dVVIPWANOv6+jpI2NvbCznIIpCdnZ0gQXoziT3G43GQsLm5GXKwFn6HkqQ0OWNo0qzQl7W1tUDqAqUjeC7w2QdEoY8fP4bUJI8gW1tbInFwYrBO8IA/PDyEvkBYTT8kpCa5QCTiAEyv6kXattvb2yE1yQUi7aAzgtSLtG2RnaQmuUAknSlpGCa2QdtKarOk2ckyZOmD9IXiqB9JG+cYyUoqEHSk+o5SgMfHx0DqRtLGiCCS52sZkgpEmiOy/1E/0iwhdZqVPIJIkK4dIPaRCiR1Rz2pQKTqZh+kfqQV2q5TLIlAED0YQepH2s6DTbG49mM4SNp6fX09pCSpQCSlAIwew0EiENcRRAIjyHB4fX0NfRlsH0Ry04gvJNmCa4FIYIo1HCy3tVmBEGIBCoSQCBQIKc5oNGpXjfaxz58/h5RQIIREoEAIiWBWIKmH7whZhqQCkQzfpS4hIGQZzAokx5YuhCwiqUCen59DX3Js6ULIIsxGkBwL8glZRFKBSAoOpevZCdHAbAQBjCKkNEkFYn29MSGLMJtiAQqElCZ5iiURSa4t7kk5rKfRf4fEIM3qexMYQern/v6+/cRzcnd31+6FJt2SVJukR1idnZ1NJDQiyXLUFi2/oW3foxHO5PLycnJ0dJT1VNtZyxJBJGB3eO6PVSexnf+RPcCmT7TFc4AIg+1K8Xeu5yKpAqUHeN7c3BR7e9DSGtpWQo7sIssRbC8vL6KjtrAohmvU66N5xkNfMPiTerEUyFLuLjlJCMJiZ70+plOnPuTa+T+LQKS54v7+fiB1IT35OOfR4MnzOGk/BIfO4/D5HL7S8hjaVAKeqRx+ZokgyBelhYvSsw6JHQ4ODsT7NufaeTPbklvpiaaHh4eB1IE0Zc59sFKWUIXJHilMs/ybNN0GmScO890cad45Go1y3hhaAjs/P59IeHp6yupv1l1NLi4uggSkWVxE5RfU5En7krnTq6wCkQ7NQRxHR0eB+ATikFbvSl+yfcgaslCEJoFDvn4N6ZGn9AqWfeM46WgWo4hPkB5Lo8fp6WkoQVZF4u0v7awzivgyjFxJowfINTk4bdkjCIoOpXkko4gvNKLHeDwudixfdlVqzImUeqPQVjONeY/CbV3kouK1AIBrRexbBe1c5sJaUQRLMgvePFrEDg4OJhqUXHIbCl5Y5e2CDjtTLXum1TE3kCWUu7hWFGGqZc80Xn6gcPSAFb242o1kqmXHTk5OJhqgbsvA7ynrQGzrl1Ux8LYZvGm2p5HUubgD4r2zOpDzsj9SzrT6HcBI9ICVd0Jjdr0DtV6cZS9j0jq7DmMvOhNOtH0ILQy9fQZj0nUe02B42NBvM+OIWocdoKNo6bfVbFqdcoAoZOz32XEGYVUr1QIUSXrTFAcw2Ic05YxqqgUoknSmLQ6jS6rNOaSaagGKRN+0xWF4steeU9qpFuBEop5pi8P48LxJp9TKUADrtXQMw+eao1Udu7u7ln+3WcfanFQDHsIjN7xgtOY5pnGwlZNp59pThiQYG1N3aYjmWjPk06BtHfx+2w4irPdtHG40J7fDw8NJCtCmTioezDvYq8aH4pDfc+3RxA5nNXMunGz7EcuObKH40cvvsmiIGtqjiB0OB0zcOLqUSJzktSYtZdToxOFwwMSVs9F1zlqVvBjnH9KwMO6Z9tzGPJwOmLhytrV5ItHKa7sHBd9X++RiJ4xU6VQF4oC5cvbNcMO7htUSx7zBAPwb16opouQUBq7hfKjdlbP/M+SzmiMisVliXAf/vWeh5BRGJ44KJmldOZvMVtkBEB1ZL29FiAKlHCk73/PAC6WSCgZXziazPmUUeEMiqlirJYIoMPsN33JFi2kq2xvAlbNJTGsHQLyl0bEv8ebENXFt+FBCFB0YZq9pT4C1f/8YNM0bT7z7+CzYxf7h4aG1u7u7t3/jUwJ2toevjSDC5uZm+wmzcDQdzu8YjUahJgYvkKbTmrVRIRBs4z/9+fr6Ovd/u76+3j74nShgFs9oxG/Y29vLfn5gDgYtEDxwiB6kPxDFt2/fip3dkZrsB+hYAtGD9ANR4/j4OGxvb1crjg7zHaUUprlF5tDAQMCASnFcOatmKRYA1Q5Gxwa4tt+Vsyqmud59KGAJwUC3dHXlrJohRRiPxxMSB+nUwNf0u3JW3RBNcpdheAD3hMdJBAqkMwrlNxTGH+bK2eQ2xNQLnW/0MSiMuebK2WwGoaBGq+bRLhRoYnMLnqcSNVfOFjG8WRFVahALo8VqxmLFFWkerNBElvDlyxf1AsdUYKb7+vo6XF1dVVkvlRIKRAAEAsHs7Oy0FbVWBIMyEIjh8fGx/ay9FCQlFIginUggmq4UPXX1LR5+lNE/Pz+3n4gQFIQeFEhiIJBOKF3JOsrYu2izKOogGnSl8SiL70rkIYbub5IOCoSQCIMudydkERQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRAS4R+Py6dcyrAs4QAAAABJRU5ErkJggg==",qUe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA4qSURBVHgB7Z3xVdvMEsX15bz/k1RAOoBUQDrAHUAHpgOgAkgF2BWAKwBXEKggUEGcCvx09d76M/LMalfalXal+zvnHhPFllbWXu3MrCT/UxTFtiCEiHwqCCEqNAghFmgQQizQIIRYoEEIsfCfgkThy5cvlU5OTopv375Vfx8dHe2WY9n++yQ2m00l8Pb2tnt9f3+vlr+8vFSvWGbeR8LyT8Eyb2dgAuj4+Ljq+MYUfQKTQDDNer3e/U26QYN4YkaFs7OznTG0EWBozCgDrVar3YhD3KFBHPjx40dxenpavUI58/z8XI0weIWIHRpEAUbAKHFxcRF8hDC5xX6OoWFyFFuu0haEYTDJcrmkWRRokD1CmcLE/0imTW5gEmmTbLcFuY1J+s3fyH1M6NelzTTLIZM3CDrWfD4vZrNZqw5mOtbr62v1OmRFyZhkv2jQdp9ubm52+zN1tlNUOVpsHx4etn/+/Nn68OvXr+3d3d22NNS27JDJ7yfaiLaizWi7L/f399V3lfp+RlRWje0sHOynpyfnDgID4f2Xl5dZGKJJZUi2LUPI6uTgA74DfC6nfQ2krBrbWji4v3//duoMxhT4zBhMoQn75msWfIcTM0pWjfWWjzHGNFL4yowsrmHYhIySVWOd5RpKYbRAfD7xOPuDysR+u1gsti7AKMhxcto/T2XV2EbhTOhqjOvr60mOFj7fpesIjGQe789p/xyVVWNVoaNfXV01Hkgc7KmGUV3kahQcg5F9t1k1VhTCo6aDN8HkMopcjDKy7zqrxn4QzlRNFRiGUnHkYpSRhF1ZNXYnl1EDyTeNEU/o/PiORz6aZNXYqsPf3t5aDwqS9JEmjEnKpTCCY5bpySqfxuJA2EYNhFNIwHPapzGpKezC/2V44sqjofP53HrdFHIRhlPDCwawzaFkeBJLv5G2kApf+MgnqrJU02iCcnAm+5Ju4zAi2GJb5hppqyk3wWUtGRy/NBvWlG+gdJtq26mPwrHSyCAvSa9RuBZIyzewnNdN5SdbWR7LccwTbXtaDTo/P1fNkcmQTClqigpw7BNsdzqNQaVKA5URVqnyF46hbXIxwQpXGg2xXWjIfGN8suUliVW4hm+EzRyc+BuvMjHJsA2wmYNX345fOMaJm2S4jWs5BytV0xKOtVaYSSCCGGbDqFho5ki45EdFkq20P3B1a5gvg+agpH4hmWTgftHvBm21cIZVFPqAdvIcaA6sv43ZzMGEnDLSEnf0nQHmwvrbmPbMJc5zUHUhOZfAxY89t6WfDWnlXJqD0qTNk+D2hx7bEX8jWjkXlxz0uKNUhtJuvuqx/Bt3A8g7pMrEQPEklZnQR6TQvMekPe7OSUl5pvcmUwNp4JNsvJVrt8qynEv5Siv/9pCPxFmxVqpjUk61lZa0Rz7hhl+pNt8xQImOGpmke9wjh1rhV4pHTko7wbyD6iotH8FjnyJtM+wKtdCKM+VUKOExTz2GWuFWplWtMKLE+KKo6Up6aHmkUCvcyqTZcoZWVAzBCFKoFaEIFGZFMAFDK6pPaddrBT4hh1mRlJizakXFllTVCtzvuq9ES5oYWlGxpUUuARP27iuREnNeiEj1Jek5WwFHkW4rkMq6TMypPqUl7IHy324rkEYPJuZU35IuQ0HfDLDu9h/WRo8+vhCK2pc2BxfgZN3+wxw9qJQU6YSdVGMoqpOkk3bHila7D0r1Z44e1NCSJg87VrT8PyTdvMLRg0pBWkWr7SjyqWjB+fn5wbKbm5uCkKHZbDbFz58/D5bP5/OiLV6O0mYuOe9BpSJpFMG/21zp6z2ClEPVwbLFYlG8vb0VhKQARpHlcvlhWWmOosxPijZ4OUqqEvCB01RqkvJkPD6oxboG2ShFRZdUafVN1r1CLCk5lxIiQlJgtVodLJvNZoUvzm6Swism51Sq0pJ1z/W4vVEKrx4fHwf/EijKpq5hlnOIJYVXpUEKQlKmXs0CvmGWk5Ok8IoPn6ZSV9cwy2kEwdxHmWt8WIYECPVmQlIGffTl5eXDMsyJSPN5Es4GqcPwiuSCVM1yNQhoHGakRIfVKyoXIcyq43GFr//KOTlI5SbpR3hccujGEOvk5ORg2Xq9LgjJCanPSn27TqNBpJLY8/NzQUhOSH3WpdzbaJDj42OnjRGSMlKflfq2hDUGq9eQmX9Quao+l+cyH2IdQRCjoWa8T72mTEgu1PMQ9O2mPMRqkPrkIHh9fS0IyRHp5N7JINJkCkcQkitSHtLJIFISQ4OQXJFuC5eipH28QiyYg9dfkVxB362bpKmSpRoECUzdIDQHyZ16BIQ+Xi9E7aMahAk6GSPv7+8Hyz5//qy+3zqC1OGjfUjuSH34+/fv6vtVg0jZPQ1Ccsc3UfcaQZiDkNyRDBIsBymn6gtCckY6yR8dHanvVw0ifUhKcAjJCWkE+fr1q/p+56eaMLwiY6Hel1tVsTgHQsZKvS+3StKbVkpIrvj0ZecqFg1CxkK9L7eqYtk+RMiYaGUQQggNQogVGoQQCzQIIRZoEEIsqAZhWZdMBVtfdzYIy75kLPjM8TmHWDQIGQs+fVk1SP2qRxqEjIV6X7bdCMgQi0yOICPI379/D5bZbiwhJAekK3dbjSC+N5YQkgOSQWw3AnqVeZueQkdI6vg+a8FrBKFBSO5Ifdj2OF3VINKHaBCSO1IfDjJRqK2ckJyQnsXbuszr+6BfQlJHmgNpPZPu+6BfQlJG+kWppqeFWg0ilb8YZpFckR6n2/RAdq8RBEi/OkVIDkgGafrFZm+DMA8hueKboBusP4Nb/xlo/JRu02coKkXhJ8yD/gw0YKJOxoCUoLv83majQaQkhnkIyQ2pz7r8YlqjQR4fH502RkjKSH1W6tsS1hisHJq2dRDLNX2OolJSPf8A6NsOn21e+dPTU9uVU9TgKvPmg/6LPu3yWad70tfr9cGyi4uLgpAckMIrqU9LOBlEmkw5OzsrCMkBqa82TRDu4zTU1OdD8G+GWVTqknJon7k858f+LJfLD/9GXXk2mxWEpIzUR31GD+DkpDKOa53oUNRQenh4OOi36Mse63DfGMMsKidJ1SvfS6W8Hl4thVmsZpFUkapXvuEVcHYTwywqJ0mTg57hFTTIRikqqk5OTjqHV5D374OsVquDZaxmkdSYz+cHy25uboo2eDkKSTmTdSplSck5wHLfdXmPIHgCRD3RQbJ+eXlZEJICUnK+WCyc7h6U8HaVlKxzFKFSEXKNgHlyu0ZIV/iWo8ggXwhFGZXTDgf9smOltd0HpVGE96tTQ0saPWCaDutMqjEU1VrS6BHgpB2+QcxFqCEU6YQdvlHX19e9fSkUBUUaPaDwDWNFi+pTmN+IGO53b6BU0bq9ve3tC6KmLfS1SKMH1H0lUkULtJm5pCgfabPms9ks1DbCNFQaRXilLxVbUr+7v78PuY0wK9KczMlDKpak/DdC5BKuwahe1WHCTsWQlphHqKCGWxmMIDUa9wXH+qKoaQphVJ1Ic3BhG64l7AGTJmri0kKrSFdxhN8B6UkSCLVY1aK6SgutAifm+wq/Ui3UYlWL6iqpaoW+FvHkG2dHtFDr6uoq1o5QIxf6To+hlVG8Hbq7uxN3iA95oHylnXDRxyJvO97KtVCL+QjlIy3v6OnK8fg7V3/IA8Djgzg/QjUpgZNs/J3EbLpExMoDNRJJFyKCHq/Q6GUjaj7CpJ3SpCXlPd9v1NuGxBJdz2cDKhNp5hjg9zH725gWT4Lz8/O+d5xKVOgLEpHnOzT1ujE1aQcs/1JaOXcgc0C9b7B6sLBkEizD/w3RJmp4af0CDNgvBtmoesEZTTJN2cwx8KOkBtuwWv7FF8VwazrCsdbMkUABZ9CNizdZGZi4j19aQg4SeXzU4A2wmoTzJOPVfD5P3RxQEo2gSSYmbZ4jMXNAyTREzUkALjngtVv5C8dQul3WkOCkcVKNUatbYMBaOBVAOHbSb1wCJOmJPvg8uQZVJT9txh3LWeHKT7ZKVeKl/SQbpd4DYGBeko9s+UYGUUGyDbMOyQAXPzLkSvv4aReomuOXQV6ZdOMq2SpcOAPxR3vSEx7zpIVUoIdbZUMpi0ZW1Q3bF47KCEeT4YURQXrskwHHMLPbG7JpaGNewtFkWGHiz3YSy7QKmVVjqzOUdneigblJv2rKNQCOWabzWFk1dieMFLbRBGBykUaJJ3R47Z7x/VEj87J8Vo39IHT+xWLReIAYdoUVjIHSrS2cAshFRnD1Q1aNFeUymtAo/X7XI5rMzaqxqnCmspWDaZRu3y0qT03GADgGI7tmLqvGNsol7No3CnMUXa6hFBhxYSSrxjoLE1UuZzyAORTe5vuvEB4h+XY1xsivjcuqsd5yiZkNuKxlqqOKCaOayrWGCYWqWTW2tXyMAlCBwWfGfA8K9g37CFO4jBYTM4ZRVo3tLNMhfDBmGcPIsj9SuJoCTCCU0pRVY4MJB9slma+DMAzxOXKcHEYXtBFtRZttV0ZLwEA4OUz5/pt//v/HZClHhaLsAEVZran+9uXl5aXS6+vr7u/NZlMMQWmG3f4cHx9Xr233abVaFXd3d4PtSypM3iD7oEOVoVRxenraqmMZjEnw+v7+Xry9vVX/xivUBbTLGAE6OjqqXssqXKc2o33L5bJ4fHwsnp+fC/I/aBCFUGaRQGfclw2YYV+h20FT2KFBHIBZIJgFrzkDI6zX6+qVpmiGBvEEZ3GEM2XiW8X5+Dv0mT0UJsxDfoRRYsj8KFdokACY+N8kxyY/6BPkNibnMcUCiHSDBomESaTNiINXk1AD82rLLfZzFJPoQzCBSfrNqMCRIQ40CCEWPhWEEBUahBALNAghFmgQQizQIIRY+C9cNXNlJEjHoQAAAABJRU5ErkJggg==",XUe=""+new URL("huiguang-3c5dfda5-balabala-1782986963996.png",import.meta.url).href,KUe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFPSURBVHgB7ddhbcMwEAXglyEoBEPoGARCIYTBymBhMAgrhDFoIZTBIATC21lxtGhdYieOW7u6T7L6x5HvfPXJBpRSSj0jko2MGqWTJL7tQMkkgSN/tSiRBG5cNQadjB1KI0GfeOsDJXHVmFKjFBLseSaRM0rg2q3PAbn7c8Cn2Dn5HnwJ7p3hWuSI/QHvFiRi5xrkhv+3W59P5ITz7danRi4YdsCn5NGOGdZufRo8kgSwi6zGIPoe9oI4bzIM4tkkjngExh3wqaoYrBRTkRbbslW5bzuWnTswnRorVFiB/dPVII1rVVWvWGjxX4t9qzRIZy9rpD34vH2+zrnIaN03dtj3+zXw27TPYvrvUxcXsMH8ZjRu7pw0z2JOt9sh+MU7GJCUwdZG1ejcwg03LP8oqa9RItvew9i325P7Tf6yY3/1GdbcQymllFJKKaUy9gO4eI9ILG1riwAAAABJRU5ErkJggg==",ZUe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA5BSURBVHgB7VxbjxxHFT516Znd9a537axDAhGJkQKCkEDCA5ECT0TwgBTxjgQviN/DD+BP8IgEAolAECQkcYAkCiEX2TGxY+9lrt1dF75T1T1T055ZO9u9thPtkdo909Ndl6/P+c6lak10KqdyKqdyKqdyKqdyKp8rEXQXxXvfqj8hhKe7JHcFmASQ+iwb31c+isM1vt8VgE4EmCVAiCWHpNv3b6kCgyJAPvl+oiB1DkwDlBSEWktU9VkN4mextBkchsgADb8bAaqBqcFKQeocoE6BqUBJgakBYQA0fwYYGhe04LnMQaLqM890NnEgYfi7jWe/Q1RQBKgGaaZF9y0wCSj1MdMMPoZEvQoQhaMnIlAMjhwRZXU7ZzBZzLBkBHoApQ9QxkQ5rjkAVJ6NwJU0B8hWjwYu6gqgToBpgCKTQ0ND+ls4TwAILqzhmjIF9YFIJjLqGWNkRlrjHMbiNRmttfUlFT4jC8QKHw82q5K1aBNAfQIgducalGpPJ+C0BibhlBQQtY8XDlXRUIv+Oj7n0Apwxrotyz70fksL8QVM4DFJ/itSyl3n3QU8l0shPoYNXYN6vEfSf2i8+hgojTeybAoNKgFwbqMGWbRZVPyDpucmdj8BU2uKqo4+E6uK5rPGgODcd8acxaC/pIT4IQD4Dp7+GkWTWjawgSX/qrP+RU/6j47MUGo9xs1jzH5SaQ+Dk+9G06oJuhOTagVMw4QCueLIBlFbAig4ztiSNpww2xjp93pK/gQ3f4Mqsr0D2Xfk/2Qd/UYo9TZMbKwyGlSmlQP0KWvOhag1M3DuF2CCpsDuM5BlvwbFFrTppNmEhpzD8QK05Od4qr/YhB9D98GvlFfX+FnQCG0s9EXifev9rwrn3si03gcCQXtwnmxGrjG0CE4rk9LUTlKy1ZhxjzlFxMmdAWwbNoLyPED5Ge7pJ+8iN879s/T+iifogfdlbFFkuKOfKXUBbT2FK+tVR4+Bl35BUv46n5pLPaUJrO3AOQ4eL9jSuUUibiXHBqYZyO1BY+BBJIPCnKJKOlMKs9MT8hlo0C8pgBK9hvH+KgD5O0Y/AmAMpAAgvbptXB8XxrxrhPior9QzAPnL1U9PAJyfukxcF4pK9GPZvVdo8KkmYVV9PrZ0pTF4f5SpGJ+wtvQttEU5t6u0ZvOpzcJbTx/kzv0DQJSsVYrduFwYhwefWCvl2Dk3nRrz0prWEog/wv3BOJ4GOM/mxtyASZXQFIOHjYxzYXBrrRGURMafVtoAMyNeuOYM2qKg8/1RCcIFKF7YLQz8OUH+sfoBjPjj3NrXMbtSk+gDkAwj34L27cAw1gIqgqZw0wMZIl85dYLGubOv9qRUMMmH0aOGlr0grHitAGyZWisRDzEwFqRvt+KLstSSP7vQGKFiNMu5j4Y9aWeCNzqnpHhSxIGGN2e9ewvvfD8Tcg3g9IHUdiYl4hixW0XCfCPCf3+zZFgk3cQ9hXHihpXiTeX9rogctNtT4slCZmxSQ3zna5xqqJs4zlcEzOZ+XAKWdAxJg7pPYpgvNypwQrgvEMl78RB+v1iDxwSLGX7E90rpGYQ1EOzjigO95AXFCYoLGcnH8XkTGtfXirR17ipAnVbtQSvFU6EvY/ommnDoXyX5VxvpooGQ70zjW8uECWeYidwGoz5Q3wcsP8S1AmaGuWICQu7I4EiWqryQwZvJXWgda4JgQkbKfbP6XUENdgDWjmWyL0vOteoX00ma0xqY81WWzG8azKcsmV5pEeWSY8JN3fM07Vd6fvTIIE9BzXYpguAUa533B/EnRpfWBKkNyxorBCeiQXPP3nkR7EhpA0zoeD8CE8wFLkIZC3+kmoMS9T9sg+xe/R0Mu26XOYJBhfcWtjFfD1Q0W19/nsXLvZitpyWQTy2tNaYWuE0JWxdaqdgmkhuMKp+RkaB1fC5BqFPcYOC2wdVHulMuMxzSvKxAbF58jm2Kwjrr7OrJt5pbZ8Cw6GSiFkEpVD9wQnx14lHmIAAGb0FD3Pg/XN5b1RbI+gD3XMa9AzxXyDjW3QoFCzd+TWpZqgS4LqUzYKrIk8uR0TUTDXFcTX5XCNMetSQ4JwJobs+QfwfXD/wtbXl+9m00ycAi6hc5nr0oYj2HJffWvmeRX5tQwlnUPN8oex5H2sQxoWOUGz1GziGnR+7igYwNma+Xk9L5d7US36ToTuGuxFfBoFcAznV2TajByJAWkHhICnk+NuoPEO98BE25ga97IKMxnnkQsc63aV7puzqy/oNeBi8HhA1CH8R9s3rM+XlqcM+SSPafnC6DcUNdlo/SB27xo9z6NxGxfhcuq851HkH8/5x37veOxCFMDRZBe6i7oBi1YBFTHwhXMOYbPaW+j/OD/AP3gQz7JTj0EfKLXPV0juKX4zEwqW92kECyHMuUmtFkVcBGlWEBnALF22Hh3e/weTh7FkEfPMnzoOgv4hsAEOAbcb1xHPJvuPc8gP0RHnu07gptvTE07m0EfTmi3rxETVRlWT6NfZqDOTD3zJRYHNS2hHvJKkCs8pqTw7GT9hCE2x8bxyXKP6xr9QOKNRYO0y/qSMavw6DewrXcxcoBhWRQyj6g/xY07euUvDzUYz4cGfdnBDgDmNcQGjfJ0B+vIvSq1YTtpIrXRtpyTHgrLsYmPDgD4y7G5STTvV6OyQ2FpLNQnUvgghy5wo9FVV+BSGjN0zgxB3GhalI1ywS7wcVyP3fFzFtXpsb9tvT2ak+oMZc+RQSU67+8ksDhb1r/vaeFqlAU2o5aozCaQmc0QcgineccBt7Ei5uoM7pxWb5ls0yuh1ovPSxiiYCFCXW7OqjGoq4bwBxHAPblnNwlFL2uKKn2MP1DAD21pZ6srYfab86xURlBae2RWFqTL1Wqi3S/HMZClQY4OYqxeYbyQXxtXpZey2lp37VK7K8L+WwmBRfC60W2W6K0anb78Gx/HVt7Cea1D4I5yBwNwS8ARk+he9OKz8LSyk6jtEkt5NjA8HxZqgFYZNmqH1WeuSZHgWpisVbkwY2Ih9e1sKjsi3FpXOYkvbIhpIX7fkJEMJfJ4cTavxSOPoA5jrW3I8G5qgJ/eT9CrxMfTWnKmrpVOQBasnx7HOnElHCIagmD3Q+TJXMOyrKaHPQHwdihBwNnLhSnHGotcuLcK8i2N+GhLi5pdzq19kVU+i4rL/axsjBADoF4hph0cdYTB5PF4KdAorCx75Lma9utpQtTSt8QxxIc01gedGDBEiUI4SWnhEqixBkIUYODrMTkXzuj9RYXnpLGfOncf6EGl4VQN+CZJkB6Aq1hUAZcfkDFbpJFTWETMnauLTUorRfdWgFTmVOdAQcXiVim5FnCS3AqTOCbTJbaO22gOWKAKhzqB24DvFMUXlxDqfOdNaU4OYx84/313Ps3OD9CYmWElANcO0RBeYLqdwEtHKlqyRbtT7fisktqQvcuwEulejOztWOA4vYqzeElVdYcqH2OItwY5TXwArhC0iEmfAMZxKTEehEmPgsA8eD7OFD+9Pu4Z8imI8ErYK4JYiQ2HwaFib5wi6uPna5dd5pdU7X74FxceOfAa7Ygz2+5NH6qlCp5kQ0aMQbrInbxe7CHf1XPj7HA9F5PAAwpJxyryJAwBmAZ4GlNuCD6opjveqj7bg1ILV0Bk3qB2fYMX3kp8EGOIhbMIIA0RqcFNGGEcvdIWD8syf2HeAHO+3/DxK7hHngg5EreF9AWeCLPMQrvfGDXXG5EbrG7i9rSqbQm3xUbDoNpbcUBl1NeoQxLHDp4D6fsFBWmPiLfEuYyRu32GkB52Tp/GcWoIY4c5oZcSTF/QFsAhI4RLQONYNJvL2pI89xauvBKTUk5JxxrMcEMOxJM1KACJoW37gb86pFxC8QmfxNxiWCMp+DRwTTIvr3iNlSuI6e49blLTvfndS4nAcwy4TfN0WBYNsU/TgcHhqURKQrOnxD4DOKdvJ6EQJkk4kAVch9XmWV/kVNmbdMJyEkAc2QRWoc4R1XaJHh1YUNy8CsJlsdkzCuSIWYc189wMlWsjmYlNcBps9CWjPP40uCXIwHpc+C2GIShnBK4X2MGD1QrAlj94CRUhoU137Gn+TRykqa0LC8M3krF4Iz3tPBCGu924J0QO/UzfE3OkuuVuxbEku91sNlaunLXTW2pd0GkYip3ywXzmSZUN4WVxOrrmbQt3Bt2NPSW50Bdx2Ez6UpjavsXjWu1pLEGEyi74b6PxaY9Jl8fNYiFl0puyLAHL65eZvMdU7Si/c7lpEypNhtVfTZVX+xduNLG4Ix43ZlNRQRemVX2uCJ3gN9GHAyuzZd2Q0xEtwLe7LcT6SqJZFmmNSw1QIFferHSFvbbYfL7GW9JAwgUTYifZyCQlNOA86wyApkn7ddVuqb4dFzUUk4qwGMQ6n0xdUDGEwrmkkUPFVbPTASCi+S8HJvxhkMTF/F5IW1SzE2vCUiagnQuJ+mVal6p44zaVdfgTItoRky8rBWijJoispgghj11vcVai0naWhXXdCJdApOaUpoW1N4k/RsAFtebAxW8SxLI8W+1ptXE29wBnhJ65yC1BuY2PJMCRLQIGk803U0epHerRjQBadZ106Mz6dqUmuWH5m9NYDQlkXDjXtO41y05p/fHRjr665OTIl+WELkm1+u9t7WH4nOR3Nt8nuhWs2mCMqscUsdy7B1HTVmRN6XbviQt7iRPry1LH9K/Q6onv4xXZuB3+cdcJxngsaRuO6TMtGhuR4X0Ta1Yde1EpDONYVlSzWtqTn2N6PZ/LLqKWJeaz339N5EsK8BhaYJzJ30vK10u9UD3PTC1rKgFC1oEhSezzJyaGuKXXI8Nflb+vHiZHKFFy3KrWx5vXvjM/kH6Kjn9LwzuUG4H1N0Eoin/B14zT4gj8tU+AAAAAElFTkSuQmCC",JUe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAnCSURBVHgB7d3tURtXGwbgR563AN4OtgToADrAFYRUYKjASgV2KrBTAUkF0AHuQOrATgUn53iXQBxE9LHfuq6ZM/J4BKPhz3Pv2fusIgAAAAAAAAAAAAAAgGlYBDALKaVP+eU8pu2PxWJxHUDnBACYiRwATvLLQ15VTNM6r7McAL4F0Lk3AcxCMzgvoh6kU7PO68Lwh/7YAYCZyTsBp1HvBExJufL/EkBv7ADAzDSD9Cam48bwB4CW5J2AZRq/ZQAA7coD9nMar9sABqMDADOW6pMBd3mdxrisQ+MfBqUDADPWDNi3Ma6TAevQ+IfB2QGAI5DqkwFlJ+AkhvX9qKLSHwD0JIeAqzQ8T/kDgL6lYU8GLAMAGEYa5mTAxwAAhpOH8UleD6k/q1SfRgAAhpQHctUM5j6GfxUAwDjkwXya19fUna+GPwCMUOr2ZMBlAADjlLo5GbAMAGDcUrsnAzT+AWAqUjsnAx4CAJiOdPjJgFVS+gOA6WlCwD4nAzT+AWDK8iC/TLvT+AeAqUu7nQxYBgAwD3mwf9xi+Gv8A8Dc5AF/98rw1/gHgDlK9RcHrV4Y/uX/qgAA5in9+2SA4Q8AxyAP/PNnAeA8AIDjkAf/tcY/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGFSSpdlBQAwOXmGn+T1KXaVf+gq1d4HADAZeXZXea3Kil09CwDFhwAARi/P7NNm+Kc2AkDxUBJFAACjlOf0ux9mdysB4PsvEgIAYHzKLfuX5nbsakMAKL4qBwLAODyW/TbM7FYDwCPlQAAYUKrLfg+vzOpOAkChHAgAA0j/LPvtHADexGGuk3IgAPQqz92f8stdXlXs6dAAUJyWDyEEAED3mlvwn/M6iQO0EQCKKuoQcB4AQOvS05P9ltGCtgJAUUUdApQDAaBFzS572fK/ipa0GQAeLYUAAGhHKftFPfxPo0VdBICihIDbsl0RAMBe2ij7bdJVACjKw4KcEACAPbRV9tukywBQVFH3AlrdtgCAOWuz7LdJ1wGgqKLeCbgOAGCjxyf7RYtlv036CACPPigHAsDLnjX9e9k17zMAFMqBAPCDVH/JXrnyr6InfQeAQjkQABrN7vhtdFT222SIAFBUoRwIwJFrvlRvGQMYKgAUVSgHAnCEmsf6lvv9g83AIQPAI+VAAI5Gcwu83O8/jwGNIQAUyoEAzF7zpXm9lv02GUsAKJQDAZitPN/eRX3MbxQXu2MKAMW3AIB5+n+MyJgCwG95XSwWi3UAwMzk+bbMLxcxkovdsQSAX/If5iovOwAAzFaec/f55SyvdQxs6ABQBv7PTSoCgNlrdrrLTsCXGNCQAWAd9Zb/5wCAI1JCQF5lJ+DXGMhQAWAd9fAfNP0AwJDyHCwPAvolBjBEAPg9rzNlPwD4uxz4NnouB/YdAErZ762yHwA8yXPx+8Vx9FgO7DMA3Cj7AcDL+i4H9hEAytV+ud//MQCAjfosB3YdANZR3++/DwBgK32UA7sMAPeh7AcAe+m6HNhVAPg1f/ALZT8A2F+X5cAuAsBNs3UBABzoWTlwHS1qMwAo+wFAB5oQ0Go5sK0AsA5lPwDoTLmt3mY5sI0AcB/KfgDQi6YceBMHOjQAKPsBQM+a2+3dPDkwpXSVXqfoBwADyrO4ymv1yqxebfrZfXYAlP0AYASelQN/j7Zs2AFYlbQRAMCo5Pm83GUH4LVf9GMAeDD8AWC8yu35tgOA7X4AmIA8s0/TUy/goACwDABgMp6VA/cKAJclBAQAMDl5hp/k9SEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6XUqrKCgDgOOTBf5LXKq+H8u8AAOYvD/1P6cmnAADmLQ/89+nf3gcAME950L9Lm/0UAMC85AF/ml73tbwnAIB5aBr/q/TfynuqAACmLT01/rdV3utkAABMWR7mt2l3twEATFN6ufG/LScDAGBq0uuN/21dBwAwDem/G/+7cDIAAMYubd/431Y5HlgFADBOaffG/7ZWyckAABintF/jf1t3AQCMSzqs8b+tDwEAjENPw/+RkwEAMLQ8kM9T/84DGJVFAEcj1e38cm++in59y+tssVisAxgFAQCOxIDD/9E66hDwLYDBvQngWJTn9VcxnKr5DMAICABwBFLdxh/DE/rOk5MBANC91G/jf1tOBsDAdABgxvKgvYzxbrtfLBaL+wAGIQDATKW69PeQ11gfyetkAAxIBwBmKD01/sf8PP7y2e6SLw6CQdgBgBnKQ7Vc+U/la3m/5F2AswB6ZQcAZiaNp/G/rdPkZAAA7C+Ns/G/rfcB9MYtAJiJNO7G/7au8u2A3wLo3P8CmJOfY9r+DAAAAAAAAAAAAAAAAOCZvwCgkvxAcNS/iwAAAABJRU5ErkJggg==",QUe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAD/CAMAAABb2Q/2AAAAsVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+3mHKcAAAAO3RSTlMABQoPExgdISgxJTYsQDtTRUr+9vpOWXJdaWVhgIx2om2n6oiWmYTKr5G68J22eqvBfeHZ5c++1LPdxUM4ZWUAAAZvSURBVGjerdrZdpswFAXQmnk0EMB4Ajwbz2Mc1///Yb0SuLg1km66mtfsdRBXRyIP+fH205IURZZa7794h7KqKZKEkrqFCgVpOSpOKoaJljZWOm1VwUnTRUv7/0sbvc62r2FlgJOy0o6x0kVL30NJiUh0ZkfHZuLXGWj/PTNArzPu68hMr4/MVEGqMlJaWNkDKWGukM4IK70uTipq3NVBthASMoWb1CJS644cIoG2OJDIQUYlm4KDH7mWxDJoKfX+3iSyooxEMqRSyhVlJFJp9YY2SGZoiyGZkMh+YtPRN4eWDqQCckSl1CoxIxKkQTMVSWp+pyeUQY4WbSqftuG9S+kkqWupitwkgdZSe5VSo5SeMgOpiaWqmfuVb1BZUUbkU6pyHdokJSJPs0AoZcjU7WRBMhWgQjnkSqmW2dB3ailx5HAW1FJqzJRLOd3Gjo6R7cVTym+y9aecbr1KCjLdae7hMt0090yupBAq/yLld1lHapa7WMVEElqNnimnr1JiS3+Rxqal8aVCZZp3+FJ+ylnRBalSyperA1IGM7ScFwNbIJXvSSOY3/u2QaTSIKVXudp2uVIupW7Eq3kHLetMmSu3RQ8p8/XoVQJtGieVu55A0lfXHY9m6iqhQpkg5fhNtljySKSGkPNxry2SKpGdec6VciUtIvtIOV5nbQekypLKUx4ep1rKHNk9PPZIWdRSEcmTi5KDYjl0HatZSn/IO1Kag/E9E0m1kkVSSlUg++Mic02UvD8WCKkbZn/3ORVLrZSLb0kdIdf06brGkspT9tZf6T9KiSmL25Aj5Ve5Bml8VyqNUn2u8zP1cfJ2mQmlRuToeJnRp2v/TdpE+jaVKk86IH8iZfJAy/UjRcrdkUhLIC0iH1j5uMwDnFyec7TcBrYjkDrIrJI6RuYYaYK8YqRh2vvP61gkNSpPy69t0EbI9pDK+iDx5GUbU6kJ5OIyKQKc/LnZ4TKnZ5R0zHZ63qxxmatreItdkbQM011NwqPHk1WVcJIWxJ2dJzuQDl5aukjOr5O159oYOYmWT6ny5Sb6xMktSkI9fSp9jMw30VcHpCGW4QeRpki2vyM34bITtHmSFqSSPkaO8TKMvujT4WZiSZ3IYBx+XLoI6WKljZVOJQccqbxJhyeNSv4cBLRMfBnDPD8HMVIuqTQwmRjpx7BHF5GkVYoP8EZ9DyG9UkJBOdJ6le3/JB2okleA7OFlWVBmQ0C6IDfhF5UOS2oaLUjnXkqXJ+kWUTnCyTA6j7qwSSxJBw+yew8/zgmVhqaxpe91d7XUEXIQ+zRTZUnYokEpq41XBPKaVZKb2aeSbDxb0hukAzK8iCSMs5J72CS+hMzeGuSJSJsnYfAgP64nsp0Mqfwhh1Q6fDkqZTcWy1v4McHIAZWLpC5Tk4QqeThJNzP5jgzPC6iISPaTI8gpXxovstx4kYR1iiUUJDtGONnLHiDTPU/qpdx/W9KCsiQUuTuicnXqieWJyqFIxiCXYXRd0YIypUPlcBmGRMJHli+TWvIzB8liCeucLWiV2dKv5Ga2SKjUm6RGpFfJOZRJIPsZXk5LmdF7kSVJ6fbTz0p6bGnWcgu140lakPQzjCbbVCxPIEOBtF5kXhaUKeH2HA1XX7DOfLXvYeWJL6EgtewEzVKt5GJG5LiqcrM0XuWsklqjpKWjMgQ5EshsSjMPAul7IOdfUbQ5zKHKIC2uvEThBGTCl1C6LchNQWTMlynIj7DYTkG6PLmv5YAre/vVU2YCeVrlP4nMsfKep3A8GFIH2flL2oxMUuThbFzJfZ8ldQfkiMpos8tXWDkm0ufJxfwpT0J5OMM61wcoPUiDKRMiP4ic8WU3mW6pvEFBhbI4RyALjLxSOYfSs2VM5P0KTz9CQblykKQ5kdHxLpIZkVEUVrLNkC6VOyIf9y3IgCHNV7mD0nPlfjXekXUudzkcJLb0+iDXE5ycVXItkqdapgypUNk7zQ63/y2Hv+U4zVjSKmVxm8A8P29COS+Ov+WgUcog/VouK+nwJawTl0nlmitdpNRrWc8TLW2OpJOvukROh6pITZ33+q8STodpNUgFZFz2k3SenCPPfZctkOT+pKeDyCO5Q0CW/3vyJu3qZgC5Jrdi7Dram6xGT+9kuEOie135Ur4dOfLlOoOsLjCr/rzXki6U/nVBvkf0c1Qu809Z9w4+8GeYUnrqkWm+LvMXnJRTlwruvBIAAAAASUVORK5CYII=",eGe=""+new URL("focus_bg-b6803e2d-balabala-1782986963996.png",import.meta.url).href,tGe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMA3yDvvxBAn3CAYFCQzzCgj6+a/gWFAAAIxklEQVR42uzBgQAAAACAoP2pF6kCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGB27gRJcRiGAqi8O2sH3f+wM1XM1lOAHZwQKfnvBF3tjyxbBgAAAAAAAAAAAAAAAAAAAAAAAAAAAACAvfBPxkz+lro8xEBwMfyd87dumAkugx9xfhkswRXwUyb1CMH58UvTEgm0CjOVcYlLA4FCMTkOVQFABs4nLo5/ylTEdUxCP6BGyJ7vPBVxNd8TKBA6x3+EugCgDJxGTPyvnkp4HURAtOj5O18RAETgLKLn/7lQDgAicA7W8wN9OQCIwBmEhR/y5QAgAieQHT/mwj4BYJMJpIgTPxVLAXibwdRYhrDwC6kmANgHFBsc/7V+D+AWBpeDRws3LojFAKAI6BUdl4zFAKAIaBUWLnOFADRb8JL0INZwjUiv+MkYw00MtoFDZMdVRqpgY8zdbXL8Doc7gQMsXMnRCvPQ3RyvthB8lp24WqSV5v7L8DoTtoGPmg3XG+kNc+/RCIg1OK7nB3pP6G9cz+Hh6MdkruZzoAZ2TR3oCD6i40pujNTMfhkkQJSlemAbaBOhN0iAHImr+Egbqo1AIthZalj+tgggARIkrjBF2kFvkIDDpUMvZnuDBBwrcVkXaDe2QwKO1HGRt7QrO2EwcJhOxFiuNzgNHqM7/ON/Zz2XYDy8g0HCx7/2Khpzgc1ZJ2gcZ00pjPjOwKf/5WOgDwqjoDhewiRt18382kSwoUXet7Rmg8Pgx2SJ9dYaYUXpvAoNoA90iOD5FYc2YCPB8CtfdJgvfsXgGyPbWOReu3VoA/bXy13/UgLwQ8MbsEbw+hcS4LAJtEui17+QgBtBo174+hN1GArsyBqZ/f+/vrAJNGjYADwJ4XES2Mus4pgdDE4COzHS7n8fswZToV1kfk7UxH3GTGAP1qj5t2b0gTtI/NRIwozoAzdnNTSANY2goG5FlaTqX2qd/POqLlZNA3CXcRTcVtL2ifLa/mDZrIobgH9ZhxLwkQIg9td5M0rAdqzGqzWPErCZpOkE8JvFd8a3YmW/AVj/NkDcxYVwSVsHeBecytwKZNR1gHcZE4F9H4IZEm5SdXkllldaAIgiToIbsGoLAJHHSbBdUlsAiKKaCbZgRm8BeF4CHEGlQXEBIIrYA1olzQWAyOA2sJHTXACIMq4C2gxq3oE9FpyGh8yCJe0ldOQHfFaS3+M5fWPAQhvofI/Vrxb1X6V5rH6DUXcL+L0NdCli9VeatO8AROHX6o9Y/fXsGX5swzO7ERc/b+n17wBEA1b/bQlvqq7NqD8DQAt7hh0A3jfgGvXaRtWDQGjmlc8BoJFDC3BpM1qAaxvwnu7auhPcA8MP9u40yU0ghgIw6s2AWcy7/2EzNUmq8iMzeNwNSNb7jgCNpFYvVNh4ss63xEu3fYusAV3LrAF9K+ZuhaGm7pwE+NZzEuDbwMsVfFt5rNK3jQPAt2R+RzgdcSagIyeEA8A34X4w37gh0DkOAOe4FOAcTwXR+0ic0vjGpoZzbGo4xwHgHLtazrGp4RybGr4FNjV8K9zg6lvhTQe+cYezc9zh7NzGc66+zdzh7FvkjaeuLTzo7NudfSDfeNuRc7ztyLnIWaBrvPHSuZGTAN9unAT4JvivqSMXFrAGdG20//NDqpG4I9S1bP0H6OqUh6ns+RZ/v9SjPKKxCdTGEqCVXB7R3EJ6AM8ENJHLLVrcTDeCXYB6eUzRaBMtgdvBGrx9s48vgAsBVXKfTAfQGyeBh7RRo5EyMAv7wFVyhOkzFSMzQKUVphupwgxQqcByFT2CGaBWhOHtFGI7fqkwGQ4BI5gBqhXYDQECrgPUS2ZDwGh47CrSw+pyioArwQ3kCJu9gBEsAZsYYLIdGIQlYBsZgMHDdQNYAjayWnyUAQwArRQYLKdni6NWqwRzdeDIAHBKCIhKP6cgDAAtJWtJIDEANFVgKwn0YABoK5lKAgEMAOc9UlHXDsrCANDchC89OmUeDADt5WimDOjxJWEAqHusFm5bWmBmqNoy2/iwggBcBjxCgYVCMIuVSGXPBOjvByWwAjxKjvof7g02EpVNdwC69wYM+MCNYIfZlI+AAfpjlGk5qh4BA5gADlageAQMYAI43KR3BAz4xBthDpUFSvPsDTDRqLAuRHwn5e4SOeGDqTVrq3pAX60VBADXAM4x4VuydKdbBCwAzjND2efW4zezhxiNCYLvPXJ3ovyAxqz0zpao6JEHAVgAnuwOaEkDfcQfvA7oRD32pNCdICR80Nucel8D9sjYHa6PfP9XmbBrDt2hQgLf/3VW7BtCd5g8YN/a0WFW4MI80Ee+/6utuGwIlBl8/9dbcc0QKAl8/yqsuGAIlAS+fy0GPEfG3DWRe8FfXABSYMCT5Bba/LPuE+d/agx4WhpDq5/X6GlF0z3iedvLqeCe8LzI/v+JguAn0rjUdx717UnxLMz4GbmN4eUN6de3oGn/89wXt+G+dD8QwfJfrz7iFXHehr6U0HCQRZZ/lwiCKiIyp2dygKK9SPSvPKFafQ6YeP7jOqOgUm0OiOp/YvPewoo6lfOAjZ//j+kKAntn09n8Ua8uCHTfW5n9DVgEL3u9FzQz++vRy0EDIEfO/U14OQ90OxKjvxEvDoGXfgOT2Pr5xc6d4zAIAwEUDdjsm+D+h02X1pZFgcN7V5ivGRr8REUJFLxRFR3/pypI4JMSjb8m7VESQP4NGIz/6dqjuTWA7voJk0+/KsyxIIDkDYij8Vcjfw1k/pYeVru/MssR7gmgu4LLX6ecBj5pu9Vfr37dEgHw79r5aATwcu2yxiCAl9uX6YxBAC/X9cs4DWfcmkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMC3PTgkAAAAABD0/7UrbAAAAAAAAAAAAAAAAAAAAAAAAHAKGbwwCsmp53wAAAAASUVORK5CYII=",nGe=""+new URL("focus_move_bg-cf41417a-balabala-1782986963996.png",import.meta.url).href,bA=new Map;class Eu{constructor(e={}){this.options=y2({includeChinaMap:!1},e),this.ready=null,this.init()}init(){const e=this.getSharedKey(),t=iGe(e,()=>this.createAssetList());this.instance=t.instance,this.ready=t.ready}getSharedKey(){return this.options.includeChinaMap?"hongyuan-map-with-china":"hongyuan-map"}createAssetList(){let e=[{type:"Texture",name:"flyline",path:hj},{type:"Texture",name:"pathLine",path:hj},{type:"Texture",name:"pathLine2",path:GUe},{type:"Texture",name:"pathLine3",path:UUe},{type:"File",name:"china",path:Tg($W)},{type:"File",name:"mapJson",path:Tg(_Be)},{type:"File",name:"mapStroke",path:Tg($W)},{type:"Texture",name:"huiguang",path:XUe},{type:"Texture",name:"rotationBorder1",path:WUe},{type:"Texture",name:"rotationBorder2",path:jUe},{type:"Texture",name:"guangquan1",path:YUe},{type:"Texture",name:"guangquan2",path:qUe},{type:"Texture",name:"chinaBlurLine",path:$Ue},{type:"Texture",name:"ocean",path:HUe},{type:"Texture",name:"side",path:VUe},{type:"Texture",name:"arrow",path:KUe},{type:"Texture",name:"point",path:ZUe},{type:"Texture",name:"focusArrows",path:JUe},{type:"Texture",name:"focusBar",path:QUe},{type:"Texture",name:"focusBg",path:eGe},{type:"Texture",name:"focusMidQuan",path:tGe},{type:"Texture",name:"focusMoveBg",path:nGe}];return this.options.includeChinaMap&&e.push({type:"File",name:"chinaMap",path:Tg(SBe)}),e}}function iGe(n,e){if(bA.has(n))return bA.get(n);const t=new vOe({cloneTextures:!0});t.addLoader(Dh,"FileLoader");const i=t.loadAll(e()),r={instance:t,ready:i};return bA.set(n,r),r}const rGe="/jsyApi",aGe=["邛溪镇","刷经寺镇","安曲镇","龙日镇","江茸乡","查尔玛乡","瓦切镇","阿木乡","麦洼乡","色地镇"];function oGe(n){return/^https?:\/\//.test(n)?n:`${rGe}${n.startsWith("/")?n:`/${n}`}`}function sGe(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"视频监控接口请求失败");throw t.code=n==null?void 0:n.code,t}return D3(n)}function Vo(n,e,t=""){for(const i of e)if((n==null?void 0:n[i])!==void 0&&(n==null?void 0:n[i])!==null&&(n==null?void 0:n[i])!=="")return n[i];return t}function lGe(n=""){const e=String(n);return aGe.find(i=>e.includes(i.replace(/[镇乡]$/,"")))||"红原县"}function uGe(n=""){const e=String(n);return e.includes("养殖")?"养殖基地":e.includes("饲草")?"饲草基地":e.includes("种草")||e.includes("牧草")?"牧草基地":e.includes("虫情")?"虫情监测":e.includes("机场")?"机场周边":"重点点位"}function cGe(n,e){const t=Vo(n,["hdPlayUrl","playUrl","url"]),i=String(t).match(/\/(\d+)(?:\.hd)?\.live/i);return i?i[1].padStart(2,"0"):String(e+1).padStart(2,"0")}function dGe(){return new Date().toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1})}function hGe(n,e,t,i){const r=Vo(n,["name","title","deviceName"],`视频监控${e+1}`),a=Vo(n,["hdPlayUrl","hd_play_url","url"]),o=Vo(n,["playUrl","play_url"],a),s=Vo(n,["token","accessToken","access_token"]),l=!!(s&&(a||o)),u=t?Math.round(i/t*100):0;return{key:Vo(n,["id","number","deviceSerial"],`${r}-${e}`),title:r,town:lGe(r),scene:uGe(r),device:Vo(n,["number","deviceSerial","serialNumber"],`CAM-${String(e+1).padStart(3,"0")}`),channel:cGe(n,e),cameraCount:t,status:l?"直播中":"离线",onlineRate:u,updateTime:dGe(),operator:l?"萤石云 · 在线预览":"监控参数待同步",progress:l?100:0,image:Vo(n,["img","image","cover","snapshot"]),playUrl:o,hdPlayUrl:a,token:s,source:n}}function fGe(){return Z2(this,arguments,function*(n={}){const e=yield bo(oGe("/api/home/monitorings"),{params:n,timeout:18e3}).then(sGe),t=Array.isArray(e)?e:(e==null?void 0:e.rows)||(e==null?void 0:e.list)||[],i=t.filter(r=>Vo(r,["token","accessToken","access_token"])&&Vo(r,["hdPlayUrl","playUrl","url"])).length;return t.map((r,a)=>hGe(r,a,t.length,i))})}const pGe="/openApi",mGe=PBe.map(Q7);function $2e(n){return/^https?:\/\//.test(n)?n:`${pGe}${n.startsWith("/")?n:`/${n}`}`}function d5(n,e){return bo($2e(n),{method:"POST",body:e?JSON.stringify(e):void 0,headers:{"Content-Type":"application/json"}})}function F1(n,e){return bo($2e(n),{params:e})}function i3(n,e){for(const t of e)if((n==null?void 0:n[t])!==void 0&&(n==null?void 0:n[t])!==null&&(n==null?void 0:n[t])!=="")return n[t]}function vr(n){if(n==null||n==="")return;const e=Number(n);return Number.isNaN(e)?void 0:e}function M3(n){const e=vr(n);if(e!==void 0)return Number.isInteger(e)?e:Number(e.toFixed(2))}function hr(n,e){const t=vr(n),i=vr(e);if(!(t===void 0||i===void 0||i===0))return t/i*100}function Eg(n,e,t="占比"){var r;const i=M3((r=i3(n,["areaPercent","area_percent","percent"]))!=null?r:hr(i3(n,["areaWanMu","value"]),e));return i===void 0?"":`${t} ${i}%`}function No(n,e=""){const t=M3(i3(n,["areaPercent","area_percent","percent"]));return t===void 0?"":`${e}${t}%`}function gGe(n,e=0){const t=i3(n,["name","title","label","zh","itemName","item_name"])||`指标${e+1}`,i=M3(i3(n,["value","num","count","area","acreage","total"])),r=i3(n,["unit","unitName","unit_name"])||"";return{key:i3(n,["id","key","code"])||`${t}-${e}`,name:t,value:i,unit:r,source:n}}function vGe(n){return(Array.isArray(n)?n:(n==null?void 0:n.rows)||(n==null?void 0:n.list)||[]).map(gGe).filter(t=>t.name)}function yGe(n){const e=(n==null?void 0:n.core)||(n==null?void 0:n.summary)||n||{},t=((n==null?void 0:n.typeDistribution)||(n==null?void 0:n.typeStats)||[])[0]||{},i=((n==null?void 0:n.ecologicalPosition)||[])[0]||{};return[{key:"woodland-area",name:"林地总面积",value:M3(i3(e,["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"])),unit:"万亩"},{key:"woodland-main-type-rate",name:`${i3(t,["name"])||"主导类型"}占比`,value:M3(i3(t,["areaPercent","area_percent","percent"])),unit:"%"},{key:"woodland-ecology-area",name:"生态重点区面积",value:M3(i3(i,["areaWanMu","value"])),unit:"万亩"}]}function _Ge(n){const e=(n==null?void 0:n.overview)||(n==null?void 0:n.summary)||n||{};return[{key:"grassland-total-area",name:"草地总面积",value:M3(i3(e,["totalAreaWanMu","total_area_wan_mu","totalArea","total_area","areaWanMu"])),unit:i3(e,["areaUnit","area_unit"])||"万亩"},{key:"basic-grassland-area",name:"基本草原",value:M3(i3(e,["basicAreaWanMu","basic_area_wan_mu","basicArea","basic_area"])),unit:i3(e,["areaUnit","area_unit"])||"万亩"},{key:"general-grassland-area",name:"一般草原",value:M3(i3(e,["generalAreaWanMu","general_area_wan_mu","generalArea","general_area"])),unit:i3(e,["areaUnit","area_unit"])||"万亩"}]}function L8(n,e){const r=({woodland:[{key:"woodland-area",name:"林地总面积",unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",unit:"%"}],grassland:[{key:"grassland-area",name:"草地总面积",unit:"万亩"},{key:"basic-grassland",name:"基本草原",unit:"万亩"},{key:"general-grassland",name:"一般草原",unit:"万亩"}],wetland:[{key:"wetland-area",name:"湿地面积",unit:"万亩"},{key:"wetland-yield",name:"湿地生产力",unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",unit:"万亩"}]}[e]||[]).map((a,o)=>{var s,l;return V2(y2(y2({},a),n[o]||{}),{name:((s=n[o])==null?void 0:s.name)||a.name,unit:((l=n[o])==null?void 0:l.unit)||a.unit})});return r.length?r:n}function SGe(n){return Z2(this,null,function*(){let e;for(const t of n)try{return yield t()}catch(i){e=i}throw e||new Error("No request configured")})}function a0(n=[],e={}){const{nameKeys:t=["name","townName","typeName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","basicAreaWanMu"],unit:r="万亩",max:a=Number.POSITIVE_INFINITY,extra:o}=e,s=n.map((l,u)=>{const c=M3(i3(l,i)),d={key:i3(l,["key","code","townCode"])||`${i3(l,t)||u}-${u}`,name:i3(l,t)||`第${u+1}项`,value:c,unit:r,percent:M3(i3(l,["percent","areaPercent","basicRatio","generalRatio"])),source:l};return o?V2(y2({},d),{extra:o(l)}):d}).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0));return Number.isFinite(a)?s.slice(0,a):s}function Pg(n=[],e={}){const{nameKeys:t=["name"],valueKeys:i=["value"],unit:r,max:a=Number.POSITIVE_INFINITY,extra:o}=e;return a0(n,{nameKeys:t,valueKeys:i,unit:r,max:a,extra:o})}function bGe(n=[],e={}){const{nameKeys:t=["grassMinType","name"],valueKeys:i=["acreage"],unit:r="万亩",max:a=Number.POSITIVE_INFINITY}=e,o=n.map((s,l)=>{const u=i3(s,i),c=M3(r==="万亩"?vr(u)/1e4:u),d=i3(s,t)||`第${l+1}项`;return{key:i3(s,["key","code"])||`${d}-${l}`,name:d,value:c,unit:r,source:s}}).filter(s=>Number(s.value)>0).sort((s,l)=>(Number(l.value)||0)-(Number(s.value)||0));return Number.isFinite(a)?o.slice(0,a):o}function n1(n,e,t,i="rank",r={}){return y2({key:n,title:e,type:i,rows:t||[]},r)}function $y(n=[],e=[],t={}){const{unit:i="万吨",max:r=Number.POSITIVE_INFINITY,showMuYieldExtra:a=!0}=t,o=new Map(e.map(s=>[s.areaName,s]));return a0(n,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:i,max:r,extra:s=>{const l=o.get(s.areaName),u=M3(i3(l,["yield","value"])),c=i3(l,["unit"])||"斤";return a&&u!==void 0?`亩产 ${u} ${c}`:""}})}function Q7(n){return String(n||"").replace(/\s+/g,"").trim()}function Bh(n=[]){const e=new Map(mGe.map((t,i)=>[t,i]));return[...n].sort((t,i)=>{const r=e.get(Q7(t==null?void 0:t.name)),a=e.get(Q7(i==null?void 0:i.name));return r!==void 0&&a!==void 0?r-a:r!==void 0?-1:a!==void 0?1:0})}function Y2e(n){const e=String(n||"");return{用于畜牧业生产的人工草地:"人工草地","对调节气候、涵养水源、保持水土、防风固沙具有特殊作用的草原":"生态调节草原",国家重点保护野生动植物生存环境的草原:"野生动植物栖息草原","草原科研、教学实验基地":"科研教学草原"}[e]||e}function Yy(n){return Y2e(n).replace(/\s+/g,"").replace(/类$/,"")}function qy(n){const e=String(n||""),t=e.match(/level-([1-8])/);if(t)return t[1];const i=e.match(/([1-8])\s*级/);if(i)return i[1];if(/^[1-8]$/.test(e.trim()))return e.trim();const a=Object.entries({一:"1",二:"2",三:"3",四:"4",五:"5",六:"6",七:"7",八:"8"}).find(([o])=>e.includes(`${o}级`));return(a==null?void 0:a[1])||""}function q2e(n){return qy(n==null?void 0:n.key)||qy(n==null?void 0:n.name)}function gS(n=[],e={}){const{nameKeys:t=["name","townName","areaName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=e;return n.map((a,o)=>{const s=Q7(i3(a,t)),l=M3(i3(a,i));return!s||l===void 0?null:{key:i3(a,["key","code","townCode"])||`${s}-${o}`,name:s,value:l,unit:i3(a,["unit"])||r,source:a}}).filter(Boolean).sort((a,o)=>(Number(o.value)||0)-(Number(a.value)||0))}function hE(n=[],e={}){const{nameKeys:t=["townName","name","areaName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=e,a=new Map;return n.forEach(o=>{const s=Q7(i3(o,t)),l=vr(i3(o,i));if(!s||l===void 0)return;const u=a.get(s)||{key:i3(o,["townCode","code"])||s,name:s,value:0,unit:i3(o,["unit"])||r,source:[]};u.value+=l,u.source.push(o),a.set(s,u)}),Array.from(a.values()).map(o=>V2(y2({},o),{value:M3(o.value)})).sort((o,s)=>(Number(s.value)||0)-(Number(o.value)||0))}function is({topicKey:n,layerKey:e,title:t,unit:i="万亩",rows:r=[],note:a="",metricLabel:o=""}){const s=r.filter(l=>(l==null?void 0:l.name)&&l.value!==void 0).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0)).map((l,u)=>V2(y2({},l),{unit:l.unit||i,rank:u+1}));return{status:s.length?"success":"empty",topicKey:n,layerKey:e,title:t,unit:i,metricLabel:o,note:a,rows:s}}function Rg(o){return Z2(this,arguments,function*({topicKey:n,layerKey:e,layerName:t,title:i,cqlFilter:r="",unit:a="万亩"}){const s=yield Oh(t,{propertyName:["xiang","acreage"],cqlFilter:r,maxFeatures:2e5}),l=new Map;return((s==null?void 0:s.features)||[]).forEach(u=>{const c=u.properties||{},d=String(c.xiang||""),h=Sf(d),f=vr(c.acreage);if(!h||f===void 0)return;const p=l.get(h)||{key:d,name:h,value:0,unit:a};p.value+=f/1e4,l.set(h,p)}),is({topicKey:n,layerKey:e,title:i,unit:a,rows:Array.from(l.values()).map(u=>V2(y2({},u),{value:M3(u.value)})),note:"按 GeoServer 图斑属性汇总到乡镇"})})}function xGe(n,e,t="林地面积排行"){return Z2(this,null,function*(){const i=D3(yield d5("/woodland/distribution"));return is({topicKey:n,layerKey:e,title:t,unit:"万亩",rows:gS((i==null?void 0:i.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],unit:"万亩"})})})}function fj(n,e,t,i){return Z2(this,null,function*(){const r=D3(yield F1("/basic_grassland/overview"));return is({topicKey:n,layerKey:e,title:i,unit:"万亩",rows:gS((r==null?void 0:r.townStats)||[],{nameKeys:["name"],valueKeys:[t],unit:"万亩"})})})}function wGe(n={},e=[],t=[]){const i=i3(n,t);if(i)return Q7(i);const r=e.map(o=>i3(n,[o])).find(o=>o!==void 0),a=String(r||"").slice(0,9);return Sf(a)}function TGe(n,e,t,i){return Z2(this,null,function*(){const r=(i==null?void 0:i.rankingTownCodeKeys)||(t==null?void 0:t.rankingTownCodeKeys)||["area_code","xiang","town_code"],a=(i==null?void 0:i.rankingTownNameKeys)||(t==null?void 0:t.rankingTownNameKeys)||["town_name","area_name","xiang_name"],o=(i==null?void 0:i.rankingAreaKeys)||(t==null?void 0:t.rankingAreaKeys)||["acreage","area_mu","area"],s=(i==null?void 0:i.rankingPropertyName)||[...r,...a,...o],l=yield Oh(t.layerName,{propertyName:s,cqlFilter:i.cqlFilter,maxFeatures:2e5,timeout:25e3}),u=new Map;return((l==null?void 0:l.features)||[]).forEach(c=>{const d=c.properties||{},h=wGe(d,r,a),f=vr(i3(d,o));if(!h||f===void 0)return;const p=u.get(h)||{key:h,name:h,value:0,unit:"万亩"};p.value+=f/1e4,u.set(h,p)}),is({topicKey:n,layerKey:e,title:`${i.name}面积排行`,unit:"万亩",metricLabel:i.name,rows:Array.from(u.values()).map(c=>V2(y2({},c),{value:M3(c.value),metricLabel:i.name})),note:"按选中图例过滤 GeoServer 图斑并汇总到乡镇"})})}function AGe(n,e,t){return Z2(this,null,function*(){const i=D3(yield F1("/basic_grassland/overview"));return is({topicKey:n,layerKey:e,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:gS((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:[t.rankingValueKey],unit:"万亩"}).map(r=>V2(y2({},r),{metricLabel:t.name}))})})}function vS(n,e,t,i,r={}){const a=j4(i||[],r).map(o=>V2(y2({},o),{metricLabel:t.name}));return is({topicKey:n,layerKey:e,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:a})}function CGe(n,e,t){return Z2(this,null,function*(){const i=q2e(t);if(!i)return null;const r=D3(yield F1("/grassland_grassland_level/distribution"));return vS(n,e,t,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:a=>qy(i3(a,["level","name"]))===i})})}function MGe(n,e,t){return Z2(this,null,function*(){const i=Yy(t.name);if(!i)return null;const[r,a]=yield Promise.all([i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_grass_type/distribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_grass_type/minTypeAreaDistribution"))}))]);return vS(n,e,t,[...r||[],...a||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:o=>{const s=i3(o,["grassMinType","grass_min_type","grassType","grass_type","name"]);return Yy(s)===i}})})}function EGe(n,e,t){return Z2(this,null,function*(){const i=q2e(t);if(!i)return null;const r=D3(yield F1("/wetland_grassland_level/distribution"));return vS(n,e,t,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:a=>qy(i3(a,["level","name"]))===i})})}function PGe(n,e,t){return Z2(this,null,function*(){const i=Yy(t.name);if(!i)return null;const[r,a]=yield Promise.all([i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_grass_type_copy/distribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_grass_type_copy/minTypeAreaDistribution"))}))]);return vS(n,e,t,[...r||[],...a||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:o=>{const s=i3(o,["grassMinType","grass_min_type","grassType","grass_type","name"]);return Yy(s)===i}})})}function RGe(n,e,t){return Z2(this,null,function*(){if(!(t!=null&&t.key))return null;const i=bf(n,e);return i?n==="grassland"&&e==="basic-grassland"&&t.rankingValueKey?AGe(n,e,t):n==="grassland"&&e==="grassland-level"?CGe(n,e,t):n==="grassland"&&e==="grassland-type"?MGe(n,e,t):n==="wetland"&&e==="wetland-level"?EGe(n,e,t):n==="wetland"&&e==="wetland-type"?PGe(n,e,t):t.cqlFilter&&i.layerName?TGe(n,e,i,t):null:null})}function Lg(n,e,t,i,r="万吨"){return Z2(this,null,function*(){const a=D3(yield F1(t)),o=i3(a==null?void 0:a[0],["unit"])||r;return is({topicKey:n,layerKey:e,title:i,unit:o,rows:gS(a||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:o})})})}function hi(n=[],e=5){return n.slice(0,e)}function Fd(n=[],e={}){var c,d;const{limit:t=5,minPercent:i=1,otherName:r="其他类型"}=e,a=n.filter(h=>(h==null?void 0:h.name)&&Number(h.value)>0).sort((h,f)=>(Number(f.value)||0)-(Number(h.value)||0)),o=a.reduce((h,f)=>h+(Number(f.value)||0),0);if(!o||a.length<=t)return a;const s=[],l=[];if(a.forEach((h,f)=>{const p=hr(h.value,o);f<t-1&&(p===void 0||p>=i)?s.push(h):l.push(h)}),!l.length)return s;const u=l.reduce((h,f)=>h+(Number(f.value)||0),0);return[...s,{key:`${r}-${l.length}`,name:r,value:M3(u),unit:((c=l[0])==null?void 0:c.unit)||((d=a[0])==null?void 0:d.unit)||"万亩",extra:`${M3(hr(u,o))}%`}]}function hl(n=[]){return n.reduce((e,t)=>e+(Number(t.value)||0),0)}function wa(n=[],e=hl(n),t=""){return n.map(i=>{const r=M3(hr(i.value,e));return V2(y2({},i),{extra:r===void 0?i.extra:`${t}${r}%`})})}function pj(n){return Array.isArray(n==null?void 0:n.rows)&&n.rows.length>0}function da(n=[],e=[],t=4){const i=[],r=new Set,a=s=>{!s||r.has(s.key)||(r.add(s.key),i.push(s))},o=[...n,...e];return o.filter(pj).forEach(a),o.filter(s=>s&&!pj(s)).forEach(a),i.slice(0,t)}function LGe(n,e,t={}){return n&&y2(V2(y2({},n),{type:e}),t)}function f0(n=[]){const e=["bar","line","donut","column","structure","heat","peak","split"],t={bar:["heat","peak","column","structure"],line:["bar","column","heat"],donut:["structure","split","bar"],column:["peak","heat","bar","line"],structure:["split","donut","bar"],heat:["bar","column","structure"],peak:["column","bar","line"],split:["structure","donut","bar"]},i=new Set;return n.map(r=>{if(!(r!=null&&r.type)||["projectTable","iconMetric","metric","spotlight","rank","table","stackColumn"].includes(r.type))return r;if(!i.has(r.type))return i.add(r.type),r;const a=(t[r.type]||e).find(o=>!i.has(o))||r.type;return i.add(a),LGe(r,a,{variant:a===r.type?r.variant:void 0})})}function mj(n=[],e={}){const{headCount:t=4,headName:i="重点区域",tailName:r="其他区域"}=e,a=n.filter(u=>(u==null?void 0:u.name)&&Number(u.value)>0);if(!a.length)return[];const o=a.slice(0,t),s=a.slice(t),l=(u,c)=>{var d,h;return{key:u,name:u,value:M3(c.reduce((f,p)=>f+(Number(p.value)||0),0)),unit:((d=c[0])==null?void 0:d.unit)||((h=a[0])==null?void 0:h.unit)||"万亩",extra:`${c.length}项`}};return[l(i,o),s.length?l(r,s):null].filter(u=>u&&Number(u.value)>0)}function b7(n,e,t){var s,l,u,c;if(!t)return n;const i={grassland:"grassland-distribution",wetland:"wetland-distribution",woodland:"woodland-distribution"}[e],r=((s=n==null?void 0:n.layerPanels)==null?void 0:s[t])||((l=n==null?void 0:n.layerPanels)==null?void 0:l[i]);if(!r)return n;const a=(u=r.leftPanels)!=null&&u.length?r.leftPanels:n.leftPanels,o=(c=r.rightPanels)!=null&&c.length?r.rightPanels:n.rightPanels;return V2(y2({},n),{activeLayerKey:t||i,leftPanels:a,rightPanels:o,left:(a==null?void 0:a[0])||n.left,right:(o==null?void 0:o[0])||n.right})}function X2e(n,e=["areaWanMu","value","acreage","areaMu"]){for(const t of e){const i=i3(n,[t]),r=vr(i);if(r===void 0)continue;const a=String(t).toLowerCase(),o=String(i3(n,["unit","areaUnit","area_unit"])||"");return a.includes("wanmu")||o==="万亩"?r:a.includes("mu")||o==="亩"?r/1e4:r}}function j4(n=[],e={}){const{nameKeys:t=["name","areaName","townName"],valueKeys:i=["areaWanMu","value","acreage","areaMu"],nameTransform:r=l=>l,filter:a,extra:o}=e,s=new Map;return n.forEach(l=>{if(a&&!a(l))return;const u=i3(l,t),c=r(u,l),d=X2e(l,i);if(!c||d===void 0)return;const h=s.get(c)||{key:i3(l,["key","code","townCode"])||c,name:c,value:0,unit:"万亩",source:[]};h.value+=d,h.source.push(l),s.set(c,h)}),Array.from(s.values()).map(l=>{const u=V2(y2({},l),{value:M3(l.value)});return o?V2(y2({},u),{extra:o(u)}):u}).filter(l=>Number(l.value)>0).sort((l,u)=>(Number(u.value)||0)-(Number(l.value)||0))}function gj(n){return String(n||"").replace(/草原/g,"湿地")}function IGe(n={},e=[]){var s;const t=(n==null?void 0:n.unit)||i3(e==null?void 0:e[0],["unit"])||"万吨",i=(s=vr(n==null?void 0:n.xc))!=null?s:hl(e),r=vr(n==null?void 0:n.edibleXc),a=i!==void 0&&r!==void 0?Math.max(i-r,0):void 0,o=e[0];return[{key:"wetland-yield-total",name:"鲜草总产",value:M3(i),unit:t,scaleValue:100},{key:"wetland-yield-edible",name:"可食鲜草",value:M3(r),unit:t,scaleValue:M3(hr(r,i))},{key:"wetland-yield-unavailable",name:"不可食鲜草",value:M3(a),unit:t,scaleValue:M3(hr(a,i))},{key:"wetland-yield-top-town",name:o!=null&&o.name?`${o.name}产量`:"最高乡镇产量",value:o==null?void 0:o.value,unit:(o==null?void 0:o.unit)||t,scaleValue:M3(hr(o==null?void 0:o.value,i))}].filter(l=>l.value!==void 0)}function K2e({yieldSummary:n,townAreaRows:e,typeRows:t,levelRows:i,yieldRows:r,minTypeRows:a,muYieldRows:o,edibleYieldRows:s,edibleMuRows:l,typeTownRows:u,levelTownRows:c,minTownRows:d}){const h=n1("wetland-town-area","湿地面积分布",Bh(e),"line",{span:1,variant:"distribution"}),f=n1("wetland-type","湿地类型结构",t,"donut",{span:1}),p=n1("wetland-level-proportion","湿地级占比",wa(i),"donut",{span:1}),g=n1("wetland-min-type","湿地优势小类",hi(a,6),"bar",{span:1}),m=n1("wetland-yield-capacity","湿地产能结构",IGe(n,r),"bar",{span:1,variant:"capacity"}),v=n1("wetland-yield","湿地生产力分布",Bh(r),"line",{span:1}),_=n1("wetland-edible-yield","可食鲜草产量",hi(s,6),"column",{span:1,variant:"slim"}),S=n1("wetland-mu-yield","湿地亩产效率",hi(o,6),"bar",{span:1}),x=n1("wetland-level","湿地级别面积",i,"column",{span:1}),A=n1("wetland-level-town","1级湿地分布",hi(c,6),"bar",{span:1,variant:"distribution"}),C=n1("wetland-type-town","湿地类型乡镇分布",hi(u,6),"bar",{span:1,variant:"distribution"}),M=n1("wetland-edible-mu","可食鲜草亩产",hi(l,6),"bar",{span:1}),I=n1("wetland-min-town","优势小类乡镇分布",hi(d,6),"bar",{span:1,variant:"distribution"}),D=f0([h,f,p,g]),E=f0([_,v,S,m]);return{leftPanels:D,rightPanels:E,left:D[0],right:E[0],layerPanels:DGe({townAreaPanel:h,typePanel:f,yieldCapacityPanel:m,yieldPanel:v,levelPanel:x,levelTownPanel:A,muYieldPanel:S,levelStructurePanel:p,typeTownPanel:C,minTypePanel:g,edibleYieldPanel:_,edibleMuPanel:M,minTownPanel:I})}}function DGe(n={}){const{townAreaPanel:e,typePanel:t,yieldCapacityPanel:i,yieldPanel:r,levelPanel:a,levelTownPanel:o,muYieldPanel:s,levelStructurePanel:l,typeTownPanel:u,minTypePanel:c,edibleYieldPanel:d,edibleMuPanel:h,minTownPanel:f}=n;return{"wetland-distribution":{leftPanels:f0([e,t,l,c].filter(Boolean)),rightPanels:f0([d,r,s,i].filter(Boolean))},"wetland-level":{leftPanels:f0([l,a,o,t].filter(Boolean)),rightPanels:f0([d,r,s,i].filter(Boolean))},"wetland-type":{leftPanels:f0([t,u,c,f].filter(Boolean)),rightPanels:f0([d,r,h,i].filter(Boolean))},"wetland-yield":{leftPanels:f0([e,t,l,c].filter(Boolean)),rightPanels:f0([d,r,s,i].filter(Boolean))}}}function NGe(n={}){const{leftPanels:e=[],rightPanels:t=[]}=n,i={leftPanels:f0(e.filter(Boolean)),rightPanels:f0(t.filter(Boolean))};return{"grassland-distribution":i,"basic-grassland":i,"grassland-level":i,"grassland-type":i,"grassland-yield":i,"grassland-health":i}}function Z2e({townRows:n=[],typeRows:e=[],scaleRows:t=[],protectionRows:i=[],ownershipRows:r=[],qualityRows:a=[],originRows:o=[],ageRows:s=[],canopyRows:l=[],forestTypeRows:u=[],manageLevelRows:c=[],regionRows:d=[],ownerRows:h=[],typeTownRows:f=[],qualityLevelRows:p=[],townConcentrationRows:g=mj(n,{headCount:4,headName:"前四乡镇",tailName:"其他乡镇"}),typeConcentrationRows:m=mj(e,{headCount:2,headName:"主要类型",tailName:"其他类型"})}){const v=n1("woodland-town","林地面积分布",Bh(n),"line",{span:1,variant:"distribution"}),_=n1("woodland-type","林地类型结构",e,"donut",{span:1}),S=n1("woodland-protection","公益林保护等级",wa(i),"structure",{span:1}),x=n1("woodland-ownership","林地权属结构",wa(r),"structure",{span:1}),A=n1("woodland-quality","优势树种面积",hi(a,6),"bar",{span:1}),C=n1("woodland-origin","林地起源结构",wa(o),"structure",{span:1}),M=n1("woodland-age","林龄组结构",hi(s,6),"column",{span:1}),I=n1("woodland-canopy","郁闭度结构",hi(l,6),"column",{span:1}),D=n1("woodland-area-scale","林地图斑规模",t,"column",{span:1}),E=n1("woodland-forest-type","森林类别结构",hi(u,6),"bar",{span:1}),L=n1("woodland-manage-level","管护等级分布",hi(c,6),"bar",{span:1}),V=n1("woodland-public-rank","公益林面积排行",hi(d,6),"bar",{span:1,variant:"distribution"}),Y=n1("woodland-owner-rank","权属单位排行",hi(h,6),"bar",{span:1}),G=n1("woodland-type-town","乡镇类型构成",hi(f,6),"bar",{span:1,variant:"distribution"}),W=n1("woodland-quality-level","林地质量等级",wa(p),"donut",{span:1}),q=n1("woodland-town-concentration","林地集中度",wa(g),"structure",{span:1}),ce=n1("woodland-type-concentration","类型集中度",wa(m),"structure",{span:1}),J=f0(da([v,_,S,x],[D,Y,E,A])),H=f0(da([A,C,M,I],[D,Y,E,V,q,ce]));return{leftPanels:J,rightPanels:H,left:J[0],right:H[0],layerPanels:kGe({townPanel:v,typePanel:_,scalePanel:D,protectionPanel:S,ownershipPanel:x,qualityPanel:A,originPanel:C,agePanel:M,canopyPanel:I,forestTypePanel:E,manageLevelPanel:L,regionPanel:V,ownerPanel:Y,typeTownPanel:G,qualityLevelPanel:W,townConcentrationPanel:q,typeConcentrationPanel:ce})}}function kGe(n={}){const{townPanel:e,typePanel:t,scalePanel:i,protectionPanel:r,ownershipPanel:a,qualityPanel:o,originPanel:s,agePanel:l,canopyPanel:u,forestTypePanel:c,manageLevelPanel:d,regionPanel:h,ownerPanel:f,typeTownPanel:p,qualityLevelPanel:g,townConcentrationPanel:m,typeConcentrationPanel:v}=n;return{"woodland-distribution":{leftPanels:f0(da([e,t,r,a],[i,c,f])),rightPanels:f0(da([o,s,l,u],[i,f,h,m,v,g]))},"woodland-protection":{leftPanels:f0(da([r,c,d,e],[t,a,i])),rightPanels:f0(da([h,o,s,a],[f,t,i]))},"woodland-type":{leftPanels:f0(da([t,e,p,i],[r,a,c])),rightPanels:f0(da([o,s,r,a],[l,u,f,v]))},"woodland-quality":{leftPanels:f0(da([o,s,l,u],[g,i,t])),rightPanels:f0(da([e,t,r,a],[c,f,i]))},"woodland-ownership":{leftPanels:f0(da([a,f,e,t],[i,r,o])),rightPanels:f0(da([r,o,s,i],[c,l,u]))}}}function FGe(n){const e=String(n||"").trim();return e.includes("未")&&e.includes("退")?"未退化":e.includes("轻")?"轻度退化":e.includes("中")?"中度退化":e.includes("重")?"重度退化":e||"未分级"}function OGe(){return Z2(this,null,function*(){const n=yield Oh("ne:t_grassland_result_caodi",{propertyName:["area_code","degradation_level","acreage"],maxFeatures:2e5,timeout:25e3}),e=new Map,t=new Map;((n==null?void 0:n.features)||[]).forEach(o=>{const s=o.properties||{},l=FGe(s.degradation_level),u=vr(s.acreage);if(!l||u===void 0)return;const c=u/1e4;if(e.set(l,(e.get(l)||0)+c),l==="未退化")return;const d=String(s.area_code||"").slice(0,9),h=Sf(d);h&&t.set(h,(t.get(h)||0)+c)});const i=["未退化","轻度退化","中度退化","重度退化","未分级"],r=Array.from(e.entries()).map(([o,s])=>({key:o,name:o,value:M3(s),unit:"万亩"})).filter(o=>Number(o.value)>0).sort((o,s)=>{const l=i.indexOf(o.name),u=i.indexOf(s.name);return l!==-1||u!==-1?(l===-1?99:l)-(u===-1?99:u):(Number(s.value)||0)-(Number(o.value)||0)}),a=Array.from(t.entries()).map(([o,s])=>({key:o,name:o,value:M3(s),unit:"万亩"})).filter(o=>Number(o.value)>0).sort((o,s)=>(Number(s.value)||0)-(Number(o.value)||0));return{levelRows:wa(r),townRows:a}})}function J2e(n=[],e={},t=[],i=[]){var o;const r=zGe(t).find(s=>s.key==="degraded-rate"),a=(o=vr(e==null?void 0:e.xc))!=null?o:hl(i);return[n[0],n[1],{key:"grassland-yield-total",name:"鲜草产量",value:M3(a),unit:(e==null?void 0:e.unit)||"万吨"},r].filter(s=>(s==null?void 0:s.value)!==void 0)}function BGe(n=[]){const e=hl(n);return n.filter(t=>t.name&&t.name!=="未退化"&&Number(t.value)>0).map(t=>V2(y2({},t),{extra:M3(hr(t.value,e))?`${M3(hr(t.value,e))}%`:""}))}function Q2e(n={},e=[]){var s;const t=(n==null?void 0:n.unit)||i3(e==null?void 0:e[0],["unit"])||"万吨",i=(s=vr(n==null?void 0:n.xc))!=null?s:hl(e),r=vr(n==null?void 0:n.edibleXc),a=i!==void 0&&r!==void 0?Math.max(i-r,0):void 0,o=e.find(l=>Number(l.value)>0);return[{key:"forage-total",name:"鲜草总产",value:M3(i),unit:t,scaleValue:100},{key:"forage-edible",name:"可食鲜草",value:M3(r),unit:t,scaleValue:M3(hr(r,i))},{key:"forage-unavailable",name:"不可食鲜草",value:M3(a),unit:t,scaleValue:M3(hr(a,i))},{key:"forage-top-town",name:o!=null&&o.name?`最高乡镇:${o.name}`:"最高乡镇产量",value:o==null?void 0:o.value,unit:(o==null?void 0:o.unit)||t,scaleValue:M3(hr(o==null?void 0:o.value,i))}].filter(l=>l.value!==void 0)}function ete(){return{levelRows:wa([{key:"none",name:"未退化",value:642.42,unit:"万亩"},{key:"light",name:"轻度退化",value:83.95,unit:"万亩"},{key:"middle",name:"中度退化",value:17.49,unit:"万亩"},{key:"heavy",name:"重度退化",value:13.09,unit:"万亩"}]),townRows:[{key:"qiongxi",name:"邛溪镇",value:14.72,unit:"万亩"},{key:"sedi",name:"色地镇",value:13.86,unit:"万亩"},{key:"anqu",name:"安曲镇",value:12.38,unit:"万亩"},{key:"wache",name:"瓦切镇",value:10.64,unit:"万亩"},{key:"chaerma",name:"查尔玛乡",value:9.53,unit:"万亩"},{key:"amu",name:"阿木乡",value:8.71,unit:"万亩"}]}}function zGe(n=[]){const e=hl(n),t=n.filter(o=>o.name&&o.name!=="未退化"),i=hl(t),r=t.filter(o=>o.name.includes("中")||o.name.includes("重")).reduce((o,s)=>o+(Number(s.value)||0),0),a=t.find(o=>o.name.includes("重"));return[{key:"degraded-total",name:"退化面积",value:M3(i),unit:"万亩",icon:"area"},{key:"degraded-rate",name:"退化率",value:M3(hr(i,e)),unit:"%",icon:"rate"},{key:"medium-heavy-area",name:"中重度",value:M3(r),unit:"万亩",icon:"risk"},{key:"heavy-area",name:"重度",value:a==null?void 0:a.value,unit:(a==null?void 0:a.unit)||"万亩",icon:"risk"}].filter(o=>o.value!==void 0)}function vj(n,e){if(n==="grassland"){const t=L8([{key:"grassland-area",name:"草地总面积",value:756.43,unit:"万亩"},{key:"basic-grassland",name:"基本草原",value:637.13,unit:"万亩"},{key:"general-grassland",name:"一般草原",value:119.31,unit:"万亩"}],n),i=a0([{name:"色地镇",value:99.09,basicAreaWanMu:66.58},{name:"邛溪镇",value:93.01,basicAreaWanMu:70.6},{name:"安曲镇",value:90.08,basicAreaWanMu:73.49},{name:"阿木乡",value:86.3,basicAreaWanMu:77.31},{name:"查尔玛乡",value:80.8,basicAreaWanMu:79.04},{name:"瓦切镇",value:74.74,basicAreaWanMu:70.73},{name:"刷经寺镇",value:74.3,basicAreaWanMu:56.66},{name:"龙日镇",value:62.64,basicAreaWanMu:49.66},{name:"江茸乡",value:49.67,basicAreaWanMu:48.78},{name:"麦洼乡",value:45.82,basicAreaWanMu:44.28}],{nameKeys:["name"],valueKeys:["value"]}),r=a0([{areaName:"邛溪镇",yield:38.88},{areaName:"色地镇",yield:37.78},{areaName:"安曲镇",yield:36.77},{areaName:"查尔玛乡",yield:33.21},{areaName:"瓦切镇",yield:32.62},{areaName:"阿木乡",yield:32.17},{areaName:"龙日镇",yield:24.43},{areaName:"刷经寺镇",yield:22.51},{areaName:"麦洼乡",yield:19.5},{areaName:"江茸乡",yield:19.43}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),a=Fd([{key:"grazing",name:"重要放牧场",value:516.41,unit:"万亩"},{key:"general",name:"一般草原",value:119.31,unit:"万亩"},{key:"ecology",name:"生态调节草原",value:97.23,unit:"万亩"},{key:"mowing",name:"割草地",value:15.95,unit:"万亩"},{key:"improved",name:"改良草地",value:4.33,unit:"万亩"}],{limit:4,minPercent:3,otherName:"其他草原类型"}),o=a0([{areaName:"瓦切镇",yield:798.39},{areaName:"查尔玛乡",yield:794.32},{areaName:"麦洼乡",yield:784.16},{areaName:"邛溪镇",yield:772.43},{areaName:"安曲镇",yield:770.9}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),l=ete().levelRows,u=wa([{key:"level-3",name:"3级草原",value:200.9,unit:"万亩"},{key:"level-4",name:"4级草原",value:205.47,unit:"万亩"},{key:"level-5",name:"5级草原",value:385.42,unit:"万亩"},{key:"level-6",name:"6级草原",value:139.06,unit:"万亩"},{key:"level-7",name:"7级草原",value:3.68,unit:"万亩"},{key:"level-8",name:"8级草原",value:3.61,unit:"万亩"}]),c=wa([{key:"good",name:"较健康",value:231.32,unit:"万亩"},{key:"healthy",name:"健康",value:481.87,unit:"万亩"},{key:"subhealthy",name:"亚健康",value:23.69,unit:"万亩"},{key:"unhealthy",name:"不健康",value:20.27,unit:"万亩"}]),d=Q2e({xc:297.29,edibleXc:192.26,unit:"万吨"},r),h=a0([{areaName:"邛溪镇",yield:24.71},{areaName:"色地镇",yield:24.18},{areaName:"安曲镇",yield:23.48},{areaName:"查尔玛乡",yield:21.26},{areaName:"瓦切镇",yield:20.88},{areaName:"阿木乡",yield:20.59},{areaName:"龙日镇",yield:15.63},{areaName:"刷经寺镇",yield:14.41},{areaName:"麦洼乡",yield:12.48},{areaName:"江茸乡",yield:12.44}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),f=nte({core:t,townRows:i,grassTypeRows:a,grassLevelRows:u,healthRows:c,productivityRows:o,edibleYieldRows:h,forageRows:d,degradationRows:l}),p=V2(y2({status:"fallback"},f),{top:J2e(t,{xc:297.29,unit:"万吨"},l,r)});return b7(p,n,e)}if(n==="wetland"){const t=L8([{key:"wetland-area",name:"湿地面积",value:291.82,unit:"万亩"},{key:"wetland-yield",name:"湿地生产力(鲜草)",value:108.84,unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",value:213.22,unit:"万亩"}],n),i=Fd([{name:"高寒草甸类",value:190.32,unit:"万亩"},{name:"山地草甸类",value:49.48,unit:"万亩"},{name:"低地草甸类",value:3.21,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他湿地类型"}),r=[{name:"1级湿地",value:213.22,unit:"万亩"},{name:"2级湿地",value:22.99,unit:"万亩"},{name:"3级湿地",value:6.42,unit:"万亩"},{name:"4级湿地",value:.36,unit:"万亩"},{name:"5级湿地",value:.02,unit:"万亩"}],a=a0([{areaName:"色地镇",yield:21.32},{areaName:"瓦切镇",yield:17.49},{areaName:"安曲镇",yield:15.19},{areaName:"邛溪镇",yield:13.41},{areaName:"阿木乡",yield:10.37},{areaName:"龙日镇",yield:10.11},{areaName:"麦洼乡",yield:9.67},{areaName:"江茸乡",yield:5.78},{areaName:"刷经寺镇",yield:3.43},{areaName:"查尔玛乡",yield:2.08}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),o=[{name:"瓦切镇",value:944.22,unit:"斤"},{name:"安曲镇",value:913.28,unit:"斤"},{name:"麦洼乡",value:911.14,unit:"斤"},{name:"查尔玛乡",value:873.31,unit:"斤"},{name:"阿木乡",value:872,unit:"斤"}],s=[{name:"瓦切镇",value:36.38,unit:"万亩"},{name:"邛溪镇",value:29.29,unit:"万亩"},{name:"阿木乡",value:25.26,unit:"万亩"},{name:"龙日镇",value:24.59,unit:"万亩"},{name:"色地镇",value:24.62,unit:"万亩"}].sort((f,p)=>p.value-f.value),l=[{name:"矮生嵩草、杂类草型",value:108.35,unit:"万亩"},{name:"高山嵩草、矮生嵩草型",value:34.36,unit:"万亩"},{name:"西藏嵩草、杂类草型",value:32.37,unit:"万亩"},{name:"早熟禾、杂类草型",value:20.99,unit:"万亩"},{name:"苔草、杂类草型",value:14.63,unit:"万亩"}],u=a0([{areaName:"色地镇",yield:2.82},{areaName:"邛溪镇",yield:2.71},{areaName:"瓦切镇",yield:2.64},{areaName:"麦洼乡",yield:1.76},{areaName:"安曲镇",yield:1.66}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),c=a0([{areaName:"阿木乡",yield:509.83},{areaName:"瓦切镇",yield:509.52},{areaName:"邛溪镇",yield:356.74},{areaName:"色地镇",yield:287.23},{areaName:"麦洼乡",yield:281.27}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),d=K2e({core:t,yieldSummary:{xc:108.84,edibleXc:1.65,unit:"万吨"},townAreaRows:s,typeRows:i,levelRows:r,yieldRows:a,minTypeRows:l,muYieldRows:o,edibleYieldRows:u,edibleMuRows:c,typeTownRows:s,levelTownRows:s,minTownRows:s}),h=y2({status:"fallback",core:t,top:[t[0],t[1],t[2]]},d);return b7(h,n,e)}if(n==="woodland"){const t=L8([{key:"woodland-area",name:"林地总面积",value:177.92,unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",value:159.33,unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:89.55,unit:"%"}],n),i=a0([{name:"刷经寺镇",value:59.4,percent:33.39},{name:"色地镇",value:27.97,percent:15.72},{name:"查尔玛乡",value:22.6,percent:12.7},{name:"阿木乡",value:19.37,percent:10.89},{name:"江茸乡",value:11.61,percent:6.53},{name:"邛溪镇",value:8.29,percent:4.66},{name:"瓦切镇",value:7.98,percent:4.49},{name:"安曲镇",value:7.47,percent:4.2},{name:"龙日镇",value:7.08,percent:3.98},{name:"麦洼乡",value:6.14,percent:3.45}],{nameKeys:["name"],valueKeys:["value"],extra:d=>`占比 ${M3(d.percent)}%`}),r=Fd([{name:"灌木林地",value:114.78,unit:"万亩"},{name:"乔木林地",value:49.56,unit:"万亩"},{name:"灌丛沼泽",value:8.79,unit:"万亩"},{name:"其他林地",value:4.79,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他林地"}),u=Z2e({townRows:i,typeRows:r,scaleRows:[{name:"15-150亩",value:96.91,unit:"万亩"},{name:"<15亩",value:39.99,unit:"万亩"},{name:"150-1500亩",value:30.81,unit:"万亩"},{name:"≥1500亩",value:10.21,unit:"万亩"}],protectionRows:[{name:"国家二级公益林",value:158.33,unit:"万亩",extra:"88.99%"},{name:"未划定",value:18.72,unit:"万亩",extra:"10.52%"},{name:"国家一级公益林",value:.88,unit:"万亩",extra:"0.49%"}],ownershipRows:[{name:"集体林地",value:172.19,unit:"万亩",extra:"96.78%"},{name:"国有或其他",value:5.73,unit:"万亩",extra:"3.22%"}],ownerRows:[{name:"壤口村",value:42.74,unit:"万亩",extra:"占比 24.02%"},{name:"查龙村",value:16.34,unit:"万亩",extra:"占比 9.18%"},{name:"茸塔玛村",value:14.96,unit:"万亩",extra:"占比 8.41%"},{name:"峨扎村",value:9.96,unit:"万亩",extra:"占比 5.6%"},{name:"三家寨村",value:9.57,unit:"万亩",extra:"占比 5.38%"}]}),c=y2({status:"fallback",core:t,top:[t[0],t[1],t[2]]},u);return b7(c,n,e)}return{status:"empty",core:L8([],n),leftPanels:[],rightPanels:[],left:{title:"业务统计",rows:[]},right:{title:"业务统计",rows:[]}}}function tte(n=[],e=["name"]){const t=new Map;return n.forEach(i=>{const r=i3(i,e);!r||t.has(r)||t.set(r,i)}),Array.from(t.values())}function i0(n,e=[]){return n().catch(()=>e)}function xA(n=[],e={}){const{nameKeys:t=["name","health","level"],valueKeys:i=["value","acreage","areaWanMu"],unit:r="万亩",nameTransform:a=l=>l,max:o=Number.POSITIVE_INFINITY}=e,s=a0(n||[],{nameKeys:t,valueKeys:i,unit:r}).map(l=>V2(y2({},l),{name:a(l.name)}));return wa(s).filter(l=>Number(l.value)>0).slice(0,o)}function UGe(n){const e=String(n||"");return/^\d+$/.test(e)?`${e}级草原`:e.includes("级")?e.replace(/草地/g,"草原"):e}function GGe(n){const e=String(n||"");return{healthy:"健康",subhealthy:"亚健康",unhealthy:"不健康"}[e]||e}function nte({core:n,townRows:e,grassTypeRows:t,grassLevelRows:i,healthRows:r,productivityRows:a,edibleYieldRows:o,forageRows:s,degradationRows:l}){const u=n1("grassland-town","草地面积分布",Bh(e),"line",{span:1}),c=n1("grassland-productivity-town","草地生产力分布",Bh(a),"line",{span:1}),d=n1("grassland-type-proportion","草原类占比",t,"donut",{span:1}),h=n1("grassland-edible-yield","可食鲜草产量分布",hi(o,10),"column",{span:1,variant:"slim"}),f=n1("grassland-degradation","草地退化统计",BGe(l),"structure",{span:1}),p=n1("grassland-health-proportion","草地健康占比",r,"donut",{span:1}),g=n1("grassland-level-proportion","草原级占比",i,"donut",{span:1}),m=n1("grassland-forage-capacity","饲草供给",s,"bar",{span:1,variant:"capacity"}),v=f0([u,d,f,g]),_=f0([h,c,p,m]);return{core:n,leftPanels:v,rightPanels:_,left:v[0],right:_[0],layerPanels:NGe({leftPanels:v,rightPanels:_})}}function VGe(n,e={}){const t=vGe(n),i=tte(e.typeRows||[],["name"]),r=e.yieldRows||[],a=e.levelRows||[],o=e.minTypeRows||[],s=e.edibleRows||[],l=e.edibleMuRows||[],u=e.typeDistributionRows||[],c=e.levelDistributionRows||[],d=e.minTypeDistributionRows||[],h=e.yieldSummary||{},f=Fd(Pg(i,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}),{limit:4,minPercent:1,otherName:"其他湿地类型"}),p=$y(r,e.muYieldRows||[],{showMuYieldExtra:!1}),g=Pg(e.muYieldRows||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:"斤",max:5}),m=Pg(a,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}).map(V=>V2(y2({},V),{name:gj(V.name)})),v=bGe(o),_=$y(s,l,{showMuYieldExtra:!1}),S=Pg(l,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:i3(l==null?void 0:l[0],["unit"])||"斤",max:5}),x=j4(u,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),A=j4(u,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:V=>{var Y;return`${((Y=V.source)==null?void 0:Y.length)||0}类`}}),C=j4(c,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),M=j4(c,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],filter:V=>gj(i3(V,["level","name"])).startsWith("1级")}),I=j4(d,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:V=>{var Y;return`${((Y=V.source)==null?void 0:Y.filter(G=>X2e(G,["acreage","areaWanMu","value"])>0).length)||0}型`}}),D=L8(t,"wetland"),E=m.find(V=>/^1级/.test(V.name))||m[0],L=K2e({yieldSummary:h,townAreaRows:x,typeRows:f,levelRows:m,yieldRows:p,minTypeRows:v,muYieldRows:g,edibleYieldRows:_,edibleMuRows:S,typeTownRows:A,levelTownRows:M.length?M:C,minTownRows:I});return y2({core:D,top:[D[0],D[1],{key:"wetland-level-1-area",name:"1级湿地面积",value:E==null?void 0:E.value,unit:(E==null?void 0:E.unit)||"万亩"}].filter(Boolean)},L)}function mv(n,e){return Z2(this,null,function*(){var t;try{if(n==="woodland"){const[i,r,a,o,s]=yield Promise.all([d5("/woodland/distribution").then(D3),i0(()=>Z2(this,null,function*(){return D3(yield d5("/woodland/types"))}),{}),i0(()=>Z2(this,null,function*(){return D3(yield d5("/woodland/protection"))}),{}),i0(()=>Z2(this,null,function*(){return D3(yield d5("/woodland/quality"))}),{}),i0(()=>Z2(this,null,function*(){return D3(yield d5("/woodland/ownership"))}),{})]),l=L8(yGe(i),n),u=i3((i==null?void 0:i.core)||(i==null?void 0:i.summary)||{},["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"]),c=i3((a==null?void 0:a.summary)||{},["publicAreaWanMu","public_area_wan_mu"]),d=[l[0],{key:"woodland-public-area",name:"公益林面积",value:M3(c),unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:M3((t=i3((a==null?void 0:a.summary)||{},["publicAreaPercent","public_area_percent"]))!=null?t:hr(c,u)),unit:"%"}].filter(Boolean),h=a0((i==null?void 0:i.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:Y=>Eg(Y,u)}),f=Fd(a0((r==null?void 0:r.typeStats)||(i==null?void 0:i.typeDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:No}),{limit:4,minPercent:1,otherName:"其他林地"}),p=a0((i==null?void 0:i.patchScale)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:Y=>Eg(Y,u)}),g=a0((a==null?void 0:a.protectionLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:No}),m=a0((o==null?void 0:o.speciesRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:No}),v=a0((s==null?void 0:s.ownerRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:Y=>Eg(Y,u)}),_=a0((s==null?void 0:s.landOwnerships)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:No}),S=a0((a==null?void 0:a.forestTypes)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:No}),x=a0((a==null?void 0:a.manageLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:No}),A=a0((a==null?void 0:a.regionRanks)||[],{nameKeys:["regionName","name","townName"],valueKeys:["areaWanMu","value"],max:6,extra:Y=>Eg(Y,c)}),C=a0((o==null?void 0:o.origins)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:No}),M=a0((o==null?void 0:o.ageGroups)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:No}),I=a0((o==null?void 0:o.canopyLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:Y=>{const G=M3(i3(Y,["avgCanopy","avg_canopy"]));return G!==void 0?`均值 ${G}`:No(Y)}}),D=a0((o==null?void 0:o.qualityLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:No}),E=hE((r==null?void 0:r.townComposition)||[],{nameKeys:["townName","name"],valueKeys:["areaWanMu","value"]}).slice(0,6),L=Z2e({townRows:h,typeRows:f,scaleRows:p,protectionRows:g,ownershipRows:_,qualityRows:m,originRows:C,ageRows:M,canopyRows:I,forestTypeRows:S,manageLevelRows:x,regionRows:A,ownerRows:v,typeTownRows:E,qualityLevelRows:D}),V=y2({status:"success",core:l,top:d},L);return b7(V,n,e)}if(n==="grassland"){const[i,r,a,o,s,l,u,c,d]=yield Promise.all([F1("/basic_grassland/overview").then(D3),i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_yield/yieldProportion"))}),{}),i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_yield/distribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_yield/muYieldDistribution"))})),i0(()=>Z2(this,null,function*(){return OGe()}),ete()),i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_grass_type/areaProportion"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_grassland_level/areaProportion"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_health/proportion"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/grassland_yield/edibleXcDistribution"))}))]),h=s.levelRows||[],f=L8(_Ge(i),n),p=$y(a||[],o||[],{showMuYieldExtra:!1}),g=a0(o||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:i3(o==null?void 0:o[0],["unit"])||"斤"}),m=a0((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:["totalAreaWanMu"]}),v=xA(tte(l||[],["name"]),{nameKeys:["name"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:Y2e}),_=xA(u||[],{nameKeys:["name","level"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:UGe}),S=xA(c||[],{nameKeys:["health","name"],valueKeys:["acreage","value","areaWanMu"],unit:"万亩",nameTransform:GGe}),x=$y(d||[],[],{showMuYieldExtra:!1}),A=nte({core:f,townRows:m,grassTypeRows:v,grassLevelRows:_,healthRows:S,productivityRows:g,edibleYieldRows:x,forageRows:Q2e(r,p),degradationRows:h}),C=V2(y2({status:"success"},A),{top:J2e(f,r,h,p)});return b7(C,n,e)}if(n==="wetland"){const[i,r,a,o,s,l,u,c,d,h,f,p]=yield Promise.all([SGe([()=>Z2(this,null,function*(){return D3(yield F1("/index/dataItem",{group:"wetland"}))}),()=>Z2(this,null,function*(){return D3(yield F1("/index/dataItem",{group:"wetland_grassland_level"}))})]),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_grass_type_copy/areaProportion"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_yield/distribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_yield/muYieldDistribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_grassland_level/areaProportion"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_grass_type_copy/minTypeAreaProportion"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_yield/edibleXcDistribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_yield/edibleXcMuDistribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_grass_type_copy/distribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_grassland_level/distribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_grass_type_copy/minTypeAreaDistribution"))})),i0(()=>Z2(this,null,function*(){return D3(yield F1("/wetland_yield/yieldProportion"))}),{})]),g=VGe(i,{typeRows:r,yieldRows:a,muYieldRows:o,levelRows:s,minTypeRows:l,edibleRows:u,edibleMuRows:c,typeDistributionRows:d,levelDistributionRows:h,minTypeDistributionRows:f,yieldSummary:p}),m=V2(y2({status:"success"},g),{left:g.leftPanels[0],right:g.rightPanels[0]});return b7(m,n,e)}return vj(n,e)}catch(i){return V2(y2({},vj(n,e)),{status:"error",error:i})}})}function HGe(n,e,t=null){return Z2(this,null,function*(){try{const i=yield RGe(n,e,t);return i||(n==="woodland"?e==="woodland-protection"?yield Rg({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"公益林面积排行",cqlFilter:"gjgyl_bhdj IN ('1','2')"}).catch(()=>Z2(this,null,function*(){const r=D3(yield d5("/woodland/protection")),a=hE((r==null?void 0:r.regionRanks)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return is({topicKey:n,layerKey:e,title:"公益林面积排行",unit:"万亩",rows:a,note:"按公益林村级榜单汇总到乡镇"})})):e==="woodland-type"?yield Rg({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地类型面积排行"}).catch(()=>Z2(this,null,function*(){const r=D3(yield d5("/woodland/types")),a=hE((r==null?void 0:r.townComposition)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return is({topicKey:n,layerKey:e,title:"林地类型面积排行",unit:"万亩",rows:a,note:"按林地类型组成汇总到乡镇"})})):e==="woodland-quality"?yield Rg({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地质量面积排行",cqlFilter:"zl_dj IS NOT NULL"}):e==="woodland-ownership"?yield Rg({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地权属面积排行",cqlFilter:"ld_qs IS NOT NULL"}):yield xGe(n,e,"林地面积排行"):n==="grassland"?e==="basic-grassland"?yield fj(n,e,"basicAreaWanMu","基本草原面积排行"):e==="grassland-level"?yield Lg(n,e,"/grassland_yield/muYieldDistribution","草地亩产排行","斤"):yield fj(n,e,"totalAreaWanMu","草地面积排行"):n==="wetland"?e==="wetland-level"?yield Lg(n,e,"/wetland_yield/muYieldDistribution","湿地亩产排行","斤"):e==="wetland-type"?yield Lg(n,e,"/wetland_yield/edibleXcDistribution","可食鲜草产量排行","万吨"):yield Lg(n,e,"/wetland_yield/distribution","湿地生产力排行","万吨"):is({topicKey:n,layerKey:e,title:"乡镇统计排行",rows:[]}))}catch(i){return{status:"error",topicKey:n,layerKey:e,title:"乡镇统计排行",unit:"",rows:[],error:i}}})}const HL="AlibabaPuHuiTi, Microsoft YaHei, Arial, sans-serif";function wA(n,e={}){return y2({trigger:"item",backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,padding:[7,10],textStyle:{color:"#e7fbff",fontFamily:HL,fontSize:12,lineHeight:18},extraCssText:"box-shadow:0 0 18px rgba(0,210,255,.2);",formatter:n},e)}function TA(n={}){var t,i,r;const e=y2({textStyle:y2({fontFamily:HL,color:"rgba(225, 249, 255, 0.78)"},n.textStyle||{}),animation:(t=n.animation)!=null?t:!0,animationDuration:(i=n.animationDuration)!=null?i:900,animationDurationUpdate:(r=n.animationDurationUpdate)!=null?r:700,animationEasing:n.animationEasing||"cubicOut"},n);return fE(e),e}function fE(n){if(!n||typeof n!="object")return;["textStyle","axisLabel","nameTextStyle","label","axisName"].forEach(t=>{!n[t]||typeof n[t]!="object"||(n[t]=WGe(n[t]))}),Object.keys(n).forEach(t=>{const i=n[t];if(!(!i||typeof i!="object")&&!(t==="color"||t==="itemStyle"||t==="areaStyle"||t==="lineStyle")){if(Array.isArray(i)){i.forEach(fE);return}fE(i)}})}function WGe(n){const e=y2({fontFamily:n.fontFamily||HL},n);return typeof e.fontSize=="number"&&e.fontSize<10&&(e.fontSize=10),e}const f6={herdsmanCount:129,grasslandArea:7568515,wetArea:2429693,yakCount:0,projectCount:17,baseCount:12},o9=[{zoneName:"色地镇",grasslandArea:1463044,yakCount:11704},{zoneName:"麦洼乡",grasslandArea:660352,yakCount:5283},{zoneName:"阿木乡",grasslandArea:1115947,yakCount:8928},{zoneName:"瓦切镇",grasslandArea:1111492,yakCount:8892},{zoneName:"查尔玛乡",grasslandArea:858500,yakCount:6868},{zoneName:"江茸乡",grasslandArea:644761,yakCount:5158},{zoneName:"龙日镇",grasslandArea:874234,yakCount:6994},{zoneName:"安曲镇",grasslandArea:1165634,yakCount:9325},{zoneName:"刷经寺镇",grasslandArea:62465,yakCount:500},{zoneName:"邛溪镇",grasslandArea:1166721,yakCount:9334}],jGe=[{zoneName:"色地镇",grasslandArea:350788,wetArea:166983},{zoneName:"麦洼乡",grasslandArea:162198,wetArea:71501},{zoneName:"阿木乡",grasslandArea:305522,wetArea:89411},{zoneName:"瓦切镇",grasslandArea:264640,wetArea:128717},{zoneName:"查尔玛乡",grasslandArea:286159,wetArea:17664},{zoneName:"江茸乡",grasslandArea:175840,wetArea:52341},{zoneName:"龙日镇",grasslandArea:222346,wetArea:87046},{zoneName:"安曲镇",grasslandArea:304970,wetArea:107548},{zoneName:"刷经寺镇",grasslandArea:22107,wetArea:7002},{zoneName:"邛溪镇",grasslandArea:318316,wetArea:94587}],$Ge=[{month:"1月",count:485,speed:380},{month:"2月",count:502,speed:313},{month:"3月",count:471,speed:142},{month:"4月",count:893,speed:574},{month:"5月",count:874,speed:231},{month:"6月",count:879,speed:555},{month:"7月",count:145,speed:654},{month:"8月",count:521,speed:123},{month:"9月",count:741,speed:456},{month:"10月",count:744,speed:458},{month:"11月",count:777,speed:444},{month:"12月",count:563,speed:254}],rs=[{name:"色地镇",count:131983,devices:25},{name:"瓦切镇",count:126611,devices:24},{name:"安曲镇",count:99331,devices:20},{name:"邛溪镇",count:81727,devices:18},{name:"麦洼乡",count:78489,devices:16},{name:"龙日镇",count:66846,devices:15},{name:"阿木乡",count:64176,devices:14},{name:"查尔玛乡",count:47958,devices:11},{name:"江茸乡",count:34576,devices:9},{name:"刷经寺镇",count:30407,devices:8}],zh=rs.reduce((n,e)=>n+e.count,0),YGe=1716,WL=-3672,fl=zh+YGe+WL;f6.yakCount=fl;function qGe(n,e){const t=n.map(r=>V2(y2({},r),{count:Math.round(e*r.ratio/100)})),i=e-t.reduce((r,a)=>r+a.count,0);return i&&t[1]&&(t[1].count+=i),t}qGe([{name:"成年母牛",ratio:47},{name:"其他成年牛",ratio:22},{name:"幼畜",ratio:16},{name:"育成牛",ratio:11},{name:"公牛",ratio:4}],fl);const jL=[{label:"屠宰出栏",value:1706,yoy:6},{label:"活畜交易",value:1043,yoy:-3},{label:"外运销售",value:624,yoy:12},{label:"其他出栏",value:299,yoy:-9}],ite=[{name:"饲草储备库",value:7,capacity:10500,unit:"座"},{name:"加工企业",value:7,capacity:13e3,unit:"家"},{name:"工程数量",value:f6.projectCount,capacity:17,unit:"个"},{name:"基地数量",value:f6.baseCount,capacity:12,unit:"个"}],rte=1716,h5=zh+rte+WL;const pE=rs.map(({name:n,count:e})=>({name:n,count:e})).sort((n,e)=>e.count-n.count),js=ZGe([{key:"adultCow",name:"成年母牛",ratio:47,source:"专家共识模型"},{key:"otherAdult",name:"其他成年牛",ratio:22,source:"专家共识模型"},{key:"calf",name:"幼畜(≤1岁)",ratio:16,source:"专家共识模型"},{key:"yearling",name:"育成牛(1-2岁)",ratio:11,source:"专家共识模型"},{key:"bull",name:"公牛",ratio:4,source:"专家共识模型"}],h5),yj=jL.map((n,e)=>V2(y2({},n),{color:["#ff8f6b","#30dcff","#ffd76c","#7aa7ff"][e%4]})),AA=[{age:"≤1岁",cow:61280,bull:64892},{age:"1-2岁",cow:43076,bull:43752},{age:"2-4岁",cow:148260,bull:78240},{age:"4-8岁",cow:169420,bull:51860},{age:"8岁以上",cow:45534,bull:21416}],Ji=[{key:"2026",label:"2026年底",shortLabel:"2026",months:7,stock:781236,births:44763,outflow:21684,correction:-21735,structure:{adultCow:47,otherAdult:22,calf:16,yearling:11,bull:4}},{key:"2027",label:"2027年底",shortLabel:"2027",months:19,stock:779428,births:121374,outflow:61286,correction:-60552,structure:{adultCow:47,otherAdult:21,calf:17,yearling:11,bull:4}},{key:"2028",label:"2028年底",shortLabel:"2028",months:31,stock:782617,births:199642,outflow:102517,correction:-94400,structure:{adultCow:46,otherAdult:22,calf:17,yearling:11,bull:4}}],_j=[{name:"繁殖补充",value:86},{name:"出栏周转",value:62},{name:"死亡淘汰",value:48},{name:"母牛基础",value:91},{name:"幼畜存活",value:73}];function ate(n){return Ji.find(e=>e.key===n)||Ji[1]}function XGe(n){var r,a,o,s,l;const e=(n==null?void 0:n.structure)||{},t=[{key:"adultCow",name:"成年母牛",ratio:(r=e.adultCow)!=null?r:47},{key:"otherAdult",name:"其他成年牛",ratio:(a=e.otherAdult)!=null?a:22},{key:"calf",name:"幼畜(≤1岁)",ratio:(o=e.calf)!=null?o:16},{key:"yearling",name:"育成牛(1-2岁)",ratio:(s=e.yearling)!=null?s:11},{key:"bull",name:"公牛",ratio:(l=e.bull)!=null?l:4}].map(u=>V2(y2({},u),{count:Math.round(n.stock*u.ratio/100),source:"预测模型"})),i=n.stock-t.reduce((u,c)=>u+c.count,0);return i&&t[1]&&(t[1].count+=i),t}function KGe(n){const e=n.stock/zh,t=pE.map((r,a)=>V2(y2({},r),{forecast:Math.round(r.count*e+(a%3-1)*n.months*18)})),i=n.stock-t.reduce((r,a)=>r+a.forecast,0);if(i){const r=t.reduce((a,o)=>o.count>a.count?o:a,t[0]);r.forecast+=i}return t.map(r=>V2(y2({},r),{change:r.forecast-r.count})).sort((r,a)=>a.forecast-r.forecast)}function ote(n){const e=n.months+1,t=Array.from({length:e},(o,s)=>s===0?"2026-06":s===n.months?n.label:`+${s}月`),i=t.map((o,s)=>{const l=s/n.months,u=Math.sin(s/2.6)*Math.sin(Math.PI*l)*Math.min(360,n.months*18);return Math.round(h5+(n.stock-h5)*l+u)}),r=t.map((o,s)=>Math.round(n.births/n.months*s)),a=t.map((o,s)=>Math.round(n.outflow/n.months*s));return{labels:t,stock:i,births:r,outflow:a}}function ZGe(n,e){const t=n.map(r=>V2(y2({},r),{count:Math.round(e*r.ratio/100)})),i=e-t.reduce((r,a)=>r+a.count,0);return i&&t[1]&&(t[1].count+=i),t}function JGe(n){const e=new Map;return n.forEach(t=>{const i=t.name,r=e.get(i)||{name:i,count:0};r.count+=Number(t.count||0),e.set(i,r)}),[...e.values()].sort((t,i)=>i.count-t.count)}const p6=(n,e=2)=>{const t=Rs(10,e);return Math.round((Number(n)||0)*t)/t},ste=(n,e)=>n.reduce((t,i)=>t+(Number(i[e])||0),0),Sj=n=>p6((Number(n)||0)/1e4,2),QGe=ste(jL,"value"),eVe=ste(o9,"yakCount"),$L=fl,YL=p6(f6.grasslandArea/1e4,2),tVe=p6(f6.wetArea/1e4,2),nVe=177.92,iVe=p6($L/Math.max(YL,1),1),rVe=108.84,aVe=159.33,oVe=[{key:"yak-count",zh:"牦牛数量",name:"牦牛数量",value:$L,unit:"头",decimals:0},{key:"grassland-area",zh:"草地面积",name:"草地面积",value:YL,unit:"万亩",decimals:2},{key:"wetland-area",zh:"湿地面积",name:"湿地面积",value:tVe,unit:"万亩",decimals:2},{key:"woodland-area",zh:"林地面积",name:"林地面积",value:nVe,unit:"万亩",decimals:2}];jGe.map(n=>{const e=o9.find(r=>r.zoneName===n.zoneName)||{},t=Sj(n.grasslandArea),i=Sj(n.wetArea);return{key:n.zoneName,name:n.zoneName,grasslandArea:t,wetlandArea:i,yakCount:e.yakCount||0,resourceTotal:p6(t+i,2),density:p6((e.yakCount||0)/Math.max(t+i,1),1)}}).sort((n,e)=>e.yakCount-n.yakCount);o9.map(n=>({key:n.zoneName,name:n.zoneName,value:n.yakCount,unit:"头",percent:p6(n.yakCount/Math.max(eVe,1)*100,1)})).sort((n,e)=>e.value-n.value);const bj=jL.map(n=>({key:n.label,name:n.label,value:n.value,unit:"头",yoy:n.yoy,percent:p6(n.value/Math.max(QGe,1)*100,1)})),sVe=Math.max(...ite.map(n=>Number(n.value)||0),1);ite.map(n=>{const e=n.name.includes("储备")||n.name.includes("加工")?`${Number(n.capacity||0).toLocaleString("zh-CN")}吨`:"已接入";return{key:n.name,name:n.name,value:n.value,unit:n.unit,capacity:n.capacity,capacityNote:e,percent:p6((Number(n.value)||0)/sVe*100,1)}});var f$,p$;(f$=bj[0])!=null&&f$.value,(p$=bj[1])!=null&&p$.value,f6.baseCount+f6.projectCount;const Ig=""+new URL("live-scene-1-786cdd0a-balabala-1782986963996.png",import.meta.url).href;const lVe={class:"home-dashboard"},uVe={class:"home-layer-tools"},cVe={class:"home-layer-tree-panel"},dVe={class:"home-layer-tree-list"},hVe=["onClick"],fVe={key:0,class:"home-layer-tree-children"},pVe=["onClick"],mVe={class:"home-layer-tree-legend"},gVe=["disabled","title","onClick"],vVe={class:"home-layer-legend-name"},yVe={key:0,class:"home-layer-legend-check"},_Ve={key:1,class:"home-layer-tree-empty"},SVe={class:"home-left home-side-stack"},bVe={class:"home-right home-side-stack"},xVe={key:0,class:"home-video-monitor"},wVe=["disabled"],TVe={key:0,class:"home-video-scan"},AVe={key:1,class:"home-video-play"},CVe={key:2,class:"home-video-loading"},MVe={key:3,class:"home-video-error"},EVe={class:"home-video-point-name"},PVe=["disabled"],xj=186,RVe={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=U2(null),a=U2(null),o=U2({}),s=new Map;let l=null,u=!1,c=null,d=null,h=null,f=!1,p=0,g=null,m="",v=!1;const _=U2(0),S=U2([]),x=U2(0),A=U2(!1),C=U2(!1),M=U2(""),I=`home-video-player-${Math.random().toString(36).slice(2)}`,D=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],E=xj,L=E,V=ate("2028"),Y=ote(V),G=[...J7.map(({key:M2,name:at,color:mt})=>({key:M2,name:at.replace("资源",""),color:mt})),...H2e.map(({key:M2,name:at,color:mt})=>({key:M2,name:"牦牛",color:mt}))],W=U2(""),q=U2(""),ce=U2(""),J=U2(""),H=Ze(()=>R1(W.value)),re=Ze(()=>G.map(M2=>V2(y2({},M2),{layers:R1(M2.key)}))),ee=Ze(()=>ce.value&&H.value.find(M2=>M2.key===ce.value)||null),se=Ze(()=>{var M2;return((M2=ee.value)==null?void 0:M2.legends)||[]}),Be=Ze(()=>se.value.filter(L1).length>1),we=Ze(()=>se.value.length===1),ve=Ze(()=>{var M2;return(((M2=ee.value)==null?void 0:M2.legends)||[]).find(at=>at.key===J.value)||null}),Ke=Ze(()=>{var at;const M2=ee.value;return M2?(at=ve.value)!=null&&at.cqlFilter?V2(y2({},M2),{cqlFilter:ve.value.cqlFilter,activeLegend:ve.value,name:ve.value.name||M2.name}):M2:null}),p2=Ze(()=>Nt(js.length)),c2=Ze(()=>Nt(Ji.length)),s2=Ze(()=>Nt(Y.labels.length)),R2=[{key:"fallback-video-1",title:"色地镇牧场入口监控",town:"色地镇",scene:"牧道卡口",device:"HY-CAM-018",channel:"01",cameraCount:6,status:"直播中",onlineRate:98,updateTime:"12:18",operator:"智能巡检 · 重点区域",progress:86,image:Ig,playUrl:"",hdPlayUrl:"",token:""},{key:"fallback-video-2",title:"瓦切镇草场巡护监控",town:"瓦切镇",scene:"草场巡护",device:"HY-CAM-026",channel:"02",cameraCount:4,status:"直播中",onlineRate:96,updateTime:"12:16",operator:"远程巡护 · 轮巡中",progress:74,image:Ig,playUrl:"",hdPlayUrl:"",token:""},{key:"fallback-video-3",title:"邛溪镇核心区监控",town:"邛溪镇",scene:"核心牧区",device:"HY-CAM-031",channel:"03",cameraCount:5,status:"直播中",onlineRate:97,updateTime:"12:14",operator:"视频联动 · 在线",progress:91,image:Ig,playUrl:"",hdPlayUrl:"",token:""}],w2=Ze(()=>{const M2=S.value.length;return M2?A.value?x.value%M2:(_.value+x.value)%M2:0}),Re=Ze(()=>S.value[w2.value]||R2[0]),k2=Ze(()=>[$2("grassland","grassland-town"),$2("grassland","grassland-type-proportion"),$2("wetland","wetland-yield"),$2("woodland","woodland-type")].filter(Boolean).map((M2,at)=>tt(M2,`forest-grass-wet-${at}`))),x2=Ze(()=>[{key:"home-video-monitor",title:"视频监控",type:"video",height:L,live:Re.value},{key:"yak-structure",title:"畜群结构占比",height:E,option:D2.value},{key:"yak-three-year-forecast",title:"未来三年牦牛预测",height:E,option:z.value},{key:"yak-forecast-trend",title:"未来存栏趋势",height:E,option:Q2.value}]),D2=Ze(()=>TA({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:D,tooltip:wA(M2=>`${M2.name}<br/>占比:${M2.percent}%<br/>估算数量:${Ft(M2.value)}头`),legend:{orient:"vertical",right:0,top:"middle",itemWidth:8,itemHeight:8,itemGap:5,formatter(M2){const at=js.find(mt=>mt.name===M2);return at?`${M2} ${yt(at.count)}头`:M2},textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},series:[{name:"畜群结构",type:"pie",selectedMode:"single",selectedOffset:8,radius:["36%","62%"],center:["30%","54%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:"{d}%"},labelLine:{length:7,length2:4,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},emphasis:{scale:!0,scaleSize:8,itemStyle:{shadowBlur:16,shadowColor:"rgba(48, 220, 255, 0.58)"}},data:js.map((M2,at)=>({name:M2.name,value:M2.count,selected:at===p2.value}))}]})),z=Ze(()=>TA({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:V2(y2({},wA()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(M2){const at=Ji[M2[0].dataIndex];return`${at.label}<br/>预测存栏:${Ft(at.stock)}头`}}),grid:{left:42,right:18,top:16,bottom:24},xAxis:{type:"category",data:Ji.map(M2=>M2.shortLabel),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",min(M2){return Math.max(0,Math.floor(M2.min/1e4)*1e4)},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:yt},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:Ji.map((M2,at)=>({value:M2.stock,itemStyle:{borderRadius:[9,9,1,1],color:new gn(0,0,0,1,[{offset:0,color:at===c2.value?"#ffd76c":"#30dcff"},{offset:.72,color:at===c2.value?"rgba(255, 215, 108, 0.7)":"rgba(48, 220, 255, 0.62)"},{offset:1,color:at===c2.value?"rgba(255, 215, 108, 0.1)":"rgba(48, 220, 255, 0.08)"}]),shadowBlur:at===c2.value?16:8,shadowColor:at===c2.value?"rgba(255, 215, 108, 0.56)":"rgba(48, 220, 255, 0.28)"}})),itemStyle:{borderRadius:[9,9,1,1],color:new gn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:.72,color:"rgba(48, 220, 255, 0.62)"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])},label:{show:!0,position:"top",color:"#ffffff",fontSize:10,formatter:({value:M2})=>yt(M2)}}]})),Q2=Ze(()=>TA({animation:!0,animationDuration:1200,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff","#ffd76c","#ff8f6b"],tooltip:V2(y2({},wA()),{trigger:"axis"}),legend:{top:2,right:2,itemWidth:10,itemHeight:7,itemGap:7,textStyle:{color:"rgba(222, 250, 255, 0.76)",fontSize:10}},grid:{left:42,right:32,top:30,bottom:24},xAxis:{type:"category",boundaryGap:!1,data:Y.labels,axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:4},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:yt},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10,formatter:yt},splitLine:{show:!1}}],series:[Et("预测存栏",Y.stock,"#30dcff",0,!0,s2.value),Et("繁殖补充",Y.births,"#ffd76c",1,!1,s2.value),Et("出栏扣减",Y.outflow,"#ff8f6b",1,!1,s2.value)]}));_r(()=>{i("module-stats",{moduleKey:"home",items:oVe}),Y2()}),Yr(()=>{var M2,at;u=!0,K2(),ge(),Te(),s.clear(),(at=(M2=r.value)==null?void 0:M2.destroyMap)==null||at.call(M2)}),U1(w2,()=>{if(!A.value&&!C.value&&!h){M.value="";return}K2({resetError:!0})}),U1(ce,()=>{J.value=""}),U1(()=>t.active,M2=>{var at,mt,u3,x1;M2?((mt=(at=r.value)==null?void 0:at.resume)==null||mt.call(at),m2(),v||Ae()):((x1=(u3=r.value)==null?void 0:u3.pause)==null||x1.call(u3),ge(),Te(),K2({resetError:!0}))});function Y2(){var at,mt,u3;l=new Eu,i("loading-progress",{progress:0}),(mt=(at=l.instance)==null?void 0:at.on)==null||mt.call(at,"onProgress",(x1,Fe,Z)=>{i("loading-progress",{progress:Math.floor(Fe/(Z||1)*100),path:x1,itemsLoaded:Fe,itemsTotal:Z})});const M2=(x1=0)=>Z2(this,null,function*(){var Z,be;if(u)return;yield Nn();const Fe=r.value;if((Z=Fe==null?void 0:Fe.loadMap)==null||Z.call(Fe,l),Fe!=null&&Fe.canvasMap){i("loading-progress",{progress:100}),i("map-ready"),Ae(),t.active&&((be=Fe.play)==null||be.call(Fe));return}if(x1<24){window.setTimeout(()=>M2(x1+1),120);return}i("map-ready"),Ae()});(u3=l.ready)==null||u3.then(M2).catch(()=>{i("map-ready"),Ae()})}function Ae(){ge();const M2=()=>{g=null,m="",!(u||!t.active)&&(v=!0,je(),Le(),t.active&&m2())};if(typeof window.requestIdleCallback=="function"){m="idle",g=window.requestIdleCallback(M2,{timeout:1800});return}m="timeout",g=window.setTimeout(M2,650)}function ge(){g&&(m==="idle"&&typeof window.cancelIdleCallback=="function"?window.cancelIdleCallback(g):window.clearTimeout(g),g=null,m="")}function ke(M2,at){M2&&(at?s.set(M2,at):s.delete(M2))}function d2(M2){a.value=M2||null}function m2(){!t.active||u||(Te(),c=window.setInterval(ye,2600),d=window.setTimeout(ye,800))}function Te(){c&&(window.clearInterval(c),c=null),d&&(window.clearTimeout(d),d=null)}function ye(){u||!t.active||(d=null,_.value+=1,Ut(),Qe(),ot())}function Le(){return Z2(this,null,function*(){try{const M2=yield fGe();if(u)return;S.value=M2.length?M2:R2}catch(M2){if(u)return;S.value=R2,M.value="监控接口暂不可用",window.setTimeout(()=>{M.value==="监控接口暂不可用"&&(M.value="")},2400)}})}function t2(M2){const at=(M2==null?void 0:M2.image)||Ig;return A.value?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${at})`}}function Oe(){o2(-1)}function T2(){o2(1)}function o2(M2){const at=S.value.length;if(!at)return;K2({resetError:!0});const mt=w2.value;x.value=(mt+M2+at)%at,_.value=0}function q2(){return Z2(this,null,function*(){var u3,x1;const M2=Re.value;if(!(M2!=null&&M2.hdPlayUrl)||!(M2!=null&&M2.token)){M.value="无效的监控参数";return}if(A.value||C.value)return;x.value=w2.value,_.value=0,h&&K2({resetError:!0}),M.value="",C.value=!0,yield Nn();const at=++p;let mt=null;try{const Fe=(x1=(u3=a.value)==null?void 0:u3.getBoundingClientRect)==null?void 0:x1.call(u3),Z=Math.max(300,Math.floor((Fe==null?void 0:Fe.width)||340)),be=Math.max(80,Math.floor((Fe==null?void 0:Fe.height)||92));if(mt=new rEe.EZUIKitPlayer({id:I,accessToken:M2.token,url:M2.hdPlayUrl,audio:0,width:Z,height:be,themeData:rt(),handleError(Ve){at===p&&(console.warn("EZUIKit player error",Ve),M.value="视频加载失败",C.value=!1,A.value=!1,p+=1,h=null,f=!1,lt())},handleSuccess(){at===p&&(M.value="",f=!0,C.value=!1)},fullScreenChangeCallBack(){}}),at!==p){st(mt),lt();return}h=mt,A.value=!0}catch(Fe){console.warn("EZUIKit init error",Fe),M.value="视频加载失败",K2()}})}function K2(M2={}){const{clearElement:at=!0,resetError:mt=!1}=M2,u3=h,x1=f;h=null,f=!1,p+=1,x1&&st(u3),at&<(),A.value=!1,C.value=!1,mt&&(M.value="")}function st(M2){if(!(!M2||typeof M2.stop!="function"))try{const at=M2.stop();at&&typeof at.catch=="function"&&at.catch(()=>{})}catch(at){console.warn("EZUIKit stop error",at)}}function lt(){if(typeof document=="undefined")return;const M2=document.getElementById(I);M2&&M2.replaceChildren()}function rt(){return{header:{color:"#1890ff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#1890ff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:1},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"expend",part:"right",defaultActive:0,memo:"全局全屏按钮",isrender:1}]}}}function Ut(){const M2=s.get("yak-structure");vt(M2,"畜群结构",p2.value)}function Qe(){const M2=s.get("yak-three-year-forecast");vt(M2,"预测存栏",c2.value)}function ot(){const M2=s.get("yak-forecast-trend");vt(M2,"预测存栏",s2.value)}function vt(M2,at,mt){const u3=typeof(M2==null?void 0:M2.dispatchAction)=="function"?M2:M2==null?void 0:M2.chart;!u3||mt<0||(u3.dispatchAction({type:"downplay",seriesName:at}),u3.dispatchAction({type:"hideTip"}),u3.dispatchAction({type:"highlight",seriesName:at,dataIndex:mt}),u3.dispatchAction({type:"showTip",seriesName:at,dataIndex:mt}))}function Nt(M2){return M2?_.value%M2:0}function je(){return Z2(this,null,function*(){const[M2,at,mt]=yield Promise.all([mv("grassland","grassland-distribution"),mv("wetland","wetland-distribution"),mv("woodland","woodland-distribution")]);u||(o.value={grassland:M2,wetland:at,woodland:mt})})}function $2(M2,at){const mt=o.value[M2];return[...(mt==null?void 0:mt.leftPanels)||[],...(mt==null?void 0:mt.rightPanels)||[]].find(x1=>(x1==null?void 0:x1.key)===at)}function tt(M2,at){const u3={"wetland-yield":{type:"column",variant:"slim"},"woodland-type":{type:"structure",variant:void 0}}[M2.key]||{};return V2(y2(y2({},M2),u3),{key:`home-${at}-${M2.key}`,height:xj})}function Et(M2,at,mt,u3=0,x1=!1,Fe=-1){return{name:M2,type:"line",yAxisIndex:u3,smooth:!0,symbolSize:5,data:at.map((Z,be)=>({value:Z,symbolSize:be===Fe?10:5,itemStyle:{color:be===Fe?"#ffffff":mt},label:{show:be===Fe,position:"top",color:mt,fontSize:10,formatter:({value:Ve})=>yt(Ve)}})),lineStyle:{width:2.4,color:mt},itemStyle:{color:mt},areaStyle:x1?{color:new gn(0,0,0,1,[{offset:0,color:`${mt}44`},{offset:1,color:`${mt}05`}])}:void 0}}function Ft(M2){const at=Number(M2);return Number.isFinite(at)?at.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(at)?0:2}):"--"}function yt(M2){const at=Number(M2);return Number.isFinite(at)?Math.abs(at)>=1e4?`${(at/1e4).toFixed(Math.abs(at)>=1e5?0:1)}万`:Math.round(at).toLocaleString("zh-CN"):"--"}function p3(M2){W.value=M2,ce.value="",J.value=""}function a3(M2){if(q.value===M2){q.value="";return}q.value=M2,W.value!==M2&&p3(M2)}function R1(M2){const at=mS(M2);return M2!=="yak-industry-chain"?at:at.filter(mt=>mt.key==="yak-recognition-layer")}function P3(M2){ce.value=ce.value===M2?"":M2}function e1(M2){Cn(M2)&&(J.value=J.value===M2.key?"":M2.key)}function L1(M2){return(M2==null?void 0:M2.selectable)===!1?!1:!!(M2!=null&&M2.key&&(M2.cqlFilter||M2.rankingValueKey))}function Cn(M2){return Be.value&&L1(M2)}return(M2,at)=>(Ee(),De("div",lVe,[dt(Mu,{ref_key:"mapSceneRef",ref:r,class:"home-map-scene","active-layer":Ke.value},null,8,["active-layer"]),at[3]||(at[3]=k("div",{class:"home-map-scrim"},null,-1)),k("div",uVe,[dt(x3,{title:"图层控制",width:248,height:430},{default:s3(()=>[k("div",cVe,[k("div",dVe,[(Ee(!0),De(gt,null,Mt(re.value,mt=>(Ee(),De("div",{key:mt.key,class:Ht(["home-layer-tree-group",{"is-open":mt.key===q.value}])},[k("button",{class:Ht(["home-layer-tree-parent",{"is-active":mt.key===W.value}]),type:"button",onClick:u3=>a3(mt.key)},[k("span",null,Ue(mt.name),1),at[0]||(at[0]=k("i",null,null,-1))],10,hVe),mt.key===q.value?(Ee(),De("div",fVe,[(Ee(!0),De(gt,null,Mt(mt.layers,u3=>(Ee(),De("button",{key:u3.key,class:Ht(["home-layer-tree-child",{"is-active":u3.key===ce.value}]),type:"button",onClick:x1=>P3(u3.key)},[k("span",null,Ue(u3.name),1),at[1]||(at[1]=k("i",null,null,-1))],10,pVe))),128))])):Tt("",!0)],2))),128))]),k("div",mVe,[at[2]||(at[2]=k("div",{class:"home-layer-tree-title"},"图例",-1)),se.value.length?(Ee(),De("div",{key:0,class:Ht(["home-layer-legend-grid",{"is-single":we.value}])},[(Ee(!0),De(gt,null,Mt(se.value,mt=>(Ee(),De("button",{key:mt.key||mt.name,class:Ht(["home-layer-legend-row",{"is-selected":Cn(mt)&&mt.key===J.value,"is-checkable":Cn(mt),"is-disabled":!Cn(mt)}]),type:"button",disabled:!Cn(mt),title:mt.name,onClick:u3=>e1(mt)},[k("span",{class:"home-layer-legend-swatch",style:J3({backgroundColor:mt.fillColor,borderColor:mt.strokeColor||mt.fillColor})},null,4),k("span",vVe,Ue(mt.name),1),Cn(mt)?(Ee(),De("i",yVe)):Tt("",!0)],10,gVe))),128))],2)):(Ee(),De("div",_Ve,"选择图层后显示图例"))])])]),_:1})]),k("div",SVe,[(Ee(!0),De(gt,null,Mt(k2.value,mt=>(Ee(),K0(x3,{key:mt.key,class:"home-card left-card",title:mt.title,width:398,height:mt.height},{default:s3(()=>[dt(Di,{panel:mt,compact:""},null,8,["panel"])]),_:2},1032,["title","height"]))),128))]),k("div",bVe,[(Ee(!0),De(gt,null,Mt(x2.value,mt=>(Ee(),K0(x3,{key:mt.key,class:Ht(["home-card","right-card",{"home-video-card":mt.type==="video"}]),title:mt.title,width:398,height:mt.height},{default:s3(()=>[mt.type==="video"?(Ee(),De("div",xVe,[k("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:S.value.length<=1,onClick:Oe},"‹",8,wVe),(Ee(),De("div",{key:mt.live.key,ref_for:!0,ref:d2,class:Ht(["home-video-screen",{"is-playing":A.value,"is-loading":C.value}]),style:J3(t2(mt.live)),onClick:q2},[k("div",{id:I,class:"home-video-player"}),A.value?Tt("",!0):(Ee(),De("div",TVe)),!A.value&&mt.live.hdPlayUrl?(Ee(),De("div",AVe)):Tt("",!0),C.value?(Ee(),De("div",CVe,"加载中")):Tt("",!0),M.value?(Ee(),De("div",MVe,Ue(M.value),1)):Tt("",!0),k("div",EVe,Ue(mt.live.title),1)],6)),k("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:S.value.length<=1,onClick:T2},"›",8,PVe)])):mt.option?(Ee(),K0(_1(W0),{key:1,ref_for:!0,ref:u3=>ke(mt.key,u3),class:"home-chart",option:mt.option,autoresize:!0},null,8,["option"])):(Ee(),K0(Di,{key:2,panel:mt,compact:""},null,8,["panel"]))]),_:2},1032,["class","title","height"]))),128))])]))}};const LVe={class:"topic-switcher"},IVe={class:"topic-switcher-menu"},DVe=["onPointerup","onClick"],NVe={class:"topic-title"},kVe={key:0},yS={__name:"TopicSwitcher",props:{modelValue:{type:String,required:!0},topics:{type:Array,default:()=>J7}},emits:["update:modelValue"],setup(n,{emit:e}){const t=n,i=e;let r="",a=0;const o=Ze(()=>{var l;return(l=t.topics)!=null&&l.length?t.topics:J7});function s(l,u){var d,h;if((h=(d=l.currentTarget)==null?void 0:d.blur)==null||h.call(d),u===t.modelValue)return;const c=Date.now();l.type==="click"&&r===u&&c-a<450||(l.type==="pointerup"&&(r=u,a=c),i("update:modelValue",u))}return(l,u)=>(Ee(),De("div",LVe,[u[0]||(u[0]=k("div",{class:"topic-switcher-arrow"},[k("img",{src:Tv,alt:""}),k("img",{src:Av,alt:""})],-1)),k("div",IVe,[(Ee(!0),De(gt,null,Mt(o.value,c=>(Ee(),De("button",{key:c.key,class:Ht(["topic-switcher-item",{"is-active":c.key===n.modelValue}]),style:J3({"--topic-color":c.color,"--topic-item-width":c.width?`${c.width}px`:void 0}),type:"button",onPointerup:d=>s(d,c.key),onClick:d=>s(d,c.key)},[k("span",{class:Ht(["topic-name",{"has-sub-name":c.subName}])},[k("span",NVe,Ue(c.name),1),c.subName?(Ee(),De("small",kVe,Ue(c.subName),1)):Tt("",!0)],2)],46,DVe))),128))]),u[1]||(u[1]=k("div",{class:"topic-switcher-arrow is-reverse"},[k("img",{src:Tv,alt:""}),k("img",{src:Av,alt:""})],-1))]))}};const FVe={class:"layer-panel"},OVe={class:"layer-panel-list"},BVe=["onClick"],zVe={key:0,class:"layer-panel-empty"},UVe={class:"layer-panel-legend"},GVe=["disabled","title","onClick"],VVe={class:"legend-name"},HVe={key:0,class:"legend-check"},WVe={key:1,class:"layer-panel-empty is-legend"},qL={__name:"LayerPanel",props:{topicKey:{type:String,required:!0},modelValue:{type:String,default:""},legends:{type:Array,default:()=>[]},selectedLegendKey:{type:String,default:""},height:{type:Number,default:0},width:{type:Number,default:232},layers:{type:Array,default:null}},emits:["update:modelValue","update:selectedLegendKey"],setup(n,{emit:e}){const t=n,i=e,r=Ze(()=>Array.isArray(t.layers)?t.layers:mS(t.topicKey)),a=Ze(()=>Array.isArray(t.legends)?t.legends:[]),o=Ze(()=>a.value.filter(d).length>1),s=Ze(()=>a.value.length===1),l=Ze(()=>t.height?t.height:430);function u(f,p){var g,m;(m=(g=f.currentTarget)==null?void 0:g.blur)==null||m.call(g),i("update:modelValue",t.modelValue===p?"":p)}function c(f,p){var g,m;(m=(g=f.currentTarget)==null?void 0:g.blur)==null||m.call(g),h(p)&&i("update:selectedLegendKey",t.selectedLegendKey===p.key?"":p.key)}function d(f){return(f==null?void 0:f.selectable)===!1?!1:!!(f!=null&&f.key&&(f.cqlFilter||f.rankingValueKey))}function h(f){return o.value&&d(f)}return(f,p)=>(Ee(),K0(x3,{title:"图层控制",width:n.width,height:l.value},{default:s3(()=>[k("div",FVe,[k("div",OVe,[(Ee(!0),De(gt,null,Mt(r.value,g=>(Ee(),De("button",{key:g.key,class:Ht(["layer-panel-item",{"is-active":g.key===n.modelValue,"is-checked":g.key===n.modelValue}]),type:"button",onMousedown:p[0]||(p[0]=pi(()=>{},["prevent"])),onClick:m=>u(m,g.key)},[k("span",null,Ue(g.name),1),p[2]||(p[2]=k("i",null,null,-1))],42,BVe))),128)),r.value.length?Tt("",!0):(Ee(),De("div",zVe,"暂无图层配置"))]),k("div",UVe,[p[3]||(p[3]=k("div",{class:"layer-panel-section-title"},"图例",-1)),a.value.length?(Ee(),De("div",{key:0,class:Ht(["layer-panel-legend-grid",{"is-single":s.value}])},[(Ee(!0),De(gt,null,Mt(a.value,g=>(Ee(),De("button",{key:g.key||g.name,class:Ht(["layer-panel-legend-row",{"is-selected":h(g)&&g.key===n.selectedLegendKey,"is-checkable":h(g),"is-disabled":!h(g)}]),type:"button",disabled:!h(g),title:g.name,onMousedown:p[1]||(p[1]=pi(()=>{},["prevent"])),onClick:m=>c(m,g)},[k("span",{class:"legend-swatch",style:J3({backgroundColor:g.fillColor,borderColor:g.strokeColor||g.fillColor})},null,4),k("span",VVe,Ue(g.name),1),h(g)?(Ee(),De("i",HVe)):Tt("",!0)],42,GVe))),128))],2)):(Ee(),De("div",WVe,"暂无图例"))])])]),_:1},8,["width","height"]))}};const jVe={class:"feature-info"},$Ve={key:0,class:"feature-info-state"},YVe={key:1,class:"feature-info-state"},qVe={key:2,class:"feature-info-state"},XVe={key:0,class:"feature-table"},KVe=["title"],ZVe={key:1,class:"feature-info-state is-inline"},lte={__name:"FeatureInfoPanel",props:{feature:{type:Object,default:null},empty:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},height:{type:Number,default:380},width:{type:Number,default:430}},setup(n){const e=n,t=[[["town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","area_code"],"所在乡镇"],[["village_name","cunName","cun_name","cun","c_name","cmc"],"所在村"],[["full_name"],"所在区域"],[["land_number","patch_no"],"图斑编号"],[["areaWanMu","area_wan_mu","area_mu","acreage","mj","xbmj","tbdlmj","tbmj","geomj","shape_area"],"图斑面积"]],i=[[["investigator"],"调查人"],[["survey_time","dc_rq","sjnf","delimitation_year"],"调查时间"],[["adjust_opinion_name"],"调整意见"],[["adjust_reason"],"调整原因"]],r={woodland:[[["dlmc","layer_class_name"],"地类名称"],...t,[["qsdwmc"],"权属单位"],[["zldwmc"],"坐落单位"],[["lin_ban"],"林班"],[["xiao_ban"],"小班"],[["ld_qs","tdsyqs","qsxz","ownership_name","ownership"],"土地权属"],[["gjgyl_bhdj","bh_dj","protection_level_name","protection_level"],"保护等级"],[["sen_lin_lb","forest_type"],"森林类别"],[["lin_zhong","forest_category"],"林种"],[["zl_dj","quality_level_name","quality_level"],"质量等级"],[["you_shi_sz","tree_species","dominant_tree_species"],"优势树种"],[["qi_yuan","origin"],"起源"],[["ling_zu"],"龄组"],[["yu_bi_du"],"郁闭度"],[["pingjun_sg"],"平均树高"],[["mei_gq_zs"],"每公顷株数"],[["mei_gq_xj"],"每公顷蓄积"],[["huo_lm_xj"],"活立木蓄积"],[["sheng_wu_l"],"生物量"],[["tan_chu_l"],"碳储量"],[["stqwmc"],"生态区位"],[["po_du","slope"],"坡度"],[["po_wei"],"坡位"],[["tu_ceng_hd","soil_depth"],"土层厚度"],...i],grassland:[...t,[["land_class_name","land_use_name","land_use"],"地类名称"],[["land_type"],"资源大类"],[["resource_type"],"资源类别"],[["grassland_category_name","grassland category","base_grass"],"草原类别"],[["basic_type_name"],"基本草原类型"],[["grass_type_name","grassland_type_name","grass_type"],"草原类"],[["grass_min_type"],"草原型"],[["grassland_level_name","grassland_level","level_name","level"],"草原级别"],[["degradation_level_name","degradation_level"],"退化等级"],[["vegetation_structure_name","vegetation_structure"],"植被结构"],[["vegetation_cover"],"植被盖度"],[["lbmjbl"],"裸斑面积比例"],[["dominance_level"],"优势度"],[["dominant_grass_species"],"优势草种"],[["functional_category"],"功能类别"],[["xc_yield"],"鲜草产量"],[["xc_mu_yield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["xb_xc_yield"],"小班鲜草产量"],[["xb_xc_mu_yield"],"小班鲜草亩产"],[["gc_yield"],"干草产量"],[["gc_mu_yield","xb_gc_mu_yield"],"干草亩产"],[["xb_gc_yield"],"小班干草产量"],[["xb_gc_mu_yield"],"小班干草亩产"],[["elevation"],"海拔"],[["landform_name","landform"],"地貌"],[["slope"],"坡度"],[["aspect"],"坡向"],[["soil_depth","tu_ceng_hd"],"土层厚度"],[["soil texture"],"土壤质地"],[["sddl"],"三调地类"],[["hqlm"],"划区轮牧"],[["cdsyq"],"草地所有权"],[["cdsyq2"],"草地使用权"],[["cdjjq"],"草地经营权"],...i],wetland:[[["grass_min_type","grassland_category_name","grassland_type_name","land_class_name","land_use_name"],"湿地类型"],...t,[["grass_type_name","grass_type"],"湿地草地型"],[["grassland_level_name","grassland_level","level_name","level"],"湿地级别"],[["vegetation_structure_name","vegetation_structure"],"植被结构"],[["vegetation_cover"],"植被盖度"],[["dominant_grass_species"],"优势草种"],[["functional_category"],"功能类别"],[["xc_yield","xb_xc_yield"],"鲜草产量"],[["xc_mu_yield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["edible_xc_yield"],"可食鲜草产量"],[["edible_xc_mu_yield"],"可食鲜草亩产"],[["gc_yield","xb_gc_yield"],"干草产量"],[["elevation"],"海拔"],[["landform_name","landform"],"地貌"],[["soil_depth","tu_ceng_hd"],"土层厚度"],...i],ecological:[[["type"],"管控分区"],[["project_name"],"项目名称"],[["project_category"],"项目类型"],[["measure_type"],"措施类型"],[["feature_role"],"要素类型"],[["township"],"涉及乡镇"],[["year"],"建设年份"],[["totalAcreage"],"总面积"],[["cdAcreage"],"草地面积"],[["sdAcreage"],"湿地面积"],[["area_mu"],"治理面积"],[["length_meter"],"工程长度"],[["cdScl"],"草地生产力"],[["sdScl"],"湿地生产力"],[["geometry_type"],"几何类型"]]},a={land_type:{1:"草地",2:"湿地",caodi:"草地",shidi:"湿地",woodland:"林地",grassland:"草地",wetland:"湿地"},vegetation_structure:{1:"草本型"},landform:{2:"平原",5:"中山",6:"高山"},land_use:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},sddl:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},ld_qs:{10:"集体林地",20:"国有或其他"},qsxz:{10:"集体林地",20:"国有或其他"},tdsyqs:{10:"集体林地",20:"国有或其他"},gjgyl_bhdj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},bh_dj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},zl_dj:{2:"二级质量",3:"三级质量",4:"四级质量",5:"五级质量"},po_wei:{1:"脊部",2:"上坡",3:"中坡",4:"下坡",5:"谷地",6:"平地"}},o=new Set(["lin_zhong","sen_lin_lb","you_shi_sz","qi_yuan","ling_zu","po_xiang","tu_rang_lx","ownership","ownership_name","protection_level","forest_category","forest_type","quality_level","origin","tree_species","dominant_tree_species","base_grass","degradation_level","land_class","grass_type"]),s={xiang:"所在乡镇",xzqdm:"所在乡镇",xzqmc:"所在乡镇",town_code:"所在乡镇",area_code:"所在乡镇",cun:"所在村",cmc:"所在村",c_name:"所在村",acreage:"图斑面积",mj:"图斑面积",xbmj:"小班面积",tbdlmj:"图斑地类面积",geomj:"图斑面积",tbmj:"图斑面积",shape_area:"图斑面积",area_mu:"图斑面积",grass_min_type:"草原型",grass_type:"草原类",grass_type_name:"草原类",grassland_type_name:"草原类",patch_no:"图斑编号",land_number:"图斑编号",grassland_level:"草原级别",grassland_level_name:"草原级别",level:"等级",level_name:"等级",land_class_name:"地类名称",land_use_name:"地类名称",basic_type_name:"草原类型",grassland_category_name:"草原类别",degradation_level:"退化等级",degradation_level_name:"退化等级",vegetation_structure:"植被结构",vegetation_structure_name:"植被结构",xc_yield:"鲜草产量",gc_yield:"干草产量",xc_mu_yield:"鲜草亩产",gc_mu_yield:"干草亩产",mu_yield:"亩产",edible_xc_yield:"可食鲜草产量",edible_xc_mu_yield:"可食鲜草亩产",dlmc:"地类名称",qsdwmc:"权属单位",zldwmc:"坐落单位",lin_ban:"林班",xiao_ban:"小班",ld_qs:"土地权属",tdsyqs:"土地权属",qsxz:"土地权属",gjgyl_bhdj:"保护等级",bh_dj:"保护等级",sen_lin_lb:"森林类别",lin_zhong:"林种",zl_dj:"质量等级",you_shi_sz:"优势树种",qi_yuan:"起源",cdsyq:"草地所有权",cdsyq2:"草地使用权",cdjjq:"草地经营权",resource_type:"资源类型","grassland category":"草原类别",dominant_grass_species:"优势草种",functional_category:"功能类别",vegetation_cover:"植被盖度",xb_xc_yield:"小班鲜草产量",xb_gc_yield:"小班干草产量",base_grass:"基本草原",hqlm:"划区轮牧",elevation:"海拔",soil_depth:"土层厚度","soil texture":"土壤质地",aspect:"坡向",slope:"坡度",landform:"地貌",landform_name:"地貌",sddl:"三调地类",dominance_level:"优势度",investigator:"调查人",survey_time:"调查时间",land_type:"土地类型",status:"状态",type:"类型",xb_gc_mu_yield:"干草亩产",xb_xc_mu_yield:"鲜草亩产",grass_yield:"草地产量",full_name:"所在区域",gyl_bhlx:"公益林保护类型",ling_zu:"龄组",yu_bi_du:"郁闭度",pingjun_xj:"平均胸径",mei_gq_zs:"每公顷株数",mei_gq_xj:"每公顷蓄积",stqwmc:"生态区位",lyfq:"林业分区",qykz:"区域控制",po_wei:"坡位",tu_rang_zd:"土壤质地",zzsxmc:"主导属性",lin_chang:"林场",di_mao:"地貌",jt_qw:"交通区位",zbfglx:"植被覆盖类型",disaster_c:"灾害类型",dispe:"病虫害",pingjun_sg:"平均树高",huo_lm_xj:"活立木蓄积",sheng_wu_l:"生物量",tan_chu_l:"碳储量",g_cheng_lb:"工程类别",shi_quan_d:"事权等级",sf_tbq:"是否特别区",td_th_lx:"土地退化类型",project_name:"项目名称",project_category:"项目类型",measure_type:"措施类型",feature_role:"要素类型",township:"涉及乡镇",year:"建设年份",length_meter:"工程长度",geometry_type:"几何类型",totalAcreage:"总面积",cdAcreage:"草地面积",sdAcreage:"湿地面积",cdScl:"草地生产力",sdScl:"湿地生产力"},l=new Set(Object.keys(s)),u=new Set(["pingjun_sg","pingjun_xj","mei_gq_zs","mei_gq_xj","huo_lm_xj","sheng_wu_l","tan_chu_l","yu_bi_du","grass_yield","xb_xc_yield","xb_xc_mu_yield","xc_mu_yield","xb_gc_yield","xb_gc_mu_yield","gc_mu_yield"]),c=new Set(["xb_xc_yield","xb_gc_yield","grass_yield","gc_yield","xc_yield","yield","output","remark1","remark2","remark3","remark4","remark5","remarks"]),d=Ze(()=>{var H;return((H=e.feature)==null?void 0:H.properties)||{}}),h=Ze(()=>{var H,re,ee;return((re=(H=e.feature)==null?void 0:H.feature)==null?void 0:re.geometry)||((ee=e.feature)==null?void 0:ee.geometry)||null}),f=Ze(()=>{var we,ve,Ke,p2,c2;const H=String(((we=e.feature)==null?void 0:we.id)||"").toLowerCase(),re=String(((Ke=(ve=e.feature)==null?void 0:ve.layer)==null?void 0:Ke.key)||"").toLowerCase(),ee=String(((c2=(p2=e.feature)==null?void 0:p2.layer)==null?void 0:c2.layerName)||"").toLowerCase(),se=`${re} ${ee}`,Be=d.value;return se.includes("national-park")||se.includes("restoration")||Be.project_name||Be.project_category||Be.totalAcreage?"ecological":Be.dlmc||H.includes("woodland")||H.includes("t_woodland")||se.includes("woodland")?"woodland":se.includes("wetland")||se.includes("shidi")||H.includes("shidi")||Be.land_type==="shidi"||Be.land_type==="湿地"||Be.land_type===2?"wetland":se.includes("grassland")||se.includes("caodi")||Be.grassland_category_name||Be.basic_type_name||H.includes("caodi")||Be.land_type==="caodi"||Be.land_type===1?"grassland":"woodland"}),p=Ze(()=>{const H=[],re=new Set;return(r[f.value]||r.woodland).forEach(([se,Be])=>{const we=_(d.value,se,Be,re);we&&!H.some(ve=>ve.label===we.label)&&(H.push(we),re.add(we.sourceKey))}),H.some(se=>se.label==="图斑面积")||v(H,re,"图斑面积",G(h.value),"geometry-area"),Object.entries(d.value).forEach(([se,Be])=>{if(re.has(se)||V(se,Be))return;const we=x(se,Be);S(we)&&(H.some(ve=>ve.value===we||ve.label===(s[se]||J(se)))||(H.push({key:`fallback-${se}`,sourceKey:se,label:s[se]||J(se),value:we}),re.add(se)))}),H}),g=Ze(()=>p.value.map((H,re)=>V2(y2({},H),{displayOrder:m(H,re)})).sort((H,re)=>H.displayOrder-re.displayOrder));function m(H,re){const ee=(H==null?void 0:H.label)||"",se=String((H==null?void 0:H.sourceKey)||"").toLowerCase();return["所在乡镇","所在村","所在区域","图斑编号","图斑面积","小班面积","图斑地类面积","地类名称","湿地类型"].includes(ee)?re:["基本草原类型","草原类型","草原类","草原型","湿地草地型","草原级别","湿地级别","退化等级","功能类别","保护等级","森林类别","林种","质量等级","优势树种","起源","龄组"].includes(ee)?100+re:ee.includes("产量")||ee.includes("亩产")||ee.includes("植被")||ee.includes("优势草种")||ee.includes("优势度")||ee.includes("海拔")||ee.includes("地貌")||ee.includes("坡")||ee.includes("土壤")||ee.includes("郁闭度")||ee.includes("树高")||ee.includes("蓄积")||ee.includes("生物量")||ee.includes("碳储量")?200+re:ee.includes("权属")||ee.includes("所有权")||ee.includes("使用权")||ee.includes("经营权")||ee.includes("调查")||ee.includes("调整")||ee.includes("划区")||ee.includes("单位")||se.includes("owner")||se.includes("qsdw")||se.includes("zldw")?300+re:150+re}function v(H,re,ee,se,Be){!S(se)||H.some(we=>we.label===ee||we.value===se)||(H.push({key:`static-${Be}`,sourceKey:Be,label:ee,value:se}),re.add(Be))}function _(H,re,ee,se=new Set){for(const Be of re)if(!(se.has(Be)||L(Be))&&S(H==null?void 0:H[Be])){const we=x(Be,H[Be]);if(!S(we))continue;return{key:`${ee}-${Be}`,sourceKey:Be,label:ee,value:we}}return null}function S(H){return H!=null&&H!==""&&H!==" "&&H!=="null"&&H!=="undefined"}function x(H,re){var Be;if(!S(re))return"";if((Be=a[H])!=null&&Be[String(re)])return a[H][String(re)];if(["xiang","xzqdm","town_code","area_code"].includes(H))return A(re);if(["cun","village_code"].includes(H)&&C(re))return"";if(["grassland_level","level"].includes(H)&&M(re))return f.value==="wetland"?`${Number(re)}级湿地`:`${Number(re)}级草原`;if(o.has(H)&&C(re)||Y(H,re))return"";if(D(H))return E(re);if(typeof re=="number"||/^-?\d+(\.\d+)?$/.test(String(re))){const we=Number(re);if(we===0&&u.has(H))return"";const ve=Number.isInteger(we)?`${we}`:`${Number(we.toFixed(2))}`;return["xbmj","tbdlmj","geomj","area_square_meter"].includes(H)?`${I(we/666.6667)} 亩`:["acreage","mj","area_mu"].includes(H)?`${ve} 亩`:["length_meter"].includes(H)?`${ve} 米`:["totalAcreage","cdAcreage","sdAcreage"].includes(H)?`${ve} 万亩`:["cdScl","sdScl"].includes(H)?`${ve} 万吨`:["areaWanMu","area_wan_mu"].includes(H)?`${ve} 万亩`:["xc_yield","xb_xc_yield","gc_yield","xb_gc_yield","edible_xc_yield","grass_yield"].includes(H)?`${ve} 斤`:["mu_yield","xc_mu_yield","gc_mu_yield","xb_xc_mu_yield","xb_gc_mu_yield","edible_xc_mu_yield"].includes(H)?`${ve} 斤`:["vegetation_cover","lbmjbl","yu_bi_du"].includes(H)?`${ve}%`:["elevation","tu_ceng_hd","pingjun_sg"].includes(H)?`${ve} 米`:["po_du","slope"].includes(H)?`${ve}°`:ve}const se=String(re);return f.value==="wetland"&&["grassland_level","level"].includes(H)?se.replace(/草原/g,"湿地"):se}function A(H){const re=String(H||"").trim();if(!re)return"";const ee=re.replace(/\D/g,""),se=Sf(ee||re);return se||(C(re)?"":re)}function C(H){return/^[0-9A-Za-z_-]{1,12}$/.test(String(H).trim())}function M(H){return/^-?\d+(\.\d+)?$/.test(String(H).trim())}function I(H){return Number.isInteger(H)?`${H}`:`${Number(H.toFixed(2))}`}function D(H){return["survey_time","dc_rq","create_time","update_time"].includes(String(H))}function E(H){const re=String(H);return/^\d{4}-\d{2}-\d{2}/.test(re)?re.slice(0,10):re}function L(H){const re=String(H).toLowerCase();return["geom","wkt","geometry","the_geom","raw_properties"].includes(re)||["bsm","ysdm","gid","id","objectid","object_id","fid","key_uid"].includes(re)||["shape_leng","shape_length","length","perimeter"].includes(re)?!0:["xzqdm","area_code","town_code","patch_no","land_number"].includes(re)?!1:["di_lei","qykz","stqw","lyfq","tbybh","patch_code"].includes(re)||re.endsWith("_code")||re.endsWith("dm")||re.endsWith("_id")||["create_by","create_time","update_by","update_time"].includes(re)?!0:re.includes("geom")||re.includes("boundary")||re.includes("wkb")}function V(H,re){var se;if(L(H)||!S(re))return!0;const ee=String(H).toLowerCase();return!!(c.has(ee)||ee.includes("number")||ee.includes("patch_no")||!l.has(H)||C(re)&&!((se=a[H])!=null&&se[String(re)])&&!["xiang","xzqdm","town_code","area_code","cun","land_type","grassland_level","level","gjgyl_bhdj","bh_dj","ld_qs","qsxz","tdsyqs","zl_dj"].includes(H))}function Y(H,re){var ee;return!C(re)||(ee=a[H])!=null&&ee[String(re)]?!1:["resource_type","grassland category","functional_category","aspect","soil_depth","soil texture","cdsyq","cdsyq2","cdjjq"].includes(H)}function G(H){const re=W(H);if(!re)return"";const ee=re/666.6667;return ee>=1e4?`${I(ee/1e4)} 万亩`:`${I(ee)} 亩`}function W(H){return H!=null&&H.coordinates?H.type==="Polygon"?q(H.coordinates):H.type==="MultiPolygon"?H.coordinates.reduce((re,ee)=>re+q(ee),0):0:0}function q(H=[]){if(!H.length)return 0;const[re,...ee]=H,se=Math.abs(ce(re)),Be=ee.reduce((we,ve)=>we+Math.abs(ce(ve)),0);return Math.max(0,se-Be)}function ce(H=[]){if(H.length<3)return 0;const re=H.reduce((we,ve)=>we+Number((ve==null?void 0:ve[1])||0),0)/H.length,ee=111320,se=ee*Math.cos(re*Math.PI/180);let Be=0;for(let we=0;we<H.length;we++){const ve=H[we],Ke=H[(we+1)%H.length],p2=Number((ve==null?void 0:ve[0])||0)*se,c2=Number((ve==null?void 0:ve[1])||0)*ee,s2=Number((Ke==null?void 0:Ke[0])||0)*se,R2=Number((Ke==null?void 0:Ke[1])||0)*ee;Be+=p2*R2-s2*c2}return Be/2}function J(H){return String(H).replace(/_/g," ").replace(/\b\w/g,re=>re.toUpperCase())}return(H,re)=>(Ee(),K0(x3,{title:"图斑详情",width:n.width,height:n.height},{default:s3(()=>[k("div",jVe,[n.loading?(Ee(),De("div",$Ve,"正在查询图斑信息")):n.empty?(Ee(),De("div",YVe,"当前点击位置未查询到图斑")):n.feature?(Ee(),De(gt,{key:3},[g.value.length?(Ee(),De("div",XVe,[(Ee(!0),De(gt,null,Mt(g.value,ee=>(Ee(),De("div",{key:ee.key,class:"feature-row"},[k("span",null,Ue(ee.label),1),k("strong",{title:ee.value},Ue(ee.value),9,KVe)]))),128))])):(Ee(),De("div",ZVe,"当前图斑暂无可展示的业务字段"))],64)):(Ee(),De("div",qVe,"点击地图图层查看图斑/要素信息"))])]),_:1},8,["width","height"]))}};const JVe={class:"forest-grass-wet"},QVe={class:"forest-grass-wet-ui",id:"forest-grass-wet-ui"},eHe={class:"fgw-left"},tHe={class:"fgw-side-stack is-left"},nHe={class:"fgw-right"},iHe={class:"fgw-side-stack is-right"},rHe={class:"fgw-map-layer-tools"},aHe={class:"fgw-bottom-topic"},oHe={key:0,class:"loading"},sHe={class:"loading-progress"},lHe={class:"value"},uHe={__name:"index",props:{showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["topic-stats"],setup(n,{emit:e}){const t=n,i=e,r=U2(null),a=U2(J7[0].key),o=U2(""),s=U2([]),l=U2("idle"),u=U2(!1),c=U2({title:"业务统计",rows:[]}),d=U2({title:"业务统计",rows:[]}),h=U2([]),f=U2([]),p=U2(null),g=U2(""),m=U2(null),v=U2(!1),_=U2(!1),S=U2(null),x=U2(0),A=U2(t.showLoading),C=U2({type:"idle",text:"等待 GeoServer 图层加载"});let M=null,I=!1,D=!1,E=!1,L=null,V=0,Y=0,G=!1,W=!1;const q=new Set(["grassland-distribution","wetland-distribution","woodland-distribution","woodland-protection","woodland-type","woodland-quality","woodland-ownership"]);Ze(()=>ej(a.value));const ce=Ze(()=>o.value?bf(a.value,o.value):null),J=Ze(()=>{var ye;return(((ye=ce.value)==null?void 0:ye.legends)||[]).find(Le=>Le.key===g.value)||null}),H=Ze(()=>{var Le;const ye=ce.value;return!ye||!((Le=J.value)!=null&&Le.cqlFilter)?ye:V2(y2({},ye),{cqlFilter:J.value.cqlFilter,activeLegend:J.value,name:J.value.name||ye.name})}),re=Ze(()=>190),ee=Ze(()=>12),se=Ze(()=>re.value*2+ee.value),Be=Ze(()=>!!S.value),we=Ze(()=>{if(_.value||v.value||!m.value)return 186;const ye=z(m.value);return Math.min(480,Math.max(300,86+Math.min(ye,12)*34))}),ve=Ze(()=>{if(!S.value)return{};const ye=460,Le=we.value,t2=24,Oe=Ke(S.value),T2=Oe.x>1420?-ye-28:28,o2=Math.min(Math.max(Oe.x+T2,t2),1920-ye-t2),q2=Math.min(Math.max(Oe.y-Le-72,188),1080-Le-132);return{left:`${o2}px`,top:`${q2}px`,right:"auto",bottom:"auto"}});function Ke(ye){const Le=document.querySelector(".forest-grass-wet"),t2=Le==null?void 0:Le.getBoundingClientRect();return!(t2!=null&&t2.width)||!(t2!=null&&t2.height)?ye:{x:(ye.x-t2.left)/t2.width*1920,y:(ye.y-t2.top)/t2.height*1080}}_r(()=>{document.addEventListener("pointerdown",m2,!0),p2(),R2(a.value,""),Q2(a.value,"")}),Yr(()=>{I=!0,L&&window.clearTimeout(L),document.removeEventListener("pointerdown",m2,!0)}),U1(a,ye=>{G=!0,g.value="",o.value="",d2(),C.value={type:"idle",text:"等待 GeoServer 图层加载"},R2(ye,""),Q2(ye,"",null),Nn(()=>{G=!1})}),U1(o,()=>{G||(W=!0,g.value="",d2(),C.value={type:o.value?"loading":"idle",text:o.value?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},R2(a.value,o.value),Q2(a.value,o.value,null),Nn(()=>{W=!1}))}),U1(g,()=>{G||W||(d2(),Q2(a.value,o.value,J.value))}),U1(()=>t.active,ye=>{var Le,t2,Oe,T2;r.value&&(ye?(c2(),(t2=(Le=r.value).resume)==null||t2.call(Le)):(T2=(Oe=r.value).pause)==null||T2.call(Oe))});function p2(){var t2;M=new Eu;const ye={progress:0};M.instance.on("onProgress",(Oe,T2,o2)=>{const q2=Math.floor(T2/o2*100);O0.to(ye,{progress:q2,onUpdate:()=>{x.value=Math.floor(ye.progress)}})});const Le=()=>{I||D||(D=!0,c2())};M.instance.on("onLoad",Le),(t2=M.ready)==null||t2.then(Le).catch(()=>{I||(C.value={type:"error",text:"地图资源加载失败"})})}function c2(){I||!t.active||!D||E||(E=!0,L&&window.clearTimeout(L),L=window.setTimeout(()=>{L=null,s2()},600))}function s2(ye=0){return Z2(this,null,function*(){var Le,t2,Oe;if(!I){if(!t.active){E=!1;return}if(yield Nn(),!t.active){E=!1;return}if((Le=r.value)==null||Le.loadMap(M),(t2=r.value)!=null&&t2.canvasMap){yield Te(),yield Nn(),(Oe=r.value)==null||Oe.play();return}if(ye<24){window.setTimeout(()=>s2(ye+1),120);return}E=!1}})}function R2(t2){return Z2(this,arguments,function*(ye,Le=o.value){const Oe=++Y;u.value=!0,l.value="loading";const T2=yield mv(ye,Le);I||Oe!==Y||ye===a.value&&(Le||"")===(o.value||"")&&w2(T2,ye)})}function w2(ye,Le){var Oe,T2,o2;const t2=Re(ye);s.value=t2.core||[],c.value=t2.left||{title:"业务统计",rows:[]},d.value=t2.right||{title:"业务统计",rows:[]},h.value=(Oe=t2.leftPanels)!=null&&Oe.length?t2.leftPanels:[c.value],f.value=(T2=t2.rightPanels)!=null&&T2.length?t2.rightPanels:[d.value],l.value=t2.status,u.value=!1,i("topic-stats",{topicKey:Le,topicName:ej(Le).name,items:((o2=t2.top)!=null&&o2.length?t2.top:t2.core||[]).slice(0,4)})}function Re(ye){return ye||{}}function k2(ye,Le){return`${a.value}-${Le}-${(ye==null?void 0:ye.key)||(ye==null?void 0:ye.title)||"panel"}`}function x2(ye){var t2;const Le=((t2=ye==null?void 0:ye.rows)==null?void 0:t2.length)||0;return(ye==null?void 0:ye.span)===1?!1:(ye==null?void 0:ye.span)===2?!0:(ye==null?void 0:ye.type)==="spotlight"||(ye==null?void 0:ye.type)==="metric"||(ye==null?void 0:ye.type)==="column"&&Le<=5?!1:(ye==null?void 0:ye.type)==="rank"&&Le>4||(ye==null?void 0:ye.type)==="split"&&Le>4||(ye==null?void 0:ye.type)==="donut"&&Le>5||(ye==null?void 0:ye.type)==="structure"&&Le>4||(ye==null?void 0:ye.type)==="bar"&&Le>4||(ye==null?void 0:ye.type)==="line"&&Le>6}function D2(ye){return x2(ye)?se.value:re.value}function z(ye){var T2;const Le=(ye==null?void 0:ye.properties)||{},t2=Object.keys(Le).filter(o2=>{const q2=Le[o2];if(q2==null||q2==="")return!1;const K2=o2.toLowerCase();return!(["geom","wkt","geometry","the_geom","shape_leng","shape_length","length","perimeter"].includes(K2)||["gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].includes(K2))}),Oe=!!((T2=ye==null?void 0:ye.feature)!=null&&T2.geometry||ye!=null&&ye.geometry);return t2.length+(Oe?1:0)}function Q2(Oe,T2){return Z2(this,arguments,function*(ye,Le,t2=J.value){const o2=++V;if(!Le||!Y2(Le,t2)){p.value=Ae(ye,Le);return}const q2=yield HGe(ye,Le,t2);I||o2!==V||ye!==a.value||Le!==o.value||((t2==null?void 0:t2.key)||"")===g.value&&(p.value=q2)})}function Y2(ye,Le=null){return!!(Le!=null&&Le.key)||q.has(ye)}function Ae(ye,Le){return{status:"disabled",topicKey:ye,layerKey:Le,title:"",unit:"",rows:[]}}function ge(ye){var t2,Oe;const Le=(Oe=(t2=ye==null?void 0:ye.feature)!=null?t2:ye)!=null?Oe:null;if(!Le){d2();return}m.value=Le,v.value=!1,ye!=null&&ye.screen&&(S.value=ye.screen)}function ke(ye){C.value=ye}function d2(){var ye,Le;m.value=null,v.value=!1,S.value=null,(Le=(ye=r.value)==null?void 0:ye.clearSelectedFeature)==null||Le.call(ye)}function m2(ye){if(!Be.value)return;const Le=document.querySelector(".fgw-map-feature-info"),t2=ye.target;Le&&t2 instanceof Node&&Le.contains(t2)||d2()}function Te(){return A.value?new Promise(ye=>{O0.to(".forest-grass-wet .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{A.value=!1,ye()}})}):Promise.resolve()}return(ye,Le)=>{var t2;return Ee(),De("div",JVe,[dt(Mu,{ref_key:"mapSceneRef",ref:r,"active-layer":H.value,"map-ranking":p.value,onFeatureLoading:Le[0]||(Le[0]=Oe=>_.value=Oe),onFeatureInfo:ge,onLayerStatus:ke},null,8,["active-layer","map-ranking"]),k("div",QVe,[k("div",eHe,[k("div",tHe,[(Ee(!0),De(gt,null,Mt(h.value,Oe=>(Ee(),K0(x3,{key:k2(Oe,"left"),class:Ht(["fgw-side-card left-card",{"is-double":x2(Oe)}]),title:Oe.title,width:398,height:D2(Oe)},{default:s3(()=>[dt(Di,{panel:Oe,compact:""},null,8,["panel"])]),_:2},1032,["class","title","height"]))),128))])]),k("div",nHe,[k("div",iHe,[(Ee(!0),De(gt,null,Mt(f.value,Oe=>(Ee(),K0(x3,{key:k2(Oe,"right"),class:Ht(["fgw-side-card right-card",{"is-double":x2(Oe)}]),title:Oe.title,width:398,height:D2(Oe)},{default:s3(()=>[dt(Di,{panel:Oe,compact:""},null,8,["panel"])]),_:2},1032,["class","title","height"]))),128))])]),k("div",rHe,[dt(qL,{modelValue:o.value,"onUpdate:modelValue":Le[1]||(Le[1]=Oe=>o.value=Oe),"selected-legend-key":g.value,"onUpdate:selectedLegendKey":Le[2]||(Le[2]=Oe=>g.value=Oe),"topic-key":a.value,legends:((t2=H.value)==null?void 0:t2.legends)||[],width:248,height:430},null,8,["modelValue","selected-legend-key","topic-key","legends"])]),Be.value?(Ee(),De("div",{key:0,class:"fgw-map-feature-info",style:J3(ve.value)},[dt(lte,{feature:m.value,empty:v.value,loading:_.value,width:460,height:we.value},null,8,["feature","empty","loading","height"])],4)):Tt("",!0),k("div",aHe,[dt(yS,{modelValue:a.value,"onUpdate:modelValue":Le[3]||(Le[3]=Oe=>a.value=Oe)},null,8,["modelValue"])])]),A.value?(Ee(),De("div",oHe,[Le[5]||(Le[5]=D8('<div class="loading-text"><span style="--index:1;">L</span><span style="--index:2;">O</span><span style="--index:3;">A</span><span style="--index:4;">D</span><span style="--index:5;">I</span><span style="--index:6;">N</span><span style="--index:7;">G</span></div>',1)),k("div",sHe,[k("span",lHe,Ue(x.value),1),Le[4]||(Le[4]=k("span",{class:"unit"},"%",-1))])])):Tt("",!0)])}}};function cHe(n){n("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),n("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),n("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var e=1;e<=60;++e)n("EPSG:"+(32600+e),"+proj=utm +zone="+e+" +datum=WGS84 +units=m"),n("EPSG:"+(32700+e),"+proj=utm +zone="+e+" +south +datum=WGS84 +units=m");n("EPSG:5041","+title=WGS 84 / UPS North (E,N) +proj=stere +lat_0=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),n("EPSG:5042","+title=WGS 84 / UPS South (E,N) +proj=stere +lat_0=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),n.WGS84=n["EPSG:4326"],n["EPSG:3785"]=n["EPSG:3857"],n.GOOGLE=n["EPSG:3857"],n["EPSG:900913"]=n["EPSG:3857"],n["EPSG:102113"]=n["EPSG:3857"]}var pl=1,ml=2,x7=3,dHe=4,mE=5,wj=6378137,hHe=6356752314e-3,Tj=.0066943799901413165,Od=484813681109536e-20,ht=Math.PI/2,fHe=.16666666666666666,pHe=.04722222222222222,mHe=.022156084656084655,At=1e-10,k0=.017453292519943295,ar=57.29577951308232,O1=Math.PI/4,Uh=Math.PI*2,Y0=3.14159265359,br={};br.greenwich=0;br.lisbon=-9.131906111111;br.paris=2.337229166667;br.bogota=-74.080916666667;br.madrid=-3.687938888889;br.rome=12.452333333333;br.bern=7.439583333333;br.jakarta=106.807719444444;br.ferro=-17.666666666667;br.brussels=4.367975;br.stockholm=18.058277777778;br.athens=23.7163375;br.oslo=10.722916666667;const gHe={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.1},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}};var Aj=/[\s_\-\/\(\)]/g;function J5(n,e){if(n[e])return n[e];for(var t=Object.keys(n),i=e.toLowerCase().replace(Aj,""),r=-1,a,o;++r<t.length;)if(a=t[r],o=a.toLowerCase().replace(Aj,""),o===i)return n[a]}function gE(n){var e={},t=n.split("+").map(function(s){return s.trim()}).filter(function(s){return s}).reduce(function(s,l){var u=l.split("=");return u.push(!0),s[u[0].toLowerCase()]=u[1],s},{}),i,r,a,o={proj:"projName",datum:"datumCode",rf:function(s){e.rf=parseFloat(s)},lat_0:function(s){e.lat0=s*k0},lat_1:function(s){e.lat1=s*k0},lat_2:function(s){e.lat2=s*k0},lat_ts:function(s){e.lat_ts=s*k0},lon_0:function(s){e.long0=s*k0},lon_1:function(s){e.long1=s*k0},lon_2:function(s){e.long2=s*k0},alpha:function(s){e.alpha=parseFloat(s)*k0},gamma:function(s){e.rectified_grid_angle=parseFloat(s)*k0},lonc:function(s){e.longc=s*k0},x_0:function(s){e.x0=parseFloat(s)},y_0:function(s){e.y0=parseFloat(s)},k_0:function(s){e.k0=parseFloat(s)},k:function(s){e.k0=parseFloat(s)},a:function(s){e.a=parseFloat(s)},b:function(s){e.b=parseFloat(s)},r:function(s){e.a=e.b=parseFloat(s)},r_a:function(){e.R_A=!0},zone:function(s){e.zone=parseInt(s,10)},south:function(){e.utmSouth=!0},towgs84:function(s){e.datum_params=s.split(",").map(function(l){return parseFloat(l)})},to_meter:function(s){e.to_meter=parseFloat(s)},units:function(s){e.units=s;var l=J5(gHe,s);l&&(e.to_meter=l.to_meter)},from_greenwich:function(s){e.from_greenwich=s*k0},pm:function(s){var l=J5(br,s);e.from_greenwich=(l||parseFloat(s))*k0},nadgrids:function(s){s==="@null"?e.datumCode="none":e.nadgrids=s},axis:function(s){var l="ewnsud";s.length===3&&l.indexOf(s.substr(0,1))!==-1&&l.indexOf(s.substr(1,1))!==-1&&l.indexOf(s.substr(2,1))!==-1&&(e.axis=s)},approx:function(){e.approx=!0},over:function(){e.over=!0}};for(i in t)r=t[i],i in o?(a=o[i],typeof a=="function"?a(r):e[a]=r):e[i]=r;return typeof e.datumCode=="string"&&e.datumCode!=="WGS84"&&(e.datumCode=e.datumCode.toLowerCase()),e.projStr=n,e}class ute{static getId(e){const t=e.find(i=>Array.isArray(i)&&i[0]==="ID");return t&&t.length>=3?{authority:t[1],code:parseInt(t[2],10)}:null}static convertUnit(e,t="unit"){if(!e||e.length<3)return{type:t,name:"unknown",conversion_factor:null};const i=e[1],r=parseFloat(e[2])||null,a=e.find(s=>Array.isArray(s)&&s[0]==="ID"),o=a?{authority:a[1],code:parseInt(a[2],10)}:null;return{type:t,name:i,conversion_factor:r,id:o}}static convertAxis(e){const t=e[1]||"Unknown";let i;const r=t.match(/^\((.)\)$/);if(r){const u=r[1].toUpperCase();if(u==="E")i="east";else if(u==="N")i="north";else if(u==="U")i="up";else if(e[2])i=e[2];else throw new Error(`Unknown axis abbreviation: ${u}`)}else i=e[2]||"unknown";const a=e.find(u=>Array.isArray(u)&&u[0]==="ORDER"),o=a?parseInt(a[1],10):null,s=e.find(u=>Array.isArray(u)&&(u[0]==="LENGTHUNIT"||u[0]==="ANGLEUNIT"||u[0]==="SCALEUNIT")),l=this.convertUnit(s);return{name:t,direction:i,unit:l,order:o}}static extractAxes(e){return e.filter(t=>Array.isArray(t)&&t[0]==="AXIS").map(t=>this.convertAxis(t)).sort((t,i)=>(t.order||0)-(i.order||0))}static convert(e,t={}){switch(e[0]){case"PROJCRS":t.type="ProjectedCRS",t.name=e[1],t.base_crs=e.find(h=>Array.isArray(h)&&h[0]==="BASEGEOGCRS")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="BASEGEOGCRS")):null,t.conversion=e.find(h=>Array.isArray(h)&&h[0]==="CONVERSION")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="CONVERSION")):null;const i=e.find(h=>Array.isArray(h)&&h[0]==="CS");i&&(t.coordinate_system={type:i[1],axis:this.extractAxes(e)});const r=e.find(h=>Array.isArray(h)&&h[0]==="LENGTHUNIT");if(r){const h=this.convertUnit(r);t.coordinate_system.unit=h}t.id=this.getId(e);break;case"BASEGEOGCRS":case"GEOGCRS":case"GEODCRS":t.type=e[0]==="GEODCRS"?"GeodeticCRS":"GeographicCRS",t.name=e[1];const a=e.find(h=>Array.isArray(h)&&(h[0]==="DATUM"||h[0]==="ENSEMBLE"));if(a){const h=this.convert(a);a[0]==="ENSEMBLE"?t.datum_ensemble=h:t.datum=h;const f=e.find(p=>Array.isArray(p)&&p[0]==="PRIMEM");f&&f[1]!=="Greenwich"&&(h.prime_meridian={name:f[1],longitude:parseFloat(f[2])})}t.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(e)},t.id=this.getId(e);break;case"DATUM":t.type="GeodeticReferenceFrame",t.name=e[1],t.ellipsoid=e.find(h=>Array.isArray(h)&&h[0]==="ELLIPSOID")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":t.type="DatumEnsemble",t.name=e[1],t.members=e.filter(h=>Array.isArray(h)&&h[0]==="MEMBER").map(h=>({type:"DatumEnsembleMember",name:h[1],id:this.getId(h)}));const o=e.find(h=>Array.isArray(h)&&h[0]==="ENSEMBLEACCURACY");o&&(t.accuracy=parseFloat(o[1]));const s=e.find(h=>Array.isArray(h)&&h[0]==="ELLIPSOID");s&&(t.ellipsoid=this.convert(s)),t.id=this.getId(e);break;case"ELLIPSOID":t.type="Ellipsoid",t.name=e[1],t.semi_major_axis=parseFloat(e[2]),t.inverse_flattening=parseFloat(e[3]),e.find(h=>Array.isArray(h)&&h[0]==="LENGTHUNIT")&&this.convert(e.find(h=>Array.isArray(h)&&h[0]==="LENGTHUNIT"),t);break;case"CONVERSION":t.type="Conversion",t.name=e[1],t.method=e.find(h=>Array.isArray(h)&&h[0]==="METHOD")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="METHOD")):null,t.parameters=e.filter(h=>Array.isArray(h)&&h[0]==="PARAMETER").map(h=>this.convert(h));break;case"METHOD":t.type="Method",t.name=e[1],t.id=this.getId(e);break;case"PARAMETER":t.type="Parameter",t.name=e[1],t.value=parseFloat(e[2]),t.unit=this.convertUnit(e.find(h=>Array.isArray(h)&&(h[0]==="LENGTHUNIT"||h[0]==="ANGLEUNIT"||h[0]==="SCALEUNIT"))),t.id=this.getId(e);break;case"BOUNDCRS":t.type="BoundCRS";const l=e.find(h=>Array.isArray(h)&&h[0]==="SOURCECRS");if(l){const h=l.find(f=>Array.isArray(f));t.source_crs=h?this.convert(h):null}const u=e.find(h=>Array.isArray(h)&&h[0]==="TARGETCRS");if(u){const h=u.find(f=>Array.isArray(f));t.target_crs=h?this.convert(h):null}const c=e.find(h=>Array.isArray(h)&&h[0]==="ABRIDGEDTRANSFORMATION");c?t.transformation=this.convert(c):t.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(t.type="Transformation",t.name=e[1],t.method=e.find(h=>Array.isArray(h)&&h[0]==="METHOD")?this.convert(e.find(h=>Array.isArray(h)&&h[0]==="METHOD")):null,t.parameters=e.filter(h=>Array.isArray(h)&&(h[0]==="PARAMETER"||h[0]==="PARAMETERFILE")).map(h=>{if(h[0]==="PARAMETER")return this.convert(h);if(h[0]==="PARAMETERFILE")return{name:h[1],value:h[2],id:{authority:"EPSG",code:8656}}}),t.parameters.length===7){const h=t.parameters[6];h.name==="Scale difference"&&(h.value=Math.round((h.value-1)*1e12)/1e6)}t.id=this.getId(e);break;case"AXIS":t.coordinate_system||(t.coordinate_system={type:"unspecified",axis:[]}),t.coordinate_system.axis.push(this.convertAxis(e));break;case"LENGTHUNIT":const d=this.convertUnit(e,"LinearUnit");t.coordinate_system&&t.coordinate_system.axis&&t.coordinate_system.axis.forEach(h=>{h.unit||(h.unit=d)}),d.conversion_factor&&d.conversion_factor!==1&&t.semi_major_axis&&(t.semi_major_axis={value:t.semi_major_axis,unit:d});break;default:t.keyword=e[0];break}return t}}class vHe extends ute{static convert(e,t={}){return super.convert(e,t),t.coordinate_system&&t.coordinate_system.subtype==="Cartesian"&&delete t.coordinate_system,t.usage&&delete t.usage,t}}class yHe extends ute{static convert(e,t={}){super.convert(e,t);const i=e.find(a=>Array.isArray(a)&&a[0]==="CS");i&&(t.coordinate_system={subtype:i[1],axis:this.extractAxes(e)});const r=e.find(a=>Array.isArray(a)&&a[0]==="USAGE");if(r){const a=r.find(l=>Array.isArray(l)&&l[0]==="SCOPE"),o=r.find(l=>Array.isArray(l)&&l[0]==="AREA"),s=r.find(l=>Array.isArray(l)&&l[0]==="BBOX");t.usage={},a&&(t.usage.scope=a[1]),o&&(t.usage.area=o[1]),s&&(t.usage.bbox=s.slice(1))}return t}}function _He(n){return n.find(e=>Array.isArray(e)&&e[0]==="USAGE")?"2019":(n.find(e=>Array.isArray(e)&&e[0]==="CS")||n[0]==="BOUNDCRS"||n[0]==="PROJCRS"||n[0]==="GEOGCRS","2015")}function SHe(n){return(_He(n)==="2019"?yHe:vHe).convert(n)}function bHe(n){const e=n.toUpperCase();return e.includes("PROJCRS")||e.includes("GEOGCRS")||e.includes("BOUNDCRS")||e.includes("VERTCRS")||e.includes("LENGTHUNIT")||e.includes("ANGLEUNIT")||e.includes("SCALEUNIT")?"WKT2":(e.includes("PROJCS")||e.includes("GEOGCS")||e.includes("LOCAL_CS")||e.includes("VERT_CS")||e.includes("UNIT"),"WKT1")}var Gh=1,cte=2,dte=3,Xy=4,hte=5,XL=-1,xHe=/\s/,wHe=/[A-Za-z]/,THe=/[A-Za-z84_]/,_S=/[,\]]/,fte=/[\d\.E\-\+]/;function S6(n){if(typeof n!="string")throw new Error("not a string");this.text=n.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=Gh}S6.prototype.readCharicter=function(){var n=this.text[this.place++];if(this.state!==Xy)for(;xHe.test(n);){if(this.place>=this.text.length)return;n=this.text[this.place++]}switch(this.state){case Gh:return this.neutral(n);case cte:return this.keyword(n);case Xy:return this.quoted(n);case hte:return this.afterquote(n);case dte:return this.number(n);case XL:return}};S6.prototype.afterquote=function(n){if(n==='"'){this.word+='"',this.state=Xy;return}if(_S.test(n)){this.word=this.word.trim(),this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in afterquote yet, index '+this.place)};S6.prototype.afterItem=function(n){if(n===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=Gh;return}if(n==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=Gh,this.currentObject=this.stack.pop(),this.currentObject||(this.state=XL);return}};S6.prototype.number=function(n){if(fte.test(n)){this.word+=n;return}if(_S.test(n)){this.word=parseFloat(this.word),this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in number yet, index '+this.place)};S6.prototype.quoted=function(n){if(n==='"'){this.state=hte;return}this.word+=n};S6.prototype.keyword=function(n){if(THe.test(n)){this.word+=n;return}if(n==="["){var e=[];e.push(this.word),this.level++,this.root===null?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,this.state=Gh;return}if(_S.test(n)){this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in keyword yet, index '+this.place)};S6.prototype.neutral=function(n){if(wHe.test(n)){this.word=n,this.state=cte;return}if(n==='"'){this.word="",this.state=Xy;return}if(fte.test(n)){this.word=n,this.state=dte;return}if(_S.test(n)){this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in neutral yet, index '+this.place)};S6.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===XL)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function AHe(n){var e=new S6(n);return e.output()}function CA(n,e,t){Array.isArray(e)&&(t.unshift(e),e=null);var i=e?{}:n,r=t.reduce(function(a,o){return r7(o,a),a},i);e&&(n[e]=r)}function r7(n,e){if(!Array.isArray(n)){e[n]=!0;return}var t=n.shift();if(t==="PARAMETER"&&(t=n.shift()),n.length===1){if(Array.isArray(n[0])){e[t]={},r7(n[0],e[t]);return}e[t]=n[0];return}if(!n.length){e[t]=!0;return}if(t==="TOWGS84"){e[t]=n;return}if(t==="AXIS"){t in e||(e[t]=[]),e[t].push(n);return}Array.isArray(t)||(e[t]={});var i;switch(t){case"UNIT":case"PRIMEM":case"VERT_DATUM":e[t]={name:n[0].toLowerCase(),convert:n[1]},n.length===3&&r7(n[2],e[t]);return;case"SPHEROID":case"ELLIPSOID":e[t]={name:n[0],a:n[1],rf:n[2]},n.length===4&&r7(n[3],e[t]);return;case"EDATUM":case"ENGINEERINGDATUM":case"LOCAL_DATUM":case"DATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":n[0]=["name",n[0]],CA(e,t,n);return;case"COMPD_CS":case"COMPOUNDCRS":case"FITTED_CS":case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"ENGCRS":case"ENGINEERINGCRS":n[0]=["name",n[0]],CA(e,t,n),e[t].type=t;return;default:for(i=-1;++i<n.length;)if(!Array.isArray(n[i]))return r7(n,e[t]);return CA(e,t,n)}}var CHe=.017453292519943295;function ha(n){return n*CHe}function pte(n){const e=(n.projName||"").toLowerCase().replace(/_/g," ");n.long0===void 0&&n.longc!==void 0&&(n.long0=n.longc),!n.lat_ts&&n.lat1&&(e==="stereographic south pole"||e==="polar stereographic (variant b)")?(n.lat0=ha(n.lat1>0?90:-90),n.lat_ts=n.lat1,delete n.lat1):!n.lat_ts&&n.lat0&&(e==="polar stereographic"||e==="polar stereographic (variant a)")&&(n.lat_ts=n.lat0,n.lat0=ha(n.lat0>0?90:-90),delete n.lat1)}function Cj(n){let e={units:null,to_meter:void 0};return typeof n=="string"?(e.units=n.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.units==="meter"&&(e.to_meter=1)):n&&n.name&&(e.units=n.name.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.to_meter=n.conversion_factor),e}function Mj(n){return typeof n=="object"?n.value*n.unit.conversion_factor:n}function Ej(n,e){n.ellipsoid.radius?(e.a=n.ellipsoid.radius,e.rf=0):(e.a=Mj(n.ellipsoid.semi_major_axis),n.ellipsoid.inverse_flattening!==void 0?e.rf=n.ellipsoid.inverse_flattening:n.ellipsoid.semi_major_axis!==void 0&&n.ellipsoid.semi_minor_axis!==void 0&&(e.rf=e.a/(e.a-Mj(n.ellipsoid.semi_minor_axis))))}function Ky(n,e={}){return!n||typeof n!="object"?n:n.type==="BoundCRS"?(Ky(n.source_crs,e),n.transformation&&(n.transformation.method&&n.transformation.method.name==="NTv2"?e.nadgrids=n.transformation.parameters[0].value:e.datum_params=n.transformation.parameters.map(t=>t.value)),e):(Object.keys(n).forEach(t=>{const i=n[t];if(i!==null)switch(t){case"name":if(e.srsCode)break;e.name=i,e.srsCode=i;break;case"type":i==="GeographicCRS"?e.projName="longlat":i==="GeodeticCRS"?n.coordinate_system&&n.coordinate_system.subtype==="Cartesian"?e.projName="geocent":e.projName="longlat":i==="ProjectedCRS"&&n.conversion&&n.conversion.method&&(e.projName=n.conversion.method.name);break;case"datum":case"datum_ensemble":i.ellipsoid&&(e.ellps=i.ellipsoid.name,Ej(i,e)),i.prime_meridian&&(e.from_greenwich=i.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":e.ellps=i.name,Ej(i,e);break;case"prime_meridian":e.long0=(i.longitude||0)*Math.PI/180;break;case"coordinate_system":if(i.axis){const r={east:"e",north:"n",west:"w",south:"s",up:"u",down:"d",geocentricx:"e",geocentricy:"n",geocentricz:"u"},a=i.axis.map(o=>r[o.direction.toLowerCase()]);if(a.every(Boolean)&&(e.axis=a.join(""),e.axis.length===2&&(e.axis+="u")),i.unit){const{units:o,to_meter:s}=Cj(i.unit);e.units=o,e.to_meter=s}else if(i.axis[0]&&i.axis[0].unit){const{units:o,to_meter:s}=Cj(i.axis[0].unit);e.units=o,e.to_meter=s}}break;case"id":i.authority&&i.code&&(e.title=i.authority+":"+i.code);break;case"conversion":i.method&&i.method.name&&(e.projName=i.method.name),i.parameters&&i.parameters.forEach(r=>{const a=r.name.toLowerCase().replace(/\s+/g,"_"),o=r.value;r.unit&&r.unit.conversion_factor?e[a]=o*r.unit.conversion_factor:r.unit==="degree"?e[a]=o*Math.PI/180:e[a]=o});break;case"unit":i.name&&(e.units=i.name.toLowerCase(),e.units==="metre"&&(e.units="meter")),i.conversion_factor&&(e.to_meter=i.conversion_factor);break;case"base_crs":Ky(i,e),e.datumCode=i.id?i.id.authority+"_"+i.id.code:i.name;break}}),e.latitude_of_false_origin!==void 0&&(e.lat0=e.latitude_of_false_origin),e.longitude_of_false_origin!==void 0&&(e.long0=e.longitude_of_false_origin),e.latitude_of_standard_parallel!==void 0&&(e.lat0=e.latitude_of_standard_parallel,e.lat1=e.latitude_of_standard_parallel),e.latitude_of_1st_standard_parallel!==void 0&&(e.lat1=e.latitude_of_1st_standard_parallel),e.latitude_of_2nd_standard_parallel!==void 0&&(e.lat2=e.latitude_of_2nd_standard_parallel),e.latitude_of_projection_centre!==void 0&&(e.lat0=e.latitude_of_projection_centre),e.longitude_of_projection_centre!==void 0&&(e.longc=e.longitude_of_projection_centre),e.easting_at_false_origin!==void 0&&(e.x0=e.easting_at_false_origin),e.northing_at_false_origin!==void 0&&(e.y0=e.northing_at_false_origin),e.latitude_of_natural_origin!==void 0&&(e.lat0=e.latitude_of_natural_origin),e.longitude_of_natural_origin!==void 0&&(e.long0=e.longitude_of_natural_origin),e.longitude_of_origin!==void 0&&(e.long0=e.longitude_of_origin),e.false_easting!==void 0&&(e.x0=e.false_easting),e.easting_at_projection_centre&&(e.x0=e.easting_at_projection_centre),e.false_northing!==void 0&&(e.y0=e.false_northing),e.northing_at_projection_centre&&(e.y0=e.northing_at_projection_centre),e.standard_parallel_1!==void 0&&(e.lat1=e.standard_parallel_1),e.standard_parallel_2!==void 0&&(e.lat2=e.standard_parallel_2),e.scale_factor_at_natural_origin!==void 0&&(e.k0=e.scale_factor_at_natural_origin),e.scale_factor_at_projection_centre!==void 0&&(e.k0=e.scale_factor_at_projection_centre),e.scale_factor_on_pseudo_standard_parallel!==void 0&&(e.k0=e.scale_factor_on_pseudo_standard_parallel),e.azimuth!==void 0&&(e.alpha=e.azimuth),e.azimuth_at_projection_centre!==void 0&&(e.alpha=e.azimuth_at_projection_centre),e.angle_from_rectified_to_skew_grid&&(e.rectified_grid_angle=e.angle_from_rectified_to_skew_grid),pte(e),e)}var MHe=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function EHe(n,e){var t=e[0],i=e[1];!(t in n)&&i in n&&(n[t]=n[i],e.length===3&&(n[t]=e[2](n[t])))}function mte(n){for(var e=Object.keys(n),t=0,i=e.length;t<i;++t){var r=e[t];MHe.indexOf(r)!==-1&&PHe(n[r]),typeof n[r]=="object"&&mte(n[r])}}function PHe(n){if(n.AUTHORITY){var e=Object.keys(n.AUTHORITY)[0];e&&e in n.AUTHORITY&&(n.title=e+":"+n.AUTHORITY[e])}if(n.type==="GEOGCS"?n.projName="longlat":n.type==="LOCAL_CS"?(n.projName="identity",n.local=!0):typeof n.PROJECTION=="object"?n.projName=Object.keys(n.PROJECTION)[0]:n.projName=n.PROJECTION,n.AXIS){for(var t="",i=0,r=n.AXIS.length;i<r;++i){var a=[n.AXIS[i][0].toLowerCase(),n.AXIS[i][1].toLowerCase()];a[0].indexOf("north")!==-1||(a[0]==="y"||a[0]==="lat")&&a[1]==="north"?t+="n":a[0].indexOf("south")!==-1||(a[0]==="y"||a[0]==="lat")&&a[1]==="south"?t+="s":a[0].indexOf("east")!==-1||(a[0]==="x"||a[0]==="lon")&&a[1]==="east"?t+="e":(a[0].indexOf("west")!==-1||(a[0]==="x"||a[0]==="lon")&&a[1]==="west")&&(t+="w")}t.length===2&&(t+="u"),t.length===3&&(n.axis=t)}n.UNIT&&(n.units=n.UNIT.name.toLowerCase(),n.units==="metre"&&(n.units="meter"),n.UNIT.convert&&(n.type==="GEOGCS"?n.DATUM&&n.DATUM.SPHEROID&&(n.to_meter=n.UNIT.convert*n.DATUM.SPHEROID.a):n.to_meter=n.UNIT.convert));var o=n.GEOGCS;n.type==="GEOGCS"&&(o=n),o&&(o.PRIMEM&&o.PRIMEM.convert&&(n.from_greenwich=ha(o.PRIMEM.convert)),o.DATUM?n.datumCode=o.DATUM.name.toLowerCase():n.datumCode=o.name.toLowerCase(),n.datumCode.slice(0,2)==="d_"&&(n.datumCode=n.datumCode.slice(2)),n.datumCode==="new_zealand_1949"&&(n.datumCode="nzgd49"),(n.datumCode==="wgs_1984"||n.datumCode==="world_geodetic_system_1984")&&(n.PROJECTION==="Mercator_Auxiliary_Sphere"&&(n.sphere=!0),n.datumCode="wgs84"),n.datumCode==="belge_1972"&&(n.datumCode="rnb72"),o.DATUM&&o.DATUM.SPHEROID&&(n.ellps=o.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),n.ellps.toLowerCase().slice(0,13)==="international"&&(n.ellps="intl"),n.a=o.DATUM.SPHEROID.a,n.rf=parseFloat(o.DATUM.SPHEROID.rf)),o.DATUM&&o.DATUM.TOWGS84&&(n.datum_params=o.DATUM.TOWGS84),~n.datumCode.indexOf("osgb_1936")&&(n.datumCode="osgb36"),~n.datumCode.indexOf("osni_1952")&&(n.datumCode="osni52"),(~n.datumCode.indexOf("tm65")||~n.datumCode.indexOf("geodetic_datum_of_1965"))&&(n.datumCode="ire65"),n.datumCode==="ch1903+"&&(n.datumCode="ch1903"),~n.datumCode.indexOf("israel")&&(n.datumCode="isr93")),n.b&&!isFinite(n.b)&&(n.b=n.a),n.rectified_grid_angle&&(n.rectified_grid_angle=ha(n.rectified_grid_angle));function s(c){var d=n.to_meter||1;return c*d}var l=function(c){return EHe(n,c)},u=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",ha],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",ha],["x0","false_easting",s],["y0","false_northing",s],["long0","central_meridian",ha],["lat0","latitude_of_origin",ha],["lat0","standard_parallel_1",ha],["lat1","standard_parallel_1",ha],["lat2","standard_parallel_2",ha],["azimuth","Azimuth"],["alpha","azimuth",ha],["srsCode","name"]];u.forEach(l),pte(n)}function Zy(n){if(typeof n=="object")return Ky(n);const e=bHe(n);var t=AHe(n);if(e==="WKT2"){const a=SHe(t);return Ky(a)}var i=t[0],r={};return r7(t,r),mte(r),r[i]}function $n(n){var e=this;if(arguments.length===2){var t=arguments[1];typeof t=="string"?t.charAt(0)==="+"?$n[n]=gE(arguments[1]):$n[n]=Zy(arguments[1]):t&&typeof t=="object"&&!("projName"in t)?$n[n]=Zy(arguments[1]):($n[n]=t,t||delete $n[n])}else if(arguments.length===1){if(Array.isArray(n))return n.map(function(i){return Array.isArray(i)?$n.apply(e,i):$n(i)});if(typeof n=="string"){if(n in $n)return $n[n]}else"EPSG"in n?$n["EPSG:"+n.EPSG]=n:"ESRI"in n?$n["ESRI:"+n.ESRI]=n:"IAU2000"in n?$n["IAU2000:"+n.IAU2000]=n:console.log(n);return}}cHe($n);function RHe(n){return typeof n=="string"}function LHe(n){return n in $n}function IHe(n){return n.indexOf("+")!==0&&n.indexOf("[")!==-1||typeof n=="object"&&!("srsCode"in n)}var Pj=["3857","900913","3785","102113"];function DHe(n){if(n.title)return n.title.toLowerCase().indexOf("epsg:")===0&&Pj.indexOf(n.title.substr(5))>-1;var e=J5(n,"authority");if(e){var t=J5(e,"epsg");return t&&Pj.indexOf(t)>-1}}function NHe(n){var e=J5(n,"extension");if(e)return J5(e,"proj4")}function kHe(n){return n[0]==="+"}function FHe(n){let e;if(RHe(n))if(LHe(n))e=$n[n];else if(IHe(n)){e=Zy(n);var t=NHe(e);t&&(e=gE(t))}else kHe(n)&&(e=gE(n));else"projName"in n?e=n:e=Zy(n);return e&&DHe(e)?$n["EPSG:3857"]:e}function Rj(n,e){n=n||{};var t,i;if(!e)return n;for(i in e)t=e[i],t!==void 0&&(n[i]=t);return n}function hs(n,e,t){var i=n*e;return t/Math.sqrt(1-i*i)}function xf(n){return n<0?-1:1}function Rt(n,e){return e||Math.abs(n)<=Y0?n:n-xf(n)*Uh}function po(n,e,t){var i=n*t,r=.5*n;return i=Math.pow((1-i)/(1+i),r),Math.tan(.5*(ht-e))/i}function Vh(n,e){for(var t=.5*n,i,r,a=ht-2*Math.atan(e),o=0;o<=15;o++)if(i=n*Math.sin(a),r=ht-2*Math.atan(e*Math.pow((1-i)/(1+i),t))-a,a+=r,Math.abs(r)<=1e-10)return a;return-9999}function OHe(){var n=this.b/this.a;this.es=1-n*n,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=hs(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function BHe(n){var e=n.x,t=n.y;if(t*ar>90&&t*ar<-90&&e*ar>180&&e*ar<-180)return null;var i,r;if(Math.abs(Math.abs(t)-ht)<=At)return null;if(this.sphere)i=this.x0+this.a*this.k0*Rt(e-this.long0,this.over),r=this.y0+this.a*this.k0*Math.log(Math.tan(O1+.5*t));else{var a=Math.sin(t),o=po(this.e,t,a);i=this.x0+this.a*this.k0*Rt(e-this.long0,this.over),r=this.y0-this.a*this.k0*Math.log(o)}return n.x=i,n.y=r,n}function zHe(n){var e=n.x-this.x0,t=n.y-this.y0,i,r;if(this.sphere)r=ht-2*Math.atan(Math.exp(-t/(this.a*this.k0)));else{var a=Math.exp(-t/(this.a*this.k0));if(r=Vh(this.e,a),r===-9999)return null}return i=Rt(this.long0+e/(this.a*this.k0),this.over),n.x=i,n.y=r,n}var UHe=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"];const GHe={init:OHe,forward:BHe,inverse:zHe,names:UHe};function VHe(){}function Lj(n){return n}var gte=["longlat","identity"];const HHe={init:VHe,forward:Lj,inverse:Lj,names:gte};var WHe=[GHe,HHe],f8={},a7=[];function vte(n,e){var t=a7.length;return n.names?(a7[t]=n,n.names.forEach(function(i){f8[i.toLowerCase()]=t}),this):(console.log(e),!0)}function yte(n){return n.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function jHe(n){if(!n)return!1;var e=n.toLowerCase();if(typeof f8[e]!="undefined"&&a7[f8[e]]||(e=yte(e),e in f8&&a7[f8[e]]))return a7[f8[e]]}function $He(){WHe.forEach(vte)}const YHe={start:$He,add:vte,get:jHe};var _te={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},andrae:{a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},clrk80:{a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}};const qHe=_te.WGS84;function XHe(n,e,t,i){var r=n*n,a=e*e,o=(r-a)/r,s=0;i?(n*=1-o*(fHe+o*(pHe+o*mHe)),r=n*n,o=0):s=Math.sqrt(o);var l=(r-a)/a;return{es:o,e:s,ep2:l}}function KHe(n,e,t,i,r){if(!n){var a=J5(_te,i);a||(a=qHe),n=a.a,e=a.b,t=a.rf}return t&&!e&&(e=(1-1/t)*n),(t===0||Math.abs(n-e)<At)&&(r=!0,e=n),{a:n,b:e,rf:t,sphere:r}}var gv={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},mgi:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Militar-Geographische Institut"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Ordnance Survey of Great Britain 1936"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"},EPSG_5451:{towgs84:"6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649"},IGNF_LURESG:{towgs84:"-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43"},EPSG_4614:{towgs84:"-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065"},EPSG_4615:{towgs84:"-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748"},ESRI_37241:{towgs84:"-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031"},ESRI_37249:{towgs84:"-440.296,58.548,296.265,1.128,10.202,4.559,-0.438"},ESRI_37245:{towgs84:"-511.151,-181.269,139.609,1.05,2.703,1.798,3.071"},EPSG_4178:{towgs84:"24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01"},EPSG_4622:{towgs84:"-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984"},EPSG_4625:{towgs84:"126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227"},EPSG_5252:{towgs84:"0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439"},EPSG_4314:{towgs84:"597.1,71.4,412.1,0.894,0.068,-1.563,7.58"},EPSG_4282:{towgs84:"-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166"},EPSG_4231:{towgs84:"-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218"},EPSG_4274:{towgs84:"-230.994,102.591,25.199,0.633,-0.239,0.9,1.95"},EPSG_4134:{towgs84:"-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006"},EPSG_4254:{towgs84:"18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013"},EPSG_4159:{towgs84:"-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175"},EPSG_4687:{towgs84:"0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093"},EPSG_4227:{towgs84:"-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225"},EPSG_4746:{towgs84:"599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46"},EPSG_4745:{towgs84:"612.4,77,440.2,-0.054,0.057,-2.797,2.55"},EPSG_6311:{towgs84:"8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926"},EPSG_4289:{towgs84:"565.7381,50.4018,465.2904,-0.395026,0.330772,-1.876073,4.07244"},EPSG_4230:{towgs84:"-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4"},EPSG_4154:{towgs84:"-123.02,-158.95,-168.47"},EPSG_4156:{towgs84:"570.8,85.7,462.8,4.998,1.587,5.261,3.56"},EPSG_4299:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4179:{towgs84:"33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84"},EPSG_4313:{towgs84:"-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747"},EPSG_4194:{towgs84:"163.511,127.533,-159.789"},EPSG_4195:{towgs84:"105,326,-102.5"},EPSG_4196:{towgs84:"-45,417,-3.5"},EPSG_4611:{towgs84:"-162.619,-276.959,-161.764,0.067753,-2.243648,-1.158828,-1.094246"},EPSG_4633:{towgs84:"137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824"},EPSG_4641:{towgs84:"-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993"},EPSG_4643:{towgs84:"-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002"},EPSG_4300:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4188:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4660:{towgs84:"982.6087,552.753,-540.873,6.681627,-31.611492,-19.848161,16.805"},EPSG_4662:{towgs84:"97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259"},EPSG_3906:{towgs84:"577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664"},EPSG_4307:{towgs84:"-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547"},EPSG_6892:{towgs84:"-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686"},EPSG_4690:{towgs84:"221.597,152.441,176.523,2.403,1.3893,0.884,11.4648"},EPSG_4691:{towgs84:"218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817"},EPSG_4629:{towgs84:"72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653"},EPSG_4630:{towgs84:"165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111"},EPSG_4692:{towgs84:"217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093"},EPSG_9333:{towgs84:"0,0,0,-0.008393,0.000749,-0.010276,0"},EPSG_9059:{towgs84:"0,0,0"},EPSG_4312:{towgs84:"601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887"},EPSG_4123:{towgs84:"-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496"},EPSG_4309:{towgs84:"-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365"},ESRI_104106:{towgs84:"-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058"},EPSG_4281:{towgs84:"-219.247,-73.802,269.529"},EPSG_4322:{towgs84:"0,0,4.5"},EPSG_4324:{towgs84:"0,0,1.9"},EPSG_4284:{towgs84:"43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549"},EPSG_4277:{towgs84:"446.448,-125.157,542.06,0.15,0.247,0.842,-20.489"},EPSG_4207:{towgs84:"-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46"},EPSG_4688:{towgs84:"347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647"},EPSG_4689:{towgs84:"410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218"},EPSG_4720:{towgs84:"0,0,4.5"},EPSG_4273:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},EPSG_4240:{towgs84:"204.64,834.74,293.8"},EPSG_4817:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},ESRI_104131:{towgs84:"426.62,142.62,460.09,4.98,4.49,-12.42,-17.1"},EPSG_4265:{towgs84:"-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68"},EPSG_4263:{towgs84:"-111.92,-87.85,114.5,1.875,0.202,0.219,0.032"},EPSG_4298:{towgs84:"-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536"},EPSG_4270:{towgs84:"-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424"},EPSG_4229:{towgs84:"-121.8,98.1,-10.7"},EPSG_4220:{towgs84:"-55.5,-348,-229.2"},EPSG_4214:{towgs84:"12.646,-155.176,-80.863"},EPSG_4232:{towgs84:"-345,3,223"},EPSG_4238:{towgs84:"-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037"},EPSG_4168:{towgs84:"-170,33,326"},EPSG_4131:{towgs84:"199,931,318.9"},EPSG_4152:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_5228:{towgs84:"572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378"},EPSG_8351:{towgs84:"485.021,169.465,483.839,7.786342,4.397554,4.102655,0"},EPSG_4683:{towgs84:"-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06"},EPSG_4133:{towgs84:"0,0,0"},EPSG_7373:{towgs84:"0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693"},EPSG_9075:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9072:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9294:{towgs84:"1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388"},EPSG_4212:{towgs84:"-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492"},EPSG_4191:{towgs84:"-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703"},EPSG_4237:{towgs84:"52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191"},EPSG_4740:{towgs84:"-1.08,-0.27,-0.9"},EPSG_4124:{towgs84:"419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496"},EPSG_5681:{towgs84:"584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922"},EPSG_4141:{towgs84:"23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262"},EPSG_4204:{towgs84:"-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194"},EPSG_4319:{towgs84:"226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798"},EPSG_4200:{towgs84:"24.82,-131.21,-82.66"},EPSG_4130:{towgs84:"0,0,0"},EPSG_4127:{towgs84:"-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359"},EPSG_4149:{towgs84:"674.374,15.056,405.346"},EPSG_4617:{towgs84:"-0.991,1.9072,0.5129,0.02579,0.00965,0.01166,0"},EPSG_4663:{towgs84:"-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485"},EPSG_4664:{towgs84:"-211.939,137.626,58.3,-0.089,0.251,0.079,0.384"},EPSG_4665:{towgs84:"-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048"},EPSG_4666:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},EPSG_4756:{towgs84:"-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188"},EPSG_4723:{towgs84:"-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925"},EPSG_4726:{towgs84:"8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081"},EPSG_4267:{towgs84:"-8.0,160.0,176.0"},EPSG_5365:{towgs84:"-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693"},EPSG_4218:{towgs84:"304.5,306.5,-318.1"},EPSG_4242:{towgs84:"-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95"},EPSG_4216:{towgs84:"-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289"},ESRI_104105:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},ESRI_104129:{towgs84:"0,0,0"},EPSG_4673:{towgs84:"174.05,-25.49,112.57"},EPSG_4202:{towgs84:"-124,-60,154"},EPSG_4203:{towgs84:"-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191"},EPSG_3819:{towgs84:"595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408"},EPSG_8694:{towgs84:"-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169"},EPSG_4145:{towgs84:"275.57,676.78,229.6"},EPSG_4283:{towgs84:"0.06155,-0.01087,-0.04019,0.039492,0.032722,0.032898,-0.009994"},EPSG_4317:{towgs84:"2.3287,-147.0425,-92.0802,-0.309248,0.324822,0.497299,5.689063"},EPSG_4272:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993"},EPSG_4248:{towgs84:"-307.7,265.3,-363.5"},EPSG_5561:{towgs84:"24,-121,-76"},EPSG_5233:{towgs84:"-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338"},ESRI_104130:{towgs84:"-86,-98,-119"},ESRI_104102:{towgs84:"682,-203,480"},ESRI_37207:{towgs84:"7,-10,-26"},EPSG_4675:{towgs84:"59.935,118.4,-10.871"},ESRI_104109:{towgs84:"-89.121,-348.182,260.871"},ESRI_104112:{towgs84:"-185.583,-230.096,281.361"},ESRI_104113:{towgs84:"25.1,-275.6,222.6"},IGNF_WGS72G:{towgs84:"0,12,6"},IGNF_NTFG:{towgs84:"-168,-60,320"},IGNF_EFATE57G:{towgs84:"-127,-769,472"},IGNF_PGP50G:{towgs84:"324.8,153.6,172.1"},IGNF_REUN47G:{towgs84:"94,-948,-1262"},IGNF_CSG67G:{towgs84:"-186,230,110"},IGNF_GUAD48G:{towgs84:"-467,-16,-300"},IGNF_TAHI51G:{towgs84:"162,117,154"},IGNF_TAHAAG:{towgs84:"65,342,77"},IGNF_NUKU72G:{towgs84:"84,274,65"},IGNF_PETRELS72G:{towgs84:"365,194,166"},IGNF_WALL78G:{towgs84:"253,-133,-127"},IGNF_MAYO50G:{towgs84:"-382,-59,-262"},IGNF_TANNAG:{towgs84:"-139,-967,436"},IGNF_IGN72G:{towgs84:"-13,-348,292"},IGNF_ATIGG:{towgs84:"1118,23,66"},IGNF_FANGA84G:{towgs84:"150.57,158.33,118.32"},IGNF_RUSAT84G:{towgs84:"202.13,174.6,-15.74"},IGNF_KAUE70G:{towgs84:"126.74,300.1,-75.49"},IGNF_MOP90G:{towgs84:"-10.8,-1.8,12.77"},IGNF_MHPF67G:{towgs84:"338.08,212.58,-296.17"},IGNF_TAHI79G:{towgs84:"160.61,116.05,153.69"},IGNF_ANAA92G:{towgs84:"1.5,3.84,4.81"},IGNF_MARQUI72G:{towgs84:"330.91,-13.92,58.56"},IGNF_APAT86G:{towgs84:"143.6,197.82,74.05"},IGNF_TUBU69G:{towgs84:"237.17,171.61,-77.84"},IGNF_STPM50G:{towgs84:"11.363,424.148,373.13"},EPSG_4150:{towgs84:"674.374,15.056,405.346"},EPSG_4754:{towgs84:"-208.4058,-109.8777,-2.5764"},ESRI_104101:{towgs84:"372.87,149.23,585.29"},EPSG_4693:{towgs84:"0,-0.15,0.68"},EPSG_6207:{towgs84:"293.17,726.18,245.36"},EPSG_4153:{towgs84:"-133.63,-157.5,-158.62"},EPSG_4132:{towgs84:"-241.54,-163.64,396.06"},EPSG_4221:{towgs84:"-154.5,150.7,100.4"},EPSG_4266:{towgs84:"-80.7,-132.5,41.1"},EPSG_4193:{towgs84:"-70.9,-151.8,-41.4"},EPSG_5340:{towgs84:"-0.41,0.46,-0.35"},EPSG_4246:{towgs84:"-294.7,-200.1,525.5"},EPSG_4318:{towgs84:"-3.2,-5.7,2.8"},EPSG_4121:{towgs84:"-199.87,74.79,246.62"},EPSG_4223:{towgs84:"-260.1,5.5,432.2"},EPSG_4158:{towgs84:"-0.465,372.095,171.736"},EPSG_4285:{towgs84:"-128.16,-282.42,21.93"},EPSG_4613:{towgs84:"-404.78,685.68,45.47"},EPSG_4607:{towgs84:"195.671,332.517,274.607"},EPSG_4475:{towgs84:"-381.788,-57.501,-256.673"},EPSG_4208:{towgs84:"-157.84,308.54,-146.6"},EPSG_4743:{towgs84:"70.995,-335.916,262.898"},EPSG_4710:{towgs84:"-323.65,551.39,-491.22"},EPSG_7881:{towgs84:"-0.077,0.079,0.086"},EPSG_4682:{towgs84:"283.729,735.942,261.143"},EPSG_4739:{towgs84:"-156,-271,-189"},EPSG_4679:{towgs84:"-80.01,253.26,291.19"},EPSG_4750:{towgs84:"-56.263,16.136,-22.856"},EPSG_4644:{towgs84:"-10.18,-350.43,291.37"},EPSG_4695:{towgs84:"-103.746,-9.614,-255.95"},EPSG_4292:{towgs84:"-355,21,72"},EPSG_4302:{towgs84:"-61.702,284.488,472.052"},EPSG_4143:{towgs84:"-124.76,53,466.79"},EPSG_4606:{towgs84:"-153,153,307"},EPSG_4699:{towgs84:"-770.1,158.4,-498.2"},EPSG_4247:{towgs84:"-273.5,110.6,-357.9"},EPSG_4160:{towgs84:"8.88,184.86,106.69"},EPSG_4161:{towgs84:"-233.43,6.65,173.64"},EPSG_9251:{towgs84:"-9.5,122.9,138.2"},EPSG_9253:{towgs84:"-78.1,101.6,133.3"},EPSG_4297:{towgs84:"-198.383,-240.517,-107.909"},EPSG_4269:{towgs84:"0,0,0"},EPSG_4301:{towgs84:"-147,506,687"},EPSG_4618:{towgs84:"-59,-11,-52"},EPSG_4612:{towgs84:"0,0,0"},EPSG_4678:{towgs84:"44.585,-131.212,-39.544"},EPSG_4250:{towgs84:"-130,29,364"},EPSG_4144:{towgs84:"214,804,268"},EPSG_4147:{towgs84:"-17.51,-108.32,-62.39"},EPSG_4259:{towgs84:"-254.1,-5.36,-100.29"},EPSG_4164:{towgs84:"-76,-138,67"},EPSG_4211:{towgs84:"-378.873,676.002,-46.255"},EPSG_4182:{towgs84:"-422.651,-172.995,84.02"},EPSG_4224:{towgs84:"-143.87,243.37,-33.52"},EPSG_4225:{towgs84:"-205.57,168.77,-4.12"},EPSG_5527:{towgs84:"-67.35,3.88,-38.22"},EPSG_4752:{towgs84:"98,390,-22"},EPSG_4310:{towgs84:"-30,190,89"},EPSG_9248:{towgs84:"-192.26,65.72,132.08"},EPSG_4680:{towgs84:"124.5,-63.5,-281"},EPSG_4701:{towgs84:"-79.9,-158,-168.9"},EPSG_4706:{towgs84:"-146.21,112.63,4.05"},EPSG_4805:{towgs84:"682,-203,480"},EPSG_4201:{towgs84:"-165,-11,206"},EPSG_4210:{towgs84:"-157,-2,-299"},EPSG_4183:{towgs84:"-104,167,-38"},EPSG_4139:{towgs84:"11,72,-101"},EPSG_4668:{towgs84:"-86,-98,-119"},EPSG_4717:{towgs84:"-2,151,181"},EPSG_4732:{towgs84:"102,52,-38"},EPSG_4280:{towgs84:"-377,681,-50"},EPSG_4209:{towgs84:"-138,-105,-289"},EPSG_4261:{towgs84:"31,146,47"},EPSG_4658:{towgs84:"-73,46,-86"},EPSG_4721:{towgs84:"265.025,384.929,-194.046"},EPSG_4222:{towgs84:"-136,-108,-292"},EPSG_4601:{towgs84:"-255,-15,71"},EPSG_4602:{towgs84:"725,685,536"},EPSG_4603:{towgs84:"72,213.7,93"},EPSG_4605:{towgs84:"9,183,236"},EPSG_4621:{towgs84:"137,248,-430"},EPSG_4657:{towgs84:"-28,199,5"},EPSG_4316:{towgs84:"103.25,-100.4,-307.19"},EPSG_4642:{towgs84:"-13,-348,292"},EPSG_4698:{towgs84:"145,-187,103"},EPSG_4192:{towgs84:"-206.1,-174.7,-87.7"},EPSG_4311:{towgs84:"-265,120,-358"},EPSG_4135:{towgs84:"58,-283,-182"},ESRI_104138:{towgs84:"198,-226,-347"},EPSG_4245:{towgs84:"-11,851,5"},EPSG_4142:{towgs84:"-125,53,467"},EPSG_4213:{towgs84:"-106,-87,188"},EPSG_4253:{towgs84:"-133,-77,-51"},EPSG_4129:{towgs84:"-132,-110,-335"},EPSG_4713:{towgs84:"-77,-128,142"},EPSG_4239:{towgs84:"217,823,299"},EPSG_4146:{towgs84:"295,736,257"},EPSG_4155:{towgs84:"-83,37,124"},EPSG_4165:{towgs84:"-173,253,27"},EPSG_4672:{towgs84:"175,-38,113"},EPSG_4236:{towgs84:"-637,-549,-203"},EPSG_4251:{towgs84:"-90,40,88"},EPSG_4271:{towgs84:"-2,374,172"},EPSG_4175:{towgs84:"-88,4,101"},EPSG_4716:{towgs84:"298,-304,-375"},EPSG_4315:{towgs84:"-23,259,-9"},EPSG_4744:{towgs84:"-242.2,-144.9,370.3"},EPSG_4244:{towgs84:"-97,787,86"},EPSG_4293:{towgs84:"616,97,-251"},EPSG_4714:{towgs84:"-127,-769,472"},EPSG_4736:{towgs84:"260,12,-147"},EPSG_6883:{towgs84:"-235,-110,393"},EPSG_6894:{towgs84:"-63,176,185"},EPSG_4205:{towgs84:"-43,-163,45"},EPSG_4256:{towgs84:"41,-220,-134"},EPSG_4262:{towgs84:"639,405,60"},EPSG_4604:{towgs84:"174,359,365"},EPSG_4169:{towgs84:"-115,118,426"},EPSG_4620:{towgs84:"-106,-129,165"},EPSG_4184:{towgs84:"-203,141,53"},EPSG_4616:{towgs84:"-289,-124,60"},EPSG_9403:{towgs84:"-307,-92,127"},EPSG_4684:{towgs84:"-133,-321,50"},EPSG_4708:{towgs84:"-491,-22,435"},EPSG_4707:{towgs84:"114,-116,-333"},EPSG_4709:{towgs84:"145,75,-272"},EPSG_4712:{towgs84:"-205,107,53"},EPSG_4711:{towgs84:"124,-234,-25"},EPSG_4718:{towgs84:"230,-199,-752"},EPSG_4719:{towgs84:"211,147,111"},EPSG_4724:{towgs84:"208,-435,-229"},EPSG_4725:{towgs84:"189,-79,-202"},EPSG_4735:{towgs84:"647,1777,-1124"},EPSG_4722:{towgs84:"-794,119,-298"},EPSG_4728:{towgs84:"-307,-92,127"},EPSG_4734:{towgs84:"-632,438,-609"},EPSG_4727:{towgs84:"912,-58,1227"},EPSG_4729:{towgs84:"185,165,42"},EPSG_4730:{towgs84:"170,42,84"},EPSG_4733:{towgs84:"276,-57,149"},ESRI_37218:{towgs84:"230,-199,-752"},ESRI_37240:{towgs84:"-7,215,225"},ESRI_37221:{towgs84:"252,-209,-751"},ESRI_4305:{towgs84:"-123,-206,219"},ESRI_104139:{towgs84:"-73,-247,227"},EPSG_4748:{towgs84:"51,391,-36"},EPSG_4219:{towgs84:"-384,664,-48"},EPSG_4255:{towgs84:"-333,-222,114"},EPSG_4257:{towgs84:"-587.8,519.75,145.76"},EPSG_4646:{towgs84:"-963,510,-359"},EPSG_6881:{towgs84:"-24,-203,268"},EPSG_6882:{towgs84:"-183,-15,273"},EPSG_4715:{towgs84:"-104,-129,239"},IGNF_RGF93GDD:{towgs84:"0,0,0"},IGNF_RGM04GDD:{towgs84:"0,0,0"},IGNF_RGSPM06GDD:{towgs84:"0,0,0"},IGNF_RGTAAF07GDD:{towgs84:"0,0,0"},IGNF_RGFG95GDD:{towgs84:"0,0,0"},IGNF_RGNCG:{towgs84:"0,0,0"},IGNF_RGPFGDD:{towgs84:"0,0,0"},IGNF_ETRS89G:{towgs84:"0,0,0"},IGNF_RGR92GDD:{towgs84:"0,0,0"},EPSG_4173:{towgs84:"0,0,0"},EPSG_4180:{towgs84:"0,0,0"},EPSG_4619:{towgs84:"0,0,0"},EPSG_4667:{towgs84:"0,0,0"},EPSG_4075:{towgs84:"0,0,0"},EPSG_6706:{towgs84:"0,0,0"},EPSG_7798:{towgs84:"0,0,0"},EPSG_4661:{towgs84:"0,0,0"},EPSG_4669:{towgs84:"0,0,0"},EPSG_8685:{towgs84:"0,0,0"},EPSG_4151:{towgs84:"0,0,0"},EPSG_9702:{towgs84:"0,0,0"},EPSG_4758:{towgs84:"0,0,0"},EPSG_4761:{towgs84:"0,0,0"},EPSG_4765:{towgs84:"0,0,0"},EPSG_8997:{towgs84:"0,0,0"},EPSG_4023:{towgs84:"0,0,0"},EPSG_4670:{towgs84:"0,0,0"},EPSG_4694:{towgs84:"0,0,0"},EPSG_4148:{towgs84:"0,0,0"},EPSG_4163:{towgs84:"0,0,0"},EPSG_4167:{towgs84:"0,0,0"},EPSG_4189:{towgs84:"0,0,0"},EPSG_4190:{towgs84:"0,0,0"},EPSG_4176:{towgs84:"0,0,0"},EPSG_4659:{towgs84:"0,0,0"},EPSG_3824:{towgs84:"0,0,0"},EPSG_3889:{towgs84:"0,0,0"},EPSG_4046:{towgs84:"0,0,0"},EPSG_4081:{towgs84:"0,0,0"},EPSG_4558:{towgs84:"0,0,0"},EPSG_4483:{towgs84:"0,0,0"},EPSG_5013:{towgs84:"0,0,0"},EPSG_5264:{towgs84:"0,0,0"},EPSG_5324:{towgs84:"0,0,0"},EPSG_5354:{towgs84:"0,0,0"},EPSG_5371:{towgs84:"0,0,0"},EPSG_5373:{towgs84:"0,0,0"},EPSG_5381:{towgs84:"0,0,0"},EPSG_5393:{towgs84:"0,0,0"},EPSG_5489:{towgs84:"0,0,0"},EPSG_5593:{towgs84:"0,0,0"},EPSG_6135:{towgs84:"0,0,0"},EPSG_6365:{towgs84:"0,0,0"},EPSG_5246:{towgs84:"0,0,0"},EPSG_7886:{towgs84:"0,0,0"},EPSG_8431:{towgs84:"0,0,0"},EPSG_8427:{towgs84:"0,0,0"},EPSG_8699:{towgs84:"0,0,0"},EPSG_8818:{towgs84:"0,0,0"},EPSG_4757:{towgs84:"0,0,0"},EPSG_9140:{towgs84:"0,0,0"},EPSG_8086:{towgs84:"0,0,0"},EPSG_4686:{towgs84:"0,0,0"},EPSG_4737:{towgs84:"0,0,0"},EPSG_4702:{towgs84:"0,0,0"},EPSG_4747:{towgs84:"0,0,0"},EPSG_4749:{towgs84:"0,0,0"},EPSG_4674:{towgs84:"0,0,0"},EPSG_4755:{towgs84:"0,0,0"},EPSG_4759:{towgs84:"0,0,0"},EPSG_4762:{towgs84:"0,0,0"},EPSG_4763:{towgs84:"0,0,0"},EPSG_4764:{towgs84:"0,0,0"},EPSG_4166:{towgs84:"0,0,0"},EPSG_4170:{towgs84:"0,0,0"},EPSG_5546:{towgs84:"0,0,0"},EPSG_7844:{towgs84:"0,0,0"},EPSG_4818:{towgs84:"589,76,480"},EPSG_10328:{towgs84:"0,0,0"},EPSG_9782:{towgs84:"0,0,0"},EPSG_9777:{towgs84:"0,0,0"},EPSG_10690:{towgs84:"0,0,0"},EPSG_10639:{towgs84:"0,0,0"},EPSG_10739:{towgs84:"0,0,0"},EPSG_7686:{towgs84:"0,0,0"},EPSG_8900:{towgs84:"0,0,0"},EPSG_5886:{towgs84:"0,0,0"},EPSG_7683:{towgs84:"0,0,0"},EPSG_6668:{towgs84:"0,0,0"},EPSG_20046:{towgs84:"0,0,0"},EPSG_10299:{towgs84:"0,0,0"},EPSG_10310:{towgs84:"0,0,0"},EPSG_10475:{towgs84:"0,0,0"},EPSG_4742:{towgs84:"0,0,0"},EPSG_10671:{towgs84:"0,0,0"},EPSG_10762:{towgs84:"0,0,0"},EPSG_10725:{towgs84:"0,0,0"},EPSG_10791:{towgs84:"0,0,0"},EPSG_10800:{towgs84:"0,0,0"},EPSG_10305:{towgs84:"0,0,0"},EPSG_10941:{towgs84:"0,0,0"},EPSG_10968:{towgs84:"0,0,0"},EPSG_10875:{towgs84:"0,0,0"},EPSG_6318:{towgs84:"0,0,0"},EPSG_10910:{towgs84:"0,0,0"}};for(var ZHe in gv){var MA=gv[ZHe];MA.datumName&&(gv[MA.datumName]=MA)}function JHe(n,e,t,i,r,a,o){var s={};return s.datum_type=mE,e&&(s.datum_type=dHe,s.datum_params=e.map(parseFloat),(s.datum_params[0]!==0||s.datum_params[1]!==0||s.datum_params[2]!==0)&&(s.datum_type=pl),s.datum_params.length>3&&(s.datum_params[3]!==0||s.datum_params[4]!==0||s.datum_params[5]!==0||s.datum_params[6]!==0)&&(s.datum_type=ml,s.datum_params[3]*=Od,s.datum_params[4]*=Od,s.datum_params[5]*=Od,s.datum_params[6]=s.datum_params[6]/1e6+1)),o&&(s.datum_type=x7,s.grids=o),s.a=t,s.b=i,s.es=r,s.ep2=a,s}var KL={};function QHe(n,e,t){return e instanceof ArrayBuffer?eWe(n,e,t):{ready:tWe(n,e)}}function eWe(n,e,t){var i=!0;t!==void 0&&t.includeErrorFields===!1&&(i=!1);var r=new DataView(e),a=rWe(r),o=aWe(r,a),s=oWe(r,o,a,i),l={header:o,subgrids:s};return KL[n]=l,l}function tWe(n,e){return Z2(this,null,function*(){for(var t=[],i=yield e.getImageCount(),r=i-1;r>=0;r--){var a=yield e.getImage(r),o=yield a.readRasters(),s=o,l=[a.getWidth(),a.getHeight()],u=a.getBoundingBox().map(Ij),c=typeof a.fileDirectory.getValue=="function"?a.fileDirectory.getValue("ModelPixelScale"):a.fileDirectory.ModelPixelScale,d=[c[0],c[1]].map(Ij),h=u[0]+(l[0]-1)*d[0],f=u[3]-(l[1]-1)*d[1],p=s[0],g=s[1],m=[];for(let S=l[1]-1;S>=0;S--)for(let x=l[0]-1;x>=0;x--){var v=S*l[0]+x;m.push([-M5(g[v]),M5(p[v])])}t.push({del:d,lim:l,ll:[-h,f],cvs:m})}var _={header:{nSubgrids:i},subgrids:t};return KL[n]=_,_})}function nWe(n){if(n===void 0)return null;var e=n.split(",");return e.map(iWe)}function iWe(n){if(n.length===0)return null;var e=n[0]==="@";return e&&(n=n.slice(1)),n==="null"?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:n,mandatory:!e,grid:KL[n]||null,isNull:!1}}function Ij(n){return n*Math.PI/180}function M5(n){return n/3600*Math.PI/180}function rWe(n){var e=n.getInt32(8,!1);return e===11?!1:(e=n.getInt32(8,!0),e!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function aWe(n,e){return{nFields:n.getInt32(8,e),nSubgridFields:n.getInt32(24,e),nSubgrids:n.getInt32(40,e),shiftType:vE(n,56,56+8).trim(),fromSemiMajorAxis:n.getFloat64(120,e),fromSemiMinorAxis:n.getFloat64(136,e),toSemiMajorAxis:n.getFloat64(152,e),toSemiMinorAxis:n.getFloat64(168,e)}}function vE(n,e,t){return String.fromCharCode.apply(null,new Uint8Array(n.buffer.slice(e,t)))}function oWe(n,e,t,i){for(var r=176,a=[],o=0;o<e.nSubgrids;o++){var s=lWe(n,r,t),l=uWe(n,r,s,t,i),u=Math.round(1+(s.upperLongitude-s.lowerLongitude)/s.longitudeInterval),c=Math.round(1+(s.upperLatitude-s.lowerLatitude)/s.latitudeInterval);a.push({ll:[M5(s.lowerLongitude),M5(s.lowerLatitude)],del:[M5(s.longitudeInterval),M5(s.latitudeInterval)],lim:[u,c],count:s.gridNodeCount,cvs:sWe(l)});var d=16;i===!1&&(d=8),r+=176+s.gridNodeCount*d}return a}function sWe(n){return n.map(function(e){return[M5(e.longitudeShift),M5(e.latitudeShift)]})}function lWe(n,e,t){return{name:vE(n,e+8,e+16).trim(),parent:vE(n,e+24,e+24+8).trim(),lowerLatitude:n.getFloat64(e+72,t),upperLatitude:n.getFloat64(e+88,t),lowerLongitude:n.getFloat64(e+104,t),upperLongitude:n.getFloat64(e+120,t),latitudeInterval:n.getFloat64(e+136,t),longitudeInterval:n.getFloat64(e+152,t),gridNodeCount:n.getInt32(e+168,t)}}function uWe(n,e,t,i,r){var a=e+176,o=16;r===!1&&(o=8);for(var s=[],l=0;l<t.gridNodeCount;l++){var u={latitudeShift:n.getFloat32(a+l*o,i),longitudeShift:n.getFloat32(a+l*o+4,i)};r!==!1&&(u.latitudeAccuracy=n.getFloat32(a+l*o+8,i),u.longitudeAccuracy=n.getFloat32(a+l*o+12,i)),s.push(u)}return s}function ka(n,e){if(!(this instanceof ka))return new ka(n);this.forward=null,this.inverse=null,this.init=null,this.name,this.axis,this.names=null,this.title,e=e||function(u){if(u)throw u};var t=FHe(n);if(typeof t!="object"){e("Could not parse to valid json: "+n);return}var i=ka.projections.get(t.projName);if(!i){e("Could not get projection name from: "+n);return}if(t.datumCode&&t.datumCode!=="none"){var r=J5(gv,t.datumCode);r&&(t.datum_params=t.datum_params||(r.towgs84?r.towgs84.split(","):null),t.ellps=r.ellipse,t.datumName=r.datumName?r.datumName:t.datumCode)}t.k0=t.k0||1,t.axis=t.axis||"enu",t.ellps=t.ellps||"wgs84",t.lat1=t.lat1||t.lat0;var a=KHe(t.a,t.b,t.rf,t.ellps,t.sphere),o=XHe(a.a,a.b,a.rf,t.R_A),s=nWe(t.nadgrids),l=t.datum||JHe(t.datumCode,t.datum_params,a.a,a.b,o.es,o.ep2,s);Rj(this,t),Rj(this,i),this.a=a.a,this.b=a.b,this.rf=a.rf,this.sphere=a.sphere,this.es=o.es,this.e=o.e,this.ep2=o.ep2,this.datum=l,"init"in this&&typeof this.init=="function"&&this.init(),e(null,this)}ka.projections=YHe;ka.projections.start();function cWe(n,e){return n.datum_type!==e.datum_type||n.a!==e.a||Math.abs(n.es-e.es)>5e-11?!1:n.datum_type===pl?n.datum_params[0]===e.datum_params[0]&&n.datum_params[1]===e.datum_params[1]&&n.datum_params[2]===e.datum_params[2]:n.datum_type===ml?n.datum_params[0]===e.datum_params[0]&&n.datum_params[1]===e.datum_params[1]&&n.datum_params[2]===e.datum_params[2]&&n.datum_params[3]===e.datum_params[3]&&n.datum_params[4]===e.datum_params[4]&&n.datum_params[5]===e.datum_params[5]&&n.datum_params[6]===e.datum_params[6]:!0}function Ste(n,e,t){var i=n.x,r=n.y,a=n.z?n.z:0,o,s,l,u;if(r<-ht&&r>-1.001*ht)r=-ht;else if(r>ht&&r<1.001*ht)r=ht;else{if(r<-ht)return{x:-1/0,y:-1/0,z:n.z};if(r>ht)return{x:1/0,y:1/0,z:n.z}}return i>Math.PI&&(i-=2*Math.PI),s=Math.sin(r),u=Math.cos(r),l=s*s,o=t/Math.sqrt(1-e*l),{x:(o+a)*u*Math.cos(i),y:(o+a)*u*Math.sin(i),z:(o*(1-e)+a)*s}}function bte(n,e,t,i){var r=1e-12,a=r*r,o=30,s,l,u,c,d,h,f,p,g,m,v,_,S,x=n.x,A=n.y,C=n.z?n.z:0,M,I,D;if(s=Math.sqrt(x*x+A*A),l=Math.sqrt(x*x+A*A+C*C),s/t<r){if(M=0,l/t<r)return I=ht,D=-i,{x:n.x,y:n.y,z:n.z}}else M=Math.atan2(A,x);u=C/l,c=s/l,d=1/Math.sqrt(1-e*(2-e)*c*c),p=c*(1-e)*d,g=u*d,S=0;do S++,f=t/Math.sqrt(1-e*g*g),D=s*p+C*g-f*(1-e*g*g),h=e*f/(f+D),d=1/Math.sqrt(1-h*(2-h)*c*c),m=c*(1-h)*d,v=u*d,_=v*p-m*g,p=m,g=v;while(_*_>a&&S<o);return I=Math.atan(v/Math.abs(m)),{x:M,y:I,z:D}}function dWe(n,e,t){if(e===pl)return{x:n.x+t[0],y:n.y+t[1],z:n.z+t[2]};if(e===ml){var i=t[0],r=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6];return{x:u*(n.x-l*n.y+s*n.z)+i,y:u*(l*n.x+n.y-o*n.z)+r,z:u*(-s*n.x+o*n.y+n.z)+a}}}function hWe(n,e,t){if(e===pl)return{x:n.x-t[0],y:n.y-t[1],z:n.z-t[2]};if(e===ml){var i=t[0],r=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=(n.x-i)/u,d=(n.y-r)/u,h=(n.z-a)/u;return{x:c+l*d-s*h,y:-l*c+d+o*h,z:s*c-o*d+h}}}function Dg(n){return n===pl||n===ml}function fWe(n,e,t){if(cWe(n,e)||n.datum_type===mE||e.datum_type===mE)return t;var i=n.a,r=n.es;if(n.datum_type===x7){var a=Dj(n,!1,t);if(a!==0)return;i=wj,r=Tj}var o=e.a,s=e.b,l=e.es;if(e.datum_type===x7&&(o=wj,s=hHe,l=Tj),r===l&&i===o&&!Dg(n.datum_type)&&!Dg(e.datum_type))return t;if(t=Ste(t,r,i),Dg(n.datum_type)&&(t=dWe(t,n.datum_type,n.datum_params)),Dg(e.datum_type)&&(t=hWe(t,e.datum_type,e.datum_params)),t=bte(t,l,o,s),e.datum_type===x7){var u=Dj(e,!0,t);if(u!==0)return}return t}function Dj(n,e,t){if(n.grids===null||n.grids.length===0)return console.log("Grid shift grids not found"),-1;var i={x:-t.x,y:t.y},r={x:Number.NaN,y:Number.NaN},a=[];e:for(var o=0;o<n.grids.length;o++){var s=n.grids[o];if(a.push(s.name),s.isNull){r=i;break}if(s.grid===null){if(s.mandatory)return console.log("Unable to find mandatory grid '"+s.name+"'"),-1;continue}for(var l=s.grid.subgrids,u=0,c=l.length;u<c;u++){var d=l[u],h=(Math.abs(d.del[1])+Math.abs(d.del[0]))/1e4,f=d.ll[0]-h,p=d.ll[1]-h,g=d.ll[0]+(d.lim[0]-1)*d.del[0]+h,m=d.ll[1]+(d.lim[1]-1)*d.del[1]+h;if(!(p>i.y||f>i.x||m<i.y||g<i.x)&&(r=pWe(i,e,d),!isNaN(r.x)))break e}}return isNaN(r.x)?(console.log("Failed to find a grid shift table for location '"+-i.x*ar+" "+i.y*ar+" tried: '"+a+"'"),-1):(t.x=-r.x,t.y=r.y,0)}function pWe(n,e,t){var i={x:Number.NaN,y:Number.NaN};if(isNaN(n.x))return i;var r={x:n.x,y:n.y};r.x-=t.ll[0],r.y-=t.ll[1],r.x=Rt(r.x-Math.PI)+Math.PI;var a=Nj(r,t);if(e){if(isNaN(a.x))return i;a.x=r.x-a.x,a.y=r.y-a.y;var o=9,s=1e-12,l,u;do{if(u=Nj(a,t),isNaN(u.x)){console.log("Inverse grid shift iteration failed, presumably at grid edge. Using first approximation.");break}l={x:r.x-(u.x+a.x),y:r.y-(u.y+a.y)},a.x+=l.x,a.y+=l.y}while(o--&&Math.abs(l.x)>s&&Math.abs(l.y)>s);if(o<0)return console.log("Inverse grid shift iterator failed to converge."),i;i.x=Rt(a.x+t.ll[0]),i.y=a.y+t.ll[1]}else isNaN(a.x)||(i.x=n.x+a.x,i.y=n.y+a.y);return i}function Nj(n,e){var t={x:n.x/e.del[0],y:n.y/e.del[1]},i={x:Math.floor(t.x),y:Math.floor(t.y)},r={x:t.x-1*i.x,y:t.y-1*i.y},a={x:Number.NaN,y:Number.NaN},o;if(i.x<0||i.x>=e.lim[0]||i.y<0||i.y>=e.lim[1])return a;o=i.y*e.lim[0]+i.x;var s={x:e.cvs[o][0],y:e.cvs[o][1]};o++;var l={x:e.cvs[o][0],y:e.cvs[o][1]};o+=e.lim[0];var u={x:e.cvs[o][0],y:e.cvs[o][1]};o--;var c={x:e.cvs[o][0],y:e.cvs[o][1]},d=r.x*r.y,h=r.x*(1-r.y),f=(1-r.x)*(1-r.y),p=(1-r.x)*r.y;return a.x=f*s.x+h*l.x+p*c.x+d*u.x,a.y=f*s.y+h*l.y+p*c.y+d*u.y,a}var p8=["x","y","z"];function mWe(n,e){const t={};for(let i=0,r=n.axis.length;i<r;i++){if(i===2&&e.z===void 0)continue;let a=e[p8[i]];switch(n.axis[i]){case"e":t.x=a;break;case"w":t.x=-a;break;case"n":t.y=a;break;case"s":t.y=-a;break;case"u":t.z=a;break;case"d":t.z=-a;break;default:return null}}return t}function gWe(n,e){const t={};for(let i=0,r=n.axis.length;i<r;i++)if(!(i===2&&e.z===void 0))switch(n.axis[i]){case"e":t[p8[i]]=e.x;break;case"w":t[p8[i]]=-e.x;break;case"n":t[p8[i]]=e.y;break;case"s":t[p8[i]]=-e.y;break;case"u":t[p8[i]]=e.z;break;case"d":t[p8[i]]=-e.z;break;default:return null}return t}function ZL(n){var e={x:n[0],y:n[1]};return n.length>2&&(e.z=n[2]),n.length>3&&(e.m=n[3]),e}function vWe(n){kj(n.x),kj(n.y)}function kj(n){if(typeof Number.isFinite=="function"){if(Number.isFinite(n))return;throw new TypeError("coordinates must be finite numbers")}if(typeof n!="number"||n!==n||!isFinite(n))throw new TypeError("coordinates must be finite numbers")}function yWe(n,e){return(n.datum.datum_type===pl||n.datum.datum_type===ml||n.datum.datum_type===x7)&&e.datumCode!=="WGS84"||(e.datum.datum_type===pl||e.datum.datum_type===ml||e.datum.datum_type===x7)&&n.datumCode!=="WGS84"}function Jy(n,e,t,i){var r,a=t.z!==void 0;if(vWe(t),n.datum&&e.datum&&yWe(n,e)&&(r=new ka("WGS84"),t=Jy(n,r,t,i),n=r),i&&n.axis!=="enu"&&(t=mWe(n,t)),n.projName==="longlat")t={x:t.x*k0,y:t.y*k0,z:t.z||0};else if(n.to_meter&&(t={x:t.x*n.to_meter,y:t.y*n.to_meter,z:t.z||0}),t=n.inverse(t),!t)return;if(n.from_greenwich&&(t.x+=n.from_greenwich),t=fWe(n.datum,e.datum,t),!!t)return t=t,e.from_greenwich&&(t={x:t.x-e.from_greenwich,y:t.y,z:t.z||0}),e.projName==="longlat"?t={x:t.x*ar,y:t.y*ar,z:t.z||0}:(t=e.forward(t),e.to_meter&&(t={x:t.x/e.to_meter,y:t.y/e.to_meter,z:t.z||0})),i&&e.axis!=="enu"?gWe(e,t):(t&&!a&&e.projName!=="geocent"&&delete t.z,t)}function _We(n,e,t,i){var r;return Array.isArray(t)?r=ZL(t):r={x:t.x,y:t.y,z:t.z,m:t.m},Jy(n,e,r,i)}var Fj=ka("WGS84");function EA(n,e,t,i){var r,a,o;return Array.isArray(t)?(r=Jy(n,e,ZL(t),i)||{x:NaN,y:NaN},t.length>2?(a=typeof n.name!="undefined"&&n.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",a?typeof r.z=="number"?[r.x,r.y,r.z].concat(t.slice(3)):[r.x,r.y,t[2]].concat(t.slice(3)):i&&typeof r.z=="number"?[r.x,r.y,r.z].concat(t.slice(3)):[r.x,r.y].concat(t.slice(2))):[r.x,r.y]):(r=Jy(n,e,{x:t.x,y:t.y,z:t.z,m:t.m},i)||{x:NaN,y:NaN},o=Object.keys(t),o.length===2||(a=typeof n.name!="undefined"&&n.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",o.forEach(function(s){s==="x"||s==="y"||s==="z"&&(a||i)||(r[s]=t[s])})),r)}function Ng(n){return n instanceof ka?n:typeof n=="object"&&"oProj"in n?n.oProj:ka(n)}function SWe(n,e,t){var i,r,a=!1,o;return typeof e=="undefined"?(r=Ng(n),i=Fj,a=!0):(typeof e.x!="undefined"||Array.isArray(e))&&(t=e,r=Ng(n),i=Fj,a=!0),i||(i=Ng(n)),r||(r=Ng(e)),t?EA(i,r,t):(o={forward:function(s,l){return EA(i,r,s,l)},inverse:function(s,l){return EA(r,i,s,l)}},a&&(o.oProj=r),o)}var Oj=6,xte="AJSAJS",wte="AFAFAF",o7=65,Zi=73,fa=79,ld=86,ud=90;const bWe={forward:Tte,inverse:xWe,toPoint:Ate};function Tte(n,e){return e=e||5,AWe(wWe({lat:n[1],lon:n[0]}),e)}function xWe(n){var e=JL(Mte(n.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]}function Ate(n){var e=JL(Mte(n.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function PA(n){return n*(Math.PI/180)}function Bj(n){return 180*(n/Math.PI)}function wWe(n){var e=n.lat,t=n.lon,i=6378137,r=.00669438,a=.9996,o,s,l,u,c,d,h,f=PA(e),p=PA(t),g,m;m=Math.floor((t+180)/6)+1,t===180&&(m=60),e>=56&&e<64&&t>=3&&t<12&&(m=32),e>=72&&e<84&&(t>=0&&t<9?m=31:t>=9&&t<21?m=33:t>=21&&t<33?m=35:t>=33&&t<42&&(m=37)),o=(m-1)*6-180+3,g=PA(o),s=r/(1-r),l=i/Math.sqrt(1-r*Math.sin(f)*Math.sin(f)),u=Math.tan(f)*Math.tan(f),c=s*Math.cos(f)*Math.cos(f),d=Math.cos(f)*(p-g),h=i*((1-r/4-3*r*r/64-5*r*r*r/256)*f-(3*r/8+3*r*r/32+45*r*r*r/1024)*Math.sin(2*f)+(15*r*r/256+45*r*r*r/1024)*Math.sin(4*f)-35*r*r*r/3072*Math.sin(6*f));var v=a*l*(d+(1-u+c)*d*d*d/6+(5-18*u+u*u+72*c-58*s)*d*d*d*d*d/120)+5e5,_=a*(h+l*Math.tan(f)*(d*d/2+(5-u+9*c+4*c*c)*d*d*d*d/24+(61-58*u+u*u+600*c-330*s)*d*d*d*d*d*d/720));return e<0&&(_+=1e7),{northing:Math.round(_),easting:Math.round(v),zoneNumber:m,zoneLetter:TWe(e)}}function JL(n){var e=n.northing,t=n.easting,i=n.zoneLetter,r=n.zoneNumber;if(r<0||r>60)return null;var a=.9996,o=6378137,s=.00669438,l,u=(1-Math.sqrt(1-s))/(1+Math.sqrt(1-s)),c,d,h,f,p,g,m,v,_,S=t-5e5,x=e;i<"N"&&(x-=1e7),m=(r-1)*6-180+3,l=s/(1-s),g=x/a,v=g/(o*(1-s/4-3*s*s/64-5*s*s*s/256)),_=v+(3*u/2-27*u*u*u/32)*Math.sin(2*v)+(21*u*u/16-55*u*u*u*u/32)*Math.sin(4*v)+151*u*u*u/96*Math.sin(6*v),c=o/Math.sqrt(1-s*Math.sin(_)*Math.sin(_)),d=Math.tan(_)*Math.tan(_),h=l*Math.cos(_)*Math.cos(_),f=o*(1-s)/Math.pow(1-s*Math.sin(_)*Math.sin(_),1.5),p=S/(c*a);var A=_-c*Math.tan(_)/f*(p*p/2-(5+3*d+10*h-4*h*h-9*l)*p*p*p*p/24+(61+90*d+298*h+45*d*d-252*l-3*h*h)*p*p*p*p*p*p/720);A=Bj(A);var C=(p-(1+2*d+h)*p*p*p/6+(5-2*h+28*d-3*h*h+8*l+24*d*d)*p*p*p*p*p/120)/Math.cos(_);C=m+Bj(C);var M;if(n.accuracy){var I=JL({northing:n.northing+n.accuracy,easting:n.easting+n.accuracy,zoneLetter:n.zoneLetter,zoneNumber:n.zoneNumber});M={top:I.lat,right:I.lon,bottom:A,left:C}}else M={lat:A,lon:C};return M}function TWe(n){var e="Z";return 84>=n&&n>=72?e="X":72>n&&n>=64?e="W":64>n&&n>=56?e="V":56>n&&n>=48?e="U":48>n&&n>=40?e="T":40>n&&n>=32?e="S":32>n&&n>=24?e="R":24>n&&n>=16?e="Q":16>n&&n>=8?e="P":8>n&&n>=0?e="N":0>n&&n>=-8?e="M":-8>n&&n>=-16?e="L":-16>n&&n>=-24?e="K":-24>n&&n>=-32?e="J":-32>n&&n>=-40?e="H":-40>n&&n>=-48?e="G":-48>n&&n>=-56?e="F":-56>n&&n>=-64?e="E":-64>n&&n>=-72?e="D":-72>n&&n>=-80&&(e="C"),e}function AWe(n,e){var t="00000"+n.easting,i="00000"+n.northing;return n.zoneNumber+n.zoneLetter+CWe(n.easting,n.northing,n.zoneNumber)+t.substr(t.length-5,e)+i.substr(i.length-5,e)}function CWe(n,e,t){var i=Cte(t),r=Math.floor(n/1e5),a=Math.floor(e/1e5)%20;return MWe(r,a,i)}function Cte(n){var e=n%Oj;return e===0&&(e=Oj),e}function MWe(n,e,t){var i=t-1,r=xte.charCodeAt(i),a=wte.charCodeAt(i),o=r+n-1,s=a+e,l=!1;o>ud&&(o=o-ud+o7-1,l=!0),(o===Zi||r<Zi&&o>Zi||(o>Zi||r<Zi)&&l)&&o++,(o===fa||r<fa&&o>fa||(o>fa||r<fa)&&l)&&(o++,o===Zi&&o++),o>ud&&(o=o-ud+o7-1),s>ld?(s=s-ld+o7-1,l=!0):l=!1,(s===Zi||a<Zi&&s>Zi||(s>Zi||a<Zi)&&l)&&s++,(s===fa||a<fa&&s>fa||(s>fa||a<fa)&&l)&&(s++,s===Zi&&s++),s>ld&&(s=s-ld+o7-1);var u=String.fromCharCode(o)+String.fromCharCode(s);return u}function Mte(n){if(n&&n.length===0)throw"MGRSPoint coverting from nothing";for(var e=n.length,t=null,i="",r,a=0;!/[A-Z]/.test(r=n.charAt(a));){if(a>=2)throw"MGRSPoint bad conversion from: "+n;i+=r,a++}var o=parseInt(i,10);if(a===0||a+3>e)throw"MGRSPoint bad conversion from: "+n;var s=n.charAt(a++);if(s<="A"||s==="B"||s==="Y"||s>="Z"||s==="I"||s==="O")throw"MGRSPoint zone letter "+s+" not handled: "+n;t=n.substring(a,a+=2);for(var l=Cte(o),u=EWe(t.charAt(0),l),c=PWe(t.charAt(1),l);c<RWe(s);)c+=2e6;var d=e-a;if(d%2!==0)throw`MGRSPoint has to have an even number |
|
|
of digits after the zone letter and two 100km letters - front |
|
|
half for easting meters, second half for |
|
|
northing meters`+n;var h=d/2,f=0,p=0,g,m,v,_,S;return h>0&&(g=1e5/Math.pow(10,h),m=n.substring(a,a+h),f=parseFloat(m)*g,v=n.substring(a+h),p=parseFloat(v)*g),_=f+u,S=p+c,{easting:_,northing:S,zoneLetter:s,zoneNumber:o,accuracy:g}}function EWe(n,e){for(var t=xte.charCodeAt(e-1),i=1e5,r=!1;t!==n.charCodeAt(0);){if(t++,t===Zi&&t++,t===fa&&t++,t>ud){if(r)throw"Bad character: "+n;t=o7,r=!0}i+=1e5}return i}function PWe(n,e){if(n>"V")throw"MGRSPoint given invalid Northing "+n;for(var t=wte.charCodeAt(e-1),i=0,r=!1;t!==n.charCodeAt(0);){if(t++,t===Zi&&t++,t===fa&&t++,t>ld){if(r)throw"Bad character: "+n;t=o7,r=!0}i+=1e5}return i}function RWe(n){var e;switch(n){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+n}function eu(n,e,t){if(!(this instanceof eu))return new eu(n,e,t);if(Array.isArray(n))this.x=n[0],this.y=n[1],this.z=n[2]||0;else if(typeof n=="object")this.x=n.x,this.y=n.y,this.z=n.z||0;else if(typeof n=="string"&&typeof e=="undefined"){var i=n.split(",");this.x=parseFloat(i[0]),this.y=parseFloat(i[1]),this.z=parseFloat(i[2])||0}else this.x=n,this.y=e,this.z=t||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}eu.fromMGRS=function(n){return new eu(Ate(n))};eu.prototype.toMGRS=function(n){return Tte([this.x,this.y],n)};var LWe=1,IWe=.25,zj=.046875,Uj=.01953125,Gj=.01068115234375,DWe=.75,NWe=.46875,kWe=.013020833333333334,FWe=.007120768229166667,OWe=.3645833333333333,BWe=.005696614583333333,zWe=.3076171875;function QL(n){var e=[];e[0]=LWe-n*(IWe+n*(zj+n*(Uj+n*Gj))),e[1]=n*(DWe-n*(zj+n*(Uj+n*Gj)));var t=n*n;return e[2]=t*(NWe-n*(kWe+n*FWe)),t*=n,e[3]=t*(OWe-n*BWe),e[4]=t*n*zWe,e}function Pu(n,e,t,i){return t*=e,e*=e,i[0]*n-t*(i[1]+e*(i[2]+e*(i[3]+e*i[4])))}var UWe=20;function eI(n,e,t){for(var i=1/(1-e),r=n,a=UWe;a;--a){var o=Math.sin(r),s=1-e*o*o;if(s=(Pu(r,o,Math.cos(r),t)-n)*(s*Math.sqrt(s))*i,r-=s,Math.abs(s)<At)return r}return r}function GWe(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.es&&(this.en=QL(this.es),this.ml0=Pu(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function VWe(n){var e=n.x,t=n.y,i=Rt(e-this.long0,this.over),r,a,o,s=Math.sin(t),l=Math.cos(t);if(this.es){var c=l*i,d=Math.pow(c,2),h=this.ep2*Math.pow(l,2),f=Math.pow(h,2),p=Math.abs(l)>At?Math.tan(t):0,g=Math.pow(p,2),m=Math.pow(g,2);r=1-this.es*Math.pow(s,2),c=c/Math.sqrt(r);var v=Pu(t,s,l,this.en);a=this.a*(this.k0*c*(1+d/6*(1-g+h+d/20*(5-18*g+m+14*h-58*g*h+d/42*(61+179*m-m*g-479*g)))))+this.x0,o=this.a*(this.k0*(v-this.ml0+s*i*c/2*(1+d/12*(5-g+9*h+4*f+d/30*(61+m-58*g+270*h-330*g*h+d/56*(1385+543*m-m*g-3111*g))))))+this.y0}else{var u=l*Math.sin(i);if(Math.abs(Math.abs(u)-1)<At)return 93;if(a=.5*this.a*this.k0*Math.log((1+u)/(1-u))+this.x0,o=l*Math.cos(i)/Math.sqrt(1-Math.pow(u,2)),u=Math.abs(o),u>=1){if(u-1>At)return 93;o=0}else o=Math.acos(o);t<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return n.x=a,n.y=o,n}function HWe(n){var e,t,i,r,a=(n.x-this.x0)*(1/this.a),o=(n.y-this.y0)*(1/this.a);if(this.es)if(e=this.ml0+o/this.k0,t=eI(e,this.es,this.en),Math.abs(t)<ht){var d=Math.sin(t),h=Math.cos(t),f=Math.abs(h)>At?Math.tan(t):0,p=this.ep2*Math.pow(h,2),g=Math.pow(p,2),m=Math.pow(f,2),v=Math.pow(m,2);e=1-this.es*Math.pow(d,2);var _=a*Math.sqrt(e)/this.k0,S=Math.pow(_,2);e=e*f,i=t-e*S/(1-this.es)*.5*(1-S/12*(5+3*m-9*p*m+p-4*g-S/30*(61+90*m-252*p*m+45*v+46*p-S/56*(1385+3633*m+4095*v+1574*v*m)))),r=Rt(this.long0+_*(1-S/6*(1+2*m+p-S/20*(5+28*m+24*v+8*p*m+6*p-S/42*(61+662*m+1320*v+720*v*m))))/h,this.over)}else i=ht*xf(o),r=0;else{var s=Math.exp(a/this.k0),l=.5*(s-1/s),u=this.lat0+o/this.k0,c=Math.cos(u);e=Math.sqrt((1-Math.pow(c,2))/(1+Math.pow(l,2))),i=Math.asin(e),o<0&&(i=-i),l===0&&c===0?r=0:r=Rt(Math.atan2(l,c)+this.long0,this.over)}return n.x=r,n.y=i,n}var WWe=["Fast_Transverse_Mercator","Fast Transverse Mercator"];const vv={init:GWe,forward:VWe,inverse:HWe,names:WWe};function Ete(n){var e=Math.exp(n);return e=(e-1/e)/2,e}function ir(n,e){n=Math.abs(n),e=Math.abs(e);var t=Math.max(n,e),i=Math.min(n,e)/(t||1);return t*Math.sqrt(1+Math.pow(i,2))}function jWe(n){var e=1+n,t=e-1;return t===0?n:n*Math.log(e)/t}function $We(n){var e=Math.abs(n);return e=jWe(e*(1+e/(ir(1,e)+1))),n<0?-e:e}function tI(n,e){for(var t=2*Math.cos(2*e),i=n.length-1,r=n[i],a=0,o;--i>=0;)o=-a+t*r+n[i],a=r,r=o;return e+o*Math.sin(2*e)}function YWe(n,e){for(var t=2*Math.cos(e),i=n.length-1,r=n[i],a=0,o;--i>=0;)o=-a+t*r+n[i],a=r,r=o;return Math.sin(e)*o}function qWe(n){var e=Math.exp(n);return e=(e+1/e)/2,e}function Pte(n,e,t){for(var i=Math.sin(e),r=Math.cos(e),a=Ete(t),o=qWe(t),s=2*r*o,l=-2*i*a,u=n.length-1,c=n[u],d=0,h=0,f=0,p,g;--u>=0;)p=h,g=d,h=c,d=f,c=-p+s*h-l*d+n[u],f=-g+l*h+s*d;return s=i*o,l=r*a,[s*c-l*f,s*f+l*c]}function XWe(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(vv.init.apply(this),this.forward=vv.forward,this.inverse=vv.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var n=this.es/(1+Math.sqrt(1-this.es)),e=n/(2-n),t=e;this.cgb[0]=e*(2+e*(-2/3+e*(-2+e*(116/45+e*(26/45+e*(-2854/675)))))),this.cbg[0]=e*(-2+e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))),t=t*e,this.cgb[1]=t*(7/3+e*(-8/5+e*(-227/45+e*(2704/315+e*(2323/945))))),this.cbg[1]=t*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),t=t*e,this.cgb[2]=t*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=t*(-26/15+e*(34/21+e*(8/5+e*(-12686/2835)))),t=t*e,this.cgb[3]=t*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=t*(1237/630+e*(-12/5+e*(-24832/14175))),t=t*e,this.cgb[4]=t*(4174/315+e*(-144838/6237)),this.cbg[4]=t*(-734/315+e*(109598/31185)),t=t*e,this.cgb[5]=t*(601676/22275),this.cbg[5]=t*(444337/155925),t=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+t*(1/4+t*(1/64+t/256))),this.utg[0]=e*(-.5+e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=t*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=t*(13/48+e*(-3/5+e*(557/1440+e*(281/630+e*(-1983433/1935360))))),t=t*e,this.utg[2]=t*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=t*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),t=t*e,this.utg[3]=t*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=t*(49561/161280+e*(-179/168+e*(6601661/7257600))),t=t*e,this.utg[4]=t*(-4583/161280+e*(108847/3991680)),this.gtu[4]=t*(34729/80640+e*(-3418889/1995840)),t=t*e,this.utg[5]=t*(-20648693/638668800),this.gtu[5]=t*(212378941/319334400);var i=tI(this.cbg,this.lat0);this.Zb=-this.Qn*(i+YWe(this.gtu,2*i))}function KWe(n){var e=Rt(n.x-this.long0,this.over),t=n.y;t=tI(this.cbg,t);var i=Math.sin(t),r=Math.cos(t),a=Math.sin(e),o=Math.cos(e);t=Math.atan2(i,o*r),e=Math.atan2(a*r,ir(i,r*o)),e=$We(Math.tan(e));var s=Pte(this.gtu,2*t,2*e);t=t+s[0],e=e+s[1];var l,u;return Math.abs(e)<=2.623395162778?(l=this.a*(this.Qn*e)+this.x0,u=this.a*(this.Qn*t+this.Zb)+this.y0):(l=1/0,u=1/0),n.x=l,n.y=u,n}function ZWe(n){var e=(n.x-this.x0)*(1/this.a),t=(n.y-this.y0)*(1/this.a);t=(t-this.Zb)/this.Qn,e=e/this.Qn;var i,r;if(Math.abs(e)<=2.623395162778){var a=Pte(this.utg,2*t,2*e);t=t+a[0],e=e+a[1],e=Math.atan(Ete(e));var o=Math.sin(t),s=Math.cos(t),l=Math.sin(e),u=Math.cos(e);t=Math.atan2(o*u,ir(l,u*s)),e=Math.atan2(l,u*s),i=Rt(e+this.long0,this.over),r=tI(this.cgb,t)}else i=1/0,r=1/0;return n.x=i,n.y=r,n}var JWe=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"];const yv={init:XWe,forward:KWe,inverse:ZWe,names:JWe};function QWe(n,e){if(n===void 0){if(n=Math.floor((Rt(e)+Math.PI)*30/Math.PI)+1,n<0)return 0;if(n>60)return 60}return n}var eje="etmerc";function tje(){var n=QWe(this.zone,this.long0);if(n===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(n)-183)*k0,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,yv.init.apply(this),this.forward=yv.forward,this.inverse=yv.inverse}var nje=["Universal Transverse Mercator System","utm"];const ije={init:tje,names:nje,dependsOn:eje};function nI(n,e){return Math.pow((1-n)/(1+n),e)}var rje=20;function aje(){var n=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*n*n),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(n/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+O1)/(Math.pow(Math.tan(.5*this.lat0+O1),this.C)*nI(this.e*n,this.ratexp))}function oje(n){var e=n.x,t=n.y;return n.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*t+O1),this.C)*nI(this.e*Math.sin(t),this.ratexp))-ht,n.x=this.C*e,n}function sje(n){for(var e=1e-14,t=n.x/this.C,i=n.y,r=Math.pow(Math.tan(.5*i+O1)/this.K,1/this.C),a=rje;a>0&&(i=2*Math.atan(r*nI(this.e*Math.sin(n.y),-.5*this.e))-ht,!(Math.abs(i-n.y)<e));--a)n.y=i;return a?(n.x=t,n.y=i,n):null}var lje=["gauss"];const iI={init:aje,forward:oje,inverse:sje,names:lje};function uje(){iI.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))}function cje(n){var e,t,i,r;return n.x=Rt(n.x-this.long0,this.over),iI.forward.apply(this,[n]),e=Math.sin(n.y),t=Math.cos(n.y),i=Math.cos(n.x),r=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*t*i),n.x=r*t*Math.sin(n.x),n.y=r*(this.cosc0*e-this.sinc0*t*i),n.x=this.a*n.x+this.x0,n.y=this.a*n.y+this.y0,n}function dje(n){var e,t,i,r,a;if(n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,n.x/=this.k0,n.y/=this.k0,a=ir(n.x,n.y)){var o=2*Math.atan2(a,this.R2);e=Math.sin(o),t=Math.cos(o),r=Math.asin(t*this.sinc0+n.y*e*this.cosc0/a),i=Math.atan2(n.x*e,a*this.cosc0*t-n.y*this.sinc0*e)}else r=this.phic0,i=0;return n.x=i,n.y=r,iI.inverse.apply(this,[n]),n.x=Rt(n.x+this.long0,this.over),n}var hje=["Stereographic_North_Pole","Oblique_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"];const fje={init:uje,forward:cje,inverse:dje,names:hje};function rI(n,e,t){return e*=t,Math.tan(.5*(ht+n))*Math.pow((1-e)/(1+e),.5*t)}function pje(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=At&&(this.k0=.5*(1+xf(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=At&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=At&&Math.abs(Math.cos(this.lat_ts))>At&&(this.k0=.5*this.cons*hs(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/po(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=hs(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(rI(this.lat0,this.sinlat0,this.e))-ht,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function mje(n){var e=n.x,t=n.y,i=Math.sin(t),r=Math.cos(t),a,o,s,l,u,c,d=Rt(e-this.long0,this.over);return Math.abs(Math.abs(e-this.long0)-Math.PI)<=At&&Math.abs(t+this.lat0)<=At?(n.x=NaN,n.y=NaN,n):this.sphere?(a=2*this.k0/(1+this.sinlat0*i+this.coslat0*r*Math.cos(d)),n.x=this.a*a*r*Math.sin(d)+this.x0,n.y=this.a*a*(this.coslat0*i-this.sinlat0*r*Math.cos(d))+this.y0,n):(o=2*Math.atan(rI(t,i,this.e))-ht,l=Math.cos(o),s=Math.sin(o),Math.abs(this.coslat0)<=At?(u=po(this.e,t*this.con,this.con*i),c=2*this.a*this.k0*u/this.cons,n.x=this.x0+c*Math.sin(e-this.long0),n.y=this.y0-this.con*c*Math.cos(e-this.long0),n):(Math.abs(this.sinlat0)<At?(a=2*this.a*this.k0/(1+l*Math.cos(d)),n.y=a*s):(a=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*s+this.cosX0*l*Math.cos(d))),n.y=a*(this.cosX0*s-this.sinX0*l*Math.cos(d))+this.y0),n.x=a*l*Math.sin(d)+this.x0,n))}function gje(n){n.x-=this.x0,n.y-=this.y0;var e,t,i,r,a,o=Math.sqrt(n.x*n.x+n.y*n.y);if(this.sphere){var s=2*Math.atan(o/(2*this.a*this.k0));return e=this.long0,t=this.lat0,o<=At?(n.x=e,n.y=t,n):(t=Math.asin(Math.cos(s)*this.sinlat0+n.y*Math.sin(s)*this.coslat0/o),Math.abs(this.coslat0)<At?this.lat0>0?e=Rt(this.long0+Math.atan2(n.x,-1*n.y),this.over):e=Rt(this.long0+Math.atan2(n.x,n.y),this.over):e=Rt(this.long0+Math.atan2(n.x*Math.sin(s),o*this.coslat0*Math.cos(s)-n.y*this.sinlat0*Math.sin(s)),this.over),n.x=e,n.y=t,n)}else if(Math.abs(this.coslat0)<=At){if(o<=At)return t=this.lat0,e=this.long0,n.x=e,n.y=t,n;n.x*=this.con,n.y*=this.con,i=o*this.cons/(2*this.a*this.k0),t=this.con*Vh(this.e,i),e=this.con*Rt(this.con*this.long0+Math.atan2(n.x,-1*n.y),this.over)}else r=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,o<=At?a=this.X0:(a=Math.asin(Math.cos(r)*this.sinX0+n.y*Math.sin(r)*this.cosX0/o),e=Rt(this.long0+Math.atan2(n.x*Math.sin(r),o*this.cosX0*Math.cos(r)-n.y*this.sinX0*Math.sin(r)),this.over)),t=-1*Vh(this.e,Math.tan(.5*(ht+a)));return n.x=e,n.y=t,n}var vje=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"];const yje={init:pje,forward:mje,inverse:gje,names:vje,ssfn_:rI};function _je(){var n=this.lat0;this.lambda0=this.long0;var e=Math.sin(n),t=this.a,i=this.rf,r=1/i,a=2*r-Math.pow(r,2),o=this.e=Math.sqrt(a);this.R=this.k0*t*Math.sqrt(1-a)/(1-a*Math.pow(e,2)),this.alpha=Math.sqrt(1+a/(1-a)*Math.pow(Math.cos(n),4)),this.b0=Math.asin(e/this.alpha);var s=Math.log(Math.tan(Math.PI/4+this.b0/2)),l=Math.log(Math.tan(Math.PI/4+n/2)),u=Math.log((1+o*e)/(1-o*e));this.K=s-this.alpha*l+this.alpha*o/2*u}function Sje(n){var e=Math.log(Math.tan(Math.PI/4-n.y/2)),t=this.e/2*Math.log((1+this.e*Math.sin(n.y))/(1-this.e*Math.sin(n.y))),i=-this.alpha*(e+t)+this.K,r=2*(Math.atan(Math.exp(i))-Math.PI/4),a=this.alpha*(n.x-this.lambda0),o=Math.atan(Math.sin(a)/(Math.sin(this.b0)*Math.tan(r)+Math.cos(this.b0)*Math.cos(a))),s=Math.asin(Math.cos(this.b0)*Math.sin(r)-Math.sin(this.b0)*Math.cos(r)*Math.cos(a));return n.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,n.x=this.R*o+this.x0,n}function bje(n){for(var e=n.x-this.x0,t=n.y-this.y0,i=e/this.R,r=2*(Math.atan(Math.exp(t/this.R))-Math.PI/4),a=Math.asin(Math.cos(this.b0)*Math.sin(r)+Math.sin(this.b0)*Math.cos(r)*Math.cos(i)),o=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(r))),s=this.lambda0+o/this.alpha,l=0,u=a,c=-1e3,d=0;Math.abs(u-c)>1e-7;){if(++d>20)return;l=1/this.alpha*(Math.log(Math.tan(Math.PI/4+a/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(u))/2)),c=u,u=2*Math.atan(Math.exp(l))-Math.PI/2}return n.x=s,n.y=u,n}var xje=["somerc"];const wje={init:_je,forward:Sje,inverse:bje,names:xje};var $4=1e-7;function Tje(n){var e=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],t=typeof n.projName=="object"?Object.keys(n.projName)[0]:n.projName;return"no_uoff"in n||"no_off"in n||e.indexOf(t)!==-1||e.indexOf(yte(t))!==-1}function Aje(){var n,e,t,i,r,a,o,s,l,u,c=0,d,h=0,f=0,p=0,g=0,m=0,v=0;this.no_off=Tje(this),this.no_rot="no_rot"in this;var _=!1;"alpha"in this&&(_=!0);var S=!1;if("rectified_grid_angle"in this&&(S=!0),_&&(v=this.alpha),S&&(c=this.rectified_grid_angle,_||(v=0,_=!0)),_||S)h=this.longc;else if(f=this.long1,g=this.lat1,p=this.long2,m=this.lat2,Math.abs(g-m)<=$4||(n=Math.abs(g))<=$4||Math.abs(n-ht)<=$4||Math.abs(Math.abs(this.lat0)-ht)<=$4||Math.abs(Math.abs(m)-ht)<=$4)throw new Error;var x=1-this.es;e=Math.sqrt(x),Math.abs(this.lat0)>At?(s=Math.sin(this.lat0),t=Math.cos(this.lat0),n=1-this.es*s*s,this.B=t*t,this.B=Math.sqrt(1+this.es*this.B*this.B/x),this.A=this.B*this.k0*e/n,i=this.B*e/(t*Math.sqrt(n)),r=i*i-1,r<=0?r=0:(r=Math.sqrt(r),this.lat0<0&&(r=-r)),this.E=r+=i,this.E*=Math.pow(po(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=i=r=1),_||S?(_?(d=Math.asin(Math.sin(v)/i),S||(c=v)):(d=c,v=Math.asin(i*Math.sin(d))),this.lam0=h-Math.asin(.5*(r-1/r)*Math.tan(d))/this.B):(a=Math.pow(po(this.e,g,Math.sin(g)),this.B),o=Math.pow(po(this.e,m,Math.sin(m)),this.B),r=this.E/a,l=(o-a)/(o+a),u=this.E*this.E,u=(u-o*a)/(u+o*a),n=f-p,n<-Math.PI?p-=Uh:n>Math.PI&&(p+=Uh),this.lam0=Rt(.5*(f+p)-Math.atan(u*Math.tan(.5*this.B*(f-p))/l)/this.B,this.over),d=Math.atan(2*Math.sin(this.B*Rt(f-this.lam0,this.over))/(r-1/r)),c=v=Math.asin(i*Math.sin(d))),this.singam=Math.sin(d),this.cosgam=Math.cos(d),this.sinrot=Math.sin(c),this.cosrot=Math.cos(c),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(i*i-1)/Math.cos(v))),this.lat0<0&&(this.u_0=-this.u_0)),r=.5*d,this.v_pole_n=this.ArB*Math.log(Math.tan(O1-r)),this.v_pole_s=this.ArB*Math.log(Math.tan(O1+r))}function Cje(n){var e={},t,i,r,a,o,s,l,u;if(n.x=n.x-this.lam0,Math.abs(Math.abs(n.y)-ht)>At){if(o=this.E/Math.pow(po(this.e,n.y,Math.sin(n.y)),this.B),s=1/o,t=.5*(o-s),i=.5*(o+s),a=Math.sin(this.B*n.x),r=(t*this.singam-a*this.cosgam)/i,Math.abs(Math.abs(r)-1)<At)throw new Error;u=.5*this.ArB*Math.log((1-r)/(1+r)),s=Math.cos(this.B*n.x),Math.abs(s)<$4?l=this.A*n.x:l=this.ArB*Math.atan2(t*this.cosgam+a*this.singam,s)}else u=n.y>0?this.v_pole_n:this.v_pole_s,l=this.ArB*n.y;return this.no_rot?(e.x=l,e.y=u):(l-=this.u_0,e.x=u*this.cosrot+l*this.sinrot,e.y=l*this.cosrot-u*this.sinrot),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e}function Mje(n){var e,t,i,r,a,o,s,l={};if(n.x=(n.x-this.x0)*(1/this.a),n.y=(n.y-this.y0)*(1/this.a),this.no_rot?(t=n.y,e=n.x):(t=n.x*this.cosrot-n.y*this.sinrot,e=n.y*this.cosrot+n.x*this.sinrot+this.u_0),i=Math.exp(-this.BrA*t),r=.5*(i-1/i),a=.5*(i+1/i),o=Math.sin(this.BrA*e),s=(o*this.cosgam+r*this.singam)/a,Math.abs(Math.abs(s)-1)<At)l.x=0,l.y=s<0?-ht:ht;else{if(l.y=this.E/Math.sqrt((1+s)/(1-s)),l.y=Vh(this.e,Math.pow(l.y,1/this.B)),l.y===1/0)throw new Error;l.x=-this.rB*Math.atan2(r*this.cosgam-o*this.singam,Math.cos(this.BrA*e))}return l.x+=this.lam0,l}var Eje=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Variant_B","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","Oblique_Mercator","omerc"];const Pje={init:Aje,forward:Cje,inverse:Mje,names:Eje};function Rje(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<At)){var n=this.b/this.a;this.e=Math.sqrt(1-n*n);var e=Math.sin(this.lat1),t=Math.cos(this.lat1),i=hs(this.e,e,t),r=po(this.e,this.lat1,e),a=Math.sin(this.lat2),o=Math.cos(this.lat2),s=hs(this.e,a,o),l=po(this.e,this.lat2,a),u=Math.abs(Math.abs(this.lat0)-ht)<At?0:po(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>At?this.ns=Math.log(i/s)/Math.log(r/l):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=i/(this.ns*Math.pow(r,this.ns)),this.rh=this.a*this.f0*Math.pow(u,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function Lje(n){var e=n.x,t=n.y;Math.abs(2*Math.abs(t)-Math.PI)<=At&&(t=xf(t)*(ht-2*At));var i=Math.abs(Math.abs(t)-ht),r,a;if(i>At)r=po(this.e,t,Math.sin(t)),a=this.a*this.f0*Math.pow(r,this.ns);else{if(i=t*this.ns,i<=0)return null;a=0}var o=this.ns*Rt(e-this.long0,this.over);return n.x=this.k0*(a*Math.sin(o))+this.x0,n.y=this.k0*(this.rh-a*Math.cos(o))+this.y0,n}function Ije(n){var e,t,i,r,a,o=(n.x-this.x0)/this.k0,s=this.rh-(n.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(o*o+s*s),t=1):(e=-Math.sqrt(o*o+s*s),t=-1);var l=0;if(e!==0&&(l=Math.atan2(t*o,t*s)),e!==0||this.ns>0){if(t=1/this.ns,i=Math.pow(e/(this.a*this.f0),t),r=Vh(this.e,i),r===-9999)return null}else r=-ht;return a=Rt(l/this.ns+this.long0,this.over),n.x=a,n.y=r,n}var Dje=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"];const Nje={init:Rje,forward:Lje,inverse:Ije,names:Dje};function kje(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function Fje(n){var e,t,i,r,a,o,s,l=n.x,u=n.y,c=Rt(l-this.long0,this.over);return e=Math.pow((1+this.e*Math.sin(u))/(1-this.e*Math.sin(u)),this.alfa*this.e/2),t=2*(Math.atan(this.k*Math.pow(Math.tan(u/2+this.s45),this.alfa)/e)-this.s45),i=-c*this.alfa,r=Math.asin(Math.cos(this.ad)*Math.sin(t)+Math.sin(this.ad)*Math.cos(t)*Math.cos(i)),a=Math.asin(Math.cos(t)*Math.sin(i)/Math.cos(r)),o=this.n*a,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(r/2+this.s45),this.n),n.y=s*Math.cos(o)/1,n.x=s*Math.sin(o)/1,this.czech||(n.y*=-1,n.x*=-1),n}function Oje(n){var e,t,i,r,a,o,s,l,u=n.x;n.x=n.y,n.y=u,this.czech||(n.y*=-1,n.x*=-1),o=Math.sqrt(n.x*n.x+n.y*n.y),a=Math.atan2(n.y,n.x),r=a/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(r)),t=Math.asin(Math.cos(i)*Math.sin(r)/Math.cos(e)),n.x=this.long0-t/this.alfa,s=e,l=0;var c=0;do n.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(s))/(1-this.e*Math.sin(s)),this.e/2))-this.s45),Math.abs(s-n.y)<1e-10&&(l=1),s=n.y,c+=1;while(l===0&&c<15);return c>=15?null:n}var Bje=["Krovak","Krovak Modified","Krovak (North Orientated)","Krovak Modified (North Orientated)","krovak"];const zje={init:kje,forward:Fje,inverse:Oje,names:Bje};function Fi(n,e,t,i,r){return n*r-e*Math.sin(2*r)+t*Math.sin(4*r)-i*Math.sin(6*r)}function wf(n){return 1-.25*n*(1+n/16*(3+1.25*n))}function Tf(n){return .375*n*(1+.25*n*(1+.46875*n))}function Af(n){return .05859375*n*n*(1+.75*n)}function Cf(n){return n*n*n*(35/3072)}function aI(n,e,t){var i=e*t;return n/Math.sqrt(1-i*i)}function s9(n){return Math.abs(n)<ht?n:n-xf(n)*Math.PI}function Qy(n,e,t,i,r){var a,o;a=n/e;for(var s=0;s<15;s++)if(o=(n-(e*a-t*Math.sin(2*a)+i*Math.sin(4*a)-r*Math.sin(6*a)))/(e-2*t*Math.cos(2*a)+4*i*Math.cos(4*a)-6*r*Math.cos(6*a)),a+=o,Math.abs(o)<=1e-10)return a;return NaN}function Uje(){this.sphere||(this.e0=wf(this.es),this.e1=Tf(this.es),this.e2=Af(this.es),this.e3=Cf(this.es),this.ml0=this.a*Fi(this.e0,this.e1,this.e2,this.e3,this.lat0))}function Gje(n){var e,t,i=n.x,r=n.y;if(i=Rt(i-this.long0,this.over),this.sphere)e=this.a*Math.asin(Math.cos(r)*Math.sin(i)),t=this.a*(Math.atan2(Math.tan(r),Math.cos(i))-this.lat0);else{var a=Math.sin(r),o=Math.cos(r),s=aI(this.a,this.e,a),l=Math.tan(r)*Math.tan(r),u=i*Math.cos(r),c=u*u,d=this.es*o*o/(1-this.es),h=this.a*Fi(this.e0,this.e1,this.e2,this.e3,r);e=s*u*(1-c*l*(1/6-(8-l+8*d)*c/120)),t=h-this.ml0+s*a/o*c*(.5+(5-l+6*d)*c/24)}return n.x=e+this.x0,n.y=t+this.y0,n}function Vje(n){n.x-=this.x0,n.y-=this.y0;var e=n.x/this.a,t=n.y/this.a,i,r;if(this.sphere){var a=t+this.lat0;i=Math.asin(Math.sin(a)*Math.cos(e)),r=Math.atan2(Math.tan(e),Math.cos(a))}else{var o=this.ml0/this.a+t,s=Qy(o,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(s)-ht)<=At)return n.x=this.long0,n.y=ht,t<0&&(n.y*=-1),n;var l=aI(this.a,this.e,Math.sin(s)),u=l*l*l/this.a/this.a*(1-this.es),c=Math.pow(Math.tan(s),2),d=e*this.a/l,h=d*d;i=s-l*Math.tan(s)/u*d*d*(.5-(1+3*c)*d*d/24),r=d*(1-h*(c/3+(1+3*c)*c*h/15))/Math.cos(s)}return n.x=Rt(r+this.long0,this.over),n.y=s9(i),n}var Hje=["Cassini","Cassini_Soldner","cass"];const Wje={init:Uje,forward:Gje,inverse:Vje,names:Hje};function as(n,e){var t;return n>1e-7?(t=n*e,(1-n*n)*(e/(1-t*t)-.5/n*Math.log((1-t)/(1+t)))):2*e}var jje=.3333333333333333,$je=.17222222222222222,Yje=.10257936507936508,qje=.06388888888888888,Xje=.0664021164021164,Kje=.016415012942191543;function Rte(n){var e,t=[];return t[0]=n*jje,e=n*n,t[0]+=e*$je,t[1]=e*qje,e*=n,t[0]+=e*Yje,t[1]+=e*Xje,t[2]=e*Kje,t}function Lte(n,e){var t=n+n;return n+e[0]*Math.sin(t)+e[1]*Math.sin(t+t)+e[2]*Math.sin(t+t+t)}var yE=1,_E=2,SE=3,_v=4;function Zje(){var n=Math.abs(this.lat0);if(Math.abs(n-ht)<At?this.mode=this.lat0<0?yE:_E:Math.abs(n)<At?this.mode=SE:this.mode=_v,this.es>0){var e;switch(this.qp=as(this.e,1),this.mmf=.5/(1-this.es),this.apa=Rte(this.es),this.mode){case _E:this.dd=1;break;case yE:this.dd=1;break;case SE:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case _v:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=as(this.e,e)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*e*e)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===_v&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function Jje(n){var e,t,i,r,a,o,s,l,u,c,d=n.x,h=n.y;if(d=Rt(d-this.long0,this.over),this.sphere){if(a=Math.sin(h),c=Math.cos(h),i=Math.cos(d),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t=this.mode===this.EQUIT?1+c*i:1+this.sinph0*a+this.cosph0*c*i,t<=At)return null;t=Math.sqrt(2/t),e=t*c*Math.sin(d),t*=this.mode===this.EQUIT?a:this.cosph0*a-this.sinph0*c*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(h+this.lat0)<At)return null;t=O1-h*.5,t=2*(this.mode===this.S_POLE?Math.cos(t):Math.sin(t)),e=t*Math.sin(d),t*=i}}else{switch(s=0,l=0,u=0,i=Math.cos(d),r=Math.sin(d),a=Math.sin(h),o=as(this.e,a),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(s=o/this.qp,l=Math.sqrt(1-s*s)),this.mode){case this.OBLIQ:u=1+this.sinb1*s+this.cosb1*l*i;break;case this.EQUIT:u=1+l*i;break;case this.N_POLE:u=ht+h,o=this.qp-o;break;case this.S_POLE:u=h-ht,o=this.qp+o;break}if(Math.abs(u)<At)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:u=Math.sqrt(2/u),this.mode===this.OBLIQ?t=this.ymf*u*(this.cosb1*s-this.sinb1*l*i):t=(u=Math.sqrt(2/(1+l*i)))*s*this.ymf,e=this.xmf*u*l*r;break;case this.N_POLE:case this.S_POLE:o>=0?(e=(u=Math.sqrt(o))*r,t=i*(this.mode===this.S_POLE?u:-u)):e=t=0;break}}return n.x=this.a*e+this.x0,n.y=this.a*t+this.y0,n}function Qje(n){n.x-=this.x0,n.y-=this.y0;var e=n.x/this.a,t=n.y/this.a,i,r,a,o,s,l,u;if(this.sphere){var c=0,d,h=0;if(d=Math.sqrt(e*e+t*t),r=d*.5,r>1)return null;switch(r=2*Math.asin(r),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(h=Math.sin(r),c=Math.cos(r)),this.mode){case this.EQUIT:r=Math.abs(d)<=At?0:Math.asin(t*h/d),e*=h,t=c*d;break;case this.OBLIQ:r=Math.abs(d)<=At?this.lat0:Math.asin(c*this.sinph0+t*h*this.cosph0/d),e*=h*this.cosph0,t=(c-Math.sin(r)*this.sinph0)*d;break;case this.N_POLE:t=-t,r=ht-r;break;case this.S_POLE:r-=ht;break}i=t===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(e,t)}else{if(u=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(e/=this.dd,t*=this.dd,l=Math.sqrt(e*e+t*t),l<At)return n.x=this.long0,n.y=this.lat0,n;o=2*Math.asin(.5*l/this.rq),a=Math.cos(o),e*=o=Math.sin(o),this.mode===this.OBLIQ?(u=a*this.sinb1+t*o*this.cosb1/l,s=this.qp*u,t=l*this.cosb1*a-t*this.sinb1*o):(u=t*o/l,s=this.qp*u,t=l*a)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(t=-t),s=e*e+t*t,!s)return n.x=this.long0,n.y=this.lat0,n;u=1-s/this.qp,this.mode===this.S_POLE&&(u=-u)}i=Math.atan2(e,t),r=Lte(Math.asin(u),this.apa)}return n.x=Rt(this.long0+i,this.over),n.y=r,n}var e$e=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"];const t$e={init:Zje,forward:Jje,inverse:Qje,names:e$e,S_POLE:yE,N_POLE:_E,EQUIT:SE,OBLIQ:_v};function Q5(n){return Math.abs(n)>1&&(n=n>1?1:-1),Math.asin(n)}function n$e(){Math.abs(this.lat1+this.lat2)<At||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=hs(this.e3,this.sin_po,this.cos_po),this.qs1=as(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=hs(this.e3,this.sin_po,this.cos_po),this.qs2=as(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=as(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>At?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function i$e(n){var e=n.x,t=n.y;this.sin_phi=Math.sin(t),this.cos_phi=Math.cos(t);var i=as(this.e3,this.sin_phi),r=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,a=this.ns0*Rt(e-this.long0,this.over),o=r*Math.sin(a)+this.x0,s=this.rh-r*Math.cos(a)+this.y0;return n.x=o,n.y=s,n}function r$e(n){var e,t,i,r,a,o;return n.x-=this.x0,n.y=this.rh-n.y+this.y0,this.ns0>=0?(e=Math.sqrt(n.x*n.x+n.y*n.y),i=1):(e=-Math.sqrt(n.x*n.x+n.y*n.y),i=-1),r=0,e!==0&&(r=Math.atan2(i*n.x,i*n.y)),i=e*this.ns0/this.a,this.sphere?o=Math.asin((this.c-i*i)/(2*this.ns0)):(t=(this.c-i*i)/this.ns0,o=this.phi1z(this.e3,t)),a=Rt(r/this.ns0+this.long0,this.over),n.x=a,n.y=o,n}function a$e(n,e){var t,i,r,a,o,s=Q5(.5*e);if(n<At)return s;for(var l=n*n,u=1;u<=25;u++)if(t=Math.sin(s),i=Math.cos(s),r=n*t,a=1-r*r,o=.5*a*a/i*(e/(1-l)-t/a+.5/n*Math.log((1-r)/(1+r))),s=s+o,Math.abs(o)<=1e-7)return s;return null}var o$e=["Albers_Conic_Equal_Area","Albers_Equal_Area","Albers","aea"];const s$e={init:n$e,forward:i$e,inverse:r$e,names:o$e,phi1z:a$e};function l$e(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function u$e(n){var e,t,i,r,a,o,s,l,u=n.x,c=n.y;return i=Rt(u-this.long0,this.over),e=Math.sin(c),t=Math.cos(c),r=Math.cos(i),o=this.sin_p14*e+this.cos_p14*t*r,a=1,o>0||Math.abs(o)<=At?(s=this.x0+this.a*a*t*Math.sin(i)/o,l=this.y0+this.a*a*(this.cos_p14*e-this.sin_p14*t*r)/o):(s=this.x0+this.infinity_dist*t*Math.sin(i),l=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*t*r)),n.x=s,n.y=l,n}function c$e(n){var e,t,i,r,a,o;return n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,n.x/=this.k0,n.y/=this.k0,(e=Math.sqrt(n.x*n.x+n.y*n.y))?(r=Math.atan2(e,this.rc),t=Math.sin(r),i=Math.cos(r),o=Q5(i*this.sin_p14+n.y*t*this.cos_p14/e),a=Math.atan2(n.x*t,e*this.cos_p14*i-n.y*this.sin_p14*t),a=Rt(this.long0+a,this.over)):(o=this.phic0,a=0),n.x=a,n.y=o,n}var d$e=["gnom"];const h$e={init:l$e,forward:u$e,inverse:c$e,names:d$e};function f$e(n,e){var t=1-(1-n*n)/(2*n)*Math.log((1-n)/(1+n));if(Math.abs(Math.abs(e)-t)<1e-6)return e<0?-1*ht:ht;for(var i=Math.asin(.5*e),r,a,o,s,l=0;l<30;l++)if(a=Math.sin(i),o=Math.cos(i),s=n*a,r=Math.pow(1-s*s,2)/(2*o)*(e/(1-n*n)-a/(1-s*s)+.5/n*Math.log((1-s)/(1+s))),i+=r,Math.abs(r)<=1e-10)return i;return NaN}function p$e(){this.sphere||(this.k0=hs(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function m$e(n){var e=n.x,t=n.y,i,r,a=Rt(e-this.long0,this.over);if(this.sphere)i=this.x0+this.a*a*Math.cos(this.lat_ts),r=this.y0+this.a*Math.sin(t)/Math.cos(this.lat_ts);else{var o=as(this.e,Math.sin(t));i=this.x0+this.a*this.k0*a,r=this.y0+this.a*o*.5/this.k0}return n.x=i,n.y=r,n}function g$e(n){n.x-=this.x0,n.y-=this.y0;var e,t;return this.sphere?(e=Rt(this.long0+n.x/this.a/Math.cos(this.lat_ts),this.over),t=Math.asin(n.y/this.a*Math.cos(this.lat_ts))):(t=f$e(this.e,2*n.y*this.k0/this.a),e=Rt(this.long0+n.x/(this.a*this.k0),this.over)),n.x=e,n.y=t,n}var v$e=["cea"];const y$e={init:p$e,forward:m$e,inverse:g$e,names:v$e};function _$e(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function S$e(n){var e=n.x,t=n.y,i=Rt(e-this.long0,this.over),r=s9(t-this.lat0);return n.x=this.x0+this.a*i*this.rc,n.y=this.y0+this.a*r,n}function b$e(n){var e=n.x,t=n.y;return n.x=Rt(this.long0+(e-this.x0)/(this.a*this.rc),this.over),n.y=s9(this.lat0+(t-this.y0)/this.a),n}var x$e=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"];const w$e={init:_$e,forward:S$e,inverse:b$e,names:x$e};var Vj=20;function T$e(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=wf(this.es),this.e1=Tf(this.es),this.e2=Af(this.es),this.e3=Cf(this.es),this.ml0=this.a*Fi(this.e0,this.e1,this.e2,this.e3,this.lat0)}function A$e(n){var e=n.x,t=n.y,i,r,a,o=Rt(e-this.long0,this.over);if(a=o*Math.sin(t),this.sphere)Math.abs(t)<=At?(i=this.a*o,r=-1*this.a*this.lat0):(i=this.a*Math.sin(a)/Math.tan(t),r=this.a*(s9(t-this.lat0)+(1-Math.cos(a))/Math.tan(t)));else if(Math.abs(t)<=At)i=this.a*o,r=-1*this.ml0;else{var s=aI(this.a,this.e,Math.sin(t))/Math.tan(t);i=s*Math.sin(a),r=this.a*Fi(this.e0,this.e1,this.e2,this.e3,t)-this.ml0+s*(1-Math.cos(a))}return n.x=i+this.x0,n.y=r+this.y0,n}function C$e(n){var e,t,i,r,a,o,s,l,u;if(i=n.x-this.x0,r=n.y-this.y0,this.sphere)if(Math.abs(r+this.a*this.lat0)<=At)e=Rt(i/this.a+this.long0,this.over),t=0;else{o=this.lat0+r/this.a,s=i*i/this.a/this.a+o*o,l=o;var c;for(a=Vj;a;--a)if(c=Math.tan(l),u=-1*(o*(l*c+1)-l-.5*(l*l+s)*c)/((l-o)/c-1),l+=u,Math.abs(u)<=At){t=l;break}e=Rt(this.long0+Math.asin(i*Math.tan(l)/this.a)/Math.sin(t),this.over)}else if(Math.abs(r+this.ml0)<=At)t=0,e=Rt(this.long0+i/this.a,this.over);else{o=(this.ml0+r)/this.a,s=i*i/this.a/this.a+o*o,l=o;var d,h,f,p,g;for(a=Vj;a;--a)if(g=this.e*Math.sin(l),d=Math.sqrt(1-g*g)*Math.tan(l),h=this.a*Fi(this.e0,this.e1,this.e2,this.e3,l),f=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),p=h/this.a,u=(o*(d*p+1)-p-.5*d*(p*p+s))/(this.es*Math.sin(2*l)*(p*p+s-2*o*p)/(4*d)+(o-p)*(d*f-2/Math.sin(2*l))-f),l-=u,Math.abs(u)<=At){t=l;break}d=Math.sqrt(1-this.es*Math.pow(Math.sin(t),2))*Math.tan(t),e=Rt(this.long0+Math.asin(i*d/this.a)/Math.sin(t),this.over)}return n.x=e,n.y=t,n}var M$e=["Polyconic","American_Polyconic","poly"];const E$e={init:T$e,forward:A$e,inverse:C$e,names:M$e};function P$e(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function R$e(n){var e,t=n.x,i=n.y,r=i-this.lat0,a=t-this.long0,o=r/Od*1e-5,s=a,l=1,u=0;for(e=1;e<=10;e++)l=l*o,u=u+this.A[e]*l;var c=u,d=s,h=1,f=0,p,g,m=0,v=0;for(e=1;e<=6;e++)p=h*c-f*d,g=f*c+h*d,h=p,f=g,m=m+this.B_re[e]*h-this.B_im[e]*f,v=v+this.B_im[e]*h+this.B_re[e]*f;return n.x=v*this.a+this.x0,n.y=m*this.a+this.y0,n}function L$e(n){var e,t=n.x,i=n.y,r=t-this.x0,a=i-this.y0,o=a/this.a,s=r/this.a,l=1,u=0,c,d,h=0,f=0;for(e=1;e<=6;e++)c=l*o-u*s,d=u*o+l*s,l=c,u=d,h=h+this.C_re[e]*l-this.C_im[e]*u,f=f+this.C_im[e]*l+this.C_re[e]*u;for(var p=0;p<this.iterations;p++){var g=h,m=f,v,_,S=o,x=s;for(e=2;e<=6;e++)v=g*h-m*f,_=m*h+g*f,g=v,m=_,S=S+(e-1)*(this.B_re[e]*g-this.B_im[e]*m),x=x+(e-1)*(this.B_im[e]*g+this.B_re[e]*m);g=1,m=0;var A=this.B_re[1],C=this.B_im[1];for(e=2;e<=6;e++)v=g*h-m*f,_=m*h+g*f,g=v,m=_,A=A+e*(this.B_re[e]*g-this.B_im[e]*m),C=C+e*(this.B_im[e]*g+this.B_re[e]*m);var M=A*A+C*C;h=(S*A+x*C)/M,f=(x*A-S*C)/M}var I=h,D=f,E=1,L=0;for(e=1;e<=9;e++)E=E*I,L=L+this.D[e]*E;var V=this.lat0+L*Od*1e5,Y=this.long0+D;return n.x=Y,n.y=V,n}var I$e=["New_Zealand_Map_Grid","nzmg"];const D$e={init:P$e,forward:R$e,inverse:L$e,names:I$e};function N$e(){}function k$e(n){var e=n.x,t=n.y,i=Rt(e-this.long0,this.over),r=this.x0+this.a*i,a=this.y0+this.a*Math.log(Math.tan(Math.PI/4+t/2.5))*1.25;return n.x=r,n.y=a,n}function F$e(n){n.x-=this.x0,n.y-=this.y0;var e=Rt(this.long0+n.x/this.a,this.over),t=2.5*(Math.atan(Math.exp(.8*n.y/this.a))-Math.PI/4);return n.x=e,n.y=t,n}var O$e=["Miller_Cylindrical","mill"];const B$e={init:N$e,forward:k$e,inverse:F$e,names:O$e};var z$e=20;function U$e(){this.long0=this.long0||0,this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=QL(this.es)}function Ite(n){var e,t,i=n.x,r=n.y;if(i=Rt(i-this.long0,this.over),this.sphere){if(!this.m)r=this.n!==1?Math.asin(this.n*Math.sin(r)):r;else for(var a=this.n*Math.sin(r),o=z$e;o;--o){var s=(this.m*r+Math.sin(r)-a)/(this.m+Math.cos(r));if(r-=s,Math.abs(s)<At)break}e=this.a*this.C_x*i*(this.m+Math.cos(r)),t=this.a*this.C_y*r}else{var l=Math.sin(r),u=Math.cos(r);t=this.a*Pu(r,l,u,this.en),e=this.a*i*u/Math.sqrt(1-this.es*l*l)}return n.x=e,n.y=t,n}function Dte(n){var e,t,i,r;return n.x-=this.x0,i=n.x/this.a,n.y-=this.y0,e=n.y/this.a,this.sphere?(e/=this.C_y,i=i/(this.C_x*(this.m+Math.cos(e))),this.m?e=Q5((this.m*e+Math.sin(e))/this.n):this.n!==1&&(e=Q5(Math.sin(e)/this.n)),i=Rt(i+this.long0,this.over),e=s9(e)):(e=eI(n.y/this.a,this.es,this.en),r=Math.abs(e),r<ht?(r=Math.sin(e),t=this.long0+n.x*Math.sqrt(1-this.es*r*r)/(this.a*Math.cos(e)),i=Rt(t,this.over)):r-At<ht&&(i=this.long0)),n.x=i,n.y=e,n}var G$e=["Sinusoidal","sinu"];const V$e={init:U$e,forward:Ite,inverse:Dte,names:G$e};function H$e(){this.sphere=!0,this.b=this.a,this.m=1,this.n=2.5707963267948966,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)}var W$e=Ite,j$e=Dte,$$e=["Eckert_VI","eck6"];const Y$e={init:H$e,forward:W$e,inverse:j$e,names:$$e};function q$e(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0}function X$e(n){for(var e=n.x,t=n.y,i=Rt(e-this.long0,this.over),r=t,a=Math.PI*Math.sin(t);;){var o=-(r+Math.sin(r)-a)/(1+Math.cos(r));if(r+=o,Math.abs(o)<At)break}r/=2,Math.PI/2-Math.abs(t)<At&&(i=0);var s=.900316316158*this.a*i*Math.cos(r)+this.x0,l=1.4142135623731*this.a*Math.sin(r)+this.y0;return n.x=s,n.y=l,n}function K$e(n){var e,t;n.x-=this.x0,n.y-=this.y0,t=n.y/(1.4142135623731*this.a),Math.abs(t)>.999999999999&&(t=.999999999999),e=Math.asin(t);var i=Rt(this.long0+n.x/(.900316316158*this.a*Math.cos(e)),this.over);i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),t=(2*e+Math.sin(2*e))/Math.PI,Math.abs(t)>1&&(t=1);var r=Math.asin(t);return n.x=i,n.y=r,n}var Z$e=["Mollweide","moll"];const J$e={init:q$e,forward:X$e,inverse:K$e,names:Z$e};function Q$e(){Math.abs(this.lat1+this.lat2)<At||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=wf(this.es),this.e1=Tf(this.es),this.e2=Af(this.es),this.e3=Cf(this.es),this.sin_phi=Math.sin(this.lat1),this.cos_phi=Math.cos(this.lat1),this.ms1=hs(this.e,this.sin_phi,this.cos_phi),this.ml1=Fi(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<At?this.ns=this.sin_phi:(this.sin_phi=Math.sin(this.lat2),this.cos_phi=Math.cos(this.lat2),this.ms2=hs(this.e,this.sin_phi,this.cos_phi),this.ml2=Fi(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=Fi(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function eYe(n){var e=n.x,t=n.y,i;if(this.sphere)i=this.a*(this.g-t);else{var r=Fi(this.e0,this.e1,this.e2,this.e3,t);i=this.a*(this.g-r)}var a=this.ns*Rt(e-this.long0,this.over),o=this.x0+i*Math.sin(a),s=this.y0+this.rh-i*Math.cos(a);return n.x=o,n.y=s,n}function tYe(n){n.x-=this.x0,n.y=this.rh-n.y+this.y0;var e,t,i,r;this.ns>=0?(t=Math.sqrt(n.x*n.x+n.y*n.y),e=1):(t=-Math.sqrt(n.x*n.x+n.y*n.y),e=-1);var a=0;if(t!==0&&(a=Math.atan2(e*n.x,e*n.y)),this.sphere)return r=Rt(this.long0+a/this.ns,this.over),i=s9(this.g-t/this.a),n.x=r,n.y=i,n;var o=this.g-t/this.a;return i=Qy(o,this.e0,this.e1,this.e2,this.e3),r=Rt(this.long0+a/this.ns,this.over),n.x=r,n.y=i,n}var nYe=["Equidistant_Conic","eqdc"];const iYe={init:Q$e,forward:eYe,inverse:tYe,names:nYe};function rYe(){this.R=this.a}function aYe(n){var e=n.x,t=n.y,i=Rt(e-this.long0,this.over),r,a;Math.abs(t)<=At&&(r=this.x0+this.R*i,a=this.y0);var o=Q5(2*Math.abs(t/Math.PI));(Math.abs(i)<=At||Math.abs(Math.abs(t)-ht)<=At)&&(r=this.x0,t>=0?a=this.y0+Math.PI*this.R*Math.tan(.5*o):a=this.y0+Math.PI*this.R*-Math.tan(.5*o));var s=.5*Math.abs(Math.PI/i-i/Math.PI),l=s*s,u=Math.sin(o),c=Math.cos(o),d=c/(u+c-1),h=d*d,f=d*(2/u-1),p=f*f,g=Math.PI*this.R*(s*(d-p)+Math.sqrt(l*(d-p)*(d-p)-(p+l)*(h-p)))/(p+l);i<0&&(g=-g),r=this.x0+g;var m=l+d;return g=Math.PI*this.R*(f*m-s*Math.sqrt((p+l)*(l+1)-m*m))/(p+l),t>=0?a=this.y0+g:a=this.y0-g,n.x=r,n.y=a,n}function oYe(n){var e,t,i,r,a,o,s,l,u,c,d,h,f;return n.x-=this.x0,n.y-=this.y0,d=Math.PI*this.R,i=n.x/d,r=n.y/d,a=i*i+r*r,o=-Math.abs(r)*(1+a),s=o-2*r*r+i*i,l=-2*o+1+2*r*r+a*a,f=r*r/l+(2*s*s*s/l/l/l-9*o*s/l/l)/27,u=(o-s*s/3/l)/l,c=2*Math.sqrt(-u/3),d=3*f/u/c,Math.abs(d)>1&&(d>=0?d=1:d=-1),h=Math.acos(d)/3,n.y>=0?t=(-c*Math.cos(h+Math.PI/3)-s/3/l)*Math.PI:t=-(-c*Math.cos(h+Math.PI/3)-s/3/l)*Math.PI,Math.abs(i)<At?e=this.long0:e=Rt(this.long0+Math.PI*(a-1+Math.sqrt(1+2*(i*i-r*r)+a*a))/2/i,this.over),n.x=e,n.y=t,n}var sYe=["Van_der_Grinten_I","VanDerGrinten","Van_der_Grinten","vandg"];const lYe={init:rYe,forward:aYe,inverse:oYe,names:sYe};function uYe(n,e,t,i,r,a){const o=i-e,s=Math.atan((1-a)*Math.tan(n)),l=Math.atan((1-a)*Math.tan(t)),u=Math.sin(s),c=Math.cos(s),d=Math.sin(l),h=Math.cos(l);let f=o,p,g=100,m,v,_,S,x,A,C,M,I,D,E,L,V,Y;do{if(m=Math.sin(f),v=Math.cos(f),_=Math.sqrt(h*m*(h*m)+(c*d-u*h*v)*(c*d-u*h*v)),_===0)return{azi1:0,s12:0};S=u*d+c*h*v,x=Math.atan2(_,S),A=c*h*m/_,C=1-A*A,M=C!==0?S-2*u*d/C:0,I=a/16*C*(4+a*(4-3*C)),p=f,f=o+(1-I)*a*A*(x+I*_*(M+I*S*(-1+2*M*M)))}while(Math.abs(f-p)>1e-12&&--g>0);return g===0?{azi1:NaN,s12:NaN}:(D=C*(r*r-r*(1-a)*(r*(1-a)))/(r*(1-a)*(r*(1-a))),E=1+D/16384*(4096+D*(-768+D*(320-175*D))),L=D/1024*(256+D*(-128+D*(74-47*D))),V=L*_*(M+L/4*(S*(-1+2*M*M)-L/6*M*(-3+4*_*_)*(-3+4*M*M))),Y=r*(1-a)*E*(x-V),{azi1:Math.atan2(h*m,c*d-u*h*v),s12:Y})}function cYe(n,e,t,i,r,a){const o=Math.atan((1-a)*Math.tan(n)),s=Math.sin(o),l=Math.cos(o),u=Math.sin(t),c=Math.cos(t),d=Math.atan2(s,l*c),h=l*u,f=1-h*h,p=f*(r*r-r*(1-a)*(r*(1-a)))/(r*(1-a)*(r*(1-a))),g=1+p/16384*(4096+p*(-768+p*(320-175*p))),m=p/1024*(256+p*(-128+p*(74-47*p)));let v=i/(r*(1-a)*g),_,S=100,x,A,C,M;do x=Math.cos(2*d+v),A=Math.sin(v),C=Math.cos(v),M=m*A*(x+m/4*(C*(-1+2*x*x)-m/6*x*(-3+4*A*A)*(-3+4*x*x))),_=v,v=i/(r*(1-a)*g)+M;while(Math.abs(v-_)>1e-12&&--S>0);if(S===0)return{lat2:NaN,lon2:NaN};const I=s*A-l*C*c,D=Math.atan2(s*C+l*A*c,(1-a)*Math.sqrt(h*h+I*I)),E=Math.atan2(A*u,l*C-s*A*c),L=a/16*f*(4+a*(4-3*f)),V=E-(1-L)*a*h*(v+L*A*(x+L*C*(-1+2*x*x))),Y=e+V;return{lat2:D,lon2:Y}}function dYe(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0),this.f=this.es/(1+Math.sqrt(1-this.es))}function hYe(n){var e=n.x,t=n.y,i=Math.sin(n.y),r=Math.cos(n.y),a=Rt(e-this.long0,this.over),o,s,l,u,c,d,h,f,p,g,m;return this.sphere?Math.abs(this.sin_p12-1)<=At?(n.x=this.x0+this.a*(ht-t)*Math.sin(a),n.y=this.y0-this.a*(ht-t)*Math.cos(a),n):Math.abs(this.sin_p12+1)<=At?(n.x=this.x0+this.a*(ht+t)*Math.sin(a),n.y=this.y0+this.a*(ht+t)*Math.cos(a),n):(p=this.sin_p12*i+this.cos_p12*r*Math.cos(a),h=Math.acos(p),f=h?h/Math.sin(h):1,n.x=this.x0+this.a*f*r*Math.sin(a),n.y=this.y0+this.a*f*(this.cos_p12*i-this.sin_p12*r*Math.cos(a)),n):(o=wf(this.es),s=Tf(this.es),l=Af(this.es),u=Cf(this.es),Math.abs(this.sin_p12-1)<=At?(c=this.a*Fi(o,s,l,u,ht),d=this.a*Fi(o,s,l,u,t),n.x=this.x0+(c-d)*Math.sin(a),n.y=this.y0-(c-d)*Math.cos(a),n):Math.abs(this.sin_p12+1)<=At?(c=this.a*Fi(o,s,l,u,ht),d=this.a*Fi(o,s,l,u,t),n.x=this.x0+(c+d)*Math.sin(a),n.y=this.y0+(c+d)*Math.cos(a),n):Math.abs(e)<At&&Math.abs(t-this.lat0)<At?(n.x=n.y=0,n):(g=uYe(this.lat0,this.long0,t,e,this.a,this.f),m=g.azi1,n.x=g.s12*Math.sin(m),n.y=g.s12*Math.cos(m),n))}function fYe(n){n.x-=this.x0,n.y-=this.y0;var e,t,i,r,a,o,s,l,u,c,d,h,f,p,g,m;return this.sphere?(e=Math.sqrt(n.x*n.x+n.y*n.y),e>2*ht*this.a?void 0:(t=e/this.a,i=Math.sin(t),r=Math.cos(t),a=this.long0,Math.abs(e)<=At?o=this.lat0:(o=Q5(r*this.sin_p12+n.y*i*this.cos_p12/e),s=Math.abs(this.lat0)-ht,Math.abs(s)<=At?this.lat0>=0?a=Rt(this.long0+Math.atan2(n.x,-n.y),this.over):a=Rt(this.long0-Math.atan2(-n.x,n.y),this.over):a=Rt(this.long0+Math.atan2(n.x*i,e*this.cos_p12*r-n.y*this.sin_p12*i),this.over)),n.x=a,n.y=o,n)):(l=wf(this.es),u=Tf(this.es),c=Af(this.es),d=Cf(this.es),Math.abs(this.sin_p12-1)<=At?(h=this.a*Fi(l,u,c,d,ht),e=Math.sqrt(n.x*n.x+n.y*n.y),f=h-e,o=Qy(f/this.a,l,u,c,d),a=Rt(this.long0+Math.atan2(n.x,-1*n.y),this.over),n.x=a,n.y=o,n):Math.abs(this.sin_p12+1)<=At?(h=this.a*Fi(l,u,c,d,ht),e=Math.sqrt(n.x*n.x+n.y*n.y),f=e-h,o=Qy(f/this.a,l,u,c,d),a=Rt(this.long0+Math.atan2(n.x,n.y),this.over),n.x=a,n.y=o,n):(p=Math.atan2(n.x,n.y),g=Math.sqrt(n.x*n.x+n.y*n.y),m=cYe(this.lat0,this.long0,p,g,this.a,this.f),n.x=m.lon2,n.y=m.lat2,n))}var pYe=["Azimuthal_Equidistant","aeqd"];const mYe={init:dYe,forward:hYe,inverse:fYe,names:pYe};function gYe(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function vYe(n){var e,t,i,r,a,o,s,l,u=n.x,c=n.y;return i=Rt(u-(this.long0||0),this.over),e=Math.sin(c),t=Math.cos(c),r=Math.cos(i),o=this.sin_p14*e+this.cos_p14*t*r,a=1,(o>0||Math.abs(o)<=At)&&(s=this.a*a*t*Math.sin(i),l=(this.y0||0)+this.a*a*(this.cos_p14*e-this.sin_p14*t*r)),n.x=s,n.y=l,n}function yYe(n){var e,t,i,r,a,o,s,l,u;return n.x-=this.x0||0,n.y-=this.y0||0,e=Math.sqrt(n.x*n.x+n.y*n.y),t=Q5(e/this.a),i=Math.sin(t),r=Math.cos(t),l=this.long0||0,u=this.lat0||0,o=l,Math.abs(e)<=At?(s=u,n.x=o,n.y=s,n):(s=Q5(r*this.sin_p14+n.y*i*this.cos_p14/e),a=Math.abs(u)-ht,Math.abs(a)<=At?(u>=0?o=Rt(l+Math.atan2(n.x,-n.y),this.over):o=Rt(l-Math.atan2(-n.x,n.y),this.over),n.x=o,n.y=s,n):(o=Rt(l+Math.atan2(n.x*i,e*this.cos_p14*r-n.y*this.sin_p14*i),this.over),n.x=o,n.y=s,n))}var _Ye=["ortho"];const SYe={init:gYe,forward:vYe,inverse:yYe,names:_Ye};var M0={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},B1={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function bYe(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=ht-O1/2?this.face=M0.TOP:this.lat0<=-(ht-O1/2)?this.face=M0.BOTTOM:Math.abs(this.long0)<=O1?this.face=M0.FRONT:Math.abs(this.long0)<=ht+O1?this.face=this.long0>0?M0.RIGHT:M0.LEFT:this.face=M0.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function xYe(n){var e={x:0,y:0},t,i,r,a,o,s,l={value:0};if(n.x-=this.long0,this.es!==0?t=Math.atan(this.one_minus_f_squared*Math.tan(n.y)):t=n.y,i=n.x,this.face===M0.TOP)a=ht-t,i>=O1&&i<=ht+O1?(l.value=B1.AREA_0,r=i-ht):i>ht+O1||i<=-(ht+O1)?(l.value=B1.AREA_1,r=i>0?i-Y0:i+Y0):i>-(ht+O1)&&i<=-O1?(l.value=B1.AREA_2,r=i+ht):(l.value=B1.AREA_3,r=i);else if(this.face===M0.BOTTOM)a=ht+t,i>=O1&&i<=ht+O1?(l.value=B1.AREA_0,r=-i+ht):i<O1&&i>=-O1?(l.value=B1.AREA_1,r=-i):i<-O1&&i>=-(ht+O1)?(l.value=B1.AREA_2,r=-i-ht):(l.value=B1.AREA_3,r=i>0?-i+Y0:-i-Y0);else{var u,c,d,h,f,p,g;this.face===M0.RIGHT?i=w7(i,+ht):this.face===M0.BACK?i=w7(i,+Y0):this.face===M0.LEFT&&(i=w7(i,-ht)),h=Math.sin(t),f=Math.cos(t),p=Math.sin(i),g=Math.cos(i),u=f*g,c=f*p,d=h,this.face===M0.FRONT?(a=Math.acos(u),r=kg(a,d,c,l)):this.face===M0.RIGHT?(a=Math.acos(c),r=kg(a,d,-u,l)):this.face===M0.BACK?(a=Math.acos(-u),r=kg(a,d,-c,l)):this.face===M0.LEFT?(a=Math.acos(-c),r=kg(a,d,u,l)):(a=r=0,l.value=B1.AREA_0)}return s=Math.atan(12/Y0*(r+Math.acos(Math.sin(r)*Math.cos(O1))-ht)),o=Math.sqrt((1-Math.cos(a))/(Math.cos(s)*Math.cos(s))/(1-Math.cos(Math.atan(1/Math.cos(r))))),l.value===B1.AREA_1?s+=ht:l.value===B1.AREA_2?s+=Y0:l.value===B1.AREA_3&&(s+=1.5*Y0),e.x=o*Math.cos(s),e.y=o*Math.sin(s),e.x=e.x*this.a+this.x0,e.y=e.y*this.a+this.y0,n.x=e.x,n.y=e.y,n}function wYe(n){var e={lam:0,phi:0},t,i,r,a,o,s,l,u,c,d={value:0};if(n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,i=Math.atan(Math.sqrt(n.x*n.x+n.y*n.y)),t=Math.atan2(n.y,n.x),n.x>=0&&n.x>=Math.abs(n.y)?d.value=B1.AREA_0:n.y>=0&&n.y>=Math.abs(n.x)?(d.value=B1.AREA_1,t-=ht):n.x<0&&-n.x>=Math.abs(n.y)?(d.value=B1.AREA_2,t=t<0?t+Y0:t-Y0):(d.value=B1.AREA_3,t+=ht),c=Y0/12*Math.tan(t),o=Math.sin(c)/(Math.cos(c)-1/Math.sqrt(2)),s=Math.atan(o),r=Math.cos(t),a=Math.tan(i),l=1-r*r*a*a*(1-Math.cos(Math.atan(1/Math.cos(s)))),l<-1?l=-1:l>1&&(l=1),this.face===M0.TOP)u=Math.acos(l),e.phi=ht-u,d.value===B1.AREA_0?e.lam=s+ht:d.value===B1.AREA_1?e.lam=s<0?s+Y0:s-Y0:d.value===B1.AREA_2?e.lam=s-ht:e.lam=s;else if(this.face===M0.BOTTOM)u=Math.acos(l),e.phi=u-ht,d.value===B1.AREA_0?e.lam=-s+ht:d.value===B1.AREA_1?e.lam=-s:d.value===B1.AREA_2?e.lam=-s-ht:e.lam=s<0?-s-Y0:-s+Y0;else{var h,f,p;h=l,c=h*h,c>=1?p=0:p=Math.sqrt(1-c)*Math.sin(s),c+=p*p,c>=1?f=0:f=Math.sqrt(1-c),d.value===B1.AREA_1?(c=f,f=-p,p=c):d.value===B1.AREA_2?(f=-f,p=-p):d.value===B1.AREA_3&&(c=f,f=p,p=-c),this.face===M0.RIGHT?(c=h,h=-f,f=c):this.face===M0.BACK?(h=-h,f=-f):this.face===M0.LEFT&&(c=h,h=f,f=-c),e.phi=Math.acos(-p)-ht,e.lam=Math.atan2(f,h),this.face===M0.RIGHT?e.lam=w7(e.lam,-ht):this.face===M0.BACK?e.lam=w7(e.lam,-Y0):this.face===M0.LEFT&&(e.lam=w7(e.lam,+ht))}if(this.es!==0){var g,m,v;g=e.phi<0?1:0,m=Math.tan(e.phi),v=this.b/Math.sqrt(m*m+this.one_minus_f_squared),e.phi=Math.atan(Math.sqrt(this.a*this.a-v*v)/(this.one_minus_f*v)),g&&(e.phi=-e.phi)}return e.lam+=this.long0,n.x=e.lam,n.y=e.phi,n}function kg(n,e,t,i){var r;return n<At?(i.value=B1.AREA_0,r=0):(r=Math.atan2(e,t),Math.abs(r)<=O1?i.value=B1.AREA_0:r>O1&&r<=ht+O1?(i.value=B1.AREA_1,r-=ht):r>ht+O1||r<=-(ht+O1)?(i.value=B1.AREA_2,r=r>=0?r-Y0:r+Y0):(i.value=B1.AREA_3,r+=ht)),r}function w7(n,e){var t=n+e;return t<-Y0?t+=Uh:t>+Y0&&(t-=Uh),t}var TYe=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];const AYe={init:bYe,forward:xYe,inverse:wYe,names:TYe};var bE=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],cd=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Nte=.8487,kte=1.3523,Fte=ar/5,CYe=1/Fte,s7=18,e_=function(n,e){return n[0]+e*(n[1]+e*(n[2]+e*n[3]))},MYe=function(n,e){return n[1]+e*(2*n[2]+e*3*n[3])};function EYe(n,e,t,i){for(var r=e;i;--i){var a=n(r);if(r-=a,Math.abs(a)<t)break}return r}function PYe(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"}function RYe(n){var e=Rt(n.x-this.long0,this.over),t=Math.abs(n.y),i=Math.floor(t*Fte);i<0?i=0:i>=s7&&(i=s7-1),t=ar*(t-CYe*i);var r={x:e_(bE[i],t)*e,y:e_(cd[i],t)};return n.y<0&&(r.y=-r.y),r.x=r.x*this.a*Nte+this.x0,r.y=r.y*this.a*kte+this.y0,r}function LYe(n){var e={x:(n.x-this.x0)/(this.a*Nte),y:Math.abs(n.y-this.y0)/(this.a*kte)};if(e.y>=1)e.x/=bE[s7][0],e.y=n.y<0?-ht:ht;else{var t=Math.floor(e.y*s7);for(t<0?t=0:t>=s7&&(t=s7-1);;)if(cd[t][0]>e.y)--t;else if(cd[t+1][0]<=e.y)++t;else break;var i=cd[t],r=5*(e.y-i[0])/(cd[t+1][0]-i[0]);r=EYe(function(a){return(e_(i,a)-e.y)/MYe(i,a)},r,At,100),e.x/=e_(bE[t],r),e.y=(5*t+r)*k0,n.y<0&&(e.y=-e.y)}return e.x=Rt(e.x+this.long0,this.over),e}var IYe=["Robinson","robin"];const DYe={init:PYe,forward:RYe,inverse:LYe,names:IYe};function NYe(){this.name="geocent"}function kYe(n){var e=Ste(n,this.es,this.a);return e}function FYe(n){var e=bte(n,this.es,this.a,this.b);return e}var OYe=["Geocentric","geocentric","geocent","Geocent"];const BYe={init:NYe,forward:kYe,inverse:FYe,names:OYe};var fi={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},Vc={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function zYe(){if(Object.keys(Vc).forEach(function(t){if(typeof this[t]=="undefined")this[t]=Vc[t].def;else{if(Vc[t].num&&isNaN(this[t]))throw new Error("Invalid parameter value, must be numeric "+t+" = "+this[t]);Vc[t].num&&(this[t]=parseFloat(this[t]))}Vc[t].degrees&&(this[t]=this[t]*k0)}.bind(this)),Math.abs(Math.abs(this.lat0)-ht)<At?this.mode=this.lat0<0?fi.S_POLE:fi.N_POLE:Math.abs(this.lat0)<At?this.mode=fi.EQUIT:(this.mode=fi.OBLIQ,this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0)),this.pn1=this.h/this.a,this.pn1<=0||this.pn1>1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var n=this.tilt,e=this.azi;this.cg=Math.cos(e),this.sg=Math.sin(e),this.cw=Math.cos(n),this.sw=Math.sin(n)}function UYe(n){n.x-=this.long0;var e=Math.sin(n.y),t=Math.cos(n.y),i=Math.cos(n.x),r,a;switch(this.mode){case fi.OBLIQ:a=this.sinph0*e+this.cosph0*t*i;break;case fi.EQUIT:a=t*i;break;case fi.S_POLE:a=-e;break;case fi.N_POLE:a=e;break}switch(a=this.pn1/(this.p-a),r=a*t*Math.sin(n.x),this.mode){case fi.OBLIQ:a*=this.cosph0*e-this.sinph0*t*i;break;case fi.EQUIT:a*=e;break;case fi.N_POLE:a*=-(t*i);break;case fi.S_POLE:a*=t*i;break}var o,s;return o=a*this.cg+r*this.sg,s=1/(o*this.sw*this.h1+this.cw),r=(r*this.cg-a*this.sg)*this.cw*s,a=o*s,n.x=r*this.a,n.y=a*this.a,n}function GYe(n){n.x/=this.a,n.y/=this.a;var e={x:n.x,y:n.y},t,i,r;r=1/(this.pn1-n.y*this.sw),t=this.pn1*n.x*r,i=this.pn1*n.y*this.cw*r,n.x=t*this.cg+i*this.sg,n.y=i*this.cg-t*this.sg;var a=ir(n.x,n.y);if(Math.abs(a)<At)e.x=0,e.y=n.y;else{var o,s;switch(s=1-a*a*this.pfact,s=(this.p-Math.sqrt(s))/(this.pn1/a+a/this.pn1),o=Math.sqrt(1-s*s),this.mode){case fi.OBLIQ:e.y=Math.asin(o*this.sinph0+n.y*s*this.cosph0/a),n.y=(o-this.sinph0*Math.sin(e.y))*a,n.x*=s*this.cosph0;break;case fi.EQUIT:e.y=Math.asin(n.y*s/a),n.y=o*a,n.x*=s;break;case fi.N_POLE:e.y=Math.asin(o),n.y=-n.y;break;case fi.S_POLE:e.y=-Math.asin(o);break}e.x=Math.atan2(n.x,n.y)}return n.x=e.x+this.long0,n.y=e.y,n}var VYe=["Tilted_Perspective","tpers"];const HYe={init:zYe,forward:UYe,inverse:GYe,names:VYe};function WYe(){if(this.flip_axis=this.sweep==="x"?1:0,this.h=Number(this.h),this.radius_g_1=this.h/this.a,this.radius_g_1<=0||this.radius_g_1>1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var n=1-this.es,e=1/n;this.radius_p=Math.sqrt(n),this.radius_p2=n,this.radius_p_inv2=e,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function jYe(n){var e=n.x,t=n.y,i,r,a,o;if(e=e-this.long0,this.shape==="ellipse"){t=Math.atan(this.radius_p2*Math.tan(t));var s=this.radius_p/ir(this.radius_p*Math.cos(t),Math.sin(t));if(r=s*Math.cos(e)*Math.cos(t),a=s*Math.sin(e)*Math.cos(t),o=s*Math.sin(t),(this.radius_g-r)*r-a*a-o*o*this.radius_p_inv2<0)return n.x=Number.NaN,n.y=Number.NaN,n;i=this.radius_g-r,this.flip_axis?(n.x=this.radius_g_1*Math.atan(a/ir(o,i)),n.y=this.radius_g_1*Math.atan(o/i)):(n.x=this.radius_g_1*Math.atan(a/i),n.y=this.radius_g_1*Math.atan(o/ir(a,i)))}else this.shape==="sphere"&&(i=Math.cos(t),r=Math.cos(e)*i,a=Math.sin(e)*i,o=Math.sin(t),i=this.radius_g-r,this.flip_axis?(n.x=this.radius_g_1*Math.atan(a/ir(o,i)),n.y=this.radius_g_1*Math.atan(o/i)):(n.x=this.radius_g_1*Math.atan(a/i),n.y=this.radius_g_1*Math.atan(o/ir(a,i))));return n.x=n.x*this.a,n.y=n.y*this.a,n}function $Ye(n){var e=-1,t=0,i=0,r,a,o,s;if(n.x=n.x/this.a,n.y=n.y/this.a,this.shape==="ellipse"){this.flip_axis?(i=Math.tan(n.y/this.radius_g_1),t=Math.tan(n.x/this.radius_g_1)*ir(1,i)):(t=Math.tan(n.x/this.radius_g_1),i=Math.tan(n.y/this.radius_g_1)*ir(1,t));var l=i/this.radius_p;if(r=t*t+l*l+e*e,a=2*this.radius_g*e,o=a*a-4*r*this.C,o<0)return n.x=Number.NaN,n.y=Number.NaN,n;s=(-a-Math.sqrt(o))/(2*r),e=this.radius_g+s*e,t*=s,i*=s,n.x=Math.atan2(t,e),n.y=Math.atan(i*Math.cos(n.x)/e),n.y=Math.atan(this.radius_p_inv2*Math.tan(n.y))}else if(this.shape==="sphere"){if(this.flip_axis?(i=Math.tan(n.y/this.radius_g_1),t=Math.tan(n.x/this.radius_g_1)*Math.sqrt(1+i*i)):(t=Math.tan(n.x/this.radius_g_1),i=Math.tan(n.y/this.radius_g_1)*Math.sqrt(1+t*t)),r=t*t+i*i+e*e,a=2*this.radius_g*e,o=a*a-4*r*this.C,o<0)return n.x=Number.NaN,n.y=Number.NaN,n;s=(-a-Math.sqrt(o))/(2*r),e=this.radius_g+s*e,t*=s,i*=s,n.x=Math.atan2(t,e),n.y=Math.atan(i*Math.cos(n.x)/e)}return n.x=n.x+this.long0,n}var YYe=["Geostationary Satellite View","Geostationary_Satellite","geos"];const qYe={init:WYe,forward:jYe,inverse:$Ye,names:YYe};var Bd=1.340264,zd=-.081106,Ud=893e-6,Gd=.003796,t_=Math.sqrt(3)/2;function XYe(){this.long0=this.long0!==void 0?this.long0:0,this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.es!==0&&(this.apa=Rte(this.es),this.qp=as(this.e,1),this.rqda=Math.sqrt(.5*this.qp))}function KYe(n){var e=Rt(n.x-this.long0,this.over),t=n.y,i=Math.sin(t);this.es!==0&&(i=as(this.e,i)/this.qp);var r=Math.asin(t_*i),a=r*r,o=a*a*a;return n.x=e*Math.cos(r)/(t_*(Bd+3*zd*a+o*(7*Ud+9*Gd*a))),n.y=r*(Bd+zd*a+o*(Ud+Gd*a)),this.es!==0&&(n.x*=this.rqda,n.y*=this.rqda),n.x=this.a*n.x+this.x0,n.y=this.a*n.y+this.y0,n}function ZYe(n){n.x=(n.x-this.x0)/this.a,n.y=(n.y-this.y0)/this.a,this.es!==0&&(n.x/=this.rqda,n.y/=this.rqda);var e=1e-9,t=12,i=n.y,r,a,o,s,l,u;for(u=0;u<t&&(r=i*i,a=r*r*r,o=i*(Bd+zd*r+a*(Ud+Gd*r))-n.y,s=Bd+3*zd*r+a*(7*Ud+9*Gd*r),i-=l=o/s,!(Math.abs(l)<e));++u);return r=i*i,a=r*r*r,n.x=t_*n.x*(Bd+3*zd*r+a*(7*Ud+9*Gd*r))/Math.cos(i),n.y=Math.asin(Math.sin(i)/t_),this.es!==0&&(n.y=Lte(n.y,this.apa)),n.x=Rt(n.x+this.long0,this.over),n}var JYe=["eqearth","Equal Earth","Equal_Earth"];const QYe={init:XYe,forward:KYe,inverse:ZYe,names:JYe};var Hh=1e-10;function eqe(){var n;if(this.phi1=this.lat1,Math.abs(this.phi1)<Hh)throw new Error;this.es?(this.en=QL(this.es),this.m1=Pu(this.phi1,this.am1=Math.sin(this.phi1),n=Math.cos(this.phi1),this.en),this.am1=n/(Math.sqrt(1-this.es*this.am1*this.am1)*this.am1),this.inverse=nqe,this.forward=tqe):(Math.abs(this.phi1)+Hh>=ht?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=rqe,this.forward=iqe)}function tqe(n){var e=Rt(n.x-(this.long0||0),this.over),t=n.y,i,r,a;return i=this.am1+this.m1-Pu(t,r=Math.sin(t),a=Math.cos(t),this.en),r=a*e/(i*Math.sqrt(1-this.es*r*r)),n.x=i*Math.sin(r),n.y=this.am1-i*Math.cos(r),n.x=this.a*n.x+(this.x0||0),n.y=this.a*n.y+(this.y0||0),n}function nqe(n){n.x=(n.x-(this.x0||0))/this.a,n.y=(n.y-(this.y0||0))/this.a;var e,t,i,r;if(t=ir(n.x,n.y=this.am1-n.y),r=eI(this.am1+this.m1-t,this.es,this.en),(e=Math.abs(r))<ht)e=Math.sin(r),i=t*Math.atan2(n.x,n.y)*Math.sqrt(1-this.es*e*e)/Math.cos(r);else if(Math.abs(e-ht)<=Hh)i=0;else throw new Error;return n.x=Rt(i+(this.long0||0),this.over),n.y=s9(r),n}function iqe(n){var e=Rt(n.x-(this.long0||0),this.over),t=n.y,i,r;return r=this.cphi1+this.phi1-t,Math.abs(r)>Hh?(n.x=r*Math.sin(i=e*Math.cos(t)/r),n.y=this.cphi1-r*Math.cos(i)):n.x=n.y=0,n.x=this.a*n.x+(this.x0||0),n.y=this.a*n.y+(this.y0||0),n}function rqe(n){n.x=(n.x-(this.x0||0))/this.a,n.y=(n.y-(this.y0||0))/this.a;var e,t,i=ir(n.x,n.y=this.cphi1-n.y);if(t=this.cphi1+this.phi1-i,Math.abs(t)>ht)throw new Error;return Math.abs(Math.abs(t)-ht)<=Hh?e=0:e=i*Math.atan2(n.x,n.y)/Math.cos(t),n.x=Rt(e+(this.long0||0),this.over),n.y=s9(t),n}var aqe=["bonne","Bonne (Werner lat_1=90)"];const oqe={init:eqe,names:aqe},Hj={OBLIQUE:{forward:dqe,inverse:fqe},TRANSVERSE:{forward:hqe,inverse:pqe}},n_={ROTATE:{o_alpha:"oAlpha",o_lon_c:"oLongC",o_lat_c:"oLatC"},NEW_POLE:{o_lat_p:"oLatP",o_lon_p:"oLongP"},NEW_EQUATOR:{o_lon_1:"oLong1",o_lat_1:"oLat1",o_lon_2:"oLong2",o_lat_2:"oLat2"}};function sqe(){if(this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.title=this.title||"General Oblique Transformation",this.isIdentity=gte.includes(this.o_proj),!this.o_proj)throw new Error("Missing parameter: o_proj");if(this.o_proj==="ob_tran")throw new Error("Invalid value for o_proj: "+this.o_proj);const n=this.projStr.replace("+proj=ob_tran","").replace("+o_proj=","+proj=").trim(),e=ka(n);if(!e)throw new Error("Invalid parameter: o_proj. Unknown projection "+this.o_proj);e.long0=0,this.obliqueProjection=e;let t;const i=Object.keys(n_),r=s=>{if(typeof this[s]=="undefined")return;const l=parseFloat(this[s])*k0;if(isNaN(l))throw new Error("Invalid value for "+s+": "+this[s]);return l};for(let s=0;s<i.length;s++){const l=i[s],u=n_[l],c=Object.entries(u);if(c.some(([h])=>typeof this[h]!="undefined")){t=u;for(let h=0;h<c.length;h++){const[f,p]=c[h],g=r(f);if(typeof g=="undefined")throw new Error("Missing parameter: "+f+".");this[p]=g}break}}if(!t)throw new Error("No valid parameters provided for ob_tran projection.");const{lamp:a,phip:o}=cqe(this,t);this.lamp=a,Math.abs(o)>At?(this.cphip=Math.cos(o),this.sphip=Math.sin(o),this.projectionType=Hj.OBLIQUE):this.projectionType=Hj.TRANSVERSE}function lqe(n){return this.projectionType.forward(this,n)}function uqe(n){return this.projectionType.inverse(this,n)}function cqe(n,e){let t,i;if(e===n_.ROTATE){let r=n.oLongC,a=n.oLatC,o=n.oAlpha;if(Math.abs(Math.abs(a)-ht)<=At)throw new Error("Invalid value for o_lat_c: "+n.o_lat_c+" should be < 90°");i=r+Math.atan2(-1*Math.cos(o),-1*Math.sin(o)*Math.sin(a)),t=Math.asin(Math.cos(a)*Math.sin(o))}else if(e===n_.NEW_POLE)i=n.oLongP,t=n.oLatP;else{let r=n.oLong1,a=n.oLat1,o=n.oLong2,s=n.oLat2,l=Math.abs(a);if(Math.abs(a)>ht-At)throw new Error("Invalid value for o_lat_1: "+n.o_lat_1+" should be < 90°");if(Math.abs(s)>ht-At)throw new Error("Invalid value for o_lat_2: "+n.o_lat_2+" should be < 90°");if(Math.abs(a-s)<At)throw new Error("Invalid value for o_lat_1 and o_lat_2: o_lat_1 should be different from o_lat_2");if(l<At)throw new Error("Invalid value for o_lat_1: o_lat_1 should be different from zero");i=Math.atan2(Math.cos(a)*Math.sin(s)*Math.cos(r)-Math.sin(a)*Math.cos(s)*Math.cos(o),Math.sin(a)*Math.cos(s)*Math.sin(o)-Math.cos(a)*Math.sin(s)*Math.sin(r)),t=Math.atan(-1*Math.cos(i-r)/Math.tan(a))}return{lamp:i,phip:t}}function dqe(n,e){let{x:t,y:i}=e;t=Rt(t-n.long0,n.over);const r=Math.cos(t),a=Math.sin(i),o=Math.cos(i);e.x=Rt(Math.atan2(o*Math.sin(t),n.sphip*o*r+n.cphip*a)+n.lamp),e.y=Math.asin(n.sphip*a-n.cphip*o*r);const s=n.obliqueProjection.forward(e);return n.isIdentity&&(s.x*=ar,s.y*=ar),s}function hqe(n,e){let{x:t,y:i}=e;t=Rt(t-n.long0,n.over);const r=Math.cos(i),a=Math.cos(t);e.x=Rt(Math.atan2(r*Math.sin(t),Math.sin(i))+n.lamp),e.y=Math.asin(-1*r*a);const o=n.obliqueProjection.forward(e);return n.isIdentity&&(o.x*=ar,o.y*=ar),o}function fqe(n,e){n.isIdentity&&(e.x*=k0,e.y*=k0);const t=n.obliqueProjection.inverse(e);let{x:i,y:r}=t;if(i<Number.MAX_VALUE){i-=n.lamp;const a=Math.cos(i),o=Math.sin(r),s=Math.cos(r);e.x=Math.atan2(s*Math.sin(i),n.sphip*s*a-n.cphip*o),e.y=Math.asin(n.sphip*o+n.cphip*s*a)}return e.x=Rt(e.x+n.long0),e}function pqe(n,e){n.isIdentity&&(e.x*=k0,e.y*=k0);const t=n.obliqueProjection.inverse(e);let{x:i,y:r}=t;if(i<Number.MAX_VALUE){const a=Math.cos(r);i-=n.lamp,e.x=Math.atan2(a*Math.sin(i),-1*Math.sin(r)),e.y=Math.asin(a*Math.cos(i))}return e.x=Rt(e.x+n.long0),e}var mqe=["General Oblique Transformation","General_Oblique_Transformation","ob_tran"];const gqe={init:sqe,forward:lqe,inverse:uqe,names:mqe};function vqe(n){n.Proj.projections.add(vv),n.Proj.projections.add(yv),n.Proj.projections.add(ije),n.Proj.projections.add(fje),n.Proj.projections.add(yje),n.Proj.projections.add(wje),n.Proj.projections.add(Pje),n.Proj.projections.add(Nje),n.Proj.projections.add(zje),n.Proj.projections.add(Wje),n.Proj.projections.add(t$e),n.Proj.projections.add(s$e),n.Proj.projections.add(h$e),n.Proj.projections.add(y$e),n.Proj.projections.add(w$e),n.Proj.projections.add(E$e),n.Proj.projections.add(D$e),n.Proj.projections.add(B$e),n.Proj.projections.add(V$e),n.Proj.projections.add(Y$e),n.Proj.projections.add(J$e),n.Proj.projections.add(iYe),n.Proj.projections.add(lYe),n.Proj.projections.add(mYe),n.Proj.projections.add(SYe),n.Proj.projections.add(AYe),n.Proj.projections.add(DYe),n.Proj.projections.add(BYe),n.Proj.projections.add(HYe),n.Proj.projections.add(qYe),n.Proj.projections.add(QYe),n.Proj.projections.add(oqe),n.Proj.projections.add(gqe)}const SS=Object.assign(SWe,{defaultDatum:"WGS84",Proj:ka,WGS84:new ka("WGS84"),Point:eu,toPoint:ZL,defs:$n,nadgrid:QHe,transform:_We,mgrs:bWe,version:"__VERSION__"});vqe(SS);try{let n=()=>new DecompressionStream("deflate-raw"),e=t=>new Response(t);n(),Ote=t=>e(e(t).body.pipeThrough(n())).arrayBuffer().then(i=>new Uint8Array(i))}catch(n){}var Ote,Wj=new TextDecoder,RA=n=>{throw Error("but-unzip~"+n)};function*yqe(n,e=Ote){let t=n.length-21,i=t-65536,r=new DataView(n.buffer,n.byteOffset),a=l=>r.getUint16(l+t,1),o=l=>r.getUint32(l+t,1),s=(l,u)=>n.subarray(t+=l,t+=u);for(;t>i&&(t=n.lastIndexOf(80,t-1))+1&&(n[t+1]-75||n[t+2]-5||n[t+3]-6););for(t<0&&RA(2),i=a(10),i-a(8)&&RA(3),t=o(16);i--;){let l=a(10),u=a(28),c=a(30),d=a(32),h=o(20),f=o(42),p=Wj.decode(s(46,u)),g=Wj.decode(s(c,d)),m=t,v;t=f,v=s(30+a(26)+a(28),h),yield{filename:p,comment:g,read:()=>l-8?l?RA(1):v:e(v)},t=m}}const _qe=/.+\.(shp|dbf|json|prj|cpg)$/i,Sqe=n=>Z2(void 0,null,function*(){const e={},t=[];for(const a of yqe(n))_qe.test(a.filename)&&t.push(Promise.resolve(a.read()).then(o=>e[a.filename]=o));yield Promise.all(t);const i={},r=new TextDecoder;for(const[a,o]of Object.entries(e))a.slice(-3).toLowerCase()==="shp"||a.slice(-3).toLowerCase()==="dbf"?i[a]=new DataView(o.buffer,o.byteOffset,o.byteLength):i[a]=r.decode(o);return i}),bqe=globalThis.URL,xqe=(n,e)=>{if(!e)return n;const t=new bqe(n);return t.pathname=`${t.pathname}.${e}`,t.href};function Wh(n,e){return Z2(this,null,function*(){const t=xqe(n,e),i=e==="prj"||e==="cpg";try{const r=yield fetch(t);if(r.status>399)throw new Error(r.statusText);if(i)return r.text();const a=yield r.arrayBuffer();return new DataView(a)}catch(r){if(i||e==="dbf")return!1;throw r}})}function wqe(n){let e=0,t=1;const i=n.length;let r,a;const o=[n[0][0],n[0][1],n[0][0],n[0][1]];for(;t<i;)r=a||n[0],a=n[t],e+=(a[0]-r[0])*(a[1]+r[1]),t++,a[0]<o[0]&&(o[0]=a[0]),a[1]<o[1]&&(o[1]=a[1]),a[0]>o[2]&&(o[2]=a[0]),a[1]>o[3]&&(o[3]=a[1]);return{ring:n,clockWise:e>0,bbox:o,children:[]}}function jj(n,e){return!(n.bbox[0]>e.bbox[0]||n.bbox[1]>e.bbox[1]||n.bbox[2]<e.bbox[2]||n.bbox[3]<e.bbox[3])}function Bte(n,e=!1){const t=[],i=[];for(const o of n){const s=wqe(o);s.clockWise!==e?t.push(s):i.push(s)}const r=[];for(const o of i){let s;for(const l of t)jj(l,o)&&(s?jj(s,l)&&(s=l):s=l);s?s.children.push(o.ring):r.push(o)}if(e)return{outers:t,orphens:r};if(r.length&&!e){const o=Bte(n,!0);if(o.orphens.length===0){const s=[];for(const l of o.outers)s.push([l.ring.toReversed()].concat(l.children.map(u=>u.toReversed())));return s}}const a=[];for(const o of t)a.push([o.ring].concat(o.children));return a}Q0.prototype.parsePoint=function(n){return{type:"Point",coordinates:this.parseCoord(n,0)}};Q0.prototype.parseZPoint=function(n){const e=this.parsePoint(n);return e.coordinates.push(n.getFloat64(16,!0)),e};Q0.prototype.parsePointArray=function(n,e,t){const i=[];let r=0;for(;r<t;)i.push(this.parseCoord(n,e)),e+=16,r++;return i};Q0.prototype.parseZPointArray=function(n,e,t,i){let r=0;for(;r<t;)i[r].push(n.getFloat64(e,!0)),r++,e+=8;return i};Q0.prototype.parseArrayGroup=function(n,e,t,i,r){const a=[];let o=0,s,l=0,u;for(;o<i;)o++,t+=4,s=l,o===i?l=r:l=n.getInt32(t,!0),u=l-s,u&&(a.push(this.parsePointArray(n,e,u)),e+=u<<4);return a};Q0.prototype.parseZArrayGroup=function(n,e,t,i){let r=0;for(;r<t;)i[r]=this.parseZPointArray(n,e,i[r].length,i[r]),e+=i[r].length<<3,r++;return i};Q0.prototype.parseMultiPoint=function(n){const e={},t=n.getInt32(32,!0);if(!t)return null;const i=this.parseCoord(n,0),r=this.parseCoord(n,16);e.bbox=[i[0],i[1],r[0],r[1]];const a=36;return t===1?(e.type="Point",e.coordinates=this.parseCoord(n,a)):(e.type="MultiPoint",e.coordinates=this.parsePointArray(n,a,t)),e};Q0.prototype.parseZMultiPoint=function(n){const e=this.parseMultiPoint(n);if(!e)return null;let t;if(e.type==="Point")return e.coordinates.push(n.getFloat64(72,!0)),e;t=e.coordinates.length;const i=52+(t<<4);return e.coordinates=this.parseZPointArray(n,i,t,e.coordinates),e};Q0.prototype.parsePolyline=function(n){const e={},t=n.getInt32(32,!0);if(!t)return null;const i=this.parseCoord(n,0),r=this.parseCoord(n,16);e.bbox=[i[0],i[1],r[0],r[1]];const a=n.getInt32(36,!0);let o,s;return t===1?(e.type="LineString",o=44,e.coordinates=this.parsePointArray(n,o,a)):(e.type="MultiLineString",o=40+(t<<2),s=40,e.coordinates=this.parseArrayGroup(n,o,s,t,a)),e};Q0.prototype.parseZPolyline=function(n){const e=this.parsePolyline(n);if(!e)return null;const t=e.coordinates.length;let i;return e.type==="LineString"?(i=60+(t<<4),e.coordinates=this.parseZPointArray(n,i,t,e.coordinates),e):(i=56+(e.coordinates.reduce(function(a,o){return a+o.length},0)<<4)+(t<<2),e.coordinates=this.parseZArrayGroup(n,i,t,e.coordinates),e)};Q0.prototype.polyFuncs=function(n){return n&&(n.type==="LineString"?(n.type="Polygon",n.coordinates=[n.coordinates],n):(n.coordinates=Bte(n.coordinates),n.coordinates.length===1?(n.type="Polygon",n.coordinates=n.coordinates[0],n):(n.type="MultiPolygon",n)))};Q0.prototype.parsePolygon=function(n){return this.polyFuncs(this.parsePolyline(n))};Q0.prototype.parseZPolygon=function(n){return this.polyFuncs(this.parseZPolyline(n))};const $j={1:"parsePoint",3:"parsePolyline",5:"parsePolygon",8:"parseMultiPoint",11:"parseZPoint",13:"parseZPolyline",15:"parseZPolygon",18:"parseZMultiPoint"};function Tqe(n){return n?function(e,t){const i=[e.getFloat64(t,!0),e.getFloat64(t+8,!0)];return n.inverse(i)}:function(e,t){return[e.getFloat64(t,!0),e.getFloat64(t+8,!0)]}}function Q0(n,e){if(!(this instanceof Q0))return new Q0(n,e);this.buffer=n,this.headers=this.parseHeader(),this.shpFuncs(e),this.rows=this.getRows()}Q0.prototype.shpFuncs=function(n){let e=this.headers.shpCode;if(e>20&&(e-=20),!(e in $j))throw new Error(`I don't know shp type "${e}"`);this.parseFunc=this[$j[e]],this.parseCoord=Tqe(n)};Q0.prototype.getShpCode=function(){return this.parseHeader().shpCode};Q0.prototype.parseHeader=function(){const n=this.buffer;return{length:n.getInt32(24)<<1,version:n.getInt32(28,!0),shpCode:n.getInt32(32,!0),bbox:[n.getFloat64(36,!0),n.getFloat64(44,!0),n.getFloat64(52,!0),n.getFloat64(60,!0)]}};Q0.prototype.getRows=function(){let n=100;const e=this.buffer.byteLength-8,t=[];let i;for(;n<=e&&(i=this.getRow(n),!!i);)n+=8,n+=i.len,i.type?t.push(this.parseFunc(i.data)):t.push(null);return t};Q0.prototype.getRow=function(n){const e=this.buffer.getInt32(n),t=this.buffer.getInt32(n+4)<<1;if(t===0)return{id:e,len:t,type:0};if(!(n+t+8>this.buffer.byteLength))return{id:e,len:t,data:new DataView(this.buffer.buffer,this.buffer.byteOffset+n+12,t-4),type:this.buffer.getInt32(n+8,!0)}};function oI(n,e){return new Q0(n,e).rows}var Aqe=/^(?:ANSI\s)?(\d+)$/m;function zte(n,e){if(!n)return i;try{new TextDecoder(n.trim())}catch(r){var t=Aqe.exec(n);return t&&!e?zte("windows-"+t[1],!0):(n=void 0,i)}return i;function i(r){var a=new TextDecoder(n||void 0),o=a.decode(r,{stream:!0})+a.decode();return o.replace(/\0/g,"").trim()}}function Cqe(n){var e={};return e.lastUpdated=new Date(n.getUint8(1)+1900,n.getUint8(2),n.getUint8(3)),e.records=n.getUint32(4,!0),e.headerLen=n.getUint16(8,!0),e.recLen=n.getUint16(10,!0),e}function Mqe(n,e,t){for(var i=[],r=32;r<e&&(i.push({name:t(new Uint8Array(n.buffer.slice(n.byteOffset+r,n.byteOffset+r+11))),dataType:String.fromCharCode(n.getUint8(r+11)),len:n.getUint8(r+16),decimal:n.getUint8(r+17)}),n.getUint8(r+32)!==13);)r+=32;return i}function Eqe(n,e,t,i,r){const a=new Uint8Array(n.buffer.slice(n.byteOffset+e,n.byteOffset+e+t));var o=r(a);switch(i){case"N":case"F":case"O":return parseFloat(o,10);case"D":return new Date(o.slice(0,4),parseInt(o.slice(4,6),10)-1,o.slice(6,8));case"L":return o.toLowerCase()==="y"||o.toLowerCase()==="t";default:return o}}function Pqe(n,e,t,i){for(var r={},a=0,o=t.length,s,l;a<o;)l=t[a],s=Eqe(n,e,l.len,l.dataType,i),e+=l.len,typeof s!="undefined"&&(r[l.name]=s),a++;return r}function sI(n,e){for(var t=zte(e),i=Cqe(n),r=Mqe(n,i.headerLen-1,t),a=(r.length+1<<5)+2,o=i.recLen,s=i.records,l=[];s;)l.push(Pqe(n,a,r,t)),a+=o,s--;return l}const Rqe=globalThis.URL,Lqe=n=>{if(!n)throw new Error("forgot to pass buffer");if(tu(n))return new Uint8Array(n);if(tu(n.buffer))return n.BYTES_PER_ELEMENT===1?n:new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw new Error("invalid buffer like object")},Iqe=new TextDecoder,Ute=n=>{if(n){if(typeof n=="string")return n;if(tu(n)||ArrayBuffer.isView(n)||lI(n))return Iqe.decode(n)}},Gte=n=>{if(!n)throw new Error("forgot to pass buffer");if(lI(n))return n;if(tu(n))return new DataView(n);if(tu(n.buffer))return new DataView(n.buffer,n.byteOffset,n.byteLength);throw new Error("invalid buffer like object")};function tu(n){return n instanceof globalThis.ArrayBuffer||Object.prototype.toString.call(n)==="[object ArrayBuffer]"}function lI(n){return n instanceof globalThis.DataView||Object.prototype.toString.call(n)==="[object DataView]"}const uI=function([n,e]){const t={};t.type="FeatureCollection",t.features=[];let i=0;const r=n.length;for(e||(e=[]);i<r;)t.features.push({type:"Feature",geometry:n[i],properties:e[i]||{}}),i++;return t},Vte=function(n,e){return Z2(this,null,function*(){let t;n=Lqe(n);const i=yield Sqe(n),r=[];e=e||[];for(t in i)t.indexOf("__MACOSX")===-1&&(t.slice(-4).toLowerCase()===".shp"?(r.push(t.slice(0,-4)),i[t.slice(0,-3)+t.slice(-3).toLowerCase()]=i[t]):t.slice(-4).toLowerCase()===".prj"?i[t.slice(0,-3)+t.slice(-3).toLowerCase()]=SS(i[t]):t.slice(-5).toLowerCase()===".json"||e.indexOf(t.split(".").pop())>-1?r.push(t.slice(0,-3)+t.slice(-3).toLowerCase()):(t.slice(-4).toLowerCase()===".dbf"||t.slice(-4).toLowerCase()===".cpg")&&(i[t.slice(0,-3)+t.slice(-3).toLowerCase()]=i[t]));if(!r.length)throw new Error("no layers founds");const a=r.map(function(o){let s,l;const u=o.lastIndexOf(".");return u>-1&&o.slice(u).indexOf("json")>-1?(s=JSON.parse(i[o]),s.fileName=o.slice(0,u)):e.indexOf(o.slice(u+1))>-1?(s=i[o],s.fileName=o):(i[o+".dbf"]&&(l=sI(i[o+".dbf"],i[o+".cpg"])),s=uI([oI(i[o+".shp"],i[o+".prj"]),l]),s.fileName=o),s});return a.length===1?a[0]:a})};function Dqe(n,e){return Z2(this,null,function*(){const t=yield Wh(n);return Vte(t,e)})}const Nqe=n=>Z2(void 0,null,function*(){const e=yield Promise.all([Wh(n,"shp"),Wh(n,"prj")]);let t=!1;try{e[1]&&(t=SS(e[1]))}catch(i){t=!1}return oI(e[0],t)}),kqe=n=>Z2(void 0,null,function*(){const[e,t]=yield Promise.all([Wh(n,"dbf"),Wh(n,"cpg")]);if(e)return sI(e,t)}),Yj=(n,e)=>{var i;return new Rqe(n,(i=globalThis==null?void 0:globalThis.document)==null?void 0:i.location).pathname.slice(-4).toLowerCase()===e},Fqe=({shp:n,dbf:e,cpg:t,prj:i})=>{const r=[Bqe(n,i)];return e&&r.push(zqe(e,t)),uI(r)},Oqe=function(n,e){return Z2(this,null,function*(){if(typeof n!="string"){if(tu(n)||ArrayBuffer.isView(n)||lI(n))return Vte(n);if(n.shp)return Fqe(n);throw new TypeError("must be a string, some sort of Buffer, or an object with at least a .shp property")}if(Yj(n,".zip"))return Dqe(n,e);Yj(n,".shp")&&(n=n.slice(0,-4));const t=yield Promise.all([Nqe(n),kqe(n)]);return uI(t)})},Bqe=function(n,e){if(n=Gte(n),e=Ute(e),typeof e=="string")try{e=SS(e)}catch(t){e=!1}return oI(n,e)},zqe=function(n,e){return n=Gte(n),e=Ute(e),sI(n,e)};const Uqe={class:"engineering-analysis-panel"},Gqe={class:"analysis-card analysis-workbench"},Vqe={class:"analysis-card-head"},Hqe={key:0},Wqe=["disabled"],jqe=["disabled"],$qe={key:1,class:"analysis-drawing-stage"},Yqe={class:"analysis-point-count"},qqe=["disabled"],Xqe=["disabled"],Kqe={key:2,class:"analysis-boundary-bar"},Zqe={class:"analysis-card analysis-result"},Jqe={class:"analysis-card-head"},Qqe={key:0},eXe={key:0,class:"analysis-empty"},tXe={class:"analysis-conclusion-head"},nXe={class:"analysis-conclusion-tags"},iXe={key:0,class:"analysis-empty is-success"},rXe={key:1,class:"analysis-project-list"},aXe=["onPointerup"],oXe={class:"analysis-project-name"},sXe={class:"analysis-project-meta"},lXe={__name:"EngineeringAnalysisPanel",props:{drawingPointCount:{type:Number,default:0}},emits:["drawing-change","finish-drawing","undo-point","clear-boundary","analysis-result","focus-project"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=U2(!1),o=U2(null),s=U2([]),l=U2([]),u=U2(""),c=U2("idle"),d=U2([]);let h=null;const f=Ze(()=>{var t2;const Te=l.value.length,ye=s.value.length,Le=s.value.reduce((Oe,T2)=>Oe+Number(T2.overlapAreaWanMu||0),0);return{boundaryAreaWanMu:D2((t2=o.value)==null?void 0:t2.geometry),featureCount:Te,projectCount:ye,overlapAreaWanMu:Le}}),p=Ze(()=>u.value?u.value:c.value==="loading"?"项目库加载中":c.value==="error"?"项目库加载失败":""),g=Ze(()=>o.value?s.value.length?"已发现建设记录":"未发现建设记录":"未分析"),m=Ze(()=>a.value&&i.drawingPointCount>=3),v=Ze(()=>{if(!o.value)return{levelClass:"",verdict:"",summary:"",tags:[],advice:""};if(!s.value.length)return{levelClass:"is-clear",verdict:"未发现建设记录",summary:"该边界范围暂未与项目库中的已建设工程形成空间叠加。",tags:[`分析范围 ${Ae(f.value.boundaryAreaWanMu)} 万亩`,"项目库未命中"],advice:"可进入新增工程选址论证,仍需结合保护红线、审批台账和现场踏勘复核。"};const Te=ke(s.value),ye=d2(s.value),Le=[...s.value].sort((T2,o2)=>Number(o2.overlapAreaWanMu||0)-Number(T2.overlapAreaWanMu||0))[0],t2=ge(f.value.overlapAreaWanMu),Oe=s.value.length>=6||f.value.overlapAreaWanMu>=1?"存在建设叠加":"存在局部叠加";return{levelClass:s.value.length>=6?"is-heavy":"is-hit",verdict:Oe,summary:`该边界命中 ${s.value.length} 个历史项目,叠加约 ${t2} 亩,项目类型以${Te.name}为主,年份集中在 ${ye}。`,tags:[`主类型 ${Te.name}`,`年份 ${ye}`,`最大叠加 ${ge(Le==null?void 0:Le.overlapAreaWanMu)} 亩`],advice:`重点复核“${m2(Le==null?void 0:Le.projectName)}”(${(Le==null?void 0:Le.year)||"未知"},${(Le==null?void 0:Le.category)||"未知类型"})与拟建范围的重合边界。`}});_r(()=>{V().catch(()=>{})});function _(Te){return Z2(this,null,function*(){var Le;const ye=(Le=Te.target.files)==null?void 0:Le[0];if(Te.target.value="",!!ye){u.value="";try{const t2=yield S(ye);a.value&&(a.value=!1,r("drawing-change",!1)),r("clear-boundary"),yield L(t2)}catch(t2){u.value="边界文件解析失败"}}})}function S(Te){return Z2(this,null,function*(){const ye=String(Te.name||"").toLowerCase();if(ye.endsWith(".json")||ye.endsWith(".geojson"))return x(JSON.parse(yield Te.text()));if(ye.endsWith(".zip")){const Le=yield Oqe(yield Te.arrayBuffer());return x(Le)}throw new Error("unsupported file")})}function x(Te){const ye=G(Te).filter(Le=>we(Le==null?void 0:Le.geometry));if(ye.length)return W(ye);throw new Error("no polygon")}function A(){a.value||(u.value="",a.value=!0,o.value=null,s.value=[],l.value=[],r("analysis-result",{boundary:null,matches:[],rows:[],summary:f.value}),r("drawing-change",!0))}function C(){a.value&&(a.value=!1,r("clear-boundary"),r("analysis-result",{boundary:null,matches:[],rows:[],summary:f.value}))}function M(){m.value&&r("finish-drawing")}function I(){r("undo-point")}function D(){a.value=!1,o.value=null,s.value=[],l.value=[],u.value="",r("clear-boundary"),r("analysis-result",{boundary:null,matches:[],rows:[],summary:f.value})}function E(Te){Te!=null&&Te.geometry&&(a.value=!1,L(Te))}function L(Te){return Z2(this,null,function*(){o.value=Te,l.value=[],s.value=[];let ye=[];try{const Le=yield V();ye=q(Te,Le),l.value=ye,s.value=ce(ye)}catch(Le){u.value="项目库加载失败"}r("analysis-result",{boundary:Te,matches:ye,rows:s.value,summary:f.value})})}function V(){return Z2(this,null,function*(){return d.value.length?d.value:h||(c.value="loading",h=fetch(Y("datas/ecological-protection/ecological_restoration_projects.geojson"),{credentials:"include"}).then(ye=>{if(!ye.ok)throw new Error(`HTTP ${ye.status}`);return ye.json()}).then(ye=>{const Le=G(ye).filter(t2=>{var Oe;return(Oe=t2==null?void 0:t2.geometry)==null?void 0:Oe.coordinates}).map((t2,Oe)=>V2(y2({},t2),{properties:V2(y2({},t2.properties||{}),{source_index:Oe})}));return d.value=Le,c.value="success",Le}).catch(ye=>{throw c.value="error",h=null,ye}),h)})}function Y(Te){return Te?/^https?:\/\//.test(Te)||Te.startsWith("/")?Te:`./${Te}`:""}function G(Te){return Te?Array.isArray(Te)?Te.flatMap(ye=>G(ye)):Te.type==="FeatureCollection"?(Te.features||[]).filter(Boolean):Te.type==="Feature"?Te.geometry?[Te]:[]:ve(Te)?[{type:"Feature",properties:{},geometry:Te}]:typeof Te=="object"?Object.values(Te).flatMap(ye=>G(ye)):[]:[]}function W(Te){const ye=Te.flatMap(Le=>Le.geometry.type==="Polygon"?[Le.geometry.coordinates]:Le.geometry.coordinates);return ye.length===1?{type:"Feature",properties:Te[0].properties||{},geometry:{type:"Polygon",coordinates:ye[0]}}:{type:"Feature",properties:{sourceFeatureCount:Te.length},geometry:{type:"MultiPolygon",coordinates:ye}}}function q(Te,ye=d.value){const Le=Re(Te.geometry);return ye.filter(t2=>J(t2.geometry,Te.geometry,Le)).map(t2=>({feature:t2,properties:t2.properties||{},overlapAreaWanMu:se(t2,Te.geometry)}))}function ce(Te){const ye=new Map;return Te.forEach(Le=>{const t2=Le.properties||{},Oe=t2.project_name||t2.projectName||"未命名项目",T2=ye.get(Oe)||{key:Oe,projectName:Oe,category:t2.project_category||"未知类型",year:t2.year||"未知",featureCount:0,overlapAreaWanMu:0,features:[],sourceIndex:Number(t2.source_index||0)};T2.featureCount+=1,T2.overlapAreaWanMu+=Number(Le.overlapAreaWanMu||0),T2.features.push(Le.feature),ye.set(Oe,T2)}),[...ye.values()].map(Le=>V2(y2({},Le),{overlapAreaWanMu:Number(Le.overlapAreaWanMu.toFixed(4))}))}function J(Te,ye,Le){if(!k2(Re(Te),Le))return!1;const t2=Be(ye);return t2.length?we(Te)?H(Te,t2):(Te==null?void 0:Te.type)==="Point"?Ke(Te.coordinates,t2):(Te==null?void 0:Te.type)==="MultiPoint"?Te.coordinates.some(Oe=>Ke(Oe,t2)):(Te==null?void 0:Te.type)==="LineString"?re(Te.coordinates,t2):(Te==null?void 0:Te.type)==="MultiLineString"?Te.coordinates.some(Oe=>re(Oe,t2)):!1:!1}function H(Te,ye){const Le=Be(Te);return Le.length?Le.some(t2=>t2.some(Oe=>Ke(Oe,ye)))||ye.some(t2=>t2.some(Oe=>Ke(Oe,Le)))||Le.some(t2=>ye.some(Oe=>c2(t2,Oe))):!1}function re(Te=[],ye){return!Array.isArray(Te)||!Te.length?!1:Te.some(Le=>Ke(Le,ye))?!0:ye.some(Le=>ee(Te,Le))}function ee(Te,ye){for(let Le=1;Le<Te.length;Le+=1)for(let t2=1;t2<ye.length;t2+=1)if(s2(Te[Le-1],Te[Le],ye[t2-1],ye[t2]))return!0;return!1}function se(Te,ye){const Le=Te==null?void 0:Te.geometry,t2=Be(Le),Oe=Be(ye),T2=x2(Te),o2=D2(ye);if(!t2.length||!Oe.length)return 0;const q2=t2.reduce((lt,rt)=>lt+rt.filter(Ut=>Ke(Ut,Oe)).length,0),K2=t2.reduce((lt,rt)=>lt+rt.length,0);return q2?Number((T2*Math.max(.08,Math.min(1,q2/Math.max(K2,1)))).toFixed(4)):Oe.reduce((lt,rt)=>lt+rt.filter(Ut=>Ke(Ut,t2)).length,0)?Number(Math.min(T2,o2).toFixed(4)):t2.some(lt=>Oe.some(rt=>c2(lt,rt)))?Number((Math.min(T2,o2)*.12).toFixed(4)):0}function Be(Te){var ye;return(Te==null?void 0:Te.type)==="Polygon"?[((ye=Te.coordinates)==null?void 0:ye[0])||[]]:(Te==null?void 0:Te.type)==="MultiPolygon"?Te.coordinates.map(Le=>(Le==null?void 0:Le[0])||[]).filter(Le=>Le.length):[]}function we(Te){return(Te==null?void 0:Te.type)==="Polygon"||(Te==null?void 0:Te.type)==="MultiPolygon"}function ve(Te){return["Polygon","MultiPolygon","LineString","MultiLineString","Point","MultiPoint"].includes(Te==null?void 0:Te.type)}function Ke(Te,ye){return ye.some(Le=>p2(Te,Le))}function p2(Te,ye){var T2,o2,q2,K2;let Le=!1;const t2=Number(Te==null?void 0:Te[0]),Oe=Number(Te==null?void 0:Te[1]);for(let st=0,lt=ye.length-1;st<ye.length;lt=st++){const rt=Number((T2=ye[st])==null?void 0:T2[0]),Ut=Number((o2=ye[st])==null?void 0:o2[1]),Qe=Number((q2=ye[lt])==null?void 0:q2[0]),ot=Number((K2=ye[lt])==null?void 0:K2[1]);Ut>Oe!=ot>Oe&&t2<(Qe-rt)*(Oe-Ut)/(ot-Ut)+rt&&(Le=!Le)}return Le}function c2(Te,ye){for(let Le=1;Le<Te.length;Le+=1)for(let t2=1;t2<ye.length;t2+=1)if(s2(Te[Le-1],Te[Le],ye[t2-1],ye[t2]))return!0;return!1}function s2(Te,ye,Le,t2){if(!R2(Te,ye,Le,t2))return!1;const Oe=(st,lt,rt)=>(Number(lt[0])-Number(st[0]))*(Number(rt[1])-Number(st[1]))-(Number(lt[1])-Number(st[1]))*(Number(rt[0])-Number(st[0])),T2=Oe(Te,ye,Le),o2=Oe(Te,ye,t2),q2=Oe(Le,t2,Te),K2=Oe(Le,t2,ye);return T2===0&&w2(Le,Te,ye)||o2===0&&w2(t2,Te,ye)||q2===0&&w2(Te,Le,t2)||K2===0&&w2(ye,Le,t2)?!0:(T2>0&&o2<0||T2<0&&o2>0)&&(q2>0&&K2<0||q2<0&&K2>0)}function R2(Te,ye,Le,t2){const Oe=Y2([Te,ye]),T2=Y2([Le,t2]);return k2(Oe,T2)}function w2(Te,ye,Le){const t2=Number(Te==null?void 0:Te[0]),Oe=Number(Te==null?void 0:Te[1]),T2=Number(ye==null?void 0:ye[0]),o2=Number(ye==null?void 0:ye[1]),q2=Number(Le==null?void 0:Le[0]),K2=Number(Le==null?void 0:Le[1]),st=(t2-T2)*(K2-o2)-(Oe-o2)*(q2-T2);return Math.abs(st)>1e-10?!1:t2>=Math.min(T2,q2)-1e-10&&t2<=Math.max(T2,q2)+1e-10&&Oe>=Math.min(o2,K2)-1e-10&&Oe<=Math.max(o2,K2)+1e-10}function Re(Te){const ye=[];return Q2(Te==null?void 0:Te.coordinates,ye),ye.length?ye.reduce((Le,t2)=>({minLng:Math.min(Le.minLng,Number(t2[0])),minLat:Math.min(Le.minLat,Number(t2[1])),maxLng:Math.max(Le.maxLng,Number(t2[0])),maxLat:Math.max(Le.maxLat,Number(t2[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}function k2(Te,ye){return!Te||!ye?!1:!(Te.maxLng<ye.minLng||Te.minLng>ye.maxLng||Te.maxLat<ye.minLat||Te.minLat>ye.maxLat)}function x2(Te){return D2(Te==null?void 0:Te.geometry)}function D2(Te){return(Te==null?void 0:Te.type)==="Polygon"?z(Te.coordinates):(Te==null?void 0:Te.type)==="MultiPolygon"?Te.coordinates.reduce((ye,Le)=>ye+z(Le),0):0}function z(Te=[]){const ye=Te[0]||[];if(ye.length<3)return 0;const Le=ye.reduce((o2,q2)=>o2+Number(q2[1]||0),0)/ye.length,t2=111320*Math.cos(Le*Math.PI/180),Oe=110540;let T2=0;for(let o2=0;o2<ye.length;o2+=1){const q2=ye[o2],K2=ye[(o2+1)%ye.length],st=Number(q2[0]||0)*t2,lt=Number(q2[1]||0)*Oe,rt=Number(K2[0]||0)*t2,Ut=Number(K2[1]||0)*Oe;T2+=st*Ut-rt*lt}return Math.abs(T2)/2/666.6666667/1e4}function Q2(Te,ye){if(Array.isArray(Te)){if(typeof Te[0]=="number"&&typeof Te[1]=="number"){ye.push(Te);return}Te.forEach(Le=>Q2(Le,ye))}}function Y2(Te){return Te.reduce((ye,Le)=>({minLng:Math.min(ye.minLng,Number(Le==null?void 0:Le[0])),minLat:Math.min(ye.minLat,Number(Le==null?void 0:Le[1])),maxLng:Math.max(ye.maxLng,Number(Le==null?void 0:Le[0])),maxLat:Math.max(ye.maxLat,Number(Le==null?void 0:Le[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY})}function Ae(Te){const ye=Number(Te||0);return Number.isFinite(ye)?Number(ye.toFixed(ye>=10?2:4)).toString():"0"}function ge(Te){const ye=Number(Te||0)*1e4;return Number.isFinite(ye)?ye>=1e3?Number(ye.toFixed(0)).toLocaleString("zh-CN"):ye>=10?Number(ye.toFixed(1)).toLocaleString("zh-CN"):Number(ye.toFixed(2)).toString():"0"}function ke(Te=[]){const ye=new Map;return Te.forEach(Le=>{const t2=Le.category||"未知类型",Oe=ye.get(t2)||{name:t2,count:0,area:0};Oe.count+=1,Oe.area+=Number(Le.overlapAreaWanMu||0),ye.set(t2,Oe)}),[...ye.values()].sort((Le,t2)=>t2.area-Le.area||t2.count-Le.count)[0]||{name:"未知类型",count:0,area:0}}function d2(Te=[]){const ye=Te.map(Oe=>Number(Oe.year)).filter(Oe=>Number.isFinite(Oe));if(!ye.length)return"未知年份";const Le=Math.min(...ye),t2=Math.max(...ye);return Le===t2?`${Le} 年`:`${Le}-${t2} 年`}function m2(Te,ye=18){const Le=String(Te||"未命名项目");return Le.length>ye?`${Le.slice(0,ye)}...`:Le}return e({applyDrawnBoundary:E}),(Te,ye)=>(Ee(),De("div",Uqe,[k("div",Gqe,[k("div",Vqe,[ye[0]||(ye[0]=k("span",null,"工程分析",-1)),p.value?(Ee(),De("strong",Hqe,Ue(p.value),1)):Tt("",!0)]),a.value?Tt("",!0):(Ee(),De("div",{key:0,class:Ht(["analysis-operation",{"has-boundary":o.value}])},[k("label",{class:Ht(["analysis-entry is-upload",{"is-disabled":a.value}])},[k("input",{type:"file",accept:".zip,.json,.geojson",disabled:a.value,onChange:_},null,40,Wqe),k("span",null,Ue(o.value?"更换边界":"上传边界"),1),ye[1]||(ye[1]=k("strong",null,"SHP / GeoJSON",-1))],2),k("button",{type:"button",class:"analysis-entry is-draw",disabled:a.value,onPointerup:pi(A,["stop","prevent"])},[k("span",null,Ue(o.value?"重新绘制":"在线绘制"),1),ye[2]||(ye[2]=k("strong",null,"地图圈定",-1))],40,jqe)],2)),a.value?(Ee(),De("div",$qe,[k("div",Yqe,[ye[3]||(ye[3]=k("span",null,"已落点",-1)),k("strong",null,Ue(n.drawingPointCount),1),ye[4]||(ye[4]=k("em",null,"点",-1)),ye[5]||(ye[5]=k("small",null,"至少 3 点",-1))]),k("button",{type:"button",class:"analysis-control is-primary",disabled:!m.value,onPointerup:pi(M,["stop","prevent"])}," 完成分析 ",40,qqe),k("button",{type:"button",class:"analysis-control",disabled:!n.drawingPointCount,onPointerup:pi(I,["stop","prevent"])},"撤销",40,Xqe),k("button",{type:"button",class:"analysis-control is-danger",onPointerup:pi(C,["stop","prevent"])},"删除图形",32)])):o.value?(Ee(),De("div",Kqe,[ye[6]||(ye[6]=k("span",null,"边界已加载",-1)),k("strong",null,Ue(s.value.length?`命中 ${s.value.length} 项`:g.value),1),k("button",{type:"button",onPointerup:pi(D,["stop","prevent"])},"删除图形",32)])):Tt("",!0)]),k("div",Zqe,[k("div",Jqe,[ye[7]||(ye[7]=k("span",null,"建设记录核查",-1)),o.value?(Ee(),De("strong",Qqe,Ue(g.value),1)):Tt("",!0)]),o.value?(Ee(),De(gt,{key:1},[k("div",{class:Ht(["analysis-conclusion",v.value.levelClass])},[k("div",tXe,[ye[8]||(ye[8]=k("span",null,"分析结论",-1)),k("strong",null,Ue(v.value.verdict),1)]),k("p",null,Ue(v.value.summary),1),k("div",nXe,[(Ee(!0),De(gt,null,Mt(v.value.tags,Le=>(Ee(),De("span",{key:Le},Ue(Le),1))),128))]),k("small",null,Ue(v.value.advice),1)],2),s.value.length?(Ee(),De("div",rXe,[(Ee(!0),De(gt,null,Mt(s.value,Le=>(Ee(),De("button",{key:Le.key,type:"button",class:"analysis-project-row",onPointerup:pi(t2=>Te.$emit("focus-project",Le),["stop","prevent"])},[k("span",oXe,Ue(Le.projectName),1),k("div",sXe,[k("strong",null,Ue(Le.year),1),k("em",null,Ue(Le.category),1),k("small",null,"叠加 "+Ue(ge(Le.overlapAreaWanMu))+" 亩",1)]),k("b",null,Ue(Le.featureCount)+" 个要素",1)],40,aXe))),128))])):(Ee(),De("div",iXe,"该边界范围内暂未匹配到已建设项目"))],64)):(Ee(),De("div",eXe))])]))}},uXe=h_(lXe,[["__scopeId","data-v-04b20a7e"]]),E5=(n,e)=>n.reduce((t,i)=>t+Number(i[e]||0),0),un=(n,e=2)=>Number(Number(n||0).toFixed(e)),so={kpi:{projectCount:22,featureCount:29280,subjectFeatureCount:1478,controlPointCount:27802,areaWanMu:175.3693,lengthKm:1250.62,townshipCount:10},categories:[{name:"草地修复",subjectFeatureCount:1067,areaWanMu:168.0339,lengthKm:1238.18,projectCount:13},{name:"林地修复",subjectFeatureCount:244,areaWanMu:7.3354,lengthKm:0,projectCount:6},{name:"湿地修复",subjectFeatureCount:167,areaWanMu:0,lengthKm:12.44,projectCount:3}],measures:[{name:"草原改良",subjectFeatureCount:285,areaWanMu:84.2792,lengthKm:467.5,projectCount:8},{name:"人工种草",subjectFeatureCount:532,areaWanMu:29.1561,lengthKm:0,projectCount:13},{name:"封育治理",subjectFeatureCount:45,areaWanMu:21.2487,lengthKm:0,projectCount:1},{name:"围栏建设",subjectFeatureCount:223,areaWanMu:19.4235,lengthKm:660.88,projectCount:9},{name:"林草碳汇试点",subjectFeatureCount:11,areaWanMu:12.5759,lengthKm:0,projectCount:1},{name:"水源涵养",subjectFeatureCount:82,areaWanMu:5.6993,lengthKm:0,projectCount:1},{name:"人工种草/补播",subjectFeatureCount:46,areaWanMu:2.8162,lengthKm:0,projectCount:4},{name:"防风固沙林",subjectFeatureCount:6,areaWanMu:.1303,lengthKm:0,projectCount:1},{name:"草种繁育",subjectFeatureCount:4,areaWanMu:.04,lengthKm:0,projectCount:1},{name:"种草围栏",subjectFeatureCount:77,areaWanMu:0,lengthKm:109.81,projectCount:1},{name:"小型坝",subjectFeatureCount:8,areaWanMu:0,lengthKm:8.83,projectCount:1},{name:"微型坝",subjectFeatureCount:159,areaWanMu:0,lengthKm:3.61,projectCount:2}],years:[{name:2017,areaWanMu:.1412,lengthKm:0,projectCount:1},{name:2018,areaWanMu:.5608,lengthKm:0,projectCount:1},{name:2019,areaWanMu:12.513,lengthKm:0,projectCount:1},{name:2020,areaWanMu:35.9848,lengthKm:0,projectCount:2},{name:2021,areaWanMu:25.0755,lengthKm:467.5,projectCount:5},{name:2022,areaWanMu:72.024,lengthKm:656.05,projectCount:8},{name:2023,areaWanMu:29.07,lengthKm:114.64,projectCount:3},{name:"未知",areaWanMu:0,lengthKm:12.44,projectCount:2}],townships:[{name:"麦洼乡",areaWanMu:28.5019,lengthKm:84.28,projectCount:3},{name:"龙日镇",areaWanMu:15.8472,lengthKm:46.05,projectCount:2},{name:"安曲镇",areaWanMu:13.1168,lengthKm:0,projectCount:2},{name:"瓦切镇",areaWanMu:6.6824,lengthKm:214.41,projectCount:4},{name:"色地镇",areaWanMu:6.344,lengthKm:101.25,projectCount:3},{name:"刷经寺镇",areaWanMu:5.6528,lengthKm:126.26,projectCount:1},{name:"邛溪镇",areaWanMu:2.3127,lengthKm:101.39,projectCount:4},{name:"阿木乡",areaWanMu:1.34,lengthKm:59.5,projectCount:2},{name:"查尔玛乡",areaWanMu:.7001,lengthKm:37.56,projectCount:1}],projects:[{projectName:"阿坝州红原县2020年退牧还草工程项目",projectCategory:"草地修复",year:2020,areaWanMu:35.6232,lengthKm:0,measureTypes:["人工种草","围栏建设"],townships:[],subjectFeatureCount:73},{projectName:"四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-2022年",projectCategory:"草地修复",year:2022,areaWanMu:21.5,lengthKm:172.31,measureTypes:["人工种草","围栏建设","种草围栏","草原改良"],townships:["刷经寺镇","龙日镇"],subjectFeatureCount:273},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理项目-草原封育治理-700",projectCategory:"草地修复",year:2022,areaWanMu:21.2487,lengthKm:272.25,measureTypes:["围栏建设","封育治理"],townships:["瓦切镇","色地镇","邛溪镇"],subjectFeatureCount:90},{projectName:"四川省阿坝州 2023 年中央财政林业草原改革发展资金预算(第三批)——红原县草原生态修复项目",projectCategory:"草地修复",year:2023,areaWanMu:18.79,lengthKm:32.32,measureTypes:["人工种草","围栏建设","草原改良","草种繁育"],townships:["瓦切镇","麦洼乡"],subjectFeatureCount:102},{projectName:"阿坝州红原县2022年第二批重点生态保护和修护治理——红原县林草碳汇创新开发建设试点项目",projectCategory:"草地修复",year:2022,areaWanMu:12.5759,lengthKm:0,measureTypes:["林草碳汇试点"],townships:["安曲镇"],subjectFeatureCount:11},{projectName:"四川省红原县2019年草原生态修复治理项目退化草地治理和天然草原改良",projectCategory:"草地修复",year:2019,areaWanMu:12.513,lengthKm:0,measureTypes:["人工种草/补播","草原改良"],townships:[],subjectFeatureCount:25},{projectName:"阿坝州红原县2021年若尔盖—甘南草原湿地生态保护和修复项目-1880",projectCategory:"草地修复",year:2021,areaWanMu:11.0031,lengthKm:467.5,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:229},{projectName:"2023 年度四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-1315",projectCategory:"草地修复",year:2023,areaWanMu:10.28,lengthKm:82.32,measureTypes:["人工种草","围栏建设","草原改良"],townships:["查尔玛乡","麦洼乡"],subjectFeatureCount:50},{projectName:"阿坝州红原县 2022 年中央财政林业草原生态保护恢复(第二批)——草原生态修复治理补助项目-1972",projectCategory:"草地修复",year:2022,areaWanMu:8.2,lengthKm:113.37,measureTypes:["围栏建设","草原改良","人工种草"],townships:["色地镇","邛溪镇","阿木乡"],subjectFeatureCount:127},{projectName:"阿坝州红原县2021年省级草原生态保护恢复项目-1790",projectCategory:"草地修复",year:2021,areaWanMu:7,lengthKm:0,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:16},{projectName:"阿坝州红原县 2021 年中央财政林业草原生态保护恢复项目-984",projectCategory:"草地修复",year:2021,areaWanMu:6.5,lengthKm:0,measureTypes:["草原改良","人工种草"],townships:[],subjectFeatureCount:14},{projectName:"红原县2022年度黄河上游水源涵养补给区综合治理项目实施方案(代作业设计)变更后最终版",projectCategory:"林地修复",year:2022,areaWanMu:5.6993,lengthKm:0,measureTypes:["水源涵养"],townships:["安曲镇","瓦切镇"],subjectFeatureCount:82},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理——草原生态修复治理项目-1500",projectCategory:"草地修复",year:2022,areaWanMu:2,lengthKm:81.05,measureTypes:["人工种草","围栏建设"],townships:["瓦切镇","色地镇","麦洼乡"],subjectFeatureCount:53},{projectName:"阿坝州红原县 2022 年省级林业草原生态保护恢复——草原生态修复治理补助项目-888",projectCategory:"草地修复",year:2022,areaWanMu:.8,lengthKm:17.07,measureTypes:["人工种草","围栏建设"],townships:["阿木乡"],subjectFeatureCount:4},{projectName:"红原县2018年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2018,areaWanMu:.5608,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:107},{projectName:"红原县2021年黄河上游水源涵养补给区生态综合治理项目",projectCategory:"林地修复",year:2021,areaWanMu:.5224,lengthKm:0,measureTypes:["人工种草/补播"],townships:["邛溪镇"],subjectFeatureCount:14},{projectName:"红原县2020年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2020,areaWanMu:.3617,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:31},{projectName:"2017年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2017,areaWanMu:.1412,lengthKm:0,measureTypes:["人工种草","防风固沙林"],townships:["邛溪镇"],subjectFeatureCount:8},{projectName:"红原县2021年人工造林封山育林项目",projectCategory:"林地修复",year:2021,areaWanMu:.05,lengthKm:0,measureTypes:["围栏建设"],townships:[],subjectFeatureCount:2},{projectName:"4980小型坝(1)(1)",projectCategory:"湿地修复",year:"未知",areaWanMu:0,lengthKm:8.83,measureTypes:["小型坝"],townships:[],subjectFeatureCount:8},{projectName:"红原县蓄水保湿工程-小型坝和微型坝(1)(1)",projectCategory:"湿地修复",year:2023,areaWanMu:0,lengthKm:3.61,measureTypes:["微型坝"],townships:[],subjectFeatureCount:59},{projectName:"4980微型坝成型(1)(1)",projectCategory:"湿地修复",year:2022,areaWanMu:0,lengthKm:0,measureTypes:["微型坝"],townships:[],subjectFeatureCount:100}]},qj=[{key:"national-park",label:"若尔盖国家公园",bottomLabel:"若尔盖国家公园"},{key:"restoration",label:"生态修复工程",bottomLabel:"生态修复工程"},{key:"engineering-analysis",label:"工程分析",bottomLabel:"工程分析"}],Sa=[{name:"麦洼乡",grasslandAreaWanMu:31.41,wetlandAreaWanMu:11.16,ecologyJobs:179,yakCount:61720,livestockCount:63507,cover:85,villages:"洞拉村、滚塘村、让里村、茸塔玛村"},{name:"瓦切镇",grasslandAreaWanMu:31.42,wetlandAreaWanMu:11.15,ecologyJobs:160,yakCount:33887,livestockCount:34589,cover:85,villages:"唐日村、德香村、日干村"},{name:"色地镇",grasslandAreaWanMu:31.42,wetlandAreaWanMu:11.16,ecologyJobs:39,yakCount:9572,livestockCount:9843,cover:86,villages:"色永村"}],or={name:"若尔盖国家公园红原区域",totalAreaWanMu:161.31,grasslandAreaWanMu:94.25,wetlandAreaWanMu:33.47,woodlandAreaWanMu:null,woodlandDataStatus:"待接入",vegetationCoverage:un(E5(Sa,"cover")/Sa.length,1),townCount:Sa.length,villageCount:Sa.reduce((n,e)=>n+String(e.villages||"").split("、").filter(Boolean).length,0),householdCount:3023,ecologyJobCount:E5(Sa,"ecologyJobs"),yakCount:E5(Sa,"yakCount"),livestockCount:E5(Sa,"livestockCount")};or.otherProtectedAreaWanMu=un(or.totalAreaWanMu-or.grasslandAreaWanMu-or.wetlandAreaWanMu,2);Sa.map(n=>({key:n.name,name:n.name,value:un(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",extra:`草地 ${n.grasslandAreaWanMu} / 湿地 ${n.wetlandAreaWanMu}`}));Sa.map(n=>({key:`${n.name}-town`,name:n.name,value:un(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",extra:n.villages}));const cXe=[{key:"core-protection",name:"核心保护区",value:67.36,unit:"万亩"},{key:"general-control",name:"一般控制区",value:93.95,unit:"万亩"}],dXe=43.66,hXe=un(dXe*(192.26/297.29),2),fXe={麦洼乡:[{name:"洞拉村",grassland:.29,wetland:.34,household:.3,yak:.32,edible:.31,woodland:.3},{name:"滚塘村",grassland:.26,wetland:.27,household:.25,yak:.25,edible:.26,woodland:.25},{name:"让里村",grassland:.24,wetland:.21,household:.24,yak:.23,edible:.23,woodland:.24},{name:"茸塔玛村",grassland:.21,wetland:.18,household:.21,yak:.2,edible:.2,woodland:.21}],瓦切镇:[{name:"唐日村",grassland:.38,wetland:.42,household:.36,yak:.4,edible:.39,woodland:.38},{name:"德香村",grassland:.32,wetland:.32,household:.33,yak:.32,edible:.32,woodland:.32},{name:"日干村",grassland:.3,wetland:.26,household:.31,yak:.28,edible:.29,woodland:.3}],色地镇:[{name:"色永村",grassland:1,wetland:1,household:1,yak:1,edible:1,woodland:1}]},pXe=E5(Sa,"livestockCount")||E5(Sa,"yakCount")||1,i_=Sa.map(n=>V2(y2({},n),{householdCount:Math.round(or.householdCount*Number(n.livestockCount||n.yakCount||0)/pXe),edibleGrasslandWanTon:un(Number(n.grasslandAreaWanMu||0)/Math.max(or.grasslandAreaWanMu,1)*hXe,2)})),Xj=or.householdCount-E5(i_,"householdCount");Xj&&i_[0]&&(i_[0].householdCount+=Xj);const cI=(n,e=E5(n,"value"))=>n.map(t=>V2(y2({},t),{extra:t.extra||`占比 ${un(Number(t.value||0)/Math.max(e,1)*100,1)}%`})),mXe=cI([{key:"park-scope-grassland",name:"草地",value:or.grasslandAreaWanMu,unit:"万亩"},{key:"park-scope-wetland",name:"湿地",value:or.wetlandAreaWanMu,unit:"万亩"},{key:"park-scope-other",name:"其他保护范围",value:or.otherProtectedAreaWanMu,unit:"万亩"}]),Ru=({sourceKey:n,weightKey:e,unit:t="万亩",decimals:i=2,sortByValue:r=!0})=>{const a=i_.flatMap(s=>(fXe[s.name]||[]).map(u=>({key:`${s.name}-${u.name}-${n}`,name:u.name,town:s.name,value:un(Number(s[n]||0)*Number(u[e]||0),i),unit:t}))).filter(s=>Number(s.value)>0),o=r?a.sort((s,l)=>Number(l.value||0)-Number(s.value||0)):a;return cI(o)},gXe=Ru({sourceKey:"wetlandAreaWanMu",weightKey:"wetland",sortByValue:!1}),vXe=Ru({sourceKey:"grasslandAreaWanMu",weightKey:"grassland"}),yXe=Ru({sourceKey:"householdCount",weightKey:"household",unit:"户",decimals:0}),Hte=Ru({sourceKey:"yakCount",weightKey:"yak",unit:"头",decimals:0}),_Xe={洞拉村:[102.82,33.22],滚塘村:[102.9,33.23],让里村:[102.99,33.23],茸塔玛村:[103.08,33.2],唐日村:[102.5,33.11],德香村:[102.63,33.12],日干村:[102.72,33.08],色永村:[103.12,33.04]},SXe=Hte.map(n=>{const e=_Xe[n.name];return e?V2(y2({},n),{lng:e[0],lat:e[1],value:n.value,rawValue:n.value,metricLabel:"牦牛数量",displayUnit:n.unit,displayMode:"park-village"}):null}).filter(Boolean),bXe=Ru({sourceKey:"edibleGrasslandWanTon",weightKey:"edible",unit:"万吨"}),xXe=Ru({sourceKey:"wetlandAreaWanMu",weightKey:"woodland"}),wXe=[{zh:"国家公园面积",value:or.totalAreaWanMu,unit:"万亩",decimals:2},{zh:"草地面积",value:or.grasslandAreaWanMu,unit:"万亩",decimals:2},{zh:"湿地面积",value:or.wetlandAreaWanMu,unit:"万亩",decimals:2},{zh:"牦牛数量",value:or.yakCount,unit:"头",decimals:0}],TXe=[{zh:"修复项目",value:so.kpi.projectCount,unit:"个",decimals:0},{zh:"治理面积",value:so.kpi.areaWanMu,unit:"万亩",decimals:2},{zh:"工程长度",value:so.kpi.lengthKm,unit:"公里",decimals:2},{zh:"涉及乡镇",value:so.kpi.townshipCount,unit:"个",decimals:0}];function AXe(n){return n==="engineering-analysis"?[]:(n==="restoration"?TXe:wXe).map((t,i)=>y2({icon:i%2===0?"xiaoshoujine":"zongxiaoliang",en:""},t))}const CXe={left:[{key:"park-resource-scope",title:"显示范围资源占比",type:"donut",rows:mXe},{key:"park-wetland-village",title:"湿地分布村级对比",type:"line",rows:gXe.slice(0,8)},{key:"park-woodland-village",title:"林地分布村级排行",type:"heat",rows:xXe.slice(0,8)},{key:"park-grassland-village",title:"草地分布村级排行",type:"peak",rows:vXe.slice(0,8)}],right:[{key:"park-household-village",title:"牧户分布村级排行",type:"column",variant:"pin",rows:yXe.slice(0,8)},{key:"park-yak-village",title:"牦牛分布村级排行",type:"bar",variant:"distribution",rows:Hte.slice(0,8)},{key:"park-edible-grass-village",title:"可食草地资源分布",type:"split",rows:bXe.slice(0,8)},{key:"park-zoning-ledger",title:"核心区和一般区分区面积",type:"structure",rows:cI(cXe)}]},Wte=(so.townships||[]).filter(n=>/[乡镇]$/.test(String(n.name||""))).slice(0,8),jte=(so.projects||[]).map((n,e)=>{const t=Number(n.areaWanMu)>0,i=Number(n.lengthKm)>0,r=t?{value:un(n.areaWanMu,2),unit:"万亩",metric:"治理面积"}:i?{value:un(n.lengthKm,2),unit:"公里",metric:"工程长度"}:{value:n.subjectFeatureCount||0,unit:"个",metric:"主体要素"},a=(n.measureTypes||[]).join("、"),o=(n.townships||[]).join("、");return{key:n.id||n.projectName,index:e+1,name:n.projectName,projectName:n.projectName,category:n.projectCategory,year:n.year||"未知",areaWanMu:un(n.areaWanMu,4),lengthKm:un(n.lengthKm,2),measure:a,townships:o,subjectFeatureCount:n.subjectFeatureCount||0,value:r.value,unit:r.unit,metric:r.metric,extra:[n.year||"未知",a].filter(Boolean).join(" / "),searchText:[n.projectName,n.projectCategory,n.year,a,o].filter(Boolean).join(" ")}});jte.map((n,e)=>{const t=e%6,i=Math.floor(e/6),r=102.42+t*.045,a=32.55+i*.035,o=.018+Math.min(.024,Number(n.areaWanMu||0)/1200);return{type:"Feature",properties:{project_name:n.projectName,project_category:n.category,year:n.year,areaWanMu:n.areaWanMu,lengthKm:n.lengthKm,townships:n.townships,measure:n.measure},geometry:{type:"Polygon",coordinates:[[[r,a],[r+o,a+o*.22],[r+o*.82,a+o],[r-o*.16,a+o*.72],[r,a]]]}}});const MXe={left:[{key:"restoration-year-area",title:"治理面积分布",type:"line",rows:(so.years||[]).map(n=>({key:n.name,name:`${n.name}`,value:un(n.areaWanMu,2),unit:"万亩",extra:`${n.projectCount||0}个项目`}))},{key:"restoration-town-area",title:"乡镇治理面积分布",type:"bar",variant:"distribution",rows:Wte.map(n=>({key:n.name,name:n.name,value:un(n.areaWanMu,2),unit:"万亩",extra:`${un(n.lengthKm,2)}公里`}))},{key:"restoration-category",title:"修复类型占比",type:"donut",rows:(so.categories||[]).map(n=>({key:n.name,name:n.name,value:un(n.areaWanMu||n.lengthKm||n.subjectFeatureCount,2),unit:n.areaWanMu?"万亩":n.lengthKm?"公里":"个",extra:`${n.subjectFeatureCount}个图斑`}))},{key:"restoration-year-length",title:"年度工程长度",type:"column",variant:"slim",rows:(so.years||[]).filter(n=>Number(n.lengthKm)>0).map(n=>({key:n.name,name:`${n.name}`,value:un(n.lengthKm,2),unit:"公里",extra:`${n.projectCount||0}个项目`}))}],right:[{key:"restoration-measure-area",title:"修复措施统计",type:"structure",rows:(so.measures||[]).slice(0,8).map(n=>({key:n.name,name:n.name,value:un(n.areaWanMu||n.lengthKm||n.subjectFeatureCount,2),unit:n.areaWanMu?"万亩":n.lengthKm?"公里":"个",extra:`${n.projectCount}个项目`}))},{key:"restoration-year-project",title:"年度项目数量",type:"column",variant:"slim",rows:(so.years||[]).map(n=>({key:n.name,name:`${n.name}`,value:n.projectCount,unit:"个",extra:`${un(n.areaWanMu,2)}万亩`}))},{key:"restoration-projects",title:"重点项目库",type:"projectTable",span:2,rows:jte}]},EXe={left:[],right:[]};function PXe(n){return n==="restoration"?{status:"success",title:"乡镇治理排行",metricLabel:"治理面积",unit:"万亩",rows:Wte.map(e=>({name:e.name,value:un(e.areaWanMu,2),unit:"万亩"}))}:n==="engineering-analysis"?{status:"success",title:"工程分析",metricLabel:"",unit:"",rows:[]}:{status:"success",title:"国家公园覆盖村",scope:"village",labelMode:"village",hideTownNames:!1,displayMode:"park-village",metricLabel:"牦牛数量",unit:"头",rows:SXe}}const RXe={class:"forest-grass-wet ecological-protection"},LXe={class:"forest-grass-wet-ui ecological-protection-ui"},IXe={key:0,class:"fgw-left"},DXe={class:"fgw-side-stack is-left"},NXe={key:1,class:"fgw-right"},kXe={class:"fgw-side-stack is-right"},FXe={class:"fgw-bottom-topic ecological-bottom-topic"},OXe={key:0,class:"loading"},BXe={class:"loading-progress"},zXe={class:"value"},Kj=190,UXe=12,GXe={__name:"index",props:{activeView:{type:String,default:"national-park"},showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["module-stats","view-change"],setup(n,{emit:e}){const t=n,i=e,r=U2(null),a=U2(null),o=U2(""),s=U2(""),l=U2(null),u=U2(!1),c=U2(!1),d=U2(null),h=U2(0),f=U2(t.showLoading),p=U2(null),g=U2(0),m=U2({type:"idle",text:"等待生态保护图层加载"});let v=null,_=!1,S=!1,x=!1,A=null;const C=Ze(()=>["national-park","restoration","engineering-analysis"].includes(t.activeView)?t.activeView:"national-park"),M=Ze(()=>C.value==="engineering-analysis"),I=Ze(()=>o.value?bf(C.value,o.value):null),D=Ze(()=>{var ke;return(((ke=I.value)==null?void 0:ke.legends)||[]).find(d2=>d2.key===s.value)||null}),E=Ze(()=>{const ke=I.value;return!ke||!D.value?ke:V2(y2({},ke),{cqlFilter:D.value.cqlFilter||ke.cqlFilter,activeLegend:D.value,name:D.value.name||ke.name})}),L=Ze(()=>C.value==="restoration"?MXe:C.value==="engineering-analysis"?EXe:CXe),V=Ze(()=>L.value.left||[]),Y=Ze(()=>L.value.right||[]),G=Kj*2+UXe,W=Ze(()=>!!d.value),q=Ze(()=>{if(c.value||u.value||!l.value)return 186;const ke=p2(l.value);return Math.min(480,Math.max(300,86+Math.min(ke,12)*34))}),ce=Ze(()=>{if(!d.value)return{};const ke=460,d2=q.value,m2=24,Te=Be(d.value),ye=Te.x>1420?-ke-28:28,Le=Math.min(Math.max(Te.x+ye,m2),1920-ke-m2),t2=Math.min(Math.max(Te.y-d2-72,188),1080-d2-132);return{left:`${Le}px`,top:`${t2}px`,right:"auto",bottom:"auto"}});_r(()=>{document.addEventListener("pointerdown",Ae,!0),re(),J(C.value)}),Yr(()=>{_=!0,A&&window.clearTimeout(A),document.removeEventListener("pointerdown",Ae,!0)}),U1(C,ke=>{J(ke)}),U1(o,()=>{s.value="",Y2()}),U1(s,()=>{Y2()}),U1(()=>t.active,ke=>{var d2,m2,Te,ye;r.value&&(ke?(ee(),(m2=(d2=r.value).resume)==null||m2.call(d2)):(ye=(Te=r.value).pause)==null||ye.call(Te))});function J(ke){var Te,ye,Le,t2,Oe;const d2=fv.find(T2=>T2.key===ke)||fv[0],m2=mS(ke);s.value="",o.value=d2.defaultLayerKey||((Te=m2[0])==null?void 0:Te.key)||"",p.value=PXe(ke),g.value=0,(Le=(ye=r.value)==null?void 0:ye.setBoundaryDrawing)==null||Le.call(ye,!1),ke!=="engineering-analysis"&&((Oe=(t2=r.value)==null?void 0:t2.clearAnalysisBoundary)==null||Oe.call(t2)),Y2(),i("module-stats",{moduleKey:"ecological-protection",viewKey:ke,items:AXe(ke)})}function H(ke){const d2=["national-park","restoration","engineering-analysis"].includes(ke)?ke:"national-park";d2!==C.value&&i("view-change",d2)}function re(){var m2;v=new Eu;const ke={progress:0};v.instance.on("onProgress",(Te,ye,Le)=>{const t2=Math.floor(ye/Le*100);O0.to(ke,{progress:t2,onUpdate:()=>{h.value=Math.floor(ke.progress)}})});const d2=()=>{_||S||(S=!0,ee())};v.instance.on("onLoad",d2),(m2=v.ready)==null||m2.then(d2).catch(()=>{_||(m.value={type:"error",text:"地图资源加载失败"})})}function ee(){_||!t.active||!S||x||(x=!0,A&&window.clearTimeout(A),A=window.setTimeout(()=>{A=null,se()},600))}function se(ke=0){return Z2(this,null,function*(){var d2,m2,Te;if(!_){if(!t.active){x=!1;return}if(yield Nn(),!t.active){x=!1;return}if((d2=r.value)==null||d2.loadMap(v),(m2=r.value)!=null&&m2.canvasMap){yield ge(),yield Nn(),(Te=r.value)==null||Te.play();return}if(ke<24){window.setTimeout(()=>se(ke+1),120);return}x=!1}})}function Be(ke){const d2=document.querySelector(".ecological-protection"),m2=d2==null?void 0:d2.getBoundingClientRect();return!(m2!=null&&m2.width)||!(m2!=null&&m2.height)?ke:{x:(ke.x-m2.left)/m2.width*1920,y:(ke.y-m2.top)/m2.height*1080}}function we(ke,d2){return`${C.value}-${d2}-${(ke==null?void 0:ke.key)||(ke==null?void 0:ke.title)||"panel"}`}function ve(ke){return(ke==null?void 0:ke.span)===2}function Ke(ke){return ve(ke)?G:Kj}function p2(ke){const d2=(ke==null?void 0:ke.properties)||{};return Object.keys(d2).filter(m2=>{const Te=d2[m2];return Te==null||Te===""?!1:!["geom","wkt","geometry","the_geom","raw_properties"].includes(String(m2).toLowerCase())}).length}function c2(ke){var m2,Te;const d2=(Te=(m2=ke==null?void 0:ke.feature)!=null?m2:ke)!=null?Te:null;if(!d2){Y2();return}l.value=d2,u.value=!1,ke!=null&&ke.screen&&(d.value=ke.screen)}function s2(ke){m.value=ke}function R2(ke,d2){var Te,ye;if(C.value!=="restoration"||(ke==null?void 0:ke.key)!=="restoration-projects")return;const m2=(d2==null?void 0:d2.projectName)||(d2==null?void 0:d2.name);m2&&(Y2(),(ye=(Te=r.value)==null?void 0:Te.focusProject)==null||ye.call(Te,m2))}function w2(ke){var d2,m2;Y2(),g.value=0,(m2=(d2=r.value)==null?void 0:d2.setBoundaryDrawing)==null||m2.call(d2,ke)}function Re(){var ke,d2;(d2=(ke=r.value)==null?void 0:ke.finishBoundaryDrawing)==null||d2.call(ke)}function k2(){var ke,d2;(d2=(ke=r.value)==null?void 0:ke.undoBoundaryPoint)==null||d2.call(ke)}function x2(){var ke,d2;g.value=0,(d2=(ke=r.value)==null?void 0:ke.clearAnalysisBoundary)==null||d2.call(ke)}function D2(ke={}){var d2,m2,Te;g.value=ke.pointCount||((d2=ke.points)==null?void 0:d2.length)||0,ke.status==="complete"&&ke.feature&&(g.value=0,(Te=(m2=a.value)==null?void 0:m2.applyDrawnBoundary)==null||Te.call(m2,ke.feature)),ke.status==="clear"&&(g.value=0)}function z(ke={}){var d2,m2;(m2=(d2=r.value)==null?void 0:d2.showAnalysisResult)==null||m2.call(d2,{boundary:ke.boundary,matches:ke.matches}),C.value}function Q2(ke){var m2,Te;const d2=((ke==null?void 0:ke.features)||[]).filter(Boolean);(Te=(m2=r.value)==null?void 0:m2.showAnalysisResult)==null||Te.call(m2,{matches:d2})}function Y2(){var ke,d2;l.value=null,u.value=!1,d.value=null,(d2=(ke=r.value)==null?void 0:ke.clearSelectedFeature)==null||d2.call(ke)}function Ae(ke){if(!W.value)return;const d2=document.querySelector(".fgw-map-feature-info"),m2=ke.target;d2&&m2 instanceof Node&&d2.contains(m2)||Y2()}function ge(){return f.value?new Promise(ke=>{O0.to(".ecological-protection .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{f.value=!1,ke()}})}):Promise.resolve()}return(ke,d2)=>{var m2;return Ee(),De("div",RXe,[dt(Mu,{ref_key:"mapSceneRef",ref:r,"active-layer":E.value,"map-ranking":p.value,onFeatureLoading:d2[0]||(d2[0]=Te=>c.value=Te),onFeatureInfo:c2,onLayerStatus:s2,onDrawBoundary:D2},null,8,["active-layer","map-ranking"]),k("div",LXe,[M.value?Tt("",!0):(Ee(),De("div",IXe,[k("div",DXe,[(Ee(!0),De(gt,null,Mt(V.value,Te=>(Ee(),K0(x3,{key:we(Te,"left"),class:Ht(["fgw-side-card left-card",{"is-double":ve(Te)}]),title:Te.title,width:398,height:Ke(Te)},{default:s3(()=>[dt(Di,{panel:Te,compact:"",onRowSelect:ye=>R2(Te,ye)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","height"]))),128))])])),M.value?Tt("",!0):(Ee(),De("div",NXe,[k("div",kXe,[(Ee(!0),De(gt,null,Mt(Y.value,Te=>(Ee(),K0(x3,{key:we(Te,"right"),class:Ht(["fgw-side-card right-card",{"is-double":ve(Te)}]),title:Te.title,width:398,height:Ke(Te)},{default:s3(()=>[dt(Di,{panel:Te,compact:"",onRowSelect:ye=>R2(Te,ye)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","height"]))),128))])])),M.value?(Ee(),K0(uXe,{key:2,ref_key:"engineeringAnalysisRef",ref:a,"drawing-point-count":g.value,onDrawingChange:w2,onFinishDrawing:Re,onUndoPoint:k2,onClearBoundary:x2,onAnalysisResult:z,onFocusProject:Q2},null,8,["drawing-point-count"])):Tt("",!0),k("div",{class:Ht(["fgw-map-layer-tools",{"is-analysis":M.value}])},[dt(qL,{modelValue:o.value,"onUpdate:modelValue":d2[1]||(d2[1]=Te=>o.value=Te),"selected-legend-key":s.value,"onUpdate:selectedLegendKey":d2[2]||(d2[2]=Te=>s.value=Te),"topic-key":C.value,legends:((m2=E.value)==null?void 0:m2.legends)||[],width:248,height:430},null,8,["modelValue","selected-legend-key","topic-key","legends"])],2),W.value?(Ee(),De("div",{key:3,class:"fgw-map-feature-info",style:J3(ce.value)},[dt(lte,{feature:l.value,empty:u.value,loading:c.value,width:460,height:q.value},null,8,["feature","empty","loading","height"])],4)):Tt("",!0),k("div",FXe,[dt(yS,{"model-value":C.value,topics:_1(fv),"onUpdate:modelValue":H},null,8,["model-value","topics"])])]),f.value?(Ee(),De("div",OXe,[d2[4]||(d2[4]=D8('<div class="loading-text"><span style="--index:1;">L</span><span style="--index:2;">O</span><span style="--index:3;">A</span><span style="--index:4;">D</span><span style="--index:5;">I</span><span style="--index:6;">N</span><span style="--index:7;">G</span></div>',1)),k("div",BXe,[k("span",zXe,Ue(h.value),1),d2[3]||(d2[3]=k("span",{class:"unit"},"%",-1))])])):Tt("",!0)])}}},xE=WXe("/jsyApi"),VXe="/openApi";function HXe(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function WXe(n){const e=String(n||"/jsyApi").replace(/\/+$/,"");return e.endsWith("/api")?e:`${e}/api`}function jXe(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return D3(n)}function r_(n,e,t,i={}){return bo(HXe(n,e),{params:t,timeout:i.timeout||16e3}).then(jXe)}function $Xe(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.data)?n.data:[]}function YXe(n){return Array.isArray(n)?n.length>0:!n||typeof n!="object"?n!=null&&n!=="":["areaRange","area_range","acreage","grasslandArea","grassland_area","area","yakNumber","yak_number","number","yakCount","yak_count","livestockCount","livestock_count","bearingCapacity","bearing_capacity","capacity","theoryCapacity","livestockCapacity","livestock_capacity","carryingCapacity","actualCapacity","overloadRate","overload_rate","rate","level","conclusion","advice","balanceAdvice","balance_advice"].some(t=>n[t]!==void 0&&n[t]!==null&&n[t]!=="")}function qXe(){return Z2(this,arguments,function*({areaCode:n,pasturesId:e}={}){const t={areaCode:n,pasturesId:e},i=[()=>r_(xE,"/ai/livestockBalance",t,{timeout:18e3}),()=>r_(VXe,"/ai/balance/advice",t,{timeout:18e3})];let r;for(const a of i)try{const o=yield a();if(YXe(o))return o}catch(o){r=o}throw r||new Error("草畜平衡接口不可用")})}function XXe(n){return Z2(this,null,function*(){const e=[()=>r_(xE,"/area/children",{areaCode:n},{timeout:12e3}),()=>r_(xE,"/map/areaCode",{areaCode:n},{timeout:12e3})];let t,i=!1;for(const r of e)try{const a=$Xe(yield r());if(a.length)return a;i=!0}catch(a){t=a}if(i)return[];throw t||new Error("区划接口不可用")})}const $te="/jsyApi";function Yte(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function qte(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return D3(n)}function bS(n,e,t={}){return bo(Yte($te,n),{params:e,timeout:t.timeout||12e3}).then(qte)}function xS(n,e,t={}){return bo(Yte($te,n),{method:"POST",params:e,timeout:t.timeout||12e3}).then(qte)}function KXe(){return xS("/api/dataItem?group=pastures").then(m6)}function ZXe(){return xS("/api/muhu/distribution").then(m6)}function JXe(){return xS("/api/muhu/age").then(m6)}function QXe(){return xS("/api/muhu/upline_rate").then(m6)}function m6(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.data)?n.data:n!=null&&n.data?m6(n.data):n!=null&&n.result?m6(n.result):[]}function Xte(n="",e=1,t=80){return bS("/api/home/muhu_list",{query:n,page:e,pageSize:t}).then(m6)}function wE(n){return bS("/api/home/grasslandByPastureId",{id:n}).then(m6)}function eKe(n){return bS("/api/pasturesDetails",{id:n}).then(e=>(e==null?void 0:e.data)||e||{})}function Kte(){return bS("/api/pasturesList").then(m6)}function tKe(){return Z2(this,null,function*(){const[n,e,t,i,r,a]=yield Promise.allSettled([KXe(),ZXe(),JXe(),QXe(),Kte(),Xte("",1,300)]),o=r.status==="fulfilled"?r.value:[],s=a.status==="fulfilled"?a.value:[],l=Qj(s)?s:Qj(o)?o:s.length?s:o,u=nKe(l,o,s);return{core:n.status==="fulfilled"?n.value:[],distribution:e.status==="fulfilled"?e.value:[],age:t.status==="fulfilled"?t.value:[],online:i.status==="fulfilled"?i.value:[],list:u}})}function nKe(n=[],...e){const t=new Map;return e.flat().forEach(i=>{Jj(i).forEach(r=>{const a=t.get(r)||{};t.set(r,Zj(a,i))})}),(Array.isArray(n)?n:[]).map(i=>{const r=Jj(i).map(a=>t.get(a)).find(Boolean);return r?Zj(i,r):i})}function Zj(n={},e={}){const t=y2({},n);return Object.entries(e||{}).forEach(([i,r])=>{(t[i]===void 0||t[i]===null||t[i]==="")&&(t[i]=r)}),t}function Jj(n={}){return[n.id,n.pastureId,n.pasturesId,n.pastures_id,n.muhuId,n.muhu_id,n.name,n.pasturesName,n.pastures_name,n.muhuName,n.muhu_name,n.pastureName,n.pasture_name].map(e=>String(e||"").trim()).filter(Boolean)}function Qj(n=[]){return(Array.isArray(n)?n:[]).some(e=>{var r,a,o,s,l,u;const t=(l=(s=(o=(a=(r=e==null?void 0:e.grasslandArea)!=null?r:e==null?void 0:e.grassland_area)!=null?a:e==null?void 0:e.acreage)!=null?o:e==null?void 0:e.area)!=null?s:e==null?void 0:e.areaRange)!=null?l:e==null?void 0:e.area_range;if(typeof t=="number")return t>0;const i=Number((u=String(t!=null?t:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/))==null?void 0:u[0]);return Number.isFinite(i)&&i>0})}const iKe=(n,e=2)=>{const t=Rs(10,e);return Math.round((Number(n)||0)*t)/t},TE=n=>iKe((Number(n)||0)/1e4,2),Zte=[{key:"pasture-total",name:"牧户数量",value:9110,unit:"户",icon:"town"},{key:"avg-yak-per-household",name:"户均牦牛头数",value:52,unit:"头",icon:"yield"},{key:"avg-grassland-area",name:"户均草地面积",value:1131,unit:"亩",icon:"area"},{key:"joint-household-count",name:"联户数量",value:237,unit:"户",icon:"town"},{key:"poverty-monitor-count",name:"防反贫监测户",value:122,unit:"户",icon:"town"},{key:"average-income",name:"人均收入",value:19679,unit:"元/年",icon:"rate"}],Jte=Zte,Qte=Zte.map(n=>V2(y2({},n),{zh:n.name,decimals:0})),dI=[{areaCode:"513233100",areaName:"邛溪镇",number:1452,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",number:1500,year:2024},{areaCode:"513233103",areaName:"安曲镇",number:76,year:2024},{areaCode:"513233105",areaName:"龙日镇",number:828,year:2024},{areaCode:"513233202",areaName:"江茸乡",number:902,year:2024},{areaCode:"513233203",areaName:"查尔玛乡",number:450,year:2024},{areaCode:"513233204",areaName:"瓦切镇",number:602,year:2024},{areaCode:"513233205",areaName:"阿木乡",number:300,year:2024},{areaCode:"513233207",areaName:"麦洼乡",number:1204,year:2024},{areaCode:"513233208",areaName:"色地镇",number:2638,year:2024}].map(n=>V2(y2({},n),{key:n.areaCode,name:n.areaName,value:n.number,unit:"户"})),e3e=[{areaCode:"513233105",areaName:"龙日镇",uplineRate:4,year:2024},{areaCode:"513233207",areaName:"麦洼乡",uplineRate:52,year:2024},{areaCode:"513233103",areaName:"安曲镇",uplineRate:22,year:2024},{areaCode:"513233100",areaName:"邛溪镇",uplineRate:23,year:2024},{areaCode:"513233208",areaName:"色地镇",uplineRate:8,year:2024},{areaCode:"513233205",areaName:"阿木乡",uplineRate:12,year:2024},{areaCode:"513233202",areaName:"江茸乡",uplineRate:14,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",uplineRate:9,year:2024}].map(n=>V2(y2({},n),{key:n.areaCode,name:n.areaName,value:n.uplineRate,unit:"%",extra:`${n.uplineRate}%`})),t3e=[{areaName:"全县",ageRange:"0-20",sex:"男",number:340,value:340,year:2024},{areaName:"全县",ageRange:"0-20",sex:"女",number:348,value:348,year:2024},{areaName:"全县",ageRange:"21-40",sex:"男",number:1700,value:1700,year:2024},{areaName:"全县",ageRange:"21-40",sex:"女",number:2040,value:2040,year:2024},{areaName:"全县",ageRange:"41-60",sex:"男",number:2040,value:2040,year:2024},{areaName:"全县",ageRange:"41-60",sex:"女",number:2104,value:2104,year:2024},{areaName:"全县",ageRange:"61-80",sex:"男",number:680,value:680,year:2024},{areaName:"全县",ageRange:"61-80",sex:"女",number:580,value:580,year:2024},{areaName:"全县",ageRange:"81-100",sex:"男",number:60,value:60,year:2024},{areaName:"全县",ageRange:"81-100",sex:"女",number:60,value:60,year:2024}],n3e=(n,e,t,i)=>Array.from(n.reduce((r,a)=>{const o=a[e]||"未标注",s=r.get(o)||{key:o,name:o,value:0,unit:i};return s.value+=Number(a[t])||0,r.set(o,s),r},new Map).values()),rKe=n3e(t3e,"ageRange","value","人"),i3e=[{key:"male",name:"男",value:4820,unit:"人"},{key:"female",name:"女",value:5132,unit:"人"}],el=[{name:"更洼尔",areaName:"瓦切镇",acreage:4704.87,summerAcreage:2267.26,winterAcreage:2437.61,year:2024},{name:"涉尔丹",areaName:"麦洼乡",acreage:1426.53,summerAcreage:687.82,winterAcreage:738.71,year:2024},{name:"热布丹",areaName:"查尔玛乡",acreage:2176.09,summerAcreage:1049.37,winterAcreage:1126.72,year:2024},{name:"王西卓玛",areaName:"阿木乡",acreage:4126.13,summerAcreage:1989.59,winterAcreage:2136.54,year:2024},{name:"阿尔",areaName:"色地镇",acreage:1249.48,summerAcreage:602.25,winterAcreage:647.23,year:2024},{name:"尕让吉",areaName:"邛溪镇",acreage:3688.72,summerAcreage:1778.56,winterAcreage:1910.16,year:2024},{name:"华尔甲",areaName:"安曲镇",acreage:2956.44,summerAcreage:1425.01,winterAcreage:1531.43,year:2024},{name:"泽让措",areaName:"江茸乡",acreage:3448.36,summerAcreage:1662.61,winterAcreage:1785.75,year:2024},{name:"扎西让布",areaName:"龙日镇",acreage:2689.1,summerAcreage:1296.15,winterAcreage:1392.95,year:2024},{name:"格桑卓玛",areaName:"刷经寺镇",acreage:3187.64,summerAcreage:1536.84,winterAcreage:1650.8,year:2024}].map(n=>V2(y2({},n),{township:n.areaName,grasslandArea:n.acreage,value:n.acreage,unit:"亩",canLocate:!1,locateText:"--",searchText:`${n.name} ${n.areaName}`})),aKe=n3e(el,"township","grasslandArea","亩").map(n=>V2(y2({},n),{value:TE(n.value),unit:"万亩"})),oKe=Array.from(el.reduce((n,e)=>{const t=e.township||"未填写",i=n.get(t)||{key:`${t}-season`,name:t,values:{summer:0,winter:0}};return i.values.summer+=Number(e.summerAcreage)||0,i.values.winter+=Number(e.winterAcreage)||0,n.set(t,i),n},new Map).values()).map(n=>V2(y2({},n),{values:{summer:TE(n.values.summer),winter:TE(n.values.winter)},unit:"万亩"})),sKe=dI.map(n=>({name:n.name,value:n.value,unit:"户"})),LA={topStats:Qte,coreRows:Jte,townRows:dI,ageRows:t3e,genderRows:i3e,onlineRows:e3e,list:el},jh={grasslandCapacityPerMu:.06229833103624831,muPerYak:16.051794379822947,yakToSheepUnit:1},lKe={key:"county-513233",type:"county",name:"红原县",areaCode:"513233"},Fg=[{key:"healthy",label:"草畜平衡",shortLabel:"平衡",range:"≤ 0%",description:"承载力覆盖实际载畜量,当前放牧压力处于合理区间。",actions:["保持当前载畜水平与轮牧节奏","定期复测草地生产力和载畜量","关注极端天气对牧草生长的影响"]},{key:"watch",label:"轻度超载",shortLabel:"关注",range:"0% - 10%",description:"已出现轻度超载迹象,建议提前介入调控。",actions:["适度压减超载畜群规模","延长冬春舍饲补饲周期","增加人工草场补饲供应"]},{key:"warning",label:"中度超载",shortLabel:"预警",range:"10% - 20%",description:"超载较明显,草地退化风险上升,应启动主动调控。",actions:["压减载畜量至理论承载力以内","推行划区轮牧与阶段性休牧","扩大优质人工饲草供给"]},{key:"danger",label:"严重超载",shortLabel:"高压",range:"> 20%",description:"超载压力较高,建议纳入重点管控和生态修复范围。",actions:["强制压减载畜量并实施禁牧休牧","对退化草地实施生态修复","建立重点区域长效监测与考核机制"]}],pa={areaRange:["areaRange","area_range","acreage","grasslandArea","area"],yakNumber:["yakNumber","yak_number","number","yakCount","livestockCount"],bearingCapacity:["bearingCapacity","bearing_capacity","capacity","theoryCapacity"],livestockCapacity:["livestockCapacity","livestock_capacity","carryingCapacity","actualCapacity"],overloadRate:["overloadRate","overload_rate","rate"],level:["level","conclusion"],advice:["advice","balanceAdvice","balance_advice","balanceAdivce","balance_adivce"],year:["year"],areaName:["areaName","area_name","name"],pasturesName:["pasturesName","pastures_name","pastureName","muhuName","name"]},uKe=["grasslandArea","grassland_area","acreage","areaRange","area_range","area","cdAcreage","cd_acreage","totalAcreage","total_acreage","grasslandAcreage","grassland_acreage","pastureArea","pasture_area"],Ta=(n,e=2)=>{const t=Rs(10,e);return Math.round((Number(n)||0)*t)/t},cKe={色地镇:1.38,麦洼乡:1.26,阿木乡:1.12,瓦切镇:1.2,查尔玛乡:1.04,江茸乡:.88,龙日镇:1.16,安曲镇:1.28,刷经寺镇:.78,邛溪镇:1.08};function $1(n,e=null){if(n==null||n==="")return e;const t=typeof n=="string"?n.replace(/,/g,"").replace(/%/g,"").trim():n,i=Number(t);return Number.isFinite(i)?i:e}function an(n={},e=[],t=void 0){for(const i of e){const r=n==null?void 0:n[i];if(r!=null&&r!=="")return r}return t}function Sv(n,e={}){var i;const t=$1(n);return t===null?"--":t.toLocaleString("zh-CN",{maximumFractionDigits:(i=e.maximumFractionDigits)!=null?i:Number.isInteger(t)?0:2})}function IA(n){const e=$1(n);return e===null?"--":`${Sv(e)}%`}function Mf(n){const e=$1(n);return e===null||e<=0?Fg[0]:e<=10?Fg[1]:e<=20?Fg[2]:Fg[3]}function AE(n){return Math.round(Number(n)||0)}function CE(n){return Math.round((Number(n)||0)*jh.grasslandCapacityPerMu)}function wS({key:n,type:e,name:t,areaCode:i,pasturesId:r,areaRange:a,yakNumber:o,location:s,township:l,hasBoundary:u=!1,boundaryCount:c=0,grasslands:d=[],source:h,pressureFactor:f=1}){const p=CE(a),g=Math.round(AE(o)*f),m=p?Ta((g-p)/p*100,1):0,v=Mf(m);return{key:n,type:e,name:t,areaCode:i,pasturesId:r,areaRange:Ta(a,0),yakNumber:Ta(o,0),bearingCapacity:p,livestockCapacity:g,overloadRate:m,level:v.label,advice:v.actions.join(";"),year:"2026",location:s,township:l,hasBoundary:!!u,boundaryCount:Number(c)||0,grasslands:d,source:h}}const Ef=o9.map((n,e)=>wS({key:`town-${n.zoneName}`,type:"town",name:n.zoneName,areaCode:UL(n.zoneName),areaRange:n.grasslandArea,yakNumber:n.yakCount,location:null,pressureFactor:cKe[n.zoneName]||1,index:e})),dKe=Ef.reduce((n,e)=>n+e.areaRange,0),hKe=Ef.reduce((n,e)=>n+e.yakNumber,0),bv=Ef.reduce((n,e)=>n+e.bearingCapacity,0),r3e=Ef.reduce((n,e)=>n+e.livestockCapacity,0),a3e=bv?Ta((r3e-bv)/bv*100,1):0,e$=Mf(a3e),fKe=V2(y2({},lKe),{areaRange:dKe,yakNumber:hKe,bearingCapacity:bv,livestockCapacity:r3e,overloadRate:a3e,level:e$.label,advice:e$.actions.join(";"),year:"2026"}),pKe=xv(el.map(n=>wS({key:n.id||n.key||n.name,type:"pasture",name:n.name,areaCode:UL(n.township),pasturesId:n.id,areaRange:n.grasslandArea,yakNumber:n.yakCount,location:n.location,township:n.township,hasBoundary:n.hasBoundary||n.canLocate||I8(n),source:n}))),t$=[fKe,...Ef,...pKe];function mKe(n={},e={}){var S,x,A,C,M,I,D,E,L,V,Y,G,W;const t=an(n,pa.areaRange),i=an(n,pa.yakNumber),r=an(n,pa.bearingCapacity),a=an(n,pa.livestockCapacity),o=$1(an(n,pa.overloadRate)),s=$1(e.yakNumber),l=yKe(n,a,s),u=$1(t,(S=e.areaRange)!=null?S:0),c=l!==null&&i===(n==null?void 0:n.yak_number)?$1(an(n,["number","yakCount","yak_count","livestockCount","livestock_count"]),s!=null?s:Math.round(l/jh.yakToSheepUnit)):$1(i,(x=e.yakNumber)!=null?x:0),d=$1(e.bearingCapacity),h=$1(e.livestockCapacity),f=t!=null&&t!=="",p=i!=null&&i!=="",g=(M=(C=(A=$1(a))!=null?A:l)!=null?C:p?AE(c):h)!=null?M:AE(c),m=(E=(D=(I=$1(r))!=null?I:_Ke(g,o))!=null?D:f?CE(u):d)!=null?E:CE(u),v=o!==null?Ta(o,1):m?Ta((g-m)/m*100,1):0,_=Mf(v);return V2(y2(y2({},e),n),{key:e.key||n.key||n.id||n.areaCode||n.pasturesId||e.name,type:e.type||n.type||(n.pasturesId?"pasture":"town"),name:an(n,[...pa.pasturesName,...pa.areaName],e.name||"核算对象"),areaCode:n.areaCode||n.area_code||e.areaCode,pasturesId:n.pasturesId||n.pastures_id||e.pasturesId,areaRange:u,yakNumber:c,bearingCapacity:m,livestockCapacity:g,overloadRate:v,level:an(n,pa.level,_.label),advice:an(n,pa.advice,e.advice||_.actions.join(";")),year:an(n,pa.year,e.year||"当前年度"),hasBoundary:!!((Y=(V=(L=n.hasBoundary)!=null?L:n.has_boundary)!=null?V:n.canLocate)!=null?Y:e.hasBoundary),boundaryCount:$1((G=n.boundaryCount)!=null?G:n.boundary_count,(W=e.boundaryCount)!=null?W:0),grasslands:Array.isArray(n.grasslands)?n.grasslands:e.grasslands,source:n.raw||n.source||e.source})}function n$(n=[],e=new Map){return(Array.isArray(n)?n:[]).map((t,i)=>vKe(t,i,e)).filter(Boolean).sort(o3e)}function xv(n=[]){return[...Array.isArray(n)?n:[]].sort(o3e)}function o3e(n,e){const t=a_(n)?1:0,i=a_(e)?1:0;if(t!==i)return i-t;const r=o_(n),a=o_(e),o=r>0?1:0,s=a>0?1:0;return o!==s?s-o:r!==a?a-r:String((n==null?void 0:n.name)||"").localeCompare(String((e==null?void 0:e.name)||""),"zh-CN")}function a_(n={}){return n!=null&&n.hasBoundary||n!=null&&n.has_boundary||n!=null&&n.canLocate||n!=null&&n.hasGeometry||n!=null&&n.has_geometry||(Number(n==null?void 0:n.boundaryCount)||Number(n==null?void 0:n.boundary_count)||0)>0||Array.isArray(n==null?void 0:n.boundaryList)&&n.boundaryList.length||Array.isArray(n==null?void 0:n.geometryList)&&n.geometryList.length||Array.isArray(n==null?void 0:n.features)&&n.features.length||Array.isArray(n==null?void 0:n.grasslands)&&n.grasslands.some(I8)||Array.isArray(n==null?void 0:n.boundaryRows)&&n.boundaryRows.some(I8)?!0:I8(n)||s3e(n).some(I8)}function o_(n={}){const e=uKe.map(i=>gKe(n==null?void 0:n[i]));return e.find(i=>i>0)||e.find(i=>i===0)||0}function gKe(n){if(typeof n=="number")return Number.isFinite(n)?n:0;const e=String(n!=null?n:"").trim();if(!e||e==="--")return 0;const t=e.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!t)return 0;const i=Number(t[0]);return Number.isFinite(i)?e.includes("万")?i*1e4:i:0}function vKe(n={},e=0,t=new Map){const i=an(n,["pasturesId","pastures_id","pastureId","pasture_id","muhuId","id","value"]),r=an(n,[...pa.pasturesName,"herdsmanName","ownerName","label"],i||"");if(!r&&!i)return null;const a=an(n,["township","townName","areaName","area_name","zoneName","address"]),o=s3e(n),s=o.filter(I8),l=i?t.get(String(i)):null,u=(l==null?void 0:l.rows)||[],c=u.length?u:o,d=o_(n)||SKe(c),h=!!(l!=null&&l.hasBoundary||s.length||I8(n));return wS({key:i?`pasture-${i}`:`pasture-${r}-${e}`,type:"pasture",name:r,areaCode:n.areaCode||n.area_code||UL(a),pasturesId:i,areaRange:d,yakNumber:$1(an(n,pa.yakNumber),0),location:n.location,township:a,hasBoundary:h,boundaryCount:u.length||s.length,grasslands:u.length?u:s.length?s:o,source:n})}function yKe(n={},e,t=null){if(!n||typeof n!="object"||e!=null&&e!=="")return null;const i=Object.prototype.hasOwnProperty.call(n,"yak_number"),r=["overload_rate","overloadRate","advice","balanceAdvice","level","conclusion"].some(s=>n[s]!==void 0&&n[s]!==null&&n[s]!==""),a=$1(n.yak_number);if(!i||!r||a===null)return null;const o=$1(t);return o!==null&&o>0?a>o*1.5?a:null:a}function _Ke(n,e){const t=$1(n),i=$1(e);return t===null||i===null||i<=-100?null:Math.round(t/(1+i/100))}function SKe(n=[]){return(Array.isArray(n)?n:[]).reduce((e,t)=>{const i=o_(t);return e+(i>0?i:0)},0)}function s3e(n={}){const e=[];["grasslands","grasslandList","grasslandRows","boundaryRows","boundaryList","geometryList","landList","plots","features"].forEach(r=>{const a=n==null?void 0:n[r];Array.isArray(a)?e.push(...a):Array.isArray(a==null?void 0:a.rows)?e.push(...a.rows):Array.isArray(a==null?void 0:a.list)?e.push(...a.list):Array.isArray(a==null?void 0:a.data)&&e.push(...a.data)});const i=an(n,["wkt","geo","geom","geometryWkt","shape"]);return(i||n!=null&&n.geometry)&&e.push(V2(y2({},n),{id:(n==null?void 0:n.grasslandId)||(n==null?void 0:n.gid)||(n==null?void 0:n.id),pastureId:(n==null?void 0:n.pastureId)||(n==null?void 0:n.pasturesId)||(n==null?void 0:n.pastures_id)||(n==null?void 0:n.muhuId)||(n==null?void 0:n.id),name:(n==null?void 0:n.grasslandName)||(n==null?void 0:n.name),wkt:i,geometry:n==null?void 0:n.geometry})),e.filter(Boolean)}function I8(n={}){var e,t;return typeof n=="string"?!!n.trim():(n==null?void 0:n.type)==="Feature"||n!=null&&n.type&&(n!=null&&n.coordinates)||(e=n==null?void 0:n.geometry)!=null&&e.type||(t=n==null?void 0:n.geometry)!=null&&t.coordinates||typeof(n==null?void 0:n.geometry)=="string"?!0:!!an(n,["wkt","geo","geom","geometryWkt","shape"])}function bKe(n={}){const e=$1(n.bearingCapacity,0),t=$1(n.livestockCapacity,0),i=$1(n.areaRange,0),r=$1(n.yakNumber,0),a=$1(n.overloadRate,e?(t-e)/e*100:0),o=t-e,s=e?Ta(t/e*100,1):0,l=Mf(a),u=Math.round(r*jh.yakToSheepUnit),c=u?Ta(t/u,2):1,d=i?Ta(e/i,4):jh.grasslandCapacityPerMu;return{bearing:e,livestock:t,areaRange:i,yakNumber:r,yakSheepUnit:u,pressureFactor:c,bearingCoefficient:d,overloadRate:Ta(a,1),delta:o,usageRate:s,risk:l,bearingPercent:Math.max(4,Math.min(100,Ta(e/Math.max(e,t,1)*100,1))),livestockPercent:Math.max(4,Math.min(100,Ta(t/Math.max(e,t,1)*100,1)))}}function xKe(n={},e=Mf(n.overloadRate)){const t=String(n.advice||"").trim(),i=t?t.split(/[。;;\n]/).map(o=>o.trim()).filter(Boolean):[],r=["提高放牧畜禽的密度","增加草地的利用率","密度不能过高"],a=i.filter(o=>r.some(s=>o.includes(s))?!1:e.key==="healthy"?!0:!r.some(s=>o.includes(s)));return[...e.actions||[],...a].filter((o,s,l)=>l.indexOf(o)===s).slice(0,4)}const wKe={class:"grass-livestock-balance"},TKe={class:"balance-screen"},AKe={class:"balance-selector"},CKe={class:"balance-scope-tabs"},MKe=["onClick"],EKe={class:"balance-target-list"},PKe=["title","onClick"],RKe={class:"balance-action-box"},LKe=["disabled"],IKe={key:0,class:"balance-running"},DKe={class:"balance-running-head"},NKe={class:"balance-core-inner"},kKe={class:"balance-running-title"},FKe={class:"balance-progress-line"},OKe={class:"balance-live-process"},BKe={key:1,class:"balance-waiting"},zKe={class:"balance-wait-core"},UKe={class:"balance-core-ring is-empty"},GKe={class:"balance-core-inner"},VKe={class:"balance-preflight"},HKe={key:2,class:"balance-analysis"},WKe={class:"balance-dashboard"},jKe={class:"balance-object-block"},$Ke={class:"balance-core"},YKe={class:"balance-core-inner"},qKe={class:"balance-compare"},XKe={class:"balance-bar-row"},KKe={class:"balance-bar-row is-livestock"},ZKe={class:"balance-detail"},JKe={class:"balance-process"},QKe={class:"balance-section-title"},eZe={class:"balance-process-track"},tZe={class:"balance-decision"},nZe={class:"balance-section-title"},iZe={class:"balance-conclusion"},rZe={class:"balance-advice-list"},aZe=326,oZe=720,sZe=1310,lZe=820,uZe=4200,cZe={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=U2("county"),a=U2(""),o=U2("idle"),s=U2(0),l=U2(0),u=U2({}),c=xv(t$.filter(Oe=>Oe.type==="pasture")),d=U2([]),h=U2(c);let f=!1,p=0,g=null,m=0,v=0,_=null;const S=Ze(()=>[...t$.filter(Oe=>Oe.type!=="pasture"),...d.value,...h.value].map(Oe=>mKe(u.value[Oe.key],Oe))),x=Ze(()=>S.value.filter(Oe=>Oe.type==="county")),A=Ze(()=>S.value.filter(Oe=>Oe.type==="town")),C=Ze(()=>S.value.filter(Oe=>Oe.type==="village")),M=Ze(()=>xv(S.value.filter(Oe=>Oe.type==="pasture"))),I=Ze(()=>r.value==="town"?A.value:r.value==="village"?C.value:r.value==="pasture"?M.value:x.value),D=Ze(()=>S.value.find(Oe=>Oe.key===a.value)||null),E=Ze(()=>!!D.value),L=Ze(()=>o.value==="running"),V=Ze(()=>E.value&&o.value==="done"),Y=Ze(()=>bKe(D.value||{})),G=Ze(()=>[{key:"county",name:"县"},{key:"town",name:"镇"},{key:"village",name:"村"},{key:"pasture",name:"牧户"}]),W=Ze(()=>{var Oe;return((Oe=G.value.find(T2=>T2.key===r.value))==null?void 0:Oe.name)||"县"}),q=Ze(()=>D.value?D.value.pasturesId?`牧户编号 ${D.value.pasturesId}`:D.value.areaCode?`行政区划 ${D.value.areaCode}`:D.value.township||"核算对象":"等待选择核算对象"),ce=Ze(()=>E.value?V.value?"分析已完成":L.value?"正在执行核算":"已选择,待开始分析":"请先选择具体对象"),J=Ze(()=>V.value?"草畜平衡分析舱":"草畜平衡分析"),H=Ze(()=>E.value?L.value?"分析中":"待开始":"待选择"),re=Ze(()=>E.value?L.value?`${D.value.name} 正在分析`:`${D.value.name} 待开始分析`:"先选择一个核算对象"),ee=Ze(()=>E.value?L.value?"正在读取核算参数、执行公式计算,并生成结论与调控建议。":"点击左侧开始分析后,再展示结果、分析过程、结论和建议。":"选择县、镇、村或牧户后,系统才会进入草地承载力核算。"),se=Ze(()=>{const Oe=Y.value;return`${Oe.delta>0?"超载量":"承载余量"} ${Sv(Math.abs(Oe.delta))},承载利用率 ${IA(Oe.usageRate)}。`}),Be=Ze(()=>{const Oe=Math.max(0,Math.min(130,Number(Y.value.usageRate)||0));return`${Math.round(Oe/130*360)}deg`}),we=Ze(()=>[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核算草地面积与单位面积产草能力。"},{key:"forage",index:"02",name:"可利用草量折算",desc:"扣除不可食部分与生态保留量,折算可利用草量。"},{key:"livestock",index:"03",name:"牦牛数量核算",desc:"按牦牛数量与理论承载头数计算超载压力。"},{key:"balance",index:"04",name:"平衡判定",desc:"比对理论承载力与实际载畜量,判定平衡状态。"}]),ve=Ze(()=>{const Oe=Y.value;return[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核算草地面积与产草能力",pending:"等待草地参数",expression:"正在汇总草地范围、面积和生产力参数",result:"已核算"},{key:"forage",index:"02",name:"可利用草量折算",desc:"折算可供放牧利用草量",pending:"等待草量折算",expression:"正在扣除不可食与生态保留部分",result:"已折算"},{key:"livestock",index:"03",name:"牦牛数量核算",desc:"形成实际牦牛数量口径",pending:"等待载畜折算",expression:"正在按牦牛数量和理论承载头数核算超载率",result:"已折算"},{key:"balance",index:"04",name:"平衡判定",desc:"生成结论与调控方向",pending:"等待平衡判定",expression:Oe.delta>0?"正在判定超载风险并生成调控方向":"正在判定平衡状态并生成监测方向",result:Oe.risk.label}]}),Ke=Ze(()=>ve.value[Math.min(l.value,ve.value.length-1)]||ve.value[0]),p2=Ze(()=>[{key:"productivity",index:"01",name:"生产力核算",desc:V.value?"草地生产力已核算":E.value?"等待核算":"等待选择",state:E.value?"done":"active"},{key:"forage",index:"02",name:"草量折算",desc:V.value?"可利用草量已折算":"分析后折算",state:L.value?"active":V.value?"done":E.value?"pending":"disabled"},{key:"livestock",index:"03",name:"载畜折算",desc:V.value?"载畜压力已换算":"等待折算",state:L.value?"active":V.value?"done":"disabled"},{key:"balance",index:"04",name:"平衡判定",desc:V.value?Y.value.risk.label:"等待判定",state:V.value?"done":"disabled"}]),c2=Ze(()=>V.value?xKe(D.value,Y.value.risk):[]);_r(()=>{i("loading-progress",{progress:100}),i("map-ready"),k2(),Ae()}),Yr(()=>{f=!0,p+=1,m+=1,v+=1,ye()}),U1(()=>{var Oe;return(Oe=D.value)==null?void 0:Oe.key},()=>{o.value="idle",s.value=0,l.value=0,_=null,ye()}),U1(()=>t.active,Oe=>{Oe||!L.value||(o.value="idle",s.value=0,l.value=0,_=null,ye())});function s2(Oe){r.value=Oe,a.value="",o.value="idle"}function R2(Oe){Oe&&(r.value=["county","town","village","pasture"].includes(Oe.type)?Oe.type:"county",a.value=Oe.key,o.value="idle")}function w2(){if(!t.active||!D.value||L.value)return;o.value="running",s.value=0,l.value=0,ye();const Oe=Date.now(),T2=Re();_=T2,g=window.setInterval(()=>{if(f)return;const o2=_===T2?92:100;s.value=Math.min(o2,s.value+2),l.value=Math.min(ve.value.length-1,Math.floor(s.value/25))},140),T2.finally(()=>Z2(this,null,function*(){const o2=uZe-(Date.now()-Oe);o2>0&&(yield new Promise(q2=>window.setTimeout(q2,o2))),!(f||o.value!=="running"||_!==T2)&&(_=null,s.value=100,l.value=ve.value.length-1,ye(),o.value="done")}))}function Re(){return Z2(this,null,function*(){const Oe=D.value;if(!Oe||u.value[Oe.key])return null;const T2=++p;try{const o2=yield qXe({areaCode:Oe.type==="pasture"?void 0:Oe.areaCode,pasturesId:Oe.type==="pasture"?Oe.pasturesId:void 0});return f||T2!==p||!o2?null:(u.value=V2(y2({},u.value),{[Oe.key]:o2}),o2)}catch(o2){return null}})}function k2(){return Z2(this,null,function*(){const Oe=++m,T2=A.value.filter(o2=>o2==null?void 0:o2.areaCode).map(o2=>y2({},o2));if(T2.length)try{const o2=yield Promise.all(T2.map(q2=>Z2(this,null,function*(){try{const K2=yield XXe(q2.areaCode);return f||Oe!==m?[]:x2(K2,q2)}catch(K2){return[]}})));if(f||Oe!==m)return;d.value=o2.flat()}catch(o2){if(f||Oe!==m)return;d.value=[]}})}function x2(Oe=[],T2={}){const o2=(Array.isArray(Oe)?Oe:[]).filter(rt=>{const Ut=z(rt),Qe=Q2(rt);return!!(Ut||Qe)}),q2=o2.length||1,K2=($1(T2.areaRange,0)||0)/q2,st=($1(T2.yakNumber,0)||0)/q2,lt=Y2(T2);return o2.map((rt,Ut)=>D2(rt,Ut,T2,{areaRange:K2,yakNumber:st,pressureFactor:lt})).filter(Boolean)}function D2(Oe={},T2=0,o2={},q2={}){const K2=z(Oe),st=Q2(Oe)||(K2?`村级区划${K2}`:"");if(!K2&&!st)return null;const lt=$1(an(Oe,["areaRange","area_range","grasslandArea","grassland_area","acreage","area"]),q2.areaRange),rt=$1(an(Oe,["yakNumber","yak_number","number","yakCount","yak_count","livestockCount","livestock_count"]),q2.yakNumber);return wS({key:`village-${K2||`${o2.key||o2.name}-${st}-${T2}`}`,type:"village",name:st,areaCode:K2,areaRange:lt,yakNumber:rt,township:o2.name,source:Oe,pressureFactor:q2.pressureFactor})}function z(Oe={}){return String(an(Oe,["areaCode","area_code","code","value","id","areaId","area_id"],"")||"").trim()}function Q2(Oe={}){return String(an(Oe,["areaName","area_name","name","label","zoneName","villageName","village_name"],"")||"").trim()}function Y2(Oe={}){const T2=$1(Oe.yakNumber,0),o2=$1(Oe.livestockCapacity,0),q2=T2*jh.yakToSheepUnit,K2=q2?o2/q2:1;return Number.isFinite(K2)&&K2>0?K2:1}function Ae(){return Z2(this,null,function*(){const Oe=++v;try{const[T2,o2]=yield Promise.allSettled([Xte("",1,1e4),Kte()]);if(f||Oe!==v)return;const q2=T2.status==="fulfilled"?T2.value:[],K2=o2.status==="fulfilled"?o2.value:[],st=ge(q2,K2),lt=n$(st);lt.length&&(h.value=lt);const rt=yield m2(lt,Oe);if(f||Oe!==v||!rt.size)return;h.value=n$(st,rt)}catch(T2){h.value=c}})}function ge(Oe=[],T2=[]){const o2=new Map;(Array.isArray(T2)?T2:[]).forEach(K2=>{d2(K2).forEach(st=>{o2.set(st,y2(y2({},o2.get(st)||{}),K2))})});const q2=Array.isArray(Oe)&&Oe.length?Oe:T2;return(Array.isArray(q2)?q2:[]).map(K2=>{const st=d2(K2).map(lt=>o2.get(lt)).find(Boolean);return st?ke(K2,st):K2})}function ke(Oe={},T2={}){const o2=y2({},Oe);return Object.entries(T2).forEach(([q2,K2])=>{(o2[q2]===void 0||o2[q2]===null||o2[q2]==="")&&(o2[q2]=K2)}),o2}function d2(Oe={}){return[Oe.id,Oe.pasturesId,Oe.pastures_id,Oe.pastureId,Oe.pasture_id,Oe.muhuId,Oe.muhu_id,Oe.name,Oe.pasturesName,Oe.pastures_name,Oe.muhuName,Oe.muhu_name,Oe.pastureName,Oe.pasture_name].map(T2=>String(T2||"").trim()).filter(Boolean)}function m2(){return Z2(this,arguments,function*(Oe=[],T2){const o2=new Map,q2=Oe.filter(K2=>K2==null?void 0:K2.pasturesId);return yield Te(q2,12,K2=>Z2(this,null,function*(){if(!(f||T2!==v))try{const st=yield wE(K2.pasturesId);if(f||T2!==v)return;o2.set(String(K2.pasturesId),{rows:Array.isArray(st)?st:[],hasBoundary:a_({grasslands:st})}),a_({grasslands:st})&&(h.value=xv(h.value.map(lt=>String(lt.pasturesId)===String(K2.pasturesId)?V2(y2({},lt),{hasBoundary:!0,boundaryCount:Array.isArray(st)?st.length:lt.boundaryCount,grasslands:Array.isArray(st)?st:lt.grasslands}):lt)))}catch(st){o2.set(String(K2.pasturesId),{rows:[],hasBoundary:!1})}})),o2})}function Te(){return Z2(this,arguments,function*(Oe=[],T2=6,o2){const q2=[...Oe],K2=Array.from({length:Math.min(T2,q2.length)},()=>Z2(this,null,function*(){for(;q2.length&&!f;){const st=q2.shift();yield o2(st)}}));yield Promise.all(K2)})}function ye(){g&&(window.clearInterval(g),g=null)}function Le(Oe){return V.value||L.value&&Oe<=l.value}function t2(Oe){return Oe<l.value||V.value?"done":Oe===l.value&&L.value?"active":"pending"}return(Oe,T2)=>(Ee(),De("div",wKe,[T2[13]||(T2[13]=k("div",{class:"balance-backdrop","aria-hidden":"true"},[k("div",{class:"balance-orbit is-left"}),k("div",{class:"balance-orbit is-right"}),k("div",{class:"balance-energy-band"})],-1)),k("div",TKe,[dt(x3,{class:"balance-card balance-target-card",title:"核算对象",width:aZe,height:oZe},{default:s3(()=>{var o2;return[k("div",AKe,[k("div",CKe,[(Ee(!0),De(gt,null,Mt(G.value,q2=>(Ee(),De("button",{key:q2.key,type:"button",class:Ht({active:r.value===q2.key}),onClick:K2=>s2(q2.key)},Ue(q2.name),11,MKe))),128))]),k("div",EKe,[(Ee(!0),De(gt,null,Mt(I.value,q2=>{var K2;return Ee(),De("button",{key:q2.key,type:"button",class:Ht({active:q2.key===((K2=D.value)==null?void 0:K2.key)}),title:q2.name,onClick:st=>R2(q2)},[k("span",null,Ue(q2.name),1)],10,PKe)}),128))]),k("div",RKe,[T2[0]||(T2[0]=k("span",null,"当前对象",-1)),k("strong",null,Ue(((o2=D.value)==null?void 0:o2.name)||"未选择"),1),k("small",null,Ue(ce.value),1),k("button",{type:"button",disabled:!E.value||L.value,onClick:w2},Ue(L.value?"分析中...":V.value?"重新分析":"开始分析"),9,LKe)])])]}),_:1}),dt(x3,{class:"balance-card balance-sheet-card",title:J.value,width:sZe,height:lZe},{default:s3(()=>[k("div",{class:Ht(["balance-sheet",{"is-ready":V.value,"is-running":L.value}])},[T2[12]||(T2[12]=k("div",{class:"balance-field-lines","aria-hidden":"true"},[k("i"),k("i"),k("i")],-1)),L.value?(Ee(),De("section",IKe,[k("div",DKe,[k("div",{class:"balance-core-ring is-running",style:J3({"--usage-angle":`${s.value*3.6}deg`})},[k("div",NKe,[T2[1]||(T2[1]=k("span",null,"分析进度",-1)),k("strong",null,Ue(s.value)+"%",1),k("small",null,Ue(Ke.value.name),1)])],4),k("div",kKe,[k("span",null,Ue(D.value.name),1),k("strong",null,Ue(Ke.value.desc),1),k("small",null,Ue(Ke.value.expression),1),k("div",FKe,[k("i",{style:J3({width:`${s.value}%`})},null,4)])])]),k("div",OKe,[(Ee(!0),De(gt,null,Mt(ve.value,(o2,q2)=>(Ee(),De("div",{key:o2.key,class:Ht(["balance-live-step",`is-${t2(q2)}`])},[k("span",null,Ue(o2.index),1),k("div",null,[k("strong",null,Ue(o2.name),1),k("p",null,Ue(Le(q2)?o2.expression:o2.pending),1)]),k("em",null,Ue(Le(q2)?o2.result:"等待"),1)],2))),128))])])):V.value?(Ee(),De("section",HKe,[k("div",WKe,[k("div",jKe,[k("span",null,Ue(W.value)+"核算对象",1),k("strong",null,Ue(D.value.name),1),k("small",null,Ue(q.value),1)]),k("div",$Ke,[k("div",{class:"balance-core-ring",style:J3({"--usage-angle":Be.value})},[k("div",YKe,[T2[5]||(T2[5]=k("span",null,"承载利用率",-1)),k("strong",null,Ue(_1(IA)(Y.value.usageRate)),1),k("small",null,"超载率 "+Ue(_1(IA)(Y.value.overloadRate)),1)])],4),T2[6]||(T2[6]=k("div",{class:"balance-core-caption"},"草地承载力模型",-1))]),k("div",{class:Ht(["balance-verdict-card",`is-${Y.value.risk.key}`])},[T2[7]||(T2[7]=k("span",null,"分析结论",-1)),k("strong",null,Ue(Y.value.risk.label),1),k("small",null,Ue(Y.value.delta>0?"需调控载畜量":"承载能力可覆盖"),1)],2)]),k("div",qKe,[k("div",XKe,[T2[8]||(T2[8]=k("span",null,"理论承载力",-1)),k("div",null,[k("i",{style:J3({width:`${Y.value.bearingPercent}%`})},null,4)]),k("strong",null,Ue(_1(Sv)(Y.value.bearing)),1)]),k("div",KKe,[T2[9]||(T2[9]=k("span",null,"实际载畜量",-1)),k("div",null,[k("i",{style:J3({width:`${Y.value.livestockPercent}%`})},null,4)]),k("strong",null,Ue(_1(Sv)(Y.value.livestock)),1)])]),k("div",ZKe,[k("div",JKe,[k("div",QKe,[T2[10]||(T2[10]=k("span",null,"分析过程",-1)),k("small",null,Ue(D.value.year||"当前年度"),1)]),k("div",eZe,[(Ee(!0),De(gt,null,Mt(p2.value,o2=>(Ee(),De("span",{key:`track-${o2.key}`,class:Ht(`is-${o2.state}`)},Ue(o2.name),3))),128))]),(Ee(!0),De(gt,null,Mt(we.value,o2=>(Ee(),De("div",{key:o2.key,class:"balance-formula-row"},[k("span",null,Ue(o2.index),1),k("div",null,[k("strong",null,Ue(o2.name),1),k("p",null,Ue(o2.desc),1)])]))),128))]),k("div",tZe,[k("div",nZe,[T2[11]||(T2[11]=k("span",null,"结论与建议",-1)),k("small",null,Ue(Y.value.delta>0?"需要调控":"保持监测"),1)]),k("div",iZe,[k("strong",null,Ue(Y.value.risk.description),1),k("p",null,Ue(se.value),1)]),k("div",rZe,[(Ee(!0),De(gt,null,Mt(c2.value,(o2,q2)=>(Ee(),De("div",{key:`${o2}-${q2}`,class:"balance-advice-item"},[k("span",null,Ue(q2+1),1),k("p",null,Ue(o2),1)]))),128))])])])])):(Ee(),De("section",BKe,[k("div",zKe,[k("div",UKe,[k("div",GKe,[k("span",null,Ue(H.value),1),k("strong",null,Ue(E.value?D.value.name:"草畜平衡"),1),k("small",null,Ue(E.value?"待执行模型分析":"等待核算对象"),1)])]),k("h2",null,Ue(re.value),1),k("p",null,Ue(ee.value),1)]),k("div",VKe,[k("span",{class:Ht({active:E.value})},"对象锁定",2),T2[2]||(T2[2]=k("i",null,null,-1)),k("span",{class:Ht({active:E.value})},"等待启动分析",2),T2[3]||(T2[3]=k("i",null,null,-1)),T2[4]||(T2[4]=k("span",null,"生成过程与结论",-1))])]))],2)]),_:1},8,["title"])])]))}},l3e="/jsyApi",l9="/openApi",dZe=new Date().getFullYear();function hZe(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function fZe(n){if((n==null?void 0:n.success)===!1&&(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code))throw new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");return D3(n)}function vs(n,e,t,i={}){return bo(hZe(n,e),{params:t,timeout:i.timeout||18e3}).then(fZe)}function pZe(){return vs(l3e,"/api/yak/distribution").then(n=>u3e(n))}function mZe(){return vs(l3e,"/api/yak/forecast").then(n=>u3e(n))}function i$(n=dZe){return vs(l9,"/yak/trade/overview",typeof n=="object"?n:{year:n}).then(t=>t||{})}function gZe(){return vs(l9,"/yak/trade/options").then(n=>n||{})}function r$(n={}){return vs(l9,"/yak/trade/records",n).then(e=>e||{})}function vZe(n={}){return vs(l9,"/yak/epidemic/analysis",n).then(e=>e||{})}function a$(n={}){return vs(l9,"/yak/epidemic/records",n).then(e=>e||{})}function yZe(n={}){return vs(l9,"/yak/epidemic/stats",n).then(e=>e||{})}function _Ze(n={}){return vs(l9,"/yak/epidemic/village-stats",n).then(e=>e||{})}function SZe(n){return vs(l9,"/yak/epidemic/detail",{earTag:n}).then(e=>e||null)}function bZe(){return Z2(this,null,function*(){return(yield pZe()).map((e,t)=>({key:T7(e,["areaCode","area_code","code","id"],`yak-town-${t}`),name:T7(e,["areaName","area_name","zoneName","townName","name"],`区域${t+1}`),value:hI(T7(e,["number","yakCount","yak_count","count","value"])),unit:"头"})).filter(e=>e.name&&Number.isFinite(e.value)).sort((e,t)=>t.value-e.value)})}function xZe(){return Z2(this,null,function*(){return(yield mZe()).map((e,t)=>{const i=T7(e,["month","date","name","time"],`预测${t+1}`);return{key:`${i}-${t}`,name:wZe(i),value:hI(T7(e,["number","count","yakCount","value"])),unit:"头",extra:TZe("增速",T7(e,["speed","growth","growthRate","rate"]))}}).filter(e=>e.name&&Number.isFinite(e.value))})}function u3e(n){return Array.isArray(n)?n:Array.isArray(n==null?void 0:n.rows)?n.rows:Array.isArray(n==null?void 0:n.list)?n.list:Array.isArray(n==null?void 0:n.records)?n.records:Array.isArray(n==null?void 0:n.data)?n.data:[]}function T7(n,e,t=""){for(const i of e){const r=n==null?void 0:n[i];if(r!=null&&r!=="")return r}return t}function wZe(n){const e=String(n||""),t=e.match(/(?:^|\D)(1[0-2]|0?[1-9])(?:月|$|-)/);return t?`${Number(t[1])}月`:e}function TZe(n,e){const t=hI(e);return Number.isFinite(t)?`${n}:${t.toLocaleString("zh-CN",{maximumFractionDigits:2})}`:""}function hI(n){if(n==null||n==="")return NaN;const e=Number(String(n).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const AZe={class:"yak-management"},CZe={key:0,class:"yak-map-loading"},MZe={class:"yak-management-ui"},EZe={key:0,class:"trade-year-switcher","aria-label":"交易年份切换"},PZe=["onClick"],RZe={key:1,class:"forecast-year-switcher","aria-label":"预测年份切换"},LZe=["onClick"],IZe={class:"yak-left"},DZe={class:"yak-side-stack is-left"},NZe={class:"estimate-summary-card"},kZe={class:"estimate-flow-row"},FZe={class:"estimate-flow-item"},OZe={class:"estimate-flow-item is-adjustment"},BZe={class:"estimate-result-band"},zZe={class:"forecast-summary-card"},UZe={class:"forecast-result-row"},GZe={class:"forecast-result-main"},VZe={class:"forecast-simple-grid"},HZe={class:"epidemic-overview-card"},WZe={class:"epidemic-main-value"},jZe={class:"epidemic-progress-ring"},$Ze={class:"epidemic-overview-grid"},YZe={class:"epidemic-chain-card"},qZe={class:"epidemic-chain-row"},XZe={class:"epidemic-chain-note"},KZe={class:"epidemic-chain-metrics"},ZZe={key:0,class:"epidemic-three-pie-card"},JZe={class:"epidemic-three-pie-visual"},QZe={class:"epidemic-three-pie-center"},eJe={class:"epidemic-three-pie-legend"},tJe={key:1,class:"epidemic-empty"},nJe={class:"trade-overview-card"},iJe={class:"trade-main-metric"},rJe={class:"trade-metric-grid"},aJe={class:"yak-right"},oJe={class:"yak-side-stack is-right"},sJe={class:"forecast-heat-list"},lJe={class:"epidemic-record-table is-double"},uJe={class:"epidemic-record-toolbar"},cJe={class:"epidemic-record-rows"},dJe=["onClick"],hJe={key:0,class:"epidemic-empty"},fJe={class:"trade-cert-card"},pJe={class:"trade-cert-main"},mJe={class:"trade-dest-list"},gJe={key:0,class:"epidemic-empty"},vJe={class:"trade-ledger-table"},yJe={class:"trade-ledger-toolbar"},_Je={class:"trade-ledger-rows"},SJe=["onClick"],bJe={key:0,class:"epidemic-empty"},xJe={class:"trade-ledger-pager"},wJe=["disabled"],TJe=["disabled"],AJe={class:"yak-bottom-topic"},CJe={class:"epidemic-ledger-dialog"},MJe={class:"epidemic-ledger-dialog-head"},EJe={class:"epidemic-ledger-filters"},PJe=["value"],RJe=["value"],LJe={class:"epidemic-ledger-workspace"},IJe={class:"epidemic-ledger-list"},DJe=["onClick"],NJe={key:0,class:"epidemic-empty"},kJe={class:"epidemic-ledger-detail trade-ledger-detail epidemic-ledger-record-detail"},FJe={class:"epidemic-detail-head trade-detail-head"},OJe={class:"epidemic-detail-grid is-modal trade-detail-grid epidemic-detail-flat-grid"},BJe={key:0,class:"epidemic-detail-photos"},zJe={class:"epidemic-modal-photo-strip"},UJe=["onClick"],GJe=["src"],VJe={class:"epidemic-ledger-pager"},HJe=["disabled"],WJe=["disabled"],jJe={class:"epidemic-ledger-dialog trade-ledger-dialog"},$Je={class:"epidemic-ledger-dialog-head"},YJe={class:"epidemic-ledger-filters trade-ledger-filters"},qJe=["value"],XJe=["value"],KJe=["value"],ZJe={class:"epidemic-ledger-workspace trade-ledger-workspace"},JJe={class:"epidemic-ledger-list trade-ledger-modal-list"},QJe=["onClick"],eQe={key:0,class:"epidemic-empty"},tQe={class:"epidemic-ledger-detail trade-ledger-detail"},nQe={class:"epidemic-detail-head trade-detail-head"},iQe={class:"epidemic-detail-grid is-modal trade-detail-grid"},rQe={class:"is-wide"},aQe={class:"is-wide"},oQe={class:"is-wide"},sQe={class:"is-wide"},lQe=["disabled"],uQe={class:"epidemic-ledger-pager"},cQe=["disabled"],dQe=["disabled"],hQe={class:"epidemic-image-preview-dialog"},fQe={class:"epidemic-image-preview-head"},pQe={class:"epidemic-image-preview-body"},mQe=["src"],N1=398,k1=190,gQe="https://qkl-hy.oss-cn-chengdu.aliyuncs.com/yak-vaccine-images",o$=14,DA=12,s$=14,vQe=5e3,Og=6,yQe=4200,_Qe={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats"],setup(n,{emit:e}){const t=n,i=e,r=k1*2+12,a=k1*2+12,o=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],s=["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"],l=["#30dcff","#ffd76c","#27f0c0","#7aa7ff","#ff8f6b","#a6f06d","#9ea7ff"],u={name:"红原牦牛交易市场",lng:102.562157,lat:32.820484},c=V2(y2({},jy["national-park"][0]),{key:"yak-management-national-park-boundary",name:"若尔盖国家公园边界",boundaryOnly:!0,clipToHongyuanBoundary:!0,opacity:.98,mapView:null,legends:jy["national-park"][0].legends.map(K=>V2(y2({},K),{fillColor:K.key==="national-park-core"?"#2EEA78":"#FFD15A",strokeColor:K.key==="national-park-core"?"#18F8FF":"#FFE76B"}))}),d=[{key:"structure",name:"畜群结构",color:"#30dcff"},{key:"forecast",name:"畜群预测",color:"#ffd76c"},{key:"epidemic",name:"牦牛防疫",color:"#27f0c0"},{key:"trade",name:"牦牛交易",color:"#ffcf62"}],h=U2("structure"),f=U2("2027"),p=U2(0),g=U2([]),m=U2([]),v=U2({metrics:{}}),_=U2({rows:[],year:null}),S=U2({rows:[]}),x=U2([]),A=U2(0),C=U2(!1),M=U2(""),I=U2(!1),D=U2([]),E=U2(0),L=U2(1),V=U2(!1),Y=U2(""),G=U2(null),W=U2(null),q=U2(!1),ce=U2(!1),J=U2(""),H=U2({keyword:"",town:"",medicine:"",startDate:"",endDate:""}),re=U2({years:[],latestYear:null}),ee=U2({metrics:{},hasData:!1}),se=U2([]),Be=U2(0),we=U2(null),ve=U2(!1),Ke=U2(""),p2=U2(1),c2=U2(""),s2=U2(""),R2=U2(!1),w2=U2([]),Re=U2(0),k2=U2(1),x2=U2(!1),D2=U2(""),z=U2(null),Q2=U2({keyword:"",startTown:"",usageType:"",certType:""}),Y2=U2(null),Ae=U2(!1);let ge=null,ke=!1,d2=!1,m2=null,Te=!1,ye=null,Le=null,t2=0;const Oe=Ze(()=>ate(f.value)),T2=Ze(()=>rte+WL),o2=Ze(()=>Oe.value.stock-h5),q2=Ze(()=>{var K;return((K=js.find(X=>X.key==="adultCow"))==null?void 0:K.ratio)||0}),K2=Ze(()=>{var K;return((K=js.find(X=>X.key==="calf"))==null?void 0:K.ratio)||0}),st=Ze(()=>m3(g.value.length?g.value:pE,pE)),lt=Ze(()=>m.value.length>=6?m.value:$Ge),rt=Ze(()=>KGe(Oe.value)),Ut=Ze(()=>XGe(Oe.value)),Qe=Ze(()=>{var K;return((K=v.value)==null?void 0:K.metrics)||{}}),ot=Ze(()=>{var K;return O3((K=v.value)==null?void 0:K.dateTrend).sort(qe)}),vt=Ze(()=>{var K;return O3((K=v.value)==null?void 0:K.medicineCounts)}),Nt=Ze(()=>vt.value.filter(K=>K.value>0).map((K,X)=>V2(y2({},K),{key:K.key||`${K.name}-${X}`,unit:"条"}))),je=Ze(()=>Nt.value.map(K=>`${K.name}:${K.value}`).join("|")||"epidemic-medicine-empty"),$2=Ze(()=>{var K;return O3((K=v.value)==null?void 0:K.ownerRanks).slice(0,8)}),tt=Ze(()=>Math.max(vt.value.filter(K=>K.name!=="未填写").length,1)),Et=Ze(()=>{var K;return((K=vt.value.find(X=>X.name&&X.name!=="未填写"))==null?void 0:K.name)||"-"}),Ft=Ze(()=>A2(Qe.value,["total","vaccine"])),yt=Ze(()=>A2(Qe.value,["owners"])),p3=Ze(()=>A2(Qe.value,["villages"])),a3=Ze(()=>M2.value.length),R1=Ze(()=>{var K;return((K=M2.value[0])==null?void 0:K.name)||"-"}),P3=Ze(()=>{const K=x.value.map(X=>X.operateTime).filter(Boolean).sort();return K.length?g3(K[K.length-1]):"-"}),e1=Ze(()=>{const K=Math.max(...vt.value.map(X=>Number(X.value||0)),0);return K>0?K:Math.round(Ft.value/tt.value)}),L1=Ze(()=>{var X;const K=Mn((X=_.value)==null?void 0:X.rows);return K.length?K:M2.value.map(he=>({name:he.name,recordCount:Number(he.recordCount||0),earTagCount:Number(he.earTagCount||0),ratio:he.ratio,source:"ledger"}))}),Cn=Ze(()=>{var X;const K=new Set;return w1((X=S.value)==null?void 0:X.rows).filter(he=>Number.isFinite(he.lng)&&Number.isFinite(he.lat)).map((he,a2)=>{const I2=`${he.lng.toFixed(4)},${he.lat.toFixed(4)}`,bt=K.has(I2)?(a2%3-1)*.012:0;return K.add(I2),V2(y2({},he),{name:he.village,value:he.earTagCount,unit:"万头",lng:he.lng+bt,lat:he.lat-bt*.65,displayValue:Number((he.earTagCount/1e4).toFixed(2)),displayUnit:"万头",rankLabel:`第${a2+1}名`})})}),M2=Ze(()=>{var X;const K=new Map;return O3((X=v.value)==null?void 0:X.townCounts).forEach(he=>{const a2=n3(he.name);a2&&K.set(a2,Number(K.get(a2)||0)+Number(he.value||0))}),[...K.entries()].map(([he,a2])=>{const I2=Math.round(a2/tt.value),bt=Ft.value?a2/Ft.value*100:0;return{name:he,recordCount:a2,earTagCount:I2,ratio:bt}}).sort((he,a2)=>Number(a2.recordCount||0)-Number(he.recordCount||0))}),at=Ze(()=>x.value.slice(0,13)),mt=Ze(()=>Math.max(Math.ceil(E.value/o$),1)),u3=Ze(()=>W.value||G.value||{}),x1=Ze(()=>it(u3.value)),Fe=Ze(()=>{const K=u3.value||{};return[N3("台账编号",K.epidemicId,{wide:!0}),N3("养殖户",K.owner,{wide:!0}),N3("联系电话",v1(K.phone)),N3("证件类型",K.idType),N3("证件号码",Ui(K.idNo)),N3("镇/乡",K.town),N3("村",K.village),N3("详细地址",K.location,{wide:!0}),N3("畜种",K.livestockType),N3("性别",K.sex),N3("畜龄",K.age),N3("体重",xi(K.weight)),N3("疫苗/药品",K.medicine),N3("防疫类型",K.preventionType),N3("免疫方式",K.method),N3("剂量",U3(K.dose)),N3("免疫时间",g3(K.operateTime)),N3("操作员",K.operator)].filter(Boolean)}),Z=Ze(()=>{var K;return O3((K=v.value)==null?void 0:K.townCounts).map(X=>X.name)}),be=Ze(()=>vt.value.map(K=>K.name).filter(K=>K&&K!=="未填写")),Ve=Ze(()=>{var K;return((K=ee.value)==null?void 0:K.metrics)||{}}),ie=Ze(()=>{var K,X,he,a2,I2,bt,R3,K3;return xr((K=re.value)==null?void 0:K.years,(X=ee.value)==null?void 0:X.availableYears,(he=ee.value)==null?void 0:he.available_years,(a2=ee.value)==null?void 0:a2.yearSummary,(I2=ee.value)==null?void 0:I2.year_summary,(bt=ee.value)==null?void 0:bt.latestYear,(R3=ee.value)==null?void 0:R3.latest_year,(K3=ee.value)==null?void 0:K3.year)}),Ne=Ze(()=>{var K,X;return ni(((K=ee.value)==null?void 0:K.monthTrend)||((X=ee.value)==null?void 0:X.month_trend),"name")});Ze(()=>{var K,X;return tn(((K=ee.value)==null?void 0:K.yearSummary)||((X=ee.value)==null?void 0:X.year_summary))});const $e=Ze(()=>{var K,X;return ni(((K=ee.value)==null?void 0:K.startTownCounts)||((X=ee.value)==null?void 0:X.start_town_counts),"name")}),i2=Ze(()=>{var K,X;return ni(((K=ee.value)==null?void 0:K.usageCounts)||((X=ee.value)==null?void 0:X.usage_counts),"name")}),_2=Ze(()=>{const K=$e.value.map(he=>{const a2=String(he.name||"").trim(),I2=n3(a2),bt=o3(I2||a2);return V2(y2({},he),{rawName:a2,name:bt,displayName:bt,town:I2,mapTownName:I2})}).filter(he=>he.name&&he.name!=="未填写").slice(0,10),X=Math.max(...K.map(he=>he.headCount),1);return K.map((he,a2)=>V2(y2({},he),{key:he.key||`${he.mapTownName||he.name}-${a2}`,value:he.headCount,unit:"头",ratio:Math.max(8,Math.round(he.headCount/X*100))}))}),He=Ze(()=>se.value.slice(0,DA)),z2=Ze(()=>Math.max(Math.ceil(Be.value/DA),1)),kt=Ze(()=>Math.max(Math.ceil(Re.value/s$),1)),Pt=Ze(()=>z.value||{}),Q=Ze(()=>Pt.value.certId||Pt.value.factoryCode||""),U=Ze(()=>{var X,he;const K=zn(((X=re.value)==null?void 0:X.startTowns)||((he=re.value)==null?void 0:he.start_towns));return K.length?K:g0($e.value.map(a2=>a2.name))}),w=Ze(()=>{var X,he;const K=zn(((X=re.value)==null?void 0:X.usageTypes)||((he=re.value)==null?void 0:he.usage_types));return K.length?K:g0(i2.value.map(a2=>a2.name))}),T=Ze(()=>{var X,he,a2,I2;const K=t1(((X=re.value)==null?void 0:X.certTypeOptions)||((he=re.value)==null?void 0:he.cert_type_options));return K.length?K:zn(((a2=re.value)==null?void 0:a2.certTypes)||((I2=re.value)==null?void 0:I2.cert_types)).map(bt=>({value:bt,label:bt}))}),P=Ze(()=>_2.value.map((K,X)=>({key:K.key||`${K.name}-${X}`,name:K.displayName||K.name,displayName:K.displayName||K.name,rawName:K.rawName,town:K.mapTownName||K.town||n3(K.name),mapTownName:K.mapTownName||K.town||n3(K.name),value:K.headCount,headCount:K.headCount,recordCount:K.recordCount,ratio:K.ratio,unit:"头"}))),N=Ze(()=>st.value.map(K=>V2(y2({},K),{adultCowRatio:q2.value,calfRatio:K2.value,adultCow:Math.round(K.count*q2.value/100),calf:Math.round(K.count*K2.value/100)}))),O=Ze(()=>{const K=N.value,X=K.length,he=Math.max(Math.ceil(X/Og),1),a2=p.value%he,I2=a2*Og,bt=Math.min(I2+Og,X);return{page:a2,pageCount:he,start:I2,end:bt,total:X,rows:K.slice(I2,bt)}}),B=Ze(()=>h.value==="forecast"?rt.value:st.value),de=Ze(()=>h.value==="forecast"?"forecast":"count"),me=Ze(()=>NS(B.value,de.value)),fe=Ze(()=>({key:"yak-marks-layer",layerName:"ne:daping_yak_marks",name:"牦牛识别标记",opacity:.96,queryBuffer:10,legends:[{key:"yak-marks",name:"牦牛",fillColor:"#FFFF00",strokeColor:"#FFFF00",selectable:!1}]})),le=Ze(()=>{var he;const X=w1((he=S.value)==null?void 0:he.rows).map(a2=>w3(a2.town,a2.village)).filter(Boolean);return{key:"yak-epidemic-village-boundary",sourceType:"wfs",layerName:"ne:t_pastures_map",styles:"牧场样式",name:"防疫村边界",opacity:.86,queryBuffer:8,cqlFilter:X.length?X.join(" OR "):"EXCLUDE",legends:[{key:"yak-epidemic-village-boundary",name:"防疫村边界",fillColor:"#24F6C4",strokeColor:"#FFF06A",selectable:!1}]}}),ae=Ze(()=>h.value==="epidemic"?le.value:h.value==="trade"?null:V2(y2({},fe.value),{overlayLayers:[c]})),We=Ze(()=>h.value==="trade"?{scope:"trade-flow",title:`${we.value||""}出栏来源`,metricLabel:"来源",unit:"头",source:V2(y2({},u),{total:P2("headCount")}),rows:P.value}:{scope:h.value==="epidemic"?"village":"town",hideTownNames:h.value==="epidemic",title:h.value==="forecast"?`${Oe.value.shortLabel}预测存栏`:h.value==="epidemic"?"村级防疫信息":"乡镇估算存栏",metricLabel:h.value==="forecast"?"预测":h.value==="epidemic"?"防疫":"存栏",unit:"万头",rows:h.value==="epidemic"?Cn.value:me.value.map(K=>({name:K.name,value:Number((K.value/1e4).toFixed(2)),unit:"万头"}))}),Pe=Ze(()=>({color:o,tooltip:G0(K=>`${K.name}<br/>结构占比:${K.percent}%<br/>估算数量:${v3(K.value)}头<br/>来源:无人机识别 + 专家共识模型`),legend:{orient:"vertical",right:8,top:"middle",itemWidth:9,itemHeight:9,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:11}},series:[{name:"畜群结构",type:"pie",radius:["46%","70%"],center:["33%","52%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:11,formatter:"{d}%"},labelLine:{lineStyle:{color:"rgba(223, 250, 255, 0.36)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.9)",borderWidth:3},data:js.map(K=>({name:K.name,value:K.count}))}]})),_e=Ze(()=>({color:o,tooltip:G0(K=>`${K.name}<br/>占比:${K.percent}%<br/>估算数量:${v3(K.value)}头`),legend:{orient:"vertical",right:6,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(K){const X=js.find(he=>he.name===K);return X?`${K} ${p9(X.ratio)} ${c0(X.count)}头`:K},textStyle:{color:"rgba(222, 250, 255, 0.82)",fontSize:10,rich:{}}},graphic:{type:"text",left:"28%",top:"45%",style:{text:c0(h5),fill:"#ffffff",fontFamily:"D-DIN, Arial, sans-serif",fontSize:19,fontWeight:900,textAlign:"center"}},series:[{name:"结构明细",type:"pie",radius:["34%","66%"],center:["31%","54%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:"{d}%"},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3,shadowBlur:8,shadowColor:"rgba(0, 0, 0, 0.28)"},data:js.map(K=>({name:K.name,value:K.count}))}]})),Se=Ze(()=>({color:["#ffd76c","#30dcff"],tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(K){const X=K.map(he=>`${he.marker}${he.seriesName}:${v3(Math.abs(he.value))}头`);return`${K[0].name}<br/>${X.join("<br/>")}`}}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.8)",fontSize:11}},grid:{left:22,right:22,top:32,bottom:12,containLabel:!0},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:K=>c0(Math.abs(K))},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",data:AA.map(K=>K.age),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:11},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"母牛",type:"bar",stack:"gender",barWidth:12,data:AA.map(K=>-K.cow),itemStyle:{borderRadius:[7,0,0,7]}},{name:"公牛",type:"bar",stack:"gender",barWidth:12,data:AA.map(K=>K.bull),itemStyle:{borderRadius:[0,7,7,0]}}]})),n2=Ze(()=>{const K=st.value,X=K.map(he=>he.count);return{color:o,tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(he){const a2=he.map(I2=>`${I2.marker}${I2.seriesName}:${v3(I2.value)}头`);return`${he[0].name}<br/>${a2.join("<br/>")}<br/>估算存栏:${v3(X[he[0].dataIndex])}头<br/>结构依据:专家共识比例`}}),legend:{top:-2,right:0,itemWidth:8,itemHeight:6,itemGap:6,textStyle:{color:"rgba(222, 250, 255, 0.75)",fontSize:10}},grid:{left:54,right:30,top:22,bottom:8},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.56)",fontSize:10,formatter:c0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",inverse:!0,data:K.map(he=>he.name),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:10,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:js.map(he=>({name:he.name.replace("(≤1岁)","").replace("(1-2岁)",""),type:"bar",stack:"town",barWidth:K.length>8?6:11,data:K.map(a2=>Math.round(a2.count*he.ratio/100))}))}}),pe=Ze(()=>T6(st.value,"count","头",{style:"ladder",tooltipFormatter(K){const X=st.value[K.dataIndex];return`${X.name}<br/>估算存栏:${v3(X.count)}头<br/>来源:无人机识别`}})),F=Ze(()=>{const K=O.value,X=K.rows,he=Math.max(...X.map(a2=>a2.adultCow+a2.calf),1);return{color:["#30dcff","#ffd76c"],animationDurationUpdate:700,animationEasingUpdate:"cubicOut",tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(a2){const I2=X[a2[0].dataIndex],bt=a2.filter(R3=>["成年母牛","幼畜"].includes(R3.seriesName)).map(R3=>`${R3.marker}${R3.seriesName}:${v3(R3.value)}头`);return`${I2.name}<br/>母幼合计:${v3(I2.adultCow+I2.calf)}头<br/>${bt.join("<br/>")}<br/>依据:无人机识别 + 专家共识模型`}}),legend:{data:["成年母牛","幼畜"],top:2,left:2,itemWidth:10,itemHeight:7,itemGap:9,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},graphic:K.total>Og?{type:"text",right:4,top:3,silent:!0,style:{text:`${K.start+1}-${K.end} / ${K.total}`,fill:"rgba(222, 250, 255, 0.62)",fontSize:10,fontWeight:600}}:void 0,grid:{left:18,right:18,top:42,bottom:44,containLabel:!1},xAxis:{type:"category",data:X.map(a2=>a2.name),axisLabel:{color:"rgba(223, 250, 255, 0.78)",fontSize:10,lineHeight:12,interval:0,margin:8,formatter:xe},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"value",max:Math.ceil(he*1.28),axisLabel:{show:!1},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.08)",type:"dashed"}}},series:[{name:"基础群规模",type:"bar",barWidth:15,barGap:"-100%",data:X.map(a2=>a2.adultCow+a2.calf),tooltip:{show:!1},itemStyle:{borderRadius:[8,8,1,1],color:"rgba(48, 220, 255, 0.07)"},silent:!0},{name:"成年母牛",type:"bar",stack:"foundation",barWidth:15,data:X.map(a2=>a2.adultCow),itemStyle:{borderRadius:[1,1,0,0],color:new gn(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.34)"},{offset:1,color:"#30dcff"}])}},{name:"幼畜",type:"bar",stack:"foundation",barWidth:15,data:X.map(a2=>a2.calf),itemStyle:{borderRadius:[8,8,1,1],color:new gn(0,0,0,1,[{offset:0,color:"#ffd76c"},{offset:1,color:"rgba(255, 215, 108, 0.2)"}])},label:{show:!0,position:"top",formatter:({dataIndex:a2})=>c0(X[a2].adultCow+X[a2].calf),color:"#ffffff",fontSize:10,fontWeight:700}}]}}),te=Ze(()=>{const K=yj.slice().sort((a2,I2)=>I2.value-a2.value),X=yj.reduce((a2,I2)=>a2+I2.value,0),he=K.map(a2=>a2.yoy||0);return{color:K.map(a2=>a2.color),tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(a2){const I2=K[a2[0].dataIndex];return`${I2.label}<br/>数量:${v3(I2.value)}头<br/>占比:${p9(I2.value/X*100)}<br/>同比:${I2.yoy>0?"+":""}${I2.yoy}%`}}),grid:{left:36,right:30,top:20,bottom:34},xAxis:{type:"category",data:K.map(a2=>a2.label),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:10,interval:0,margin:10},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.52)",fontSize:10,formatter:c0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.09)",type:"dashed"}}},{type:"value",min:Math.min(-2,Math.floor(Math.min(...he)-1)),max:Math.max(8,Math.ceil(Math.max(...he)+1)),axisLabel:{color:"rgba(255, 215, 108, 0.68)",fontSize:10,formatter:"{value}%"},splitLine:{show:!1},axisLine:{show:!1},axisTick:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:16,data:K.map((a2,I2)=>({value:a2.value,itemStyle:{borderRadius:[8,8,2,2],color:new gn(0,0,0,1,[{offset:0,color:a2.color},{offset:.72,color:`${a2.color}cc`},{offset:1,color:`${a2.color}18`}]),shadowBlur:I2===0?12:7,shadowColor:a2.color},label:{show:!0,position:"top",color:I2===0?"#ffd76c":"#ffffff",fontSize:10,formatter:({value:bt})=>c0(bt)}}))},{name:"同比",type:"line",yAxisIndex:1,smooth:!0,symbol:"circle",symbolSize:6,data:he,lineStyle:{width:2,color:"#ffd76c"},itemStyle:{color:"#ffd76c",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2},label:{show:!0,position:"top",color:"#ffd76c",fontSize:10,formatter:({value:a2})=>`${a2>0?"+":""}${a2}%`}}]}}),oe=Ze(()=>{const K=ote(Oe.value);return{color:["#30dcff","#ffd76c","#ff8f6b"],tooltip:V2(y2({},G0()),{trigger:"axis"}),legend:{top:4,right:8,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:44,right:40,top:34,bottom:28},xAxis:{type:"category",boundaryGap:!1,data:K.labels,axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:Oe.value.months>18?4:Oe.value.months>12?2:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:c0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10,formatter:c0},splitLine:{show:!1}}],series:[Du("预测存栏",K.stock,"#30dcff",0,!0),Du("繁殖补充",K.births,"#ffd76c",1),Du("出栏扣减",K.outflow,"#ff8f6b",1)]}}),ze=Ze(()=>({color:["#30dcff","#ffd76c"],tooltip:V2(y2({},G0()),{trigger:"axis"}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:40,right:42,top:34,bottom:28},xAxis:{type:"category",data:lt.value.map(K=>K.month||K.name),axisLabel:{color:"rgba(223, 250, 255, 0.68)",fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10},splitLine:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:12,data:lt.value.map(K=>K.count||K.value),itemStyle:{borderRadius:[8,8,0,0],color:new gn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"增速",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:lt.value.map(K=>K.speed||K.growthRate||0),lineStyle:{width:2.4,color:"#ffd76c"},itemStyle:{color:"#ffd76c"}}]})),Ye=Ze(()=>({tooltip:G0(),radar:{center:["50%","54%"],radius:"68%",splitNumber:4,indicator:_j.map(K=>({name:K.name,max:100})),axisName:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},splitArea:{areaStyle:{color:["rgba(48, 220, 255, 0.04)","rgba(39, 240, 192, 0.02)"]}},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.18)"}}},series:[{type:"radar",data:[{name:"预测因子",value:_j.map(K=>K.value),areaStyle:{color:"rgba(48, 220, 255, 0.22)"},lineStyle:{color:"#30dcff",width:2},itemStyle:{color:"#ffd76c"}}]}]})),u2=Ze(()=>T6(rt.value,"forecast","头")),f2=Ze(()=>{const K=Ut.value;return{color:o,tooltip:G0(X=>{var a2;const he=K.find(I2=>I2.name===X.name);return`${X.name}<br/>预测占比:${p9((a2=he==null?void 0:he.ratio)!=null?a2:X.percent)}<br/>预测数量:${v3((he==null?void 0:he.count)||0)}头`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(X){const he=K.find(a2=>a2.name===X);return he?`${X} ${p9(he.ratio)}`:X},textStyle:{color:"rgba(222, 250, 255, 0.8)",fontSize:10}},series:[{name:"期末结构预测",type:"pie",radius:["38%","66%"],center:["32%","54%"],startAngle:118,avoidLabelOverlap:!0,label:{color:"#fff",fontSize:10,formatter:({percent:X})=>X>=4?`${X}%`:""},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:K.map(X=>({name:X.name,value:X.count}))}]}}),C2=Ze(()=>({color:["#ffd76c","#ff8f6b","#7aa7ff"],tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:{top:4,right:8,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(222, 250, 255, 0.78)",fontSize:10}},grid:{left:44,right:26,top:34,bottom:28},xAxis:{type:"category",data:Ji.map(K=>K.shortLabel),axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:c0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},series:[{name:"繁殖补充",type:"bar",barWidth:12,data:Ji.map(K=>K.births),itemStyle:{borderRadius:[7,7,0,0]}},{name:"出栏流出",type:"bar",barWidth:12,data:Ji.map(K=>-K.outflow),itemStyle:{borderRadius:[0,0,7,7]}},{name:"稳态校正",type:"line",smooth:!0,symbolSize:6,data:Ji.map(K=>K.correction),lineStyle:{width:2.4}}]})),F2=Ze(()=>{const K=rt.value,X=Math.max(...K.map(he=>Math.abs(he.change)),1);return K.map(he=>V2(y2({},he),{width:Math.max(8,Math.round(Math.abs(he.change)/X*100))}))}),W2=Ze(()=>{const K=ot.value,X=K.map(a2=>a2.value),he=Math.max(...X,1);return{color:["#27f0c0","#ffd76c"],tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(39, 240, 192, 0.34)"}},formatter(a2){const I2=a2[0];return`${I2.name}<br/>防疫记录:${v3(I2.value)}条`}}),grid:{left:42,right:24,top:20,bottom:28},xAxis:{type:"category",data:K.map(a2=>a2.name),axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:Math.max(Math.floor(K.length/7),0)},axisLine:{lineStyle:{color:"rgba(39, 240, 192, 0.22)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:c0},splitLine:{lineStyle:{color:"rgba(39, 240, 192, 0.1)",type:"dashed"}}},series:[{name:"防疫记录",type:"bar",barMaxWidth:12,data:X,itemStyle:{borderRadius:[7,7,0,0],color:new gn(0,0,0,1,[{offset:0,color:"#27f0c0"},{offset:1,color:"rgba(39, 240, 192, 0.08)"}])},label:{show:!0,position:"top",color:"rgba(230, 255, 249, 0.92)",fontSize:10,formatter:({value:a2})=>a2>=he*.42?c0(a2):""}},{name:"作业趋势",type:"line",smooth:!0,showSymbol:!1,data:X,lineStyle:{width:2.4,color:"#ffd76c"}}]}}),N2=Ze(()=>{const K=L1.value,X=K.length>8?10:12,he=X+8,a2=K.map(y1=>Number(y1.recordCount||0)),I2=K.map(y1=>Number(y1.earTagCount||0)),bt=Math.max(...a2,1),R3=K.map(()=>Math.ceil(bt*1.08)),K3=new gn(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.18)"},{offset:.48,color:"rgba(48, 220, 255, 0.06)"},{offset:1,color:"rgba(48, 220, 255, 0.02)"}]),b1=new gn(0,0,0,1,[{offset:0,color:"#31f7ff"},{offset:.36,color:"#1cbcff"},{offset:1,color:"#266dff"}]);return{color:["#31f7ff","#ffe06b"],title:{text:`台账总量:{value|${c0(Ft.value)}条}`,right:0,top:0,textStyle:{color:"#fff",fontSize:12,fontWeight:500,rich:{value:{color:"#22f1ff",borderColor:"#14bdf4",borderWidth:1,borderRadius:2,padding:[2,6,3,6],fontSize:12,fontWeight:700}}}},tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(y1){const d1=K[y1[0].dataIndex];return[`${d1.name}`,`防疫记录:${v3(d1.recordCount)}条`,`耳标数量:${v3(d1.earTagCount)}头`,"数据来源:防疫台账"].join("<br/>")}}),legend:[{data:["防疫记录"],top:0,left:0,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:"#fff",fontSize:11},selectedMode:!1},{data:["耳标数"],top:0,left:82,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:"#fff",fontSize:11},selectedMode:!1}],grid:{left:36,right:8,top:38,bottom:50},xAxis:{type:"category",data:K.map(y1=>y1.name),axisLabel:{color:"#fff",fontSize:10,interval:0,formatter:g1},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"value",name:"数量/条",max:Math.ceil(bt*1.2),nameTextStyle:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,align:"left"},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:c0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(51, 89, 113, 0.16)",type:"dashed"}}},series:[{name:"统计底柱",type:"bar",barWidth:he,barGap:"-100%",data:R3,tooltip:{show:!1},silent:!0,z:1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(48, 220, 255, 0.22)",borderWidth:1,color:K3}},{name:"防疫记录",type:"bar",barGap:"-100%",barWidth:X,barMinHeight:2,z:3,data:a2.map(y1=>({value:y1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(200, 252, 255, 0.22)",borderWidth:1,color:b1,shadowBlur:10,shadowColor:"rgba(49, 247, 255, 0.28)"}}))},{name:"顶部高光",type:"pictorialBar",symbol:"diamond",symbolSize:[X+7,5],symbolOffset:[0,-3],symbolPosition:"end",z:8,tooltip:{show:!1},data:a2.map(y1=>({value:y1,itemStyle:{color:"rgba(207, 252, 255, 0.88)",shadowBlur:8,shadowColor:"rgba(49, 247, 255, 0.72)"}}))},{name:"底座光影",type:"pictorialBar",symbol:"diamond",symbolSize:[he+3,5],symbolOffset:[0,3],z:2,tooltip:{show:!1},data:a2,itemStyle:{color:"rgba(48, 220, 255, 0.24)",shadowBlur:10,shadowColor:"rgba(48, 220, 255, 0.45)"}},{name:"耳标数",type:"line",smooth:!0,showSymbol:!1,z:9,data:I2,lineStyle:{width:2.2,color:"#ffe06b",shadowBlur:8,shadowColor:"rgba(255, 224, 107, 0.5)"},itemStyle:{color:"#ffe06b"}}]}}),Lt=Ze(()=>{const K=$2.value;return{tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(X){const he=K[X[0].dataIndex];return`${he.name}<br/>防疫记录:${v3(he.value)}条`}}),grid:{left:74,right:42,top:12,bottom:8},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.52)",fontSize:10,formatter:c0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(39, 240, 192, 0.08)",type:"dashed"}}},yAxis:{type:"category",inverse:!0,data:K.map(X=>X.name),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:10,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"记录",type:"bar",barWidth:9,data:K.map((X,he)=>({value:X.value,itemStyle:{borderRadius:[0,8,8,0],color:new gn(0,0,1,0,[{offset:0,color:"rgba(48, 220, 255, 0.12)"},{offset:.62,color:["#27f0c0","#30dcff","#ffd76c"][he%3]},{offset:1,color:"#ffffff"}])}})),label:{show:!0,position:"right",color:"#eaffff",fontSize:10,formatter:({value:X})=>c0(X)}},{type:"scatter",symbolSize:7,data:K.map(X=>X.value),itemStyle:{color:"#ffd76c",shadowBlur:8,shadowColor:"#ffd76c"}}]}}),Ot=Ze(()=>{const K=Ne.value;return{color:["#30dcff","#ffd76c"],tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(X){const he=X.find(I2=>I2.seriesName==="流通头数"),a2=X.find(I2=>I2.seriesName==="出证记录");return`${(he==null?void 0:he.axisValue)||""}<br/>流通头数:${v3((he==null?void 0:he.value)||0)}头<br/>出证记录:${v3((a2==null?void 0:a2.value)||0)}条`}}),legend:{top:4,right:10,itemWidth:12,itemHeight:8,textStyle:{color:"rgba(255, 255, 255, 0.88)",fontSize:10}},grid:{left:42,right:38,top:34,bottom:28},xAxis:{type:"category",data:K.map(X=>X.name),axisLabel:{color:"rgba(255, 255, 255, 0.8)",fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:"rgba(255, 255, 255, 0.76)",fontSize:10,formatter:c0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.09)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(255, 255, 255, 0.74)",fontSize:10,formatter:c0},splitLine:{show:!1}}],series:[{name:"流通头数",type:"bar",barMaxWidth:13,data:K.map(X=>X.headCount),itemStyle:{borderRadius:[7,7,0,0],color:new gn(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"出证记录",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:K.map(X=>X.recordCount),lineStyle:{width:2.2,color:"#ffd76c"},itemStyle:{color:"#ffd76c",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2}}]}}),Bt=Ze(()=>T6($e.value.slice(0,10),"headCount","头",{colors:l,style:"ladder",axisTextColor:"rgba(255, 255, 255, 0.88)",dimAxisTextColor:"rgba(255, 255, 255, 0.74)",tooltipFormatter(K){const X=$e.value[K.dataIndex];return`${X.name}<br/>流通头数:${v3(X.headCount)}头<br/>出证记录:${v3(X.recordCount)}条`}})),Kt=Ze(()=>{const K=i2.value;return{color:l,tooltip:G0(X=>{const he=K.find(a2=>a2.name===X.name);return`${X.name}<br/>占比:${X.percent}%<br/>流通头数:${v3(X.value)}头<br/>出证记录:${v3((he==null?void 0:he.recordCount)||0)}条`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,textStyle:{color:"rgba(255, 255, 255, 0.88)",fontSize:10},formatter(X){const he=K.find(a2=>a2.name===X);return he?`${X} ${c0(he.headCount)}头`:X}},series:[{name:"用途结构",type:"pie",radius:["38%","64%"],center:["32%","54%"],startAngle:110,label:{color:"#fff",fontSize:10,formatter:({percent:X})=>X>=3?`${X}%`:""},labelLine:{length:8,length2:5,lineStyle:{color:"rgba(223, 250, 255, 0.36)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:K.map(X=>({name:X.name,value:X.headCount}))}]}}),Zt=Ze(()=>{const K=[{name:"省外A证",value:P2("outProvinceHeads","aCertHeads")},{name:"省内B证",value:P2("inProvinceHeads","bCertHeads")}];return{color:["#ffd76c","#30dcff"],tooltip:G0(X=>`${X.name}<br/>流通头数:${v3(X.value)}头<br/>占比:${X.percent}%`),series:[{type:"pie",radius:["48%","72%"],center:["50%","52%"],label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:K}]}});_r(()=>{LS(),xo(),w6(),x6(),X3(),G2()}),Yr(()=>{var K,X;Te=!0,m2&&window.clearTimeout(m2),E2(),It(),(X=(K=Y2.value)==null?void 0:K.destroyMap)==null||X.call(K)}),U1([h,Oe,st,e1,Ft,we,Ve],()=>{IS()},{immediate:!0}),U1(h,()=>{X3(),G2()}),U1(()=>t.active,K=>{var X,he,a2,I2;K?(Ff(),(he=(X=Y2.value)==null?void 0:X.resume)==null||he.call(X),X3(),G2()):((I2=(a2=Y2.value)==null?void 0:a2.pause)==null||I2.call(a2),E2(),It())}),U1(O,K=>{p.value>=K.pageCount&&(p.value=0),G2()});function c3(K){K!==f.value&&(f.value=K,X3())}function X3(){E2(),!(!t.active||h.value!=="forecast"||Te)&&(ye=window.setInterval(Xe,vQe))}function Xe(){const K=Ji.findIndex(he=>he.key===f.value),X=K>=0?(K+1)%Ji.length:0;f.value=Ji[X].key}function E2(){ye&&(window.clearInterval(ye),ye=null)}function G2(){It(),!(!t.active||h.value!=="structure"||Te||O.value.pageCount<=1)&&(Le=window.setInterval(pt,yQe))}function pt(){const K=O.value.pageCount;K<=1||(p.value=(p.value+1)%K)}function It(){Le&&(window.clearInterval(Le),Le=null)}function m3(K=[],X=[]){const he=new Map;return X.forEach(a2=>{const I2=o3(a2.name);I2&&he.set(I2,V2(y2({},a2),{name:I2,count:Number(a2.count||0)}))}),K.forEach(a2=>{const I2=o3(a2.name);if(!I2)return;const bt=he.get(I2)||{};he.set(I2,V2(y2(y2({},bt),a2),{name:I2,count:Number.isFinite(Number(a2.count))?Number(a2.count):Number(bt.count||0)}))}),[...he.values()].sort((a2,I2)=>Number(I2.count||0)-Number(a2.count||0))}function o3(K){return K||""}function n3(K){return String(K||"").trim()}function O3(K=[]){return Array.isArray(K)?K.map((X,he)=>{var a2,I2,bt;return{key:X.key||X.id||`${X.name||X.label||"item"}-${he}`,name:String(X.name||X.label||X.town||X.village||"未填写"),value:Number((bt=(I2=(a2=X.value)!=null?a2:X.count)!=null?I2:X.total)!=null?bt:0)}}).filter(X=>X.name&&Number.isFinite(X.value)):[]}function xr(...K){const X=K.flatMap(he=>Array.isArray(he)?he:[he]).map(he=>{var a2,I2,bt;return he&&typeof he=="object"?(bt=(I2=(a2=he.year)!=null?a2:he.value)!=null?I2:he.latestYear)!=null?bt:he.latest_year:he}).map(Number).filter(he=>Number.isFinite(he)&&he>0);return[...new Set(X)].sort((he,a2)=>he-a2)}function ni(K=[],X="name"){return Array.isArray(K)?K.map((he,a2)=>{var I2,bt,R3,K3,b1,y1,d1,Hi,En,d0,D0,Xr,A6,C6,m9,M6,E6;return{key:he.key||he.id||`${he[X]||he.name||he.label||"trade"}-${a2}`,name:String(he[X]||he.name||he.label||he.town||"未填写"),recordCount:Number((R3=(bt=(I2=he.recordCount)!=null?I2:he.record_count)!=null?bt:he.count)!=null?R3:0),headCount:Number((d1=(y1=(b1=(K3=he.headCount)!=null?K3:he.head_count)!=null?b1:he.amount)!=null?y1:he.value)!=null?d1:0),lng:Qt((Xr=(D0=(d0=(En=(Hi=he.lng)!=null?Hi:he.longitude)!=null?En:he.destLng)!=null?d0:he.dest_lng)!=null?D0:he.destLongitude)!=null?Xr:he.dest_longitude),lat:Qt((E6=(M6=(m9=(C6=(A6=he.lat)!=null?A6:he.latitude)!=null?C6:he.destLat)!=null?m9:he.dest_lat)!=null?M6:he.destLatitude)!=null?E6:he.dest_latitude)}}).filter(he=>he.name&&Number.isFinite(he.headCount)):[]}function tn(K=[]){return Array.isArray(K)?K.map(X=>{var he,a2,I2,bt,R3,K3;return{year:Number(X.year),recordCount:Number((a2=(he=X.recordCount)!=null?he:X.record_count)!=null?a2:0),headCount:Number((K3=(R3=(bt=(I2=X.headCount)!=null?I2:X.head_count)!=null?bt:X.amount)!=null?R3:X.value)!=null?K3:0)}}).filter(X=>Number.isFinite(X.year)&&Number.isFinite(X.headCount)):[]}function zn(K=[]){return Array.isArray(K)?g0(K.map(X=>{var he,a2,I2;return X&&typeof X=="object"?(I2=(a2=(he=X.value)!=null?he:X.label)!=null?a2:X.name)!=null?I2:"":X})):[]}function t1(K=[]){return Array.isArray(K)?K.map(X=>{var he,a2,I2,bt,R3,K3;if(X&&typeof X=="object"){const b1=(I2=(a2=(he=X.value)!=null?he:X.name)!=null?a2:X.label)!=null?I2:"",y1=(K3=(R3=(bt=X.label)!=null?bt:X.name)!=null?R3:X.value)!=null?K3:b1;return b1?{value:String(b1),label:String(y1||b1)}:null}return X?{value:String(X),label:String(X)}:null}).filter(Boolean):[]}function g0(K=[]){return[...new Set(K.map(X=>String(X||"").trim()).filter(Boolean))]}function Mn(K=[]){if(!Array.isArray(K))return[];const X=new Map;K.forEach((a2,I2)=>{var y1,d1,Hi,En,d0,D0;const bt=n3(a2.name||a2.areaName||a2.area_name||a2.town||a2.label||"");if(!bt)return;const R3=Qt((Hi=(d1=(y1=a2.value)!=null?y1:a2.number)!=null?d1:a2.count)!=null?Hi:a2.total);if(!Number.isFinite(R3))return;const K3=X.get(bt)||{key:a2.areaCode||a2.area_code||`${bt}-${I2}`,name:bt,recordCount:0,earTagCount:0,source:"stats"};K3.recordCount+=R3;const b1=Qt((D0=(d0=(En=a2.earTagCount)!=null?En:a2.ear_tag_count)!=null?d0:a2.headCount)!=null?D0:a2.head_count);K3.earTagCount+=Number.isFinite(b1)?b1:0,X.set(bt,K3)});const he=[...X.values()].reduce((a2,I2)=>a2+Number(I2.recordCount||0),0);return[...X.values()].map(a2=>V2(y2({},a2),{earTagCount:a2.earTagCount||Math.round(Number(a2.recordCount||0)/tt.value),ratio:he?Number(a2.recordCount||0)/he*100:0})).sort((a2,I2)=>Number(I2.recordCount||0)-Number(a2.recordCount||0))}function z3(K={}){var I2,bt;const X=Array.isArray(K)?{rows:K}:K||{},he=X.result||{};return{rows:X.rows||X.data||X.list||X.records||[],year:(bt=(I2=X.year)!=null?I2:he.year)!=null?bt:null}}function w1(K=[]){return Array.isArray(K)?K.map((X,he)=>{var Hi,En,d0,D0,Xr,A6,C6,m9,M6,E6,Nu,ku;const a2=n3(X.town||X.townName||X.town_name||""),I2=String(X.village||X.villageName||X.village_name||X.name||"").trim(),bt=Qt((d0=(En=(Hi=X.recordCount)!=null?Hi:X.record_count)!=null?En:X.records)!=null?d0:X.total),R3=Qt((C6=(A6=(Xr=(D0=X.earTagCount)!=null?D0:X.ear_tag_count)!=null?Xr:X.headCount)!=null?A6:X.head_count)!=null?C6:X.value),K3=Qt((M6=(m9=X.imageCount)!=null?m9:X.image_count)!=null?M6:X.images),b1=Qt((E6=X.imageRate)!=null?E6:X.image_rate),y1=Qt((Nu=X.lng)!=null?Nu:X.longitude),d1=Qt((ku=X.lat)!=null?ku:X.latitude);return{key:X.key||X.id||`${a2}-${I2}-${he}`,town:a2,village:I2,recordCount:Number.isFinite(bt)?bt:0,earTagCount:Number.isFinite(R3)?R3:0,imageCount:Number.isFinite(K3)?K3:0,imageRate:Number.isFinite(b1)?b1:0,lng:y1,lat:d1}}).filter(X=>X.town&&X.village&&Number.isFinite(X.earTagCount)).sort((X,he)=>Number(he.earTagCount||0)-Number(X.earTagCount||0)):[]}function Qt(K){if(K==null||K==="")return NaN;const X=Number(String(K).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(X)?X:NaN}function zt(K){return String(K||"").replace(/'/g,"''").replace(/%/g,"\\%").replace(/_/g,"\\_")}function w3(K,X){const he=n3(K),a2=String(X||"").trim();if(!he||!a2)return"";const I2=`${he}${a2}`,bt=zt(I2),R3=zt(a2);return`(full_name LIKE '%${bt}%' OR name = '${bt}' OR name = '${R3}')`}function g1(K){return xe(K)}function xe(K){const X=String(K||"").trim();if(!X)return"";const he=X.match(/^(.+)(镇|乡|村)$/);return he?`${he[1]} |
|
|
${he[2]}`:X}function qe(K,X){return Je(K.name)-Je(X.name)}function Je(K){const X=String(K||"").match(/(\d{1,2})\D+(\d{1,2})/);return X?Number(X[1])*100+Number(X[2]):Number.MAX_SAFE_INTEGER}function r2(K=[]){return Array.isArray(K)?K.map(Ce).filter(Boolean):[]}function Ce(K){return K?{epidemicId:K.epidemicId||K.epidemic_id||K.id||"",earTag:K.earTag||K.ear_tag||"",owner:K.owner||"",idType:K.idType||K.id_type||"",idNo:K.idNo||K.id_no||"",phone:K.phone||"",town:K.town||"",village:K.village||"",location:K.location||"",livestockType:K.livestockType||K.livestock_type||"",age:K.age||"",sex:K.sex||"",weight:K.weight||K.weightKg||K.weight_kg||"",preventionType:K.preventionType||K.prevention_type||"",method:K.method||"",medicine:K.medicine||"",dose:K.dose||"",operator:K.operator||"",operateTime:K.operateTime||K.operate_time||"",imagePaths:K.imagePaths||K.image_paths||""}:null}function v2(K=[]){return Array.isArray(K)?K.map(l2).filter(Boolean):[]}function l2(K){var X,he,a2,I2;return K?{certId:K.certId||K.cert_id||K.id||"",certType:K.certType||K.cert_type||"",certScopeName:K.certScopeName||K.cert_scope_name||"",factoryCode:K.factoryCode||K.factory_code||"",ownerName:K.ownerName||K.owner_name||"",ownerPhone:K.ownerPhone||K.owner_phone||"",transportNumber:K.transportNumber||K.transport_number||"",amount:Number((I2=(a2=(he=(X=K.amount)!=null?X:K.headCount)!=null?he:K.head_count)!=null?a2:K.value)!=null?I2:0),unitName:K.unitName||K.unit_name||"头",animalTypeName:K.animalTypeName||K.animal_type_name||"",usageTypeName:K.usageTypeName||K.usage_type_name||"",startTown:K.startTown||K.start_town||"",startRegionFullName:K.startRegionFullName||K.start_region_full_name||"",destProvince:K.destProvince||K.dest_province||"",destRegionFullName:K.destRegionFullName||K.dest_region_full_name||"",quarantineOfficerName:K.quarantineOfficerName||K.quarantine_officer_name||"",issueTime:K.issueTime||K.issue_time||"",statusName:K.statusName||K.status_name||""}:null}function A2(K,X){for(const he of X){const a2=Number(K==null?void 0:K[he]);if(Number.isFinite(a2))return a2}return 0}function P2(...K){return A2(Ve.value,K)}function it(K={}){return String(K.imagePaths||"").split(";").map(X=>X.trim()).filter(Boolean)}function O2(K){const he=String(K||"").replace(/^images\//,"").split("/").map(encodeURIComponent).join("/");return`${gQe}/${he}`}function ut(K){J.value=O2(K),ce.value=!0}function a1(){ce.value=!1,J.value=""}function t3(K){return K==null||K===""?"-":K}function f3(K){const X=String(K!=null?K:"").trim();return!!(X&&X!=="-")}function N3(K,X,he={}){return f3(X)?y2({label:K,value:X},he):null}function g3(K){return K?String(K).slice(0,10):"-"}function v1(K){const X=String(K||"").trim();return X?X.length<7?X:`${X.slice(0,3)}****${X.slice(-4)}`:"-"}function Ui(K){const X=String(K||"").trim();return X?X.length<=4?X:`****${X.slice(-4)}`:"-"}function xi(K){const X=String(K!=null?K:"").trim();if(!X)return"-";if(/kg|公斤|千克/i.test(X))return X;const he=Number(X);return Number.isFinite(he)?`${v3(he)}kg`:X}function U3(K){return String(K!=null?K:"").trim()||"-"}function G1(K={}){return K.certScopeName||K.certType||"-"}function xo(){return Z2(this,null,function*(){var he,a2;const[K,X]=yield Promise.allSettled([bZe(),xZe()]);K.status==="fulfilled"&&((he=K.value)!=null&&he.length)&&(g.value=JGe(K.value.map(I2=>({name:I2.name,count:Number(I2.value)})).filter(I2=>I2.name&&Number.isFinite(I2.count)))),X.status==="fulfilled"&&((a2=X.value)!=null&&a2.length)&&(m.value=X.value.map(I2=>({month:I2.name,count:Number(I2.value),speed:Bf(I2.extra)})).filter(I2=>I2.month&&Number.isFinite(I2.count)))})}function x6(){return Z2(this,arguments,function*(K=we.value){var X,he,a2,I2,bt,R3;ve.value=!0,Ke.value="";try{(he=(X=re.value)==null?void 0:X.years)!=null&&he.length||(re.value=yield gZe());const K3=xr((a2=re.value)==null?void 0:a2.years),b1=Number(((I2=re.value)==null?void 0:I2.latestYear)||((bt=re.value)==null?void 0:bt.latest_year)||K3[K3.length-1]),y1=Number(K||we.value||b1||K3[K3.length-1]);we.value=y1;let d1=yield i$({year:y1});const Hi=(R3=d1==null?void 0:d1.hasData)!=null?R3:d1==null?void 0:d1.has_data,En=Number((d1==null?void 0:d1.latestYear)||(d1==null?void 0:d1.latest_year)||b1);Hi===!1&&En&&En!==y1&&(we.value=En,d1=yield i$({year:En})),ee.value=d1||{metrics:{},hasData:!1},yield ys(1)}catch(K3){Ke.value="交易数据接口异常",ee.value={metrics:{},hasData:!1},se.value=[],Be.value=0}finally{ve.value=!1}})}function ys(){return Z2(this,arguments,function*(K=p2.value){var he,a2;if(!we.value)return;const X={year:we.value,page:K,pageSize:DA,keyword:s2.value};try{const I2=yield r$(X);se.value=v2(I2.rows),Be.value=Number(((he=I2.page)==null?void 0:he.totalCount)||I2.totalCount||se.value.length||0),p2.value=Number(((a2=I2.page)==null?void 0:a2.page)||K||1)}catch(I2){Ke.value=Ke.value||"交易台账接口异常",se.value=[],Be.value=0}})}function Pl(K){const X=Number(K);!Number.isFinite(X)||X===Number(we.value)||(we.value=X,p2.value=1,c2.value="",s2.value="",x6(X))}function c9(){s2.value=c2.value.trim(),ys(1)}function v0(K){const X=Math.min(Math.max(Number(K)||1,1),z2.value);ys(X)}function t0(K=null){R2.value=!0,K&&(z.value=K),Ss(1,K)}function ii(){R2.value=!1}function Gi(){Ss(1)}function qr(){Q2.value={keyword:"",startTown:"",usageType:"",certType:""},Ss(1)}function _s(K){const X=Math.min(Math.max(Number(K)||1,1),kt.value);Ss(X)}function Ss(){return Z2(this,arguments,function*(K=k2.value,X=null){var I2,bt;if(!we.value)return;x2.value=!0,D2.value="";const he=Q2.value,a2={year:we.value,page:K,pageSize:s$,keyword:he.keyword.trim(),startTown:he.startTown,usageType:he.usageType,certType:he.certType};try{const R3=yield r$(a2);w2.value=v2(R3.rows),Re.value=Number(((I2=R3.page)==null?void 0:I2.totalCount)||R3.totalCount||w2.value.length||0),k2.value=Number(((bt=R3.page)==null?void 0:bt.page)||K||1);const K3=X?X.certId||X.factoryCode:"",b1=K3?w2.value.find(y1=>(y1.certId||y1.factoryCode)===K3)||X:w2.value[0]||null;d9(b1)}catch(R3){D2.value="交易台账接口异常",w2.value=[],Re.value=0,z.value=null}finally{x2.value=!1}})}function d9(K){z.value=K||null}function h9(K){var X,he;K!=null&&K.startTown&&(h.value="trade",(he=(X=Y2.value)==null?void 0:X.focusTown)==null||he.call(X,n3(K.startTown),{distanceScale:.78,duration:.8}))}function w6(){return Z2(this,null,function*(){var I2;C.value=!0,M.value="";const[K,X,he,a2]=yield Promise.allSettled([vZe(),a$({page:1,pageSize:8}),yZe(),_Ze()]);if(K.status==="fulfilled"?v.value=K.value||{metrics:{}}:(M.value="防疫统计接口异常",v.value={metrics:{}}),X.status==="fulfilled"){const bt=X.value||{};x.value=r2(bt.rows),A.value=Number(((I2=bt.page)==null?void 0:I2.totalCount)||bt.totalCount||x.value.length||0)}else M.value=M.value||"防疫台账接口异常",x.value=[],A.value=0;he.status==="fulfilled"?_.value=z3(he.value):_.value={rows:[],year:null},a2.status==="fulfilled"?S.value=a2.value||{rows:[]}:S.value={rows:[]},C.value=!1})}function Vi(K=null){I.value=!0,K&&(G.value=K,W.value=null),Rl(1,K)}function Df(){I.value=!1,a1()}function Iu(){Rl(1)}function RS(){H.value={keyword:"",town:"",medicine:"",startDate:"",endDate:""},Rl(1)}function Nf(K){Rl(K)}function Rl(){return Z2(this,arguments,function*(K=L.value,X=null){var a2,I2;V.value=!0,Y.value="";const he=V2(y2({},H.value),{page:K,pageSize:o$});try{const bt=yield a$(he);D.value=r2(bt.rows),E.value=Number(((a2=bt.page)==null?void 0:a2.totalCount)||bt.totalCount||D.value.length||0),L.value=Number(((I2=bt.page)==null?void 0:I2.page)||K||1);const R3=X||D.value[0]||null;R3?kf(R3):(G.value=null,W.value=null)}catch(bt){Y.value="台账接口异常",D.value=[],E.value=0}finally{V.value=!1}})}function kf(K){return Z2(this,null,function*(){if(G.value=K,W.value=null,!(K!=null&&K.earTag)&&!(K!=null&&K.epidemicId))return;const X=++t2;q.value=!0;try{const he=yield SZe(K.earTag||K.epidemicId);X===t2&&(W.value=Ce(he)||K)}catch(he){X===t2&&(W.value=K)}finally{X===t2&&(q.value=!1)}})}function LS(){var K;ge=new Eu,ke=!1,(K=ge.ready)==null||K.then(()=>{ke=!0,Ff()}).catch(()=>{Ae.value=!0})}function Ff(){Te||!t.active||!ke||d2||(d2=!0,m2&&window.clearTimeout(m2),m2=window.setTimeout(()=>{m2=null,f9()},600))}function f9(K=0){return Z2(this,null,function*(){var he,a2;if(Te)return;if(!t.active){d2=!1;return}if(yield Nn(),!t.active){d2=!1;return}const X=Y2.value;if((he=X==null?void 0:X.loadMap)==null||he.call(X,ge),X!=null&&X.canvasMap){Ae.value=!0,(a2=X.play)==null||a2.call(X);return}if(K<24){window.setTimeout(()=>f9(K+1),120);return}d2=!1})}function IS(){if(h.value==="epidemic"){i("module-stats",{moduleKey:"yak-management",items:[{zh:"防疫记录",value:Ft.value,unit:"条"},{zh:"防疫耳标",value:e1.value,unit:"头"},{zh:"疫苗类型",value:tt.value,unit:"类"},{zh:"涉及村数",value:p3.value,unit:"个"}]});return}if(h.value==="forecast"){const K=Oe.value.stock-h5;i("module-stats",{moduleKey:"yak-management",items:[{zh:"预测期末存栏",value:Oe.value.stock,unit:"头"},{zh:"繁殖补充",value:Oe.value.births,unit:"头"},{zh:"出栏流出",value:Oe.value.outflow,unit:"头"},{zh:"预测净变化",value:K,unit:"头"}]});return}if(h.value==="trade"){i("module-stats",{moduleKey:"yak-management",items:[{zh:"流通总量",value:P2("headCount"),unit:"头"},{zh:"出证记录",value:P2("recordCount"),unit:"条"},{zh:"交易销售",value:P2("saleHeadCount"),unit:"头"},{zh:"运输车辆",value:P2("vehicleCount"),unit:"辆"}]});return}i("module-stats",{moduleKey:"yak-management",items:[{zh:"无人机识别总数",value:zh,unit:"头"},{zh:"专家共识模型修正",value:T2.value,unit:"头"},{zh:"当前存栏预估数量",value:h5,unit:"头"}]})}function T6(K,X,he,a2={}){const I2=a2.labelKey||"name",bt=a2.colors||o,R3=Math.max(...K.map(d0=>Number(d0[X]||0)),1),K3=K.length>8,b1=a2.style==="ladder",y1=K3?b1?7:6:K.length>6?11:13,d1=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],Hi=a2.axisTextColor||"rgba(223, 250, 255, 0.82)",En=a2.dimAxisTextColor||"rgba(223, 250, 255, 0.56)";return{tooltip:V2(y2({},G0()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(d0){if(a2.tooltipFormatter)return a2.tooltipFormatter(d0[0]);const D0=K[d0[0].dataIndex];return`${D0[I2]}<br/>数值:${v3(D0[X])}${he}`}}),grid:{left:K3?58:74,right:K3?50:54,top:K3?3:14,bottom:K3?5:14},xAxis:{type:"value",axisLabel:{color:En,fontSize:10,formatter:he==="%"?"{value}%":c0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"category",inverse:!0,data:K.map(d0=>d0[I2]),axisLabel:{color:Hi,fontSize:K3?9:11,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{type:"bar",barWidth:y1,barGap:"-100%",data:K.map((d0,D0)=>({value:d0[X],itemStyle:{borderRadius:b1?[1,10,10,1]:[0,7,7,0],color:DS(b1?d1[D0%d1.length]:bt[D0%bt.length],b1),shadowBlur:b1?10:0,shadowColor:b1?bt[D0%bt.length]:"transparent"}})),showBackground:!0,backgroundStyle:{color:b1?"rgba(48, 220, 255, 0.035)":"rgba(48, 220, 255, 0.055)",borderRadius:b1?[1,10,10,1]:[0,7,7,0]},label:{show:!0,position:"right",color:"#ffffff",fontSize:K3?9:10,formatter:({value:d0})=>`${he==="%"?p9(d0):c0(d0)}`},markLine:a2.showAverage===!1?void 0:{silent:!0,symbol:"none",label:{show:!1},lineStyle:{color:"rgba(255, 215, 108, 0.22)",type:"dashed",width:1},data:[{xAxis:Math.round(R3*.72)}]}},...b1?[{type:"pictorialBar",symbol:"rect",symbolSize:[2,y1+5],symbolOffset:[0,0],symbolPosition:"end",z:4,data:K.map((d0,D0)=>({value:d0[X],itemStyle:{color:"#ffffff",opacity:D0<3?.82:.5,shadowBlur:8,shadowColor:d1[D0%d1.length]}}))}]:[]]}}function DS(K,X=!1){return new gn(0,0,1,0,[{offset:0,color:X?`${K}22`:"rgba(48, 220, 255, 0.12)"},{offset:.64,color:X?K:`${K}cc`},{offset:1,color:K}])}function Du(K,X,he,a2=0,I2=!1){return{name:K,type:"line",yAxisIndex:a2,smooth:!0,symbolSize:5,data:X,lineStyle:{width:2.5,color:he},itemStyle:{color:he},areaStyle:I2?{color:new gn(0,0,0,1,[{offset:0,color:`${he}44`},{offset:1,color:`${he}05`}])}:void 0}}function NS(K,X){const he=new Map;return K.forEach(a2=>{const I2=Of(a2.name);if(!I2)return;const bt=he.get(I2)||{name:I2,value:0};bt.value+=Number(a2[X]||0),he.set(I2,bt)}),[...he.values()].sort((a2,I2)=>I2.value-a2.value)}function Of(K){return{色地镇:"色地镇",瓦切镇:"瓦切镇",安曲镇:"安曲镇",龙日镇:"龙日镇",邛溪镇:"邛溪镇",刷经寺镇:"刷经寺镇",阿木乡:"阿木乡",查尔玛乡:"查尔玛乡",江茸乡:"江茸乡",麦洼乡:"麦洼乡"}[K]||""}function G0(K){return{trigger:"item",backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,textStyle:{color:"#e7fbff",fontSize:12},extraCssText:"box-shadow:0 0 18px rgba(0,210,255,.2);",formatter:K}}function Bf(K){const X=String(K||"").match(/-?\d+(?:\.\d+)?/);return X?Number(X[0]):0}function v3(K){const X=Number(K);return Number.isFinite(X)?X.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(X)?0:2}):"--"}function c0(K){const X=Number(K);return Number.isFinite(X)?Math.abs(X)>=1e4?`${(X/1e4).toFixed(Math.abs(X)>=1e5?0:1)}万`:Math.round(X).toLocaleString("zh-CN"):"--"}function zf(K,X=2){const he=Number(K);return Number.isFinite(he)?`${(he/1e4).toFixed(X)}万`:"--"}function p9(K){const X=Number(K);return Number.isFinite(X)?`${Number.isInteger(X)?X:X.toFixed(1)}%`:"--"}function Ll(K){const X=Number(K);return Number.isFinite(X)?`${X>=0?"+":"-"}${v3(Math.abs(X))}`:"--"}return(K,X)=>(Ee(),De("div",AZe,[dt(Mu,{ref_key:"mapSceneRef",ref:Y2,class:"yak-map-scene","active-layer":ae.value,"map-ranking":We.value},null,8,["active-layer","map-ranking"]),X[79]||(X[79]=k("div",{class:"yak-map-scrim"},null,-1)),Ae.value?Tt("",!0):(Ee(),De("div",CZe,"3D地图加载中")),k("div",MZe,[h.value==="trade"&&ie.value.length?(Ee(),De("div",EZe,[X[20]||(X[20]=k("span",null,"交易年份",-1)),(Ee(!0),De(gt,null,Mt(ie.value,he=>(Ee(),De("button",{key:he,type:"button",class:Ht({active:Number(he)===Number(we.value)}),onClick:a2=>Pl(he)},Ue(he),11,PZe))),128))])):Tt("",!0),h.value==="forecast"?(Ee(),De("div",RZe,[X[21]||(X[21]=k("span",null,"预测年份",-1)),(Ee(!0),De(gt,null,Mt(_1(Ji),he=>(Ee(),De("button",{key:he.key,type:"button",class:Ht({active:he.key===f.value}),onClick:a2=>c3(he.key)},Ue(he.shortLabel),11,LZe))),128))])):Tt("",!0),k("div",IZe,[k("div",DZe,[h.value==="structure"?(Ee(),De(gt,{key:0},[dt(x3,{class:"yak-side-card left-card",title:"存栏估算",width:N1,height:k1},{default:s3(()=>[k("div",NZe,[k("div",kZe,[k("span",FZe,[X[23]||(X[23]=k("em",null,"无人机识别总数",-1)),k("strong",null,[J1(Ue(v3(_1(zh))),1),X[22]||(X[22]=k("small",null,"头",-1))])]),k("span",OZe,[X[25]||(X[25]=k("em",null,"专家共识模型修正",-1)),k("strong",{class:Ht({positive:T2.value>0,negative:T2.value<0})},[J1(Ue(Ll(T2.value)),1),X[24]||(X[24]=k("small",null,"头",-1))],2)])]),k("div",BZe,[X[27]||(X[27]=k("span",null,"当前存栏预估数量",-1)),k("strong",null,[J1(Ue(v3(_1(h5))),1),X[26]||(X[26]=k("em",null,"头",-1))])])])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"畜群结构占比",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:Pe.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"母牛/公牛年龄结构",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:Se.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"牦牛乡镇分布",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:n2.value,autoresize:!0},null,8,["option"])]),_:1})],64)):h.value==="forecast"?(Ee(),De(gt,{key:1},[dt(x3,{class:"yak-side-card left-card",title:"畜群预测",width:N1,height:k1},{default:s3(()=>[k("div",zZe,[k("div",UZe,[k("div",GZe,[k("span",null,Ue(Oe.value.label)+"预测存栏",1),k("strong",null,[J1(Ue(v3(Oe.value.stock)),1),X[28]||(X[28]=k("em",null,"头",-1))])]),k("div",{class:Ht(["forecast-change-badge",{positive:o2.value>0,negative:o2.value<0}])},[X[30]||(X[30]=k("span",null,"较当前",-1)),k("strong",null,[J1(Ue(Ll(o2.value)),1),X[29]||(X[29]=k("em",null,"头",-1))])],2)]),k("div",VZe,[k("span",null,[X[31]||(X[31]=k("em",null,"补充",-1)),k("strong",null,Ue(zf(Oe.value.births))+"头",1)]),k("span",null,[X[32]||(X[32]=k("em",null,"流出",-1)),k("strong",null,Ue(zf(Oe.value.outflow))+"头",1)]),k("span",null,[X[33]||(X[33]=k("em",null,"周期",-1)),k("strong",null,Ue(Oe.value.months)+"个月",1)])])])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"未来存栏趋势",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:oe.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"月度数量预测",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:ze.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"预测因子雷达",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:Ye.value,autoresize:!0},null,8,["option"])]),_:1})],64)):h.value==="epidemic"?(Ee(),De(gt,{key:2},[dt(x3,{class:"yak-side-card left-card",title:"防疫总览",width:N1,height:k1},{default:s3(()=>[k("div",HZe,[k("div",WZe,[X[35]||(X[35]=k("span",null,"防疫记录",-1)),k("strong",null,[J1(Ue(v3(Ft.value)),1),X[34]||(X[34]=k("em",null,"条",-1))])]),k("div",jZe,[k("strong",null,Ue(v3(e1.value)),1),X[36]||(X[36]=k("span",null,"耳标数",-1))]),k("div",$Ze,[k("span",null,[X[37]||(X[37]=k("em",null,"覆盖乡镇",-1)),k("strong",null,Ue(a3.value)+"个",1)]),k("span",null,[X[38]||(X[38]=k("em",null,"养殖户",-1)),k("strong",null,Ue(v3(yt.value))+"户",1)]),k("span",null,[X[39]||(X[39]=k("em",null,"涉及村数",-1)),k("strong",null,Ue(v3(p3.value))+"个",1)]),k("span",null,[X[40]||(X[40]=k("em",null,"疫苗类型",-1)),k("strong",null,Ue(tt.value)+"类",1)])])])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"防疫覆盖概况",width:N1,height:k1},{default:s3(()=>[k("div",YZe,[k("div",qZe,[k("span",null,[X[41]||(X[41]=k("em",null,"覆盖乡镇",-1)),k("strong",null,Ue(a3.value),1)]),k("span",null,[X[42]||(X[42]=k("em",null,"耳标数",-1)),k("strong",null,Ue(v3(e1.value)),1)]),k("span",null,[X[43]||(X[43]=k("em",null,"行政村",-1)),k("strong",null,Ue(v3(p3.value)),1)])]),k("div",XZe,[k("span",null,"最近免疫:"+Ue(P3.value)+";主用疫苗:"+Ue(Et.value)+";重点乡镇:"+Ue(R1.value)+"。",1)]),k("div",KZe,[k("span",null,[X[44]||(X[44]=k("em",null,"疫苗类型数",-1)),k("strong",null,Ue(tt.value)+"类",1)]),k("span",null,[X[45]||(X[45]=k("em",null,"养殖户数",-1)),k("strong",null,Ue(v3(yt.value))+"户",1)])])])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"防疫作业趋势",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:W2.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"疫苗类型分布",width:N1,height:k1},{default:s3(()=>[Nt.value.length?(Ee(),De("div",ZZe,[k("div",JZe,[(Ee(),K0(j2e,{key:je.value,data:Nt.value,delay:3e3,colors:s,opacity:.62,class:"epidemic-three-pie"},{default:s3(({data:he})=>[k("div",QZe,[k("strong",null,Ue(c0((he==null?void 0:he.count)||Ft.value)),1),k("span",null,Ue((he==null?void 0:he.name)||"疫苗类型"),1)])]),_:1},8,["data"]))]),k("div",eJe,[(Ee(!0),De(gt,null,Mt(Nt.value,(he,a2)=>(Ee(),De("div",{key:he.key||he.name,class:"epidemic-three-pie-row"},[k("i",{style:J3({borderColor:s[a2%s.length]})},null,4),k("span",null,Ue(he.name),1),k("strong",null,Ue(c0(he.value)),1),k("em",null,Ue(he.unit),1)]))),128))])])):(Ee(),De("div",tJe,"暂无疫苗类型数据"))]),_:1})],64)):h.value==="trade"?(Ee(),De(gt,{key:3},[dt(x3,{class:"yak-side-card left-card",title:"交易年度总览",width:N1,height:k1},{default:s3(()=>[k("div",nJe,[k("div",iJe,[k("span",null,Ue(we.value)+"年流通总量",1),k("strong",null,[J1(Ue(v3(P2("headCount"))),1),X[46]||(X[46]=k("em",null,"头",-1))])]),k("div",rJe,[k("span",null,[X[47]||(X[47]=k("em",null,"出证记录",-1)),k("strong",null,Ue(v3(P2("recordCount")))+"条",1)]),k("span",null,[X[48]||(X[48]=k("em",null,"交易销售",-1)),k("strong",null,Ue(v3(P2("saleHeadCount")))+"头",1)]),k("span",null,[X[49]||(X[49]=k("em",null,"运输车辆",-1)),k("strong",null,Ue(v3(P2("vehicleCount")))+"辆",1)])])])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"交易流通趋势",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:Ot.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"来源乡镇分布",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:Bt.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card left-card",title:"用途结构统计",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:Kt.value,autoresize:!0},null,8,["option"])]),_:1})],64)):Tt("",!0)])]),k("div",aJe,[k("div",oJe,[h.value==="structure"?(Ee(),De(gt,{key:0},[dt(x3,{class:"yak-side-card right-card",title:"乡镇存栏排行",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:pe.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card right-card",title:"母牛与幼畜分布",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:F.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card right-card",title:"出栏/交易影响",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:te.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card right-card",title:"结构明细",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:_e.value,autoresize:!0},null,8,["option"])]),_:1})],64)):h.value==="forecast"?(Ee(),De(gt,{key:1},[dt(x3,{class:"yak-side-card right-card",title:"乡镇预测排行",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:u2.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card right-card",title:"期末结构预测",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:f2.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card right-card",title:"补充/流出对比",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:C2.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card right-card",title:"预测变化热力",width:N1,height:k1},{default:s3(()=>[k("div",sJe,[(Ee(!0),De(gt,null,Mt(F2.value,he=>(Ee(),De("div",{key:he.name,class:"heat-row",style:J3({"--heat-width":`${he.width}%`})},[k("span",null,Ue(he.name),1),k("strong",null,Ue(Ll(he.change)),1)],4))),128))])]),_:1})],64)):h.value==="epidemic"?(Ee(),De(gt,{key:2},[dt(x3,{class:"yak-side-card right-card",title:"防疫统计",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:N2.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card right-card",title:"养殖户防疫排行",width:N1,height:k1},{default:s3(()=>[dt(_1(W0),{class:"yak-chart",option:Lt.value,autoresize:!0},null,8,["option"])]),_:1}),dt(x3,{class:"yak-side-card right-card epidemic-ledger-card",title:"防疫记录台账",width:N1,height:r},{default:s3(()=>[k("div",lJe,[k("div",uJe,[k("span",null,"共 "+Ue(v3(A.value))+" 条",1),k("button",{type:"button",onClick:X[0]||(X[0]=he=>Vi())},"查看更多")]),X[50]||(X[50]=k("div",{class:"epidemic-record-header"},[k("span",null,"电子耳标"),k("span",null,"养殖户"),k("span",null,"镇/乡"),k("span",null,"疫苗"),k("span",null,"时间")],-1)),k("div",cJe,[(Ee(!0),De(gt,null,Mt(at.value,he=>(Ee(),De("button",{key:he.epidemicId||he.earTag,type:"button",onClick:a2=>Vi(he)},[k("span",null,Ue(t3(he.earTag)),1),k("span",null,Ue(t3(he.owner)),1),k("span",null,Ue(t3(he.town)),1),k("strong",null,Ue(t3(he.medicine)),1),k("span",null,Ue(g3(he.operateTime)),1)],8,dJe))),128)),x.value.length?Tt("",!0):(Ee(),De("div",hJe,Ue(C.value?"防疫台账读取中":M.value||"暂无防疫记录"),1))])])]),_:1})],64)):h.value==="trade"?(Ee(),De(gt,{key:3},[dt(x3,{class:"yak-side-card right-card",title:"出证结构统计",width:N1,height:k1},{default:s3(()=>[k("div",fJe,[k("div",pJe,[k("span",null,[X[52]||(X[52]=k("em",null,"省外流通 A证",-1)),k("strong",null,[J1(Ue(v3(P2("outProvinceHeads","aCertHeads"))),1),X[51]||(X[51]=k("b",null,"头",-1))]),k("small",null,Ue(v3(P2("outProvinceCount","aCertCount")))+"条记录",1)]),k("span",null,[X[54]||(X[54]=k("em",null,"省内流通 B证",-1)),k("strong",null,[J1(Ue(v3(P2("inProvinceHeads","bCertHeads"))),1),X[53]||(X[53]=k("b",null,"头",-1))]),k("small",null,Ue(v3(P2("inProvinceCount","bCertCount")))+"条记录",1)])]),dt(_1(W0),{class:"trade-cert-chart",option:Zt.value,autoresize:!0},null,8,["option"])])]),_:1}),dt(x3,{class:"yak-side-card right-card",title:"出栏来源排行",width:N1,height:k1},{default:s3(()=>[k("div",mJe,[(Ee(!0),De(gt,null,Mt(_2.value,(he,a2)=>(Ee(),De("div",{key:he.name,class:"trade-dest-row",style:J3({"--trade-ratio":`${he.ratio}%`})},[k("span",null,Ue(a2+1),1),k("strong",null,Ue(he.name),1),k("em",null,Ue(c0(he.headCount))+"头",1)],4))),128)),_2.value.length?Tt("",!0):(Ee(),De("div",gJe,Ue(ve.value?"交易数据读取中":Ke.value||"暂无出栏来源数据"),1))])]),_:1}),dt(x3,{class:"yak-side-card right-card trade-ledger-card",title:"交易出证台账",width:N1,height:a},{default:s3(()=>[k("div",vJe,[k("div",yJe,[k("span",null,"共 "+Ue(v3(Be.value))+" 条",1),k("div",null,[rn(k("input",{"onUpdate:modelValue":X[1]||(X[1]=he=>c2.value=he),type:"search",placeholder:"货主/车辆/检疫号/地区",onKeyup:l7(c9,["enter"])},null,544),[[m8,c2.value]]),k("button",{type:"button",onClick:c9},"搜索"),k("button",{type:"button",class:"is-more",onClick:X[2]||(X[2]=he=>t0())},"查看更多")])]),X[55]||(X[55]=k("div",{class:"trade-ledger-header"},[k("span",null,"货主"),k("span",null,"车牌"),k("span",null,"数量"),k("span",null,"来源"),k("span",null,"用途"),k("span",null,"时间")],-1)),k("div",_Je,[(Ee(!0),De(gt,null,Mt(He.value,he=>(Ee(),De("button",{key:he.certId,type:"button",onClick:a2=>h9(he)},[k("span",null,Ue(t3(he.ownerName)),1),k("span",null,Ue(t3(he.transportNumber)),1),k("strong",null,Ue(v3(he.amount))+"头",1),k("span",null,Ue(t3(he.startTown)),1),k("span",null,Ue(t3(he.usageTypeName)),1),k("span",null,Ue(g3(he.issueTime)),1)],8,SJe))),128)),He.value.length?Tt("",!0):(Ee(),De("div",bJe,Ue(ve.value?"交易台账读取中":Ke.value||"暂无交易记录"),1))]),k("div",xJe,[k("span",null,"第 "+Ue(p2.value)+" / "+Ue(z2.value)+" 页",1),k("button",{type:"button",disabled:p2.value<=1,onClick:X[3]||(X[3]=he=>v0(p2.value-1))},"上一页",8,wJe),k("button",{type:"button",disabled:p2.value>=z2.value,onClick:X[4]||(X[4]=he=>v0(p2.value+1))},"下一页",8,TJe)])])]),_:1})],64)):Tt("",!0)])]),k("div",AJe,[dt(yS,{"model-value":h.value,topics:d,"onUpdate:modelValue":X[5]||(X[5]=he=>h.value=he)},null,8,["model-value"])])]),I.value?(Ee(),De("div",{key:1,class:"epidemic-ledger-modal",onClick:pi(Df,["self"])},[k("div",CJe,[k("div",MJe,[k("div",null,[X[56]||(X[56]=k("span",null,"牦牛防疫台账",-1)),k("strong",null,Ue(v3(E.value))+" 条记录",1)]),k("button",{type:"button",onClick:Df},"关闭")]),k("div",EJe,[rn(k("input",{"onUpdate:modelValue":X[6]||(X[6]=he=>H.value.keyword=he),type:"search",placeholder:"耳标 / 养殖户 / 药品","aria-label":"耳标 / 养殖户 / 药品",onKeyup:l7(Iu,["enter"])},null,544),[[m8,H.value.keyword]]),rn(k("select",{"onUpdate:modelValue":X[7]||(X[7]=he=>H.value.town=he)},[X[57]||(X[57]=k("option",{value:""},"全部镇/乡",-1)),(Ee(!0),De(gt,null,Mt(Z.value,he=>(Ee(),De("option",{key:he,value:he},Ue(he),9,PJe))),128))],512),[[Zu,H.value.town]]),rn(k("select",{"onUpdate:modelValue":X[8]||(X[8]=he=>H.value.medicine=he)},[X[58]||(X[58]=k("option",{value:""},"全部疫苗",-1)),(Ee(!0),De(gt,null,Mt(be.value,he=>(Ee(),De("option",{key:he,value:he},Ue(he),9,RJe))),128))],512),[[Zu,H.value.medicine]]),rn(k("input",{"onUpdate:modelValue":X[9]||(X[9]=he=>H.value.startDate=he),type:"date"},null,512),[[m8,H.value.startDate]]),rn(k("input",{"onUpdate:modelValue":X[10]||(X[10]=he=>H.value.endDate=he),type:"date"},null,512),[[m8,H.value.endDate]]),k("button",{type:"button",onClick:Iu},"检索"),k("button",{type:"button",class:"is-ghost",onClick:RS},"重置")]),k("div",LJe,[k("div",IJe,[X[59]||(X[59]=k("div",{class:"epidemic-ledger-table-head"},[k("span",null,"电子耳标"),k("span",null,"养殖户"),k("span",null,"镇/乡"),k("span",null,"村"),k("span",null,"疫苗"),k("span",null,"免疫时间"),k("span",null,"图片")],-1)),(Ee(!0),De(gt,null,Mt(D.value,he=>{var a2,I2;return Ee(),De("button",{key:he.epidemicId||he.earTag,type:"button",class:Ht({active:(((a2=G.value)==null?void 0:a2.epidemicId)||((I2=G.value)==null?void 0:I2.earTag))===(he.epidemicId||he.earTag)}),onClick:bt=>kf(he)},[k("span",null,Ue(t3(he.earTag)),1),k("span",null,Ue(t3(he.owner)),1),k("span",null,Ue(t3(he.town)),1),k("span",null,Ue(t3(he.village)),1),k("strong",null,Ue(t3(he.medicine)),1),k("span",null,Ue(g3(he.operateTime)),1),k("span",null,Ue(it(he).length?`${it(he).length}张`:"无"),1)],10,DJe)}),128)),D.value.length?Tt("",!0):(Ee(),De("div",NJe,Ue(V.value?"台账读取中":Y.value||"暂无匹配记录"),1))]),k("div",kJe,[k("div",FJe,[k("div",null,[k("span",null,Ue(t3(u3.value.earTag)),1),k("em",null,Ue(t3(u3.value.medicine||u3.value.preventionType)),1)]),k("strong",null,Ue(q.value?"加载中":g3(u3.value.operateTime)),1)]),k("div",OJe,[(Ee(!0),De(gt,null,Mt(Fe.value,he=>(Ee(),De("span",{key:he.label,class:Ht({"is-wide":he.wide})},[k("em",null,Ue(he.label),1),k("strong",null,Ue(he.value),1)],2))),128))]),x1.value.length?(Ee(),De("div",BJe,[X[60]||(X[60]=k("div",{class:"epidemic-detail-photo-title"},"现场照片",-1)),k("div",zJe,[(Ee(!0),De(gt,null,Mt(x1.value.slice(0,6),he=>(Ee(),De("button",{key:he,type:"button",class:"epidemic-modal-photo-thumb",onClick:pi(a2=>ut(he),["stop"])},[k("img",{src:O2(he),alt:"防疫照片"},null,8,GJe)],8,UJe))),128))])])):Tt("",!0)])]),k("div",VJe,[k("span",null,"第 "+Ue(L.value)+" / "+Ue(mt.value)+" 页",1),k("button",{type:"button",disabled:L.value<=1,onClick:X[11]||(X[11]=he=>Nf(L.value-1))},"上一页",8,HJe),k("button",{type:"button",disabled:L.value>=mt.value,onClick:X[12]||(X[12]=he=>Nf(L.value+1))},"下一页",8,WJe)])])])):Tt("",!0),R2.value?(Ee(),De("div",{key:2,class:"epidemic-ledger-modal trade-ledger-modal",onClick:pi(ii,["self"])},[k("div",jJe,[k("div",$Je,[k("div",null,[X[61]||(X[61]=k("span",null,"牦牛交易出证台账",-1)),k("strong",null,Ue(we.value)+"年 "+Ue(v3(Re.value))+" 条记录",1)]),k("button",{type:"button",onClick:ii},"关闭")]),k("div",YJe,[rn(k("input",{"onUpdate:modelValue":X[13]||(X[13]=he=>Q2.value.keyword=he),type:"search",placeholder:"货主 / 车辆 / 检疫号 / 地区",onKeyup:l7(Gi,["enter"])},null,544),[[m8,Q2.value.keyword]]),rn(k("select",{"onUpdate:modelValue":X[14]||(X[14]=he=>Q2.value.startTown=he)},[X[62]||(X[62]=k("option",{value:""},"全部来源乡镇",-1)),(Ee(!0),De(gt,null,Mt(U.value,he=>(Ee(),De("option",{key:he,value:he},Ue(he),9,qJe))),128))],512),[[Zu,Q2.value.startTown]]),rn(k("select",{"onUpdate:modelValue":X[15]||(X[15]=he=>Q2.value.usageType=he)},[X[63]||(X[63]=k("option",{value:""},"全部用途",-1)),(Ee(!0),De(gt,null,Mt(w.value,he=>(Ee(),De("option",{key:he,value:he},Ue(he),9,XJe))),128))],512),[[Zu,Q2.value.usageType]]),rn(k("select",{"onUpdate:modelValue":X[16]||(X[16]=he=>Q2.value.certType=he)},[X[64]||(X[64]=k("option",{value:""},"全部证书",-1)),(Ee(!0),De(gt,null,Mt(T.value,he=>(Ee(),De("option",{key:he.value,value:he.value},Ue(he.label),9,KJe))),128))],512),[[Zu,Q2.value.certType]]),k("button",{type:"button",onClick:Gi},"检索"),k("button",{type:"button",class:"is-ghost",onClick:qr},"重置")]),k("div",ZJe,[k("div",JJe,[X[65]||(X[65]=k("div",{class:"trade-ledger-modal-table-head"},[k("span",null,"货主"),k("span",null,"证书"),k("span",null,"车牌号"),k("span",null,"数量"),k("span",null,"来源"),k("span",null,"用途"),k("span",null,"出证时间"),k("span",null,"状态")],-1)),(Ee(!0),De(gt,null,Mt(w2.value,he=>(Ee(),De("button",{key:he.certId||he.factoryCode,type:"button",class:Ht({active:Q.value===(he.certId||he.factoryCode)}),onClick:a2=>d9(he)},[k("span",null,Ue(t3(he.ownerName)),1),k("span",null,Ue(t3(he.certType||he.certScopeName)),1),k("span",null,Ue(t3(he.transportNumber)),1),k("strong",null,Ue(v3(he.amount))+"头",1),k("span",null,Ue(t3(he.startTown)),1),k("span",null,Ue(t3(he.usageTypeName)),1),k("span",null,Ue(g3(he.issueTime)),1),k("span",null,Ue(t3(he.statusName)),1)],10,QJe))),128)),w2.value.length?Tt("",!0):(Ee(),De("div",eQe,Ue(x2.value?"交易台账读取中":D2.value||"暂无匹配记录"),1))]),k("div",tQe,[k("div",nQe,[k("div",null,[k("span",null,Ue(t3(Pt.value.factoryCode||Pt.value.certId)),1),k("em",null,Ue(G1(Pt.value)),1)]),k("strong",null,Ue(g3(Pt.value.issueTime)),1)]),k("div",iQe,[k("span",rQe,[X[66]||(X[66]=k("em",null,"货主",-1)),k("strong",null,Ue(t3(Pt.value.ownerName)),1)]),k("span",null,[X[67]||(X[67]=k("em",null,"联系方式",-1)),k("strong",null,Ue(v1(Pt.value.ownerPhone)),1)]),k("span",null,[X[68]||(X[68]=k("em",null,"证书类型",-1)),k("strong",null,Ue(G1(Pt.value)),1)]),k("span",null,[X[69]||(X[69]=k("em",null,"车牌号",-1)),k("strong",null,Ue(t3(Pt.value.transportNumber)),1)]),k("span",null,[X[70]||(X[70]=k("em",null,"牦牛数量",-1)),k("strong",null,Ue(v3(Pt.value.amount))+"头",1)]),k("span",null,[X[71]||(X[71]=k("em",null,"用途",-1)),k("strong",null,Ue(t3(Pt.value.usageTypeName)),1)]),k("span",null,[X[72]||(X[72]=k("em",null,"来源乡镇",-1)),k("strong",null,Ue(t3(Pt.value.startTown)),1)]),k("span",null,[X[73]||(X[73]=k("em",null,"目的省份",-1)),k("strong",null,Ue(t3(Pt.value.destProvince)),1)]),k("span",null,[X[74]||(X[74]=k("em",null,"检疫员",-1)),k("strong",null,Ue(t3(Pt.value.quarantineOfficerName)),1)]),k("span",aQe,[X[75]||(X[75]=k("em",null,"状态",-1)),k("strong",null,Ue(t3(Pt.value.statusName)),1)]),k("span",oQe,[X[76]||(X[76]=k("em",null,"来源地区",-1)),k("strong",null,Ue(t3(Pt.value.startRegionFullName)),1)]),k("span",sQe,[X[77]||(X[77]=k("em",null,"目的地",-1)),k("strong",null,Ue(t3(Pt.value.destRegionFullName)),1)])]),k("button",{type:"button",class:"trade-detail-locate",disabled:!Pt.value.startTown,onClick:X[17]||(X[17]=he=>h9(Pt.value))}," 查看乡镇位置 ",8,lQe)])]),k("div",uQe,[k("span",null,"第 "+Ue(k2.value)+" / "+Ue(kt.value)+" 页",1),k("button",{type:"button",disabled:k2.value<=1,onClick:X[18]||(X[18]=he=>_s(k2.value-1))},"上一页",8,cQe),k("button",{type:"button",disabled:k2.value>=kt.value,onClick:X[19]||(X[19]=he=>_s(k2.value+1))},"下一页",8,dQe)])])])):Tt("",!0),ce.value?(Ee(),De("div",{key:3,class:"epidemic-image-preview-modal",onClick:pi(a1,["self"])},[k("div",hQe,[k("div",fQe,[k("div",null,[X[78]||(X[78]=k("span",null,"防疫照片",-1)),k("strong",null,Ue(t3(u3.value.earTag)),1)]),k("button",{type:"button",onClick:a1},"关闭")]),k("div",pQe,[k("img",{src:J.value,alt:"防疫照片预览"},null,8,mQe)])])])):Tt("",!0)]))}};const SQe={class:"pasture-management"},bQe={key:0,class:"pasture-map-loading"},xQe={class:"pasture-management-ui"},wQe={class:"pasture-left"},TQe={class:"pasture-side-stack is-left"},AQe={class:"pasture-right"},CQe={class:"pasture-side-stack is-right"},MQe={class:"pasture-map-layer-tools"},i8=398,r8=190,EQe=12,PQe={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=r8*2+EQe,a=U2(null),o=U2(!1),s=U2(LA),l=U2(el),u=U2(""),c=U2(""),d=["牧户数量","户均牦牛头数","户均草地面积","联户数量"];let h=null,f=!1,p=!1,g=null,m=!1,v=0,_=null;const S={"4028abc18eecd2af018eecdc44b7086b":"瓦切镇","402881828b486d54018b48741f590270":"查尔玛乡","402881828b486d54018b48740ed7024a":"麦洼乡","402881828b486d54018b48732e1c0044":"安曲镇","4028abc18eec9b97018eeca1538900db":"瓦切镇","402881828b486d54018b48740fb1024c":"安曲镇"},x={尼尕尔让:"瓦切镇",更迫尕:"查尔玛乡",王西卓玛:"麦洼乡",扎花克周:"安曲镇",恰波:"瓦切镇",热布丹:"安曲镇",求甲:"阿木乡",罗尔旦:"阿木乡",扎尔江:"阿木乡",达尔基:"阿木乡",尼科:"瓦切镇",班洛:"阿木乡",拉木共:"阿木乡",尕尔玛:"瓦切镇",尕尔丹:"安曲镇",泽旺甲:"瓦切镇",阿尕:"安曲镇",陈理:"瓦切镇",贡秋卓玛:"阿木乡",更多:"瓦切镇",阿泽:"瓦切镇",达勒错:"色地镇",泽朗罗日:"安曲镇",仁青:"瓦切镇",贡多:"阿木乡",泽周:"刷经寺镇",泽科:"瓦切镇",扎巴:"阿木乡",泽真:"瓦切镇",索拉姐:"瓦切镇",尕让罗周:"瓦切镇",尕让拉姆:"瓦切镇",更让尼玛:"阿木乡",向秋卓玛:"瓦切镇",东科:"阿木乡",扑瓦甲:"阿木乡"},A=at(ABe),C=Ze(()=>{const Z=bf("grassland","grassland-distribution");return Z?[V2(y2({},Z),{name:"草场边界",legends:[{name:"草场边界",fillColor:"#1D953F",strokeColor:"#1D953F"}]})]:[]}),M=Ze(()=>u.value&&C.value.find(Z=>Z.key===u.value)||null),I=Ze(()=>{var Z;return(((Z=M.value)==null?void 0:Z.legends)||[]).find(be=>be.key===c.value)||null}),D=Ze(()=>{var be;const Z=M.value;return Z?(be=I.value)!=null&&be.cqlFilter?V2(y2({},Z),{cqlFilter:I.value.cqlFilter,activeLegend:I.value,name:I.value.name||Z.name}):Z:null}),E=Ze(()=>ke(s.value.core).length?ke(s.value.core):Jte),L=Ze(()=>ye(s.value.distribution).length?ye(s.value.distribution):dI),V=Ze(()=>Le(s.value.online).length?Le(s.value.online):e3e),Y=Ze(()=>t2(s.value.age).length?t2(s.value.age):rKe),G=Ze(()=>Oe(s.value.age).length?Oe(s.value.age):i3e),W=Ze(()=>rt(l.value).length?rt(l.value):aKe),q=Ze(()=>Ut(l.value).length?Ut(l.value):oKe),ce=Ze(()=>({title:"牧户分布排行",metricLabel:"牧户",unit:"户",hideMapLabels:!1,hideTownNames:!1,showBars:!1,showPointMarkers:!1,rows:(L.value.length?L.value:sKe).slice(0,8).map(Z=>({name:Z.name,value:Number(Z.value)||0,unit:Z.unit||"户"}))})),J=Ze(()=>({key:"pasture-town",type:"bar",variant:"distribution",rows:L.value})),H=Ze(()=>({key:"pasture-grassland-area",type:"heat",rows:W.value})),re=Ze(()=>({key:"pasture-season",type:"stackColumn",segments:[{key:"summer",name:"夏草场"},{key:"winter",name:"冬草场"}],rows:q.value.slice(0,7)})),ee=Ze(()=>({key:"pasture-online",type:"line",rows:V.value})),se=Ze(()=>({key:"pasture-age",type:"column",variant:"slim",rows:Y.value})),Be=Ze(()=>({key:"pasture-gender",type:"donut",rows:G.value})),we=Ze(()=>({key:"pasture-herdsman-list",type:"projectTable",searchPlaceholder:"搜索牧户 / 乡镇",emptyText:"无匹配牧户",searchKeys:["name","township","id","grasslandArea"],columns:[{key:"name",label:"牧户名称",field:"name",width:"30%"},{key:"grasslandArea",label:"草场面积",field:"grasslandArea",width:"28%",align:"right",strong:!0,format:"number",unit:"亩"},{key:"township",label:"区域",field:"township",width:"24%"},{key:"locate",label:"定位",field:"locateText",width:"18%",align:"center",fallback:"定位"}],rows:l.value}));_r(()=>{Ae(),D2(),ve()}),Yr(()=>{var Z,be;m=!0,g&&window.clearTimeout(g),_&&window.clearTimeout(_),v+=1,(be=(Z=a.value)==null?void 0:Z.destroyMap)==null||be.call(Z)}),U1(()=>t.active,Z=>{var be,Ve,ie,Ne;a.value&&(Z?(Q2(),(Ve=(be=a.value).resume)==null||Ve.call(be)):(_&&window.clearTimeout(_),_=null,v+=1,(Ne=(ie=a.value).pause)==null||Ne.call(ie)))});function ve(){return Z2(this,null,function*(){try{const Z=yield tKe();if(m)return;s.value=y2(y2({},LA),Z),Ae();const be=T2(Z.list);l.value=be.length?be:o2(el),Ke(l.value)}catch(Z){s.value=LA,l.value=o2(el)}})}function Ke(Z=l.value,be=4200){m||!t.active||(_&&window.clearTimeout(_),_=window.setTimeout(()=>{if(_=null,!(m||!t.active)){if(!o.value){Ke(Z,1800);return}p2(Z)}},be))}function p2(){return Z2(this,arguments,function*(Z=[]){const be=++v,Ve=(Array.isArray(Z)?Z:[]).filter($e=>($e==null?void 0:$e.township)==="--"&&Nt($e)).slice(0,24);if(!Ve.length)return;const ie=yield k2(Ve,5,$e=>Z2(this,null,function*(){const i2=Nt($e);let _2=[],He=null;try{_2=R2(yield wE(i2))}catch(Q){_2=[]}let z2=tt($e,_2)||Ft($e,$e.name,i2);if(!z2){try{He=yield eKe(i2)}catch(Q){He=null}z2=w2(He)}const kt=!!(i2||_2.some(vt)||vt($e));if(!z2&&!_2.length&&kt===$e.canLocate)return null;const Pt={key:$e.key,id:$e.id,realPastureId:i2,name:$e.name,township:z2||$e.township,grasslands:_2.length?_2:$e.grasslands,canLocate:kt,locateText:kt?"定位":"--"};return c2(Pt,be),Pt}));if(m||be!==v)return;const Ne=new Map;ie.filter(Boolean).forEach($e=>{[$e.key,$e.id,$e.realPastureId,$e.name].filter(Boolean).forEach(i2=>{Ne.set(String(i2),$e)})}),Ne.size&&s2(Ne)})}function c2(Z,be=v){if(!Z||m||be!==v)return;const Ve=new Map;[Z.key,Z.id,Z.realPastureId,Z.name].filter(Boolean).forEach(ie=>{Ve.set(String(ie),Z)}),s2(Ve)}function s2(Z){Z!=null&&Z.size&&(l.value=l.value.map(be=>{const Ve=[be.key,be.id,be.realPastureId,be.name].filter(Boolean).map(Ne=>Z.get(String(Ne))).find(Boolean);if(!Ve)return be;const ie=Ve.township&&Ve.township!=="--"?Ve.township:be.township;return V2(y2({},be),{township:ie,grasslands:Ve.grasslands,canLocate:Ve.canLocate,locateText:Ve.locateText,searchText:[be.name,ie,be.id].filter(Boolean).join(" ")})}))}function R2(Z=[]){const be=[];return(Array.isArray(Z)?Z:[]).forEach(Ve=>{const ie=ot(Ve);ie.length?be.push(...ie):Ve&&typeof Ve=="object"&&be.push(Ve)}),be}function w2(Z){const be=Array.isArray(Z)?Z:Array.isArray(Z==null?void 0:Z.rows)?Z.rows:Array.isArray(Z==null?void 0:Z.list)?Z.list:Array.isArray(Z==null?void 0:Z.data)?Z.data:[Z];for(const Ve of be.filter(Boolean)){const ie=Array.isArray(Ve==null?void 0:Ve.fields)?Ve.fields:Array.isArray(Ve==null?void 0:Ve.children)?Ve.children:[],Ne=$2(Ve,["township","townName","town_name","areaName","area_name","fullName","full_name","address","牧场所在区域"]);if(Ne)return Et(Re(Ne));for(const i2 of ie){const _2=String((i2==null?void 0:i2.name)||(i2==null?void 0:i2.label)||(i2==null?void 0:i2.title)||"").trim(),He=$2(i2,["value","text","content"]);if(He&&/区域|地址|乡镇/.test(_2))return Et(Re(He))}const $e=Object.entries(Ve||{}).filter(([i2])=>/fullName|full_name|address|areaName|area_name|town/i.test(i2)).map(([,i2])=>i2);for(const i2 of $e)if(i2)return Et(Re(i2))}return""}function Re(Z){const be=String(Z||"").trim();if(!be||be==="--")return"";const Ve=be.match(/([\u4e00-\u9fa5]{1,12}(?:镇|乡))/);return(Ve==null?void 0:Ve[1])||be}function k2(Z,be,Ve){return Z2(this,null,function*(){const ie=new Array(Z.length);let Ne=0;const $e=Array.from({length:Math.min(be,Z.length)},()=>Z2(this,null,function*(){for(;Ne<Z.length;){const i2=Ne;Ne+=1,ie[i2]=yield Ve(Z[i2],i2)}}));return yield Promise.all($e),ie})}function x2(Z){return Z2(this,null,function*(){var i2,_2,He,z2,kt,Pt;if(!je(Z)){(_2=(i2=a.value)==null?void 0:i2.focusPasture)==null||_2.call(i2,{name:Z==null?void 0:Z.name});return}const be=Nt(Z);let Ve=[];if(be)try{Ve=yield wE(be)}catch(Q){Ve=[]}const ie=ot(Z),Ne=Ve.filter(vt),$e=Ne.length?Ne:ie;if(!$e.length){(z2=(He=a.value)==null?void 0:He.focusPasture)==null||z2.call(He,{name:Z==null?void 0:Z.name});return}(Pt=(kt=a.value)==null?void 0:kt.focusPasture)==null||Pt.call(kt,{name:Z==null?void 0:Z.name,grasslands:$e})})}function D2(){var Z,be,Ve;h=new Eu,f=!1,i("loading-progress",{progress:0}),(be=(Z=h.instance)==null?void 0:Z.on)==null||be.call(Z,"onProgress",(ie,Ne,$e)=>{i("loading-progress",{progress:Math.floor(Ne/($e||1)*100),path:ie,itemsLoaded:Ne,itemsTotal:$e})}),(Ve=h.ready)==null||Ve.then(()=>{f=!0,Q2()}).catch(()=>{o.value=!0,i("map-ready")})}function z(){Q2()}function Q2(){m||!t.active||!f||p||(p=!0,g&&window.clearTimeout(g),g=window.setTimeout(()=>{g=null,Y2()},600))}function Y2(Z=0){return Z2(this,null,function*(){var Ve,ie,Ne;if(m||!f||!h)return;if(!t.active){p=!1;return}if(yield Nn(),!t.active){p=!1;return}const be=a.value;if((Ve=be==null?void 0:be.loadMap)==null||Ve.call(be,h),be!=null&&be.canvasMap){o.value=!0,i("loading-progress",{progress:100}),i("map-ready"),t.active?(ie=be.play)==null||ie.call(be):(Ne=be.pause)==null||Ne.call(be);return}if(Z<24){window.setTimeout(()=>Y2(Z+1),120);return}p=!1,o.value=!0,i("map-ready")})}function Ae(){i("module-stats",{moduleKey:"pasture-management",items:ge().map(Z=>({zh:Z.name,name:Z.name,value:Z.value,unit:Z.unit,decimals:Number.isInteger(Number(Z.value))?0:2}))})}function ge(){const Z=new Map;return(Array.isArray(E.value)?E.value:[]).forEach(be=>{!(be!=null&&be.name)||Te(be.name)||Z.set(be.name,be)}),d.map(be=>Z.get(be)||Qte.find(Ve=>Ve.name===be||Ve.zh===be)).filter(Boolean).slice(0,4)}function ke(Z=[]){return(Array.isArray(Z)?Z:[]).map((be,Ve)=>{const ie=be.key||be.id||be.code||be.name||be.zh||`${Ve}`,Ne=be.name||be.title||be.label||be.zh,$e=d2(Ne,ie),i2=$2(be,["value","num","count","dataValue"]);if(!$e||i2===void 0||i2===null||i2==="")return null;const _2=m2($e,i2,be.unit||be.dw||"");return{key:ie,name:_2.name,value:_2.value,unit:_2.unit,icon:be.icon||["town","area","yield","rate"][Ve%4]}}).filter(Boolean)}function d2(Z,be){const Ve=String(Z||be||""),ie=String(be||"").toLowerCase();return/avg.*yak|yak.*avg|yak.*household|yak.*per|hjyak/.test(ie)||/户均.*牦牛|牦牛.*户均/.test(Ve)?"户均牦牛头数":/avg.*grass|grass.*avg|grass.*household|grass.*per/.test(ie)||/户均.*草地|草地.*户均/.test(Ve)?"户均草地面积":/income|revenue|人均收入/.test(ie)||Ve.includes("人均收入")?"人均收入":/poverty|monitor|防反贫|监测户/.test(ie)||Ve.includes("防反贫")||Ve.includes("监测户")?"防反贫监测户":/joint|union|link|联户/.test(ie)||Ve.includes("联户")?"联户数量":/herdsman|muhu|pasture.*count|牧户数量/.test(ie)||Ve.includes("牧户数量")?"牧户数量":/yak/.test(ie)||Ve.includes("牦牛")?null:/grass/.test(ie)||Ve.includes("草地面积")?"草地面积":/wet/.test(ie)||Ve.includes("湿地")?"湿地面积":Ve.includes("牧户")||Ve.includes("牧场")?"牧户数量":/project/.test(ie)||Ve.includes("工程")||Ve.includes("项目")?"工程数量":/base/.test(ie)||Ve.includes("基地")?"基地数量":Ve}function m2(Z,be,Ve){const ie=Number(be)||0;return Z==="户均牦牛头数"?{name:Z,value:ie,unit:Ve||"头"}:Z==="户均草地面积"?{name:Z,value:ie,unit:Ve||"亩"}:Z==="人均收入"?{name:Z,value:ie,unit:Ve||"元/年"}:Z==="联户数量"||Z==="防反贫监测户"?{name:Z,value:ie,unit:Ve||"户"}:(Z.includes("草地")||Z.includes("湿地"))&&!String(Ve).includes("万")?{name:Z,value:Math.round(ie/1e4*100)/100,unit:"万亩"}:Z.includes("牧户")?{name:Z,value:ie,unit:Ve||"户"}:Z.includes("工程")||Z.includes("项目")||Z.includes("基地")?{name:Z,value:ie,unit:Ve||"个"}:{name:Z,value:ie,unit:Ve}}function Te(Z){return Z==="草地面积"||Z==="湿地面积"||Z==="区域数量"||Z==="牦牛数量"}function ye(Z=[]){return(Array.isArray(Z)?Z:[]).map(be=>{const Ve=$2(be,["areaName","area_name","name","townName","zoneName"]),ie=$2(be,["number","value","count","num","pastureCount","muhuCount","muhu_count"]);return!Ve||ie===void 0||ie===null||ie===""?null:{key:be.code||be.areaCode||be.area_code||Ve,name:Ve,value:Number(ie)||0,unit:"户"}}).filter(Boolean).sort((be,Ve)=>Ve.value-be.value)}function Le(Z=[]){return(Array.isArray(Z)?Z:[]).map(be=>{const Ve=$2(be,["areaName","area_name","name","townName","zoneName"]),ie=Number($2(be,["registeredMuhuCount","registered_muhu_count","registeredCount"])),Ne=Number($2(be,["muhuCount","muhu_count","onlineCount"])),$e=$2(be,["onlinePercent","uplineRate","upline_rate","onlineRate","value","percent","rate"]),i2=$e!=null&&$e!==""?$e:ie>0?Ne/ie*100:void 0;return!Ve||i2===void 0||i2===null||i2===""?null:{key:be.code||be.areaCode||be.area_code||Ve,name:Ve,value:Number(String(i2).replace("%",""))||0,unit:"%",extra:Number.isFinite(Ne)&&Number.isFinite(ie)&&ie>0?`${Ne}/${ie}户`:be.extra}}).filter(Boolean).slice(0,7)}function t2(Z=[]){const be=new Map;return(Array.isArray(Z)?Z:[]).forEach(Ve=>{const ie=$2(Ve,["ageRange","age_range","age","name","label"]),Ne=$2(Ve,["number","value","count","num"]);!ie||Ne===void 0||Ne===null||Ne===""||be.set(ie,(be.get(ie)||0)+(Number(Ne)||0))}),Array.from(be.entries()).map(([Ve,ie])=>({key:Ve,name:Ve,value:ie,unit:"人"}))}function Oe(Z=[]){const be=new Map;return(Array.isArray(Z)?Z:[]).forEach(Ve=>{const ie=$2(Ve,["sex","gender","name"]),Ne=$2(Ve,["number","value","count","num"]);if(!ie||Ne===void 0||Ne===null||Ne==="")return;const $e=String(ie).includes("女")?"女":String(ie).includes("男")?"男":ie;be.set($e,(be.get($e)||0)+(Number(Ne)||0))}),Array.from(be.entries()).map(([Ve,ie])=>({key:Ve,name:Ve,value:ie,unit:"人"}))}function T2(Z=[]){return(Array.isArray(Z)?Z:[]).map((be,Ve)=>{const ie=$2(be,["name","pasturesName","pastures_name","muhuName","muhu_name","pastureName","pasture_name","herdsmanName"]);if(!ie)return null;const Ne=ot(be),$e=K2(be)||st(Ne),i2=Nt(be),_2=tt(be,Ne)||Ft(be,ie,i2),He=V2(y2({},be),{key:be.key||be.id||be.pasturesId||be.pastures_id||`${ie}-${Ve}`,id:i2||be.id||be.pastureId||be.pasturesId||be.pastures_id||be.muhuId||be.key,realPastureId:i2,name:ie,township:_2||"--",grasslandArea:$e,acreage:$e,grasslands:Ne});return He.canLocate=!!(i2||Ne.some(vt)||vt(be)),He.locateText=He.canLocate?"定位":"--",He.value=He.grasslandArea,He.unit="亩",He.searchText=[He.name,He.township,He.id].filter(Boolean).join(" "),He}).filter(Boolean).sort(q2)}function o2(Z=[]){return[...Array.isArray(Z)?Z:[]].map(be=>V2(y2({},be),{grasslandArea:K2(be),acreage:K2(be)})).sort(q2)}function q2(Z,be){const Ve=K2(Z),ie=K2(be),Ne=Ve>0?1:0,$e=ie>0?1:0;if(Ne!==$e)return $e-Ne;const i2=je(Z)?1:0,_2=je(be)?1:0;return i2!==_2?_2-i2:Ve!==ie?ie-Ve:String((Z==null?void 0:Z.name)||"").localeCompare(String((be==null?void 0:be.name)||""),"zh-CN")}function K2(Z={}){const Ve=["acreage","grasslandArea","grassland_area","area","areaRange","area_range","cdAcreage","cd_acreage","totalAcreage","total_acreage","grasslandAcreage","grassland_acreage","pastureArea","pasture_area"].map(Ne=>lt(Z==null?void 0:Z[Ne]));return Ve.find(Ne=>Ne>0)||Ve.find(Ne=>Ne===0)||0}function st(Z=[]){return(Array.isArray(Z)?Z:[]).reduce((be,Ve)=>be+K2(Ve),0)}function lt(Z){if(typeof Z=="number")return Number.isFinite(Z)?Z:0;const be=String(Z!=null?Z:"").trim();if(!be||be==="--")return 0;const Ve=be.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!Ve)return 0;const ie=Number(Ve[0]);return Number.isFinite(ie)?be.includes("万")?ie*1e4:ie:0}function rt(Z=[]){return Qe(Z,be=>Number(be.grasslandArea)||0,"万亩",be=>Math.round(be/1e4*100)/100)}function Ut(Z=[]){const be=new Map;return(Array.isArray(Z)?Z:[]).forEach(Ve=>{const ie=(Ve==null?void 0:Ve.township)||(Ve==null?void 0:Ve.areaName)||(Ve==null?void 0:Ve.area_name);if(!ie||ie==="--")return;const Ne=be.get(ie)||{key:`${ie}-season`,name:ie,values:{summer:0,winter:0},total:0,unit:"万亩"};Ne.values.summer+=Number($2(Ve,["summerAcreage","summer_acreage","summerArea","summer_area"]))||0,Ne.values.winter+=Number($2(Ve,["winterAcreage","winter_acreage","winterArea","winter_area"]))||0,Ne.total=Ne.values.summer+Ne.values.winter,be.set(ie,Ne)}),Array.from(be.values()).filter(Ve=>Ve.total>0).map(Ve=>V2(y2({},Ve),{value:Math.round(Ve.total/1e4*100)/100,values:{summer:Math.round(Ve.values.summer/1e4*100)/100,winter:Math.round(Ve.values.winter/1e4*100)/100}})).sort((Ve,ie)=>ie.value-Ve.value)}function Qe(Z=[],be,Ve,ie=Ne=>Ne){const Ne=new Map;return(Array.isArray(Z)?Z:[]).forEach($e=>{const i2=($e==null?void 0:$e.township)||($e==null?void 0:$e.areaName)||($e==null?void 0:$e.area_name);if(!i2||i2==="--")return;const _2=Ne.get(i2)||{key:i2,name:i2,value:0,unit:Ve},He=be($e);_2.value+=Number(He)||0,Ne.set(i2,_2)}),Array.from(Ne.values()).map($e=>V2(y2({},$e),{value:ie($e.value)})).filter($e=>Number.isFinite($e.value)&&$e.value>0).sort(($e,i2)=>i2.value-$e.value)}function ot(Z={}){const be=[];["grasslands","grasslandList","grasslandRows","landList","plots","features"].forEach(Ne=>{const $e=Z==null?void 0:Z[Ne];Array.isArray($e)?be.push(...$e):Array.isArray($e==null?void 0:$e.rows)?be.push(...$e.rows):Array.isArray($e==null?void 0:$e.list)?be.push(...$e.list):Array.isArray($e==null?void 0:$e.data)&&be.push(...$e.data)});const ie=$2(Z,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]);return(ie||Z!=null&&Z.geometry)&&be.push(V2(y2({},Z),{id:(Z==null?void 0:Z.grasslandId)||(Z==null?void 0:Z.gid)||(Z==null?void 0:Z.id),pastureId:(Z==null?void 0:Z.pastureId)||(Z==null?void 0:Z.pasturesId)||(Z==null?void 0:Z.pastures_id)||(Z==null?void 0:Z.muhuId)||(Z==null?void 0:Z.id),name:(Z==null?void 0:Z.grasslandName)||(Z==null?void 0:Z.name),wkt:ie,geometry:Z==null?void 0:Z.geometry})),be.filter(Boolean)}function vt(Z={}){var be,Ve;return typeof Z=="string"?!!Z.trim():(Z==null?void 0:Z.type)==="Feature"||Z!=null&&Z.type&&(Z!=null&&Z.coordinates)||(be=Z==null?void 0:Z.geometry)!=null&&be.type||(Ve=Z==null?void 0:Z.geometry)!=null&&Ve.coordinates||typeof(Z==null?void 0:Z.geometry)=="string"?!0:!!$2(Z,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"])}function Nt(Z={}){const be=(Z==null?void 0:Z.realPastureId)||(Z==null?void 0:Z.pastureId)||(Z==null?void 0:Z.pasturesId)||(Z==null?void 0:Z.pastures_id)||(Z==null?void 0:Z.muhuId)||(Z==null?void 0:Z.id);return be==null||be===""?null:be}function je(Z={}){return Z!=null&&Z.canLocate||Nt(Z)||vt(Z)?!0:ot(Z).some(vt)}function $2(Z={},be=[]){for(const Ve of be){const ie=Z==null?void 0:Z[Ve];if(ie!=null&&ie!=="")return ie}}function tt(Z={},be=[]){const Ve=$2(Z,["township","townName","town_name","areaName","area_name","zoneName","zone_name"]);if(Ve)return Et(Ve);const ie=p3($2(Z,["areaCode","area_code","townCode","town_code","code"]));if(ie)return ie;for(const $e of be){const i2=$2($e,["township","townName","town_name","areaName","area_name","zoneName","zone_name"]);if(i2)return Et(i2);const _2=p3($2($e,["areaCode","area_code","townCode","town_code","code"]));if(_2)return _2}const Ne=a3(Z);if(Ne)return Ne;for(const $e of be){const i2=a3($e);if(i2)return i2}return""}function Et(Z){const be=String(Z||"").trim();if(!be||be==="--")return"";const Ve=p3(be);return Ve||(RBe(be)?be:"")}function Ft(Z={},be="",Ve=""){const ie=[Ve,Z.realPastureId,Z.pastureId,Z.pasturesId,Z.pastures_id,Z.muhuId,Z.id];for(const $e of ie){const i2=S[String($e||"").trim()];if(i2)return Et(i2)}const Ne=[be,Z.name,Z.pasturesName,Z.pastures_name,Z.muhuName,Z.muhu_name,Z.pastureName,Z.pasture_name];for(const $e of Ne){const i2=x[yt($e)];if(i2)return Et(i2)}return""}function yt(Z){return String(Z||"").replace(/[·•・..。`´’‘ʼʹ''"“”\s\-—_()()]/g,"").replace(/˙/g,"")}function p3(Z){const be=String(Z||"").trim();if(!be)return"";const Ve=be.replace(/\D/g,"");return Ve?Sf(Ve):""}function a3(Z={}){const be=R1(Z),Ve=mt(be);if(!Ve)return"";const ie=A.find(Ne=>x1(Ve,Ne.geometry));return ie!=null&&ie.name?Et(ie.name):""}function R1(Z={}){var ie,Ne;if((Z==null?void 0:Z.type)==="Feature")return R1(Z.geometry);if(Z!=null&&Z.type&&(Z!=null&&Z.coordinates))return Z;if((ie=Z==null?void 0:Z.geometry)!=null&&ie.type||(Ne=Z==null?void 0:Z.geometry)!=null&&Ne.coordinates)return Z.geometry;const be=$2(Z,["geometry","location","wkt","geo","geom","geometryWkt","geometry_wkt","shape"]);if(!be||typeof be!="string")return null;const Ve=be.trim();if(!Ve)return null;if(Ve.startsWith("{")||Ve.startsWith("["))try{const $e=JSON.parse(Ve);return R1($e)}catch($e){return null}return P3(Ve)}function P3(Z){var $e;const be=String(Z||"").trim(),Ve=be.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),ie=($e=Ve==null?void 0:Ve[1])==null?void 0:$e.toUpperCase();if(!ie)return null;const Ne=be.slice(be.indexOf("("));return ie==="POINT"?{type:"Point",coordinates:e1(Ne)}:ie==="MULTIPOINT"?{type:"MultiPoint",coordinates:M2(Ne).map(e1).filter(Boolean)}:ie==="LINESTRING"?{type:"LineString",coordinates:L1(Ne)}:ie==="MULTILINESTRING"?{type:"MultiLineString",coordinates:M2(Ne).map(L1).filter(i2=>i2.length)}:ie==="POLYGON"?{type:"Polygon",coordinates:Cn(Ne)}:ie==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:M2(Ne).map(Cn).filter(i2=>i2.length)}:null}function e1(Z){const be=String(Z||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return be.length>=2&&Number.isFinite(be[0])&&Number.isFinite(be[1])?[be[0],be[1]]:null}function L1(Z){return String(Z||"").replace(/^\(+|\)+$/g,"").split(",").map(e1).filter(Boolean)}function Cn(Z){return M2(Z).map(L1).filter(be=>be.length>=3)}function M2(Z){const be=[];let Ve=0,ie=-1;return Array.from(String(Z||"")).forEach((Ne,$e)=>{Ne==="("?(Ve===0&&(ie=$e+1),Ve+=1):Ne===")"&&(Ve-=1,Ve===0&&ie>=0&&(be.push(Z.slice(ie,$e)),ie=-1))}),be.length?be:[String(Z||"")]}function at(Z){try{const be=typeof Z=="string"?JSON.parse(Z):Z;return((be==null?void 0:be.features)||[]).map(Ve=>{var ie,Ne,$e,i2;return{name:((ie=Ve==null?void 0:Ve.properties)==null?void 0:ie.name)||((Ne=Ve==null?void 0:Ve.properties)==null?void 0:Ne.areaName)||(($e=Ve==null?void 0:Ve.properties)==null?void 0:$e.townName),code:(i2=Ve==null?void 0:Ve.properties)==null?void 0:i2.code,geometry:Ve==null?void 0:Ve.geometry}}).filter(Ve=>{var ie;return Ve.name&&((ie=Ve.geometry)==null?void 0:ie.coordinates)})}catch(be){return[]}}function mt(Z){const be=u3(Z);if(!be.length)return null;const Ve=be.reduce((ie,Ne)=>({lng:ie.lng+Ne[0],lat:ie.lat+Ne[1]}),{lng:0,lat:0});return[Ve.lng/be.length,Ve.lat/be.length]}function u3(Z){const be=[],Ve=ie=>{if(Array.isArray(ie)){if(ie.length>=2&&Number.isFinite(Number(ie[0]))&&Number.isFinite(Number(ie[1]))){be.push([Number(ie[0]),Number(ie[1])]);return}ie.forEach(Ve)}};return Ve(Z==null?void 0:Z.coordinates),be}function x1(Z,be){return!Z||!(be!=null&&be.coordinates)?!1:be.type==="Polygon"?Fe(Z,be.coordinates):be.type==="MultiPolygon"?be.coordinates.some(Ve=>Fe(Z,Ve)):!1}function Fe(Z,be){var i2,_2,He,z2;const Ve=be==null?void 0:be[0];if(!Array.isArray(Ve)||Ve.length<3)return!1;let ie=!1;const Ne=Z[0],$e=Z[1];for(let kt=0,Pt=Ve.length-1;kt<Ve.length;Pt=kt++){const Q=Number((i2=Ve[kt])==null?void 0:i2[0]),U=Number((_2=Ve[kt])==null?void 0:_2[1]),w=Number((He=Ve[Pt])==null?void 0:He[0]),T=Number((z2=Ve[Pt])==null?void 0:z2[1]);U>$e!=T>$e&&Ne<(w-Q)*($e-U)/(T-U||1e-12)+Q&&(ie=!ie)}return ie}return(Z,be)=>{var Ve;return Ee(),De("div",SQe,[dt(Mu,{ref_key:"mapSceneRef",ref:a,class:"pasture-map-scene","active-layer":D.value,"map-ranking":ce.value,onSceneMounted:z},null,8,["active-layer","map-ranking"]),be[2]||(be[2]=k("div",{class:"pasture-map-scrim"},null,-1)),o.value?Tt("",!0):(Ee(),De("div",bQe,"3D地图加载中")),k("div",xQe,[k("div",wQe,[k("div",TQe,[dt(x3,{class:"pasture-side-card left-card",title:"牧户区域统计",width:i8,height:r8},{default:s3(()=>[dt(Di,{panel:J.value,compact:""},null,8,["panel"])]),_:1}),dt(x3,{class:"pasture-side-card left-card",title:"草地面积分布",width:i8,height:r8},{default:s3(()=>[dt(Di,{panel:H.value,compact:""},null,8,["panel"])]),_:1}),dt(x3,{class:"pasture-side-card left-card",title:"夏冬草场面积",width:i8,height:r8},{default:s3(()=>[dt(Di,{panel:re.value,compact:""},null,8,["panel"])]),_:1}),dt(x3,{class:"pasture-side-card left-card",title:"牧户上线率",width:i8,height:r8},{default:s3(()=>[dt(Di,{panel:ee.value,compact:""},null,8,["panel"])]),_:1})])]),k("div",AQe,[k("div",CQe,[dt(x3,{class:"pasture-side-card right-card",title:"牧户年龄统计",width:i8,height:r8},{default:s3(()=>[dt(Di,{panel:se.value,compact:""},null,8,["panel"])]),_:1}),dt(x3,{class:"pasture-side-card right-card",title:"牧户性别统计",width:i8,height:r8},{default:s3(()=>[dt(Di,{panel:Be.value,compact:""},null,8,["panel"])]),_:1}),dt(x3,{class:"pasture-side-card right-card pasture-list-card",title:"牧户列表",width:i8,height:r},{default:s3(()=>[dt(Di,{panel:we.value,compact:"",onRowSelect:x2},null,8,["panel"])]),_:1})])]),k("div",MQe,[dt(qL,{modelValue:u.value,"onUpdate:modelValue":be[0]||(be[0]=ie=>u.value=ie),"selected-legend-key":c.value,"onUpdate:selectedLegendKey":be[1]||(be[1]=ie=>c.value=ie),"topic-key":"grassland",layers:C.value,legends:((Ve=D.value)==null?void 0:Ve.legends)||[],width:232,height:430},null,8,["modelValue","selected-legend-key","layers","legends"])])])])}}},RQe=`{ |
|
|
"datasetName": "红原牦牛产业全链分类数据草稿", |
|
|
"generatedAt": "2026-07-01T19:47:37", |
|
|
"privacy": { |
|
|
"includedContactFields": [ |
|
|
"户主", |
|
|
"负责人", |
|
|
"联系人", |
|
|
"联系电话", |
|
|
"服务热线", |
|
|
"信贷联系电话", |
|
|
"24小时理赔热线" |
|
|
], |
|
|
"excludedPersonalFields": [ |
|
|
"身份证", |
|
|
"备注" |
|
|
], |
|
|
"note": "此 JSON 面向大屏展示,已保留可展示的联系人/电话字段;身份证和备注仍未写入。图片文件仅登记为视觉参考,不作为业务数据。" |
|
|
}, |
|
|
"fileInventory": [ |
|
|
{ |
|
|
"path": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"type": "xlsx", |
|
|
"role": "data-source" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"type": "xlsx", |
|
|
"role": "data-source" |
|
|
}, |
|
|
{ |
|
|
"path": "cxpt.qkl.public.t_base_land", |
|
|
"type": "database-table", |
|
|
"role": "data-source" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-1.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-2.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-3.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-4.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-5.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-6.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-7.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-8.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-9.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-10.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-11.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-12.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-9ee4fd26-fb6f-46c2-81ea-f9925d24acf8.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-acf2f529-2ce8-4d8b-96eb-6899d2beb524.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-eded9fbe-e18f-4b2a-88ad-b207e8589cd3.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-ae00ea0b-6e25-4a45-b182-2ab3cdae2abd.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-d7084d17-25fa-43e5-b216-a1d62b49f862.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-f3e1ccc7-5d38-4103-96eb-be214e5b67c0.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-5ffbf4b9-ab8f-49a4-8577-705da4e7c157.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
}, |
|
|
{ |
|
|
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-1548ca35-7fe9-4786-9cb4-41366b1b5b10.png", |
|
|
"type": "png", |
|
|
"role": "visual-reference" |
|
|
} |
|
|
], |
|
|
"summary": { |
|
|
"categoryCount": 18, |
|
|
"itemCount": 206, |
|
|
"categoryCounts": { |
|
|
"YC-FAMILY-PASTURE": 82, |
|
|
"YC-BREEDING-BASE": 19, |
|
|
"YC-BREEDING-STOCK": 4, |
|
|
"YC-FORAGE-BASE": 8, |
|
|
"YC-DISASTER-FORAGE-STORAGE": 7, |
|
|
"YC-PROCESSING-PLANT": 9, |
|
|
"YC-SLAUGHTERHOUSE": 7, |
|
|
"YC-FARM-EQUIPMENT": 2, |
|
|
"YC-DISEASE-CONTROL": 3, |
|
|
"YC-TECH-TRAINING": 8, |
|
|
"YC-SERVICE-FINANCE": 4, |
|
|
"YC-SERVICE-INSURANCE": 4, |
|
|
"YC-GRASSLAND-RESOURCE": 3, |
|
|
"YC-CXPT-BREEDING-BASE": 28, |
|
|
"YC-CXPT-FORAGE-BASE": 5, |
|
|
"YC-CXPT-BREEDING-STOCK-BASE": 1, |
|
|
"YC-CXPT-GRASS-SEED-BASE": 1, |
|
|
"YC-CXPT-OTHER-BASE": 11 |
|
|
} |
|
|
}, |
|
|
"sourceSheets": [ |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "防灾减灾饲草储备库", |
|
|
"categoryCode": "YC-DISASTER-FORAGE-STORAGE", |
|
|
"rawRowCount": 7, |
|
|
"keptFields": [ |
|
|
"主体全称", |
|
|
"上级单位", |
|
|
"所属乡镇", |
|
|
"详细地址", |
|
|
"经度", |
|
|
"纬度", |
|
|
"运营状态", |
|
|
"总库容 (吨)", |
|
|
"储备草种", |
|
|
"发放次数" |
|
|
], |
|
|
"excludedFields": [] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "标准化养殖基地", |
|
|
"categoryCode": "YC-BREEDING-BASE", |
|
|
"rawRowCount": 19, |
|
|
"keptFields": [ |
|
|
"主体全称", |
|
|
"运营单位", |
|
|
"经纬度", |
|
|
"建设 / 升级年份", |
|
|
"详细地址", |
|
|
"运营状态", |
|
|
"设计存栏量 (头)", |
|
|
"年出栏量 (头)", |
|
|
"监控设备情况" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"备注", |
|
|
"Unnamed:10" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "育种场", |
|
|
"categoryCode": "YC-BREEDING-STOCK", |
|
|
"rawRowCount": 4, |
|
|
"keptFields": [ |
|
|
"主体全称", |
|
|
"简称", |
|
|
"运营单位", |
|
|
"建设 / 升级年份", |
|
|
"详细地址", |
|
|
"经纬度", |
|
|
"运营状态", |
|
|
"育种等级", |
|
|
"核心基础母牛群 (头)", |
|
|
"种公牛数量 (头)", |
|
|
"年提供良种犊牛 (头)", |
|
|
"主要育种方向", |
|
|
"基本介绍", |
|
|
"监控设备情况" |
|
|
], |
|
|
"excludedFields": [] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "种草饲草基地", |
|
|
"categoryCode": "YC-FORAGE-BASE", |
|
|
"rawRowCount": 16, |
|
|
"keptFields": [ |
|
|
"基地全称", |
|
|
"所属乡镇", |
|
|
"运营状态", |
|
|
"种植面积 (亩)", |
|
|
"主要草种", |
|
|
"年产量 (吨)", |
|
|
"经纬度" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"Unnamed:7", |
|
|
"Unnamed:8", |
|
|
"Unnamed:9" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "加工厂", |
|
|
"categoryCode": "YC-PROCESSING-PLANT", |
|
|
"rawRowCount": 9, |
|
|
"keptFields": [ |
|
|
"企业全称", |
|
|
"详细地址", |
|
|
"经度", |
|
|
"纬度", |
|
|
"运营状态", |
|
|
"SC 许可证号", |
|
|
"设计日处理鲜奶能力 (吨)", |
|
|
"年加工鲜奶总量 (吨)", |
|
|
"主要产品", |
|
|
"奶源来源", |
|
|
"年产值 (万元)", |
|
|
"带动本地农户数", |
|
|
"原料奶冷藏能力 (吨)", |
|
|
"产品销售范围", |
|
|
"负责人", |
|
|
"联系电话" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"备注" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "屠宰厂", |
|
|
"categoryCode": "YC-SLAUGHTERHOUSE", |
|
|
"rawRowCount": 7, |
|
|
"keptFields": [ |
|
|
"企业全称", |
|
|
"定点屠宰证号", |
|
|
"详细地址", |
|
|
"经度", |
|
|
"纬度", |
|
|
"运营状态", |
|
|
"设计日屠宰能力 (头)", |
|
|
"年屠宰总量 (头)", |
|
|
"冷冻库容量 (吨)", |
|
|
"环保达标情况", |
|
|
"年总产值 (万元)", |
|
|
"负责人", |
|
|
"联系电话" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"备注", |
|
|
"Unnamed:14", |
|
|
"Unnamed:15", |
|
|
"Unnamed:16", |
|
|
"Unnamed:17", |
|
|
"Unnamed:18", |
|
|
"Unnamed:19", |
|
|
"Unnamed:20", |
|
|
"Unnamed:21", |
|
|
"Unnamed:22", |
|
|
"Unnamed:23", |
|
|
"Unnamed:24", |
|
|
"Unnamed:25", |
|
|
"Unnamed:26", |
|
|
"Unnamed:27", |
|
|
"Unnamed:28", |
|
|
"Unnamed:29", |
|
|
"Unnamed:30", |
|
|
"Unnamed:31", |
|
|
"Unnamed:32", |
|
|
"Unnamed:33", |
|
|
"Unnamed:34", |
|
|
"Unnamed:35" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "农机装备", |
|
|
"categoryCode": "YC-FARM-EQUIPMENT", |
|
|
"rawRowCount": 2, |
|
|
"keptFields": [ |
|
|
"主体全称", |
|
|
"简称", |
|
|
"所属乡镇", |
|
|
"经度", |
|
|
"纬度", |
|
|
"运营状态", |
|
|
"组织形式", |
|
|
"主要服务项目", |
|
|
"主要设备类型", |
|
|
"设备总台数 (台)", |
|
|
"可出租设备数 (台)", |
|
|
"服务覆盖乡镇数", |
|
|
"收费标准", |
|
|
"服务热线", |
|
|
"年产值 (万元)", |
|
|
"负责人", |
|
|
"联系电话" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"备注" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "疫病防控", |
|
|
"categoryCode": "YC-DISEASE-CONTROL", |
|
|
"rawRowCount": 3, |
|
|
"keptFields": [ |
|
|
"主体全称", |
|
|
"详细地址", |
|
|
"经度", |
|
|
"纬度", |
|
|
"运营状态", |
|
|
"服务覆盖乡镇数", |
|
|
"主要服务内容", |
|
|
"持证兽医数", |
|
|
"是否 24 小时应急", |
|
|
"联系电话" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"备注" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "技术培训", |
|
|
"categoryCode": "YC-TECH-TRAINING", |
|
|
"rawRowCount": 8, |
|
|
"keptFields": [ |
|
|
"序号", |
|
|
"机构全称", |
|
|
"机构类型", |
|
|
"所属乡镇", |
|
|
"红原办公地址", |
|
|
"培训等级", |
|
|
"年培训场次", |
|
|
"年培训人次", |
|
|
"单次最大容纳人数", |
|
|
"主要培训内容", |
|
|
"核心专家团队", |
|
|
"最近培训时间", |
|
|
"下期培训计划(时间 + 内容)", |
|
|
"联系人", |
|
|
"联系电话" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"备注" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "金融服务网点", |
|
|
"categoryCode": "YC-SERVICE-FINANCE", |
|
|
"rawRowCount": 4, |
|
|
"keptFields": [ |
|
|
"序号", |
|
|
"银行全称", |
|
|
"简称", |
|
|
"红原支行地址", |
|
|
"经度", |
|
|
"纬度", |
|
|
"服务覆盖乡镇数", |
|
|
"主要贷款产品(可多选)", |
|
|
"最高单户贷款额度 (万元)", |
|
|
"最长贷款期限 (年)", |
|
|
"年利率范围", |
|
|
"还款方式", |
|
|
"联系人", |
|
|
"信贷联系电话" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"备注" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "保险服务网点", |
|
|
"categoryCode": "YC-SERVICE-INSURANCE", |
|
|
"rawRowCount": 4, |
|
|
"keptFields": [ |
|
|
"序号", |
|
|
"公司全称", |
|
|
"简称", |
|
|
"红原支公司地址", |
|
|
"经度", |
|
|
"纬度", |
|
|
"服务覆盖乡镇数", |
|
|
"主要承保险种(可多选)", |
|
|
"24 小时理赔热线", |
|
|
"2025 年承保牦牛数量 (头)", |
|
|
"平均理赔时效 (天)", |
|
|
"最高单头赔付金额 (元)", |
|
|
"联系人", |
|
|
"联系电话" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"备注" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sheetName": "林草局数据", |
|
|
"categoryCode": "YC-GRASSLAND-RESOURCE", |
|
|
"rawRowCount": 4, |
|
|
"keptFields": [ |
|
|
"天然草原改良", |
|
|
"人工种草", |
|
|
"鼠虫害防治", |
|
|
"全县草原面积", |
|
|
"基本草原面积", |
|
|
"一般草原面积", |
|
|
"湿地面积", |
|
|
"灌木林面积", |
|
|
"围栏封育面积", |
|
|
"生态奖补面积,到每个村" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"Unnamed:0", |
|
|
"Unnamed:11", |
|
|
"备注" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sheetName": "Sheet1", |
|
|
"categoryCode": "YC-FAMILY-PASTURE", |
|
|
"rawRowCount": 82, |
|
|
"keptFields": [ |
|
|
"序号", |
|
|
"乡镇", |
|
|
"点位", |
|
|
"户主", |
|
|
"暖棚经纬度", |
|
|
"管理用房经纬度", |
|
|
"坐落" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"身份证", |
|
|
"备注" |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sheetName": "t_base_land", |
|
|
"categoryCode": "YC-CXPT-*", |
|
|
"rawRowCount": 46, |
|
|
"keptFields": [ |
|
|
"id", |
|
|
"name", |
|
|
"type", |
|
|
"area_code", |
|
|
"address", |
|
|
"scale", |
|
|
"acreage", |
|
|
"leader", |
|
|
"tel", |
|
|
"leader_phone", |
|
|
"geom centroid" |
|
|
], |
|
|
"excludedFields": [ |
|
|
"description", |
|
|
"imgs", |
|
|
"remarks" |
|
|
] |
|
|
} |
|
|
], |
|
|
"categories": [ |
|
|
{ |
|
|
"categoryCode": "YC-FAMILY-PASTURE", |
|
|
"categoryName": "家庭生态牧场", |
|
|
"industryStage": "family-pasture", |
|
|
"sources": [ |
|
|
"红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx:Sheet1" |
|
|
], |
|
|
"itemCount": 82, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-001", |
|
|
"name": "安曲镇夺龙村1号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "安曲镇", |
|
|
"village": "夺龙村", |
|
|
"pointName": "1号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.45047712, |
|
|
"latitude": 32.61360272 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.45082378, |
|
|
"latitude": 32.6136657 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "拿木甲" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-002", |
|
|
"name": "安曲镇夺龙村2号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "安曲镇", |
|
|
"village": "夺龙村", |
|
|
"pointName": "2号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.34691526, |
|
|
"latitude": 32.61425696 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.34697849, |
|
|
"latitude": 32.61455374 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "桑我甲" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-003", |
|
|
"name": "安曲镇夺龙村3号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "安曲镇", |
|
|
"village": "夺龙村", |
|
|
"pointName": "3号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.37805264, |
|
|
"latitude": 32.5692703 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "泽朗罗日" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-004", |
|
|
"name": "安曲镇哈拉玛村4号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "安曲镇", |
|
|
"village": "哈拉玛村", |
|
|
"pointName": "4号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.31781652, |
|
|
"latitude": 32.67023409 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.318167, |
|
|
"latitude": 32.67018808 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "德清旺姆" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-005", |
|
|
"name": "安曲镇下哈拉玛村5号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "安曲镇", |
|
|
"village": "下哈拉玛村", |
|
|
"pointName": "5号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.43198641, |
|
|
"latitude": 32.73093298 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.43182146, |
|
|
"latitude": 32.73162602 |
|
|
} |
|
|
}, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-006", |
|
|
"name": "安曲镇下哈拉玛村6号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "安曲镇", |
|
|
"village": "下哈拉玛村", |
|
|
"pointName": "6号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.42615548, |
|
|
"latitude": 32.80562386 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-007", |
|
|
"name": "安曲镇下哈拉玛村7号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "安曲镇", |
|
|
"village": "下哈拉玛村", |
|
|
"pointName": "7号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.43325488, |
|
|
"latitude": 32.76769519 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.43310351, |
|
|
"latitude": 32.76736081 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "尺真" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-008", |
|
|
"name": "龙日镇龙日坝村8号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "龙日坝村", |
|
|
"pointName": "8号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.34174988, |
|
|
"latitude": 32.51793446 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.34150772, |
|
|
"latitude": 32.51809855 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "扎花甲初" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-009", |
|
|
"name": "龙日镇龙日坝村9号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "龙日坝村", |
|
|
"pointName": "9号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.39106026, |
|
|
"latitude": 32.41522425 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.39163622, |
|
|
"latitude": 32.41535563 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "刘永秀" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-010", |
|
|
"name": "龙日镇龙日坝村10号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "龙日坝村", |
|
|
"pointName": "10号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.36445049, |
|
|
"latitude": 32.46856208 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.36479551, |
|
|
"latitude": 32.4682826 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "尼西甲" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-011", |
|
|
"name": "龙日镇龙日坝村11号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "龙日坝村", |
|
|
"pointName": "11号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.36543866, |
|
|
"latitude": 32.46986063 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.36574919, |
|
|
"latitude": 32.46984022 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "尕尔穷" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-012", |
|
|
"name": "龙日镇壤噶夺玛村12号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "壤噶夺玛村", |
|
|
"pointName": "12号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.47723794, |
|
|
"latitude": 32.45980785 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.47729207, |
|
|
"latitude": 32.45943812 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "拉玛扎西" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-013", |
|
|
"name": "龙日镇龙日坝村12号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "龙日坝村", |
|
|
"pointName": "12号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-014", |
|
|
"name": "龙日镇格玛村13号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "格玛村", |
|
|
"pointName": "13号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.57181204, |
|
|
"latitude": 32.57674824 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.57153908, |
|
|
"latitude": 32.57642249 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "索迫" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-015", |
|
|
"name": "龙日镇格玛村14号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "格玛村", |
|
|
"pointName": "14号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.56396058, |
|
|
"latitude": 32.5657272 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.56368441, |
|
|
"latitude": 32.56554011 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "让白" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-016", |
|
|
"name": "龙日镇格玛村15号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "格玛村", |
|
|
"pointName": "15号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.47353743, |
|
|
"latitude": 32.53889572 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.47340175, |
|
|
"latitude": 32.5391063 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "罗周" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-017", |
|
|
"name": "龙日镇格玛村16号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "格玛村", |
|
|
"pointName": "16号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.55268505, |
|
|
"latitude": 32.54389452 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.55244875, |
|
|
"latitude": 32.543925 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "贡波" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-018", |
|
|
"name": "龙日镇格玛村17号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "格玛村", |
|
|
"pointName": "17号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.55699444, |
|
|
"latitude": 32.51600578 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.55661126, |
|
|
"latitude": 32.51593726 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "阿新" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-019", |
|
|
"name": "龙日镇壤噶夺玛村18号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "壤噶夺玛村", |
|
|
"pointName": "18号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.45743039, |
|
|
"latitude": 32.50039193 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.45747569, |
|
|
"latitude": 32.4997112 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "南木青" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-020", |
|
|
"name": "龙日镇壤噶夺玛村19号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "壤噶夺玛村", |
|
|
"pointName": "19号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.51569341, |
|
|
"latitude": 32.46983718 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.51611367, |
|
|
"latitude": 32.46971999 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "桑白" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-021", |
|
|
"name": "龙日镇壤噶夺玛村20号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "壤噶夺玛村", |
|
|
"pointName": "20号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.44978266, |
|
|
"latitude": 32.53944862 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.44969589, |
|
|
"latitude": 32.53923831 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "尼玛" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-022", |
|
|
"name": "龙日镇壤噶夺玛村21号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "壤噶夺玛村", |
|
|
"pointName": "21号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.47179278, |
|
|
"latitude": 32.40707185 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.47150078, |
|
|
"latitude": 32.40722678 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "求扎" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-023", |
|
|
"name": "龙日镇壤噶夺玛村22号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "龙日镇", |
|
|
"village": "壤噶夺玛村", |
|
|
"pointName": "22号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.49088427, |
|
|
"latitude": 32.4950118 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.49071333, |
|
|
"latitude": 32.49521145 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "俄白" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-024", |
|
|
"name": "邛溪镇玛萨村23号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "玛萨村", |
|
|
"pointName": "23号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.63389415, |
|
|
"latitude": 32.77017909 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.6341466, |
|
|
"latitude": 32.77015436 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "杨中泽仁" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-025", |
|
|
"name": "邛溪镇玛萨村24号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "玛萨村", |
|
|
"pointName": "24号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.55578247, |
|
|
"latitude": 32.71974519 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.55496732, |
|
|
"latitude": 32.71987605 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "西泽" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-026", |
|
|
"name": "邛溪镇玛萨村25号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "玛萨村", |
|
|
"pointName": "25号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.5948059, |
|
|
"latitude": 32.73476878 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.59523521, |
|
|
"latitude": 32.73509347 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "阿尔布基" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-027", |
|
|
"name": "邛溪镇玛萨村26号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "玛萨村", |
|
|
"pointName": "26号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.63704412, |
|
|
"latitude": 32.8134533 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.63713205, |
|
|
"latitude": 32.81316056 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "兰卡" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-028", |
|
|
"name": "邛溪镇达格龙村27号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "达格龙村", |
|
|
"pointName": "27号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.50979432, |
|
|
"latitude": 32.80879562 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "华扎" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-029", |
|
|
"name": "邛溪镇达格龙村28号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "达格龙村", |
|
|
"pointName": "28号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.46200958, |
|
|
"latitude": 32.954686 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.46173752, |
|
|
"latitude": 32.95518424 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "勒西" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-030", |
|
|
"name": "邛溪镇达格龙村29号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "达格龙村", |
|
|
"pointName": "29号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.70045355, |
|
|
"latitude": 32.72249951 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.70020081, |
|
|
"latitude": 32.72191648 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "夺基泽单" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-031", |
|
|
"name": "邛溪镇麻色阳德村30号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "麻色阳德村", |
|
|
"pointName": "30号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.5118488, |
|
|
"latitude": 32.93352001 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.51242484, |
|
|
"latitude": 32.93367637 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "卡卓措" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-032", |
|
|
"name": "邛溪镇麻色阳德村31号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "麻色阳德村", |
|
|
"pointName": "31号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.52277514, |
|
|
"latitude": 32.95178758 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.52268299, |
|
|
"latitude": 32.95119696 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "甲花若巴" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-033", |
|
|
"name": "邛溪镇麻色阳德村32号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "麻色阳德村", |
|
|
"pointName": "32号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.54154441, |
|
|
"latitude": 32.97243338 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.54114597, |
|
|
"latitude": 32.97254854 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "布穷" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-034", |
|
|
"name": "邛溪镇热坤村33号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "热坤村", |
|
|
"pointName": "33号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.68837196, |
|
|
"latitude": 32.90189172 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.68834131, |
|
|
"latitude": 32.90209342 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "丹姆初" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-035", |
|
|
"name": "邛溪镇热坤村34号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "热坤村", |
|
|
"pointName": "34号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.66431407, |
|
|
"latitude": 32.89220187 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.6640831, |
|
|
"latitude": 32.89217135 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "塔尔洼" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-036", |
|
|
"name": "邛溪镇热坤村35号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "热坤村", |
|
|
"pointName": "35号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.57510429, |
|
|
"latitude": 32.8117671 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.57449573, |
|
|
"latitude": 32.81193451 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "相木秋" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-037", |
|
|
"name": "邛溪镇热多村36号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "热多村", |
|
|
"pointName": "36号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.60036425, |
|
|
"latitude": 32.96680279 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.59972676, |
|
|
"latitude": 32.96673649 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "索科" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-038", |
|
|
"name": "邛溪镇热多村37号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "热多村", |
|
|
"pointName": "37号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.5418407, |
|
|
"latitude": 32.92737961 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.54097207, |
|
|
"latitude": 32.92694872 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "容中黑周" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-039", |
|
|
"name": "邛溪镇热多村38号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "邛溪镇", |
|
|
"village": "热多村", |
|
|
"pointName": "38号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.58801957, |
|
|
"latitude": 32.88408206 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.58826677, |
|
|
"latitude": 32.88476392 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "桑都" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-040", |
|
|
"name": "查尔玛乡什布龙村39号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "什布龙村", |
|
|
"pointName": "39号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.07972827, |
|
|
"latitude": 32.47333689 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.07991934, |
|
|
"latitude": 32.47311379 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "茫兴" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-041", |
|
|
"name": "查尔玛乡什布龙村40号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "什布龙村", |
|
|
"pointName": "40号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.02905511, |
|
|
"latitude": 32.43749287 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.02913011, |
|
|
"latitude": 32.43776256 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "得基卓玛" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-042", |
|
|
"name": "查尔玛乡什布龙村41号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "什布龙村", |
|
|
"pointName": "41号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.02290624, |
|
|
"latitude": 32.46043784 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.02292951, |
|
|
"latitude": 32.46024019 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "俄玛" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-043", |
|
|
"name": "查尔玛乡什布龙村42号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "什布龙村", |
|
|
"pointName": "42号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "能周" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-044", |
|
|
"name": "查尔玛乡查龙村43号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "查龙村", |
|
|
"pointName": "43号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 101.9504197, |
|
|
"latitude": 32.41285591 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "桑都措" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-045", |
|
|
"name": "查尔玛乡查龙村44号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "查龙村", |
|
|
"pointName": "44号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 101.93515169, |
|
|
"latitude": 32.42601524 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 101.93533172, |
|
|
"latitude": 32.42625182 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "求沙" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-046", |
|
|
"name": "查尔玛乡查龙村45号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "查龙村", |
|
|
"pointName": "45号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 101.95330639, |
|
|
"latitude": 32.50669919 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 101.95319961, |
|
|
"latitude": 32.50653773 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "旦渣" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-047", |
|
|
"name": "查尔玛乡达尔龙村46号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "达尔龙村", |
|
|
"pointName": "46号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.13292789, |
|
|
"latitude": 32.44464674 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.13310816, |
|
|
"latitude": 32.44495604 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "达玛王" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-048", |
|
|
"name": "查尔玛乡达尔龙村47号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "达尔龙村", |
|
|
"pointName": "47号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.1000073, |
|
|
"latitude": 32.52950127 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.10031343, |
|
|
"latitude": 32.52946984 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "吉措" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-049", |
|
|
"name": "查尔玛乡达尔龙村48号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "查尔玛乡", |
|
|
"village": "达尔龙村", |
|
|
"pointName": "48号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.11832613, |
|
|
"latitude": 32.54201141 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.1186522, |
|
|
"latitude": 32.54205879 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "然让" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-050", |
|
|
"name": "瓦切镇德香村49号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "德香村", |
|
|
"pointName": "49号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.59826937, |
|
|
"latitude": 33.15242954 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.59817262, |
|
|
"latitude": 33.15279516 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "索郎益西" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-051", |
|
|
"name": "瓦切镇德香村50号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "德香村", |
|
|
"pointName": "50号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.58881798, |
|
|
"latitude": 33.13491038 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "阿布洛" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-052", |
|
|
"name": "瓦切镇德香村51号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "德香村", |
|
|
"pointName": "51号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.62447024, |
|
|
"latitude": 33.14756405 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "甲花扎巴" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-053", |
|
|
"name": "瓦切镇唐日村52号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "唐日村", |
|
|
"pointName": "52号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.60249352, |
|
|
"latitude": 33.06252399 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.60287876, |
|
|
"latitude": 33.06269322 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "桑阿" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-054", |
|
|
"name": "瓦切镇唐日村53号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "唐日村", |
|
|
"pointName": "53号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.6195876, |
|
|
"latitude": 33.07660844 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.62023015, |
|
|
"latitude": 33.07672504 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "泽旺卓玛" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-055", |
|
|
"name": "瓦切镇唐日村54号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "唐日村", |
|
|
"pointName": "54号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.65878993, |
|
|
"latitude": 33.0443906 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.65907881, |
|
|
"latitude": 33.04426714 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "达多杰" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-056", |
|
|
"name": "瓦切镇曲登塘社区55号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "曲登塘社区", |
|
|
"pointName": "55号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.60968583, |
|
|
"latitude": 33.05324231 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.60900684, |
|
|
"latitude": 33.05296943 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "甲花" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-057", |
|
|
"name": "瓦切镇达峨村56号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "达峨村", |
|
|
"pointName": "56号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.60365851, |
|
|
"latitude": 33.08085512 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.60388795, |
|
|
"latitude": 33.080497 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "普尔娃他" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-058", |
|
|
"name": "瓦切镇达峨村57号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "达峨村", |
|
|
"pointName": "57号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.60526934, |
|
|
"latitude": 33.03662516 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.60558227, |
|
|
"latitude": 33.03649561 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "腊夺" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-059", |
|
|
"name": "瓦切镇达峨村58号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "达峨村", |
|
|
"pointName": "58号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.68739311, |
|
|
"latitude": 33.0149217 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.68677242, |
|
|
"latitude": 33.01494028 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "拉姆姐" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-060", |
|
|
"name": "瓦切镇日干村59号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "日干村", |
|
|
"pointName": "59号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.75821556, |
|
|
"latitude": 33.05186118 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.75797357, |
|
|
"latitude": 33.05247976 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "尔金姐" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-061", |
|
|
"name": "瓦切镇日干村60号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "日干村", |
|
|
"pointName": "60号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.72188962, |
|
|
"latitude": 33.09419876 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.72144107, |
|
|
"latitude": 33.09435508 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "果·尼科" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-062", |
|
|
"name": "瓦切镇日干村61号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "日干村", |
|
|
"pointName": "61号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.61834278, |
|
|
"latitude": 33.16780533 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": null, |
|
|
"latitude": null |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "苏拉王" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-063", |
|
|
"name": "瓦切镇色永村62号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "色永村", |
|
|
"pointName": "62号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.80909925, |
|
|
"latitude": 33.03857555 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.80956551, |
|
|
"latitude": 33.03877017 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "桑阿" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-064", |
|
|
"name": "瓦切镇色永村63号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "色永村", |
|
|
"pointName": "63号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.82561727, |
|
|
"latitude": 33.03236022 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.82588257, |
|
|
"latitude": 33.03170874 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "卓玛娜姆" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-065", |
|
|
"name": "瓦切镇色永村64号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "瓦切镇", |
|
|
"village": "色永村", |
|
|
"pointName": "64号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.83285089, |
|
|
"latitude": 33.02300106 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.83282822, |
|
|
"latitude": 33.02336202 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "麦朵拉姆" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-066", |
|
|
"name": "江茸乡江宫玛村65号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "江茸乡", |
|
|
"village": "江宫玛村", |
|
|
"pointName": "65号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.20070669, |
|
|
"latitude": 32.42224384 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.19990732, |
|
|
"latitude": 32.42229086 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "支多娜姆" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-067", |
|
|
"name": "江茸乡江宫玛村66号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "江茸乡", |
|
|
"village": "江宫玛村", |
|
|
"pointName": "66号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.20320835, |
|
|
"latitude": 32.43908196 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.20292182, |
|
|
"latitude": 32.43868925 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "俄波" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-068", |
|
|
"name": "江茸乡江宫玛村67号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "江茸乡", |
|
|
"village": "江宫玛村", |
|
|
"pointName": "67号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.22170157, |
|
|
"latitude": 32.47727277 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.2217086, |
|
|
"latitude": 32.4769641 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "格日" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-069", |
|
|
"name": "江茸乡茸日玛村68号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "江茸乡", |
|
|
"village": "茸日玛村", |
|
|
"pointName": "68号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.22028091, |
|
|
"latitude": 32.50928539 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.21973813, |
|
|
"latitude": 32.50918264 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "更让尼玛" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-070", |
|
|
"name": "江茸乡茸日玛村69号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "江茸乡", |
|
|
"village": "茸日玛村", |
|
|
"pointName": "69号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.22815984, |
|
|
"latitude": 32.51915025 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.22810898, |
|
|
"latitude": 32.51942 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "罗布让" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-071", |
|
|
"name": "江茸乡茸日玛村70号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "江茸乡", |
|
|
"village": "茸日玛村", |
|
|
"pointName": "70号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.22913952, |
|
|
"latitude": 32.50866903 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.22938935, |
|
|
"latitude": 32.50833256 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "王甲" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-072", |
|
|
"name": "江茸乡茸日玛村71号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "江茸乡", |
|
|
"village": "茸日玛村", |
|
|
"pointName": "71号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.23962706, |
|
|
"latitude": 32.48083944 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.23990168, |
|
|
"latitude": 32.48078901 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "占波" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-073", |
|
|
"name": "刷经寺镇壤口村72号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "刷经寺镇", |
|
|
"village": "壤口村", |
|
|
"pointName": "72号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.61148498, |
|
|
"latitude": 32.08914501 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.61169021, |
|
|
"latitude": 32.08932106 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "罗日" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-074", |
|
|
"name": "刷经寺镇壤口村73号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "刷经寺镇", |
|
|
"village": "壤口村", |
|
|
"pointName": "73号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.5699463, |
|
|
"latitude": 32.08635954 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.56962246, |
|
|
"latitude": 32.08623818 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "甲花夺基" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-075", |
|
|
"name": "刷经寺镇壤口村74号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "刷经寺镇", |
|
|
"village": "壤口村", |
|
|
"pointName": "74号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.48249928, |
|
|
"latitude": 32.20799391 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.48240109, |
|
|
"latitude": 32.20777413 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "供木丹" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-076", |
|
|
"name": "刷经寺镇壤口村75号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "刷经寺镇", |
|
|
"village": "壤口村", |
|
|
"pointName": "75号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.55912658, |
|
|
"latitude": 32.38683384 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.5588633, |
|
|
"latitude": 32.38692708 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "华尔白" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-077", |
|
|
"name": "阿木乡峨扎村76号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "阿木乡", |
|
|
"village": "峨扎村", |
|
|
"pointName": "76号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.67883757, |
|
|
"latitude": 32.93485478 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.67850122, |
|
|
"latitude": 32.93495695 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "谢尔拉姆" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-078", |
|
|
"name": "阿木乡峨扎村77号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "阿木乡", |
|
|
"village": "峨扎村", |
|
|
"pointName": "77号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.8392576, |
|
|
"latitude": 32.77165891 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.83999152, |
|
|
"latitude": 32.77133407 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "若巴" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-079", |
|
|
"name": "阿木乡峨扎村78号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "阿木乡", |
|
|
"village": "峨扎村", |
|
|
"pointName": "78号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.78948161, |
|
|
"latitude": 32.79853105 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.79027109, |
|
|
"latitude": 32.79883402 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "扑尔夺" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-080", |
|
|
"name": "阿木乡卡口村79号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "阿木乡", |
|
|
"village": "卡口村", |
|
|
"pointName": "79号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.83426146, |
|
|
"latitude": 32.86765306 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.83380011, |
|
|
"latitude": 32.86722605 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "甲基" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-081", |
|
|
"name": "阿木乡卡口村80号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "阿木乡", |
|
|
"village": "卡口村", |
|
|
"pointName": "80号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.83237405, |
|
|
"latitude": 32.82819561 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.83189751, |
|
|
"latitude": 32.82836028 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "尕得" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FAMILY-PASTURE-082", |
|
|
"name": "阿木乡卡口村81号点家庭牧场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", |
|
|
"sourceSheet": "Sheet1", |
|
|
"town": "阿木乡", |
|
|
"village": "卡口村", |
|
|
"pointName": "81号点", |
|
|
"locations": { |
|
|
"greenhouse": { |
|
|
"longitude": 102.7785588, |
|
|
"latitude": 32.72665098 |
|
|
}, |
|
|
"managementHouse": { |
|
|
"longitude": 102.77903691, |
|
|
"latitude": 32.72696452 |
|
|
} |
|
|
}, |
|
|
"contacts": { |
|
|
"owner": "西夏唐美" |
|
|
}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" |
|
|
} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-BREEDING-BASE", |
|
|
"categoryName": "标准化养殖基地", |
|
|
"industryStage": "scale-breeding", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:标准化养殖基地" |
|
|
], |
|
|
"itemCount": 19, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-001", |
|
|
"name": "阿木乡卡口村标准化养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "阿木乡卡口乡", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.63473007, |
|
|
"latitude": 32.92227975, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 429, |
|
|
"年出栏量 (头)": 35 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "阿木乡卡口村村集体经济", |
|
|
"建设 / 升级年份": "2022年", |
|
|
"监控设备情况": "已接入" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-002", |
|
|
"name": "瓦切唐日标准化养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "唐日村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.6175964, |
|
|
"latitude": 33.10971976, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 250 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "瓦切镇唐日村村集体经济", |
|
|
"建设 / 升级年份": "2023年", |
|
|
"监控设备情况": "已接入" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-003", |
|
|
"name": "瓦切镇标准化色永村养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "瓦切镇色永村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.62460529, |
|
|
"latitude": 33.13967122, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 600, |
|
|
"年出栏量 (头)": 1300 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县高原犇犇农副产品有限公司", |
|
|
"建设 / 升级年份": "2023年", |
|
|
"监控设备情况": "2个在线,2个离线。电路在维修" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-004", |
|
|
"name": "瓦切镇达俄村标准化养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "瓦切镇达俄村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.61994774, |
|
|
"latitude": 33.07151208, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 500, |
|
|
"年出栏量 (头)": 90 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县雅卓阳养殖农民专业合作社", |
|
|
"建设 / 升级年份": "2024年", |
|
|
"监控设备情况": "3个设备离线,电线被施工方挖断了" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-005", |
|
|
"name": "安曲牦牛扩繁基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "夺龙村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.32214229, |
|
|
"latitude": 32.64253259, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 200 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县雅克农业开发有限责任公司", |
|
|
"建设 / 升级年份": "2022年", |
|
|
"监控设备情况": "已接入" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-006", |
|
|
"name": "安曲标准化养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "夺龙村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.32390544, |
|
|
"latitude": 32.63888471, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 600, |
|
|
"年出栏量 (头)": 1300 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县高原犇犇农副产品有限公司", |
|
|
"建设 / 升级年份": "2022年", |
|
|
"监控设备情况": "已接入" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-007", |
|
|
"name": "安曲下哈拉玛标准化养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "安曲下哈拉玛村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.42837241, |
|
|
"latitude": 32.7425359, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 100, |
|
|
"年出栏量 (头)": 30 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "安曲下哈拉玛村村集体经济", |
|
|
"建设 / 升级年份": "2023年", |
|
|
"监控设备情况": "已接入" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-008", |
|
|
"name": "龙日坝标准化养殖基地 (2023)", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "龙日坝村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.38394817, |
|
|
"latitude": 32.44966887, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 600, |
|
|
"年出栏量 (头)": 1400 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县雅克农业开发有限责任公司", |
|
|
"建设 / 升级年份": 2023, |
|
|
"监控设备情况": "等他们要到设备账号,然后再接入平台。" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-009", |
|
|
"name": "龙日坝标准化养殖基地 (2025)", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "龙日坝村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.38126323, |
|
|
"latitude": 32.44955785, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 3000, |
|
|
"年出栏量 (头)": 11000 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县高原犇犇农副产品有限公司", |
|
|
"建设 / 升级年份": 2025, |
|
|
"监控设备情况": "预计月底完成设备安装,完成后再接入平台。" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-010", |
|
|
"name": "刷经寺嚷口标准化养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "嚷口村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.48723433, |
|
|
"latitude": 32.20562585, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 600 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "四川川数农牧科技有限公司", |
|
|
"建设 / 升级年份": "2023年", |
|
|
"监控设备情况": "已接入" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-011", |
|
|
"name": "麦洼乡标准化养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "洞拉村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.90867472, |
|
|
"latitude": 33.07181647, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 500, |
|
|
"年出栏量 (头)": 1300 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县高原犇犇农副产品有限公司", |
|
|
"建设 / 升级年份": "2023年", |
|
|
"监控设备情况": "断电导致设备离线" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-012", |
|
|
"name": "江茸绵羊养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "茸日村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.26005599, |
|
|
"latitude": 32.50027984, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 502, |
|
|
"年出栏量 (头)": 151 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "江茸乡茸日玛村集体经济", |
|
|
"建设 / 升级年份": "2023年", |
|
|
"监控设备情况": "没有设备" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-013", |
|
|
"name": "邛溪镇麻萨阳德村标准化养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "麻色阳德村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.55803526, |
|
|
"latitude": 32.83725412, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 600, |
|
|
"年出栏量 (头)": 400 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县祥发牧业发展有限责任公司", |
|
|
"建设 / 升级年份": 2024, |
|
|
"监控设备情况": "等待联系具体情况" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-014", |
|
|
"name": "阿木乡峨扎村养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "峨扎村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.84054893, |
|
|
"latitude": 32.81675104, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 114, |
|
|
"年出栏量 (头)": 16 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "阿木乡", |
|
|
"建设 / 升级年份": "2022年", |
|
|
"监控设备情况": "没有设备" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-015", |
|
|
"name": "查尔玛查龙村养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "红原县查尔玛乡查龙村", |
|
|
"status": "正常运营", |
|
|
"longitude": 101.95890418, |
|
|
"latitude": 32.3869733, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 83, |
|
|
"年出栏量 (头)": 511 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县查尔玛乡查龙村股份经济合作联合社", |
|
|
"建设 / 升级年份": 2025, |
|
|
"监控设备情况": "没有设备" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-016", |
|
|
"name": "查尔玛什布龙养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "红原县查尔玛乡什布龙村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.11433108, |
|
|
"latitude": 32.42652249, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 60, |
|
|
"年出栏量 (头)": 286 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县查尔玛乡什布龙村股份经济合作联合社", |
|
|
"建设 / 升级年份": 2022, |
|
|
"监控设备情况": "没有设备" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-017", |
|
|
"name": "查尔玛达尔龙养殖基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "红原县查尔玛乡达尔龙村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.11709449, |
|
|
"latitude": 32.4529061, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 147, |
|
|
"年出栏量 (头)": 283 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县查尔玛乡达尔龙村村股份经济合作联合社", |
|
|
"建设 / 升级年份": 2024, |
|
|
"监控设备情况": "没有设备" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-018", |
|
|
"name": "安曲下哈拉玛改良繁育基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "安曲下哈拉玛村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.47817887, |
|
|
"latitude": 32.77041412, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 100, |
|
|
"年出栏量 (头)": 30 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "安曲下哈拉玛村村集体经济", |
|
|
"监控设备情况": "没有设备" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-BASE-019", |
|
|
"name": "麦洼利群合作社", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "标准化养殖基地", |
|
|
"town": null, |
|
|
"address": "麦洼乡滚塘村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.91754148, |
|
|
"latitude": 33.05358447, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"设计存栏量 (头)": 400, |
|
|
"年出栏量 (头)": 351 |
|
|
}, |
|
|
"attributes": { |
|
|
"运营单位": "红原县鑫陶一家农业发展专业合作社", |
|
|
"建设 / 升级年份": "2022年", |
|
|
"监控设备情况": "没有设备" |
|
|
} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-BREEDING-STOCK", |
|
|
"categoryName": "育种繁育场", |
|
|
"industryStage": "scale-breeding", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:育种场" |
|
|
], |
|
|
"itemCount": 4, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-BREEDING-STOCK-001", |
|
|
"name": "安曲牦牛扩繁基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "育种场", |
|
|
"town": null, |
|
|
"address": "安曲镇XX村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.32214229, |
|
|
"latitude": 32.64253259, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"简称": "安曲育种场", |
|
|
"运营单位": "红原县雅克农业开发有限责任公司", |
|
|
"育种等级": "县级", |
|
|
"主要育种方向": "良种扩繁", |
|
|
"基本介绍": "管理用房X间、厂房几间、占地多少、人员多少等。" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-STOCK-002", |
|
|
"name": "龙日镇农科院扩繁基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "育种场", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": "正常运营", |
|
|
"longitude": 102.2948457, |
|
|
"latitude": 32.52975262, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"简称": "龙日种畜场", |
|
|
"运营单位": "阿坝州农科院", |
|
|
"建设 / 升级年份": 2024, |
|
|
"育种等级": "省级", |
|
|
"主要育种方向": "原种保护与选育", |
|
|
"监控设备情况": "设备不支持" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-STOCK-003", |
|
|
"name": "龙日坝原种场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "育种场", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": "正常运营", |
|
|
"longitude": 102.29621044, |
|
|
"latitude": 32.52968225, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"简称": "龙日原种场", |
|
|
"运营单位": "阿坝州农科院", |
|
|
"育种等级": "省级", |
|
|
"主要育种方向": "麦洼牦牛原种保护", |
|
|
"监控设备情况": "设备不支持" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-BREEDING-STOCK-004", |
|
|
"name": "麦洼洞拉村达坤玛选育场", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "育种场", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": 102.90220018, |
|
|
"latitude": 33.07630283, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"运营单位": "麦洼乡", |
|
|
"监控设备情况": "没有设备" |
|
|
} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-FORAGE-BASE", |
|
|
"categoryName": "种草饲草基地", |
|
|
"industryStage": "artificial-grassland", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:种草饲草基地" |
|
|
], |
|
|
"itemCount": 8, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-FORAGE-BASE-001", |
|
|
"name": "红原机场种草基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "种草饲草基地", |
|
|
"town": "龙日镇", |
|
|
"address": null, |
|
|
"status": "正常运营", |
|
|
"longitude": 102.3421702, |
|
|
"latitude": 32.56665418, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"种植面积 (亩)": 1000 |
|
|
}, |
|
|
"attributes": { |
|
|
"主要草种": "燕麦草1年生,披碱草、老芒麦多年生" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FORAGE-BASE-002", |
|
|
"name": "龙日镇饲草种植基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "种草饲草基地", |
|
|
"town": "龙日镇", |
|
|
"address": null, |
|
|
"status": "正常运营", |
|
|
"longitude": 102.41691162, |
|
|
"latitude": 32.4065831, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"种植面积 (亩)": 10000 |
|
|
}, |
|
|
"attributes": { |
|
|
"主要草种": "燕麦草1年生,披碱草、老芒麦多年生" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FORAGE-BASE-003", |
|
|
"name": "安曲饲草基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "种草饲草基地", |
|
|
"town": "安曲镇", |
|
|
"address": null, |
|
|
"status": "正常运营", |
|
|
"longitude": 102.42757952, |
|
|
"latitude": 32.74443722, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"种植面积 (亩)": 2000 |
|
|
}, |
|
|
"attributes": { |
|
|
"主要草种": "燕麦草1年生,披碱草、老芒麦多年生" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FORAGE-BASE-004", |
|
|
"name": "瓦切饲草基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "种草饲草基地", |
|
|
"town": "瓦切镇", |
|
|
"address": null, |
|
|
"status": "正常运营", |
|
|
"longitude": 102.59922971, |
|
|
"latitude": 33.10319702, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"种植面积 (亩)": 7000 |
|
|
}, |
|
|
"attributes": { |
|
|
"主要草种": "燕麦草1年生,披碱草、老芒麦多年生" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FORAGE-BASE-005", |
|
|
"name": "江茸饲草基地", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "种草饲草基地", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": 102.26164962, |
|
|
"latitude": 32.50057455, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"种植面积 (亩)": 1000 |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FORAGE-BASE-006", |
|
|
"name": "畜牧工作站", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "种草饲草基地", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FORAGE-BASE-007", |
|
|
"name": "规划建设股", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "种草饲草基地", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FORAGE-BASE-008", |
|
|
"name": "数据欠缺,请两个股室核定饲草基地数据。", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "种草饲草基地", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-DISASTER-FORAGE-STORAGE", |
|
|
"categoryName": "防灾减灾饲草储备库", |
|
|
"industryStage": "forage-storage", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:防灾减灾饲草储备库" |
|
|
], |
|
|
"itemCount": 7, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-DISASTER-FORAGE-STORAGE-001", |
|
|
"name": "嚷口防灾减灾饲草储备库", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "防灾减灾饲草储备库", |
|
|
"town": "刷经寺镇", |
|
|
"address": "壤口村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.489619, |
|
|
"latitude": 32.20577086, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"总库容 (吨)": 1500, |
|
|
"发放次数": "3-4次" |
|
|
}, |
|
|
"attributes": { |
|
|
"上级单位": "红原县农业农村局", |
|
|
"储备草种": "燕麦草、披碱草、老芒麦" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-DISASTER-FORAGE-STORAGE-002", |
|
|
"name": "安曲防灾减灾饲草储备库", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "防灾减灾饲草储备库", |
|
|
"town": "安曲镇", |
|
|
"address": "夺龙村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.3283137, |
|
|
"latitude": 32.63727531, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"总库容 (吨)": 1500, |
|
|
"发放次数": "3-4次" |
|
|
}, |
|
|
"attributes": { |
|
|
"上级单位": "红原县农业农村局", |
|
|
"储备草种": "燕麦草、披碱草、老芒麦" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-DISASTER-FORAGE-STORAGE-003", |
|
|
"name": "瓦切唐日合作社饲草储备库", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "防灾减灾饲草储备库", |
|
|
"town": "瓦切镇", |
|
|
"address": "唐日村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.6162349, |
|
|
"latitude": 33.11047864, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"总库容 (吨)": 1500, |
|
|
"发放次数": "3-4次" |
|
|
}, |
|
|
"attributes": { |
|
|
"上级单位": "瓦切唐日合作社", |
|
|
"储备草种": "燕麦草、披碱草、老芒麦" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-DISASTER-FORAGE-STORAGE-004", |
|
|
"name": "瓦切牧草交易中心饲草储备库", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "防灾减灾饲草储备库", |
|
|
"town": "瓦切镇", |
|
|
"address": "达俄村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.6014834, |
|
|
"latitude": 33.09604707, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"总库容 (吨)": 1500, |
|
|
"发放次数": "3-4次" |
|
|
}, |
|
|
"attributes": { |
|
|
"上级单位": "红原县农业农村局", |
|
|
"储备草种": "燕麦草、披碱草、老芒麦" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-DISASTER-FORAGE-STORAGE-005", |
|
|
"name": "龙日坝龙日坝村 1 饲草储备库", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "防灾减灾饲草储备库", |
|
|
"town": "龙日镇", |
|
|
"address": "龙日坝村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.383916, |
|
|
"latitude": 32.44992916, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"总库容 (吨)": 1500, |
|
|
"发放次数": "3-4次" |
|
|
}, |
|
|
"attributes": { |
|
|
"上级单位": "红原县农业农村局", |
|
|
"储备草种": "燕麦草、披碱草、老芒麦" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-DISASTER-FORAGE-STORAGE-006", |
|
|
"name": "龙日坝龙日坝村 2 饲草储备库", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "防灾减灾饲草储备库", |
|
|
"town": "龙日镇", |
|
|
"address": "龙日坝村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.3834086, |
|
|
"latitude": 32.45041994, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"总库容 (吨)": 1500, |
|
|
"发放次数": "3-4次" |
|
|
}, |
|
|
"attributes": { |
|
|
"上级单位": "红原县农业农村局", |
|
|
"储备草种": "燕麦草、披碱草、老芒麦" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-DISASTER-FORAGE-STORAGE-007", |
|
|
"name": "江茸乡饲草储备库", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "防灾减灾饲草储备库", |
|
|
"town": "江茸乡", |
|
|
"address": "茸日玛村", |
|
|
"status": "正常运营", |
|
|
"longitude": 102.256868, |
|
|
"latitude": 32.46996565, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"总库容 (吨)": 1500, |
|
|
"发放次数": "3-4次" |
|
|
}, |
|
|
"attributes": { |
|
|
"上级单位": "江茸乡", |
|
|
"储备草种": "燕麦草、披碱草、老芒麦" |
|
|
} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-PROCESSING-PLANT", |
|
|
"categoryName": "加工厂", |
|
|
"industryStage": "slaughter-processing", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:加工厂" |
|
|
], |
|
|
"itemCount": 9, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-001", |
|
|
"name": "西部牦牛产业集团有限责任公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路37号", |
|
|
"status": "存续(在营)", |
|
|
"longitude": 102.5292, |
|
|
"latitude": 32.7917, |
|
|
"contacts": { |
|
|
"leader": "税晓燕", |
|
|
"phone": 13348993961 |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日处理鲜奶能力 (吨)": "约 50吨/日", |
|
|
"年加工鲜奶总量 (吨)": 3000, |
|
|
"年产值 (万元)": 30000, |
|
|
"带动本地农户数": 6000, |
|
|
"原料奶冷藏能力 (吨)": 400 |
|
|
}, |
|
|
"attributes": { |
|
|
"SC 许可证号": "SC10551323300016", |
|
|
"主要产品": "牦牛奶粉", |
|
|
"奶源来源": "红原县及周边", |
|
|
"产品销售范围": "全国" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-002", |
|
|
"name": "四川红原菊乐牦牛乳业有限公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路76号附6号", |
|
|
"status": "存续(在营)", |
|
|
"longitude": 102.5666, |
|
|
"latitude": 32.8179, |
|
|
"contacts": { |
|
|
"leader": "刘鑫森", |
|
|
"phone": 18581879298 |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日处理鲜奶能力 (吨)": "约240吨/日", |
|
|
"年加工鲜奶总量 (吨)": 4000, |
|
|
"年产值 (万元)": 7000, |
|
|
"带动本地农户数": 600, |
|
|
"原料奶冷藏能力 (吨)": 2000 |
|
|
}, |
|
|
"attributes": { |
|
|
"SC 许可证号": "SC10551323300032", |
|
|
"主要产品": "圣舟牦牛奶", |
|
|
"奶源来源": "红原县及周边", |
|
|
"产品销售范围": "全国、四川为主" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-003", |
|
|
"name": "四川雅克乳业有限公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路", |
|
|
"status": "存续(在营)", |
|
|
"longitude": 102.5315, |
|
|
"latitude": 32.7921, |
|
|
"contacts": { |
|
|
"leader": "徐瑞", |
|
|
"phone": 18628189868 |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日处理鲜奶能力 (吨)": "约 2吨/日", |
|
|
"年加工鲜奶总量 (吨)": 1000, |
|
|
"年产值 (万元)": 3000, |
|
|
"带动本地农户数": 200, |
|
|
"原料奶冷藏能力 (吨)": "无(委托)" |
|
|
}, |
|
|
"attributes": { |
|
|
"SC 许可证号": "SC10551323300032(委托)", |
|
|
"主要产品": "牦牛酸奶、牦牛奶粉、牦牛奶冰淇淋(", |
|
|
"奶源来源": "红原县及周边", |
|
|
"产品销售范围": "四川" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-004", |
|
|
"name": "企业全称", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": "详细地址", |
|
|
"status": "运营状态", |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": { |
|
|
"leader": "负责人", |
|
|
"phone": "联系电话" |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日处理鲜奶能力 (吨)": "设计日加工能力 (吨)", |
|
|
"年加工鲜奶总量 (吨)": "年加工原料肉总量 (吨)", |
|
|
"年产值 (万元)": "年产值 (万元)", |
|
|
"带动本地农户数": "带动本地农户数", |
|
|
"原料奶冷藏能力 (吨)": "冷库容量 (吨)" |
|
|
}, |
|
|
"attributes": { |
|
|
"SC 许可证号": "SC 许可证号", |
|
|
"主要产品": "主要产品", |
|
|
"奶源来源": "原料来源", |
|
|
"产品销售范围": "产品销售范围" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-005", |
|
|
"name": "四川红原遛遛牛食品有限责任公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路72号", |
|
|
"status": "存续(在营)", |
|
|
"longitude": 102.5592, |
|
|
"latitude": 32.8151, |
|
|
"contacts": { |
|
|
"leader": "王加立", |
|
|
"phone": 13982065805 |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日处理鲜奶能力 (吨)": "约15吨/日", |
|
|
"年加工鲜奶总量 (吨)": "约4500吨/年", |
|
|
"年产值 (万元)": "约8000万元", |
|
|
"带动本地农户数": 400, |
|
|
"原料奶冷藏能力 (吨)": 1000 |
|
|
}, |
|
|
"attributes": { |
|
|
"SC 许可证号": "SC10451323300028", |
|
|
"主要产品": "风干牦牛肉、手撕牦牛肉、卤制牦牛肉、牦牛肉酱", |
|
|
"奶源来源": "红原县及周边麦洼牦牛", |
|
|
"产品销售范围": "全国、四川为主" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-006", |
|
|
"name": "四川红原黑帐篷牦牛肉食品有限责任公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆中路", |
|
|
"status": "存续(在营)", |
|
|
"longitude": 102.551, |
|
|
"latitude": 32.7987, |
|
|
"contacts": { |
|
|
"leader": "龙国胜", |
|
|
"phone": "0837-8994333" |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日处理鲜奶能力 (吨)": "约 1吨/日", |
|
|
"年加工鲜奶总量 (吨)": "约300吨/年", |
|
|
"年产值 (万元)": 1000, |
|
|
"带动本地农户数": 200, |
|
|
"原料奶冷藏能力 (吨)": 200 |
|
|
}, |
|
|
"attributes": { |
|
|
"主要产品": "风干牦牛肉、手撕牦牛肉、卤牦牛肉、牦牛肉礼包", |
|
|
"奶源来源": "红原本地麦洼牦牛", |
|
|
"产品销售范围": "全国、四川为主" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-007", |
|
|
"name": "红原御坊斋牦牛肉制品厂", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇阳嘎北街", |
|
|
"status": "存续(在营)", |
|
|
"longitude": 102.5431, |
|
|
"latitude": 32.7962, |
|
|
"contacts": { |
|
|
"leader": "陈远明", |
|
|
"phone": "0837-2662837" |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日处理鲜奶能力 (吨)": "约 0.5吨/日", |
|
|
"年加工鲜奶总量 (吨)": "约200吨/年", |
|
|
"年产值 (万元)": 600, |
|
|
"带动本地农户数": 100, |
|
|
"原料奶冷藏能力 (吨)": 100 |
|
|
}, |
|
|
"attributes": { |
|
|
"SC 许可证号": "SC10451323300036", |
|
|
"主要产品": "牛肉干、卤牦牛肉、手撕牦牛肉、牦牛肉粒", |
|
|
"奶源来源": "红原本地麦洼牦牛", |
|
|
"产品销售范围": "四川" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-008", |
|
|
"name": "四川牦牛火了生态农业科技有限公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": "四川省阿坝藏族羌族自治州红原县瑞庆中路13号附1号", |
|
|
"status": "存续(在营)", |
|
|
"longitude": 102.5402, |
|
|
"latitude": 32.7958, |
|
|
"contacts": { |
|
|
"leader": "王忠波", |
|
|
"phone": 18980978767 |
|
|
}, |
|
|
"metrics": { |
|
|
"年产值 (万元)": 500 |
|
|
}, |
|
|
"attributes": { |
|
|
"主要产品": "包装牦牛肉干", |
|
|
"奶源来源": "红原及周边加工厂成品", |
|
|
"产品销售范围": "四川" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-PROCESSING-PLANT-009", |
|
|
"name": "农产品检测站", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "加工厂", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-SLAUGHTERHOUSE", |
|
|
"categoryName": "屠宰厂", |
|
|
"industryStage": "slaughter-processing", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:屠宰厂" |
|
|
], |
|
|
"itemCount": 7, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-SLAUGHTERHOUSE-001", |
|
|
"name": "红原宏牦牛肉食品有限责任公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "屠宰厂", |
|
|
"town": null, |
|
|
"address": "四川省阿坝州红原县邛溪镇桑青路11号", |
|
|
"status": "正常", |
|
|
"longitude": 102.53333333, |
|
|
"latitude": 32.78333333, |
|
|
"contacts": { |
|
|
"leader": "蒋悦南", |
|
|
"phone": 13909047031 |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日屠宰能力 (头)": 200, |
|
|
"年屠宰总量 (头)": 20000, |
|
|
"冷冻库容量 (吨)": 800, |
|
|
"年总产值 (万元)": "2000-5000" |
|
|
}, |
|
|
"attributes": { |
|
|
"环保达标情况": "已达标" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SLAUGHTERHOUSE-002", |
|
|
"name": "红原县永源牦牛肉业有限责任公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "屠宰厂", |
|
|
"town": null, |
|
|
"address": "红原县绿色产业园区", |
|
|
"status": "正常", |
|
|
"longitude": 102.56055556, |
|
|
"latitude": 32.82, |
|
|
"contacts": { |
|
|
"leader": "张建", |
|
|
"phone": 13541231860 |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日屠宰能力 (头)": 167, |
|
|
"年屠宰总量 (头)": 20000, |
|
|
"冷冻库容量 (吨)": 2400, |
|
|
"年总产值 (万元)": 2046 |
|
|
}, |
|
|
"attributes": { |
|
|
"定点屠宰证号": "A29191301", |
|
|
"环保达标情况": "达标" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SLAUGHTERHOUSE-003", |
|
|
"name": "红原新希望牦牛产业有限公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "屠宰厂", |
|
|
"town": null, |
|
|
"address": "红原县邛溪镇绿色工业园区内", |
|
|
"status": "正常", |
|
|
"longitude": 9175.41666667, |
|
|
"latitude": 13213.51666667, |
|
|
"contacts": { |
|
|
"leader": "柴建", |
|
|
"phone": "17778545888" |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日屠宰能力 (头)": 300, |
|
|
"年屠宰总量 (头)": 10000, |
|
|
"冷冻库容量 (吨)": 3000, |
|
|
"年总产值 (万元)": 4048.63 |
|
|
}, |
|
|
"attributes": { |
|
|
"环保达标情况": "达标" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SLAUGHTERHOUSE-004", |
|
|
"name": "红原县天交畜牧科技有限公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "屠宰厂", |
|
|
"town": null, |
|
|
"address": "红原县邛溪镇绿色产业园区瑞庆东路76号附5号", |
|
|
"status": "正常", |
|
|
"longitude": 102.90083333, |
|
|
"latitude": 33.33083333, |
|
|
"contacts": { |
|
|
"leader": "余震", |
|
|
"phone": 18080930003 |
|
|
}, |
|
|
"metrics": { |
|
|
"设计日屠宰能力 (头)": 150, |
|
|
"年屠宰总量 (头)": 18000, |
|
|
"冷冻库容量 (吨)": 2000, |
|
|
"年总产值 (万元)": 1200 |
|
|
}, |
|
|
"attributes": { |
|
|
"环保达标情况": "达标" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SLAUGHTERHOUSE-005", |
|
|
"name": "红原县雪月天佑农牧科技有限公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "屠宰厂", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SLAUGHTERHOUSE-006", |
|
|
"name": "红原牦牛肉食品有限责任公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "屠宰厂", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SLAUGHTERHOUSE-007", |
|
|
"name": "执法大队", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "屠宰厂", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-FARM-EQUIPMENT", |
|
|
"categoryName": "农机装备", |
|
|
"industryStage": "farm-equipment", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:农机装备" |
|
|
], |
|
|
"itemCount": 2, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-FARM-EQUIPMENT-001", |
|
|
"name": "红原县益众农业机械服务专业合作社", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "农机装备", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"简称": "益众农机" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-FARM-EQUIPMENT-002", |
|
|
"name": "农机监理站", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "农机装备", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-DISEASE-CONTROL", |
|
|
"categoryName": "疫病防控", |
|
|
"industryStage": "social-service", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:疫病防控" |
|
|
], |
|
|
"itemCount": 3, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-DISEASE-CONTROL-001", |
|
|
"name": "红原县高原牧歌农业科技有限公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "疫病防控", |
|
|
"town": null, |
|
|
"address": "邛溪镇", |
|
|
"status": null, |
|
|
"longitude": 102.54861991, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-DISEASE-CONTROL-002", |
|
|
"name": "红原县动物疫病预防控制中心", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "疫病防控", |
|
|
"town": null, |
|
|
"address": "邛溪镇", |
|
|
"status": null, |
|
|
"longitude": 102.54852894, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-DISEASE-CONTROL-003", |
|
|
"name": "疫控中心", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "疫病防控", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-TECH-TRAINING", |
|
|
"categoryName": "技术培训", |
|
|
"industryStage": "social-service", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:技术培训" |
|
|
], |
|
|
"itemCount": 8, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-TECH-TRAINING-001", |
|
|
"name": "四川省草科院", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "技术培训", |
|
|
"town": "瓦切镇", |
|
|
"address": "国家级牧草基地", |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": { |
|
|
"expertTeam": "游明鸿、季晓菲、官久强、安添午、赵文吉、贾国夫等", |
|
|
"contactPerson": "游明鸿", |
|
|
"phone": 13880288056 |
|
|
}, |
|
|
"metrics": { |
|
|
"年培训场次": "‘2-3", |
|
|
"年培训人次": "80-100", |
|
|
"单次最大容纳人数": 40, |
|
|
"下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等" |
|
|
}, |
|
|
"attributes": { |
|
|
"序号": 1, |
|
|
"机构类型": "科研院所", |
|
|
"主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等", |
|
|
"最近培训时间": "7月" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-TECH-TRAINING-002", |
|
|
"name": "乡村振兴科技特派团", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "技术培训", |
|
|
"town": "全县覆盖", |
|
|
"address": "县农业农村局", |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": { |
|
|
"expertTeam": "游明鸿、季晓菲、刘琳、官久强、安添午、赵文吉等", |
|
|
"contactPerson": "游明鸿", |
|
|
"phone": 13880288056 |
|
|
}, |
|
|
"metrics": { |
|
|
"年培训场次": "’3-4", |
|
|
"年培训人次": "100-150", |
|
|
"单次最大容纳人数": 40, |
|
|
"下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等" |
|
|
}, |
|
|
"attributes": { |
|
|
"序号": 2, |
|
|
"机构类型": "政府派出机构", |
|
|
"主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等", |
|
|
"最近培训时间": "7月" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-TECH-TRAINING-003", |
|
|
"name": "中国科学院", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "技术培训", |
|
|
"town": "邛溪镇", |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"序号": 3, |
|
|
"机构类型": "国家级科研机构" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-TECH-TRAINING-004", |
|
|
"name": "红原县畜牧业高质量发展专家工作站", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "技术培训", |
|
|
"town": "邛溪镇", |
|
|
"address": "县畜牧兽医服务中心", |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"序号": 4, |
|
|
"机构类型": "地方专家平台" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-TECH-TRAINING-005", |
|
|
"name": "西南民族大学", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "技术培训", |
|
|
"town": "邛溪镇", |
|
|
"address": "红原牦牛研究基地", |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"序号": 5, |
|
|
"机构类型": "高校" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-TECH-TRAINING-006", |
|
|
"name": "阿坝州农科院", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "技术培训", |
|
|
"town": "马尔康市 / 邛溪镇", |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"序号": 6, |
|
|
"机构类型": "科研院所" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-TECH-TRAINING-007", |
|
|
"name": "对接相关科研院校收集数据", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "技术培训", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"序号": "科教股" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-TECH-TRAINING-008", |
|
|
"name": "技术培训-8", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "技术培训", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"序号": "科技股" |
|
|
} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-SERVICE-FINANCE", |
|
|
"categoryName": "金融服务网点", |
|
|
"industryStage": "social-service", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:金融服务网点" |
|
|
], |
|
|
"itemCount": 4, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-SERVICE-FINANCE-001", |
|
|
"name": "中国农业银行股份有限公司红原县支行", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "金融服务网点", |
|
|
"town": null, |
|
|
"address": "红原县邛溪镇阳嘎中街", |
|
|
"status": null, |
|
|
"longitude": 102.54, |
|
|
"latitude": 32.79, |
|
|
"contacts": { |
|
|
"contactPerson": "泽旺吉松", |
|
|
"creditPhone": 13096265881 |
|
|
}, |
|
|
"metrics": { |
|
|
"服务覆盖乡镇数": 10, |
|
|
"主要贷款产品(可多选)": "惠农e贷、专业大户贷、商户贷、乡旅贷、富民贷、帮扶小额信贷。", |
|
|
"最高单户贷款额度 (万元)": 150, |
|
|
"最长贷款期限 (年)": "5年" |
|
|
}, |
|
|
"attributes": { |
|
|
"序号": 1, |
|
|
"简称": "农行红原支行", |
|
|
"年利率范围": 0.03, |
|
|
"还款方式": "等额本息还款、一次性还本按约还息、一次性利随本清、" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SERVICE-FINANCE-002", |
|
|
"name": "四川红原农村商业银行股份有限公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "金融服务网点", |
|
|
"town": null, |
|
|
"address": "红原县邛溪镇绛熙中街13号", |
|
|
"status": null, |
|
|
"longitude": 102.54, |
|
|
"latitude": 32.79, |
|
|
"contacts": { |
|
|
"contactPerson": "索让东周", |
|
|
"creditPhone": 18283790555 |
|
|
}, |
|
|
"metrics": { |
|
|
"服务覆盖乡镇数": 9, |
|
|
"主要贷款产品(可多选)": "小额农贷、生源地信用助学贷款、惠商贷、居民消费贷、消费易贷、个人生产经营贷款、个人综合消费贷款、个人一手住房贷款、一人二手住房贷款", |
|
|
"最高单户贷款额度 (万元)": 770, |
|
|
"最长贷款期限 (年)": "生源地信用助学贷款22年、个人一手住房贷款30年、个人贷款5年。" |
|
|
}, |
|
|
"attributes": { |
|
|
"序号": 2, |
|
|
"简称": "红原农商行", |
|
|
"年利率范围": "2.1%—5.0%", |
|
|
"还款方式": "按月结息、按年还本;按月结息,到期一次性还本;等额本息。" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SERVICE-FINANCE-003", |
|
|
"name": "中国邮政储蓄银行股份有限公司红原县支行", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "金融服务网点", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"服务覆盖乡镇数": 9 |
|
|
}, |
|
|
"attributes": { |
|
|
"序号": 3, |
|
|
"简称": "邮储银行红原支行" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SERVICE-FINANCE-004", |
|
|
"name": "金融服务网点-4", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "金融服务网点", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"序号": "乡村振兴股" |
|
|
} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-SERVICE-INSURANCE", |
|
|
"categoryName": "保险服务网点", |
|
|
"industryStage": "social-service", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:保险服务网点" |
|
|
], |
|
|
"itemCount": 4, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-SERVICE-INSURANCE-001", |
|
|
"name": "中华安盟财产保险股份有限公司红原支公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "保险服务网点", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": { |
|
|
"claimHotline": 95585 |
|
|
}, |
|
|
"metrics": { |
|
|
"服务覆盖乡镇数": 9 |
|
|
}, |
|
|
"attributes": { |
|
|
"序号": 1, |
|
|
"简称": "中华安盟" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SERVICE-INSURANCE-002", |
|
|
"name": "中国人民财产保险股份有限公司红原支公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "保险服务网点", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": { |
|
|
"claimHotline": 95518 |
|
|
}, |
|
|
"metrics": { |
|
|
"服务覆盖乡镇数": 9 |
|
|
}, |
|
|
"attributes": { |
|
|
"序号": 2, |
|
|
"简称": "人保财险" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SERVICE-INSURANCE-003", |
|
|
"name": "中华联合财产保险股份有限公司红原支公司", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "保险服务网点", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": { |
|
|
"claimHotline": 95585 |
|
|
}, |
|
|
"metrics": { |
|
|
"服务覆盖乡镇数": 9 |
|
|
}, |
|
|
"attributes": { |
|
|
"序号": 3, |
|
|
"简称": "中华财险" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-SERVICE-INSURANCE-004", |
|
|
"name": "保险服务网点-4", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "保险服务网点", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": {}, |
|
|
"attributes": { |
|
|
"序号": "疫控中心" |
|
|
} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-GRASSLAND-RESOURCE", |
|
|
"categoryName": "林草资源数据", |
|
|
"industryStage": "artificial-grassland", |
|
|
"sources": [ |
|
|
"详细数据清单-归档(1).xlsx:林草局数据" |
|
|
], |
|
|
"itemCount": 3, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "YC-GRASSLAND-RESOURCE-001", |
|
|
"name": "林草局数据-1", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "林草局数据", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"灌木林面积": "调整优化意见", |
|
|
"围栏封育面积": "ABC 是基本草原", |
|
|
"生态奖补面积,到每个村": "DE一般草原" |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-GRASSLAND-RESOURCE-002", |
|
|
"name": "林草局数据-2", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "林草局数据", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"灌木林面积": "基本草原面积:", |
|
|
"围栏封育面积": 637.127369, |
|
|
"生态奖补面积,到每个村": "万亩" |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "YC-GRASSLAND-RESOURCE-003", |
|
|
"name": "林草局数据-3", |
|
|
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", |
|
|
"sourceSheet": "林草局数据", |
|
|
"town": null, |
|
|
"address": null, |
|
|
"status": null, |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"灌木林面积": "一般草原面积", |
|
|
"围栏封育面积": 119.301972, |
|
|
"生态奖补面积,到每个村": "万亩" |
|
|
}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-CXPT-BREEDING-BASE", |
|
|
"categoryName": "cxpt养殖基地", |
|
|
"industryStage": "scale-breeding", |
|
|
"sources": [ |
|
|
"cxpt.t_base_land" |
|
|
], |
|
|
"itemCount": 28, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "2c9380898a69780a018a69a6e4d30001", |
|
|
"name": "下哈拉玛标准化养殖基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233103202", |
|
|
"areaName": "下哈拉玛村", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇下哈拉玛村", |
|
|
"address": null, |
|
|
"scale": "1000亩", |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"geometryType": null, |
|
|
"contacts": { |
|
|
"leader": "下哈拉玛标准化养殖基地", |
|
|
"phone": "下哈拉玛标准化养殖基地" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048125ab0001", |
|
|
"name": "刷经寺镇国航专属农场", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233101000", |
|
|
"areaName": "刷经寺镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", |
|
|
"address": "红原县刷经寺镇", |
|
|
"scale": "200亩", |
|
|
"longitude": 102.60753736, |
|
|
"latitude": 32.01520185, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "文明智", |
|
|
"phone": "18372667181" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028816489fc57730189fc6a28c60001", |
|
|
"name": "唐日标准化养殖基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233", |
|
|
"areaName": "红原县", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县", |
|
|
"address": "红原", |
|
|
"scale": "1000", |
|
|
"longitude": 102.52418747, |
|
|
"latitude": 32.7965246, |
|
|
"geometryType": "Polygon", |
|
|
"contacts": { |
|
|
"leader": "唐日标准化养殖基地", |
|
|
"phone": "18090242999" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870482432f000f", |
|
|
"name": "国航专属农牧场", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": null, |
|
|
"scale": null, |
|
|
"longitude": 102.611698, |
|
|
"latitude": 32.928581, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"phone": "13888888888" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870483afc00027", |
|
|
"name": "央诺尔畜牧专业合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233205000", |
|
|
"areaName": "阿木乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", |
|
|
"address": "四川省红原县阿木乡", |
|
|
"scale": null, |
|
|
"longitude": 102.64730957, |
|
|
"latitude": 32.94532722, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704828d450013", |
|
|
"name": "安曲哈拉玛合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233103000", |
|
|
"areaName": "安曲镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", |
|
|
"address": null, |
|
|
"scale": null, |
|
|
"longitude": 102.32834969, |
|
|
"latitude": 32.64290686, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870483a0800026", |
|
|
"name": "安曲家庭农场", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233103000", |
|
|
"areaName": "安曲镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", |
|
|
"address": "红原县安曲牧场(近209省道)", |
|
|
"scale": null, |
|
|
"longitude": 102.38834969, |
|
|
"latitude": 32.69290686, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048291f90014", |
|
|
"name": "安曲抗灾保畜基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233103000", |
|
|
"areaName": "安曲镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", |
|
|
"address": null, |
|
|
"scale": null, |
|
|
"longitude": 102.30834969, |
|
|
"latitude": 32.67290686, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048318f2001b", |
|
|
"name": "尚源牧业发展有限责任公司", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": "红原县邛溪镇", |
|
|
"scale": null, |
|
|
"longitude": 102.53242152, |
|
|
"latitude": 32.81168014, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704814a8d0005", |
|
|
"name": "更攀合作总社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": "红原县邛溪镇瑞庆西路", |
|
|
"scale": "154244亩", |
|
|
"longitude": 102.583582, |
|
|
"latitude": 32.830854, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"phone": "18789497898" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870482e47c0015", |
|
|
"name": "查尔玛乡查龙合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233203000", |
|
|
"areaName": "查尔玛乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", |
|
|
"address": null, |
|
|
"scale": null, |
|
|
"longitude": 101.96111079, |
|
|
"latitude": 32.36851156, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704812a950002", |
|
|
"name": "查尔玛乡达尔龙合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233202000", |
|
|
"areaName": "江茸乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡", |
|
|
"address": null, |
|
|
"scale": "388680亩", |
|
|
"longitude": 102.25164714, |
|
|
"latitude": 32.34434154, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"phone": "13666666666" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870482ee200016", |
|
|
"name": "查尔玛乡达智合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233203000", |
|
|
"areaName": "查尔玛乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", |
|
|
"address": null, |
|
|
"scale": null, |
|
|
"longitude": 102.10243332, |
|
|
"latitude": 32.5533277, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028816489fc81de0189fc8dd5c90000", |
|
|
"name": "查尔玛标准养殖基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233203000", |
|
|
"areaName": "查尔玛乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", |
|
|
"address": "查尔玛乡", |
|
|
"scale": "200", |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"geometryType": null, |
|
|
"contacts": { |
|
|
"leader": "查尔玛标准养殖基地", |
|
|
"phone": "13696856985" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "2c9380898a69780a018a69a654f90000", |
|
|
"name": "瓦切卡口乡标准化养殖基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": null, |
|
|
"scale": "2000", |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"geometryType": null, |
|
|
"contacts": { |
|
|
"leader": "瓦切卡口乡标准化养殖基地", |
|
|
"phone": "瓦切卡口乡标准化养殖基地" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "2c9380898a69780a018a69a7484e0002", |
|
|
"name": "瓦切唐日标准化养殖基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233204201", |
|
|
"areaName": "唐日村", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇唐日村", |
|
|
"address": null, |
|
|
"scale": "1000亩", |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"geometryType": null, |
|
|
"contacts": { |
|
|
"leader": "瓦切唐日标准化养殖基地", |
|
|
"phone": "瓦切唐日标准化养殖基地" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870483561f0020", |
|
|
"name": "瓦切德香村合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": null, |
|
|
"scale": "1800亩", |
|
|
"longitude": 102.60756103, |
|
|
"latitude": 33.16501517, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704836a0f0022", |
|
|
"name": "瓦切罗尔江合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": null, |
|
|
"scale": "5000亩", |
|
|
"longitude": 102.61692465, |
|
|
"latitude": 33.07321484, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048271970011", |
|
|
"name": "瓦切镇达峨村种草大户泽郎夺尔基", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": "红原县瓦切镇达峨村", |
|
|
"scale": "2000余平方千米", |
|
|
"longitude": 102.768611, |
|
|
"latitude": 33.218282, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "泽郎夺尔基", |
|
|
"phone": "18728211722" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048137b80004", |
|
|
"name": "红原县邛溪镇热多村高产奶牦牛繁育基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": "红原县邛溪镇热多村", |
|
|
"scale": "1000头", |
|
|
"longitude": 102.607635, |
|
|
"latitude": 32.899228, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "桑键", |
|
|
"phone": "13990407109" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704812f390003", |
|
|
"name": "红原县麦洼牦牛现代农业园区", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233105000", |
|
|
"areaName": "龙日镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇", |
|
|
"address": null, |
|
|
"scale": "664.2亩", |
|
|
"longitude": 102.523105, |
|
|
"latitude": 32.470534, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "李先生", |
|
|
"phone": "13926576971" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048339ee001e", |
|
|
"name": "红原雪玛格牦牛养殖合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233101000", |
|
|
"areaName": "刷经寺镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", |
|
|
"address": null, |
|
|
"scale": null, |
|
|
"longitude": 102.48668882, |
|
|
"latitude": 32.20779478, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048349d4001f", |
|
|
"name": "色地让里村合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233208000", |
|
|
"areaName": "色地镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县色地镇", |
|
|
"address": null, |
|
|
"scale": "2000平方米", |
|
|
"longitude": 102.97944868, |
|
|
"latitude": 32.99718428, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048300bb0019", |
|
|
"name": "邛溪国航奶牛基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": "红原县邛溪镇", |
|
|
"scale": null, |
|
|
"longitude": 102.60973364, |
|
|
"latitude": 32.93442417, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704830f93001a", |
|
|
"name": "邛溪国航肉牛基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": "红原县邛溪镇", |
|
|
"scale": null, |
|
|
"longitude": 102.5857137, |
|
|
"latitude": 32.9178444, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704832780001d", |
|
|
"name": "邛溪镇奇杨益西合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233103000", |
|
|
"areaName": "安曲镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", |
|
|
"address": null, |
|
|
"scale": "3355.4亩", |
|
|
"longitude": 102.51815641, |
|
|
"latitude": 32.7759152, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048288e30012", |
|
|
"name": "阿木乡卡口养殖基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233205000", |
|
|
"areaName": "阿木乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", |
|
|
"address": "四川省红原县阿木乡", |
|
|
"scale": null, |
|
|
"longitude": 102.66730957, |
|
|
"latitude": 32.90532722, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870482f79f0018", |
|
|
"name": "麦洼乡利群合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_base", |
|
|
"categoryNameRaw": "养殖基地", |
|
|
"areaCode": "513233207000", |
|
|
"areaName": "麦洼乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡", |
|
|
"address": "四川省阿坝藏族羌族自治州红原县麦洼乡滚塘村", |
|
|
"scale": "1万亩", |
|
|
"longitude": 102.91804548, |
|
|
"latitude": 33.05789166, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-CXPT-FORAGE-BASE", |
|
|
"categoryName": "cxpt饲草基地", |
|
|
"industryStage": "artificial-grassland", |
|
|
"sources": [ |
|
|
"cxpt.t_base_land" |
|
|
], |
|
|
"itemCount": 5, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "2c9380898a69780a018a69a7c9b10003", |
|
|
"name": "安曲种草基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "forage_base", |
|
|
"categoryNameRaw": "饲草基地", |
|
|
"areaCode": "513233103000", |
|
|
"areaName": "安曲镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", |
|
|
"address": null, |
|
|
"scale": "5000亩", |
|
|
"longitude": null, |
|
|
"latitude": null, |
|
|
"geometryType": null, |
|
|
"contacts": { |
|
|
"leader": "安曲种草基地", |
|
|
"phone": "安曲种草基地" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704835aae0021", |
|
|
"name": "瓦切抗灾保畜基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "forage_base", |
|
|
"categoryNameRaw": "饲草基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": null, |
|
|
"scale": "3000亩", |
|
|
"longitude": 102.58969571, |
|
|
"latitude": 33.0961638, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048380420023", |
|
|
"name": "瓦切色永村种草基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "forage_base", |
|
|
"categoryNameRaw": "饲草基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": null, |
|
|
"scale": "2000亩", |
|
|
"longitude": 102.63066554, |
|
|
"latitude": 33.14234459, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870483927c0025", |
|
|
"name": "瓦切镇特色蔬菜种植园", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "forage_base", |
|
|
"categoryNameRaw": "饲草基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": null, |
|
|
"scale": null, |
|
|
"longitude": 102.5959684, |
|
|
"latitude": 33.08257632, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870481a0d10006", |
|
|
"name": "红原县唐日牦牛养殖农民专业合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "forage_base", |
|
|
"categoryNameRaw": "饲草基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": "红原县瓦切镇唐日村", |
|
|
"scale": "2000亩", |
|
|
"longitude": 102.690423, |
|
|
"latitude": 33.134153, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "旦真贡", |
|
|
"phone": "18090242999" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-CXPT-BREEDING-STOCK-BASE", |
|
|
"categoryName": "cxpt种畜基地", |
|
|
"industryStage": "scale-breeding", |
|
|
"sources": [ |
|
|
"cxpt.t_base_land" |
|
|
], |
|
|
"itemCount": 1, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "4028c4f88704809e01870482f2de0017", |
|
|
"name": "麦洼乡达坤玛选育场", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "breeding_stock_base", |
|
|
"categoryNameRaw": "种畜基地", |
|
|
"areaCode": "513233207000", |
|
|
"areaName": "麦洼乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡", |
|
|
"address": null, |
|
|
"scale": "1万亩", |
|
|
"longitude": 102.90295791, |
|
|
"latitude": 33.05466505, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-CXPT-GRASS-SEED-BASE", |
|
|
"categoryName": "cxpt草种基地", |
|
|
"industryStage": "artificial-grassland", |
|
|
"sources": [ |
|
|
"cxpt.t_base_land" |
|
|
], |
|
|
"itemCount": 1, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "4028c4f88704809e018704831d77001c", |
|
|
"name": "红原县金针菇特色种植园区", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "grass_seed_base", |
|
|
"categoryNameRaw": "草种基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": "红原县邛溪镇", |
|
|
"scale": null, |
|
|
"longitude": 102.5421184, |
|
|
"latitude": 32.79970142, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
}, |
|
|
{ |
|
|
"categoryCode": "YC-CXPT-OTHER-BASE", |
|
|
"categoryName": "cxpt其他基地", |
|
|
"industryStage": "social-service", |
|
|
"sources": [ |
|
|
"cxpt.t_base_land" |
|
|
], |
|
|
"itemCount": 11, |
|
|
"items": [ |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048215ac000e", |
|
|
"name": "刷经寺镇露地蔬菜种植基地", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233101000", |
|
|
"areaName": "刷经寺镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", |
|
|
"address": "红原县刷经寺镇", |
|
|
"scale": null, |
|
|
"longitude": 102.620282, |
|
|
"latitude": 32.037843, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "文明智", |
|
|
"phone": "0837-2667185" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870482023a000c", |
|
|
"name": "四川红原遛遛牛食品有限责任公司", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233103000", |
|
|
"areaName": "安曲镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", |
|
|
"address": "四川省红原县绿色产业园区", |
|
|
"scale": "25亩", |
|
|
"longitude": 102.324776, |
|
|
"latitude": 32.689929, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "张自龙", |
|
|
"phone": "13909047233" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704826d4c0010", |
|
|
"name": "植物园", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": null, |
|
|
"scale": null, |
|
|
"longitude": 102.551944, |
|
|
"latitude": 32.780316, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"phone": "13888888888" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870481f0a0000a", |
|
|
"name": "活畜交易市场", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": "红原县邛溪镇", |
|
|
"scale": "3000亩", |
|
|
"longitude": 102.57314, |
|
|
"latitude": 32.82984, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "向白", |
|
|
"phone": "18090223335" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870481f4e9000b", |
|
|
"name": "物联网大数据监测系统", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233205000", |
|
|
"areaName": "阿木乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", |
|
|
"address": "红原县绿色工业园区", |
|
|
"scale": "10000", |
|
|
"longitude": 102.776153, |
|
|
"latitude": 32.72242, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "熊先生", |
|
|
"phone": "13845444444" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e0187048384dc0024", |
|
|
"name": "瓦切阳诺合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233204000", |
|
|
"areaName": "瓦切镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", |
|
|
"address": null, |
|
|
"scale": "3000亩", |
|
|
"longitude": 102.63675654, |
|
|
"latitude": 33.14253159, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e018704811f290000", |
|
|
"name": "红原县城市污水处理厂", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": null, |
|
|
"scale": "2.5公顷", |
|
|
"longitude": 102.559801, |
|
|
"latitude": 32.816904, |
|
|
"geometryType": "Point", |
|
|
"contacts": {}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870481b7180008", |
|
|
"name": "红原县永源牦牛肉业有限公司", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233205000", |
|
|
"areaName": "阿木乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", |
|
|
"address": "红原县邛溪镇绿色工业园区", |
|
|
"scale": "30亩", |
|
|
"longitude": 102.628332, |
|
|
"latitude": 32.639351, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "张健", |
|
|
"phone": "13566787888" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870482067d000d", |
|
|
"name": "红原县茸日玛绵羊养殖专业合作社", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233202000", |
|
|
"areaName": "江茸乡", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡", |
|
|
"address": "红原县江茸镇日玛村", |
|
|
"scale": "5000亩", |
|
|
"longitude": 102.23279, |
|
|
"latitude": 32.402614, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "旦真则旺", |
|
|
"phone": "13541576727" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870481aa840007", |
|
|
"name": "红原牦牛乳业有限责任公司", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233100000", |
|
|
"areaName": "邛溪镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", |
|
|
"address": "四川省红原县邛溪镇", |
|
|
"scale": "92490平方米", |
|
|
"longitude": 102.747914, |
|
|
"latitude": 32.802653, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "杨勇", |
|
|
"phone": "13551770158" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
}, |
|
|
{ |
|
|
"id": "4028c4f88704809e01870481cc520009", |
|
|
"name": "(无害化)红原县宜霖阳光环保科技有限公司", |
|
|
"sourceFile": "cxpt PostgreSQL database", |
|
|
"sourceSheet": "t_base_land", |
|
|
"categoryCodeRaw": "other", |
|
|
"categoryNameRaw": "其他基地", |
|
|
"areaCode": "513233105000", |
|
|
"areaName": "龙日镇", |
|
|
"areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇", |
|
|
"address": "红原县邛溪镇绛熙东街", |
|
|
"scale": "占地20亩", |
|
|
"longitude": 102.352372, |
|
|
"latitude": 32.538109, |
|
|
"geometryType": "Point", |
|
|
"contacts": { |
|
|
"leader": "谢光伍", |
|
|
"phone": "13609975631" |
|
|
}, |
|
|
"metrics": { |
|
|
"acreage": null |
|
|
}, |
|
|
"attributes": {} |
|
|
} |
|
|
] |
|
|
} |
|
|
] |
|
|
} |
|
|
`,$h=[{key:"family-pasture",name:"家庭生态牧场",color:"#24f6c4",unit:"户",metricLabel:"牧场",width:126},{key:"artificial-grassland",name:"人工草地",color:"#7ee269",unit:"万亩",metricLabel:"草地",width:112},{key:"scale-breeding",name:"规模化养殖基地",subName:"牦牛选育场",color:"#32dcff",unit:"个",metricLabel:"基地",width:132},{key:"forage-storage",name:"防灾减灾",subName:"饲草储备库",color:"#ffe06b",unit:"吨",metricLabel:"库容",width:126},{key:"slaughter-processing",name:"屠宰与加工",color:"#ff9a62",unit:"万元",metricLabel:"产值",width:112},{key:"farm-equipment",name:"农机装备",color:"#30dcff",unit:"个",metricLabel:"装备",width:112},{key:"social-service",name:"社会化服务",subName:"金融/疫病/保险/培训",color:"#9ea7ff",unit:"个",metricLabel:"主体",width:132}],wv=o9.map(n=>n.zoneName),c3e=JSON.parse(RQe),TS=c3e.categories||[],LQe=new Map(TS.map(n=>[n.categoryCode,n])),l$=new Set(["企业全称","主体全称","畜牧工作站","规划建设股","执法大队","疫控中心","科教股","科技股","乡村振兴股","农产品检测站","数据欠缺,请两个股室核定饲草基地数据。","对接相关科研院校收集数据"]),IQe=new Set(["YC-GRASSLAND-RESOURCE"]),DQe=[/^林草局数据-\d+$/,/^(技术培训|金融服务网点|保险服务网点)-\d+$/],NQe=[/蔬菜/,/植物园/,/污水/,/物联网/,/绵羊/],fI=TS.flatMap(n=>(n.items||[]).map(e=>{var t;return V2(y2({},e),{categoryCode:n.categoryCode,categoryName:n.categoryName,stageKey:n.industryStage,stageName:((t=gl(n.industryStage))==null?void 0:t.name)||n.categoryName})})),Pf=fI.filter(e0),u$=new Map(fI.map(n=>[String(n.id),n])),Rf=Bn("YC-FAMILY-PASTURE"),d3e=Bn(["YC-BREEDING-STOCK","YC-CXPT-BREEDING-STOCK-BASE"]),Lf=Bn(["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE"]),b6=Bn("YC-DISASTER-FORAGE-STORAGE"),yo=Bn("YC-PROCESSING-PLANT"),u9=Bn("YC-SLAUGHTERHOUSE"),pI=Bn("YC-FARM-EQUIPMENT"),h3e=Bn("YC-DISEASE-CONTROL"),If=Bn("YC-TECH-TRAINING"),Lu=Bn("YC-SERVICE-FINANCE"),AS=Bn("YC-SERVICE-INSURANCE"),Vd=ja(Rf),f3e=ja(Lf),s_=ja(b6),p3e=ja(d3e);ja(yo);ja(u9);const nu=ja(pI),ME=ja(h3e),m3e=ja(If),CS=ja(Lu),g3e=ja(AS);TS.filter(n=>Bn(n.categoryCode).some(e0)).length;Pf.length;new Set(Pf.map($r).filter(Boolean)).size||wv.length;const kQe=Math.max(nu,rs.reduce((n,e)=>n+Number(e.devices||0),0)),EE=yr(Lf,n=>A3(n,["种植面积 (亩)","acreage"])||e9(n.scale)),l_=yr(b6,n=>A3(n,["总库容 (吨)"])),PE=yr(Bn("YC-BREEDING-BASE"),n=>A3(n,["设计存栏量 (头)"])),v3e=yr(Bn("YC-BREEDING-BASE"),n=>A3(n,["年出栏量 (头)"])),y3e=yr(yo,n=>A3(n,["年产值 (万元)"])),mI=yr(yo,n=>A3(n,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"])),gI=yr(yo,n=>A3(n,["带动本地农户数"])),vI=yr(u9,n=>A3(n,["年总产值 (万元)"])),MS=yr(u9,n=>A3(n,["年屠宰总量 (头)"])),_3e=yr(u9,n=>A3(n,["冷冻库容量 (吨)"])),yI=y3e+vI,iu=SI(Lu,n=>A3(n,["最高单户贷款额度 (万元)"])),FQe=SI(Lu,n=>A3(n,["服务覆盖乡镇数"])),RE=SI(AS,n=>A3(n,["服务覆盖乡镇数"])),S3e=yr(If,n=>A3(n,["年培训场次"])),Yh=yr(If,n=>A3(n,["年培训人次"])),OQe=Bn("YC-BREEDING-BASE"),BQe=Bn("YC-CXPT-OTHER-BASE"),u_=ve2([...Lf,...b6]),zQe=ye2(b6),UQe=_e2(yo),GQe=Se2(),VQe=be2(),c$=rs.map(n=>({key:n.name,name:n.name,value:Number(n.devices||0),unit:"套",extra:`${qn(n.count)}头识别样本`})).filter(n=>n.value>0).sort(ei),HQe=rs.map(n=>({key:n.name,name:n.name,value:Number(n.count||0),unit:"头",extra:`${qn(n.devices)}套设备`})).filter(n=>n.value>0).sort(ei);c3e.generatedAt;b6.map(_I);[...yo,...u9].map(_I);Pf.map(_I);const WQe=Pf.map(ne2).sort((n,e)=>Number(e.canLocate)-Number(n.canLocate)||n.stageOrder-e.stageOrder||String(n.name).localeCompare(String(e.name),"zh-CN"));function jQe(n){const e=KQe(n);return({"family-pasture":[{zh:"家庭牧场",name:"家庭牧场",value:Vd,unit:"户"},{zh:"估算存栏",name:"估算存栏",value:fl,unit:"头"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:c_(Rf,$r),unit:"个"},{zh:"户均存栏",name:"户均存栏",value:Ni(fl/Math.max(Vd,1)),unit:"头/户"}],"artificial-grassland":[{zh:"种草面积",name:"种草面积",value:Ni(EE/1e4,2),unit:"万亩",decimals:2},{zh:"饲草基地",name:"饲草基地",value:f3e,unit:"个"},{zh:"草种类型",name:"草种类型",value:u_.length,unit:"类"},{zh:"草地资源",name:"草地资源",value:Ni(f6.grasslandArea/1e4,1),unit:"万亩",decimals:1}],"scale-breeding":[{zh:"养殖基地",name:"养殖基地",value:tl("scale-breeding"),unit:"个"},{zh:"设计存栏",name:"设计存栏",value:PE,unit:"头"},{zh:"年出栏",name:"年出栏",value:v3e,unit:"头"},{zh:"育种场",name:"育种场",value:p3e,unit:"个"}],"forage-storage":[{zh:"储备库",name:"储备库",value:s_,unit:"个"},{zh:"总库容",name:"总库容",value:l_,unit:"吨"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:c_(b6,$r),unit:"个"},{zh:"草种类型",name:"草种类型",value:u_.length,unit:"类"}],"slaughter-processing":[{zh:"加工屠宰",name:"加工屠宰",value:tl("slaughter-processing"),unit:"家"},{zh:"产业产值",name:"产业产值",value:Ni(yI,1),unit:"万元",decimals:1},{zh:"年屠宰量",name:"年屠宰量",value:MS,unit:"头"},{zh:"带动农户",name:"带动农户",value:gI,unit:"户"}],"farm-equipment":[{zh:"农机主体",name:"农机主体",value:nu,unit:"个"},{zh:"识别设备",name:"识别设备",value:rs.reduce((i,r)=>i+Number(r.devices||0),0),unit:"套"},{zh:"乡镇样本",name:"乡镇样本",value:rs.length,unit:"个"},{zh:"识别样本",name:"识别样本",value:rs.reduce((i,r)=>i+Number(r.count||0),0),unit:"头"}],"social-service":[{zh:"服务主体",name:"服务主体",value:tl("social-service"),unit:"个"},{zh:"最高授信",name:"最高授信",value:iu,unit:"万元"},{zh:"培训人次",name:"培训人次",value:Yh,unit:"人次"},{zh:"金融网点",name:"金融网点",value:CS,unit:"家"}]}[n]||[{zh:e.name,name:e.name,value:e.value,unit:e.unit},{zh:e.capacityUnit?"能力规模":"主体规模",name:e.capacityUnit?"能力规模":"主体规模",value:e.capacity,unit:e.capacityUnit},...(e.fields||[]).map(i=>({zh:i.label,name:i.label,value:i.value,unit:i.unit}))]).filter(i=>i.value!==void 0&&i.value!==null&&i.value!=="").slice(0,4)}$h.map(n=>({key:n.key,name:n.name,value:tl(n.key),unit:"条",color:n.color}));const d$=[{key:"family-pasture",name:"家庭生态牧场",value:Vd,unit:"户",capacity:fl,capacityUnit:"头",note:"生态家庭牧场与牦牛养殖基础",fields:[{label:"家庭牧场",value:Vd,unit:"户"},{label:"覆盖乡镇",value:c_(Rf,$r),unit:"个"},{label:"户均存栏",value:Ni(fl/Math.max(Vd,1)),unit:"头/户"}]},{key:"artificial-grassland",name:"人工草地",value:Ni(EE/1e4,2),unit:"万亩",capacity:Ni(f6.grasslandArea/1e4,1),capacityUnit:"万亩",note:"种草饲草基地、草种基地与草地资源",fields:[{label:"种草面积",value:Ni(EE/1e4,2),unit:"万亩"},{label:"饲草基地",value:f3e,unit:"个"},{label:"草种类型",value:3,unit:"类"}]},{key:"scale-breeding",name:"规模化养殖基地",value:tl("scale-breeding"),unit:"个",capacity:PE,capacityUnit:"头",note:"标准化养殖、选育扩繁与种畜基地",fields:[{label:"设计存栏",value:PE,unit:"头"},{label:"年出栏",value:v3e,unit:"头"},{label:"育种场",value:p3e,unit:"个"}]},{key:"forage-storage",name:"防灾减灾饲草储备库",value:s_,unit:"个",capacity:l_,capacityUnit:"吨",note:"饲草储备、防灾调拨和草种保障",fields:[{label:"储备库",value:s_,unit:"个"},{label:"总库容",value:l_,unit:"吨"},{label:"覆盖乡镇",value:c_(b6,$r),unit:"个"}]},{key:"slaughter-processing",name:"屠宰与加工",value:tl("slaughter-processing"),unit:"家",capacity:Ni(yI,1),capacityUnit:"万元",note:"乳品加工、肉制品加工与定点屠宰",fields:[{label:"加工产值",value:y3e,unit:"万元"},{label:"屠宰产值",value:Ni(vI,1),unit:"万元"},{label:"年屠宰量",value:MS,unit:"头"}]},{key:"farm-equipment",name:"农机装备",value:nu,unit:"个",capacity:kQe,capacityUnit:"套",note:"农机服务主体与生产监测设备",fields:[{label:"农机主体",value:nu,unit:"个"},{label:"识别设备",value:rs.reduce((n,e)=>n+Number(e.devices||0),0),unit:"套"},{label:"乡镇样本",value:rs.length,unit:"个"}]},{key:"social-service",name:"社会化服务",value:tl("social-service"),unit:"个",capacity:iu,capacityUnit:"万元",note:"金融、保险、防疫、培训和其他服务网点",fields:[{label:"金融网点",value:CS,unit:"家"},{label:"最高授信",value:iu,unit:"万元"},{label:"培训人次",value:Yh,unit:"人次"}]}],$Qe=ae2(),YQe=ru(b6,$r,n=>A3(n,["总库容 (吨)"])).map(n=>V2(y2({},n),{unit:"吨",extra:`${n.count}个库点`})).slice(0,6),qQe=[{key:"milk-processing",name:"乳品加工",value:yr(yo.filter(T3e),n=>A3(n,["年产值 (万元)"])),unit:"万元",color:"#32dcff"},{key:"meat-processing",name:"肉品加工",value:yr(yo.filter(A3e),n=>A3(n,["年产值 (万元)"])),unit:"万元",color:"#ff9a62"},{key:"slaughter-output",name:"定点屠宰",value:Ni(vI,1),unit:"万元",color:"#ffe06b"}].filter(n=>n.value>0);`${yo.filter(e0).length}`,`${u9.filter(e0).length}`;Hc(FQe,10),`${qn(iu)}`,Hc(RE,10),`${qn(RE)}`,Hc(Yh,200),`${qn(Yh)}`,Hc(ME,4),Hc(nu,3);function XQe(n){const e=gl(n),t=oe2(n),i={"family-pasture":{left:[T1("family-town","牧场镇域分布","bar",O4(n).slice(0,7)),T1("family-town-stock","镇域存栏支撑","column",se2(),{variant:"slim"}),T1("family-grass-resource","草地资源保障","heat",le2()),T1("family-service-intensity","牧场服务强度","split",ue2())],right:[t5()]},"artificial-grassland":{left:[T1("grass-town","种草面积排行","column",O4(n).slice(0,7),{variant:"slim"}),T1("grass-type","草种保障结构","structure",u_),T1("grass-heat","基地面积热区","heat",ce2()),T1("grass-subject","基地类型结构","split",t)],right:[t5()]},"scale-breeding":{left:[T1("breeding-stock","设计存栏排行","bar",O4(n).slice(0,7)),T1("breeding-level","育种等级结构","donut",$Qe),T1("breeding-output","年出栏能力排行","column",de2(),{variant:"slim"}),T1("breeding-subject","基地类型结构","structure",t)],right:[t5()]},"forage-storage":{left:[T1("storage-town","库容镇域排行","bar",O4(n).slice(0,7)),T1("storage-frequency","发放频次结构","split",zQe),T1("storage-grass","储备草种结构","structure",u_),T1("storage-point","库点能力热区","heat",he2())],right:[t5()]},"slaughter-processing":{left:[T1("processing-value","产值结构","bar",qQe),T1("processing-product","产品类型结构","donut",UQe),T1("processing-chain","产能与带动","structure",GQe),T1("processing-heads","屠宰能力排行","column",fe2(),{variant:"slim"})],right:[t5()]},"farm-equipment":{left:[T1("equipment-device","识别设备分布","column",c$.slice(0,7),{variant:"slim"}),T1("equipment-subject","装备主体结构","split",t.length?t:[{key:"farm",name:"农机服务主体",value:pI.filter(e0).length,unit:"个"}]),T1("equipment-recognition","识别样本排行","bar",HQe.slice(0,7)),T1("equipment-coverage","设备覆盖热区","heat",c$.slice(0,8))],right:[t5()]},"social-service":{left:[T1("service-type","服务主体结构","structure",VQe),T1("service-credit","金融授信排行","bar",pe2()),T1("service-coverage","服务覆盖对比","column",me2(),{variant:"slim"}),T1("service-training","培训服务能力","line",ge2())],right:[t5()]}},r={left:[T1(`${e.key}-rank`,`${e.metricLabel}排行`,"bar",O4(n).slice(0,7)),T1(`${e.key}-subject`,"主体结构","structure",t),T1(`${e.key}-town`,"镇域覆盖热区","heat",ZQe(n).slice(0,8)),T1(`${e.key}-capacity`,"能力规模分布","split",O4(n).slice(0,7))],right:[t5()]};return i[n]||r}`${s_}`,`${yo.filter(e0).length}`,Ni(yI,1);function gl(n){return $h.find(e=>e.key===n)||$h[0]}function KQe(n){return d$.find(e=>e.key===n)||d$[0]}function O4(n){return n==="family-pasture"?ru(Rf,$r,()=>1).map(e=>V2(y2({},e),{unit:"户",extra:"家庭牧场"})).slice(0,7):n==="artificial-grassland"?ru(Lf,$r,e=>A3(e,["种植面积 (亩)","acreage"])||e9(e.scale)).map(e=>V2(y2({},e),{value:Ni(e.value/1e4,2),unit:"万亩",extra:`${e.count}个基地`})).slice(0,7):n==="scale-breeding"?Bn("YC-BREEDING-BASE").map(e=>({key:e.id,name:Fa(e.name),value:A3(e,["设计存栏量 (头)"]),unit:"头",extra:`年出栏${qn(A3(e,["年出栏量 (头)"]))}头`})).filter(e=>e.value>0).sort(ei).slice(0,7):n==="forage-storage"?YQe:n==="slaughter-processing"?[...yo,...u9].filter(e0).map(e=>({key:e.id,name:Fa(e.name),value:A3(e,["年产值 (万元)","年总产值 (万元)"]),unit:"万元",extra:e.categoryName})).filter(e=>e.value>0).sort(ei).slice(0,7):n==="farm-equipment"?pI.filter(e0).map(e=>{var t;return{key:e.id,name:Fa(e.name),value:1,unit:"个",extra:((t=e.attributes)==null?void 0:t.简称)||"农机服务"}}):n==="social-service"?[{key:"finance",name:"金融服务网点",value:CS,unit:"家",extra:`最高${qn(iu)}万元`},{key:"insurance",name:"保险服务网点",value:g3e,unit:"家",extra:`覆盖${qn(RE)}乡镇`},{key:"training",name:"技术培训机构",value:m3e,unit:"家",extra:`${qn(S3e)}场`},{key:"disease",name:"疫病防控主体",value:ME,unit:"个",extra:"防疫服务"}]:[]}function ZQe(n){return ru(b3e(n),$r,()=>1).map(e=>V2(y2({},e),{unit:"个",extra:`${e.count}条`}))}function JQe(n={}){const e=we2(n);if(!e)return[];const t=[],i=e.metrics||{},r=e.attributes||{},a=(o,s,l="")=>{C3e(s)||t.push({label:o,value:Ae2(s,l)})};return a("运营单位",r.运营单位),a("育种等级",r.育种等级),a("育种方向",r.主要育种方向),a("设计存栏",i["设计存栏量 (头)"],"头"),a("年出栏量",i["年出栏量 (头)"],"头"),a("种植面积",i["种植面积 (亩)"]||e.scale,e.scale?"":"亩"),a("总库容",i["总库容 (吨)"],"吨"),a("年产值",i["年产值 (万元)"]||i["年总产值 (万元)"],"万元"),a("年加工量",i["年加工鲜奶总量 (吨)"]||i["年加工原料肉总量 (吨)"],"吨"),a("年屠宰量",i["年屠宰总量 (头)"],"头"),a("服务覆盖",i.服务覆盖乡镇数,"个乡镇"),a("最高授信",i["最高单户贷款额度 (万元)"],"万元"),a("主要产品",r.主要产品),a("主要草种",r.主要草种||r.储备草种),t.slice(0,8)}function Bn(n){return(Array.isArray(n)?n:[n]).flatMap(t=>{const i=LQe.get(t);return((i==null?void 0:i.items)||[]).map(r=>{var a;return V2(y2({},r),{categoryCode:i.categoryCode,categoryName:i.categoryName,stageKey:i.industryStage,stageName:((a=gl(i.industryStage))==null?void 0:a.name)||i.categoryName})})})}function b3e(n){return Pf.filter(e=>e.stageKey===n)}function tl(n){return b3e(n).length}function e0(n={}){var i;const e=Oa(n.name),t=Oa((i=n.attributes)==null?void 0:i.序号);return!(!e||l$.has(e)||IQe.has(n.categoryCode)||t&&l$.has(t)&&!QQe(n)||DQe.some(r=>r.test(e))||n.categoryCode==="YC-CXPT-OTHER-BASE"&&!ee2(e))}function ja(n=[]){return n.filter(e0).length}function QQe(n={}){return Object.values(n.metrics||{}).some(e=>e9(e)>0)}function ee2(n=""){const e=Oa(n);return NQe.some(t=>t.test(e))?!1:/牦牛|牛|牧|饲|草|肉|乳|奶|食品|交易|合作社|无害化|环保/.test(e)}function _I(n={}){var t,i,r,a;const e=x3e(n);return{key:String(n.id||n.name),name:n.name,stageKey:n.stageKey,typeName:n.categoryName,categoryName:n.categoryName,town:$r(n),address:n.address||n.village||n.areaFullName||"",status:n.status||"",products:((t=n.attributes)==null?void 0:t.主要产品)||((i=n.attributes)==null?void 0:i.主要草种)||((r=n.attributes)==null?void 0:r.储备草种)||((a=n.attributes)==null?void 0:a.主要育种方向)||"",capacity:e,capacityUnit:w3e(n),outputValue:A3(n,["年产值 (万元)","年总产值 (万元)"]),longitude:n.longitude,latitude:n.latitude}}function te2(n={}){const e=x3e(n),t=w3e(n),i=$r(n);return{key:String(n.id||n.name),name:Fa(n.name),fullName:n.name,stageKey:n.stageKey,typeName:n.categoryName,categoryName:n.categoryName,town:i||"全县",address:n.address||n.village||n.areaFullName||"",status:n.status||"待完善",value:e,unit:t,numericValue:Number(e)||0,valueText:ie2(n,e,t),extra:re2(n),sourceSheet:n.sourceSheet}}function ne2(n={}){var c,d;const e=te2(n),t=xe2(n),i=gl(n.stageKey),r=Oa(n.name),a=Oa(n.categoryName).replace(/^cxpt/i,""),o=Oa(n.address||n.village||n.areaFullName||""),s=n.attributes||{},l=n.metrics||{},u=[r,e.name,i==null?void 0:i.name,a,e.town,o,s.简称,s.运营单位,s.主要产品,s.主要草种,s.储备草种,s.主要育种方向,l["主要贷款产品(可多选)"],e.valueText,e.extra,n.sourceSheet].filter(Boolean).join(" ");return V2(y2({},e),{name:e.name,fullName:r,stageName:(i==null?void 0:i.name)||e.stageName||"",stageOrder:$h.findIndex(h=>h.key===n.stageKey),categoryName:a,address:o,longitude:(c=t==null?void 0:t.longitude)!=null?c:"",latitude:(d=t==null?void 0:t.latitude)!=null?d:"",locateText:t?"定位":"暂无",canLocate:!!t,searchText:u})}function x3e(n={}){var e,t;return n.stageKey==="family-pasture"?1:n.categoryCode==="YC-BREEDING-STOCK"?((e=n.attributes)==null?void 0:e.育种等级)||"待完善":n.categoryCode==="YC-CXPT-BREEDING-STOCK-BASE"?e9(n.scale)||1:n.categoryCode==="YC-BREEDING-BASE"?A3(n,["设计存栏量 (头)"]):n.categoryCode==="YC-FORAGE-BASE"?A3(n,["种植面积 (亩)"]):n.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?A3(n,["总库容 (吨)"]):n.categoryCode==="YC-PROCESSING-PLANT"?A3(n,["年产值 (万元)"])||A3(n,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"]):n.categoryCode==="YC-SLAUGHTERHOUSE"?A3(n,["年总产值 (万元)"])||A3(n,["年屠宰总量 (头)"]):n.categoryCode==="YC-SERVICE-FINANCE"?A3(n,["最高单户贷款额度 (万元)","服务覆盖乡镇数"]):n.categoryCode==="YC-SERVICE-INSURANCE"?A3(n,["服务覆盖乡镇数"]):n.categoryCode==="YC-TECH-TRAINING"?A3(n,["年培训人次","年培训场次"]):(t=n.categoryCode)!=null&&t.startsWith("YC-CXPT")?e9(n.scale)||A3(n,["acreage"]):A3(n,Object.keys(n.metrics||{}))||1}function w3e(n={}){var e;return n.stageKey==="family-pasture"?"户":n.categoryCode==="YC-BREEDING-STOCK"?"":n.categoryCode==="YC-BREEDING-BASE"?"头":["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE","YC-CXPT-BREEDING-STOCK-BASE"].includes(n.categoryCode)?"亩":n.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?"吨":n.categoryCode==="YC-PROCESSING-PLANT"||n.categoryCode==="YC-SLAUGHTERHOUSE"||n.categoryCode==="YC-SERVICE-FINANCE"?"万元":n.categoryCode==="YC-SERVICE-INSURANCE"?"乡镇":n.categoryCode==="YC-TECH-TRAINING"?"人次":(e=n.categoryCode)!=null&&e.startsWith("YC-CXPT")?"亩":""}function ie2(n,e,t){return n.categoryCode==="YC-BREEDING-STOCK"?String(e||"待完善"):Number.isFinite(Number(e))?`${qn(e)}${t||""}`:String(e||"")}function re2(n={}){const e=n.attributes||{},t=n.metrics||{};return e.主要产品||e.主要草种||e.储备草种||e.主要育种方向||t["主要贷款产品(可多选)"]||n.sourceSheet||""}function ae2(){const n=new Map;return d3e.forEach(e=>{var r;const t=Oa((r=e.attributes)==null?void 0:r.育种等级)||"待完善",i=n.get(t)||{key:t,name:t,value:0,unit:"个"};i.value+=1,n.set(t,i)}),[...n.values()].sort((e,t)=>{var r,a;const i={省级:0,县级:1,待完善:2};return((r=i[e.name])!=null?r:9)-((a=i[t.name])!=null?a:9)})}function oe2(n){return TS.filter(e=>e.industryStage===n).map(e=>{const t=ja(Bn(e.categoryCode));return{key:e.categoryCode,name:e.categoryName.replace(/^cxpt/,""),value:t,unit:"条",extra:gl(n).name}}).filter(e=>e.value>0).sort(ei)}function T1(n,e,t,i,r={}){return y2({key:n,title:e,height:190,renderer:"business",type:t,rows:i},r)}function t5(){return{key:"industry-chain-list",title:"全链主体清单",height:392,renderer:"business",type:"projectTable",rows:WQe,searchPlaceholder:"搜索主体 / 环节 / 乡镇",emptyText:"无匹配主体",columns:[{key:"name",label:"主体",field:"name",width:"38%",className:"business-project-col-name"},{key:"stage",label:"环节",field:"stageName",width:"24%"},{key:"town",label:"乡镇",field:"town",width:"18%"},{key:"locate",label:"定位",field:"locateText",width:"20%",align:"center"}],searchKeys:["name","fullName","stageName","categoryName","town","address","valueText","extra","sourceSheet","searchText"]}}function se2(){return o9.map(n=>({key:n.zoneName,name:n.zoneName,value:Number(n.yakCount||0),unit:"头",extra:"牦牛存栏"})).filter(n=>n.value>0).sort(ei).slice(0,8)}function le2(){return o9.map(n=>({key:n.zoneName,name:n.zoneName,value:Ni(Number(n.grasslandArea||0)/1e4,2),unit:"万亩",extra:"草地资源"})).filter(n=>n.value>0).sort(ei).slice(0,8)}function ue2(){const n=new Map(o9.map(e=>[Oa(e.zoneName),Number(e.yakCount||0)]));return ru(Rf,$r,()=>1).map(e=>{const t=n.get(Oa(e.name))||0;return V2(y2({},e),{value:t?Ni(e.value/t*1e4,2):0,unit:"户/万头",extra:`${qn(e.value)}户 / ${qn(t)}头`})}).filter(e=>e.value>0).sort(ei).slice(0,8)}function ce2(){return Lf.filter(e0).map(n=>({key:n.id,name:Fa(n.name),value:A3(n,["种植面积 (亩)","acreage"])||e9(n.scale),unit:"亩",extra:$r(n)||n.categoryName})).filter(n=>n.value>0).sort(ei).slice(0,8)}function de2(){return OQe.filter(e0).map(n=>({key:n.id,name:Fa(n.name),value:A3(n,["年出栏量 (头)"]),unit:"头",extra:`设计${qn(A3(n,["设计存栏量 (头)"]))}头`})).filter(n=>n.value>0).sort(ei).slice(0,7)}function he2(){return b6.filter(e0).map(n=>{var e;return{key:n.id,name:Fa(n.name),value:A3(n,["总库容 (吨)"]),unit:"吨",extra:A3(n,["发放次数"])||((e=n.attributes)==null?void 0:e.储备草种)||"储备库"}}).filter(n=>n.value>0).sort(ei).slice(0,8)}function fe2(){return u9.filter(e0).map(n=>({key:n.id,name:Fa(n.name),value:A3(n,["年屠宰总量 (头)"]),unit:"头",extra:`${qn(A3(n,["冷冻库容量 (吨)"]))}吨冷链`})).filter(n=>n.value>0).sort(ei).slice(0,7)}function pe2(){return Lu.filter(e0).map(n=>{var e;return{key:n.id,name:Fa(((e=n.attributes)==null?void 0:e.简称)||n.name),value:A3(n,["最高单户贷款额度 (万元)"]),unit:"万元",extra:`覆盖${qn(A3(n,["服务覆盖乡镇数"]))}乡镇`}}).filter(n=>n.value>0).sort(ei).slice(0,7)}function me2(){return[...Lu.filter(e0).map(n=>{var e;return{key:n.id,name:Fa(((e=n.attributes)==null?void 0:e.简称)||n.name),value:A3(n,["服务覆盖乡镇数"]),unit:"乡镇",extra:"金融"}}),...AS.filter(e0).map(n=>{var e;return{key:n.id,name:Fa(((e=n.attributes)==null?void 0:e.简称)||n.name),value:A3(n,["服务覆盖乡镇数"]),unit:"乡镇",extra:"保险"}})].filter(n=>n.value>0).sort(ei).slice(0,7)}function ge2(){const n=If.filter(e0).map(e=>({key:e.id,name:Fa(e.name),value:A3(e,["年培训人次"]),unit:"人次",extra:`${qn(A3(e,["年培训场次"]))}场`})).filter(e=>e.value>0).sort(ei).slice(0,7);return n.length?n:[{key:"sessions",name:"年培训场次",value:S3e,unit:"场"},{key:"persons",name:"年培训人次",value:Yh,unit:"人次"}]}function ve2(n){const e=[{key:"oat",name:"燕麦草",pattern:/燕麦/},{key:"elymus",name:"披碱草",pattern:/披碱草/},{key:"roegneria",name:"老芒麦",pattern:/老芒麦/},{key:"other",name:"其他草种",pattern:/./}],t=new Map(e.map(i=>[i.key,{key:i.key,name:i.name,value:0,unit:"处"}]));return n.filter(e0).forEach(i=>{var s,l;const r=[(s=i.attributes)==null?void 0:s.主要草种,(l=i.attributes)==null?void 0:l.储备草种].filter(Boolean).join("、"),a=e.filter(u=>u.key!=="other"&&u.pattern.test(r));(a.length?a:[e[e.length-1]]).forEach(u=>{t.get(u.key).value+=1})}),[...t.values()].filter(i=>i.value>0).sort(ei)}function ye2(n){return ru(n,e=>{var t;return Oa((t=e.metrics)==null?void 0:t.发放次数)||"待完善"},()=>1).map(e=>V2(y2({},e),{unit:"处",extra:"年发放"}))}function _e2(n){const e=new Map([["milk",{key:"milk",name:"乳制品",value:0,unit:"家"}],["meat",{key:"meat",name:"肉制品",value:0,unit:"家"}],["other",{key:"other",name:"其他产品",value:0,unit:"家"}]]);return n.filter(e0).forEach(t=>{if(T3e(t)){e.get("milk").value+=1;return}if(A3e(t)){e.get("meat").value+=1;return}e.get("other").value+=1}),[...e.values()].filter(t=>t.value>0)}function Se2(){return[{key:"raw-capacity",name:"原料加工",value:mI,unit:"吨"},{key:"slaughter-heads",name:"屠宰总量",value:MS,unit:"头"},{key:"farmer-driven",name:"带动农户",value:gI,unit:"户"},{key:"cold-storage",name:"冷链能力",value:_3e,unit:"吨"}].filter(n=>n.value>0)}function be2(){return[{key:"finance",name:"金融",value:Lu.filter(e0).length,unit:"家"},{key:"insurance",name:"保险",value:AS.filter(e0).length,unit:"家"},{key:"training",name:"培训",value:If.filter(e0).length,unit:"家"},{key:"disease",name:"防疫",value:h3e.filter(e0).length,unit:"个"},{key:"other",name:"其他基地",value:BQe.filter(e0).length,unit:"个"}].filter(n=>n.value>0)}function ru(n,e,t){const i=new Map;return n.filter(e0).forEach(r=>{const a=Oa(typeof e=="function"?e(r):r[e])||"未填写",o=i.get(a)||{key:a,name:a,value:0,count:0,extra:""};o.value+=Number(t(r)||0),o.count+=1,i.set(a,o)}),[...i.values()].sort(ei)}function A3(n={},e=[]){const t=n.metrics||{},i=Array.isArray(e)?e:[e];for(const r of i)if(Object.prototype.hasOwnProperty.call(t,r)){const a=e9(t[r]);if(a||a===0)return a}return 0}function e9(n){if(typeof n=="number")return Number.isFinite(n)?n:0;if(C3e(n))return 0;const e=String(n).replace(/,/g,"").trim();if(!e||e==="无"||e==="待完善")return 0;const t=e.match(/-?\d+(?:\.\d+)?/);if(!t)return 0;let i=Number(t[0]);return e.includes("万亩")&&!e.includes("万元")&&(i*=1e4),Number.isFinite(i)?i:0}function $r(n={}){const e=Oa(n.town||n.areaName);if(wv.includes(e))return e;const t=[n.town,n.areaName,n.areaFullName,n.address,n.village,n.name].filter(Boolean).join(" "),i=wv.find(r=>t.includes(r));return i||wv.find(r=>{const a=r.replace(/[镇乡]$/,"");return a.length>=2&&t.includes(a)})||e}function xe2(n={}){const e=Number(n.longitude),t=Number(n.latitude);if(Number.isFinite(e)&&Number.isFinite(t))return{longitude:e,latitude:t};const i=Object.values(n.locations||{}).find(r=>Number.isFinite(Number(r==null?void 0:r.longitude))&&Number.isFinite(Number(r==null?void 0:r.latitude)));return i?{longitude:Number(i.longitude),latitude:Number(i.latitude)}:null}function T3e(n={}){var t;const e=[n.name,(t=n.attributes)==null?void 0:t.主要产品].filter(Boolean).join("");return/奶|乳|酸奶|奶粉/.test(e)}function A3e(n={}){var t;const e=[n.name,(t=n.attributes)==null?void 0:t.主要产品].filter(Boolean).join("");return/肉|屠宰|牛肉/.test(e)}function we2(n={}){const e=String(n.id||"");return e&&u$.has(e)?u$.get(e):fI.find(t=>t.name===n.name&&t.categoryCode===n.categoryCode)}function Hc(n,e){return Math.max(12,Math.min(100,Math.round(Number(n||0)/e*100)))}function yr(n,e){return n.filter(e0).reduce((t,i)=>t+Number(e(i)||0),0)}function SI(n,e){return n.filter(e0).reduce((t,i)=>Math.max(t,Number(e(i)||0)),0)}function c_(n,e){return new Set(n.filter(e0).map(e).filter(Boolean)).size}function ei(n,e){return e.value-n.value||e.count-n.count||String(n.name).localeCompare(String(e.name),"zh-CN")}function Fa(n=""){return String(n).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/股份有限公司红原县支行$/,"红原支行").trim()}function Oa(n){return String(n!=null?n:"").replace(/\s+/g," ").trim()}function C3e(n){return n==null||String(n).trim()===""||String(n).trim().toLowerCase()==="nan"}function Te2(n){return typeof n=="number"?qn(n):e9(n)&&String(n).match(/^\s*[约≈]?\d/)?String(n):String(n!=null?n:"")}function Ae2(n,e=""){const t=Te2(n);return!e||typeof n=="string"&&t.includes(e.replace(/^个/,""))?t:`${t}${e}`}function qn(n){const e=Number(n||0);return Number.isFinite(e)?e.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(e)?0:1}):"0"}function Ni(n,e=0){const t=Rs(10,e);return Math.round(Number(n||0)*t)/t}const Ce2={class:"yak-industry-chain"},Me2={key:0,class:"industry-map-loading"},Ee2={key:1,class:"fgw-left industry-side-panel industry-side-panel--left"},Pe2={class:"fgw-side-stack industry-side-stack is-left"},Re2={key:1,class:"industry-ledger-list"},Le2={key:2,class:"fgw-right industry-side-panel industry-side-panel--right"},Ie2={class:"fgw-side-stack industry-side-stack is-right"},De2={key:1,class:"industry-ledger-list"},Ne2={class:"industry-point-detail__head"},ke2={class:"industry-point-detail__name"},Fe2={class:"industry-point-detail__grid"},Oe2={class:"industry-bottom-switcher"},h$=398,Be2={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=U2("family-pasture"),a=U2(null),o=U2(!1),s=U2(null),l=U2({x:0,y:0});let u=null,c=!1,d=!1,h=null,f=!1;const p=Ze(()=>gl(r.value)),g=Ze(()=>XQe(r.value)),m=Ze(()=>L(g.value)),v=Ze(()=>m.value.left),_=Ze(()=>m.value.right),S=Ze(()=>{var p2;const ve=bf("yak-industry-chain","yak-industry-points"),Ke=(p2=ve==null?void 0:ve.legends)==null?void 0:p2.find(c2=>{var s2;return((s2=c2.match)==null?void 0:s2.value)===r.value});return ve&&V2(y2({},ve),{activeLegend:Ke||{key:`yak-industry-empty-${r.value}`,name:p.value.name,fillColor:p.value.color,strokeColor:p.value.color,match:{field:"stageKey",value:r.value}}})}),x=Ze(()=>$h.map(ve=>({key:ve.key,name:ve.name,color:ve.color,width:ve.width}))),A=Ze(()=>({showTownNames:!0,showBars:!1,showPointMarkers:!1,title:`${p.value.name}排行`,metricLabel:p.value.metricLabel,unit:p.value.unit,rows:[]})),C=Ze(()=>{const ve=s.value;return ve?[{label:"所属环节",value:Be(ve.stageName)},{label:"主体类型",value:Be(ve.categoryName)},{label:"所在乡镇",value:Be(ve.town)},{label:"能力规模",value:se(ve)},{label:"运行状态",value:Be(ve.status)},...JQe(ve)].filter(Ke=>Ke.value!==void 0&&Ke.value!==null&&String(Ke.value).trim()!==""):[]}),M=Ze(()=>{var ve,Ke;return Be(((ve=s.value)==null?void 0:ve.categoryName)||((Ke=s.value)==null?void 0:Ke.stageName))}),I=Ze(()=>{var ve;return Be((ve=s.value)==null?void 0:ve.name)}),D=Ze(()=>{const s2={x:Math.max(24,Math.min(1896,Number(l.value.x||0))),y:Math.max(24,Math.min(1056,Number(l.value.y||0)))},R2=s2.x>1320,w2=R2?Math.max(24,s2.x-430-28):Math.min(1920-430-24,s2.x+28),Re=Math.min(Math.max(s2.y-252/2,128),1080-252-116),k2=Math.min(Math.max(s2.y-Re,42),252-38);return{left:`${w2}px`,top:`${Re}px`,"--point-arrow-top":`${k2}px`,"--point-arrow-side":R2?"100%":"0px","--point-arrow-offset":R2?"-1px":"-9px","--point-arrow-rotate":R2?"-45deg":"135deg"}});_r(()=>{Y(),G()}),Yr(()=>{var ve,Ke;f=!0,h&&window.clearTimeout(h),(Ke=(ve=a.value)==null?void 0:ve.destroyMap)==null||Ke.call(ve)}),U1(()=>t.active,ve=>{var Ke,p2,c2,s2;a.value&&(ve?(W(),(p2=(Ke=a.value).resume)==null||p2.call(Ke)):(s2=(c2=a.value).pause)==null||s2.call(c2))});function E(ve){ve!==r.value&&(r.value=ve,H(),Y(ve))}function L(ve={}){const Ke=V(ve.left),p2=V(ve.right),c2=[...Ke,...p2];return c2.length<=4?{left:c2,right:[]}:{left:Ke,right:p2}}function V(ve=[]){return ve.filter(Ke=>(Ke==null?void 0:Ke.type)!=="iconMetric")}function Y(ve=r.value){i("module-stats",{moduleKey:"yak-industry-chain",items:jQe(ve)})}function G(){var ve,Ke,p2;u=new Eu,c=!1,i("loading-progress",{progress:0}),(Ke=(ve=u.instance)==null?void 0:ve.on)==null||Ke.call(ve,"onProgress",(c2,s2,R2)=>{i("loading-progress",{progress:Math.floor(s2/(R2||1)*100),path:c2,itemsLoaded:s2,itemsTotal:R2})}),(p2=u.ready)==null||p2.then(()=>{c=!0,W()}).catch(()=>{o.value=!0,i("map-ready")})}function W(){f||!t.active||!c||d||(d=!0,h&&window.clearTimeout(h),h=window.setTimeout(()=>{h=null,q()},600))}function q(ve=0){return Z2(this,null,function*(){var p2,c2;if(f)return;if(!t.active){d=!1;return}if(yield Nn(),!t.active){d=!1;return}const Ke=a.value;if((p2=Ke==null?void 0:Ke.loadMap)==null||p2.call(Ke,u),Ke!=null&&Ke.canvasMap){o.value=!0,i("loading-progress",{progress:100}),i("map-ready"),(c2=Ke.play)==null||c2.call(Ke);return}if(ve<24){window.setTimeout(()=>q(ve+1),120);return}d=!1,o.value=!0,i("map-ready")})}function ce(ve={}){var p2;const Ke=((p2=ve.feature)==null?void 0:p2.properties)||{};if(Ke.stageKey){s.value=Ke,l.value=we(ve.screen);return}s.value=null}function J(){return Z2(this,arguments,function*(ve={}){if(!ve.canLocate)return;const Ke=!!(ve.stageKey&&ve.stageKey!==r.value);Ke&&(r.value=ve.stageKey,Y(ve.stageKey),yield Nn());const p2=re(ve);s.value=p2,l.value={x:960,y:500},window.setTimeout(()=>{var s2,R2;const c2=(R2=(s2=a.value)==null?void 0:s2.focusYakIndustryPoint)==null?void 0:R2.call(s2,p2);ee(p2,c2),window.setTimeout(()=>ee(p2),760)},Ke?320:80)})}function H(){var Ke,p2,c2,s2;s.value=null;const ve=((p2=(Ke=a.value)==null?void 0:Ke.canvasMap)==null?void 0:p2.value)||((c2=a.value)==null?void 0:c2.canvasMap);(s2=ve==null?void 0:ve.clearSelectedFeature)==null||s2.call(ve)}function re(ve={}){var c2;const Ke=Number(ve.longitude),p2=Number(ve.latitude);return V2(y2({},ve),{id:ve.key||ve.id,name:ve.fullName||ve.name,stageKey:ve.stageKey,stageName:ve.stageName||((c2=gl(ve.stageKey))==null?void 0:c2.name),categoryName:ve.categoryName||ve.typeName,capacity:ve.value,capacityUnit:ve.unit,longitude:Ke,latitude:p2,geometry:Number.isFinite(Ke)&&Number.isFinite(p2)?{type:"Point",coordinates:[Ke,p2]}:void 0,status:ve.status})}function ee(ve,Ke=null){var c2,s2;const p2=((s2=(c2=a.value)==null?void 0:c2.getYakIndustryPointScreen)==null?void 0:s2.call(c2,ve))||(Ke==null?void 0:Ke.screen);p2&&(l.value=we(p2))}function se(ve){return ve.capacity===void 0||ve.capacity===null||ve.capacity===""?"":`${ve.capacity}${ve.capacityUnit||""}`}function Be(ve){return String(ve!=null?ve:"").replace(/\bcxpt[-_./\s]*/gi,"").replace(/\s+/g," ").trim()}function we(ve={}){var Re;const Ke=document.querySelector("#large-screen"),p2=(Re=Ke==null?void 0:Ke.getBoundingClientRect)==null?void 0:Re.call(Ke),c2=p2!=null&&p2.width?1920/p2.width:1,s2=p2!=null&&p2.height?1080/p2.height:1,R2=(p2==null?void 0:p2.left)||0,w2=(p2==null?void 0:p2.top)||0;return{x:(Number(ve.x)-R2)*c2,y:(Number(ve.y)-w2)*s2}}return(ve,Ke)=>(Ee(),De("div",Ce2,[dt(Mu,{ref_key:"mapSceneRef",ref:a,class:"industry-map-scene","active-layer":S.value,"map-ranking":A.value,onFeatureInfo:ce},null,8,["active-layer","map-ranking"]),Ke[0]||(Ke[0]=k("div",{class:"industry-map-scrim"},null,-1)),o.value?Tt("",!0):(Ee(),De("div",Me2,"3D地图加载中")),v.value.length?(Ee(),De("div",Ee2,[k("div",Pe2,[(Ee(!0),De(gt,null,Mt(v.value,p2=>(Ee(),K0(x3,{key:p2.key,class:"fgw-side-card industry-side-card left-card",title:p2.title,width:h$,height:p2.height},{default:s3(()=>[p2.renderer==="business"?(Ee(),K0(Di,{key:0,panel:p2,compact:"",onRowSelect:J},null,8,["panel"])):p2.renderer==="ledger"?(Ee(),De("div",Re2,[(Ee(!0),De(gt,null,Mt(p2.rows,c2=>(Ee(),De("div",{key:c2.key,class:"industry-ledger-row"},[k("div",null,[k("strong",null,Ue(c2.name),1),k("span",null,Ue(c2.typeName)+" / "+Ue(c2.town),1)]),k("em",null,Ue(c2.valueText),1)]))),128))])):Tt("",!0)]),_:2},1032,["title","height"]))),128))])])):Tt("",!0),_.value.length?(Ee(),De("div",Le2,[k("div",Ie2,[(Ee(!0),De(gt,null,Mt(_.value,p2=>(Ee(),K0(x3,{key:p2.key,class:"fgw-side-card industry-side-card right-card",title:p2.title,width:h$,height:p2.height},{default:s3(()=>[p2.renderer==="business"?(Ee(),K0(Di,{key:0,panel:p2,compact:"",onRowSelect:J},null,8,["panel"])):p2.renderer==="ledger"?(Ee(),De("div",De2,[(Ee(!0),De(gt,null,Mt(p2.rows,c2=>(Ee(),De("div",{key:c2.key,class:"industry-ledger-row"},[k("div",null,[k("strong",null,Ue(c2.name),1),k("span",null,Ue(c2.typeName)+" / "+Ue(c2.town),1)]),k("em",null,Ue(c2.valueText),1)]))),128))])):Tt("",!0)]),_:2},1032,["title","height"]))),128))])])):Tt("",!0),s.value?(Ee(),De("div",{key:3,class:"industry-point-detail",style:J3(D.value)},[k("div",Ne2,[k("span",null,Ue(M.value),1),k("button",{type:"button",title:"关闭",onClick:H},"×")]),k("div",ke2,Ue(I.value),1),k("div",Fe2,[(Ee(!0),De(gt,null,Mt(C.value,p2=>(Ee(),De("div",{key:p2.label,class:"industry-point-detail__row"},[k("span",null,Ue(p2.label),1),k("strong",null,Ue(p2.value),1)]))),128))])],4)):Tt("",!0),k("div",Oe2,[dt(yS,{"model-value":r.value,topics:x.value,"onUpdate:modelValue":E},null,8,["model-value","topics"])])]))}},ES="/openApi";function ze2(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function PS(n,e,t,i={}){return bo(ze2(n,e),{params:t,timeout:i.timeout}).then(Ue2)}function Ue2(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"接口请求失败");throw t.code=n==null?void 0:n.code,t}return D3(n)}function Ge2(n,e=window.location.hash||window.location.pathname,t="智慧管理"){return PS(ES,"/ai/stat/question",{question:n,pagePath:e,pageName:t},{timeout:45e3})}function Ve2(n){return PS(ES,"/ai/balance/targets",{question:n},{timeout:18e3}).then(e=>Array.isArray(e)?e:(e==null?void 0:e.rows)||(e==null?void 0:e.list)||[])}function He2({areaCode:n,pasturesId:e}={}){return PS(ES,"/ai/balance/advice",{areaCode:n,pasturesId:e},{timeout:18e3})}function We2(){return PS(ES,"/ai/balance/welcome",void 0,{timeout:12e3})}const je2="/openApi";function $e2(n){return/^https?:\/\//.test(n)?n:`${je2}${n.startsWith("/")?n:`/${n}`}`}function Ye2(n){if((n==null?void 0:n.success)===!1||(n==null?void 0:n.code)!==void 0&&![0,200,"0","200"].includes(n.code)){const t=new Error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"图表接口请求失败");throw t.code=n==null?void 0:n.code,t}return D3(n)}function qe2(i){return Z2(this,arguments,function*(n,e=window.location.hash||window.location.pathname,t="智慧管理"){const r=yield bo($e2("/ai/stat/charts"),{params:{question:n,pagePath:e,pageName:t},timeout:3e4}).then(Ye2);return(Array.isArray(r==null?void 0:r.charts)?r.charts:[]).map(Xe2).filter(o=>o.rows.length)})}function Xe2(n,e){const t=Array.isArray(n==null?void 0:n.rows)?n.rows:[];return{id:(n==null?void 0:n.id)||`smart-chart-${e}`,type:Ke2(n==null?void 0:n.type),title:(n==null?void 0:n.title)||`统计图表${e+1}`,subtitle:(n==null?void 0:n.subtitle)||Ze2(n==null?void 0:n.source),unit:(n==null?void 0:n.unit)||"",source:(n==null?void 0:n.source)||{},rows:t.map((i,r)=>({key:(i==null?void 0:i.key)||`${(i==null?void 0:i.name)||"row"}-${r}`,name:String((i==null?void 0:i.name)||`指标${r+1}`),value:Je2(i==null?void 0:i.value),rawValue:i==null?void 0:i.value,unit:(i==null?void 0:i.unit)||(n==null?void 0:n.unit)||"",extra:(i==null?void 0:i.extra)||""})).filter(i=>i.name&&Number.isFinite(i.value))}}function Ke2(n){return["pie","donut"].includes(n)?"pie":["line","trend"].includes(n)?"line":"bar"}function Ze2(n={}){const e=n.table?`来源:${n.table}`:"来源:openApi 统计库",t=n.period?`,${n.period}`:"";return`${e}${t}`}function Je2(n){if(n==null||n==="")return NaN;const e=Number(String(n).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const Qe2={class:"wisdom-management"},e22={class:"wisdom-chat"},t22={key:0,class:"wisdom-empty-state"},n22={class:"wisdom-prompt-grid"},i22=["disabled","onClick"],r22={key:0,class:"wisdom-message-mark"},a22={class:"wisdom-bubble"},o22={key:0,class:"wisdom-steps"},s22={key:1,class:"wisdom-digesting"},l22={key:2,class:"wisdom-chart-list"},u22={key:3,class:"wisdom-insight-list"},c22=["innerHTML"],d22={key:5,class:"wisdom-stream-caret"},h22={key:6,class:"wisdom-suggestion-list"},f22=["disabled","onClick"],p22={key:7,class:"wisdom-choice-list"},m22=["disabled","onClick"],g22={class:"wisdom-input-shell"},v22=["disabled"],y22=["disabled"],_22={key:0,class:"wisdom-button-loading"},S22={__name:"index",props:{active:{type:Boolean,default:!0}},setup(n){const e=Roe({loader:()=>Loe(()=>import("./SmartChartRenderer-1d89a60f-1782986963996.js"),["./SmartChartRenderer-1d89a60f-1782986963996.js","./index-1782986963996.js","./index-47d6f37a-balabala-1782986963996.css","./SmartChartRenderer-8fd37aa6-balabala-1782986963996.css"],import.meta.url),loadingComponent:{template:'<div class="smart-chart-loading">正在绘制统计图表</div>'}}),t=n,i=U2(""),r=U2([]),a=U2(!1),o=U2(null),s=U2("可以直接询问牦牛数量、草地面积、牧户情况、饲草产量、林地面积、基地分布、畜群结构和交易流通等统计问题。"),l=[{label:"牦牛分布",question:"牦牛分布"},{label:"畜群结构",question:"牦牛结构占比"},{label:"草地面积",question:"草地面积分布"},{label:"草畜平衡",question:"红原县草畜平衡建议"},{label:"湿地类型",question:"湿地类型结构"},{label:"公益林保护",question:"公益林保护等级统计"}];let u=null;_r(()=>{We2().then(J=>{const H=(J==null?void 0:J.value)||(J==null?void 0:J.text)||J;typeof H=="string"&&H.trim()&&(s.value=H)}).catch(()=>{})}),Yr(()=>{V()}),U1(()=>t.active,J=>{J||(V(),a.value=!1,r.value=r.value.map(H=>H.streaming?V2(y2({},H),{streaming:!1,digesting:!1}):H))});function c(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function d(){return Z2(this,arguments,function*(J=i.value){const H=String(J||"").trim();if(!H||a.value)return;const re={id:c(),role:"user",text:H},ee={id:c(),role:"assistant",steps:[`正在理解:${H}`],digesting:!0,digestText:"小牧正在匹配业务数据",visibleText:"",fullText:"",streaming:!1,choices:[],charts:[],insights:[],suggestions:[]};if(r.value=[...r.value,re,ee],i.value="",a.value=!0,yield q(),m(H)){yield f(H,ee.id);return}yield h(H,ee.id)})}function h(J,H){return Z2(this,null,function*(){I(H,{digestText:"正在理解问题并查询统计库"});const re=Ge2(J,window.location.hash||window.location.pathname,"智慧管理"),ee=qe2(J,window.location.hash||window.location.pathname,"智慧管理"),[se,Be]=yield Promise.allSettled([re,ee]),we=Be.status==="fulfilled"?Be.value||[]:[],ve=Be.status==="rejected"?Be.reason:null;if(se.status==="fulfilled"){const Ke=se.value,p2=(Ke==null?void 0:Ke.answer)||"小牧暂时没有查到相关统计数据,可以换一种说法再问一次。",c2=[`正在理解:${J}`,"已查询统计库","已生成统计回答"];we.length?c2.push(`已生成 ${we.length} 个数据图表`):ve&&c2.push("图表生成暂时不可用"),I(H,{digesting:!1,steps:c2,insights:we.length?C(we):[],suggestions:M(J,we),allowFollowUp:!0}),L(H,ve?`${p2} |
|
|
|
|
|
**图表状态** |
|
|
- ${E(ve,"图表接口暂时不可用,已先返回文字分析。")}`:p2,we);return}if(we.length){I(H,{digesting:!1,steps:[`正在理解:${J}`,"已查询统计库",`已生成 ${we.length} 个数据图表`,"文字分析暂时不可用"],insights:C(we),suggestions:M(J,we),allowFollowUp:!0}),L(H,"文字分析服务暂时没有返回结果,已按统计库真实数据生成可视化图表。",we);return}D(H,E(se.reason,"小牧暂时没有获取到统计结果,请稍后再试。"))})}function f(J,H){return Z2(this,null,function*(){I(H,{digestText:"正在检索草畜平衡对象"});try{const re=yield Ve2(J),ee=v(re);if(!ee.length){I(H,{digesting:!1,steps:[`正在理解:${J}`,"未匹配到草畜平衡对象"]}),L(H,"暂时没有匹配到对应的区域或牧户。可以输入更明确的乡镇、村名、牧户或牧场名称,例如“红原县草畜平衡建议”。");return}if(ee.length>1){I(H,{digesting:!1,steps:[`正在理解:${J}`,"已匹配多个对象,请选择一个继续"],choices:ee.slice(0,8)}),a.value=!1;return}yield g(ee[0],H)}catch(re){D(H,E(re,"草畜平衡对象检索失败,请稍后再试。"))}})}function p(J){return Z2(this,null,function*(){if(a.value)return;const H=J.name||J.label||"草畜平衡建议",re={id:c(),role:"user",text:H},ee={id:c(),role:"assistant",steps:[`已选择:${H}`],digesting:!0,digestText:"正在消化草畜平衡数据",visibleText:"",fullText:"",streaming:!1,choices:[],charts:[],insights:[],suggestions:[]};r.value=[...r.value,re,ee],a.value=!0,yield q(),yield g(J,ee.id)})}function g(J,H){return Z2(this,null,function*(){const re=(J==null?void 0:J.name)||(J==null?void 0:J.label)||"该区域",ee=_(J);I(H,{steps:[`已锁定:${re}`,"正在消化草畜平衡数据"],digestText:"正在生成平衡建议"});try{const se=yield He2(ee);I(H,{digesting:!1,steps:[`已锁定:${re}`,"已生成草畜平衡建议"]}),L(H,S(re,se||{}))}catch(se){D(H,E(se,"小牧刚才没有消化成功,请稍后再问一次。"))}})}function m(J){return/草畜|平衡|承载|载畜|超载|放牧压力|轮牧|休牧|牧场建议|牧户建议/.test(J)}function v(J=[]){return J.map((H,re)=>({key:(H==null?void 0:H.key)||(H==null?void 0:H.type)||"area_code",value:(H==null?void 0:H.value)||(H==null?void 0:H.id)||(H==null?void 0:H.code)||(H==null?void 0:H.areaCode)||(H==null?void 0:H.pasturesId),name:(H==null?void 0:H.name)||(H==null?void 0:H.label)||(H==null?void 0:H.areaName)||(H==null?void 0:H.pasturesName)||`对象${re+1}`,raw:H})).filter(H=>H.value||H.name==="红原县")}function _(J){return(J==null?void 0:J.key)==="pasturesId"||(J==null?void 0:J.key)==="pastures_id"?{pasturesId:J.value}:{areaCode:(J==null?void 0:J.value)||"513233"}}function S(J,H={}){const re=x(H,["areaRange","arearange","area_range","area","acreage"],0),ee=x(H,["yakNumber","yaknumber","yak_number","livestock_capacity","livestockCapacity","livestockcapacity"],0),se=x(H,["level","conclusion"],"暂无等级"),Be=x(H,["overloadRate","overloadrate","overload_rate"],0),we=x(H,["advice","balanceAdvice","balanceadvice","balance_advice"],"暂无建议,请稍后再试。");return`**${J}草畜平衡建议** |
|
|
|
|
|
- 草地面积:${A(re)} 亩 |
|
|
- 牦牛/载畜量:${A(ee)} 头 |
|
|
- 草畜平衡等级:${se} |
|
|
- 超载率:${A(Be)}% |
|
|
|
|
|
**建议** |
|
|
${we}`}function x(J,H,re=""){for(const ee of H){const se=J==null?void 0:J[ee];if(se!=null&&se!=="")return se}return re}function A(J){const H=Number(String(J).replace(/,/g,""));return Number.isFinite(H)?H.toLocaleString("zh-CN",{maximumFractionDigits:2}):J||"--"}function C(J=[]){const H=[];return J.slice(0,2).forEach(re=>{var c2;const ee=(re.rows||[]).map(s2=>V2(y2({},s2),{value:Number(s2.value)})).filter(s2=>s2.name&&Number.isFinite(s2.value));if(!ee.length)return;const se=re.unit||((c2=ee.find(s2=>s2.unit))==null?void 0:c2.unit)||"",Be=ee.slice().sort((s2,R2)=>R2.value-s2.value),we=ee.reduce((s2,R2)=>s2+R2.value,0),ve=we/ee.length,Ke=Be[0],p2=Be[Be.length-1];H.push({label:"最高",value:`${Ke.name} ${A(Ke.value)}${se}`,note:re.title}),ee.length>2&&H.push({label:re.type==="pie"?"占比项":"最低",value:`${p2.name} ${A(p2.value)}${se}`,note:re.type==="pie"?"最小结构项":"低值区域"}),H.push({label:"合计",value:`${A(we)}${se}`,note:ee.length>1?`覆盖 ${ee.length} 项`:re.title}),re.type!=="pie"&&ee.length>1&&H.push({label:"均值",value:`${A(ve)}${se}`,note:"按当前图表项计算"})}),H.slice(0,4)}function M(J,H=[]){const re=String(J||""),ee=[],se=(Be,we)=>{!ee.some(ve=>ve.question===we)&&we!==re&&ee.push({label:Be,question:we})};return(/牦牛|畜群|存栏|牛/.test(re)||H.some(Be=>{var we,ve;return(ve=(we=Be.source)==null?void 0:we.localKey)==null?void 0:ve.includes("yak")}))&&(se("看畜群结构","牦牛结构占比"),se("看存栏预测","牦牛存栏预测"),se("看交易结构","牦牛交易结构")),/草地|草原|饲草|鲜草/.test(re)&&(se("看草地健康","草地健康占比"),se("看生产力","草地生产力分布"),se("看退化统计","草地退化统计")),/湿地/.test(re)&&(se("看湿地类型","湿地类型结构"),se("看湿地级别","湿地级别面积统计")),/林地|公益林|森林/.test(re)&&(se("看权属结构","林地权属结构"),se("看公益林等级","公益林保护等级统计")),/草畜|平衡|承载|载畜/.test(re)&&(se("看牦牛分布","牦牛分布"),se("看草地面积","草地面积分布")),se("换个图表",`${re} 图表`),ee.slice(0,3)}function I(J,H,re=!0){r.value=r.value.map(ee=>ee.id===J?y2(y2({},ee),H):ee),re&&q()}function D(J,H){I(J,{digesting:!1,steps:["请求已结束"]}),L(J,H)}function E(J,H){const re=String((J==null?void 0:J.message)||"");return(J==null?void 0:J.code)===401||(J==null?void 0:J.code)==="401"||(J==null?void 0:J.code)==="HTTP_401"||/未登录|授权|Unauthorized|HTTP 401/i.test(re)?"接口需要登录授权。当前智慧管理不会使用假数据,请先完成平台登录或使用 openApi 统计库口径继续问数。":(J==null?void 0:J.code)==="REQUEST_TIMEOUT"||/timeout|timed out|超时/i.test(re)?"服务响应时间较长,请稍后再试,或换一个更具体的问题。":(J==null?void 0:J.code)==="REQUEST_ABORTED"||/aborted|abort|signal/i.test(re)?"本次请求被中断了,请重新发送一次。":/Failed to fetch|NetworkError|Load failed|HTTP 50|HTTP 40/i.test(re)||/[a-zA-Z]{4,}/.test(re)?H:re||H}function L(J,H,re=[]){V();const ee=String(H||""),se=ee.length>1200?36:ee.length>700?24:14;let Be=0;const we=re.length>0;I(J,{fullText:ee,visibleText:"",streaming:!0,choices:[],charts:re}),we&&ce();const ve=()=>{if(Be=Math.min(Be+se,ee.length),I(J,{visibleText:ee.slice(0,Be),streaming:Be<ee.length},!we),Be>=ee.length){u=null,re.length&&I(J,{charts:re},!1),a.value=!1;return}u=window.setTimeout(ve,18)};u=window.setTimeout(ve,0)}function V(){u&&(window.clearTimeout(u),u=null)}function Y(J){const H=W(J).split(/\r?\n/),re=[];let ee=[],se=!1;const Be=()=>{ee.length&&(re.push(`<${se?"ol":"ul"}>${ee.map(we=>`<li>${G(we)}</li>`).join("")}</${se?"ol":"ul"}>`),ee=[],se=!1)};return H.forEach(we=>{const ve=we.trim();if(!ve){Be();return}const Ke=ve.match(/^#{1,4}\s+(.+)$/)||ve.match(/^\*\*(.+)\*\*$/);if(Ke){Be(),re.push(`<h3>${G(Ke[1])}</h3>`);return}const p2=ve.match(/^\d+[.)、]\s+(.+)$/),c2=ve.match(/^[-*]\s+(.+)$/);if(p2||c2){const s2=!!p2;ee.length&&se!==s2&&Be(),se=s2,ee.push(p2?p2[1]:c2[1]);return}Be(),re.push(`<p>${G(ve)}</p>`)}),Be(),re.join("")}function G(J){return J.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>")}function W(J){return String(J||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function q(){return Z2(this,null,function*(){yield Nn(),window.requestAnimationFrame(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})})}function ce(){return Z2(this,null,function*(){yield Nn(),window.requestAnimationFrame(()=>{const J=o.value,H=J==null?void 0:J.querySelector(".wisdom-message.is-assistant:last-child .wisdom-chart-list");if(!J||!H)return;const re=J.getBoundingClientRect(),ee=H.getBoundingClientRect();J.scrollTop+=ee.top-re.top-12})})}return(J,H)=>(Ee(),De("div",Qe2,[H[11]||(H[11]=D8('<div class="wisdom-backdrop" aria-hidden="true"><div class="wisdom-grid"></div><div class="wisdom-orbit wisdom-orbit-a"></div><div class="wisdom-orbit wisdom-orbit-b"></div><div class="wisdom-scan"></div></div>',1)),k("main",e22,[k("div",{ref_key:"dialogueRef",ref:o,class:Ht(["wisdom-dialogue",{"is-empty":!r.value.length}])},[r.value.length?Tt("",!0):(Ee(),De("section",t22,[H[3]||(H[3]=k("div",{class:"wisdom-empty-mark"},[k("span"),k("strong",null,"AI")],-1)),H[4]||(H[4]=k("h2",null,"智慧管理问答",-1)),k("p",null,Ue(s.value),1),k("div",n22,[(Ee(),De(gt,null,Mt(l,re=>k("button",{key:re.question,type:"button",disabled:a.value,onClick:ee=>d(re.question)},Ue(re.label),9,i22)),64))])])),(Ee(!0),De(gt,null,Mt(r.value,re=>{var ee,se,Be,we,ve;return Ee(),De("article",{key:re.id,class:Ht(["wisdom-message",`is-${re.role}`])},[re.role==="assistant"?(Ee(),De("div",r22,[...H[5]||(H[5]=[k("span",null,"牧",-1)])])):Tt("",!0),k("div",a22,[re.role==="user"?(Ee(),De(gt,{key:0},[J1(Ue(re.text),1)],64)):(Ee(),De(gt,{key:1},[(ee=re.steps)!=null&&ee.length?(Ee(),De("div",o22,[(Ee(!0),De(gt,null,Mt(re.steps,Ke=>(Ee(),De("div",{key:Ke,class:"wisdom-step"},[H[6]||(H[6]=k("span",null,null,-1)),J1(Ue(Ke),1)]))),128))])):Tt("",!0),re.digesting?(Ee(),De("div",s22,[H[7]||(H[7]=k("span",null,null,-1)),H[8]||(H[8]=k("span",null,null,-1)),H[9]||(H[9]=k("span",null,null,-1)),k("em",null,Ue(re.digestText||"小牧正在消化中"),1)])):Tt("",!0),(se=re.charts)!=null&&se.length?(Ee(),De("div",l22,[(Ee(!0),De(gt,null,Mt(re.charts,Ke=>(Ee(),K0(_1(e),{key:Ke.id,chart:Ke,onReady:q},null,8,["chart"]))),128))])):Tt("",!0),(Be=re.insights)!=null&&Be.length?(Ee(),De("div",u22,[(Ee(!0),De(gt,null,Mt(re.insights,Ke=>(Ee(),De("div",{key:`${Ke.label}-${Ke.value}`,class:"wisdom-insight-item"},[k("span",null,Ue(Ke.label),1),k("strong",null,Ue(Ke.value),1),k("em",null,Ue(Ke.note),1)]))),128))])):Tt("",!0),re.visibleText?(Ee(),De("div",{key:4,class:"wisdom-answer",innerHTML:Y(re.visibleText)},null,8,c22)):Tt("",!0),re.streaming?(Ee(),De("span",d22)):Tt("",!0),(we=re.suggestions)!=null&&we.length&&(re.allowFollowUp||!re.digesting&&!re.streaming)?(Ee(),De("div",h22,[(Ee(!0),De(gt,null,Mt(re.suggestions,Ke=>(Ee(),De("button",{key:Ke.question,type:"button",disabled:a.value,onClick:p2=>d(Ke.question)},Ue(Ke.label),9,f22))),128))])):Tt("",!0),(ve=re.choices)!=null&&ve.length?(Ee(),De("div",p22,[(Ee(!0),De(gt,null,Mt(re.choices,(Ke,p2)=>(Ee(),De("button",{key:`${Ke.key||"choice"}-${Ke.value||p2}`,type:"button",disabled:a.value,onClick:c2=>p(Ke)},Ue(Ke.name||Ke.label||Ke.value),9,m22))),128))])):Tt("",!0)],64))])],2)}),128))],2),k("form",{class:"wisdom-input-bar",onSubmit:H[2]||(H[2]=pi(re=>d(),["prevent"]))},[k("div",g22,[H[10]||(H[10]=k("span",{class:"wisdom-input-icon"},null,-1)),rn(k("input",{"onUpdate:modelValue":H[0]||(H[0]=re=>i.value=re),disabled:a.value,autocomplete:"off",placeholder:"输入牧户、区域或草畜平衡问题",onKeydown:H[1]||(H[1]=l7(pi(re=>d(),["prevent"]),["enter"]))},null,40,v22),[[m8,i.value]]),k("button",{type:"submit",disabled:a.value||!i.value.trim()},[a.value?(Ee(),De("span",_22)):Tt("",!0),k("span",null,Ue(a.value?"消化中":"发送"),1)],8,y22)])],32)])]))}},d_=[{key:"home",label:"首页",bottomLabel:"核心指标",status:"ready"},{key:"forest-grass-wet",label:"林草湿一张图",bottomLabel:"林草湿",status:"ready"},{key:"ecological-protection",label:"生态保护",bottomLabel:"生态保护",status:"ready"},{key:"yak-management",label:"牦牛管理",bottomLabel:"牦牛管理",status:"ready"},{key:"pasture-management",label:"牧场管理",bottomLabel:"牧场管理",status:"ready"},{key:"yak-industry-chain",label:"牦牛产业全链",bottomLabel:"产业全链",status:"ready"},{key:"smart-management",label:"智慧管理",bottomLabel:"智慧管理",status:"ready"},{key:"grass-livestock-balance",label:"草畜平衡",bottomLabel:"草畜平衡",status:"ready"}];function b22(n){return d_.find(e=>e.key===n)||d_[1]}const x22={key:0,class:"platform-module-pane"},w22={key:1,class:"platform-module-pane"},T22={key:2,class:"platform-module-pane"},A22={key:3,class:"platform-module-pane"},C22={key:4,class:"platform-module-pane"},M22={key:5,class:"platform-module-pane"},E22={key:6,class:"platform-module-pane"},P22={key:7,class:"platform-module-pane"},R22={class:"large-screen-wrap"},L22={class:"top-menu"},I22={key:0,class:"top-menu-mid-space"},D22={key:1,class:"module-coming"},N22={class:"module-coming-title"},k22={key:2,class:"bottom-tray"},F22={class:"bottom-menu"},O22=["onClick"],B22={key:8,class:"loading platform-loading"},z22={class:"loading-progress"},U22={class:"value"},G22=1200,V22={__name:"index",setup(n){const e=U2("home"),t=U2("national-park"),i=U2({home:!0}),r=U2({}),a=U2(!0),o=U2(0);let s=null,l=!1,u=null,c=null;const d=Date.now(),h={progress:0},f=["xiaoshoujine","zongxiaoliang","xiaoshoujine","zongxiaoliang"],p=Ze(()=>b22(e.value)),g=Ze(()=>e.value==="ecological-protection"?qj:d_),m=Ze(()=>e.value==="ecological-protection"?t.value:e.value),v=Ze(()=>{const q=r.value[e.value];return Array.isArray(q)||q!=null&&q.length?q:E([{zh:"草地总面积",en:"",value:756.43,unit:"万亩",decimals:2},{zh:"林地总面积",en:"",value:177.92,unit:"万亩",decimals:2},{zh:"湿地面积",en:"",value:291.82,unit:"万亩",decimals:2}])});_r(()=>{s=f_.init({dh:1080,dw:1920,el:"#large-screen",resize:!0}),G()}),Yr(()=>{var q;(q=s==null?void 0:s.off)==null||q.call(s,"#large-screen"),u&&window.clearTimeout(u),c&&window.cancelAnimationFrame(c),O0.killTweensOf(h)});function _(q){if(q===e.value)return;const ce=!!i.value[q];e.value=q,ce||V(q),Nn(G)}function S(q){if(q!=null&&q.key){if(e.value==="ecological-protection"){x(q.key);return}_(q.key)}}function x(q){const ce=qj.some(J=>J.key===q)?q:"national-park";ce===t.value&&e.value==="ecological-protection"||(t.value=ce,Nn(G))}function A(q){const ce=q.moduleKey||(q.topicKey?"forest-grass-wet":e.value);r.value=V2(y2({},r.value),{[ce]:E(q.items||[])})}function C(q={}){const ce=typeof q=="number"?q:q.progress;I(ce)}function M(){O0.killTweensOf(h),h.progress=100,o.value=100;const q=Date.now()-d,ce=Math.max(180,G22-q);window.setTimeout(D,ce)}function I(q){if(!a.value)return;const ce=Math.max(0,Math.min(100,Math.floor(Number(q)||0)));ce<o.value||O0.to(h,{progress:ce,duration:.35,ease:"power2.out",onUpdate:()=>{o.value=Math.floor(h.progress)}})}function D(){if(!a.value||l)return;l=!0;const q=O0.timeline({onComplete:()=>{a.value=!1}});q.to(".platform-loading .loading-text span",{y:"200%",opacity:0,ease:"power4.inOut",duration:1.4,stagger:.14}),q.to(".platform-loading .loading-progress",{opacity:0,ease:"power4.inOut",duration:1.2},"<"),q.to(".platform-loading",{opacity:0,ease:"power4.inOut",duration:.8},"-=0.55")}function E(q=[]){return q.slice(0,4).map((ce,J)=>{var ee;const H=Number(ce.value)||0,re={zh:ce.zh||ce.name||`指标${J+1}`,en:ce.en||"",value:H,unit:ce.unit||"",decimals:(ee=ce.decimals)!=null?ee:Number.isInteger(H)?0:2};return y2({icon:f[J%f.length]},re)})}function L(q){["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(q)&&(i.value[q]||(i.value=V2(y2({},i.value),{[q]:!0})))}function V(q){Y(),u=window.setTimeout(()=>{u=null,c=window.requestAnimationFrame(()=>{c=null,u=null,e.value===q&&L(q)})},180)}function Y(){u&&(window.clearTimeout(u),u=null),c&&(window.cancelAnimationFrame(c),c=null)}function G(){window.scrollTo(0,0),document.documentElement.scrollTop=0,document.body.scrollTop=0;const q=document.querySelector("#app");q&&(q.scrollTop=0)}function W(){Ioe()}return(q,ce)=>(Ee(),De("div",{class:Ht(["large-screen platform-screen",{"is-home":p.value.key==="home","is-forest-grass-wet":p.value.key==="forest-grass-wet","is-ecological-protection":p.value.key==="ecological-protection","is-grass-livestock-balance":p.value.key==="grass-livestock-balance","is-yak-management":p.value.key==="yak-management","is-pasture-management":p.value.key==="pasture-management","is-yak-industry-chain":p.value.key==="yak-industry-chain","is-smart-management":p.value.key==="smart-management"}]),id:"large-screen"},[i.value.home?rn((Ee(),De("div",x22,[dt(RVe,{active:p.value.key==="home",onLoadingProgress:C,onMapReady:M,onModuleStats:A},null,8,["active"])],512)),[[B6,p.value.key==="home"]]):Tt("",!0),i.value["forest-grass-wet"]?rn((Ee(),De("div",w22,[dt(uHe,{active:p.value.key==="forest-grass-wet","show-loading":!1,onTopicStats:A},null,8,["active"])],512)),[[B6,p.value.key==="forest-grass-wet"]]):Tt("",!0),i.value["ecological-protection"]?rn((Ee(),De("div",T22,[dt(GXe,{active:p.value.key==="ecological-protection","active-view":t.value,"show-loading":!1,onModuleStats:A,onViewChange:x},null,8,["active","active-view"])],512)),[[B6,p.value.key==="ecological-protection"]]):Tt("",!0),i.value["grass-livestock-balance"]?rn((Ee(),De("div",A22,[dt(cZe,{active:p.value.key==="grass-livestock-balance",onLoadingProgress:C,onMapReady:M,onModuleStats:A},null,8,["active"])],512)),[[B6,p.value.key==="grass-livestock-balance"]]):Tt("",!0),i.value["yak-management"]?rn((Ee(),De("div",C22,[dt(_Qe,{active:p.value.key==="yak-management",onModuleStats:A},null,8,["active"])],512)),[[B6,p.value.key==="yak-management"]]):Tt("",!0),i.value["pasture-management"]?rn((Ee(),De("div",M22,[dt(PQe,{active:p.value.key==="pasture-management",onLoadingProgress:C,onMapReady:M,onModuleStats:A},null,8,["active"])],512)),[[B6,p.value.key==="pasture-management"]]):Tt("",!0),i.value["yak-industry-chain"]?rn((Ee(),De("div",E22,[dt(Be2,{active:p.value.key==="yak-industry-chain",onLoadingProgress:C,onMapReady:M,onModuleStats:A},null,8,["active"])],512)),[[B6,p.value.key==="yak-industry-chain"]]):Tt("",!0),i.value["smart-management"]?rn((Ee(),De("div",P22,[dt(S22,{active:p.value.key==="smart-management"},null,8,["active"])],512)),[[B6,p.value.key==="smart-management"]]):Tt("",!0),k("div",R22,[dt(m6e,{title:"红原县数字畜牧业监管平台","sub-text":"Hongyuan Digital Animal Husbandry Supervision Platform"},{right:s3(()=>[k("div",{class:"m-header-tools"},[k("button",{class:"logout-button",title:"退出登录",type:"button",onClick:W}," 退出 ")])]),_:1}),k("div",L22,[dt(v6e,{"default-active":e.value,onSelect:_},{default:s3(()=>[(Ee(!0),De(gt,null,Mt(_1(d_),(J,H)=>(Ee(),De(gt,{key:J.key},[dt(y6e,{index:J.key},{default:s3(()=>[J1(Ue(J.label),1)]),_:2},1032,["index"]),H===3?(Ee(),De("div",I22)):Tt("",!0)],64))),128))]),_:1},8,["default-active"])]),v.value.length&&!["smart-management","grass-livestock-balance"].includes(p.value.key)?(Ee(),De("div",{key:0,class:Ht(["top-count-card",{"is-four":v.value.length>3}])},[(Ee(!0),De(gt,null,Mt(v.value,J=>(Ee(),K0(E6e,{key:J.zh,info:J},null,8,["info"]))),128))],2)):Tt("",!0),p.value.status!=="ready"?(Ee(),De("div",D22,[k("div",N22,Ue(p.value.label),1),ce[0]||(ce[0]=k("div",{class:"module-coming-text"},"模块建设中,平台框架已预留入口",-1))])):Tt("",!0),["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(p.value.key)?Tt("",!0):(Ee(),De("div",k22,[dt(Dv,{class:"bottom-svg-line-left",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),dt(Dv,{class:"bottom-svg-line-left bottom-svg-line-right",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),ce[1]||(ce[1]=k("div",{class:"bottom-tray-arrow"},[k("img",{src:Tv,alt:""}),k("img",{src:Av,alt:""})],-1)),k("div",F22,[(Ee(!0),De(gt,null,Mt(g.value,J=>(Ee(),De("div",{key:J.key,class:Ht(["bottom-menu-item",{"is-active":J.key===m.value}]),onClick:H=>S(J)},[k("span",null,Ue(J.bottomLabel),1)],10,O22))),128))]),ce[2]||(ce[2]=k("div",{class:"bottom-tray-arrow is-reverse"},[k("img",{src:Tv,alt:""}),k("img",{src:Av,alt:""})],-1))])),ce[3]||(ce[3]=k("div",{class:"large-screen-left-zsline"},null,-1)),ce[4]||(ce[4]=k("div",{class:"large-screen-right-zsline"},null,-1))]),a.value?(Ee(),De("div",B22,[ce[6]||(ce[6]=D8('<div class="loading-text"><span style="--index:1;">L</span><span style="--index:2;">O</span><span style="--index:3;">A</span><span style="--index:4;">D</span><span style="--index:5;">I</span><span style="--index:6;">N</span><span style="--index:7;">G</span></div>',1)),k("div",z22,[k("span",U22,Ue(o.value),1),ce[5]||(ce[5]=k("span",{class:"unit"},"%",-1))])])):Tt("",!0)],2))}},X22=Object.freeze(Object.defineProperty({__proto__:null,default:V22},Symbol.toStringTag,{value:"Module"}));export{W0 as H,gn as L,X22 as i};
|