虞城12345_前端

echarts-all.js 1.2MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759
  1. ! function(e) {
  2. var t, i;
  3. ! function() {
  4. function e(e, t) {
  5. if(!t) return e;
  6. if(0 === e.indexOf(".")) {
  7. var i = t.split("/"),
  8. n = e.split("/"),
  9. a = i.length - 1,
  10. o = n.length,
  11. r = 0,
  12. s = 0;
  13. e: for(var l = 0; o > l; l++) switch(n[l]) {
  14. case "..":
  15. if(!(a > r)) break e;
  16. r++, s++;
  17. break;
  18. case ".":
  19. s++;
  20. break;
  21. default:
  22. break e
  23. }
  24. return i.length = a - r, n = n.slice(s), i.concat(n).join("/")
  25. }
  26. return e
  27. }
  28. function n(t) {
  29. function i(i, r) {
  30. if("string" == typeof i) {
  31. var s = n[i];
  32. return s || (s = o(e(i, t)), n[i] = s), s
  33. }
  34. i instanceof Array && (r = r || function() {}, r.apply(this, a(i, r, t)))
  35. }
  36. var n = {};
  37. return i
  38. }
  39. function a(i, n, a) {
  40. for(var s = [], l = r[a], h = 0, m = Math.min(i.length, n.length); m > h; h++) {
  41. var V, U = e(i[h], a);
  42. switch(U) {
  43. case "require":
  44. V = l && l.require || t;
  45. break;
  46. case "exports":
  47. V = l.exports;
  48. break;
  49. case "module":
  50. V = l;
  51. break;
  52. default:
  53. V = o(U)
  54. }
  55. s.push(V)
  56. }
  57. return s
  58. }
  59. function o(e) {
  60. var t = r[e];
  61. if(!t) throw new Error("No " + e);
  62. if(!t.defined) {
  63. var i = t.factory,
  64. n = i.apply(this, a(t.deps || [], i, e));
  65. "undefined" != typeof n && (t.exports = n), t.defined = 1
  66. }
  67. return t.exports
  68. }
  69. var r = {};
  70. i = function(e, t, i) {
  71. r[e] = {
  72. id: e,
  73. deps: t,
  74. factory: i,
  75. defined: 0,
  76. exports: {},
  77. require: n(e)
  78. }
  79. }, t = n("")
  80. }(), i("echarts", ["echarts/echarts"], function(e) {
  81. return e
  82. }), i("echarts/echarts", ["require", "./config", "zrender/tool/util", "zrender/tool/event", "zrender/tool/env", "zrender", "zrender/config", "./chart/island", "./component/toolbox", "./component", "./component/title", "./component/tooltip", "./component/legend", "./util/ecData", "./chart", "zrender/tool/color", "./component/timeline", "zrender/shape/Image", "zrender/loadingEffect/Bar", "zrender/loadingEffect/Bubble", "zrender/loadingEffect/DynamicLine", "zrender/loadingEffect/Ring", "zrender/loadingEffect/Spin", "zrender/loadingEffect/Whirling", "./theme/macarons", "./theme/infographic"], function(e) {
  83. function t() {
  84. r.Dispatcher.call(this)
  85. }
  86. function i(e) {
  87. e.innerHTML = "", this._themeConfig = {}, this.dom = e, this._connected = !1, this._status = {
  88. dragIn: !1,
  89. dragOut: !1,
  90. needRefresh: !1
  91. }, this._curEventType = !1, this._chartList = [], this._messageCenter = new t, this._messageCenterOutSide = new t, this.resize = this.resize(), this._init()
  92. }
  93. function n(e, t, i, n, a) {
  94. for(var o = e._chartList, r = o.length; r--;) {
  95. var s = o[r];
  96. "function" == typeof s[t] && s[t](i, n, a)
  97. }
  98. }
  99. var a = e("./config"),
  100. o = e("zrender/tool/util"),
  101. r = e("zrender/tool/event"),
  102. s = {},
  103. l = e("zrender/tool/env").canvasSupported,
  104. h = new Date - 0,
  105. m = {},
  106. V = "_echarts_instance_";
  107. s.version = "2.2.7", s.dependencies = {
  108. zrender: "2.1.1"
  109. }, s.init = function(t, n) {
  110. var a = e("zrender");
  111. a.version.replace(".", "") - 0 < s.dependencies.zrender.replace(".", "") - 0 && console.error("ZRender " + a.version + " is too old for ECharts " + s.version + ". Current version need ZRender " + s.dependencies.zrender + "+"), t = t instanceof Array ? t[0] : t;
  112. var o = t.getAttribute(V);
  113. return o || (o = h++, t.setAttribute(V, o)), m[o] && m[o].dispose(), m[o] = new i(t), m[o].id = o, m[o].canvasSupported = l, m[o].setTheme(n), m[o]
  114. }, s.getInstanceById = function(e) {
  115. return m[e]
  116. }, o.merge(t.prototype, r.Dispatcher.prototype, !0);
  117. var U = e("zrender/config").EVENT,
  118. d = ["CLICK", "DBLCLICK", "MOUSEOVER", "MOUSEOUT", "DRAGSTART", "DRAGEND", "DRAGENTER", "DRAGOVER", "DRAGLEAVE", "DROP"];
  119. return i.prototype = {
  120. _init: function() {
  121. var t = this,
  122. i = e("zrender").init(this.dom);
  123. this._zr = i, this._messageCenter.dispatch = function(e, i, n, a) {
  124. n = n || {}, n.type = e, n.event = i, t._messageCenter.dispatchWithContext(e, n, a), t._messageCenterOutSide.dispatchWithContext(e, n, a)
  125. }, this._onevent = function(e) {
  126. return t.__onevent(e)
  127. };
  128. for(var n in a.EVENT) "CLICK" != n && "DBLCLICK" != n && "HOVER" != n && "MOUSEOUT" != n && "MAP_ROAM" != n && this._messageCenter.bind(a.EVENT[n], this._onevent, this);
  129. var o = {};
  130. this._onzrevent = function(e) {
  131. return t[o[e.type]](e)
  132. };
  133. for(var r = 0, s = d.length; s > r; r++) {
  134. var l = d[r],
  135. h = U[l];
  136. o[h] = "_on" + l.toLowerCase(), i.on(h, this._onzrevent)
  137. }
  138. this.chart = {}, this.component = {};
  139. var m = e("./chart/island");
  140. this._island = new m(this._themeConfig, this._messageCenter, i, {}, this), this.chart.island = this._island;
  141. var V = e("./component/toolbox");
  142. this._toolbox = new V(this._themeConfig, this._messageCenter, i, {}, this), this.component.toolbox = this._toolbox;
  143. var p = e("./component");
  144. p.define("title", e("./component/title")), p.define("tooltip", e("./component/tooltip")), p.define("legend", e("./component/legend")), (0 === i.getWidth() || 0 === i.getHeight()) && console.error("Dom’s width & height should be ready before init.")
  145. },
  146. __onevent: function(e) {
  147. e.__echartsId = e.__echartsId || this.id;
  148. var t = e.__echartsId === this.id;
  149. switch(this._curEventType || (this._curEventType = e.type), e.type) {
  150. case a.EVENT.LEGEND_SELECTED:
  151. this._onlegendSelected(e);
  152. break;
  153. case a.EVENT.DATA_ZOOM:
  154. if(!t) {
  155. var i = this.component.dataZoom;
  156. i && (i.silence(!0), i.absoluteZoom(e.zoom), i.silence(!1))
  157. }
  158. this._ondataZoom(e);
  159. break;
  160. case a.EVENT.DATA_RANGE:
  161. t && this._ondataRange(e);
  162. break;
  163. case a.EVENT.MAGIC_TYPE_CHANGED:
  164. if(!t) {
  165. var n = this.component.toolbox;
  166. n && (n.silence(!0), n.setMagicType(e.magicType), n.silence(!1))
  167. }
  168. this._onmagicTypeChanged(e);
  169. break;
  170. case a.EVENT.DATA_VIEW_CHANGED:
  171. t && this._ondataViewChanged(e);
  172. break;
  173. case a.EVENT.TOOLTIP_HOVER:
  174. t && this._tooltipHover(e);
  175. break;
  176. case a.EVENT.RESTORE:
  177. this._onrestore();
  178. break;
  179. case a.EVENT.REFRESH:
  180. t && this._onrefresh(e);
  181. break;
  182. case a.EVENT.TOOLTIP_IN_GRID:
  183. case a.EVENT.TOOLTIP_OUT_GRID:
  184. if(t) {
  185. if(this._connected) {
  186. var o = this.component.grid;
  187. o && (e.x = (e.event.zrenderX - o.getX()) / o.getWidth(), e.y = (e.event.zrenderY - o.getY()) / o.getHeight())
  188. }
  189. } else {
  190. var o = this.component.grid;
  191. o && this._zr.trigger("mousemove", {
  192. connectTrigger: !0,
  193. zrenderX: o.getX() + e.x * o.getWidth(),
  194. zrenderY: o.getY() + e.y * o.getHeight()
  195. })
  196. }
  197. }
  198. if(this._connected && t && this._curEventType === e.type) {
  199. for(var r in this._connected) this._connected[r].connectedEventHandler(e);
  200. this._curEventType = null
  201. }(!t || !this._connected && t) && (this._curEventType = null)
  202. },
  203. _onclick: function(e) {
  204. if(n(this, "onclick", e), e.target) {
  205. var t = this._eventPackage(e.target);
  206. t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.CLICK, e.event, t, this)
  207. }
  208. },
  209. _ondblclick: function(e) {
  210. if(n(this, "ondblclick", e), e.target) {
  211. var t = this._eventPackage(e.target);
  212. t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.DBLCLICK, e.event, t, this)
  213. }
  214. },
  215. _onmouseover: function(e) {
  216. if(e.target) {
  217. var t = this._eventPackage(e.target);
  218. t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.HOVER, e.event, t, this)
  219. }
  220. },
  221. _onmouseout: function(e) {
  222. if(e.target) {
  223. var t = this._eventPackage(e.target);
  224. t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.MOUSEOUT, e.event, t, this)
  225. }
  226. },
  227. _ondragstart: function(e) {
  228. this._status = {
  229. dragIn: !1,
  230. dragOut: !1,
  231. needRefresh: !1
  232. }, n(this, "ondragstart", e)
  233. },
  234. _ondragenter: function(e) {
  235. n(this, "ondragenter", e)
  236. },
  237. _ondragover: function(e) {
  238. n(this, "ondragover", e)
  239. },
  240. _ondragleave: function(e) {
  241. n(this, "ondragleave", e)
  242. },
  243. _ondrop: function(e) {
  244. n(this, "ondrop", e, this._status), this._island.ondrop(e, this._status)
  245. },
  246. _ondragend: function(e) {
  247. if(n(this, "ondragend", e, this._status), this._timeline && this._timeline.ondragend(e, this._status), this._island.ondragend(e, this._status), this._status.needRefresh) {
  248. this._syncBackupData(this._option);
  249. var t = this._messageCenter;
  250. t.dispatch(a.EVENT.DATA_CHANGED, e.event, this._eventPackage(e.target), this), t.dispatch(a.EVENT.REFRESH, null, null, this)
  251. }
  252. },
  253. _onlegendSelected: function(e) {
  254. this._status.needRefresh = !1, n(this, "onlegendSelected", e, this._status), this._status.needRefresh && this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
  255. },
  256. _ondataZoom: function(e) {
  257. this._status.needRefresh = !1, n(this, "ondataZoom", e, this._status), this._status.needRefresh && this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
  258. },
  259. _ondataRange: function(e) {
  260. this._clearEffect(), this._status.needRefresh = !1, n(this, "ondataRange", e, this._status), this._status.needRefresh && this._zr.refreshNextFrame()
  261. },
  262. _onmagicTypeChanged: function() {
  263. this._clearEffect(), this._render(this._toolbox.getMagicOption())
  264. },
  265. _ondataViewChanged: function(e) {
  266. this._syncBackupData(e.option), this._messageCenter.dispatch(a.EVENT.DATA_CHANGED, null, e, this), this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
  267. },
  268. _tooltipHover: function(e) {
  269. var t = [];
  270. n(this, "ontooltipHover", e, t)
  271. },
  272. _onrestore: function() {
  273. this.restore()
  274. },
  275. _onrefresh: function(e) {
  276. this._refreshInside = !0, this.refresh(e), this._refreshInside = !1
  277. },
  278. _syncBackupData: function(e) {
  279. this.component.dataZoom && this.component.dataZoom.syncBackupData(e)
  280. },
  281. _eventPackage: function(t) {
  282. if(t) {
  283. var i = e("./util/ecData"),
  284. n = i.get(t, "seriesIndex"),
  285. a = i.get(t, "dataIndex");
  286. return a = -1 != n && this.component.dataZoom ? this.component.dataZoom.getRealDataIndex(n, a) : a, {
  287. seriesIndex: n,
  288. seriesName: (i.get(t, "series") || {}).name,
  289. dataIndex: a,
  290. data: i.get(t, "data"),
  291. name: i.get(t, "name"),
  292. value: i.get(t, "value"),
  293. special: i.get(t, "special")
  294. }
  295. }
  296. },
  297. _noDataCheck: function(e) {
  298. for(var t = e.series, i = 0, n = t.length; n > i; i++)
  299. if(t[i].type == a.CHART_TYPE_MAP || t[i].data && t[i].data.length > 0 || t[i].markPoint && t[i].markPoint.data && t[i].markPoint.data.length > 0 || t[i].markLine && t[i].markLine.data && t[i].markLine.data.length > 0 || t[i].nodes && t[i].nodes.length > 0 || t[i].links && t[i].links.length > 0 || t[i].matrix && t[i].matrix.length > 0 || t[i].eventList && t[i].eventList.length > 0) return !1;
  300. var o = this._option && this._option.noDataLoadingOption || this._themeConfig.noDataLoadingOption || a.noDataLoadingOption || {
  301. text: this._option && this._option.noDataText || this._themeConfig.noDataText || a.noDataText,
  302. effect: this._option && this._option.noDataEffect || this._themeConfig.noDataEffect || a.noDataEffect
  303. };
  304. return this.clear(), this.showLoading(o), !0
  305. },
  306. _render: function(t) {
  307. if(this._mergeGlobalConifg(t), !this._noDataCheck(t)) {
  308. var i = t.backgroundColor;
  309. if(i)
  310. if(l || -1 == i.indexOf("rgba")) this.dom.style.backgroundColor = i;
  311. else {
  312. var n = i.split(",");
  313. this.dom.style.filter = "alpha(opacity=" + 100 * n[3].substring(0, n[3].lastIndexOf(")")) + ")", n.length = 3, n[0] = n[0].replace("a", ""), this.dom.style.backgroundColor = n.join(",") + ")"
  314. }
  315. this._zr.clearAnimation(), this._chartList = [];
  316. var o = e("./chart"),
  317. r = e("./component");
  318. (t.xAxis || t.yAxis) && (t.grid = t.grid || {}, t.dataZoom = t.dataZoom || {});
  319. for(var s, h, m, V = ["title", "legend", "tooltip", "dataRange", "roamController", "grid", "dataZoom", "xAxis", "yAxis", "polar"], U = 0, d = V.length; d > U; U++) h = V[U], m = this.component[h], t[h] ? (m ? m.refresh && m.refresh(t) : (s = r.get(/^[xy]Axis$/.test(h) ? "axis" : h), m = new s(this._themeConfig, this._messageCenter, this._zr, t, this, h), this.component[h] = m), this._chartList.push(m)) : m && (m.dispose(), this.component[h] = null, delete this.component[h]);
  320. for(var p, c, u, y = {}, U = 0, d = t.series.length; d > U; U++) c = t.series[U].type, c ? y[c] || (y[c] = !0, p = o.get(c), p ? (this.chart[c] ? (u = this.chart[c], u.refresh(t)) : u = new p(this._themeConfig, this._messageCenter, this._zr, t, this), this._chartList.push(u), this.chart[c] = u) : console.error(c + " has not been required.")) : console.error("series[" + U + "] chart type has not been defined.");
  321. for(c in this.chart) c == a.CHART_TYPE_ISLAND || y[c] || (this.chart[c].dispose(), this.chart[c] = null, delete this.chart[c]);
  322. this.component.grid && this.component.grid.refixAxisShape(this.component), this._island.refresh(t), this._toolbox.refresh(t), t.animation && !t.renderAsImage ? this._zr.refresh() : this._zr.render();
  323. var g = "IMG" + this.id,
  324. b = document.getElementById(g);
  325. t.renderAsImage && l ? (b ? b.src = this.getDataURL(t.renderAsImage) : (b = this.getImage(t.renderAsImage), b.id = g, b.style.position = "absolute", b.style.left = 0, b.style.top = 0, this.dom.firstChild.appendChild(b)), this.un(), this._zr.un(), this._disposeChartList(), this._zr.clear()) : b && b.parentNode.removeChild(b), b = null, this._option = t
  326. }
  327. },
  328. restore: function() {
  329. this._clearEffect(), this._option = o.clone(this._optionRestore), this._disposeChartList(), this._island.clear(), this._toolbox.reset(this._option, !0), this._render(this._option)
  330. },
  331. refresh: function(e) {
  332. this._clearEffect(), e = e || {};
  333. var t = e.option;
  334. !this._refreshInside && t && (t = this.getOption(), o.merge(t, e.option, !0), o.merge(this._optionRestore, e.option, !0), this._toolbox.reset(t)), this._island.refresh(t), this._toolbox.refresh(t), this._zr.clearAnimation();
  335. for(var i = 0, n = this._chartList.length; n > i; i++) this._chartList[i].refresh && this._chartList[i].refresh(t);
  336. this.component.grid && this.component.grid.refixAxisShape(this.component), this._zr.refresh()
  337. },
  338. _disposeChartList: function() {
  339. this._clearEffect(), this._zr.clearAnimation();
  340. for(var e = this._chartList.length; e--;) {
  341. var t = this._chartList[e];
  342. if(t) {
  343. var i = t.type;
  344. this.chart[i] && delete this.chart[i], this.component[i] && delete this.component[i], t.dispose && t.dispose()
  345. }
  346. }
  347. this._chartList = []
  348. },
  349. _mergeGlobalConifg: function(t) {
  350. for(var i = ["backgroundColor", "calculable", "calculableColor", "calculableHolderColor", "nameConnector", "valueConnector", "animation", "animationThreshold", "animationDuration", "animationDurationUpdate", "animationEasing", "addDataAnimation", "symbolList", "DRAG_ENABLE_TIME"], n = i.length; n--;) {
  351. var o = i[n];
  352. null == t[o] && (t[o] = null != this._themeConfig[o] ? this._themeConfig[o] : a[o])
  353. }
  354. var r = t.color;
  355. r && r.length || (r = this._themeConfig.color || a.color), this._zr.getColor = function(t) {
  356. var i = e("zrender/tool/color");
  357. return i.getColor(t, r)
  358. }, l || (t.animation = !1, t.addDataAnimation = !1)
  359. },
  360. setOption: function(e, t) {
  361. return e.timeline ? this._setTimelineOption(e) : this._setOption(e, t)
  362. },
  363. _setOption: function(e, t, i) {
  364. return !t && this._option ? this._option = o.merge(this.getOption(), o.clone(e), !0) : (this._option = o.clone(e), !i && this._timeline && this._timeline.dispose()), this._optionRestore = o.clone(this._option), this._option.series && 0 !== this._option.series.length ? (this.component.dataZoom && (this._option.dataZoom || this._option.toolbox && this._option.toolbox.feature && this._option.toolbox.feature.dataZoom && this._option.toolbox.feature.dataZoom.show) && this.component.dataZoom.syncOption(this._option), this._toolbox.reset(this._option), this._render(this._option), this) : void this._zr.clear()
  365. },
  366. getOption: function() {
  367. function e(e) {
  368. var n = i._optionRestore[e];
  369. if(n)
  370. if(n instanceof Array)
  371. for(var a = n.length; a--;) t[e][a].data = o.clone(n[a].data);
  372. else t[e].data = o.clone(n.data)
  373. }
  374. var t = o.clone(this._option),
  375. i = this;
  376. return e("xAxis"), e("yAxis"), e("series"), t
  377. },
  378. setSeries: function(e, t) {
  379. return t ? (this._option.series = e, this.setOption(this._option, t)) : this.setOption({
  380. series: e
  381. }), this
  382. },
  383. getSeries: function() {
  384. return this.getOption().series
  385. },
  386. _setTimelineOption: function(t) {
  387. this._timeline && this._timeline.dispose();
  388. var i = e("./component/timeline"),
  389. n = new i(this._themeConfig, this._messageCenter, this._zr, t, this);
  390. return this._timeline = n, this.component.timeline = this._timeline, this
  391. },
  392. addData: function(e, t, i, n, r) {
  393. function s() {
  394. if(V._zr) {
  395. V._zr.clearAnimation();
  396. for(var e = 0, t = X.length; t > e; e++) X[e].motionlessOnce = h.addDataAnimation && X[e].addDataAnimation;
  397. V._messageCenter.dispatch(a.EVENT.REFRESH, null, {
  398. option: h
  399. }, V)
  400. }
  401. }
  402. for(var l = e instanceof Array ? e : [
  403. [e, t, i, n, r]
  404. ], h = this.getOption(), m = this._optionRestore, V = this, U = 0, d = l.length; d > U; U++) {
  405. e = l[U][0], t = l[U][1], i = l[U][2], n = l[U][3], r = l[U][4];
  406. var p = m.series[e],
  407. c = i ? "unshift" : "push",
  408. u = i ? "pop" : "shift";
  409. if(p) {
  410. var y = p.data,
  411. g = h.series[e].data;
  412. if(y[c](t), g[c](t), n || (y[u](), t = g[u]()), null != r) {
  413. var b, f;
  414. if(p.type === a.CHART_TYPE_PIE && (b = m.legend) && (f = b.data)) {
  415. var k = h.legend.data;
  416. if(f[c](r), k[c](r), !n) {
  417. var x = o.indexOf(f, t.name); - 1 != x && f.splice(x, 1), x = o.indexOf(k, t.name), -1 != x && k.splice(x, 1)
  418. }
  419. } else if(null != m.xAxis && null != m.yAxis) {
  420. var _, L, W = p.xAxisIndex || 0;
  421. (null == m.xAxis[W].type || "category" === m.xAxis[W].type) && (_ = m.xAxis[W].data, L = h.xAxis[W].data, _[c](r), L[c](r), n || (_[u](), L[u]())), W = p.yAxisIndex || 0, "category" === m.yAxis[W].type && (_ = m.yAxis[W].data, L = h.yAxis[W].data, _[c](r), L[c](r), n || (_[u](), L[u]()))
  422. }
  423. }
  424. this._option.series[e].data = h.series[e].data
  425. }
  426. }
  427. this._zr.clearAnimation();
  428. for(var X = this._chartList, v = 0, w = function() {
  429. v--, 0 === v && s()
  430. }, U = 0, d = X.length; d > U; U++) h.addDataAnimation && X[U].addDataAnimation && (v++, X[U].addDataAnimation(l, w));
  431. return this.component.dataZoom && this.component.dataZoom.syncOption(h), this._option = h, h.addDataAnimation || setTimeout(s, 0), this
  432. },
  433. addMarkPoint: function(e, t) {
  434. return this._addMark(e, t, "markPoint")
  435. },
  436. addMarkLine: function(e, t) {
  437. return this._addMark(e, t, "markLine")
  438. },
  439. _addMark: function(e, t, i) {
  440. var n, a = this._option.series;
  441. if(a && (n = a[e])) {
  442. var r = this._optionRestore.series,
  443. s = r[e],
  444. l = n[i],
  445. h = s[i];
  446. l = n[i] = l || {
  447. data: []
  448. }, h = s[i] = h || {
  449. data: []
  450. };
  451. for(var m in t) "data" === m ? (l.data = l.data.concat(t.data), h.data = h.data.concat(t.data)) : "object" != typeof t[m] || null == l[m] ? l[m] = h[m] = t[m] : (o.merge(l[m], t[m], !0), o.merge(h[m], t[m], !0));
  452. var V = this.chart[n.type];
  453. V && V.addMark(e, t, i)
  454. }
  455. return this
  456. },
  457. delMarkPoint: function(e, t) {
  458. return this._delMark(e, t, "markPoint")
  459. },
  460. delMarkLine: function(e, t) {
  461. return this._delMark(e, t, "markLine")
  462. },
  463. _delMark: function(e, t, i) {
  464. var n, a, o, r = this._option.series;
  465. if(!(r && (n = r[e]) && (a = n[i]) && (o = a.data))) return this;
  466. t = t.split(" > ");
  467. for(var s = -1, l = 0, h = o.length; h > l; l++) {
  468. var m = o[l];
  469. if(m instanceof Array) {
  470. if(m[0].name === t[0] && m[1].name === t[1]) {
  471. s = l;
  472. break
  473. }
  474. } else if(m.name === t[0]) {
  475. s = l;
  476. break
  477. }
  478. }
  479. if(s > -1) {
  480. o.splice(s, 1), this._optionRestore.series[e][i].data.splice(s, 1);
  481. var V = this.chart[n.type];
  482. V && V.delMark(e, t.join(" > "), i)
  483. }
  484. return this
  485. },
  486. getDom: function() {
  487. return this.dom
  488. },
  489. getZrender: function() {
  490. return this._zr
  491. },
  492. getDataURL: function(e) {
  493. if(!l) return "";
  494. if(0 === this._chartList.length) {
  495. var t = "IMG" + this.id,
  496. i = document.getElementById(t);
  497. if(i) return i.src
  498. }
  499. var n = this.component.tooltip;
  500. switch(n && n.hideTip(), e) {
  501. case "jpeg":
  502. break;
  503. default:
  504. e = "png"
  505. }
  506. var a = this._option.backgroundColor;
  507. return a && "rgba(0,0,0,0)" === a.replace(" ", "") && (a = "#fff"), this._zr.toDataURL("image/" + e, a)
  508. },
  509. getImage: function(e) {
  510. var t = this._optionRestore.title,
  511. i = document.createElement("img");
  512. return i.src = this.getDataURL(e), i.title = t && t.text || "ECharts", i
  513. },
  514. getConnectedDataURL: function(t) {
  515. if(!this.isConnected()) return this.getDataURL(t);
  516. var i = this.dom,
  517. n = {
  518. self: {
  519. img: this.getDataURL(t),
  520. left: i.offsetLeft,
  521. top: i.offsetTop,
  522. right: i.offsetLeft + i.offsetWidth,
  523. bottom: i.offsetTop + i.offsetHeight
  524. }
  525. },
  526. a = n.self.left,
  527. o = n.self.top,
  528. r = n.self.right,
  529. s = n.self.bottom;
  530. for(var l in this._connected) i = this._connected[l].getDom(), n[l] = {
  531. img: this._connected[l].getDataURL(t),
  532. left: i.offsetLeft,
  533. top: i.offsetTop,
  534. right: i.offsetLeft + i.offsetWidth,
  535. bottom: i.offsetTop + i.offsetHeight
  536. }, a = Math.min(a, n[l].left), o = Math.min(o, n[l].top), r = Math.max(r, n[l].right), s = Math.max(s, n[l].bottom);
  537. var h = document.createElement("div");
  538. h.style.position = "absolute", h.style.left = "-4000px", h.style.width = r - a + "px", h.style.height = s - o + "px", document.body.appendChild(h);
  539. var m = e("zrender").init(h),
  540. V = e("zrender/shape/Image");
  541. for(var l in n) m.addShape(new V({
  542. style: {
  543. x: n[l].left - a,
  544. y: n[l].top - o,
  545. image: n[l].img
  546. }
  547. }));
  548. m.render();
  549. var U = this._option.backgroundColor;
  550. U && "rgba(0,0,0,0)" === U.replace(/ /g, "") && (U = "#fff");
  551. var d = m.toDataURL("image/png", U);
  552. return setTimeout(function() {
  553. m.dispose(), h.parentNode.removeChild(h), h = null
  554. }, 100), d
  555. },
  556. getConnectedImage: function(e) {
  557. var t = this._optionRestore.title,
  558. i = document.createElement("img");
  559. return i.src = this.getConnectedDataURL(e), i.title = t && t.text || "ECharts", i
  560. },
  561. on: function(e, t) {
  562. return this._messageCenterOutSide.bind(e, t, this), this
  563. },
  564. un: function(e, t) {
  565. return this._messageCenterOutSide.unbind(e, t), this
  566. },
  567. connect: function(e) {
  568. if(!e) return this;
  569. if(this._connected || (this._connected = {}), e instanceof Array)
  570. for(var t = 0, i = e.length; i > t; t++) this._connected[e[t].id] = e[t];
  571. else this._connected[e.id] = e;
  572. return this
  573. },
  574. disConnect: function(e) {
  575. if(!e || !this._connected) return this;
  576. if(e instanceof Array)
  577. for(var t = 0, i = e.length; i > t; t++) delete this._connected[e[t].id];
  578. else delete this._connected[e.id];
  579. for(var n in this._connected) return this;
  580. return this._connected = !1, this
  581. },
  582. connectedEventHandler: function(e) {
  583. e.__echartsId != this.id && this._onevent(e)
  584. },
  585. isConnected: function() {
  586. return !!this._connected
  587. },
  588. showLoading: function(t) {
  589. var i = {
  590. bar: e("zrender/loadingEffect/Bar"),
  591. bubble: e("zrender/loadingEffect/Bubble"),
  592. dynamicLine: e("zrender/loadingEffect/DynamicLine"),
  593. ring: e("zrender/loadingEffect/Ring"),
  594. spin: e("zrender/loadingEffect/Spin"),
  595. whirling: e("zrender/loadingEffect/Whirling")
  596. };
  597. this._toolbox.hideDataView(), t = t || {};
  598. var n = t.textStyle || {};
  599. t.textStyle = n;
  600. var r = o.merge(o.merge(o.clone(n), this._themeConfig.textStyle), a.textStyle);
  601. n.textFont = r.fontStyle + " " + r.fontWeight + " " + r.fontSize + "px " + r.fontFamily, n.text = t.text || this._option && this._option.loadingText || this._themeConfig.loadingText || a.loadingText, null != t.x && (n.x = t.x), null != t.y && (n.y = t.y), t.effectOption = t.effectOption || {}, t.effectOption.textStyle = n;
  602. var s = t.effect;
  603. return("string" == typeof s || null == s) && (s = i[t.effect || this._option && this._option.loadingEffect || this._themeConfig.loadingEffect || a.loadingEffect] || i.spin), this._zr.showLoading(new s(t.effectOption)), this
  604. },
  605. hideLoading: function() {
  606. return this._zr.hideLoading(), this
  607. },
  608. setTheme: function(t) {
  609. if(t) {
  610. if("string" == typeof t) switch(t) {
  611. case "macarons":
  612. t = e("./theme/macarons");
  613. break;
  614. case "infographic":
  615. t = e("./theme/infographic");
  616. break;
  617. default:
  618. t = {}
  619. } else t = t || {};
  620. this._themeConfig = t
  621. }
  622. if(!l) {
  623. var i = this._themeConfig.textStyle;
  624. i && i.fontFamily && i.fontFamily2 && (i.fontFamily = i.fontFamily2), i = a.textStyle, i.fontFamily = i.fontFamily2
  625. }
  626. this._timeline && this._timeline.setTheme(!0), this._optionRestore && this.restore()
  627. },
  628. resize: function() {
  629. var e = this;
  630. return function() {
  631. if(e._clearEffect(), e._zr.resize(), e._option && e._option.renderAsImage && l) return e._render(e._option), e;
  632. e._zr.clearAnimation(), e._island.resize(), e._toolbox.resize(), e._timeline && e._timeline.resize();
  633. for(var t = 0, i = e._chartList.length; i > t; t++) e._chartList[t].resize && e._chartList[t].resize();
  634. return e.component.grid && e.component.grid.refixAxisShape(e.component), e._zr.refresh(), e._messageCenter.dispatch(a.EVENT.RESIZE, null, null, e), e
  635. }
  636. },
  637. _clearEffect: function() {
  638. this._zr.modLayer(a.EFFECT_ZLEVEL, {
  639. motionBlur: !1
  640. }), this._zr.painter.clearLayer(a.EFFECT_ZLEVEL)
  641. },
  642. clear: function() {
  643. return this._disposeChartList(), this._zr.clear(), this._option = {}, this._optionRestore = {}, this.dom.style.backgroundColor = null, this
  644. },
  645. dispose: function() {
  646. var e = this.dom.getAttribute(V);
  647. e && delete m[e], this._island.dispose(), this._toolbox.dispose(), this._timeline && this._timeline.dispose(), this._messageCenter.unbind(), this.clear(), this._zr.dispose(), this._zr = null
  648. }
  649. }, s
  650. }), i("echarts/config", [], function() {
  651. var e = {
  652. CHART_TYPE_LINE: "line",
  653. CHART_TYPE_BAR: "bar",
  654. CHART_TYPE_SCATTER: "scatter",
  655. CHART_TYPE_PIE: "pie",
  656. CHART_TYPE_RADAR: "radar",
  657. CHART_TYPE_VENN: "venn",
  658. CHART_TYPE_TREEMAP: "treemap",
  659. CHART_TYPE_TREE: "tree",
  660. CHART_TYPE_MAP: "map",
  661. CHART_TYPE_K: "k",
  662. CHART_TYPE_ISLAND: "island",
  663. CHART_TYPE_FORCE: "force",
  664. CHART_TYPE_CHORD: "chord",
  665. CHART_TYPE_GAUGE: "gauge",
  666. CHART_TYPE_FUNNEL: "funnel",
  667. CHART_TYPE_EVENTRIVER: "eventRiver",
  668. CHART_TYPE_WORDCLOUD: "wordCloud",
  669. CHART_TYPE_HEATMAP: "heatmap",
  670. COMPONENT_TYPE_TITLE: "title",
  671. COMPONENT_TYPE_LEGEND: "legend",
  672. COMPONENT_TYPE_DATARANGE: "dataRange",
  673. COMPONENT_TYPE_DATAVIEW: "dataView",
  674. COMPONENT_TYPE_DATAZOOM: "dataZoom",
  675. COMPONENT_TYPE_TOOLBOX: "toolbox",
  676. COMPONENT_TYPE_TOOLTIP: "tooltip",
  677. COMPONENT_TYPE_GRID: "grid",
  678. COMPONENT_TYPE_AXIS: "axis",
  679. COMPONENT_TYPE_POLAR: "polar",
  680. COMPONENT_TYPE_X_AXIS: "xAxis",
  681. COMPONENT_TYPE_Y_AXIS: "yAxis",
  682. COMPONENT_TYPE_AXIS_CATEGORY: "categoryAxis",
  683. COMPONENT_TYPE_AXIS_VALUE: "valueAxis",
  684. COMPONENT_TYPE_TIMELINE: "timeline",
  685. COMPONENT_TYPE_ROAMCONTROLLER: "roamController",
  686. backgroundColor: "rgba(0,0,0,0)",
  687. color: ["#ff7f50", "#87cefa", "#da70d6", "#32cd32", "#6495ed", "#ff69b4", "#ba55d3", "#cd5c5c", "#ffa500", "#40e0d0", "#1e90ff", "#ff6347", "#7b68ee", "#00fa9a", "#ffd700", "#6699FF", "#ff6666", "#3cb371", "#b8860b", "#30e0e0"],
  688. markPoint: {
  689. clickable: !0,
  690. symbol: "pin",
  691. symbolSize: 10,
  692. large: !1,
  693. effect: {
  694. show: !1,
  695. loop: !0,
  696. period: 15,
  697. type: "scale",
  698. scaleSize: 2,
  699. bounceDistance: 10
  700. },
  701. itemStyle: {
  702. normal: {
  703. borderWidth: 2,
  704. label: {
  705. show: !0,
  706. position: "inside"
  707. }
  708. },
  709. emphasis: {
  710. label: {
  711. show: !0
  712. }
  713. }
  714. }
  715. },
  716. markLine: {
  717. clickable: !0,
  718. symbol: ["circle", "arrow"],
  719. symbolSize: [2, 4],
  720. smoothness: .2,
  721. precision: 2,
  722. effect: {
  723. show: !1,
  724. loop: !0,
  725. period: 15,
  726. scaleSize: 2
  727. },
  728. bundling: {
  729. enable: !1,
  730. maxTurningAngle: 45
  731. },
  732. itemStyle: {
  733. normal: {
  734. borderWidth: 1.5,
  735. label: {
  736. show: !0,
  737. position: "end"
  738. },
  739. lineStyle: {
  740. type: "dashed"
  741. }
  742. },
  743. emphasis: {
  744. label: {
  745. show: !1
  746. },
  747. lineStyle: {}
  748. }
  749. }
  750. },
  751. textStyle: {
  752. decoration: "none",
  753. fontFamily: "Arial, Verdana, sans-serif",
  754. fontFamily2: "微软雅黑",
  755. fontSize: 12,
  756. fontStyle: "normal",
  757. fontWeight: "normal"
  758. },
  759. EVENT: {
  760. REFRESH: "refresh",
  761. RESTORE: "restore",
  762. RESIZE: "resize",
  763. CLICK: "click",
  764. DBLCLICK: "dblclick",
  765. HOVER: "hover",
  766. MOUSEOUT: "mouseout",
  767. DATA_CHANGED: "dataChanged",
  768. DATA_ZOOM: "dataZoom",
  769. DATA_RANGE: "dataRange",
  770. DATA_RANGE_SELECTED: "dataRangeSelected",
  771. DATA_RANGE_HOVERLINK: "dataRangeHoverLink",
  772. LEGEND_SELECTED: "legendSelected",
  773. LEGEND_HOVERLINK: "legendHoverLink",
  774. MAP_SELECTED: "mapSelected",
  775. PIE_SELECTED: "pieSelected",
  776. MAGIC_TYPE_CHANGED: "magicTypeChanged",
  777. DATA_VIEW_CHANGED: "dataViewChanged",
  778. TIMELINE_CHANGED: "timelineChanged",
  779. MAP_ROAM: "mapRoam",
  780. FORCE_LAYOUT_END: "forceLayoutEnd",
  781. TOOLTIP_HOVER: "tooltipHover",
  782. TOOLTIP_IN_GRID: "tooltipInGrid",
  783. TOOLTIP_OUT_GRID: "tooltipOutGrid",
  784. ROAMCONTROLLER: "roamController"
  785. },
  786. DRAG_ENABLE_TIME: 120,
  787. EFFECT_ZLEVEL: 10,
  788. effectBlendAlpha: .95,
  789. symbolList: ["circle", "rectangle", "triangle", "diamond", "emptyCircle", "emptyRectangle", "emptyTriangle", "emptyDiamond"],
  790. loadingEffect: "spin",
  791. loadingText: "数据读取中...",
  792. noDataEffect: "bubble",
  793. noDataText: "暂无数据",
  794. calculable: !1,
  795. calculableColor: "rgba(255,165,0,0.6)",
  796. calculableHolderColor: "#ccc",
  797. nameConnector: " & ",
  798. valueConnector: ": ",
  799. animation: !0,
  800. addDataAnimation: !0,
  801. animationThreshold: 2e3,
  802. animationDuration: 2e3,
  803. animationDurationUpdate: 500,
  804. animationEasing: "ExponentialOut"
  805. };
  806. return e
  807. }), i("zrender/tool/util", ["require", "../dep/excanvas"], function(e) {
  808. function t(e) {
  809. return e && 1 === e.nodeType && "string" == typeof e.nodeName
  810. }
  811. function i(e) {
  812. if("object" == typeof e && null !== e) {
  813. var n = e;
  814. if(e instanceof Array) {
  815. n = [];
  816. for(var a = 0, o = e.length; o > a; a++) n[a] = i(e[a])
  817. } else if(!y[g.call(e)] && !t(e)) {
  818. n = {};
  819. for(var r in e) e.hasOwnProperty(r) && (n[r] = i(e[r]))
  820. }
  821. return n
  822. }
  823. return e
  824. }
  825. function n(e, i, n, o) {
  826. if(i.hasOwnProperty(n)) {
  827. var r = e[n];
  828. "object" != typeof r || y[g.call(r)] || t(r) ? !o && n in e || (e[n] = i[n]) : a(e[n], i[n], o)
  829. }
  830. }
  831. function a(e, t, i) {
  832. for(var a in t) n(e, t, a, i);
  833. return e
  834. }
  835. function o() {
  836. if(!U)
  837. if(e("../dep/excanvas"), window.G_vmlCanvasManager) {
  838. var t = document.createElement("div");
  839. t.style.position = "absolute", t.style.top = "-1000px", document.body.appendChild(t), U = G_vmlCanvasManager.initElement(t).getContext("2d")
  840. } else U = document.createElement("canvas").getContext("2d");
  841. return U
  842. }
  843. function r(e, t) {
  844. if(e.indexOf) return e.indexOf(t);
  845. for(var i = 0, n = e.length; n > i; i++)
  846. if(e[i] === t) return i;
  847. return -1
  848. }
  849. function s(e, t) {
  850. function i() {}
  851. var n = e.prototype;
  852. i.prototype = t.prototype, e.prototype = new i;
  853. for(var a in n) e.prototype[a] = n[a];
  854. e.constructor = e
  855. }
  856. function l(e, t, i) {
  857. if(e && t)
  858. if(e.forEach && e.forEach === p) e.forEach(t, i);
  859. else if(e.length === +e.length)
  860. for(var n = 0, a = e.length; a > n; n++) t.call(i, e[n], n, e);
  861. else
  862. for(var o in e) e.hasOwnProperty(o) && t.call(i, e[o], o, e)
  863. }
  864. function h(e, t, i) {
  865. if(e && t) {
  866. if(e.map && e.map === c) return e.map(t, i);
  867. for(var n = [], a = 0, o = e.length; o > a; a++) n.push(t.call(i, e[a], a, e));
  868. return n
  869. }
  870. }
  871. function m(e, t, i) {
  872. if(e && t) {
  873. if(e.filter && e.filter === u) return e.filter(t, i);
  874. for(var n = [], a = 0, o = e.length; o > a; a++) t.call(i, e[a], a, e) && n.push(e[a]);
  875. return n
  876. }
  877. }
  878. function V(e, t) {
  879. return function() {
  880. e.apply(t, arguments)
  881. }
  882. }
  883. var U, d = Array.prototype,
  884. p = d.forEach,
  885. c = d.map,
  886. u = d.filter,
  887. y = {
  888. "[object Function]": 1,
  889. "[object RegExp]": 1,
  890. "[object Date]": 1,
  891. "[object Error]": 1,
  892. "[object CanvasGradient]": 1
  893. },
  894. g = Object.prototype.toString;
  895. return {
  896. inherits: s,
  897. clone: i,
  898. merge: a,
  899. getContext: o,
  900. indexOf: r,
  901. each: l,
  902. map: h,
  903. filter: m,
  904. bind: V
  905. }
  906. }), i("zrender/tool/event", ["require", "../mixin/Eventful"], function(e) {
  907. "use strict";
  908. function t(e) {
  909. return "undefined" != typeof e.zrenderX && e.zrenderX || "undefined" != typeof e.offsetX && e.offsetX || "undefined" != typeof e.layerX && e.layerX || "undefined" != typeof e.clientX && e.clientX
  910. }
  911. function i(e) {
  912. return "undefined" != typeof e.zrenderY && e.zrenderY || "undefined" != typeof e.offsetY && e.offsetY || "undefined" != typeof e.layerY && e.layerY || "undefined" != typeof e.clientY && e.clientY
  913. }
  914. function n(e) {
  915. return "undefined" != typeof e.zrenderDelta && e.zrenderDelta || "undefined" != typeof e.wheelDelta && e.wheelDelta || "undefined" != typeof e.detail && -e.detail
  916. }
  917. var a = e("../mixin/Eventful"),
  918. o = "function" == typeof window.addEventListener ? function(e) {
  919. e.preventDefault(), e.stopPropagation(), e.cancelBubble = !0
  920. } : function(e) {
  921. e.returnValue = !1, e.cancelBubble = !0
  922. };
  923. return {
  924. getX: t,
  925. getY: i,
  926. getDelta: n,
  927. stop: o,
  928. Dispatcher: a
  929. }
  930. }), i("zrender/tool/env", [], function() {
  931. function e(e) {
  932. var t = this.os = {},
  933. i = this.browser = {},
  934. n = e.match(/Web[kK]it[\/]{0,1}([\d.]+)/),
  935. a = e.match(/(Android);?[\s\/]+([\d.]+)?/),
  936. o = e.match(/(iPad).*OS\s([\d_]+)/),
  937. r = e.match(/(iPod)(.*OS\s([\d_]+))?/),
  938. s = !o && e.match(/(iPhone\sOS)\s([\d_]+)/),
  939. l = e.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),
  940. h = l && e.match(/TouchPad/),
  941. m = e.match(/Kindle\/([\d.]+)/),
  942. V = e.match(/Silk\/([\d._]+)/),
  943. U = e.match(/(BlackBerry).*Version\/([\d.]+)/),
  944. d = e.match(/(BB10).*Version\/([\d.]+)/),
  945. p = e.match(/(RIM\sTablet\sOS)\s([\d.]+)/),
  946. c = e.match(/PlayBook/),
  947. u = e.match(/Chrome\/([\d.]+)/) || e.match(/CriOS\/([\d.]+)/),
  948. y = e.match(/Firefox\/([\d.]+)/),
  949. g = e.match(/MSIE ([\d.]+)/),
  950. b = n && e.match(/Mobile\//) && !u,
  951. f = e.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !u,
  952. g = e.match(/MSIE\s([\d.]+)/);
  953. return(i.webkit = !!n) && (i.version = n[1]), a && (t.android = !0, t.version = a[2]), s && !r && (t.ios = t.iphone = !0, t.version = s[2].replace(/_/g, ".")), o && (t.ios = t.ipad = !0, t.version = o[2].replace(/_/g, ".")), r && (t.ios = t.ipod = !0, t.version = r[3] ? r[3].replace(/_/g, ".") : null), l && (t.webos = !0, t.version = l[2]), h && (t.touchpad = !0), U && (t.blackberry = !0, t.version = U[2]), d && (t.bb10 = !0, t.version = d[2]), p && (t.rimtabletos = !0, t.version = p[2]), c && (i.playbook = !0), m && (t.kindle = !0, t.version = m[1]), V && (i.silk = !0, i.version = V[1]), !V && t.android && e.match(/Kindle Fire/) && (i.silk = !0), u && (i.chrome = !0, i.version = u[1]), y && (i.firefox = !0, i.version = y[1]), g && (i.ie = !0, i.version = g[1]), b && (e.match(/Safari/) || t.ios) && (i.safari = !0), f && (i.webview = !0), g && (i.ie = !0, i.version = g[1]), t.tablet = !!(o || c || a && !e.match(/Mobile/) || y && e.match(/Tablet/) || g && !e.match(/Phone/) && e.match(/Touch/)), t.phone = !(t.tablet || t.ipod || !(a || s || l || U || d || u && e.match(/Android/) || u && e.match(/CriOS\/([\d.]+)/) || y && e.match(/Mobile/) || g && e.match(/Touch/))), {
  954. browser: i,
  955. os: t,
  956. canvasSupported: document.createElement("canvas").getContext ? !0 : !1
  957. }
  958. }
  959. return e(navigator.userAgent)
  960. }), i("zrender", ["zrender/zrender"], function(e) {
  961. return e
  962. }), i("zrender/zrender", ["require", "./dep/excanvas", "./tool/util", "./tool/log", "./tool/guid", "./Handler", "./Painter", "./Storage", "./animation/Animation", "./tool/env"], function(e) {
  963. function t(e) {
  964. return function() {
  965. e._needsRefreshNextFrame && e.refresh()
  966. }
  967. }
  968. e("./dep/excanvas");
  969. var i = e("./tool/util"),
  970. n = e("./tool/log"),
  971. a = e("./tool/guid"),
  972. o = e("./Handler"),
  973. r = e("./Painter"),
  974. s = e("./Storage"),
  975. l = e("./animation/Animation"),
  976. h = {},
  977. m = {};
  978. m.version = "2.1.1", m.init = function(e) {
  979. var t = new V(a(), e);
  980. return h[t.id] = t, t
  981. }, m.dispose = function(e) {
  982. if(e) e.dispose();
  983. else {
  984. for(var t in h) h[t].dispose();
  985. h = {}
  986. }
  987. return m
  988. }, m.getInstance = function(e) {
  989. return h[e]
  990. }, m.delInstance = function(e) {
  991. return delete h[e], m
  992. };
  993. var V = function(i, n) {
  994. this.id = i, this.env = e("./tool/env"), this.storage = new s, this.painter = new r(n, this.storage), this.handler = new o(n, this.storage, this.painter), this.animation = new l({
  995. stage: {
  996. update: t(this)
  997. }
  998. }), this.animation.start();
  999. var a = this;
  1000. this.painter.refreshNextFrame = function() {
  1001. a.refreshNextFrame()
  1002. }, this._needsRefreshNextFrame = !1;
  1003. var a = this,
  1004. h = this.storage,
  1005. m = h.delFromMap;
  1006. h.delFromMap = function(e) {
  1007. var t = h.get(e);
  1008. a.stopAnimation(t), m.call(h, e)
  1009. }
  1010. };
  1011. return V.prototype.getId = function() {
  1012. return this.id
  1013. }, V.prototype.addShape = function(e) {
  1014. return this.addElement(e), this
  1015. }, V.prototype.addGroup = function(e) {
  1016. return this.addElement(e), this
  1017. }, V.prototype.delShape = function(e) {
  1018. return this.delElement(e), this
  1019. }, V.prototype.delGroup = function(e) {
  1020. return this.delElement(e), this
  1021. }, V.prototype.modShape = function(e, t) {
  1022. return this.modElement(e, t), this
  1023. }, V.prototype.modGroup = function(e, t) {
  1024. return this.modElement(e, t), this
  1025. }, V.prototype.addElement = function(e) {
  1026. return this.storage.addRoot(e), this._needsRefreshNextFrame = !0, this
  1027. }, V.prototype.delElement = function(e) {
  1028. return this.storage.delRoot(e), this._needsRefreshNextFrame = !0, this
  1029. }, V.prototype.modElement = function(e, t) {
  1030. return this.storage.mod(e, t), this._needsRefreshNextFrame = !0, this
  1031. }, V.prototype.modLayer = function(e, t) {
  1032. return this.painter.modLayer(e, t), this._needsRefreshNextFrame = !0, this
  1033. }, V.prototype.addHoverShape = function(e) {
  1034. return this.storage.addHover(e), this
  1035. }, V.prototype.render = function(e) {
  1036. return this.painter.render(e), this._needsRefreshNextFrame = !1, this
  1037. }, V.prototype.refresh = function(e) {
  1038. return this.painter.refresh(e), this._needsRefreshNextFrame = !1, this
  1039. }, V.prototype.refreshNextFrame = function() {
  1040. return this._needsRefreshNextFrame = !0, this
  1041. }, V.prototype.refreshHover = function(e) {
  1042. return this.painter.refreshHover(e), this
  1043. }, V.prototype.refreshShapes = function(e, t) {
  1044. return this.painter.refreshShapes(e, t), this
  1045. }, V.prototype.resize = function() {
  1046. return this.painter.resize(), this
  1047. }, V.prototype.animate = function(e, t, a) {
  1048. var o = this;
  1049. if("string" == typeof e && (e = this.storage.get(e)), e) {
  1050. var r;
  1051. if(t) {
  1052. for(var s = t.split("."), l = e, h = 0, m = s.length; m > h; h++) l && (l = l[s[h]]);
  1053. l && (r = l)
  1054. } else r = e;
  1055. if(!r) return void n('Property "' + t + '" is not existed in element ' + e.id);
  1056. null == e.__animators && (e.__animators = []);
  1057. var V = e.__animators,
  1058. U = this.animation.animate(r, {
  1059. loop: a
  1060. }).during(function() {
  1061. o.modShape(e)
  1062. }).done(function() {
  1063. var t = i.indexOf(e.__animators, U);
  1064. t >= 0 && V.splice(t, 1)
  1065. });
  1066. return V.push(U), U
  1067. }
  1068. n("Element not existed")
  1069. }, V.prototype.stopAnimation = function(e) {
  1070. if(e.__animators) {
  1071. for(var t = e.__animators, i = t.length, n = 0; i > n; n++) t[n].stop();
  1072. t.length = 0
  1073. }
  1074. return this
  1075. }, V.prototype.clearAnimation = function() {
  1076. return this.animation.clear(), this
  1077. }, V.prototype.showLoading = function(e) {
  1078. return this.painter.showLoading(e), this
  1079. }, V.prototype.hideLoading = function() {
  1080. return this.painter.hideLoading(), this
  1081. }, V.prototype.getWidth = function() {
  1082. return this.painter.getWidth()
  1083. }, V.prototype.getHeight = function() {
  1084. return this.painter.getHeight()
  1085. }, V.prototype.toDataURL = function(e, t, i) {
  1086. return this.painter.toDataURL(e, t, i)
  1087. }, V.prototype.shapeToImage = function(e, t, i) {
  1088. var n = a();
  1089. return this.painter.shapeToImage(n, e, t, i)
  1090. }, V.prototype.on = function(e, t, i) {
  1091. return this.handler.on(e, t, i), this
  1092. }, V.prototype.un = function(e, t) {
  1093. return this.handler.un(e, t), this
  1094. }, V.prototype.trigger = function(e, t) {
  1095. return this.handler.trigger(e, t), this
  1096. }, V.prototype.clear = function() {
  1097. return this.storage.delRoot(), this.painter.clear(), this
  1098. }, V.prototype.dispose = function() {
  1099. this.animation.stop(), this.clear(), this.storage.dispose(), this.painter.dispose(), this.handler.dispose(), this.animation = this.storage = this.painter = this.handler = null, m.delInstance(this.id)
  1100. }, m
  1101. }), i("zrender/config", [], function() {
  1102. var e = {
  1103. EVENT: {
  1104. RESIZE: "resize",
  1105. CLICK: "click",
  1106. DBLCLICK: "dblclick",
  1107. MOUSEWHEEL: "mousewheel",
  1108. MOUSEMOVE: "mousemove",
  1109. MOUSEOVER: "mouseover",
  1110. MOUSEOUT: "mouseout",
  1111. MOUSEDOWN: "mousedown",
  1112. MOUSEUP: "mouseup",
  1113. GLOBALOUT: "globalout",
  1114. DRAGSTART: "dragstart",
  1115. DRAGEND: "dragend",
  1116. DRAGENTER: "dragenter",
  1117. DRAGOVER: "dragover",
  1118. DRAGLEAVE: "dragleave",
  1119. DROP: "drop",
  1120. touchClickDelay: 300
  1121. },
  1122. elementClassName: "zr-element",
  1123. catchBrushException: !1,
  1124. debugMode: 0,
  1125. devicePixelRatio: Math.max(window.devicePixelRatio || 1, 1)
  1126. };
  1127. return e
  1128. }), i("echarts/chart/island", ["require", "./base", "zrender/shape/Circle", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/event", "zrender/tool/color", "../util/accMath", "../chart"], function(e) {
  1129. function t(e, t, n, a, r) {
  1130. i.call(this, e, t, n, a, r), this._nameConnector, this._valueConnector, this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth();
  1131. var l = this;
  1132. l.shapeHandler.onmousewheel = function(e) {
  1133. var t = e.target,
  1134. i = e.event,
  1135. n = s.getDelta(i);
  1136. n = n > 0 ? -1 : 1, t.style.r -= n, t.style.r = t.style.r < 5 ? 5 : t.style.r;
  1137. var a = o.get(t, "value"),
  1138. r = a * l.option.island.calculateStep;
  1139. a = r > 1 ? Math.round(a - r * n) : +(a - r * n).toFixed(2);
  1140. var h = o.get(t, "name");
  1141. t.style.text = h + ":" + a, o.set(t, "value", a), o.set(t, "name", h), l.zr.modShape(t.id), l.zr.refreshNextFrame(), s.stop(i)
  1142. }
  1143. }
  1144. var i = e("./base"),
  1145. n = e("zrender/shape/Circle"),
  1146. a = e("../config");
  1147. a.island = {
  1148. zlevel: 0,
  1149. z: 5,
  1150. r: 15,
  1151. calculateStep: .1
  1152. };
  1153. var o = e("../util/ecData"),
  1154. r = e("zrender/tool/util"),
  1155. s = e("zrender/tool/event");
  1156. return t.prototype = {
  1157. type: a.CHART_TYPE_ISLAND,
  1158. _combine: function(t, i) {
  1159. var n = e("zrender/tool/color"),
  1160. a = e("../util/accMath"),
  1161. r = a.accAdd(o.get(t, "value"), o.get(i, "value")),
  1162. s = o.get(t, "name") + this._nameConnector + o.get(i, "name");
  1163. t.style.text = s + this._valueConnector + r, o.set(t, "value", r), o.set(t, "name", s), t.style.r = this.option.island.r, t.style.color = n.mix(t.style.color, i.style.color)
  1164. },
  1165. refresh: function(e) {
  1166. e && (e.island = this.reformOption(e.island), this.option = e, this._nameConnector = this.option.nameConnector, this._valueConnector = this.option.valueConnector)
  1167. },
  1168. getOption: function() {
  1169. return this.option
  1170. },
  1171. resize: function() {
  1172. var e = this.zr.getWidth(),
  1173. t = this.zr.getHeight(),
  1174. i = e / (this._zrWidth || e),
  1175. n = t / (this._zrHeight || t);
  1176. if(1 !== i || 1 !== n) {
  1177. this._zrWidth = e, this._zrHeight = t;
  1178. for(var a = 0, o = this.shapeList.length; o > a; a++) this.zr.modShape(this.shapeList[a].id, {
  1179. style: {
  1180. x: Math.round(this.shapeList[a].style.x * i),
  1181. y: Math.round(this.shapeList[a].style.y * n)
  1182. }
  1183. })
  1184. }
  1185. },
  1186. add: function(e) {
  1187. var t = o.get(e, "name"),
  1188. i = o.get(e, "value"),
  1189. a = null != o.get(e, "series") ? o.get(e, "series").name : "",
  1190. r = this.getFont(this.option.island.textStyle),
  1191. s = this.option.island,
  1192. l = {
  1193. zlevel: s.zlevel,
  1194. z: s.z,
  1195. style: {
  1196. x: e.style.x,
  1197. y: e.style.y,
  1198. r: this.option.island.r,
  1199. color: e.style.color || e.style.strokeColor,
  1200. text: t + this._valueConnector + i,
  1201. textFont: r
  1202. },
  1203. draggable: !0,
  1204. hoverable: !0,
  1205. onmousewheel: this.shapeHandler.onmousewheel,
  1206. _type: "island"
  1207. };
  1208. "#fff" === l.style.color && (l.style.color = e.style.strokeColor), this.setCalculable(l), l.dragEnableTime = 0, o.pack(l, {
  1209. name: a
  1210. }, -1, i, -1, t), l = new n(l), this.shapeList.push(l), this.zr.addShape(l)
  1211. },
  1212. del: function(e) {
  1213. this.zr.delShape(e.id);
  1214. for(var t = [], i = 0, n = this.shapeList.length; n > i; i++) this.shapeList[i].id != e.id && t.push(this.shapeList[i]);
  1215. this.shapeList = t
  1216. },
  1217. ondrop: function(e, t) {
  1218. if(this.isDrop && e.target) {
  1219. var i = e.target,
  1220. n = e.dragged;
  1221. this._combine(i, n), this.zr.modShape(i.id), t.dragIn = !0, this.isDrop = !1
  1222. }
  1223. },
  1224. ondragend: function(e, t) {
  1225. var i = e.target;
  1226. this.isDragend ? t.dragIn && (this.del(i), t.needRefresh = !0) : t.dragIn || (i.style.x = s.getX(e.event), i.style.y = s.getY(e.event), this.add(i), t.needRefresh = !0), this.isDragend = !1
  1227. }
  1228. }, r.inherits(t, i), e("../chart").define("island", t), t
  1229. }), i("echarts/component/toolbox", ["require", "./base", "zrender/shape/Line", "zrender/shape/Image", "zrender/shape/Rectangle", "../util/shape/Icon", "../config", "zrender/tool/util", "zrender/config", "zrender/tool/event", "./dataView", "../component"], function(e) {
  1230. function t(e, t, n, a, o) {
  1231. i.call(this, e, t, n, a, o), this.dom = o.dom, this._magicType = {}, this._magicMap = {}, this._isSilence = !1, this._iconList, this._iconShapeMap = {}, this._featureTitle = {}, this._featureIcon = {}, this._featureColor = {}, this._featureOption = {}, this._enableColor = "red", this._disableColor = "#ccc", this._markShapeList = [];
  1232. var r = this;
  1233. r._onMark = function(e) {
  1234. r.__onMark(e)
  1235. }, r._onMarkUndo = function(e) {
  1236. r.__onMarkUndo(e)
  1237. }, r._onMarkClear = function(e) {
  1238. r.__onMarkClear(e)
  1239. }, r._onDataZoom = function(e) {
  1240. r.__onDataZoom(e)
  1241. }, r._onDataZoomReset = function(e) {
  1242. r.__onDataZoomReset(e)
  1243. }, r._onDataView = function(e) {
  1244. r.__onDataView(e)
  1245. }, r._onRestore = function(e) {
  1246. r.__onRestore(e)
  1247. }, r._onSaveAsImage = function(e) {
  1248. r.__onSaveAsImage(e)
  1249. }, r._onMagicType = function(e) {
  1250. r.__onMagicType(e)
  1251. }, r._onCustomHandler = function(e) {
  1252. r.__onCustomHandler(e)
  1253. }, r._onmousemove = function(e) {
  1254. return r.__onmousemove(e)
  1255. }, r._onmousedown = function(e) {
  1256. return r.__onmousedown(e)
  1257. }, r._onmouseup = function(e) {
  1258. return r.__onmouseup(e)
  1259. }, r._onclick = function(e) {
  1260. return r.__onclick(e)
  1261. }
  1262. }
  1263. var i = e("./base"),
  1264. n = e("zrender/shape/Line"),
  1265. a = e("zrender/shape/Image"),
  1266. o = e("zrender/shape/Rectangle"),
  1267. r = e("../util/shape/Icon"),
  1268. s = e("../config");
  1269. s.toolbox = {
  1270. zlevel: 0,
  1271. z: 6,
  1272. show: !1,
  1273. orient: "horizontal",
  1274. x: "right",
  1275. y: "top",
  1276. color: ["#1e90ff", "#22bb22", "#4b0082", "#d2691e"],
  1277. disableColor: "#ddd",
  1278. effectiveColor: "red",
  1279. backgroundColor: "rgba(0,0,0,0)",
  1280. borderColor: "#ccc",
  1281. borderWidth: 0,
  1282. padding: 5,
  1283. itemGap: 10,
  1284. itemSize: 16,
  1285. showTitle: !0,
  1286. feature: {
  1287. mark: {
  1288. show: !1,
  1289. title: {
  1290. mark: "辅助线开关",
  1291. markUndo: "删除辅助线",
  1292. markClear: "清空辅助线"
  1293. },
  1294. lineStyle: {
  1295. width: 1,
  1296. color: "#1e90ff",
  1297. type: "dashed"
  1298. }
  1299. },
  1300. dataZoom: {
  1301. show: !1,
  1302. title: {
  1303. dataZoom: "区域缩放",
  1304. dataZoomReset: "区域缩放后退"
  1305. }
  1306. },
  1307. dataView: {
  1308. show: !1,
  1309. title: "数据视图",
  1310. readOnly: !1,
  1311. lang: ["数据视图", "关闭", "刷新"]
  1312. },
  1313. magicType: {
  1314. show: !1,
  1315. title: {
  1316. line: "折线图切换",
  1317. bar: "柱形图切换",
  1318. stack: "堆积",
  1319. tiled: "平铺",
  1320. force: "力导向布局图切换",
  1321. chord: "和弦图切换",
  1322. pie: "饼图切换",
  1323. funnel: "漏斗图切换"
  1324. },
  1325. type: []
  1326. },
  1327. restore: {
  1328. show: !1,
  1329. title: "还原"
  1330. },
  1331. saveAsImage: {
  1332. show: !1,
  1333. title: "保存为图片",
  1334. type: "png",
  1335. lang: ["点击保存"]
  1336. }
  1337. }
  1338. };
  1339. var l = e("zrender/tool/util"),
  1340. h = e("zrender/config"),
  1341. m = e("zrender/tool/event"),
  1342. V = "stack",
  1343. U = "tiled";
  1344. return t.prototype = {
  1345. type: s.COMPONENT_TYPE_TOOLBOX,
  1346. _buildShape: function() {
  1347. this._iconList = [];
  1348. var e = this.option.toolbox;
  1349. this._enableColor = e.effectiveColor, this._disableColor = e.disableColor;
  1350. var t = e.feature,
  1351. i = [];
  1352. for(var n in t)
  1353. if(t[n].show) switch(n) {
  1354. case "mark":
  1355. i.push({
  1356. key: n,
  1357. name: "mark"
  1358. }), i.push({
  1359. key: n,
  1360. name: "markUndo"
  1361. }), i.push({
  1362. key: n,
  1363. name: "markClear"
  1364. });
  1365. break;
  1366. case "magicType":
  1367. for(var a = 0, o = t[n].type.length; o > a; a++) t[n].title[t[n].type[a] + "Chart"] = t[n].title[t[n].type[a]], t[n].option && (t[n].option[t[n].type[a] + "Chart"] = t[n].option[t[n].type[a]]), i.push({
  1368. key: n,
  1369. name: t[n].type[a] + "Chart"
  1370. });
  1371. break;
  1372. case "dataZoom":
  1373. i.push({
  1374. key: n,
  1375. name: "dataZoom"
  1376. }), i.push({
  1377. key: n,
  1378. name: "dataZoomReset"
  1379. });
  1380. break;
  1381. case "saveAsImage":
  1382. this.canvasSupported && i.push({
  1383. key: n,
  1384. name: "saveAsImage"
  1385. });
  1386. break;
  1387. default:
  1388. i.push({
  1389. key: n,
  1390. name: n
  1391. })
  1392. }
  1393. if(i.length > 0) {
  1394. for(var r, n, a = 0, o = i.length; o > a; a++) r = i[a].name, n = i[a].key, this._iconList.push(r), this._featureTitle[r] = t[n].title[r] || t[n].title, t[n].icon && (this._featureIcon[r] = t[n].icon[r] || t[n].icon), t[n].color && (this._featureColor[r] = t[n].color[r] || t[n].color), t[n].option && (this._featureOption[r] = t[n].option[r] || t[n].option);
  1395. this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
  1396. for(var a = 0, o = this.shapeList.length; o > a; a++) this.zr.addShape(this.shapeList[a]);
  1397. this._iconShapeMap.mark && (this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear)), this._iconShapeMap.dataZoomReset && 0 === this._zoomQueue.length && this._iconDisable(this._iconShapeMap.dataZoomReset)
  1398. }
  1399. },
  1400. _buildItem: function() {
  1401. var t, i, n, o, s = this.option.toolbox,
  1402. l = this._iconList.length,
  1403. h = this._itemGroupLocation.x,
  1404. m = this._itemGroupLocation.y,
  1405. V = s.itemSize,
  1406. U = s.itemGap,
  1407. d = s.color instanceof Array ? s.color : [s.color],
  1408. p = this.getFont(s.textStyle);
  1409. "horizontal" === s.orient ? (i = this._itemGroupLocation.y / this.zr.getHeight() < .5 ? "bottom" : "top", n = this._itemGroupLocation.x / this.zr.getWidth() < .5 ? "left" : "right", o = this._itemGroupLocation.y / this.zr.getHeight() < .5 ? "top" : "bottom") : i = this._itemGroupLocation.x / this.zr.getWidth() < .5 ? "right" : "left", this._iconShapeMap = {};
  1410. for(var c = this, u = 0; l > u; u++) {
  1411. switch(t = {
  1412. type: "icon",
  1413. zlevel: this.getZlevelBase(),
  1414. z: this.getZBase(),
  1415. style: {
  1416. x: h,
  1417. y: m,
  1418. width: V,
  1419. height: V,
  1420. iconType: this._iconList[u],
  1421. lineWidth: 1,
  1422. strokeColor: this._featureColor[this._iconList[u]] || d[u % d.length],
  1423. brushType: "stroke"
  1424. },
  1425. highlightStyle: {
  1426. lineWidth: 1,
  1427. text: s.showTitle ? this._featureTitle[this._iconList[u]] : void 0,
  1428. textFont: p,
  1429. textPosition: i,
  1430. strokeColor: this._featureColor[this._iconList[u]] || d[u % d.length]
  1431. },
  1432. hoverable: !0,
  1433. clickable: !0
  1434. }, this._featureIcon[this._iconList[u]] && (t.style.image = this._featureIcon[this._iconList[u]].replace(new RegExp("^image:\\/\\/"), ""), t.style.opacity = .8, t.highlightStyle.opacity = 1, t.type = "image"), "horizontal" === s.orient && (0 === u && "left" === n && (t.highlightStyle.textPosition = "specific", t.highlightStyle.textAlign = n, t.highlightStyle.textBaseline = o, t.highlightStyle.textX = h, t.highlightStyle.textY = "top" === o ? m + V + 10 : m - 10), u === l - 1 && "right" === n && (t.highlightStyle.textPosition = "specific", t.highlightStyle.textAlign = n, t.highlightStyle.textBaseline = o, t.highlightStyle.textX = h + V, t.highlightStyle.textY = "top" === o ? m + V + 10 : m - 10)), this._iconList[u]) {
  1435. case "mark":
  1436. t.onclick = c._onMark;
  1437. break;
  1438. case "markUndo":
  1439. t.onclick = c._onMarkUndo;
  1440. break;
  1441. case "markClear":
  1442. t.onclick = c._onMarkClear;
  1443. break;
  1444. case "dataZoom":
  1445. t.onclick = c._onDataZoom;
  1446. break;
  1447. case "dataZoomReset":
  1448. t.onclick = c._onDataZoomReset;
  1449. break;
  1450. case "dataView":
  1451. if(!this._dataView) {
  1452. var y = e("./dataView");
  1453. this._dataView = new y(this.ecTheme, this.messageCenter, this.zr, this.option, this.myChart)
  1454. }
  1455. t.onclick = c._onDataView;
  1456. break;
  1457. case "restore":
  1458. t.onclick = c._onRestore;
  1459. break;
  1460. case "saveAsImage":
  1461. t.onclick = c._onSaveAsImage;
  1462. break;
  1463. default:
  1464. this._iconList[u].match("Chart") ? (t._name = this._iconList[u].replace("Chart", ""), t.onclick = c._onMagicType) : t.onclick = c._onCustomHandler
  1465. }
  1466. "icon" === t.type ? t = new r(t) : "image" === t.type && (t = new a(t)), this.shapeList.push(t), this._iconShapeMap[this._iconList[u]] = t, "horizontal" === s.orient ? h += V + U : m += V + U
  1467. }
  1468. },
  1469. _buildBackground: function() {
  1470. var e = this.option.toolbox,
  1471. t = this.reformCssArray(this.option.toolbox.padding);
  1472. this.shapeList.push(new o({
  1473. zlevel: this.getZlevelBase(),
  1474. z: this.getZBase(),
  1475. hoverable: !1,
  1476. style: {
  1477. x: this._itemGroupLocation.x - t[3],
  1478. y: this._itemGroupLocation.y - t[0],
  1479. width: this._itemGroupLocation.width + t[3] + t[1],
  1480. height: this._itemGroupLocation.height + t[0] + t[2],
  1481. brushType: 0 === e.borderWidth ? "fill" : "both",
  1482. color: e.backgroundColor,
  1483. strokeColor: e.borderColor,
  1484. lineWidth: e.borderWidth
  1485. }
  1486. }))
  1487. },
  1488. _getItemGroupLocation: function() {
  1489. var e = this.option.toolbox,
  1490. t = this.reformCssArray(this.option.toolbox.padding),
  1491. i = this._iconList.length,
  1492. n = e.itemGap,
  1493. a = e.itemSize,
  1494. o = 0,
  1495. r = 0;
  1496. "horizontal" === e.orient ? (o = (a + n) * i - n, r = a) : (r = (a + n) * i - n, o = a);
  1497. var s, l = this.zr.getWidth();
  1498. switch(e.x) {
  1499. case "center":
  1500. s = Math.floor((l - o) / 2);
  1501. break;
  1502. case "left":
  1503. s = t[3] + e.borderWidth;
  1504. break;
  1505. case "right":
  1506. s = l - o - t[1] - e.borderWidth;
  1507. break;
  1508. default:
  1509. s = e.x - 0, s = isNaN(s) ? 0 : s
  1510. }
  1511. var h, m = this.zr.getHeight();
  1512. switch(e.y) {
  1513. case "top":
  1514. h = t[0] + e.borderWidth;
  1515. break;
  1516. case "bottom":
  1517. h = m - r - t[2] - e.borderWidth;
  1518. break;
  1519. case "center":
  1520. h = Math.floor((m - r) / 2);
  1521. break;
  1522. default:
  1523. h = e.y - 0, h = isNaN(h) ? 0 : h
  1524. }
  1525. return {
  1526. x: s,
  1527. y: h,
  1528. width: o,
  1529. height: r
  1530. }
  1531. },
  1532. __onmousemove: function(e) {
  1533. this._marking && (this._markShape.style.xEnd = m.getX(e.event), this._markShape.style.yEnd = m.getY(e.event), this.zr.addHoverShape(this._markShape)), this._zooming && (this._zoomShape.style.width = m.getX(e.event) - this._zoomShape.style.x, this._zoomShape.style.height = m.getY(e.event) - this._zoomShape.style.y, this.zr.addHoverShape(this._zoomShape), this.dom.style.cursor = "crosshair", m.stop(e.event)), this._zoomStart && "pointer" != this.dom.style.cursor && "move" != this.dom.style.cursor && (this.dom.style.cursor = "crosshair")
  1534. },
  1535. __onmousedown: function(e) {
  1536. if(!e.target) {
  1537. this._zooming = !0;
  1538. var t = m.getX(e.event),
  1539. i = m.getY(e.event),
  1540. n = this.option.dataZoom || {};
  1541. return this._zoomShape = new o({
  1542. zlevel: this.getZlevelBase(),
  1543. z: this.getZBase(),
  1544. style: {
  1545. x: t,
  1546. y: i,
  1547. width: 1,
  1548. height: 1,
  1549. brushType: "both"
  1550. },
  1551. highlightStyle: {
  1552. lineWidth: 2,
  1553. color: n.fillerColor || s.dataZoom.fillerColor,
  1554. strokeColor: n.handleColor || s.dataZoom.handleColor,
  1555. brushType: "both"
  1556. }
  1557. }), this.zr.addHoverShape(this._zoomShape), !0
  1558. }
  1559. },
  1560. __onmouseup: function() {
  1561. if(!this._zoomShape || Math.abs(this._zoomShape.style.width) < 10 || Math.abs(this._zoomShape.style.height) < 10) return this._zooming = !1, !0;
  1562. if(this._zooming && this.component.dataZoom) {
  1563. this._zooming = !1;
  1564. var e = this.component.dataZoom.rectZoom(this._zoomShape.style);
  1565. e && (this._zoomQueue.push({
  1566. start: e.start,
  1567. end: e.end,
  1568. start2: e.start2,
  1569. end2: e.end2
  1570. }), this._iconEnable(this._iconShapeMap.dataZoomReset), this.zr.refreshNextFrame())
  1571. }
  1572. return !0
  1573. },
  1574. __onclick: function(e) {
  1575. if(!e.target)
  1576. if(this._marking) this._marking = !1, this._markShapeList.push(this._markShape), this._iconEnable(this._iconShapeMap.markUndo), this._iconEnable(this._iconShapeMap.markClear), this.zr.addShape(this._markShape), this.zr.refreshNextFrame();
  1577. else if(this._markStart) {
  1578. this._marking = !0;
  1579. var t = m.getX(e.event),
  1580. i = m.getY(e.event);
  1581. this._markShape = new n({
  1582. zlevel: this.getZlevelBase(),
  1583. z: this.getZBase(),
  1584. style: {
  1585. xStart: t,
  1586. yStart: i,
  1587. xEnd: t,
  1588. yEnd: i,
  1589. lineWidth: this.query(this.option, "toolbox.feature.mark.lineStyle.width"),
  1590. strokeColor: this.query(this.option, "toolbox.feature.mark.lineStyle.color"),
  1591. lineType: this.query(this.option, "toolbox.feature.mark.lineStyle.type")
  1592. }
  1593. }), this.zr.addHoverShape(this._markShape)
  1594. }
  1595. },
  1596. __onMark: function(e) {
  1597. var t = e.target;
  1598. if(this._marking || this._markStart) this._resetMark(), this.zr.refreshNextFrame();
  1599. else {
  1600. this._resetZoom(), this.zr.modShape(t.id, {
  1601. style: {
  1602. strokeColor: this._enableColor
  1603. }
  1604. }), this.zr.refreshNextFrame(), this._markStart = !0;
  1605. var i = this;
  1606. setTimeout(function() {
  1607. i.zr && i.zr.on(h.EVENT.CLICK, i._onclick) && i.zr.on(h.EVENT.MOUSEMOVE, i._onmousemove)
  1608. }, 10)
  1609. }
  1610. return !0
  1611. },
  1612. __onMarkUndo: function() {
  1613. if(this._marking) this._marking = !1;
  1614. else {
  1615. var e = this._markShapeList.length;
  1616. if(e >= 1) {
  1617. var t = this._markShapeList[e - 1];
  1618. this.zr.delShape(t.id), this.zr.refreshNextFrame(), this._markShapeList.pop(), 1 === e && (this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear))
  1619. }
  1620. }
  1621. return !0
  1622. },
  1623. __onMarkClear: function() {
  1624. this._marking && (this._marking = !1);
  1625. var e = this._markShapeList.length;
  1626. if(e > 0) {
  1627. for(; e--;) this.zr.delShape(this._markShapeList.pop().id);
  1628. this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear), this.zr.refreshNextFrame()
  1629. }
  1630. return !0
  1631. },
  1632. __onDataZoom: function(e) {
  1633. var t = e.target;
  1634. if(this._zooming || this._zoomStart) this._resetZoom(), this.zr.refreshNextFrame(), this.dom.style.cursor = "default";
  1635. else {
  1636. this._resetMark(), this.zr.modShape(t.id, {
  1637. style: {
  1638. strokeColor: this._enableColor
  1639. }
  1640. }), this.zr.refreshNextFrame(), this._zoomStart = !0;
  1641. var i = this;
  1642. setTimeout(function() {
  1643. i.zr && i.zr.on(h.EVENT.MOUSEDOWN, i._onmousedown) && i.zr.on(h.EVENT.MOUSEUP, i._onmouseup) && i.zr.on(h.EVENT.MOUSEMOVE, i._onmousemove)
  1644. }, 10), this.dom.style.cursor = "crosshair"
  1645. }
  1646. return !0
  1647. },
  1648. __onDataZoomReset: function() {
  1649. return this._zooming && (this._zooming = !1), this._zoomQueue.pop(), this._zoomQueue.length > 0 ? this.component.dataZoom.absoluteZoom(this._zoomQueue[this._zoomQueue.length - 1]) : (this.component.dataZoom.rectZoom(), this._iconDisable(this._iconShapeMap.dataZoomReset), this.zr.refreshNextFrame()), !0
  1650. },
  1651. _resetMark: function() {
  1652. this._marking = !1, this._markStart && (this._markStart = !1, this._iconShapeMap.mark && this.zr.modShape(this._iconShapeMap.mark.id, {
  1653. style: {
  1654. strokeColor: this._iconShapeMap.mark.highlightStyle.strokeColor
  1655. }
  1656. }), this.zr.un(h.EVENT.CLICK, this._onclick), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove))
  1657. },
  1658. _resetZoom: function() {
  1659. this._zooming = !1, this._zoomStart && (this._zoomStart = !1, this._iconShapeMap.dataZoom && this.zr.modShape(this._iconShapeMap.dataZoom.id, {
  1660. style: {
  1661. strokeColor: this._iconShapeMap.dataZoom.highlightStyle.strokeColor
  1662. }
  1663. }), this.zr.un(h.EVENT.MOUSEDOWN, this._onmousedown), this.zr.un(h.EVENT.MOUSEUP, this._onmouseup), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove))
  1664. },
  1665. _iconDisable: function(e) {
  1666. "image" != e.type ? this.zr.modShape(e.id, {
  1667. hoverable: !1,
  1668. clickable: !1,
  1669. style: {
  1670. strokeColor: this._disableColor
  1671. }
  1672. }) : this.zr.modShape(e.id, {
  1673. hoverable: !1,
  1674. clickable: !1,
  1675. style: {
  1676. opacity: .3
  1677. }
  1678. })
  1679. },
  1680. _iconEnable: function(e) {
  1681. "image" != e.type ? this.zr.modShape(e.id, {
  1682. hoverable: !0,
  1683. clickable: !0,
  1684. style: {
  1685. strokeColor: e.highlightStyle.strokeColor
  1686. }
  1687. }) : this.zr.modShape(e.id, {
  1688. hoverable: !0,
  1689. clickable: !0,
  1690. style: {
  1691. opacity: .8
  1692. }
  1693. })
  1694. },
  1695. __onDataView: function() {
  1696. return this._dataView.show(this.option), !0
  1697. },
  1698. __onRestore: function() {
  1699. return this._resetMark(), this._resetZoom(), this.messageCenter.dispatch(s.EVENT.RESTORE, null, null, this.myChart), !0
  1700. },
  1701. __onSaveAsImage: function() {
  1702. var e = this.option.toolbox.feature.saveAsImage,
  1703. t = e.type || "png";
  1704. "png" != t && "jpeg" != t && (t = "png");
  1705. var i;
  1706. i = this.myChart.isConnected() ? this.myChart.getConnectedDataURL(t) : this.zr.toDataURL("image/" + t, this.option.backgroundColor && "rgba(0,0,0,0)" === this.option.backgroundColor.replace(" ", "") ? "#fff" : this.option.backgroundColor);
  1707. var n = document.createElement("div");
  1708. n.id = "__echarts_download_wrap__", n.style.cssText = "position:fixed;z-index:99999;display:block;top:0;left:0;background-color:rgba(33,33,33,0.5);text-align:center;width:100%;height:100%;line-height:" + document.documentElement.clientHeight + "px;";
  1709. var a = document.createElement("a");
  1710. a.href = i, a.setAttribute("download", (e.name ? e.name : this.option.title && (this.option.title.text || this.option.title.subtext) ? this.option.title.text || this.option.title.subtext : "ECharts") + "." + t), a.innerHTML = '<img style="vertical-align:middle" src="' + i + '" title="' + (window.ActiveXObject || "ActiveXObject" in window ? "右键->图片另存为" : e.lang ? e.lang[0] : "点击保存") + '"/>', n.appendChild(a), document.body.appendChild(n), a = null, n = null, setTimeout(function() {
  1711. var e = document.getElementById("__echarts_download_wrap__");
  1712. e && (e.onclick = function() {
  1713. var e = document.getElementById("__echarts_download_wrap__");
  1714. e.onclick = null, e.innerHTML = "", document.body.removeChild(e), e = null
  1715. }, e = null)
  1716. }, 500)
  1717. },
  1718. __onMagicType: function(e) {
  1719. this._resetMark();
  1720. var t = e.target._name;
  1721. return this._magicType[t] || (this._magicType[t] = !0, t === s.CHART_TYPE_LINE ? this._magicType[s.CHART_TYPE_BAR] = !1 : t === s.CHART_TYPE_BAR && (this._magicType[s.CHART_TYPE_LINE] = !1), t === s.CHART_TYPE_PIE ? this._magicType[s.CHART_TYPE_FUNNEL] = !1 : t === s.CHART_TYPE_FUNNEL && (this._magicType[s.CHART_TYPE_PIE] = !1), t === s.CHART_TYPE_FORCE ? this._magicType[s.CHART_TYPE_CHORD] = !1 : t === s.CHART_TYPE_CHORD && (this._magicType[s.CHART_TYPE_FORCE] = !1), t === V ? this._magicType[U] = !1 : t === U && (this._magicType[V] = !1), this.messageCenter.dispatch(s.EVENT.MAGIC_TYPE_CHANGED, e.event, {
  1722. magicType: this._magicType
  1723. }, this.myChart)), !0
  1724. },
  1725. setMagicType: function(e) {
  1726. this._resetMark(), this._magicType = e, !this._isSilence && this.messageCenter.dispatch(s.EVENT.MAGIC_TYPE_CHANGED, null, {
  1727. magicType: this._magicType
  1728. }, this.myChart)
  1729. },
  1730. __onCustomHandler: function(e) {
  1731. var t = e.target.style.iconType,
  1732. i = this.option.toolbox.feature[t].onclick;
  1733. "function" == typeof i && i.call(this, this.option)
  1734. },
  1735. reset: function(e, t) {
  1736. if(t && this.clear(), this.query(e, "toolbox.show") && this.query(e, "toolbox.feature.magicType.show")) {
  1737. var i = e.toolbox.feature.magicType.type,
  1738. n = i.length;
  1739. for(this._magicMap = {}; n--;) this._magicMap[i[n]] = !0;
  1740. n = e.series.length;
  1741. for(var a, o; n--;) a = e.series[n].type, this._magicMap[a] && (o = e.xAxis instanceof Array ? e.xAxis[e.series[n].xAxisIndex || 0] : e.xAxis, o && "category" === (o.type || "category") && (o.__boundaryGap = null != o.boundaryGap ? o.boundaryGap : !0), o = e.yAxis instanceof Array ? e.yAxis[e.series[n].yAxisIndex || 0] : e.yAxis, o && "category" === o.type && (o.__boundaryGap = null != o.boundaryGap ? o.boundaryGap : !0), e.series[n].__type = a, e.series[n].__itemStyle = l.clone(e.series[n].itemStyle || {})), (this._magicMap[V] || this._magicMap[U]) && (e.series[n].__stack = e.series[n].stack)
  1742. }
  1743. this._magicType = t ? {} : this._magicType || {};
  1744. for(var r in this._magicType)
  1745. if(this._magicType[r]) {
  1746. this.option = e, this.getMagicOption();
  1747. break
  1748. }
  1749. var s = e.dataZoom;
  1750. if(s && s.show) {
  1751. var h = null != s.start && s.start >= 0 && s.start <= 100 ? s.start : 0,
  1752. m = null != s.end && s.end >= 0 && s.end <= 100 ? s.end : 100;
  1753. h > m && (h += m, m = h - m, h -= m), this._zoomQueue = [{
  1754. start: h,
  1755. end: m,
  1756. start2: 0,
  1757. end2: 100
  1758. }]
  1759. } else this._zoomQueue = []
  1760. },
  1761. getMagicOption: function() {
  1762. var e, t;
  1763. if(this._magicType[s.CHART_TYPE_LINE] || this._magicType[s.CHART_TYPE_BAR]) {
  1764. for(var i = this._magicType[s.CHART_TYPE_LINE] ? !1 : !0, n = 0, a = this.option.series.length; a > n; n++) t = this.option.series[n].type, (t == s.CHART_TYPE_LINE || t == s.CHART_TYPE_BAR) && (e = this.option.xAxis instanceof Array ? this.option.xAxis[this.option.series[n].xAxisIndex || 0] : this.option.xAxis, e && "category" === (e.type || "category") && (e.boundaryGap = i ? !0 : e.__boundaryGap), e = this.option.yAxis instanceof Array ? this.option.yAxis[this.option.series[n].yAxisIndex || 0] : this.option.yAxis, e && "category" === e.type && (e.boundaryGap = i ? !0 : e.__boundaryGap));
  1765. this._defaultMagic(s.CHART_TYPE_LINE, s.CHART_TYPE_BAR)
  1766. }
  1767. if(this._defaultMagic(s.CHART_TYPE_CHORD, s.CHART_TYPE_FORCE), this._defaultMagic(s.CHART_TYPE_PIE, s.CHART_TYPE_FUNNEL), this._magicType[V] || this._magicType[U])
  1768. for(var n = 0, a = this.option.series.length; a > n; n++) this._magicType[V] ? (this.option.series[n].stack = "_ECHARTS_STACK_KENER_2014_", t = V) : this._magicType[U] && (this.option.series[n].stack = null, t = U), this._featureOption[t + "Chart"] && l.merge(this.option.series[n], this._featureOption[t + "Chart"] || {}, !0);
  1769. return this.option
  1770. },
  1771. _defaultMagic: function(e, t) {
  1772. if(this._magicType[e] || this._magicType[t])
  1773. for(var i = 0, n = this.option.series.length; n > i; i++) {
  1774. var a = this.option.series[i].type;
  1775. (a == e || a == t) && (this.option.series[i].type = this._magicType[e] ? e : t, this.option.series[i].itemStyle = l.clone(this.option.series[i].__itemStyle), a = this.option.series[i].type, this._featureOption[a + "Chart"] && l.merge(this.option.series[i], this._featureOption[a + "Chart"] || {}, !0))
  1776. }
  1777. },
  1778. silence: function(e) {
  1779. this._isSilence = e
  1780. },
  1781. resize: function() {
  1782. this._resetMark(), this.clear(), this.option && this.option.toolbox && this.option.toolbox.show && this._buildShape(), this._dataView && this._dataView.resize()
  1783. },
  1784. hideDataView: function() {
  1785. this._dataView && this._dataView.hide()
  1786. },
  1787. clear: function(e) {
  1788. this.zr && (this.zr.delShape(this.shapeList), this.shapeList = [], e || (this.zr.delShape(this._markShapeList), this._markShapeList = []))
  1789. },
  1790. onbeforDispose: function() {
  1791. this._dataView && (this._dataView.dispose(), this._dataView = null), this._markShapeList = null
  1792. },
  1793. refresh: function(e) {
  1794. e && (this._resetMark(), this._resetZoom(), e.toolbox = this.reformOption(e.toolbox), this.option = e, this.clear(!0), e.toolbox.show && this._buildShape(), this.hideDataView())
  1795. }
  1796. }, l.inherits(t, i), e("../component").define("toolbox", t), t
  1797. }), i("echarts/component", [], function() {
  1798. var e = {},
  1799. t = {};
  1800. return e.define = function(i, n) {
  1801. return t[i] = n, e
  1802. }, e.get = function(e) {
  1803. return t[e]
  1804. }, e
  1805. }), i("echarts/component/title", ["require", "./base", "zrender/shape/Text", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "zrender/tool/area", "zrender/tool/color", "../component"], function(e) {
  1806. function t(e, t, n, a, o) {
  1807. i.call(this, e, t, n, a, o), this.refresh(a)
  1808. }
  1809. var i = e("./base"),
  1810. n = e("zrender/shape/Text"),
  1811. a = e("zrender/shape/Rectangle"),
  1812. o = e("../config");
  1813. o.title = {
  1814. zlevel: 0,
  1815. z: 6,
  1816. show: !0,
  1817. text: "",
  1818. subtext: "",
  1819. x: "left",
  1820. y: "top",
  1821. backgroundColor: "rgba(0,0,0,0)",
  1822. borderColor: "#ccc",
  1823. borderWidth: 0,
  1824. padding: 5,
  1825. itemGap: 5,
  1826. textStyle: {
  1827. fontSize: 18,
  1828. fontWeight: "bolder",
  1829. color: "#333"
  1830. },
  1831. subtextStyle: {
  1832. color: "#aaa"
  1833. }
  1834. };
  1835. var r = e("zrender/tool/util"),
  1836. s = e("zrender/tool/area"),
  1837. l = e("zrender/tool/color");
  1838. return t.prototype = {
  1839. type: o.COMPONENT_TYPE_TITLE,
  1840. _buildShape: function() {
  1841. if(this.titleOption.show) {
  1842. this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
  1843. for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  1844. }
  1845. },
  1846. _buildItem: function() {
  1847. var e = this.titleOption.text,
  1848. t = this.titleOption.link,
  1849. i = this.titleOption.target,
  1850. a = this.titleOption.subtext,
  1851. o = this.titleOption.sublink,
  1852. r = this.titleOption.subtarget,
  1853. s = this.getFont(this.titleOption.textStyle),
  1854. h = this.getFont(this.titleOption.subtextStyle),
  1855. m = this._itemGroupLocation.x,
  1856. V = this._itemGroupLocation.y,
  1857. U = this._itemGroupLocation.width,
  1858. d = this._itemGroupLocation.height,
  1859. p = {
  1860. zlevel: this.getZlevelBase(),
  1861. z: this.getZBase(),
  1862. style: {
  1863. y: V,
  1864. color: this.titleOption.textStyle.color,
  1865. text: e,
  1866. textFont: s,
  1867. textBaseline: "top"
  1868. },
  1869. highlightStyle: {
  1870. color: l.lift(this.titleOption.textStyle.color, 1),
  1871. brushType: "fill"
  1872. },
  1873. hoverable: !1
  1874. };
  1875. t && (p.hoverable = !0, p.clickable = !0, p.onclick = function() {
  1876. i && "self" == i ? window.location = t : window.open(t)
  1877. });
  1878. var c = {
  1879. zlevel: this.getZlevelBase(),
  1880. z: this.getZBase(),
  1881. style: {
  1882. y: V + d,
  1883. color: this.titleOption.subtextStyle.color,
  1884. text: a,
  1885. textFont: h,
  1886. textBaseline: "bottom"
  1887. },
  1888. highlightStyle: {
  1889. color: l.lift(this.titleOption.subtextStyle.color, 1),
  1890. brushType: "fill"
  1891. },
  1892. hoverable: !1
  1893. };
  1894. switch(o && (c.hoverable = !0, c.clickable = !0, c.onclick = function() {
  1895. r && "self" == r ? window.location = o : window.open(o)
  1896. }), this.titleOption.x) {
  1897. case "center":
  1898. p.style.x = c.style.x = m + U / 2, p.style.textAlign = c.style.textAlign = "center";
  1899. break;
  1900. case "left":
  1901. p.style.x = c.style.x = m, p.style.textAlign = c.style.textAlign = "left";
  1902. break;
  1903. case "right":
  1904. p.style.x = c.style.x = m + U, p.style.textAlign = c.style.textAlign = "right";
  1905. break;
  1906. default:
  1907. m = this.titleOption.x - 0, m = isNaN(m) ? 0 : m, p.style.x = c.style.x = m
  1908. }
  1909. this.titleOption.textAlign && (p.style.textAlign = c.style.textAlign = this.titleOption.textAlign), this.shapeList.push(new n(p)), "" !== a && this.shapeList.push(new n(c))
  1910. },
  1911. _buildBackground: function() {
  1912. var e = this.reformCssArray(this.titleOption.padding);
  1913. this.shapeList.push(new a({
  1914. zlevel: this.getZlevelBase(),
  1915. z: this.getZBase(),
  1916. hoverable: !1,
  1917. style: {
  1918. x: this._itemGroupLocation.x - e[3],
  1919. y: this._itemGroupLocation.y - e[0],
  1920. width: this._itemGroupLocation.width + e[3] + e[1],
  1921. height: this._itemGroupLocation.height + e[0] + e[2],
  1922. brushType: 0 === this.titleOption.borderWidth ? "fill" : "both",
  1923. color: this.titleOption.backgroundColor,
  1924. strokeColor: this.titleOption.borderColor,
  1925. lineWidth: this.titleOption.borderWidth
  1926. }
  1927. }))
  1928. },
  1929. _getItemGroupLocation: function() {
  1930. var e, t = this.reformCssArray(this.titleOption.padding),
  1931. i = this.titleOption.text,
  1932. n = this.titleOption.subtext,
  1933. a = this.getFont(this.titleOption.textStyle),
  1934. o = this.getFont(this.titleOption.subtextStyle),
  1935. r = Math.max(s.getTextWidth(i, a), s.getTextWidth(n, o)),
  1936. l = s.getTextHeight(i, a) + ("" === n ? 0 : this.titleOption.itemGap + s.getTextHeight(n, o)),
  1937. h = this.zr.getWidth();
  1938. switch(this.titleOption.x) {
  1939. case "center":
  1940. e = Math.floor((h - r) / 2);
  1941. break;
  1942. case "left":
  1943. e = t[3] + this.titleOption.borderWidth;
  1944. break;
  1945. case "right":
  1946. e = h - r - t[1] - this.titleOption.borderWidth;
  1947. break;
  1948. default:
  1949. e = this.titleOption.x - 0, e = isNaN(e) ? 0 : e
  1950. }
  1951. var m, V = this.zr.getHeight();
  1952. switch(this.titleOption.y) {
  1953. case "top":
  1954. m = t[0] + this.titleOption.borderWidth;
  1955. break;
  1956. case "bottom":
  1957. m = V - l - t[2] - this.titleOption.borderWidth;
  1958. break;
  1959. case "center":
  1960. m = Math.floor((V - l) / 2);
  1961. break;
  1962. default:
  1963. m = this.titleOption.y - 0, m = isNaN(m) ? 0 : m
  1964. }
  1965. return {
  1966. x: e,
  1967. y: m,
  1968. width: r,
  1969. height: l
  1970. }
  1971. },
  1972. refresh: function(e) {
  1973. e && (this.option = e, this.option.title = this.reformOption(this.option.title), this.titleOption = this.option.title, this.titleOption.textStyle = this.getTextStyle(this.titleOption.textStyle), this.titleOption.subtextStyle = this.getTextStyle(this.titleOption.subtextStyle)), this.clear(), this._buildShape()
  1974. }
  1975. }, r.inherits(t, i), e("../component").define("title", t), t
  1976. }), i("echarts/component/tooltip", ["require", "./base", "../util/shape/Cross", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/area", "zrender/tool/color", "zrender/tool/util", "zrender/shape/Base", "../component"], function(e) {
  1977. function t(e, t, o, r, s) {
  1978. i.call(this, e, t, o, r, s), this.dom = s.dom;
  1979. var l = this;
  1980. l._onmousemove = function(e) {
  1981. return l.__onmousemove(e)
  1982. }, l._onglobalout = function(e) {
  1983. return l.__onglobalout(e)
  1984. }, this.zr.on(h.EVENT.MOUSEMOVE, l._onmousemove), this.zr.on(h.EVENT.GLOBALOUT, l._onglobalout), l._hide = function(e) {
  1985. return l.__hide(e)
  1986. }, l._tryShow = function(e) {
  1987. return l.__tryShow(e)
  1988. }, l._refixed = function(e) {
  1989. return l.__refixed(e)
  1990. }, l._setContent = function(e, t) {
  1991. return l.__setContent(e, t)
  1992. }, this._tDom = this._tDom || document.createElement("div"), this._tDom.onselectstart = function() {
  1993. return !1
  1994. }, this._tDom.onmouseover = function() {
  1995. l._mousein = !0
  1996. }, this._tDom.onmouseout = function() {
  1997. l._mousein = !1
  1998. }, this._tDom.className = "echarts-tooltip", this._tDom.style.position = "absolute", this.hasAppend = !1, this._axisLineShape && this.zr.delShape(this._axisLineShape.id), this._axisLineShape = new a({
  1999. zlevel: this.getZlevelBase(),
  2000. z: this.getZBase(),
  2001. invisible: !0,
  2002. hoverable: !1
  2003. }), this.shapeList.push(this._axisLineShape), this.zr.addShape(this._axisLineShape), this._axisShadowShape && this.zr.delShape(this._axisShadowShape.id), this._axisShadowShape = new a({
  2004. zlevel: this.getZlevelBase(),
  2005. z: 1,
  2006. invisible: !0,
  2007. hoverable: !1
  2008. }), this.shapeList.push(this._axisShadowShape), this.zr.addShape(this._axisShadowShape), this._axisCrossShape && this.zr.delShape(this._axisCrossShape.id), this._axisCrossShape = new n({
  2009. zlevel: this.getZlevelBase(),
  2010. z: this.getZBase(),
  2011. invisible: !0,
  2012. hoverable: !1
  2013. }), this.shapeList.push(this._axisCrossShape), this.zr.addShape(this._axisCrossShape), this.showing = !1, this.refresh(r)
  2014. }
  2015. var i = e("./base"),
  2016. n = e("../util/shape/Cross"),
  2017. a = e("zrender/shape/Line"),
  2018. o = e("zrender/shape/Rectangle"),
  2019. r = new o({}),
  2020. s = e("../config");
  2021. s.tooltip = {
  2022. zlevel: 1,
  2023. z: 8,
  2024. show: !0,
  2025. showContent: !0,
  2026. trigger: "item",
  2027. islandFormatter: "{a} <br/>{b} : {c}",
  2028. showDelay: 20,
  2029. hideDelay: 100,
  2030. transitionDuration: .4,
  2031. enterable: !1,
  2032. backgroundColor: "rgba(0,0,0,0.7)",
  2033. borderColor: "#333",
  2034. borderRadius: 4,
  2035. borderWidth: 0,
  2036. padding: 5,
  2037. axisPointer: {
  2038. type: "line",
  2039. lineStyle: {
  2040. color: "#48b",
  2041. width: 2,
  2042. type: "solid"
  2043. },
  2044. crossStyle: {
  2045. color: "#1e90ff",
  2046. width: 1,
  2047. type: "dashed"
  2048. },
  2049. shadowStyle: {
  2050. color: "rgba(150,150,150,0.3)",
  2051. width: "auto",
  2052. type: "default"
  2053. }
  2054. },
  2055. textStyle: {
  2056. color: "#fff"
  2057. }
  2058. };
  2059. var l = e("../util/ecData"),
  2060. h = e("zrender/config"),
  2061. m = e("zrender/tool/event"),
  2062. V = e("zrender/tool/area"),
  2063. U = e("zrender/tool/color"),
  2064. d = e("zrender/tool/util"),
  2065. p = e("zrender/shape/Base");
  2066. return t.prototype = {
  2067. type: s.COMPONENT_TYPE_TOOLTIP,
  2068. _gCssText: "position:absolute;display:block;border-style:solid;white-space:nowrap;",
  2069. _style: function(e) {
  2070. if(!e) return "";
  2071. var t = [];
  2072. if(e.transitionDuration) {
  2073. var i = "left " + e.transitionDuration + "s,top " + e.transitionDuration + "s";
  2074. t.push("transition:" + i), t.push("-moz-transition:" + i), t.push("-webkit-transition:" + i), t.push("-o-transition:" + i)
  2075. }
  2076. e.backgroundColor && (t.push("background-Color:" + U.toHex(e.backgroundColor)), t.push("filter:alpha(opacity=70)"), t.push("background-Color:" + e.backgroundColor)), null != e.borderWidth && t.push("border-width:" + e.borderWidth + "px"), null != e.borderColor && t.push("border-color:" + e.borderColor), null != e.borderRadius && (t.push("border-radius:" + e.borderRadius + "px"), t.push("-moz-border-radius:" + e.borderRadius + "px"), t.push("-webkit-border-radius:" + e.borderRadius + "px"), t.push("-o-border-radius:" + e.borderRadius + "px"));
  2077. var n = e.textStyle;
  2078. n && (n.color && t.push("color:" + n.color), n.decoration && t.push("text-decoration:" + n.decoration), n.align && t.push("text-align:" + n.align), n.fontFamily && t.push("font-family:" + n.fontFamily), n.fontSize && t.push("font-size:" + n.fontSize + "px"), n.fontSize && t.push("line-height:" + Math.round(3 * n.fontSize / 2) + "px"), n.fontStyle && t.push("font-style:" + n.fontStyle), n.fontWeight && t.push("font-weight:" + n.fontWeight));
  2079. var a = e.padding;
  2080. return null != a && (a = this.reformCssArray(a), t.push("padding:" + a[0] + "px " + a[1] + "px " + a[2] + "px " + a[3] + "px")), t = t.join(";") + ";"
  2081. },
  2082. __hide: function() {
  2083. this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId = -1, this._tDom && (this._tDom.style.display = "none");
  2084. var e = !1;
  2085. this._axisLineShape.invisible || (this._axisLineShape.invisible = !0,
  2086. this.zr.modShape(this._axisLineShape.id), e = !0), this._axisShadowShape.invisible || (this._axisShadowShape.invisible = !0, this.zr.modShape(this._axisShadowShape.id), e = !0), this._axisCrossShape.invisible || (this._axisCrossShape.invisible = !0, this.zr.modShape(this._axisCrossShape.id), e = !0), this._lastTipShape && this._lastTipShape.tipShape.length > 0 && (this.zr.delShape(this._lastTipShape.tipShape), this._lastTipShape = !1, this.shapeList.length = 2), e && this.zr.refreshNextFrame(), this.showing = !1
  2087. },
  2088. _show: function(e, t, i, n) {
  2089. var a = this._tDom.offsetHeight,
  2090. o = this._tDom.offsetWidth;
  2091. e && ("function" == typeof e && (e = e([t, i])), e instanceof Array && (t = e[0], i = e[1])), t + o > this._zrWidth && (t -= o + 40), i + a > this._zrHeight && (i -= a - 20), 20 > i && (i = 0), this._tDom.style.cssText = this._gCssText + this._defaultCssText + (n ? n : "") + "left:" + t + "px;top:" + i + "px;", (10 > a || 10 > o) && setTimeout(this._refixed, 20), this.showing = !0
  2092. },
  2093. __refixed: function() {
  2094. if(this._tDom) {
  2095. var e = "",
  2096. t = this._tDom.offsetHeight,
  2097. i = this._tDom.offsetWidth;
  2098. this._tDom.offsetLeft + i > this._zrWidth && (e += "left:" + (this._zrWidth - i - 20) + "px;"), this._tDom.offsetTop + t > this._zrHeight && (e += "top:" + (this._zrHeight - t - 10) + "px;"), "" !== e && (this._tDom.style.cssText += e)
  2099. }
  2100. },
  2101. __tryShow: function() {
  2102. var e, t;
  2103. if(this._curTarget) {
  2104. if("island" === this._curTarget._type && this.option.tooltip.show) return void this._showItemTrigger();
  2105. var i = l.get(this._curTarget, "series"),
  2106. n = l.get(this._curTarget, "data");
  2107. e = this.deepQuery([n, i, this.option], "tooltip.show"), null != i && null != n && e ? (t = this.deepQuery([n, i, this.option], "tooltip.trigger"), "axis" === t ? this._showAxisTrigger(i.xAxisIndex, i.yAxisIndex, l.get(this._curTarget, "dataIndex")) : this._showItemTrigger()) : (clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._hidingTicket = setTimeout(this._hide, this._hideDelay))
  2108. } else this._findPolarTrigger() || this._findAxisTrigger()
  2109. },
  2110. _findAxisTrigger: function() {
  2111. if(!this.component.xAxis || !this.component.yAxis) return void(this._hidingTicket = setTimeout(this._hide, this._hideDelay));
  2112. for(var e, t, i = this.option.series, n = 0, a = i.length; a > n; n++)
  2113. if("axis" === this.deepQuery([i[n], this.option], "tooltip.trigger")) return e = i[n].xAxisIndex || 0, t = i[n].yAxisIndex || 0, this.component.xAxis.getAxis(e) && this.component.xAxis.getAxis(e).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? void this._showAxisTrigger(e, t, this._getNearestDataIndex("x", this.component.xAxis.getAxis(e))) : this.component.yAxis.getAxis(t) && this.component.yAxis.getAxis(t).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? void this._showAxisTrigger(e, t, this._getNearestDataIndex("y", this.component.yAxis.getAxis(t))) : void this._showAxisTrigger(e, t, -1);
  2114. "cross" === this.option.tooltip.axisPointer.type && this._showAxisTrigger(-1, -1, -1)
  2115. },
  2116. _findPolarTrigger: function() {
  2117. if(!this.component.polar) return !1;
  2118. var e, t = m.getX(this._event),
  2119. i = m.getY(this._event),
  2120. n = this.component.polar.getNearestIndex([t, i]);
  2121. return n ? (e = n.valueIndex, n = n.polarIndex) : n = -1, -1 != n ? this._showPolarTrigger(n, e) : !1
  2122. },
  2123. _getNearestDataIndex: function(e, t) {
  2124. var i = -1,
  2125. n = m.getX(this._event),
  2126. a = m.getY(this._event);
  2127. if("x" === e) {
  2128. for(var o, r, s = this.component.grid.getXend(), l = t.getCoordByIndex(i); s > l && (r = l, n >= l);) o = l, l = t.getCoordByIndex(++i);
  2129. return 0 >= i ? i = 0 : r - n >= n - o ? i -= 1 : null == t.getNameByIndex(i) && (i -= 1), i
  2130. }
  2131. for(var h, V, U = this.component.grid.getY(), l = t.getCoordByIndex(i); l > U && (h = l, l >= a);) V = l, l = t.getCoordByIndex(++i);
  2132. return 0 >= i ? i = 0 : a - h >= V - a ? i -= 1 : null == t.getNameByIndex(i) && (i -= 1), i
  2133. },
  2134. _showAxisTrigger: function(e, t, i) {
  2135. if(!this._event.connectTrigger && this.messageCenter.dispatch(s.EVENT.TOOLTIP_IN_GRID, this._event, null, this.myChart), null == this.component.xAxis || null == this.component.yAxis || null == e || null == t) return clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), void(this._hidingTicket = setTimeout(this._hide, this._hideDelay));
  2136. var n, a, o, r, l = this.option.series,
  2137. h = [],
  2138. V = [],
  2139. U = "";
  2140. if("axis" === this.option.tooltip.trigger) {
  2141. if(!this.option.tooltip.show) return;
  2142. a = this.option.tooltip.formatter, o = this.option.tooltip.position
  2143. }
  2144. var d, p, c = -1 != e && this.component.xAxis.getAxis(e).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? "xAxis" : -1 != t && this.component.yAxis.getAxis(t).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? "yAxis" : !1;
  2145. if(c) {
  2146. var u = "xAxis" == c ? e : t;
  2147. n = this.component[c].getAxis(u);
  2148. for(var y = 0, g = l.length; g > y; y++) this._isSelected(l[y].name) && l[y][c + "Index"] === u && "axis" === this.deepQuery([l[y], this.option], "tooltip.trigger") && (r = this.query(l[y], "tooltip.showContent") || r, a = this.query(l[y], "tooltip.formatter") || a, o = this.query(l[y], "tooltip.position") || o, U += this._style(this.query(l[y], "tooltip")), null != l[y].stack && "xAxis" == c ? (h.unshift(l[y]), V.unshift(y)) : (h.push(l[y]), V.push(y)));
  2149. this.messageCenter.dispatch(s.EVENT.TOOLTIP_HOVER, this._event, {
  2150. seriesIndex: V,
  2151. dataIndex: i
  2152. }, this.myChart);
  2153. var b;
  2154. "xAxis" == c ? (d = this.subPixelOptimize(n.getCoordByIndex(i), this._axisLineWidth), p = m.getY(this._event), b = [d, this.component.grid.getY(), d, this.component.grid.getYend()]) : (d = m.getX(this._event), p = this.subPixelOptimize(n.getCoordByIndex(i), this._axisLineWidth), b = [this.component.grid.getX(), p, this.component.grid.getXend(), p]), this._styleAxisPointer(h, b[0], b[1], b[2], b[3], n.getGap(), d, p)
  2155. } else d = m.getX(this._event), p = m.getY(this._event), this._styleAxisPointer(l, this.component.grid.getX(), p, this.component.grid.getXend(), p, 0, d, p), i >= 0 ? this._showItemTrigger(!0) : (clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._tDom.style.display = "none");
  2156. if(h.length > 0) {
  2157. if(this._lastItemTriggerId = -1, this._lastDataIndex != i || this._lastSeriesIndex != V[0]) {
  2158. this._lastDataIndex = i, this._lastSeriesIndex = V[0];
  2159. var f, k;
  2160. if("function" == typeof a) {
  2161. for(var x = [], y = 0, g = h.length; g > y; y++) f = h[y].data[i], k = this.getDataFromOption(f, "-"), x.push({
  2162. seriesIndex: V[y],
  2163. seriesName: h[y].name || "",
  2164. series: h[y],
  2165. dataIndex: i,
  2166. data: f,
  2167. name: n.getNameByIndex(i),
  2168. value: k,
  2169. 0: h[y].name || "",
  2170. 1: n.getNameByIndex(i),
  2171. 2: k,
  2172. 3: f
  2173. });
  2174. this._curTicket = "axis:" + i, this._tDom.innerHTML = a.call(this.myChart, x, this._curTicket, this._setContent)
  2175. } else if("string" == typeof a) {
  2176. this._curTicket = 0 / 0, a = a.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}");
  2177. for(var y = 0, g = h.length; g > y; y++) a = a.replace("{a" + y + "}", this._encodeHTML(h[y].name || "")), a = a.replace("{b" + y + "}", this._encodeHTML(n.getNameByIndex(i))), f = h[y].data[i], f = this.getDataFromOption(f, "-"), a = a.replace("{c" + y + "}", f instanceof Array ? f : this.numAddCommas(f));
  2178. this._tDom.innerHTML = a
  2179. } else {
  2180. this._curTicket = 0 / 0, a = this._encodeHTML(n.getNameByIndex(i));
  2181. for(var y = 0, g = h.length; g > y; y++) a += "<br/>" + this._encodeHTML(h[y].name || "") + " : ", f = h[y].data[i], f = this.getDataFromOption(f, "-"), a += f instanceof Array ? f : this.numAddCommas(f);
  2182. this._tDom.innerHTML = a
  2183. }
  2184. }
  2185. if(r === !1 || !this.option.tooltip.showContent) return;
  2186. this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(o, d + 10, p + 10, U)
  2187. }
  2188. },
  2189. _showPolarTrigger: function(e, t) {
  2190. if(null == this.component.polar || null == e || null == t || 0 > t) return !1;
  2191. var i, n, a, o = this.option.series,
  2192. r = [],
  2193. s = [],
  2194. l = "";
  2195. if("axis" === this.option.tooltip.trigger) {
  2196. if(!this.option.tooltip.show) return !1;
  2197. i = this.option.tooltip.formatter, n = this.option.tooltip.position
  2198. }
  2199. for(var h = this.option.polar[e].indicator[t].text, V = 0, U = o.length; U > V; V++) this._isSelected(o[V].name) && o[V].polarIndex === e && "axis" === this.deepQuery([o[V], this.option], "tooltip.trigger") && (a = this.query(o[V], "tooltip.showContent") || a, i = this.query(o[V], "tooltip.formatter") || i, n = this.query(o[V], "tooltip.position") || n, l += this._style(this.query(o[V], "tooltip")), r.push(o[V]), s.push(V));
  2200. if(r.length > 0) {
  2201. for(var d, p, c, u = [], V = 0, U = r.length; U > V; V++) {
  2202. d = r[V].data;
  2203. for(var y = 0, g = d.length; g > y; y++) p = d[y], this._isSelected(p.name) && (p = null != p ? p : {
  2204. name: "",
  2205. value: {
  2206. dataIndex: "-"
  2207. }
  2208. }, c = this.getDataFromOption(p.value[t]), u.push({
  2209. seriesIndex: s[V],
  2210. seriesName: r[V].name || "",
  2211. series: r[V],
  2212. dataIndex: t,
  2213. data: p,
  2214. name: p.name,
  2215. indicator: h,
  2216. value: c,
  2217. 0: r[V].name || "",
  2218. 1: p.name,
  2219. 2: c,
  2220. 3: h
  2221. }))
  2222. }
  2223. if(u.length <= 0) return;
  2224. if(this._lastItemTriggerId = -1, this._lastDataIndex != t || this._lastSeriesIndex != s[0])
  2225. if(this._lastDataIndex = t, this._lastSeriesIndex = s[0], "function" == typeof i) this._curTicket = "axis:" + t, this._tDom.innerHTML = i.call(this.myChart, u, this._curTicket, this._setContent);
  2226. else if("string" == typeof i) {
  2227. i = i.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}");
  2228. for(var V = 0, U = u.length; U > V; V++) i = i.replace("{a" + V + "}", this._encodeHTML(u[V].seriesName)), i = i.replace("{b" + V + "}", this._encodeHTML(u[V].name)), i = i.replace("{c" + V + "}", this.numAddCommas(u[V].value)), i = i.replace("{d" + V + "}", this._encodeHTML(u[V].indicator));
  2229. this._tDom.innerHTML = i
  2230. } else {
  2231. i = this._encodeHTML(u[0].name) + "<br/>" + this._encodeHTML(u[0].indicator) + " : " + this.numAddCommas(u[0].value);
  2232. for(var V = 1, U = u.length; U > V; V++) i += "<br/>" + this._encodeHTML(u[V].name) + "<br/>", i += this._encodeHTML(u[V].indicator) + " : " + this.numAddCommas(u[V].value);
  2233. this._tDom.innerHTML = i
  2234. }
  2235. if(a === !1 || !this.option.tooltip.showContent) return;
  2236. return this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(n, m.getX(this._event), m.getY(this._event), l), !0
  2237. }
  2238. },
  2239. _showItemTrigger: function(e) {
  2240. if(this._curTarget) {
  2241. var t, i, n, a = l.get(this._curTarget, "series"),
  2242. o = l.get(this._curTarget, "seriesIndex"),
  2243. r = l.get(this._curTarget, "data"),
  2244. h = l.get(this._curTarget, "dataIndex"),
  2245. V = l.get(this._curTarget, "name"),
  2246. U = l.get(this._curTarget, "value"),
  2247. d = l.get(this._curTarget, "special"),
  2248. p = l.get(this._curTarget, "special2"),
  2249. c = [r, a, this.option],
  2250. u = "";
  2251. if("island" != this._curTarget._type) {
  2252. var y = e ? "axis" : "item";
  2253. this.option.tooltip.trigger === y && (t = this.option.tooltip.formatter, i = this.option.tooltip.position), this.query(a, "tooltip.trigger") === y && (n = this.query(a, "tooltip.showContent") || n, t = this.query(a, "tooltip.formatter") || t, i = this.query(a, "tooltip.position") || i, u += this._style(this.query(a, "tooltip"))), n = this.query(r, "tooltip.showContent") || n, t = this.query(r, "tooltip.formatter") || t, i = this.query(r, "tooltip.position") || i, u += this._style(this.query(r, "tooltip"))
  2254. } else this._lastItemTriggerId = 0 / 0, n = this.deepQuery(c, "tooltip.showContent"), t = this.deepQuery(c, "tooltip.islandFormatter"), i = this.deepQuery(c, "tooltip.islandPosition");
  2255. this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId !== this._curTarget.id && (this._lastItemTriggerId = this._curTarget.id, "function" == typeof t ? (this._curTicket = (a.name || "") + ":" + h, this._tDom.innerHTML = t.call(this.myChart, {
  2256. seriesIndex: o,
  2257. seriesName: a.name || "",
  2258. series: a,
  2259. dataIndex: h,
  2260. data: r,
  2261. name: V,
  2262. value: U,
  2263. percent: d,
  2264. indicator: d,
  2265. value2: p,
  2266. indicator2: p,
  2267. 0: a.name || "",
  2268. 1: V,
  2269. 2: U,
  2270. 3: d,
  2271. 4: p,
  2272. 5: r,
  2273. 6: o,
  2274. 7: h
  2275. }, this._curTicket, this._setContent)) : "string" == typeof t ? (this._curTicket = 0 / 0, t = t.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}"), t = t.replace("{a0}", this._encodeHTML(a.name || "")).replace("{b0}", this._encodeHTML(V)).replace("{c0}", U instanceof Array ? U : this.numAddCommas(U)), t = t.replace("{d}", "{d0}").replace("{d0}", d || ""), t = t.replace("{e}", "{e0}").replace("{e0}", l.get(this._curTarget, "special2") || ""), this._tDom.innerHTML = t) : (this._curTicket = 0 / 0, this._tDom.innerHTML = a.type === s.CHART_TYPE_RADAR && d ? this._itemFormatter.radar.call(this, a, V, U, d) : a.type === s.CHART_TYPE_EVENTRIVER ? this._itemFormatter.eventRiver.call(this, a, V, U, r) : "" + (null != a.name ? this._encodeHTML(a.name) + "<br/>" : "") + ("" === V ? "" : this._encodeHTML(V) + " : ") + (U instanceof Array ? U : this.numAddCommas(U))));
  2276. var g = m.getX(this._event),
  2277. b = m.getY(this._event);
  2278. this.deepQuery(c, "tooltip.axisPointer.show") && this.component.grid ? this._styleAxisPointer([a], this.component.grid.getX(), b, this.component.grid.getXend(), b, 0, g, b) : this._hide(), n !== !1 && this.option.tooltip.showContent && (this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(i, g + 20, b - 20, u))
  2279. }
  2280. },
  2281. _itemFormatter: {
  2282. radar: function(e, t, i, n) {
  2283. var a = "";
  2284. a += this._encodeHTML("" === t ? e.name || "" : t), a += "" === a ? "" : "<br />";
  2285. for(var o = 0; o < n.length; o++) a += this._encodeHTML(n[o].text) + " : " + this.numAddCommas(i[o]) + "<br />";
  2286. return a
  2287. },
  2288. chord: function(e, t, i, n, a) {
  2289. if(null == a) return this._encodeHTML(t) + " (" + this.numAddCommas(i) + ")";
  2290. var o = this._encodeHTML(t),
  2291. r = this._encodeHTML(n);
  2292. return "" + (null != e.name ? this._encodeHTML(e.name) + "<br/>" : "") + o + " -> " + r + " (" + this.numAddCommas(i) + ")<br />" + r + " -> " + o + " (" + this.numAddCommas(a) + ")"
  2293. },
  2294. eventRiver: function(e, t, i, n) {
  2295. var a = "";
  2296. a += this._encodeHTML("" === e.name ? "" : e.name + " : "), a += this._encodeHTML(t), a += "" === a ? "" : "<br />", n = n.evolution;
  2297. for(var o = 0, r = n.length; r > o; o++) a += '<div style="padding-top:5px;">', n[o].detail && (n[o].detail.img && (a += '<img src="' + n[o].detail.img + '" style="float:left;width:40px;height:40px;">'), a += '<div style="margin-left:45px;">' + n[o].time + "<br/>", a += '<a href="' + n[o].detail.link + '" target="_blank">', a += n[o].detail.text + "</a></div>", a += "</div>");
  2298. return a
  2299. }
  2300. },
  2301. _styleAxisPointer: function(e, t, i, n, a, o, r, s) {
  2302. if(e.length > 0) {
  2303. var l, h, m = this.option.tooltip.axisPointer,
  2304. V = m.type,
  2305. U = {
  2306. line: {},
  2307. cross: {},
  2308. shadow: {}
  2309. };
  2310. for(var d in U) U[d].color = m[d + "Style"].color, U[d].width = m[d + "Style"].width, U[d].type = m[d + "Style"].type;
  2311. for(var p = 0, c = e.length; c > p; p++) l = e[p], h = this.query(l, "tooltip.axisPointer.type"), V = h || V, h && (U[h].color = this.query(l, "tooltip.axisPointer." + h + "Style.color") || U[h].color, U[h].width = this.query(l, "tooltip.axisPointer." + h + "Style.width") || U[h].width, U[h].type = this.query(l, "tooltip.axisPointer." + h + "Style.type") || U[h].type);
  2312. if("line" === V) {
  2313. var u = U.line.width,
  2314. y = t == n;
  2315. this._axisLineShape.style = {
  2316. xStart: y ? this.subPixelOptimize(t, u) : t,
  2317. yStart: y ? i : this.subPixelOptimize(i, u),
  2318. xEnd: y ? this.subPixelOptimize(n, u) : n,
  2319. yEnd: y ? a : this.subPixelOptimize(a, u),
  2320. strokeColor: U.line.color,
  2321. lineWidth: u,
  2322. lineType: U.line.type
  2323. }, this._axisLineShape.invisible = !1, this.zr.modShape(this._axisLineShape.id)
  2324. } else if("cross" === V) {
  2325. var g = U.cross.width;
  2326. this._axisCrossShape.style = {
  2327. brushType: "stroke",
  2328. rect: this.component.grid.getArea(),
  2329. x: this.subPixelOptimize(r, g),
  2330. y: this.subPixelOptimize(s, g),
  2331. text: ("( " + this.component.xAxis.getAxis(0).getValueFromCoord(r) + " , " + this.component.yAxis.getAxis(0).getValueFromCoord(s) + " )").replace(" , ", " ").replace(" , ", " "),
  2332. textPosition: "specific",
  2333. strokeColor: U.cross.color,
  2334. lineWidth: g,
  2335. lineType: U.cross.type
  2336. }, this.component.grid.getXend() - r > 100 ? (this._axisCrossShape.style.textAlign = "left", this._axisCrossShape.style.textX = r + 10) : (this._axisCrossShape.style.textAlign = "right", this._axisCrossShape.style.textX = r - 10), s - this.component.grid.getY() > 50 ? (this._axisCrossShape.style.textBaseline = "bottom", this._axisCrossShape.style.textY = s - 10) : (this._axisCrossShape.style.textBaseline = "top", this._axisCrossShape.style.textY = s + 10), this._axisCrossShape.invisible = !1, this.zr.modShape(this._axisCrossShape.id)
  2337. } else "shadow" === V && ((null == U.shadow.width || "auto" === U.shadow.width || isNaN(U.shadow.width)) && (U.shadow.width = o), t === n ? Math.abs(this.component.grid.getX() - t) < 2 ? (U.shadow.width /= 2, t = n += U.shadow.width / 2) : Math.abs(this.component.grid.getXend() - t) < 2 && (U.shadow.width /= 2, t = n -= U.shadow.width / 2) : i === a && (Math.abs(this.component.grid.getY() - i) < 2 ? (U.shadow.width /= 2, i = a += U.shadow.width / 2) : Math.abs(this.component.grid.getYend() - i) < 2 && (U.shadow.width /= 2, i = a -= U.shadow.width / 2)), this._axisShadowShape.style = {
  2338. xStart: t,
  2339. yStart: i,
  2340. xEnd: n,
  2341. yEnd: a,
  2342. strokeColor: U.shadow.color,
  2343. lineWidth: U.shadow.width
  2344. }, this._axisShadowShape.invisible = !1, this.zr.modShape(this._axisShadowShape.id));
  2345. this.zr.refreshNextFrame()
  2346. }
  2347. },
  2348. __onmousemove: function(e) {
  2349. if(clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), !this._mousein || !this._enterable) {
  2350. var t = e.target,
  2351. i = m.getX(e.event),
  2352. n = m.getY(e.event);
  2353. if(t) {
  2354. this._curTarget = t, this._event = e.event, this._event.zrenderX = i, this._event.zrenderY = n;
  2355. var a;
  2356. if(this._needAxisTrigger && this.component.polar && -1 != (a = this.component.polar.isInside([i, n])))
  2357. for(var o = this.option.series, l = 0, h = o.length; h > l; l++)
  2358. if(o[l].polarIndex === a && "axis" === this.deepQuery([o[l], this.option], "tooltip.trigger")) {
  2359. this._curTarget = null;
  2360. break
  2361. }
  2362. this._showingTicket = setTimeout(this._tryShow, this._showDelay)
  2363. } else this._curTarget = !1, this._event = e.event, this._event.zrenderX = i, this._event.zrenderY = n, this._needAxisTrigger && this.component.grid && V.isInside(r, this.component.grid.getArea(), i, n) ? this._showingTicket = setTimeout(this._tryShow, this._showDelay) : this._needAxisTrigger && this.component.polar && -1 != this.component.polar.isInside([i, n]) ? this._showingTicket = setTimeout(this._tryShow, this._showDelay) : (!this._event.connectTrigger && this.messageCenter.dispatch(s.EVENT.TOOLTIP_OUT_GRID, this._event, null, this.myChart), this._hidingTicket = setTimeout(this._hide, this._hideDelay))
  2364. }
  2365. },
  2366. __onglobalout: function() {
  2367. clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._hidingTicket = setTimeout(this._hide, this._hideDelay)
  2368. },
  2369. __setContent: function(e, t) {
  2370. this._tDom && (e === this._curTicket && (this._tDom.innerHTML = t), setTimeout(this._refixed, 20))
  2371. },
  2372. ontooltipHover: function(e, t) {
  2373. if(!this._lastTipShape || this._lastTipShape && this._lastTipShape.dataIndex != e.dataIndex) {
  2374. this._lastTipShape && this._lastTipShape.tipShape.length > 0 && (this.zr.delShape(this._lastTipShape.tipShape), this.shapeList.length = 2);
  2375. for(var i = 0, n = t.length; n > i; i++) t[i].zlevel = this.getZlevelBase(), t[i].z = this.getZBase(), t[i].style = p.prototype.getHighlightStyle(t[i].style, t[i].highlightStyle), t[i].draggable = !1, t[i].hoverable = !1, t[i].clickable = !1, t[i].ondragend = null, t[i].ondragover = null, t[i].ondrop = null, this.shapeList.push(t[i]), this.zr.addShape(t[i]);
  2376. this._lastTipShape = {
  2377. dataIndex: e.dataIndex,
  2378. tipShape: t
  2379. }
  2380. }
  2381. },
  2382. ondragend: function() {
  2383. this._hide()
  2384. },
  2385. onlegendSelected: function(e) {
  2386. this._selectedMap = e.selected
  2387. },
  2388. _setSelectedMap: function() {
  2389. this._selectedMap = this.component.legend ? d.clone(this.component.legend.getSelectedMap()) : {}
  2390. },
  2391. _isSelected: function(e) {
  2392. return null != this._selectedMap[e] ? this._selectedMap[e] : !0
  2393. },
  2394. showTip: function(e) {
  2395. if(e) {
  2396. var t, i = this.option.series;
  2397. if(null != e.seriesIndex) t = e.seriesIndex;
  2398. else
  2399. for(var n = e.seriesName, a = 0, o = i.length; o > a; a++)
  2400. if(i[a].name === n) {
  2401. t = a;
  2402. break
  2403. } var r = i[t];
  2404. if(null != r) {
  2405. var m = this.myChart.chart[r.type],
  2406. V = "axis" === this.deepQuery([r, this.option], "tooltip.trigger");
  2407. if(m)
  2408. if(V) {
  2409. var U = e.dataIndex;
  2410. switch(m.type) {
  2411. case s.CHART_TYPE_LINE:
  2412. case s.CHART_TYPE_BAR:
  2413. case s.CHART_TYPE_K:
  2414. case s.CHART_TYPE_RADAR:
  2415. if(null == this.component.polar || r.data[0].value.length <= U) return;
  2416. var d = r.polarIndex || 0,
  2417. p = this.component.polar.getVector(d, U, "max");
  2418. this._event = {
  2419. zrenderX: p[0],
  2420. zrenderY: p[1]
  2421. }, this._showPolarTrigger(d, U)
  2422. }
  2423. } else {
  2424. var c, u, y = m.shapeList;
  2425. switch(m.type) {
  2426. case s.CHART_TYPE_LINE:
  2427. case s.CHART_TYPE_BAR:
  2428. case s.CHART_TYPE_K:
  2429. case s.CHART_TYPE_TREEMAP:
  2430. case s.CHART_TYPE_SCATTER:
  2431. for(var U = e.dataIndex, a = 0, o = y.length; o > a; a++)
  2432. if(null == y[a]._mark && l.get(y[a], "seriesIndex") == t && l.get(y[a], "dataIndex") == U) {
  2433. this._curTarget = y[a], c = y[a].style.x, u = m.type != s.CHART_TYPE_K ? y[a].style.y : y[a].style.y[0];
  2434. break
  2435. }
  2436. break;
  2437. case s.CHART_TYPE_RADAR:
  2438. for(var U = e.dataIndex, a = 0, o = y.length; o > a; a++)
  2439. if("polygon" === y[a].type && l.get(y[a], "seriesIndex") == t && l.get(y[a], "dataIndex") == U) {
  2440. this._curTarget = y[a];
  2441. var p = this.component.polar.getCenter(r.polarIndex || 0);
  2442. c = p[0], u = p[1];
  2443. break
  2444. }
  2445. break;
  2446. case s.CHART_TYPE_PIE:
  2447. for(var g = e.name, a = 0, o = y.length; o > a; a++)
  2448. if("sector" === y[a].type && l.get(y[a], "seriesIndex") == t && l.get(y[a], "name") == g) {
  2449. this._curTarget = y[a];
  2450. var b = this._curTarget.style,
  2451. f = (b.startAngle + b.endAngle) / 2 * Math.PI / 180;
  2452. c = this._curTarget.style.x + Math.cos(f) * b.r / 1.5, u = this._curTarget.style.y - Math.sin(f) * b.r / 1.5;
  2453. break
  2454. }
  2455. break;
  2456. case s.CHART_TYPE_MAP:
  2457. for(var g = e.name, k = r.mapType, a = 0, o = y.length; o > a; a++)
  2458. if("text" === y[a].type && y[a]._mapType === k && y[a].style._name === g) {
  2459. this._curTarget = y[a], c = this._curTarget.style.x + this._curTarget.position[0], u = this._curTarget.style.y + this._curTarget.position[1];
  2460. break
  2461. }
  2462. break;
  2463. case s.CHART_TYPE_CHORD:
  2464. for(var g = e.name, a = 0, o = y.length; o > a; a++)
  2465. if("sector" === y[a].type && l.get(y[a], "name") == g) {
  2466. this._curTarget = y[a];
  2467. var b = this._curTarget.style,
  2468. f = (b.startAngle + b.endAngle) / 2 * Math.PI / 180;
  2469. return c = this._curTarget.style.x + Math.cos(f) * (b.r - 2), u = this._curTarget.style.y - Math.sin(f) * (b.r - 2), void this.zr.trigger(h.EVENT.MOUSEMOVE, {
  2470. zrenderX: c,
  2471. zrenderY: u
  2472. })
  2473. }
  2474. break;
  2475. case s.CHART_TYPE_FORCE:
  2476. for(var g = e.name, a = 0, o = y.length; o > a; a++)
  2477. if("circle" === y[a].type && l.get(y[a], "name") == g) {
  2478. this._curTarget = y[a], c = this._curTarget.position[0], u = this._curTarget.position[1];
  2479. break
  2480. }
  2481. }
  2482. null != c && null != u && (this._event = {
  2483. zrenderX: c,
  2484. zrenderY: u
  2485. }, this.zr.addHoverShape(this._curTarget), this.zr.refreshHover(), this._showItemTrigger())
  2486. }
  2487. }
  2488. }
  2489. },
  2490. hideTip: function() {
  2491. this._hide()
  2492. },
  2493. refresh: function(e) {
  2494. if(this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth(), this._lastTipShape && this._lastTipShape.tipShape.length > 0 && this.zr.delShape(this._lastTipShape.tipShape), this._lastTipShape = !1, this.shapeList.length = 2, this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId = -1, e) {
  2495. this.option = e, this.option.tooltip = this.reformOption(this.option.tooltip), this.option.tooltip.textStyle = d.merge(this.option.tooltip.textStyle, this.ecTheme.textStyle), this._needAxisTrigger = !1, "axis" === this.option.tooltip.trigger && (this._needAxisTrigger = !0);
  2496. for(var t = this.option.series, i = 0, n = t.length; n > i; i++)
  2497. if("axis" === this.query(t[i], "tooltip.trigger")) {
  2498. this._needAxisTrigger = !0;
  2499. break
  2500. }
  2501. this._showDelay = this.option.tooltip.showDelay, this._hideDelay = this.option.tooltip.hideDelay, this._defaultCssText = this._style(this.option.tooltip), this._setSelectedMap(), this._axisLineWidth = this.option.tooltip.axisPointer.lineStyle.width, this._enterable = this.option.tooltip.enterable, !this._enterable && this._tDom.className.indexOf(h.elementClassName) < 0 && (this._tDom.className += " " + h.elementClassName)
  2502. }
  2503. if(this.showing) {
  2504. var a = this;
  2505. setTimeout(function() {
  2506. a.zr.trigger(h.EVENT.MOUSEMOVE, a.zr.handler._event)
  2507. }, 50)
  2508. }
  2509. },
  2510. onbeforDispose: function() {
  2511. this._lastTipShape && this._lastTipShape.tipShape.length > 0 && this.zr.delShape(this._lastTipShape.tipShape), clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove), this.zr.un(h.EVENT.GLOBALOUT, this._onglobalout), this.hasAppend && this.dom.firstChild && this.dom.firstChild.removeChild(this._tDom), this._tDom = null
  2512. },
  2513. _encodeHTML: function(e) {
  2514. return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;")
  2515. }
  2516. }, d.inherits(t, i), e("../component").define("tooltip", t), t
  2517. }), i("echarts/component/legend", ["require", "./base", "zrender/shape/Text", "zrender/shape/Rectangle", "zrender/shape/Sector", "../util/shape/Icon", "../util/shape/Candle", "../config", "zrender/tool/util", "zrender/tool/area", "../component"], function(e) {
  2518. function t(e, t, n, a, o) {
  2519. if(!this.query(a, "legend.data")) return void console.error("option.legend.data has not been defined.");
  2520. i.call(this, e, t, n, a, o);
  2521. var r = this;
  2522. r._legendSelected = function(e) {
  2523. r.__legendSelected(e)
  2524. }, r._dispatchHoverLink = function(e) {
  2525. return r.__dispatchHoverLink(e)
  2526. }, this._colorIndex = 0, this._colorMap = {}, this._selectedMap = {}, this._hasDataMap = {}, this.refresh(a)
  2527. }
  2528. var i = e("./base"),
  2529. n = e("zrender/shape/Text"),
  2530. a = e("zrender/shape/Rectangle"),
  2531. o = e("zrender/shape/Sector"),
  2532. r = e("../util/shape/Icon"),
  2533. s = e("../util/shape/Candle"),
  2534. l = e("../config");
  2535. l.legend = {
  2536. zlevel: 0,
  2537. z: 4,
  2538. show: !0,
  2539. orient: "horizontal",
  2540. x: "center",
  2541. y: "top",
  2542. backgroundColor: "rgba(0,0,0,0)",
  2543. borderColor: "#ccc",
  2544. borderWidth: 0,
  2545. padding: 5,
  2546. itemGap: 10,
  2547. itemWidth: 20,
  2548. itemHeight: 14,
  2549. textStyle: {
  2550. color: "#333"
  2551. },
  2552. selectedMode: !0
  2553. };
  2554. var h = e("zrender/tool/util"),
  2555. m = e("zrender/tool/area");
  2556. t.prototype = {
  2557. type: l.COMPONENT_TYPE_LEGEND,
  2558. _buildShape: function() {
  2559. if(this.legendOption.show) {
  2560. this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
  2561. for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  2562. }
  2563. },
  2564. _buildItem: function() {
  2565. var e, t, i, a, o, s, l, V, U = this.legendOption.data,
  2566. d = U.length,
  2567. p = this.legendOption.textStyle,
  2568. c = this.zr.getWidth(),
  2569. u = this.zr.getHeight(),
  2570. y = this._itemGroupLocation.x,
  2571. g = this._itemGroupLocation.y,
  2572. b = this.legendOption.itemWidth,
  2573. f = this.legendOption.itemHeight,
  2574. k = this.legendOption.itemGap;
  2575. "vertical" === this.legendOption.orient && "right" === this.legendOption.x && (y = this._itemGroupLocation.x + this._itemGroupLocation.width - b);
  2576. for(var x = 0; d > x; x++) o = h.merge(U[x].textStyle || {}, p), s = this.getFont(o), e = this._getName(U[x]), l = this._getFormatterName(e), "" !== e ? (t = U[x].icon || this._getSomethingByName(e).type, V = this.getColor(e), "horizontal" === this.legendOption.orient ? 200 > c - y && b + 5 + m.getTextWidth(l, s) + (x === d - 1 || "" === U[x + 1] ? 0 : k) >= c - y && (y = this._itemGroupLocation.x, g += f + k) : 200 > u - g && f + (x === d - 1 || "" === U[x + 1] ? 0 : k) >= u - g && ("right" === this.legendOption.x ? y -= this._itemGroupLocation.maxWidth + k : y += this._itemGroupLocation.maxWidth + k, g = this._itemGroupLocation.y), i = this._getItemShapeByType(y, g, b, f, this._selectedMap[e] && this._hasDataMap[e] ? V : "#ccc", t, V), i._name = e, i = new r(i), a = {
  2577. zlevel: this.getZlevelBase(),
  2578. z: this.getZBase(),
  2579. style: {
  2580. x: y + b + 5,
  2581. y: g + f / 2,
  2582. color: this._selectedMap[e] ? "auto" === o.color ? V : o.color : "#ccc",
  2583. text: l,
  2584. textFont: s,
  2585. textBaseline: "middle"
  2586. },
  2587. highlightStyle: {
  2588. color: V,
  2589. brushType: "fill"
  2590. },
  2591. hoverable: !!this.legendOption.selectedMode,
  2592. clickable: !!this.legendOption.selectedMode
  2593. }, "vertical" === this.legendOption.orient && "right" === this.legendOption.x && (a.style.x -= b + 10, a.style.textAlign = "right"), a._name = e, a = new n(a), this.legendOption.selectedMode && (i.onclick = a.onclick = this._legendSelected, i.onmouseover = a.onmouseover = this._dispatchHoverLink, i.hoverConnect = a.id, a.hoverConnect = i.id), this.shapeList.push(i), this.shapeList.push(a), "horizontal" === this.legendOption.orient ? y += b + 5 + m.getTextWidth(l, s) + k : g += f + k) : "horizontal" === this.legendOption.orient ? (y = this._itemGroupLocation.x, g += f + k) : ("right" === this.legendOption.x ? y -= this._itemGroupLocation.maxWidth + k : y += this._itemGroupLocation.maxWidth + k, g = this._itemGroupLocation.y);
  2594. "horizontal" === this.legendOption.orient && "center" === this.legendOption.x && g != this._itemGroupLocation.y && this._mLineOptimize()
  2595. },
  2596. _getName: function(e) {
  2597. return "undefined" != typeof e.name ? e.name : e
  2598. },
  2599. _getFormatterName: function(e) {
  2600. var t, i = this.legendOption.formatter;
  2601. return t = "function" == typeof i ? i.call(this.myChart, e) : "string" == typeof i ? i.replace("{name}", e) : e
  2602. },
  2603. _getFormatterNameFromData: function(e) {
  2604. var t = this._getName(e);
  2605. return this._getFormatterName(t)
  2606. },
  2607. _mLineOptimize: function() {
  2608. for(var e = [], t = this._itemGroupLocation.x, i = 2, n = this.shapeList.length; n > i; i++) this.shapeList[i].style.x === t ? e.push((this._itemGroupLocation.width - (this.shapeList[i - 1].style.x + m.getTextWidth(this.shapeList[i - 1].style.text, this.shapeList[i - 1].style.textFont) - t)) / 2) : i === n - 1 && e.push((this._itemGroupLocation.width - (this.shapeList[i].style.x + m.getTextWidth(this.shapeList[i].style.text, this.shapeList[i].style.textFont) - t)) / 2);
  2609. for(var a = -1, i = 1, n = this.shapeList.length; n > i; i++) this.shapeList[i].style.x === t && a++, 0 !== e[a] && (this.shapeList[i].style.x += e[a])
  2610. },
  2611. _buildBackground: function() {
  2612. var e = this.reformCssArray(this.legendOption.padding);
  2613. this.shapeList.push(new a({
  2614. zlevel: this.getZlevelBase(),
  2615. z: this.getZBase(),
  2616. hoverable: !1,
  2617. style: {
  2618. x: this._itemGroupLocation.x - e[3],
  2619. y: this._itemGroupLocation.y - e[0],
  2620. width: this._itemGroupLocation.width + e[3] + e[1],
  2621. height: this._itemGroupLocation.height + e[0] + e[2],
  2622. brushType: 0 === this.legendOption.borderWidth ? "fill" : "both",
  2623. color: this.legendOption.backgroundColor,
  2624. strokeColor: this.legendOption.borderColor,
  2625. lineWidth: this.legendOption.borderWidth
  2626. }
  2627. }))
  2628. },
  2629. _getItemGroupLocation: function() {
  2630. var e = this.legendOption.data,
  2631. t = e.length,
  2632. i = this.legendOption.itemGap,
  2633. n = this.legendOption.itemWidth + 5,
  2634. a = this.legendOption.itemHeight,
  2635. o = this.legendOption.textStyle,
  2636. r = this.getFont(o),
  2637. s = 0,
  2638. l = 0,
  2639. V = this.reformCssArray(this.legendOption.padding),
  2640. U = this.zr.getWidth() - V[1] - V[3],
  2641. d = this.zr.getHeight() - V[0] - V[2],
  2642. p = 0,
  2643. c = 0;
  2644. if("horizontal" === this.legendOption.orient) {
  2645. l = a;
  2646. for(var u = 0; t > u; u++)
  2647. if("" !== this._getName(e[u])) {
  2648. var y = m.getTextWidth(this._getFormatterNameFromData(e[u]), e[u].textStyle ? this.getFont(h.merge(e[u].textStyle || {}, o)) : r);
  2649. p + n + y + i > U ? (p -= i, s = Math.max(s, p), l += a + i, p = 0) : (p += n + y + i, s = Math.max(s, p - i))
  2650. } else p -= i, s = Math.max(s, p), l += a + i, p = 0
  2651. } else {
  2652. for(var u = 0; t > u; u++) c = Math.max(c, m.getTextWidth(this._getFormatterNameFromData(e[u]), e[u].textStyle ? this.getFont(h.merge(e[u].textStyle || {}, o)) : r));
  2653. c += n, s = c;
  2654. for(var u = 0; t > u; u++) "" !== this._getName(e[u]) ? p + a + i > d ? (s += c + i, p -= i, l = Math.max(l, p), p = 0) : (p += a + i, l = Math.max(l, p - i)) : (s += c + i, p -= i, l = Math.max(l, p), p = 0)
  2655. }
  2656. U = this.zr.getWidth(), d = this.zr.getHeight();
  2657. var g;
  2658. switch(this.legendOption.x) {
  2659. case "center":
  2660. g = Math.floor((U - s) / 2);
  2661. break;
  2662. case "left":
  2663. g = V[3] + this.legendOption.borderWidth;
  2664. break;
  2665. case "right":
  2666. g = U - s - V[1] - V[3] - 2 * this.legendOption.borderWidth;
  2667. break;
  2668. default:
  2669. g = this.parsePercent(this.legendOption.x, U)
  2670. }
  2671. var b;
  2672. switch(this.legendOption.y) {
  2673. case "top":
  2674. b = V[0] + this.legendOption.borderWidth;
  2675. break;
  2676. case "bottom":
  2677. b = d - l - V[0] - V[2] - 2 * this.legendOption.borderWidth;
  2678. break;
  2679. case "center":
  2680. b = Math.floor((d - l) / 2);
  2681. break;
  2682. default:
  2683. b = this.parsePercent(this.legendOption.y, d)
  2684. }
  2685. return {
  2686. x: g,
  2687. y: b,
  2688. width: s,
  2689. height: l,
  2690. maxWidth: c
  2691. }
  2692. },
  2693. _getSomethingByName: function(e) {
  2694. for(var t, i = this.option.series, n = 0, a = i.length; a > n; n++) {
  2695. if(i[n].name === e) return {
  2696. type: i[n].type,
  2697. series: i[n],
  2698. seriesIndex: n,
  2699. data: null,
  2700. dataIndex: -1
  2701. };
  2702. if(i[n].type === l.CHART_TYPE_PIE || i[n].type === l.CHART_TYPE_RADAR || i[n].type === l.CHART_TYPE_CHORD || i[n].type === l.CHART_TYPE_FORCE || i[n].type === l.CHART_TYPE_FUNNEL || i[n].type === l.CHART_TYPE_TREEMAP) {
  2703. t = i[n].categories || i[n].data || i[n].nodes;
  2704. for(var o = 0, r = t.length; r > o; o++)
  2705. if(t[o].name === e) return {
  2706. type: i[n].type,
  2707. series: i[n],
  2708. seriesIndex: n,
  2709. data: t[o],
  2710. dataIndex: o
  2711. }
  2712. }
  2713. }
  2714. return {
  2715. type: "bar",
  2716. series: null,
  2717. seriesIndex: -1,
  2718. data: null,
  2719. dataIndex: -1
  2720. }
  2721. },
  2722. _getItemShapeByType: function(e, t, i, n, a, o, r) {
  2723. var s, h = "#ccc" === a ? r : a,
  2724. m = {
  2725. zlevel: this.getZlevelBase(),
  2726. z: this.getZBase(),
  2727. style: {
  2728. iconType: "legendicon" + o,
  2729. x: e,
  2730. y: t,
  2731. width: i,
  2732. height: n,
  2733. color: a,
  2734. strokeColor: a,
  2735. lineWidth: 2
  2736. },
  2737. highlightStyle: {
  2738. color: h,
  2739. strokeColor: h,
  2740. lineWidth: 1
  2741. },
  2742. hoverable: this.legendOption.selectedMode,
  2743. clickable: this.legendOption.selectedMode
  2744. };
  2745. if(o.match("image")) {
  2746. var s = o.replace(new RegExp("^image:\\/\\/"), "");
  2747. o = "image"
  2748. }
  2749. switch(o) {
  2750. case "line":
  2751. m.style.brushType = "stroke", m.highlightStyle.lineWidth = 3;
  2752. break;
  2753. case "radar":
  2754. case "venn":
  2755. case "tree":
  2756. case "treemap":
  2757. case "scatter":
  2758. m.highlightStyle.lineWidth = 3;
  2759. break;
  2760. case "k":
  2761. m.style.brushType = "both", m.highlightStyle.lineWidth = 3, m.highlightStyle.color = m.style.color = this.deepQuery([this.ecTheme, l], "k.itemStyle.normal.color") || "#fff", m.style.strokeColor = "#ccc" != a ? this.deepQuery([this.ecTheme, l], "k.itemStyle.normal.lineStyle.color") || "#ff3200" : a;
  2762. break;
  2763. case "image":
  2764. m.style.iconType = "image", m.style.image = s, "#ccc" === a && (m.style.opacity = .5)
  2765. }
  2766. return m
  2767. },
  2768. __legendSelected: function(e) {
  2769. var t = e.target._name;
  2770. if("single" === this.legendOption.selectedMode)
  2771. for(var i in this._selectedMap) this._selectedMap[i] = !1;
  2772. this._selectedMap[t] = !this._selectedMap[t], this.messageCenter.dispatch(l.EVENT.LEGEND_SELECTED, e.event, {
  2773. selected: this._selectedMap,
  2774. target: t
  2775. }, this.myChart)
  2776. },
  2777. __dispatchHoverLink: function(e) {
  2778. this.messageCenter.dispatch(l.EVENT.LEGEND_HOVERLINK, e.event, {
  2779. target: e.target._name
  2780. }, this.myChart)
  2781. },
  2782. refresh: function(e) {
  2783. if(e) {
  2784. this.option = e || this.option, this.option.legend = this.reformOption(this.option.legend), this.legendOption = this.option.legend;
  2785. var t, i, n, a, o = this.legendOption.data || [];
  2786. if(this.legendOption.selected)
  2787. for(var r in this.legendOption.selected) this._selectedMap[r] = "undefined" != typeof this._selectedMap[r] ? this._selectedMap[r] : this.legendOption.selected[r];
  2788. for(var s = 0, h = o.length; h > s; s++) t = this._getName(o[s]), "" !== t && (i = this._getSomethingByName(t), i.series ? (this._hasDataMap[t] = !0, a = !i.data || i.type !== l.CHART_TYPE_PIE && i.type !== l.CHART_TYPE_FORCE && i.type !== l.CHART_TYPE_FUNNEL ? [i.series] : [i.data, i.series], n = this.getItemStyleColor(this.deepQuery(a, "itemStyle.normal.color"), i.seriesIndex, i.dataIndex, i.data), n && i.type != l.CHART_TYPE_K && this.setColor(t, n), this._selectedMap[t] = null != this._selectedMap[t] ? this._selectedMap[t] : !0) : this._hasDataMap[t] = !1)
  2789. }
  2790. this.clear(), this._buildShape()
  2791. },
  2792. getRelatedAmount: function(e) {
  2793. for(var t, i = 0, n = this.option.series, a = 0, o = n.length; o > a; a++)
  2794. if(n[a].name === e && i++, n[a].type === l.CHART_TYPE_PIE || n[a].type === l.CHART_TYPE_RADAR || n[a].type === l.CHART_TYPE_CHORD || n[a].type === l.CHART_TYPE_FORCE || n[a].type === l.CHART_TYPE_FUNNEL) {
  2795. t = n[a].type != l.CHART_TYPE_FORCE ? n[a].data : n[a].categories;
  2796. for(var r = 0, s = t.length; s > r; r++) t[r].name === e && "-" != t[r].value && i++
  2797. }
  2798. return i
  2799. },
  2800. setColor: function(e, t) {
  2801. this._colorMap[e] = t
  2802. },
  2803. getColor: function(e) {
  2804. return this._colorMap[e] || (this._colorMap[e] = this.zr.getColor(this._colorIndex++)), this._colorMap[e]
  2805. },
  2806. hasColor: function(e) {
  2807. return this._colorMap[e] ? this._colorMap[e] : !1
  2808. },
  2809. add: function(e, t) {
  2810. for(var i = this.legendOption.data, n = 0, a = i.length; a > n; n++)
  2811. if(this._getName(i[n]) === e) return;
  2812. this.legendOption.data.push(e), this.setColor(e, t), this._selectedMap[e] = !0, this._hasDataMap[e] = !0
  2813. },
  2814. del: function(e) {
  2815. for(var t = this.legendOption.data, i = 0, n = t.length; n > i; i++)
  2816. if(this._getName(t[i]) === e) return this.legendOption.data.splice(i, 1)
  2817. },
  2818. getItemShape: function(e) {
  2819. if(null != e)
  2820. for(var t, i = 0, n = this.shapeList.length; n > i; i++)
  2821. if(t = this.shapeList[i], t._name === e && "text" != t.type) return t
  2822. },
  2823. setItemShape: function(e, t) {
  2824. for(var i, n = 0, a = this.shapeList.length; a > n; n++) i = this.shapeList[n], i._name === e && "text" != i.type && (this._selectedMap[e] || (t.style.color = "#ccc", t.style.strokeColor = "#ccc"), this.zr.modShape(i.id, t))
  2825. },
  2826. isSelected: function(e) {
  2827. return "undefined" != typeof this._selectedMap[e] ? this._selectedMap[e] : !0
  2828. },
  2829. getSelectedMap: function() {
  2830. return this._selectedMap
  2831. },
  2832. setSelected: function(e, t) {
  2833. if("single" === this.legendOption.selectedMode)
  2834. for(var i in this._selectedMap) this._selectedMap[i] = !1;
  2835. this._selectedMap[e] = t, this.messageCenter.dispatch(l.EVENT.LEGEND_SELECTED, null, {
  2836. selected: this._selectedMap,
  2837. target: e
  2838. }, this.myChart)
  2839. },
  2840. onlegendSelected: function(e, t) {
  2841. var i = e.selected;
  2842. for(var n in i) this._selectedMap[n] != i[n] && (t.needRefresh = !0), this._selectedMap[n] = i[n]
  2843. }
  2844. };
  2845. var V = {
  2846. line: function(e, t) {
  2847. var i = t.height / 2;
  2848. e.moveTo(t.x, t.y + i), e.lineTo(t.x + t.width, t.y + i)
  2849. },
  2850. pie: function(e, t) {
  2851. var i = t.x,
  2852. n = t.y,
  2853. a = t.width,
  2854. r = t.height;
  2855. o.prototype.buildPath(e, {
  2856. x: i + a / 2,
  2857. y: n + r + 2,
  2858. r: r,
  2859. r0: 6,
  2860. startAngle: 45,
  2861. endAngle: 135
  2862. })
  2863. },
  2864. eventRiver: function(e, t) {
  2865. var i = t.x,
  2866. n = t.y,
  2867. a = t.width,
  2868. o = t.height;
  2869. e.moveTo(i, n + o), e.bezierCurveTo(i + a, n + o, i, n + 4, i + a, n + 4), e.lineTo(i + a, n), e.bezierCurveTo(i, n, i + a, n + o - 4, i, n + o - 4), e.lineTo(i, n + o)
  2870. },
  2871. k: function(e, t) {
  2872. var i = t.x,
  2873. n = t.y,
  2874. a = t.width,
  2875. o = t.height;
  2876. s.prototype.buildPath(e, {
  2877. x: i + a / 2,
  2878. y: [n + 1, n + 1, n + o - 6, n + o],
  2879. width: a - 6
  2880. })
  2881. },
  2882. bar: function(e, t) {
  2883. var i = t.x,
  2884. n = t.y + 1,
  2885. a = t.width,
  2886. o = t.height - 2,
  2887. r = 3;
  2888. e.moveTo(i + r, n), e.lineTo(i + a - r, n), e.quadraticCurveTo(i + a, n, i + a, n + r), e.lineTo(i + a, n + o - r), e.quadraticCurveTo(i + a, n + o, i + a - r, n + o), e.lineTo(i + r, n + o), e.quadraticCurveTo(i, n + o, i, n + o - r), e.lineTo(i, n + r), e.quadraticCurveTo(i, n, i + r, n)
  2889. },
  2890. force: function(e, t) {
  2891. r.prototype.iconLibrary.circle(e, t)
  2892. },
  2893. radar: function(e, t) {
  2894. var i = 6,
  2895. n = t.x + t.width / 2,
  2896. a = t.y + t.height / 2,
  2897. o = t.height / 2,
  2898. r = 2 * Math.PI / i,
  2899. s = -Math.PI / 2,
  2900. l = n + o * Math.cos(s),
  2901. h = a + o * Math.sin(s);
  2902. e.moveTo(l, h), s += r;
  2903. for(var m = 0, V = i - 1; V > m; m++) e.lineTo(n + o * Math.cos(s), a + o * Math.sin(s)), s += r;
  2904. e.lineTo(l, h)
  2905. }
  2906. };
  2907. V.chord = V.pie, V.map = V.bar;
  2908. for(var U in V) r.prototype.iconLibrary["legendicon" + U] = V[U];
  2909. return h.inherits(t, i), e("../component").define("legend", t), t
  2910. }), i("echarts/util/ecData", [], function() {
  2911. function e(e, t, i, n, a, o, r, s) {
  2912. var l;
  2913. return "undefined" != typeof n && (l = null == n.value ? n : n.value), e._echartsData = {
  2914. _series: t,
  2915. _seriesIndex: i,
  2916. _data: n,
  2917. _dataIndex: a,
  2918. _name: o,
  2919. _value: l,
  2920. _special: r,
  2921. _special2: s
  2922. }, e._echartsData
  2923. }
  2924. function t(e, t) {
  2925. var i = e._echartsData;
  2926. if(!t) return i;
  2927. switch(t) {
  2928. case "series":
  2929. case "seriesIndex":
  2930. case "data":
  2931. case "dataIndex":
  2932. case "name":
  2933. case "value":
  2934. case "special":
  2935. case "special2":
  2936. return i && i["_" + t]
  2937. }
  2938. return null
  2939. }
  2940. function i(e, t, i) {
  2941. switch(e._echartsData = e._echartsData || {}, t) {
  2942. case "series":
  2943. case "seriesIndex":
  2944. case "data":
  2945. case "dataIndex":
  2946. case "name":
  2947. case "value":
  2948. case "special":
  2949. case "special2":
  2950. e._echartsData["_" + t] = i
  2951. }
  2952. }
  2953. function n(e, t) {
  2954. t._echartsData = {
  2955. _series: e._echartsData._series,
  2956. _seriesIndex: e._echartsData._seriesIndex,
  2957. _data: e._echartsData._data,
  2958. _dataIndex: e._echartsData._dataIndex,
  2959. _name: e._echartsData._name,
  2960. _value: e._echartsData._value,
  2961. _special: e._echartsData._special,
  2962. _special2: e._echartsData._special2
  2963. }
  2964. }
  2965. return {
  2966. pack: e,
  2967. set: i,
  2968. get: t,
  2969. clone: n
  2970. }
  2971. }), i("echarts/chart", [], function() {
  2972. var e = {},
  2973. t = {};
  2974. return e.define = function(i, n) {
  2975. return t[i] = n, e
  2976. }, e.get = function(e) {
  2977. return t[e]
  2978. }, e
  2979. }), i("zrender/tool/color", ["require", "../tool/util"], function(e) {
  2980. function t(e) {
  2981. D = e
  2982. }
  2983. function i() {
  2984. D = N
  2985. }
  2986. function n(e, t) {
  2987. return e = 0 | e, t = t || D, t[e % t.length]
  2988. }
  2989. function a(e) {
  2990. B = e
  2991. }
  2992. function o() {
  2993. H = B
  2994. }
  2995. function r() {
  2996. return B
  2997. }
  2998. function s(e, t, i, n, a, o, r) {
  2999. O || (O = P.getContext());
  3000. for(var s = O.createRadialGradient(e, t, i, n, a, o), l = 0, h = r.length; h > l; l++) s.addColorStop(r[l][0], r[l][1]);
  3001. return s.__nonRecursion = !0, s
  3002. }
  3003. function l(e, t, i, n, a) {
  3004. O || (O = P.getContext());
  3005. for(var o = O.createLinearGradient(e, t, i, n), r = 0, s = a.length; s > r; r++) o.addColorStop(a[r][0], a[r][1]);
  3006. return o.__nonRecursion = !0, o
  3007. }
  3008. function h(e, t, i) {
  3009. e = p(e), t = p(t), e = I(e), t = I(t);
  3010. for(var n = [], a = (t[0] - e[0]) / i, o = (t[1] - e[1]) / i, r = (t[2] - e[2]) / i, s = (t[3] - e[3]) / i, l = 0, h = e[0], m = e[1], U = e[2], d = e[3]; i > l; l++) n[l] = V([S(Math.floor(h), [0, 255]), S(Math.floor(m), [0, 255]), S(Math.floor(U), [0, 255]), d.toFixed(4) - 0], "rgba"), h += a, m += o, U += r, d += s;
  3011. return h = t[0], m = t[1], U = t[2], d = t[3], n[l] = V([h, m, U, d], "rgba"), n
  3012. }
  3013. function m(e, t) {
  3014. var i = [],
  3015. n = e.length;
  3016. if(void 0 === t && (t = 20), 1 === n) i = h(e[0], e[0], t);
  3017. else if(n > 1)
  3018. for(var a = 0, o = n - 1; o > a; a++) {
  3019. var r = h(e[a], e[a + 1], t);
  3020. o - 1 > a && r.pop(), i = i.concat(r)
  3021. }
  3022. return i
  3023. }
  3024. function V(e, t) {
  3025. if(t = t || "rgb", e && (3 === e.length || 4 === e.length)) {
  3026. if(e = C(e, function(e) {
  3027. return e > 1 ? Math.ceil(e) : e
  3028. }), t.indexOf("hex") > -1) return "#" + ((1 << 24) + (e[0] << 16) + (e[1] << 8) + +e[2]).toString(16).slice(1);
  3029. if(t.indexOf("hs") > -1) {
  3030. var i = C(e.slice(1, 3), function(e) {
  3031. return e + "%"
  3032. });
  3033. e[1] = i[0], e[2] = i[1]
  3034. }
  3035. return t.indexOf("a") > -1 ? (3 === e.length && e.push(1), e[3] = S(e[3], [0, 1]), t + "(" + e.slice(0, 4).join(",") + ")") : t + "(" + e.slice(0, 3).join(",") + ")"
  3036. }
  3037. }
  3038. function U(e) {
  3039. e = L(e), e.indexOf("rgba") < 0 && (e = p(e));
  3040. var t = [],
  3041. i = 0;
  3042. return e.replace(/[\d.]+/g, function(e) {
  3043. e = 3 > i ? 0 | e : +e, t[i++] = e
  3044. }), t
  3045. }
  3046. function d(e, t) {
  3047. if(!E(e)) return e;
  3048. var i = I(e),
  3049. n = i[3];
  3050. return "undefined" == typeof n && (n = 1), e.indexOf("hsb") > -1 ? i = F(i) : e.indexOf("hsl") > -1 && (i = T(i)), t.indexOf("hsb") > -1 || t.indexOf("hsv") > -1 ? i = A(i) : t.indexOf("hsl") > -1 && (i = M(i)), i[3] = n, V(i, t)
  3051. }
  3052. function p(e) {
  3053. return d(e, "rgba")
  3054. }
  3055. function c(e) {
  3056. return d(e, "rgb")
  3057. }
  3058. function u(e) {
  3059. return d(e, "hex")
  3060. }
  3061. function y(e) {
  3062. return d(e, "hsva")
  3063. }
  3064. function g(e) {
  3065. return d(e, "hsv")
  3066. }
  3067. function b(e) {
  3068. return d(e, "hsba")
  3069. }
  3070. function f(e) {
  3071. return d(e, "hsb")
  3072. }
  3073. function k(e) {
  3074. return d(e, "hsla")
  3075. }
  3076. function x(e) {
  3077. return d(e, "hsl")
  3078. }
  3079. function _(e) {
  3080. for(var t in G)
  3081. if(u(G[t]) === u(e)) return t;
  3082. return null
  3083. }
  3084. function L(e) {
  3085. return String(e).replace(/\s+/g, "")
  3086. }
  3087. function W(e) {
  3088. if(G[e] && (e = G[e]), e = L(e), e = e.replace(/hsv/i, "hsb"), /^#[\da-f]{3}$/i.test(e)) {
  3089. e = parseInt(e.slice(1), 16);
  3090. var t = (3840 & e) << 8,
  3091. i = (240 & e) << 4,
  3092. n = 15 & e;
  3093. e = "#" + ((1 << 24) + (t << 4) + t + (i << 4) + i + (n << 4) + n).toString(16).slice(1)
  3094. }
  3095. return e
  3096. }
  3097. function X(e, t) {
  3098. if(!E(e)) return e;
  3099. var i = t > 0 ? 1 : -1;
  3100. "undefined" == typeof t && (t = 0), t = Math.abs(t) > 1 ? 1 : Math.abs(t), e = c(e);
  3101. for(var n = I(e), a = 0; 3 > a; a++) n[a] = 1 === i ? n[a] * (1 - t) | 0 : (255 - n[a]) * t + n[a] | 0;
  3102. return "rgb(" + n.join(",") + ")"
  3103. }
  3104. function v(e) {
  3105. if(!E(e)) return e;
  3106. var t = I(p(e));
  3107. return t = C(t, function(e) {
  3108. return 255 - e
  3109. }), V(t, "rgb")
  3110. }
  3111. function w(e, t, i) {
  3112. if(!E(e) || !E(t)) return e;
  3113. "undefined" == typeof i && (i = .5), i = 1 - S(i, [0, 1]);
  3114. for(var n = 2 * i - 1, a = I(p(e)), o = I(p(t)), r = a[3] - o[3], s = ((n * r === -1 ? n : (n + r) / (1 + n * r)) + 1) / 2, l = 1 - s, h = [], m = 0; 3 > m; m++) h[m] = a[m] * s + o[m] * l;
  3115. var U = a[3] * i + o[3] * (1 - i);
  3116. return U = Math.max(0, Math.min(1, U)), 1 === a[3] && 1 === o[3] ? V(h, "rgb") : (h[3] = U, V(h, "rgba"))
  3117. }
  3118. function K() {
  3119. return "#" + (Math.random().toString(16) + "0000").slice(2, 8)
  3120. }
  3121. function I(e) {
  3122. e = W(e);
  3123. var t = e.match(R);
  3124. if(null === t) throw new Error("The color format error");
  3125. var i, n, a, o = [];
  3126. if(t[2]) i = t[2].replace("#", "").split(""), a = [i[0] + i[1], i[2] + i[3], i[4] + i[5]], o = C(a, function(e) {
  3127. return S(parseInt(e, 16), [0, 255])
  3128. });
  3129. else if(t[4]) {
  3130. var r = t[4].split(",");
  3131. n = r[3], a = r.slice(0, 3), o = C(a, function(e) {
  3132. return e = Math.floor(e.indexOf("%") > 0 ? 2.55 * parseInt(e, 0) : e), S(e, [0, 255])
  3133. }), "undefined" != typeof n && o.push(S(parseFloat(n), [0, 1]))
  3134. } else if(t[5] || t[6]) {
  3135. var s = (t[5] || t[6]).split(","),
  3136. l = parseInt(s[0], 0) / 360,
  3137. h = s[1],
  3138. m = s[2];
  3139. n = s[3], o = C([h, m], function(e) {
  3140. return S(parseFloat(e) / 100, [0, 1])
  3141. }), o.unshift(l), "undefined" != typeof n && o.push(S(parseFloat(n), [0, 1]))
  3142. }
  3143. return o
  3144. }
  3145. function J(e, t) {
  3146. if(!E(e)) return e;
  3147. null === t && (t = 1);
  3148. var i = I(p(e));
  3149. return i[3] = S(Number(t).toFixed(4), [0, 1]), V(i, "rgba")
  3150. }
  3151. function C(e, t) {
  3152. if("function" != typeof t) throw new TypeError;
  3153. for(var i = e ? e.length : 0, n = 0; i > n; n++) e[n] = t(e[n]);
  3154. return e
  3155. }
  3156. function S(e, t) {
  3157. return e <= t[0] ? e = t[0] : e >= t[1] && (e = t[1]), e
  3158. }
  3159. function E(e) {
  3160. return e instanceof Array || "string" == typeof e
  3161. }
  3162. function F(e) {
  3163. var t, i, n, a = e[0],
  3164. o = e[1],
  3165. r = e[2];
  3166. if(0 === o) t = 255 * r, i = 255 * r, n = 255 * r;
  3167. else {
  3168. var s = 6 * a;
  3169. 6 === s && (s = 0);
  3170. var l = 0 | s,
  3171. h = r * (1 - o),
  3172. m = r * (1 - o * (s - l)),
  3173. V = r * (1 - o * (1 - (s - l))),
  3174. U = 0,
  3175. d = 0,
  3176. p = 0;
  3177. 0 === l ? (U = r, d = V, p = h) : 1 === l ? (U = m, d = r, p = h) : 2 === l ? (U = h, d = r, p = V) : 3 === l ? (U = h, d = m, p = r) : 4 === l ? (U = V, d = h, p = r) : (U = r, d = h, p = m), t = 255 * U, i = 255 * d, n = 255 * p
  3178. }
  3179. return [t, i, n]
  3180. }
  3181. function T(e) {
  3182. var t, i, n, a = e[0],
  3183. o = e[1],
  3184. r = e[2];
  3185. if(0 === o) t = 255 * r, i = 255 * r, n = 255 * r;
  3186. else {
  3187. var s;
  3188. s = .5 > r ? r * (1 + o) : r + o - o * r;
  3189. var l = 2 * r - s;
  3190. t = 255 * z(l, s, a + 1 / 3), i = 255 * z(l, s, a), n = 255 * z(l, s, a - 1 / 3)
  3191. }
  3192. return [t, i, n]
  3193. }
  3194. function z(e, t, i) {
  3195. return 0 > i && (i += 1), i > 1 && (i -= 1), 1 > 6 * i ? e + 6 * (t - e) * i : 1 > 2 * i ? t : 2 > 3 * i ? e + (t - e) * (2 / 3 - i) * 6 : e
  3196. }
  3197. function A(e) {
  3198. var t, i, n = e[0] / 255,
  3199. a = e[1] / 255,
  3200. o = e[2] / 255,
  3201. r = Math.min(n, a, o),
  3202. s = Math.max(n, a, o),
  3203. l = s - r,
  3204. h = s;
  3205. if(0 === l) t = 0, i = 0;
  3206. else {
  3207. i = l / s;
  3208. var m = ((s - n) / 6 + l / 2) / l,
  3209. V = ((s - a) / 6 + l / 2) / l,
  3210. U = ((s - o) / 6 + l / 2) / l;
  3211. n === s ? t = U - V : a === s ? t = 1 / 3 + m - U : o === s && (t = 2 / 3 + V - m), 0 > t && (t += 1), t > 1 && (t -= 1)
  3212. }
  3213. return t = 360 * t, i = 100 * i, h = 100 * h, [t, i, h]
  3214. }
  3215. function M(e) {
  3216. var t, i, n = e[0] / 255,
  3217. a = e[1] / 255,
  3218. o = e[2] / 255,
  3219. r = Math.min(n, a, o),
  3220. s = Math.max(n, a, o),
  3221. l = s - r,
  3222. h = (s + r) / 2;
  3223. if(0 === l) t = 0, i = 0;
  3224. else {
  3225. i = .5 > h ? l / (s + r) : l / (2 - s - r);
  3226. var m = ((s - n) / 6 + l / 2) / l,
  3227. V = ((s - a) / 6 + l / 2) / l,
  3228. U = ((s - o) / 6 + l / 2) / l;
  3229. n === s ? t = U - V : a === s ? t = 1 / 3 + m - U : o === s && (t = 2 / 3 + V - m), 0 > t && (t += 1), t > 1 && (t -= 1)
  3230. }
  3231. return t = 360 * t, i = 100 * i, h = 100 * h, [t, i, h]
  3232. }
  3233. var O, P = e("../tool/util"),
  3234. D = ["#ff9277", " #dddd00", " #ffc877", " #bbe3ff", " #d5ffbb", "#bbbbff", " #ddb000", " #b0dd00", " #e2bbff", " #ffbbe3", "#ff7777", " #ff9900", " #83dd00", " #77e3ff", " #778fff", "#c877ff", " #ff77ab", " #ff6600", " #aa8800", " #77c7ff", "#ad77ff", " #ff77ff", " #dd0083", " #777700", " #00aa00", "#0088aa", " #8400dd", " #aa0088", " #dd0000", " #772e00"],
  3235. N = D,
  3236. B = "rgba(255,255,0,0.5)",
  3237. H = B,
  3238. R = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,
  3239. G = {
  3240. aliceblue: "#f0f8ff",
  3241. antiquewhite: "#faebd7",
  3242. aqua: "#0ff",
  3243. aquamarine: "#7fffd4",
  3244. azure: "#f0ffff",
  3245. beige: "#f5f5dc",
  3246. bisque: "#ffe4c4",
  3247. black: "#000",
  3248. blanchedalmond: "#ffebcd",
  3249. blue: "#00f",
  3250. blueviolet: "#8a2be2",
  3251. brown: "#a52a2a",
  3252. burlywood: "#deb887",
  3253. cadetblue: "#5f9ea0",
  3254. chartreuse: "#7fff00",
  3255. chocolate: "#d2691e",
  3256. coral: "#ff7f50",
  3257. cornflowerblue: "#6495ed",
  3258. cornsilk: "#fff8dc",
  3259. crimson: "#dc143c",
  3260. cyan: "#0ff",
  3261. darkblue: "#00008b",
  3262. darkcyan: "#008b8b",
  3263. darkgoldenrod: "#b8860b",
  3264. darkgray: "#a9a9a9",
  3265. darkgrey: "#a9a9a9",
  3266. darkgreen: "#006400",
  3267. darkkhaki: "#bdb76b",
  3268. darkmagenta: "#8b008b",
  3269. darkolivegreen: "#556b2f",
  3270. darkorange: "#ff8c00",
  3271. darkorchid: "#9932cc",
  3272. darkred: "#8b0000",
  3273. darksalmon: "#e9967a",
  3274. darkseagreen: "#8fbc8f",
  3275. darkslateblue: "#483d8b",
  3276. darkslategray: "#2f4f4f",
  3277. darkslategrey: "#2f4f4f",
  3278. darkturquoise: "#00ced1",
  3279. darkviolet: "#9400d3",
  3280. deeppink: "#ff1493",
  3281. deepskyblue: "#00bfff",
  3282. dimgray: "#696969",
  3283. dimgrey: "#696969",
  3284. dodgerblue: "#1e90ff",
  3285. firebrick: "#b22222",
  3286. floralwhite: "#fffaf0",
  3287. forestgreen: "#228b22",
  3288. fuchsia: "#f0f",
  3289. gainsboro: "#dcdcdc",
  3290. ghostwhite: "#f8f8ff",
  3291. gold: "#ffd700",
  3292. goldenrod: "#daa520",
  3293. gray: "#808080",
  3294. grey: "#808080",
  3295. green: "#008000",
  3296. greenyellow: "#adff2f",
  3297. honeydew: "#f0fff0",
  3298. hotpink: "#ff69b4",
  3299. indianred: "#cd5c5c",
  3300. indigo: "#4b0082",
  3301. ivory: "#fffff0",
  3302. khaki: "#f0e68c",
  3303. lavender: "#e6e6fa",
  3304. lavenderblush: "#fff0f5",
  3305. lawngreen: "#7cfc00",
  3306. lemonchiffon: "#fffacd",
  3307. lightblue: "#add8e6",
  3308. lightcoral: "#f08080",
  3309. lightcyan: "#e0ffff",
  3310. lightgoldenrodyellow: "#fafad2",
  3311. lightgray: "#d3d3d3",
  3312. lightgrey: "#d3d3d3",
  3313. lightgreen: "#90ee90",
  3314. lightpink: "#ffb6c1",
  3315. lightsalmon: "#ffa07a",
  3316. lightseagreen: "#20b2aa",
  3317. lightskyblue: "#87cefa",
  3318. lightslategray: "#789",
  3319. lightslategrey: "#789",
  3320. lightsteelblue: "#b0c4de",
  3321. lightyellow: "#ffffe0",
  3322. lime: "#0f0",
  3323. limegreen: "#32cd32",
  3324. linen: "#faf0e6",
  3325. magenta: "#f0f",
  3326. maroon: "#800000",
  3327. mediumaquamarine: "#66cdaa",
  3328. mediumblue: "#0000cd",
  3329. mediumorchid: "#ba55d3",
  3330. mediumpurple: "#9370d8",
  3331. mediumseagreen: "#3cb371",
  3332. mediumslateblue: "#7b68ee",
  3333. mediumspringgreen: "#00fa9a",
  3334. mediumturquoise: "#48d1cc",
  3335. mediumvioletred: "#c71585",
  3336. midnightblue: "#191970",
  3337. mintcream: "#f5fffa",
  3338. mistyrose: "#ffe4e1",
  3339. moccasin: "#ffe4b5",
  3340. navajowhite: "#ffdead",
  3341. navy: "#000080",
  3342. oldlace: "#fdf5e6",
  3343. olive: "#808000",
  3344. olivedrab: "#6b8e23",
  3345. orange: "#ffa500",
  3346. orangered: "#ff4500",
  3347. orchid: "#da70d6",
  3348. palegoldenrod: "#eee8aa",
  3349. palegreen: "#98fb98",
  3350. paleturquoise: "#afeeee",
  3351. palevioletred: "#d87093",
  3352. papayawhip: "#ffefd5",
  3353. peachpuff: "#ffdab9",
  3354. peru: "#cd853f",
  3355. pink: "#ffc0cb",
  3356. plum: "#dda0dd",
  3357. powderblue: "#b0e0e6",
  3358. purple: "#800080",
  3359. red: "#f00",
  3360. rosybrown: "#bc8f8f",
  3361. royalblue: "#4169e1",
  3362. saddlebrown: "#8b4513",
  3363. salmon: "#fa8072",
  3364. sandybrown: "#f4a460",
  3365. seagreen: "#2e8b57",
  3366. seashell: "#fff5ee",
  3367. sienna: "#a0522d",
  3368. silver: "#c0c0c0",
  3369. skyblue: "#87ceeb",
  3370. slateblue: "#6a5acd",
  3371. slategray: "#708090",
  3372. slategrey: "#708090",
  3373. snow: "#fffafa",
  3374. springgreen: "#00ff7f",
  3375. steelblue: "#4682b4",
  3376. tan: "#d2b48c",
  3377. teal: "#008080",
  3378. thistle: "#d8bfd8",
  3379. tomato: "#ff6347",
  3380. turquoise: "#40e0d0",
  3381. violet: "#ee82ee",
  3382. wheat: "#f5deb3",
  3383. white: "#fff",
  3384. whitesmoke: "#f5f5f5",
  3385. yellow: "#ff0",
  3386. yellowgreen: "#9acd32"
  3387. };
  3388. return {
  3389. customPalette: t,
  3390. resetPalette: i,
  3391. getColor: n,
  3392. getHighlightColor: r,
  3393. customHighlight: a,
  3394. resetHighlight: o,
  3395. getRadialGradient: s,
  3396. getLinearGradient: l,
  3397. getGradientColors: m,
  3398. getStepColors: h,
  3399. reverse: v,
  3400. mix: w,
  3401. lift: X,
  3402. trim: L,
  3403. random: K,
  3404. toRGB: c,
  3405. toRGBA: p,
  3406. toHex: u,
  3407. toHSL: x,
  3408. toHSLA: k,
  3409. toHSB: f,
  3410. toHSBA: b,
  3411. toHSV: g,
  3412. toHSVA: y,
  3413. toName: _,
  3414. toColor: V,
  3415. toArray: U,
  3416. alpha: J,
  3417. getData: I
  3418. }
  3419. }), i("echarts/component/timeline", ["require", "./base", "zrender/shape/Rectangle", "../util/shape/Icon", "../util/shape/Chain", "../config", "zrender/tool/util", "zrender/tool/area", "zrender/tool/event", "../component"], function(e) {
  3420. function t(e, t, i, a, o) {
  3421. n.call(this, e, t, i, a, o);
  3422. var r = this;
  3423. if(r._onclick = function(e) {
  3424. return r.__onclick(e)
  3425. }, r._ondrift = function(e, t) {
  3426. return r.__ondrift(this, e, t)
  3427. }, r._ondragend = function() {
  3428. return r.__ondragend()
  3429. }, r._setCurrentOption = function() {
  3430. var e = r.timelineOption;
  3431. r.currentIndex %= e.data.length;
  3432. var t = r.options[r.currentIndex] || {};
  3433. r.myChart._setOption(t, e.notMerge, !0), r.messageCenter.dispatch(s.EVENT.TIMELINE_CHANGED, null, {
  3434. currentIndex: r.currentIndex,
  3435. data: null != e.data[r.currentIndex].name ? e.data[r.currentIndex].name : e.data[r.currentIndex]
  3436. }, r.myChart)
  3437. }, r._onFrame = function() {
  3438. r._setCurrentOption(), r._syncHandleShape(), r.timelineOption.autoPlay && (r.playTicket = setTimeout(function() {
  3439. return r.currentIndex += 1, !r.timelineOption.loop && r.currentIndex >= r.timelineOption.data.length ? (r.currentIndex = r.timelineOption.data.length - 1, void r.stop()) : void r._onFrame()
  3440. }, r.timelineOption.playInterval))
  3441. }, this.setTheme(!1), this.options = this.option.options, this.currentIndex = this.timelineOption.currentIndex % this.timelineOption.data.length, this.timelineOption.notMerge || 0 === this.currentIndex || (this.options[this.currentIndex] = l.merge(this.options[this.currentIndex], this.options[0])), this.timelineOption.show && (this._buildShape(), this._syncHandleShape()), this._setCurrentOption(), this.timelineOption.autoPlay) {
  3442. var r = this;
  3443. this.playTicket = setTimeout(function() {
  3444. r.play()
  3445. }, null != this.ecTheme.animationDuration ? this.ecTheme.animationDuration : s.animationDuration)
  3446. }
  3447. }
  3448. function i(e, t) {
  3449. var i = 2,
  3450. n = t.x + i,
  3451. a = t.y + i + 2,
  3452. r = t.width - i,
  3453. s = t.height - i,
  3454. l = t.symbol;
  3455. if("last" === l) e.moveTo(n + r - 2, a + s / 3), e.lineTo(n + r - 2, a), e.lineTo(n + 2, a + s / 2), e.lineTo(n + r - 2, a + s), e.lineTo(n + r - 2, a + s / 3 * 2), e.moveTo(n, a), e.lineTo(n, a);
  3456. else if("next" === l) e.moveTo(n + 2, a + s / 3), e.lineTo(n + 2, a), e.lineTo(n + r - 2, a + s / 2), e.lineTo(n + 2, a + s), e.lineTo(n + 2, a + s / 3 * 2), e.moveTo(n, a), e.lineTo(n, a);
  3457. else if("play" === l)
  3458. if("stop" === t.status) e.moveTo(n + 2, a), e.lineTo(n + r - 2, a + s / 2), e.lineTo(n + 2, a + s), e.lineTo(n + 2, a);
  3459. else {
  3460. var h = "both" === t.brushType ? 2 : 3;
  3461. e.rect(n + 2, a, h, s), e.rect(n + r - h - 2, a, h, s)
  3462. }
  3463. else if(l.match("image")) {
  3464. var m = "";
  3465. m = l.replace(new RegExp("^image:\\/\\/"), ""), l = o.prototype.iconLibrary.image, l(e, {
  3466. x: n,
  3467. y: a,
  3468. width: r,
  3469. height: s,
  3470. image: m
  3471. })
  3472. }
  3473. }
  3474. var n = e("./base"),
  3475. a = e("zrender/shape/Rectangle"),
  3476. o = e("../util/shape/Icon"),
  3477. r = e("../util/shape/Chain"),
  3478. s = e("../config");
  3479. s.timeline = {
  3480. zlevel: 0,
  3481. z: 4,
  3482. show: !0,
  3483. type: "time",
  3484. notMerge: !1,
  3485. realtime: !0,
  3486. x: 80,
  3487. x2: 80,
  3488. y2: 0,
  3489. height: 50,
  3490. backgroundColor: "rgba(0,0,0,0)",
  3491. borderColor: "#ccc",
  3492. borderWidth: 0,
  3493. padding: 5,
  3494. controlPosition: "left",
  3495. autoPlay: !1,
  3496. loop: !0,
  3497. playInterval: 2e3,
  3498. lineStyle: {
  3499. width: 1,
  3500. color: "#666",
  3501. type: "dashed"
  3502. },
  3503. label: {
  3504. show: !0,
  3505. interval: "auto",
  3506. rotate: 0,
  3507. textStyle: {
  3508. color: "#333"
  3509. }
  3510. },
  3511. checkpointStyle: {
  3512. symbol: "auto",
  3513. symbolSize: "auto",
  3514. color: "auto",
  3515. borderColor: "auto",
  3516. borderWidth: "auto",
  3517. label: {
  3518. show: !1,
  3519. textStyle: {
  3520. color: "auto"
  3521. }
  3522. }
  3523. },
  3524. controlStyle: {
  3525. itemSize: 15,
  3526. itemGap: 5,
  3527. normal: {
  3528. color: "#333"
  3529. },
  3530. emphasis: {
  3531. color: "#1e90ff"
  3532. }
  3533. },
  3534. symbol: "emptyDiamond",
  3535. symbolSize: 4,
  3536. currentIndex: 0
  3537. };
  3538. var l = e("zrender/tool/util"),
  3539. h = e("zrender/tool/area"),
  3540. m = e("zrender/tool/event");
  3541. return t.prototype = {
  3542. type: s.COMPONENT_TYPE_TIMELINE,
  3543. _buildShape: function() {
  3544. if(this._location = this._getLocation(), this._buildBackground(), this._buildControl(), this._chainPoint = this._getChainPoint(), this.timelineOption.label.show)
  3545. for(var e = this._getInterval(), t = 0, i = this._chainPoint.length; i > t; t += e) this._chainPoint[t].showLabel = !0;
  3546. this._buildChain(), this._buildHandle();
  3547. for(var t = 0, n = this.shapeList.length; n > t; t++) this.zr.addShape(this.shapeList[t])
  3548. },
  3549. _getLocation: function() {
  3550. var e, t = this.timelineOption,
  3551. i = this.reformCssArray(this.timelineOption.padding),
  3552. n = this.zr.getWidth(),
  3553. a = this.parsePercent(t.x, n),
  3554. o = this.parsePercent(t.x2, n);
  3555. null == t.width ? (e = n - a - o, o = n - o) : (e = this.parsePercent(t.width, n), o = a + e);
  3556. var r, s, l = this.zr.getHeight(),
  3557. h = this.parsePercent(t.height, l);
  3558. return null != t.y ? (r = this.parsePercent(t.y, l), s = r + h) : (s = l - this.parsePercent(t.y2, l), r = s - h), {
  3559. x: a + i[3],
  3560. y: r + i[0],
  3561. x2: o - i[1],
  3562. y2: s - i[2],
  3563. width: e - i[1] - i[3],
  3564. height: h - i[0] - i[2]
  3565. }
  3566. },
  3567. _getReformedLabel: function(e) {
  3568. var t = this.timelineOption,
  3569. i = null != t.data[e].name ? t.data[e].name : t.data[e],
  3570. n = t.data[e].formatter || t.label.formatter;
  3571. return n && ("function" == typeof n ? i = n.call(this.myChart, i) : "string" == typeof n && (i = n.replace("{value}", i))), i
  3572. },
  3573. _getInterval: function() {
  3574. var e = this._chainPoint,
  3575. t = this.timelineOption,
  3576. i = t.label.interval;
  3577. if("auto" === i) {
  3578. var n = t.label.textStyle.fontSize,
  3579. a = t.data,
  3580. o = t.data.length;
  3581. if(o > 3) {
  3582. var r, s, l = !1;
  3583. for(i = 0; !l && o > i;) {
  3584. i++, l = !0;
  3585. for(var m = i; o > m; m += i) {
  3586. if(r = e[m].x - e[m - i].x, 0 !== t.label.rotate) s = n;
  3587. else if(a[m].textStyle) s = h.getTextWidth(e[m].name, e[m].textFont);
  3588. else {
  3589. var V = e[m].name + "",
  3590. U = (V.match(/\w/g) || "").length,
  3591. d = V.length - U;
  3592. s = U * n * 2 / 3 + d * n
  3593. }
  3594. if(s > r) {
  3595. l = !1;
  3596. break
  3597. }
  3598. }
  3599. }
  3600. } else i = 1
  3601. } else i = i - 0 + 1;
  3602. return i
  3603. },
  3604. _getChainPoint: function() {
  3605. function e(e) {
  3606. return null != h[e].name ? h[e].name : h[e] + ""
  3607. }
  3608. var t, i = this.timelineOption,
  3609. n = i.symbol.toLowerCase(),
  3610. a = i.symbolSize,
  3611. o = i.label.rotate,
  3612. r = i.label.textStyle,
  3613. s = this.getFont(r),
  3614. h = i.data,
  3615. m = this._location.x,
  3616. V = this._location.y + this._location.height / 4 * 3,
  3617. U = this._location.x2 - this._location.x,
  3618. d = h.length,
  3619. p = [];
  3620. if(d > 1) {
  3621. var c = U / d;
  3622. if(c = c > 50 ? 50 : 20 > c ? 5 : c, U -= 2 * c, "number" === i.type)
  3623. for(var u = 0; d > u; u++) p.push(m + c + U / (d - 1) * u);
  3624. else {
  3625. p[0] = new Date(e(0).replace(/-/g, "/")), p[d - 1] = new Date(e(d - 1).replace(/-/g, "/")) - p[0];
  3626. for(var u = 1; d > u; u++) p[u] = m + c + U * (new Date(e(u).replace(/-/g, "/")) - p[0]) / p[d - 1];
  3627. p[0] = m + c
  3628. }
  3629. } else p.push(m + U / 2);
  3630. for(var y, g, b, f, k, x = [], u = 0; d > u; u++) m = p[u], y = h[u].symbol && h[u].symbol.toLowerCase() || n, y.match("empty") ? (y = y.replace("empty", ""), b = !0) : b = !1, y.match("star") && (g = y.replace("star", "") - 0 || 5, y = "star"), t = h[u].textStyle ? l.merge(h[u].textStyle || {}, r) : r, f = t.align || "center", o ? (f = o > 0 ? "right" : "left", k = [o * Math.PI / 180, m, V - 5]) : k = !1, x.push({
  3631. x: m,
  3632. n: g,
  3633. isEmpty: b,
  3634. symbol: y,
  3635. symbolSize: h[u].symbolSize || a,
  3636. color: h[u].color,
  3637. borderColor: h[u].borderColor,
  3638. borderWidth: h[u].borderWidth,
  3639. name: this._getReformedLabel(u),
  3640. textColor: t.color,
  3641. textAlign: f,
  3642. textBaseline: t.baseline || "middle",
  3643. textX: m,
  3644. textY: V - (o ? 5 : 0),
  3645. textFont: h[u].textStyle ? this.getFont(t) : s,
  3646. rotation: k,
  3647. showLabel: !1
  3648. });
  3649. return x
  3650. },
  3651. _buildBackground: function() {
  3652. var e = this.timelineOption,
  3653. t = this.reformCssArray(this.timelineOption.padding),
  3654. i = this._location.width,
  3655. n = this._location.height;
  3656. (0 !== e.borderWidth || "rgba(0,0,0,0)" != e.backgroundColor.replace(/\s/g, "")) && this.shapeList.push(new a({
  3657. zlevel: this.getZlevelBase(),
  3658. z: this.getZBase(),
  3659. hoverable: !1,
  3660. style: {
  3661. x: this._location.x - t[3],
  3662. y: this._location.y - t[0],
  3663. width: i + t[1] + t[3],
  3664. height: n + t[0] + t[2],
  3665. brushType: 0 === e.borderWidth ? "fill" : "both",
  3666. color: e.backgroundColor,
  3667. strokeColor: e.borderColor,
  3668. lineWidth: e.borderWidth
  3669. }
  3670. }))
  3671. },
  3672. _buildControl: function() {
  3673. var e = this,
  3674. t = this.timelineOption,
  3675. i = t.lineStyle,
  3676. n = t.controlStyle;
  3677. if("none" !== t.controlPosition) {
  3678. var a, r = n.itemSize,
  3679. s = n.itemGap;
  3680. "left" === t.controlPosition ? (a = this._location.x, this._location.x += 3 * (r + s)) : (a = this._location.x2 - (3 * (r + s) - s), this._location.x2 -= 3 * (r + s));
  3681. var h = this._location.y,
  3682. m = {
  3683. zlevel: this.getZlevelBase(),
  3684. z: this.getZBase() + 1,
  3685. style: {
  3686. iconType: "timelineControl",
  3687. symbol: "last",
  3688. x: a,
  3689. y: h,
  3690. width: r,
  3691. height: r,
  3692. brushType: "stroke",
  3693. color: n.normal.color,
  3694. strokeColor: n.normal.color,
  3695. lineWidth: i.width
  3696. },
  3697. highlightStyle: {
  3698. color: n.emphasis.color,
  3699. strokeColor: n.emphasis.color,
  3700. lineWidth: i.width + 1
  3701. },
  3702. clickable: !0
  3703. };
  3704. this._ctrLastShape = new o(m), this._ctrLastShape.onclick = function() {
  3705. e.last()
  3706. }, this.shapeList.push(this._ctrLastShape), a += r + s, this._ctrPlayShape = new o(l.clone(m)), this._ctrPlayShape.style.brushType = "fill", this._ctrPlayShape.style.symbol = "play", this._ctrPlayShape.style.status = this.timelineOption.autoPlay ? "playing" : "stop", this._ctrPlayShape.style.x = a, this._ctrPlayShape.onclick = function() {
  3707. "stop" === e._ctrPlayShape.style.status ? e.play() : e.stop()
  3708. }, this.shapeList.push(this._ctrPlayShape), a += r + s, this._ctrNextShape = new o(l.clone(m)), this._ctrNextShape.style.symbol = "next", this._ctrNextShape.style.x = a, this._ctrNextShape.onclick = function() {
  3709. e.next()
  3710. }, this.shapeList.push(this._ctrNextShape)
  3711. }
  3712. },
  3713. _buildChain: function() {
  3714. var e = this.timelineOption,
  3715. t = e.lineStyle;
  3716. this._timelineShae = {
  3717. zlevel: this.getZlevelBase(),
  3718. z: this.getZBase(),
  3719. style: {
  3720. x: this._location.x,
  3721. y: this.subPixelOptimize(this._location.y, t.width),
  3722. width: this._location.x2 - this._location.x,
  3723. height: this._location.height,
  3724. chainPoint: this._chainPoint,
  3725. brushType: "both",
  3726. strokeColor: t.color,
  3727. lineWidth: t.width,
  3728. lineType: t.type
  3729. },
  3730. hoverable: !1,
  3731. clickable: !0,
  3732. onclick: this._onclick
  3733. }, this._timelineShae = new r(this._timelineShae), this.shapeList.push(this._timelineShae)
  3734. },
  3735. _buildHandle: function() {
  3736. var e = this._chainPoint[this.currentIndex],
  3737. t = e.symbolSize + 1;
  3738. t = 5 > t ? 5 : t, this._handleShape = {
  3739. zlevel: this.getZlevelBase(),
  3740. z: this.getZBase() + 1,
  3741. hoverable: !1,
  3742. draggable: !0,
  3743. style: {
  3744. iconType: "diamond",
  3745. n: e.n,
  3746. x: e.x - t,
  3747. y: this._location.y + this._location.height / 4 - t,
  3748. width: 2 * t,
  3749. height: 2 * t,
  3750. brushType: "both",
  3751. textPosition: "specific",
  3752. textX: e.x,
  3753. textY: this._location.y - this._location.height / 4,
  3754. textAlign: "center",
  3755. textBaseline: "middle"
  3756. },
  3757. highlightStyle: {},
  3758. ondrift: this._ondrift,
  3759. ondragend: this._ondragend
  3760. }, this._handleShape = new o(this._handleShape), this.shapeList.push(this._handleShape)
  3761. },
  3762. _syncHandleShape: function() {
  3763. if(this.timelineOption.show) {
  3764. var e = this.timelineOption,
  3765. t = e.checkpointStyle,
  3766. i = this._chainPoint[this.currentIndex];
  3767. this._handleShape.style.text = t.label.show ? i.name : "", this._handleShape.style.textFont = i.textFont, this._handleShape.style.n = i.n, "auto" === t.symbol ? this._handleShape.style.iconType = "none" != i.symbol ? i.symbol : "diamond" : (this._handleShape.style.iconType = t.symbol, t.symbol.match("star") && (this._handleShape.style.n = t.symbol.replace("star", "") - 0 || 5, this._handleShape.style.iconType = "star"));
  3768. var n;
  3769. "auto" === t.symbolSize ? (n = i.symbolSize + 2, n = 5 > n ? 5 : n) : n = t.symbolSize - 0, this._handleShape.style.color = "auto" === t.color ? i.color ? i.color : e.controlStyle.emphasis.color : t.color, this._handleShape.style.textColor = "auto" === t.label.textStyle.color ? this._handleShape.style.color : t.label.textStyle.color, this._handleShape.highlightStyle.strokeColor = this._handleShape.style.strokeColor = "auto" === t.borderColor ? i.borderColor ? i.borderColor : "#fff" : t.borderColor, this._handleShape.style.lineWidth = "auto" === t.borderWidth ? i.borderWidth ? i.borderWidth : 0 : t.borderWidth - 0, this._handleShape.highlightStyle.lineWidth = this._handleShape.style.lineWidth + 1, this.zr.animate(this._handleShape.id, "style").when(500, {
  3770. x: i.x - n,
  3771. textX: i.x,
  3772. y: this._location.y + this._location.height / 4 - n,
  3773. width: 2 * n,
  3774. height: 2 * n
  3775. }).start("ExponentialOut")
  3776. }
  3777. },
  3778. _findChainIndex: function(e) {
  3779. var t = this._chainPoint,
  3780. i = t.length;
  3781. if(e <= t[0].x) return 0;
  3782. if(e >= t[i - 1].x) return i - 1;
  3783. for(var n = 0; i - 1 > n; n++)
  3784. if(e >= t[n].x && e <= t[n + 1].x) return Math.abs(e - t[n].x) < Math.abs(e - t[n + 1].x) ? n : n + 1
  3785. },
  3786. __onclick: function(e) {
  3787. var t = m.getX(e.event),
  3788. i = this._findChainIndex(t);
  3789. return i === this.currentIndex ? !0 : (this.currentIndex = i, this.timelineOption.autoPlay && this.stop(), clearTimeout(this.playTicket), void this._onFrame())
  3790. },
  3791. __ondrift: function(e, t) {
  3792. this.timelineOption.autoPlay && this.stop();
  3793. var i, n = this._chainPoint,
  3794. a = n.length;
  3795. e.style.x + t <= n[0].x - n[0].symbolSize ? (e.style.x = n[0].x - n[0].symbolSize, i = 0) : e.style.x + t >= n[a - 1].x - n[a - 1].symbolSize ? (e.style.x = n[a - 1].x - n[a - 1].symbolSize, i = a - 1) : (e.style.x += t, i = this._findChainIndex(e.style.x));
  3796. var o = n[i],
  3797. r = o.symbolSize + 2;
  3798. if(e.style.iconType = o.symbol, e.style.n = o.n, e.style.textX = e.style.x + r / 2, e.style.y = this._location.y + this._location.height / 4 - r, e.style.width = 2 * r, e.style.height = 2 * r, e.style.text = o.name, i === this.currentIndex) return !0;
  3799. if(this.currentIndex = i, this.timelineOption.realtime) {
  3800. clearTimeout(this.playTicket);
  3801. var s = this;
  3802. this.playTicket = setTimeout(function() {
  3803. s._setCurrentOption()
  3804. }, 200)
  3805. }
  3806. return !0
  3807. },
  3808. __ondragend: function() {
  3809. this.isDragend = !0
  3810. },
  3811. ondragend: function(e, t) {
  3812. this.isDragend && e.target && (!this.timelineOption.realtime && this._setCurrentOption(), t.dragOut = !0, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1, this._syncHandleShape())
  3813. },
  3814. last: function() {
  3815. return this.timelineOption.autoPlay && this.stop(), this.currentIndex -= 1, this.currentIndex < 0 && (this.currentIndex = this.timelineOption.data.length - 1), this._onFrame(), this.currentIndex
  3816. },
  3817. next: function() {
  3818. return this.timelineOption.autoPlay && this.stop(), this.currentIndex += 1, this.currentIndex >= this.timelineOption.data.length && (this.currentIndex = 0), this._onFrame(), this.currentIndex
  3819. },
  3820. play: function(e, t) {
  3821. return this._ctrPlayShape && "playing" != this._ctrPlayShape.style.status && (this._ctrPlayShape.style.status = "playing", this.zr.modShape(this._ctrPlayShape.id), this.zr.refreshNextFrame()), this.timelineOption.autoPlay = null != t ? t : !0, this.timelineOption.autoPlay || clearTimeout(this.playTicket), this.currentIndex = null != e ? e : this.currentIndex + 1, this.currentIndex >= this.timelineOption.data.length && (this.currentIndex = 0), this._onFrame(), this.currentIndex
  3822. },
  3823. stop: function() {
  3824. return this._ctrPlayShape && "stop" != this._ctrPlayShape.style.status && (this._ctrPlayShape.style.status = "stop", this.zr.modShape(this._ctrPlayShape.id), this.zr.refreshNextFrame()), this.timelineOption.autoPlay = !1, clearTimeout(this.playTicket), this.currentIndex
  3825. },
  3826. resize: function() {
  3827. this.timelineOption.show && (this.clear(), this._buildShape(), this._syncHandleShape())
  3828. },
  3829. setTheme: function(e) {
  3830. this.timelineOption = this.reformOption(l.clone(this.option.timeline)), this.timelineOption.label.textStyle = this.getTextStyle(this.timelineOption.label.textStyle), this.timelineOption.checkpointStyle.label.textStyle = this.getTextStyle(this.timelineOption.checkpointStyle.label.textStyle), this.myChart.canvasSupported || (this.timelineOption.realtime = !1), this.timelineOption.show && e && (this.clear(), this._buildShape(), this._syncHandleShape())
  3831. },
  3832. onbeforDispose: function() {
  3833. clearTimeout(this.playTicket)
  3834. }
  3835. }, o.prototype.iconLibrary.timelineControl = i, l.inherits(t, n), e("../component").define("timeline", t), t
  3836. }), i("zrender/shape/Image", ["require", "./Base", "../tool/util"], function(e) {
  3837. var t = e("./Base"),
  3838. i = function(e) {
  3839. t.call(this, e)
  3840. };
  3841. return i.prototype = {
  3842. type: "image",
  3843. brush: function(e, t, i) {
  3844. var n = this.style || {};
  3845. t && (n = this.getHighlightStyle(n, this.highlightStyle || {}));
  3846. var a = n.image,
  3847. o = this;
  3848. if(this._imageCache || (this._imageCache = {}), "string" == typeof a) {
  3849. var r = a;
  3850. this._imageCache[r] ? a = this._imageCache[r] : (a = new Image, a.onload = function() {
  3851. a.onload = null, o.modSelf(), i()
  3852. }, a.src = r, this._imageCache[r] = a)
  3853. }
  3854. if(a) {
  3855. if("IMG" == a.nodeName.toUpperCase())
  3856. if(window.ActiveXObject) {
  3857. if("complete" != a.readyState) return
  3858. } else if(!a.complete) return;
  3859. var s = n.width || a.width,
  3860. l = n.height || a.height,
  3861. h = n.x,
  3862. m = n.y;
  3863. if(!a.width || !a.height) return;
  3864. if(e.save(), this.doClip(e), this.setContext(e, n), this.setTransform(e), n.sWidth && n.sHeight) {
  3865. var V = n.sx || 0,
  3866. U = n.sy || 0;
  3867. e.drawImage(a, V, U, n.sWidth, n.sHeight, h, m, s, l)
  3868. } else if(n.sx && n.sy) {
  3869. var V = n.sx,
  3870. U = n.sy,
  3871. d = s - V,
  3872. p = l - U;
  3873. e.drawImage(a, V, U, d, p, h, m, s, l)
  3874. } else e.drawImage(a, h, m, s, l);
  3875. n.width || (n.width = s), n.height || (n.height = l), this.style.width || (this.style.width = s), this.style.height || (this.style.height = l), this.drawText(e, n, this.style), e.restore()
  3876. }
  3877. },
  3878. getRect: function(e) {
  3879. return {
  3880. x: e.x,
  3881. y: e.y,
  3882. width: e.width,
  3883. height: e.height
  3884. }
  3885. },
  3886. clearCache: function() {
  3887. this._imageCache = {}
  3888. }
  3889. }, e("../tool/util").inherits(i, t), i
  3890. }), i("zrender/loadingEffect/Bar", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Rectangle"], function(e) {
  3891. function t(e) {
  3892. i.call(this, e)
  3893. }
  3894. var i = e("./Base"),
  3895. n = e("../tool/util"),
  3896. a = e("../tool/color"),
  3897. o = e("../shape/Rectangle");
  3898. return n.inherits(t, i), t.prototype._start = function(e, t) {
  3899. var i = n.merge(this.options, {
  3900. textStyle: {
  3901. color: "#888"
  3902. },
  3903. backgroundColor: "rgba(250, 250, 250, 0.8)",
  3904. effectOption: {
  3905. x: 0,
  3906. y: this.canvasHeight / 2 - 30,
  3907. width: this.canvasWidth,
  3908. height: 5,
  3909. brushType: "fill",
  3910. timeInterval: 100
  3911. }
  3912. }),
  3913. r = this.createTextShape(i.textStyle),
  3914. s = this.createBackgroundShape(i.backgroundColor),
  3915. l = i.effectOption,
  3916. h = new o({
  3917. highlightStyle: n.clone(l)
  3918. });
  3919. return h.highlightStyle.color = l.color || a.getLinearGradient(l.x, l.y, l.x + l.width, l.y + l.height, [
  3920. [0, "#ff6400"],
  3921. [.5, "#ffe100"],
  3922. [1, "#b1ff00"]
  3923. ]), null != i.progress ? (e(s), h.highlightStyle.width = this.adjust(i.progress, [0, 1]) * i.effectOption.width, e(h), e(r), void t()) : (h.highlightStyle.width = 0, setInterval(function() {
  3924. e(s), h.highlightStyle.width < l.width ? h.highlightStyle.width += 8 : h.highlightStyle.width = 0, e(h), e(r), t()
  3925. }, l.timeInterval))
  3926. }, t
  3927. }), i("zrender/loadingEffect/Bubble", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Circle"], function(e) {
  3928. function t(e) {
  3929. i.call(this, e)
  3930. }
  3931. var i = e("./Base"),
  3932. n = e("../tool/util"),
  3933. a = e("../tool/color"),
  3934. o = e("../shape/Circle");
  3935. return n.inherits(t, i), t.prototype._start = function(e, t) {
  3936. for(var i = n.merge(this.options, {
  3937. textStyle: {
  3938. color: "#888"
  3939. },
  3940. backgroundColor: "rgba(250, 250, 250, 0.8)",
  3941. effect: {
  3942. n: 50,
  3943. lineWidth: 2,
  3944. brushType: "stroke",
  3945. color: "random",
  3946. timeInterval: 100
  3947. }
  3948. }), r = this.createTextShape(i.textStyle), s = this.createBackgroundShape(i.backgroundColor), l = i.effect, h = l.n, m = l.brushType, V = l.lineWidth, U = [], d = this.canvasWidth, p = this.canvasHeight, c = 0; h > c; c++) {
  3949. var u = "random" == l.color ? a.alpha(a.random(), .3) : l.color;
  3950. U[c] = new o({
  3951. highlightStyle: {
  3952. x: Math.ceil(Math.random() * d),
  3953. y: Math.ceil(Math.random() * p),
  3954. r: Math.ceil(40 * Math.random()),
  3955. brushType: m,
  3956. color: u,
  3957. strokeColor: u,
  3958. lineWidth: V
  3959. },
  3960. animationY: Math.ceil(20 * Math.random())
  3961. })
  3962. }
  3963. return setInterval(function() {
  3964. e(s);
  3965. for(var i = 0; h > i; i++) {
  3966. var n = U[i].highlightStyle;
  3967. n.y - U[i].animationY + n.r <= 0 && (U[i].highlightStyle.y = p + n.r, U[i].highlightStyle.x = Math.ceil(Math.random() * d)), U[i].highlightStyle.y -= U[i].animationY, e(U[i])
  3968. }
  3969. e(r), t()
  3970. }, l.timeInterval)
  3971. }, t
  3972. }), i("zrender/loadingEffect/DynamicLine", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Line"], function(e) {
  3973. function t(e) {
  3974. i.call(this, e)
  3975. }
  3976. var i = e("./Base"),
  3977. n = e("../tool/util"),
  3978. a = e("../tool/color"),
  3979. o = e("../shape/Line");
  3980. return n.inherits(t, i), t.prototype._start = function(e, t) {
  3981. for(var i = n.merge(this.options, {
  3982. textStyle: {
  3983. color: "#fff"
  3984. },
  3985. backgroundColor: "rgba(0, 0, 0, 0.8)",
  3986. effectOption: {
  3987. n: 30,
  3988. lineWidth: 1,
  3989. color: "random",
  3990. timeInterval: 100
  3991. }
  3992. }), r = this.createTextShape(i.textStyle), s = this.createBackgroundShape(i.backgroundColor), l = i.effectOption, h = l.n, m = l.lineWidth, V = [], U = this.canvasWidth, d = this.canvasHeight, p = 0; h > p; p++) {
  3993. var c = -Math.ceil(1e3 * Math.random()),
  3994. u = Math.ceil(400 * Math.random()),
  3995. y = Math.ceil(Math.random() * d),
  3996. g = "random" == l.color ? a.random() : l.color;
  3997. V[p] = new o({
  3998. highlightStyle: {
  3999. xStart: c,
  4000. yStart: y,
  4001. xEnd: c + u,
  4002. yEnd: y,
  4003. strokeColor: g,
  4004. lineWidth: m
  4005. },
  4006. animationX: Math.ceil(100 * Math.random()),
  4007. len: u
  4008. })
  4009. }
  4010. return setInterval(function() {
  4011. e(s);
  4012. for(var i = 0; h > i; i++) {
  4013. var n = V[i].highlightStyle;
  4014. n.xStart >= U && (V[i].len = Math.ceil(400 * Math.random()), n.xStart = -400, n.xEnd = -400 + V[i].len, n.yStart = Math.ceil(Math.random() * d), n.yEnd = n.yStart), n.xStart += V[i].animationX, n.xEnd += V[i].animationX, e(V[i])
  4015. }
  4016. e(r), t()
  4017. }, l.timeInterval)
  4018. }, t
  4019. }), i("zrender/loadingEffect/Ring", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Ring", "../shape/Sector"], function(e) {
  4020. function t(e) {
  4021. i.call(this, e)
  4022. }
  4023. var i = e("./Base"),
  4024. n = e("../tool/util"),
  4025. a = e("../tool/color"),
  4026. o = e("../shape/Ring"),
  4027. r = e("../shape/Sector");
  4028. return n.inherits(t, i), t.prototype._start = function(e, t) {
  4029. var i = n.merge(this.options, {
  4030. textStyle: {
  4031. color: "#07a"
  4032. },
  4033. backgroundColor: "rgba(250, 250, 250, 0.8)",
  4034. effect: {
  4035. x: this.canvasWidth / 2,
  4036. y: this.canvasHeight / 2,
  4037. r0: 60,
  4038. r: 100,
  4039. color: "#bbdcff",
  4040. brushType: "fill",
  4041. textPosition: "inside",
  4042. textFont: "normal 30px verdana",
  4043. textColor: "rgba(30, 144, 255, 0.6)",
  4044. timeInterval: 100
  4045. }
  4046. }),
  4047. s = i.effect,
  4048. l = i.textStyle;
  4049. null == l.x && (l.x = s.x), null == l.y && (l.y = s.y + (s.r0 + s.r) / 2 - 5);
  4050. for(var h = this.createTextShape(i.textStyle), m = this.createBackgroundShape(i.backgroundColor), V = s.x, U = s.y, d = s.r0 + 6, p = s.r - 6, c = s.color, u = a.lift(c, .1), y = new o({
  4051. highlightStyle: n.clone(s)
  4052. }), g = [], b = a.getGradientColors(["#ff6400", "#ffe100", "#97ff00"], 25), f = 15, k = 240, x = 0; 16 > x; x++) g.push(new r({
  4053. highlightStyle: {
  4054. x: V,
  4055. y: U,
  4056. r0: d,
  4057. r: p,
  4058. startAngle: k - f,
  4059. endAngle: k,
  4060. brushType: "fill",
  4061. color: u
  4062. },
  4063. _color: a.getLinearGradient(V + d * Math.cos(k, !0), U - d * Math.sin(k, !0), V + d * Math.cos(k - f, !0), U - d * Math.sin(k - f, !0), [
  4064. [0, b[2 * x]],
  4065. [1, b[2 * x + 1]]
  4066. ])
  4067. })), k -= f;
  4068. k = 360;
  4069. for(var x = 0; 4 > x; x++) g.push(new r({
  4070. highlightStyle: {
  4071. x: V,
  4072. y: U,
  4073. r0: d,
  4074. r: p,
  4075. startAngle: k - f,
  4076. endAngle: k,
  4077. brushType: "fill",
  4078. color: u
  4079. },
  4080. _color: a.getLinearGradient(V + d * Math.cos(k, !0), U - d * Math.sin(k, !0), V + d * Math.cos(k - f, !0), U - d * Math.sin(k - f, !0), [
  4081. [0, b[2 * x + 32]],
  4082. [1, b[2 * x + 33]]
  4083. ])
  4084. })), k -= f;
  4085. var _ = 0;
  4086. if(null != i.progress) {
  4087. e(m), _ = 100 * this.adjust(i.progress, [0, 1]).toFixed(2) / 5, y.highlightStyle.text = 5 * _ + "%", e(y);
  4088. for(var x = 0; 20 > x; x++) g[x].highlightStyle.color = _ > x ? g[x]._color : u, e(g[x]);
  4089. return e(h), void t()
  4090. }
  4091. return setInterval(function() {
  4092. e(m), _ += _ >= 20 ? -20 : 1, e(y);
  4093. for(var i = 0; 20 > i; i++) g[i].highlightStyle.color = _ > i ? g[i]._color : u, e(g[i]);
  4094. e(h), t()
  4095. }, s.timeInterval)
  4096. }, t
  4097. }), i("zrender/loadingEffect/Spin", ["require", "./Base", "../tool/util", "../tool/color", "../tool/area", "../shape/Sector"], function(e) {
  4098. function t(e) {
  4099. i.call(this, e)
  4100. }
  4101. var i = e("./Base"),
  4102. n = e("../tool/util"),
  4103. a = e("../tool/color"),
  4104. o = e("../tool/area"),
  4105. r = e("../shape/Sector");
  4106. return n.inherits(t, i), t.prototype._start = function(e, t) {
  4107. var i = n.merge(this.options, {
  4108. textStyle: {
  4109. color: "#fff",
  4110. textAlign: "start"
  4111. },
  4112. backgroundColor: "rgba(0, 0, 0, 0.8)"
  4113. }),
  4114. s = this.createTextShape(i.textStyle),
  4115. l = 10,
  4116. h = o.getTextWidth(s.highlightStyle.text, s.highlightStyle.textFont),
  4117. m = o.getTextHeight(s.highlightStyle.text, s.highlightStyle.textFont),
  4118. V = n.merge(this.options.effect || {}, {
  4119. r0: 9,
  4120. r: 15,
  4121. n: 18,
  4122. color: "#fff",
  4123. timeInterval: 100
  4124. }),
  4125. U = this.getLocation(this.options.textStyle, h + l + 2 * V.r, Math.max(2 * V.r, m));
  4126. V.x = U.x + V.r, V.y = s.highlightStyle.y = U.y + U.height / 2, s.highlightStyle.x = V.x + V.r + l;
  4127. for(var d = this.createBackgroundShape(i.backgroundColor), p = V.n, c = V.x, u = V.y, y = V.r0, g = V.r, b = V.color, f = [], k = Math.round(180 / p), x = 0; p > x; x++) f[x] = new r({
  4128. highlightStyle: {
  4129. x: c,
  4130. y: u,
  4131. r0: y,
  4132. r: g,
  4133. startAngle: k * x * 2,
  4134. endAngle: k * x * 2 + k,
  4135. color: a.alpha(b, (x + 1) / p),
  4136. brushType: "fill"
  4137. }
  4138. });
  4139. var _ = [0, c, u];
  4140. return setInterval(function() {
  4141. e(d), _[0] -= .3;
  4142. for(var i = 0; p > i; i++) f[i].rotation = _, e(f[i]);
  4143. e(s), t()
  4144. }, V.timeInterval)
  4145. }, t
  4146. }), i("zrender/loadingEffect/Whirling", ["require", "./Base", "../tool/util", "../tool/area", "../shape/Ring", "../shape/Droplet", "../shape/Circle"], function(e) {
  4147. function t(e) {
  4148. i.call(this, e)
  4149. }
  4150. var i = e("./Base"),
  4151. n = e("../tool/util"),
  4152. a = e("../tool/area"),
  4153. o = e("../shape/Ring"),
  4154. r = e("../shape/Droplet"),
  4155. s = e("../shape/Circle");
  4156. return n.inherits(t, i), t.prototype._start = function(e, t) {
  4157. var i = n.merge(this.options, {
  4158. textStyle: {
  4159. color: "#888",
  4160. textAlign: "start"
  4161. },
  4162. backgroundColor: "rgba(250, 250, 250, 0.8)"
  4163. }),
  4164. l = this.createTextShape(i.textStyle),
  4165. h = 10,
  4166. m = a.getTextWidth(l.highlightStyle.text, l.highlightStyle.textFont),
  4167. V = a.getTextHeight(l.highlightStyle.text, l.highlightStyle.textFont),
  4168. U = n.merge(this.options.effect || {}, {
  4169. r: 18,
  4170. colorIn: "#fff",
  4171. colorOut: "#555",
  4172. colorWhirl: "#6cf",
  4173. timeInterval: 50
  4174. }),
  4175. d = this.getLocation(this.options.textStyle, m + h + 2 * U.r, Math.max(2 * U.r, V));
  4176. U.x = d.x + U.r, U.y = l.highlightStyle.y = d.y + d.height / 2, l.highlightStyle.x = U.x + U.r + h;
  4177. var p = this.createBackgroundShape(i.backgroundColor),
  4178. c = new r({
  4179. highlightStyle: {
  4180. a: Math.round(U.r / 2),
  4181. b: Math.round(U.r - U.r / 6),
  4182. brushType: "fill",
  4183. color: U.colorWhirl
  4184. }
  4185. }),
  4186. u = new s({
  4187. highlightStyle: {
  4188. r: Math.round(U.r / 6),
  4189. brushType: "fill",
  4190. color: U.colorIn
  4191. }
  4192. }),
  4193. y = new o({
  4194. highlightStyle: {
  4195. r0: Math.round(U.r - U.r / 3),
  4196. r: U.r,
  4197. brushType: "fill",
  4198. color: U.colorOut
  4199. }
  4200. }),
  4201. g = [0, U.x, U.y];
  4202. return c.highlightStyle.x = u.highlightStyle.x = y.highlightStyle.x = g[1], c.highlightStyle.y = u.highlightStyle.y = y.highlightStyle.y = g[2], setInterval(function() {
  4203. e(p), e(y), g[0] -= .3, c.rotation = g, e(c), e(u), e(l), t()
  4204. }, U.timeInterval)
  4205. }, t
  4206. }), i("echarts/theme/macarons", [], function() {
  4207. var e = {
  4208. color: ["#2ec7c9", "#b6a2de", "#5ab1ef", "#ffb980", "#d87a80", "#8d98b3", "#e5cf0d", "#97b552", "#95706d", "#dc69aa", "#07a2a4", "#9a7fd1", "#588dd5", "#f5994e", "#c05050", "#59678c", "#c9ab00", "#7eb00a", "#6f5553", "#c14089"],
  4209. title: {
  4210. textStyle: {
  4211. fontWeight: "normal",
  4212. color: "#008acd"
  4213. }
  4214. },
  4215. dataRange: {
  4216. itemWidth: 15,
  4217. color: ["#5ab1ef", "#e0ffff"]
  4218. },
  4219. toolbox: {
  4220. color: ["#1e90ff", "#1e90ff", "#1e90ff", "#1e90ff"],
  4221. effectiveColor: "#ff4500"
  4222. },
  4223. tooltip: {
  4224. backgroundColor: "rgba(50,50,50,0.5)",
  4225. axisPointer: {
  4226. type: "line",
  4227. lineStyle: {
  4228. color: "#008acd"
  4229. },
  4230. crossStyle: {
  4231. color: "#008acd"
  4232. },
  4233. shadowStyle: {
  4234. color: "rgba(200,200,200,0.2)"
  4235. }
  4236. }
  4237. },
  4238. dataZoom: {
  4239. dataBackgroundColor: "#efefff",
  4240. fillerColor: "rgba(182,162,222,0.2)",
  4241. handleColor: "#008acd"
  4242. },
  4243. grid: {
  4244. borderColor: "#eee"
  4245. },
  4246. categoryAxis: {
  4247. axisLine: {
  4248. lineStyle: {
  4249. color: "#008acd"
  4250. }
  4251. },
  4252. splitLine: {
  4253. lineStyle: {
  4254. color: ["#eee"]
  4255. }
  4256. }
  4257. },
  4258. valueAxis: {
  4259. axisLine: {
  4260. lineStyle: {
  4261. color: "#008acd"
  4262. }
  4263. },
  4264. splitArea: {
  4265. show: !0,
  4266. areaStyle: {
  4267. color: ["rgba(250,250,250,0.1)", "rgba(200,200,200,0.1)"]
  4268. }
  4269. },
  4270. splitLine: {
  4271. lineStyle: {
  4272. color: ["#eee"]
  4273. }
  4274. }
  4275. },
  4276. polar: {
  4277. axisLine: {
  4278. lineStyle: {
  4279. color: "#ddd"
  4280. }
  4281. },
  4282. splitArea: {
  4283. show: !0,
  4284. areaStyle: {
  4285. color: ["rgba(250,250,250,0.2)", "rgba(200,200,200,0.2)"]
  4286. }
  4287. },
  4288. splitLine: {
  4289. lineStyle: {
  4290. color: "#ddd"
  4291. }
  4292. }
  4293. },
  4294. timeline: {
  4295. lineStyle: {
  4296. color: "#008acd"
  4297. },
  4298. controlStyle: {
  4299. normal: {
  4300. color: "#008acd"
  4301. },
  4302. emphasis: {
  4303. color: "#008acd"
  4304. }
  4305. },
  4306. symbol: "emptyCircle",
  4307. symbolSize: 3
  4308. },
  4309. bar: {
  4310. itemStyle: {
  4311. normal: {
  4312. barBorderRadius: 5
  4313. },
  4314. emphasis: {
  4315. barBorderRadius: 5
  4316. }
  4317. }
  4318. },
  4319. line: {
  4320. smooth: !0,
  4321. symbol: "emptyCircle",
  4322. symbolSize: 3
  4323. },
  4324. k: {
  4325. itemStyle: {
  4326. normal: {
  4327. color: "#d87a80",
  4328. color0: "#2ec7c9",
  4329. lineStyle: {
  4330. color: "#d87a80",
  4331. color0: "#2ec7c9"
  4332. }
  4333. }
  4334. }
  4335. },
  4336. scatter: {
  4337. symbol: "circle",
  4338. symbolSize: 4
  4339. },
  4340. radar: {
  4341. symbol: "emptyCircle",
  4342. symbolSize: 3
  4343. },
  4344. map: {
  4345. itemStyle: {
  4346. normal: {
  4347. areaStyle: {
  4348. color: "#ddd"
  4349. },
  4350. label: {
  4351. textStyle: {
  4352. color: "#d87a80"
  4353. }
  4354. }
  4355. },
  4356. emphasis: {
  4357. areaStyle: {
  4358. color: "#fe994e"
  4359. }
  4360. }
  4361. }
  4362. },
  4363. force: {
  4364. itemStyle: {
  4365. normal: {
  4366. linkStyle: {
  4367. color: "#1e90ff"
  4368. }
  4369. }
  4370. }
  4371. },
  4372. chord: {
  4373. itemStyle: {
  4374. normal: {
  4375. borderWidth: 1,
  4376. borderColor: "rgba(128, 128, 128, 0.5)",
  4377. chordStyle: {
  4378. lineStyle: {
  4379. color: "rgba(128, 128, 128, 0.5)"
  4380. }
  4381. }
  4382. },
  4383. emphasis: {
  4384. borderWidth: 1,
  4385. borderColor: "rgba(128, 128, 128, 0.5)",
  4386. chordStyle: {
  4387. lineStyle: {
  4388. color: "rgba(128, 128, 128, 0.5)"
  4389. }
  4390. }
  4391. }
  4392. }
  4393. },
  4394. gauge: {
  4395. axisLine: {
  4396. lineStyle: {
  4397. color: [
  4398. [.2, "#2ec7c9"],
  4399. [.8, "#5ab1ef"],
  4400. [1, "#d87a80"]
  4401. ],
  4402. width: 10
  4403. }
  4404. },
  4405. axisTick: {
  4406. splitNumber: 10,
  4407. length: 15,
  4408. lineStyle: {
  4409. color: "auto"
  4410. }
  4411. },
  4412. splitLine: {
  4413. length: 22,
  4414. lineStyle: {
  4415. color: "auto"
  4416. }
  4417. },
  4418. pointer: {
  4419. width: 5
  4420. }
  4421. },
  4422. textStyle: {
  4423. fontFamily: "微软雅黑, Arial, Verdana, sans-serif"
  4424. }
  4425. };
  4426. return e
  4427. }), i("echarts/theme/infographic", [], function() {
  4428. var e = {
  4429. color: ["#C1232B", "#B5C334", "#FCCE10", "#E87C25", "#27727B", "#FE8463", "#9BCA63", "#FAD860", "#F3A43B", "#60C0DD", "#D7504B", "#C6E579", "#F4E001", "#F0805A", "#26C0C0"],
  4430. title: {
  4431. textStyle: {
  4432. fontWeight: "normal",
  4433. color: "#27727B"
  4434. }
  4435. },
  4436. dataRange: {
  4437. x: "right",
  4438. y: "center",
  4439. itemWidth: 5,
  4440. itemHeight: 25,
  4441. color: ["#C1232B", "#FCCE10"]
  4442. },
  4443. toolbox: {
  4444. color: ["#C1232B", "#B5C334", "#FCCE10", "#E87C25", "#27727B", "#FE8463", "#9BCA63", "#FAD860", "#F3A43B", "#60C0DD"],
  4445. effectiveColor: "#ff4500"
  4446. },
  4447. tooltip: {
  4448. backgroundColor: "rgba(50,50,50,0.5)",
  4449. axisPointer: {
  4450. type: "line",
  4451. lineStyle: {
  4452. color: "#27727B",
  4453. type: "dashed"
  4454. },
  4455. crossStyle: {
  4456. color: "#27727B"
  4457. },
  4458. shadowStyle: {
  4459. color: "rgba(200,200,200,0.3)"
  4460. }
  4461. }
  4462. },
  4463. dataZoom: {
  4464. dataBackgroundColor: "rgba(181,195,52,0.3)",
  4465. fillerColor: "rgba(181,195,52,0.2)",
  4466. handleColor: "#27727B"
  4467. },
  4468. grid: {
  4469. borderWidth: 0
  4470. },
  4471. categoryAxis: {
  4472. axisLine: {
  4473. lineStyle: {
  4474. color: "#27727B"
  4475. }
  4476. },
  4477. splitLine: {
  4478. show: !1
  4479. }
  4480. },
  4481. valueAxis: {
  4482. axisLine: {
  4483. show: !1
  4484. },
  4485. splitArea: {
  4486. show: !1
  4487. },
  4488. splitLine: {
  4489. lineStyle: {
  4490. color: ["#ccc"],
  4491. type: "dashed"
  4492. }
  4493. }
  4494. },
  4495. polar: {
  4496. axisLine: {
  4497. lineStyle: {
  4498. color: "#ddd"
  4499. }
  4500. },
  4501. splitArea: {
  4502. show: !0,
  4503. areaStyle: {
  4504. color: ["rgba(250,250,250,0.2)", "rgba(200,200,200,0.2)"]
  4505. }
  4506. },
  4507. splitLine: {
  4508. lineStyle: {
  4509. color: "#ddd"
  4510. }
  4511. }
  4512. },
  4513. timeline: {
  4514. lineStyle: {
  4515. color: "#27727B"
  4516. },
  4517. controlStyle: {
  4518. normal: {
  4519. color: "#27727B"
  4520. },
  4521. emphasis: {
  4522. color: "#27727B"
  4523. }
  4524. },
  4525. symbol: "emptyCircle",
  4526. symbolSize: 3
  4527. },
  4528. line: {
  4529. itemStyle: {
  4530. normal: {
  4531. borderWidth: 2,
  4532. borderColor: "#fff",
  4533. lineStyle: {
  4534. width: 3
  4535. }
  4536. },
  4537. emphasis: {
  4538. borderWidth: 0
  4539. }
  4540. },
  4541. symbol: "circle",
  4542. symbolSize: 3.5
  4543. },
  4544. k: {
  4545. itemStyle: {
  4546. normal: {
  4547. color: "#C1232B",
  4548. color0: "#B5C334",
  4549. lineStyle: {
  4550. width: 1,
  4551. color: "#C1232B",
  4552. color0: "#B5C334"
  4553. }
  4554. }
  4555. }
  4556. },
  4557. scatter: {
  4558. itemStyle: {
  4559. normal: {
  4560. borderWidth: 1,
  4561. borderColor: "rgba(200,200,200,0.5)"
  4562. },
  4563. emphasis: {
  4564. borderWidth: 0
  4565. }
  4566. },
  4567. symbol: "star4",
  4568. symbolSize: 4
  4569. },
  4570. radar: {
  4571. symbol: "emptyCircle",
  4572. symbolSize: 3
  4573. },
  4574. map: {
  4575. itemStyle: {
  4576. normal: {
  4577. areaStyle: {
  4578. color: "#ddd"
  4579. },
  4580. label: {
  4581. textStyle: {
  4582. color: "#C1232B"
  4583. }
  4584. }
  4585. },
  4586. emphasis: {
  4587. areaStyle: {
  4588. color: "#fe994e"
  4589. },
  4590. label: {
  4591. textStyle: {
  4592. color: "rgb(100,0,0)"
  4593. }
  4594. }
  4595. }
  4596. }
  4597. },
  4598. force: {
  4599. itemStyle: {
  4600. normal: {
  4601. linkStyle: {
  4602. color: "#27727B"
  4603. }
  4604. }
  4605. }
  4606. },
  4607. chord: {
  4608. itemStyle: {
  4609. normal: {
  4610. borderWidth: 1,
  4611. borderColor: "rgba(128, 128, 128, 0.5)",
  4612. chordStyle: {
  4613. lineStyle: {
  4614. color: "rgba(128, 128, 128, 0.5)"
  4615. }
  4616. }
  4617. },
  4618. emphasis: {
  4619. borderWidth: 1,
  4620. borderColor: "rgba(128, 128, 128, 0.5)",
  4621. chordStyle: {
  4622. lineStyle: {
  4623. color: "rgba(128, 128, 128, 0.5)"
  4624. }
  4625. }
  4626. }
  4627. }
  4628. },
  4629. gauge: {
  4630. center: ["50%", "80%"],
  4631. radius: "100%",
  4632. startAngle: 180,
  4633. endAngle: 0,
  4634. axisLine: {
  4635. show: !0,
  4636. lineStyle: {
  4637. color: [
  4638. [.2, "#B5C334"],
  4639. [.8, "#27727B"],
  4640. [1, "#C1232B"]
  4641. ],
  4642. width: "40%"
  4643. }
  4644. },
  4645. axisTick: {
  4646. splitNumber: 2,
  4647. length: 5,
  4648. lineStyle: {
  4649. color: "#fff"
  4650. }
  4651. },
  4652. axisLabel: {
  4653. textStyle: {
  4654. color: "#fff",
  4655. fontWeight: "bolder"
  4656. }
  4657. },
  4658. splitLine: {
  4659. length: "5%",
  4660. lineStyle: {
  4661. color: "#fff"
  4662. }
  4663. },
  4664. pointer: {
  4665. width: "40%",
  4666. length: "80%",
  4667. color: "#fff"
  4668. },
  4669. title: {
  4670. offsetCenter: [0, -20],
  4671. textStyle: {
  4672. color: "auto",
  4673. fontSize: 20
  4674. }
  4675. },
  4676. detail: {
  4677. offsetCenter: [0, 0],
  4678. textStyle: {
  4679. color: "auto",
  4680. fontSize: 40
  4681. }
  4682. }
  4683. },
  4684. textStyle: {
  4685. fontFamily: "微软雅黑, Arial, Verdana, sans-serif"
  4686. }
  4687. };
  4688. return e
  4689. }), i("zrender/dep/excanvas", ["require"], function() {
  4690. return document.createElement("canvas").getContext ? G_vmlCanvasManager = !1 : ! function() {
  4691. function e() {
  4692. return this.context_ || (this.context_ = new f(this))
  4693. }
  4694. function t(e, t) {
  4695. var i = O.call(arguments, 2);
  4696. return function() {
  4697. return e.apply(t, i.concat(O.call(arguments)))
  4698. }
  4699. }
  4700. function i(e) {
  4701. return String(e).replace(/&/g, "&amp;").replace(/"/g, "&quot;")
  4702. }
  4703. function n(e, t, i) {
  4704. e.namespaces[t] || e.namespaces.add(t, i, "#default#VML")
  4705. }
  4706. function a(e) {
  4707. if(n(e, "g_vml_", "urn:schemas-microsoft-com:vml"), n(e, "g_o_", "urn:schemas-microsoft-com:office:office"), !e.styleSheets.ex_canvas_) {
  4708. var t = e.createStyleSheet();
  4709. t.owningElement.id = "ex_canvas_", t.cssText = "canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"
  4710. }
  4711. }
  4712. function o(e) {
  4713. var t = e.srcElement;
  4714. switch(e.propertyName) {
  4715. case "width":
  4716. t.getContext().clearRect(), t.style.width = t.attributes.width.nodeValue + "px", t.firstChild.style.width = t.clientWidth + "px";
  4717. break;
  4718. case "height":
  4719. t.getContext().clearRect(), t.style.height = t.attributes.height.nodeValue + "px", t.firstChild.style.height = t.clientHeight + "px"
  4720. }
  4721. }
  4722. function r(e) {
  4723. var t = e.srcElement;
  4724. t.firstChild && (t.firstChild.style.width = t.clientWidth + "px", t.firstChild.style.height = t.clientHeight + "px")
  4725. }
  4726. function s() {
  4727. return [
  4728. [1, 0, 0],
  4729. [0, 1, 0],
  4730. [0, 0, 1]
  4731. ]
  4732. }
  4733. function l(e, t) {
  4734. for(var i = s(), n = 0; 3 > n; n++)
  4735. for(var a = 0; 3 > a; a++) {
  4736. for(var o = 0, r = 0; 3 > r; r++) o += e[n][r] * t[r][a];
  4737. i[n][a] = o
  4738. }
  4739. return i
  4740. }
  4741. function h(e, t) {
  4742. t.fillStyle = e.fillStyle, t.lineCap = e.lineCap, t.lineJoin = e.lineJoin, t.lineWidth = e.lineWidth, t.miterLimit = e.miterLimit, t.shadowBlur = e.shadowBlur, t.shadowColor = e.shadowColor, t.shadowOffsetX = e.shadowOffsetX, t.shadowOffsetY = e.shadowOffsetY, t.strokeStyle = e.strokeStyle, t.globalAlpha = e.globalAlpha, t.font = e.font, t.textAlign = e.textAlign, t.textBaseline = e.textBaseline, t.scaleX_ = e.scaleX_, t.scaleY_ = e.scaleY_, t.lineScale_ = e.lineScale_
  4743. }
  4744. function m(e) {
  4745. var t = e.indexOf("(", 3),
  4746. i = e.indexOf(")", t + 1),
  4747. n = e.substring(t + 1, i).split(",");
  4748. return(4 != n.length || "a" != e.charAt(3)) && (n[3] = 1), n
  4749. }
  4750. function V(e) {
  4751. return parseFloat(e) / 100
  4752. }
  4753. function U(e, t, i) {
  4754. return Math.min(i, Math.max(t, e))
  4755. }
  4756. function d(e) {
  4757. var t, i, n, a, o, r;
  4758. if(a = parseFloat(e[0]) / 360 % 360, 0 > a && a++, o = U(V(e[1]), 0, 1), r = U(V(e[2]), 0, 1), 0 == o) t = i = n = r;
  4759. else {
  4760. var s = .5 > r ? r * (1 + o) : r + o - r * o,
  4761. l = 2 * r - s;
  4762. t = p(l, s, a + 1 / 3), i = p(l, s, a), n = p(l, s, a - 1 / 3)
  4763. }
  4764. return "#" + D[Math.floor(255 * t)] + D[Math.floor(255 * i)] + D[Math.floor(255 * n)]
  4765. }
  4766. function p(e, t, i) {
  4767. return 0 > i && i++, i > 1 && i--, 1 > 6 * i ? e + 6 * (t - e) * i : 1 > 2 * i ? t : 2 > 3 * i ? e + (t - e) * (2 / 3 - i) * 6 : e
  4768. }
  4769. function c(e) {
  4770. if(e in R) return R[e];
  4771. var t, i = 1;
  4772. if(e = String(e), "#" == e.charAt(0)) t = e;
  4773. else if(/^rgb/.test(e)) {
  4774. for(var n, a = m(e), t = "#", o = 0; 3 > o; o++) n = -1 != a[o].indexOf("%") ? Math.floor(255 * V(a[o])) : +a[o], t += D[U(n, 0, 255)];
  4775. i = +a[3]
  4776. } else if(/^hsl/.test(e)) {
  4777. var a = m(e);
  4778. t = d(a), i = a[3]
  4779. } else t = H[e] || e;
  4780. return R[e] = {
  4781. color: t,
  4782. alpha: i
  4783. }
  4784. }
  4785. function u(e) {
  4786. if(Y[e]) return Y[e];
  4787. var t, i = document.createElement("div"),
  4788. n = i.style;
  4789. try {
  4790. n.font = e, t = n.fontFamily.split(",")[0]
  4791. } catch(a) {}
  4792. return Y[e] = {
  4793. style: n.fontStyle || G.style,
  4794. variant: n.fontVariant || G.variant,
  4795. weight: n.fontWeight || G.weight,
  4796. size: n.fontSize || G.size,
  4797. family: t || G.family
  4798. }
  4799. }
  4800. function y(e, t) {
  4801. var i = {};
  4802. for(var n in e) i[n] = e[n];
  4803. var a = parseFloat(t.currentStyle.fontSize),
  4804. o = parseFloat(e.size);
  4805. return i.size = "number" == typeof e.size ? e.size : -1 != e.size.indexOf("px") ? o : -1 != e.size.indexOf("em") ? a * o : -1 != e.size.indexOf("%") ? a / 100 * o : -1 != e.size.indexOf("pt") ? o / .75 : a, i
  4806. }
  4807. function g(e) {
  4808. return e.style + " " + e.variant + " " + e.weight + " " + e.size + "px '" + e.family + "'"
  4809. }
  4810. function b(e) {
  4811. return Q[e] || "square"
  4812. }
  4813. function f(e) {
  4814. this.m_ = s(), this.mStack_ = [], this.aStack_ = [], this.currentPath_ = [], this.strokeStyle = "#000", this.fillStyle = "#000", this.lineWidth = 1, this.lineJoin = "miter", this.lineCap = "butt", this.miterLimit = 1 * A, this.globalAlpha = 1, this.font = "12px 微软雅黑", this.textAlign = "left", this.textBaseline = "alphabetic", this.canvas = e;
  4815. var t = "width:" + e.clientWidth + "px;height:" + e.clientHeight + "px;overflow:hidden;position:absolute",
  4816. i = e.ownerDocument.createElement("div");
  4817. i.style.cssText = t, e.appendChild(i);
  4818. var n = i.cloneNode(!1);
  4819. n.style.backgroundColor = "#fff", n.style.filter = "alpha(opacity=0)", e.appendChild(n), this.element_ = i, this.scaleX_ = 1, this.scaleY_ = 1, this.lineScale_ = 1
  4820. }
  4821. function k(e, t, i, n) {
  4822. e.currentPath_.push({
  4823. type: "bezierCurveTo",
  4824. cp1x: t.x,
  4825. cp1y: t.y,
  4826. cp2x: i.x,
  4827. cp2y: i.y,
  4828. x: n.x,
  4829. y: n.y
  4830. }), e.currentX_ = n.x, e.currentY_ = n.y
  4831. }
  4832. function x(e, t) {
  4833. var i = c(e.strokeStyle),
  4834. n = i.color,
  4835. a = i.alpha * e.globalAlpha,
  4836. o = e.lineScale_ * e.lineWidth;
  4837. 1 > o && (a *= o), t.push("<g_vml_:stroke", ' opacity="', a, '"', ' joinstyle="', e.lineJoin, '"', ' miterlimit="', e.miterLimit, '"', ' endcap="', b(e.lineCap), '"', ' weight="', o, 'px"', ' color="', n, '" />')
  4838. }
  4839. function _(e, t, i, n) {
  4840. var a = e.fillStyle,
  4841. o = e.scaleX_,
  4842. r = e.scaleY_,
  4843. s = n.x - i.x,
  4844. l = n.y - i.y;
  4845. if(a instanceof v) {
  4846. var h = 0,
  4847. m = {
  4848. x: 0,
  4849. y: 0
  4850. },
  4851. V = 0,
  4852. U = 1;
  4853. if("gradient" == a.type_) {
  4854. var d = a.x0_ / o,
  4855. p = a.y0_ / r,
  4856. u = a.x1_ / o,
  4857. y = a.y1_ / r,
  4858. g = L(e, d, p),
  4859. b = L(e, u, y),
  4860. f = b.x - g.x,
  4861. k = b.y - g.y;
  4862. h = 180 * Math.atan2(f, k) / Math.PI, 0 > h && (h += 360), 1e-6 > h && (h = 0)
  4863. } else {
  4864. var g = L(e, a.x0_, a.y0_);
  4865. m = {
  4866. x: (g.x - i.x) / s,
  4867. y: (g.y - i.y) / l
  4868. }, s /= o * A, l /= r * A;
  4869. var x = C.max(s, l);
  4870. V = 2 * a.r0_ / x, U = 2 * a.r1_ / x - V
  4871. }
  4872. var _ = a.colors_;
  4873. _.sort(function(e, t) {
  4874. return e.offset - t.offset
  4875. });
  4876. for(var W = _.length, X = _[0].color, K = _[W - 1].color, I = _[0].alpha * e.globalAlpha, J = _[W - 1].alpha * e.globalAlpha, S = [], E = 0; W > E; E++) {
  4877. var F = _[E];
  4878. S.push(F.offset * U + V + " " + F.color)
  4879. }
  4880. t.push('<g_vml_:fill type="', a.type_, '"', ' method="none" focus="100%"', ' color="', X, '"', ' color2="', K, '"', ' colors="', S.join(","), '"', ' opacity="', J, '"', ' g_o_:opacity2="', I, '"', ' angle="', h, '"', ' focusposition="', m.x, ",", m.y, '" />')
  4881. } else if(a instanceof w) {
  4882. if(s && l) {
  4883. var T = -i.x,
  4884. z = -i.y;
  4885. t.push("<g_vml_:fill", ' position="', T / s * o * o, ",", z / l * r * r, '"', ' type="tile"', ' src="', a.src_, '" />')
  4886. }
  4887. } else {
  4888. var M = c(e.fillStyle),
  4889. O = M.color,
  4890. P = M.alpha * e.globalAlpha;
  4891. t.push('<g_vml_:fill color="', O, '" opacity="', P, '" />')
  4892. }
  4893. }
  4894. function L(e, t, i) {
  4895. var n = e.m_;
  4896. return {
  4897. x: A * (t * n[0][0] + i * n[1][0] + n[2][0]) - M,
  4898. y: A * (t * n[0][1] + i * n[1][1] + n[2][1]) - M
  4899. }
  4900. }
  4901. function W(e) {
  4902. return isFinite(e[0][0]) && isFinite(e[0][1]) && isFinite(e[1][0]) && isFinite(e[1][1]) && isFinite(e[2][0]) && isFinite(e[2][1])
  4903. }
  4904. function X(e, t, i) {
  4905. if(W(t) && (e.m_ = t, e.scaleX_ = Math.sqrt(t[0][0] * t[0][0] + t[0][1] * t[0][1]), e.scaleY_ = Math.sqrt(t[1][0] * t[1][0] + t[1][1] * t[1][1]), i)) {
  4906. var n = t[0][0] * t[1][1] - t[0][1] * t[1][0];
  4907. e.lineScale_ = z(T(n))
  4908. }
  4909. }
  4910. function v(e) {
  4911. this.type_ = e, this.x0_ = 0, this.y0_ = 0, this.r0_ = 0, this.x1_ = 0, this.y1_ = 0, this.r1_ = 0, this.colors_ = []
  4912. }
  4913. function w(e, t) {
  4914. switch(I(e), t) {
  4915. case "repeat":
  4916. case null:
  4917. case "":
  4918. this.repetition_ = "repeat";
  4919. break;
  4920. case "repeat-x":
  4921. case "repeat-y":
  4922. case "no-repeat":
  4923. this.repetition_ = t;
  4924. break;
  4925. default:
  4926. K("SYNTAX_ERR")
  4927. }
  4928. this.src_ = e.src, this.width_ = e.width, this.height_ = e.height
  4929. }
  4930. function K(e) {
  4931. throw new J(e)
  4932. }
  4933. function I(e) {
  4934. e && 1 == e.nodeType && "IMG" == e.tagName || K("TYPE_MISMATCH_ERR"), "complete" != e.readyState && K("INVALID_STATE_ERR")
  4935. }
  4936. function J(e) {
  4937. this.code = this[e], this.message = e + ": DOM Exception " + this.code
  4938. }
  4939. var C = Math,
  4940. S = C.round,
  4941. E = C.sin,
  4942. F = C.cos,
  4943. T = C.abs,
  4944. z = C.sqrt,
  4945. A = 10,
  4946. M = A / 2,
  4947. O = (+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1], Array.prototype.slice);
  4948. a(document);
  4949. var P = {
  4950. init: function(e) {
  4951. var i = e || document;
  4952. i.createElement("canvas"), i.attachEvent("onreadystatechange", t(this.init_, this, i))
  4953. },
  4954. init_: function(e) {
  4955. for(var t = e.getElementsByTagName("canvas"), i = 0; i < t.length; i++) this.initElement(t[i])
  4956. },
  4957. initElement: function(t) {
  4958. if(!t.getContext) {
  4959. t.getContext = e, a(t.ownerDocument), t.innerHTML = "", t.attachEvent("onpropertychange", o), t.attachEvent("onresize", r);
  4960. var i = t.attributes;
  4961. i.width && i.width.specified ? t.style.width = i.width.nodeValue + "px" : t.width = t.clientWidth, i.height && i.height.specified ? t.style.height = i.height.nodeValue + "px" : t.height = t.clientHeight
  4962. }
  4963. return t
  4964. }
  4965. };
  4966. P.init();
  4967. for(var D = [], N = 0; 16 > N; N++)
  4968. for(var B = 0; 16 > B; B++) D[16 * N + B] = N.toString(16) + B.toString(16);
  4969. var H = {
  4970. aliceblue: "#F0F8FF",
  4971. antiquewhite: "#FAEBD7",
  4972. aquamarine: "#7FFFD4",
  4973. azure: "#F0FFFF",
  4974. beige: "#F5F5DC",
  4975. bisque: "#FFE4C4",
  4976. black: "#000000",
  4977. blanchedalmond: "#FFEBCD",
  4978. blueviolet: "#8A2BE2",
  4979. brown: "#A52A2A",
  4980. burlywood: "#DEB887",
  4981. cadetblue: "#5F9EA0",
  4982. chartreuse: "#7FFF00",
  4983. chocolate: "#D2691E",
  4984. coral: "#FF7F50",
  4985. cornflowerblue: "#6495ED",
  4986. cornsilk: "#FFF8DC",
  4987. crimson: "#DC143C",
  4988. cyan: "#00FFFF",
  4989. darkblue: "#00008B",
  4990. darkcyan: "#008B8B",
  4991. darkgoldenrod: "#B8860B",
  4992. darkgray: "#A9A9A9",
  4993. darkgreen: "#006400",
  4994. darkgrey: "#A9A9A9",
  4995. darkkhaki: "#BDB76B",
  4996. darkmagenta: "#8B008B",
  4997. darkolivegreen: "#556B2F",
  4998. darkorange: "#FF8C00",
  4999. darkorchid: "#9932CC",
  5000. darkred: "#8B0000",
  5001. darksalmon: "#E9967A",
  5002. darkseagreen: "#8FBC8F",
  5003. darkslateblue: "#483D8B",
  5004. darkslategray: "#2F4F4F",
  5005. darkslategrey: "#2F4F4F",
  5006. darkturquoise: "#00CED1",
  5007. darkviolet: "#9400D3",
  5008. deeppink: "#FF1493",
  5009. deepskyblue: "#00BFFF",
  5010. dimgray: "#696969",
  5011. dimgrey: "#696969",
  5012. dodgerblue: "#1E90FF",
  5013. firebrick: "#B22222",
  5014. floralwhite: "#FFFAF0",
  5015. forestgreen: "#228B22",
  5016. gainsboro: "#DCDCDC",
  5017. ghostwhite: "#F8F8FF",
  5018. gold: "#FFD700",
  5019. goldenrod: "#DAA520",
  5020. grey: "#808080",
  5021. greenyellow: "#ADFF2F",
  5022. honeydew: "#F0FFF0",
  5023. hotpink: "#FF69B4",
  5024. indianred: "#CD5C5C",
  5025. indigo: "#4B0082",
  5026. ivory: "#FFFFF0",
  5027. khaki: "#F0E68C",
  5028. lavender: "#E6E6FA",
  5029. lavenderblush: "#FFF0F5",
  5030. lawngreen: "#7CFC00",
  5031. lemonchiffon: "#FFFACD",
  5032. lightblue: "#ADD8E6",
  5033. lightcoral: "#F08080",
  5034. lightcyan: "#E0FFFF",
  5035. lightgoldenrodyellow: "#FAFAD2",
  5036. lightgreen: "#90EE90",
  5037. lightgrey: "#D3D3D3",
  5038. lightpink: "#FFB6C1",
  5039. lightsalmon: "#FFA07A",
  5040. lightseagreen: "#20B2AA",
  5041. lightskyblue: "#87CEFA",
  5042. lightslategray: "#778899",
  5043. lightslategrey: "#778899",
  5044. lightsteelblue: "#B0C4DE",
  5045. lightyellow: "#FFFFE0",
  5046. limegreen: "#32CD32",
  5047. linen: "#FAF0E6",
  5048. magenta: "#FF00FF",
  5049. mediumaquamarine: "#66CDAA",
  5050. mediumblue: "#0000CD",
  5051. mediumorchid: "#BA55D3",
  5052. mediumpurple: "#9370DB",
  5053. mediumseagreen: "#3CB371",
  5054. mediumslateblue: "#7B68EE",
  5055. mediumspringgreen: "#00FA9A",
  5056. mediumturquoise: "#48D1CC",
  5057. mediumvioletred: "#C71585",
  5058. midnightblue: "#191970",
  5059. mintcream: "#F5FFFA",
  5060. mistyrose: "#FFE4E1",
  5061. moccasin: "#FFE4B5",
  5062. navajowhite: "#FFDEAD",
  5063. oldlace: "#FDF5E6",
  5064. olivedrab: "#6B8E23",
  5065. orange: "#FFA500",
  5066. orangered: "#FF4500",
  5067. orchid: "#DA70D6",
  5068. palegoldenrod: "#EEE8AA",
  5069. palegreen: "#98FB98",
  5070. paleturquoise: "#AFEEEE",
  5071. palevioletred: "#DB7093",
  5072. papayawhip: "#FFEFD5",
  5073. peachpuff: "#FFDAB9",
  5074. peru: "#CD853F",
  5075. pink: "#FFC0CB",
  5076. plum: "#DDA0DD",
  5077. powderblue: "#B0E0E6",
  5078. rosybrown: "#BC8F8F",
  5079. royalblue: "#4169E1",
  5080. saddlebrown: "#8B4513",
  5081. salmon: "#FA8072",
  5082. sandybrown: "#F4A460",
  5083. seagreen: "#2E8B57",
  5084. seashell: "#FFF5EE",
  5085. sienna: "#A0522D",
  5086. skyblue: "#87CEEB",
  5087. slateblue: "#6A5ACD",
  5088. slategray: "#708090",
  5089. slategrey: "#708090",
  5090. snow: "#FFFAFA",
  5091. springgreen: "#00FF7F",
  5092. steelblue: "#4682B4",
  5093. tan: "#D2B48C",
  5094. thistle: "#D8BFD8",
  5095. tomato: "#FF6347",
  5096. turquoise: "#40E0D0",
  5097. violet: "#EE82EE",
  5098. wheat: "#F5DEB3",
  5099. whitesmoke: "#F5F5F5",
  5100. yellowgreen: "#9ACD32"
  5101. },
  5102. R = {},
  5103. G = {
  5104. style: "normal",
  5105. variant: "normal",
  5106. weight: "normal",
  5107. size: 12,
  5108. family: "微软雅黑"
  5109. },
  5110. Y = {},
  5111. Q = {
  5112. butt: "flat",
  5113. round: "round"
  5114. },
  5115. Z = f.prototype;
  5116. Z.clearRect = function() {
  5117. this.textMeasureEl_ && (this.textMeasureEl_.removeNode(!0), this.textMeasureEl_ = null), this.element_.innerHTML = ""
  5118. }, Z.beginPath = function() {
  5119. this.currentPath_ = []
  5120. }, Z.moveTo = function(e, t) {
  5121. var i = L(this, e, t);
  5122. this.currentPath_.push({
  5123. type: "moveTo",
  5124. x: i.x,
  5125. y: i.y
  5126. }), this.currentX_ = i.x, this.currentY_ = i.y
  5127. }, Z.lineTo = function(e, t) {
  5128. var i = L(this, e, t);
  5129. this.currentPath_.push({
  5130. type: "lineTo",
  5131. x: i.x,
  5132. y: i.y
  5133. }), this.currentX_ = i.x, this.currentY_ = i.y
  5134. }, Z.bezierCurveTo = function(e, t, i, n, a, o) {
  5135. var r = L(this, a, o),
  5136. s = L(this, e, t),
  5137. l = L(this, i, n);
  5138. k(this, s, l, r)
  5139. }, Z.quadraticCurveTo = function(e, t, i, n) {
  5140. var a = L(this, e, t),
  5141. o = L(this, i, n),
  5142. r = {
  5143. x: this.currentX_ + 2 / 3 * (a.x - this.currentX_),
  5144. y: this.currentY_ + 2 / 3 * (a.y - this.currentY_)
  5145. },
  5146. s = {
  5147. x: r.x + (o.x - this.currentX_) / 3,
  5148. y: r.y + (o.y - this.currentY_) / 3
  5149. };
  5150. k(this, r, s, o)
  5151. }, Z.arc = function(e, t, i, n, a, o) {
  5152. i *= A;
  5153. var r = o ? "at" : "wa",
  5154. s = e + F(n) * i - M,
  5155. l = t + E(n) * i - M,
  5156. h = e + F(a) * i - M,
  5157. m = t + E(a) * i - M;
  5158. s != h || o || (s += .125);
  5159. var V = L(this, e, t),
  5160. U = L(this, s, l),
  5161. d = L(this, h, m);
  5162. this.currentPath_.push({
  5163. type: r,
  5164. x: V.x,
  5165. y: V.y,
  5166. radius: i,
  5167. xStart: U.x,
  5168. yStart: U.y,
  5169. xEnd: d.x,
  5170. yEnd: d.y
  5171. })
  5172. }, Z.rect = function(e, t, i, n) {
  5173. this.moveTo(e, t), this.lineTo(e + i, t), this.lineTo(e + i, t + n), this.lineTo(e, t + n), this.closePath()
  5174. }, Z.strokeRect = function(e, t, i, n) {
  5175. var a = this.currentPath_;
  5176. this.beginPath(), this.moveTo(e, t), this.lineTo(e + i, t), this.lineTo(e + i, t + n), this.lineTo(e, t + n), this.closePath(), this.stroke(), this.currentPath_ = a
  5177. }, Z.fillRect = function(e, t, i, n) {
  5178. var a = this.currentPath_;
  5179. this.beginPath(), this.moveTo(e, t), this.lineTo(e + i, t), this.lineTo(e + i, t + n), this.lineTo(e, t + n), this.closePath(), this.fill(), this.currentPath_ = a
  5180. }, Z.createLinearGradient = function(e, t, i, n) {
  5181. var a = new v("gradient");
  5182. return a.x0_ = e, a.y0_ = t, a.x1_ = i, a.y1_ = n, a
  5183. }, Z.createRadialGradient = function(e, t, i, n, a, o) {
  5184. var r = new v("gradientradial");
  5185. return r.x0_ = e, r.y0_ = t, r.r0_ = i, r.x1_ = n, r.y1_ = a, r.r1_ = o, r
  5186. }, Z.drawImage = function(e) {
  5187. var t, i, n, a, o, r, s, l, h = e.runtimeStyle.width,
  5188. m = e.runtimeStyle.height;
  5189. e.runtimeStyle.width = "auto", e.runtimeStyle.height = "auto";
  5190. var V = e.width,
  5191. U = e.height;
  5192. if(e.runtimeStyle.width = h, e.runtimeStyle.height = m, 3 == arguments.length) t = arguments[1], i = arguments[2], o = r = 0, s = n = V, l = a = U;
  5193. else if(5 == arguments.length) t = arguments[1], i = arguments[2], n = arguments[3], a = arguments[4], o = r = 0, s = V, l = U;
  5194. else {
  5195. if(9 != arguments.length) throw Error("Invalid number of arguments");
  5196. o = arguments[1], r = arguments[2], s = arguments[3], l = arguments[4], t = arguments[5], i = arguments[6], n = arguments[7], a = arguments[8]
  5197. }
  5198. var d = L(this, t, i),
  5199. p = [],
  5200. c = 10,
  5201. u = 10,
  5202. y = b = 1;
  5203. if(p.push(" <g_vml_:group", ' coordsize="', A * c, ",", A * u, '"', ' coordorigin="0,0"', ' style="width:', c, "px;height:", u, "px;position:absolute;"), 1 != this.m_[0][0] || this.m_[0][1] || 1 != this.m_[1][1] || this.m_[1][0]) {
  5204. var g = [],
  5205. y = this.scaleX_,
  5206. b = this.scaleY_;
  5207. g.push("M11=", this.m_[0][0] / y, ",", "M12=", this.m_[1][0] / b, ",", "M21=", this.m_[0][1] / y, ",", "M22=", this.m_[1][1] / b, ",", "Dx=", S(d.x / A), ",", "Dy=", S(d.y / A), "");
  5208. var f = d,
  5209. k = L(this, t + n, i),
  5210. x = L(this, t, i + a),
  5211. _ = L(this, t + n, i + a);
  5212. f.x = C.max(f.x, k.x, x.x, _.x), f.y = C.max(f.y, k.y, x.y, _.y), p.push("padding:0 ", S(f.x / A), "px ", S(f.y / A), "px 0;filter:progid:DXImageTransform.Microsoft.Matrix(", g.join(""), ", SizingMethod='clip');")
  5213. } else p.push("top:", S(d.y / A), "px;left:", S(d.x / A), "px;");
  5214. p.push(' ">'), (o || r) && p.push('<div style="overflow: hidden; width:', Math.ceil((n + o * n / s) * y), "px;", " height:", Math.ceil((a + r * a / l) * b), "px;", " filter:progid:DxImageTransform.Microsoft.Matrix(Dx=", -o * n / s * y, ",Dy=", -r * a / l * b, ');">'), p.push('<div style="width:', Math.round(y * V * n / s), "px;", " height:", Math.round(b * U * a / l), "px;", " filter:"), this.globalAlpha < 1 && p.push(" progid:DXImageTransform.Microsoft.Alpha(opacity=" + 100 * this.globalAlpha + ")"), p.push(" progid:DXImageTransform.Microsoft.AlphaImageLoader(src=", e.src, ',sizingMethod=scale)">'), (o || r) && p.push("</div>"), p.push("</div></div>"), this.element_.insertAdjacentHTML("BeforeEnd", p.join(""))
  5215. }, Z.stroke = function(e) {
  5216. var t = [],
  5217. i = 10,
  5218. n = 10;
  5219. t.push("<g_vml_:shape", ' filled="', !!e, '"', ' style="position:absolute;width:', i, "px;height:", n, 'px;"', ' coordorigin="0,0"', ' coordsize="', A * i, ",", A * n, '"', ' stroked="', !e, '"', ' path="');
  5220. for(var a = {
  5221. x: null,
  5222. y: null
  5223. }, o = {
  5224. x: null,
  5225. y: null
  5226. }, r = 0; r < this.currentPath_.length; r++) {
  5227. var s, l = this.currentPath_[r];
  5228. switch(l.type) {
  5229. case "moveTo":
  5230. s = l, t.push(" m ", S(l.x), ",", S(l.y));
  5231. break;
  5232. case "lineTo":
  5233. t.push(" l ", S(l.x), ",", S(l.y));
  5234. break;
  5235. case "close":
  5236. t.push(" x "), l = null;
  5237. break;
  5238. case "bezierCurveTo":
  5239. t.push(" c ", S(l.cp1x), ",", S(l.cp1y), ",", S(l.cp2x), ",", S(l.cp2y), ",", S(l.x), ",", S(l.y));
  5240. break;
  5241. case "at":
  5242. case "wa":
  5243. t.push(" ", l.type, " ", S(l.x - this.scaleX_ * l.radius), ",", S(l.y - this.scaleY_ * l.radius), " ", S(l.x + this.scaleX_ * l.radius), ",", S(l.y + this.scaleY_ * l.radius), " ", S(l.xStart), ",", S(l.yStart), " ", S(l.xEnd), ",", S(l.yEnd))
  5244. }
  5245. l && ((null == a.x || l.x < a.x) && (a.x = l.x), (null == o.x || l.x > o.x) && (o.x = l.x), (null == a.y || l.y < a.y) && (a.y = l.y), (null == o.y || l.y > o.y) && (o.y = l.y))
  5246. }
  5247. t.push(' ">'), e ? _(this, t, a, o) : x(this, t), t.push("</g_vml_:shape>"), this.element_.insertAdjacentHTML("beforeEnd", t.join(""))
  5248. }, Z.fill = function() {
  5249. this.stroke(!0)
  5250. }, Z.closePath = function() {
  5251. this.currentPath_.push({
  5252. type: "close"
  5253. })
  5254. }, Z.save = function() {
  5255. var e = {};
  5256. h(this, e), this.aStack_.push(e), this.mStack_.push(this.m_), this.m_ = l(s(), this.m_)
  5257. }, Z.restore = function() {
  5258. this.aStack_.length && (h(this.aStack_.pop(), this), this.m_ = this.mStack_.pop())
  5259. }, Z.translate = function(e, t) {
  5260. var i = [
  5261. [1, 0, 0],
  5262. [0, 1, 0],
  5263. [e, t, 1]
  5264. ];
  5265. X(this, l(i, this.m_), !1)
  5266. }, Z.rotate = function(e) {
  5267. var t = F(e),
  5268. i = E(e),
  5269. n = [
  5270. [t, i, 0],
  5271. [-i, t, 0],
  5272. [0, 0, 1]
  5273. ];
  5274. X(this, l(n, this.m_), !1)
  5275. }, Z.scale = function(e, t) {
  5276. var i = [
  5277. [e, 0, 0],
  5278. [0, t, 0],
  5279. [0, 0, 1]
  5280. ];
  5281. X(this, l(i, this.m_), !0)
  5282. }, Z.transform = function(e, t, i, n, a, o) {
  5283. var r = [
  5284. [e, t, 0],
  5285. [i, n, 0],
  5286. [a, o, 1]
  5287. ];
  5288. X(this, l(r, this.m_), !0)
  5289. }, Z.setTransform = function(e, t, i, n, a, o) {
  5290. var r = [
  5291. [e, t, 0],
  5292. [i, n, 0],
  5293. [a, o, 1]
  5294. ];
  5295. X(this, r, !0)
  5296. }, Z.drawText_ = function(e, t, n, a, o) {
  5297. var r = this.m_,
  5298. s = 1e3,
  5299. l = 0,
  5300. h = s,
  5301. m = {
  5302. x: 0,
  5303. y: 0
  5304. },
  5305. V = [],
  5306. U = y(u(this.font), this.element_),
  5307. d = g(U),
  5308. p = this.element_.currentStyle,
  5309. c = this.textAlign.toLowerCase();
  5310. switch(c) {
  5311. case "left":
  5312. case "center":
  5313. case "right":
  5314. break;
  5315. case "end":
  5316. c = "ltr" == p.direction ? "right" : "left";
  5317. break;
  5318. case "start":
  5319. c = "rtl" == p.direction ? "right" : "left";
  5320. break;
  5321. default:
  5322. c = "left"
  5323. }
  5324. switch(this.textBaseline) {
  5325. case "hanging":
  5326. case "top":
  5327. m.y = U.size / 1.75;
  5328. break;
  5329. case "middle":
  5330. break;
  5331. default:
  5332. case null:
  5333. case "alphabetic":
  5334. case "ideographic":
  5335. case "bottom":
  5336. m.y = -U.size / 2.25
  5337. }
  5338. switch(c) {
  5339. case "right":
  5340. l = s, h = .05;
  5341. break;
  5342. case "center":
  5343. l = h = s / 2
  5344. }
  5345. var b = L(this, t + m.x, n + m.y);
  5346. V.push('<g_vml_:line from="', -l, ' 0" to="', h, ' 0.05" ', ' coordsize="100 100" coordorigin="0 0"', ' filled="', !o, '" stroked="', !!o, '" style="position:absolute;width:1px;height:1px;">'), o ? x(this, V) : _(this, V, {
  5347. x: -l,
  5348. y: 0
  5349. }, {
  5350. x: h,
  5351. y: U.size
  5352. });
  5353. var f = r[0][0].toFixed(3) + "," + r[1][0].toFixed(3) + "," + r[0][1].toFixed(3) + "," + r[1][1].toFixed(3) + ",0,0",
  5354. k = S(b.x / A) + "," + S(b.y / A);
  5355. V.push('<g_vml_:skew on="t" matrix="', f, '" ', ' offset="', k, '" origin="', l, ' 0" />', '<g_vml_:path textpathok="true" />', '<g_vml_:textpath on="true" string="', i(e), '" style="v-text-align:', c, ";font:", i(d), '" /></g_vml_:line>'), this.element_.insertAdjacentHTML("beforeEnd", V.join(""))
  5356. }, Z.fillText = function(e, t, i, n) {
  5357. this.drawText_(e, t, i, n, !1)
  5358. }, Z.strokeText = function(e, t, i, n) {
  5359. this.drawText_(e, t, i, n, !0)
  5360. }, Z.measureText = function(e) {
  5361. if(!this.textMeasureEl_) {
  5362. var t = '<span style="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;"></span>';
  5363. this.element_.insertAdjacentHTML("beforeEnd", t), this.textMeasureEl_ = this.element_.lastChild
  5364. }
  5365. var i = this.element_.ownerDocument;
  5366. this.textMeasureEl_.innerHTML = "";
  5367. try {
  5368. this.textMeasureEl_.style.font = this.font
  5369. } catch(n) {}
  5370. return this.textMeasureEl_.appendChild(i.createTextNode(e)), {
  5371. width: this.textMeasureEl_.offsetWidth
  5372. }
  5373. }, Z.clip = function() {}, Z.arcTo = function() {}, Z.createPattern = function(e, t) {
  5374. return new w(e, t)
  5375. }, v.prototype.addColorStop = function(e, t) {
  5376. t = c(t), this.colors_.push({
  5377. offset: e,
  5378. color: t.color,
  5379. alpha: t.alpha
  5380. })
  5381. };
  5382. var q = J.prototype = new Error;
  5383. q.INDEX_SIZE_ERR = 1, q.DOMSTRING_SIZE_ERR = 2, q.HIERARCHY_REQUEST_ERR = 3, q.WRONG_DOCUMENT_ERR = 4, q.INVALID_CHARACTER_ERR = 5, q.NO_DATA_ALLOWED_ERR = 6, q.NO_MODIFICATION_ALLOWED_ERR = 7, q.NOT_FOUND_ERR = 8, q.NOT_SUPPORTED_ERR = 9, q.INUSE_ATTRIBUTE_ERR = 10, q.INVALID_STATE_ERR = 11, q.SYNTAX_ERR = 12, q.INVALID_MODIFICATION_ERR = 13, q.NAMESPACE_ERR = 14, q.INVALID_ACCESS_ERR = 15, q.VALIDATION_ERR = 16, q.TYPE_MISMATCH_ERR = 17, G_vmlCanvasManager = P, CanvasRenderingContext2D = f, CanvasGradient = v, CanvasPattern = w, DOMException = J
  5384. }(), G_vmlCanvasManager
  5385. }), i("zrender/mixin/Eventful", ["require"], function() {
  5386. var e = function() {
  5387. this._handlers = {}
  5388. };
  5389. return e.prototype.one = function(e, t, i) {
  5390. var n = this._handlers;
  5391. return t && e ? (n[e] || (n[e] = []), n[e].push({
  5392. h: t,
  5393. one: !0,
  5394. ctx: i || this
  5395. }), this) : this
  5396. }, e.prototype.bind = function(e, t, i) {
  5397. var n = this._handlers;
  5398. return t && e ? (n[e] || (n[e] = []), n[e].push({
  5399. h: t,
  5400. one: !1,
  5401. ctx: i || this
  5402. }), this) : this
  5403. }, e.prototype.unbind = function(e, t) {
  5404. var i = this._handlers;
  5405. if(!e) return this._handlers = {}, this;
  5406. if(t) {
  5407. if(i[e]) {
  5408. for(var n = [], a = 0, o = i[e].length; o > a; a++) i[e][a].h != t && n.push(i[e][a]);
  5409. i[e] = n
  5410. }
  5411. i[e] && 0 === i[e].length && delete i[e]
  5412. } else delete i[e];
  5413. return this
  5414. }, e.prototype.dispatch = function(e) {
  5415. if(this._handlers[e]) {
  5416. var t = arguments,
  5417. i = t.length;
  5418. i > 3 && (t = Array.prototype.slice.call(t, 1));
  5419. for(var n = this._handlers[e], a = n.length, o = 0; a > o;) {
  5420. switch(i) {
  5421. case 1:
  5422. n[o].h.call(n[o].ctx);
  5423. break;
  5424. case 2:
  5425. n[o].h.call(n[o].ctx, t[1]);
  5426. break;
  5427. case 3:
  5428. n[o].h.call(n[o].ctx, t[1], t[2]);
  5429. break;
  5430. default:
  5431. n[o].h.apply(n[o].ctx, t)
  5432. }
  5433. n[o].one ? (n.splice(o, 1), a--) : o++
  5434. }
  5435. }
  5436. return this
  5437. }, e.prototype.dispatchWithContext = function(e) {
  5438. if(this._handlers[e]) {
  5439. var t = arguments,
  5440. i = t.length;
  5441. i > 4 && (t = Array.prototype.slice.call(t, 1, t.length - 1));
  5442. for(var n = t[t.length - 1], a = this._handlers[e], o = a.length, r = 0; o > r;) {
  5443. switch(i) {
  5444. case 1:
  5445. a[r].h.call(n);
  5446. break;
  5447. case 2:
  5448. a[r].h.call(n, t[1]);
  5449. break;
  5450. case 3:
  5451. a[r].h.call(n, t[1], t[2]);
  5452. break;
  5453. default:
  5454. a[r].h.apply(n, t)
  5455. }
  5456. a[r].one ? (a.splice(r, 1), o--) : r++
  5457. }
  5458. }
  5459. return this
  5460. }, e
  5461. }), i("zrender/tool/log", ["require", "../config"], function(e) {
  5462. var t = e("../config");
  5463. return function() {
  5464. if(0 !== t.debugMode)
  5465. if(1 == t.debugMode)
  5466. for(var e in arguments) throw new Error(arguments[e]);
  5467. else if(t.debugMode > 1)
  5468. for(var e in arguments) console.log(arguments[e])
  5469. }
  5470. }), i("zrender/tool/guid", [], function() {
  5471. var e = 2311;
  5472. return function() {
  5473. return "zrender__" + e++
  5474. }
  5475. }), i("zrender/Handler", ["require", "./config", "./tool/env", "./tool/event", "./tool/util", "./tool/vector", "./tool/matrix", "./mixin/Eventful"], function(e) {
  5476. "use strict";
  5477. function t(e, t) {
  5478. return function(i, n) {
  5479. return e.call(t, i, n)
  5480. }
  5481. }
  5482. function i(e, t) {
  5483. return function(i, n, a) {
  5484. return e.call(t, i, n, a)
  5485. }
  5486. }
  5487. function n(e) {
  5488. for(var i = d.length; i--;) {
  5489. var n = d[i];
  5490. e["_" + n + "Handler"] = t(c[n], e)
  5491. }
  5492. }
  5493. function a(e, t, i) {
  5494. if(this._draggingTarget && this._draggingTarget.id == e.id || e.isSilent()) return !1;
  5495. var n = this._event;
  5496. if(e.isCover(t, i)) {
  5497. e.hoverable && this.storage.addHover(e);
  5498. for(var a = e.parent; a;) {
  5499. if(a.clipShape && !a.clipShape.isCover(this._mouseX, this._mouseY)) return !1;
  5500. a = a.parent
  5501. }
  5502. return this._lastHover != e && (this._processOutShape(n), this._processDragLeave(n), this._lastHover = e, this._processDragEnter(n)), this._processOverShape(n), this._processDragOver(n), this._hasfound = 1, !0
  5503. }
  5504. return !1
  5505. }
  5506. var o = e("./config"),
  5507. r = e("./tool/env"),
  5508. s = e("./tool/event"),
  5509. l = e("./tool/util"),
  5510. h = e("./tool/vector"),
  5511. m = e("./tool/matrix"),
  5512. V = o.EVENT,
  5513. U = e("./mixin/Eventful"),
  5514. d = ["resize", "click", "dblclick", "mousewheel", "mousemove", "mouseout", "mouseup", "mousedown", "touchstart", "touchend", "touchmove"],
  5515. p = function(e) {
  5516. if(window.G_vmlCanvasManager) return !0;
  5517. e = e || window.event;
  5518. var t = e.toElement || e.relatedTarget || e.srcElement || e.target;
  5519. return t && t.className.match(o.elementClassName)
  5520. },
  5521. c = {
  5522. resize: function(e) {
  5523. e = e || window.event, this._lastHover = null, this._isMouseDown = 0, this.dispatch(V.RESIZE, e)
  5524. },
  5525. click: function(e, t) {
  5526. if(p(e) || t) {
  5527. e = this._zrenderEventFixed(e);
  5528. var i = this._lastHover;
  5529. (i && i.clickable || !i) && this._clickThreshold < 5 && this._dispatchAgency(i, V.CLICK, e), this._mousemoveHandler(e)
  5530. }
  5531. },
  5532. dblclick: function(e, t) {
  5533. if(p(e) || t) {
  5534. e = e || window.event, e = this._zrenderEventFixed(e);
  5535. var i = this._lastHover;
  5536. (i && i.clickable || !i) && this._clickThreshold < 5 && this._dispatchAgency(i, V.DBLCLICK, e), this._mousemoveHandler(e)
  5537. }
  5538. },
  5539. mousewheel: function(e, t) {
  5540. if(p(e) || t) {
  5541. e = this._zrenderEventFixed(e);
  5542. var i = e.wheelDelta || -e.detail,
  5543. n = i > 0 ? 1.1 : 1 / 1.1,
  5544. a = !1,
  5545. o = this._mouseX,
  5546. r = this._mouseY;
  5547. this.painter.eachBuildinLayer(function(t) {
  5548. var i = t.position;
  5549. if(t.zoomable) {
  5550. t.__zoom = t.__zoom || 1;
  5551. var l = t.__zoom;
  5552. l *= n, l = Math.max(Math.min(t.maxZoom, l), t.minZoom), n = l / t.__zoom, t.__zoom = l, i[0] -= (o - i[0]) * (n - 1), i[1] -= (r - i[1]) * (n - 1), t.scale[0] *= n, t.scale[1] *= n, t.dirty = !0, a = !0, s.stop(e)
  5553. }
  5554. }), a && this.painter.refresh(), this._dispatchAgency(this._lastHover, V.MOUSEWHEEL, e), this._mousemoveHandler(e)
  5555. }
  5556. },
  5557. mousemove: function(e, t) {
  5558. if((p(e) || t) && !this.painter.isLoading()) {
  5559. e = this._zrenderEventFixed(e), this._lastX = this._mouseX, this._lastY = this._mouseY, this._mouseX = s.getX(e), this._mouseY = s.getY(e);
  5560. var i = this._mouseX - this._lastX,
  5561. n = this._mouseY - this._lastY;
  5562. this._processDragStart(e), this._hasfound = 0, this._event = e, this._iterateAndFindHover(), this._hasfound || ((!this._draggingTarget || this._lastHover && this._lastHover != this._draggingTarget) && (this._processOutShape(e),
  5563. this._processDragLeave(e)), this._lastHover = null, this.storage.delHover(), this.painter.clearHover());
  5564. var a = "default";
  5565. if(this._draggingTarget) this.storage.drift(this._draggingTarget.id, i, n), this._draggingTarget.modSelf(), this.storage.addHover(this._draggingTarget), this._clickThreshold++;
  5566. else if(this._isMouseDown) {
  5567. var o = !1;
  5568. this.painter.eachBuildinLayer(function(e) {
  5569. e.panable && (a = "move", e.position[0] += i, e.position[1] += n, o = !0, e.dirty = !0)
  5570. }), o && this.painter.refresh()
  5571. }
  5572. this._draggingTarget || this._hasfound && this._lastHover.draggable ? a = "move" : this._hasfound && this._lastHover.clickable && (a = "pointer"), this.root.style.cursor = a, this._dispatchAgency(this._lastHover, V.MOUSEMOVE, e), (this._draggingTarget || this._hasfound || this.storage.hasHoverShape()) && this.painter.refreshHover()
  5573. }
  5574. },
  5575. mouseout: function(e, t) {
  5576. if(p(e) || t) {
  5577. e = this._zrenderEventFixed(e);
  5578. var i = e.toElement || e.relatedTarget;
  5579. if(i != this.root)
  5580. for(; i && 9 != i.nodeType;) {
  5581. if(i == this.root) return void this._mousemoveHandler(e);
  5582. i = i.parentNode
  5583. }
  5584. e.zrenderX = this._lastX, e.zrenderY = this._lastY, this.root.style.cursor = "default", this._isMouseDown = 0, this._processOutShape(e), this._processDrop(e), this._processDragEnd(e), this.painter.isLoading() || this.painter.refreshHover(), this.dispatch(V.GLOBALOUT, e)
  5585. }
  5586. },
  5587. mousedown: function(e, t) {
  5588. if(p(e) || t) {
  5589. if(this._clickThreshold = 0, 2 == this._lastDownButton) return this._lastDownButton = e.button, void(this._mouseDownTarget = null);
  5590. this._lastMouseDownMoment = new Date, e = this._zrenderEventFixed(e), this._isMouseDown = 1, this._mouseDownTarget = this._lastHover, this._dispatchAgency(this._lastHover, V.MOUSEDOWN, e), this._lastDownButton = e.button
  5591. }
  5592. },
  5593. mouseup: function(e, t) {
  5594. (p(e) || t) && (e = this._zrenderEventFixed(e), this.root.style.cursor = "default", this._isMouseDown = 0, this._mouseDownTarget = null, this._dispatchAgency(this._lastHover, V.MOUSEUP, e), this._processDrop(e), this._processDragEnd(e))
  5595. },
  5596. touchstart: function(e, t) {
  5597. (p(e) || t) && (e = this._zrenderEventFixed(e, !0), this._lastTouchMoment = new Date, this._mobileFindFixed(e), this._mousedownHandler(e))
  5598. },
  5599. touchmove: function(e, t) {
  5600. (p(e) || t) && (e = this._zrenderEventFixed(e, !0), this._mousemoveHandler(e), this._isDragging && s.stop(e))
  5601. },
  5602. touchend: function(e, t) {
  5603. if(p(e) || t) {
  5604. e = this._zrenderEventFixed(e, !0), this._mouseupHandler(e);
  5605. var i = new Date;
  5606. i - this._lastTouchMoment < V.touchClickDelay && (this._mobileFindFixed(e), this._clickHandler(e), i - this._lastClickMoment < V.touchClickDelay / 2 && (this._dblclickHandler(e), this._lastHover && this._lastHover.clickable && s.stop(e)), this._lastClickMoment = i), this.painter.clearHover()
  5607. }
  5608. }
  5609. },
  5610. u = function(e, t, o) {
  5611. U.call(this), this.root = e, this.storage = t, this.painter = o, this._lastX = this._lastY = this._mouseX = this._mouseY = 0, this._findHover = i(a, this), this._domHover = o.getDomHover(), n(this), window.addEventListener ? (window.addEventListener("resize", this._resizeHandler), r.os.tablet || r.os.phone ? (e.addEventListener("touchstart", this._touchstartHandler), e.addEventListener("touchmove", this._touchmoveHandler), e.addEventListener("touchend", this._touchendHandler)) : (e.addEventListener("click", this._clickHandler), e.addEventListener("dblclick", this._dblclickHandler), e.addEventListener("mousewheel", this._mousewheelHandler), e.addEventListener("mousemove", this._mousemoveHandler), e.addEventListener("mousedown", this._mousedownHandler), e.addEventListener("mouseup", this._mouseupHandler)), e.addEventListener("DOMMouseScroll", this._mousewheelHandler), e.addEventListener("mouseout", this._mouseoutHandler)) : (window.attachEvent("onresize", this._resizeHandler), e.attachEvent("onclick", this._clickHandler), e.ondblclick = this._dblclickHandler, e.attachEvent("onmousewheel", this._mousewheelHandler), e.attachEvent("onmousemove", this._mousemoveHandler), e.attachEvent("onmouseout", this._mouseoutHandler), e.attachEvent("onmousedown", this._mousedownHandler), e.attachEvent("onmouseup", this._mouseupHandler))
  5612. };
  5613. u.prototype.on = function(e, t, i) {
  5614. return this.bind(e, t, i), this
  5615. }, u.prototype.un = function(e, t) {
  5616. return this.unbind(e, t), this
  5617. }, u.prototype.trigger = function(e, t) {
  5618. switch(e) {
  5619. case V.RESIZE:
  5620. case V.CLICK:
  5621. case V.DBLCLICK:
  5622. case V.MOUSEWHEEL:
  5623. case V.MOUSEMOVE:
  5624. case V.MOUSEDOWN:
  5625. case V.MOUSEUP:
  5626. case V.MOUSEOUT:
  5627. this["_" + e + "Handler"](t, !0)
  5628. }
  5629. }, u.prototype.dispose = function() {
  5630. var e = this.root;
  5631. window.removeEventListener ? (window.removeEventListener("resize", this._resizeHandler), r.os.tablet || r.os.phone ? (e.removeEventListener("touchstart", this._touchstartHandler), e.removeEventListener("touchmove", this._touchmoveHandler), e.removeEventListener("touchend", this._touchendHandler)) : (e.removeEventListener("click", this._clickHandler), e.removeEventListener("dblclick", this._dblclickHandler), e.removeEventListener("mousewheel", this._mousewheelHandler), e.removeEventListener("mousemove", this._mousemoveHandler), e.removeEventListener("mousedown", this._mousedownHandler), e.removeEventListener("mouseup", this._mouseupHandler)), e.removeEventListener("DOMMouseScroll", this._mousewheelHandler), e.removeEventListener("mouseout", this._mouseoutHandler)) : (window.detachEvent("onresize", this._resizeHandler), e.detachEvent("onclick", this._clickHandler), e.detachEvent("dblclick", this._dblclickHandler), e.detachEvent("onmousewheel", this._mousewheelHandler), e.detachEvent("onmousemove", this._mousemoveHandler), e.detachEvent("onmouseout", this._mouseoutHandler), e.detachEvent("onmousedown", this._mousedownHandler), e.detachEvent("onmouseup", this._mouseupHandler)), this.root = this._domHover = this.storage = this.painter = null, this.un()
  5632. }, u.prototype._processDragStart = function(e) {
  5633. var t = this._lastHover;
  5634. if(this._isMouseDown && t && t.draggable && !this._draggingTarget && this._mouseDownTarget == t) {
  5635. if(t.dragEnableTime && new Date - this._lastMouseDownMoment < t.dragEnableTime) return;
  5636. var i = t;
  5637. this._draggingTarget = i, this._isDragging = 1, i.invisible = !0, this.storage.mod(i.id), this._dispatchAgency(i, V.DRAGSTART, e), this.painter.refresh()
  5638. }
  5639. }, u.prototype._processDragEnter = function(e) {
  5640. this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGENTER, e, this._draggingTarget)
  5641. }, u.prototype._processDragOver = function(e) {
  5642. this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGOVER, e, this._draggingTarget)
  5643. }, u.prototype._processDragLeave = function(e) {
  5644. this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGLEAVE, e, this._draggingTarget)
  5645. }, u.prototype._processDrop = function(e) {
  5646. this._draggingTarget && (this._draggingTarget.invisible = !1, this.storage.mod(this._draggingTarget.id), this.painter.refresh(), this._dispatchAgency(this._lastHover, V.DROP, e, this._draggingTarget))
  5647. }, u.prototype._processDragEnd = function(e) {
  5648. this._draggingTarget && (this._dispatchAgency(this._draggingTarget, V.DRAGEND, e), this._lastHover = null), this._isDragging = 0, this._draggingTarget = null
  5649. }, u.prototype._processOverShape = function(e) {
  5650. this._dispatchAgency(this._lastHover, V.MOUSEOVER, e)
  5651. }, u.prototype._processOutShape = function(e) {
  5652. this._dispatchAgency(this._lastHover, V.MOUSEOUT, e)
  5653. }, u.prototype._dispatchAgency = function(e, t, i, n) {
  5654. var a = "on" + t,
  5655. o = {
  5656. type: t,
  5657. event: i,
  5658. target: e,
  5659. cancelBubble: !1
  5660. },
  5661. r = e;
  5662. for(n && (o.dragged = n); r && (r[a] && (o.cancelBubble = r[a](o)), r.dispatch(t, o), r = r.parent, !o.cancelBubble););
  5663. if(e) o.cancelBubble || this.dispatch(t, o);
  5664. else if(!n) {
  5665. var s = {
  5666. type: t,
  5667. event: i
  5668. };
  5669. this.dispatch(t, s), this.painter.eachOtherLayer(function(e) {
  5670. "function" == typeof e[a] && e[a](s), e.dispatch && e.dispatch(t, s)
  5671. })
  5672. }
  5673. }, u.prototype._iterateAndFindHover = function() {
  5674. var e = m.create();
  5675. return function() {
  5676. for(var t, i, n = this.storage.getShapeList(), a = [0, 0], o = n.length - 1; o >= 0; o--) {
  5677. var r = n[o];
  5678. if(t !== r.zlevel && (i = this.painter.getLayer(r.zlevel, i), a[0] = this._mouseX, a[1] = this._mouseY, i.needTransform && (m.invert(e, i.transform), h.applyTransform(a, a, e))), this._findHover(r, a[0], a[1])) break
  5679. }
  5680. }
  5681. }();
  5682. var y = [{
  5683. x: 10
  5684. }, {
  5685. x: -20
  5686. }, {
  5687. x: 10,
  5688. y: 10
  5689. }, {
  5690. y: -20
  5691. }];
  5692. return u.prototype._mobileFindFixed = function(e) {
  5693. this._lastHover = null, this._mouseX = e.zrenderX, this._mouseY = e.zrenderY, this._event = e, this._iterateAndFindHover();
  5694. for(var t = 0; !this._lastHover && t < y.length; t++) {
  5695. var i = y[t];
  5696. i.x && (this._mouseX += i.x), i.y && (this._mouseY += i.y), this._iterateAndFindHover()
  5697. }
  5698. this._lastHover && (e.zrenderX = this._mouseX, e.zrenderY = this._mouseY)
  5699. }, u.prototype._zrenderEventFixed = function(e, t) {
  5700. if(e.zrenderFixed) return e;
  5701. if(t) {
  5702. var i = "touchend" != e.type ? e.targetTouches[0] : e.changedTouches[0];
  5703. if(i) {
  5704. var n = this.painter._domRoot.getBoundingClientRect();
  5705. e.zrenderX = i.clientX - n.left, e.zrenderY = i.clientY - n.top
  5706. }
  5707. } else {
  5708. e = e || window.event;
  5709. var a = e.toElement || e.relatedTarget || e.srcElement || e.target;
  5710. a && a != this._domHover && (e.zrenderX = ("undefined" != typeof e.offsetX ? e.offsetX : e.layerX) + a.offsetLeft, e.zrenderY = ("undefined" != typeof e.offsetY ? e.offsetY : e.layerY) + a.offsetTop)
  5711. }
  5712. return e.zrenderFixed = 1, e
  5713. }, l.merge(u.prototype, U.prototype, !0), u
  5714. }), i("zrender/Painter", ["require", "./config", "./tool/util", "./tool/log", "./loadingEffect/Base", "./Layer", "./shape/Image"], function(e) {
  5715. "use strict";
  5716. function t() {
  5717. return !1
  5718. }
  5719. function i() {}
  5720. function n(e) {
  5721. return e ? e.isBuildin ? !0 : "function" != typeof e.resize || "function" != typeof e.refresh ? !1 : !0 : !1
  5722. }
  5723. var a = e("./config"),
  5724. o = e("./tool/util"),
  5725. r = e("./tool/log"),
  5726. s = e("./loadingEffect/Base"),
  5727. l = e("./Layer"),
  5728. h = function(e, i) {
  5729. this.root = e, e.style["-webkit-tap-highlight-color"] = "transparent", e.style["-webkit-user-select"] = "none", e.style["user-select"] = "none", e.style["-webkit-touch-callout"] = "none", this.storage = i, e.innerHTML = "", this._width = this._getWidth(), this._height = this._getHeight();
  5730. var n = document.createElement("div");
  5731. this._domRoot = n, n.style.position = "relative", n.style.overflow = "hidden", n.style.width = this._width + "px", n.style.height = this._height + "px", e.appendChild(n), this._layers = {}, this._zlevelList = [], this._layerConfig = {}, this._loadingEffect = new s({}), this.shapeToImage = this._createShapeToImageProcessor(), this._bgDom = document.createElement("div"), this._bgDom.style.cssText = ["position:absolute;left:0px;top:0px;width:", this._width, "px;height:", this._height + "px;", "-webkit-user-select:none;user-select;none;", "-webkit-touch-callout:none;"].join(""), this._bgDom.setAttribute("data-zr-dom-id", "bg"), this._bgDom.className = a.elementClassName, n.appendChild(this._bgDom), this._bgDom.onselectstart = t;
  5732. var o = new l("_zrender_hover_", this);
  5733. this._layers.hover = o, n.appendChild(o.dom), o.initContext(), o.dom.onselectstart = t, o.dom.style["-webkit-user-select"] = "none", o.dom.style["user-select"] = "none", o.dom.style["-webkit-touch-callout"] = "none", this.refreshNextFrame = null
  5734. };
  5735. return h.prototype.render = function(e) {
  5736. return this.isLoading() && this.hideLoading(), this.refresh(e, !0), this
  5737. }, h.prototype.refresh = function(e, t) {
  5738. var i = this.storage.getShapeList(!0);
  5739. this._paintList(i, t);
  5740. for(var n = 0; n < this._zlevelList.length; n++) {
  5741. var a = this._zlevelList[n],
  5742. o = this._layers[a];
  5743. !o.isBuildin && o.refresh && o.refresh()
  5744. }
  5745. return "function" == typeof e && e(), this
  5746. }, h.prototype._preProcessLayer = function(e) {
  5747. e.unusedCount++, e.updateTransform()
  5748. }, h.prototype._postProcessLayer = function(e) {
  5749. e.dirty = !1, 1 == e.unusedCount && e.clear()
  5750. }, h.prototype._paintList = function(e, t) {
  5751. "undefined" == typeof t && (t = !1), this._updateLayerStatus(e);
  5752. var i, n, o;
  5753. this.eachBuildinLayer(this._preProcessLayer);
  5754. for(var s = 0, l = e.length; l > s; s++) {
  5755. var h = e[s];
  5756. if(n !== h.zlevel && (i && (i.needTransform && o.restore(), o.flush && o.flush()), n = h.zlevel, i = this.getLayer(n), i.isBuildin || r("ZLevel " + n + " has been used by unkown layer " + i.id), o = i.ctx, i.unusedCount = 0, (i.dirty || t) && i.clear(), i.needTransform && (o.save(), i.setTransform(o))), (i.dirty || t) && !h.invisible && (!h.onbrush || h.onbrush && !h.onbrush(o, !1)))
  5757. if(a.catchBrushException) try {
  5758. h.brush(o, !1, this.refreshNextFrame)
  5759. } catch(m) {
  5760. r(m, "brush error of " + h.type, h)
  5761. } else h.brush(o, !1, this.refreshNextFrame);
  5762. h.__dirty = !1
  5763. }
  5764. i && (i.needTransform && o.restore(), o.flush && o.flush()), this.eachBuildinLayer(this._postProcessLayer)
  5765. }, h.prototype.getLayer = function(e) {
  5766. var t = this._layers[e];
  5767. return t || (t = new l(e, this), t.isBuildin = !0, this._layerConfig[e] && o.merge(t, this._layerConfig[e], !0), t.updateTransform(), this.insertLayer(e, t), t.initContext()), t
  5768. }, h.prototype.insertLayer = function(e, t) {
  5769. if(this._layers[e]) return void r("ZLevel " + e + " has been used already");
  5770. if(!n(t)) return void r("Layer of zlevel " + e + " is not valid");
  5771. var i = this._zlevelList.length,
  5772. a = null,
  5773. o = -1;
  5774. if(i > 0 && e > this._zlevelList[0]) {
  5775. for(o = 0; i - 1 > o && !(this._zlevelList[o] < e && this._zlevelList[o + 1] > e); o++);
  5776. a = this._layers[this._zlevelList[o]]
  5777. }
  5778. this._zlevelList.splice(o + 1, 0, e);
  5779. var s = a ? a.dom : this._bgDom;
  5780. s.nextSibling ? s.parentNode.insertBefore(t.dom, s.nextSibling) : s.parentNode.appendChild(t.dom), this._layers[e] = t
  5781. }, h.prototype.eachLayer = function(e, t) {
  5782. for(var i = 0; i < this._zlevelList.length; i++) {
  5783. var n = this._zlevelList[i];
  5784. e.call(t, this._layers[n], n)
  5785. }
  5786. }, h.prototype.eachBuildinLayer = function(e, t) {
  5787. for(var i = 0; i < this._zlevelList.length; i++) {
  5788. var n = this._zlevelList[i],
  5789. a = this._layers[n];
  5790. a.isBuildin && e.call(t, a, n)
  5791. }
  5792. }, h.prototype.eachOtherLayer = function(e, t) {
  5793. for(var i = 0; i < this._zlevelList.length; i++) {
  5794. var n = this._zlevelList[i],
  5795. a = this._layers[n];
  5796. a.isBuildin || e.call(t, a, n)
  5797. }
  5798. }, h.prototype.getLayers = function() {
  5799. return this._layers
  5800. }, h.prototype._updateLayerStatus = function(e) {
  5801. var t = this._layers,
  5802. i = {};
  5803. this.eachBuildinLayer(function(e, t) {
  5804. i[t] = e.elCount, e.elCount = 0
  5805. });
  5806. for(var n = 0, a = e.length; a > n; n++) {
  5807. var o = e[n],
  5808. r = o.zlevel,
  5809. s = t[r];
  5810. if(s) {
  5811. if(s.elCount++, s.dirty) continue;
  5812. s.dirty = o.__dirty
  5813. }
  5814. }
  5815. this.eachBuildinLayer(function(e, t) {
  5816. i[t] !== e.elCount && (e.dirty = !0)
  5817. })
  5818. }, h.prototype.refreshShapes = function(e, t) {
  5819. for(var i = 0, n = e.length; n > i; i++) {
  5820. var a = e[i];
  5821. a.modSelf()
  5822. }
  5823. return this.refresh(t), this
  5824. }, h.prototype.setLoadingEffect = function(e) {
  5825. return this._loadingEffect = e, this
  5826. }, h.prototype.clear = function() {
  5827. return this.eachBuildinLayer(this._clearLayer), this
  5828. }, h.prototype._clearLayer = function(e) {
  5829. e.clear()
  5830. }, h.prototype.modLayer = function(e, t) {
  5831. if(t) {
  5832. this._layerConfig[e] ? o.merge(this._layerConfig[e], t, !0) : this._layerConfig[e] = t;
  5833. var i = this._layers[e];
  5834. i && o.merge(i, this._layerConfig[e], !0)
  5835. }
  5836. }, h.prototype.delLayer = function(e) {
  5837. var t = this._layers[e];
  5838. t && (this.modLayer(e, {
  5839. position: t.position,
  5840. rotation: t.rotation,
  5841. scale: t.scale
  5842. }), t.dom.parentNode.removeChild(t.dom), delete this._layers[e], this._zlevelList.splice(o.indexOf(this._zlevelList, e), 1))
  5843. }, h.prototype.refreshHover = function() {
  5844. this.clearHover();
  5845. for(var e = this.storage.getHoverShapes(!0), t = 0, i = e.length; i > t; t++) this._brushHover(e[t]);
  5846. var n = this._layers.hover.ctx;
  5847. return n.flush && n.flush(), this.storage.delHover(), this
  5848. }, h.prototype.clearHover = function() {
  5849. var e = this._layers.hover;
  5850. return e && e.clear(), this
  5851. }, h.prototype.showLoading = function(e) {
  5852. return this._loadingEffect && this._loadingEffect.stop(), e && this.setLoadingEffect(e), this._loadingEffect.start(this), this.loading = !0, this
  5853. }, h.prototype.hideLoading = function() {
  5854. return this._loadingEffect.stop(), this.clearHover(), this.loading = !1, this
  5855. }, h.prototype.isLoading = function() {
  5856. return this.loading
  5857. }, h.prototype.resize = function() {
  5858. var e = this._domRoot;
  5859. e.style.display = "none";
  5860. var t = this._getWidth(),
  5861. i = this._getHeight();
  5862. if(e.style.display = "", this._width != t || i != this._height) {
  5863. this._width = t, this._height = i, e.style.width = t + "px", e.style.height = i + "px";
  5864. for(var n in this._layers) this._layers[n].resize(t, i);
  5865. this.refresh(null, !0)
  5866. }
  5867. return this
  5868. }, h.prototype.clearLayer = function(e) {
  5869. var t = this._layers[e];
  5870. t && t.clear()
  5871. }, h.prototype.dispose = function() {
  5872. this.isLoading() && this.hideLoading(), this.root.innerHTML = "", this.root = this.storage = this._domRoot = this._layers = null
  5873. }, h.prototype.getDomHover = function() {
  5874. return this._layers.hover.dom
  5875. }, h.prototype.toDataURL = function(e, t, i) {
  5876. if(window.G_vmlCanvasManager) return null;
  5877. var n = new l("image", this);
  5878. this._bgDom.appendChild(n.dom), n.initContext();
  5879. var o = n.ctx;
  5880. n.clearColor = t || "#fff", n.clear();
  5881. var s = this;
  5882. this.storage.iterShape(function(e) {
  5883. if(!e.invisible && (!e.onbrush || e.onbrush && !e.onbrush(o, !1)))
  5884. if(a.catchBrushException) try {
  5885. e.brush(o, !1, s.refreshNextFrame)
  5886. } catch(t) {
  5887. r(t, "brush error of " + e.type, e)
  5888. } else e.brush(o, !1, s.refreshNextFrame)
  5889. }, {
  5890. normal: "up",
  5891. update: !0
  5892. });
  5893. var h = n.dom.toDataURL(e, i);
  5894. return o = null, this._bgDom.removeChild(n.dom), h
  5895. }, h.prototype.getWidth = function() {
  5896. return this._width
  5897. }, h.prototype.getHeight = function() {
  5898. return this._height
  5899. }, h.prototype._getWidth = function() {
  5900. var e = this.root,
  5901. t = e.currentStyle || document.defaultView.getComputedStyle(e);
  5902. return((e.clientWidth || parseInt(t.width, 10)) - parseInt(t.paddingLeft, 10) - parseInt(t.paddingRight, 10)).toFixed(0) - 0
  5903. }, h.prototype._getHeight = function() {
  5904. var e = this.root,
  5905. t = e.currentStyle || document.defaultView.getComputedStyle(e);
  5906. return((e.clientHeight || parseInt(t.height, 10)) - parseInt(t.paddingTop, 10) - parseInt(t.paddingBottom, 10)).toFixed(0) - 0
  5907. }, h.prototype._brushHover = function(e) {
  5908. var t = this._layers.hover.ctx;
  5909. if(!e.onbrush || e.onbrush && !e.onbrush(t, !0)) {
  5910. var i = this.getLayer(e.zlevel);
  5911. if(i.needTransform && (t.save(), i.setTransform(t)), a.catchBrushException) try {
  5912. e.brush(t, !0, this.refreshNextFrame)
  5913. } catch(n) {
  5914. r(n, "hoverBrush error of " + e.type, e)
  5915. } else e.brush(t, !0, this.refreshNextFrame);
  5916. i.needTransform && t.restore()
  5917. }
  5918. }, h.prototype._shapeToImage = function(t, i, n, a, o) {
  5919. var r = document.createElement("canvas"),
  5920. s = r.getContext("2d");
  5921. r.style.width = n + "px", r.style.height = a + "px", r.setAttribute("width", n * o), r.setAttribute("height", a * o), s.clearRect(0, 0, n * o, a * o);
  5922. var l = {
  5923. position: i.position,
  5924. rotation: i.rotation,
  5925. scale: i.scale
  5926. };
  5927. i.position = [0, 0, 0], i.rotation = 0, i.scale = [1, 1], i && i.brush(s, !1);
  5928. var h = e("./shape/Image"),
  5929. m = new h({
  5930. id: t,
  5931. style: {
  5932. x: 0,
  5933. y: 0,
  5934. image: r
  5935. }
  5936. });
  5937. return null != l.position && (m.position = i.position = l.position), null != l.rotation && (m.rotation = i.rotation = l.rotation), null != l.scale && (m.scale = i.scale = l.scale), m
  5938. }, h.prototype._createShapeToImageProcessor = function() {
  5939. if(window.G_vmlCanvasManager) return i;
  5940. var e = this;
  5941. return function(t, i, n, o) {
  5942. return e._shapeToImage(t, i, n, o, a.devicePixelRatio)
  5943. }
  5944. }, h
  5945. }), i("zrender/Storage", ["require", "./tool/util", "./Group"], function(e) {
  5946. "use strict";
  5947. function t(e, t) {
  5948. return e.zlevel == t.zlevel ? e.z == t.z ? e.__renderidx - t.__renderidx : e.z - t.z : e.zlevel - t.zlevel
  5949. }
  5950. var i = e("./tool/util"),
  5951. n = e("./Group"),
  5952. a = {
  5953. hover: !1,
  5954. normal: "down",
  5955. update: !1
  5956. },
  5957. o = function() {
  5958. this._elements = {}, this._hoverElements = [], this._roots = [], this._shapeList = [], this._shapeListOffset = 0
  5959. };
  5960. return o.prototype.iterShape = function(e, t) {
  5961. if(t || (t = a), t.hover)
  5962. for(var i = 0, n = this._hoverElements.length; n > i; i++) {
  5963. var o = this._hoverElements[i];
  5964. if(o.updateTransform(), e(o)) return this
  5965. }
  5966. switch(t.update && this.updateShapeList(), t.normal) {
  5967. case "down":
  5968. for(var n = this._shapeList.length; n--;)
  5969. if(e(this._shapeList[n])) return this;
  5970. break;
  5971. default:
  5972. for(var i = 0, n = this._shapeList.length; n > i; i++)
  5973. if(e(this._shapeList[i])) return this
  5974. }
  5975. return this
  5976. }, o.prototype.getHoverShapes = function(e) {
  5977. for(var i = [], n = 0, a = this._hoverElements.length; a > n; n++) {
  5978. i.push(this._hoverElements[n]);
  5979. var o = this._hoverElements[n].hoverConnect;
  5980. if(o) {
  5981. var r;
  5982. o = o instanceof Array ? o : [o];
  5983. for(var s = 0, l = o.length; l > s; s++) r = o[s].id ? o[s] : this.get(o[s]), r && i.push(r)
  5984. }
  5985. }
  5986. if(i.sort(t), e)
  5987. for(var n = 0, a = i.length; a > n; n++) i[n].updateTransform();
  5988. return i
  5989. }, o.prototype.getShapeList = function(e) {
  5990. return e && this.updateShapeList(), this._shapeList
  5991. }, o.prototype.updateShapeList = function() {
  5992. this._shapeListOffset = 0;
  5993. for(var e = 0, i = this._roots.length; i > e; e++) {
  5994. var n = this._roots[e];
  5995. this._updateAndAddShape(n)
  5996. }
  5997. this._shapeList.length = this._shapeListOffset;
  5998. for(var e = 0, i = this._shapeList.length; i > e; e++) this._shapeList[e].__renderidx = e;
  5999. this._shapeList.sort(t)
  6000. }, o.prototype._updateAndAddShape = function(e, t) {
  6001. if(!e.ignore)
  6002. if(e.updateTransform(), e.clipShape && (e.clipShape.parent = e, e.clipShape.updateTransform(), t ? (t = t.slice(), t.push(e.clipShape)) : t = [e.clipShape]), "group" == e.type) {
  6003. for(var i = 0; i < e._children.length; i++) {
  6004. var n = e._children[i];
  6005. n.__dirty = e.__dirty || n.__dirty, this._updateAndAddShape(n, t)
  6006. }
  6007. e.__dirty = !1
  6008. } else e.__clipShapes = t, this._shapeList[this._shapeListOffset++] = e
  6009. }, o.prototype.mod = function(e, t) {
  6010. if("string" == typeof e && (e = this._elements[e]), e && (e.modSelf(), t))
  6011. if(t.parent || t._storage || t.__clipShapes) {
  6012. var n = {};
  6013. for(var a in t) "parent" !== a && "_storage" !== a && "__clipShapes" !== a && t.hasOwnProperty(a) && (n[a] = t[a]);
  6014. i.merge(e, n, !0)
  6015. } else i.merge(e, t, !0);
  6016. return this
  6017. }, o.prototype.drift = function(e, t, i) {
  6018. var n = this._elements[e];
  6019. return n && (n.needTransform = !0, "horizontal" === n.draggable ? i = 0 : "vertical" === n.draggable && (t = 0), (!n.ondrift || n.ondrift && !n.ondrift(t, i)) && n.drift(t, i)), this
  6020. }, o.prototype.addHover = function(e) {
  6021. return e.updateNeedTransform(), this._hoverElements.push(e), this
  6022. }, o.prototype.delHover = function() {
  6023. return this._hoverElements = [], this
  6024. }, o.prototype.hasHoverShape = function() {
  6025. return this._hoverElements.length > 0
  6026. }, o.prototype.addRoot = function(e) {
  6027. this._elements[e.id] || (e instanceof n && e.addChildrenToStorage(this), this.addToMap(e), this._roots.push(e))
  6028. }, o.prototype.delRoot = function(e) {
  6029. if("undefined" == typeof e) {
  6030. for(var t = 0; t < this._roots.length; t++) {
  6031. var a = this._roots[t];
  6032. a instanceof n && a.delChildrenFromStorage(this)
  6033. }
  6034. return this._elements = {}, this._hoverElements = [], this._roots = [], this._shapeList = [], void(this._shapeListOffset = 0)
  6035. }
  6036. if(e instanceof Array)
  6037. for(var t = 0, o = e.length; o > t; t++) this.delRoot(e[t]);
  6038. else {
  6039. var r;
  6040. r = "string" == typeof e ? this._elements[e] : e;
  6041. var s = i.indexOf(this._roots, r);
  6042. s >= 0 && (this.delFromMap(r.id), this._roots.splice(s, 1), r instanceof n && r.delChildrenFromStorage(this))
  6043. }
  6044. }, o.prototype.addToMap = function(e) {
  6045. return e instanceof n && (e._storage = this), e.modSelf(), this._elements[e.id] = e, this
  6046. }, o.prototype.get = function(e) {
  6047. return this._elements[e]
  6048. }, o.prototype.delFromMap = function(e) {
  6049. var t = this._elements[e];
  6050. return t && (delete this._elements[e], t instanceof n && (t._storage = null)), this
  6051. }, o.prototype.dispose = function() {
  6052. this._elements = this._renderList = this._roots = this._hoverElements = null
  6053. }, o
  6054. }), i("zrender/animation/Animation", ["require", "./Clip", "../tool/color", "../tool/util", "../tool/event"], function(e) {
  6055. "use strict";
  6056. function t(e, t) {
  6057. return e[t]
  6058. }
  6059. function i(e, t, i) {
  6060. e[t] = i
  6061. }
  6062. function n(e, t, i) {
  6063. return(t - e) * i + e
  6064. }
  6065. function a(e, t, i, a, o) {
  6066. var r = e.length;
  6067. if(1 == o)
  6068. for(var s = 0; r > s; s++) a[s] = n(e[s], t[s], i);
  6069. else
  6070. for(var l = e[0].length, s = 0; r > s; s++)
  6071. for(var h = 0; l > h; h++) a[s][h] = n(e[s][h], t[s][h], i)
  6072. }
  6073. function o(e) {
  6074. switch(typeof e) {
  6075. case "undefined":
  6076. case "string":
  6077. return !1
  6078. }
  6079. return "undefined" != typeof e.length
  6080. }
  6081. function r(e, t, i, n, a, o, r, l, h) {
  6082. var m = e.length;
  6083. if(1 == h)
  6084. for(var V = 0; m > V; V++) l[V] = s(e[V], t[V], i[V], n[V], a, o, r);
  6085. else
  6086. for(var U = e[0].length, V = 0; m > V; V++)
  6087. for(var d = 0; U > d; d++) l[V][d] = s(e[V][d], t[V][d], i[V][d], n[V][d], a, o, r)
  6088. }
  6089. function s(e, t, i, n, a, o, r) {
  6090. var s = .5 * (i - e),
  6091. l = .5 * (n - t);
  6092. return(2 * (t - i) + s + l) * r + (-3 * (t - i) - 2 * s - l) * o + s * a + t
  6093. }
  6094. function l(e) {
  6095. if(o(e)) {
  6096. var t = e.length;
  6097. if(o(e[0])) {
  6098. for(var i = [], n = 0; t > n; n++) i.push(c.call(e[n]));
  6099. return i
  6100. }
  6101. return c.call(e)
  6102. }
  6103. return e
  6104. }
  6105. function h(e) {
  6106. return e[0] = Math.floor(e[0]), e[1] = Math.floor(e[1]), e[2] = Math.floor(e[2]), "rgba(" + e.join(",") + ")"
  6107. }
  6108. var m = e("./Clip"),
  6109. V = e("../tool/color"),
  6110. U = e("../tool/util"),
  6111. d = e("../tool/event").Dispatcher,
  6112. p = window.requestAnimationFrame || window.msRequestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(e) {
  6113. setTimeout(e, 16)
  6114. },
  6115. c = Array.prototype.slice,
  6116. u = function(e) {
  6117. e = e || {}, this.stage = e.stage || {}, this.onframe = e.onframe || function() {}, this._clips = [], this._running = !1, this._time = 0, d.call(this)
  6118. };
  6119. u.prototype = {
  6120. add: function(e) {
  6121. this._clips.push(e)
  6122. },
  6123. remove: function(e) {
  6124. if(e.__inStep) e.__needsRemove = !0;
  6125. else {
  6126. var t = U.indexOf(this._clips, e);
  6127. t >= 0 && this._clips.splice(t, 1)
  6128. }
  6129. },
  6130. _update: function() {
  6131. for(var e = (new Date).getTime(), t = e - this._time, i = this._clips, n = i.length, a = [], o = [], r = 0; n > r; r++) {
  6132. var s = i[r];
  6133. s.__inStep = !0;
  6134. var l = s.step(e);
  6135. s.__inStep = !1, l && (a.push(l), o.push(s))
  6136. }
  6137. for(var r = 0; n > r;) i[r].__needsRemove ? (i[r] = i[n - 1], i.pop(), n--) : r++;
  6138. n = a.length;
  6139. for(var r = 0; n > r; r++) o[r].fire(a[r]);
  6140. this._time = e, this.onframe(t), this.dispatch("frame", t), this.stage.update && this.stage.update()
  6141. },
  6142. start: function() {
  6143. function e() {
  6144. t._running && (p(e), t._update())
  6145. }
  6146. var t = this;
  6147. this._running = !0, this._time = (new Date).getTime(), p(e)
  6148. },
  6149. stop: function() {
  6150. this._running = !1
  6151. },
  6152. clear: function() {
  6153. this._clips = []
  6154. },
  6155. animate: function(e, t) {
  6156. t = t || {};
  6157. var i = new y(e, t.loop, t.getter, t.setter);
  6158. return i.animation = this, i
  6159. },
  6160. constructor: u
  6161. }, U.merge(u.prototype, d.prototype, !0);
  6162. var y = function(e, n, a, o) {
  6163. this._tracks = {}, this._target = e, this._loop = n || !1, this._getter = a || t, this._setter = o || i, this._clipCount = 0, this._delay = 0, this._doneList = [], this._onframeList = [], this._clipList = []
  6164. };
  6165. return y.prototype = {
  6166. when: function(e, t) {
  6167. for(var i in t) this._tracks[i] || (this._tracks[i] = [], 0 !== e && this._tracks[i].push({
  6168. time: 0,
  6169. value: l(this._getter(this._target, i))
  6170. })), this._tracks[i].push({
  6171. time: parseInt(e, 10),
  6172. value: t[i]
  6173. });
  6174. return this
  6175. },
  6176. during: function(e) {
  6177. return this._onframeList.push(e), this
  6178. },
  6179. start: function(e) {
  6180. var t = this,
  6181. i = this._setter,
  6182. l = this._getter,
  6183. U = "spline" === e,
  6184. d = function() {
  6185. if(t._clipCount--, 0 === t._clipCount) {
  6186. t._tracks = {};
  6187. for(var e = t._doneList.length, i = 0; e > i; i++) t._doneList[i].call(t)
  6188. }
  6189. },
  6190. p = function(p, c) {
  6191. var u = p.length;
  6192. if(u) {
  6193. var y = p[0].value,
  6194. g = o(y),
  6195. b = !1,
  6196. f = g && o(y[0]) ? 2 : 1;
  6197. p.sort(function(e, t) {
  6198. return e.time - t.time
  6199. });
  6200. var k;
  6201. if(u) {
  6202. k = p[u - 1].time;
  6203. for(var x = [], _ = [], L = 0; u > L; L++) {
  6204. x.push(p[L].time / k);
  6205. var W = p[L].value;
  6206. "string" == typeof W && (W = V.toArray(W), 0 === W.length && (W[0] = W[1] = W[2] = 0, W[3] = 1), b = !0), _.push(W)
  6207. }
  6208. var X, L, v, w, K, I, J, C = 0,
  6209. S = 0;
  6210. if(b) var E = [0, 0, 0, 0];
  6211. var F = function(e, o) {
  6212. if(S > o) {
  6213. for(X = Math.min(C + 1, u - 1), L = X; L >= 0 && !(x[L] <= o); L--);
  6214. L = Math.min(L, u - 2)
  6215. } else {
  6216. for(L = C; u > L && !(x[L] > o); L++);
  6217. L = Math.min(L - 1, u - 2)
  6218. }
  6219. C = L, S = o;
  6220. var m = x[L + 1] - x[L];
  6221. if(0 !== m) {
  6222. if(v = (o - x[L]) / m, U)
  6223. if(K = _[L], w = _[0 === L ? L : L - 1], I = _[L > u - 2 ? u - 1 : L + 1], J = _[L > u - 3 ? u - 1 : L + 2], g) r(w, K, I, J, v, v * v, v * v * v, l(e, c), f);
  6224. else {
  6225. var V;
  6226. b ? (V = r(w, K, I, J, v, v * v, v * v * v, E, 1), V = h(E)) : V = s(w, K, I, J, v, v * v, v * v * v), i(e, c, V)
  6227. }
  6228. else if(g) a(_[L], _[L + 1], v, l(e, c), f);
  6229. else {
  6230. var V;
  6231. b ? (a(_[L], _[L + 1], v, E, 1), V = h(E)) : V = n(_[L], _[L + 1], v), i(e, c, V)
  6232. }
  6233. for(L = 0; L < t._onframeList.length; L++) t._onframeList[L](e, o)
  6234. }
  6235. },
  6236. T = new m({
  6237. target: t._target,
  6238. life: k,
  6239. loop: t._loop,
  6240. delay: t._delay,
  6241. onframe: F,
  6242. ondestroy: d
  6243. });
  6244. e && "spline" !== e && (T.easing = e), t._clipList.push(T), t._clipCount++, t.animation.add(T)
  6245. }
  6246. }
  6247. };
  6248. for(var c in this._tracks) p(this._tracks[c], c);
  6249. return this
  6250. },
  6251. stop: function() {
  6252. for(var e = 0; e < this._clipList.length; e++) {
  6253. var t = this._clipList[e];
  6254. this.animation.remove(t)
  6255. }
  6256. this._clipList = []
  6257. },
  6258. delay: function(e) {
  6259. return this._delay = e, this
  6260. },
  6261. done: function(e) {
  6262. return e && this._doneList.push(e), this
  6263. }
  6264. }, u
  6265. }), i("zrender/tool/vector", [], function() {
  6266. var e = "undefined" == typeof Float32Array ? Array : Float32Array,
  6267. t = {
  6268. create: function(t, i) {
  6269. var n = new e(2);
  6270. return n[0] = t || 0, n[1] = i || 0, n
  6271. },
  6272. copy: function(e, t) {
  6273. return e[0] = t[0], e[1] = t[1], e
  6274. },
  6275. clone: function(t) {
  6276. var i = new e(2);
  6277. return i[0] = t[0], i[1] = t[1], i
  6278. },
  6279. set: function(e, t, i) {
  6280. return e[0] = t, e[1] = i, e
  6281. },
  6282. add: function(e, t, i) {
  6283. return e[0] = t[0] + i[0], e[1] = t[1] + i[1], e
  6284. },
  6285. scaleAndAdd: function(e, t, i, n) {
  6286. return e[0] = t[0] + i[0] * n, e[1] = t[1] + i[1] * n, e
  6287. },
  6288. sub: function(e, t, i) {
  6289. return e[0] = t[0] - i[0], e[1] = t[1] - i[1], e
  6290. },
  6291. len: function(e) {
  6292. return Math.sqrt(this.lenSquare(e))
  6293. },
  6294. lenSquare: function(e) {
  6295. return e[0] * e[0] + e[1] * e[1]
  6296. },
  6297. mul: function(e, t, i) {
  6298. return e[0] = t[0] * i[0], e[1] = t[1] * i[1], e
  6299. },
  6300. div: function(e, t, i) {
  6301. return e[0] = t[0] / i[0], e[1] = t[1] / i[1], e
  6302. },
  6303. dot: function(e, t) {
  6304. return e[0] * t[0] + e[1] * t[1]
  6305. },
  6306. scale: function(e, t, i) {
  6307. return e[0] = t[0] * i, e[1] = t[1] * i, e
  6308. },
  6309. normalize: function(e, i) {
  6310. var n = t.len(i);
  6311. return 0 === n ? (e[0] = 0, e[1] = 0) : (e[0] = i[0] / n, e[1] = i[1] / n), e
  6312. },
  6313. distance: function(e, t) {
  6314. return Math.sqrt((e[0] - t[0]) * (e[0] - t[0]) + (e[1] - t[1]) * (e[1] - t[1]))
  6315. },
  6316. distanceSquare: function(e, t) {
  6317. return(e[0] - t[0]) * (e[0] - t[0]) + (e[1] - t[1]) * (e[1] - t[1])
  6318. },
  6319. negate: function(e, t) {
  6320. return e[0] = -t[0], e[1] = -t[1], e
  6321. },
  6322. lerp: function(e, t, i, n) {
  6323. return e[0] = t[0] + n * (i[0] - t[0]), e[1] = t[1] + n * (i[1] - t[1]), e
  6324. },
  6325. applyTransform: function(e, t, i) {
  6326. var n = t[0],
  6327. a = t[1];
  6328. return e[0] = i[0] * n + i[2] * a + i[4], e[1] = i[1] * n + i[3] * a + i[5], e
  6329. },
  6330. min: function(e, t, i) {
  6331. return e[0] = Math.min(t[0], i[0]), e[1] = Math.min(t[1], i[1]), e
  6332. },
  6333. max: function(e, t, i) {
  6334. return e[0] = Math.max(t[0], i[0]), e[1] = Math.max(t[1], i[1]), e
  6335. }
  6336. };
  6337. return t.length = t.len, t.lengthSquare = t.lenSquare, t.dist = t.distance, t.distSquare = t.distanceSquare, t
  6338. }), i("zrender/tool/matrix", [], function() {
  6339. var e = "undefined" == typeof Float32Array ? Array : Float32Array,
  6340. t = {
  6341. create: function() {
  6342. var i = new e(6);
  6343. return t.identity(i), i
  6344. },
  6345. identity: function(e) {
  6346. return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 1, e[4] = 0, e[5] = 0, e
  6347. },
  6348. copy: function(e, t) {
  6349. return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[4] = t[4], e[5] = t[5], e
  6350. },
  6351. mul: function(e, t, i) {
  6352. return e[0] = t[0] * i[0] + t[2] * i[1], e[1] = t[1] * i[0] + t[3] * i[1], e[2] = t[0] * i[2] + t[2] * i[3], e[3] = t[1] * i[2] + t[3] * i[3], e[4] = t[0] * i[4] + t[2] * i[5] + t[4], e[5] = t[1] * i[4] + t[3] * i[5] + t[5], e
  6353. },
  6354. translate: function(e, t, i) {
  6355. return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[4] = t[4] + i[0], e[5] = t[5] + i[1], e
  6356. },
  6357. rotate: function(e, t, i) {
  6358. var n = t[0],
  6359. a = t[2],
  6360. o = t[4],
  6361. r = t[1],
  6362. s = t[3],
  6363. l = t[5],
  6364. h = Math.sin(i),
  6365. m = Math.cos(i);
  6366. return e[0] = n * m + r * h, e[1] = -n * h + r * m, e[2] = a * m + s * h, e[3] = -a * h + m * s, e[4] = m * o + h * l, e[5] = m * l - h * o, e
  6367. },
  6368. scale: function(e, t, i) {
  6369. var n = i[0],
  6370. a = i[1];
  6371. return e[0] = t[0] * n, e[1] = t[1] * a, e[2] = t[2] * n, e[3] = t[3] * a, e[4] = t[4] * n, e[5] = t[5] * a, e
  6372. },
  6373. invert: function(e, t) {
  6374. var i = t[0],
  6375. n = t[2],
  6376. a = t[4],
  6377. o = t[1],
  6378. r = t[3],
  6379. s = t[5],
  6380. l = i * r - o * n;
  6381. return l ? (l = 1 / l, e[0] = r * l, e[1] = -o * l, e[2] = -n * l, e[3] = i * l, e[4] = (n * s - r * a) * l, e[5] = (o * a - i * s) * l, e) : null
  6382. }
  6383. };
  6384. return t
  6385. }), i("zrender/loadingEffect/Base", ["require", "../tool/util", "../shape/Text", "../shape/Rectangle"], function(e) {
  6386. function t(e) {
  6387. this.setOptions(e)
  6388. }
  6389. var i = e("../tool/util"),
  6390. n = e("../shape/Text"),
  6391. a = e("../shape/Rectangle"),
  6392. o = "Loading...",
  6393. r = "normal 16px Arial";
  6394. return t.prototype.createTextShape = function(e) {
  6395. return new n({
  6396. highlightStyle: i.merge({
  6397. x: this.canvasWidth / 2,
  6398. y: this.canvasHeight / 2,
  6399. text: o,
  6400. textAlign: "center",
  6401. textBaseline: "middle",
  6402. textFont: r,
  6403. color: "#333",
  6404. brushType: "fill"
  6405. }, e, !0)
  6406. })
  6407. }, t.prototype.createBackgroundShape = function(e) {
  6408. return new a({
  6409. highlightStyle: {
  6410. x: 0,
  6411. y: 0,
  6412. width: this.canvasWidth,
  6413. height: this.canvasHeight,
  6414. brushType: "fill",
  6415. color: e
  6416. }
  6417. })
  6418. }, t.prototype.start = function(e) {
  6419. function t(t) {
  6420. e.storage.addHover(t)
  6421. }
  6422. function i() {
  6423. e.refreshHover()
  6424. }
  6425. this.canvasWidth = e._width, this.canvasHeight = e._height, this.loadingTimer = this._start(t, i)
  6426. }, t.prototype._start = function() {
  6427. return setInterval(function() {}, 1e4)
  6428. }, t.prototype.stop = function() {
  6429. clearInterval(this.loadingTimer)
  6430. }, t.prototype.setOptions = function(e) {
  6431. this.options = e || {}
  6432. }, t.prototype.adjust = function(e, t) {
  6433. return e <= t[0] ? e = t[0] : e >= t[1] && (e = t[1]), e
  6434. }, t.prototype.getLocation = function(e, t, i) {
  6435. var n = null != e.x ? e.x : "center";
  6436. switch(n) {
  6437. case "center":
  6438. n = Math.floor((this.canvasWidth - t) / 2);
  6439. break;
  6440. case "left":
  6441. n = 0;
  6442. break;
  6443. case "right":
  6444. n = this.canvasWidth - t
  6445. }
  6446. var a = null != e.y ? e.y : "center";
  6447. switch(a) {
  6448. case "center":
  6449. a = Math.floor((this.canvasHeight - i) / 2);
  6450. break;
  6451. case "top":
  6452. a = 0;
  6453. break;
  6454. case "bottom":
  6455. a = this.canvasHeight - i
  6456. }
  6457. return {
  6458. x: n,
  6459. y: a,
  6460. width: t,
  6461. height: i
  6462. }
  6463. }, t
  6464. }), i("zrender/Layer", ["require", "./mixin/Transformable", "./tool/util", "./config"], function(e) {
  6465. function t() {
  6466. return !1
  6467. }
  6468. function i(e, t, i) {
  6469. var n = document.createElement(t),
  6470. a = i.getWidth(),
  6471. o = i.getHeight();
  6472. return n.style.position = "absolute", n.style.left = 0, n.style.top = 0, n.style.width = a + "px", n.style.height = o + "px", n.width = a * r.devicePixelRatio, n.height = o * r.devicePixelRatio, n.setAttribute("data-zr-dom-id", e), n
  6473. }
  6474. var n = e("./mixin/Transformable"),
  6475. a = e("./tool/util"),
  6476. o = window.G_vmlCanvasManager,
  6477. r = e("./config"),
  6478. s = function(e, a) {
  6479. this.id = e, this.dom = i(e, "canvas", a), this.dom.onselectstart = t, this.dom.style["-webkit-user-select"] = "none", this.dom.style["user-select"] = "none", this.dom.style["-webkit-touch-callout"] = "none", this.dom.style["-webkit-tap-highlight-color"] = "rgba(0,0,0,0)", this.dom.className = r.elementClassName, o && o.initElement(this.dom), this.domBack = null, this.ctxBack = null, this.painter = a, this.unusedCount = 0, this.config = null, this.dirty = !0, this.elCount = 0, this.clearColor = 0, this.motionBlur = !1, this.lastFrameAlpha = .7, this.zoomable = !1, this.panable = !1, this.maxZoom = 1 / 0, this.minZoom = 0, n.call(this)
  6480. };
  6481. return s.prototype.initContext = function() {
  6482. this.ctx = this.dom.getContext("2d");
  6483. var e = r.devicePixelRatio;
  6484. 1 != e && this.ctx.scale(e, e)
  6485. }, s.prototype.createBackBuffer = function() {
  6486. if(!o) {
  6487. this.domBack = i("back-" + this.id, "canvas", this.painter), this.ctxBack = this.domBack.getContext("2d");
  6488. var e = r.devicePixelRatio;
  6489. 1 != e && this.ctxBack.scale(e, e)
  6490. }
  6491. }, s.prototype.resize = function(e, t) {
  6492. var i = r.devicePixelRatio;
  6493. this.dom.style.width = e + "px", this.dom.style.height = t + "px", this.dom.setAttribute("width", e * i), this.dom.setAttribute("height", t * i), 1 != i && this.ctx.scale(i, i), this.domBack && (this.domBack.setAttribute("width", e * i), this.domBack.setAttribute("height", t * i), 1 != i && this.ctxBack.scale(i, i))
  6494. }, s.prototype.clear = function() {
  6495. var e = this.dom,
  6496. t = this.ctx,
  6497. i = e.width,
  6498. n = e.height,
  6499. a = this.clearColor && !o,
  6500. s = this.motionBlur && !o,
  6501. l = this.lastFrameAlpha,
  6502. h = r.devicePixelRatio;
  6503. if(s && (this.domBack || this.createBackBuffer(), this.ctxBack.globalCompositeOperation = "copy", this.ctxBack.drawImage(e, 0, 0, i / h, n / h)), t.clearRect(0, 0, i / h, n / h), a && (t.save(), t.fillStyle = this.clearColor, t.fillRect(0, 0, i / h, n / h), t.restore()), s) {
  6504. var m = this.domBack;
  6505. t.save(), t.globalAlpha = l, t.drawImage(m, 0, 0, i / h, n / h), t.restore()
  6506. }
  6507. }, a.merge(s.prototype, n.prototype), s
  6508. }), i("zrender/shape/Text", ["require", "../tool/area", "./Base", "../tool/util"], function(e) {
  6509. var t = e("../tool/area"),
  6510. i = e("./Base"),
  6511. n = function(e) {
  6512. i.call(this, e)
  6513. };
  6514. return n.prototype = {
  6515. type: "text",
  6516. brush: function(e, i) {
  6517. var n = this.style;
  6518. if(i && (n = this.getHighlightStyle(n, this.highlightStyle || {})), "undefined" != typeof n.text && n.text !== !1) {
  6519. e.save(), this.doClip(e), this.setContext(e, n), this.setTransform(e), n.textFont && (e.font = n.textFont), e.textAlign = n.textAlign || "start", e.textBaseline = n.textBaseline || "middle";
  6520. var a, o = (n.text + "").split("\n"),
  6521. r = t.getTextHeight("国", n.textFont),
  6522. s = this.getRect(n),
  6523. l = n.x;
  6524. a = "top" == n.textBaseline ? s.y : "bottom" == n.textBaseline ? s.y + r : s.y + r / 2;
  6525. for(var h = 0, m = o.length; m > h; h++) {
  6526. if(n.maxWidth) switch(n.brushType) {
  6527. case "fill":
  6528. e.fillText(o[h], l, a, n.maxWidth);
  6529. break;
  6530. case "stroke":
  6531. e.strokeText(o[h], l, a, n.maxWidth);
  6532. break;
  6533. case "both":
  6534. e.fillText(o[h], l, a, n.maxWidth), e.strokeText(o[h], l, a, n.maxWidth);
  6535. break;
  6536. default:
  6537. e.fillText(o[h], l, a, n.maxWidth)
  6538. } else switch(n.brushType) {
  6539. case "fill":
  6540. e.fillText(o[h], l, a);
  6541. break;
  6542. case "stroke":
  6543. e.strokeText(o[h], l, a);
  6544. break;
  6545. case "both":
  6546. e.fillText(o[h], l, a), e.strokeText(o[h], l, a);
  6547. break;
  6548. default:
  6549. e.fillText(o[h], l, a)
  6550. }
  6551. a += r
  6552. }
  6553. e.restore()
  6554. }
  6555. },
  6556. getRect: function(e) {
  6557. if(e.__rect) return e.__rect;
  6558. var i = t.getTextWidth(e.text, e.textFont),
  6559. n = t.getTextHeight(e.text, e.textFont),
  6560. a = e.x;
  6561. "end" == e.textAlign || "right" == e.textAlign ? a -= i : "center" == e.textAlign && (a -= i / 2);
  6562. var o;
  6563. return o = "top" == e.textBaseline ? e.y : "bottom" == e.textBaseline ? e.y - n : e.y - n / 2, e.__rect = {
  6564. x: a,
  6565. y: o,
  6566. width: i,
  6567. height: n
  6568. }, e.__rect
  6569. }
  6570. }, e("../tool/util").inherits(n, i), n
  6571. }), i("zrender/shape/Rectangle", ["require", "./Base", "../tool/util"], function(e) {
  6572. var t = e("./Base"),
  6573. i = function(e) {
  6574. t.call(this, e)
  6575. };
  6576. return i.prototype = {
  6577. type: "rectangle",
  6578. _buildRadiusPath: function(e, t) {
  6579. var i, n, a, o, r = t.x,
  6580. s = t.y,
  6581. l = t.width,
  6582. h = t.height,
  6583. m = t.radius;
  6584. "number" == typeof m ? i = n = a = o = m : m instanceof Array ? 1 === m.length ? i = n = a = o = m[0] : 2 === m.length ? (i = a = m[0], n = o = m[1]) : 3 === m.length ? (i = m[0], n = o = m[1], a = m[2]) : (i = m[0], n = m[1], a = m[2], o = m[3]) : i = n = a = o = 0;
  6585. var V;
  6586. i + n > l && (V = i + n, i *= l / V, n *= l / V), a + o > l && (V = a + o, a *= l / V, o *= l / V), n + a > h && (V = n + a, n *= h / V, a *= h / V), i + o > h && (V = i + o, i *= h / V, o *= h / V), e.moveTo(r + i, s), e.lineTo(r + l - n, s), 0 !== n && e.quadraticCurveTo(r + l, s, r + l, s + n), e.lineTo(r + l, s + h - a), 0 !== a && e.quadraticCurveTo(r + l, s + h, r + l - a, s + h), e.lineTo(r + o, s + h), 0 !== o && e.quadraticCurveTo(r, s + h, r, s + h - o), e.lineTo(r, s + i), 0 !== i && e.quadraticCurveTo(r, s, r + i, s)
  6587. },
  6588. buildPath: function(e, t) {
  6589. t.radius ? this._buildRadiusPath(e, t) : (e.moveTo(t.x, t.y), e.lineTo(t.x + t.width, t.y), e.lineTo(t.x + t.width, t.y + t.height), e.lineTo(t.x, t.y + t.height), e.lineTo(t.x, t.y)), e.closePath()
  6590. },
  6591. getRect: function(e) {
  6592. if(e.__rect) return e.__rect;
  6593. var t;
  6594. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  6595. x: Math.round(e.x - t / 2),
  6596. y: Math.round(e.y - t / 2),
  6597. width: e.width + t,
  6598. height: e.height + t
  6599. }, e.__rect
  6600. }
  6601. }, e("../tool/util").inherits(i, t), i
  6602. }), i("zrender/tool/area", ["require", "./util", "./curve"], function(e) {
  6603. "use strict";
  6604. function t(e) {
  6605. return e %= C, 0 > e && (e += C), e
  6606. }
  6607. function i(e, t, i, o) {
  6608. if(!t || !e) return !1;
  6609. var r = e.type;
  6610. L = L || W.getContext();
  6611. var s = n(e, t, i, o);
  6612. if("undefined" != typeof s) return s;
  6613. if(e.buildPath && L.isPointInPath) return a(e, L, t, i, o);
  6614. switch(r) {
  6615. case "ellipse":
  6616. return !0;
  6617. case "trochoid":
  6618. var l = "out" == t.location ? t.r1 + t.r2 + t.d : t.r1 - t.r2 + t.d;
  6619. return d(t, i, o, l);
  6620. case "rose":
  6621. return d(t, i, o, t.maxr);
  6622. default:
  6623. return !1
  6624. }
  6625. }
  6626. function n(e, t, i, n) {
  6627. var a = e.type;
  6628. switch(a) {
  6629. case "bezier-curve":
  6630. return "undefined" == typeof t.cpX2 ? l(t.xStart, t.yStart, t.cpX1, t.cpY1, t.xEnd, t.yEnd, t.lineWidth, i, n) : s(t.xStart, t.yStart, t.cpX1, t.cpY1, t.cpX2, t.cpY2, t.xEnd, t.yEnd, t.lineWidth, i, n);
  6631. case "line":
  6632. return r(t.xStart, t.yStart, t.xEnd, t.yEnd, t.lineWidth, i, n);
  6633. case "polyline":
  6634. return m(t.pointList, t.lineWidth, i, n);
  6635. case "ring":
  6636. return V(t.x, t.y, t.r0, t.r, i, n);
  6637. case "circle":
  6638. return d(t.x, t.y, t.r, i, n);
  6639. case "sector":
  6640. var o = t.startAngle * Math.PI / 180,
  6641. h = t.endAngle * Math.PI / 180;
  6642. return t.clockWise || (o = -o, h = -h), p(t.x, t.y, t.r0, t.r, o, h, !t.clockWise, i, n);
  6643. case "path":
  6644. return t.pathArray && k(t.pathArray, Math.max(t.lineWidth, 5), t.brushType, i, n);
  6645. case "polygon":
  6646. case "star":
  6647. case "isogon":
  6648. return c(t.pointList, i, n);
  6649. case "text":
  6650. var u = t.__rect || e.getRect(t);
  6651. return U(u.x, u.y, u.width, u.height, i, n);
  6652. case "rectangle":
  6653. case "image":
  6654. return U(t.x, t.y, t.width, t.height, i, n)
  6655. }
  6656. }
  6657. function a(e, t, i, n, a) {
  6658. return t.beginPath(), e.buildPath(t, i), t.closePath(), t.isPointInPath(n, a)
  6659. }
  6660. function o(e, t, n, a) {
  6661. return !i(e, t, n, a)
  6662. }
  6663. function r(e, t, i, n, a, o, r) {
  6664. if(0 === a) return !1;
  6665. var s = Math.max(a, 5),
  6666. l = 0,
  6667. h = e;
  6668. if(r > t + s && r > n + s || t - s > r && n - s > r || o > e + s && o > i + s || e - s > o && i - s > o) return !1;
  6669. if(e === i) return Math.abs(o - e) <= s / 2;
  6670. l = (t - n) / (e - i), h = (e * n - i * t) / (e - i);
  6671. var m = l * o - r + h,
  6672. V = m * m / (l * l + 1);
  6673. return s / 2 * s / 2 >= V
  6674. }
  6675. function s(e, t, i, n, a, o, r, s, l, h, m) {
  6676. if(0 === l) return !1;
  6677. var V = Math.max(l, 5);
  6678. if(m > t + V && m > n + V && m > o + V && m > s + V || t - V > m && n - V > m && o - V > m && s - V > m || h > e + V && h > i + V && h > a + V && h > r + V || e - V > h && i - V > h && a - V > h && r - V > h) return !1;
  6679. var U = X.cubicProjectPoint(e, t, i, n, a, o, r, s, h, m, null);
  6680. return V / 2 >= U
  6681. }
  6682. function l(e, t, i, n, a, o, r, s, l) {
  6683. if(0 === r) return !1;
  6684. var h = Math.max(r, 5);
  6685. if(l > t + h && l > n + h && l > o + h || t - h > l && n - h > l && o - h > l || s > e + h && s > i + h && s > a + h || e - h > s && i - h > s && a - h > s) return !1;
  6686. var m = X.quadraticProjectPoint(e, t, i, n, a, o, s, l, null);
  6687. return h / 2 >= m
  6688. }
  6689. function h(e, i, n, a, o, r, s, l, h) {
  6690. if(0 === s) return !1;
  6691. var m = Math.max(s, 5);
  6692. l -= e, h -= i;
  6693. var V = Math.sqrt(l * l + h * h);
  6694. if(V - m > n || n > V + m) return !1;
  6695. if(Math.abs(a - o) >= C) return !0;
  6696. if(r) {
  6697. var U = a;
  6698. a = t(o), o = t(U)
  6699. } else a = t(a), o = t(o);
  6700. a > o && (o += C);
  6701. var d = Math.atan2(h, l);
  6702. return 0 > d && (d += C), d >= a && o >= d || d + C >= a && o >= d + C
  6703. }
  6704. function m(e, t, i, n) {
  6705. for(var t = Math.max(t, 10), a = 0, o = e.length - 1; o > a; a++) {
  6706. var s = e[a][0],
  6707. l = e[a][1],
  6708. h = e[a + 1][0],
  6709. m = e[a + 1][1];
  6710. if(r(s, l, h, m, t, i, n)) return !0
  6711. }
  6712. return !1
  6713. }
  6714. function V(e, t, i, n, a, o) {
  6715. var r = (a - e) * (a - e) + (o - t) * (o - t);
  6716. return n * n > r && r > i * i
  6717. }
  6718. function U(e, t, i, n, a, o) {
  6719. return a >= e && e + i >= a && o >= t && t + n >= o
  6720. }
  6721. function d(e, t, i, n, a) {
  6722. return i * i > (n - e) * (n - e) + (a - t) * (a - t)
  6723. }
  6724. function p(e, t, i, n, a, o, r, s, l) {
  6725. return h(e, t, (i + n) / 2, a, o, r, n - i, s, l)
  6726. }
  6727. function c(e, t, i) {
  6728. for(var n = e.length, a = 0, o = 0, r = n - 1; n > o; o++) {
  6729. var s = e[r][0],
  6730. l = e[r][1],
  6731. h = e[o][0],
  6732. m = e[o][1];
  6733. a += u(s, l, h, m, t, i), r = o
  6734. }
  6735. return 0 !== a
  6736. }
  6737. function u(e, t, i, n, a, o) {
  6738. if(o > t && o > n || t > o && n > o) return 0;
  6739. if(n == t) return 0;
  6740. var r = t > n ? 1 : -1,
  6741. s = (o - t) / (n - t),
  6742. l = s * (i - e) + e;
  6743. return l > a ? r : 0
  6744. }
  6745. function y() {
  6746. var e = E[0];
  6747. E[0] = E[1], E[1] = e
  6748. }
  6749. function g(e, t, i, n, a, o, r, s, l, h) {
  6750. if(h > t && h > n && h > o && h > s || t > h && n > h && o > h && s > h) return 0;
  6751. var m = X.cubicRootAt(t, n, o, s, h, S);
  6752. if(0 === m) return 0;
  6753. for(var V, U, d = 0, p = -1, c = 0; m > c; c++) {
  6754. var u = S[c],
  6755. g = X.cubicAt(e, i, a, r, u);
  6756. l > g || (0 > p && (p = X.cubicExtrema(t, n, o, s, E), E[1] < E[0] && p > 1 && y(), V = X.cubicAt(t, n, o, s, E[0]), p > 1 && (U = X.cubicAt(t, n, o, s, E[1]))), d += 2 == p ? u < E[0] ? t > V ? 1 : -1 : u < E[1] ? V > U ? 1 : -1 : U > s ? 1 : -1 : u < E[0] ? t > V ? 1 : -1 : V > s ? 1 : -1)
  6757. }
  6758. return d
  6759. }
  6760. function b(e, t, i, n, a, o, r, s) {
  6761. if(s > t && s > n && s > o || t > s && n > s && o > s) return 0;
  6762. var l = X.quadraticRootAt(t, n, o, s, S);
  6763. if(0 === l) return 0;
  6764. var h = X.quadraticExtremum(t, n, o);
  6765. if(h >= 0 && 1 >= h) {
  6766. for(var m = 0, V = X.quadraticAt(t, n, o, h), U = 0; l > U; U++) {
  6767. var d = X.quadraticAt(e, i, a, S[U]);
  6768. r > d || (m += S[U] < h ? t > V ? 1 : -1 : V > o ? 1 : -1)
  6769. }
  6770. return m
  6771. }
  6772. var d = X.quadraticAt(e, i, a, S[0]);
  6773. return r > d ? 0 : t > o ? 1 : -1
  6774. }
  6775. function f(e, i, n, a, o, r, s, l) {
  6776. if(l -= i, l > n || -n > l) return 0;
  6777. var h = Math.sqrt(n * n - l * l);
  6778. if(S[0] = -h, S[1] = h, Math.abs(a - o) >= C) {
  6779. a = 0, o = C;
  6780. var m = r ? 1 : -1;
  6781. return s >= S[0] + e && s <= S[1] + e ? m : 0
  6782. }
  6783. if(r) {
  6784. var h = a;
  6785. a = t(o), o = t(h)
  6786. } else a = t(a), o = t(o);
  6787. a > o && (o += C);
  6788. for(var V = 0, U = 0; 2 > U; U++) {
  6789. var d = S[U];
  6790. if(d + e > s) {
  6791. var p = Math.atan2(l, d),
  6792. m = r ? 1 : -1;
  6793. 0 > p && (p = C + p), (p >= a && o >= p || p + C >= a && o >= p + C) && (p > Math.PI / 2 && p < 1.5 * Math.PI && (m = -m), V += m)
  6794. }
  6795. }
  6796. return V
  6797. }
  6798. function k(e, t, i, n, a) {
  6799. var o = 0,
  6800. m = 0,
  6801. V = 0,
  6802. U = 0,
  6803. d = 0,
  6804. p = !0,
  6805. c = !0;
  6806. i = i || "fill";
  6807. for(var y = "stroke" === i || "both" === i, k = "fill" === i || "both" === i, x = 0; x < e.length; x++) {
  6808. var _ = e[x],
  6809. L = _.points;
  6810. if(p || "M" === _.command) {
  6811. if(x > 0 && (k && (o += u(m, V, U, d, n, a)), 0 !== o)) return !0;
  6812. U = L[L.length - 2], d = L[L.length - 1], p = !1, c && "A" !== _.command && (c = !1, m = U, V = d)
  6813. }
  6814. switch(_.command) {
  6815. case "M":
  6816. m = L[0], V = L[1];
  6817. break;
  6818. case "L":
  6819. if(y && r(m, V, L[0], L[1], t, n, a)) return !0;
  6820. k && (o += u(m, V, L[0], L[1], n, a)), m = L[0], V = L[1];
  6821. break;
  6822. case "C":
  6823. if(y && s(m, V, L[0], L[1], L[2], L[3], L[4], L[5], t, n, a)) return !0;
  6824. k && (o += g(m, V, L[0], L[1], L[2], L[3], L[4], L[5], n, a)), m = L[4], V = L[5];
  6825. break;
  6826. case "Q":
  6827. if(y && l(m, V, L[0], L[1], L[2], L[3], t, n, a)) return !0;
  6828. k && (o += b(m, V, L[0], L[1], L[2], L[3], n, a)), m = L[2], V = L[3];
  6829. break;
  6830. case "A":
  6831. var W = L[0],
  6832. X = L[1],
  6833. v = L[2],
  6834. w = L[3],
  6835. K = L[4],
  6836. I = L[5],
  6837. J = Math.cos(K) * v + W,
  6838. C = Math.sin(K) * w + X;
  6839. c ? (c = !1, U = J, d = C) : o += u(m, V, J, C);
  6840. var S = (n - W) * w / v + W;
  6841. if(y && h(W, X, w, K, K + I, 1 - L[7], t, S, a)) return !0;
  6842. k && (o += f(W, X, w, K, K + I, 1 - L[7], S, a)), m = Math.cos(K + I) * v + W, V = Math.sin(K + I) * w + X;
  6843. break;
  6844. case "z":
  6845. if(y && r(m, V, U, d, t, n, a)) return !0;
  6846. p = !0
  6847. }
  6848. }
  6849. return k && (o += u(m, V, U, d, n, a)), 0 !== o
  6850. }
  6851. function x(e, t) {
  6852. var i = e + ":" + t;
  6853. if(v[i]) return v[i];
  6854. L = L || W.getContext(), L.save(), t && (L.font = t), e = (e + "").split("\n");
  6855. for(var n = 0, a = 0, o = e.length; o > a; a++) n = Math.max(L.measureText(e[a]).width, n);
  6856. return L.restore(), v[i] = n, ++K > J && (K = 0, v = {}), n
  6857. }
  6858. function _(e, t) {
  6859. var i = e + ":" + t;
  6860. if(w[i]) return w[i];
  6861. L = L || W.getContext(), L.save(), t && (L.font = t), e = (e + "").split("\n");
  6862. var n = (L.measureText("国").width + 2) * e.length;
  6863. return L.restore(), w[i] = n, ++I > J && (I = 0, w = {}), n
  6864. }
  6865. var L, W = e("./util"),
  6866. X = e("./curve"),
  6867. v = {},
  6868. w = {},
  6869. K = 0,
  6870. I = 0,
  6871. J = 5e3,
  6872. C = 2 * Math.PI,
  6873. S = [-1, -1, -1],
  6874. E = [-1, -1];
  6875. return {
  6876. isInside: i,
  6877. isOutside: o,
  6878. getTextWidth: x,
  6879. getTextHeight: _,
  6880. isInsidePath: k,
  6881. isInsidePolygon: c,
  6882. isInsideSector: p,
  6883. isInsideCircle: d,
  6884. isInsideLine: r,
  6885. isInsideRect: U,
  6886. isInsidePolyline: m,
  6887. isInsideCubicStroke: s,
  6888. isInsideQuadraticStroke: l
  6889. }
  6890. }), i("zrender/shape/Base", ["require", "../tool/matrix", "../tool/guid", "../tool/util", "../tool/log", "../mixin/Transformable", "../mixin/Eventful", "../tool/area", "../tool/color"], function(e) {
  6891. function t(t, n, a, o, r, s, l) {
  6892. r && (t.font = r), t.textAlign = s, t.textBaseline = l;
  6893. var h = i(n, a, o, r, s, l);
  6894. n = (n + "").split("\n");
  6895. var m = e("../tool/area").getTextHeight("国", r);
  6896. switch(l) {
  6897. case "top":
  6898. o = h.y;
  6899. break;
  6900. case "bottom":
  6901. o = h.y + m;
  6902. break;
  6903. default:
  6904. o = h.y + m / 2
  6905. }
  6906. for(var V = 0, U = n.length; U > V; V++) t.fillText(n[V], a, o), o += m
  6907. }
  6908. function i(t, i, n, a, o, r) {
  6909. var s = e("../tool/area"),
  6910. l = s.getTextWidth(t, a),
  6911. h = s.getTextHeight("国", a);
  6912. switch(t = (t + "").split("\n"), o) {
  6913. case "end":
  6914. case "right":
  6915. i -= l;
  6916. break;
  6917. case "center":
  6918. i -= l / 2
  6919. }
  6920. switch(r) {
  6921. case "top":
  6922. break;
  6923. case "bottom":
  6924. n -= h * t.length;
  6925. break;
  6926. default:
  6927. n -= h * t.length / 2
  6928. }
  6929. return {
  6930. x: i,
  6931. y: n,
  6932. width: l,
  6933. height: h * t.length
  6934. }
  6935. }
  6936. var n = window.G_vmlCanvasManager,
  6937. a = e("../tool/matrix"),
  6938. o = e("../tool/guid"),
  6939. r = e("../tool/util"),
  6940. s = e("../tool/log"),
  6941. l = e("../mixin/Transformable"),
  6942. h = e("../mixin/Eventful"),
  6943. m = function(e) {
  6944. e = e || {}, this.id = e.id || o();
  6945. for(var t in e) this[t] = e[t];
  6946. this.style = this.style || {}, this.highlightStyle = this.highlightStyle || null, this.parent = null, this.__dirty = !0, this.__clipShapes = [], l.call(this), h.call(this)
  6947. };
  6948. m.prototype.invisible = !1, m.prototype.ignore = !1, m.prototype.zlevel = 0, m.prototype.draggable = !1, m.prototype.clickable = !1, m.prototype.hoverable = !0, m.prototype.z = 0, m.prototype.brush = function(e, t) {
  6949. var i = this.beforeBrush(e, t);
  6950. switch(e.beginPath(), this.buildPath(e, i), i.brushType) {
  6951. case "both":
  6952. e.fill();
  6953. case "stroke":
  6954. i.lineWidth > 0 && e.stroke();
  6955. break;
  6956. default:
  6957. e.fill()
  6958. }
  6959. this.drawText(e, i, this.style), this.afterBrush(e)
  6960. }, m.prototype.beforeBrush = function(e, t) {
  6961. var i = this.style;
  6962. return this.brushTypeOnly && (i.brushType = this.brushTypeOnly), t && (i = this.getHighlightStyle(i, this.highlightStyle || {}, this.brushTypeOnly)), "stroke" == this.brushTypeOnly && (i.strokeColor = i.strokeColor || i.color), e.save(), this.doClip(e), this.setContext(e, i), this.setTransform(e), i
  6963. }, m.prototype.afterBrush = function(e) {
  6964. e.restore()
  6965. };
  6966. var V = [
  6967. ["color", "fillStyle"],
  6968. ["strokeColor", "strokeStyle"],
  6969. ["opacity", "globalAlpha"],
  6970. ["lineCap", "lineCap"],
  6971. ["lineJoin", "lineJoin"],
  6972. ["miterLimit", "miterLimit"],
  6973. ["lineWidth", "lineWidth"],
  6974. ["shadowBlur", "shadowBlur"],
  6975. ["shadowColor", "shadowColor"],
  6976. ["shadowOffsetX", "shadowOffsetX"],
  6977. ["shadowOffsetY", "shadowOffsetY"]
  6978. ];
  6979. m.prototype.setContext = function(e, t) {
  6980. for(var i = 0, n = V.length; n > i; i++) {
  6981. var a = V[i][0],
  6982. o = t[a],
  6983. r = V[i][1];
  6984. "undefined" != typeof o && (e[r] = o)
  6985. }
  6986. };
  6987. var U = a.create();
  6988. return m.prototype.doClip = function(e) {
  6989. if(this.__clipShapes && !n)
  6990. for(var t = 0; t < this.__clipShapes.length; t++) {
  6991. var i = this.__clipShapes[t];
  6992. if(i.needTransform) {
  6993. var o = i.transform;
  6994. a.invert(U, o), e.transform(o[0], o[1], o[2], o[3], o[4], o[5])
  6995. }
  6996. if(e.beginPath(), i.buildPath(e, i.style), e.clip(), i.needTransform) {
  6997. var o = U;
  6998. e.transform(o[0], o[1], o[2], o[3], o[4], o[5])
  6999. }
  7000. }
  7001. }, m.prototype.getHighlightStyle = function(t, i, n) {
  7002. var a = {};
  7003. for(var o in t) a[o] = t[o];
  7004. var r = e("../tool/color"),
  7005. s = r.getHighlightColor();
  7006. "stroke" != t.brushType ? (a.strokeColor = s, a.lineWidth = (t.lineWidth || 1) + this.getHighlightZoom(), a.brushType = "both") : "stroke" != n ? (a.strokeColor = s, a.lineWidth = (t.lineWidth || 1) + this.getHighlightZoom()) : a.strokeColor = i.strokeColor || r.mix(t.strokeColor, r.toRGB(s));
  7007. for(var o in i) "undefined" != typeof i[o] && (a[o] = i[o]);
  7008. return a
  7009. }, m.prototype.getHighlightZoom = function() {
  7010. return "text" != this.type ? 6 : 2
  7011. }, m.prototype.drift = function(e, t) {
  7012. this.position[0] += e, this.position[1] += t
  7013. }, m.prototype.buildPath = function() {
  7014. s("buildPath not implemented in " + this.type)
  7015. }, m.prototype.getRect = function() {
  7016. s("getRect not implemented in " + this.type)
  7017. }, m.prototype.isCover = function(t, i) {
  7018. var n = this.transformCoordToLocal(t, i);
  7019. return t = n[0], i = n[1], this.isCoverRect(t, i) ? e("../tool/area").isInside(this, this.style, t, i) : !1
  7020. }, m.prototype.isCoverRect = function(e, t) {
  7021. var i = this.style.__rect;
  7022. return i || (i = this.style.__rect = this.getRect(this.style)), e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height
  7023. }, m.prototype.drawText = function(e, i, n) {
  7024. if("undefined" != typeof i.text && i.text !== !1) {
  7025. var a = i.textColor || i.color || i.strokeColor;
  7026. e.fillStyle = a;
  7027. var o, r, s, l, h = 10,
  7028. m = i.textPosition || this.textPosition || "top";
  7029. switch(m) {
  7030. case "inside":
  7031. case "top":
  7032. case "bottom":
  7033. case "left":
  7034. case "right":
  7035. if(this.getRect) {
  7036. var V = (n || i).__rect || this.getRect(n || i);
  7037. switch(m) {
  7038. case "inside":
  7039. s = V.x + V.width / 2, l = V.y + V.height / 2, o = "center", r = "middle", "stroke" != i.brushType && a == i.color && (e.fillStyle = "#fff");
  7040. break;
  7041. case "left":
  7042. s = V.x - h, l = V.y + V.height / 2, o = "end", r = "middle";
  7043. break;
  7044. case "right":
  7045. s = V.x + V.width + h, l = V.y + V.height / 2, o = "start", r = "middle";
  7046. break;
  7047. case "top":
  7048. s = V.x + V.width / 2, l = V.y - h, o = "center", r = "bottom";
  7049. break;
  7050. case "bottom":
  7051. s = V.x + V.width / 2, l = V.y + V.height + h, o = "center", r = "top"
  7052. }
  7053. }
  7054. break;
  7055. case "start":
  7056. case "end":
  7057. var U = i.pointList || [
  7058. [i.xStart || 0, i.yStart || 0],
  7059. [i.xEnd || 0, i.yEnd || 0]
  7060. ],
  7061. d = U.length;
  7062. if(2 > d) return;
  7063. var p, c, u, y;
  7064. switch(m) {
  7065. case "start":
  7066. p = U[1][0], c = U[0][0], u = U[1][1], y = U[0][1];
  7067. break;
  7068. case "end":
  7069. p = U[d - 2][0], c = U[d - 1][0], u = U[d - 2][1], y = U[d - 1][1]
  7070. }
  7071. s = c, l = y;
  7072. var g = Math.atan((u - y) / (c - p)) / Math.PI * 180;
  7073. 0 > c - p ? g += 180 : 0 > u - y && (g += 360), h = 5, g >= 30 && 150 >= g ? (o = "center", r = "bottom", l -= h) : g > 150 && 210 > g ? (o = "right", r = "middle", s -= h) : g >= 210 && 330 >= g ? (o = "center", r = "top", l += h) : (o = "left", r = "middle", s += h);
  7074. break;
  7075. case "specific":
  7076. s = i.textX || 0, l = i.textY || 0, o = "start", r = "middle"
  7077. }
  7078. null != s && null != l && t(e, i.text, s, l, i.textFont, i.textAlign || o, i.textBaseline || r)
  7079. }
  7080. }, m.prototype.modSelf = function() {
  7081. this.__dirty = !0, this.style && (this.style.__rect = null), this.highlightStyle && (this.highlightStyle.__rect = null)
  7082. }, m.prototype.isSilent = function() {
  7083. return !(this.hoverable || this.draggable || this.clickable || this.onmousemove || this.onmouseover || this.onmouseout || this.onmousedown || this.onmouseup || this.onclick || this.ondragenter || this.ondragover || this.ondragleave || this.ondrop)
  7084. }, r.merge(m.prototype, l.prototype, !0), r.merge(m.prototype, h.prototype, !0), m
  7085. }), i("zrender/tool/curve", ["require", "./vector"], function(e) {
  7086. function t(e) {
  7087. return e > -u && u > e
  7088. }
  7089. function i(e) {
  7090. return e > u || -u > e
  7091. }
  7092. function n(e, t, i, n, a) {
  7093. var o = 1 - a;
  7094. return o * o * (o * e + 3 * a * t) + a * a * (a * n + 3 * o * i)
  7095. }
  7096. function a(e, t, i, n, a) {
  7097. var o = 1 - a;
  7098. return 3 * (((t - e) * o + 2 * (i - t) * a) * o + (n - i) * a * a)
  7099. }
  7100. function o(e, i, n, a, o, r) {
  7101. var s = a + 3 * (i - n) - e,
  7102. l = 3 * (n - 2 * i + e),
  7103. h = 3 * (i - e),
  7104. m = e - o,
  7105. V = l * l - 3 * s * h,
  7106. U = l * h - 9 * s * m,
  7107. d = h * h - 3 * l * m,
  7108. p = 0;
  7109. if(t(V) && t(U))
  7110. if(t(l)) r[0] = 0;
  7111. else {
  7112. var c = -h / l;
  7113. c >= 0 && 1 >= c && (r[p++] = c)
  7114. }
  7115. else {
  7116. var u = U * U - 4 * V * d;
  7117. if(t(u)) {
  7118. var b = U / V,
  7119. c = -l / s + b,
  7120. f = -b / 2;
  7121. c >= 0 && 1 >= c && (r[p++] = c), f >= 0 && 1 >= f && (r[p++] = f)
  7122. } else if(u > 0) {
  7123. var k = Math.sqrt(u),
  7124. x = V * l + 1.5 * s * (-U + k),
  7125. _ = V * l + 1.5 * s * (-U - k);
  7126. x = 0 > x ? -Math.pow(-x, g) : Math.pow(x, g), _ = 0 > _ ? -Math.pow(-_, g) : Math.pow(_, g);
  7127. var c = (-l - (x + _)) / (3 * s);
  7128. c >= 0 && 1 >= c && (r[p++] = c)
  7129. } else {
  7130. var L = (2 * V * l - 3 * s * U) / (2 * Math.sqrt(V * V * V)),
  7131. W = Math.acos(L) / 3,
  7132. X = Math.sqrt(V),
  7133. v = Math.cos(W),
  7134. c = (-l - 2 * X * v) / (3 * s),
  7135. f = (-l + X * (v + y * Math.sin(W))) / (3 * s),
  7136. w = (-l + X * (v - y * Math.sin(W))) / (3 * s);
  7137. c >= 0 && 1 >= c && (r[p++] = c), f >= 0 && 1 >= f && (r[p++] = f), w >= 0 && 1 >= w && (r[p++] = w)
  7138. }
  7139. }
  7140. return p
  7141. }
  7142. function r(e, n, a, o, r) {
  7143. var s = 6 * a - 12 * n + 6 * e,
  7144. l = 9 * n + 3 * o - 3 * e - 9 * a,
  7145. h = 3 * n - 3 * e,
  7146. m = 0;
  7147. if(t(l)) {
  7148. if(i(s)) {
  7149. var V = -h / s;
  7150. V >= 0 && 1 >= V && (r[m++] = V)
  7151. }
  7152. } else {
  7153. var U = s * s - 4 * l * h;
  7154. if(t(U)) r[0] = -s / (2 * l);
  7155. else if(U > 0) {
  7156. var d = Math.sqrt(U),
  7157. V = (-s + d) / (2 * l),
  7158. p = (-s - d) / (2 * l);
  7159. V >= 0 && 1 >= V && (r[m++] = V), p >= 0 && 1 >= p && (r[m++] = p)
  7160. }
  7161. }
  7162. return m
  7163. }
  7164. function s(e, t, i, n, a, o) {
  7165. var r = (t - e) * a + e,
  7166. s = (i - t) * a + t,
  7167. l = (n - i) * a + i,
  7168. h = (s - r) * a + r,
  7169. m = (l - s) * a + s,
  7170. V = (m - h) * a + h;
  7171. o[0] = e, o[1] = r, o[2] = h, o[3] = V, o[4] = V, o[5] = m, o[6] = l, o[7] = n
  7172. }
  7173. function l(e, t, i, a, o, r, s, l, h, m, V) {
  7174. var U, d = .005,
  7175. p = 1 / 0;
  7176. b[0] = h, b[1] = m;
  7177. for(var y = 0; 1 > y; y += .05) {
  7178. f[0] = n(e, i, o, s, y), f[1] = n(t, a, r, l, y);
  7179. var g = c.distSquare(b, f);
  7180. p > g && (U = y, p = g)
  7181. }
  7182. p = 1 / 0;
  7183. for(var x = 0; 32 > x && !(u > d); x++) {
  7184. var _ = U - d,
  7185. L = U + d;
  7186. f[0] = n(e, i, o, s, _), f[1] = n(t, a, r, l, _);
  7187. var g = c.distSquare(f, b);
  7188. if(_ >= 0 && p > g) U = _, p = g;
  7189. else {
  7190. k[0] = n(e, i, o, s, L), k[1] = n(t, a, r, l, L);
  7191. var W = c.distSquare(k, b);
  7192. 1 >= L && p > W ? (U = L, p = W) : d *= .5
  7193. }
  7194. }
  7195. return V && (V[0] = n(e, i, o, s, U), V[1] = n(t, a, r, l, U)), Math.sqrt(p)
  7196. }
  7197. function h(e, t, i, n) {
  7198. var a = 1 - n;
  7199. return a * (a * e + 2 * n * t) + n * n * i
  7200. }
  7201. function m(e, t, i, n) {
  7202. return 2 * ((1 - n) * (t - e) + n * (i - t))
  7203. }
  7204. function V(e, n, a, o, r) {
  7205. var s = e - 2 * n + a,
  7206. l = 2 * (n - e),
  7207. h = e - o,
  7208. m = 0;
  7209. if(t(s)) {
  7210. if(i(l)) {
  7211. var V = -h / l;
  7212. V >= 0 && 1 >= V && (r[m++] = V)
  7213. }
  7214. } else {
  7215. var U = l * l - 4 * s * h;
  7216. if(t(U)) {
  7217. var V = -l / (2 * s);
  7218. V >= 0 && 1 >= V && (r[m++] = V)
  7219. } else if(U > 0) {
  7220. var d = Math.sqrt(U),
  7221. V = (-l + d) / (2 * s),
  7222. p = (-l - d) / (2 * s);
  7223. V >= 0 && 1 >= V && (r[m++] = V), p >= 0 && 1 >= p && (r[m++] = p)
  7224. }
  7225. }
  7226. return m
  7227. }
  7228. function U(e, t, i) {
  7229. var n = e + i - 2 * t;
  7230. return 0 === n ? .5 : (e - t) / n
  7231. }
  7232. function d(e, t, i, n, a) {
  7233. var o = (t - e) * n + e,
  7234. r = (i - t) * n + t,
  7235. s = (r - o) * n + o;
  7236. a[0] = e, a[1] = o, a[2] = s, a[3] = s, a[4] = r, a[5] = i
  7237. }
  7238. function p(e, t, i, n, a, o, r, s, l) {
  7239. var m, V = .005,
  7240. U = 1 / 0;
  7241. b[0] = r, b[1] = s;
  7242. for(var d = 0; 1 > d; d += .05) {
  7243. f[0] = h(e, i, a, d), f[1] = h(t, n, o, d);
  7244. var p = c.distSquare(b, f);
  7245. U > p && (m = d, U = p)
  7246. }
  7247. U = 1 / 0;
  7248. for(var y = 0; 32 > y && !(u > V); y++) {
  7249. var g = m - V,
  7250. x = m + V;
  7251. f[0] = h(e, i, a, g), f[1] = h(t, n, o, g);
  7252. var p = c.distSquare(f, b);
  7253. if(g >= 0 && U > p) m = g, U = p;
  7254. else {
  7255. k[0] = h(e, i, a, x), k[1] = h(t, n, o, x);
  7256. var _ = c.distSquare(k, b);
  7257. 1 >= x && U > _ ? (m = x, U = _) : V *= .5
  7258. }
  7259. }
  7260. return l && (l[0] = h(e, i, a, m), l[1] = h(t, n, o, m)), Math.sqrt(U)
  7261. }
  7262. var c = e("./vector"),
  7263. u = 1e-4,
  7264. y = Math.sqrt(3),
  7265. g = 1 / 3,
  7266. b = c.create(),
  7267. f = c.create(),
  7268. k = c.create();
  7269. return {
  7270. cubicAt: n,
  7271. cubicDerivativeAt: a,
  7272. cubicRootAt: o,
  7273. cubicExtrema: r,
  7274. cubicSubdivide: s,
  7275. cubicProjectPoint: l,
  7276. quadraticAt: h,
  7277. quadraticDerivativeAt: m,
  7278. quadraticRootAt: V,
  7279. quadraticExtremum: U,
  7280. quadraticSubdivide: d,
  7281. quadraticProjectPoint: p
  7282. }
  7283. }), i("zrender/mixin/Transformable", ["require", "../tool/matrix", "../tool/vector"], function(e) {
  7284. "use strict";
  7285. function t(e) {
  7286. return e > -s && s > e
  7287. }
  7288. function i(e) {
  7289. return e > s || -s > e
  7290. }
  7291. var n = e("../tool/matrix"),
  7292. a = e("../tool/vector"),
  7293. o = [0, 0],
  7294. r = n.translate,
  7295. s = 5e-5,
  7296. l = function() {
  7297. this.position || (this.position = [0, 0]), "undefined" == typeof this.rotation && (this.rotation = [0, 0, 0]), this.scale || (this.scale = [1, 1, 0, 0]), this.needLocalTransform = !1, this.needTransform = !1
  7298. };
  7299. return l.prototype = {
  7300. constructor: l,
  7301. updateNeedTransform: function() {
  7302. this.needLocalTransform = i(this.rotation[0]) || i(this.position[0]) || i(this.position[1]) || i(this.scale[0] - 1) || i(this.scale[1] - 1)
  7303. },
  7304. updateTransform: function() {
  7305. this.updateNeedTransform();
  7306. var e = this.parent && this.parent.needTransform;
  7307. if(this.needTransform = this.needLocalTransform || e, this.needTransform) {
  7308. var t = this.transform || n.create();
  7309. if(n.identity(t), this.needLocalTransform) {
  7310. var a = this.scale;
  7311. if(i(a[0]) || i(a[1])) {
  7312. o[0] = -a[2] || 0, o[1] = -a[3] || 0;
  7313. var s = i(o[0]) || i(o[1]);
  7314. s && r(t, t, o), n.scale(t, t, a), s && (o[0] = -o[0], o[1] = -o[1], r(t, t, o))
  7315. }
  7316. if(this.rotation instanceof Array) {
  7317. if(0 !== this.rotation[0]) {
  7318. o[0] = -this.rotation[1] || 0, o[1] = -this.rotation[2] || 0;
  7319. var s = i(o[0]) || i(o[1]);
  7320. s && r(t, t, o), n.rotate(t, t, this.rotation[0]), s && (o[0] = -o[0], o[1] = -o[1], r(t, t, o))
  7321. }
  7322. } else 0 !== this.rotation && n.rotate(t, t, this.rotation);
  7323. (i(this.position[0]) || i(this.position[1])) && r(t, t, this.position)
  7324. }
  7325. e && (this.needLocalTransform ? n.mul(t, this.parent.transform, t) : n.copy(t, this.parent.transform)), this.transform = t, this.invTransform = this.invTransform || n.create(), n.invert(this.invTransform, t)
  7326. }
  7327. },
  7328. setTransform: function(e) {
  7329. if(this.needTransform) {
  7330. var t = this.transform;
  7331. e.transform(t[0], t[1], t[2], t[3], t[4], t[5])
  7332. }
  7333. },
  7334. lookAt: function() {
  7335. var e = a.create();
  7336. return function(i) {
  7337. this.transform || (this.transform = n.create());
  7338. var o = this.transform;
  7339. if(a.sub(e, i, this.position), !t(e[0]) || !t(e[1])) {
  7340. a.normalize(e, e);
  7341. var r = this.scale;
  7342. o[2] = e[0] * r[1], o[3] = e[1] * r[1], o[0] = e[1] * r[0], o[1] = -e[0] * r[0], o[4] = this.position[0], o[5] = this.position[1], this.decomposeTransform()
  7343. }
  7344. }
  7345. }(),
  7346. decomposeTransform: function() {
  7347. if(this.transform) {
  7348. var e = this.transform,
  7349. t = e[0] * e[0] + e[1] * e[1],
  7350. n = this.position,
  7351. a = this.scale,
  7352. o = this.rotation;
  7353. i(t - 1) && (t = Math.sqrt(t));
  7354. var r = e[2] * e[2] + e[3] * e[3];
  7355. i(r - 1) && (r = Math.sqrt(r)), n[0] = e[4], n[1] = e[5], a[0] = t, a[1] = r, a[2] = a[3] = 0, o[0] = Math.atan2(-e[1] / r, e[0] / t), o[1] = o[2] = 0
  7356. }
  7357. },
  7358. transformCoordToLocal: function(e, t) {
  7359. var i = [e, t];
  7360. return this.needTransform && this.invTransform && a.applyTransform(i, i, this.invTransform), i
  7361. }
  7362. }, l
  7363. }), i("zrender/Group", ["require", "./tool/guid", "./tool/util", "./mixin/Transformable", "./mixin/Eventful"], function(e) {
  7364. var t = e("./tool/guid"),
  7365. i = e("./tool/util"),
  7366. n = e("./mixin/Transformable"),
  7367. a = e("./mixin/Eventful"),
  7368. o = function(e) {
  7369. e = e || {}, this.id = e.id || t();
  7370. for(var i in e) this[i] = e[i];
  7371. this.type = "group", this.clipShape = null, this._children = [], this._storage = null, this.__dirty = !0, n.call(this), a.call(this)
  7372. };
  7373. return o.prototype.ignore = !1, o.prototype.children = function() {
  7374. return this._children.slice()
  7375. }, o.prototype.childAt = function(e) {
  7376. return this._children[e]
  7377. }, o.prototype.addChild = function(e) {
  7378. e != this && e.parent != this && (e.parent && e.parent.removeChild(e), this._children.push(e), e.parent = this, this._storage && this._storage !== e._storage && (this._storage.addToMap(e), e instanceof o && e.addChildrenToStorage(this._storage)))
  7379. }, o.prototype.removeChild = function(e) {
  7380. var t = i.indexOf(this._children, e);
  7381. t >= 0 && this._children.splice(t, 1), e.parent = null, this._storage && (this._storage.delFromMap(e.id), e instanceof o && e.delChildrenFromStorage(this._storage))
  7382. }, o.prototype.clearChildren = function() {
  7383. for(var e = 0; e < this._children.length; e++) {
  7384. var t = this._children[e];
  7385. this._storage && (this._storage.delFromMap(t.id), t instanceof o && t.delChildrenFromStorage(this._storage))
  7386. }
  7387. this._children.length = 0
  7388. }, o.prototype.eachChild = function(e, t) {
  7389. for(var i = !!t, n = 0; n < this._children.length; n++) {
  7390. var a = this._children[n];
  7391. i ? e.call(t, a) : e(a)
  7392. }
  7393. }, o.prototype.traverse = function(e, t) {
  7394. for(var i = !!t, n = 0; n < this._children.length; n++) {
  7395. var a = this._children[n];
  7396. i ? e.call(t, a) : e(a), "group" === a.type && a.traverse(e, t)
  7397. }
  7398. }, o.prototype.addChildrenToStorage = function(e) {
  7399. for(var t = 0; t < this._children.length; t++) {
  7400. var i = this._children[t];
  7401. e.addToMap(i), i instanceof o && i.addChildrenToStorage(e)
  7402. }
  7403. }, o.prototype.delChildrenFromStorage = function(e) {
  7404. for(var t = 0; t < this._children.length; t++) {
  7405. var i = this._children[t];
  7406. e.delFromMap(i.id), i instanceof o && i.delChildrenFromStorage(e)
  7407. }
  7408. }, o.prototype.modSelf = function() {
  7409. this.__dirty = !0
  7410. }, i.merge(o.prototype, n.prototype, !0), i.merge(o.prototype, a.prototype, !0), o
  7411. }), i("zrender/animation/Clip", ["require", "./easing"], function(e) {
  7412. function t(e) {
  7413. this._targetPool = e.target || {}, this._targetPool instanceof Array || (this._targetPool = [this._targetPool]), this._life = e.life || 1e3, this._delay = e.delay || 0, this._startTime = (new Date).getTime() + this._delay, this._endTime = this._startTime + 1e3 * this._life, this.loop = "undefined" == typeof e.loop ? !1 : e.loop, this.gap = e.gap || 0, this.easing = e.easing || "Linear", this.onframe = e.onframe, this.ondestroy = e.ondestroy, this.onrestart = e.onrestart
  7414. }
  7415. var i = e("./easing");
  7416. return t.prototype = {
  7417. step: function(e) {
  7418. var t = (e - this._startTime) / this._life;
  7419. if(!(0 > t)) {
  7420. t = Math.min(t, 1);
  7421. var n = "string" == typeof this.easing ? i[this.easing] : this.easing,
  7422. a = "function" == typeof n ? n(t) : t;
  7423. return this.fire("frame", a), 1 == t ? this.loop ? (this.restart(), "restart") : (this.__needsRemove = !0, "destroy") : null
  7424. }
  7425. },
  7426. restart: function() {
  7427. var e = (new Date).getTime(),
  7428. t = (e - this._startTime) % this._life;
  7429. this._startTime = (new Date).getTime() - t + this.gap, this.__needsRemove = !1
  7430. },
  7431. fire: function(e, t) {
  7432. for(var i = 0, n = this._targetPool.length; n > i; i++) this["on" + e] && this["on" + e](this._targetPool[i], t)
  7433. },
  7434. constructor: t
  7435. }, t
  7436. }), i("zrender/animation/easing", [], function() {
  7437. var e = {
  7438. Linear: function(e) {
  7439. return e
  7440. },
  7441. QuadraticIn: function(e) {
  7442. return e * e
  7443. },
  7444. QuadraticOut: function(e) {
  7445. return e * (2 - e)
  7446. },
  7447. QuadraticInOut: function(e) {
  7448. return(e *= 2) < 1 ? .5 * e * e : -.5 * (--e * (e - 2) - 1)
  7449. },
  7450. CubicIn: function(e) {
  7451. return e * e * e
  7452. },
  7453. CubicOut: function(e) {
  7454. return --e * e * e + 1
  7455. },
  7456. CubicInOut: function(e) {
  7457. return(e *= 2) < 1 ? .5 * e * e * e : .5 * ((e -= 2) * e * e + 2)
  7458. },
  7459. QuarticIn: function(e) {
  7460. return e * e * e * e
  7461. },
  7462. QuarticOut: function(e) {
  7463. return 1 - --e * e * e * e
  7464. },
  7465. QuarticInOut: function(e) {
  7466. return(e *= 2) < 1 ? .5 * e * e * e * e : -.5 * ((e -= 2) * e * e * e - 2)
  7467. },
  7468. QuinticIn: function(e) {
  7469. return e * e * e * e * e
  7470. },
  7471. QuinticOut: function(e) {
  7472. return --e * e * e * e * e + 1
  7473. },
  7474. QuinticInOut: function(e) {
  7475. return(e *= 2) < 1 ? .5 * e * e * e * e * e : .5 * ((e -= 2) * e * e * e * e + 2)
  7476. },
  7477. SinusoidalIn: function(e) {
  7478. return 1 - Math.cos(e * Math.PI / 2)
  7479. },
  7480. SinusoidalOut: function(e) {
  7481. return Math.sin(e * Math.PI / 2)
  7482. },
  7483. SinusoidalInOut: function(e) {
  7484. return .5 * (1 - Math.cos(Math.PI * e))
  7485. },
  7486. ExponentialIn: function(e) {
  7487. return 0 === e ? 0 : Math.pow(1024, e - 1)
  7488. },
  7489. ExponentialOut: function(e) {
  7490. return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
  7491. },
  7492. ExponentialInOut: function(e) {
  7493. return 0 === e ? 0 : 1 === e ? 1 : (e *= 2) < 1 ? .5 * Math.pow(1024, e - 1) : .5 * (-Math.pow(2, -10 * (e - 1)) + 2)
  7494. },
  7495. CircularIn: function(e) {
  7496. return 1 - Math.sqrt(1 - e * e)
  7497. },
  7498. CircularOut: function(e) {
  7499. return Math.sqrt(1 - --e * e)
  7500. },
  7501. CircularInOut: function(e) {
  7502. return(e *= 2) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
  7503. },
  7504. ElasticIn: function(e) {
  7505. var t, i = .1,
  7506. n = .4;
  7507. return 0 === e ? 0 : 1 === e ? 1 : (!i || 1 > i ? (i = 1, t = n / 4) : t = n * Math.asin(1 / i) / (2 * Math.PI), -(i * Math.pow(2, 10 * (e -= 1)) * Math.sin(2 * (e - t) * Math.PI / n)))
  7508. },
  7509. ElasticOut: function(e) {
  7510. var t, i = .1,
  7511. n = .4;
  7512. return 0 === e ? 0 : 1 === e ? 1 : (!i || 1 > i ? (i = 1, t = n / 4) : t = n * Math.asin(1 / i) / (2 * Math.PI), i * Math.pow(2, -10 * e) * Math.sin(2 * (e - t) * Math.PI / n) + 1)
  7513. },
  7514. ElasticInOut: function(e) {
  7515. var t, i = .1,
  7516. n = .4;
  7517. return 0 === e ? 0 : 1 === e ? 1 : (!i || 1 > i ? (i = 1, t = n / 4) : t = n * Math.asin(1 / i) / (2 * Math.PI), (e *= 2) < 1 ? -.5 * i * Math.pow(2, 10 * (e -= 1)) * Math.sin(2 * (e - t) * Math.PI / n) : i * Math.pow(2, -10 * (e -= 1)) * Math.sin(2 * (e - t) * Math.PI / n) * .5 + 1)
  7518. },
  7519. BackIn: function(e) {
  7520. var t = 1.70158;
  7521. return e * e * ((t + 1) * e - t)
  7522. },
  7523. BackOut: function(e) {
  7524. var t = 1.70158;
  7525. return --e * e * ((t + 1) * e + t) + 1
  7526. },
  7527. BackInOut: function(e) {
  7528. var t = 2.5949095;
  7529. return(e *= 2) < 1 ? .5 * e * e * ((t + 1) * e - t) : .5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
  7530. },
  7531. BounceIn: function(t) {
  7532. return 1 - e.BounceOut(1 - t)
  7533. },
  7534. BounceOut: function(e) {
  7535. return 1 / 2.75 > e ? 7.5625 * e * e : 2 / 2.75 > e ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : 2.5 / 2.75 > e ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
  7536. },
  7537. BounceInOut: function(t) {
  7538. return .5 > t ? .5 * e.BounceIn(2 * t) : .5 * e.BounceOut(2 * t - 1) + .5
  7539. }
  7540. };
  7541. return e
  7542. }), i("echarts/chart/base", ["require", "zrender/shape/Image", "../util/shape/Icon", "../util/shape/MarkLine", "../util/shape/Symbol", "zrender/shape/Polyline", "zrender/shape/ShapeBundle", "../config", "../util/ecData", "../util/ecAnimation", "../util/ecEffect", "../util/accMath", "../component/base", "../layout/EdgeBundling", "zrender/tool/util", "zrender/tool/area"], function(e) {
  7543. function t(e) {
  7544. return null != e.x && null != e.y
  7545. }
  7546. function i(e, t, i, n, a) {
  7547. p.call(this, e, t, i, n, a);
  7548. var o = this;
  7549. this.selectedMap = {}, this.lastShapeList = [], this.shapeHandler = {
  7550. onclick: function() {
  7551. o.isClick = !0
  7552. },
  7553. ondragover: function(e) {
  7554. var t = e.target;
  7555. t.highlightStyle = t.highlightStyle || {};
  7556. var i = t.highlightStyle,
  7557. n = i.brushTyep,
  7558. a = i.strokeColor,
  7559. r = i.lineWidth;
  7560. i.brushType = "stroke", i.strokeColor = o.ecTheme.calculableColor || h.calculableColor, i.lineWidth = "icon" === t.type ? 30 : 10, o.zr.addHoverShape(t), setTimeout(function() {
  7561. i && (i.brushType = n, i.strokeColor = a, i.lineWidth = r)
  7562. }, 20)
  7563. },
  7564. ondrop: function(e) {
  7565. null != m.get(e.dragged, "data") && (o.isDrop = !0)
  7566. },
  7567. ondragend: function() {
  7568. o.isDragend = !0
  7569. }
  7570. }
  7571. }
  7572. var n = e("zrender/shape/Image"),
  7573. a = e("../util/shape/Icon"),
  7574. o = e("../util/shape/MarkLine"),
  7575. r = e("../util/shape/Symbol"),
  7576. s = e("zrender/shape/Polyline"),
  7577. l = e("zrender/shape/ShapeBundle"),
  7578. h = e("../config"),
  7579. m = e("../util/ecData"),
  7580. V = e("../util/ecAnimation"),
  7581. U = e("../util/ecEffect"),
  7582. d = e("../util/accMath"),
  7583. p = e("../component/base"),
  7584. c = e("../layout/EdgeBundling"),
  7585. u = e("zrender/tool/util"),
  7586. y = e("zrender/tool/area");
  7587. return i.prototype = {
  7588. setCalculable: function(e) {
  7589. return e.dragEnableTime = this.ecTheme.DRAG_ENABLE_TIME || h.DRAG_ENABLE_TIME, e.ondragover = this.shapeHandler.ondragover, e.ondragend = this.shapeHandler.ondragend, e.ondrop = this.shapeHandler.ondrop, e
  7590. },
  7591. ondrop: function(e, t) {
  7592. if(this.isDrop && e.target && !t.dragIn) {
  7593. var i, n = e.target,
  7594. a = e.dragged,
  7595. o = m.get(n, "seriesIndex"),
  7596. r = m.get(n, "dataIndex"),
  7597. s = this.series,
  7598. l = this.component.legend;
  7599. if(-1 === r) {
  7600. if(m.get(a, "seriesIndex") == o) return t.dragOut = t.dragIn = t.needRefresh = !0, void(this.isDrop = !1);
  7601. i = {
  7602. value: m.get(a, "value"),
  7603. name: m.get(a, "name")
  7604. }, this.type === h.CHART_TYPE_PIE && i.value < 0 && (i.value = 0);
  7605. for(var V = !1, U = s[o].data, p = 0, c = U.length; c > p; p++) U[p].name === i.name && "-" === U[p].value && (s[o].data[p].value = i.value, V = !0);
  7606. !V && s[o].data.push(i), l && l.add(i.name, a.style.color || a.style.strokeColor)
  7607. } else i = s[o].data[r] || "-", null != i.value ? (s[o].data[r].value = "-" != i.value ? d.accAdd(s[o].data[r].value, m.get(a, "value")) : m.get(a, "value"), (this.type === h.CHART_TYPE_FUNNEL || this.type === h.CHART_TYPE_PIE) && (l && 1 === l.getRelatedAmount(i.name) && this.component.legend.del(i.name), i.name += this.option.nameConnector + m.get(a, "name"), l && l.add(i.name, a.style.color || a.style.strokeColor))) : s[o].data[r] = "-" != i ? d.accAdd(s[o].data[r], m.get(a, "value")) : m.get(a, "value");
  7608. t.dragIn = t.dragIn || !0, this.isDrop = !1;
  7609. var u = this;
  7610. setTimeout(function() {
  7611. u.zr.trigger("mousemove", e.event)
  7612. }, 300)
  7613. }
  7614. },
  7615. ondragend: function(e, t) {
  7616. if(this.isDragend && e.target && !t.dragOut) {
  7617. var i = e.target,
  7618. n = m.get(i, "seriesIndex"),
  7619. a = m.get(i, "dataIndex"),
  7620. o = this.series;
  7621. if(null != o[n].data[a].value) {
  7622. o[n].data[a].value = "-";
  7623. var r = o[n].data[a].name,
  7624. s = this.component.legend;
  7625. s && 0 === s.getRelatedAmount(r) && s.del(r)
  7626. } else o[n].data[a] = "-";
  7627. t.dragOut = !0, t.needRefresh = !0, this.isDragend = !1
  7628. }
  7629. },
  7630. onlegendSelected: function(e, t) {
  7631. var i = e.selected;
  7632. for(var n in this.selectedMap) this.selectedMap[n] != i[n] && (t.needRefresh = !0), this.selectedMap[n] = i[n]
  7633. },
  7634. _buildPosition: function() {
  7635. this._symbol = this.option.symbolList, this._sIndex2ShapeMap = {}, this._sIndex2ColorMap = {}, this.selectedMap = {}, this.xMarkMap = {};
  7636. for(var e, t, i, n, a = this.series, o = {
  7637. top: [],
  7638. bottom: [],
  7639. left: [],
  7640. right: [],
  7641. other: []
  7642. }, r = 0, s = a.length; s > r; r++) a[r].type === this.type && (a[r] = this.reformOption(a[r]), this.legendHoverLink = a[r].legendHoverLink || this.legendHoverLink, e = a[r].xAxisIndex, t = a[r].yAxisIndex, i = this.component.xAxis.getAxis(e), n = this.component.yAxis.getAxis(t), i.type === h.COMPONENT_TYPE_AXIS_CATEGORY ? o[i.getPosition()].push(r) : n.type === h.COMPONENT_TYPE_AXIS_CATEGORY ? o[n.getPosition()].push(r) : o.other.push(r));
  7643. for(var l in o) o[l].length > 0 && this._buildSinglePosition(l, o[l]);
  7644. this.addShapeList()
  7645. },
  7646. _buildSinglePosition: function(e, t) {
  7647. var i = this._mapData(t),
  7648. n = i.locationMap,
  7649. a = i.maxDataLength;
  7650. if(0 !== a && 0 !== n.length) {
  7651. switch(e) {
  7652. case "bottom":
  7653. case "top":
  7654. this._buildHorizontal(t, a, n, this.xMarkMap);
  7655. break;
  7656. case "left":
  7657. case "right":
  7658. this._buildVertical(t, a, n, this.xMarkMap);
  7659. break;
  7660. case "other":
  7661. this._buildOther(t, a, n, this.xMarkMap)
  7662. }
  7663. for(var o = 0, r = t.length; r > o; o++) this.buildMark(t[o])
  7664. }
  7665. },
  7666. _mapData: function(e) {
  7667. for(var t, i, n, a, o = this.series, r = 0, s = {}, l = "__kener__stack__", m = this.component.legend, V = [], U = 0, d = 0, p = e.length; p > d; d++) {
  7668. if(t = o[e[d]], n = t.name, this._sIndex2ShapeMap[e[d]] = this._sIndex2ShapeMap[e[d]] || this.query(t, "symbol") || this._symbol[d % this._symbol.length], m) {
  7669. if(this.selectedMap[n] = m.isSelected(n), this._sIndex2ColorMap[e[d]] = m.getColor(n), a = m.getItemShape(n)) {
  7670. var c = a.style;
  7671. if(this.type == h.CHART_TYPE_LINE) c.iconType = "legendLineIcon", c.symbol = this._sIndex2ShapeMap[e[d]];
  7672. else if(t.itemStyle.normal.barBorderWidth > 0) {
  7673. var u = a.highlightStyle;
  7674. c.brushType = "both", c.x += 1, c.y += 1, c.width -= 2, c.height -= 2, c.strokeColor = u.strokeColor = t.itemStyle.normal.barBorderColor, u.lineWidth = 3
  7675. }
  7676. m.setItemShape(n, a)
  7677. }
  7678. } else this.selectedMap[n] = !0, this._sIndex2ColorMap[e[d]] = this.zr.getColor(e[d]);
  7679. this.selectedMap[n] && (i = t.stack || l + e[d], null == s[i] ? (s[i] = r, V[r] = [e[d]], r++) : V[s[i]].push(e[d])), U = Math.max(U, t.data.length)
  7680. }
  7681. return {
  7682. locationMap: V,
  7683. maxDataLength: U
  7684. }
  7685. },
  7686. _calculMarkMapXY: function(e, t, i) {
  7687. for(var n = this.series, a = 0, o = t.length; o > a; a++)
  7688. for(var r = 0, s = t[a].length; s > r; r++) {
  7689. var l = t[a][r],
  7690. h = "xy" == i ? 0 : "",
  7691. m = this.component.grid,
  7692. V = e[l];
  7693. if("-1" != i.indexOf("x")) {
  7694. V["counter" + h] > 0 && (V["average" + h] = V["sum" + h] / V["counter" + h]);
  7695. var U = this.component.xAxis.getAxis(n[l].xAxisIndex || 0).getCoord(V["average" + h]);
  7696. V["averageLine" + h] = [
  7697. [U, m.getYend()],
  7698. [U, m.getY()]
  7699. ], V["minLine" + h] = [
  7700. [V["minX" + h], m.getYend()],
  7701. [V["minX" + h], m.getY()]
  7702. ], V["maxLine" + h] = [
  7703. [V["maxX" + h], m.getYend()],
  7704. [V["maxX" + h], m.getY()]
  7705. ], V.isHorizontal = !1
  7706. }
  7707. if(h = "xy" == i ? 1 : "", "-1" != i.indexOf("y")) {
  7708. V["counter" + h] > 0 && (V["average" + h] = V["sum" + h] / V["counter" + h]);
  7709. var d = this.component.yAxis.getAxis(n[l].yAxisIndex || 0).getCoord(V["average" + h]);
  7710. V["averageLine" + h] = [
  7711. [m.getX(), d],
  7712. [m.getXend(), d]
  7713. ], V["minLine" + h] = [
  7714. [m.getX(), V["minY" + h]],
  7715. [m.getXend(), V["minY" + h]]
  7716. ], V["maxLine" + h] = [
  7717. [m.getX(), V["maxY" + h]],
  7718. [m.getXend(), V["maxY" + h]]
  7719. ], V.isHorizontal = !0
  7720. }
  7721. }
  7722. },
  7723. addLabel: function(e, t, i, n, a) {
  7724. var o = [i, t],
  7725. r = this.deepMerge(o, "itemStyle.normal.label"),
  7726. s = this.deepMerge(o, "itemStyle.emphasis.label"),
  7727. l = r.textStyle || {},
  7728. h = s.textStyle || {};
  7729. if(r.show) {
  7730. var m = e.style;
  7731. m.text = this._getLabelText(t, i, n, "normal"), m.textPosition = null == r.position ? "horizontal" === a ? "right" : "top" : r.position, m.textColor = l.color, m.textFont = this.getFont(l), m.textAlign = l.align, m.textBaseline = l.baseline
  7732. }
  7733. if(s.show) {
  7734. var V = e.highlightStyle;
  7735. V.text = this._getLabelText(t, i, n, "emphasis"), V.textPosition = r.show ? e.style.textPosition : null == s.position ? "horizontal" === a ? "right" : "top" : s.position, V.textColor = h.color, V.textFont = this.getFont(h), V.textAlign = h.align, V.textBaseline = h.baseline
  7736. }
  7737. return e
  7738. },
  7739. _getLabelText: function(e, t, i, n) {
  7740. var a = this.deepQuery([t, e], "itemStyle." + n + ".label.formatter");
  7741. a || "emphasis" !== n || (a = this.deepQuery([t, e], "itemStyle.normal.label.formatter"));
  7742. var o = this.getDataFromOption(t, "-");
  7743. return a ? "function" == typeof a ? a.call(this.myChart, {
  7744. seriesName: e.name,
  7745. series: e,
  7746. name: i,
  7747. value: o,
  7748. data: t,
  7749. status: n
  7750. }) : "string" == typeof a ? a = a.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{a0}", e.name).replace("{b0}", i).replace("{c0}", this.numAddCommas(o)) : void 0 : o instanceof Array ? null != o[2] ? this.numAddCommas(o[2]) : o[0] + " , " + o[1] : this.numAddCommas(o)
  7751. },
  7752. buildMark: function(e) {
  7753. var t = this.series[e];
  7754. this.selectedMap[t.name] && (t.markLine && this._buildMarkLine(e), t.markPoint && this._buildMarkPoint(e))
  7755. },
  7756. _buildMarkPoint: function(e) {
  7757. for(var t, i, n = (this.markAttachStyle || {})[e], a = this.series[e], o = u.clone(a.markPoint), r = 0, s = o.data.length; s > r; r++) t = o.data[r], i = this.getMarkCoord(e, t), t.x = null != t.x ? t.x : i[0], t.y = null != t.y ? t.y : i[1], !t.type || "max" !== t.type && "min" !== t.type || (t.value = i[3], t.name = t.name || t.type, t.symbolSize = t.symbolSize || y.getTextWidth(i[3], this.getFont()) / 2 + 5);
  7758. for(var l = this._markPoint(e, o), r = 0, s = l.length; s > r; r++) {
  7759. var m = l[r];
  7760. m.zlevel = a.zlevel, m.z = a.z + 1;
  7761. for(var V in n) m[V] = u.clone(n[V]);
  7762. this.shapeList.push(m)
  7763. }
  7764. if(this.type === h.CHART_TYPE_FORCE || this.type === h.CHART_TYPE_CHORD)
  7765. for(var r = 0, s = l.length; s > r; r++) this.zr.addShape(l[r])
  7766. },
  7767. _buildMarkLine: function(e) {
  7768. for(var t, i = (this.markAttachStyle || {})[e], n = this.series[e], a = u.clone(n.markLine), o = 0, r = a.data.length; r > o; o++) {
  7769. var s = a.data[o];
  7770. !s.type || "max" !== s.type && "min" !== s.type && "average" !== s.type ? t = [this.getMarkCoord(e, s[0]), this.getMarkCoord(e, s[1])] : (t = this.getMarkCoord(e, s), a.data[o] = [u.clone(s), {}], a.data[o][0].name = s.name || s.type, a.data[o][0].value = "average" !== s.type ? t[3] : +t[3].toFixed(null != a.precision ? a.precision : this.deepQuery([this.ecTheme, h], "markLine.precision")), t = t[2], s = [{}, {}]), null != t && null != t[0] && null != t[1] && (a.data[o][0].x = null != s[0].x ? s[0].x : t[0][0], a.data[o][0].y = null != s[0].y ? s[0].y : t[0][1], a.data[o][1].x = null != s[1].x ? s[1].x : t[1][0], a.data[o][1].y = null != s[1].y ? s[1].y : t[1][1])
  7771. }
  7772. var m = this._markLine(e, a),
  7773. V = a.large;
  7774. if(V) {
  7775. var U = new l({
  7776. style: {
  7777. shapeList: m
  7778. }
  7779. }),
  7780. d = m[0];
  7781. if(d) {
  7782. u.merge(U.style, d.style), u.merge(U.highlightStyle = {}, d.highlightStyle), U.style.brushType = "stroke", U.zlevel = n.zlevel, U.z = n.z + 1, U.hoverable = !1;
  7783. for(var p in i) U[p] = u.clone(i[p])
  7784. }
  7785. this.shapeList.push(U), this.zr.addShape(U), U._mark = "largeLine";
  7786. var c = a.effect;
  7787. c.show && (U.effect = c)
  7788. } else {
  7789. for(var o = 0, r = m.length; r > o; o++) {
  7790. var y = m[o];
  7791. y.zlevel = n.zlevel, y.z = n.z + 1;
  7792. for(var p in i) y[p] = u.clone(i[p]);
  7793. this.shapeList.push(y)
  7794. }
  7795. if(this.type === h.CHART_TYPE_FORCE || this.type === h.CHART_TYPE_CHORD)
  7796. for(var o = 0, r = m.length; r > o; o++) this.zr.addShape(m[o])
  7797. }
  7798. },
  7799. _markPoint: function(e, t) {
  7800. var i = this.series[e],
  7801. n = this.component;
  7802. u.merge(u.merge(t, u.clone(this.ecTheme.markPoint || {})), u.clone(h.markPoint)), t.name = i.name;
  7803. var a, o, r, s, l, V, U, d = [],
  7804. p = t.data,
  7805. c = n.dataRange,
  7806. y = n.legend,
  7807. g = this.zr.getWidth(),
  7808. b = this.zr.getHeight();
  7809. if(t.large) a = this.getLargeMarkPointShape(e, t), a._mark = "largePoint", a && d.push(a);
  7810. else
  7811. for(var f = 0, k = p.length; k > f; f++) null != p[f].x && null != p[f].y && (r = null != p[f].value ? p[f].value : "", y && (o = y.getColor(i.name)), c && (o = isNaN(r) ? o : c.getColor(r), s = [p[f], t], l = this.deepQuery(s, "itemStyle.normal.color") || o, V = this.deepQuery(s, "itemStyle.emphasis.color") || l, null == l && null == V) || (o = null == o ? this.zr.getColor(e) : o, p[f].tooltip = p[f].tooltip || t.tooltip || {
  7812. trigger: "item"
  7813. }, p[f].name = null != p[f].name ? p[f].name : "", p[f].value = r, a = this.getSymbolShape(t, e, p[f], f, p[f].name, this.parsePercent(p[f].x, g), this.parsePercent(p[f].y, b), "pin", o, "rgba(0,0,0,0)", "horizontal"), a._mark = "point", U = this.deepMerge([p[f], t], "effect"), U.show && (a.effect = U), i.type === h.CHART_TYPE_MAP && (a._geo = this.getMarkGeo(p[f])), m.pack(a, i, e, p[f], f, p[f].name, r), d.push(a)));
  7814. return d
  7815. },
  7816. _markLine: function() {
  7817. function e(e, t) {
  7818. e[t] = e[t] instanceof Array ? e[t].length > 1 ? e[t] : [e[t][0], e[t][0]] : [e[t], e[t]]
  7819. }
  7820. return function(i, n) {
  7821. var a = this.series[i],
  7822. o = this.component,
  7823. r = o.dataRange,
  7824. s = o.legend;
  7825. u.merge(u.merge(n, u.clone(this.ecTheme.markLine || {})), u.clone(h.markLine));
  7826. var l = s ? s.getColor(a.name) : this.zr.getColor(i);
  7827. e(n, "symbol"), e(n, "symbolSize"), e(n, "symbolRotate");
  7828. for(var V = n.data, U = [], d = this.zr.getWidth(), p = this.zr.getHeight(), y = 0; y < V.length; y++) {
  7829. var g = V[y];
  7830. if(t(g[0]) && t(g[1])) {
  7831. var b = this.deepMerge(g),
  7832. f = [b, n],
  7833. k = l,
  7834. x = null != b.value ? b.value : "";
  7835. if(r) {
  7836. k = isNaN(x) ? k : r.getColor(x);
  7837. var _ = this.deepQuery(f, "itemStyle.normal.color") || k,
  7838. L = this.deepQuery(f, "itemStyle.emphasis.color") || _;
  7839. if(null == _ && null == L) continue
  7840. }
  7841. g[0].tooltip = b.tooltip || n.tooltip || {
  7842. trigger: "item"
  7843. }, g[0].name = g[0].name || "", g[1].name = g[1].name || "", g[0].value = x, U.push({
  7844. points: [
  7845. [this.parsePercent(g[0].x, d), this.parsePercent(g[0].y, p)],
  7846. [this.parsePercent(g[1].x, d), this.parsePercent(g[1].y, p)]
  7847. ],
  7848. rawData: g,
  7849. color: k
  7850. })
  7851. }
  7852. }
  7853. var W = this.query(n, "bundling.enable");
  7854. if(W) {
  7855. var X = new c;
  7856. X.maxTurningAngle = this.query(n, "bundling.maxTurningAngle") / 180 * Math.PI, U = X.run(U)
  7857. }
  7858. n.name = a.name;
  7859. for(var v = [], y = 0, w = U.length; w > y; y++) {
  7860. var K = U[y],
  7861. I = K.rawEdge || K,
  7862. g = I.rawData,
  7863. x = null != g.value ? g.value : "",
  7864. J = this.getMarkLineShape(n, i, g, y, K.points, W, I.color);
  7865. J._mark = "line";
  7866. var C = this.deepMerge([g[0], g[1], n], "effect");
  7867. C.show && (J.effect = C, J.effect.large = n.large), a.type === h.CHART_TYPE_MAP && (J._geo = [this.getMarkGeo(g[0]), this.getMarkGeo(g[1])]), m.pack(J, a, i, g[0], y, g[0].name + ("" !== g[1].name ? " > " + g[1].name : ""), x), v.push(J)
  7868. }
  7869. return v
  7870. }
  7871. }(),
  7872. getMarkCoord: function() {
  7873. return [0, 0]
  7874. },
  7875. getSymbolShape: function(e, t, i, o, r, s, l, h, V, U, d) {
  7876. var p = [i, e],
  7877. c = this.getDataFromOption(i, "-");
  7878. h = this.deepQuery(p, "symbol") || h;
  7879. var u = this.deepQuery(p, "symbolSize");
  7880. u = "function" == typeof u ? u(c) : u, "number" == typeof u && (u = [u, u]);
  7881. var y = this.deepQuery(p, "symbolRotate"),
  7882. g = this.deepMerge(p, "itemStyle.normal"),
  7883. b = this.deepMerge(p, "itemStyle.emphasis"),
  7884. f = null != g.borderWidth ? g.borderWidth : g.lineStyle && g.lineStyle.width;
  7885. null == f && (f = h.match("empty") ? 2 : 0);
  7886. var k = null != b.borderWidth ? b.borderWidth : b.lineStyle && b.lineStyle.width;
  7887. null == k && (k = f + 2);
  7888. var x = this.getItemStyleColor(g.color, t, o, i),
  7889. _ = this.getItemStyleColor(b.color, t, o, i),
  7890. L = u[0],
  7891. W = u[1],
  7892. X = new a({
  7893. style: {
  7894. iconType: h.replace("empty", "").toLowerCase(),
  7895. x: s - L,
  7896. y: l - W,
  7897. width: 2 * L,
  7898. height: 2 * W,
  7899. brushType: "both",
  7900. color: h.match("empty") ? U : x || V,
  7901. strokeColor: g.borderColor || x || V,
  7902. lineWidth: f
  7903. },
  7904. highlightStyle: {
  7905. color: h.match("empty") ? U : _ || x || V,
  7906. strokeColor: b.borderColor || g.borderColor || _ || x || V,
  7907. lineWidth: k
  7908. },
  7909. clickable: this.deepQuery(p, "clickable")
  7910. });
  7911. return h.match("image") && (X.style.image = h.replace(new RegExp("^image:\\/\\/"), ""), X = new n({
  7912. style: X.style,
  7913. highlightStyle: X.highlightStyle,
  7914. clickable: this.deepQuery(p, "clickable")
  7915. })), null != y && (X.rotation = [y * Math.PI / 180, s, l]), h.match("star") && (X.style.iconType = "star", X.style.n = h.replace("empty", "").replace("star", "") - 0 || 5), "none" === h && (X.invisible = !0, X.hoverable = !1), X = this.addLabel(X, e, i, r, d), h.match("empty") && (null == X.style.textColor && (X.style.textColor = X.style.strokeColor), null == X.highlightStyle.textColor && (X.highlightStyle.textColor = X.highlightStyle.strokeColor)), m.pack(X, e, t, i, o, r), X._x = s, X._y = l, X._dataIndex = o, X._seriesIndex = t, X
  7916. },
  7917. getMarkLineShape: function(e, t, i, n, a, r, l) {
  7918. var h = null != i[0].value ? i[0].value : "-",
  7919. m = null != i[1].value ? i[1].value : "-",
  7920. V = [i[0].symbol || e.symbol[0], i[1].symbol || e.symbol[1]],
  7921. U = [i[0].symbolSize || e.symbolSize[0], i[1].symbolSize || e.symbolSize[1]];
  7922. U[0] = "function" == typeof U[0] ? U[0](h) : U[0], U[1] = "function" == typeof U[1] ? U[1](m) : U[1];
  7923. var d = [this.query(i[0], "symbolRotate") || e.symbolRotate[0], this.query(i[1], "symbolRotate") || e.symbolRotate[1]],
  7924. p = [i[0], i[1], e],
  7925. c = this.deepMerge(p, "itemStyle.normal");
  7926. c.color = this.getItemStyleColor(c.color, t, n, i);
  7927. var u = this.deepMerge(p, "itemStyle.emphasis");
  7928. u.color = this.getItemStyleColor(u.color, t, n, i);
  7929. var y = c.lineStyle,
  7930. g = u.lineStyle,
  7931. b = y.width;
  7932. null == b && (b = c.borderWidth);
  7933. var f = g.width;
  7934. null == f && (f = null != u.borderWidth ? u.borderWidth : b + 2);
  7935. var k = this.deepQuery(p, "smoothness");
  7936. this.deepQuery(p, "smooth") || (k = 0);
  7937. var x = r ? s : o,
  7938. _ = new x({
  7939. style: {
  7940. symbol: V,
  7941. symbolSize: U,
  7942. symbolRotate: d,
  7943. brushType: "both",
  7944. lineType: y.type,
  7945. shadowColor: y.shadowColor || y.color || c.borderColor || c.color || l,
  7946. shadowBlur: y.shadowBlur,
  7947. shadowOffsetX: y.shadowOffsetX,
  7948. shadowOffsetY: y.shadowOffsetY,
  7949. color: c.color || l,
  7950. strokeColor: y.color || c.borderColor || c.color || l,
  7951. lineWidth: b,
  7952. symbolBorderColor: c.borderColor || c.color || l,
  7953. symbolBorder: c.borderWidth
  7954. },
  7955. highlightStyle: {
  7956. shadowColor: g.shadowColor,
  7957. shadowBlur: g.shadowBlur,
  7958. shadowOffsetX: g.shadowOffsetX,
  7959. shadowOffsetY: g.shadowOffsetY,
  7960. color: u.color || c.color || l,
  7961. strokeColor: g.color || y.color || u.borderColor || c.borderColor || u.color || c.color || l,
  7962. lineWidth: f,
  7963. symbolBorderColor: u.borderColor || c.borderColor || u.color || c.color || l,
  7964. symbolBorder: null == u.borderWidth ? c.borderWidth + 2 : u.borderWidth
  7965. },
  7966. clickable: this.deepQuery(p, "clickable")
  7967. }),
  7968. L = _.style;
  7969. return r ? (L.pointList = a, L.smooth = k) : (L.xStart = a[0][0], L.yStart = a[0][1], L.xEnd = a[1][0], L.yEnd = a[1][1], L.curveness = k, _.updatePoints(_.style)), _ = this.addLabel(_, e, i[0], i[0].name + " : " + i[1].name)
  7970. },
  7971. getLargeMarkPointShape: function(e, t) {
  7972. var i, n, a, o, s, l, h = this.series[e],
  7973. m = this.component,
  7974. V = t.data,
  7975. U = m.dataRange,
  7976. d = m.legend,
  7977. p = [V[0], t];
  7978. if(d && (n = d.getColor(h.name)), !U || (a = null != V[0].value ? V[0].value : "", n = isNaN(a) ? n : U.getColor(a), o = this.deepQuery(p, "itemStyle.normal.color") || n, s = this.deepQuery(p, "itemStyle.emphasis.color") || o, null != o || null != s)) {
  7979. n = this.deepMerge(p, "itemStyle.normal").color || n;
  7980. var c = this.deepQuery(p, "symbol") || "circle";
  7981. c = c.replace("empty", "").replace(/\d/g, ""), l = this.deepMerge([V[0], t], "effect");
  7982. var u = window.devicePixelRatio || 1;
  7983. return i = new r({
  7984. style: {
  7985. pointList: V,
  7986. color: n,
  7987. strokeColor: n,
  7988. shadowColor: l.shadowColor || n,
  7989. shadowBlur: (null != l.shadowBlur ? l.shadowBlur : 8) * u,
  7990. size: this.deepQuery(p, "symbolSize"),
  7991. iconType: c,
  7992. brushType: "fill",
  7993. lineWidth: 1
  7994. },
  7995. draggable: !1,
  7996. hoverable: !1
  7997. }), l.show && (i.effect = l), i
  7998. }
  7999. },
  8000. backupShapeList: function() {
  8001. this.shapeList && this.shapeList.length > 0 ? (this.lastShapeList = this.shapeList, this.shapeList = []) : this.lastShapeList = []
  8002. },
  8003. addShapeList: function() {
  8004. var e, t, i = this.option.animationThreshold / (this.canvasSupported ? 2 : 4),
  8005. n = this.lastShapeList,
  8006. a = this.shapeList,
  8007. o = n.length > 0,
  8008. r = o ? this.query(this.option, "animationDurationUpdate") : this.query(this.option, "animationDuration"),
  8009. s = this.query(this.option, "animationEasing"),
  8010. l = {},
  8011. m = {};
  8012. if(this.option.animation && !this.option.renderAsImage && a.length < i && !this.motionlessOnce) {
  8013. for(var V = 0, U = n.length; U > V; V++) t = this._getAnimationKey(n[V]), t.match("undefined") ? this.zr.delShape(n[V].id) : (t += n[V].type, l[t] ? this.zr.delShape(n[V].id) : l[t] = n[V]);
  8014. for(var V = 0, U = a.length; U > V; V++) t = this._getAnimationKey(a[V]), t.match("undefined") ? this.zr.addShape(a[V]) : (t += a[V].type, m[t] = a[V]);
  8015. for(t in l) m[t] || this.zr.delShape(l[t].id);
  8016. for(t in m) l[t] ? (this.zr.delShape(l[t].id), this._animateMod(l[t], m[t], r, s, 0, o)) : (e = this.type != h.CHART_TYPE_LINE && this.type != h.CHART_TYPE_RADAR || 0 === t.indexOf("icon") ? 0 : r / 2, this._animateMod(!1, m[t], r, s, e, o));
  8017. this.zr.refresh(), this.animationEffect()
  8018. } else {
  8019. this.motionlessOnce = !1, this.zr.delShape(n);
  8020. for(var V = 0, U = a.length; U > V; V++) this.zr.addShape(a[V])
  8021. }
  8022. },
  8023. _getAnimationKey: function(e) {
  8024. return this.type != h.CHART_TYPE_MAP && this.type != h.CHART_TYPE_TREEMAP && this.type != h.CHART_TYPE_VENN && this.type != h.CHART_TYPE_TREE ? m.get(e, "seriesIndex") + "_" + m.get(e, "dataIndex") + (e._mark ? e._mark : "") + (this.type === h.CHART_TYPE_RADAR ? m.get(e, "special") : "") : m.get(e, "seriesIndex") + "_" + m.get(e, "dataIndex") + (e._mark ? e._mark : "undefined")
  8025. },
  8026. _animateMod: function(e, t, i, n, a, o) {
  8027. switch(t.type) {
  8028. case "polyline":
  8029. case "half-smooth-polygon":
  8030. V.pointList(this.zr, e, t, i, n);
  8031. break;
  8032. case "rectangle":
  8033. V.rectangle(this.zr, e, t, i, n);
  8034. break;
  8035. case "image":
  8036. case "icon":
  8037. V.icon(this.zr, e, t, i, n, a);
  8038. break;
  8039. case "candle":
  8040. o ? this.zr.addShape(t) : V.candle(this.zr, e, t, i, n);
  8041. break;
  8042. case "ring":
  8043. case "sector":
  8044. case "circle":
  8045. o ? "sector" === t.type ? V.sector(this.zr, e, t, i, n) : this.zr.addShape(t) : V.ring(this.zr, e, t, i + (m.get(t, "dataIndex") || 0) % 20 * 100, n);
  8046. break;
  8047. case "text":
  8048. V.text(this.zr, e, t, i, n);
  8049. break;
  8050. case "polygon":
  8051. o ? V.pointList(this.zr, e, t, i, n) : V.polygon(this.zr, e, t, i, n);
  8052. break;
  8053. case "ribbon":
  8054. V.ribbon(this.zr, e, t, i, n);
  8055. break;
  8056. case "gauge-pointer":
  8057. V.gaugePointer(this.zr, e, t, i, n);
  8058. break;
  8059. case "mark-line":
  8060. V.markline(this.zr, e, t, i, n);
  8061. break;
  8062. case "bezier-curve":
  8063. case "line":
  8064. V.line(this.zr, e, t, i, n);
  8065. break;
  8066. default:
  8067. this.zr.addShape(t)
  8068. }
  8069. },
  8070. animationMark: function(e, t, i) {
  8071. for(var i = i || this.shapeList, n = 0, a = i.length; a > n; n++) i[n]._mark && this._animateMod(!1, i[n], e, t, 0, !0);
  8072. this.animationEffect(i)
  8073. },
  8074. animationEffect: function(e) {
  8075. if(!e && this.clearEffectShape(), e = e || this.shapeList, null != e) {
  8076. var t = h.EFFECT_ZLEVEL;
  8077. this.canvasSupported && this.zr.modLayer(t, {
  8078. motionBlur: !0,
  8079. lastFrameAlpha: this.option.effectBlendAlpha || h.effectBlendAlpha
  8080. });
  8081. for(var i, n = 0, a = e.length; a > n; n++) i = e[n], i._mark && i.effect && i.effect.show && U[i._mark] && (U[i._mark](this.zr, this.effectList, i, t), this.effectList[this.effectList.length - 1]._mark = i._mark)
  8082. }
  8083. },
  8084. clearEffectShape: function(e) {
  8085. var t = this.effectList;
  8086. if(this.zr && t && t.length > 0) {
  8087. e && this.zr.modLayer(h.EFFECT_ZLEVEL, {
  8088. motionBlur: !1
  8089. }), this.zr.delShape(t);
  8090. for(var i = 0; i < t.length; i++) t[i].effectAnimator && t[i].effectAnimator.stop()
  8091. }
  8092. this.effectList = []
  8093. },
  8094. addMark: function(e, t, i) {
  8095. var n = this.series[e];
  8096. if(this.selectedMap[n.name]) {
  8097. var a = this.query(this.option, "animationDurationUpdate"),
  8098. o = this.query(this.option, "animationEasing"),
  8099. r = n[i].data,
  8100. s = this.shapeList.length;
  8101. if(n[i].data = t.data, this["_build" + i.replace("m", "M")](e), this.option.animation && !this.option.renderAsImage) this.animationMark(a, o, this.shapeList.slice(s));
  8102. else {
  8103. for(var l = s, h = this.shapeList.length; h > l; l++) this.zr.addShape(this.shapeList[l]);
  8104. this.zr.refreshNextFrame()
  8105. }
  8106. n[i].data = r
  8107. }
  8108. },
  8109. delMark: function(e, t, i) {
  8110. i = i.replace("mark", "").replace("large", "").toLowerCase();
  8111. var n = this.series[e];
  8112. if(this.selectedMap[n.name]) {
  8113. for(var a = !1, o = [this.shapeList, this.effectList], r = 2; r--;)
  8114. for(var s = 0, l = o[r].length; l > s; s++)
  8115. if(o[r][s]._mark == i && m.get(o[r][s], "seriesIndex") == e && m.get(o[r][s], "name") == t) {
  8116. this.zr.delShape(o[r][s].id), o[r].splice(s, 1), a = !0;
  8117. break
  8118. }
  8119. a && this.zr.refreshNextFrame()
  8120. }
  8121. }
  8122. }, u.inherits(i, p), i
  8123. }), i("zrender/shape/Circle", ["require", "./Base", "../tool/util"], function(e) {
  8124. "use strict";
  8125. var t = e("./Base"),
  8126. i = function(e) {
  8127. t.call(this, e)
  8128. };
  8129. return i.prototype = {
  8130. type: "circle",
  8131. buildPath: function(e, t) {
  8132. e.moveTo(t.x + t.r, t.y), e.arc(t.x, t.y, t.r, 0, 2 * Math.PI, !0)
  8133. },
  8134. getRect: function(e) {
  8135. if(e.__rect) return e.__rect;
  8136. var t;
  8137. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  8138. x: Math.round(e.x - e.r - t / 2),
  8139. y: Math.round(e.y - e.r - t / 2),
  8140. width: 2 * e.r + t,
  8141. height: 2 * e.r + t
  8142. }, e.__rect
  8143. }
  8144. }, e("../tool/util").inherits(i, t), i
  8145. }), i("echarts/util/accMath", [], function() {
  8146. function e(e, t) {
  8147. var i = e.toString(),
  8148. n = t.toString(),
  8149. a = 0;
  8150. try {
  8151. a = n.split(".")[1].length
  8152. } catch(o) {}
  8153. try {
  8154. a -= i.split(".")[1].length
  8155. } catch(o) {}
  8156. return(i.replace(".", "") - 0) / (n.replace(".", "") - 0) * Math.pow(10, a)
  8157. }
  8158. function t(e, t) {
  8159. var i = e.toString(),
  8160. n = t.toString(),
  8161. a = 0;
  8162. try {
  8163. a += i.split(".")[1].length
  8164. } catch(o) {}
  8165. try {
  8166. a += n.split(".")[1].length
  8167. } catch(o) {}
  8168. return(i.replace(".", "") - 0) * (n.replace(".", "") - 0) / Math.pow(10, a)
  8169. }
  8170. function i(e, t) {
  8171. var i = 0,
  8172. n = 0;
  8173. try {
  8174. i = e.toString().split(".")[1].length
  8175. } catch(a) {}
  8176. try {
  8177. n = t.toString().split(".")[1].length
  8178. } catch(a) {}
  8179. var o = Math.pow(10, Math.max(i, n));
  8180. return(Math.round(e * o) + Math.round(t * o)) / o
  8181. }
  8182. function n(e, t) {
  8183. return i(e, -t)
  8184. }
  8185. return {
  8186. accDiv: e,
  8187. accMul: t,
  8188. accAdd: i,
  8189. accSub: n
  8190. }
  8191. }), i("echarts/util/shape/Icon", ["require", "zrender/tool/util", "zrender/shape/Star", "zrender/shape/Heart", "zrender/shape/Droplet", "zrender/shape/Image", "zrender/shape/Base"], function(e) {
  8192. function t(e, t) {
  8193. var i = t.x,
  8194. n = t.y,
  8195. a = t.width / 16,
  8196. o = t.height / 16;
  8197. e.moveTo(i, n + t.height), e.lineTo(i + 5 * a, n + 14 * o), e.lineTo(i + t.width, n + 3 * o), e.lineTo(i + 13 * a, n), e.lineTo(i + 2 * a, n + 11 * o), e.lineTo(i, n + t.height), e.moveTo(i + 6 * a, n + 10 * o), e.lineTo(i + 14 * a, n + 2 * o), e.moveTo(i + 10 * a, n + 13 * o), e.lineTo(i + t.width, n + 13 * o), e.moveTo(i + 13 * a, n + 10 * o), e.lineTo(i + 13 * a, n + t.height)
  8198. }
  8199. function i(e, t) {
  8200. var i = t.x,
  8201. n = t.y,
  8202. a = t.width / 16,
  8203. o = t.height / 16;
  8204. e.moveTo(i, n + t.height), e.lineTo(i + 5 * a, n + 14 * o), e.lineTo(i + t.width, n + 3 * o), e.lineTo(i + 13 * a, n), e.lineTo(i + 2 * a, n + 11 * o), e.lineTo(i, n + t.height), e.moveTo(i + 6 * a, n + 10 * o), e.lineTo(i + 14 * a, n + 2 * o), e.moveTo(i + 10 * a, n + 13 * o), e.lineTo(i + t.width, n + 13 * o)
  8205. }
  8206. function n(e, t) {
  8207. var i = t.x,
  8208. n = t.y,
  8209. a = t.width / 16,
  8210. o = t.height / 16;
  8211. e.moveTo(i + 4 * a, n + 15 * o), e.lineTo(i + 9 * a, n + 13 * o), e.lineTo(i + 14 * a, n + 8 * o), e.lineTo(i + 11 * a, n + 5 * o), e.lineTo(i + 6 * a, n + 10 * o), e.lineTo(i + 4 * a, n + 15 * o), e.moveTo(i + 5 * a, n), e.lineTo(i + 11 * a, n), e.moveTo(i + 5 * a, n + o), e.lineTo(i + 11 * a, n + o), e.moveTo(i, n + 2 * o), e.lineTo(i + t.width, n + 2 * o), e.moveTo(i, n + 5 * o), e.lineTo(i + 3 * a, n + t.height), e.lineTo(i + 13 * a, n + t.height), e.lineTo(i + t.width, n + 5 * o)
  8212. }
  8213. function a(e, t) {
  8214. var i = t.x,
  8215. n = t.y,
  8216. a = t.width / 16,
  8217. o = t.height / 16;
  8218. e.moveTo(i, n + 3 * o), e.lineTo(i + 6 * a, n + 3 * o), e.moveTo(i + 3 * a, n), e.lineTo(i + 3 * a, n + 6 * o), e.moveTo(i + 3 * a, n + 8 * o), e.lineTo(i + 3 * a, n + t.height), e.lineTo(i + t.width, n + t.height), e.lineTo(i + t.width, n + 3 * o), e.lineTo(i + 8 * a, n + 3 * o)
  8219. }
  8220. function o(e, t) {
  8221. var i = t.x,
  8222. n = t.y,
  8223. a = t.width / 16,
  8224. o = t.height / 16;
  8225. e.moveTo(i + 6 * a, n), e.lineTo(i + 2 * a, n + 3 * o), e.lineTo(i + 6 * a, n + 6 * o), e.moveTo(i + 2 * a, n + 3 * o), e.lineTo(i + 14 * a, n + 3 * o), e.lineTo(i + 14 * a, n + 11 * o), e.moveTo(i + 2 * a, n + 5 * o), e.lineTo(i + 2 * a, n + 13 * o), e.lineTo(i + 14 * a, n + 13 * o), e.moveTo(i + 10 * a, n + 10 * o), e.lineTo(i + 14 * a, n + 13 * o), e.lineTo(i + 10 * a, n + t.height)
  8226. }
  8227. function r(e, t) {
  8228. var i = t.x,
  8229. n = t.y,
  8230. a = t.width / 16,
  8231. o = t.height / 16,
  8232. r = t.width / 2;
  8233. e.lineWidth = 1.5, e.arc(i + r, n + r, r - a, 0, 2 * Math.PI / 3), e.moveTo(i + 3 * a, n + t.height), e.lineTo(i + 0 * a, n + 12 * o), e.lineTo(i + 5 * a, n + 11 * o), e.moveTo(i, n + 8 * o), e.arc(i + r, n + r, r - a, Math.PI, 5 * Math.PI / 3), e.moveTo(i + 13 * a, n), e.lineTo(i + t.width, n + 4 * o), e.lineTo(i + 11 * a, n + 5 * o)
  8234. }
  8235. function s(e, t) {
  8236. var i = t.x,
  8237. n = t.y,
  8238. a = t.width / 16,
  8239. o = t.height / 16;
  8240. e.moveTo(i, n), e.lineTo(i, n + t.height), e.lineTo(i + t.width, n + t.height), e.moveTo(i + 2 * a, n + 14 * o), e.lineTo(i + 7 * a, n + 6 * o), e.lineTo(i + 11 * a, n + 11 * o), e.lineTo(i + 15 * a, n + 2 * o)
  8241. }
  8242. function l(e, t) {
  8243. var i = t.x,
  8244. n = t.y,
  8245. a = t.width / 16,
  8246. o = t.height / 16;
  8247. e.moveTo(i, n), e.lineTo(i, n + t.height), e.lineTo(i + t.width, n + t.height), e.moveTo(i + 3 * a, n + 14 * o), e.lineTo(i + 3 * a, n + 6 * o), e.lineTo(i + 4 * a, n + 6 * o), e.lineTo(i + 4 * a, n + 14 * o), e.moveTo(i + 7 * a, n + 14 * o), e.lineTo(i + 7 * a, n + 2 * o), e.lineTo(i + 8 * a, n + 2 * o), e.lineTo(i + 8 * a, n + 14 * o), e.moveTo(i + 11 * a, n + 14 * o), e.lineTo(i + 11 * a, n + 9 * o), e.lineTo(i + 12 * a, n + 9 * o), e.lineTo(i + 12 * a, n + 14 * o)
  8248. }
  8249. function h(e, t) {
  8250. var i = t.x,
  8251. n = t.y,
  8252. a = t.width - 2,
  8253. o = t.height - 2,
  8254. r = Math.min(a, o) / 2;
  8255. n += 2, e.moveTo(i + r + 3, n + r - 3), e.arc(i + r + 3, n + r - 3, r - 1, 0, -Math.PI / 2, !0), e.lineTo(i + r + 3, n + r - 3), e.moveTo(i + r, n), e.lineTo(i + r, n + r), e.arc(i + r, n + r, r, -Math.PI / 2, 2 * Math.PI, !0), e.lineTo(i + r, n + r), e.lineWidth = 1.5
  8256. }
  8257. function m(e, t) {
  8258. var i = t.x,
  8259. n = t.y,
  8260. a = t.width / 16,
  8261. o = t.height / 16;
  8262. n -= o, e.moveTo(i + 1 * a, n + 2 * o), e.lineTo(i + 15 * a, n + 2 * o), e.lineTo(i + 14 * a, n + 3 * o), e.lineTo(i + 2 * a, n + 3 * o), e.moveTo(i + 3 * a, n + 6 * o), e.lineTo(i + 13 * a, n + 6 * o), e.lineTo(i + 12 * a, n + 7 * o), e.lineTo(i + 4 * a, n + 7 * o), e.moveTo(i + 5 * a, n + 10 * o), e.lineTo(i + 11 * a, n + 10 * o), e.lineTo(i + 10 * a, n + 11 * o), e.lineTo(i + 6 * a, n + 11 * o), e.moveTo(i + 7 * a, n + 14 * o), e.lineTo(i + 9 * a, n + 14 * o), e.lineTo(i + 8 * a, n + 15 * o), e.lineTo(i + 7 * a, n + 15 * o)
  8263. }
  8264. function V(e, t) {
  8265. var i = t.x,
  8266. n = t.y,
  8267. a = t.width,
  8268. o = t.height,
  8269. r = a / 16,
  8270. s = o / 16,
  8271. l = 2 * Math.min(r, s);
  8272. e.moveTo(i + r + l, n + s + l), e.arc(i + r, n + s, l, Math.PI / 4, 3 * Math.PI), e.lineTo(i + 7 * r - l, n + 6 * s - l), e.arc(i + 7 * r, n + 6 * s, l, Math.PI / 4 * 5, 4 * Math.PI), e.arc(i + 7 * r, n + 6 * s, l / 2, Math.PI / 4 * 5, 4 * Math.PI), e.moveTo(i + 7 * r - l / 2, n + 6 * s + l), e.lineTo(i + r + l, n + 14 * s - l), e.arc(i + r, n + 14 * s, l, -Math.PI / 4, 2 * Math.PI), e.moveTo(i + 7 * r + l / 2, n + 6 * s), e.lineTo(i + 14 * r - l, n + 10 * s - l / 2), e.moveTo(i + 16 * r, n + 10 * s), e.arc(i + 14 * r, n + 10 * s, l, 0, 3 * Math.PI), e.lineWidth = 1.5
  8273. }
  8274. function U(e, t) {
  8275. var i = t.x,
  8276. n = t.y,
  8277. a = t.width,
  8278. o = t.height,
  8279. r = Math.min(a, o) / 2;
  8280. e.moveTo(i + a, n + o / 2), e.arc(i + r, n + r, r, 0, 2 * Math.PI), e.arc(i + r, n, r, Math.PI / 4, Math.PI / 5 * 4), e.arc(i, n + r, r, -Math.PI / 3, Math.PI / 3), e.arc(i + a, n + o, r, Math.PI, Math.PI / 2 * 3), e.lineWidth = 1.5
  8281. }
  8282. function d(e, t) {
  8283. for(var i = t.x, n = t.y, a = t.width, o = t.height, r = Math.round(o / 3), s = Math.round((r - 2) / 2), l = 3; l--;) e.rect(i, n + r * l + s, a, 2)
  8284. }
  8285. function p(e, t) {
  8286. for(var i = t.x, n = t.y, a = t.width, o = t.height, r = Math.round(a / 3), s = Math.round((r - 2) / 2), l = 3; l--;) e.rect(i + r * l + s, n, 2, o)
  8287. }
  8288. function c(e, t) {
  8289. var i = t.x,
  8290. n = t.y,
  8291. a = t.width / 16;
  8292. e.moveTo(i + a, n), e.lineTo(i + a, n + t.height), e.lineTo(i + 15 * a, n + t.height), e.lineTo(i + 15 * a, n), e.lineTo(i + a, n), e.moveTo(i + 3 * a, n + 3 * a), e.lineTo(i + 13 * a, n + 3 * a), e.moveTo(i + 3 * a, n + 6 * a), e.lineTo(i + 13 * a, n + 6 * a), e.moveTo(i + 3 * a, n + 9 * a), e.lineTo(i + 13 * a, n + 9 * a), e.moveTo(i + 3 * a, n + 12 * a), e.lineTo(i + 9 * a, n + 12 * a)
  8293. }
  8294. function u(e, t) {
  8295. var i = t.x,
  8296. n = t.y,
  8297. a = t.width / 16,
  8298. o = t.height / 16;
  8299. e.moveTo(i, n), e.lineTo(i, n + t.height), e.lineTo(i + t.width, n + t.height), e.lineTo(i + t.width, n), e.lineTo(i, n), e.moveTo(i + 4 * a, n), e.lineTo(i + 4 * a, n + 8 * o), e.lineTo(i + 12 * a, n + 8 * o), e.lineTo(i + 12 * a, n), e.moveTo(i + 6 * a, n + 11 * o), e.lineTo(i + 6 * a, n + 13 * o), e.lineTo(i + 10 * a, n + 13 * o), e.lineTo(i + 10 * a, n + 11 * o), e.lineTo(i + 6 * a, n + 11 * o)
  8300. }
  8301. function y(e, t) {
  8302. var i = t.x,
  8303. n = t.y,
  8304. a = t.width,
  8305. o = t.height;
  8306. e.moveTo(i, n + o / 2), e.lineTo(i + a, n + o / 2), e.moveTo(i + a / 2, n), e.lineTo(i + a / 2, n + o)
  8307. }
  8308. function g(e, t) {
  8309. var i = t.width / 2,
  8310. n = t.height / 2,
  8311. a = Math.min(i, n);
  8312. e.moveTo(t.x + i + a, t.y + n), e.arc(t.x + i, t.y + n, a, 0, 2 * Math.PI), e.closePath()
  8313. }
  8314. function b(e, t) {
  8315. e.rect(t.x, t.y, t.width, t.height), e.closePath()
  8316. }
  8317. function f(e, t) {
  8318. var i = t.width / 2,
  8319. n = t.height / 2,
  8320. a = t.x + i,
  8321. o = t.y + n,
  8322. r = Math.min(i, n);
  8323. e.moveTo(a, o - r), e.lineTo(a + r, o + r), e.lineTo(a - r, o + r), e.lineTo(a, o - r), e.closePath()
  8324. }
  8325. function k(e, t) {
  8326. var i = t.width / 2,
  8327. n = t.height / 2,
  8328. a = t.x + i,
  8329. o = t.y + n,
  8330. r = Math.min(i, n);
  8331. e.moveTo(a, o - r), e.lineTo(a + r, o), e.lineTo(a, o + r), e.lineTo(a - r, o), e.lineTo(a, o - r), e.closePath()
  8332. }
  8333. function x(e, t) {
  8334. var i = t.x,
  8335. n = t.y,
  8336. a = t.width / 16;
  8337. e.moveTo(i + 8 * a, n), e.lineTo(i + a, n + t.height), e.lineTo(i + 8 * a, n + t.height / 4 * 3), e.lineTo(i + 15 * a, n + t.height), e.lineTo(i + 8 * a, n), e.closePath()
  8338. }
  8339. function _(t, i) {
  8340. var n = e("zrender/shape/Star"),
  8341. a = i.width / 2,
  8342. o = i.height / 2;
  8343. n.prototype.buildPath(t, {
  8344. x: i.x + a,
  8345. y: i.y + o,
  8346. r: Math.min(a, o),
  8347. n: i.n || 5
  8348. })
  8349. }
  8350. function L(t, i) {
  8351. var n = e("zrender/shape/Heart");
  8352. n.prototype.buildPath(t, {
  8353. x: i.x + i.width / 2,
  8354. y: i.y + .2 * i.height,
  8355. a: i.width / 2,
  8356. b: .8 * i.height
  8357. })
  8358. }
  8359. function W(t, i) {
  8360. var n = e("zrender/shape/Droplet");
  8361. n.prototype.buildPath(t, {
  8362. x: i.x + .5 * i.width,
  8363. y: i.y + .5 * i.height,
  8364. a: .5 * i.width,
  8365. b: .8 * i.height
  8366. })
  8367. }
  8368. function X(e, t) {
  8369. var i = t.x,
  8370. n = t.y - t.height / 2 * 1.5,
  8371. a = t.width / 2,
  8372. o = t.height / 2,
  8373. r = Math.min(a, o);
  8374. e.arc(i + a, n + o, r, Math.PI / 5 * 4, Math.PI / 5), e.lineTo(i + a, n + o + 1.5 * r), e.closePath()
  8375. }
  8376. function v(t, i, n) {
  8377. var a = e("zrender/shape/Image");
  8378. this._imageShape = this._imageShape || new a({
  8379. style: {}
  8380. });
  8381. for(var o in i) this._imageShape.style[o] = i[o];
  8382. this._imageShape.brush(t, !1, n)
  8383. }
  8384. function w(e) {
  8385. I.call(this, e)
  8386. }
  8387. var K = e("zrender/tool/util"),
  8388. I = e("zrender/shape/Base");
  8389. return w.prototype = {
  8390. type: "icon",
  8391. iconLibrary: {
  8392. mark: t,
  8393. markUndo: i,
  8394. markClear: n,
  8395. dataZoom: a,
  8396. dataZoomReset: o,
  8397. restore: r,
  8398. lineChart: s,
  8399. barChart: l,
  8400. pieChart: h,
  8401. funnelChart: m,
  8402. forceChart: V,
  8403. chordChart: U,
  8404. stackChart: d,
  8405. tiledChart: p,
  8406. dataView: c,
  8407. saveAsImage: u,
  8408. cross: y,
  8409. circle: g,
  8410. rectangle: b,
  8411. triangle: f,
  8412. diamond: k,
  8413. arrow: x,
  8414. star: _,
  8415. heart: L,
  8416. droplet: W,
  8417. pin: X,
  8418. image: v
  8419. },
  8420. brush: function(t, i, n) {
  8421. var a = i ? this.highlightStyle : this.style;
  8422. a = a || {};
  8423. var o = a.iconType || this.style.iconType;
  8424. if("image" === o) {
  8425. var r = e("zrender/shape/Image");
  8426. r.prototype.brush.call(this, t, i, n)
  8427. } else {
  8428. var a = this.beforeBrush(t, i);
  8429. switch(t.beginPath(), this.buildPath(t, a, n), a.brushType) {
  8430. case "both":
  8431. t.fill();
  8432. case "stroke":
  8433. a.lineWidth > 0 && t.stroke();
  8434. break;
  8435. default:
  8436. t.fill()
  8437. }
  8438. this.drawText(t, a, this.style), this.afterBrush(t)
  8439. }
  8440. },
  8441. buildPath: function(e, t, i) {
  8442. this.iconLibrary[t.iconType] ? this.iconLibrary[t.iconType].call(this, e, t, i) : (e.moveTo(t.x, t.y), e.lineTo(t.x + t.width, t.y), e.lineTo(t.x + t.width, t.y + t.height), e.lineTo(t.x, t.y + t.height), e.lineTo(t.x, t.y), e.closePath())
  8443. },
  8444. getRect: function(e) {
  8445. return e.__rect ? e.__rect : (e.__rect = {
  8446. x: Math.round(e.x),
  8447. y: Math.round(e.y - ("pin" == e.iconType ? e.height / 2 * 1.5 : 0)),
  8448. width: e.width,
  8449. height: e.height * ("pin" === e.iconType ? 1.25 : 1)
  8450. }, e.__rect)
  8451. },
  8452. isCover: function(e, t) {
  8453. var i = this.transformCoordToLocal(e, t);
  8454. e = i[0], t = i[1];
  8455. var n = this.style.__rect;
  8456. n || (n = this.style.__rect = this.getRect(this.style));
  8457. var a = n.height < 8 || n.width < 8 ? 4 : 0;
  8458. return e >= n.x - a && e <= n.x + n.width + a && t >= n.y - a && t <= n.y + n.height + a
  8459. }
  8460. }, K.inherits(w, I), w
  8461. }), i("echarts/util/shape/MarkLine", ["require", "zrender/shape/Base", "./Icon", "zrender/shape/Line", "zrender/shape/BezierCurve", "zrender/tool/area", "zrender/shape/util/dashedLineTo", "zrender/tool/util", "zrender/tool/curve"], function(e) {
  8462. function t(e) {
  8463. i.call(this, e), this.style.curveness > 0 && this.updatePoints(this.style), this.highlightStyle.curveness > 0 && this.updatePoints(this.highlightStyle)
  8464. }
  8465. var i = e("zrender/shape/Base"),
  8466. n = e("./Icon"),
  8467. a = e("zrender/shape/Line"),
  8468. o = new a({}),
  8469. r = e("zrender/shape/BezierCurve"),
  8470. s = new r({}),
  8471. l = e("zrender/tool/area"),
  8472. h = e("zrender/shape/util/dashedLineTo"),
  8473. m = e("zrender/tool/util"),
  8474. V = e("zrender/tool/curve");
  8475. return t.prototype = {
  8476. type: "mark-line",
  8477. brush: function(e, t) {
  8478. var i = this.style;
  8479. t && (i = this.getHighlightStyle(i, this.highlightStyle || {})), e.save(), this.setContext(e, i), this.setTransform(e), e.save(), e.beginPath(), this.buildPath(e, i), e.stroke(), e.restore(), this.brushSymbol(e, i, 0), this.brushSymbol(e, i, 1), this.drawText(e, i, this.style), e.restore()
  8480. },
  8481. buildPath: function(e, t) {
  8482. var i = t.lineType || "solid";
  8483. if(e.moveTo(t.xStart, t.yStart), t.curveness > 0) {
  8484. var n = null;
  8485. switch(i) {
  8486. case "dashed":
  8487. n = [5, 5];
  8488. break;
  8489. case "dotted":
  8490. n = [1, 1]
  8491. }
  8492. n && e.setLineDash && e.setLineDash(n), e.quadraticCurveTo(t.cpX1, t.cpY1, t.xEnd, t.yEnd)
  8493. } else if("solid" == i) e.lineTo(t.xEnd, t.yEnd);
  8494. else {
  8495. var a = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  8496. h(e, t.xStart, t.yStart, t.xEnd, t.yEnd, a)
  8497. }
  8498. },
  8499. updatePoints: function(e) {
  8500. var t = e.curveness || 0,
  8501. i = 1,
  8502. n = e.xStart,
  8503. a = e.yStart,
  8504. o = e.xEnd,
  8505. r = e.yEnd,
  8506. s = (n + o) / 2 - i * (a - r) * t,
  8507. l = (a + r) / 2 - i * (o - n) * t;
  8508. e.cpX1 = s, e.cpY1 = l
  8509. },
  8510. brushSymbol: function(e, t, i) {
  8511. if("none" != t.symbol[i]) {
  8512. e.save(), e.beginPath(), e.lineWidth = t.symbolBorder, e.strokeStyle = t.symbolBorderColor;
  8513. var a = t.symbol[i].replace("empty", "").toLowerCase();
  8514. t.symbol[i].match("empty") && (e.fillStyle = "#fff");
  8515. var o = t.xStart,
  8516. r = t.yStart,
  8517. s = t.xEnd,
  8518. l = t.yEnd,
  8519. h = 0 === i ? o : s,
  8520. m = 0 === i ? r : l,
  8521. U = t.curveness || 0,
  8522. d = null != t.symbolRotate[i] ? t.symbolRotate[i] - 0 : 0;
  8523. if(d = d / 180 * Math.PI, "arrow" == a && 0 === d)
  8524. if(0 === U) {
  8525. var p = 0 === i ? -1 : 1;
  8526. d = Math.PI / 2 + Math.atan2(p * (l - r), p * (s - o))
  8527. } else {
  8528. var c = t.cpX1,
  8529. u = t.cpY1,
  8530. y = V.quadraticDerivativeAt,
  8531. g = y(o, c, s, i),
  8532. b = y(r, u, l, i);
  8533. d = Math.PI / 2 + Math.atan2(b, g)
  8534. }
  8535. e.translate(h, m), 0 !== d && e.rotate(d);
  8536. var f = t.symbolSize[i];
  8537. n.prototype.buildPath(e, {
  8538. x: -f,
  8539. y: -f,
  8540. width: 2 * f,
  8541. height: 2 * f,
  8542. iconType: a
  8543. }), e.closePath(), e.fill(), e.stroke(), e.restore()
  8544. }
  8545. },
  8546. getRect: function(e) {
  8547. return e.curveness > 0 ? s.getRect(e) : o.getRect(e), e.__rect
  8548. },
  8549. isCover: function(e, t) {
  8550. var i = this.transformCoordToLocal(e, t);
  8551. return e = i[0], t = i[1], this.isCoverRect(e, t) ? this.style.curveness > 0 ? l.isInside(s, this.style, e, t) : l.isInside(o, this.style, e, t) : !1
  8552. }
  8553. }, m.inherits(t, i), t
  8554. }), i("echarts/util/shape/Symbol", ["require", "zrender/shape/Base", "zrender/shape/Polygon", "zrender/tool/util", "./normalIsCover"], function(e) {
  8555. function t(e) {
  8556. i.call(this, e)
  8557. }
  8558. var i = e("zrender/shape/Base"),
  8559. n = e("zrender/shape/Polygon"),
  8560. a = new n({}),
  8561. o = e("zrender/tool/util");
  8562. return t.prototype = {
  8563. type: "symbol",
  8564. buildPath: function(e, t) {
  8565. var i = t.pointList,
  8566. n = i.length;
  8567. if(0 !== n)
  8568. for(var a, o, r, s, l, h = 1e4, m = Math.ceil(n / h), V = i[0] instanceof Array, U = t.size ? t.size : 2, d = U, p = U / 2, c = 2 * Math.PI, u = 0; m > u; u++) {
  8569. e.beginPath(), a = u * h, o = a + h, o = o > n ? n : o;
  8570. for(var y = a; o > y; y++)
  8571. if(t.random && (r = t["randomMap" + y % 20] / 100, d = U * r * r, p = d / 2), V ? (s = i[y][0], l = i[y][1]) : (s = i[y].x, l = i[y].y), 3 > d) e.rect(s - p, l - p, d, d);
  8572. else switch(t.iconType) {
  8573. case "circle":
  8574. e.moveTo(s, l), e.arc(s, l, p, 0, c, !0);
  8575. break;
  8576. case "diamond":
  8577. e.moveTo(s, l - p), e.lineTo(s + p / 3, l - p / 3), e.lineTo(s + p, l), e.lineTo(s + p / 3, l + p / 3), e.lineTo(s, l + p), e.lineTo(s - p / 3, l + p / 3), e.lineTo(s - p, l), e.lineTo(s - p / 3, l - p / 3), e.lineTo(s, l - p);
  8578. break;
  8579. default:
  8580. e.rect(s - p, l - p, d, d)
  8581. }
  8582. if(e.closePath(), m - 1 > u) switch(t.brushType) {
  8583. case "both":
  8584. e.fill(), t.lineWidth > 0 && e.stroke();
  8585. break;
  8586. case "stroke":
  8587. t.lineWidth > 0 && e.stroke();
  8588. break;
  8589. default:
  8590. e.fill()
  8591. }
  8592. }
  8593. },
  8594. getRect: function(e) {
  8595. return e.__rect || a.getRect(e)
  8596. },
  8597. isCover: e("./normalIsCover")
  8598. }, o.inherits(t, i), t
  8599. }), i("zrender/shape/Polyline", ["require", "./Base", "./util/smoothSpline", "./util/smoothBezier", "./util/dashedLineTo", "./Polygon", "../tool/util"], function(e) {
  8600. var t = e("./Base"),
  8601. i = e("./util/smoothSpline"),
  8602. n = e("./util/smoothBezier"),
  8603. a = e("./util/dashedLineTo"),
  8604. o = function(e) {
  8605. this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
  8606. };
  8607. return o.prototype = {
  8608. type: "polyline",
  8609. buildPath: function(e, t) {
  8610. var n = t.pointList;
  8611. if(!(n.length < 2)) {
  8612. var o = Math.min(t.pointList.length, Math.round(t.pointListLength || t.pointList.length));
  8613. if(t.smooth && "spline" !== t.smooth) {
  8614. t.controlPointList || this.updateControlPoints(t);
  8615. var r = t.controlPointList;
  8616. e.moveTo(n[0][0], n[0][1]);
  8617. for(var s, l, h, m = 0; o - 1 > m; m++) s = r[2 * m], l = r[2 * m + 1], h = n[m + 1], e.bezierCurveTo(s[0], s[1], l[0], l[1], h[0], h[1])
  8618. } else if("spline" === t.smooth && (n = i(n), o = n.length), t.lineType && "solid" != t.lineType) {
  8619. if("dashed" == t.lineType || "dotted" == t.lineType) {
  8620. var V = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  8621. e.moveTo(n[0][0], n[0][1]);
  8622. for(var m = 1; o > m; m++) a(e, n[m - 1][0], n[m - 1][1], n[m][0], n[m][1], V)
  8623. }
  8624. } else {
  8625. e.moveTo(n[0][0], n[0][1]);
  8626. for(var m = 1; o > m; m++) e.lineTo(n[m][0], n[m][1])
  8627. }
  8628. }
  8629. },
  8630. updateControlPoints: function(e) {
  8631. e.controlPointList = n(e.pointList, e.smooth, !1, e.smoothConstraint)
  8632. },
  8633. getRect: function(t) {
  8634. return e("./Polygon").prototype.getRect(t)
  8635. }
  8636. }, e("../tool/util").inherits(o, t), o
  8637. }), i("zrender/shape/ShapeBundle", ["require", "./Base", "../tool/util"], function(e) {
  8638. var t = e("./Base"),
  8639. i = function(e) {
  8640. t.call(this, e)
  8641. };
  8642. return i.prototype = {
  8643. constructor: i,
  8644. type: "shape-bundle",
  8645. brush: function(e, t) {
  8646. var i = this.beforeBrush(e, t);
  8647. e.beginPath();
  8648. for(var n = 0; n < i.shapeList.length; n++) {
  8649. var a = i.shapeList[n],
  8650. o = a.style;
  8651. t && (o = a.getHighlightStyle(o, a.highlightStyle || {}, a.brushTypeOnly)), a.buildPath(e, o)
  8652. }
  8653. switch(i.brushType) {
  8654. case "both":
  8655. e.fill();
  8656. case "stroke":
  8657. i.lineWidth > 0 && e.stroke();
  8658. break;
  8659. default:
  8660. e.fill()
  8661. }
  8662. this.drawText(e, i, this.style), this.afterBrush(e)
  8663. },
  8664. getRect: function(e) {
  8665. if(e.__rect) return e.__rect;
  8666. for(var t = 1 / 0, i = -(1 / 0), n = 1 / 0, a = -(1 / 0), o = 0; o < e.shapeList.length; o++) var r = e.shapeList[o],
  8667. s = r.getRect(r.style),
  8668. t = Math.min(s.x, t),
  8669. n = Math.min(s.y, n),
  8670. i = Math.max(s.x + s.width, i),
  8671. a = Math.max(s.y + s.height, a);
  8672. return e.__rect = {
  8673. x: t,
  8674. y: n,
  8675. width: i - t,
  8676. height: a - n
  8677. }, e.__rect
  8678. },
  8679. isCover: function(e, t) {
  8680. var i = this.transformCoordToLocal(e, t);
  8681. if(e = i[0], t = i[1], this.isCoverRect(e, t))
  8682. for(var n = 0; n < this.style.shapeList.length; n++) {
  8683. var a = this.style.shapeList[n];
  8684. if(a.isCover(e, t)) return !0
  8685. }
  8686. return !1
  8687. }
  8688. }, e("../tool/util").inherits(i, t), i
  8689. }), i("echarts/util/ecAnimation", ["require", "zrender/tool/util", "zrender/tool/curve", "zrender/shape/Polygon"], function(e) {
  8690. function t(e, t, i, n, a) {
  8691. var o, r = i.style.pointList,
  8692. s = r.length;
  8693. if(!t) {
  8694. if(o = [], "vertical" != i._orient)
  8695. for(var l = r[0][1], h = 0; s > h; h++) o[h] = [r[h][0], l];
  8696. else
  8697. for(var m = r[0][0], h = 0; s > h; h++) o[h] = [m, r[h][1]];
  8698. "half-smooth-polygon" == i.type && (o[s - 1] = p.clone(r[s - 1]), o[s - 2] = p.clone(r[s - 2])), t = {
  8699. style: {
  8700. pointList: o
  8701. }
  8702. }
  8703. }
  8704. o = t.style.pointList;
  8705. var V = o.length;
  8706. i.style.pointList = V == s ? o : s > V ? o.concat(r.slice(V)) : o.slice(0, s), e.addShape(i), i.__animating = !0, e.animate(i.id, "style").when(n, {
  8707. pointList: r
  8708. }).during(function() {
  8709. i.updateControlPoints && i.updateControlPoints(i.style)
  8710. }).done(function() {
  8711. i.__animating = !1
  8712. }).start(a)
  8713. }
  8714. function i(e, t) {
  8715. for(var i = arguments.length, n = 2; i > n; n++) {
  8716. var a = arguments[n];
  8717. e.style[a] = t.style[a]
  8718. }
  8719. }
  8720. function n(e, t, n, a, o) {
  8721. var r = n.style;
  8722. t || (t = {
  8723. position: n.position,
  8724. style: {
  8725. x: r.x,
  8726. y: "vertical" == n._orient ? r.y + r.height : r.y,
  8727. width: "vertical" == n._orient ? r.width : 0,
  8728. height: "vertical" != n._orient ? r.height : 0
  8729. }
  8730. });
  8731. var s = r.x,
  8732. l = r.y,
  8733. h = r.width,
  8734. m = r.height,
  8735. V = [n.position[0], n.position[1]];
  8736. i(n, t, "x", "y", "width", "height"), n.position = t.position, e.addShape(n), (V[0] != t.position[0] || V[1] != t.position[1]) && e.animate(n.id, "").when(a, {
  8737. position: V
  8738. }).start(o), n.__animating = !0, e.animate(n.id, "style").when(a, {
  8739. x: s,
  8740. y: l,
  8741. width: h,
  8742. height: m
  8743. }).done(function() {
  8744. n.__animating = !1
  8745. }).start(o)
  8746. }
  8747. function a(e, t, i, n, a) {
  8748. if(!t) {
  8749. var o = i.style.y;
  8750. t = {
  8751. style: {
  8752. y: [o[0], o[0], o[0], o[0]]
  8753. }
  8754. }
  8755. }
  8756. var r = i.style.y;
  8757. i.style.y = t.style.y, e.addShape(i), i.__animating = !0, e.animate(i.id, "style").when(n, {
  8758. y: r
  8759. }).done(function() {
  8760. i.__animating = !1
  8761. }).start(a)
  8762. }
  8763. function o(e, t, i, n, a) {
  8764. var o = i.style.x,
  8765. r = i.style.y,
  8766. s = i.style.r0,
  8767. l = i.style.r;
  8768. i.__animating = !0, "r" != i._animationAdd ? (i.style.r0 = 0, i.style.r = 0, i.rotation = [2 * Math.PI, o, r], e.addShape(i), e.animate(i.id, "style").when(n, {
  8769. r0: s,
  8770. r: l
  8771. }).done(function() {
  8772. i.__animating = !1
  8773. }).start(a), e.animate(i.id, "").when(n, {
  8774. rotation: [0, o, r]
  8775. }).start(a)) : (i.style.r0 = i.style.r, e.addShape(i), e.animate(i.id, "style").when(n, {
  8776. r0: s
  8777. }).done(function() {
  8778. i.__animating = !1
  8779. }).start(a))
  8780. }
  8781. function r(e, t, n, a, o) {
  8782. t || (t = "r" != n._animationAdd ? {
  8783. style: {
  8784. startAngle: n.style.startAngle,
  8785. endAngle: n.style.startAngle
  8786. }
  8787. } : {
  8788. style: {
  8789. r0: n.style.r
  8790. }
  8791. });
  8792. var r = n.style.startAngle,
  8793. s = n.style.endAngle;
  8794. i(n, t, "startAngle", "endAngle"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
  8795. startAngle: r,
  8796. endAngle: s
  8797. }).done(function() {
  8798. n.__animating = !1
  8799. }).start(o)
  8800. }
  8801. function s(e, t, n, a, o) {
  8802. t || (t = {
  8803. style: {
  8804. x: "left" == n.style.textAlign ? n.style.x + 100 : n.style.x - 100,
  8805. y: n.style.y
  8806. }
  8807. });
  8808. var r = n.style.x,
  8809. s = n.style.y;
  8810. i(n, t, "x", "y"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
  8811. x: r,
  8812. y: s
  8813. }).done(function() {
  8814. n.__animating = !1
  8815. }).start(o)
  8816. }
  8817. function l(t, i, n, a, o) {
  8818. var r = e("zrender/shape/Polygon").prototype.getRect(n.style),
  8819. s = r.x + r.width / 2,
  8820. l = r.y + r.height / 2;
  8821. n.scale = [.1, .1, s, l], t.addShape(n), n.__animating = !0, t.animate(n.id, "").when(a, {
  8822. scale: [1, 1, s, l]
  8823. }).done(function() {
  8824. n.__animating = !1
  8825. }).start(o)
  8826. }
  8827. function h(e, t, n, a, o) {
  8828. t || (t = {
  8829. style: {
  8830. source0: 0,
  8831. source1: n.style.source1 > 0 ? 360 : -360,
  8832. target0: 0,
  8833. target1: n.style.target1 > 0 ? 360 : -360
  8834. }
  8835. });
  8836. var r = n.style.source0,
  8837. s = n.style.source1,
  8838. l = n.style.target0,
  8839. h = n.style.target1;
  8840. t.style && i(n, t, "source0", "source1", "target0", "target1"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
  8841. source0: r,
  8842. source1: s,
  8843. target0: l,
  8844. target1: h
  8845. }).done(function() {
  8846. n.__animating = !1
  8847. }).start(o)
  8848. }
  8849. function m(e, t, i, n, a) {
  8850. t || (t = {
  8851. style: {
  8852. angle: i.style.startAngle
  8853. }
  8854. });
  8855. var o = i.style.angle;
  8856. i.style.angle = t.style.angle, e.addShape(i), i.__animating = !0, e.animate(i.id, "style").when(n, {
  8857. angle: o
  8858. }).done(function() {
  8859. i.__animating = !1
  8860. }).start(a)
  8861. }
  8862. function V(e, t, i, a, o, r) {
  8863. if(i.style._x = i.style.x, i.style._y = i.style.y, i.style._width = i.style.width, i.style._height = i.style.height, t) n(e, t, i, a, o);
  8864. else {
  8865. var s = i._x || 0,
  8866. l = i._y || 0;
  8867. i.scale = [.01, .01, s, l], e.addShape(i), i.__animating = !0, e.animate(i.id, "").delay(r).when(a, {
  8868. scale: [1, 1, s, l]
  8869. }).done(function() {
  8870. i.__animating = !1
  8871. }).start(o || "QuinticOut")
  8872. }
  8873. }
  8874. function U(e, t, n, a, o) {
  8875. t || (t = {
  8876. style: {
  8877. xStart: n.style.xStart,
  8878. yStart: n.style.yStart,
  8879. xEnd: n.style.xStart,
  8880. yEnd: n.style.yStart
  8881. }
  8882. });
  8883. var r = n.style.xStart,
  8884. s = n.style.xEnd,
  8885. l = n.style.yStart,
  8886. h = n.style.yEnd;
  8887. i(n, t, "xStart", "xEnd", "yStart", "yEnd"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
  8888. xStart: r,
  8889. xEnd: s,
  8890. yStart: l,
  8891. yEnd: h
  8892. }).done(function() {
  8893. n.__animating = !1
  8894. }).start(o)
  8895. }
  8896. function d(e, t, i, n, a) {
  8897. a = a || "QuinticOut", i.__animating = !0, e.addShape(i);
  8898. var o = i.style,
  8899. r = function() {
  8900. i.__animating = !1
  8901. },
  8902. s = o.xStart,
  8903. l = o.yStart,
  8904. h = o.xEnd,
  8905. m = o.yEnd;
  8906. if(o.curveness > 0) {
  8907. i.updatePoints(o);
  8908. var V = {
  8909. p: 0
  8910. },
  8911. U = o.cpX1,
  8912. d = o.cpY1,
  8913. p = [],
  8914. u = [],
  8915. y = c.quadraticSubdivide;
  8916. e.animation.animate(V).when(n, {
  8917. p: 1
  8918. }).during(function() {
  8919. y(s, U, h, V.p, p), y(l, d, m, V.p, u), o.cpX1 = p[1], o.cpY1 = u[1], o.xEnd = p[2], o.yEnd = u[2], e.modShape(i)
  8920. }).done(r).start(a)
  8921. } else e.animate(i.id, "style").when(0, {
  8922. xEnd: s,
  8923. yEnd: l
  8924. }).when(n, {
  8925. xEnd: h,
  8926. yEnd: m
  8927. }).done(r).start(a)
  8928. }
  8929. var p = e("zrender/tool/util"),
  8930. c = e("zrender/tool/curve");
  8931. return {
  8932. pointList: t,
  8933. rectangle: n,
  8934. candle: a,
  8935. ring: o,
  8936. sector: r,
  8937. text: s,
  8938. polygon: l,
  8939. ribbon: h,
  8940. gaugePointer: m,
  8941. icon: V,
  8942. line: U,
  8943. markline: d
  8944. }
  8945. }), i("echarts/util/ecEffect", ["require", "../util/ecData", "zrender/shape/Circle", "zrender/shape/Image", "zrender/tool/curve", "../util/shape/Icon", "../util/shape/Symbol", "zrender/shape/ShapeBundle", "zrender/shape/Polyline", "zrender/tool/vector", "zrender/tool/env"], function(e) {
  8946. function t(e, t, i, n) {
  8947. var a, r = i.effect,
  8948. l = r.color || i.style.strokeColor || i.style.color,
  8949. m = r.shadowColor || l,
  8950. V = r.scaleSize,
  8951. U = r.bounceDistance,
  8952. d = "undefined" != typeof r.shadowBlur ? r.shadowBlur : V;
  8953. "image" !== i.type ? (a = new h({
  8954. zlevel: n,
  8955. style: {
  8956. brushType: "stroke",
  8957. iconType: "droplet" != i.style.iconType ? i.style.iconType : "circle",
  8958. x: d + 1,
  8959. y: d + 1,
  8960. n: i.style.n,
  8961. width: i.style._width * V,
  8962. height: i.style._height * V,
  8963. lineWidth: 1,
  8964. strokeColor: l,
  8965. shadowColor: m,
  8966. shadowBlur: d
  8967. },
  8968. draggable: !1,
  8969. hoverable: !1
  8970. }), "pin" == i.style.iconType && (a.style.y += a.style.height / 2 * 1.5), p && (a.style.image = e.shapeToImage(a, a.style.width + 2 * d + 2, a.style.height + 2 * d + 2).style.image, a = new s({
  8971. zlevel: a.zlevel,
  8972. style: a.style,
  8973. draggable: !1,
  8974. hoverable: !1
  8975. }))) : a = new s({
  8976. zlevel: n,
  8977. style: i.style,
  8978. draggable: !1,
  8979. hoverable: !1
  8980. }), o.clone(i, a), a.position = i.position, t.push(a), e.addShape(a);
  8981. var c = "image" !== i.type ? window.devicePixelRatio || 1 : 1,
  8982. u = (a.style.width / c - i.style._width) / 2;
  8983. a.style.x = i.style._x - u, a.style.y = i.style._y - u, "pin" == i.style.iconType && (a.style.y -= i.style.height / 2 * 1.5);
  8984. var y = 100 * (r.period + 10 * Math.random());
  8985. e.modShape(i.id, {
  8986. invisible: !0
  8987. });
  8988. var g = a.style.x + a.style.width / 2 / c,
  8989. b = a.style.y + a.style.height / 2 / c;
  8990. "scale" === r.type ? (e.modShape(a.id, {
  8991. scale: [.1, .1, g, b]
  8992. }), e.animate(a.id, "", r.loop).when(y, {
  8993. scale: [1, 1, g, b]
  8994. }).done(function() {
  8995. i.effect.show = !1, e.delShape(a.id)
  8996. }).start()) : e.animate(a.id, "style", r.loop).when(y, {
  8997. y: a.style.y - U
  8998. }).when(2 * y, {
  8999. y: a.style.y
  9000. }).done(function() {
  9001. i.effect.show = !1, e.delShape(a.id)
  9002. }).start()
  9003. }
  9004. function i(e, t, i, n) {
  9005. var a = i.effect,
  9006. o = a.color || i.style.strokeColor || i.style.color,
  9007. r = a.scaleSize,
  9008. s = a.shadowColor || o,
  9009. l = "undefined" != typeof a.shadowBlur ? a.shadowBlur : 2 * r,
  9010. h = window.devicePixelRatio || 1,
  9011. V = new m({
  9012. zlevel: n,
  9013. position: i.position,
  9014. scale: i.scale,
  9015. style: {
  9016. pointList: i.style.pointList,
  9017. iconType: i.style.iconType,
  9018. color: o,
  9019. strokeColor: o,
  9020. shadowColor: s,
  9021. shadowBlur: l * h,
  9022. random: !0,
  9023. brushType: "fill",
  9024. lineWidth: 1,
  9025. size: i.style.size
  9026. },
  9027. draggable: !1,
  9028. hoverable: !1
  9029. });
  9030. t.push(V), e.addShape(V), e.modShape(i.id, {
  9031. invisible: !0
  9032. });
  9033. for(var U = Math.round(100 * a.period), d = {}, p = {}, c = 0; 20 > c; c++) V.style["randomMap" + c] = 0, d = {}, d["randomMap" + c] = 100, p = {}, p["randomMap" + c] = 0, V.style["randomMap" + c] = 100 * Math.random(), e.animate(V.id, "style", !0).when(U, d).when(2 * U, p).when(3 * U, d).when(4 * U, d).delay(Math.random() * U * c).start()
  9034. }
  9035. function n(e, t, i, n, a) {
  9036. var s = i.effect,
  9037. h = i.style,
  9038. m = s.color || h.strokeColor || h.color,
  9039. V = s.shadowColor || h.strokeColor || m,
  9040. c = h.lineWidth * s.scaleSize,
  9041. u = "undefined" != typeof s.shadowBlur ? s.shadowBlur : c,
  9042. y = new r({
  9043. zlevel: n,
  9044. style: {
  9045. x: u,
  9046. y: u,
  9047. r: c,
  9048. color: m,
  9049. shadowColor: V,
  9050. shadowBlur: u
  9051. },
  9052. hoverable: !1
  9053. }),
  9054. g = 0;
  9055. if(p && !a) {
  9056. var n = y.zlevel;
  9057. y = e.shapeToImage(y, 2 * (c + u), 2 * (c + u)), y.zlevel = n, y.hoverable = !1, g = u
  9058. }
  9059. a || (o.clone(i, y), y.position = i.position, t.push(y), e.addShape(y));
  9060. var b = function() {
  9061. a || (i.effect.show = !1, e.delShape(y.id)), y.effectAnimator = null
  9062. };
  9063. if(i instanceof U) {
  9064. for(var f = [0], k = 0, x = h.pointList, _ = h.controlPointList, L = 1; L < x.length; L++) {
  9065. if(_) {
  9066. var W = _[2 * (L - 1)],
  9067. X = _[2 * (L - 1) + 1];
  9068. k += d.dist(x[L - 1], W) + d.dist(W, X) + d.dist(X, x[L])
  9069. } else k += d.dist(x[L - 1], x[L]);
  9070. f.push(k)
  9071. }
  9072. for(var v = {
  9073. p: 0
  9074. }, w = e.animation.animate(v, {
  9075. loop: s.loop
  9076. }), L = 0; L < f.length; L++) w.when(f[L] * s.period, {
  9077. p: L
  9078. });
  9079. w.during(function() {
  9080. var t, i, n = Math.floor(v.p);
  9081. if(n == x.length - 1) t = x[n][0], i = x[n][1];
  9082. else {
  9083. var o = v.p - n,
  9084. r = x[n],
  9085. s = x[n + 1];
  9086. if(_) {
  9087. var h = _[2 * n],
  9088. m = _[2 * n + 1];
  9089. t = l.cubicAt(r[0], h[0], m[0], s[0], o), i = l.cubicAt(r[1], h[1], m[1], s[1], o)
  9090. } else t = (s[0] - r[0]) * o + r[0], i = (s[1] - r[1]) * o + r[1]
  9091. }
  9092. y.style.x = t, y.style.y = i, a || e.modShape(y)
  9093. }).done(b).start(), w.duration = k * s.period, y.effectAnimator = w
  9094. } else {
  9095. var K = h.xStart - g,
  9096. I = h.yStart - g,
  9097. J = h.xEnd - g,
  9098. C = h.yEnd - g;
  9099. y.style.x = K, y.style.y = I;
  9100. var S = (J - K) * (J - K) + (C - I) * (C - I),
  9101. E = Math.round(Math.sqrt(Math.round(S * s.period * s.period)));
  9102. if(i.style.curveness > 0) {
  9103. var F = h.cpX1 - g,
  9104. T = h.cpY1 - g;
  9105. y.effectAnimator = e.animation.animate(y, {
  9106. loop: s.loop
  9107. }).when(E, {
  9108. p: 1
  9109. }).during(function(t, i) {
  9110. y.style.x = l.quadraticAt(K, F, J, i), y.style.y = l.quadraticAt(I, T, C, i), a || e.modShape(y)
  9111. }).done(b).start()
  9112. } else y.effectAnimator = e.animation.animate(y.style, {
  9113. loop: s.loop
  9114. }).when(E, {
  9115. x: J,
  9116. y: C
  9117. }).during(function() {
  9118. a || e.modShape(y)
  9119. }).done(b).start();
  9120. y.effectAnimator.duration = E
  9121. }
  9122. return y
  9123. }
  9124. function a(e, t, i, a) {
  9125. var o = new V({
  9126. style: {
  9127. shapeList: []
  9128. },
  9129. zlevel: a,
  9130. hoverable: !1
  9131. }),
  9132. r = i.style.shapeList,
  9133. s = i.effect;
  9134. o.position = i.position;
  9135. for(var l = 0, h = [], m = 0; m < r.length; m++) {
  9136. r[m].effect = s;
  9137. var U = n(e, null, r[m], a, !0),
  9138. d = U.effectAnimator;
  9139. o.style.shapeList.push(U), d.duration > l && (l = d.duration), 0 === m && (o.style.color = U.style.color, o.style.shadowBlur = U.style.shadowBlur, o.style.shadowColor = U.style.shadowColor), h.push(d)
  9140. }
  9141. t.push(o), e.addShape(o);
  9142. var p = function() {
  9143. for(var e = 0; e < h.length; e++) h[e].stop()
  9144. };
  9145. if(l) {
  9146. o.__dummy = 0;
  9147. var c = e.animate(o.id, "", s.loop).when(l, {
  9148. __dummy: 1
  9149. }).during(function() {
  9150. e.modShape(o)
  9151. }).done(function() {
  9152. i.effect.show = !1, e.delShape(o.id)
  9153. }).start(),
  9154. u = c.stop;
  9155. c.stop = function() {
  9156. p(), u.call(this)
  9157. }
  9158. }
  9159. }
  9160. var o = e("../util/ecData"),
  9161. r = e("zrender/shape/Circle"),
  9162. s = e("zrender/shape/Image"),
  9163. l = e("zrender/tool/curve"),
  9164. h = e("../util/shape/Icon"),
  9165. m = e("../util/shape/Symbol"),
  9166. V = e("zrender/shape/ShapeBundle"),
  9167. U = e("zrender/shape/Polyline"),
  9168. d = e("zrender/tool/vector"),
  9169. p = e("zrender/tool/env").canvasSupported;
  9170. return {
  9171. point: t,
  9172. largePoint: i,
  9173. line: n,
  9174. largeLine: a
  9175. }
  9176. }), i("echarts/component/base", ["require", "../config", "../util/ecData", "../util/ecQuery", "../util/number", "zrender/tool/util", "zrender/tool/env"], function(e) {
  9177. function t(e, t, a, o, r) {
  9178. this.ecTheme = e, this.messageCenter = t, this.zr = a, this.option = o, this.series = o.series, this.myChart = r, this.component = r.component, this.shapeList = [], this.effectList = [];
  9179. var s = this;
  9180. s._onlegendhoverlink = function(e) {
  9181. if(s.legendHoverLink)
  9182. for(var t, a = e.target, o = s.shapeList.length - 1; o >= 0; o--) t = s.type == i.CHART_TYPE_PIE || s.type == i.CHART_TYPE_FUNNEL ? n.get(s.shapeList[o], "name") : (n.get(s.shapeList[o], "series") || {}).name, t != a || s.shapeList[o].invisible || s.shapeList[o].__animating || s.zr.addHoverShape(s.shapeList[o])
  9183. }, t && t.bind(i.EVENT.LEGEND_HOVERLINK, this._onlegendhoverlink)
  9184. }
  9185. var i = e("../config"),
  9186. n = e("../util/ecData"),
  9187. a = e("../util/ecQuery"),
  9188. o = e("../util/number"),
  9189. r = e("zrender/tool/util");
  9190. return t.prototype = {
  9191. canvasSupported: e("zrender/tool/env").canvasSupported,
  9192. _getZ: function(e) {
  9193. if(null != this[e]) return this[e];
  9194. var t = this.ecTheme[this.type];
  9195. return t && null != t[e] ? t[e] : (t = i[this.type], t && null != t[e] ? t[e] : 0)
  9196. },
  9197. getZlevelBase: function() {
  9198. return this._getZ("zlevel")
  9199. },
  9200. getZBase: function() {
  9201. return this._getZ("z")
  9202. },
  9203. reformOption: function(e) {
  9204. return e = r.merge(r.merge(e || {}, r.clone(this.ecTheme[this.type] || {})), r.clone(i[this.type] || {})), this.z = e.z, this.zlevel = e.zlevel, e
  9205. },
  9206. reformCssArray: function(e) {
  9207. if(!(e instanceof Array)) return [e, e, e, e];
  9208. switch(e.length + "") {
  9209. case "4":
  9210. return e;
  9211. case "3":
  9212. return [e[0], e[1], e[2], e[1]];
  9213. case "2":
  9214. return [e[0], e[1], e[0], e[1]];
  9215. case "1":
  9216. return [e[0], e[0], e[0], e[0]];
  9217. case "0":
  9218. return [0, 0, 0, 0]
  9219. }
  9220. },
  9221. getShapeById: function(e) {
  9222. for(var t = 0, i = this.shapeList.length; i > t; t++)
  9223. if(this.shapeList[t].id === e) return this.shapeList[t];
  9224. return null
  9225. },
  9226. getFont: function(e) {
  9227. var t = this.getTextStyle(r.clone(e));
  9228. return t.fontStyle + " " + t.fontWeight + " " + t.fontSize + "px " + t.fontFamily
  9229. },
  9230. getTextStyle: function(e) {
  9231. return r.merge(r.merge(e || {}, this.ecTheme.textStyle), i.textStyle)
  9232. },
  9233. getItemStyleColor: function(e, t, i, n) {
  9234. return "function" == typeof e ? e.call(this.myChart, {
  9235. seriesIndex: t,
  9236. series: this.series[t],
  9237. dataIndex: i,
  9238. data: n
  9239. }) : e
  9240. },
  9241. getDataFromOption: function(e, t) {
  9242. return null != e ? null != e.value ? e.value : e : t
  9243. },
  9244. subPixelOptimize: function(e, t) {
  9245. return e = t % 2 === 1 ? Math.floor(e) + .5 : Math.round(e)
  9246. },
  9247. resize: function() {
  9248. this.refresh && this.refresh(), this.clearEffectShape && this.clearEffectShape(!0);
  9249. var e = this;
  9250. setTimeout(function() {
  9251. e.animationEffect && e.animationEffect()
  9252. }, 200)
  9253. },
  9254. clear: function() {
  9255. this.clearEffectShape && this.clearEffectShape(), this.zr && this.zr.delShape(this.shapeList), this.shapeList = []
  9256. },
  9257. dispose: function() {
  9258. this.onbeforDispose && this.onbeforDispose(), this.clear(), this.shapeList = null, this.effectList = null, this.messageCenter && this.messageCenter.unbind(i.EVENT.LEGEND_HOVERLINK, this._onlegendhoverlink), this.onafterDispose && this.onafterDispose()
  9259. },
  9260. query: a.query,
  9261. deepQuery: a.deepQuery,
  9262. deepMerge: a.deepMerge,
  9263. parsePercent: o.parsePercent,
  9264. parseCenter: o.parseCenter,
  9265. parseRadius: o.parseRadius,
  9266. numAddCommas: o.addCommas,
  9267. getPrecision: o.getPrecision
  9268. }, t
  9269. }), i("echarts/layout/EdgeBundling", ["require", "../data/KDTree", "zrender/tool/vector"], function(e) {
  9270. function t(e, t) {
  9271. e = e.array, t = t.array;
  9272. var i = t[0] - e[0],
  9273. n = t[1] - e[1],
  9274. a = t[2] - e[2],
  9275. o = t[3] - e[3];
  9276. return i * i + n * n + a * a + o * o
  9277. }
  9278. function i(e) {
  9279. this.points = [e.mp0, e.mp1], this.group = e
  9280. }
  9281. function n(e) {
  9282. var t = e.points;
  9283. t[0][1] < t[1][1] || e instanceof i ? (this.array = [t[0][0], t[0][1], t[1][0], t[1][1]], this._startPoint = t[0], this._endPoint = t[1]) : (this.array = [t[1][0], t[1][1], t[0][0], t[0][1]], this._startPoint = t[1], this._endPoint = t[0]), this.ink = m(t[0], t[1]), this.edge = e, this.group = null
  9284. }
  9285. function a() {
  9286. this.edgeList = [], this.mp0 = l(), this.mp1 = l(), this.ink = 0
  9287. }
  9288. function o() {
  9289. this.maxNearestEdge = 6, this.maxTurningAngle = Math.PI / 4, this.maxIteration = 20
  9290. }
  9291. var r = e("../data/KDTree"),
  9292. s = e("zrender/tool/vector"),
  9293. l = s.create,
  9294. h = s.distSquare,
  9295. m = s.dist,
  9296. V = s.copy,
  9297. U = s.clone;
  9298. return n.prototype.getStartPoint = function() {
  9299. return this._startPoint
  9300. }, n.prototype.getEndPoint = function() {
  9301. return this._endPoint
  9302. }, a.prototype.addEdge = function(e) {
  9303. e.group = this, this.edgeList.push(e)
  9304. }, a.prototype.removeEdge = function(e) {
  9305. e.group = null, this.edgeList.splice(this.edgeList.indexOf(e), 1)
  9306. }, o.prototype = {
  9307. constructor: o,
  9308. run: function(e) {
  9309. function t(e, t) {
  9310. return h(e, t) < 1e-10
  9311. }
  9312. function n(e, i) {
  9313. for(var n = [], a = 0, o = 0; o < e.length; o++) a > 0 && t(e[o], n[a - 1]) || (n[a++] = U(e[o]));
  9314. return i[0] && !t(n[0], i[0]) && (n = n.reverse()), n
  9315. }
  9316. for(var a = this._iterate(e), o = 0; o++ < this.maxIteration;) {
  9317. for(var r = [], s = 0; s < a.groups.length; s++) r.push(new i(a.groups[s]));
  9318. var l = this._iterate(r);
  9319. if(l.savedInk <= 0) break;
  9320. a = l
  9321. }
  9322. var m = [],
  9323. V = function(e, t) {
  9324. for(var a, o = 0; o < e.length; o++) {
  9325. var r = e[o];
  9326. if(r.edgeList[0] && r.edgeList[0].edge instanceof i) {
  9327. for(var s = [], l = 0; l < r.edgeList.length; l++) s.push(r.edgeList[l].edge.group);
  9328. a = t ? t.slice() : [], a.unshift(r.mp0), a.push(r.mp1), V(s, a)
  9329. } else
  9330. for(var l = 0; l < r.edgeList.length; l++) {
  9331. var h = r.edgeList[l];
  9332. a = t ? t.slice() : [], a.unshift(r.mp0), a.push(r.mp1), a.unshift(h.getStartPoint()), a.push(h.getEndPoint()), m.push({
  9333. points: n(a, h.edge.points),
  9334. rawEdge: h.edge
  9335. })
  9336. }
  9337. }
  9338. };
  9339. return V(a.groups), m
  9340. },
  9341. _iterate: function(e) {
  9342. for(var i = [], o = [], s = 0, h = 0; h < e.length; h++) {
  9343. var m = new n(e[h]);
  9344. i.push(m)
  9345. }
  9346. for(var U = new r(i, 4), d = [], p = l(), c = l(), u = 0, y = l(), g = l(), b = 0, h = 0; h < i.length; h++) {
  9347. var m = i[h];
  9348. if(!m.group) {
  9349. U.nearestN(m, this.maxNearestEdge, t, d);
  9350. for(var f = 0, k = null, x = null, _ = 0; _ < d.length; _++) {
  9351. var L = d[_],
  9352. W = 0;
  9353. L.group ? L.group !== x && (x = L.group, u = this._calculateGroupEdgeInk(L.group, m, p, c), W = L.group.ink + m.ink - u) : (u = this._calculateEdgeEdgeInk(m, L, p, c), W = L.ink + m.ink - u), W > f && (f = W, k = L, V(g, c), V(y, p), b = u)
  9354. }
  9355. if(k) {
  9356. s += f;
  9357. var X;
  9358. k.group || (X = new a, o.push(X), X.addEdge(k)), X = k.group, V(X.mp0, y), V(X.mp1, g), X.ink = b, k.group.addEdge(m)
  9359. } else {
  9360. var X = new a;
  9361. o.push(X), V(X.mp0, m.getStartPoint()), V(X.mp1, m.getEndPoint()), X.ink = m.ink, X.addEdge(m)
  9362. }
  9363. }
  9364. }
  9365. return {
  9366. groups: o,
  9367. edges: i,
  9368. savedInk: s
  9369. }
  9370. },
  9371. _calculateEdgeEdgeInk: function() {
  9372. var e = [],
  9373. t = [];
  9374. return function(i, n, a, o) {
  9375. e[0] = i.getStartPoint(), e[1] = n.getStartPoint(), t[0] = i.getEndPoint(), t[1] = n.getEndPoint(), this._calculateMeetPoints(e, t, a, o);
  9376. var r = m(e[0], a) + m(a, o) + m(o, t[0]) + m(e[1], a) + m(o, t[1]);
  9377. return r
  9378. }
  9379. }(),
  9380. _calculateGroupEdgeInk: function(e, t, i, n) {
  9381. for(var a = [], o = [], r = 0; r < e.edgeList.length; r++) {
  9382. var s = e.edgeList[r];
  9383. a.push(s.getStartPoint()), o.push(s.getEndPoint())
  9384. }
  9385. a.push(t.getStartPoint()), o.push(t.getEndPoint()), this._calculateMeetPoints(a, o, i, n);
  9386. for(var l = m(i, n), r = 0; r < a.length; r++) l += m(a[r], i) + m(o[r], n);
  9387. return l
  9388. },
  9389. _calculateMeetPoints: function() {
  9390. var e = l(),
  9391. t = l();
  9392. return function(i, n, a, o) {
  9393. s.set(e, 0, 0), s.set(t, 0, 0);
  9394. for(var r = i.length, l = 0; r > l; l++) s.add(e, e, i[l]);
  9395. s.scale(e, e, 1 / r), r = n.length;
  9396. for(var l = 0; r > l; l++) s.add(t, t, n[l]);
  9397. s.scale(t, t, 1 / r), this._limitTurningAngle(i, e, t, a), this._limitTurningAngle(n, t, e, o)
  9398. }
  9399. }(),
  9400. _limitTurningAngle: function() {
  9401. var e = l(),
  9402. t = l(),
  9403. i = l(),
  9404. n = l();
  9405. return function(a, o, r, l) {
  9406. var V = Math.cos(this.maxTurningAngle),
  9407. U = Math.tan(this.maxTurningAngle);
  9408. s.sub(e, o, r), s.normalize(e, e), s.copy(l, o);
  9409. for(var d = 0, p = 0; p < a.length; p++) {
  9410. var c = a[p];
  9411. s.sub(t, c, o);
  9412. var u = s.len(t);
  9413. s.scale(t, t, 1 / u);
  9414. var y = s.dot(t, e);
  9415. if(V > y) {
  9416. s.scaleAndAdd(i, o, e, u * y);
  9417. var g = m(i, c),
  9418. b = g / U;
  9419. s.scaleAndAdd(n, i, e, -b);
  9420. var f = h(n, o);
  9421. f > d && (d = f, s.copy(l, n))
  9422. }
  9423. }
  9424. }
  9425. }()
  9426. }, o
  9427. }), i("zrender/shape/Star", ["require", "../tool/math", "./Base", "../tool/util"], function(e) {
  9428. var t = e("../tool/math"),
  9429. i = t.sin,
  9430. n = t.cos,
  9431. a = Math.PI,
  9432. o = e("./Base"),
  9433. r = function(e) {
  9434. o.call(this, e)
  9435. };
  9436. return r.prototype = {
  9437. type: "star",
  9438. buildPath: function(e, t) {
  9439. var o = t.n;
  9440. if(o && !(2 > o)) {
  9441. var r = t.x,
  9442. s = t.y,
  9443. l = t.r,
  9444. h = t.r0;
  9445. null == h && (h = o > 4 ? l * n(2 * a / o) / n(a / o) : l / 3);
  9446. var m = a / o,
  9447. V = -a / 2,
  9448. U = r + l * n(V),
  9449. d = s + l * i(V);
  9450. V += m;
  9451. var p = t.pointList = [];
  9452. p.push([U, d]);
  9453. for(var c, u = 0, y = 2 * o - 1; y > u; u++) c = u % 2 === 0 ? h : l, p.push([r + c * n(V), s + c * i(V)]), V += m;
  9454. p.push([U, d]), e.moveTo(p[0][0], p[0][1]);
  9455. for(var u = 0; u < p.length; u++) e.lineTo(p[u][0], p[u][1]);
  9456. e.closePath()
  9457. }
  9458. },
  9459. getRect: function(e) {
  9460. if(e.__rect) return e.__rect;
  9461. var t;
  9462. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  9463. x: Math.round(e.x - e.r - t / 2),
  9464. y: Math.round(e.y - e.r - t / 2),
  9465. width: 2 * e.r + t,
  9466. height: 2 * e.r + t
  9467. }, e.__rect
  9468. }
  9469. }, e("../tool/util").inherits(r, o), r
  9470. }), i("zrender/shape/Heart", ["require", "./Base", "./util/PathProxy", "../tool/area", "../tool/util"], function(e) {
  9471. "use strict";
  9472. var t = e("./Base"),
  9473. i = e("./util/PathProxy"),
  9474. n = e("../tool/area"),
  9475. a = function(e) {
  9476. t.call(this, e), this._pathProxy = new i
  9477. };
  9478. return a.prototype = {
  9479. type: "heart",
  9480. buildPath: function(e, t) {
  9481. var n = this._pathProxy || new i;
  9482. n.begin(e), n.moveTo(t.x, t.y), n.bezierCurveTo(t.x + t.a / 2, t.y - 2 * t.b / 3, t.x + 2 * t.a, t.y + t.b / 3, t.x, t.y + t.b), n.bezierCurveTo(t.x - 2 * t.a, t.y + t.b / 3, t.x - t.a / 2, t.y - 2 * t.b / 3, t.x, t.y), n.closePath()
  9483. },
  9484. getRect: function(e) {
  9485. return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
  9486. },
  9487. isCover: function(e, t) {
  9488. var i = this.transformCoordToLocal(e, t);
  9489. return e = i[0], t = i[1], this.isCoverRect(e, t) ? n.isInsidePath(this._pathProxy.pathCommands, this.style.lineWidth, this.style.brushType, e, t) : void 0
  9490. }
  9491. }, e("../tool/util").inherits(a, t), a
  9492. }), i("zrender/shape/Droplet", ["require", "./Base", "./util/PathProxy", "../tool/area", "../tool/util"], function(e) {
  9493. "use strict";
  9494. var t = e("./Base"),
  9495. i = e("./util/PathProxy"),
  9496. n = e("../tool/area"),
  9497. a = function(e) {
  9498. t.call(this, e), this._pathProxy = new i
  9499. };
  9500. return a.prototype = {
  9501. type: "droplet",
  9502. buildPath: function(e, t) {
  9503. var n = this._pathProxy || new i;
  9504. n.begin(e), n.moveTo(t.x, t.y + t.a), n.bezierCurveTo(t.x + t.a, t.y + t.a, t.x + 3 * t.a / 2, t.y - t.a / 3, t.x, t.y - t.b), n.bezierCurveTo(t.x - 3 * t.a / 2, t.y - t.a / 3, t.x - t.a, t.y + t.a, t.x, t.y + t.a), n.closePath()
  9505. },
  9506. getRect: function(e) {
  9507. return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
  9508. },
  9509. isCover: function(e, t) {
  9510. var i = this.transformCoordToLocal(e, t);
  9511. return e = i[0], t = i[1], this.isCoverRect(e, t) ? n.isInsidePath(this._pathProxy.pathCommands, this.style.lineWidth, this.style.brushType, e, t) : void 0
  9512. }
  9513. }, e("../tool/util").inherits(a, t), a
  9514. }), i("zrender/tool/math", [], function() {
  9515. function e(e, t) {
  9516. return Math.sin(t ? e * a : e)
  9517. }
  9518. function t(e, t) {
  9519. return Math.cos(t ? e * a : e)
  9520. }
  9521. function i(e) {
  9522. return e * a
  9523. }
  9524. function n(e) {
  9525. return e / a
  9526. }
  9527. var a = Math.PI / 180;
  9528. return {
  9529. sin: e,
  9530. cos: t,
  9531. degreeToRadian: i,
  9532. radianToDegree: n
  9533. }
  9534. }), i("zrender/shape/util/PathProxy", ["require", "../../tool/vector"], function(e) {
  9535. var t = e("../../tool/vector"),
  9536. i = function(e, t) {
  9537. this.command = e, this.points = t || null
  9538. },
  9539. n = function() {
  9540. this.pathCommands = [], this._ctx = null, this._min = [], this._max = []
  9541. };
  9542. return n.prototype.fastBoundingRect = function() {
  9543. var e = this._min,
  9544. i = this._max;
  9545. e[0] = e[1] = 1 / 0, i[0] = i[1] = -(1 / 0);
  9546. for(var n = 0; n < this.pathCommands.length; n++) {
  9547. var a = this.pathCommands[n],
  9548. o = a.points;
  9549. switch(a.command) {
  9550. case "M":
  9551. t.min(e, e, o), t.max(i, i, o);
  9552. break;
  9553. case "L":
  9554. t.min(e, e, o), t.max(i, i, o);
  9555. break;
  9556. case "C":
  9557. for(var r = 0; 6 > r; r += 2) e[0] = Math.min(e[0], e[0], o[r]), e[1] = Math.min(e[1], e[1], o[r + 1]), i[0] = Math.max(i[0], i[0], o[r]), i[1] = Math.max(i[1], i[1], o[r + 1]);
  9558. break;
  9559. case "Q":
  9560. for(var r = 0; 4 > r; r += 2) e[0] = Math.min(e[0], e[0], o[r]), e[1] = Math.min(e[1], e[1], o[r + 1]), i[0] = Math.max(i[0], i[0], o[r]), i[1] = Math.max(i[1], i[1], o[r + 1]);
  9561. break;
  9562. case "A":
  9563. var s = o[0],
  9564. l = o[1],
  9565. h = o[2],
  9566. m = o[3];
  9567. e[0] = Math.min(e[0], e[0], s - h), e[1] = Math.min(e[1], e[1], l - m), i[0] = Math.max(i[0], i[0], s + h), i[1] = Math.max(i[1], i[1], l + m)
  9568. }
  9569. }
  9570. return {
  9571. x: e[0],
  9572. y: e[1],
  9573. width: i[0] - e[0],
  9574. height: i[1] - e[1]
  9575. }
  9576. }, n.prototype.begin = function(e) {
  9577. return this._ctx = e || null, this.pathCommands.length = 0, this
  9578. }, n.prototype.moveTo = function(e, t) {
  9579. return this.pathCommands.push(new i("M", [e, t])), this._ctx && this._ctx.moveTo(e, t), this
  9580. }, n.prototype.lineTo = function(e, t) {
  9581. return this.pathCommands.push(new i("L", [e, t])), this._ctx && this._ctx.lineTo(e, t), this
  9582. }, n.prototype.bezierCurveTo = function(e, t, n, a, o, r) {
  9583. return this.pathCommands.push(new i("C", [e, t, n, a, o, r])), this._ctx && this._ctx.bezierCurveTo(e, t, n, a, o, r), this
  9584. }, n.prototype.quadraticCurveTo = function(e, t, n, a) {
  9585. return this.pathCommands.push(new i("Q", [e, t, n, a])), this._ctx && this._ctx.quadraticCurveTo(e, t, n, a), this
  9586. }, n.prototype.arc = function(e, t, n, a, o, r) {
  9587. return this.pathCommands.push(new i("A", [e, t, n, n, a, o - a, 0, r ? 0 : 1])), this._ctx && this._ctx.arc(e, t, n, a, o, r), this
  9588. }, n.prototype.arcTo = function(e, t, i, n, a) {
  9589. return this._ctx && this._ctx.arcTo(e, t, i, n, a), this
  9590. }, n.prototype.rect = function(e, t, i, n) {
  9591. return this._ctx && this._ctx.rect(e, t, i, n), this
  9592. }, n.prototype.closePath = function() {
  9593. return this.pathCommands.push(new i("z")), this._ctx && this._ctx.closePath(), this
  9594. }, n.prototype.isEmpty = function() {
  9595. return 0 === this.pathCommands.length
  9596. }, n.PathSegment = i, n
  9597. }), i("zrender/shape/Line", ["require", "./Base", "./util/dashedLineTo", "../tool/util"], function(e) {
  9598. var t = e("./Base"),
  9599. i = e("./util/dashedLineTo"),
  9600. n = function(e) {
  9601. this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
  9602. };
  9603. return n.prototype = {
  9604. type: "line",
  9605. buildPath: function(e, t) {
  9606. if(t.lineType && "solid" != t.lineType) {
  9607. if("dashed" == t.lineType || "dotted" == t.lineType) {
  9608. var n = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  9609. i(e, t.xStart, t.yStart, t.xEnd, t.yEnd, n)
  9610. }
  9611. } else e.moveTo(t.xStart, t.yStart), e.lineTo(t.xEnd, t.yEnd)
  9612. },
  9613. getRect: function(e) {
  9614. if(e.__rect) return e.__rect;
  9615. var t = e.lineWidth || 1;
  9616. return e.__rect = {
  9617. x: Math.min(e.xStart, e.xEnd) - t,
  9618. y: Math.min(e.yStart, e.yEnd) - t,
  9619. width: Math.abs(e.xStart - e.xEnd) + t,
  9620. height: Math.abs(e.yStart - e.yEnd) + t
  9621. }, e.__rect
  9622. }
  9623. }, e("../tool/util").inherits(n, t), n
  9624. }), i("zrender/shape/BezierCurve", ["require", "./Base", "../tool/util"], function(e) {
  9625. "use strict";
  9626. var t = e("./Base"),
  9627. i = function(e) {
  9628. this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
  9629. };
  9630. return i.prototype = {
  9631. type: "bezier-curve",
  9632. buildPath: function(e, t) {
  9633. e.moveTo(t.xStart, t.yStart), "undefined" != typeof t.cpX2 && "undefined" != typeof t.cpY2 ? e.bezierCurveTo(t.cpX1, t.cpY1, t.cpX2, t.cpY2, t.xEnd, t.yEnd) : e.quadraticCurveTo(t.cpX1, t.cpY1, t.xEnd, t.yEnd)
  9634. },
  9635. getRect: function(e) {
  9636. if(e.__rect) return e.__rect;
  9637. var t = Math.min(e.xStart, e.xEnd, e.cpX1),
  9638. i = Math.min(e.yStart, e.yEnd, e.cpY1),
  9639. n = Math.max(e.xStart, e.xEnd, e.cpX1),
  9640. a = Math.max(e.yStart, e.yEnd, e.cpY1),
  9641. o = e.cpX2,
  9642. r = e.cpY2;
  9643. "undefined" != typeof o && "undefined" != typeof r && (t = Math.min(t, o), i = Math.min(i, r), n = Math.max(n, o), a = Math.max(a, r));
  9644. var s = e.lineWidth || 1;
  9645. return e.__rect = {
  9646. x: t - s,
  9647. y: i - s,
  9648. width: n - t + s,
  9649. height: a - i + s
  9650. }, e.__rect
  9651. }
  9652. }, e("../tool/util").inherits(i, t), i
  9653. }), i("zrender/shape/util/dashedLineTo", [], function() {
  9654. var e = [5, 5];
  9655. return function(t, i, n, a, o, r) {
  9656. if(t.setLineDash) return e[0] = e[1] = r, t.setLineDash(e), t.moveTo(i, n), void t.lineTo(a, o);
  9657. r = "number" != typeof r ? 5 : r;
  9658. var s = a - i,
  9659. l = o - n,
  9660. h = Math.floor(Math.sqrt(s * s + l * l) / r);
  9661. s /= h, l /= h;
  9662. for(var m = !0, V = 0; h > V; ++V) m ? t.moveTo(i, n) : t.lineTo(i, n), m = !m, i += s, n += l;
  9663. t.lineTo(a, o)
  9664. }
  9665. }), i("zrender/shape/Polygon", ["require", "./Base", "./util/smoothSpline", "./util/smoothBezier", "./util/dashedLineTo", "../tool/util"], function(e) {
  9666. var t = e("./Base"),
  9667. i = e("./util/smoothSpline"),
  9668. n = e("./util/smoothBezier"),
  9669. a = e("./util/dashedLineTo"),
  9670. o = function(e) {
  9671. t.call(this, e)
  9672. };
  9673. return o.prototype = {
  9674. type: "polygon",
  9675. buildPath: function(e, t) {
  9676. var o = t.pointList;
  9677. if(!(o.length < 2)) {
  9678. if(t.smooth && "spline" !== t.smooth) {
  9679. var r = n(o, t.smooth, !0, t.smoothConstraint);
  9680. e.moveTo(o[0][0], o[0][1]);
  9681. for(var s, l, h, m = o.length, V = 0; m > V; V++) s = r[2 * V], l = r[2 * V + 1], h = o[(V + 1) % m], e.bezierCurveTo(s[0], s[1], l[0], l[1], h[0], h[1])
  9682. } else if("spline" === t.smooth && (o = i(o, !0)), t.lineType && "solid" != t.lineType) {
  9683. if("dashed" == t.lineType || "dotted" == t.lineType) {
  9684. var U = t._dashLength || (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  9685. t._dashLength = U, e.moveTo(o[0][0], o[0][1]);
  9686. for(var V = 1, d = o.length; d > V; V++) a(e, o[V - 1][0], o[V - 1][1], o[V][0], o[V][1], U);
  9687. a(e, o[o.length - 1][0], o[o.length - 1][1], o[0][0], o[0][1], U)
  9688. }
  9689. } else {
  9690. e.moveTo(o[0][0], o[0][1]);
  9691. for(var V = 1, d = o.length; d > V; V++) e.lineTo(o[V][0], o[V][1]);
  9692. e.lineTo(o[0][0], o[0][1])
  9693. }
  9694. e.closePath()
  9695. }
  9696. },
  9697. getRect: function(e) {
  9698. if(e.__rect) return e.__rect;
  9699. for(var t = Number.MAX_VALUE, i = Number.MIN_VALUE, n = Number.MAX_VALUE, a = Number.MIN_VALUE, o = e.pointList, r = 0, s = o.length; s > r; r++) o[r][0] < t && (t = o[r][0]), o[r][0] > i && (i = o[r][0]), o[r][1] < n && (n = o[r][1]), o[r][1] > a && (a = o[r][1]);
  9700. var l;
  9701. return l = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  9702. x: Math.round(t - l / 2),
  9703. y: Math.round(n - l / 2),
  9704. width: i - t + l,
  9705. height: a - n + l
  9706. }, e.__rect
  9707. }
  9708. }, e("../tool/util").inherits(o, t), o
  9709. }), i("echarts/util/shape/normalIsCover", [], function() {
  9710. return function(e, t) {
  9711. var i = this.transformCoordToLocal(e, t);
  9712. return e = i[0], t = i[1], this.isCoverRect(e, t)
  9713. }
  9714. }), i("zrender/shape/util/smoothSpline", ["require", "../../tool/vector"], function(e) {
  9715. function t(e, t, i, n, a, o, r) {
  9716. var s = .5 * (i - e),
  9717. l = .5 * (n - t);
  9718. return(2 * (t - i) + s + l) * r + (-3 * (t - i) - 2 * s - l) * o + s * a + t
  9719. }
  9720. var i = e("../../tool/vector");
  9721. return function(e, n) {
  9722. for(var a = e.length, o = [], r = 0, s = 1; a > s; s++) r += i.distance(e[s - 1], e[s]);
  9723. var l = r / 5;
  9724. l = a > l ? a : l;
  9725. for(var s = 0; l > s; s++) {
  9726. var h, m, V, U = s / (l - 1) * (n ? a : a - 1),
  9727. d = Math.floor(U),
  9728. p = U - d,
  9729. c = e[d % a];
  9730. n ? (h = e[(d - 1 + a) % a], m = e[(d + 1) % a], V = e[(d + 2) % a]) : (h = e[0 === d ? d : d - 1], m = e[d > a - 2 ? a - 1 : d + 1], V = e[d > a - 3 ? a - 1 : d + 2]);
  9731. var u = p * p,
  9732. y = p * u;
  9733. o.push([t(h[0], c[0], m[0], V[0], p, u, y), t(h[1], c[1], m[1], V[1], p, u, y)])
  9734. }
  9735. return o
  9736. }
  9737. }), i("zrender/shape/util/smoothBezier", ["require", "../../tool/vector"], function(e) {
  9738. var t = e("../../tool/vector");
  9739. return function(e, i, n, a) {
  9740. var o, r, s, l, h = [],
  9741. m = [],
  9742. V = [],
  9743. U = [],
  9744. d = !!a;
  9745. if(d) {
  9746. s = [1 / 0, 1 / 0], l = [-(1 / 0), -(1 / 0)];
  9747. for(var p = 0, c = e.length; c > p; p++) t.min(s, s, e[p]), t.max(l, l, e[p]);
  9748. t.min(s, s, a[0]), t.max(l, l, a[1])
  9749. }
  9750. for(var p = 0, c = e.length; c > p; p++) {
  9751. var o, r, u = e[p];
  9752. if(n) o = e[p ? p - 1 : c - 1], r = e[(p + 1) % c];
  9753. else {
  9754. if(0 === p || p === c - 1) {
  9755. h.push(t.clone(e[p]));
  9756. continue
  9757. }
  9758. o = e[p - 1], r = e[p + 1]
  9759. }
  9760. t.sub(m, r, o), t.scale(m, m, i);
  9761. var y = t.distance(u, o),
  9762. g = t.distance(u, r),
  9763. b = y + g;
  9764. 0 !== b && (y /= b, g /= b), t.scale(V, m, -y), t.scale(U, m, g);
  9765. var f = t.add([], u, V),
  9766. k = t.add([], u, U);
  9767. d && (t.max(f, f, s), t.min(f, f, l), t.max(k, k, s), t.min(k, k, l)), h.push(f), h.push(k)
  9768. }
  9769. return n && h.push(t.clone(h.shift())), h
  9770. }
  9771. }), i("echarts/util/ecQuery", ["require", "zrender/tool/util"], function(e) {
  9772. function t(e, t) {
  9773. if("undefined" != typeof e) {
  9774. if(!t) return e;
  9775. t = t.split(".");
  9776. for(var i = t.length, n = 0; i > n;) {
  9777. if(e = e[t[n]], "undefined" == typeof e) return;
  9778. n++
  9779. }
  9780. return e
  9781. }
  9782. }
  9783. function i(e, i) {
  9784. for(var n, a = 0, o = e.length; o > a; a++)
  9785. if(n = t(e[a], i), "undefined" != typeof n) return n
  9786. }
  9787. function n(e, i) {
  9788. for(var n, o = e.length; o--;) {
  9789. var r = t(e[o], i);
  9790. "undefined" != typeof r && ("undefined" == typeof n ? n = a.clone(r) : a.merge(n, r, !0))
  9791. }
  9792. return n
  9793. }
  9794. var a = e("zrender/tool/util");
  9795. return {
  9796. query: t,
  9797. deepQuery: i,
  9798. deepMerge: n
  9799. }
  9800. }), i("echarts/util/number", [], function() {
  9801. function e(e) {
  9802. return e.replace(/^\s+/, "").replace(/\s+$/, "")
  9803. }
  9804. function t(t, i) {
  9805. return "string" == typeof t ? e(t).match(/%$/) ? parseFloat(t) / 100 * i : parseFloat(t) : t
  9806. }
  9807. function i(e, i) {
  9808. return [t(i[0], e.getWidth()), t(i[1], e.getHeight())]
  9809. }
  9810. function n(e, i) {
  9811. i instanceof Array || (i = [0, i]);
  9812. var n = Math.min(e.getWidth(), e.getHeight()) / 2;
  9813. return [t(i[0], n), t(i[1], n)]
  9814. }
  9815. function a(e) {
  9816. return isNaN(e) ? "-" : (e = (e + "").split("."), e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (e.length > 1 ? "." + e[1] : ""))
  9817. }
  9818. function o(e) {
  9819. for(var t = 1, i = 0; Math.round(e * t) / t !== e;) t *= 10, i++;
  9820. return i
  9821. }
  9822. return {
  9823. parsePercent: t,
  9824. parseCenter: i,
  9825. parseRadius: n,
  9826. addCommas: a,
  9827. getPrecision: o
  9828. }
  9829. }), i("echarts/data/KDTree", ["require", "./quickSelect"], function(e) {
  9830. function t(e, t) {
  9831. this.left = null, this.right = null, this.axis = e, this.data = t
  9832. }
  9833. var i = e("./quickSelect"),
  9834. n = function(e, t) {
  9835. e.length && (t || (t = e[0].array.length), this.dimension = t, this.root = this._buildTree(e, 0, e.length - 1, 0), this._stack = [], this._nearstNList = [])
  9836. };
  9837. return n.prototype._buildTree = function(e, n, a, o) {
  9838. if(n > a) return null;
  9839. var r = Math.floor((n + a) / 2);
  9840. r = i(e, n, a, r, function(e, t) {
  9841. return e.array[o] - t.array[o]
  9842. });
  9843. var s = e[r],
  9844. l = new t(o, s);
  9845. return o = (o + 1) % this.dimension, a > n && (l.left = this._buildTree(e, n, r - 1, o), l.right = this._buildTree(e, r + 1, a, o)), l
  9846. }, n.prototype.nearest = function(e, t) {
  9847. var i = this.root,
  9848. n = this._stack,
  9849. a = 0,
  9850. o = 1 / 0,
  9851. r = null;
  9852. for(i.data !== e && (o = t(i.data, e), r = i), e.array[i.axis] < i.data.array[i.axis] ? (i.right && (n[a++] = i.right), i.left && (n[a++] = i.left)) : (i.left && (n[a++] = i.left), i.right && (n[a++] = i.right)); a--;) {
  9853. i = n[a];
  9854. var s = e.array[i.axis] - i.data.array[i.axis],
  9855. l = 0 > s,
  9856. h = !1;
  9857. s *= s, o > s && (s = t(i.data, e), o > s && i.data !== e && (o = s, r = i), h = !0), l ? (h && i.right && (n[a++] = i.right), i.left && (n[a++] = i.left)) : (h && i.left && (n[a++] = i.left), i.right && (n[a++] = i.right))
  9858. }
  9859. return r.data
  9860. }, n.prototype._addNearest = function(e, t, i) {
  9861. for(var n = this._nearstNList, a = e - 1; a > 0 && !(t >= n[a - 1].dist); a--) n[a].dist = n[a - 1].dist, n[a].node = n[a - 1].node;
  9862. n[a].dist = t, n[a].node = i
  9863. }, n.prototype.nearestN = function(e, t, i, n) {
  9864. if(0 >= t) return n.length = 0, n;
  9865. for(var a = this.root, o = this._stack, r = 0, s = this._nearstNList, l = 0; t > l; l++) s[l] || (s[l] = {}), s[l].dist = 0, s[l].node = null;
  9866. var h = i(a.data, e),
  9867. m = 0;
  9868. for(a.data !== e && (m++, this._addNearest(m, h, a)), e.array[a.axis] < a.data.array[a.axis] ? (a.right && (o[r++] = a.right), a.left && (o[r++] = a.left)) : (a.left && (o[r++] = a.left), a.right && (o[r++] = a.right)); r--;) {
  9869. a = o[r];
  9870. var h = e.array[a.axis] - a.data.array[a.axis],
  9871. V = 0 > h,
  9872. U = !1;
  9873. h *= h, (t > m || h < s[m - 1].dist) && (h = i(a.data, e), (t > m || h < s[m - 1].dist) && a.data !== e && (t > m && m++, this._addNearest(m, h, a)), U = !0), V ? (U && a.right && (o[r++] = a.right), a.left && (o[r++] = a.left)) : (U && a.left && (o[r++] = a.left), a.right && (o[r++] = a.right))
  9874. }
  9875. for(var l = 0; m > l; l++) n[l] = s[l].node.data;
  9876. return n.length = m, n
  9877. }, n
  9878. }), i("echarts/data/quickSelect", ["require"], function() {
  9879. function e(e, t) {
  9880. return e - t
  9881. }
  9882. function t(e, t, i) {
  9883. var n = e[t];
  9884. e[t] = e[i], e[i] = n
  9885. }
  9886. function i(e, i, n, a, o) {
  9887. for(var r = i; n > i;) {
  9888. var r = Math.round((n + i) / 2),
  9889. s = e[r];
  9890. t(e, r, n), r = i;
  9891. for(var l = i; n - 1 >= l; l++) o(s, e[l]) >= 0 && (t(e, l, r), r++);
  9892. if(t(e, n, r), r === a) return r;
  9893. a > r ? i = r + 1 : n = r - 1
  9894. }
  9895. return i
  9896. }
  9897. function n(t, n, a, o, r) {
  9898. return arguments.length <= 3 && (o = n, r = 2 == arguments.length ? e : a, n = 0, a = t.length - 1), i(t, n, a, o, r)
  9899. }
  9900. return n
  9901. }), i("echarts/component/dataView", ["require", "./base", "../config", "zrender/tool/util", "../component"], function(e) {
  9902. function t(e, t, n, a, o) {
  9903. i.call(this, e, t, n, a, o), this.dom = o.dom, this._tDom = document.createElement("div"), this._textArea = document.createElement("textArea"), this._buttonRefresh = document.createElement("button"), this._buttonRefresh.setAttribute("type", "button"), this._buttonClose = document.createElement("button"), this._buttonClose.setAttribute("type", "button"), this._hasShow = !1, this._zrHeight = n.getHeight(), this._zrWidth = n.getWidth(), this._tDom.className = "echarts-dataview", this.hide(), this.dom.firstChild.appendChild(this._tDom), window.addEventListener ? (this._tDom.addEventListener("click", this._stop), this._tDom.addEventListener("mousewheel", this._stop), this._tDom.addEventListener("mousemove", this._stop), this._tDom.addEventListener("mousedown", this._stop), this._tDom.addEventListener("mouseup", this._stop), this._tDom.addEventListener("touchstart", this._stop), this._tDom.addEventListener("touchmove", this._stop), this._tDom.addEventListener("touchend", this._stop)) : (this._tDom.attachEvent("onclick", this._stop), this._tDom.attachEvent("onmousewheel", this._stop), this._tDom.attachEvent("onmousemove", this._stop), this._tDom.attachEvent("onmousedown", this._stop), this._tDom.attachEvent("onmouseup", this._stop))
  9904. }
  9905. var i = e("./base"),
  9906. n = e("../config"),
  9907. a = e("zrender/tool/util");
  9908. return t.prototype = {
  9909. type: n.COMPONENT_TYPE_DATAVIEW,
  9910. _lang: ["Data View", "close", "refresh"],
  9911. _gCssText: "position:absolute;display:block;overflow:hidden;transition:height 0.8s,background-color 1s;-moz-transition:height 0.8s,background-color 1s;-webkit-transition:height 0.8s,background-color 1s;-o-transition:height 0.8s,background-color 1s;z-index:1;left:0;top:0;",
  9912. hide: function() {
  9913. this._sizeCssText = "width:" + this._zrWidth + "px;height:0px;background-color:#f0ffff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText
  9914. },
  9915. show: function(e) {
  9916. this._hasShow = !0;
  9917. var t = this.query(this.option, "toolbox.feature.dataView.lang") || this._lang;
  9918. this.option = e, this._tDom.innerHTML = '<p style="padding:8px 0;margin:0 0 10px 0;border-bottom:1px solid #eee">' + (t[0] || this._lang[0]) + "</p>";
  9919. var i = this.query(this.option, "toolbox.feature.dataView.optionToContent");
  9920. "function" != typeof i ? this._textArea.value = this._optionToContent() : (this._textArea = document.createElement("div"), this._textArea.innerHTML = i(this.option)), this._textArea.style.cssText = "display:block;margin:0 0 8px 0;padding:4px 6px;overflow:auto;width:100%;height:" + (this._zrHeight - 100) + "px;", this._tDom.appendChild(this._textArea), this._buttonClose.style.cssText = "float:right;padding:1px 6px;", this._buttonClose.innerHTML = t[1] || this._lang[1];
  9921. var n = this;
  9922. this._buttonClose.onclick = function() {
  9923. n.hide()
  9924. }, this._tDom.appendChild(this._buttonClose), this.query(this.option, "toolbox.feature.dataView.readOnly") === !1 ? (this._buttonRefresh.style.cssText = "float:right;margin-right:10px;padding:1px 6px;", this._buttonRefresh.innerHTML = t[2] || this._lang[2], this._buttonRefresh.onclick = function() {
  9925. n._save()
  9926. }, this._textArea.readOnly = !1, this._textArea.style.cursor = "default") : (this._buttonRefresh.style.cssText = "display:none",
  9927. this._textArea.readOnly = !0, this._textArea.style.cursor = "text"), this._tDom.appendChild(this._buttonRefresh), this._sizeCssText = "width:" + this._zrWidth + "px;height:" + this._zrHeight + "px;background-color:#fff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText
  9928. },
  9929. _optionToContent: function() {
  9930. var e, t, i, a, o, r, s = [],
  9931. l = "";
  9932. if(this.option.xAxis)
  9933. for(s = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], e = 0, a = s.length; a > e; e++)
  9934. if("category" == (s[e].type || "category")) {
  9935. for(r = [], t = 0, i = s[e].data.length; i > t; t++) r.push(this.getDataFromOption(s[e].data[t]));
  9936. l += r.join(", ") + "\n\n"
  9937. }
  9938. if(this.option.yAxis)
  9939. for(s = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], e = 0, a = s.length; a > e; e++)
  9940. if("category" == s[e].type) {
  9941. for(r = [], t = 0, i = s[e].data.length; i > t; t++) r.push(this.getDataFromOption(s[e].data[t]));
  9942. l += r.join(", ") + "\n\n"
  9943. }
  9944. var h, m = this.option.series;
  9945. for(e = 0, a = m.length; a > e; e++) {
  9946. for(r = [], t = 0, i = m[e].data.length; i > t; t++) o = m[e].data[t], h = m[e].type == n.CHART_TYPE_PIE || m[e].type == n.CHART_TYPE_MAP ? (o.name || "-") + ":" : "", m[e].type == n.CHART_TYPE_SCATTER && (o = this.getDataFromOption(o).join(", ")), r.push(h + this.getDataFromOption(o));
  9947. l += (m[e].name || "-") + " : \n", l += r.join(m[e].type == n.CHART_TYPE_SCATTER ? "\n" : ", "), l += "\n\n"
  9948. }
  9949. return l
  9950. },
  9951. _save: function() {
  9952. var e = this.query(this.option, "toolbox.feature.dataView.contentToOption");
  9953. if("function" != typeof e) {
  9954. for(var t = this._textArea.value.split("\n"), i = [], a = 0, o = t.length; o > a; a++) t[a] = this._trim(t[a]), "" !== t[a] && i.push(t[a]);
  9955. this._contentToOption(i)
  9956. } else e(this._textArea, this.option);
  9957. this.hide();
  9958. var r = this;
  9959. setTimeout(function() {
  9960. r.messageCenter && r.messageCenter.dispatch(n.EVENT.DATA_VIEW_CHANGED, null, {
  9961. option: r.option
  9962. }, r.myChart)
  9963. }, r.canvasSupported ? 800 : 100)
  9964. },
  9965. _contentToOption: function(e) {
  9966. var t, i, a, o, r, s, l, h = [],
  9967. m = 0;
  9968. if(this.option.xAxis)
  9969. for(h = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], t = 0, o = h.length; o > t; t++)
  9970. if("category" == (h[t].type || "category")) {
  9971. for(s = e[m].split(","), i = 0, a = h[t].data.length; a > i; i++) l = this._trim(s[i] || ""), r = h[t].data[i], "undefined" != typeof h[t].data[i].value ? h[t].data[i].value = l : h[t].data[i] = l;
  9972. m++
  9973. }
  9974. if(this.option.yAxis)
  9975. for(h = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], t = 0, o = h.length; o > t; t++)
  9976. if("category" == h[t].type) {
  9977. for(s = e[m].split(","), i = 0, a = h[t].data.length; a > i; i++) l = this._trim(s[i] || ""), r = h[t].data[i], "undefined" != typeof h[t].data[i].value ? h[t].data[i].value = l : h[t].data[i] = l;
  9978. m++
  9979. }
  9980. var V = this.option.series;
  9981. for(t = 0, o = V.length; o > t; t++)
  9982. if(m++, V[t].type == n.CHART_TYPE_SCATTER)
  9983. for(var i = 0, a = V[t].data.length; a > i; i++) s = e[m], l = s.replace(" ", "").split(","), "undefined" != typeof V[t].data[i].value ? V[t].data[i].value = l : V[t].data[i] = l, m++;
  9984. else {
  9985. s = e[m].split(",");
  9986. for(var i = 0, a = V[t].data.length; a > i; i++) l = (s[i] || "").replace(/.*:/, ""), l = this._trim(l), l = "-" != l && "" !== l ? l - 0 : "-", "undefined" != typeof V[t].data[i].value ? V[t].data[i].value = l : V[t].data[i] = l;
  9987. m++
  9988. }
  9989. },
  9990. _trim: function(e) {
  9991. var t = new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)", "g");
  9992. return e.replace(t, "")
  9993. },
  9994. _stop: function(e) {
  9995. e = e || window.event, e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0
  9996. },
  9997. resize: function() {
  9998. this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth(), this._tDom.offsetHeight > 10 && (this._sizeCssText = "width:" + this._zrWidth + "px;height:" + this._zrHeight + "px;background-color:#fff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText, this._textArea.style.cssText = "display:block;margin:0 0 8px 0;padding:4px 6px;overflow:auto;width:100%;height:" + (this._zrHeight - 100) + "px;")
  9999. },
  10000. dispose: function() {
  10001. window.removeEventListener ? (this._tDom.removeEventListener("click", this._stop), this._tDom.removeEventListener("mousewheel", this._stop), this._tDom.removeEventListener("mousemove", this._stop), this._tDom.removeEventListener("mousedown", this._stop), this._tDom.removeEventListener("mouseup", this._stop), this._tDom.removeEventListener("touchstart", this._stop), this._tDom.removeEventListener("touchmove", this._stop), this._tDom.removeEventListener("touchend", this._stop)) : (this._tDom.detachEvent("onclick", this._stop), this._tDom.detachEvent("onmousewheel", this._stop), this._tDom.detachEvent("onmousemove", this._stop), this._tDom.detachEvent("onmousedown", this._stop), this._tDom.detachEvent("onmouseup", this._stop)), this._buttonRefresh.onclick = null, this._buttonClose.onclick = null, this._hasShow && (this._tDom.removeChild(this._textArea), this._tDom.removeChild(this._buttonRefresh), this._tDom.removeChild(this._buttonClose)), this._textArea = null, this._buttonRefresh = null, this._buttonClose = null, this.dom.firstChild.removeChild(this._tDom), this._tDom = null
  10002. }
  10003. }, a.inherits(t, i), e("../component").define("dataView", t), t
  10004. }), i("echarts/util/shape/Cross", ["require", "zrender/shape/Base", "zrender/shape/Line", "zrender/tool/util", "./normalIsCover"], function(e) {
  10005. function t(e) {
  10006. i.call(this, e)
  10007. }
  10008. var i = e("zrender/shape/Base"),
  10009. n = e("zrender/shape/Line"),
  10010. a = e("zrender/tool/util");
  10011. return t.prototype = {
  10012. type: "cross",
  10013. buildPath: function(e, t) {
  10014. var i = t.rect;
  10015. t.xStart = i.x, t.xEnd = i.x + i.width, t.yStart = t.yEnd = t.y, n.prototype.buildPath(e, t), t.xStart = t.xEnd = t.x, t.yStart = i.y, t.yEnd = i.y + i.height, n.prototype.buildPath(e, t)
  10016. },
  10017. getRect: function(e) {
  10018. return e.rect
  10019. },
  10020. isCover: e("./normalIsCover")
  10021. }, a.inherits(t, i), t
  10022. }), i("zrender/shape/Sector", ["require", "../tool/math", "../tool/computeBoundingBox", "../tool/vector", "./Base", "../tool/util"], function(e) {
  10023. var t = e("../tool/math"),
  10024. i = e("../tool/computeBoundingBox"),
  10025. n = e("../tool/vector"),
  10026. a = e("./Base"),
  10027. o = n.create(),
  10028. r = n.create(),
  10029. s = n.create(),
  10030. l = n.create(),
  10031. h = function(e) {
  10032. a.call(this, e)
  10033. };
  10034. return h.prototype = {
  10035. type: "sector",
  10036. buildPath: function(e, i) {
  10037. var n = i.x,
  10038. a = i.y,
  10039. o = i.r0 || 0,
  10040. r = i.r,
  10041. s = i.startAngle,
  10042. l = i.endAngle,
  10043. h = i.clockWise || !1;
  10044. s = t.degreeToRadian(s), l = t.degreeToRadian(l), h || (s = -s, l = -l);
  10045. var m = t.cos(s),
  10046. V = t.sin(s);
  10047. e.moveTo(m * o + n, V * o + a), e.lineTo(m * r + n, V * r + a), e.arc(n, a, r, s, l, !h), e.lineTo(t.cos(l) * o + n, t.sin(l) * o + a), 0 !== o && e.arc(n, a, o, l, s, h), e.closePath()
  10048. },
  10049. getRect: function(e) {
  10050. if(e.__rect) return e.__rect;
  10051. var a = e.x,
  10052. h = e.y,
  10053. m = e.r0 || 0,
  10054. V = e.r,
  10055. U = t.degreeToRadian(e.startAngle),
  10056. d = t.degreeToRadian(e.endAngle),
  10057. p = e.clockWise;
  10058. return p || (U = -U, d = -d), m > 1 ? i.arc(a, h, m, U, d, !p, o, s) : (o[0] = s[0] = a, o[1] = s[1] = h), i.arc(a, h, V, U, d, !p, r, l), n.min(o, o, r), n.max(s, s, l), e.__rect = {
  10059. x: o[0],
  10060. y: o[1],
  10061. width: s[0] - o[0],
  10062. height: s[1] - o[1]
  10063. }, e.__rect
  10064. }
  10065. }, e("../tool/util").inherits(h, a), h
  10066. }), i("echarts/util/shape/Candle", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function(e) {
  10067. function t(e) {
  10068. i.call(this, e)
  10069. }
  10070. var i = e("zrender/shape/Base"),
  10071. n = e("zrender/tool/util");
  10072. return t.prototype = {
  10073. type: "candle",
  10074. _numberOrder: function(e, t) {
  10075. return t - e
  10076. },
  10077. buildPath: function(e, t) {
  10078. var i = n.clone(t.y).sort(this._numberOrder);
  10079. e.moveTo(t.x, i[3]), e.lineTo(t.x, i[2]), e.moveTo(t.x - t.width / 2, i[2]), e.rect(t.x - t.width / 2, i[2], t.width, i[1] - i[2]), e.moveTo(t.x, i[1]), e.lineTo(t.x, i[0])
  10080. },
  10081. getRect: function(e) {
  10082. if(!e.__rect) {
  10083. var t = 0;
  10084. ("stroke" == e.brushType || "fill" == e.brushType) && (t = e.lineWidth || 1);
  10085. var i = n.clone(e.y).sort(this._numberOrder);
  10086. e.__rect = {
  10087. x: Math.round(e.x - e.width / 2 - t / 2),
  10088. y: Math.round(i[3] - t / 2),
  10089. width: e.width + t,
  10090. height: i[0] - i[3] + t
  10091. }
  10092. }
  10093. return e.__rect
  10094. },
  10095. isCover: e("./normalIsCover")
  10096. }, n.inherits(t, i), t
  10097. }), i("zrender/tool/computeBoundingBox", ["require", "./vector", "./curve"], function(e) {
  10098. function t(e, t, i) {
  10099. if(0 !== e.length) {
  10100. for(var n = e[0][0], a = e[0][0], o = e[0][1], r = e[0][1], s = 1; s < e.length; s++) {
  10101. var l = e[s];
  10102. l[0] < n && (n = l[0]), l[0] > a && (a = l[0]), l[1] < o && (o = l[1]), l[1] > r && (r = l[1])
  10103. }
  10104. t[0] = n, t[1] = o, i[0] = a, i[1] = r
  10105. }
  10106. }
  10107. function i(e, t, i, n, a, r) {
  10108. var s = [];
  10109. o.cubicExtrema(e[0], t[0], i[0], n[0], s);
  10110. for(var l = 0; l < s.length; l++) s[l] = o.cubicAt(e[0], t[0], i[0], n[0], s[l]);
  10111. var h = [];
  10112. o.cubicExtrema(e[1], t[1], i[1], n[1], h);
  10113. for(var l = 0; l < h.length; l++) h[l] = o.cubicAt(e[1], t[1], i[1], n[1], h[l]);
  10114. s.push(e[0], n[0]), h.push(e[1], n[1]);
  10115. var m = Math.min.apply(null, s),
  10116. V = Math.max.apply(null, s),
  10117. U = Math.min.apply(null, h),
  10118. d = Math.max.apply(null, h);
  10119. a[0] = m, a[1] = U, r[0] = V, r[1] = d
  10120. }
  10121. function n(e, t, i, n, a) {
  10122. var r = o.quadraticExtremum(e[0], t[0], i[0]),
  10123. s = o.quadraticExtremum(e[1], t[1], i[1]);
  10124. r = Math.max(Math.min(r, 1), 0), s = Math.max(Math.min(s, 1), 0);
  10125. var l = 1 - r,
  10126. h = 1 - s,
  10127. m = l * l * e[0] + 2 * l * r * t[0] + r * r * i[0],
  10128. V = l * l * e[1] + 2 * l * r * t[1] + r * r * i[1],
  10129. U = h * h * e[0] + 2 * h * s * t[0] + s * s * i[0],
  10130. d = h * h * e[1] + 2 * h * s * t[1] + s * s * i[1];
  10131. n[0] = Math.min(e[0], i[0], m, U), n[1] = Math.min(e[1], i[1], V, d), a[0] = Math.max(e[0], i[0], m, U), a[1] = Math.max(e[1], i[1], V, d)
  10132. }
  10133. var a = e("./vector"),
  10134. o = e("./curve"),
  10135. r = a.create(),
  10136. s = a.create(),
  10137. l = a.create(),
  10138. h = function(e, t, i, n, o, h, m, V) {
  10139. if(Math.abs(n - o) >= 2 * Math.PI) return m[0] = e - i, m[1] = t - i, V[0] = e + i, void(V[1] = t + i);
  10140. if(r[0] = Math.cos(n) * i + e, r[1] = Math.sin(n) * i + t, s[0] = Math.cos(o) * i + e, s[1] = Math.sin(o) * i + t, a.min(m, r, s), a.max(V, r, s), n %= 2 * Math.PI, 0 > n && (n += 2 * Math.PI), o %= 2 * Math.PI, 0 > o && (o += 2 * Math.PI), n > o && !h ? o += 2 * Math.PI : o > n && h && (n += 2 * Math.PI), h) {
  10141. var U = o;
  10142. o = n, n = U
  10143. }
  10144. for(var d = 0; o > d; d += Math.PI / 2) d > n && (l[0] = Math.cos(d) * i + e, l[1] = Math.sin(d) * i + t, a.min(m, l, m), a.max(V, l, V))
  10145. };
  10146. return t.cubeBezier = i, t.quadraticBezier = n, t.arc = h, t
  10147. }), i("echarts/util/shape/Chain", ["require", "zrender/shape/Base", "./Icon", "zrender/shape/util/dashedLineTo", "zrender/tool/util", "zrender/tool/matrix"], function(e) {
  10148. function t(e) {
  10149. i.call(this, e)
  10150. }
  10151. var i = e("zrender/shape/Base"),
  10152. n = e("./Icon"),
  10153. a = e("zrender/shape/util/dashedLineTo"),
  10154. o = e("zrender/tool/util"),
  10155. r = e("zrender/tool/matrix");
  10156. return t.prototype = {
  10157. type: "chain",
  10158. brush: function(e, t) {
  10159. var i = this.style;
  10160. t && (i = this.getHighlightStyle(i, this.highlightStyle || {})), e.save(), this.setContext(e, i), this.setTransform(e), e.save(), e.beginPath(), this.buildLinePath(e, i), e.stroke(), e.restore(), this.brushSymbol(e, i), e.restore()
  10161. },
  10162. buildLinePath: function(e, t) {
  10163. var i = t.x,
  10164. n = t.y + 5,
  10165. o = t.width,
  10166. r = t.height / 2 - 10;
  10167. if(e.moveTo(i, n), e.lineTo(i, n + r), e.moveTo(i + o, n), e.lineTo(i + o, n + r), e.moveTo(i, n + r / 2), t.lineType && "solid" != t.lineType) {
  10168. if("dashed" == t.lineType || "dotted" == t.lineType) {
  10169. var s = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  10170. a(e, i, n + r / 2, i + o, n + r / 2, s)
  10171. }
  10172. } else e.lineTo(i + o, n + r / 2)
  10173. },
  10174. brushSymbol: function(e, t) {
  10175. var i = t.y + t.height / 4;
  10176. e.save();
  10177. for(var a, o = t.chainPoint, r = 0, s = o.length; s > r; r++) {
  10178. if(a = o[r], "none" != a.symbol) {
  10179. e.beginPath();
  10180. var l = a.symbolSize;
  10181. n.prototype.buildPath(e, {
  10182. iconType: a.symbol,
  10183. x: a.x - l,
  10184. y: i - l,
  10185. width: 2 * l,
  10186. height: 2 * l,
  10187. n: a.n
  10188. }), e.fillStyle = a.isEmpty ? "#fff" : t.strokeColor, e.closePath(), e.fill(), e.stroke()
  10189. }
  10190. a.showLabel && (e.font = a.textFont, e.fillStyle = a.textColor, e.textAlign = a.textAlign, e.textBaseline = a.textBaseline, a.rotation ? (e.save(), this._updateTextTransform(e, a.rotation), e.fillText(a.name, a.textX, a.textY), e.restore()) : e.fillText(a.name, a.textX, a.textY))
  10191. }
  10192. e.restore()
  10193. },
  10194. _updateTextTransform: function(e, t) {
  10195. var i = r.create();
  10196. if(r.identity(i), 0 !== t[0]) {
  10197. var n = t[1] || 0,
  10198. a = t[2] || 0;
  10199. (n || a) && r.translate(i, i, [-n, -a]), r.rotate(i, i, t[0]), (n || a) && r.translate(i, i, [n, a])
  10200. }
  10201. e.transform.apply(e, i)
  10202. },
  10203. isCover: function(e, t) {
  10204. var i = this.style;
  10205. return e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height ? !0 : !1
  10206. }
  10207. }, o.inherits(t, i), t
  10208. }), i("zrender/shape/Ring", ["require", "./Base", "../tool/util"], function(e) {
  10209. var t = e("./Base"),
  10210. i = function(e) {
  10211. t.call(this, e)
  10212. };
  10213. return i.prototype = {
  10214. type: "ring",
  10215. buildPath: function(e, t) {
  10216. e.arc(t.x, t.y, t.r, 0, 2 * Math.PI, !1), e.moveTo(t.x + t.r0, t.y), e.arc(t.x, t.y, t.r0, 0, 2 * Math.PI, !0)
  10217. },
  10218. getRect: function(e) {
  10219. if(e.__rect) return e.__rect;
  10220. var t;
  10221. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  10222. x: Math.round(e.x - e.r - t / 2),
  10223. y: Math.round(e.y - e.r - t / 2),
  10224. width: 2 * e.r + t,
  10225. height: 2 * e.r + t
  10226. }, e.__rect
  10227. }
  10228. }, e("../tool/util").inherits(i, t), i
  10229. }), i("echarts/component/axis", ["require", "./base", "zrender/shape/Line", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "./categoryAxis", "./valueAxis", "../component"], function(e) {
  10230. function t(e, t, n, a, o, r) {
  10231. i.call(this, e, t, n, a, o), this.axisType = r, this._axisList = [], this.refresh(a)
  10232. }
  10233. var i = e("./base"),
  10234. n = e("zrender/shape/Line"),
  10235. a = e("../config"),
  10236. o = e("../util/ecData"),
  10237. r = e("zrender/tool/util"),
  10238. s = e("zrender/tool/color");
  10239. return t.prototype = {
  10240. type: a.COMPONENT_TYPE_AXIS,
  10241. axisBase: {
  10242. _buildAxisLine: function() {
  10243. var e = this.option.axisLine.lineStyle.width,
  10244. t = e / 2,
  10245. i = {
  10246. _axisShape: "axisLine",
  10247. zlevel: this.getZlevelBase(),
  10248. z: this.getZBase() + 3,
  10249. hoverable: !1
  10250. },
  10251. a = this.grid;
  10252. switch(this.option.position) {
  10253. case "left":
  10254. i.style = {
  10255. xStart: a.getX() - t,
  10256. yStart: a.getYend(),
  10257. xEnd: a.getX() - t,
  10258. yEnd: a.getY(),
  10259. lineCap: "round"
  10260. };
  10261. break;
  10262. case "right":
  10263. i.style = {
  10264. xStart: a.getXend() + t,
  10265. yStart: a.getYend(),
  10266. xEnd: a.getXend() + t,
  10267. yEnd: a.getY(),
  10268. lineCap: "round"
  10269. };
  10270. break;
  10271. case "bottom":
  10272. i.style = {
  10273. xStart: a.getX(),
  10274. yStart: a.getYend() + t,
  10275. xEnd: a.getXend(),
  10276. yEnd: a.getYend() + t,
  10277. lineCap: "round"
  10278. };
  10279. break;
  10280. case "top":
  10281. i.style = {
  10282. xStart: a.getX(),
  10283. yStart: a.getY() - t,
  10284. xEnd: a.getXend(),
  10285. yEnd: a.getY() - t,
  10286. lineCap: "round"
  10287. }
  10288. }
  10289. var o = i.style;
  10290. "" !== this.option.name && (o.text = this.option.name, o.textPosition = this.option.nameLocation, o.textFont = this.getFont(this.option.nameTextStyle), this.option.nameTextStyle.align && (o.textAlign = this.option.nameTextStyle.align), this.option.nameTextStyle.baseline && (o.textBaseline = this.option.nameTextStyle.baseline), this.option.nameTextStyle.color && (o.textColor = this.option.nameTextStyle.color)), o.strokeColor = this.option.axisLine.lineStyle.color, o.lineWidth = e, this.isHorizontal() ? o.yStart = o.yEnd = this.subPixelOptimize(o.yEnd, e) : o.xStart = o.xEnd = this.subPixelOptimize(o.xEnd, e), o.lineType = this.option.axisLine.lineStyle.type, i = new n(i), this.shapeList.push(i)
  10291. },
  10292. _axisLabelClickable: function(e, t) {
  10293. return e ? (o.pack(t, void 0, -1, void 0, -1, t.style.text), t.hoverable = !0, t.clickable = !0, t.highlightStyle = {
  10294. color: s.lift(t.style.color, 1),
  10295. brushType: "fill"
  10296. }, t) : t
  10297. },
  10298. refixAxisShape: function(e, t) {
  10299. if(this.option.axisLine.onZero) {
  10300. var i;
  10301. if(this.isHorizontal() && null != t)
  10302. for(var n = 0, a = this.shapeList.length; a > n; n++) "axisLine" === this.shapeList[n]._axisShape ? (this.shapeList[n].style.yStart = this.shapeList[n].style.yEnd = this.subPixelOptimize(t, this.shapeList[n].stylelineWidth), this.zr.modShape(this.shapeList[n].id)) : "axisTick" === this.shapeList[n]._axisShape && (i = this.shapeList[n].style.yEnd - this.shapeList[n].style.yStart, this.shapeList[n].style.yStart = t - i, this.shapeList[n].style.yEnd = t, this.zr.modShape(this.shapeList[n].id));
  10303. if(!this.isHorizontal() && null != e)
  10304. for(var n = 0, a = this.shapeList.length; a > n; n++) "axisLine" === this.shapeList[n]._axisShape ? (this.shapeList[n].style.xStart = this.shapeList[n].style.xEnd = this.subPixelOptimize(e, this.shapeList[n].stylelineWidth), this.zr.modShape(this.shapeList[n].id)) : "axisTick" === this.shapeList[n]._axisShape && (i = this.shapeList[n].style.xEnd - this.shapeList[n].style.xStart, this.shapeList[n].style.xStart = e, this.shapeList[n].style.xEnd = e + i, this.zr.modShape(this.shapeList[n].id))
  10305. }
  10306. },
  10307. getPosition: function() {
  10308. return this.option.position
  10309. },
  10310. isHorizontal: function() {
  10311. return "bottom" === this.option.position || "top" === this.option.position
  10312. }
  10313. },
  10314. reformOption: function(e) {
  10315. if(!e || e instanceof Array && 0 === e.length ? e = [{
  10316. type: a.COMPONENT_TYPE_AXIS_VALUE
  10317. }] : e instanceof Array || (e = [e]), e.length > 2 && (e = [e[0], e[1]]), "xAxis" === this.axisType) {
  10318. (!e[0].position || "bottom" != e[0].position && "top" != e[0].position) && (e[0].position = "bottom"), e.length > 1 && (e[1].position = "bottom" === e[0].position ? "top" : "bottom");
  10319. for(var t = 0, i = e.length; i > t; t++) e[t].type = e[t].type || "category", e[t].xAxisIndex = t, e[t].yAxisIndex = -1
  10320. } else {
  10321. (!e[0].position || "left" != e[0].position && "right" != e[0].position) && (e[0].position = "left"), e.length > 1 && (e[1].position = "left" === e[0].position ? "right" : "left");
  10322. for(var t = 0, i = e.length; i > t; t++) e[t].type = e[t].type || "value", e[t].xAxisIndex = -1, e[t].yAxisIndex = t
  10323. }
  10324. return e
  10325. },
  10326. refresh: function(t) {
  10327. var i;
  10328. t && (this.option = t, "xAxis" === this.axisType ? (this.option.xAxis = this.reformOption(t.xAxis), i = this.option.xAxis) : (this.option.yAxis = this.reformOption(t.yAxis), i = this.option.yAxis), this.series = t.series);
  10329. for(var n = e("./categoryAxis"), a = e("./valueAxis"), o = Math.max(i && i.length || 0, this._axisList.length), r = 0; o > r; r++) !this._axisList[r] || !t || i[r] && this._axisList[r].type == i[r].type || (this._axisList[r].dispose && this._axisList[r].dispose(), this._axisList[r] = !1), this._axisList[r] ? this._axisList[r].refresh && this._axisList[r].refresh(i ? i[r] : !1, this.series) : i && i[r] && (this._axisList[r] = "category" === i[r].type ? new n(this.ecTheme, this.messageCenter, this.zr, i[r], this.myChart, this.axisBase) : new a(this.ecTheme, this.messageCenter, this.zr, i[r], this.myChart, this.axisBase, this.series))
  10330. },
  10331. getAxis: function(e) {
  10332. return this._axisList[e]
  10333. },
  10334. getAxisCount: function() {
  10335. return this._axisList.length
  10336. },
  10337. clear: function() {
  10338. for(var e = 0, t = this._axisList.length; t > e; e++) this._axisList[e].dispose && this._axisList[e].dispose();
  10339. this._axisList = []
  10340. }
  10341. }, r.inherits(t, i), e("../component").define("axis", t), t
  10342. }), i("echarts/component/grid", ["require", "./base", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "../component"], function(e) {
  10343. function t(e, t, n, a, o) {
  10344. i.call(this, e, t, n, a, o), this.refresh(a)
  10345. }
  10346. var i = e("./base"),
  10347. n = e("zrender/shape/Rectangle"),
  10348. a = e("../config");
  10349. a.grid = {
  10350. zlevel: 0,
  10351. z: 0,
  10352. x: 80,
  10353. y: 60,
  10354. x2: 80,
  10355. y2: 60,
  10356. backgroundColor: "rgba(0,0,0,0)",
  10357. borderWidth: 1,
  10358. borderColor: "#ccc"
  10359. };
  10360. var o = e("zrender/tool/util");
  10361. return t.prototype = {
  10362. type: a.COMPONENT_TYPE_GRID,
  10363. getX: function() {
  10364. return this._x
  10365. },
  10366. getY: function() {
  10367. return this._y
  10368. },
  10369. getWidth: function() {
  10370. return this._width
  10371. },
  10372. getHeight: function() {
  10373. return this._height
  10374. },
  10375. getXend: function() {
  10376. return this._x + this._width
  10377. },
  10378. getYend: function() {
  10379. return this._y + this._height
  10380. },
  10381. getArea: function() {
  10382. return {
  10383. x: this._x,
  10384. y: this._y,
  10385. width: this._width,
  10386. height: this._height
  10387. }
  10388. },
  10389. getBbox: function() {
  10390. return [
  10391. [this._x, this._y],
  10392. [this.getXend(), this.getYend()]
  10393. ]
  10394. },
  10395. refixAxisShape: function(e) {
  10396. for(var t, i, n, o = e.xAxis._axisList.concat(e.yAxis ? e.yAxis._axisList : []), r = o.length; r--;) n = o[r], n.type == a.COMPONENT_TYPE_AXIS_VALUE && n._min < 0 && n._max >= 0 && (n.isHorizontal() ? t = n.getCoord(0) : i = n.getCoord(0));
  10397. if("undefined" != typeof t || "undefined" != typeof i)
  10398. for(r = o.length; r--;) o[r].refixAxisShape(t, i)
  10399. },
  10400. refresh: function(e) {
  10401. if(e || this._zrWidth != this.zr.getWidth() || this._zrHeight != this.zr.getHeight()) {
  10402. this.clear(), this.option = e || this.option, this.option.grid = this.reformOption(this.option.grid);
  10403. var t = this.option.grid;
  10404. this._zrWidth = this.zr.getWidth(), this._zrHeight = this.zr.getHeight(), this._x = this.parsePercent(t.x, this._zrWidth), this._y = this.parsePercent(t.y, this._zrHeight);
  10405. var i = this.parsePercent(t.x2, this._zrWidth),
  10406. a = this.parsePercent(t.y2, this._zrHeight);
  10407. this._width = "undefined" == typeof t.width ? this._zrWidth - this._x - i : this.parsePercent(t.width, this._zrWidth), this._width = this._width <= 0 ? 10 : this._width, this._height = "undefined" == typeof t.height ? this._zrHeight - this._y - a : this.parsePercent(t.height, this._zrHeight), this._height = this._height <= 0 ? 10 : this._height, this._x = this.subPixelOptimize(this._x, t.borderWidth), this._y = this.subPixelOptimize(this._y, t.borderWidth), this.shapeList.push(new n({
  10408. zlevel: this.getZlevelBase(),
  10409. z: this.getZBase(),
  10410. hoverable: !1,
  10411. style: {
  10412. x: this._x,
  10413. y: this._y,
  10414. width: this._width,
  10415. height: this._height,
  10416. brushType: t.borderWidth > 0 ? "both" : "fill",
  10417. color: t.backgroundColor,
  10418. strokeColor: t.borderColor,
  10419. lineWidth: t.borderWidth
  10420. }
  10421. })), this.zr.addShape(this.shapeList[0])
  10422. }
  10423. }
  10424. }, o.inherits(t, i), e("../component").define("grid", t), t
  10425. }), i("echarts/component/dataZoom", ["require", "./base", "zrender/shape/Rectangle", "zrender/shape/Polygon", "../util/shape/Icon", "../config", "../util/date", "zrender/tool/util", "../component"], function(e) {
  10426. function t(e, t, n, a, o) {
  10427. i.call(this, e, t, n, a, o);
  10428. var r = this;
  10429. r._ondrift = function(e, t) {
  10430. return r.__ondrift(this, e, t)
  10431. }, r._ondragend = function() {
  10432. return r.__ondragend()
  10433. }, this._fillerSize = 30, this._isSilence = !1, this._zoom = {}, this.option.dataZoom = this.reformOption(this.option.dataZoom), this.zoomOption = this.option.dataZoom, this._handleSize = this.zoomOption.handleSize, this.myChart.canvasSupported || (this.zoomOption.realtime = !1), this._location = this._getLocation(), this._zoom = this._getZoom(), this._backupData(), this.option.dataZoom.show && this._buildShape(), this._syncData()
  10434. }
  10435. var i = e("./base"),
  10436. n = e("zrender/shape/Rectangle"),
  10437. a = e("zrender/shape/Polygon"),
  10438. o = e("../util/shape/Icon"),
  10439. r = e("../config");
  10440. r.dataZoom = {
  10441. zlevel: 0,
  10442. z: 4,
  10443. show: !1,
  10444. orient: "horizontal",
  10445. backgroundColor: "rgba(0,0,0,0)",
  10446. dataBackgroundColor: "#eee",
  10447. fillerColor: "rgba(144,197,237,0.2)",
  10448. handleColor: "rgba(70,130,180,0.8)",
  10449. handleSize: 8,
  10450. showDetail: !0,
  10451. realtime: !0
  10452. };
  10453. var s = e("../util/date"),
  10454. l = e("zrender/tool/util");
  10455. return t.prototype = {
  10456. type: r.COMPONENT_TYPE_DATAZOOM,
  10457. _buildShape: function() {
  10458. this._buildBackground(), this._buildFiller(), this._buildHandle(), this._buildFrame();
  10459. for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]);
  10460. this._syncFrameShape()
  10461. },
  10462. _getLocation: function() {
  10463. var e, t, i, n, a = this.component.grid;
  10464. return "horizontal" == this.zoomOption.orient ? (i = this.zoomOption.width || a.getWidth(), n = this.zoomOption.height || this._fillerSize, e = null != this.zoomOption.x ? this.zoomOption.x : a.getX(), t = null != this.zoomOption.y ? this.zoomOption.y : this.zr.getHeight() - n - 2) : (i = this.zoomOption.width || this._fillerSize, n = this.zoomOption.height || a.getHeight(), e = null != this.zoomOption.x ? this.zoomOption.x : 2, t = null != this.zoomOption.y ? this.zoomOption.y : a.getY()), {
  10465. x: e,
  10466. y: t,
  10467. width: i,
  10468. height: n
  10469. }
  10470. },
  10471. _getZoom: function() {
  10472. var e = this.option.series,
  10473. t = this.option.xAxis;
  10474. !t || t instanceof Array || (t = [t], this.option.xAxis = t);
  10475. var i = this.option.yAxis;
  10476. !i || i instanceof Array || (i = [i], this.option.yAxis = i);
  10477. var n, a, o = [],
  10478. s = this.zoomOption.xAxisIndex;
  10479. if(t && null == s) {
  10480. n = [];
  10481. for(var l = 0, h = t.length; h > l; l++)("category" == t[l].type || null == t[l].type) && n.push(l)
  10482. } else n = s instanceof Array ? s : null != s ? [s] : [];
  10483. if(s = this.zoomOption.yAxisIndex, i && null == s) {
  10484. a = [];
  10485. for(var l = 0, h = i.length; h > l; l++) "category" == i[l].type && a.push(l)
  10486. } else a = s instanceof Array ? s : null != s ? [s] : [];
  10487. for(var m, l = 0, h = e.length; h > l; l++)
  10488. if(m = e[l], m.type == r.CHART_TYPE_LINE || m.type == r.CHART_TYPE_BAR || m.type == r.CHART_TYPE_SCATTER || m.type == r.CHART_TYPE_K) {
  10489. for(var V = 0, U = n.length; U > V; V++)
  10490. if(n[V] == (m.xAxisIndex || 0)) {
  10491. o.push(l);
  10492. break
  10493. }
  10494. for(var V = 0, U = a.length; U > V; V++)
  10495. if(a[V] == (m.yAxisIndex || 0)) {
  10496. o.push(l);
  10497. break
  10498. }
  10499. null == this.zoomOption.xAxisIndex && null == this.zoomOption.yAxisIndex && m.data && this.getDataFromOption(m.data[0]) instanceof Array && (m.type == r.CHART_TYPE_SCATTER || m.type == r.CHART_TYPE_LINE || m.type == r.CHART_TYPE_BAR) && o.push(l)
  10500. }
  10501. var d = null != this._zoom.start ? this._zoom.start : null != this.zoomOption.start ? this.zoomOption.start : 0,
  10502. p = null != this._zoom.end ? this._zoom.end : null != this.zoomOption.end ? this.zoomOption.end : 100;
  10503. d > p && (d += p, p = d - p, d -= p);
  10504. var c = Math.round((p - d) / 100 * ("horizontal" == this.zoomOption.orient ? this._location.width : this._location.height));
  10505. return {
  10506. start: d,
  10507. end: p,
  10508. start2: 0,
  10509. end2: 100,
  10510. size: c,
  10511. xAxisIndex: n,
  10512. yAxisIndex: a,
  10513. seriesIndex: o,
  10514. scatterMap: this._zoom.scatterMap || {}
  10515. }
  10516. },
  10517. _backupData: function() {
  10518. this._originalData = {
  10519. xAxis: {},
  10520. yAxis: {},
  10521. series: {}
  10522. };
  10523. for(var e = this.option.xAxis, t = this._zoom.xAxisIndex, i = 0, n = t.length; n > i; i++) this._originalData.xAxis[t[i]] = e[t[i]].data;
  10524. for(var a = this.option.yAxis, o = this._zoom.yAxisIndex, i = 0, n = o.length; n > i; i++) this._originalData.yAxis[o[i]] = a[o[i]].data;
  10525. for(var s, l = this.option.series, h = this._zoom.seriesIndex, i = 0, n = h.length; n > i; i++) s = l[h[i]], this._originalData.series[h[i]] = s.data, s.data && this.getDataFromOption(s.data[0]) instanceof Array && (s.type == r.CHART_TYPE_SCATTER || s.type == r.CHART_TYPE_LINE || s.type == r.CHART_TYPE_BAR) && (this._backupScale(), this._calculScatterMap(h[i]))
  10526. },
  10527. _calculScatterMap: function(t) {
  10528. this._zoom.scatterMap = this._zoom.scatterMap || {}, this._zoom.scatterMap[t] = this._zoom.scatterMap[t] || {};
  10529. var i = e("../component"),
  10530. n = i.get("axis"),
  10531. a = l.clone(this.option.xAxis);
  10532. "category" == a[0].type && (a[0].type = "value"), a[1] && "category" == a[1].type && (a[1].type = "value");
  10533. var o = new n(this.ecTheme, null, !1, {
  10534. xAxis: a,
  10535. series: this.option.series
  10536. }, this, "xAxis"),
  10537. r = this.option.series[t].xAxisIndex || 0;
  10538. this._zoom.scatterMap[t].x = o.getAxis(r).getExtremum(), o.dispose(), a = l.clone(this.option.yAxis), "category" == a[0].type && (a[0].type = "value"), a[1] && "category" == a[1].type && (a[1].type = "value"), o = new n(this.ecTheme, null, !1, {
  10539. yAxis: a,
  10540. series: this.option.series
  10541. }, this, "yAxis"), r = this.option.series[t].yAxisIndex || 0, this._zoom.scatterMap[t].y = o.getAxis(r).getExtremum(), o.dispose()
  10542. },
  10543. _buildBackground: function() {
  10544. var e = this._location.width,
  10545. t = this._location.height;
  10546. this.shapeList.push(new n({
  10547. zlevel: this.getZlevelBase(),
  10548. z: this.getZBase(),
  10549. hoverable: !1,
  10550. style: {
  10551. x: this._location.x,
  10552. y: this._location.y,
  10553. width: e,
  10554. height: t,
  10555. color: this.zoomOption.backgroundColor
  10556. }
  10557. }));
  10558. for(var i = 0, o = this._originalData.xAxis, s = this._zoom.xAxisIndex, l = 0, h = s.length; h > l; l++) i = Math.max(i, o[s[l]].length);
  10559. for(var m = this._originalData.yAxis, V = this._zoom.yAxisIndex, l = 0, h = V.length; h > l; l++) i = Math.max(i, m[V[l]].length);
  10560. for(var U, d = this._zoom.seriesIndex[0], p = this._originalData.series[d], c = Number.MIN_VALUE, u = Number.MAX_VALUE, l = 0, h = p.length; h > l; l++) U = this.getDataFromOption(p[l], 0), this.option.series[d].type == r.CHART_TYPE_K && (U = U[1]), isNaN(U) && (U = 0), c = Math.max(c, U), u = Math.min(u, U);
  10561. var y = c - u,
  10562. g = [],
  10563. b = e / (i - (i > 1 ? 1 : 0)),
  10564. f = t / (i - (i > 1 ? 1 : 0)),
  10565. k = 1;
  10566. "horizontal" == this.zoomOption.orient && 1 > b ? k = Math.floor(3 * i / e) : "vertical" == this.zoomOption.orient && 1 > f && (k = Math.floor(3 * i / t));
  10567. for(var l = 0, h = i; h > l; l += k) U = this.getDataFromOption(p[l], 0), this.option.series[d].type == r.CHART_TYPE_K && (U = U[1]), isNaN(U) && (U = 0), g.push("horizontal" == this.zoomOption.orient ? [this._location.x + b * l, this._location.y + t - 1 - Math.round((U - u) / y * (t - 10))] : [this._location.x + 1 + Math.round((U - u) / y * (e - 10)), this._location.y + f * (h - l - 1)]);
  10568. "horizontal" == this.zoomOption.orient ? (g.push([this._location.x + e, this._location.y + t]), g.push([this._location.x, this._location.y + t])) : (g.push([this._location.x, this._location.y]), g.push([this._location.x, this._location.y + t])), this.shapeList.push(new a({
  10569. zlevel: this.getZlevelBase(),
  10570. z: this.getZBase(),
  10571. style: {
  10572. pointList: g,
  10573. color: this.zoomOption.dataBackgroundColor
  10574. },
  10575. hoverable: !1
  10576. }))
  10577. },
  10578. _buildFiller: function() {
  10579. this._fillerShae = {
  10580. zlevel: this.getZlevelBase(),
  10581. z: this.getZBase(),
  10582. draggable: !0,
  10583. ondrift: this._ondrift,
  10584. ondragend: this._ondragend,
  10585. _type: "filler"
  10586. }, this._fillerShae.style = "horizontal" == this.zoomOption.orient ? {
  10587. x: this._location.x + Math.round(this._zoom.start / 100 * this._location.width) + this._handleSize,
  10588. y: this._location.y,
  10589. width: this._zoom.size - 2 * this._handleSize,
  10590. height: this._location.height,
  10591. color: this.zoomOption.fillerColor,
  10592. text: ":::",
  10593. textPosition: "inside"
  10594. } : {
  10595. x: this._location.x,
  10596. y: this._location.y + Math.round(this._zoom.start / 100 * this._location.height) + this._handleSize,
  10597. width: this._location.width,
  10598. height: this._zoom.size - 2 * this._handleSize,
  10599. color: this.zoomOption.fillerColor,
  10600. text: "::",
  10601. textPosition: "inside"
  10602. }, this._fillerShae.highlightStyle = {
  10603. brushType: "fill",
  10604. color: "rgba(0,0,0,0)"
  10605. }, this._fillerShae = new n(this._fillerShae), this.shapeList.push(this._fillerShae)
  10606. },
  10607. _buildHandle: function() {
  10608. var e = this.zoomOption.showDetail ? this._getDetail() : {
  10609. start: "",
  10610. end: ""
  10611. };
  10612. this._startShape = {
  10613. zlevel: this.getZlevelBase(),
  10614. z: this.getZBase(),
  10615. draggable: !0,
  10616. style: {
  10617. iconType: "rectangle",
  10618. x: this._location.x,
  10619. y: this._location.y,
  10620. width: this._handleSize,
  10621. height: this._handleSize,
  10622. color: this.zoomOption.handleColor,
  10623. text: "=",
  10624. textPosition: "inside"
  10625. },
  10626. highlightStyle: {
  10627. text: e.start,
  10628. brushType: "fill",
  10629. textPosition: "left"
  10630. },
  10631. ondrift: this._ondrift,
  10632. ondragend: this._ondragend
  10633. }, "horizontal" == this.zoomOption.orient ? (this._startShape.style.height = this._location.height, this._endShape = l.clone(this._startShape), this._startShape.style.x = this._fillerShae.style.x - this._handleSize, this._endShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._endShape.highlightStyle.text = e.end, this._endShape.highlightStyle.textPosition = "right") : (this._startShape.style.width = this._location.width, this._endShape = l.clone(this._startShape), this._startShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._startShape.highlightStyle.textPosition = "bottom", this._endShape.style.y = this._fillerShae.style.y - this._handleSize, this._endShape.highlightStyle.text = e.end, this._endShape.highlightStyle.textPosition = "top"), this._startShape = new o(this._startShape), this._endShape = new o(this._endShape), this.shapeList.push(this._startShape), this.shapeList.push(this._endShape)
  10634. },
  10635. _buildFrame: function() {
  10636. var e = this.subPixelOptimize(this._location.x, 1),
  10637. t = this.subPixelOptimize(this._location.y, 1);
  10638. this._startFrameShape = {
  10639. zlevel: this.getZlevelBase(),
  10640. z: this.getZBase(),
  10641. hoverable: !1,
  10642. style: {
  10643. x: e,
  10644. y: t,
  10645. width: this._location.width - (e > this._location.x ? 1 : 0),
  10646. height: this._location.height - (t > this._location.y ? 1 : 0),
  10647. lineWidth: 1,
  10648. brushType: "stroke",
  10649. strokeColor: this.zoomOption.handleColor
  10650. }
  10651. }, this._endFrameShape = l.clone(this._startFrameShape), this._startFrameShape = new n(this._startFrameShape), this._endFrameShape = new n(this._endFrameShape), this.shapeList.push(this._startFrameShape), this.shapeList.push(this._endFrameShape)
  10652. },
  10653. _syncHandleShape: function() {
  10654. "horizontal" == this.zoomOption.orient ? (this._startShape.style.x = this._fillerShae.style.x - this._handleSize, this._endShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._zoom.start = (this._startShape.style.x - this._location.x) / this._location.width * 100, this._zoom.end = (this._endShape.style.x + this._handleSize - this._location.x) / this._location.width * 100) : (this._startShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._endShape.style.y = this._fillerShae.style.y - this._handleSize, this._zoom.start = (this._location.y + this._location.height - this._startShape.style.y) / this._location.height * 100, this._zoom.end = (this._location.y + this._location.height - this._endShape.style.y - this._handleSize) / this._location.height * 100), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this._syncFrameShape(), this.zr.refreshNextFrame()
  10655. },
  10656. _syncFillerShape: function() {
  10657. var e, t;
  10658. "horizontal" == this.zoomOption.orient ? (e = this._startShape.style.x, t = this._endShape.style.x, this._fillerShae.style.x = Math.min(e, t) + this._handleSize, this._fillerShae.style.width = Math.abs(e - t) - this._handleSize, this._zoom.start = (Math.min(e, t) - this._location.x) / this._location.width * 100, this._zoom.end = (Math.max(e, t) + this._handleSize - this._location.x) / this._location.width * 100) : (e = this._startShape.style.y, t = this._endShape.style.y, this._fillerShae.style.y = Math.min(e, t) + this._handleSize, this._fillerShae.style.height = Math.abs(e - t) - this._handleSize, this._zoom.start = (this._location.y + this._location.height - Math.max(e, t)) / this._location.height * 100, this._zoom.end = (this._location.y + this._location.height - Math.min(e, t) - this._handleSize) / this._location.height * 100), this.zr.modShape(this._fillerShae.id), this._syncFrameShape(), this.zr.refreshNextFrame()
  10659. },
  10660. _syncFrameShape: function() {
  10661. "horizontal" == this.zoomOption.orient ? (this._startFrameShape.style.width = this._fillerShae.style.x - this._location.x, this._endFrameShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._endFrameShape.style.width = this._location.x + this._location.width - this._endFrameShape.style.x) : (this._startFrameShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._startFrameShape.style.height = this._location.y + this._location.height - this._startFrameShape.style.y, this._endFrameShape.style.height = this._fillerShae.style.y - this._location.y), this.zr.modShape(this._startFrameShape.id), this.zr.modShape(this._endFrameShape.id)
  10662. },
  10663. _syncShape: function() {
  10664. this.zoomOption.show && ("horizontal" == this.zoomOption.orient ? (this._startShape.style.x = this._location.x + this._zoom.start / 100 * this._location.width, this._endShape.style.x = this._location.x + this._zoom.end / 100 * this._location.width - this._handleSize, this._fillerShae.style.x = this._startShape.style.x + this._handleSize, this._fillerShae.style.width = this._endShape.style.x - this._startShape.style.x - this._handleSize) : (this._startShape.style.y = this._location.y + this._location.height - this._zoom.start / 100 * this._location.height, this._endShape.style.y = this._location.y + this._location.height - this._zoom.end / 100 * this._location.height - this._handleSize, this._fillerShae.style.y = this._endShape.style.y + this._handleSize, this._fillerShae.style.height = this._startShape.style.y - this._endShape.style.y - this._handleSize), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.modShape(this._fillerShae.id), this._syncFrameShape(), this.zr.refresh())
  10665. },
  10666. _syncData: function(e) {
  10667. var t, i, n, a, o;
  10668. for(var s in this._originalData) {
  10669. t = this._originalData[s];
  10670. for(var l in t) o = t[l], null != o && (a = o.length, i = Math.floor(this._zoom.start / 100 * a), n = Math.ceil(this._zoom.end / 100 * a), this.getDataFromOption(o[0]) instanceof Array && this.option[s][l].type != r.CHART_TYPE_K ? (this._setScale(), this.option[s][l].data = this._synScatterData(l, o)) : this.option[s][l].data = o.slice(i, n))
  10671. }
  10672. this._isSilence || !this.zoomOption.realtime && !e || this.messageCenter.dispatch(r.EVENT.DATA_ZOOM, null, {
  10673. zoom: this._zoom
  10674. }, this.myChart)
  10675. },
  10676. _synScatterData: function(e, t) {
  10677. if(0 === this._zoom.start && 100 == this._zoom.end && 0 === this._zoom.start2 && 100 == this._zoom.end2) return t;
  10678. var i, n, a, o, r, s = [],
  10679. l = this._zoom.scatterMap[e];
  10680. "horizontal" == this.zoomOption.orient ? (i = l.x.max - l.x.min, n = this._zoom.start / 100 * i + l.x.min, a = this._zoom.end / 100 * i + l.x.min, i = l.y.max - l.y.min, o = this._zoom.start2 / 100 * i + l.y.min, r = this._zoom.end2 / 100 * i + l.y.min) : (i = l.x.max - l.x.min, n = this._zoom.start2 / 100 * i + l.x.min, a = this._zoom.end2 / 100 * i + l.x.min, i = l.y.max - l.y.min, o = this._zoom.start / 100 * i + l.y.min, r = this._zoom.end / 100 * i + l.y.min);
  10681. var h;
  10682. (h = l.x.dataMappingMethods) && (n = h.coord2Value(n), a = h.coord2Value(a)), (h = l.y.dataMappingMethods) && (o = h.coord2Value(o), r = h.coord2Value(r));
  10683. for(var m, V = 0, U = t.length; U > V; V++) m = t[V].value || t[V], m[0] >= n && m[0] <= a && m[1] >= o && m[1] <= r && s.push(t[V]);
  10684. return s
  10685. },
  10686. _setScale: function() {
  10687. var e = 0 !== this._zoom.start || 100 !== this._zoom.end || 0 !== this._zoom.start2 || 100 !== this._zoom.end2,
  10688. t = {
  10689. xAxis: this.option.xAxis,
  10690. yAxis: this.option.yAxis
  10691. };
  10692. for(var i in t)
  10693. for(var n = 0, a = t[i].length; a > n; n++) t[i][n].scale = e || t[i][n]._scale
  10694. },
  10695. _backupScale: function() {
  10696. var e = {
  10697. xAxis: this.option.xAxis,
  10698. yAxis: this.option.yAxis
  10699. };
  10700. for(var t in e)
  10701. for(var i = 0, n = e[t].length; n > i; i++) e[t][i]._scale = e[t][i].scale
  10702. },
  10703. _getDetail: function() {
  10704. for(var e = ["xAxis", "yAxis"], t = 0, i = e.length; i > t; t++) {
  10705. var n = this._originalData[e[t]];
  10706. for(var a in n) {
  10707. var o = n[a];
  10708. if(null != o) {
  10709. var r = o.length,
  10710. l = Math.floor(this._zoom.start / 100 * r),
  10711. h = Math.ceil(this._zoom.end / 100 * r);
  10712. return h -= h > 0 ? 1 : 0, {
  10713. start: this.getDataFromOption(o[l]),
  10714. end: this.getDataFromOption(o[h])
  10715. }
  10716. }
  10717. }
  10718. }
  10719. e = "horizontal" == this.zoomOption.orient ? "xAxis" : "yAxis";
  10720. var m = this._zoom.seriesIndex[0],
  10721. V = this.option.series[m][e + "Index"] || 0,
  10722. U = this.option[e][V].type,
  10723. d = this._zoom.scatterMap[m][e.charAt(0)].min,
  10724. p = this._zoom.scatterMap[m][e.charAt(0)].max,
  10725. c = p - d;
  10726. if("value" == U) return {
  10727. start: d + c * this._zoom.start / 100,
  10728. end: d + c * this._zoom.end / 100
  10729. };
  10730. if("time" == U) {
  10731. p = d + c * this._zoom.end / 100, d += c * this._zoom.start / 100;
  10732. var u = s.getAutoFormatter(d, p).formatter;
  10733. return {
  10734. start: s.format(u, d),
  10735. end: s.format(u, p)
  10736. }
  10737. }
  10738. return {
  10739. start: "",
  10740. end: ""
  10741. }
  10742. },
  10743. __ondrift: function(e, t, i) {
  10744. this.zoomOption.zoomLock && (e = this._fillerShae);
  10745. var n = "filler" == e._type ? this._handleSize : 0;
  10746. if("horizontal" == this.zoomOption.orient ? e.style.x + t - n <= this._location.x ? e.style.x = this._location.x + n : e.style.x + t + e.style.width + n >= this._location.x + this._location.width ? e.style.x = this._location.x + this._location.width - e.style.width - n : e.style.x += t : e.style.y + i - n <= this._location.y ? e.style.y = this._location.y + n : e.style.y + i + e.style.height + n >= this._location.y + this._location.height ? e.style.y = this._location.y + this._location.height - e.style.height - n : e.style.y += i, "filler" == e._type ? this._syncHandleShape() : this._syncFillerShape(), this.zoomOption.realtime && this._syncData(), this.zoomOption.showDetail) {
  10747. var a = this._getDetail();
  10748. this._startShape.style.text = this._startShape.highlightStyle.text = a.start, this._endShape.style.text = this._endShape.highlightStyle.text = a.end, this._startShape.style.textPosition = this._startShape.highlightStyle.textPosition, this._endShape.style.textPosition = this._endShape.highlightStyle.textPosition
  10749. }
  10750. return !0
  10751. },
  10752. __ondragend: function() {
  10753. this.zoomOption.showDetail && (this._startShape.style.text = this._endShape.style.text = "=", this._startShape.style.textPosition = this._endShape.style.textPosition = "inside", this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.refreshNextFrame()), this.isDragend = !0
  10754. },
  10755. ondragend: function(e, t) {
  10756. this.isDragend && e.target && (!this.zoomOption.realtime && this._syncData(), t.dragOut = !0, t.dragIn = !0, this._isSilence || this.zoomOption.realtime || this.messageCenter.dispatch(r.EVENT.DATA_ZOOM, null, {
  10757. zoom: this._zoom
  10758. }, this.myChart), t.needRefresh = !1, this.isDragend = !1)
  10759. },
  10760. ondataZoom: function(e, t) {
  10761. t.needRefresh = !0
  10762. },
  10763. absoluteZoom: function(e) {
  10764. this._zoom.start = e.start, this._zoom.end = e.end, this._zoom.start2 = e.start2, this._zoom.end2 = e.end2, this._syncShape(), this._syncData(!0)
  10765. },
  10766. rectZoom: function(e) {
  10767. if(!e) return this._zoom.start = this._zoom.start2 = 0, this._zoom.end = this._zoom.end2 = 100, this._syncShape(), this._syncData(!0), this._zoom;
  10768. var t = this.component.grid.getArea(),
  10769. i = {
  10770. x: e.x,
  10771. y: e.y,
  10772. width: e.width,
  10773. height: e.height
  10774. };
  10775. if(i.width < 0 && (i.x += i.width, i.width = -i.width), i.height < 0 && (i.y += i.height, i.height = -i.height), i.x > t.x + t.width || i.y > t.y + t.height) return !1;
  10776. i.x < t.x && (i.x = t.x), i.x + i.width > t.x + t.width && (i.width = t.x + t.width - i.x), i.y + i.height > t.y + t.height && (i.height = t.y + t.height - i.y);
  10777. var n, a = (i.x - t.x) / t.width,
  10778. o = 1 - (i.x + i.width - t.x) / t.width,
  10779. r = 1 - (i.y + i.height - t.y) / t.height,
  10780. s = (i.y - t.y) / t.height;
  10781. return "horizontal" == this.zoomOption.orient ? (n = this._zoom.end - this._zoom.start, this._zoom.start += n * a, this._zoom.end -= n * o, n = this._zoom.end2 - this._zoom.start2, this._zoom.start2 += n * r, this._zoom.end2 -= n * s) : (n = this._zoom.end - this._zoom.start, this._zoom.start += n * r, this._zoom.end -= n * s, n = this._zoom.end2 - this._zoom.start2, this._zoom.start2 += n * a, this._zoom.end2 -= n * o), this._syncShape(), this._syncData(!0), this._zoom
  10782. },
  10783. syncBackupData: function(e) {
  10784. for(var t, i, n = this._originalData.series, a = e.series, o = 0, r = a.length; r > o; o++) {
  10785. i = a[o].data || a[o].eventList, t = n[o] ? Math.floor(this._zoom.start / 100 * n[o].length) : 0;
  10786. for(var s = 0, l = i.length; l > s; s++) n[o] && (n[o][s + t] = i[s])
  10787. }
  10788. },
  10789. syncOption: function(e) {
  10790. this.silence(!0), this.option = e, this.option.dataZoom = this.reformOption(this.option.dataZoom), this.zoomOption = this.option.dataZoom, this.myChart.canvasSupported || (this.zoomOption.realtime = !1), this.clear(), this._location = this._getLocation(), this._zoom = this._getZoom(), this._backupData(), this.option.dataZoom && this.option.dataZoom.show && this._buildShape(), this._syncData(), this.silence(!1)
  10791. },
  10792. silence: function(e) {
  10793. this._isSilence = e
  10794. },
  10795. getRealDataIndex: function(e, t) {
  10796. if(!this._originalData || 0 === this._zoom.start && 100 == this._zoom.end) return t;
  10797. var i = this._originalData.series;
  10798. return i[e] ? Math.floor(this._zoom.start / 100 * i[e].length) + t : -1
  10799. },
  10800. resize: function() {
  10801. this.clear(), this._location = this._getLocation(), this._zoom = this._getZoom(), this.option.dataZoom.show && this._buildShape()
  10802. }
  10803. }, l.inherits(t, i), e("../component").define("dataZoom", t), t
  10804. }), i("echarts/component/categoryAxis", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "zrender/tool/area", "../component"], function(e) {
  10805. function t(e, t, n, a, o, r) {
  10806. if(a.data.length < 1) return void console.error("option.data.length < 1.");
  10807. i.call(this, e, t, n, a, o), this.grid = this.component.grid;
  10808. for(var s in r) this[s] = r[s];
  10809. this.refresh(a)
  10810. }
  10811. var i = e("./base"),
  10812. n = e("zrender/shape/Text"),
  10813. a = e("zrender/shape/Line"),
  10814. o = e("zrender/shape/Rectangle"),
  10815. r = e("../config");
  10816. r.categoryAxis = {
  10817. zlevel: 0,
  10818. z: 0,
  10819. show: !0,
  10820. position: "bottom",
  10821. name: "",
  10822. nameLocation: "end",
  10823. nameTextStyle: {},
  10824. boundaryGap: !0,
  10825. axisLine: {
  10826. show: !0,
  10827. onZero: !0,
  10828. lineStyle: {
  10829. color: "#48b",
  10830. width: 2,
  10831. type: "solid"
  10832. }
  10833. },
  10834. axisTick: {
  10835. show: !0,
  10836. interval: "auto",
  10837. inside: !1,
  10838. length: 5,
  10839. lineStyle: {
  10840. color: "#333",
  10841. width: 1
  10842. }
  10843. },
  10844. axisLabel: {
  10845. show: !0,
  10846. interval: "auto",
  10847. rotate: 0,
  10848. margin: 8,
  10849. textStyle: {
  10850. color: "#333"
  10851. }
  10852. },
  10853. splitLine: {
  10854. show: !0,
  10855. lineStyle: {
  10856. color: ["#ccc"],
  10857. width: 1,
  10858. type: "solid"
  10859. }
  10860. },
  10861. splitArea: {
  10862. show: !1,
  10863. areaStyle: {
  10864. color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]
  10865. }
  10866. }
  10867. };
  10868. var s = e("zrender/tool/util"),
  10869. l = e("zrender/tool/area");
  10870. return t.prototype = {
  10871. type: r.COMPONENT_TYPE_AXIS_CATEGORY,
  10872. _getReformedLabel: function(e) {
  10873. var t = this.getDataFromOption(this.option.data[e]),
  10874. i = this.option.data[e].formatter || this.option.axisLabel.formatter;
  10875. return i && ("function" == typeof i ? t = i.call(this.myChart, t) : "string" == typeof i && (t = i.replace("{value}", t))), t
  10876. },
  10877. _getInterval: function() {
  10878. var e = this.option.axisLabel.interval;
  10879. if("auto" == e) {
  10880. var t = this.option.axisLabel.textStyle.fontSize,
  10881. i = this.option.data,
  10882. n = this.option.data.length;
  10883. if(this.isHorizontal())
  10884. if(n > 3) {
  10885. var a, o, r = this.getGap(),
  10886. h = !1,
  10887. m = Math.floor(.5 / r);
  10888. for(m = 1 > m ? 1 : m, e = Math.floor(15 / r); !h && n > e;) {
  10889. e += m, h = !0, a = Math.floor(r * e);
  10890. for(var V = Math.floor((n - 1) / e) * e; V >= 0; V -= e) {
  10891. if(0 !== this.option.axisLabel.rotate) o = t;
  10892. else if(i[V].textStyle) o = l.getTextWidth(this._getReformedLabel(V), this.getFont(s.merge(i[V].textStyle, this.option.axisLabel.textStyle)));
  10893. else {
  10894. var U = this._getReformedLabel(V) + "",
  10895. d = (U.match(/\w/g) || "").length,
  10896. p = U.length - d;
  10897. o = d * t * 2 / 3 + p * t
  10898. }
  10899. if(o > a) {
  10900. h = !1;
  10901. break
  10902. }
  10903. }
  10904. }
  10905. } else e = 1;
  10906. else if(n > 3) {
  10907. var r = this.getGap();
  10908. for(e = Math.floor(11 / r); t > r * e - 6 && n > e;) e++
  10909. } else e = 1
  10910. } else e = "function" == typeof e ? 1 : e - 0 + 1;
  10911. return e
  10912. },
  10913. _buildShape: function() {
  10914. if(this._interval = this._getInterval(), this.option.show) {
  10915. this.option.splitArea.show && this._buildSplitArea(), this.option.splitLine.show && this._buildSplitLine(), this.option.axisLine.show && this._buildAxisLine(), this.option.axisTick.show && this._buildAxisTick(), this.option.axisLabel.show && this._buildAxisLabel();
  10916. for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  10917. }
  10918. },
  10919. _buildAxisTick: function() {
  10920. var e, t = this.option.data,
  10921. i = this.option.data.length,
  10922. n = this.option.axisTick,
  10923. o = n.length,
  10924. r = n.lineStyle.color,
  10925. s = n.lineStyle.width,
  10926. l = "function" == typeof n.interval ? n.interval : "auto" == n.interval && "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
  10927. h = l ? 1 : "auto" == n.interval ? this._interval : n.interval - 0 + 1,
  10928. m = n.onGap,
  10929. V = m ? this.getGap() / 2 : "undefined" == typeof m && this.option.boundaryGap ? this.getGap() / 2 : 0,
  10930. U = V > 0 ? -h : 0;
  10931. if(this.isHorizontal())
  10932. for(var d, p = "bottom" == this.option.position ? n.inside ? this.grid.getYend() - o - 1 : this.grid.getYend() + 1 : n.inside ? this.grid.getY() + 1 : this.grid.getY() - o - 1, c = U; i > c; c += h)(!l || l(c, t[c])) && (d = this.subPixelOptimize(this.getCoordByIndex(c) + (c >= 0 ? V : 0), s), e = {
  10933. _axisShape: "axisTick",
  10934. zlevel: this.getZlevelBase(),
  10935. z: this.getZBase(),
  10936. hoverable: !1,
  10937. style: {
  10938. xStart: d,
  10939. yStart: p,
  10940. xEnd: d,
  10941. yEnd: p + o,
  10942. strokeColor: r,
  10943. lineWidth: s
  10944. }
  10945. }, this.shapeList.push(new a(e)));
  10946. else
  10947. for(var u, y = "left" == this.option.position ? n.inside ? this.grid.getX() + 1 : this.grid.getX() - o - 1 : n.inside ? this.grid.getXend() - o - 1 : this.grid.getXend() + 1, c = U; i > c; c += h)(!l || l(c, t[c])) && (u = this.subPixelOptimize(this.getCoordByIndex(c) - (c >= 0 ? V : 0), s), e = {
  10948. _axisShape: "axisTick",
  10949. zlevel: this.getZlevelBase(),
  10950. z: this.getZBase(),
  10951. hoverable: !1,
  10952. style: {
  10953. xStart: y,
  10954. yStart: u,
  10955. xEnd: y + o,
  10956. yEnd: u,
  10957. strokeColor: r,
  10958. lineWidth: s
  10959. }
  10960. }, this.shapeList.push(new a(e)))
  10961. },
  10962. _buildAxisLabel: function() {
  10963. var e, t, i = this.option.data,
  10964. a = this.option.data.length,
  10965. o = this.option.axisLabel,
  10966. r = o.rotate,
  10967. l = o.margin,
  10968. h = o.clickable,
  10969. m = o.textStyle,
  10970. V = "function" == typeof o.interval ? o.interval : !1;
  10971. if(this.isHorizontal()) {
  10972. var U, d;
  10973. "bottom" == this.option.position ? (U = this.grid.getYend() + l, d = "top") : (U = this.grid.getY() - l, d = "bottom");
  10974. for(var p = 0; a > p; p += this._interval) V && !V(p, i[p]) || "" === this._getReformedLabel(p) || (t = s.merge(i[p].textStyle || {}, m), e = {
  10975. zlevel: this.getZlevelBase(),
  10976. z: this.getZBase() + 3,
  10977. hoverable: !1,
  10978. style: {
  10979. x: this.getCoordByIndex(p),
  10980. y: U,
  10981. color: t.color,
  10982. text: this._getReformedLabel(p),
  10983. textFont: this.getFont(t),
  10984. textAlign: t.align || "center",
  10985. textBaseline: t.baseline || d
  10986. }
  10987. }, r && (e.style.textAlign = r > 0 ? "bottom" == this.option.position ? "right" : "left" : "bottom" == this.option.position ? "left" : "right", e.rotation = [r * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(h, e))))
  10988. } else {
  10989. var c, u;
  10990. "left" == this.option.position ? (c = this.grid.getX() - l, u = "right") : (c = this.grid.getXend() + l, u = "left");
  10991. for(var p = 0; a > p; p += this._interval) V && !V(p, i[p]) || "" === this._getReformedLabel(p) || (t = s.merge(i[p].textStyle || {}, m), e = {
  10992. zlevel: this.getZlevelBase(),
  10993. z: this.getZBase() + 3,
  10994. hoverable: !1,
  10995. style: {
  10996. x: c,
  10997. y: this.getCoordByIndex(p),
  10998. color: t.color,
  10999. text: this._getReformedLabel(p),
  11000. textFont: this.getFont(t),
  11001. textAlign: t.align || u,
  11002. textBaseline: t.baseline || 0 === p && "" !== this.option.name ? "bottom" : p == a - 1 && "" !== this.option.name ? "top" : "middle"
  11003. }
  11004. }, r && (e.rotation = [r * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(h, e))))
  11005. }
  11006. },
  11007. _buildSplitLine: function() {
  11008. var e, t = this.option.data,
  11009. i = this.option.data.length,
  11010. n = this.option.splitLine,
  11011. o = n.lineStyle.type,
  11012. r = n.lineStyle.width,
  11013. s = n.lineStyle.color;
  11014. s = s instanceof Array ? s : [s];
  11015. var l = s.length,
  11016. h = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
  11017. m = n.onGap,
  11018. V = m ? this.getGap() / 2 : "undefined" == typeof m && this.option.boundaryGap ? this.getGap() / 2 : 0;
  11019. if(i -= m || "undefined" == typeof m && this.option.boundaryGap ? 1 : 0, this.isHorizontal())
  11020. for(var U, d = this.grid.getY(), p = this.grid.getYend(), c = 0; i > c; c += this._interval)(!h || h(c, t[c])) && (U = this.subPixelOptimize(this.getCoordByIndex(c) + V, r), e = {
  11021. zlevel: this.getZlevelBase(),
  11022. z: this.getZBase(),
  11023. hoverable: !1,
  11024. style: {
  11025. xStart: U,
  11026. yStart: d,
  11027. xEnd: U,
  11028. yEnd: p,
  11029. strokeColor: s[c / this._interval % l],
  11030. lineType: o,
  11031. lineWidth: r
  11032. }
  11033. }, this.shapeList.push(new a(e)));
  11034. else
  11035. for(var u, y = this.grid.getX(), g = this.grid.getXend(), c = 0; i > c; c += this._interval)(!h || h(c, t[c])) && (u = this.subPixelOptimize(this.getCoordByIndex(c) - V, r), e = {
  11036. zlevel: this.getZlevelBase(),
  11037. z: this.getZBase(),
  11038. hoverable: !1,
  11039. style: {
  11040. xStart: y,
  11041. yStart: u,
  11042. xEnd: g,
  11043. yEnd: u,
  11044. strokeColor: s[c / this._interval % l],
  11045. lineType: o,
  11046. lineWidth: r
  11047. }
  11048. }, this.shapeList.push(new a(e)))
  11049. },
  11050. _buildSplitArea: function() {
  11051. var e, t = this.option.data,
  11052. i = this.option.splitArea,
  11053. n = i.areaStyle.color;
  11054. if(n instanceof Array) {
  11055. var a = n.length,
  11056. r = this.option.data.length,
  11057. s = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
  11058. l = i.onGap,
  11059. h = l ? this.getGap() / 2 : "undefined" == typeof l && this.option.boundaryGap ? this.getGap() / 2 : 0;
  11060. if(this.isHorizontal())
  11061. for(var m, V = this.grid.getY(), U = this.grid.getHeight(), d = this.grid.getX(), p = 0; r >= p; p += this._interval) s && !s(p, t[p]) && r > p || (m = r > p ? this.getCoordByIndex(p) + h : this.grid.getXend(), e = {
  11062. zlevel: this.getZlevelBase(),
  11063. z: this.getZBase(),
  11064. hoverable: !1,
  11065. style: {
  11066. x: d,
  11067. y: V,
  11068. width: m - d,
  11069. height: U,
  11070. color: n[p / this._interval % a]
  11071. }
  11072. }, this.shapeList.push(new o(e)), d = m);
  11073. else
  11074. for(var c, u = this.grid.getX(), y = this.grid.getWidth(), g = this.grid.getYend(), p = 0; r >= p; p += this._interval) s && !s(p, t[p]) && r > p || (c = r > p ? this.getCoordByIndex(p) - h : this.grid.getY(), e = {
  11075. zlevel: this.getZlevelBase(),
  11076. z: this.getZBase(),
  11077. hoverable: !1,
  11078. style: {
  11079. x: u,
  11080. y: c,
  11081. width: y,
  11082. height: g - c,
  11083. color: n[p / this._interval % a]
  11084. }
  11085. }, this.shapeList.push(new o(e)), g = c)
  11086. } else e = {
  11087. zlevel: this.getZlevelBase(),
  11088. z: this.getZBase(),
  11089. hoverable: !1,
  11090. style: {
  11091. x: this.grid.getX(),
  11092. y: this.grid.getY(),
  11093. width: this.grid.getWidth(),
  11094. height: this.grid.getHeight(),
  11095. color: n
  11096. }
  11097. }, this.shapeList.push(new o(e))
  11098. },
  11099. refresh: function(e) {
  11100. e && (this.option = this.reformOption(e), this.option.axisLabel.textStyle = this.getTextStyle(this.option.axisLabel.textStyle)), this.clear(), this._buildShape()
  11101. },
  11102. getGap: function() {
  11103. var e = this.option.data.length,
  11104. t = this.isHorizontal() ? this.grid.getWidth() : this.grid.getHeight();
  11105. return this.option.boundaryGap ? t / e : t / (e > 1 ? e - 1 : 1)
  11106. },
  11107. getCoord: function(e) {
  11108. for(var t = this.option.data, i = t.length, n = this.getGap(), a = this.option.boundaryGap ? n / 2 : 0, o = 0; i > o; o++) {
  11109. if(this.getDataFromOption(t[o]) == e) return a = this.isHorizontal() ? this.grid.getX() + a : this.grid.getYend() - a;
  11110. a += n
  11111. }
  11112. },
  11113. getCoordByIndex: function(e) {
  11114. if(0 > e) return this.isHorizontal() ? this.grid.getX() : this.grid.getYend();
  11115. if(e > this.option.data.length - 1) return this.isHorizontal() ? this.grid.getXend() : this.grid.getY();
  11116. var t = this.getGap(),
  11117. i = this.option.boundaryGap ? t / 2 : 0;
  11118. return i += e * t, i = this.isHorizontal() ? this.grid.getX() + i : this.grid.getYend() - i
  11119. },
  11120. getNameByIndex: function(e) {
  11121. return this.getDataFromOption(this.option.data[e])
  11122. },
  11123. getIndexByName: function(e) {
  11124. for(var t = this.option.data, i = t.length, n = 0; i > n; n++)
  11125. if(this.getDataFromOption(t[n]) == e) return n;
  11126. return -1
  11127. },
  11128. getValueFromCoord: function() {
  11129. return ""
  11130. },
  11131. isMainAxis: function(e) {
  11132. return e % this._interval === 0
  11133. }
  11134. }, s.inherits(t, i), e("../component").define("categoryAxis", t), t
  11135. }), i("echarts/component/valueAxis", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "../util/date", "zrender/tool/util", "../util/smartSteps", "../util/accMath", "../util/smartLogSteps", "../component"], function(e) {
  11136. function t(e, t, n, a, o, r, s) {
  11137. if(!s || 0 === s.length) return void console.err("option.series.length == 0.");
  11138. i.call(this, e, t, n, a, o), this.series = s, this.grid = this.component.grid;
  11139. for(var l in r) this[l] = r[l];
  11140. this.refresh(a, s)
  11141. }
  11142. var i = e("./base"),
  11143. n = e("zrender/shape/Text"),
  11144. a = e("zrender/shape/Line"),
  11145. o = e("zrender/shape/Rectangle"),
  11146. r = e("../config");
  11147. r.valueAxis = {
  11148. zlevel: 0,
  11149. z: 0,
  11150. show: !0,
  11151. position: "left",
  11152. name: "",
  11153. nameLocation: "end",
  11154. nameTextStyle: {},
  11155. boundaryGap: [0, 0],
  11156. axisLine: {
  11157. show: !0,
  11158. onZero: !0,
  11159. lineStyle: {
  11160. color: "#48b",
  11161. width: 2,
  11162. type: "solid"
  11163. }
  11164. },
  11165. axisTick: {
  11166. show: !1,
  11167. inside: !1,
  11168. length: 5,
  11169. lineStyle: {
  11170. color: "#333",
  11171. width: 1
  11172. }
  11173. },
  11174. axisLabel: {
  11175. show: !0,
  11176. rotate: 0,
  11177. margin: 8,
  11178. textStyle: {
  11179. color: "#333"
  11180. }
  11181. },
  11182. splitLine: {
  11183. show: !0,
  11184. lineStyle: {
  11185. color: ["#ccc"],
  11186. width: 1,
  11187. type: "solid"
  11188. }
  11189. },
  11190. splitArea: {
  11191. show: !1,
  11192. areaStyle: {
  11193. color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]
  11194. }
  11195. }
  11196. };
  11197. var s = e("../util/date"),
  11198. l = e("zrender/tool/util");
  11199. return t.prototype = {
  11200. type: r.COMPONENT_TYPE_AXIS_VALUE,
  11201. _buildShape: function() {
  11202. if(this._hasData = !1, this._calculateValue(), this._hasData && this.option.show) {
  11203. this.option.splitArea.show && this._buildSplitArea(), this.option.splitLine.show && this._buildSplitLine(), this.option.axisLine.show && this._buildAxisLine(), this.option.axisTick.show && this._buildAxisTick(), this.option.axisLabel.show && this._buildAxisLabel();
  11204. for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  11205. }
  11206. },
  11207. _buildAxisTick: function() {
  11208. var e, t = this._valueList,
  11209. i = this._valueList.length,
  11210. n = this.option.axisTick,
  11211. o = n.length,
  11212. r = n.lineStyle.color,
  11213. s = n.lineStyle.width;
  11214. if(this.isHorizontal())
  11215. for(var l, h = "bottom" === this.option.position ? n.inside ? this.grid.getYend() - o - 1 : this.grid.getYend() + 1 : n.inside ? this.grid.getY() + 1 : this.grid.getY() - o - 1, m = 0; i > m; m++) l = this.subPixelOptimize(this.getCoord(t[m]), s), e = {
  11216. _axisShape: "axisTick",
  11217. zlevel: this.getZlevelBase(),
  11218. z: this.getZBase(),
  11219. hoverable: !1,
  11220. style: {
  11221. xStart: l,
  11222. yStart: h,
  11223. xEnd: l,
  11224. yEnd: h + o,
  11225. strokeColor: r,
  11226. lineWidth: s
  11227. }
  11228. }, this.shapeList.push(new a(e));
  11229. else
  11230. for(var V, U = "left" === this.option.position ? n.inside ? this.grid.getX() + 1 : this.grid.getX() - o - 1 : n.inside ? this.grid.getXend() - o - 1 : this.grid.getXend() + 1, m = 0; i > m; m++) V = this.subPixelOptimize(this.getCoord(t[m]), s), e = {
  11231. _axisShape: "axisTick",
  11232. zlevel: this.getZlevelBase(),
  11233. z: this.getZBase(),
  11234. hoverable: !1,
  11235. style: {
  11236. xStart: U,
  11237. yStart: V,
  11238. xEnd: U + o,
  11239. yEnd: V,
  11240. strokeColor: r,
  11241. lineWidth: s
  11242. }
  11243. }, this.shapeList.push(new a(e))
  11244. },
  11245. _buildAxisLabel: function() {
  11246. var e, t = this._valueList,
  11247. i = this._valueList.length,
  11248. a = this.option.axisLabel.rotate,
  11249. o = this.option.axisLabel.margin,
  11250. r = this.option.axisLabel.clickable,
  11251. s = this.option.axisLabel.textStyle;
  11252. if(this.isHorizontal()) {
  11253. var l, h;
  11254. "bottom" === this.option.position ? (l = this.grid.getYend() + o, h = "top") : (l = this.grid.getY() - o, h = "bottom");
  11255. for(var m = 0; i > m; m++) e = {
  11256. zlevel: this.getZlevelBase(),
  11257. z: this.getZBase() + 3,
  11258. hoverable: !1,
  11259. style: {
  11260. x: this.getCoord(t[m]),
  11261. y: l,
  11262. color: "function" == typeof s.color ? s.color(t[m]) : s.color,
  11263. text: this._valueLabel[m],
  11264. textFont: this.getFont(s),
  11265. textAlign: s.align || "center",
  11266. textBaseline: s.baseline || h
  11267. }
  11268. }, a && (e.style.textAlign = a > 0 ? "bottom" === this.option.position ? "right" : "left" : "bottom" === this.option.position ? "left" : "right", e.rotation = [a * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(r, e)))
  11269. } else {
  11270. var V, U;
  11271. "left" === this.option.position ? (V = this.grid.getX() - o, U = "right") : (V = this.grid.getXend() + o, U = "left");
  11272. for(var m = 0; i > m; m++) e = {
  11273. zlevel: this.getZlevelBase(),
  11274. z: this.getZBase() + 3,
  11275. hoverable: !1,
  11276. style: {
  11277. x: V,
  11278. y: this.getCoord(t[m]),
  11279. color: "function" == typeof s.color ? s.color(t[m]) : s.color,
  11280. text: this._valueLabel[m],
  11281. textFont: this.getFont(s),
  11282. textAlign: s.align || U,
  11283. textBaseline: s.baseline || (0 === m && "" !== this.option.name ? "bottom" : m === i - 1 && "" !== this.option.name ? "top" : "middle")
  11284. }
  11285. }, a && (e.rotation = [a * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(r, e)))
  11286. }
  11287. },
  11288. _buildSplitLine: function() {
  11289. var e, t = this._valueList,
  11290. i = this._valueList.length,
  11291. n = this.option.splitLine,
  11292. o = n.lineStyle.type,
  11293. r = n.lineStyle.width,
  11294. s = n.lineStyle.color;
  11295. s = s instanceof Array ? s : [s];
  11296. var l = s.length;
  11297. if(this.isHorizontal())
  11298. for(var h, m = this.grid.getY(), V = this.grid.getYend(), U = 0; i > U; U++) h = this.subPixelOptimize(this.getCoord(t[U]), r), e = {
  11299. zlevel: this.getZlevelBase(),
  11300. z: this.getZBase(),
  11301. hoverable: !1,
  11302. style: {
  11303. xStart: h,
  11304. yStart: m,
  11305. xEnd: h,
  11306. yEnd: V,
  11307. strokeColor: s[U % l],
  11308. lineType: o,
  11309. lineWidth: r
  11310. }
  11311. }, this.shapeList.push(new a(e));
  11312. else
  11313. for(var d, p = this.grid.getX(), c = this.grid.getXend(), U = 0; i > U; U++) d = this.subPixelOptimize(this.getCoord(t[U]), r), e = {
  11314. zlevel: this.getZlevelBase(),
  11315. z: this.getZBase(),
  11316. hoverable: !1,
  11317. style: {
  11318. xStart: p,
  11319. yStart: d,
  11320. xEnd: c,
  11321. yEnd: d,
  11322. strokeColor: s[U % l],
  11323. lineType: o,
  11324. lineWidth: r
  11325. }
  11326. }, this.shapeList.push(new a(e))
  11327. },
  11328. _buildSplitArea: function() {
  11329. var e, t = this.option.splitArea.areaStyle.color;
  11330. if(t instanceof Array) {
  11331. var i = t.length,
  11332. n = this._valueList,
  11333. a = this._valueList.length;
  11334. if(this.isHorizontal())
  11335. for(var r, s = this.grid.getY(), l = this.grid.getHeight(), h = this.grid.getX(), m = 0; a >= m; m++) r = a > m ? this.getCoord(n[m]) : this.grid.getXend(), e = {
  11336. zlevel: this.getZlevelBase(),
  11337. z: this.getZBase(),
  11338. hoverable: !1,
  11339. style: {
  11340. x: h,
  11341. y: s,
  11342. width: r - h,
  11343. height: l,
  11344. color: t[m % i]
  11345. }
  11346. }, this.shapeList.push(new o(e)), h = r;
  11347. else
  11348. for(var V, U = this.grid.getX(), d = this.grid.getWidth(), p = this.grid.getYend(), m = 0; a >= m; m++) V = a > m ? this.getCoord(n[m]) : this.grid.getY(), e = {
  11349. zlevel: this.getZlevelBase(),
  11350. z: this.getZBase(),
  11351. hoverable: !1,
  11352. style: {
  11353. x: U,
  11354. y: V,
  11355. width: d,
  11356. height: p - V,
  11357. color: t[m % i]
  11358. }
  11359. }, this.shapeList.push(new o(e)), p = V
  11360. } else e = {
  11361. zlevel: this.getZlevelBase(),
  11362. z: this.getZBase(),
  11363. hoverable: !1,
  11364. style: {
  11365. x: this.grid.getX(),
  11366. y: this.grid.getY(),
  11367. width: this.grid.getWidth(),
  11368. height: this.grid.getHeight(),
  11369. color: t
  11370. }
  11371. }, this.shapeList.push(new o(e))
  11372. },
  11373. _calculateValue: function() {
  11374. if(isNaN(this.option.min - 0) || isNaN(this.option.max - 0)) {
  11375. for(var e, t, i = {}, n = this.component.legend, a = 0, o = this.series.length; o > a; a++) !(this.series[a].type != r.CHART_TYPE_LINE && this.series[a].type != r.CHART_TYPE_BAR && this.series[a].type != r.CHART_TYPE_SCATTER && this.series[a].type != r.CHART_TYPE_K && this.series[a].type != r.CHART_TYPE_EVENTRIVER || n && !n.isSelected(this.series[a].name) || (e = this.series[a].xAxisIndex || 0, t = this.series[a].yAxisIndex || 0, this.option.xAxisIndex != e && this.option.yAxisIndex != t || !this._calculSum(i, a)));
  11376. var s;
  11377. for(var a in i) {
  11378. s = i[a];
  11379. for(var l = 0, h = s.length; h > l; l++)
  11380. if(!isNaN(s[l])) {
  11381. this._hasData = !0, this._min = s[l], this._max = s[l];
  11382. break
  11383. }
  11384. if(this._hasData) break
  11385. }
  11386. for(var a in i) {
  11387. s = i[a];
  11388. for(var l = 0, h = s.length; h > l; l++) isNaN(s[l]) || (this._min = Math.min(this._min, s[l]), this._max = Math.max(this._max, s[l]))
  11389. }
  11390. var m = "log" !== this.option.type ? this.option.boundaryGap : [0, 0],
  11391. V = Math.abs(this._max - this._min);
  11392. this._min = isNaN(this.option.min - 0) ? this._min - Math.abs(V * m[0]) : this.option.min - 0, this._max = isNaN(this.option.max - 0) ? this._max + Math.abs(V * m[1]) : this.option.max - 0, this._min === this._max && (0 === this._max ? this._max = 1 : this._max > 0 ? this._min = this._max / this.option.splitNumber != null ? this.option.splitNumber : 5 : this._max = this._max / this.option.splitNumber != null ? this.option.splitNumber : 5), "time" === this.option.type ? this._reformTimeValue() : "log" === this.option.type ? this._reformLogValue() : this._reformValue(this.option.scale)
  11393. } else this._hasData = !0, this._min = this.option.min - 0, this._max = this.option.max - 0, "time" === this.option.type ? this._reformTimeValue() : "log" === this.option.type ? this._reformLogValue() : this._customerValue()
  11394. },
  11395. _calculSum: function(e, t) {
  11396. var i, n, a = this.series[t].name || "kener";
  11397. if(this.series[t].stack) {
  11398. var o = "__Magic_Key_Positive__" + this.series[t].stack,
  11399. l = "__Magic_Key_Negative__" + this.series[t].stack;
  11400. e[o] = e[o] || [], e[l] = e[l] || [], e[a] = e[a] || [], n = this.series[t].data;
  11401. for(var h = 0, m = n.length; m > h; h++) i = this.getDataFromOption(n[h]), "-" !== i && (i -= 0, i >= 0 ? null != e[o][h] ? e[o][h] += i : e[o][h] = i : null != e[l][h] ? e[l][h] += i : e[l][h] = i, this.option.scale && e[a].push(i))
  11402. } else if(e[a] = e[a] || [], this.series[t].type != r.CHART_TYPE_EVENTRIVER) {
  11403. n = this.series[t].data;
  11404. for(var h = 0, m = n.length; m > h; h++) i = this.getDataFromOption(n[h]), this.series[t].type === r.CHART_TYPE_K ? (e[a].push(i[0]), e[a].push(i[1]), e[a].push(i[2]), e[a].push(i[3])) : i instanceof Array ? (-1 != this.option.xAxisIndex && e[a].push("time" != this.option.type ? i[0] : s.getNewDate(i[0])), -1 != this.option.yAxisIndex && e[a].push("time" != this.option.type ? i[1] : s.getNewDate(i[1]))) : e[a].push(i)
  11405. } else {
  11406. n = this.series[t].data;
  11407. for(var h = 0, m = n.length; m > h; h++)
  11408. for(var V = n[h].evolution, U = 0, d = V.length; d > U; U++) e[a].push(s.getNewDate(V[U].time))
  11409. }
  11410. },
  11411. _reformValue: function(t) {
  11412. var i = e("../util/smartSteps"),
  11413. n = this.option.splitNumber;
  11414. !t && this._min >= 0 && this._max >= 0 && (this._min = 0), !t && this._min <= 0 && this._max <= 0 && (this._max = 0);
  11415. var a = i(this._min, this._max, n);
  11416. n = null != n ? n : a.secs, this._min = a.min, this._max = a.max, this._valueList = a.pnts, this._reformLabelData()
  11417. },
  11418. _reformTimeValue: function() {
  11419. var e = null != this.option.splitNumber ? this.option.splitNumber : 5,
  11420. t = s.getAutoFormatter(this._min, this._max, e),
  11421. i = t.formatter,
  11422. n = t.gapValue;
  11423. this._valueList = [s.getNewDate(this._min)];
  11424. var a;
  11425. switch(i) {
  11426. case "week":
  11427. a = s.nextMonday(this._min);
  11428. break;
  11429. case "month":
  11430. a = s.nextNthOnMonth(this._min, 1);
  11431. break;
  11432. case "quarter":
  11433. a = s.nextNthOnQuarterYear(this._min, 1);
  11434. break;
  11435. case "half-year":
  11436. a = s.nextNthOnHalfYear(this._min, 1);
  11437. break;
  11438. case "year":
  11439. a = s.nextNthOnYear(this._min, 1);
  11440. break;
  11441. default:
  11442. 72e5 >= n ? a = (Math.floor(this._min / n) + 1) * n : (a = s.getNewDate(this._min - -n), a.setHours(6 * Math.round(a.getHours() / 6)), a.setMinutes(0), a.setSeconds(0))
  11443. }
  11444. for(a - this._min < n / 2 && (a -= -n), t = s.getNewDate(a), e *= 1.5; e-- >= 0 && (("month" == i || "quarter" == i || "half-year" == i || "year" == i) && t.setDate(1), !(this._max - t < n / 2));) this._valueList.push(t), t = s.getNewDate(t - -n);
  11445. this._valueList.push(s.getNewDate(this._max)), this._reformLabelData(function(e) {
  11446. return function(t) {
  11447. return s.format(e, t)
  11448. }
  11449. }(i))
  11450. },
  11451. _customerValue: function() {
  11452. var t = e("../util/accMath"),
  11453. i = null != this.option.splitNumber ? this.option.splitNumber : 5,
  11454. n = (this._max - this._min) / i;
  11455. this._valueList = [];
  11456. for(var a = 0; i >= a; a++) this._valueList.push(t.accAdd(this._min, t.accMul(n, a)));
  11457. this._reformLabelData()
  11458. },
  11459. _reformLogValue: function() {
  11460. var t = this.option,
  11461. i = e("../util/smartLogSteps")({
  11462. dataMin: this._min,
  11463. dataMax: this._max,
  11464. logPositive: t.logPositive,
  11465. logLabelBase: t.logLabelBase,
  11466. splitNumber: t.splitNumber
  11467. });
  11468. this._min = i.dataMin, this._max = i.dataMax, this._valueList = i.tickList, this._dataMappingMethods = i.dataMappingMethods, this._reformLabelData(i.labelFormatter)
  11469. },
  11470. _reformLabelData: function(e) {
  11471. this._valueLabel = [];
  11472. var t = this.option.axisLabel.formatter;
  11473. if(t)
  11474. for(var i = 0, n = this._valueList.length; n > i; i++) "function" == typeof t ? this._valueLabel.push(e ? t.call(this.myChart, this._valueList[i], e) : t.call(this.myChart, this._valueList[i])) : "string" == typeof t && this._valueLabel.push(e ? s.format(t, this._valueList[i]) : t.replace("{value}", this._valueList[i]));
  11475. else
  11476. for(var i = 0, n = this._valueList.length; n > i; i++) this._valueLabel.push(e ? e(this._valueList[i]) : this.numAddCommas(this._valueList[i]))
  11477. },
  11478. getExtremum: function() {
  11479. this._calculateValue();
  11480. var e = this._dataMappingMethods;
  11481. return {
  11482. min: this._min,
  11483. max: this._max,
  11484. dataMappingMethods: e ? l.merge({}, e) : null
  11485. }
  11486. },
  11487. refresh: function(e, t) {
  11488. e && (this.option = this.reformOption(e), this.option.axisLabel.textStyle = l.merge(this.option.axisLabel.textStyle || {}, this.ecTheme.textStyle), this.series = t), this.zr && (this.clear(), this._buildShape())
  11489. },
  11490. getCoord: function(e) {
  11491. this._dataMappingMethods && (e = this._dataMappingMethods.value2Coord(e)), e = e < this._min ? this._min : e, e = e > this._max ? this._max : e;
  11492. var t;
  11493. return t = this.isHorizontal() ? this.grid.getX() + (e - this._min) / (this._max - this._min) * this.grid.getWidth() : this.grid.getYend() - (e - this._min) / (this._max - this._min) * this.grid.getHeight()
  11494. },
  11495. getCoordSize: function(e) {
  11496. return Math.abs(this.isHorizontal() ? e / (this._max - this._min) * this.grid.getWidth() : e / (this._max - this._min) * this.grid.getHeight())
  11497. },
  11498. getValueFromCoord: function(e) {
  11499. var t;
  11500. return this.isHorizontal() ? (e = e < this.grid.getX() ? this.grid.getX() : e, e = e > this.grid.getXend() ? this.grid.getXend() : e, t = this._min + (e - this.grid.getX()) / this.grid.getWidth() * (this._max - this._min)) : (e = e < this.grid.getY() ? this.grid.getY() : e, e = e > this.grid.getYend() ? this.grid.getYend() : e, t = this._max - (e - this.grid.getY()) / this.grid.getHeight() * (this._max - this._min)), this._dataMappingMethods && (t = this._dataMappingMethods.coord2Value(t)), t.toFixed(2) - 0
  11501. },
  11502. isMaindAxis: function(e) {
  11503. for(var t = 0, i = this._valueList.length; i > t; t++)
  11504. if(this._valueList[t] === e) return !0;
  11505. return !1
  11506. }
  11507. }, l.inherits(t, i), e("../component").define("valueAxis", t), t
  11508. }), i("echarts/util/date", [], function() {
  11509. function e(e, t, i) {
  11510. i = i > 1 ? i : 2;
  11511. for(var n, a, o, r, s = 0, l = m.length; l > s; s++)
  11512. if(n = m[s].value, a = Math.ceil(t / n) * n - Math.floor(e / n) * n, Math.round(a / n) <= 1.2 * i) {
  11513. o = m[s].formatter, r = m[s].value;
  11514. break
  11515. }
  11516. return null == o && (o = "year", n = 317088e5, a = Math.ceil(t / n) * n - Math.floor(e / n) * n, r = Math.round(a / (i - 1) / n) * n), {
  11517. formatter: o,
  11518. gapValue: r
  11519. }
  11520. }
  11521. function t(e) {
  11522. return 10 > e ? "0" + e : e
  11523. }
  11524. function i(e, i) {
  11525. ("week" == e || "month" == e || "quarter" == e || "half-year" == e || "year" == e) && (e = "MM - dd\nyyyy");
  11526. var n = h(i),
  11527. a = n.getFullYear(),
  11528. o = n.getMonth() + 1,
  11529. r = n.getDate(),
  11530. s = n.getHours(),
  11531. l = n.getMinutes(),
  11532. m = n.getSeconds();
  11533. return e = e.replace("MM", t(o)), e = e.toLowerCase(), e = e.replace("yyyy", a), e = e.replace("yy", a % 100), e = e.replace("dd", t(r)), e = e.replace("d", r), e = e.replace("hh", t(s)), e = e.replace("h", s), e = e.replace("mm", t(l)), e = e.replace("m", l), e = e.replace("ss", t(m)), e = e.replace("s", m)
  11534. }
  11535. function n(e) {
  11536. return e = h(e), e.setDate(e.getDate() + 8 - e.getDay()), e
  11537. }
  11538. function a(e, t, i) {
  11539. return e = h(e), e.setMonth(Math.ceil((e.getMonth() + 1) / i) * i), e.setDate(t), e
  11540. }
  11541. function o(e, t) {
  11542. return a(e, t, 1)
  11543. }
  11544. function r(e, t) {
  11545. return a(e, t, 3)
  11546. }
  11547. function s(e, t) {
  11548. return a(e, t, 6)
  11549. }
  11550. function l(e, t) {
  11551. return a(e, t, 12)
  11552. }
  11553. function h(e) {
  11554. return e instanceof Date ? e : new Date("string" == typeof e ? e.replace(/-/g, "/") : e)
  11555. }
  11556. var m = [{
  11557. formatter: "hh : mm : ss",
  11558. value: 1e3
  11559. }, {
  11560. formatter: "hh : mm : ss",
  11561. value: 5e3
  11562. }, {
  11563. formatter: "hh : mm : ss",
  11564. value: 1e4
  11565. }, {
  11566. formatter: "hh : mm : ss",
  11567. value: 15e3
  11568. }, {
  11569. formatter: "hh : mm : ss",
  11570. value: 3e4
  11571. }, {
  11572. formatter: "hh : mm\nMM - dd",
  11573. value: 6e4
  11574. }, {
  11575. formatter: "hh : mm\nMM - dd",
  11576. value: 3e5
  11577. }, {
  11578. formatter: "hh : mm\nMM - dd",
  11579. value: 6e5
  11580. }, {
  11581. formatter: "hh : mm\nMM - dd",
  11582. value: 9e5
  11583. }, {
  11584. formatter: "hh : mm\nMM - dd",
  11585. value: 18e5
  11586. }, {
  11587. formatter: "hh : mm\nMM - dd",
  11588. value: 36e5
  11589. }, {
  11590. formatter: "hh : mm\nMM - dd",
  11591. value: 72e5
  11592. }, {
  11593. formatter: "hh : mm\nMM - dd",
  11594. value: 216e5
  11595. }, {
  11596. formatter: "hh : mm\nMM - dd",
  11597. value: 432e5
  11598. }, {
  11599. formatter: "MM - dd\nyyyy",
  11600. value: 864e5
  11601. }, {
  11602. formatter: "week",
  11603. value: 6048e5
  11604. }, {
  11605. formatter: "month",
  11606. value: 26784e5
  11607. }, {
  11608. formatter: "quarter",
  11609. value: 8208e6
  11610. }, {
  11611. formatter: "half-year",
  11612. value: 16416e6
  11613. }, {
  11614. formatter: "year",
  11615. value: 32832e6
  11616. }];
  11617. return {
  11618. getAutoFormatter: e,
  11619. getNewDate: h,
  11620. format: i,
  11621. nextMonday: n,
  11622. nextNthPerNmonth: a,
  11623. nextNthOnMonth: o,
  11624. nextNthOnQuarterYear: r,
  11625. nextNthOnHalfYear: s,
  11626. nextNthOnYear: l
  11627. }
  11628. }), i("echarts/util/smartSteps", [], function() {
  11629. function e(e) {
  11630. return X.log(I(e)) / X.LN10
  11631. }
  11632. function t(e) {
  11633. return X.pow(10, e)
  11634. }
  11635. function i(e) {
  11636. return e === w(e)
  11637. }
  11638. function n(e, t, n, a) {
  11639. b = a || {}, f = b.steps || L, k = b.secs || W, n = v(+n || 0) % 99, e = +e || 0, t = +t || 0, x = _ = 0, "min" in b && (e = +b.min || 0, x = 1), "max" in b && (t = +b.max || 0, _ = 1), e > t && (t = [e, e = t][0]);
  11640. var o = t - e;
  11641. if(x && _) return g(e, t, n);
  11642. if((n || 5) > o) {
  11643. if(i(e) && i(t)) return d(e, t, n);
  11644. if(0 === o) return p(e, t, n)
  11645. }
  11646. return h(e, t, n)
  11647. }
  11648. function a(e, i, n, a) {
  11649. a = a || 0;
  11650. var s = o((i - e) / n, -1),
  11651. l = o(e, -1, 1),
  11652. h = o(i, -1),
  11653. m = X.min(s.e, l.e, h.e);
  11654. 0 === l.c ? m = X.min(s.e, h.e) : 0 === h.c && (m = X.min(s.e, l.e)), r(s, {
  11655. c: 0,
  11656. e: m
  11657. }), r(l, s, 1), r(h, s), a += m, e = l.c, i = h.c;
  11658. for(var V = (i - e) / n, U = t(a), d = 0, p = [], c = n + 1; c--;) p[c] = (e + V * c) * U;
  11659. if(0 > a) {
  11660. d = u(U), V = +(V * U).toFixed(d), e = +(e * U).toFixed(d), i = +(i * U).toFixed(d);
  11661. for(var c = p.length; c--;) p[c] = p[c].toFixed(d), 0 === +p[c] && (p[c] = "0")
  11662. } else e *= U, i *= U, V *= U;
  11663. return k = 0, f = 0, b = 0, {
  11664. min: e,
  11665. max: i,
  11666. secs: n,
  11667. step: V,
  11668. fix: d,
  11669. exp: a,
  11670. pnts: p
  11671. }
  11672. }
  11673. function o(n, a, o) {
  11674. a = v(a % 10) || 2, 0 > a && (i(n) ? a = ("" + I(n)).replace(/0+$/, "").length || 1 : (n = n.toFixed(15).replace(/0+$/, ""), a = n.replace(".", "").replace(/^[-0]+/, "").length, n = +n));
  11675. var r = w(e(n)) - a + 1,
  11676. s = +(n * t(-r)).toFixed(15) || 0;
  11677. return s = o ? w(s) : K(s), !s && (r = 0), ("" + I(s)).length > a && (r += 1, s /= 10), {
  11678. c: s,
  11679. e: r
  11680. }
  11681. }
  11682. function r(e, i, n) {
  11683. var a = i.e - e.e;
  11684. a && (e.e += a, e.c *= t(-a), e.c = n ? w(e.c) : K(e.c))
  11685. }
  11686. function s(e, t, i) {
  11687. e.e < t.e ? r(t, e, i) : r(e, t, i)
  11688. }
  11689. function l(e, t) {
  11690. t = t || L, e = o(e);
  11691. for(var i = e.c, n = 0; i > t[n];) n++;
  11692. if(!t[n])
  11693. for(i /= 10, e.e += 1, n = 0; i > t[n];) n++;
  11694. return e.c = t[n], e
  11695. }
  11696. function h(e, t, n) {
  11697. var s, h = n || +k.slice(-1),
  11698. p = l((t - e) / h, f),
  11699. u = o(t - e),
  11700. g = o(e, -1, 1),
  11701. b = o(t, -1);
  11702. if(r(u, p), r(g, p, 1), r(b, p), n ? s = V(g, b, h) : h = m(g, b), i(e) && i(t) && e * t >= 0) {
  11703. if(h > t - e) return d(e, t, h);
  11704. h = U(e, t, n, g, b, h)
  11705. }
  11706. var L = c(e, t, g.c, b.c);
  11707. return g.c = L[0], b.c = L[1], (x || _) && y(e, t, g, b), a(g.c, b.c, h, b.e)
  11708. }
  11709. function m(e, i) {
  11710. for(var n, a, o, r, s = [], h = k.length; h--;) n = k[h], a = l((i.c - e.c) / n, f), a = a.c * t(a.e), o = w(e.c / a) * a, r = K(i.c / a) * a, s[h] = {
  11711. min: o,
  11712. max: r,
  11713. step: a,
  11714. span: r - o
  11715. };
  11716. return s.sort(function(e, t) {
  11717. var i = e.span - t.span;
  11718. return 0 === i && (i = e.step - t.step), i
  11719. }), s = s[0], n = s.span / s.step, e.c = s.min, i.c = s.max, 3 > n ? 2 * n : n
  11720. }
  11721. function V(e, i, n) {
  11722. for(var a, o, r = i.c, s = (i.c - e.c) / n - 1; r > e.c;) s = l(s + 1, f), s = s.c * t(s.e), a = s * n, o = K(i.c / s) * s, r = o - a;
  11723. var h = e.c - r,
  11724. m = o - i.c,
  11725. V = h - m;
  11726. return V > 1.1 * s && (V = v(V / s / 2) * s, r += V, o += V), e.c = r, i.c = o, s
  11727. }
  11728. function U(e, n, a, o, r, s) {
  11729. var l = r.c - o.c,
  11730. h = l / s * t(r.e);
  11731. if(!i(h) && (h = w(h), l = h * s, n - e > l && (h += 1, l = h * s, !a && h * (s - 1) >= n - e && (s -= 1, l = h * s)), l >= n - e)) {
  11732. var m = l - (n - e);
  11733. o.c = v(e - m / 2), r.c = v(n + m / 2), o.e = 0, r.e = 0
  11734. }
  11735. return s
  11736. }
  11737. function d(e, t, i) {
  11738. if(i = i || 5, x) t = e + i;
  11739. else if(_) e = t - i;
  11740. else {
  11741. var n = i - (t - e),
  11742. o = v(e - n / 2),
  11743. r = v(t + n / 2),
  11744. s = c(e, t, o, r);
  11745. e = s[0], t = s[1]
  11746. }
  11747. return a(e, t, i)
  11748. }
  11749. function p(e, t, i) {
  11750. i = i || 5;
  11751. var n = X.min(I(t / i), i) / 2.1;
  11752. return x ? t = e + n : _ ? e = t - n : (e -= n, t += n), h(e, t, i)
  11753. }
  11754. function c(e, t, i, n) {
  11755. return e >= 0 && 0 > i ? (n -= i, i = 0) : 0 >= t && n > 0 && (i -= n, n = 0), [i, n]
  11756. }
  11757. function u(e) {
  11758. return e = (+e).toFixed(15).split("."), e.pop().replace(/0+$/, "").length
  11759. }
  11760. function y(e, t, i, n) {
  11761. if(x) {
  11762. var a = o(e, 4, 1);
  11763. i.e - a.e > 6 && (a = {
  11764. c: 0,
  11765. e: i.e
  11766. }), s(i, a), s(n, a), n.c += a.c - i.c, i.c = a.c
  11767. } else if(_) {
  11768. var r = o(t, 4);
  11769. n.e - r.e > 6 && (r = {
  11770. c: 0,
  11771. e: n.e
  11772. }), s(i, r), s(n, r), i.c += r.c - n.c, n.c = r.c
  11773. }
  11774. }
  11775. function g(e, t, i) {
  11776. var n = i ? [i] : k,
  11777. s = t - e;
  11778. if(0 === s) return t = o(t, 3), i = n[0], t.c = v(t.c + i / 2), a(t.c - i, t.c, i, t.e);
  11779. I(t / s) < 1e-6 && (t = 0), I(e / s) < 1e-6 && (e = 0);
  11780. var l, h, m, V = [
  11781. [5, 10],
  11782. [10, 2],
  11783. [50, 10],
  11784. [100, 2]
  11785. ],
  11786. U = [],
  11787. d = [],
  11788. p = o(t - e, 3),
  11789. c = o(e, -1, 1),
  11790. u = o(t, -1);
  11791. r(c, p, 1), r(u, p), s = u.c - c.c, p.c = s;
  11792. for(var y = n.length; y--;) {
  11793. i = n[y], l = K(s / i), h = l * i - s, m = 3 * (h + 3), m += 2 * (i - n[0] + 2), i % 5 === 0 && (m -= 10);
  11794. for(var g = V.length; g--;) l % V[g][0] === 0 && (m /= V[g][1]);
  11795. d[y] = [i, l, h, m].join(), U[y] = {
  11796. secs: i,
  11797. step: l,
  11798. delta: h,
  11799. score: m
  11800. }
  11801. }
  11802. return U.sort(function(e, t) {
  11803. return e.score - t.score
  11804. }), U = U[0], c.c = v(c.c - U.delta / 2), u.c = v(u.c + U.delta / 2), a(c.c, u.c, U.secs, p.e)
  11805. }
  11806. var b, f, k, x, _, L = [10, 20, 25, 50],
  11807. W = [4, 5, 6],
  11808. X = Math,
  11809. v = X.round,
  11810. w = X.floor,
  11811. K = X.ceil,
  11812. I = X.abs;
  11813. return n
  11814. }), i("echarts/util/smartLogSteps", ["require", "./number"], function(e) {
  11815. function t(e) {
  11816. return i(), u = e || {}, n(), a(), [o(), i()][0]
  11817. }
  11818. function i() {
  11819. U = u = g = c = b = f = y = k = d = p = null
  11820. }
  11821. function n() {
  11822. d = u.logLabelBase, null == d ? (p = "plain", d = 10, c = I) : (d = +d, 1 > d && (d = 10), p = "exponent", c = L(d)), y = u.splitNumber, null == y && (y = E);
  11823. var e = parseFloat(u.dataMin),
  11824. t = parseFloat(u.dataMax);
  11825. isFinite(e) || isFinite(t) ? isFinite(e) ? isFinite(t) ? e > t && (t = [e, e = t][0]) : t = e : e = t : e = t = 1, U = u.logPositive, null == U && (U = t > 0 || 0 === e), b = U ? e : -t, f = U ? t : -e, S > b && (b = S), S > f && (f = S)
  11826. }
  11827. function a() {
  11828. function e() {
  11829. y > m && (y = m);
  11830. var e = w(l(m / y)),
  11831. t = v(l(m / e)),
  11832. i = e * t,
  11833. n = (i - U) / 2,
  11834. a = w(l(r - n));
  11835. V(a - r) && (a -= 1), g = -a * c;
  11836. for(var s = a; o >= s - e; s += e) k.push(W(d, s))
  11837. }
  11838. function t() {
  11839. for(var e = i(h, 0), t = e + 2; t > e && a(e + 1) + n(e + 1) * C < r;) e++;
  11840. for(var l = i(s, 0), t = l - 2; l > t && a(l - 1) + n(l - 1) * C > o;) l--;
  11841. g = -(a(e) * I + n(e) * J);
  11842. for(var m = e; l >= m; m++) {
  11843. var V = a(m),
  11844. U = n(m);
  11845. k.push(W(10, V) * W(2, U))
  11846. }
  11847. }
  11848. function i(e, t) {
  11849. return 3 * e + t
  11850. }
  11851. function n(e) {
  11852. return e - 3 * a(e)
  11853. }
  11854. function a(e) {
  11855. return w(l(e / 3))
  11856. }
  11857. k = [];
  11858. var o = l(L(f) / c),
  11859. r = l(L(b) / c),
  11860. s = v(o),
  11861. h = w(r),
  11862. m = s - h,
  11863. U = o - r;
  11864. "exponent" === p ? e() : F >= m && y > F ? t() : e()
  11865. }
  11866. function o() {
  11867. for(var e = [], t = 0, i = k.length; i > t; t++) e[t] = (U ? 1 : -1) * k[t];
  11868. !U && e.reverse();
  11869. var n = s(),
  11870. a = n.value2Coord,
  11871. o = a(e[0]),
  11872. l = a(e[e.length - 1]);
  11873. return o === l && (o -= 1, l += 1), {
  11874. dataMin: o,
  11875. dataMax: l,
  11876. tickList: e,
  11877. logPositive: U,
  11878. labelFormatter: r(),
  11879. dataMappingMethods: n
  11880. }
  11881. }
  11882. function r() {
  11883. if("exponent" === p) {
  11884. var e = d,
  11885. t = c;
  11886. return function(i) {
  11887. if(!isFinite(parseFloat(i))) return "";
  11888. var n = "";
  11889. return 0 > i && (i = -i, n = "-"), n + e + m(L(i) / t)
  11890. }
  11891. }
  11892. return function(e) {
  11893. return isFinite(parseFloat(e)) ? x.addCommas(h(e)) : ""
  11894. }
  11895. }
  11896. function s() {
  11897. var e = U,
  11898. t = g;
  11899. return {
  11900. value2Coord: function(i) {
  11901. return null == i || isNaN(i) || !isFinite(i) ? i : (i = parseFloat(i), isFinite(i) ? e && S > i ? i = S : !e && i > -S && (i = -S) : i = S, i = X(i), (e ? 1 : -1) * (L(i) + t))
  11902. },
  11903. coord2Value: function(i) {
  11904. return null == i || isNaN(i) || !isFinite(i) ? i : (i = parseFloat(i), isFinite(i) || (i = S), e ? W(K, i - t) : -W(K, -i + t))
  11905. }
  11906. }
  11907. }
  11908. function l(e) {
  11909. return +Number(+e).toFixed(14)
  11910. }
  11911. function h(e) {
  11912. return Number(e).toFixed(15).replace(/\.?0*$/, "")
  11913. }
  11914. function m(e) {
  11915. e = h(Math.round(e));
  11916. for(var t = [], i = 0, n = e.length; n > i; i++) {
  11917. var a = e.charAt(i);
  11918. t.push(T[a] || "")
  11919. }
  11920. return t.join("")
  11921. }
  11922. function V(e) {
  11923. return e > -S && S > e
  11924. }
  11925. var U, d, p, c, u, y, g, b, f, k, x = e("./number"),
  11926. _ = Math,
  11927. L = _.log,
  11928. W = _.pow,
  11929. X = _.abs,
  11930. v = _.ceil,
  11931. w = _.floor,
  11932. K = _.E,
  11933. I = _.LN10,
  11934. J = _.LN2,
  11935. C = J / I,
  11936. S = 1e-9,
  11937. E = 5,
  11938. F = 2,
  11939. T = {
  11940. 0: "⁰",
  11941. 1: "¹",
  11942. 2: "²",
  11943. 3: "³",
  11944. 4: "⁴",
  11945. 5: "⁵",
  11946. 6: "⁶",
  11947. 7: "⁷",
  11948. 8: "⁸",
  11949. 9: "⁹",
  11950. "-": "⁻"
  11951. };
  11952. return t
  11953. }), i("echarts/chart/line", ["require", "./base", "zrender/shape/Polyline", "../util/shape/Icon", "../util/shape/HalfSmoothPolygon", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
  11954. function t(e, t, i, a, o) {
  11955. n.call(this, e, t, i, a, o), this.refresh(a)
  11956. }
  11957. function i(e, t, i) {
  11958. var n = t.x,
  11959. a = t.y,
  11960. r = t.width,
  11961. s = t.height,
  11962. l = s / 2;
  11963. t.symbol.match("empty") && (e.fillStyle = "#fff"), t.brushType = "both";
  11964. var h = t.symbol.replace("empty", "").toLowerCase();
  11965. h.match("star") ? (l = h.replace("star", "") - 0 || 5, a -= 1, h = "star") : ("rectangle" === h || "arrow" === h) && (n += (r - s) / 2, r = s);
  11966. var m = "";
  11967. if(h.match("image") && (m = h.replace(new RegExp("^image:\\/\\/"), ""), h = "image", n += Math.round((r - s) / 2) - 1, r = s += 2), h = o.prototype.iconLibrary[h]) {
  11968. var V = t.x,
  11969. U = t.y;
  11970. e.moveTo(V, U + l), e.lineTo(V + 5, U + l), e.moveTo(V + t.width - 5, U + l), e.lineTo(V + t.width, U + l);
  11971. var d = this;
  11972. h(e, {
  11973. x: n + 4,
  11974. y: a + 4,
  11975. width: r - 8,
  11976. height: s - 8,
  11977. n: l,
  11978. image: m
  11979. }, function() {
  11980. d.modSelf(), i()
  11981. })
  11982. } else e.moveTo(n, a + l), e.lineTo(n + r, a + l)
  11983. }
  11984. var n = e("./base"),
  11985. a = e("zrender/shape/Polyline"),
  11986. o = e("../util/shape/Icon"),
  11987. r = e("../util/shape/HalfSmoothPolygon");
  11988. e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
  11989. var s = e("../config");
  11990. s.line = {
  11991. zlevel: 0,
  11992. z: 2,
  11993. clickable: !0,
  11994. legendHoverLink: !0,
  11995. xAxisIndex: 0,
  11996. yAxisIndex: 0,
  11997. dataFilter: "nearest",
  11998. itemStyle: {
  11999. normal: {
  12000. label: {
  12001. show: !1
  12002. },
  12003. lineStyle: {
  12004. width: 2,
  12005. type: "solid",
  12006. shadowColor: "rgba(0,0,0,0)",
  12007. shadowBlur: 0,
  12008. shadowOffsetX: 0,
  12009. shadowOffsetY: 0
  12010. }
  12011. },
  12012. emphasis: {
  12013. label: {
  12014. show: !1
  12015. }
  12016. }
  12017. },
  12018. symbolSize: 2,
  12019. showAllSymbol: !1
  12020. };
  12021. var l = e("../util/ecData"),
  12022. h = e("zrender/tool/util"),
  12023. m = e("zrender/tool/color");
  12024. return t.prototype = {
  12025. type: s.CHART_TYPE_LINE,
  12026. _buildShape: function() {
  12027. this.finalPLMap = {}, this._buildPosition()
  12028. },
  12029. _buildHorizontal: function(e, t, i, n) {
  12030. for(var a, o, r, s, l, h, m, V, U, d = this.series, p = i[0][0], c = d[p], u = this.component.xAxis.getAxis(c.xAxisIndex || 0), y = {}, g = 0, b = t; b > g && null != u.getNameByIndex(g); g++) {
  12031. o = u.getCoordByIndex(g);
  12032. for(var f = 0, k = i.length; k > f; f++) {
  12033. a = this.component.yAxis.getAxis(d[i[f][0]].yAxisIndex || 0), l = s = m = h = a.getCoord(0);
  12034. for(var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), y[p] = y[p] || [], n[p] = n[p] || {
  12035. min: Number.POSITIVE_INFINITY,
  12036. max: Number.NEGATIVE_INFINITY,
  12037. sum: 0,
  12038. counter: 0,
  12039. average: 0
  12040. }, "-" !== U ? (U >= 0 ? (s -= x > 0 ? a.getCoordSize(U) : l - a.getCoord(U), r = s) : 0 > U && (h += x > 0 ? a.getCoordSize(U) : a.getCoord(U) - m, r = h), y[p].push([o, r, g, u.getNameByIndex(g), o, l]), n[p].min > U && (n[p].min = U, n[p].minY = r, n[p].minX = o), n[p].max < U && (n[p].max = U, n[p].maxY = r, n[p].maxX = o), n[p].sum += U, n[p].counter++) : y[p].length > 0 && (this.finalPLMap[p] = this.finalPLMap[p] || [], this.finalPLMap[p].push(y[p]), y[p] = [])
  12041. }
  12042. s = this.component.grid.getY();
  12043. for(var L, f = 0, k = i.length; k > f; f++)
  12044. for(var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), "-" == U && this.deepQuery([V, c, this.option], "calculable") && (L = this.deepQuery([V, c], "symbolSize"), s += 2 * L + 5, r = s, this.shapeList.push(this._getCalculableItem(p, g, u.getNameByIndex(g), o, r, "horizontal")))
  12045. }
  12046. for(var W in y) y[W].length > 0 && (this.finalPLMap[W] = this.finalPLMap[W] || [], this.finalPLMap[W].push(y[W]), y[W] = []);
  12047. this._calculMarkMapXY(n, i, "y"), this._buildBorkenLine(e, this.finalPLMap, u, "horizontal")
  12048. },
  12049. _buildVertical: function(e, t, i, n) {
  12050. for(var a, o, r, s, l, h, m, V, U, d = this.series, p = i[0][0], c = d[p], u = this.component.yAxis.getAxis(c.yAxisIndex || 0), y = {}, g = 0, b = t; b > g && null != u.getNameByIndex(g); g++) {
  12051. r = u.getCoordByIndex(g);
  12052. for(var f = 0, k = i.length; k > f; f++) {
  12053. a = this.component.xAxis.getAxis(d[i[f][0]].xAxisIndex || 0), l = s = m = h = a.getCoord(0);
  12054. for(var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), y[p] = y[p] || [], n[p] = n[p] || {
  12055. min: Number.POSITIVE_INFINITY,
  12056. max: Number.NEGATIVE_INFINITY,
  12057. sum: 0,
  12058. counter: 0,
  12059. average: 0
  12060. }, "-" !== U ? (U >= 0 ? (s += x > 0 ? a.getCoordSize(U) : a.getCoord(U) - l, o = s) : 0 > U && (h -= x > 0 ? a.getCoordSize(U) : m - a.getCoord(U), o = h), y[p].push([o, r, g, u.getNameByIndex(g), l, r]), n[p].min > U && (n[p].min = U, n[p].minX = o, n[p].minY = r), n[p].max < U && (n[p].max = U, n[p].maxX = o, n[p].maxY = r), n[p].sum += U, n[p].counter++) : y[p].length > 0 && (this.finalPLMap[p] = this.finalPLMap[p] || [], this.finalPLMap[p].push(y[p]), y[p] = [])
  12061. }
  12062. s = this.component.grid.getXend();
  12063. for(var L, f = 0, k = i.length; k > f; f++)
  12064. for(var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), "-" == U && this.deepQuery([V, c, this.option], "calculable") && (L = this.deepQuery([V, c], "symbolSize"), s -= 2 * L + 5, o = s, this.shapeList.push(this._getCalculableItem(p, g, u.getNameByIndex(g), o, r, "vertical")))
  12065. }
  12066. for(var W in y) y[W].length > 0 && (this.finalPLMap[W] = this.finalPLMap[W] || [], this.finalPLMap[W].push(y[W]), y[W] = []);
  12067. this._calculMarkMapXY(n, i, "x"), this._buildBorkenLine(e, this.finalPLMap, u, "vertical")
  12068. },
  12069. _buildOther: function(e, t, i, n) {
  12070. for(var a, o = this.series, r = {}, s = 0, l = i.length; l > s; s++)
  12071. for(var h = 0, m = i[s].length; m > h; h++) {
  12072. var V = i[s][h],
  12073. U = o[V];
  12074. a = this.component.xAxis.getAxis(U.xAxisIndex || 0);
  12075. var d = this.component.yAxis.getAxis(U.yAxisIndex || 0),
  12076. p = d.getCoord(0);
  12077. r[V] = r[V] || [], n[V] = n[V] || {
  12078. min0: Number.POSITIVE_INFINITY,
  12079. min1: Number.POSITIVE_INFINITY,
  12080. max0: Number.NEGATIVE_INFINITY,
  12081. max1: Number.NEGATIVE_INFINITY,
  12082. sum0: 0,
  12083. sum1: 0,
  12084. counter0: 0,
  12085. counter1: 0,
  12086. average0: 0,
  12087. average1: 0
  12088. };
  12089. for(var c = 0, u = U.data.length; u > c; c++) {
  12090. var y = U.data[c],
  12091. g = this.getDataFromOption(y, "-");
  12092. if(g instanceof Array) {
  12093. var b = a.getCoord(g[0]),
  12094. f = d.getCoord(g[1]);
  12095. r[V].push([b, f, c, g[0], b, p]), n[V].min0 > g[0] && (n[V].min0 = g[0], n[V].minY0 = f, n[V].minX0 = b), n[V].max0 < g[0] && (n[V].max0 = g[0], n[V].maxY0 = f, n[V].maxX0 = b), n[V].sum0 += g[0], n[V].counter0++, n[V].min1 > g[1] && (n[V].min1 = g[1], n[V].minY1 = f, n[V].minX1 = b), n[V].max1 < g[1] && (n[V].max1 = g[1], n[V].maxY1 = f, n[V].maxX1 = b), n[V].sum1 += g[1], n[V].counter1++
  12096. }
  12097. }
  12098. }
  12099. for(var k in r) r[k].length > 0 && (this.finalPLMap[k] = this.finalPLMap[k] || [], this.finalPLMap[k].push(r[k]), r[k] = []);
  12100. this._calculMarkMapXY(n, i, "xy"), this._buildBorkenLine(e, this.finalPLMap, a, "other")
  12101. },
  12102. _buildBorkenLine: function(e, t, i, n) {
  12103. for(var o, s = "other" == n ? "horizontal" : n, V = this.series, U = e.length - 1; U >= 0; U--) {
  12104. var d = e[U],
  12105. p = V[d],
  12106. c = t[d];
  12107. if(p.type === this.type && null != c)
  12108. for(var u = this._getBbox(d, s), y = this._sIndex2ColorMap[d], g = this.query(p, "itemStyle.normal.lineStyle.width"), b = this.query(p, "itemStyle.normal.lineStyle.type"), f = this.query(p, "itemStyle.normal.lineStyle.color"), k = this.getItemStyleColor(this.query(p, "itemStyle.normal.color"), d, -1), x = null != this.query(p, "itemStyle.normal.areaStyle"), _ = this.query(p, "itemStyle.normal.areaStyle.color"), L = 0, W = c.length; W > L; L++) {
  12109. var X = c[L],
  12110. v = "other" != n && this._isLarge(s, X);
  12111. if(v) X = this._getLargePointList(s, X, p.dataFilter);
  12112. else
  12113. for(var w = 0, K = X.length; K > w; w++) o = p.data[X[w][2]], (this.deepQuery([o, p, this.option], "calculable") || this.deepQuery([o, p], "showAllSymbol") || "categoryAxis" === i.type && i.isMainAxis(X[w][2]) && "none" != this.deepQuery([o, p], "symbol")) && this.shapeList.push(this._getSymbol(d, X[w][2], X[w][3], X[w][0], X[w][1], s));
  12114. var I = new a({
  12115. zlevel: p.zlevel,
  12116. z: p.z,
  12117. style: {
  12118. miterLimit: g,
  12119. pointList: X,
  12120. strokeColor: f || k || y,
  12121. lineWidth: g,
  12122. lineType: b,
  12123. smooth: this._getSmooth(p.smooth),
  12124. smoothConstraint: u,
  12125. shadowColor: this.query(p, "itemStyle.normal.lineStyle.shadowColor"),
  12126. shadowBlur: this.query(p, "itemStyle.normal.lineStyle.shadowBlur"),
  12127. shadowOffsetX: this.query(p, "itemStyle.normal.lineStyle.shadowOffsetX"),
  12128. shadowOffsetY: this.query(p, "itemStyle.normal.lineStyle.shadowOffsetY")
  12129. },
  12130. hoverable: !1,
  12131. _main: !0,
  12132. _seriesIndex: d,
  12133. _orient: s
  12134. });
  12135. if(l.pack(I, V[d], d, 0, L, V[d].name), this.shapeList.push(I), x) {
  12136. var J = new r({
  12137. zlevel: p.zlevel,
  12138. z: p.z,
  12139. style: {
  12140. miterLimit: g,
  12141. pointList: h.clone(X).concat([
  12142. [X[X.length - 1][4], X[X.length - 1][5]],
  12143. [X[0][4], X[0][5]]
  12144. ]),
  12145. brushType: "fill",
  12146. smooth: this._getSmooth(p.smooth),
  12147. smoothConstraint: u,
  12148. color: _ ? _ : m.alpha(y, .5)
  12149. },
  12150. highlightStyle: {
  12151. brushType: "fill"
  12152. },
  12153. hoverable: !1,
  12154. _main: !0,
  12155. _seriesIndex: d,
  12156. _orient: s
  12157. });
  12158. l.pack(J, V[d], d, 0, L, V[d].name), this.shapeList.push(J)
  12159. }
  12160. }
  12161. }
  12162. },
  12163. _getBbox: function(e, t) {
  12164. var i = this.component.grid.getBbox(),
  12165. n = this.xMarkMap[e];
  12166. return null != n.minX0 ? [
  12167. [Math.min(n.minX0, n.maxX0, n.minX1, n.maxX1), Math.min(n.minY0, n.maxY0, n.minY1, n.maxY1)],
  12168. [Math.max(n.minX0, n.maxX0, n.minX1, n.maxX1), Math.max(n.minY0, n.maxY0, n.minY1, n.maxY1)]
  12169. ] : ("horizontal" === t ? (i[0][1] = Math.min(n.minY, n.maxY), i[1][1] = Math.max(n.minY, n.maxY)) : (i[0][0] = Math.min(n.minX, n.maxX), i[1][0] = Math.max(n.minX, n.maxX)), i)
  12170. },
  12171. _isLarge: function(e, t) {
  12172. return t.length < 2 ? !1 : "horizontal" === e ? Math.abs(t[0][0] - t[1][0]) < .5 : Math.abs(t[0][1] - t[1][1]) < .5
  12173. },
  12174. _getLargePointList: function(e, t, i) {
  12175. var n;
  12176. n = "horizontal" === e ? this.component.grid.getWidth() : this.component.grid.getHeight();
  12177. var a = t.length,
  12178. o = [];
  12179. if("function" != typeof i) switch(i) {
  12180. case "min":
  12181. i = function(e) {
  12182. return Math.max.apply(null, e)
  12183. };
  12184. break;
  12185. case "max":
  12186. i = function(e) {
  12187. return Math.min.apply(null, e)
  12188. };
  12189. break;
  12190. case "average":
  12191. i = function(e) {
  12192. for(var t = 0, i = 0; i < e.length; i++) t += e[i];
  12193. return t / e.length
  12194. };
  12195. break;
  12196. default:
  12197. i = function(e) {
  12198. return e[0]
  12199. }
  12200. }
  12201. for(var r = [], s = 0; n > s; s++) {
  12202. var l = Math.floor(a / n * s),
  12203. h = Math.min(Math.floor(a / n * (s + 1)), a);
  12204. if(!(l >= h)) {
  12205. for(var m = l; h > m; m++) r[m - l] = "horizontal" === e ? t[m][1] : t[m][0];
  12206. r.length = h - l;
  12207. for(var V = i(r), U = -1, d = 1 / 0, m = l; h > m; m++) {
  12208. var p = "horizontal" === e ? t[m][1] : t[m][0],
  12209. c = Math.abs(p - V);
  12210. d > c && (U = m, d = c)
  12211. }
  12212. var u = t[U].slice();
  12213. "horizontal" === e ? u[1] = V : u[0] = V, o.push(u)
  12214. }
  12215. }
  12216. return o
  12217. },
  12218. _getSmooth: function(e) {
  12219. return e ? .3 : 0
  12220. },
  12221. _getCalculableItem: function(e, t, i, n, a, o) {
  12222. var r = this.series,
  12223. l = r[e].calculableHolderColor || this.ecTheme.calculableHolderColor || s.calculableHolderColor,
  12224. h = this._getSymbol(e, t, i, n, a, o);
  12225. return h.style.color = l, h.style.strokeColor = l, h.rotation = [0, 0], h.hoverable = !1, h.draggable = !1, h.style.text = void 0, h
  12226. },
  12227. _getSymbol: function(e, t, i, n, a, o) {
  12228. var r = this.series,
  12229. s = r[e],
  12230. l = s.data[t],
  12231. h = this.getSymbolShape(s, e, l, t, i, n, a, this._sIndex2ShapeMap[e], this._sIndex2ColorMap[e], "#fff", "vertical" === o ? "horizontal" : "vertical");
  12232. return h.zlevel = s.zlevel, h.z = s.z + 1, this.deepQuery([l, s, this.option], "calculable") && (this.setCalculable(h), h.draggable = !0), h
  12233. },
  12234. getMarkCoord: function(e, t) {
  12235. var i = this.series[e],
  12236. n = this.xMarkMap[e],
  12237. a = this.component.xAxis.getAxis(i.xAxisIndex),
  12238. o = this.component.yAxis.getAxis(i.yAxisIndex);
  12239. if(t.type && ("max" === t.type || "min" === t.type || "average" === t.type)) {
  12240. var r = null != t.valueIndex ? t.valueIndex : null != n.maxX0 ? "1" : "";
  12241. return [n[t.type + "X" + r], n[t.type + "Y" + r], n[t.type + "Line" + r], n[t.type + r]]
  12242. }
  12243. return ["string" != typeof t.xAxis && a.getCoordByIndex ? a.getCoordByIndex(t.xAxis || 0) : a.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && o.getCoordByIndex ? o.getCoordByIndex(t.yAxis || 0) : o.getCoord(t.yAxis || 0)]
  12244. },
  12245. refresh: function(e) {
  12246. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  12247. },
  12248. ontooltipHover: function(e, t) {
  12249. for(var i, n, a = e.seriesIndex, o = e.dataIndex, r = a.length; r--;)
  12250. if(i = this.finalPLMap[a[r]])
  12251. for(var s = 0, l = i.length; l > s; s++) {
  12252. n = i[s];
  12253. for(var h = 0, m = n.length; m > h; h++) o === n[h][2] && t.push(this._getSymbol(a[r], n[h][2], n[h][3], n[h][0], n[h][1], "horizontal"))
  12254. }
  12255. },
  12256. addDataAnimation: function(e, t) {
  12257. function i() {
  12258. c--, 0 === c && t && t()
  12259. }
  12260. function n(e) {
  12261. e.style.controlPointList = null
  12262. }
  12263. for(var a = this.series, o = {}, r = 0, s = e.length; s > r; r++) o[e[r][0]] = e[r];
  12264. for(var l, h, m, V, U, d, p, c = 0, r = this.shapeList.length - 1; r >= 0; r--)
  12265. if(U = this.shapeList[r]._seriesIndex, o[U] && !o[U][3]) {
  12266. if(this.shapeList[r]._main && this.shapeList[r].style.pointList.length > 1) {
  12267. if(d = this.shapeList[r].style.pointList, h = Math.abs(d[0][0] - d[1][0]), V = Math.abs(d[0][1] - d[1][1]), p = "horizontal" === this.shapeList[r]._orient, o[U][2]) {
  12268. if("half-smooth-polygon" === this.shapeList[r].type) {
  12269. var u = d.length;
  12270. this.shapeList[r].style.pointList[u - 3] = d[u - 2], this.shapeList[r].style.pointList[u - 3][p ? 0 : 1] = d[u - 4][p ? 0 : 1], this.shapeList[r].style.pointList[u - 2] = d[u - 1]
  12271. }
  12272. this.shapeList[r].style.pointList.pop(), p ? (l = h, m = 0) : (l = 0, m = -V)
  12273. } else {
  12274. if(this.shapeList[r].style.pointList.shift(), "half-smooth-polygon" === this.shapeList[r].type) {
  12275. var y = this.shapeList[r].style.pointList.pop();
  12276. p ? y[0] = d[0][0] : y[1] = d[0][1], this.shapeList[r].style.pointList.push(y)
  12277. }
  12278. p ? (l = -h, m = 0) : (l = 0, m = V)
  12279. }
  12280. this.shapeList[r].style.controlPointList = null, this.zr.modShape(this.shapeList[r])
  12281. } else {
  12282. if(o[U][2] && this.shapeList[r]._dataIndex === a[U].data.length - 1) {
  12283. this.zr.delShape(this.shapeList[r].id);
  12284. continue
  12285. }
  12286. if(!o[U][2] && 0 === this.shapeList[r]._dataIndex) {
  12287. this.zr.delShape(this.shapeList[r].id);
  12288. continue
  12289. }
  12290. }
  12291. this.shapeList[r].position = [0, 0], c++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {
  12292. position: [l, m]
  12293. }).during(n).done(i).start()
  12294. }
  12295. c || t && t()
  12296. }
  12297. }, o.prototype.iconLibrary.legendLineIcon = i, h.inherits(t, n), e("../chart").define("line", t), t
  12298. }), i("echarts/util/shape/HalfSmoothPolygon", ["require", "zrender/shape/Base", "zrender/shape/util/smoothBezier", "zrender/tool/util", "zrender/shape/Polygon"], function(e) {
  12299. function t(e) {
  12300. i.call(this, e)
  12301. }
  12302. var i = e("zrender/shape/Base"),
  12303. n = e("zrender/shape/util/smoothBezier"),
  12304. a = e("zrender/tool/util");
  12305. return t.prototype = {
  12306. type: "half-smooth-polygon",
  12307. buildPath: function(t, i) {
  12308. var a = i.pointList;
  12309. if(!(a.length < 2))
  12310. if(i.smooth) {
  12311. var o = n(a.slice(0, -2), i.smooth, !1, i.smoothConstraint);
  12312. t.moveTo(a[0][0], a[0][1]);
  12313. for(var r, s, l, h = a.length, m = 0; h - 3 > m; m++) r = o[2 * m], s = o[2 * m + 1], l = a[m + 1], t.bezierCurveTo(r[0], r[1], s[0], s[1], l[0], l[1]);
  12314. t.lineTo(a[h - 2][0], a[h - 2][1]), t.lineTo(a[h - 1][0], a[h - 1][1]), t.lineTo(a[0][0], a[0][1])
  12315. } else e("zrender/shape/Polygon").prototype.buildPath(t, i)
  12316. }
  12317. }, a.inherits(t, i), t
  12318. }), i("echarts/chart/bar", ["require", "./base", "zrender/shape/Rectangle", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
  12319. function t(e, t, n, a, o) {
  12320. i.call(this, e, t, n, a, o), this.refresh(a)
  12321. }
  12322. var i = e("./base"),
  12323. n = e("zrender/shape/Rectangle");
  12324. e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
  12325. var a = e("../config");
  12326. a.bar = {
  12327. zlevel: 0,
  12328. z: 2,
  12329. clickable: !0,
  12330. legendHoverLink: !0,
  12331. xAxisIndex: 0,
  12332. yAxisIndex: 0,
  12333. barMinHeight: 0,
  12334. barGap: "30%",
  12335. barCategoryGap: "20%",
  12336. itemStyle: {
  12337. normal: {
  12338. barBorderColor: "#fff",
  12339. barBorderRadius: 0,
  12340. barBorderWidth: 0,
  12341. label: {
  12342. show: !1
  12343. }
  12344. },
  12345. emphasis: {
  12346. barBorderColor: "#fff",
  12347. barBorderRadius: 0,
  12348. barBorderWidth: 0,
  12349. label: {
  12350. show: !1
  12351. }
  12352. }
  12353. }
  12354. };
  12355. var o = e("../util/ecData"),
  12356. r = e("zrender/tool/util"),
  12357. s = e("zrender/tool/color");
  12358. return t.prototype = {
  12359. type: a.CHART_TYPE_BAR,
  12360. _buildShape: function() {
  12361. this._buildPosition()
  12362. },
  12363. _buildNormal: function(e, t, i, o, r) {
  12364. for(var s, l, h, m, V, U, d, p, c, u, y, g, b = this.series, f = i[0][0], k = b[f], x = "horizontal" == r, _ = this.component.xAxis, L = this.component.yAxis, W = x ? _.getAxis(k.xAxisIndex) : L.getAxis(k.yAxisIndex), X = this._mapSize(W, i), v = X.gap, w = X.barGap, K = X.barWidthMap, I = X.barMaxWidthMap, J = X.barWidth, C = X.barMinHeightMap, S = X.interval, E = this.deepQuery([this.ecTheme, a], "island.r"), F = 0, T = t; T > F && null != W.getNameByIndex(F); F++) {
  12365. x ? m = W.getCoordByIndex(F) - v / 2 : V = W.getCoordByIndex(F) + v / 2;
  12366. for(var z = 0, A = i.length; A > z; z++) {
  12367. var M = b[i[z][0]].yAxisIndex || 0,
  12368. O = b[i[z][0]].xAxisIndex || 0;
  12369. s = x ? L.getAxis(M) : _.getAxis(O), d = U = c = p = s.getCoord(0);
  12370. for(var P = 0, D = i[z].length; D > P; P++) f = i[z][P], k = b[f], y = k.data[F], g = this.getDataFromOption(y, "-"), o[f] = o[f] || {
  12371. min: Number.POSITIVE_INFINITY,
  12372. max: Number.NEGATIVE_INFINITY,
  12373. sum: 0,
  12374. counter: 0,
  12375. average: 0
  12376. }, h = Math.min(I[f] || Number.MAX_VALUE, K[f] || J), "-" !== g && (g > 0 ? (l = P > 0 ? s.getCoordSize(g) : x ? d - s.getCoord(g) : s.getCoord(g) - d, 1 === D && C[f] > l && (l = C[f]), x ? (U -= l, V = U) : (m = U, U += l)) : 0 > g ? (l = P > 0 ? s.getCoordSize(g) : x ? s.getCoord(g) - c : c - s.getCoord(g), 1 === D && C[f] > l && (l = C[f]), x ? (V = p, p += l) : (p -= l, m = p)) : (l = 0, x ? (U -= l, V = U) : (m = U, U += l)), o[f][F] = x ? m + h / 2 : V - h / 2, o[f].min > g && (o[f].min = g, x ? (o[f].minY = V, o[f].minX = o[f][F]) : (o[f].minX = m + l, o[f].minY = o[f][F])), o[f].max < g && (o[f].max = g, x ? (o[f].maxY = V, o[f].maxX = o[f][F]) : (o[f].maxX = m + l, o[f].maxY = o[f][F])), o[f].sum += g, o[f].counter++, F % S === 0 && (u = this._getBarItem(f, F, W.getNameByIndex(F), m, V - (x ? 0 : h), x ? h : l, x ? l : h, x ? "vertical" : "horizontal"), this.shapeList.push(new n(u))));
  12377. for(var P = 0, D = i[z].length; D > P; P++) f = i[z][P], k = b[f], y = k.data[F], g = this.getDataFromOption(y, "-"), h = Math.min(I[f] || Number.MAX_VALUE, K[f] || J), "-" == g && this.deepQuery([y, k, this.option], "calculable") && (x ? (U -= E, V = U) : (m = U, U += E), u = this._getBarItem(f, F, W.getNameByIndex(F), m, V - (x ? 0 : h), x ? h : E, x ? E : h, x ? "vertical" : "horizontal"), u.hoverable = !1, u.draggable = !1, u.style.lineWidth = 1, u.style.brushType = "stroke", u.style.strokeColor = k.calculableHolderColor || this.ecTheme.calculableHolderColor || a.calculableHolderColor, this.shapeList.push(new n(u)));
  12378. x ? m += h + w : V -= h + w
  12379. }
  12380. }
  12381. this._calculMarkMapXY(o, i, x ? "y" : "x")
  12382. },
  12383. _buildHorizontal: function(e, t, i, n) {
  12384. return this._buildNormal(e, t, i, n, "horizontal")
  12385. },
  12386. _buildVertical: function(e, t, i, n) {
  12387. return this._buildNormal(e, t, i, n, "vertical")
  12388. },
  12389. _buildOther: function(e, t, i, a) {
  12390. for(var o = this.series, r = 0, s = i.length; s > r; r++)
  12391. for(var l = 0, h = i[r].length; h > l; l++) {
  12392. var m = i[r][l],
  12393. V = o[m],
  12394. U = V.xAxisIndex || 0,
  12395. d = this.component.xAxis.getAxis(U),
  12396. p = d.getCoord(0),
  12397. c = V.yAxisIndex || 0,
  12398. u = this.component.yAxis.getAxis(c),
  12399. y = u.getCoord(0);
  12400. a[m] = a[m] || {
  12401. min0: Number.POSITIVE_INFINITY,
  12402. min1: Number.POSITIVE_INFINITY,
  12403. max0: Number.NEGATIVE_INFINITY,
  12404. max1: Number.NEGATIVE_INFINITY,
  12405. sum0: 0,
  12406. sum1: 0,
  12407. counter0: 0,
  12408. counter1: 0,
  12409. average0: 0,
  12410. average1: 0
  12411. };
  12412. for(var g = 0, b = V.data.length; b > g; g++) {
  12413. var f = V.data[g],
  12414. k = this.getDataFromOption(f, "-");
  12415. if(k instanceof Array) {
  12416. var x, _, L = d.getCoord(k[0]),
  12417. W = u.getCoord(k[1]),
  12418. X = [f, V],
  12419. v = this.deepQuery(X, "barWidth") || 10,
  12420. w = this.deepQuery(X, "barHeight");
  12421. null != w ? (x = "horizontal", k[0] > 0 ? (v = L - p, L -= v) : v = k[0] < 0 ? p - L : 0, _ = this._getBarItem(m, g, k[0], L, W - w / 2, v, w, x)) : (x = "vertical", k[1] > 0 ? w = y - W : k[1] < 0 ? (w = W - y, W -= w) : w = 0, _ = this._getBarItem(m, g, k[0], L - v / 2, W, v, w, x)), this.shapeList.push(new n(_)), L = d.getCoord(k[0]), W = u.getCoord(k[1]), a[m].min0 > k[0] && (a[m].min0 = k[0], a[m].minY0 = W, a[m].minX0 = L), a[m].max0 < k[0] && (a[m].max0 = k[0], a[m].maxY0 = W, a[m].maxX0 = L), a[m].sum0 += k[0], a[m].counter0++, a[m].min1 > k[1] && (a[m].min1 = k[1], a[m].minY1 = W, a[m].minX1 = L), a[m].max1 < k[1] && (a[m].max1 = k[1], a[m].maxY1 = W, a[m].maxX1 = L), a[m].sum1 += k[1], a[m].counter1++
  12422. }
  12423. }
  12424. }
  12425. this._calculMarkMapXY(a, i, "xy")
  12426. },
  12427. _mapSize: function(e, t, i) {
  12428. var n, a, o = this._findSpecialBarSzie(t, i),
  12429. r = o.barWidthMap,
  12430. s = o.barMaxWidthMap,
  12431. l = o.barMinHeightMap,
  12432. h = o.sBarWidthCounter,
  12433. m = o.sBarWidthTotal,
  12434. V = o.barGap,
  12435. U = o.barCategoryGap,
  12436. d = 1;
  12437. if(t.length != h) {
  12438. if(i) n = e.getGap(), V = 0, a = +(n / t.length).toFixed(2), 0 >= a && (d = Math.floor(t.length / n), a = 1);
  12439. else if(n = "string" == typeof U && U.match(/%$/) ? (e.getGap() * (100 - parseFloat(U)) / 100).toFixed(2) - 0 : e.getGap() - U, "string" == typeof V && V.match(/%$/) ? (V = parseFloat(V) / 100, a = +((n - m) / ((t.length - 1) * V + t.length - h)).toFixed(2), V = a * V) : (V = parseFloat(V), a = +((n - m - V * (t.length - 1)) / (t.length - h)).toFixed(2)), 0 >= a) return this._mapSize(e, t, !0)
  12440. } else if(n = h > 1 ? "string" == typeof U && U.match(/%$/) ? +(e.getGap() * (100 - parseFloat(U)) / 100).toFixed(2) : e.getGap() - U : m, a = 0, V = h > 1 ? +((n - m) / (h - 1)).toFixed(2) : 0, 0 > V) return this._mapSize(e, t, !0);
  12441. return this._recheckBarMaxWidth(t, r, s, l, n, a, V, d)
  12442. },
  12443. _findSpecialBarSzie: function(e, t) {
  12444. for(var i, n, a, o, r = this.series, s = {}, l = {}, h = {}, m = 0, V = 0, U = 0, d = e.length; d > U; U++)
  12445. for(var p = {
  12446. barWidth: !1,
  12447. barMaxWidth: !1
  12448. }, c = 0, u = e[U].length; u > c; c++) {
  12449. var y = e[U][c],
  12450. g = r[y];
  12451. if(!t) {
  12452. if(p.barWidth) s[y] = i;
  12453. else if(i = this.query(g, "barWidth"), null != i) {
  12454. s[y] = i, V += i, m++, p.barWidth = !0;
  12455. for(var b = 0, f = c; f > b; b++) {
  12456. var k = e[U][b];
  12457. s[k] = i
  12458. }
  12459. }
  12460. if(p.barMaxWidth) l[y] = n;
  12461. else if(n = this.query(g, "barMaxWidth"), null != n) {
  12462. l[y] = n, p.barMaxWidth = !0;
  12463. for(var b = 0, f = c; f > b; b++) {
  12464. var k = e[U][b];
  12465. l[k] = n
  12466. }
  12467. }
  12468. }
  12469. h[y] = this.query(g, "barMinHeight"), a = null != a ? a : this.query(g, "barGap"), o = null != o ? o : this.query(g, "barCategoryGap")
  12470. }
  12471. return {
  12472. barWidthMap: s,
  12473. barMaxWidthMap: l,
  12474. barMinHeightMap: h,
  12475. sBarWidth: i,
  12476. sBarMaxWidth: n,
  12477. sBarWidthCounter: m,
  12478. sBarWidthTotal: V,
  12479. barGap: a,
  12480. barCategoryGap: o
  12481. }
  12482. },
  12483. _recheckBarMaxWidth: function(e, t, i, n, a, o, r, s) {
  12484. for(var l = 0, h = e.length; h > l; l++) {
  12485. var m = e[l][0];
  12486. i[m] && i[m] < o && (a -= o - i[m])
  12487. }
  12488. return {
  12489. barWidthMap: t,
  12490. barMaxWidthMap: i,
  12491. barMinHeightMap: n,
  12492. gap: a,
  12493. barWidth: o,
  12494. barGap: r,
  12495. interval: s
  12496. }
  12497. },
  12498. _getBarItem: function(e, t, i, n, a, r, l, h) {
  12499. var m, V = this.series,
  12500. U = V[e],
  12501. d = U.data[t],
  12502. p = this._sIndex2ColorMap[e],
  12503. c = [d, U],
  12504. u = this.deepMerge(c, "itemStyle.normal"),
  12505. y = this.deepMerge(c, "itemStyle.emphasis"),
  12506. g = u.barBorderWidth;
  12507. m = {
  12508. zlevel: U.zlevel,
  12509. z: U.z,
  12510. clickable: this.deepQuery(c, "clickable"),
  12511. style: {
  12512. x: n,
  12513. y: a,
  12514. width: r,
  12515. height: l,
  12516. brushType: "both",
  12517. color: this.getItemStyleColor(this.deepQuery(c, "itemStyle.normal.color") || p, e, t, d),
  12518. radius: u.barBorderRadius,
  12519. lineWidth: g,
  12520. strokeColor: u.barBorderColor
  12521. },
  12522. highlightStyle: {
  12523. color: this.getItemStyleColor(this.deepQuery(c, "itemStyle.emphasis.color"), e, t, d),
  12524. radius: y.barBorderRadius,
  12525. lineWidth: y.barBorderWidth,
  12526. strokeColor: y.barBorderColor
  12527. },
  12528. _orient: h
  12529. };
  12530. var b = m.style;
  12531. m.highlightStyle.color = m.highlightStyle.color || ("string" == typeof b.color ? s.lift(b.color, -.3) : b.color), b.x = Math.floor(b.x), b.y = Math.floor(b.y), b.height = Math.ceil(b.height), b.width = Math.ceil(b.width), g > 0 && b.height > g && b.width > g ? (b.y += g / 2, b.height -= g, b.x += g / 2, b.width -= g) : b.brushType = "fill", m.highlightStyle.textColor = m.highlightStyle.color, m = this.addLabel(m, U, d, i, h);
  12532. for(var f = [b, m.highlightStyle], k = 0, x = f.length; x > k; k++) {
  12533. var _ = f[k].textPosition;
  12534. if("insideLeft" === _ || "insideRight" === _ || "insideTop" === _ || "insideBottom" === _) {
  12535. var L = 5;
  12536. switch(_) {
  12537. case "insideLeft":
  12538. f[k].textX = b.x + L, f[k].textY = b.y + b.height / 2, f[k].textAlign = "left", f[k].textBaseline = "middle";
  12539. break;
  12540. case "insideRight":
  12541. f[k].textX = b.x + b.width - L, f[k].textY = b.y + b.height / 2, f[k].textAlign = "right", f[k].textBaseline = "middle";
  12542. break;
  12543. case "insideTop":
  12544. f[k].textX = b.x + b.width / 2, f[k].textY = b.y + L / 2, f[k].textAlign = "center", f[k].textBaseline = "top";
  12545. break;
  12546. case "insideBottom":
  12547. f[k].textX = b.x + b.width / 2, f[k].textY = b.y + b.height - L / 2, f[k].textAlign = "center", f[k].textBaseline = "bottom"
  12548. }
  12549. f[k].textPosition = "specific", f[k].textColor = f[k].textColor || "#fff"
  12550. }
  12551. }
  12552. return this.deepQuery([d, U, this.option], "calculable") && (this.setCalculable(m), m.draggable = !0), o.pack(m, V[e], e, V[e].data[t], t, i), m
  12553. },
  12554. getMarkCoord: function(e, t) {
  12555. var i, n, a = this.series[e],
  12556. o = this.xMarkMap[e],
  12557. r = this.component.xAxis.getAxis(a.xAxisIndex),
  12558. s = this.component.yAxis.getAxis(a.yAxisIndex);
  12559. if(!t.type || "max" !== t.type && "min" !== t.type && "average" !== t.type)
  12560. if(o.isHorizontal) {
  12561. i = "string" == typeof t.xAxis && r.getIndexByName ? r.getIndexByName(t.xAxis) : t.xAxis || 0;
  12562. var l = o[i];
  12563. l = null != l ? l : "string" != typeof t.xAxis && r.getCoordByIndex ? r.getCoordByIndex(t.xAxis || 0) : r.getCoord(t.xAxis || 0), n = [l, s.getCoord(t.yAxis || 0)]
  12564. } else {
  12565. i = "string" == typeof t.yAxis && s.getIndexByName ? s.getIndexByName(t.yAxis) : t.yAxis || 0;
  12566. var h = o[i];
  12567. h = null != h ? h : "string" != typeof t.yAxis && s.getCoordByIndex ? s.getCoordByIndex(t.yAxis || 0) : s.getCoord(t.yAxis || 0), n = [r.getCoord(t.xAxis || 0), h]
  12568. }
  12569. else {
  12570. var m = null != t.valueIndex ? t.valueIndex : null != o.maxX0 ? "1" : "";
  12571. n = [o[t.type + "X" + m], o[t.type + "Y" + m], o[t.type + "Line" + m], o[t.type + m]]
  12572. }
  12573. return n
  12574. },
  12575. refresh: function(e) {
  12576. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  12577. },
  12578. addDataAnimation: function(e, t) {
  12579. function i() {
  12580. c--, 0 === c && t && t()
  12581. }
  12582. for(var n = this.series, a = {}, r = 0, s = e.length; s > r; r++) a[e[r][0]] = e[r];
  12583. for(var l, h, m, V, U, d, p, c = 0, r = this.shapeList.length - 1; r >= 0; r--)
  12584. if(d = o.get(this.shapeList[r], "seriesIndex"), a[d] && !a[d][3] && "rectangle" === this.shapeList[r].type) {
  12585. if(p = o.get(this.shapeList[r], "dataIndex"), U = n[d], a[d][2] && p === U.data.length - 1) {
  12586. this.zr.delShape(this.shapeList[r].id);
  12587. continue
  12588. }
  12589. if(!a[d][2] && 0 === p) {
  12590. this.zr.delShape(this.shapeList[r].id);
  12591. continue
  12592. }
  12593. "horizontal" === this.shapeList[r]._orient ? (V = this.component.yAxis.getAxis(U.yAxisIndex || 0).getGap(), m = a[d][2] ? -V : V, l = 0) : (h = this.component.xAxis.getAxis(U.xAxisIndex || 0).getGap(), l = a[d][2] ? h : -h, m = 0), this.shapeList[r].position = [0, 0], c++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {
  12594. position: [l, m]
  12595. }).done(i).start()
  12596. }
  12597. c || t && t()
  12598. }
  12599. }, r.inherits(t, i), e("../chart").define("bar", t), t
  12600. }), i("echarts/chart/scatter", ["require", "./base", "../util/shape/Symbol", "../component/axis", "../component/grid", "../component/dataZoom", "../component/dataRange", "../config", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
  12601. function t(e, t, n, a, o) {
  12602. i.call(this, e, t, n, a, o), this.refresh(a)
  12603. }
  12604. var i = e("./base"),
  12605. n = e("../util/shape/Symbol");
  12606. e("../component/axis"), e("../component/grid"), e("../component/dataZoom"), e("../component/dataRange");
  12607. var a = e("../config");
  12608. a.scatter = {
  12609. zlevel: 0,
  12610. z: 2,
  12611. clickable: !0,
  12612. legendHoverLink: !0,
  12613. xAxisIndex: 0,
  12614. yAxisIndex: 0,
  12615. symbolSize: 4,
  12616. large: !1,
  12617. largeThreshold: 2e3,
  12618. itemStyle: {
  12619. normal: {
  12620. label: {
  12621. show: !1
  12622. }
  12623. },
  12624. emphasis: {
  12625. label: {
  12626. show: !1
  12627. }
  12628. }
  12629. }
  12630. };
  12631. var o = e("zrender/tool/util"),
  12632. r = e("zrender/tool/color");
  12633. return t.prototype = {
  12634. type: a.CHART_TYPE_SCATTER,
  12635. _buildShape: function() {
  12636. var e = this.series;
  12637. this._sIndex2ColorMap = {}, this._symbol = this.option.symbolList, this._sIndex2ShapeMap = {}, this.selectedMap = {}, this.xMarkMap = {};
  12638. for(var t, i, n, o, s = this.component.legend, l = [], h = 0, m = e.length; m > h; h++)
  12639. if(t = e[h], i = t.name, t.type === a.CHART_TYPE_SCATTER) {
  12640. if(e[h] = this.reformOption(e[h]), this.legendHoverLink = e[h].legendHoverLink || this.legendHoverLink, this._sIndex2ShapeMap[h] = this.query(t, "symbol") || this._symbol[h % this._symbol.length], s) {
  12641. if(this.selectedMap[i] = s.isSelected(i), this._sIndex2ColorMap[h] = r.alpha(s.getColor(i), .5), n = s.getItemShape(i)) {
  12642. var o = this._sIndex2ShapeMap[h];
  12643. n.style.brushType = o.match("empty") ? "stroke" : "both", o = o.replace("empty", "").toLowerCase(), o.match("rectangle") && (n.style.x += Math.round((n.style.width - n.style.height) / 2), n.style.width = n.style.height), o.match("star") && (n.style.n = o.replace("star", "") - 0 || 5, o = "star"), o.match("image") && (n.style.image = o.replace(new RegExp("^image:\\/\\/"), ""), n.style.x += Math.round((n.style.width - n.style.height) / 2), n.style.width = n.style.height, o = "image"), n.style.iconType = o, s.setItemShape(i, n)
  12644. }
  12645. } else this.selectedMap[i] = !0, this._sIndex2ColorMap[h] = r.alpha(this.zr.getColor(h), .5);
  12646. this.selectedMap[i] && l.push(h)
  12647. }
  12648. this._buildSeries(l), this.addShapeList()
  12649. },
  12650. _buildSeries: function(e) {
  12651. if(0 !== e.length) {
  12652. for(var t, i, n, a, o, r, s, l, h = this.series, m = {}, V = 0, U = e.length; U > V; V++)
  12653. if(t = e[V], i = h[t], 0 !== i.data.length) {
  12654. o = this.component.xAxis.getAxis(i.xAxisIndex || 0), r = this.component.yAxis.getAxis(i.yAxisIndex || 0), m[t] = [];
  12655. for(var d = 0, p = i.data.length; p > d; d++) n = i.data[d], a = this.getDataFromOption(n, "-"), "-" === a || a.length < 2 || (s = o.getCoord(a[0]), l = r.getCoord(a[1]), m[t].push([s, l, d, n.name || ""]));
  12656. this.xMarkMap[t] = this._markMap(o, r, i.data, m[t]), this.buildMark(t)
  12657. }
  12658. this._buildPointList(m)
  12659. }
  12660. },
  12661. _markMap: function(e, t, i, n) {
  12662. for(var a, o = {
  12663. min0: Number.POSITIVE_INFINITY,
  12664. max0: Number.NEGATIVE_INFINITY,
  12665. sum0: 0,
  12666. counter0: 0,
  12667. average0: 0,
  12668. min1: Number.POSITIVE_INFINITY,
  12669. max1: Number.NEGATIVE_INFINITY,
  12670. sum1: 0,
  12671. counter1: 0,
  12672. average1: 0
  12673. }, r = 0, s = n.length; s > r; r++) a = i[n[r][2]].value || i[n[r][2]], o.min0 > a[0] && (o.min0 = a[0], o.minY0 = n[r][1], o.minX0 = n[r][0]), o.max0 < a[0] && (o.max0 = a[0], o.maxY0 = n[r][1], o.maxX0 = n[r][0]), o.sum0 += a[0], o.counter0++, o.min1 > a[1] && (o.min1 = a[1], o.minY1 = n[r][1], o.minX1 = n[r][0]), o.max1 < a[1] && (o.max1 = a[1], o.maxY1 = n[r][1], o.maxX1 = n[r][0]), o.sum1 += a[1], o.counter1++;
  12674. var l = this.component.grid.getX(),
  12675. h = this.component.grid.getXend(),
  12676. m = this.component.grid.getY(),
  12677. V = this.component.grid.getYend();
  12678. o.average0 = o.sum0 / o.counter0;
  12679. var U = e.getCoord(o.average0);
  12680. o.averageLine0 = [
  12681. [U, V],
  12682. [U, m]
  12683. ], o.minLine0 = [
  12684. [o.minX0, V],
  12685. [o.minX0, m]
  12686. ], o.maxLine0 = [
  12687. [o.maxX0, V],
  12688. [o.maxX0, m]
  12689. ], o.average1 = o.sum1 / o.counter1;
  12690. var d = t.getCoord(o.average1);
  12691. return o.averageLine1 = [
  12692. [l, d],
  12693. [h, d]
  12694. ], o.minLine1 = [
  12695. [l, o.minY1],
  12696. [h, o.minY1]
  12697. ], o.maxLine1 = [
  12698. [l, o.maxY1],
  12699. [h, o.maxY1]
  12700. ], o
  12701. },
  12702. _buildPointList: function(e) {
  12703. var t, i, n, a, o = this.series;
  12704. for(var r in e)
  12705. if(t = o[r], i = e[r], t.large && t.data.length > t.largeThreshold) this.shapeList.push(this._getLargeSymbol(t, i, this.getItemStyleColor(this.query(t, "itemStyle.normal.color"), r, -1) || this._sIndex2ColorMap[r]));
  12706. else
  12707. for(var s = 0, l = i.length; l > s; s++) n = i[s], a = this._getSymbol(r, n[2], n[3], n[0], n[1]), a && this.shapeList.push(a)
  12708. },
  12709. _getSymbol: function(e, t, i, n, a) {
  12710. var o, r = this.series,
  12711. s = r[e],
  12712. l = s.data[t],
  12713. h = this.component.dataRange;
  12714. if(h) {
  12715. if(o = isNaN(l[2]) ? this._sIndex2ColorMap[e] : h.getColor(l[2]), !o) return null
  12716. } else o = this._sIndex2ColorMap[e];
  12717. var m = this.getSymbolShape(s, e, l, t, i, n, a, this._sIndex2ShapeMap[e], o, "rgba(0,0,0,0)", "vertical");
  12718. return m.zlevel = s.zlevel, m.z = s.z, m._main = !0, m
  12719. },
  12720. _getLargeSymbol: function(e, t, i) {
  12721. return new n({
  12722. zlevel: e.zlevel,
  12723. z: e.z,
  12724. _main: !0,
  12725. hoverable: !1,
  12726. style: {
  12727. pointList: t,
  12728. color: i,
  12729. strokeColor: i
  12730. },
  12731. highlightStyle: {
  12732. pointList: []
  12733. }
  12734. })
  12735. },
  12736. getMarkCoord: function(e, t) {
  12737. var i, n = this.series[e],
  12738. a = this.xMarkMap[e],
  12739. o = this.component.xAxis.getAxis(n.xAxisIndex),
  12740. r = this.component.yAxis.getAxis(n.yAxisIndex);
  12741. if(!t.type || "max" !== t.type && "min" !== t.type && "average" !== t.type) i = ["string" != typeof t.xAxis && o.getCoordByIndex ? o.getCoordByIndex(t.xAxis || 0) : o.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && r.getCoordByIndex ? r.getCoordByIndex(t.yAxis || 0) : r.getCoord(t.yAxis || 0)];
  12742. else {
  12743. var s = null != t.valueIndex ? t.valueIndex : 1;
  12744. i = [a[t.type + "X" + s], a[t.type + "Y" + s], a[t.type + "Line" + s], a[t.type + s]]
  12745. }
  12746. return i
  12747. },
  12748. refresh: function(e) {
  12749. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  12750. },
  12751. ondataRange: function(e, t) {
  12752. this.component.dataRange && (this.refresh(), t.needRefresh = !0)
  12753. }
  12754. }, o.inherits(t, i), e("../chart").define("scatter", t), t
  12755. }), i("echarts/component/dataRange", ["require", "./base", "zrender/shape/Text", "zrender/shape/Rectangle", "../util/shape/HandlePolygon", "../config", "zrender/tool/util", "zrender/tool/event", "zrender/tool/area", "zrender/tool/color", "../component"], function(e) {
  12756. function t(e, t, n, a, o) {
  12757. i.call(this, e, t, n, a, o);
  12758. var s = this;
  12759. s._ondrift = function(e, t) {
  12760. return s.__ondrift(this, e, t)
  12761. }, s._ondragend = function() {
  12762. return s.__ondragend()
  12763. }, s._dataRangeSelected = function(e) {
  12764. return s.__dataRangeSelected(e)
  12765. }, s._dispatchHoverLink = function(e) {
  12766. return s.__dispatchHoverLink(e)
  12767. }, s._onhoverlink = function(e) {
  12768. return s.__onhoverlink(e);
  12769. }, this._selectedMap = {}, this._range = {}, this.refresh(a), t.bind(r.EVENT.HOVER, this._onhoverlink)
  12770. }
  12771. var i = e("./base"),
  12772. n = e("zrender/shape/Text"),
  12773. a = e("zrender/shape/Rectangle"),
  12774. o = e("../util/shape/HandlePolygon"),
  12775. r = e("../config");
  12776. r.dataRange = {
  12777. zlevel: 0,
  12778. z: 4,
  12779. show: !0,
  12780. orient: "vertical",
  12781. x: "left",
  12782. y: "bottom",
  12783. backgroundColor: "rgba(0,0,0,0)",
  12784. borderColor: "#ccc",
  12785. borderWidth: 0,
  12786. padding: 5,
  12787. itemGap: 10,
  12788. itemWidth: 20,
  12789. itemHeight: 14,
  12790. precision: 0,
  12791. splitNumber: 5,
  12792. splitList: null,
  12793. calculable: !1,
  12794. selectedMode: !0,
  12795. hoverLink: !0,
  12796. realtime: !0,
  12797. color: ["#006edd", "#e0ffff"],
  12798. textStyle: {
  12799. color: "#333"
  12800. }
  12801. };
  12802. var s = e("zrender/tool/util"),
  12803. l = e("zrender/tool/event"),
  12804. h = e("zrender/tool/area"),
  12805. m = e("zrender/tool/color");
  12806. return t.prototype = {
  12807. type: r.COMPONENT_TYPE_DATARANGE,
  12808. _textGap: 10,
  12809. _buildShape: function() {
  12810. if(this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._isContinuity() ? this._buildGradient() : this._buildItem(), this.dataRangeOption.show)
  12811. for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]);
  12812. this._syncShapeFromRange()
  12813. },
  12814. _buildItem: function() {
  12815. var e, t, i, o, r = this._valueTextList,
  12816. s = r.length,
  12817. l = this.getFont(this.dataRangeOption.textStyle),
  12818. m = this._itemGroupLocation.x,
  12819. V = this._itemGroupLocation.y,
  12820. U = this.dataRangeOption.itemWidth,
  12821. d = this.dataRangeOption.itemHeight,
  12822. p = this.dataRangeOption.itemGap,
  12823. c = h.getTextHeight("国", l);
  12824. "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (m = this._itemGroupLocation.x + this._itemGroupLocation.width - U);
  12825. var u = !0;
  12826. this.dataRangeOption.text && (u = !1, this.dataRangeOption.text[0] && (i = this._getTextShape(m, V, this.dataRangeOption.text[0]), "horizontal" == this.dataRangeOption.orient ? m += h.getTextWidth(this.dataRangeOption.text[0], l) + this._textGap : (V += c + this._textGap, i.style.y += c / 2 + this._textGap, i.style.textBaseline = "bottom"), this.shapeList.push(new n(i))));
  12827. for(var y = 0; s > y; y++) e = r[y], o = this.getColorByIndex(y), t = this._getItemShape(m, V, U, d, this._selectedMap[y] ? o : "#ccc"), t._idx = y, t.onmousemove = this._dispatchHoverLink, this.dataRangeOption.selectedMode && (t.clickable = !0, t.onclick = this._dataRangeSelected), this.shapeList.push(new a(t)), u && (i = {
  12828. zlevel: this.getZlevelBase(),
  12829. z: this.getZBase(),
  12830. style: {
  12831. x: m + U + 5,
  12832. y: V,
  12833. color: this._selectedMap[y] ? this.dataRangeOption.textStyle.color : "#ccc",
  12834. text: r[y],
  12835. textFont: l,
  12836. textBaseline: "top"
  12837. },
  12838. highlightStyle: {
  12839. brushType: "fill"
  12840. }
  12841. }, "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (i.style.x -= U + 10, i.style.textAlign = "right"), i._idx = y, i.onmousemove = this._dispatchHoverLink, this.dataRangeOption.selectedMode && (i.clickable = !0, i.onclick = this._dataRangeSelected), this.shapeList.push(new n(i))), "horizontal" == this.dataRangeOption.orient ? m += U + (u ? 5 : 0) + (u ? h.getTextWidth(e, l) : 0) + p : V += d + p;
  12842. !u && this.dataRangeOption.text[1] && ("horizontal" == this.dataRangeOption.orient ? m = m - p + this._textGap : V = V - p + this._textGap, i = this._getTextShape(m, V, this.dataRangeOption.text[1]), "horizontal" != this.dataRangeOption.orient && (i.style.y -= 5, i.style.textBaseline = "top"), this.shapeList.push(new n(i)))
  12843. },
  12844. _buildGradient: function() {
  12845. var t, i, o = this.getFont(this.dataRangeOption.textStyle),
  12846. r = this._itemGroupLocation.x,
  12847. s = this._itemGroupLocation.y,
  12848. l = this.dataRangeOption.itemWidth,
  12849. m = this.dataRangeOption.itemHeight,
  12850. V = h.getTextHeight("国", o),
  12851. U = 10,
  12852. d = !0;
  12853. this.dataRangeOption.text && (d = !1, this.dataRangeOption.text[0] && (i = this._getTextShape(r, s, this.dataRangeOption.text[0]), "horizontal" == this.dataRangeOption.orient ? r += h.getTextWidth(this.dataRangeOption.text[0], o) + this._textGap : (s += V + this._textGap, i.style.y += V / 2 + this._textGap, i.style.textBaseline = "bottom"), this.shapeList.push(new n(i))));
  12854. for(var p = e("zrender/tool/color"), c = 1 / (this.dataRangeOption.color.length - 1), u = [], y = 0, g = this.dataRangeOption.color.length; g > y; y++) u.push([y * c, this.dataRangeOption.color[y]]);
  12855. "horizontal" == this.dataRangeOption.orient ? (t = {
  12856. zlevel: this.getZlevelBase(),
  12857. z: this.getZBase(),
  12858. style: {
  12859. x: r,
  12860. y: s,
  12861. width: l * U,
  12862. height: m,
  12863. color: p.getLinearGradient(r, s, r + l * U, s, u)
  12864. },
  12865. hoverable: !1
  12866. }, r += l * U + this._textGap) : (t = {
  12867. zlevel: this.getZlevelBase(),
  12868. z: this.getZBase(),
  12869. style: {
  12870. x: r,
  12871. y: s,
  12872. width: l,
  12873. height: m * U,
  12874. color: p.getLinearGradient(r, s, r, s + m * U, u)
  12875. },
  12876. hoverable: !1
  12877. }, s += m * U + this._textGap), this.shapeList.push(new a(t)), this._calculableLocation = t.style, this.dataRangeOption.calculable && (this._buildFiller(), this._bulidMask(), this._bulidHandle()), this._buildIndicator(), !d && this.dataRangeOption.text[1] && (i = this._getTextShape(r, s, this.dataRangeOption.text[1]), this.shapeList.push(new n(i)))
  12878. },
  12879. _buildIndicator: function() {
  12880. var e, t, i = this._calculableLocation.x,
  12881. n = this._calculableLocation.y,
  12882. a = this._calculableLocation.width,
  12883. r = this._calculableLocation.height,
  12884. s = 5;
  12885. "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (e = [
  12886. [i, n + r],
  12887. [i - s, n + r + s],
  12888. [i + s, n + r + s]
  12889. ], t = "bottom") : (e = [
  12890. [i, n],
  12891. [i - s, n - s],
  12892. [i + s, n - s]
  12893. ], t = "top") : "right" != this.dataRangeOption.x ? (e = [
  12894. [i + a, n],
  12895. [i + a + s, n - s],
  12896. [i + a + s, n + s]
  12897. ], t = "right") : (e = [
  12898. [i, n],
  12899. [i - s, n - s],
  12900. [i - s, n + s]
  12901. ], t = "left"), this._indicatorShape = {
  12902. style: {
  12903. pointList: e,
  12904. color: "#fff",
  12905. __rect: {
  12906. x: Math.min(e[0][0], e[1][0]),
  12907. y: Math.min(e[0][1], e[1][1]),
  12908. width: s * ("horizontal" == this.dataRangeOption.orient ? 2 : 1),
  12909. height: s * ("horizontal" == this.dataRangeOption.orient ? 1 : 2)
  12910. }
  12911. },
  12912. highlightStyle: {
  12913. brushType: "fill",
  12914. textPosition: t,
  12915. textColor: this.dataRangeOption.textStyle.color
  12916. },
  12917. hoverable: !1
  12918. }, this._indicatorShape = new o(this._indicatorShape)
  12919. },
  12920. _buildFiller: function() {
  12921. this._fillerShape = {
  12922. zlevel: this.getZlevelBase(),
  12923. z: this.getZBase() + 1,
  12924. style: {
  12925. x: this._calculableLocation.x,
  12926. y: this._calculableLocation.y,
  12927. width: this._calculableLocation.width,
  12928. height: this._calculableLocation.height,
  12929. color: "rgba(255,255,255,0)"
  12930. },
  12931. highlightStyle: {
  12932. strokeColor: "rgba(255,255,255,0.5)",
  12933. lineWidth: 1
  12934. },
  12935. draggable: !0,
  12936. ondrift: this._ondrift,
  12937. ondragend: this._ondragend,
  12938. onmousemove: this._dispatchHoverLink,
  12939. _type: "filler"
  12940. }, this._fillerShape = new a(this._fillerShape), this.shapeList.push(this._fillerShape)
  12941. },
  12942. _bulidHandle: function() {
  12943. var e, t, i, n, a, r, s, l, m = this._calculableLocation.x,
  12944. V = this._calculableLocation.y,
  12945. U = this._calculableLocation.width,
  12946. d = this._calculableLocation.height,
  12947. p = this.getFont(this.dataRangeOption.textStyle),
  12948. c = h.getTextHeight("国", p),
  12949. u = Math.max(h.getTextWidth(this._textFormat(this.dataRangeOption.max), p), h.getTextWidth(this._textFormat(this.dataRangeOption.min), p)) + 2;
  12950. "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (e = [
  12951. [m, V],
  12952. [m, V + d + c],
  12953. [m - c, V + d + c],
  12954. [m - 1, V + d],
  12955. [m - 1, V]
  12956. ], t = m - u / 2 - c, i = V + d + c / 2 + 2, n = {
  12957. x: m - u - c,
  12958. y: V + d,
  12959. width: u + c,
  12960. height: c
  12961. }, a = [
  12962. [m + U, V],
  12963. [m + U, V + d + c],
  12964. [m + U + c, V + d + c],
  12965. [m + U + 1, V + d],
  12966. [m + U + 1, V]
  12967. ], r = m + U + u / 2 + c, s = i, l = {
  12968. x: m + U,
  12969. y: V + d,
  12970. width: u + c,
  12971. height: c
  12972. }) : (e = [
  12973. [m, V + d],
  12974. [m, V - c],
  12975. [m - c, V - c],
  12976. [m - 1, V],
  12977. [m - 1, V + d]
  12978. ], t = m - u / 2 - c, i = V - c / 2 - 2, n = {
  12979. x: m - u - c,
  12980. y: V - c,
  12981. width: u + c,
  12982. height: c
  12983. }, a = [
  12984. [m + U, V + d],
  12985. [m + U, V - c],
  12986. [m + U + c, V - c],
  12987. [m + U + 1, V],
  12988. [m + U + 1, V + d]
  12989. ], r = m + U + u / 2 + c, s = i, l = {
  12990. x: m + U,
  12991. y: V - c,
  12992. width: u + c,
  12993. height: c
  12994. }) : (u += c, "right" != this.dataRangeOption.x ? (e = [
  12995. [m, V],
  12996. [m + U + c, V],
  12997. [m + U + c, V - c],
  12998. [m + U, V - 1],
  12999. [m, V - 1]
  13000. ], t = m + U + u / 2 + c / 2, i = V - c / 2, n = {
  13001. x: m + U,
  13002. y: V - c,
  13003. width: u + c,
  13004. height: c
  13005. }, a = [
  13006. [m, V + d],
  13007. [m + U + c, V + d],
  13008. [m + U + c, V + c + d],
  13009. [m + U, V + 1 + d],
  13010. [m, V + d + 1]
  13011. ], r = t, s = V + d + c / 2, l = {
  13012. x: m + U,
  13013. y: V + d,
  13014. width: u + c,
  13015. height: c
  13016. }) : (e = [
  13017. [m + U, V],
  13018. [m - c, V],
  13019. [m - c, V - c],
  13020. [m, V - 1],
  13021. [m + U, V - 1]
  13022. ], t = m - u / 2 - c / 2, i = V - c / 2, n = {
  13023. x: m - u - c,
  13024. y: V - c,
  13025. width: u + c,
  13026. height: c
  13027. }, a = [
  13028. [m + U, V + d],
  13029. [m - c, V + d],
  13030. [m - c, V + c + d],
  13031. [m, V + 1 + d],
  13032. [m + U, V + d + 1]
  13033. ], r = t, s = V + d + c / 2, l = {
  13034. x: m - u - c,
  13035. y: V + d,
  13036. width: u + c,
  13037. height: c
  13038. })), this._startShape = {
  13039. style: {
  13040. pointList: e,
  13041. text: this._textFormat(this.dataRangeOption.max),
  13042. textX: t,
  13043. textY: i,
  13044. textFont: p,
  13045. color: this.getColor(this.dataRangeOption.max),
  13046. rect: n,
  13047. x: e[0][0],
  13048. y: e[0][1],
  13049. _x: e[0][0],
  13050. _y: e[0][1]
  13051. }
  13052. }, this._startShape.highlightStyle = {
  13053. strokeColor: this._startShape.style.color,
  13054. lineWidth: 1
  13055. }, this._endShape = {
  13056. style: {
  13057. pointList: a,
  13058. text: this._textFormat(this.dataRangeOption.min),
  13059. textX: r,
  13060. textY: s,
  13061. textFont: p,
  13062. color: this.getColor(this.dataRangeOption.min),
  13063. rect: l,
  13064. x: a[0][0],
  13065. y: a[0][1],
  13066. _x: a[0][0],
  13067. _y: a[0][1]
  13068. }
  13069. }, this._endShape.highlightStyle = {
  13070. strokeColor: this._endShape.style.color,
  13071. lineWidth: 1
  13072. }, this._startShape.zlevel = this._endShape.zlevel = this.getZlevelBase(), this._startShape.z = this._endShape.z = this.getZBase() + 1, this._startShape.draggable = this._endShape.draggable = !0, this._startShape.ondrift = this._endShape.ondrift = this._ondrift, this._startShape.ondragend = this._endShape.ondragend = this._ondragend, this._startShape.style.textColor = this._endShape.style.textColor = this.dataRangeOption.textStyle.color, this._startShape.style.textAlign = this._endShape.style.textAlign = "center", this._startShape.style.textPosition = this._endShape.style.textPosition = "specific", this._startShape.style.textBaseline = this._endShape.style.textBaseline = "middle", this._startShape.style.width = this._endShape.style.width = 0, this._startShape.style.height = this._endShape.style.height = 0, this._startShape.style.textPosition = this._endShape.style.textPosition = "specific", this._startShape = new o(this._startShape), this._endShape = new o(this._endShape), this.shapeList.push(this._startShape), this.shapeList.push(this._endShape)
  13073. },
  13074. _bulidMask: function() {
  13075. var e = this._calculableLocation.x,
  13076. t = this._calculableLocation.y,
  13077. i = this._calculableLocation.width,
  13078. n = this._calculableLocation.height;
  13079. this._startMask = {
  13080. zlevel: this.getZlevelBase(),
  13081. z: this.getZBase() + 1,
  13082. style: {
  13083. x: e,
  13084. y: t,
  13085. width: "horizontal" == this.dataRangeOption.orient ? 0 : i,
  13086. height: "horizontal" == this.dataRangeOption.orient ? n : 0,
  13087. color: "#ccc"
  13088. },
  13089. hoverable: !1
  13090. }, this._endMask = {
  13091. zlevel: this.getZlevelBase(),
  13092. z: this.getZBase() + 1,
  13093. style: {
  13094. x: "horizontal" == this.dataRangeOption.orient ? e + i : e,
  13095. y: "horizontal" == this.dataRangeOption.orient ? t : t + n,
  13096. width: "horizontal" == this.dataRangeOption.orient ? 0 : i,
  13097. height: "horizontal" == this.dataRangeOption.orient ? n : 0,
  13098. color: "#ccc"
  13099. },
  13100. hoverable: !1
  13101. }, this._startMask = new a(this._startMask), this._endMask = new a(this._endMask), this.shapeList.push(this._startMask), this.shapeList.push(this._endMask)
  13102. },
  13103. _buildBackground: function() {
  13104. var e = this.reformCssArray(this.dataRangeOption.padding);
  13105. this.shapeList.push(new a({
  13106. zlevel: this.getZlevelBase(),
  13107. z: this.getZBase(),
  13108. hoverable: !1,
  13109. style: {
  13110. x: this._itemGroupLocation.x - e[3],
  13111. y: this._itemGroupLocation.y - e[0],
  13112. width: this._itemGroupLocation.width + e[3] + e[1],
  13113. height: this._itemGroupLocation.height + e[0] + e[2],
  13114. brushType: 0 === this.dataRangeOption.borderWidth ? "fill" : "both",
  13115. color: this.dataRangeOption.backgroundColor,
  13116. strokeColor: this.dataRangeOption.borderColor,
  13117. lineWidth: this.dataRangeOption.borderWidth
  13118. }
  13119. }))
  13120. },
  13121. _getItemGroupLocation: function() {
  13122. var e = this._valueTextList,
  13123. t = e.length,
  13124. i = this.dataRangeOption.itemGap,
  13125. n = this.dataRangeOption.itemWidth,
  13126. a = this.dataRangeOption.itemHeight,
  13127. o = 0,
  13128. r = 0,
  13129. s = this.getFont(this.dataRangeOption.textStyle),
  13130. l = h.getTextHeight("国", s),
  13131. m = 10;
  13132. if("horizontal" == this.dataRangeOption.orient) {
  13133. if(this.dataRangeOption.text || this._isContinuity()) o = (this._isContinuity() ? n * m + i : t * (n + i)) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[0] ? h.getTextWidth(this.dataRangeOption.text[0], s) + this._textGap : 0) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[1] ? h.getTextWidth(this.dataRangeOption.text[1], s) + this._textGap : 0);
  13134. else {
  13135. n += 5;
  13136. for(var V = 0; t > V; V++) o += n + h.getTextWidth(e[V], s) + i
  13137. }
  13138. o -= i, r = Math.max(l, a)
  13139. } else {
  13140. var U;
  13141. if(this.dataRangeOption.text || this._isContinuity()) r = (this._isContinuity() ? a * m + i : t * (a + i)) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[0] ? this._textGap + l : 0) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[1] ? this._textGap + l : 0), U = Math.max(h.getTextWidth(this.dataRangeOption.text && this.dataRangeOption.text[0] || "", s), h.getTextWidth(this.dataRangeOption.text && this.dataRangeOption.text[1] || "", s)), o = Math.max(n, U);
  13142. else {
  13143. r = (a + i) * t, n += 5, U = 0;
  13144. for(var V = 0; t > V; V++) U = Math.max(U, h.getTextWidth(e[V], s));
  13145. o = n + U
  13146. }
  13147. r -= i
  13148. }
  13149. var d, p = this.reformCssArray(this.dataRangeOption.padding),
  13150. c = this.zr.getWidth();
  13151. switch(this.dataRangeOption.x) {
  13152. case "center":
  13153. d = Math.floor((c - o) / 2);
  13154. break;
  13155. case "left":
  13156. d = p[3] + this.dataRangeOption.borderWidth;
  13157. break;
  13158. case "right":
  13159. d = c - o - p[1] - this.dataRangeOption.borderWidth;
  13160. break;
  13161. default:
  13162. d = this.parsePercent(this.dataRangeOption.x, c), d = isNaN(d) ? 0 : d
  13163. }
  13164. var u, y = this.zr.getHeight();
  13165. switch(this.dataRangeOption.y) {
  13166. case "top":
  13167. u = p[0] + this.dataRangeOption.borderWidth;
  13168. break;
  13169. case "bottom":
  13170. u = y - r - p[2] - this.dataRangeOption.borderWidth;
  13171. break;
  13172. case "center":
  13173. u = Math.floor((y - r) / 2);
  13174. break;
  13175. default:
  13176. u = this.parsePercent(this.dataRangeOption.y, y), u = isNaN(u) ? 0 : u
  13177. }
  13178. if(this.dataRangeOption.calculable) {
  13179. var g = Math.max(h.getTextWidth(this.dataRangeOption.max, s), h.getTextWidth(this.dataRangeOption.min, s)) + l;
  13180. "horizontal" == this.dataRangeOption.orient ? (g > d && (d = g), d + o + g > c && (d -= g)) : (l > u && (u = l), u + r + l > y && (u -= l))
  13181. }
  13182. return {
  13183. x: d,
  13184. y: u,
  13185. width: o,
  13186. height: r
  13187. }
  13188. },
  13189. _getTextShape: function(e, t, i) {
  13190. return {
  13191. zlevel: this.getZlevelBase(),
  13192. z: this.getZBase(),
  13193. style: {
  13194. x: "horizontal" == this.dataRangeOption.orient ? e : this._itemGroupLocation.x + this._itemGroupLocation.width / 2,
  13195. y: "horizontal" == this.dataRangeOption.orient ? this._itemGroupLocation.y + this._itemGroupLocation.height / 2 : t,
  13196. color: this.dataRangeOption.textStyle.color,
  13197. text: i,
  13198. textFont: this.getFont(this.dataRangeOption.textStyle),
  13199. textBaseline: "horizontal" == this.dataRangeOption.orient ? "middle" : "top",
  13200. textAlign: "horizontal" == this.dataRangeOption.orient ? "left" : "center"
  13201. },
  13202. hoverable: !1
  13203. }
  13204. },
  13205. _getItemShape: function(e, t, i, n, a) {
  13206. return {
  13207. zlevel: this.getZlevelBase(),
  13208. z: this.getZBase(),
  13209. style: {
  13210. x: e,
  13211. y: t + 1,
  13212. width: i,
  13213. height: n - 2,
  13214. color: a
  13215. },
  13216. highlightStyle: {
  13217. strokeColor: a,
  13218. lineWidth: 1
  13219. }
  13220. }
  13221. },
  13222. __ondrift: function(e, t, i) {
  13223. var n = this._calculableLocation.x,
  13224. a = this._calculableLocation.y,
  13225. o = this._calculableLocation.width,
  13226. r = this._calculableLocation.height;
  13227. return "horizontal" == this.dataRangeOption.orient ? e.style.x + t <= n ? e.style.x = n : e.style.x + t + e.style.width >= n + o ? e.style.x = n + o - e.style.width : e.style.x += t : e.style.y + i <= a ? e.style.y = a : e.style.y + i + e.style.height >= a + r ? e.style.y = a + r - e.style.height : e.style.y += i, "filler" == e._type ? this._syncHandleShape() : this._syncFillerShape(e), this.dataRangeOption.realtime && this._dispatchDataRange(), !0
  13228. },
  13229. __ondragend: function() {
  13230. this.isDragend = !0
  13231. },
  13232. ondragend: function(e, t) {
  13233. this.isDragend && e.target && (t.dragOut = !0, t.dragIn = !0, this.dataRangeOption.realtime || this._dispatchDataRange(), t.needRefresh = !1, this.isDragend = !1)
  13234. },
  13235. _syncShapeFromRange: function() {
  13236. var e = this.dataRangeOption.range || {},
  13237. t = e.start,
  13238. i = e.end;
  13239. if(t > i && (t = [i, i = t][0]), this._range.end = null != t ? t : null != this._range.end ? this._range.end : 0, this._range.start = null != i ? i : null != this._range.start ? this._range.start : 100, 100 != this._range.start || 0 !== this._range.end) {
  13240. if("horizontal" == this.dataRangeOption.orient) {
  13241. var n = this._fillerShape.style.width;
  13242. this._fillerShape.style.x += n * (100 - this._range.start) / 100, this._fillerShape.style.width = n * (this._range.start - this._range.end) / 100
  13243. } else {
  13244. var a = this._fillerShape.style.height;
  13245. this._fillerShape.style.y += a * (100 - this._range.start) / 100, this._fillerShape.style.height = a * (this._range.start - this._range.end) / 100
  13246. }
  13247. this.zr.modShape(this._fillerShape.id), this._syncHandleShape()
  13248. }
  13249. },
  13250. _syncHandleShape: function() {
  13251. var e = this._calculableLocation.x,
  13252. t = this._calculableLocation.y,
  13253. i = this._calculableLocation.width,
  13254. n = this._calculableLocation.height;
  13255. "horizontal" == this.dataRangeOption.orient ? (this._startShape.style.x = this._fillerShape.style.x, this._startMask.style.width = this._startShape.style.x - e, this._endShape.style.x = this._fillerShape.style.x + this._fillerShape.style.width, this._endMask.style.x = this._endShape.style.x, this._endMask.style.width = e + i - this._endShape.style.x, this._range.start = Math.ceil(100 - (this._startShape.style.x - e) / i * 100), this._range.end = Math.floor(100 - (this._endShape.style.x - e) / i * 100)) : (this._startShape.style.y = this._fillerShape.style.y, this._startMask.style.height = this._startShape.style.y - t, this._endShape.style.y = this._fillerShape.style.y + this._fillerShape.style.height, this._endMask.style.y = this._endShape.style.y, this._endMask.style.height = t + n - this._endShape.style.y, this._range.start = Math.ceil(100 - (this._startShape.style.y - t) / n * 100), this._range.end = Math.floor(100 - (this._endShape.style.y - t) / n * 100)), this._syncShape()
  13256. },
  13257. _syncFillerShape: function(e) {
  13258. var t, i, n = this._calculableLocation.x,
  13259. a = this._calculableLocation.y,
  13260. o = this._calculableLocation.width,
  13261. r = this._calculableLocation.height;
  13262. "horizontal" == this.dataRangeOption.orient ? (t = this._startShape.style.x, i = this._endShape.style.x, e.id == this._startShape.id && t >= i ? (i = t, this._endShape.style.x = t) : e.id == this._endShape.id && t >= i && (t = i, this._startShape.style.x = t), this._fillerShape.style.x = t, this._fillerShape.style.width = i - t, this._startMask.style.width = t - n, this._endMask.style.x = i, this._endMask.style.width = n + o - i, this._range.start = Math.ceil(100 - (t - n) / o * 100), this._range.end = Math.floor(100 - (i - n) / o * 100)) : (t = this._startShape.style.y, i = this._endShape.style.y, e.id == this._startShape.id && t >= i ? (i = t, this._endShape.style.y = t) : e.id == this._endShape.id && t >= i && (t = i, this._startShape.style.y = t), this._fillerShape.style.y = t, this._fillerShape.style.height = i - t, this._startMask.style.height = t - a, this._endMask.style.y = i, this._endMask.style.height = a + r - i, this._range.start = Math.ceil(100 - (t - a) / r * 100), this._range.end = Math.floor(100 - (i - a) / r * 100)), this._syncShape()
  13263. },
  13264. _syncShape: function() {
  13265. this._startShape.position = [this._startShape.style.x - this._startShape.style._x, this._startShape.style.y - this._startShape.style._y], this._startShape.style.text = this._textFormat(this._gap * this._range.start + this.dataRangeOption.min), this._startShape.style.color = this._startShape.highlightStyle.strokeColor = this.getColor(this._gap * this._range.start + this.dataRangeOption.min), this._endShape.position = [this._endShape.style.x - this._endShape.style._x, this._endShape.style.y - this._endShape.style._y], this._endShape.style.text = this._textFormat(this._gap * this._range.end + this.dataRangeOption.min), this._endShape.style.color = this._endShape.highlightStyle.strokeColor = this.getColor(this._gap * this._range.end + this.dataRangeOption.min), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.modShape(this._startMask.id), this.zr.modShape(this._endMask.id), this.zr.modShape(this._fillerShape.id), this.zr.refreshNextFrame()
  13266. },
  13267. _dispatchDataRange: function() {
  13268. this.messageCenter.dispatch(r.EVENT.DATA_RANGE, null, {
  13269. range: {
  13270. start: this._range.end,
  13271. end: this._range.start
  13272. }
  13273. }, this.myChart)
  13274. },
  13275. __dataRangeSelected: function(e) {
  13276. if("single" === this.dataRangeOption.selectedMode)
  13277. for(var t in this._selectedMap) this._selectedMap[t] = !1;
  13278. var i = e.target._idx;
  13279. this._selectedMap[i] = !this._selectedMap[i];
  13280. var n, a;
  13281. this._useCustomizedSplit() ? (n = this._splitList[i].max, a = this._splitList[i].min) : (n = (this._colorList.length - i) * this._gap + this.dataRangeOption.min, a = n - this._gap), this.messageCenter.dispatch(r.EVENT.DATA_RANGE_SELECTED, e.event, {
  13282. selected: this._selectedMap,
  13283. target: i,
  13284. valueMax: n,
  13285. valueMin: a
  13286. }, this.myChart), this.messageCenter.dispatch(r.EVENT.REFRESH, null, null, this.myChart)
  13287. },
  13288. __dispatchHoverLink: function(e) {
  13289. var t, i;
  13290. if(this.dataRangeOption.calculable) {
  13291. var n, a = this.dataRangeOption.max - this.dataRangeOption.min;
  13292. n = "horizontal" == this.dataRangeOption.orient ? (1 - (l.getX(e.event) - this._calculableLocation.x) / this._calculableLocation.width) * a : (1 - (l.getY(e.event) - this._calculableLocation.y) / this._calculableLocation.height) * a, t = n - .05 * a, i = n + .05 * a
  13293. } else if(this._useCustomizedSplit()) {
  13294. var o = e.target._idx;
  13295. i = this._splitList[o].max, t = this._splitList[o].min
  13296. } else {
  13297. var o = e.target._idx;
  13298. i = (this._colorList.length - o) * this._gap + this.dataRangeOption.min, t = i - this._gap
  13299. }
  13300. this.messageCenter.dispatch(r.EVENT.DATA_RANGE_HOVERLINK, e.event, {
  13301. valueMin: t,
  13302. valueMax: i
  13303. }, this.myChart)
  13304. },
  13305. __onhoverlink: function(e) {
  13306. if(this.dataRangeOption.show && this.dataRangeOption.hoverLink && this._indicatorShape && e && null != e.seriesIndex && null != e.dataIndex) {
  13307. var t = e.value;
  13308. if("" === t || isNaN(t)) return;
  13309. t < this.dataRangeOption.min ? t = this.dataRangeOption.min : t > this.dataRangeOption.max && (t = this.dataRangeOption.max), this._indicatorShape.position = "horizontal" == this.dataRangeOption.orient ? [(this.dataRangeOption.max - t) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._calculableLocation.width, 0] : [0, (this.dataRangeOption.max - t) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._calculableLocation.height], this._indicatorShape.style.text = this._textFormat(e.value), this._indicatorShape.style.color = this.getColor(t), this.zr.addHoverShape(this._indicatorShape)
  13310. }
  13311. },
  13312. _textFormat: function(e, t) {
  13313. var i = this.dataRangeOption;
  13314. if(e !== -Number.MAX_VALUE && (e = (+e).toFixed(i.precision)), null != t && t !== Number.MAX_VALUE && (t = (+t).toFixed(i.precision)), i.formatter) {
  13315. if("string" == typeof i.formatter) return i.formatter.replace("{value}", e === -Number.MAX_VALUE ? "min" : e).replace("{value2}", t === Number.MAX_VALUE ? "max" : t);
  13316. if("function" == typeof i.formatter) return i.formatter.call(this.myChart, e, t)
  13317. }
  13318. return null == t ? e : e === -Number.MAX_VALUE ? "< " + t : t === Number.MAX_VALUE ? "> " + e : e + " - " + t
  13319. },
  13320. _isContinuity: function() {
  13321. var e = this.dataRangeOption;
  13322. return !(e.splitList ? e.splitList.length > 0 : e.splitNumber > 0) || e.calculable
  13323. },
  13324. _useCustomizedSplit: function() {
  13325. var e = this.dataRangeOption;
  13326. return e.splitList && e.splitList.length > 0
  13327. },
  13328. _buildColorList: function(e) {
  13329. if(this._colorList = m.getGradientColors(this.dataRangeOption.color, Math.max((e - this.dataRangeOption.color.length) / (this.dataRangeOption.color.length - 1), 0) + 1), this._colorList.length > e) {
  13330. for(var t = this._colorList.length, i = [this._colorList[0]], n = t / (e - 1), a = 1; e - 1 > a; a++) i.push(this._colorList[Math.floor(a * n)]);
  13331. i.push(this._colorList[t - 1]), this._colorList = i
  13332. }
  13333. if(this._useCustomizedSplit())
  13334. for(var o = this._splitList, a = 0, t = o.length; t > a; a++) o[a].color && (this._colorList[a] = o[a].color)
  13335. },
  13336. _buildGap: function(e) {
  13337. if(!this._useCustomizedSplit()) {
  13338. var t = this.dataRangeOption.precision;
  13339. for(this._gap = (this.dataRangeOption.max - this.dataRangeOption.min) / e; this._gap.toFixed(t) - 0 != this._gap && 5 > t;) t++;
  13340. this.dataRangeOption.precision = t, this._gap = ((this.dataRangeOption.max - this.dataRangeOption.min) / e).toFixed(t) - 0
  13341. }
  13342. },
  13343. _buildDataList: function(e) {
  13344. for(var t = this._valueTextList = [], i = this.dataRangeOption, n = this._useCustomizedSplit(), a = 0; e > a; a++) {
  13345. this._selectedMap[a] = !0;
  13346. var o = "";
  13347. if(n) {
  13348. var r = this._splitList[e - 1 - a];
  13349. o = null != r.label ? r.label : null != r.single ? this._textFormat(r.single) : this._textFormat(r.min, r.max)
  13350. } else o = this._textFormat(a * this._gap + i.min, (a + 1) * this._gap + i.min);
  13351. t.unshift(o)
  13352. }
  13353. },
  13354. _buildSplitList: function() {
  13355. if(this._useCustomizedSplit())
  13356. for(var e = this.dataRangeOption.splitList, t = this._splitList = [], i = 0, n = e.length; n > i; i++) {
  13357. var a = e[i];
  13358. if(!a || null == a.start && null == a.end) throw new Error("Empty item exists in splitList!");
  13359. var o = {
  13360. label: a.label,
  13361. color: a.color
  13362. };
  13363. o.min = a.start, o.max = a.end, o.min > o.max && (o.min = [o.max, o.max = o.min][0]), o.min === o.max && (o.single = o.max), null == o.min && (o.min = -Number.MAX_VALUE), null == o.max && (o.max = Number.MAX_VALUE), t.push(o)
  13364. }
  13365. },
  13366. refresh: function(e) {
  13367. if(e) {
  13368. this.option = e, this.option.dataRange = this.reformOption(this.option.dataRange);
  13369. var t = this.dataRangeOption = this.option.dataRange;
  13370. if(!this._useCustomizedSplit() && (null == t.min || null == t.max)) throw new Error("option.dataRange.min or option.dataRange.max has not been defined.");
  13371. this.myChart.canvasSupported || (t.realtime = !1);
  13372. var i = this._isContinuity() ? 100 : this._useCustomizedSplit() ? t.splitList.length : t.splitNumber;
  13373. this._buildSplitList(), this._buildColorList(i), this._buildGap(i), this._buildDataList(i)
  13374. }
  13375. this.clear(), this._buildShape()
  13376. },
  13377. getColor: function(e) {
  13378. if(isNaN(e)) return null;
  13379. var t;
  13380. if(this._useCustomizedSplit()) {
  13381. for(var i = this._splitList, n = 0, a = i.length; a > n; n++)
  13382. if(i[n].min <= e && i[n].max >= e) {
  13383. t = n;
  13384. break
  13385. }
  13386. } else {
  13387. if(this.dataRangeOption.min == this.dataRangeOption.max) return this._colorList[0];
  13388. if(e < this.dataRangeOption.min ? e = this.dataRangeOption.min : e > this.dataRangeOption.max && (e = this.dataRangeOption.max), this.dataRangeOption.calculable && (e - (this._gap * this._range.start + this.dataRangeOption.min) > 5e-5 || e - (this._gap * this._range.end + this.dataRangeOption.min) < -5e-5)) return null;
  13389. t = this._colorList.length - Math.ceil((e - this.dataRangeOption.min) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._colorList.length), t == this._colorList.length && t--
  13390. }
  13391. return this._selectedMap[t] ? this._colorList[t] : null
  13392. },
  13393. getColorByIndex: function(e) {
  13394. return e >= this._colorList.length ? e = this._colorList.length - 1 : 0 > e && (e = 0), this._colorList[e]
  13395. },
  13396. onbeforDispose: function() {
  13397. this.messageCenter.unbind(r.EVENT.HOVER, this._onhoverlink)
  13398. }
  13399. }, s.inherits(t, i), e("../component").define("dataRange", t), t
  13400. }), i("echarts/util/shape/HandlePolygon", ["require", "zrender/shape/Base", "zrender/shape/Polygon", "zrender/tool/util"], function(e) {
  13401. function t(e) {
  13402. i.call(this, e)
  13403. }
  13404. var i = e("zrender/shape/Base"),
  13405. n = e("zrender/shape/Polygon"),
  13406. a = e("zrender/tool/util");
  13407. return t.prototype = {
  13408. type: "handle-polygon",
  13409. buildPath: function(e, t) {
  13410. n.prototype.buildPath(e, t)
  13411. },
  13412. isCover: function(e, t) {
  13413. var i = this.transformCoordToLocal(e, t);
  13414. e = i[0], t = i[1];
  13415. var n = this.style.rect;
  13416. return e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height ? !0 : !1
  13417. }
  13418. }, a.inherits(t, i), t
  13419. }), i("echarts/chart/k", ["require", "./base", "../util/shape/Candle", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function(e) {
  13420. function t(e, t, n, a, o) {
  13421. i.call(this, e, t, n, a, o), this.refresh(a)
  13422. }
  13423. var i = e("./base"),
  13424. n = e("../util/shape/Candle");
  13425. e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
  13426. var a = e("../config");
  13427. a.k = {
  13428. zlevel: 0,
  13429. z: 2,
  13430. clickable: !0,
  13431. hoverable: !0,
  13432. legendHoverLink: !1,
  13433. xAxisIndex: 0,
  13434. yAxisIndex: 0,
  13435. itemStyle: {
  13436. normal: {
  13437. color: "#fff",
  13438. color0: "#00aa11",
  13439. lineStyle: {
  13440. width: 1,
  13441. color: "#ff3200",
  13442. color0: "#00aa11"
  13443. },
  13444. label: {
  13445. show: !1
  13446. }
  13447. },
  13448. emphasis: {
  13449. label: {
  13450. show: !1
  13451. }
  13452. }
  13453. }
  13454. };
  13455. var o = e("../util/ecData"),
  13456. r = e("zrender/tool/util");
  13457. return t.prototype = {
  13458. type: a.CHART_TYPE_K,
  13459. _buildShape: function() {
  13460. var e = this.series;
  13461. this.selectedMap = {};
  13462. for(var t, i = {
  13463. top: [],
  13464. bottom: []
  13465. }, n = 0, o = e.length; o > n; n++) e[n].type === a.CHART_TYPE_K && (e[n] = this.reformOption(e[n]), this.legendHoverLink = e[n].legendHoverLink || this.legendHoverLink, t = this.component.xAxis.getAxis(e[n].xAxisIndex), t.type === a.COMPONENT_TYPE_AXIS_CATEGORY && i[t.getPosition()].push(n));
  13466. for(var r in i) i[r].length > 0 && this._buildSinglePosition(r, i[r]);
  13467. this.addShapeList()
  13468. },
  13469. _buildSinglePosition: function(e, t) {
  13470. var i = this._mapData(t),
  13471. n = i.locationMap,
  13472. a = i.maxDataLength;
  13473. if(0 !== a && 0 !== n.length) {
  13474. this._buildHorizontal(t, a, n);
  13475. for(var o = 0, r = t.length; r > o; o++) this.buildMark(t[o])
  13476. }
  13477. },
  13478. _mapData: function(e) {
  13479. for(var t, i, n = this.series, a = this.component.legend, o = [], r = 0, s = 0, l = e.length; l > s; s++) t = n[e[s]], i = t.name, this.selectedMap[i] = a ? a.isSelected(i) : !0, this.selectedMap[i] && o.push(e[s]), r = Math.max(r, t.data.length);
  13480. return {
  13481. locationMap: o,
  13482. maxDataLength: r
  13483. }
  13484. },
  13485. _buildHorizontal: function(e, t, i) {
  13486. for(var n, a, o, r, s, l, h, m, V, U, d = this.series, p = {}, c = 0, u = i.length; u > c; c++) {
  13487. n = i[c], a = d[n], o = a.xAxisIndex || 0, r = this.component.xAxis.getAxis(o), h = a.barWidth || Math.floor(r.getGap() / 2), U = a.barMaxWidth, U && h > U && (h = U), s = a.yAxisIndex || 0, l = this.component.yAxis.getAxis(s), p[n] = [];
  13488. for(var y = 0, g = t; g > y && null != r.getNameByIndex(y); y++) m = a.data[y], V = this.getDataFromOption(m, "-"), "-" !== V && 4 == V.length && p[n].push([r.getCoordByIndex(y), h, l.getCoord(V[0]), l.getCoord(V[1]), l.getCoord(V[2]), l.getCoord(V[3]), y, r.getNameByIndex(y)])
  13489. }
  13490. this._buildKLine(e, p)
  13491. },
  13492. _buildKLine: function(e, t) {
  13493. for(var i, n, o, r, s, l, h, m, V, U, d, p, c, u, y, g, b, f = this.series, k = 0, x = e.length; x > k; k++)
  13494. if(b = e[k], d = f[b], u = t[b], this._isLarge(u) && (u = this._getLargePointList(u)), d.type === a.CHART_TYPE_K && null != u) {
  13495. p = d, i = this.query(p, "itemStyle.normal.lineStyle.width"), n = this.query(p, "itemStyle.normal.lineStyle.color"), o = this.query(p, "itemStyle.normal.lineStyle.color0"), r = this.query(p, "itemStyle.normal.color"), s = this.query(p, "itemStyle.normal.color0"), l = this.query(p, "itemStyle.emphasis.lineStyle.width"), h = this.query(p, "itemStyle.emphasis.lineStyle.color"), m = this.query(p, "itemStyle.emphasis.lineStyle.color0"), V = this.query(p, "itemStyle.emphasis.color"), U = this.query(p, "itemStyle.emphasis.color0");
  13496. for(var _ = 0, L = u.length; L > _; _++) y = u[_], c = d.data[y[6]], p = c, g = y[3] < y[2], this.shapeList.push(this._getCandle(b, y[6], y[7], y[0], y[1], y[2], y[3], y[4], y[5], g ? this.query(p, "itemStyle.normal.color") || r : this.query(p, "itemStyle.normal.color0") || s, this.query(p, "itemStyle.normal.lineStyle.width") || i, g ? this.query(p, "itemStyle.normal.lineStyle.color") || n : this.query(p, "itemStyle.normal.lineStyle.color0") || o, g ? this.query(p, "itemStyle.emphasis.color") || V || r : this.query(p, "itemStyle.emphasis.color0") || U || s, this.query(p, "itemStyle.emphasis.lineStyle.width") || l || i, g ? this.query(p, "itemStyle.emphasis.lineStyle.color") || h || n : this.query(p, "itemStyle.emphasis.lineStyle.color0") || m || o))
  13497. }
  13498. },
  13499. _isLarge: function(e) {
  13500. return e[0][1] < .5
  13501. },
  13502. _getLargePointList: function(e) {
  13503. for(var t = this.component.grid.getWidth(), i = e.length, n = [], a = 0; t > a; a++) n[a] = e[Math.floor(i / t * a)];
  13504. return n
  13505. },
  13506. _getCandle: function(e, t, i, a, r, s, l, h, m, V, U, d, p, c, u) {
  13507. var y = this.series,
  13508. g = y[e],
  13509. b = g.data[t],
  13510. f = [b, g],
  13511. k = {
  13512. zlevel: g.zlevel,
  13513. z: g.z,
  13514. clickable: this.deepQuery(f, "clickable"),
  13515. hoverable: this.deepQuery(f, "hoverable"),
  13516. style: {
  13517. x: a,
  13518. y: [s, l, h, m],
  13519. width: r,
  13520. color: V,
  13521. strokeColor: d,
  13522. lineWidth: U,
  13523. brushType: "both"
  13524. },
  13525. highlightStyle: {
  13526. color: p,
  13527. strokeColor: u,
  13528. lineWidth: c
  13529. },
  13530. _seriesIndex: e
  13531. };
  13532. return k = this.addLabel(k, g, b, i), o.pack(k, g, e, b, t, i), k = new n(k)
  13533. },
  13534. getMarkCoord: function(e, t) {
  13535. var i = this.series[e],
  13536. n = this.component.xAxis.getAxis(i.xAxisIndex),
  13537. a = this.component.yAxis.getAxis(i.yAxisIndex);
  13538. return ["string" != typeof t.xAxis && n.getCoordByIndex ? n.getCoordByIndex(t.xAxis || 0) : n.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && a.getCoordByIndex ? a.getCoordByIndex(t.yAxis || 0) : a.getCoord(t.yAxis || 0)]
  13539. },
  13540. refresh: function(e) {
  13541. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  13542. },
  13543. addDataAnimation: function(e, t) {
  13544. function i() {
  13545. p--, 0 === p && t && t()
  13546. }
  13547. for(var n = this.series, a = {}, r = 0, s = e.length; s > r; r++) a[e[r][0]] = e[r];
  13548. for(var l, h, m, V, U, d, p = 0, r = 0, s = this.shapeList.length; s > r; r++)
  13549. if(U = this.shapeList[r]._seriesIndex, a[U] && !a[U][3] && "candle" === this.shapeList[r].type) {
  13550. if(d = o.get(this.shapeList[r], "dataIndex"), V = n[U], a[U][2] && d === V.data.length - 1) {
  13551. this.zr.delShape(this.shapeList[r].id);
  13552. continue
  13553. }
  13554. if(!a[U][2] && 0 === d) {
  13555. this.zr.delShape(this.shapeList[r].id);
  13556. continue
  13557. }
  13558. h = this.component.xAxis.getAxis(V.xAxisIndex || 0).getGap(), l = a[U][2] ? h : -h, m = 0, p++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {
  13559. position: [l, m]
  13560. }).done(i).start()
  13561. }
  13562. p || t && t()
  13563. }
  13564. }, r.inherits(t, i), e("../chart").define("k", t), t
  13565. }), i("echarts/chart/pie", ["require", "./base", "zrender/shape/Text", "zrender/shape/Ring", "zrender/shape/Circle", "zrender/shape/Sector", "zrender/shape/Polyline", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/math", "zrender/tool/color", "../chart"], function(e) {
  13566. function t(e, t, n, a, o) {
  13567. i.call(this, e, t, n, a, o);
  13568. var r = this;
  13569. r.shapeHandler.onmouseover = function(e) {
  13570. var t = e.target,
  13571. i = h.get(t, "seriesIndex"),
  13572. n = h.get(t, "dataIndex"),
  13573. a = h.get(t, "special"),
  13574. o = [t.style.x, t.style.y],
  13575. s = t.style.startAngle,
  13576. l = t.style.endAngle,
  13577. m = ((l + s) / 2 + 360) % 360,
  13578. V = t.highlightStyle.color,
  13579. U = r.getLabel(i, n, a, o, m, V, !0);
  13580. U && r.zr.addHoverShape(U);
  13581. var d = r.getLabelLine(i, n, o, t.style.r0, t.style.r, m, V, !0);
  13582. d && r.zr.addHoverShape(d)
  13583. }, this.refresh(a)
  13584. }
  13585. var i = e("./base"),
  13586. n = e("zrender/shape/Text"),
  13587. a = e("zrender/shape/Ring"),
  13588. o = e("zrender/shape/Circle"),
  13589. r = e("zrender/shape/Sector"),
  13590. s = e("zrender/shape/Polyline"),
  13591. l = e("../config");
  13592. l.pie = {
  13593. zlevel: 0,
  13594. z: 2,
  13595. clickable: !0,
  13596. legendHoverLink: !0,
  13597. center: ["50%", "50%"],
  13598. radius: [0, "75%"],
  13599. clockWise: !0,
  13600. startAngle: 90,
  13601. minAngle: 0,
  13602. selectedOffset: 10,
  13603. itemStyle: {
  13604. normal: {
  13605. borderColor: "rgba(0,0,0,0)",
  13606. borderWidth: 1,
  13607. label: {
  13608. show: !0,
  13609. position: "outer"
  13610. },
  13611. labelLine: {
  13612. show: !0,
  13613. length: 20,
  13614. lineStyle: {
  13615. width: 1,
  13616. type: "solid"
  13617. }
  13618. }
  13619. },
  13620. emphasis: {
  13621. borderColor: "rgba(0,0,0,0)",
  13622. borderWidth: 1,
  13623. label: {
  13624. show: !1
  13625. },
  13626. labelLine: {
  13627. show: !1,
  13628. length: 20,
  13629. lineStyle: {
  13630. width: 1,
  13631. type: "solid"
  13632. }
  13633. }
  13634. }
  13635. }
  13636. };
  13637. var h = e("../util/ecData"),
  13638. m = e("zrender/tool/util"),
  13639. V = e("zrender/tool/math"),
  13640. U = e("zrender/tool/color");
  13641. return t.prototype = {
  13642. type: l.CHART_TYPE_PIE,
  13643. _buildShape: function() {
  13644. var e = this.series,
  13645. t = this.component.legend;
  13646. this.selectedMap = {}, this._selected = {};
  13647. var i, n, r;
  13648. this._selectedMode = !1;
  13649. for(var s, m = 0, V = e.length; V > m; m++)
  13650. if(e[m].type === l.CHART_TYPE_PIE) {
  13651. if(e[m] = this.reformOption(e[m]), this.legendHoverLink = e[m].legendHoverLink || this.legendHoverLink, s = e[m].name || "", this.selectedMap[s] = t ? t.isSelected(s) : !0, !this.selectedMap[s]) continue;
  13652. i = this.parseCenter(this.zr, e[m].center), n = this.parseRadius(this.zr, e[m].radius), this._selectedMode = this._selectedMode || e[m].selectedMode, this._selected[m] = [], this.deepQuery([e[m], this.option], "calculable") && (r = {
  13653. zlevel: e[m].zlevel,
  13654. z: e[m].z,
  13655. hoverable: !1,
  13656. style: {
  13657. x: i[0],
  13658. y: i[1],
  13659. r0: n[0] <= 10 ? 0 : n[0] - 10,
  13660. r: n[1] + 10,
  13661. brushType: "stroke",
  13662. lineWidth: 1,
  13663. strokeColor: e[m].calculableHolderColor || this.ecTheme.calculableHolderColor || l.calculableHolderColor
  13664. }
  13665. }, h.pack(r, e[m], m, void 0, -1), this.setCalculable(r), r = n[0] <= 10 ? new o(r) : new a(r), this.shapeList.push(r)), this._buildSinglePie(m), this.buildMark(m)
  13666. }
  13667. this.addShapeList()
  13668. },
  13669. _buildSinglePie: function(e) {
  13670. for(var t, i = this.series, n = i[e], a = n.data, o = this.component.legend, r = 0, s = 0, l = 0, h = Number.NEGATIVE_INFINITY, m = [], V = 0, U = a.length; U > V; V++) t = a[V].name,
  13671. this.selectedMap[t] = o ? o.isSelected(t) : !0, this.selectedMap[t] && !isNaN(a[V].value) && (0 !== +a[V].value ? r++ : s++, l += +a[V].value, h = Math.max(h, +a[V].value));
  13672. if(0 !== l) {
  13673. for(var d, p, c, u, y, g, b = 100, f = n.clockWise, k = (n.startAngle.toFixed(2) - 0 + 360) % 360, x = n.minAngle || .01, _ = 360 - x * r - .01 * s, L = n.roseType, V = 0, U = a.length; U > V; V++)
  13674. if(t = a[V].name, this.selectedMap[t] && !isNaN(a[V].value)) {
  13675. if(p = o ? o.getColor(t) : this.zr.getColor(V), b = a[V].value / l, d = "area" != L ? f ? k - b * _ - (0 !== b ? x : .01) : b * _ + k + (0 !== b ? x : .01) : f ? k - 360 / U : 360 / U + k, d = d.toFixed(2) - 0, b = (100 * b).toFixed(2), c = this.parseCenter(this.zr, n.center), u = this.parseRadius(this.zr, n.radius), y = +u[0], g = +u[1], "radius" === L ? g = a[V].value / h * (g - y) * .8 + .2 * (g - y) + y : "area" === L && (g = Math.sqrt(a[V].value / h) * (g - y) + y), f) {
  13676. var W;
  13677. W = k, k = d, d = W
  13678. }
  13679. this._buildItem(m, e, V, b, a[V].selected, c, y, g, k, d, p), f || (k = d)
  13680. }
  13681. this._autoLabelLayout(m, c, g);
  13682. for(var V = 0, U = m.length; U > V; V++) this.shapeList.push(m[V]);
  13683. m = null
  13684. }
  13685. },
  13686. _buildItem: function(e, t, i, n, a, o, r, s, l, m, V) {
  13687. var U = this.series,
  13688. d = ((m + l) / 2 + 360) % 360,
  13689. p = this.getSector(t, i, n, a, o, r, s, l, m, V);
  13690. h.pack(p, U[t], t, U[t].data[i], i, U[t].data[i].name, n), e.push(p);
  13691. var c = this.getLabel(t, i, n, o, d, V, !1),
  13692. u = this.getLabelLine(t, i, o, r, s, d, V, !1);
  13693. u && (h.pack(u, U[t], t, U[t].data[i], i, U[t].data[i].name, n), e.push(u)), c && (h.pack(c, U[t], t, U[t].data[i], i, U[t].data[i].name, n), c._labelLine = u, e.push(c))
  13694. },
  13695. getSector: function(e, t, i, n, a, o, s, l, h, m) {
  13696. var d = this.series,
  13697. p = d[e],
  13698. c = p.data[t],
  13699. u = [c, p],
  13700. y = this.deepMerge(u, "itemStyle.normal") || {},
  13701. g = this.deepMerge(u, "itemStyle.emphasis") || {},
  13702. b = this.getItemStyleColor(y.color, e, t, c) || m,
  13703. f = this.getItemStyleColor(g.color, e, t, c) || ("string" == typeof b ? U.lift(b, -.2) : b),
  13704. k = {
  13705. zlevel: p.zlevel,
  13706. z: p.z,
  13707. clickable: this.deepQuery(u, "clickable"),
  13708. style: {
  13709. x: a[0],
  13710. y: a[1],
  13711. r0: o,
  13712. r: s,
  13713. startAngle: l,
  13714. endAngle: h,
  13715. brushType: "both",
  13716. color: b,
  13717. lineWidth: y.borderWidth,
  13718. strokeColor: y.borderColor,
  13719. lineJoin: "round"
  13720. },
  13721. highlightStyle: {
  13722. color: f,
  13723. lineWidth: g.borderWidth,
  13724. strokeColor: g.borderColor,
  13725. lineJoin: "round"
  13726. },
  13727. _seriesIndex: e,
  13728. _dataIndex: t
  13729. };
  13730. if(n) {
  13731. var x = ((k.style.startAngle + k.style.endAngle) / 2).toFixed(2) - 0;
  13732. k.style._hasSelected = !0, k.style._x = k.style.x, k.style._y = k.style.y;
  13733. var _ = this.query(p, "selectedOffset");
  13734. k.style.x += V.cos(x, !0) * _, k.style.y -= V.sin(x, !0) * _, this._selected[e][t] = !0
  13735. } else this._selected[e][t] = !1;
  13736. return this._selectedMode && (k.onclick = this.shapeHandler.onclick), this.deepQuery([c, p, this.option], "calculable") && (this.setCalculable(k), k.draggable = !0), (this._needLabel(p, c, !0) || this._needLabelLine(p, c, !0)) && (k.onmouseover = this.shapeHandler.onmouseover), k = new r(k)
  13737. },
  13738. getLabel: function(e, t, i, a, o, r, s) {
  13739. var l = this.series,
  13740. h = l[e],
  13741. U = h.data[t];
  13742. if(this._needLabel(h, U, s)) {
  13743. var d, p, c, u = s ? "emphasis" : "normal",
  13744. y = m.merge(m.clone(U.itemStyle) || {}, h.itemStyle),
  13745. g = y[u].label,
  13746. b = g.textStyle || {},
  13747. f = a[0],
  13748. k = a[1],
  13749. x = this.parseRadius(this.zr, h.radius),
  13750. _ = "middle";
  13751. g.position = g.position || y.normal.label.position, "center" === g.position ? (d = f, p = k, c = "center") : "inner" === g.position || "inside" === g.position ? (x = (x[0] + x[1]) * (g.distance || .5), d = Math.round(f + x * V.cos(o, !0)), p = Math.round(k - x * V.sin(o, !0)), r = "#fff", c = "center") : (x = x[1] - -y[u].labelLine.length, d = Math.round(f + x * V.cos(o, !0)), p = Math.round(k - x * V.sin(o, !0)), c = o >= 90 && 270 >= o ? "right" : "left"), "center" != g.position && "inner" != g.position && "inside" != g.position && (d += "left" === c ? 20 : -20), U.__labelX = d - ("left" === c ? 5 : -5), U.__labelY = p;
  13752. var L = new n({
  13753. zlevel: h.zlevel,
  13754. z: h.z + 1,
  13755. hoverable: !1,
  13756. style: {
  13757. x: d,
  13758. y: p,
  13759. color: b.color || r,
  13760. text: this.getLabelText(e, t, i, u),
  13761. textAlign: b.align || c,
  13762. textBaseline: b.baseline || _,
  13763. textFont: this.getFont(b)
  13764. },
  13765. highlightStyle: {
  13766. brushType: "fill"
  13767. }
  13768. });
  13769. return L._radius = x, L._labelPosition = g.position || "outer", L._rect = L.getRect(L.style), L._seriesIndex = e, L._dataIndex = t, L
  13770. }
  13771. },
  13772. getLabelText: function(e, t, i, n) {
  13773. var a = this.series,
  13774. o = a[e],
  13775. r = o.data[t],
  13776. s = this.deepQuery([r, o], "itemStyle." + n + ".label.formatter");
  13777. return s ? "function" == typeof s ? s.call(this.myChart, {
  13778. seriesIndex: e,
  13779. seriesName: o.name || "",
  13780. series: o,
  13781. dataIndex: t,
  13782. data: r,
  13783. name: r.name,
  13784. value: r.value,
  13785. percent: i
  13786. }) : "string" == typeof s ? (s = s.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}"), s = s.replace("{a0}", o.name).replace("{b0}", r.name).replace("{c0}", r.value).replace("{d0}", i)) : void 0 : r.name
  13787. },
  13788. getLabelLine: function(e, t, i, n, a, o, r, l) {
  13789. var h = this.series,
  13790. U = h[e],
  13791. d = U.data[t];
  13792. if(this._needLabelLine(U, d, l)) {
  13793. var p = l ? "emphasis" : "normal",
  13794. c = m.merge(m.clone(d.itemStyle) || {}, U.itemStyle),
  13795. u = c[p].labelLine,
  13796. y = u.lineStyle || {},
  13797. g = i[0],
  13798. b = i[1],
  13799. f = a,
  13800. k = this.parseRadius(this.zr, U.radius)[1] - -u.length,
  13801. x = V.cos(o, !0),
  13802. _ = V.sin(o, !0);
  13803. return new s({
  13804. zlevel: U.zlevel,
  13805. z: U.z + 1,
  13806. hoverable: !1,
  13807. style: {
  13808. pointList: [
  13809. [g + f * x, b - f * _],
  13810. [g + k * x, b - k * _],
  13811. [d.__labelX, d.__labelY]
  13812. ],
  13813. strokeColor: y.color || r,
  13814. lineType: y.type,
  13815. lineWidth: y.width
  13816. },
  13817. _seriesIndex: e,
  13818. _dataIndex: t
  13819. })
  13820. }
  13821. },
  13822. _needLabel: function(e, t, i) {
  13823. return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".label.show")
  13824. },
  13825. _needLabelLine: function(e, t, i) {
  13826. return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".labelLine.show")
  13827. },
  13828. _autoLabelLayout: function(e, t, i) {
  13829. for(var n = [], a = [], o = 0, r = e.length; r > o; o++)("outer" === e[o]._labelPosition || "outside" === e[o]._labelPosition) && (e[o]._rect._y = e[o]._rect.y, e[o]._rect.x < t[0] ? n.push(e[o]) : a.push(e[o]));
  13830. this._layoutCalculate(n, t, i, -1), this._layoutCalculate(a, t, i, 1)
  13831. },
  13832. _layoutCalculate: function(e, t, i, n) {
  13833. function a(t, i, n) {
  13834. for(var a = t; i > a; a++)
  13835. if(e[a]._rect.y += n, e[a].style.y += n, e[a]._labelLine && (e[a]._labelLine.style.pointList[1][1] += n, e[a]._labelLine.style.pointList[2][1] += n), a > t && i > a + 1 && e[a + 1]._rect.y > e[a]._rect.y + e[a]._rect.height) return void o(a, n / 2);
  13836. o(i - 1, n / 2)
  13837. }
  13838. function o(t, i) {
  13839. for(var n = t; n >= 0 && (e[n]._rect.y -= i, e[n].style.y -= i, e[n]._labelLine && (e[n]._labelLine.style.pointList[1][1] -= i, e[n]._labelLine.style.pointList[2][1] -= i), !(n > 0 && e[n]._rect.y > e[n - 1]._rect.y + e[n - 1]._rect.height)); n--);
  13840. }
  13841. function r(e, t, i, n, a) {
  13842. for(var o, r, s, l = i[0], h = i[1], m = a > 0 ? t ? Number.MAX_VALUE : 0 : t ? Number.MAX_VALUE : 0, V = 0, U = e.length; U > V; V++) r = Math.abs(e[V]._rect.y - h), s = e[V]._radius - n, o = n + s > r ? Math.sqrt((n + s + 20) * (n + s + 20) - Math.pow(e[V]._rect.y - h, 2)) : Math.abs(e[V]._rect.x + (a > 0 ? 0 : e[V]._rect.width) - l), t && o >= m && (o = m - 10), !t && m >= o && (o = m + 10), e[V]._rect.x = e[V].style.x = l + o * a, e[V]._labelLine && (e[V]._labelLine.style.pointList[2][0] = l + (o - 5) * a, e[V]._labelLine.style.pointList[1][0] = l + (o - 20) * a), m = o
  13843. }
  13844. e.sort(function(e, t) {
  13845. return e._rect.y - t._rect.y
  13846. });
  13847. for(var s, l = 0, h = e.length, m = [], V = [], U = 0; h > U; U++) s = e[U]._rect.y - l, 0 > s && a(U, h, -s, n), l = e[U]._rect.y + e[U]._rect.height;
  13848. this.zr.getHeight() - l < 0 && o(h - 1, l - this.zr.getHeight());
  13849. for(var U = 0; h > U; U++) e[U]._rect.y >= t[1] ? V.push(e[U]) : m.push(e[U]);
  13850. r(V, !0, t, i, n), r(m, !1, t, i, n)
  13851. },
  13852. reformOption: function(e) {
  13853. var t = m.merge;
  13854. return e = t(t(e || {}, m.clone(this.ecTheme.pie || {})), m.clone(l.pie)), e.itemStyle.normal.label.textStyle = this.getTextStyle(e.itemStyle.normal.label.textStyle), e.itemStyle.emphasis.label.textStyle = this.getTextStyle(e.itemStyle.emphasis.label.textStyle), this.z = e.z, this.zlevel = e.zlevel, e
  13855. },
  13856. refresh: function(e) {
  13857. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  13858. },
  13859. addDataAnimation: function(e, t) {
  13860. function i() {
  13861. s--, 0 === s && t && t()
  13862. }
  13863. for(var n = this.series, a = {}, o = 0, r = e.length; r > o; o++) a[e[o][0]] = e[o];
  13864. var s = 0,
  13865. h = {},
  13866. m = {},
  13867. V = {},
  13868. U = this.shapeList;
  13869. this.shapeList = [];
  13870. for(var d, p, c, u = {}, o = 0, r = e.length; r > o; o++) d = e[o][0], p = e[o][2], c = e[o][3], n[d] && n[d].type === l.CHART_TYPE_PIE && (p ? (c || (h[d + "_" + n[d].data.length] = "delete"), u[d] = 1) : c ? u[d] = 0 : (h[d + "_-1"] = "delete", u[d] = -1), this._buildSinglePie(d));
  13871. for(var y, g, o = 0, r = this.shapeList.length; r > o; o++) switch(d = this.shapeList[o]._seriesIndex, y = this.shapeList[o]._dataIndex, g = d + "_" + y, this.shapeList[o].type) {
  13872. case "sector":
  13873. h[g] = this.shapeList[o];
  13874. break;
  13875. case "text":
  13876. m[g] = this.shapeList[o];
  13877. break;
  13878. case "polyline":
  13879. V[g] = this.shapeList[o]
  13880. }
  13881. this.shapeList = [];
  13882. for(var b, o = 0, r = U.length; r > o; o++)
  13883. if(d = U[o]._seriesIndex, a[d]) {
  13884. if(y = U[o]._dataIndex + u[d], g = d + "_" + y, b = h[g], !b) continue;
  13885. if("sector" === U[o].type) "delete" != b ? (s++, this.zr.animate(U[o].id, "style").when(400, {
  13886. startAngle: b.style.startAngle,
  13887. endAngle: b.style.endAngle
  13888. }).done(i).start()) : (s++, this.zr.animate(U[o].id, "style").when(400, u[d] < 0 ? {
  13889. startAngle: U[o].style.startAngle
  13890. } : {
  13891. endAngle: U[o].style.endAngle
  13892. }).done(i).start());
  13893. else if("text" === U[o].type || "polyline" === U[o].type)
  13894. if("delete" === b) this.zr.delShape(U[o].id);
  13895. else switch(U[o].type) {
  13896. case "text":
  13897. s++, b = m[g], this.zr.animate(U[o].id, "style").when(400, {
  13898. x: b.style.x,
  13899. y: b.style.y
  13900. }).done(i).start();
  13901. break;
  13902. case "polyline":
  13903. s++, b = V[g], this.zr.animate(U[o].id, "style").when(400, {
  13904. pointList: b.style.pointList
  13905. }).done(i).start()
  13906. }
  13907. }
  13908. this.shapeList = U, s || t && t()
  13909. },
  13910. onclick: function(e) {
  13911. var t = this.series;
  13912. if(this.isClick && e.target) {
  13913. this.isClick = !1;
  13914. for(var i, n = e.target, a = n.style, o = h.get(n, "seriesIndex"), r = h.get(n, "dataIndex"), s = 0, m = this.shapeList.length; m > s; s++)
  13915. if(this.shapeList[s].id === n.id) {
  13916. if(o = h.get(n, "seriesIndex"), r = h.get(n, "dataIndex"), a._hasSelected) n.style.x = n.style._x, n.style.y = n.style._y, n.style._hasSelected = !1, this._selected[o][r] = !1;
  13917. else {
  13918. var U = ((a.startAngle + a.endAngle) / 2).toFixed(2) - 0;
  13919. n.style._hasSelected = !0, this._selected[o][r] = !0, n.style._x = n.style.x, n.style._y = n.style.y, i = this.query(t[o], "selectedOffset"), n.style.x += V.cos(U, !0) * i, n.style.y -= V.sin(U, !0) * i
  13920. }
  13921. this.zr.modShape(n.id)
  13922. } else this.shapeList[s].style._hasSelected && "single" === this._selectedMode && (o = h.get(this.shapeList[s], "seriesIndex"), r = h.get(this.shapeList[s], "dataIndex"), this.shapeList[s].style.x = this.shapeList[s].style._x, this.shapeList[s].style.y = this.shapeList[s].style._y, this.shapeList[s].style._hasSelected = !1, this._selected[o][r] = !1, this.zr.modShape(this.shapeList[s].id));
  13923. this.messageCenter.dispatch(l.EVENT.PIE_SELECTED, e.event, {
  13924. selected: this._selected,
  13925. target: h.get(n, "name")
  13926. }, this.myChart), this.zr.refreshNextFrame()
  13927. }
  13928. }
  13929. }, m.inherits(t, i), e("../chart").define("pie", t), t
  13930. }), i("echarts/chart/radar", ["require", "./base", "zrender/shape/Polygon", "../component/polar", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../util/accMath", "../chart"], function(e) {
  13931. function t(e, t, n, a, o) {
  13932. i.call(this, e, t, n, a, o), this.refresh(a)
  13933. }
  13934. var i = e("./base"),
  13935. n = e("zrender/shape/Polygon");
  13936. e("../component/polar");
  13937. var a = e("../config");
  13938. a.radar = {
  13939. zlevel: 0,
  13940. z: 2,
  13941. clickable: !0,
  13942. legendHoverLink: !0,
  13943. polarIndex: 0,
  13944. itemStyle: {
  13945. normal: {
  13946. label: {
  13947. show: !1
  13948. },
  13949. lineStyle: {
  13950. width: 2,
  13951. type: "solid"
  13952. }
  13953. },
  13954. emphasis: {
  13955. label: {
  13956. show: !1
  13957. }
  13958. }
  13959. },
  13960. symbolSize: 2
  13961. };
  13962. var o = e("../util/ecData"),
  13963. r = e("zrender/tool/util"),
  13964. s = e("zrender/tool/color");
  13965. return t.prototype = {
  13966. type: a.CHART_TYPE_RADAR,
  13967. _buildShape: function() {
  13968. this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._radarDataCounter = 0;
  13969. for(var e, t = this.series, i = this.component.legend, n = 0, o = t.length; o > n; n++) t[n].type === a.CHART_TYPE_RADAR && (this.serie = this.reformOption(t[n]), this.legendHoverLink = t[n].legendHoverLink || this.legendHoverLink, e = this.serie.name || "", this.selectedMap[e] = i ? i.isSelected(e) : !0, this.selectedMap[e] && (this._queryTarget = [this.serie, this.option], this.deepQuery(this._queryTarget, "calculable") && this._addDropBox(n), this._buildSingleRadar(n), this.buildMark(n)));
  13970. this.addShapeList()
  13971. },
  13972. _buildSingleRadar: function(e) {
  13973. for(var t, i, n, a, o = this.component.legend, r = this.serie.data, s = this.deepQuery(this._queryTarget, "calculable"), l = 0; l < r.length; l++) n = r[l].name || "", this.selectedMap[n] = o ? o.isSelected(n) : !0, this.selectedMap[n] && (o ? (i = o.getColor(n), t = o.getItemShape(n), t && (t.style.brushType = this.deepQuery([r[l], this.serie], "itemStyle.normal.areaStyle") ? "both" : "stroke", o.setItemShape(n, t))) : i = this.zr.getColor(l), a = this._getPointList(this.serie.polarIndex, r[l]), this._addSymbol(a, i, l, e, this.serie.polarIndex), this._addDataShape(a, i, r[l], e, l, s), this._radarDataCounter++)
  13974. },
  13975. _getPointList: function(e, t) {
  13976. for(var i, n, a = [], o = this.component.polar, r = 0, s = t.value.length; s > r; r++) n = this.getDataFromOption(t.value[r]), i = "-" != n ? o.getVector(e, r, n) : !1, i && a.push(i);
  13977. return a
  13978. },
  13979. _addSymbol: function(e, t, i, n, a) {
  13980. for(var r, s = this.series, l = this.component.polar, h = 0, m = e.length; m > h; h++) r = this.getSymbolShape(this.deepMerge([s[n].data[i], s[n]]), n, s[n].data[i].value[h], h, l.getIndicatorText(a, h), e[h][0], e[h][1], this._symbol[this._radarDataCounter % this._symbol.length], t, "#fff", "vertical"), r.zlevel = this.getZlevelBase(), r.z = this.getZBase() + 1, o.set(r, "data", s[n].data[i]), o.set(r, "value", s[n].data[i].value), o.set(r, "dataIndex", i), o.set(r, "special", h), this.shapeList.push(r)
  13981. },
  13982. _addDataShape: function(e, t, i, a, r, l) {
  13983. var h = this.series,
  13984. m = [i, this.serie],
  13985. V = this.getItemStyleColor(this.deepQuery(m, "itemStyle.normal.color"), a, r, i),
  13986. U = this.deepQuery(m, "itemStyle.normal.lineStyle.width"),
  13987. d = this.deepQuery(m, "itemStyle.normal.lineStyle.type"),
  13988. p = this.deepQuery(m, "itemStyle.normal.areaStyle.color"),
  13989. c = this.deepQuery(m, "itemStyle.normal.areaStyle"),
  13990. u = {
  13991. zlevel: this.getZlevelBase(),
  13992. z: this.getZBase(),
  13993. style: {
  13994. pointList: e,
  13995. brushType: c ? "both" : "stroke",
  13996. color: p || V || ("string" == typeof t ? s.alpha(t, .5) : t),
  13997. strokeColor: V || t,
  13998. lineWidth: U,
  13999. lineType: d
  14000. },
  14001. highlightStyle: {
  14002. brushType: this.deepQuery(m, "itemStyle.emphasis.areaStyle") || c ? "both" : "stroke",
  14003. color: this.deepQuery(m, "itemStyle.emphasis.areaStyle.color") || p || V || ("string" == typeof t ? s.alpha(t, .5) : t),
  14004. strokeColor: this.getItemStyleColor(this.deepQuery(m, "itemStyle.emphasis.color"), a, r, i) || V || t,
  14005. lineWidth: this.deepQuery(m, "itemStyle.emphasis.lineStyle.width") || U,
  14006. lineType: this.deepQuery(m, "itemStyle.emphasis.lineStyle.type") || d
  14007. }
  14008. };
  14009. o.pack(u, h[a], a, i, r, i.name, this.component.polar.getIndicator(h[a].polarIndex)), l && (u.draggable = !0, this.setCalculable(u)), u = new n(u), this.shapeList.push(u)
  14010. },
  14011. _addDropBox: function(e) {
  14012. var t = this.series,
  14013. i = this.deepQuery(this._queryTarget, "polarIndex");
  14014. if(!this._dropBoxList[i]) {
  14015. var n = this.component.polar.getDropBox(i);
  14016. n.zlevel = this.getZlevelBase(), n.z = this.getZBase(), this.setCalculable(n), o.pack(n, t, e, void 0, -1), this.shapeList.push(n), this._dropBoxList[i] = !0
  14017. }
  14018. },
  14019. ondragend: function(e, t) {
  14020. var i = this.series;
  14021. if(this.isDragend && e.target) {
  14022. var n = e.target,
  14023. a = o.get(n, "seriesIndex"),
  14024. r = o.get(n, "dataIndex");
  14025. this.component.legend && this.component.legend.del(i[a].data[r].name), i[a].data.splice(r, 1), t.dragOut = !0, t.needRefresh = !0, this.isDragend = !1
  14026. }
  14027. },
  14028. ondrop: function(t, i) {
  14029. var n = this.series;
  14030. if(this.isDrop && t.target) {
  14031. var a, r, s = t.target,
  14032. l = t.dragged,
  14033. h = o.get(s, "seriesIndex"),
  14034. m = o.get(s, "dataIndex"),
  14035. V = this.component.legend;
  14036. if(-1 === m) a = {
  14037. value: o.get(l, "value"),
  14038. name: o.get(l, "name")
  14039. }, n[h].data.push(a), V && V.add(a.name, l.style.color || l.style.strokeColor);
  14040. else {
  14041. var U = e("../util/accMath");
  14042. a = n[h].data[m], V && V.del(a.name), a.name += this.option.nameConnector + o.get(l, "name"), r = o.get(l, "value");
  14043. for(var d = 0; d < r.length; d++) a.value[d] = U.accAdd(a.value[d], r[d]);
  14044. V && V.add(a.name, l.style.color || l.style.strokeColor)
  14045. }
  14046. i.dragIn = i.dragIn || !0, this.isDrop = !1
  14047. }
  14048. },
  14049. refresh: function(e) {
  14050. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  14051. }
  14052. }, r.inherits(t, i), e("../chart").define("radar", t), t
  14053. }), i("echarts/component/polar", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Polygon", "zrender/shape/Circle", "zrender/shape/Ring", "../config", "zrender/tool/util", "../util/coordinates", "../util/accMath", "../util/smartSteps", "../component"], function(e) {
  14054. function t(e, t, n, a, o) {
  14055. i.call(this, e, t, n, a, o), this.refresh(a)
  14056. }
  14057. var i = e("./base"),
  14058. n = e("zrender/shape/Text"),
  14059. a = e("zrender/shape/Line"),
  14060. o = e("zrender/shape/Polygon"),
  14061. r = e("zrender/shape/Circle"),
  14062. s = e("zrender/shape/Ring"),
  14063. l = e("../config");
  14064. l.polar = {
  14065. zlevel: 0,
  14066. z: 0,
  14067. center: ["50%", "50%"],
  14068. radius: "75%",
  14069. startAngle: 90,
  14070. boundaryGap: [0, 0],
  14071. splitNumber: 5,
  14072. name: {
  14073. show: !0,
  14074. textStyle: {
  14075. color: "#333"
  14076. }
  14077. },
  14078. axisLine: {
  14079. show: !0,
  14080. lineStyle: {
  14081. color: "#ccc",
  14082. width: 1,
  14083. type: "solid"
  14084. }
  14085. },
  14086. axisLabel: {
  14087. show: !1,
  14088. textStyle: {
  14089. color: "#333"
  14090. }
  14091. },
  14092. splitArea: {
  14093. show: !0,
  14094. areaStyle: {
  14095. color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]
  14096. }
  14097. },
  14098. splitLine: {
  14099. show: !0,
  14100. lineStyle: {
  14101. width: 1,
  14102. color: "#ccc"
  14103. }
  14104. },
  14105. type: "polygon"
  14106. };
  14107. var h = e("zrender/tool/util"),
  14108. m = e("../util/coordinates");
  14109. return t.prototype = {
  14110. type: l.COMPONENT_TYPE_POLAR,
  14111. _buildShape: function() {
  14112. for(var e = 0; e < this.polar.length; e++) this._index = e, this.reformOption(this.polar[e]), this._queryTarget = [this.polar[e], this.option], this._createVector(e), this._buildSpiderWeb(e), this._buildText(e), this._adjustIndicatorValue(e), this._addAxisLabel(e);
  14113. for(var e = 0; e < this.shapeList.length; e++) this.zr.addShape(this.shapeList[e])
  14114. },
  14115. _createVector: function(e) {
  14116. for(var t, i = this.polar[e], n = this.deepQuery(this._queryTarget, "indicator"), a = n.length, o = i.startAngle, r = 2 * Math.PI / a, s = this._getRadius(), l = i.__ecIndicator = [], h = 0; a > h; h++) t = m.polar2cartesian(s, o * Math.PI / 180 + r * h), l.push({
  14117. vector: [t[1], -t[0]]
  14118. })
  14119. },
  14120. _getRadius: function() {
  14121. var e = this.polar[this._index];
  14122. return this.parsePercent(e.radius, Math.min(this.zr.getWidth(), this.zr.getHeight()) / 2)
  14123. },
  14124. _buildSpiderWeb: function(e) {
  14125. var t = this.polar[e],
  14126. i = t.__ecIndicator,
  14127. n = t.splitArea,
  14128. a = t.splitLine,
  14129. o = this.getCenter(e),
  14130. r = t.splitNumber,
  14131. s = a.lineStyle.color,
  14132. l = a.lineStyle.width,
  14133. h = a.show,
  14134. m = this.deepQuery(this._queryTarget, "axisLine");
  14135. this._addArea(i, r, o, n, s, l, h), m.show && this._addLine(i, o, m)
  14136. },
  14137. _addAxisLabel: function(t) {
  14138. for(var i, a, o, r, a, s, l, m, V, U, d = e("../util/accMath"), p = this.polar[t], c = this.deepQuery(this._queryTarget, "indicator"), u = p.__ecIndicator, y = this.deepQuery(this._queryTarget, "splitNumber"), g = this.getCenter(t), b = 0; b < c.length; b++)
  14139. if(i = this.deepQuery([c[b], p, this.option], "axisLabel"), i.show) {
  14140. var f = this.deepQuery([i, p, this.option], "textStyle"),
  14141. k = this.deepQuery([i, p], "formatter");
  14142. if(o = {}, o.textFont = this.getFont(f), o.color = f.color, o = h.merge(o, i), o.lineWidth = o.width, a = u[b].vector, s = u[b].value, m = b / c.length * 2 * Math.PI, V = i.offset || 10, U = i.interval || 0, !s) return;
  14143. for(var x = 1; y >= x; x += U + 1) r = h.merge({}, o), l = d.accAdd(s.min, d.accMul(s.step, x)), l = "function" == typeof k ? k(l) : "string" == typeof k ? k.replace("{a}", "{a0}").replace("{a0}", l) : this.numAddCommas(l), r.text = l, r.x = x * a[0] / y + Math.cos(m) * V + g[0], r.y = x * a[1] / y + Math.sin(m) * V + g[1], this.shapeList.push(new n({
  14144. zlevel: this.getZlevelBase(),
  14145. z: this.getZBase(),
  14146. style: r,
  14147. draggable: !1,
  14148. hoverable: !1
  14149. }))
  14150. }
  14151. },
  14152. _buildText: function(e) {
  14153. for(var t, i, a, o, r, s, l, h = this.polar[e], m = h.__ecIndicator, V = this.deepQuery(this._queryTarget, "indicator"), U = this.getCenter(e), d = 0, p = 0, c = 0; c < V.length; c++) o = this.deepQuery([V[c], h, this.option], "name"), o.show && (l = this.deepQuery([o, h, this.option], "textStyle"), i = {}, i.textFont = this.getFont(l), i.color = l.color, i.text = "function" == typeof o.formatter ? o.formatter.call(this.myChart, V[c].text, c) : "string" == typeof o.formatter ? o.formatter.replace("{value}", V[c].text) : V[c].text, m[c].text = i.text, t = m[c].vector, a = Math.round(t[0]) > 0 ? "left" : Math.round(t[0]) < 0 ? "right" : "center", null == o.margin ? t = this._mapVector(t, U, 1.1) : (s = o.margin, d = t[0] > 0 ? s : -s, p = t[1] > 0 ? s : -s, d = 0 === t[0] ? 0 : d, p = 0 === t[1] ? 0 : p, t = this._mapVector(t, U, 1)), i.textAlign = a, i.x = t[0] + d, i.y = t[1] + p, r = o.rotate ? [o.rotate / 180 * Math.PI, t[0], t[1]] : [0, 0, 0], this.shapeList.push(new n({
  14154. zlevel: this.getZlevelBase(),
  14155. z: this.getZBase(),
  14156. style: i,
  14157. draggable: !1,
  14158. hoverable: !1,
  14159. rotation: r
  14160. })))
  14161. },
  14162. getIndicatorText: function(e, t) {
  14163. return this.polar[e] && this.polar[e].__ecIndicator[t] && this.polar[e].__ecIndicator[t].text
  14164. },
  14165. getDropBox: function(e) {
  14166. var t, i, e = e || 0,
  14167. n = this.polar[e],
  14168. a = this.getCenter(e),
  14169. o = n.__ecIndicator,
  14170. r = o.length,
  14171. s = [],
  14172. l = n.type;
  14173. if("polygon" == l) {
  14174. for(var h = 0; r > h; h++) t = o[h].vector, s.push(this._mapVector(t, a, 1.2));
  14175. i = this._getShape(s, "fill", "rgba(0,0,0,0)", "", 1)
  14176. } else "circle" == l && (i = this._getCircle("", 1, 1.2, a, "fill", "rgba(0,0,0,0)"));
  14177. return i
  14178. },
  14179. _addArea: function(e, t, i, n, a, o, r) {
  14180. for(var s, l, h, m, V = this.deepQuery(this._queryTarget, "type"), U = 0; t > U; U++) l = (t - U) / t, r && ("polygon" == V ? (m = this._getPointList(e, l, i), s = this._getShape(m, "stroke", "", a, o)) : "circle" == V && (s = this._getCircle(a, o, l, i, "stroke")), this.shapeList.push(s)), n.show && (h = (t - U - 1) / t, this._addSplitArea(e, n, l, h, i, U))
  14181. },
  14182. _getCircle: function(e, t, i, n, a, o) {
  14183. var s = this._getRadius();
  14184. return new r({
  14185. zlevel: this.getZlevelBase(),
  14186. z: this.getZBase(),
  14187. style: {
  14188. x: n[0],
  14189. y: n[1],
  14190. r: s * i,
  14191. brushType: a,
  14192. strokeColor: e,
  14193. lineWidth: t,
  14194. color: o
  14195. },
  14196. hoverable: !1,
  14197. draggable: !1
  14198. })
  14199. },
  14200. _getRing: function(e, t, i, n) {
  14201. var a = this._getRadius();
  14202. return new s({
  14203. zlevel: this.getZlevelBase(),
  14204. z: this.getZBase(),
  14205. style: {
  14206. x: n[0],
  14207. y: n[1],
  14208. r: t * a,
  14209. r0: i * a,
  14210. color: e,
  14211. brushType: "fill"
  14212. },
  14213. hoverable: !1,
  14214. draggable: !1
  14215. })
  14216. },
  14217. _getPointList: function(e, t, i) {
  14218. for(var n, a = [], o = e.length, r = 0; o > r; r++) n = e[r].vector, a.push(this._mapVector(n, i, t));
  14219. return a
  14220. },
  14221. _getShape: function(e, t, i, n, a) {
  14222. return new o({
  14223. zlevel: this.getZlevelBase(),
  14224. z: this.getZBase(),
  14225. style: {
  14226. pointList: e,
  14227. brushType: t,
  14228. color: i,
  14229. strokeColor: n,
  14230. lineWidth: a
  14231. },
  14232. hoverable: !1,
  14233. draggable: !1
  14234. })
  14235. },
  14236. _addSplitArea: function(e, t, i, n, a, o) {
  14237. var r, s, l, h, m, V = e.length,
  14238. U = t.areaStyle.color,
  14239. d = [],
  14240. V = e.length,
  14241. p = this.deepQuery(this._queryTarget, "type");
  14242. if("string" == typeof U && (U = [U]), s = U.length, r = U[o % s], "polygon" == p)
  14243. for(var c = 0; V > c; c++) d = [], l = e[c].vector, h = e[(c + 1) % V].vector, d.push(this._mapVector(l, a, i)), d.push(this._mapVector(l, a, n)), d.push(this._mapVector(h, a, n)), d.push(this._mapVector(h, a, i)), m = this._getShape(d, "fill", r, "", 1), this.shapeList.push(m);
  14244. else "circle" == p && (m = this._getRing(r, i, n, a), this.shapeList.push(m))
  14245. },
  14246. _mapVector: function(e, t, i) {
  14247. return [e[0] * i + t[0], e[1] * i + t[1]]
  14248. },
  14249. getCenter: function(e) {
  14250. var e = e || 0;
  14251. return this.parseCenter(this.zr, this.polar[e].center)
  14252. },
  14253. _addLine: function(e, t, i) {
  14254. for(var n, a, o = e.length, r = i.lineStyle, s = r.color, l = r.width, h = r.type, m = 0; o > m; m++) a = e[m].vector, n = this._getLine(t[0], t[1], a[0] + t[0], a[1] + t[1], s, l, h), this.shapeList.push(n)
  14255. },
  14256. _getLine: function(e, t, i, n, o, r, s) {
  14257. return new a({
  14258. zlevel: this.getZlevelBase(),
  14259. z: this.getZBase(),
  14260. style: {
  14261. xStart: e,
  14262. yStart: t,
  14263. xEnd: i,
  14264. yEnd: n,
  14265. strokeColor: o,
  14266. lineWidth: r,
  14267. lineType: s
  14268. },
  14269. hoverable: !1
  14270. })
  14271. },
  14272. _adjustIndicatorValue: function(t) {
  14273. for(var i, n, a, o = this.polar[t], r = this.deepQuery(this._queryTarget, "indicator"), s = r.length, l = o.__ecIndicator, h = this._getSeriesData(t), m = o.boundaryGap, V = o.splitNumber, U = o.scale, d = e("../util/smartSteps"), p = 0; s > p; p++) {
  14274. if("number" == typeof r[p].max) i = r[p].max, n = r[p].min || 0, a = {
  14275. max: i,
  14276. min: n
  14277. };
  14278. else {
  14279. var c = this._findValue(h, p, V, m);
  14280. n = c.min, i = c.max
  14281. }!U && n >= 0 && i >= 0 && (n = 0), !U && 0 >= n && 0 >= i && (i = 0);
  14282. var u = d(n, i, V, a);
  14283. l[p].value = {
  14284. min: u.min,
  14285. max: u.max,
  14286. step: u.step
  14287. }
  14288. }
  14289. },
  14290. _getSeriesData: function(e) {
  14291. for(var t, i, n, a = [], o = this.component.legend, r = 0; r < this.series.length; r++)
  14292. if(t = this.series[r], t.type == l.CHART_TYPE_RADAR) {
  14293. i = t.data || [];
  14294. for(var s = 0; s < i.length; s++) n = this.deepQuery([i[s], t, this.option], "polarIndex") || 0, n != e || o && !o.isSelected(i[s].name) || a.push(i[s])
  14295. }
  14296. return a
  14297. },
  14298. _findValue: function(e, t, i, n) {
  14299. function a(e) {
  14300. (e > o || void 0 === o) && (o = e), (r > e || void 0 === r) && (r = e)
  14301. }
  14302. var o, r, s;
  14303. if(e && 0 !== e.length) {
  14304. if(1 == e.length && (r = 0), 1 != e.length)
  14305. for(var l = 0; l < e.length; l++) a(this.getDataFromOption(e[l].value[t]));
  14306. else {
  14307. s = e[0];
  14308. for(var l = 0; l < s.value.length; l++) a(this.getDataFromOption(s.value[l]))
  14309. }
  14310. var h = Math.abs(o - r);
  14311. return r -= Math.abs(h * n[0]), o += Math.abs(h * n[1]), r === o && (0 === o ? o = 1 : o > 0 ? r = o / i : o /= i), {
  14312. max: o,
  14313. min: r
  14314. }
  14315. }
  14316. },
  14317. getVector: function(e, t, i) {
  14318. e = e || 0, t = t || 0;
  14319. var n = this.polar[e].__ecIndicator;
  14320. if(!(t >= n.length)) {
  14321. var a, o = this.polar[e].__ecIndicator[t],
  14322. r = this.getCenter(e),
  14323. s = o.vector,
  14324. l = o.value.max,
  14325. h = o.value.min;
  14326. if("undefined" == typeof i) return r;
  14327. switch(i) {
  14328. case "min":
  14329. i = h;
  14330. break;
  14331. case "max":
  14332. i = l;
  14333. break;
  14334. case "center":
  14335. i = (l + h) / 2
  14336. }
  14337. return a = l != h ? (i - h) / (l - h) : .5, this._mapVector(s, r, a)
  14338. }
  14339. },
  14340. isInside: function(e) {
  14341. var t = this.getNearestIndex(e);
  14342. return t ? t.polarIndex : -1
  14343. },
  14344. getNearestIndex: function(e) {
  14345. for(var t, i, n, a, o, r, s, l, h, V = 0; V < this.polar.length; V++) {
  14346. if(t = this.polar[V], i = this.getCenter(V), e[0] == i[0] && e[1] == i[1]) return {
  14347. polarIndex: V,
  14348. valueIndex: 0
  14349. };
  14350. if(n = this._getRadius(), o = t.startAngle, r = t.indicator, s = r.length, l = 2 * Math.PI / s, a = m.cartesian2polar(e[0] - i[0], i[1] - e[1]), e[0] - i[0] < 0 && (a[1] += Math.PI), a[1] < 0 && (a[1] += 2 * Math.PI), h = a[1] - o / 180 * Math.PI + 2 * Math.PI, Math.abs(Math.cos(h % (l / 2))) * n > a[0]) return {
  14351. polarIndex: V,
  14352. valueIndex: Math.floor((h + l / 2) / l) % s
  14353. }
  14354. }
  14355. },
  14356. getIndicator: function(e) {
  14357. var e = e || 0;
  14358. return this.polar[e].indicator
  14359. },
  14360. refresh: function(e) {
  14361. e && (this.option = e, this.polar = this.option.polar, this.series = this.option.series), this.clear(), this._buildShape()
  14362. }
  14363. }, h.inherits(t, i), e("../component").define("polar", t), t
  14364. }), i("echarts/util/coordinates", ["require", "zrender/tool/math"], function(e) {
  14365. function t(e, t) {
  14366. return [e * n.sin(t), e * n.cos(t)]
  14367. }
  14368. function i(e, t) {
  14369. return [Math.sqrt(e * e + t * t), Math.atan(t / e)]
  14370. }
  14371. var n = e("zrender/tool/math");
  14372. return {
  14373. polar2cartesian: t,
  14374. cartesian2polar: i
  14375. }
  14376. }), i("echarts/chart/chord", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Sector", "../util/shape/Ribbon", "../util/shape/Icon", "zrender/shape/BezierCurve", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/vector", "../data/Graph", "../layout/Chord", "../chart"], function(e) {
  14377. "use strict";
  14378. function t(e, t, n, a, o) {
  14379. i.call(this, e, t, n, a, o), this.scaleLineLength = 4, this.scaleUnitAngle = 4, this.refresh(a)
  14380. }
  14381. var i = e("./base"),
  14382. n = e("zrender/shape/Text"),
  14383. a = e("zrender/shape/Line"),
  14384. o = e("zrender/shape/Sector"),
  14385. r = e("../util/shape/Ribbon"),
  14386. s = e("../util/shape/Icon"),
  14387. l = e("zrender/shape/BezierCurve"),
  14388. h = e("../config");
  14389. h.chord = {
  14390. zlevel: 0,
  14391. z: 2,
  14392. clickable: !0,
  14393. radius: ["65%", "75%"],
  14394. center: ["50%", "50%"],
  14395. padding: 2,
  14396. sort: "none",
  14397. sortSub: "none",
  14398. startAngle: 90,
  14399. clockWise: !0,
  14400. ribbonType: !0,
  14401. minRadius: 10,
  14402. maxRadius: 20,
  14403. symbol: "circle",
  14404. showScale: !1,
  14405. showScaleText: !1,
  14406. itemStyle: {
  14407. normal: {
  14408. borderWidth: 0,
  14409. borderColor: "#000",
  14410. label: {
  14411. show: !0,
  14412. rotate: !1,
  14413. distance: 5
  14414. },
  14415. chordStyle: {
  14416. width: 1,
  14417. color: "black",
  14418. borderWidth: 1,
  14419. borderColor: "#999",
  14420. opacity: .5
  14421. }
  14422. },
  14423. emphasis: {
  14424. borderWidth: 0,
  14425. borderColor: "#000",
  14426. chordStyle: {
  14427. width: 1,
  14428. color: "black",
  14429. borderWidth: 1,
  14430. borderColor: "#999"
  14431. }
  14432. }
  14433. }
  14434. };
  14435. var m = e("../util/ecData"),
  14436. V = e("zrender/tool/util"),
  14437. U = e("zrender/tool/vector"),
  14438. d = e("../data/Graph"),
  14439. p = e("../layout/Chord");
  14440. return t.prototype = {
  14441. type: h.CHART_TYPE_CHORD,
  14442. _init: function() {
  14443. var e = this.series;
  14444. this.selectedMap = {};
  14445. for(var t = {}, i = {}, n = 0, a = e.length; a > n; n++)
  14446. if(e[n].type === this.type) {
  14447. var o = this.isSelected(e[n].name);
  14448. this.selectedMap[e[n].name] = o, o && this.buildMark(n), this.reformOption(e[n]), t[e[n].name] = e[n]
  14449. }
  14450. for(var n = 0, a = e.length; a > n; n++)
  14451. if(e[n].type === this.type)
  14452. if(e[n].insertToSerie) {
  14453. var r = t[e[n].insertToSerie];
  14454. e[n]._referenceSerie = r
  14455. } else i[e[n].name] = [e[n]];
  14456. for(var n = 0, a = e.length; a > n; n++)
  14457. if(e[n].type === this.type && e[n].insertToSerie) {
  14458. for(var s = e[n]._referenceSerie; s && s._referenceSerie;) s = s._referenceSerie;
  14459. i[s.name] && this.selectedMap[e[n].name] && i[s.name].push(e[n])
  14460. }
  14461. for(var l in i) this._buildChords(i[l]);
  14462. this.addShapeList()
  14463. },
  14464. _getNodeCategory: function(e, t) {
  14465. return e.categories && e.categories[t.category || 0]
  14466. },
  14467. _getNodeQueryTarget: function(e, t) {
  14468. var i = this._getNodeCategory(e, t);
  14469. return [t, i, e]
  14470. },
  14471. _getEdgeQueryTarget: function(e, t, i) {
  14472. return i = i || "normal", [t.itemStyle && t.itemStyle[i], e.itemStyle[i].chordStyle]
  14473. },
  14474. _buildChords: function(e) {
  14475. for(var t = [], i = e[0], n = function(e) {
  14476. return e.layout.size > 0
  14477. }, a = function(e) {
  14478. return function(t) {
  14479. return e.getEdge(t.node2, t.node1)
  14480. }
  14481. }, o = 0; o < e.length; o++) {
  14482. var r = e[o];
  14483. if(this.selectedMap[r.name]) {
  14484. var s;
  14485. r.matrix ? s = this._getSerieGraphFromDataMatrix(r, i) : r.links && (s = this._getSerieGraphFromNodeLinks(r, i)), s.filterNode(n, this), r.ribbonType && s.filterEdge(a(s)), t.push(s), s.__serie = r
  14486. }
  14487. }
  14488. if(t.length) {
  14489. var l = t[0];
  14490. if(!i.ribbonType) {
  14491. var h = i.minRadius,
  14492. m = i.maxRadius,
  14493. V = 1 / 0,
  14494. U = -(1 / 0);
  14495. l.eachNode(function(e) {
  14496. U = Math.max(e.layout.size, U), V = Math.min(e.layout.size, V)
  14497. });
  14498. var d = (m - h) / (U - V);
  14499. l.eachNode(function(e) {
  14500. var t = this._getNodeQueryTarget(i, e),
  14501. n = this.query(t, "symbolSize");
  14502. e.layout.size = U === V ? n || V : n || (e.layout.size - V) * d + h
  14503. }, this)
  14504. }
  14505. var c = new p;
  14506. c.clockWise = i.clockWise, c.startAngle = i.startAngle * Math.PI / 180, c.clockWise || (c.startAngle = -c.startAngle), c.padding = i.padding * Math.PI / 180, c.sort = i.sort, c.sortSub = i.sortSub, c.directed = i.ribbonType, c.run(t);
  14507. var u = this.query(i, "itemStyle.normal.label.show");
  14508. if(i.ribbonType) {
  14509. this._buildSectors(i, 0, l, i, t), u && this._buildLabels(i, 0, l, i, t);
  14510. for(var o = 0, y = 0; o < e.length; o++) this.selectedMap[e[o].name] && this._buildRibbons(e, o, t[y++], i);
  14511. i.showScale && this._buildScales(i, 0, l)
  14512. } else {
  14513. this._buildNodeIcons(i, 0, l, i, t), u && this._buildLabels(i, 0, l, i, t);
  14514. for(var o = 0, y = 0; o < e.length; o++) this.selectedMap[e[o].name] && this._buildEdgeCurves(e, o, t[y++], i, l)
  14515. }
  14516. this._initHoverHandler(e, t)
  14517. }
  14518. },
  14519. _getSerieGraphFromDataMatrix: function(e, t) {
  14520. for(var i = [], n = 0, a = [], o = 0; o < e.matrix.length; o++) a[o] = e.matrix[o].slice();
  14521. for(var r = e.data || e.nodes, o = 0; o < r.length; o++) {
  14522. var s = {},
  14523. l = r[o];
  14524. l.rawIndex = o;
  14525. for(var h in l) "name" === h ? s.id = l.name : s[h] = l[h];
  14526. var m = this._getNodeCategory(t, l),
  14527. V = m ? m.name : l.name;
  14528. if(this.selectedMap[V] = this.isSelected(V), this.selectedMap[V]) i.push(s), n++;
  14529. else {
  14530. a.splice(n, 1);
  14531. for(var U = 0; U < a.length; U++) a[U].splice(n, 1)
  14532. }
  14533. }
  14534. var p = d.fromMatrix(i, a, !0);
  14535. return p.eachNode(function(e) {
  14536. e.layout = {
  14537. size: e.data.outValue
  14538. }, e.rawIndex = e.data.rawIndex
  14539. }), p.eachEdge(function(e) {
  14540. e.layout = {
  14541. weight: e.data.weight
  14542. }
  14543. }), p
  14544. },
  14545. _getSerieGraphFromNodeLinks: function(e, t) {
  14546. for(var i = new d(!0), n = e.data || e.nodes, a = 0, o = n.length; o > a; a++) {
  14547. var r = n[a];
  14548. if(r && !r.ignore) {
  14549. var s = this._getNodeCategory(t, r),
  14550. l = s ? s.name : r.name;
  14551. if(this.selectedMap[l] = this.isSelected(l), this.selectedMap[l]) {
  14552. var h = i.addNode(r.name, r);
  14553. h.rawIndex = a
  14554. }
  14555. }
  14556. }
  14557. for(var a = 0, o = e.links.length; o > a; a++) {
  14558. var m = e.links[a],
  14559. V = m.source,
  14560. U = m.target;
  14561. "number" == typeof V && (V = n[V], V && (V = V.name)), "number" == typeof U && (U = n[U], U && (U = U.name));
  14562. var p = i.addEdge(V, U, m);
  14563. p && (p.rawIndex = a)
  14564. }
  14565. return i.eachNode(function(e) {
  14566. var i = e.data.value;
  14567. if(null == i)
  14568. if(i = 0, t.ribbonType)
  14569. for(var n = 0; n < e.outEdges.length; n++) i += e.outEdges[n].data.weight || 0;
  14570. else
  14571. for(var n = 0; n < e.edges.length; n++) i += e.edges[n].data.weight || 0;
  14572. e.layout = {
  14573. size: i
  14574. }
  14575. }), i.eachEdge(function(e) {
  14576. e.layout = {
  14577. weight: null == e.data.weight ? 1 : e.data.weight
  14578. }
  14579. }), i
  14580. },
  14581. _initHoverHandler: function(e, t) {
  14582. var i = e[0],
  14583. n = t[0],
  14584. a = this;
  14585. n.eachNode(function(e) {
  14586. e.shape.onmouseover = function() {
  14587. n.eachNode(function(e) {
  14588. e.shape.style.opacity = .1, e.labelShape && (e.labelShape.style.opacity = .1, e.labelShape.modSelf()), e.shape.modSelf()
  14589. });
  14590. for(var i = 0; i < t.length; i++)
  14591. for(var o = 0; o < t[i].edges.length; o++) {
  14592. var r = t[i].edges[o],
  14593. s = a._getEdgeQueryTarget(t[i].__serie, r.data);
  14594. r.shape.style.opacity = .1 * a.deepQuery(s, "opacity"), r.shape.modSelf()
  14595. }
  14596. e.shape.style.opacity = 1, e.labelShape && (e.labelShape.style.opacity = 1);
  14597. for(var i = 0; i < t.length; i++) {
  14598. var l = t[i].getNodeById(e.id);
  14599. if(l)
  14600. for(var o = 0; o < l.outEdges.length; o++) {
  14601. var r = l.outEdges[o],
  14602. s = a._getEdgeQueryTarget(t[i].__serie, r.data);
  14603. r.shape.style.opacity = a.deepQuery(s, "opacity");
  14604. var h = t[0].getNodeById(r.node2.id);
  14605. h && (h.shape && (h.shape.style.opacity = 1), h.labelShape && (h.labelShape.style.opacity = 1))
  14606. }
  14607. }
  14608. a.zr.refreshNextFrame()
  14609. }, e.shape.onmouseout = function() {
  14610. n.eachNode(function(e) {
  14611. e.shape.style.opacity = 1, e.labelShape && (e.labelShape.style.opacity = 1, e.labelShape.modSelf()), e.shape.modSelf()
  14612. });
  14613. for(var e = 0; e < t.length; e++)
  14614. for(var o = 0; o < t[e].edges.length; o++) {
  14615. var r = t[e].edges[o],
  14616. s = [r.data, i];
  14617. r.shape.style.opacity = a.deepQuery(s, "itemStyle.normal.chordStyle.opacity"), r.shape.modSelf()
  14618. }
  14619. a.zr.refreshNextFrame()
  14620. }
  14621. })
  14622. },
  14623. _buildSectors: function(e, t, i, n) {
  14624. var a = this.parseCenter(this.zr, n.center),
  14625. r = this.parseRadius(this.zr, n.radius),
  14626. s = n.clockWise,
  14627. l = s ? 1 : -1;
  14628. i.eachNode(function(i) {
  14629. var h = this._getNodeCategory(n, i.data),
  14630. V = this.getColor(h ? h.name : i.id),
  14631. U = i.layout.startAngle / Math.PI * 180 * l,
  14632. d = i.layout.endAngle / Math.PI * 180 * l,
  14633. p = new o({
  14634. zlevel: e.zlevel,
  14635. z: e.z,
  14636. style: {
  14637. x: a[0],
  14638. y: a[1],
  14639. r0: r[0],
  14640. r: r[1],
  14641. startAngle: U,
  14642. endAngle: d,
  14643. brushType: "fill",
  14644. opacity: 1,
  14645. color: V,
  14646. clockWise: s
  14647. },
  14648. clickable: n.clickable,
  14649. highlightStyle: {
  14650. brushType: "fill"
  14651. }
  14652. });
  14653. p.style.lineWidth = this.deepQuery([i.data, n], "itemStyle.normal.borderWidth"), p.highlightStyle.lineWidth = this.deepQuery([i.data, n], "itemStyle.emphasis.borderWidth"), p.style.strokeColor = this.deepQuery([i.data, n], "itemStyle.normal.borderColor"), p.highlightStyle.strokeColor = this.deepQuery([i.data, n], "itemStyle.emphasis.borderColor"), p.style.lineWidth > 0 && (p.style.brushType = "both"), p.highlightStyle.lineWidth > 0 && (p.highlightStyle.brushType = "both"), m.pack(p, e, t, i.data, i.rawIndex, i.id, i.category), this.shapeList.push(p), i.shape = p
  14654. }, this)
  14655. },
  14656. _buildNodeIcons: function(e, t, i, n) {
  14657. var a = this.parseCenter(this.zr, n.center),
  14658. o = this.parseRadius(this.zr, n.radius),
  14659. r = o[1];
  14660. i.eachNode(function(i) {
  14661. var o = i.layout.startAngle,
  14662. l = i.layout.endAngle,
  14663. h = (o + l) / 2,
  14664. V = r * Math.cos(h),
  14665. U = r * Math.sin(h),
  14666. d = this._getNodeQueryTarget(n, i.data),
  14667. p = this._getNodeCategory(n, i.data),
  14668. c = this.deepQuery(d, "itemStyle.normal.color");
  14669. c || (c = this.getColor(p ? p.name : i.id));
  14670. var u = new s({
  14671. zlevel: e.zlevel,
  14672. z: e.z + 1,
  14673. style: {
  14674. x: -i.layout.size,
  14675. y: -i.layout.size,
  14676. width: 2 * i.layout.size,
  14677. height: 2 * i.layout.size,
  14678. iconType: this.deepQuery(d, "symbol"),
  14679. color: c,
  14680. brushType: "both",
  14681. lineWidth: this.deepQuery(d, "itemStyle.normal.borderWidth"),
  14682. strokeColor: this.deepQuery(d, "itemStyle.normal.borderColor")
  14683. },
  14684. highlightStyle: {
  14685. color: this.deepQuery(d, "itemStyle.emphasis.color"),
  14686. lineWidth: this.deepQuery(d, "itemStyle.emphasis.borderWidth"),
  14687. strokeColor: this.deepQuery(d, "itemStyle.emphasis.borderColor")
  14688. },
  14689. clickable: n.clickable,
  14690. position: [V + a[0], U + a[1]]
  14691. });
  14692. m.pack(u, e, t, i.data, i.rawIndex, i.id, i.category), this.shapeList.push(u), i.shape = u
  14693. }, this)
  14694. },
  14695. _buildLabels: function(e, t, i, a) {
  14696. var o = this.query(a, "itemStyle.normal.label.rotate"),
  14697. r = this.query(a, "itemStyle.normal.label.distance"),
  14698. s = this.parseCenter(this.zr, a.center),
  14699. l = this.parseRadius(this.zr, a.radius),
  14700. h = a.clockWise,
  14701. m = h ? 1 : -1;
  14702. i.eachNode(function(t) {
  14703. var i = t.layout.startAngle / Math.PI * 180 * m,
  14704. h = t.layout.endAngle / Math.PI * 180 * m,
  14705. V = (i * -m + h * -m) / 2;
  14706. V %= 360, 0 > V && (V += 360);
  14707. var d = 90 >= V || V >= 270;
  14708. V = V * Math.PI / 180;
  14709. var p = [Math.cos(V), -Math.sin(V)],
  14710. c = 0;
  14711. c = a.ribbonType ? a.showScaleText ? 35 + r : r : r + t.layout.size;
  14712. var u = U.scale([], p, l[1] + c);
  14713. U.add(u, u, s);
  14714. var y = {
  14715. zlevel: e.zlevel,
  14716. z: e.z + 1,
  14717. hoverable: !1,
  14718. style: {
  14719. text: null == t.data.label ? t.id : t.data.label,
  14720. textAlign: d ? "left" : "right"
  14721. }
  14722. };
  14723. o ? (y.rotation = d ? V : Math.PI + V, y.style.x = d ? l[1] + c : -l[1] - c, y.style.y = 0, y.position = s.slice()) : (y.style.x = u[0], y.style.y = u[1]), y.style.color = this.deepQuery([t.data, a], "itemStyle.normal.label.textStyle.color") || "#000000", y.style.textFont = this.getFont(this.deepQuery([t.data, a], "itemStyle.normal.label.textStyle")), y = new n(y), this.shapeList.push(y), t.labelShape = y
  14724. }, this)
  14725. },
  14726. _buildRibbons: function(e, t, i, n) {
  14727. var a = e[t],
  14728. o = this.parseCenter(this.zr, n.center),
  14729. s = this.parseRadius(this.zr, n.radius);
  14730. i.eachEdge(function(l, h) {
  14731. var V, U = i.getEdge(l.node2, l.node1);
  14732. if(U && !l.shape) {
  14733. if(U.shape) return void(l.shape = U.shape);
  14734. var d = l.layout.startAngle / Math.PI * 180,
  14735. p = l.layout.endAngle / Math.PI * 180,
  14736. c = U.layout.startAngle / Math.PI * 180,
  14737. u = U.layout.endAngle / Math.PI * 180;
  14738. V = this.getColor(1 === e.length ? l.layout.weight <= U.layout.weight ? l.node1.id : l.node2.id : a.name);
  14739. var y, g, b = this._getEdgeQueryTarget(a, l.data),
  14740. f = this._getEdgeQueryTarget(a, l.data, "emphasis"),
  14741. k = new r({
  14742. zlevel: a.zlevel,
  14743. z: a.z,
  14744. style: {
  14745. x: o[0],
  14746. y: o[1],
  14747. r: s[0],
  14748. source0: d,
  14749. source1: p,
  14750. target0: c,
  14751. target1: u,
  14752. brushType: "both",
  14753. opacity: this.deepQuery(b, "opacity"),
  14754. color: V,
  14755. lineWidth: this.deepQuery(b, "borderWidth"),
  14756. strokeColor: this.deepQuery(b, "borderColor"),
  14757. clockWise: n.clockWise
  14758. },
  14759. clickable: n.clickable,
  14760. highlightStyle: {
  14761. brushType: "both",
  14762. opacity: this.deepQuery(f, "opacity"),
  14763. lineWidth: this.deepQuery(f, "borderWidth"),
  14764. strokeColor: this.deepQuery(f, "borderColor")
  14765. }
  14766. });
  14767. l.layout.weight <= U.layout.weight ? (y = U.node1, g = U.node2) : (y = l.node1, g = l.node2), m.pack(k, a, t, l.data, null == l.rawIndex ? h : l.rawIndex, l.data.name || y.id + "-" + g.id, y.id, g.id), this.shapeList.push(k), l.shape = k
  14768. }
  14769. }, this)
  14770. },
  14771. _buildEdgeCurves: function(e, t, i, n, a) {
  14772. var o = e[t],
  14773. r = this.parseCenter(this.zr, n.center);
  14774. i.eachEdge(function(e, i) {
  14775. var n = a.getNodeById(e.node1.id),
  14776. s = a.getNodeById(e.node2.id),
  14777. h = n.shape,
  14778. V = s.shape,
  14779. U = this._getEdgeQueryTarget(o, e.data),
  14780. d = this._getEdgeQueryTarget(o, e.data, "emphasis"),
  14781. p = new l({
  14782. zlevel: o.zlevel,
  14783. z: o.z,
  14784. style: {
  14785. xStart: h.position[0],
  14786. yStart: h.position[1],
  14787. xEnd: V.position[0],
  14788. yEnd: V.position[1],
  14789. cpX1: r[0],
  14790. cpY1: r[1],
  14791. lineWidth: this.deepQuery(U, "width"),
  14792. strokeColor: this.deepQuery(U, "color"),
  14793. opacity: this.deepQuery(U, "opacity")
  14794. },
  14795. highlightStyle: {
  14796. lineWidth: this.deepQuery(d, "width"),
  14797. strokeColor: this.deepQuery(d, "color"),
  14798. opacity: this.deepQuery(d, "opacity")
  14799. }
  14800. });
  14801. m.pack(p, o, t, e.data, null == e.rawIndex ? i : e.rawIndex, e.data.name || e.node1.id + "-" + e.node2.id, e.node1.id, e.node2.id), this.shapeList.push(p), e.shape = p
  14802. }, this)
  14803. },
  14804. _buildScales: function(e, t, i) {
  14805. var o, r, s = e.clockWise,
  14806. l = this.parseCenter(this.zr, e.center),
  14807. h = this.parseRadius(this.zr, e.radius),
  14808. m = s ? 1 : -1,
  14809. V = 0,
  14810. d = -(1 / 0);
  14811. e.showScaleText && (i.eachNode(function(e) {
  14812. var t = e.data.value;
  14813. t > d && (d = t), V += t
  14814. }), d > 1e10 ? (o = "b", r = 1e-9) : d > 1e7 ? (o = "m", r = 1e-6) : d > 1e4 ? (o = "k", r = .001) : (o = "", r = 1));
  14815. var p = V / (360 - e.padding);
  14816. i.eachNode(function(t) {
  14817. for(var i = t.layout.startAngle / Math.PI * 180, V = t.layout.endAngle / Math.PI * 180, d = i;;) {
  14818. if(s && d > V || !s && V > d) break;
  14819. var c = d / 180 * Math.PI,
  14820. u = [Math.cos(c), Math.sin(c)],
  14821. y = U.scale([], u, h[1] + 1);
  14822. U.add(y, y, l);
  14823. var g = U.scale([], u, h[1] + this.scaleLineLength);
  14824. U.add(g, g, l);
  14825. var b = new a({
  14826. zlevel: e.zlevel,
  14827. z: e.z - 1,
  14828. hoverable: !1,
  14829. style: {
  14830. xStart: y[0],
  14831. yStart: y[1],
  14832. xEnd: g[0],
  14833. yEnd: g[1],
  14834. lineCap: "round",
  14835. brushType: "stroke",
  14836. strokeColor: "#666",
  14837. lineWidth: 1
  14838. }
  14839. });
  14840. this.shapeList.push(b), d += m * this.scaleUnitAngle
  14841. }
  14842. if(e.showScaleText)
  14843. for(var f = i, k = 5 * p * this.scaleUnitAngle, x = 0;;) {
  14844. if(s && f > V || !s && V > f) break;
  14845. var c = f;
  14846. c %= 360, 0 > c && (c += 360);
  14847. var _ = 90 >= c || c >= 270,
  14848. L = new n({
  14849. zlevel: e.zlevel,
  14850. z: e.z - 1,
  14851. hoverable: !1,
  14852. style: {
  14853. x: _ ? h[1] + this.scaleLineLength + 4 : -h[1] - this.scaleLineLength - 4,
  14854. y: 0,
  14855. text: Math.round(10 * x) / 10 + o,
  14856. textAlign: _ ? "left" : "right"
  14857. },
  14858. position: l.slice(),
  14859. rotation: _ ? [-c / 180 * Math.PI, 0, 0] : [-(c + 180) / 180 * Math.PI, 0, 0]
  14860. });
  14861. this.shapeList.push(L), x += k * r, f += m * this.scaleUnitAngle * 5
  14862. }
  14863. }, this)
  14864. },
  14865. refresh: function(e) {
  14866. if(e && (this.option = e, this.series = e.series), this.legend = this.component.legend, this.legend) this.getColor = function(e) {
  14867. return this.legend.getColor(e)
  14868. }, this.isSelected = function(e) {
  14869. return this.legend.isSelected(e)
  14870. };
  14871. else {
  14872. var t = {},
  14873. i = 0;
  14874. this.getColor = function(e) {
  14875. return t[e] ? t[e] : (t[e] || (t[e] = this.zr.getColor(i++)), t[e])
  14876. }, this.isSelected = function() {
  14877. return !0
  14878. }
  14879. }
  14880. this.backupShapeList(), this._init()
  14881. },
  14882. reformOption: function(e) {
  14883. var t = V.merge;
  14884. e = t(t(e || {}, this.ecTheme.chord), h.chord), e.itemStyle.normal.label.textStyle = this.getTextStyle(e.itemStyle.normal.label.textStyle), this.z = e.z, this.zlevel = e.zlevel
  14885. }
  14886. }, V.inherits(t, i), e("../chart").define("chord", t), t
  14887. }), i("echarts/util/shape/Ribbon", ["require", "zrender/shape/Base", "zrender/shape/util/PathProxy", "zrender/tool/util", "zrender/tool/area"], function(e) {
  14888. function t(e) {
  14889. i.call(this, e), this._pathProxy = new n
  14890. }
  14891. var i = e("zrender/shape/Base"),
  14892. n = e("zrender/shape/util/PathProxy"),
  14893. a = e("zrender/tool/util"),
  14894. o = e("zrender/tool/area");
  14895. return t.prototype = {
  14896. type: "ribbon",
  14897. buildPath: function(e, t) {
  14898. var i = t.clockWise || !1,
  14899. n = this._pathProxy;
  14900. n.begin(e);
  14901. var a = t.x,
  14902. o = t.y,
  14903. r = t.r,
  14904. s = t.source0 / 180 * Math.PI,
  14905. l = t.source1 / 180 * Math.PI,
  14906. h = t.target0 / 180 * Math.PI,
  14907. m = t.target1 / 180 * Math.PI,
  14908. V = a + Math.cos(s) * r,
  14909. U = o + Math.sin(s) * r,
  14910. d = a + Math.cos(l) * r,
  14911. p = o + Math.sin(l) * r,
  14912. c = a + Math.cos(h) * r,
  14913. u = o + Math.sin(h) * r,
  14914. y = a + Math.cos(m) * r,
  14915. g = o + Math.sin(m) * r;
  14916. n.moveTo(V, U), n.arc(a, o, t.r, s, l, !i), n.bezierCurveTo(.7 * (a - d) + d, .7 * (o - p) + p, .7 * (a - c) + c, .7 * (o - u) + u, c, u), (t.source0 !== t.target0 || t.source1 !== t.target1) && (n.arc(a, o, t.r, h, m, !i), n.bezierCurveTo(.7 * (a - y) + y, .7 * (o - g) + g, .7 * (a - V) + V, .7 * (o - U) + U, V, U))
  14917. },
  14918. getRect: function(e) {
  14919. return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
  14920. },
  14921. isCover: function(e, t) {
  14922. var i = this.getRect(this.style);
  14923. return e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height ? o.isInsidePath(this._pathProxy.pathCommands, 0, "fill", e, t) : void 0
  14924. }
  14925. }, a.inherits(t, i), t
  14926. }), i("echarts/data/Graph", ["require", "zrender/tool/util"], function(e) {
  14927. var t = e("zrender/tool/util"),
  14928. i = function(e) {
  14929. this._directed = e || !1, this.nodes = [], this.edges = [], this._nodesMap = {}, this._edgesMap = {}
  14930. };
  14931. i.prototype.isDirected = function() {
  14932. return this._directed
  14933. }, i.prototype.addNode = function(e, t) {
  14934. if(this._nodesMap[e]) return this._nodesMap[e];
  14935. var n = new i.Node(e, t);
  14936. return this.nodes.push(n), this._nodesMap[e] = n, n
  14937. }, i.prototype.getNodeById = function(e) {
  14938. return this._nodesMap[e]
  14939. }, i.prototype.addEdge = function(e, t, n) {
  14940. if("string" == typeof e && (e = this._nodesMap[e]), "string" == typeof t && (t = this._nodesMap[t]), e && t) {
  14941. var a = e.id + "-" + t.id;
  14942. if(this._edgesMap[a]) return this._edgesMap[a];
  14943. var o = new i.Edge(e, t, n);
  14944. return this._directed && (e.outEdges.push(o), t.inEdges.push(o)), e.edges.push(o), e !== t && t.edges.push(o), this.edges.push(o), this._edgesMap[a] = o, o
  14945. }
  14946. }, i.prototype.removeEdge = function(e) {
  14947. var i = e.node1,
  14948. n = e.node2,
  14949. a = i.id + "-" + n.id;
  14950. this._directed && (i.outEdges.splice(t.indexOf(i.outEdges, e), 1), n.inEdges.splice(t.indexOf(n.inEdges, e), 1)), i.edges.splice(t.indexOf(i.edges, e), 1), i !== n && n.edges.splice(t.indexOf(n.edges, e), 1), delete this._edgesMap[a], this.edges.splice(t.indexOf(this.edges, e), 1)
  14951. }, i.prototype.getEdge = function(e, t) {
  14952. return "string" != typeof e && (e = e.id), "string" != typeof t && (t = t.id), this._directed ? this._edgesMap[e + "-" + t] : this._edgesMap[e + "-" + t] || this._edgesMap[t + "-" + e]
  14953. }, i.prototype.removeNode = function(e) {
  14954. if("string" != typeof e || (e = this._nodesMap[e])) {
  14955. delete this._nodesMap[e.id], this.nodes.splice(t.indexOf(this.nodes, e), 1);
  14956. for(var i = 0; i < this.edges.length;) {
  14957. var n = this.edges[i];
  14958. n.node1 === e || n.node2 === e ? this.removeEdge(n) : i++
  14959. }
  14960. }
  14961. }, i.prototype.filterNode = function(e, t) {
  14962. for(var i = this.nodes.length, n = 0; i > n;) e.call(t, this.nodes[n], n) ? n++ : (this.removeNode(this.nodes[n]), i--)
  14963. }, i.prototype.filterEdge = function(e, t) {
  14964. for(var i = this.edges.length, n = 0; i > n;) e.call(t, this.edges[n], n) ? n++ : (this.removeEdge(this.edges[n]), i--)
  14965. }, i.prototype.eachNode = function(e, t) {
  14966. for(var i = this.nodes.length, n = 0; i > n; n++) this.nodes[n] && e.call(t, this.nodes[n], n)
  14967. }, i.prototype.eachEdge = function(e, t) {
  14968. for(var i = this.edges.length, n = 0; i > n; n++) this.edges[n] && e.call(t, this.edges[n], n)
  14969. }, i.prototype.clear = function() {
  14970. this.nodes.length = 0, this.edges.length = 0, this._nodesMap = {}, this._edgesMap = {}
  14971. }, i.prototype.breadthFirstTraverse = function(e, t, i, n) {
  14972. if("string" == typeof t && (t = this._nodesMap[t]), t) {
  14973. var a = "edges";
  14974. "out" === i ? a = "outEdges" : "in" === i && (a = "inEdges");
  14975. for(var o = 0; o < this.nodes.length; o++) this.nodes[o].__visited = !1;
  14976. if(!e.call(n, t, null))
  14977. for(var r = [t]; r.length;)
  14978. for(var s = r.shift(), l = s[a], o = 0; o < l.length; o++) {
  14979. var h = l[o],
  14980. m = h.node1 === s ? h.node2 : h.node1;
  14981. if(!m.__visited) {
  14982. if(e.call(m, m, s)) return;
  14983. r.push(m), m.__visited = !0
  14984. }
  14985. }
  14986. }
  14987. }, i.prototype.clone = function() {
  14988. for(var e = new i(this._directed), t = 0; t < this.nodes.length; t++) e.addNode(this.nodes[t].id, this.nodes[t].data);
  14989. for(var t = 0; t < this.edges.length; t++) {
  14990. var n = this.edges[t];
  14991. e.addEdge(n.node1.id, n.node2.id, n.data)
  14992. }
  14993. return e
  14994. };
  14995. var n = function(e, t) {
  14996. this.id = e, this.data = t || null, this.inEdges = [], this.outEdges = [], this.edges = []
  14997. };
  14998. n.prototype.degree = function() {
  14999. return this.edges.length
  15000. }, n.prototype.inDegree = function() {
  15001. return this.inEdges.length
  15002. }, n.prototype.outDegree = function() {
  15003. return this.outEdges.length
  15004. };
  15005. var a = function(e, t, i) {
  15006. this.node1 = e, this.node2 = t, this.data = i || null
  15007. };
  15008. return i.Node = n, i.Edge = a, i.fromMatrix = function(e, t, n) {
  15009. if(t && t.length && t[0].length === t.length && e.length === t.length) {
  15010. for(var a = t.length, o = new i(n), r = 0; a > r; r++) {
  15011. var s = o.addNode(e[r].id, e[r]);
  15012. s.data.value = 0, n && (s.data.outValue = s.data.inValue = 0)
  15013. }
  15014. for(var r = 0; a > r; r++)
  15015. for(var l = 0; a > l; l++) {
  15016. var h = t[r][l];
  15017. n && (o.nodes[r].data.outValue += h, o.nodes[l].data.inValue += h), o.nodes[r].data.value += h, o.nodes[l].data.value += h
  15018. }
  15019. for(var r = 0; a > r; r++)
  15020. for(var l = r; a > l; l++) {
  15021. var h = t[r][l];
  15022. if(0 !== h) {
  15023. var m = o.nodes[r],
  15024. V = o.nodes[l],
  15025. U = o.addEdge(m, V, {});
  15026. if(U.data.weight = h, r !== l && n && t[l][r]) {
  15027. var d = o.addEdge(V, m, {});
  15028. d.data.weight = t[l][r]
  15029. }
  15030. }
  15031. }
  15032. return o
  15033. }
  15034. }, i
  15035. }), i("echarts/layout/Chord", ["require"], function() {
  15036. var e = function(e) {
  15037. e = e || {}, this.sort = e.sort || null, this.sortSub = e.sortSub || null, this.padding = .05, this.startAngle = e.startAngle || 0, this.clockWise = null == e.clockWise ? !1 : e.clockWise, this.center = e.center || [0, 0], this.directed = !0
  15038. };
  15039. e.prototype.run = function(e) {
  15040. e instanceof Array || (e = [e]);
  15041. var n = e.length;
  15042. if(n) {
  15043. for(var a = e[0], o = a.nodes.length, r = [], s = 0, l = 0; o > l; l++) {
  15044. var h = a.nodes[l],
  15045. m = {
  15046. size: 0,
  15047. subGroups: [],
  15048. node: h
  15049. };
  15050. r.push(m);
  15051. for(var V = 0, U = 0; U < e.length; U++) {
  15052. var d = e[U],
  15053. p = d.getNodeById(h.id);
  15054. if(p) {
  15055. m.size += p.layout.size;
  15056. for(var c = this.directed ? p.outEdges : p.edges, u = 0; u < c.length; u++) {
  15057. var y = c[u],
  15058. g = y.layout.weight;
  15059. m.subGroups.push({
  15060. weight: g,
  15061. edge: y,
  15062. graph: d
  15063. }), V += g
  15064. }
  15065. }
  15066. }
  15067. s += m.size;
  15068. for(var b = m.size / V, u = 0; u < m.subGroups.length; u++) m.subGroups[u].weight *= b;
  15069. "ascending" === this.sortSub ? m.subGroups.sort(t) : "descending" === this.sort && (m.subGroups.sort(t), m.subGroups.reverse())
  15070. }
  15071. "ascending" === this.sort ? r.sort(i) : "descending" === this.sort && (r.sort(i), r.reverse());
  15072. for(var b = (2 * Math.PI - this.padding * o) / s, f = this.startAngle, k = this.clockWise ? 1 : -1, l = 0; o > l; l++) {
  15073. var m = r[l];
  15074. m.node.layout.startAngle = f, m.node.layout.endAngle = f + k * m.size * b, m.node.layout.subGroups = [];
  15075. for(var u = 0; u < m.subGroups.length; u++) {
  15076. var x = m.subGroups[u];
  15077. x.edge.layout.startAngle = f, f += k * x.weight * b, x.edge.layout.endAngle = f
  15078. }
  15079. f = m.node.layout.endAngle + k * this.padding
  15080. }
  15081. }
  15082. };
  15083. var t = function(e, t) {
  15084. return e.weight - t.weight
  15085. },
  15086. i = function(e, t) {
  15087. return e.size - t.size
  15088. };
  15089. return e
  15090. }), i("echarts/chart/force", ["require", "./base", "../data/Graph", "../layout/Force", "zrender/shape/Line", "zrender/shape/BezierCurve", "zrender/shape/Image", "../util/shape/Icon", "../config", "../util/ecData", "zrender/tool/util", "zrender/config", "zrender/tool/vector", "../chart"], function(e) {
  15091. "use strict";
  15092. function t(e, t, o, h, m) {
  15093. var V = this;
  15094. r.call(this, e, t, o, h, m), this.__nodePositionMap = {}, this._graph = new s(!0), this._layout = new l, this._layout.onupdate = function() {
  15095. V._step()
  15096. }, this._steps = 1, this.ondragstart = function() {
  15097. i.apply(V, arguments)
  15098. }, this.ondragend = function() {
  15099. a.apply(V, arguments)
  15100. }, this.ondrop = function() {}, this.shapeHandler.ondragstart = function() {
  15101. V.isDragstart = !0
  15102. }, this.onmousemove = function() {
  15103. n.apply(V, arguments)
  15104. }, this.refresh(h)
  15105. }
  15106. function i(e) {
  15107. if(this.isDragstart && e.target) {
  15108. var t = e.target;
  15109. t.fixed = !0, this.isDragstart = !1, this.zr.on(u.EVENT.MOUSEMOVE, this.onmousemove)
  15110. }
  15111. }
  15112. function n() {
  15113. this._layout.temperature = .8, this._step()
  15114. }
  15115. function a(e, t) {
  15116. if(this.isDragend && e.target) {
  15117. var i = e.target;
  15118. i.fixed = !1, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1, this.zr.un(u.EVENT.MOUSEMOVE, this.onmousemove)
  15119. }
  15120. }
  15121. function o(e, t, i) {
  15122. var n = y.create();
  15123. return n[0] = (Math.random() - .5) * i + e, n[1] = (Math.random() - .5) * i + t, n
  15124. }
  15125. var r = e("./base"),
  15126. s = e("../data/Graph"),
  15127. l = e("../layout/Force"),
  15128. h = e("zrender/shape/Line"),
  15129. m = e("zrender/shape/BezierCurve"),
  15130. V = e("zrender/shape/Image"),
  15131. U = e("../util/shape/Icon"),
  15132. d = e("../config");
  15133. d.force = {
  15134. zlevel: 1,
  15135. z: 2,
  15136. center: ["50%", "50%"],
  15137. size: "100%",
  15138. preventOverlap: !1,
  15139. coolDown: .99,
  15140. minRadius: 10,
  15141. maxRadius: 20,
  15142. ratioScaling: !1,
  15143. large: !1,
  15144. useWorker: !1,
  15145. steps: 1,
  15146. scaling: 1,
  15147. gravity: 1,
  15148. symbol: "circle",
  15149. symbolSize: 0,
  15150. linkSymbol: null,
  15151. linkSymbolSize: [10, 15],
  15152. draggable: !0,
  15153. clickable: !0,
  15154. roam: !1,
  15155. itemStyle: {
  15156. normal: {
  15157. label: {
  15158. show: !1,
  15159. position: "inside"
  15160. },
  15161. nodeStyle: {
  15162. brushType: "both",
  15163. borderColor: "#5182ab",
  15164. borderWidth: 1
  15165. },
  15166. linkStyle: {
  15167. color: "#5182ab",
  15168. width: 1,
  15169. type: "line"
  15170. }
  15171. },
  15172. emphasis: {
  15173. label: {
  15174. show: !1
  15175. },
  15176. nodeStyle: {},
  15177. linkStyle: {
  15178. opacity: 0
  15179. }
  15180. }
  15181. }
  15182. };
  15183. var p = e("../util/ecData"),
  15184. c = e("zrender/tool/util"),
  15185. u = e("zrender/config"),
  15186. y = e("zrender/tool/vector");
  15187. return t.prototype = {
  15188. constructor: t,
  15189. type: d.CHART_TYPE_FORCE,
  15190. _init: function() {
  15191. this.selectedMap = {};
  15192. var e, t = this.component.legend,
  15193. i = this.series;
  15194. this.clear();
  15195. for(var n = 0, a = i.length; a > n; n++) {
  15196. var o = i[n];
  15197. if(o.type === d.CHART_TYPE_FORCE) {
  15198. if(i[n] = this.reformOption(i[n]), e = i[n].name || "", this.selectedMap[e] = t ? t.isSelected(e) : !0, !this.selectedMap[e]) continue;
  15199. this.buildMark(n), this._initSerie(o, n);
  15200. break
  15201. }
  15202. }
  15203. this.animationEffect()
  15204. },
  15205. _getNodeCategory: function(e, t) {
  15206. return e.categories && e.categories[t.category || 0]
  15207. },
  15208. _getNodeQueryTarget: function(e, t, i) {
  15209. i = i || "normal";
  15210. var n = this._getNodeCategory(e, t) || {};
  15211. return [t.itemStyle && t.itemStyle[i], n && n.itemStyle && n.itemStyle[i], e.itemStyle[i].nodeStyle]
  15212. },
  15213. _getEdgeQueryTarget: function(e, t, i) {
  15214. return i = i || "normal", [t.itemStyle && t.itemStyle[i], e.itemStyle[i].linkStyle]
  15215. },
  15216. _initSerie: function(e, t) {
  15217. this._temperature = 1, e.matrix ? this._graph = this._getSerieGraphFromDataMatrix(e) : e.links && (this._graph = this._getSerieGraphFromNodeLinks(e)), this._buildLinkShapes(e, t), this._buildNodeShapes(e, t);
  15218. var i = e.roam === !0 || "move" === e.roam,
  15219. n = e.roam === !0 || "scale" === e.roam;
  15220. this.zr.modLayer(this.getZlevelBase(), {
  15221. panable: i,
  15222. zoomable: n
  15223. }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(d.EFFECT_ZLEVEL, {
  15224. panable: i,
  15225. zoomable: n
  15226. }), this._initLayout(e), this._step()
  15227. },
  15228. _getSerieGraphFromDataMatrix: function(e) {
  15229. for(var t = [], i = 0, n = [], a = 0; a < e.matrix.length; a++) n[a] = e.matrix[a].slice();
  15230. for(var o = e.data || e.nodes, a = 0; a < o.length; a++) {
  15231. var r = {},
  15232. l = o[a];
  15233. for(var h in l) "name" === h ? r.id = l.name : r[h] = l[h];
  15234. var m = this._getNodeCategory(e, l),
  15235. V = m ? m.name : l.name;
  15236. if(this.selectedMap[V] = this.isSelected(V), this.selectedMap[V]) t.push(r), i++;
  15237. else {
  15238. n.splice(i, 1);
  15239. for(var U = 0; U < n.length; U++) n[U].splice(i, 1)
  15240. }
  15241. }
  15242. var d = s.fromMatrix(t, n, !0);
  15243. return d.eachNode(function(e, t) {
  15244. e.layout = {
  15245. size: e.data.value,
  15246. mass: 0
  15247. }, e.rawIndex = t
  15248. }), d.eachEdge(function(e) {
  15249. e.layout = {
  15250. weight: e.data.weight
  15251. }
  15252. }), d
  15253. },
  15254. _getSerieGraphFromNodeLinks: function(e) {
  15255. for(var t = new s(!0), i = e.data || e.nodes, n = 0, a = i.length; a > n; n++) {
  15256. var o = i[n];
  15257. if(o && !o.ignore) {
  15258. var r = this._getNodeCategory(e, o),
  15259. l = r ? r.name : o.name;
  15260. if(this.selectedMap[l] = this.isSelected(l), this.selectedMap[l]) {
  15261. var h = t.addNode(o.name, o);
  15262. h.rawIndex = n
  15263. }
  15264. }
  15265. }
  15266. for(var n = 0, a = e.links.length; a > n; n++) {
  15267. var m = e.links[n],
  15268. V = m.source,
  15269. U = m.target;
  15270. "number" == typeof V && (V = i[V], V && (V = V.name)), "number" == typeof U && (U = i[U], U && (U = U.name));
  15271. var d = t.addEdge(V, U, m);
  15272. d && (d.rawIndex = n)
  15273. }
  15274. return t.eachNode(function(e) {
  15275. var t = e.data.value;
  15276. if(null == t) {
  15277. t = 0;
  15278. for(var i = 0; i < e.edges.length; i++) t += e.edges[i].data.weight || 0
  15279. }
  15280. e.layout = {
  15281. size: t,
  15282. mass: 0
  15283. }
  15284. }), t.eachEdge(function(e) {
  15285. e.layout = {
  15286. weight: null == e.data.weight ? 1 : e.data.weight
  15287. }
  15288. }), t
  15289. },
  15290. _initLayout: function(e) {
  15291. var t = this._graph,
  15292. i = t.nodes.length,
  15293. n = this.query(e, "minRadius"),
  15294. a = this.query(e, "maxRadius");
  15295. this._steps = e.steps || 1;
  15296. var r = this._layout;
  15297. r.center = this.parseCenter(this.zr, e.center), r.width = this.parsePercent(e.size, this.zr.getWidth()), r.height = this.parsePercent(e.size, this.zr.getHeight()), r.large = e.large, r.scaling = e.scaling, r.ratioScaling = e.ratioScaling, r.gravity = e.gravity, r.temperature = 1, r.coolDown = e.coolDown, r.preventNodeEdgeOverlap = e.preventOverlap, r.preventNodeOverlap = e.preventOverlap;
  15298. for(var s = 1 / 0, l = -(1 / 0), h = 0; i > h; h++) {
  15299. var m = t.nodes[h];
  15300. l = Math.max(m.layout.size, l), s = Math.min(m.layout.size, s)
  15301. }
  15302. for(var V = l - s, h = 0; i > h; h++) {
  15303. var m = t.nodes[h];
  15304. V > 0 ? (m.layout.size = (m.layout.size - s) * (a - n) / V + n, m.layout.mass = m.layout.size / a) : (m.layout.size = (a - n) / 2, m.layout.mass = .5)
  15305. }
  15306. for(var h = 0; i > h; h++) {
  15307. var m = t.nodes[h];
  15308. if("undefined" != typeof this.__nodePositionMap[m.id]) m.layout.position = y.create(), y.copy(m.layout.position, this.__nodePositionMap[m.id]);
  15309. else if("undefined" != typeof m.data.initial) m.layout.position = y.create(), y.copy(m.layout.position, m.data.initial);
  15310. else {
  15311. var U = this._layout.center,
  15312. d = Math.min(this._layout.width, this._layout.height);
  15313. m.layout.position = o(U[0], U[1], .8 * d)
  15314. }
  15315. var p = m.shape.style,
  15316. c = m.layout.size;
  15317. p.width = p.width || 2 * c, p.height = p.height || 2 * c, p.x = -p.width / 2, p.y = -p.height / 2, y.copy(m.shape.position, m.layout.position)
  15318. }
  15319. i = t.edges.length, l = -(1 / 0);
  15320. for(var h = 0; i > h; h++) {
  15321. var u = t.edges[h];
  15322. u.layout.weight > l && (l = u.layout.weight)
  15323. }
  15324. for(var h = 0; i > h; h++) {
  15325. var u = t.edges[h];
  15326. u.layout.weight /= l
  15327. }
  15328. this._layout.init(t, e.useWorker)
  15329. },
  15330. _buildNodeShapes: function(e, t) {
  15331. var i = this._graph,
  15332. n = this.query(e, "categories");
  15333. i.eachNode(function(i) {
  15334. var a = this._getNodeCategory(e, i.data),
  15335. o = [i.data, a, e],
  15336. r = this._getNodeQueryTarget(e, i.data),
  15337. s = this._getNodeQueryTarget(e, i.data, "emphasis"),
  15338. l = new U({
  15339. style: {
  15340. x: 0,
  15341. y: 0,
  15342. color: this.deepQuery(r, "color"),
  15343. brushType: "both",
  15344. strokeColor: this.deepQuery(r, "strokeColor") || this.deepQuery(r, "borderColor"),
  15345. lineWidth: this.deepQuery(r, "lineWidth") || this.deepQuery(r, "borderWidth")
  15346. },
  15347. highlightStyle: {
  15348. color: this.deepQuery(s, "color"),
  15349. strokeColor: this.deepQuery(s, "strokeColor") || this.deepQuery(s, "borderColor"),
  15350. lineWidth: this.deepQuery(s, "lineWidth") || this.deepQuery(s, "borderWidth")
  15351. },
  15352. clickable: e.clickable,
  15353. zlevel: this.getZlevelBase(),
  15354. z: this.getZBase()
  15355. });
  15356. l.style.color || (l.style.color = this.getColor(a ? a.name : i.id)), l.style.iconType = this.deepQuery(o, "symbol");
  15357. var h = this.deepQuery(o, "symbolSize") || 0;
  15358. "number" == typeof h && (h = [h, h]), l.style.width = 2 * h[0], l.style.height = 2 * h[1], l.style.iconType.match("image") && (l.style.image = l.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), l = new V({
  15359. style: l.style,
  15360. highlightStyle: l.highlightStyle,
  15361. clickable: l.clickable,
  15362. zlevel: this.getZlevelBase(),
  15363. z: this.getZBase()
  15364. })), this.deepQuery(o, "itemStyle.normal.label.show") && (l.style.text = null == i.data.label ? i.id : i.data.label, l.style.textPosition = this.deepQuery(o, "itemStyle.normal.label.position"), l.style.textColor = this.deepQuery(o, "itemStyle.normal.label.textStyle.color"), l.style.textFont = this.getFont(this.deepQuery(o, "itemStyle.normal.label.textStyle") || {})), this.deepQuery(o, "itemStyle.emphasis.label.show") && (l.highlightStyle.textPosition = this.deepQuery(o, "itemStyle.emphasis.label.position"), l.highlightStyle.textColor = this.deepQuery(o, "itemStyle.emphasis.label.textStyle.color"), l.highlightStyle.textFont = this.getFont(this.deepQuery(o, "itemStyle.emphasis.label.textStyle") || {})), this.deepQuery(o, "draggable") && (this.setCalculable(l), l.dragEnableTime = 0, l.draggable = !0, l.ondragstart = this.shapeHandler.ondragstart, l.ondragover = null);
  15365. var m = "";
  15366. if("undefined" != typeof i.category) {
  15367. var a = n[i.category];
  15368. m = a && a.name || ""
  15369. }
  15370. p.pack(l, e, t, i.data, i.rawIndex, i.data.name || "", i.category), this.shapeList.push(l), this.zr.addShape(l), i.shape = l
  15371. }, this)
  15372. },
  15373. _buildLinkShapes: function(e, t) {
  15374. for(var i = this._graph, n = i.edges.length, a = 0; n > a; a++) {
  15375. var o = i.edges[a],
  15376. r = o.data,
  15377. s = o.node1,
  15378. l = o.node2,
  15379. V = i.getEdge(l, s),
  15380. d = this._getEdgeQueryTarget(e, r),
  15381. u = this.deepQuery(d, "type");
  15382. e.linkSymbol && "none" !== e.linkSymbol && (u = "line");
  15383. var y = "line" === u ? h : m,
  15384. g = new y({
  15385. style: {
  15386. xStart: 0,
  15387. yStart: 0,
  15388. xEnd: 0,
  15389. yEnd: 0
  15390. },
  15391. clickable: this.query(e, "clickable"),
  15392. highlightStyle: {},
  15393. zlevel: this.getZlevelBase(),
  15394. z: this.getZBase()
  15395. });
  15396. if(V && V.shape && (g.style.offset = 4, V.shape.style.offset = 4), c.merge(g.style, this.query(e, "itemStyle.normal.linkStyle"), !0), c.merge(g.highlightStyle, this.query(e, "itemStyle.emphasis.linkStyle"), !0), "undefined" != typeof r.itemStyle && (r.itemStyle.normal && c.merge(g.style, r.itemStyle.normal, !0), r.itemStyle.emphasis && c.merge(g.highlightStyle, r.itemStyle.emphasis, !0)), g.style.lineWidth = g.style.lineWidth || g.style.width, g.style.strokeColor = g.style.strokeColor || g.style.color, g.highlightStyle.lineWidth = g.highlightStyle.lineWidth || g.highlightStyle.width, g.highlightStyle.strokeColor = g.highlightStyle.strokeColor || g.highlightStyle.color, p.pack(g, e, t, o.data, null == o.rawIndex ? a : o.rawIndex, o.data.name || s.id + " - " + l.id, s.id, l.id), this.shapeList.push(g), this.zr.addShape(g), o.shape = g, e.linkSymbol && "none" !== e.linkSymbol) {
  15397. var b = new U({
  15398. style: {
  15399. x: -5,
  15400. y: 0,
  15401. width: e.linkSymbolSize[0],
  15402. height: e.linkSymbolSize[1],
  15403. iconType: e.linkSymbol,
  15404. brushType: "fill",
  15405. color: g.style.strokeColor
  15406. },
  15407. highlightStyle: {
  15408. brushType: "fill"
  15409. },
  15410. position: [0, 0],
  15411. rotation: 0,
  15412. zlevel: this.getZlevelBase(),
  15413. z: this.getZBase()
  15414. });
  15415. g._symbolShape = b, this.shapeList.push(b), this.zr.addShape(b)
  15416. }
  15417. }
  15418. },
  15419. _updateLinkShapes: function() {
  15420. for(var e = y.create(), t = y.create(), i = y.create(), n = y.create(), a = this._graph.edges, o = 0, r = a.length; r > o; o++) {
  15421. var s = a[o],
  15422. l = s.node1.shape,
  15423. h = s.node2.shape;
  15424. y.copy(i, l.position), y.copy(n, h.position);
  15425. var m = s.shape.style;
  15426. if(y.sub(e, i, n), y.normalize(e, e), m.offset ? (t[0] = e[1], t[1] = -e[0], y.scaleAndAdd(i, i, t, m.offset), y.scaleAndAdd(n, n, t, m.offset)) : "bezier-curve" === s.shape.type && (m.cpX1 = (i[0] + n[0]) / 2 - (n[1] - i[1]) / 4, m.cpY1 = (i[1] + n[1]) / 2 - (i[0] - n[0]) / 4), m.xStart = i[0], m.yStart = i[1], m.xEnd = n[0], m.yEnd = n[1], s.shape.modSelf(), s.shape._symbolShape) {
  15427. var V = s.shape._symbolShape;
  15428. y.copy(V.position, n), y.scaleAndAdd(V.position, V.position, e, h.style.width / 2 + 2);
  15429. var U = Math.atan2(e[1], e[0]);
  15430. V.rotation = Math.PI / 2 - U, V.modSelf()
  15431. }
  15432. }
  15433. },
  15434. _syncNodePositions: function() {
  15435. for(var e = this._graph, t = 0; t < e.nodes.length; t++) {
  15436. var i = e.nodes[t],
  15437. n = i.layout.position,
  15438. a = i.data,
  15439. o = i.shape,
  15440. r = o.fixed || a.fixX,
  15441. s = o.fixed || a.fixY;
  15442. r === !0 ? r = 1 : isNaN(r) && (r = 0), s === !0 ? s = 1 : isNaN(s) && (s = 0), o.position[0] += (n[0] - o.position[0]) * (1 - r), o.position[1] += (n[1] - o.position[1]) * (1 - s), y.copy(n, o.position);
  15443. var l = a.name;
  15444. if(l) {
  15445. var h = this.__nodePositionMap[l];
  15446. h || (h = this.__nodePositionMap[l] = y.create()), y.copy(h, n)
  15447. }
  15448. o.modSelf()
  15449. }
  15450. },
  15451. _step: function() {
  15452. this._syncNodePositions(), this._updateLinkShapes(), this.zr.refreshNextFrame(), this._layout.temperature > .01 ? this._layout.step(this._steps) : this.messageCenter.dispatch(d.EVENT.FORCE_LAYOUT_END, {}, {}, this.myChart)
  15453. },
  15454. refresh: function(e) {
  15455. if(e && (this.option = e, this.series = this.option.series), this.legend = this.component.legend, this.legend) this.getColor = function(e) {
  15456. return this.legend.getColor(e)
  15457. }, this.isSelected = function(e) {
  15458. return this.legend.isSelected(e)
  15459. };
  15460. else {
  15461. var t = {},
  15462. i = 0;
  15463. this.getColor = function(e) {
  15464. return t[e] ? t[e] : (t[e] || (t[e] = this.zr.getColor(i++)), t[e])
  15465. }, this.isSelected = function() {
  15466. return !0
  15467. }
  15468. }
  15469. this._init()
  15470. },
  15471. dispose: function() {
  15472. this.clear(), this.shapeList = null, this.effectList = null, this._layout.dispose(), this._layout = null, this.__nodePositionMap = {}
  15473. },
  15474. getPosition: function() {
  15475. var e = [];
  15476. return this._graph.eachNode(function(t) {
  15477. t.layout && e.push({
  15478. name: t.data.name,
  15479. position: Array.prototype.slice.call(t.layout.position)
  15480. })
  15481. }), e
  15482. }
  15483. }, c.inherits(t, r), e("../chart").define("force", t), t
  15484. }), i("echarts/layout/Force", ["require", "./forceLayoutWorker", "zrender/tool/vector"], function(e) {
  15485. function t() {
  15486. if("undefined" != typeof Worker && "undefined" != typeof Blob) try {
  15487. var e = new Blob([n.getWorkerCode()]);
  15488. i = window.URL.createObjectURL(e)
  15489. } catch(t) {
  15490. i = ""
  15491. }
  15492. return i
  15493. }
  15494. var i, n = e("./forceLayoutWorker"),
  15495. a = e("zrender/tool/vector"),
  15496. o = window.requestAnimationFrame || window.msRequestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(e) {
  15497. setTimeout(e, 16)
  15498. },
  15499. r = "undefined" == typeof Float32Array ? Array : Float32Array,
  15500. s = function(e) {
  15501. "undefined" == typeof i && t(), e = e || {}, this.width = e.width || 500, this.height = e.height || 500, this.center = e.center || [this.width / 2, this.height / 2], this.ratioScaling = e.ratioScaling || !1, this.scaling = e.scaling || 1, this.gravity = "undefined" != typeof e.gravity ? e.gravity : 1, this.large = e.large || !1, this.preventNodeOverlap = e.preventNodeOverlap || !1, this.preventNodeEdgeOverlap = e.preventNodeEdgeOverlap || !1, this.maxSpeedIncrease = e.maxSpeedIncrease || 1, this.onupdate = e.onupdate || function() {}, this.temperature = e.temperature || 1, this.coolDown = e.coolDown || .99, this._layout = null, this._layoutWorker = null;
  15502. var n = this,
  15503. a = this._$onupdate;
  15504. this._$onupdate = function(e) {
  15505. a.call(n, e)
  15506. }
  15507. };
  15508. return s.prototype.updateConfig = function() {
  15509. var e = this.width,
  15510. t = this.height,
  15511. i = Math.min(e, t),
  15512. n = {
  15513. center: this.center,
  15514. width: this.ratioScaling ? e : i,
  15515. height: this.ratioScaling ? t : i,
  15516. scaling: this.scaling || 1,
  15517. gravity: this.gravity || 1,
  15518. barnesHutOptimize: this.large,
  15519. preventNodeOverlap: this.preventNodeOverlap,
  15520. preventNodeEdgeOverlap: this.preventNodeEdgeOverlap,
  15521. maxSpeedIncrease: this.maxSpeedIncrease
  15522. };
  15523. if(this._layoutWorker) this._layoutWorker.postMessage({
  15524. cmd: "updateConfig",
  15525. config: n
  15526. });
  15527. else
  15528. for(var a in n) this._layout[a] = n[a]
  15529. }, s.prototype.init = function(e, t) {
  15530. if(this._layoutWorker && (this._layoutWorker.terminate(), this._layoutWorker = null), i && t) try {
  15531. this._layoutWorker || (this._layoutWorker = new Worker(i), this._layoutWorker.onmessage = this._$onupdate), this._layout = null
  15532. } catch(a) {
  15533. this._layoutWorker = null, this._layout || (this._layout = new n)
  15534. } else this._layout || (this._layout = new n);
  15535. this.temperature = 1, this.graph = e;
  15536. for(var o = e.nodes.length, s = new r(2 * o), l = new r(o), h = new r(o), m = 0; o > m; m++) {
  15537. var V = e.nodes[m];
  15538. s[2 * m] = V.layout.position[0], s[2 * m + 1] = V.layout.position[1], l[m] = "undefined" == typeof V.layout.mass ? 1 : V.layout.mass, h[m] = "undefined" == typeof V.layout.size ? 1 : V.layout.size, V.layout.__index = m
  15539. }
  15540. o = e.edges.length;
  15541. for(var U = new r(2 * o), d = new r(o), m = 0; o > m; m++) {
  15542. var p = e.edges[m];
  15543. U[2 * m] = p.node1.layout.__index, U[2 * m + 1] = p.node2.layout.__index, d[m] = p.layout.weight || 1
  15544. }
  15545. this._layoutWorker ? this._layoutWorker.postMessage({
  15546. cmd: "init",
  15547. nodesPosition: s,
  15548. nodesMass: l,
  15549. nodesSize: h,
  15550. edges: U,
  15551. edgesWeight: d
  15552. }) : (this._layout.initNodes(s, l, h), this._layout.initEdges(U, d)), this.updateConfig()
  15553. }, s.prototype.step = function(e) {
  15554. var t = this.graph.nodes;
  15555. if(this._layoutWorker) {
  15556. for(var i = new r(2 * t.length), n = 0; n < t.length; n++) {
  15557. var s = t[n];
  15558. i[2 * n] = s.layout.position[0], i[2 * n + 1] = s.layout.position[1]
  15559. }
  15560. this._layoutWorker.postMessage(i.buffer, [i.buffer]), this._layoutWorker.postMessage({
  15561. cmd: "update",
  15562. steps: e,
  15563. temperature: this.temperature,
  15564. coolDown: this.coolDown
  15565. });
  15566. for(var n = 0; e > n; n++) this.temperature *= this.coolDown
  15567. } else {
  15568. o(this._$onupdate);
  15569. for(var n = 0; n < t.length; n++) {
  15570. var s = t[n];
  15571. a.copy(this._layout.nodes[n].position, s.layout.position)
  15572. }
  15573. for(var n = 0; e > n; n++) this._layout.temperature = this.temperature, this._layout.update(), this.temperature *= this.coolDown
  15574. }
  15575. }, s.prototype._$onupdate = function(e) {
  15576. if(this._layoutWorker) {
  15577. for(var t = new Float32Array(e.data), i = 0; i < this.graph.nodes.length; i++) {
  15578. var n = this.graph.nodes[i];
  15579. n.layout.position[0] = t[2 * i], n.layout.position[1] = t[2 * i + 1]
  15580. }
  15581. this.onupdate && this.onupdate()
  15582. } else if(this._layout) {
  15583. for(var i = 0; i < this.graph.nodes.length; i++) {
  15584. var n = this.graph.nodes[i];
  15585. a.copy(n.layout.position, this._layout.nodes[i].position)
  15586. }
  15587. this.onupdate && this.onupdate()
  15588. }
  15589. }, s.prototype.dispose = function() {
  15590. this._layoutWorker && this._layoutWorker.terminate(), this._layoutWorker = null, this._layout = null
  15591. }, s
  15592. }), i("echarts/layout/forceLayoutWorker", ["require", "zrender/tool/vector"], function o(e) {
  15593. "use strict";
  15594. function t() {
  15595. this.subRegions = [], this.nSubRegions = 0, this.node = null, this.mass = 0, this.centerOfMass = null, this.bbox = new l(4), this.size = 0
  15596. }
  15597. function i() {
  15598. this.position = r.create(), this.force = r.create(), this.forcePrev = r.create(), this.speed = r.create(), this.speedPrev = r.create(), this.mass = 1, this.inDegree = 0, this.outDegree = 0
  15599. }
  15600. function n(e, t) {
  15601. this.node1 = e, this.node2 = t, this.weight = 1
  15602. }
  15603. function a() {
  15604. this.barnesHutOptimize = !1, this.barnesHutTheta = 1.5, this.repulsionByDegree = !1, this.preventNodeOverlap = !1, this.preventNodeEdgeOverlap = !1, this.strongGravity = !0, this.gravity = 1, this.scaling = 1, this.edgeWeightInfluence = 1, this.center = [0, 0], this.width = 500, this.height = 500, this.maxSpeedIncrease = 1, this.nodes = [], this.edges = [], this.bbox = new l(4), this._rootRegion = new t, this._rootRegion.centerOfMass = r.create(), this._massArr = null, this._k = 0
  15605. }
  15606. var r, s = "undefined" == typeof window && "undefined" == typeof e;
  15607. r = s ? {
  15608. create: function(e, t) {
  15609. var i = new Float32Array(2);
  15610. return i[0] = e || 0, i[1] = t || 0, i
  15611. },
  15612. dist: function(e, t) {
  15613. var i = t[0] - e[0],
  15614. n = t[1] - e[1];
  15615. return Math.sqrt(i * i + n * n)
  15616. },
  15617. len: function(e) {
  15618. var t = e[0],
  15619. i = e[1];
  15620. return Math.sqrt(t * t + i * i)
  15621. },
  15622. scaleAndAdd: function(e, t, i, n) {
  15623. return e[0] = t[0] + i[0] * n, e[1] = t[1] + i[1] * n, e
  15624. },
  15625. scale: function(e, t, i) {
  15626. return e[0] = t[0] * i, e[1] = t[1] * i, e
  15627. },
  15628. add: function(e, t, i) {
  15629. return e[0] = t[0] + i[0], e[1] = t[1] + i[1], e
  15630. },
  15631. sub: function(e, t, i) {
  15632. return e[0] = t[0] - i[0], e[1] = t[1] - i[1], e
  15633. },
  15634. dot: function(e, t) {
  15635. return e[0] * t[0] + e[1] * t[1]
  15636. },
  15637. normalize: function(e, t) {
  15638. var i = t[0],
  15639. n = t[1],
  15640. a = i * i + n * n;
  15641. return a > 0 && (a = 1 / Math.sqrt(a), e[0] = t[0] * a, e[1] = t[1] * a), e
  15642. },
  15643. negate: function(e, t) {
  15644. return e[0] = -t[0], e[1] = -t[1], e
  15645. },
  15646. copy: function(e, t) {
  15647. return e[0] = t[0], e[1] = t[1], e
  15648. },
  15649. set: function(e, t, i) {
  15650. return e[0] = t, e[1] = i, e
  15651. }
  15652. } : e("zrender/tool/vector");
  15653. var l = "undefined" == typeof Float32Array ? Array : Float32Array;
  15654. if(t.prototype.beforeUpdate = function() {
  15655. for(var e = 0; e < this.nSubRegions; e++) this.subRegions[e].beforeUpdate();
  15656. this.mass = 0, this.centerOfMass && (this.centerOfMass[0] = 0, this.centerOfMass[1] = 0), this.nSubRegions = 0, this.node = null
  15657. }, t.prototype.afterUpdate = function() {
  15658. this.subRegions.length = this.nSubRegions;
  15659. for(var e = 0; e < this.nSubRegions; e++) this.subRegions[e].afterUpdate()
  15660. }, t.prototype.addNode = function(e) {
  15661. if(0 === this.nSubRegions) {
  15662. if(null == this.node) return void(this.node = e);
  15663. this._addNodeToSubRegion(this.node), this.node = null
  15664. }
  15665. this._addNodeToSubRegion(e), this._updateCenterOfMass(e)
  15666. }, t.prototype.findSubRegion = function(e, t) {
  15667. for(var i = 0; i < this.nSubRegions; i++) {
  15668. var n = this.subRegions[i];
  15669. if(n.contain(e, t)) return n
  15670. }
  15671. }, t.prototype.contain = function(e, t) {
  15672. return this.bbox[0] <= e && this.bbox[2] >= e && this.bbox[1] <= t && this.bbox[3] >= t
  15673. }, t.prototype.setBBox = function(e, t, i, n) {
  15674. this.bbox[0] = e, this.bbox[1] = t, this.bbox[2] = i, this.bbox[3] = n, this.size = (i - e + n - t) / 2
  15675. }, t.prototype._newSubRegion = function() {
  15676. var e = this.subRegions[this.nSubRegions];
  15677. return e || (e = new t, this.subRegions[this.nSubRegions] = e), this.nSubRegions++, e
  15678. }, t.prototype._addNodeToSubRegion = function(e) {
  15679. var t = this.findSubRegion(e.position[0], e.position[1]),
  15680. i = this.bbox;
  15681. if(!t) {
  15682. var n = (i[0] + i[2]) / 2,
  15683. a = (i[1] + i[3]) / 2,
  15684. o = (i[2] - i[0]) / 2,
  15685. r = (i[3] - i[1]) / 2,
  15686. s = e.position[0] >= n ? 1 : 0,
  15687. l = e.position[1] >= a ? 1 : 0,
  15688. t = this._newSubRegion();
  15689. t.setBBox(s * o + i[0], l * r + i[1], (s + 1) * o + i[0], (l + 1) * r + i[1])
  15690. }
  15691. t.addNode(e)
  15692. }, t.prototype._updateCenterOfMass = function(e) {
  15693. null == this.centerOfMass && (this.centerOfMass = r.create());
  15694. var t = this.centerOfMass[0] * this.mass,
  15695. i = this.centerOfMass[1] * this.mass;
  15696. t += e.position[0] * e.mass, i += e.position[1] * e.mass, this.mass += e.mass, this.centerOfMass[0] = t / this.mass, this.centerOfMass[1] = i / this.mass
  15697. }, a.prototype.nodeToNodeRepulsionFactor = function(e, t, i) {
  15698. return i * i * e / t
  15699. }, a.prototype.edgeToNodeRepulsionFactor = function(e, t, i) {
  15700. return i * e / t
  15701. }, a.prototype.attractionFactor = function(e, t, i) {
  15702. return e * t / i
  15703. }, a.prototype.initNodes = function(e, t, n) {
  15704. this.temperature = 1;
  15705. var a = e.length / 2;
  15706. this.nodes.length = 0;
  15707. for(var o = "undefined" != typeof n, r = 0; a > r; r++) {
  15708. var s = new i;
  15709. s.position[0] = e[2 * r], s.position[1] = e[2 * r + 1], s.mass = t[r], o && (s.size = n[r]), this.nodes.push(s)
  15710. }
  15711. this._massArr = t, o && (this._sizeArr = n)
  15712. }, a.prototype.initEdges = function(e, t) {
  15713. var i = e.length / 2;
  15714. this.edges.length = 0;
  15715. for(var a = "undefined" != typeof t, o = 0; i > o; o++) {
  15716. var r = e[2 * o],
  15717. s = e[2 * o + 1],
  15718. l = this.nodes[r],
  15719. h = this.nodes[s];
  15720. if(l && h) {
  15721. l.outDegree++, h.inDegree++;
  15722. var m = new n(l, h);
  15723. a && (m.weight = t[o]), this.edges.push(m)
  15724. }
  15725. }
  15726. }, a.prototype.update = function() {
  15727. var e = this.nodes.length;
  15728. if(this.updateBBox(), this._k = .4 * this.scaling * Math.sqrt(this.width * this.height / e), this.barnesHutOptimize) {
  15729. this._rootRegion.setBBox(this.bbox[0], this.bbox[1], this.bbox[2], this.bbox[3]), this._rootRegion.beforeUpdate();
  15730. for(var t = 0; e > t; t++) this._rootRegion.addNode(this.nodes[t]);
  15731. this._rootRegion.afterUpdate()
  15732. } else {
  15733. var i = 0,
  15734. n = this._rootRegion.centerOfMass;
  15735. r.set(n, 0, 0);
  15736. for(var t = 0; e > t; t++) {
  15737. var a = this.nodes[t];
  15738. i += a.mass, r.scaleAndAdd(n, n, a.position, a.mass);
  15739. }
  15740. i > 0 && r.scale(n, n, 1 / i)
  15741. }
  15742. this.updateForce(), this.updatePosition()
  15743. }, a.prototype.updateForce = function() {
  15744. for(var e = this.nodes.length, t = 0; e > t; t++) {
  15745. var i = this.nodes[t];
  15746. r.copy(i.forcePrev, i.force), r.copy(i.speedPrev, i.speed), r.set(i.force, 0, 0)
  15747. }
  15748. this.updateNodeNodeForce(), this.gravity > 0 && this.updateGravityForce(), this.updateEdgeForce(), this.preventNodeEdgeOverlap && this.updateNodeEdgeForce()
  15749. }, a.prototype.updatePosition = function() {
  15750. for(var e = this.nodes.length, t = r.create(), i = 0; e > i; i++) {
  15751. var n = this.nodes[i],
  15752. a = n.speed;
  15753. r.scale(n.force, n.force, 1 / 30);
  15754. var o = r.len(n.force) + .1,
  15755. s = Math.min(o, 500) / o;
  15756. r.scale(n.force, n.force, s), r.add(a, a, n.force), r.scale(a, a, this.temperature), r.sub(t, a, n.speedPrev);
  15757. var l = r.len(t);
  15758. if(l > 0) {
  15759. r.scale(t, t, 1 / l);
  15760. var h = r.len(n.speedPrev);
  15761. h > 0 && (l = Math.min(l / h, this.maxSpeedIncrease) * h, r.scaleAndAdd(a, n.speedPrev, t, l))
  15762. }
  15763. var m = r.len(a),
  15764. s = Math.min(m, 100) / (m + .1);
  15765. r.scale(a, a, s), r.add(n.position, n.position, a)
  15766. }
  15767. }, a.prototype.updateNodeNodeForce = function() {
  15768. for(var e = this.nodes.length, t = 0; e > t; t++) {
  15769. var i = this.nodes[t];
  15770. if(this.barnesHutOptimize) this.applyRegionToNodeRepulsion(this._rootRegion, i);
  15771. else
  15772. for(var n = t + 1; e > n; n++) {
  15773. var a = this.nodes[n];
  15774. this.applyNodeToNodeRepulsion(i, a, !1)
  15775. }
  15776. }
  15777. }, a.prototype.updateGravityForce = function() {
  15778. for(var e = 0; e < this.nodes.length; e++) this.applyNodeGravity(this.nodes[e])
  15779. }, a.prototype.updateEdgeForce = function() {
  15780. for(var e = 0; e < this.edges.length; e++) this.applyEdgeAttraction(this.edges[e])
  15781. }, a.prototype.updateNodeEdgeForce = function() {
  15782. for(var e = 0; e < this.nodes.length; e++)
  15783. for(var t = 0; t < this.edges.length; t++) this.applyEdgeToNodeRepulsion(this.edges[t], this.nodes[e])
  15784. }, a.prototype.applyRegionToNodeRepulsion = function() {
  15785. var e = r.create();
  15786. return function(t, i) {
  15787. if(t.node) this.applyNodeToNodeRepulsion(t.node, i, !0);
  15788. else {
  15789. if(0 === t.mass && 0 === i.mass) return;
  15790. r.sub(e, i.position, t.centerOfMass);
  15791. var n = e[0] * e[0] + e[1] * e[1];
  15792. if(n > this.barnesHutTheta * t.size * t.size) {
  15793. var a = this._k * this._k * (i.mass + t.mass) / (n + 1);
  15794. r.scaleAndAdd(i.force, i.force, e, 2 * a)
  15795. } else
  15796. for(var o = 0; o < t.nSubRegions; o++) this.applyRegionToNodeRepulsion(t.subRegions[o], i)
  15797. }
  15798. }
  15799. }(), a.prototype.applyNodeToNodeRepulsion = function() {
  15800. var e = r.create();
  15801. return function(t, i, n) {
  15802. if(t !== i && (0 !== t.mass || 0 !== i.mass)) {
  15803. r.sub(e, t.position, i.position);
  15804. var a = e[0] * e[0] + e[1] * e[1];
  15805. if(0 !== a) {
  15806. var o, s = t.mass + i.mass,
  15807. l = Math.sqrt(a);
  15808. r.scale(e, e, 1 / l), this.preventNodeOverlap ? (l = l - t.size - i.size, l > 0 ? o = this.nodeToNodeRepulsionFactor(s, l, this._k) : 0 >= l && (o = this._k * this._k * 10 * s)) : o = this.nodeToNodeRepulsionFactor(s, l, this._k), n || r.scaleAndAdd(t.force, t.force, e, 2 * o), r.scaleAndAdd(i.force, i.force, e, 2 * -o)
  15809. }
  15810. }
  15811. }
  15812. }(), a.prototype.applyEdgeAttraction = function() {
  15813. var e = r.create();
  15814. return function(t) {
  15815. var i = t.node1,
  15816. n = t.node2;
  15817. r.sub(e, i.position, n.position);
  15818. var a, o = r.len(e);
  15819. a = 0 === this.edgeWeightInfluence ? 1 : 1 == this.edgeWeightInfluence ? t.weight : Math.pow(t.weight, this.edgeWeightInfluence);
  15820. var s;
  15821. if(!(this.preventOverlap && (o = o - i.size - n.size, 0 >= o))) {
  15822. var s = this.attractionFactor(a, o, this._k);
  15823. r.scaleAndAdd(i.force, i.force, e, -s), r.scaleAndAdd(n.force, n.force, e, s)
  15824. }
  15825. }
  15826. }(), a.prototype.applyNodeGravity = function() {
  15827. var e = r.create();
  15828. return function(t) {
  15829. r.sub(e, this.center, t.position), this.width > this.height ? e[1] *= this.width / this.height : e[0] *= this.height / this.width;
  15830. var i = r.len(e) / 100;
  15831. this.strongGravity ? r.scaleAndAdd(t.force, t.force, e, i * this.gravity * t.mass) : r.scaleAndAdd(t.force, t.force, e, this.gravity * t.mass / (i + 1))
  15832. }
  15833. }(), a.prototype.applyEdgeToNodeRepulsion = function() {
  15834. var e = r.create(),
  15835. t = r.create(),
  15836. i = r.create();
  15837. return function(n, a) {
  15838. var o = n.node1,
  15839. s = n.node2;
  15840. if(o !== a && s !== a) {
  15841. r.sub(e, s.position, o.position), r.sub(t, a.position, o.position);
  15842. var l = r.len(e);
  15843. r.scale(e, e, 1 / l);
  15844. var h = r.dot(e, t);
  15845. if(!(0 > h || h > l)) {
  15846. r.scaleAndAdd(i, o.position, e, h);
  15847. var m = r.dist(i, a.position) - a.size,
  15848. V = this.edgeToNodeRepulsionFactor(a.mass, Math.max(m, .1), 100);
  15849. r.sub(e, a.position, i), r.normalize(e, e), r.scaleAndAdd(a.force, a.force, e, V), r.scaleAndAdd(o.force, o.force, e, -V), r.scaleAndAdd(s.force, s.force, e, -V)
  15850. }
  15851. }
  15852. }
  15853. }(), a.prototype.updateBBox = function() {
  15854. for(var e = 1 / 0, t = 1 / 0, i = -(1 / 0), n = -(1 / 0), a = 0; a < this.nodes.length; a++) {
  15855. var o = this.nodes[a].position;
  15856. e = Math.min(e, o[0]), t = Math.min(t, o[1]), i = Math.max(i, o[0]), n = Math.max(n, o[1])
  15857. }
  15858. this.bbox[0] = e, this.bbox[1] = t, this.bbox[2] = i, this.bbox[3] = n
  15859. }, a.getWorkerCode = function() {
  15860. var e = o.toString();
  15861. return e.slice(e.indexOf("{") + 1, e.lastIndexOf("return"))
  15862. }, s) {
  15863. var h = null;
  15864. self.onmessage = function(e) {
  15865. if(e.data instanceof ArrayBuffer) {
  15866. if(!h) return;
  15867. for(var t = new Float32Array(e.data), i = t.length / 2, n = 0; i > n; n++) {
  15868. var o = h.nodes[n];
  15869. o.position[0] = t[2 * n], o.position[1] = t[2 * n + 1]
  15870. }
  15871. } else switch(e.data.cmd) {
  15872. case "init":
  15873. h || (h = new a), h.initNodes(e.data.nodesPosition, e.data.nodesMass, e.data.nodesSize), h.initEdges(e.data.edges, e.data.edgesWeight);
  15874. break;
  15875. case "updateConfig":
  15876. if(h)
  15877. for(var r in e.data.config) h[r] = e.data.config[r];
  15878. break;
  15879. case "update":
  15880. var s = e.data.steps;
  15881. if(h) {
  15882. var i = h.nodes.length,
  15883. t = new Float32Array(2 * i);
  15884. h.temperature = e.data.temperature;
  15885. for(var n = 0; s > n; n++) h.update(), h.temperature *= e.data.coolDown;
  15886. for(var n = 0; i > n; n++) {
  15887. var o = h.nodes[n];
  15888. t[2 * n] = o.position[0], t[2 * n + 1] = o.position[1]
  15889. }
  15890. self.postMessage(t.buffer, [t.buffer])
  15891. } else {
  15892. var l = new Float32Array;
  15893. self.postMessage(l.buffer, [l.buffer])
  15894. }
  15895. }
  15896. }
  15897. }
  15898. return a
  15899. }), i("echarts/chart/map", ["require", "./base", "zrender/shape/Text", "zrender/shape/Path", "zrender/shape/Circle", "zrender/shape/Rectangle", "zrender/shape/Line", "zrender/shape/Polygon", "zrender/shape/Ellipse", "zrender/shape/Image", "../component/dataRange", "../component/roamController", "../layer/heatmap", "../config", "../util/ecData", "zrender/tool/util", "zrender/config", "zrender/tool/event", "../util/mapData/params", "../util/mapData/textFixed", "../util/mapData/geoCoord", "../util/projection/svg", "../util/projection/normal", "../chart"], function(e) {
  15900. function t(e, t, n, a, o) {
  15901. i.call(this, e, t, n, a, o);
  15902. var r = this;
  15903. r._onmousewheel = function(e) {
  15904. return r.__onmousewheel(e)
  15905. }, r._onmousedown = function(e) {
  15906. return r.__onmousedown(e)
  15907. }, r._onmousemove = function(e) {
  15908. return r.__onmousemove(e)
  15909. }, r._onmouseup = function(e) {
  15910. return r.__onmouseup(e)
  15911. }, r._onroamcontroller = function(e) {
  15912. return r.__onroamcontroller(e)
  15913. }, r._ondrhoverlink = function(e) {
  15914. return r.__ondrhoverlink(e)
  15915. }, this._isAlive = !0, this._selectedMode = {}, this._activeMapType = {}, this._clickable = {}, this._hoverable = {}, this._showLegendSymbol = {}, this._selected = {}, this._mapTypeMap = {}, this._mapDataMap = {}, this._nameMap = {}, this._specialArea = {}, this._refreshDelayTicket, this._mapDataRequireCounter, this._markAnimation = !1, this._hoverLinkMap = {}, this._roamMap = {}, this._scaleLimitMap = {}, this._mx, this._my, this._mousedown, this._justMove, this._curMapType, this.refresh(a), this.zr.on(c.EVENT.MOUSEWHEEL, this._onmousewheel), this.zr.on(c.EVENT.MOUSEDOWN, this._onmousedown), t.bind(U.EVENT.ROAMCONTROLLER, this._onroamcontroller), t.bind(U.EVENT.DATA_RANGE_HOVERLINK, this._ondrhoverlink)
  15916. }
  15917. var i = e("./base"),
  15918. n = e("zrender/shape/Text"),
  15919. a = e("zrender/shape/Path"),
  15920. o = e("zrender/shape/Circle"),
  15921. r = e("zrender/shape/Rectangle"),
  15922. s = e("zrender/shape/Line"),
  15923. l = e("zrender/shape/Polygon"),
  15924. h = e("zrender/shape/Ellipse"),
  15925. m = e("zrender/shape/Image");
  15926. e("../component/dataRange"), e("../component/roamController");
  15927. var V = e("../layer/heatmap"),
  15928. U = e("../config");
  15929. U.map = {
  15930. zlevel: 0,
  15931. z: 2,
  15932. mapType: "china",
  15933. showLegendSymbol: !0,
  15934. dataRangeHoverLink: !0,
  15935. hoverable: !0,
  15936. clickable: !0,
  15937. itemStyle: {
  15938. normal: {
  15939. borderColor: "rgba(0,0,0,0)",
  15940. borderWidth: 1,
  15941. areaStyle: {
  15942. color: "#ccc"
  15943. },
  15944. label: {
  15945. show: !1,
  15946. textStyle: {
  15947. color: "rgb(139,69,19)"
  15948. }
  15949. }
  15950. },
  15951. emphasis: {
  15952. borderColor: "rgba(0,0,0,0)",
  15953. borderWidth: 1,
  15954. areaStyle: {
  15955. color: "rgba(255,215,0,0.8)"
  15956. },
  15957. label: {
  15958. show: !1,
  15959. textStyle: {
  15960. color: "rgb(100,0,0)"
  15961. }
  15962. }
  15963. }
  15964. }
  15965. };
  15966. var d = e("../util/ecData"),
  15967. p = e("zrender/tool/util"),
  15968. c = e("zrender/config"),
  15969. u = e("zrender/tool/event"),
  15970. y = e("../util/mapData/params").params,
  15971. g = e("../util/mapData/textFixed"),
  15972. b = e("../util/mapData/geoCoord");
  15973. return t.prototype = {
  15974. type: U.CHART_TYPE_MAP,
  15975. _buildShape: function() {
  15976. var e = this.series;
  15977. this.selectedMap = {}, this._activeMapType = {};
  15978. for(var t, i, n, a, o = this.component.legend, r = {}, s = {}, l = {}, h = {}, m = 0, V = e.length; V > m; m++)
  15979. if(e[m].type == U.CHART_TYPE_MAP && (e[m] = this.reformOption(e[m]), i = e[m].mapType, s[i] = s[i] || {}, s[i][m] = !0, l[i] = l[i] || e[m].mapValuePrecision, this._scaleLimitMap[i] = this._scaleLimitMap[i] || {}, e[m].scaleLimit && p.merge(this._scaleLimitMap[i], e[m].scaleLimit, !0), this._roamMap[i] = e[m].roam || this._roamMap[i], (null == this._hoverLinkMap[i] || this._hoverLinkMap[i]) && (this._hoverLinkMap[i] = e[m].dataRangeHoverLink), this._nameMap[i] = this._nameMap[i] || {}, e[m].nameMap && p.merge(this._nameMap[i], e[m].nameMap, !0), this._activeMapType[i] = !0, e[m].textFixed && p.merge(g, e[m].textFixed, !0), e[m].geoCoord && p.merge(b, e[m].geoCoord, !0), this._selectedMode[i] = this._selectedMode[i] || e[m].selectedMode, (null == this._hoverable[i] || this._hoverable[i]) && (this._hoverable[i] = e[m].hoverable), (null == this._clickable[i] || this._clickable[i]) && (this._clickable[i] = e[m].clickable), (null == this._showLegendSymbol[i] || this._showLegendSymbol[i]) && (this._showLegendSymbol[i] = e[m].showLegendSymbol), h[i] = h[i] || e[m].mapValueCalculation, t = e[m].name, this.selectedMap[t] = o ? o.isSelected(t) : !0, this.selectedMap[t])) {
  15980. r[i] = r[i] || {}, n = e[m].data;
  15981. for(var d = 0, c = n.length; c > d; d++) {
  15982. a = this._nameChange(i, n[d].name), r[i][a] = r[i][a] || {
  15983. seriesIndex: [],
  15984. valueMap: {},
  15985. precision: 0
  15986. };
  15987. for(var u in n[d]) "value" != u ? r[i][a][u] = n[d][u] : isNaN(n[d].value) || (null == r[i][a].value && (r[i][a].value = 0), r[i][a].precision = Math.max(this.getPrecision(+n[d].value), r[i][a].precision), r[i][a].value += +n[d].value, r[i][a].valueMap[m] = +n[d].value);
  15988. r[i][a].seriesIndex.push(m)
  15989. }
  15990. }
  15991. this._mapDataRequireCounter = 0;
  15992. for(var f in r) this._mapDataRequireCounter++;
  15993. this._clearSelected(), 0 === this._mapDataRequireCounter && (this.clear(), this.zr && this.zr.delShape(this.lastShapeList), this.lastShapeList = []);
  15994. for(var f in r) {
  15995. for(var c in r[f]) {
  15996. "average" == h[f] && (r[f][c].value /= r[f][c].seriesIndex.length);
  15997. var k = r[f][c].value;
  15998. null != k && (r[f][c].value = k.toFixed(null == l[f] ? r[f][c].precision : l[f]) - 0)
  15999. }
  16000. this._mapDataMap[f] = this._mapDataMap[f] || {}, this._mapDataMap[f].mapData ? this._mapDataCallback(f, r[f], s[f])(this._mapDataMap[f].mapData) : y[f.replace(/\|.*/, "")].getGeoJson && (this._specialArea[f] = y[f.replace(/\|.*/, "")].specialArea || this._specialArea[f], y[f.replace(/\|.*/, "")].getGeoJson(this._mapDataCallback(f, r[f], s[f])))
  16001. }
  16002. },
  16003. _mapDataCallback: function(t, i, n) {
  16004. var a = this;
  16005. return function(o) {
  16006. a._isAlive && null != a._activeMapType[t] && (-1 != t.indexOf("|") && (o = a._getSubMapData(t, o)), a._mapDataMap[t].mapData = o, o.firstChild ? (a._mapDataMap[t].rate = 1, a._mapDataMap[t].projection = e("../util/projection/svg")) : (a._mapDataMap[t].rate = .75, a._mapDataMap[t].projection = e("../util/projection/normal")), a._buildMap(t, a._getProjectionData(t, o, n), i, n), a._buildMark(t, n), --a._mapDataRequireCounter <= 0 && (a.addShapeList(), a.zr.refreshNextFrame()), a._buildHeatmap(t))
  16007. }
  16008. },
  16009. _clearSelected: function() {
  16010. for(var e in this._selected) this._activeMapType[this._mapTypeMap[e]] || (delete this._selected[e], delete this._mapTypeMap[e])
  16011. },
  16012. _getSubMapData: function(e, t) {
  16013. for(var i = e.replace(/^.*\|/, ""), n = t.features, a = 0, o = n.length; o > a; a++)
  16014. if(n[a].properties && n[a].properties.name == i) {
  16015. n = n[a], "United States of America" == i && n.geometry.coordinates.length > 1 && (n = {
  16016. geometry: {
  16017. coordinates: n.geometry.coordinates.slice(5, 6),
  16018. type: n.geometry.type
  16019. },
  16020. id: n.id,
  16021. properties: n.properties,
  16022. type: n.type
  16023. });
  16024. break
  16025. }
  16026. return {
  16027. type: "FeatureCollection",
  16028. features: [n]
  16029. }
  16030. },
  16031. _getProjectionData: function(e, t, i) {
  16032. var n, a = this._mapDataMap[e].projection,
  16033. o = [],
  16034. r = this._mapDataMap[e].bbox || a.getBbox(t, this._specialArea[e]);
  16035. n = this._mapDataMap[e].hasRoam ? this._mapDataMap[e].transform : this._getTransform(r, i, this._mapDataMap[e].rate);
  16036. var s, l = this._mapDataMap[e].lastTransform || {
  16037. scale: {}
  16038. };
  16039. n.left != l.left || n.top != l.top || n.scale.x != l.scale.x || n.scale.y != l.scale.y ? (s = a.geoJson2Path(t, n, this._specialArea[e]), l = p.clone(n)) : (n = this._mapDataMap[e].transform, s = this._mapDataMap[e].pathArray), this._mapDataMap[e].bbox = r, this._mapDataMap[e].transform = n, this._mapDataMap[e].lastTransform = l, this._mapDataMap[e].pathArray = s;
  16040. for(var h = [n.left, n.top], m = 0, V = s.length; V > m; m++) o.push(this._getSingleProvince(e, s[m], h));
  16041. if(this._specialArea[e])
  16042. for(var U in this._specialArea[e]) o.push(this._getSpecialProjectionData(e, t, U, this._specialArea[e][U], h));
  16043. if("china" == e) {
  16044. var d = this.geo2pos(e, b["南海诸岛"] || y["南海诸岛"].textCoord),
  16045. c = n.scale.x / 10.5,
  16046. u = [32 * c + d[0], 83 * c + d[1]];
  16047. g["南海诸岛"] && (u[0] += g["南海诸岛"][0], u[1] += g["南海诸岛"][1]), o.push({
  16048. name: this._nameChange(e, "南海诸岛"),
  16049. path: y["南海诸岛"].getPath(d, c),
  16050. position: h,
  16051. textX: u[0],
  16052. textY: u[1]
  16053. })
  16054. }
  16055. return o
  16056. },
  16057. _getSpecialProjectionData: function(t, i, n, a, o) {
  16058. i = this._getSubMapData("x|" + n, i);
  16059. var r = e("../util/projection/normal"),
  16060. s = r.getBbox(i),
  16061. l = this.geo2pos(t, [a.left, a.top]),
  16062. h = this.geo2pos(t, [a.left + a.width, a.top + a.height]),
  16063. m = Math.abs(h[0] - l[0]),
  16064. V = Math.abs(h[1] - l[1]),
  16065. U = s.width,
  16066. d = s.height,
  16067. p = m / .75 / U,
  16068. c = V / d;
  16069. p > c ? (p = .75 * c, m = U * p) : (c = p, p = .75 * c, V = d * c);
  16070. var u = {
  16071. OffsetLeft: l[0],
  16072. OffsetTop: l[1],
  16073. scale: {
  16074. x: p,
  16075. y: c
  16076. }
  16077. },
  16078. y = r.geoJson2Path(i, u);
  16079. return this._getSingleProvince(t, y[0], o)
  16080. },
  16081. _getSingleProvince: function(e, t, i) {
  16082. var n, a = t.properties.name,
  16083. o = g[a] || [0, 0];
  16084. if(b[a]) n = this.geo2pos(e, b[a]);
  16085. else if(t.cp) n = [t.cp[0] + o[0], t.cp[1] + o[1]];
  16086. else {
  16087. var r = this._mapDataMap[e].bbox;
  16088. n = this.geo2pos(e, [r.left + r.width / 2, r.top + r.height / 2]), n[0] += o[0], n[1] += o[1]
  16089. }
  16090. return t.name = this._nameChange(e, a), t.position = i, t.textX = n[0], t.textY = n[1], t
  16091. },
  16092. _getTransform: function(e, t, i) {
  16093. var n, a, o, r, s, l, h, m = this.series,
  16094. V = this.zr.getWidth(),
  16095. U = this.zr.getHeight(),
  16096. d = Math.round(.02 * Math.min(V, U));
  16097. for(var p in t) n = m[p].mapLocation || {}, o = n.x || o, s = n.y || s, l = n.width || l, h = n.height || h;
  16098. a = this.parsePercent(o, V), a = isNaN(a) ? d : a, r = this.parsePercent(s, U), r = isNaN(r) ? d : r, l = null == l ? V - a - 2 * d : this.parsePercent(l, V), h = null == h ? U - r - 2 * d : this.parsePercent(h, U);
  16099. var c = e.width,
  16100. u = e.height,
  16101. y = l / i / c,
  16102. g = h / u;
  16103. if(y > g ? (y = g * i, l = c * y) : (g = y, y = g * i, h = u * g), isNaN(o)) switch(o = o || "center", o + "") {
  16104. case "center":
  16105. a = Math.floor((V - l) / 2);
  16106. break;
  16107. case "right":
  16108. a = V - l
  16109. }
  16110. if(isNaN(s)) switch(s = s || "center", s + "") {
  16111. case "center":
  16112. r = Math.floor((U - h) / 2);
  16113. break;
  16114. case "bottom":
  16115. r = U - h
  16116. }
  16117. return {
  16118. left: a,
  16119. top: r,
  16120. width: l,
  16121. height: h,
  16122. baseScale: 1,
  16123. scale: {
  16124. x: y,
  16125. y: g
  16126. }
  16127. }
  16128. },
  16129. _buildMap: function(e, t, i, m) {
  16130. for(var V, c, u, y, g, b, f, k, x, _, L, W = this.series, X = this.component.legend, v = this.component.dataRange, w = 0, K = t.length; K > w; w++) {
  16131. if(k = p.clone(t[w]), x = {
  16132. name: k.name,
  16133. path: k.path,
  16134. position: p.clone(k.position)
  16135. }, c = k.name, u = i[c]) {
  16136. g = [u], V = "";
  16137. for(var I = 0, J = u.seriesIndex.length; J > I; I++) {
  16138. var C = W[u.seriesIndex[I]];
  16139. g.push(C), V += C.name + " ", X && this._showLegendSymbol[e] && X.hasColor(C.name) && this.shapeList.push(new o({
  16140. zlevel: C.zlevel,
  16141. z: C.z + 1,
  16142. position: p.clone(k.position),
  16143. _mapType: e,
  16144. style: {
  16145. x: k.textX + 3 + 7 * I,
  16146. y: k.textY - 10,
  16147. r: 3,
  16148. color: X.getColor(C.name)
  16149. },
  16150. hoverable: !1
  16151. }))
  16152. }
  16153. y = u.value
  16154. } else {
  16155. u = {
  16156. name: c,
  16157. value: "-"
  16158. }, V = "", g = [];
  16159. for(var S in m) g.push(W[S]);
  16160. y = "-"
  16161. }
  16162. switch(this.ecTheme.map && g.push(this.ecTheme.map), g.push(U.map), b = v && !isNaN(y) ? v.getColor(y) : null, k.color = k.color || b || this.getItemStyleColor(this.deepQuery(g, "itemStyle.normal.color"), u.seriesIndex, -1, u) || this.deepQuery(g, "itemStyle.normal.areaStyle.color"), k.strokeColor = k.strokeColor || this.deepQuery(g, "itemStyle.normal.borderColor"), k.lineWidth = k.lineWidth || this.deepQuery(g, "itemStyle.normal.borderWidth"), x.color = this.getItemStyleColor(this.deepQuery(g, "itemStyle.emphasis.color"), u.seriesIndex, -1, u) || this.deepQuery(g, "itemStyle.emphasis.areaStyle.color") || k.color, x.strokeColor = this.deepQuery(g, "itemStyle.emphasis.borderColor") || k.strokeColor, x.lineWidth = this.deepQuery(g, "itemStyle.emphasis.borderWidth") || k.lineWidth, k.brushType = x.brushType = k.brushType || "both", k.lineJoin = x.lineJoin = "round", k._name = x._name = c, f = this.deepQuery(g, "itemStyle.normal.label.textStyle"), L = {
  16163. zlevel: this.getZlevelBase(),
  16164. z: this.getZBase() + 1,
  16165. position: p.clone(k.position),
  16166. _mapType: e,
  16167. _geo: this.pos2geo(e, [k.textX, k.textY]),
  16168. style: {
  16169. brushType: "fill",
  16170. x: k.textX,
  16171. y: k.textY,
  16172. text: this.getLabelText(c, y, g, "normal"),
  16173. _name: c,
  16174. textAlign: "center",
  16175. color: this.deepQuery(g, "itemStyle.normal.label.show") ? this.deepQuery(g, "itemStyle.normal.label.textStyle.color") : "rgba(0,0,0,0)",
  16176. textFont: this.getFont(f)
  16177. }
  16178. }, L._style = p.clone(L.style), L.highlightStyle = p.clone(L.style), this.deepQuery(g, "itemStyle.emphasis.label.show") ? (L.highlightStyle.text = this.getLabelText(c, y, g, "emphasis"), L.highlightStyle.color = this.deepQuery(g, "itemStyle.emphasis.label.textStyle.color") || L.style.color, f = this.deepQuery(g, "itemStyle.emphasis.label.textStyle") || f, L.highlightStyle.textFont = this.getFont(f)) : L.highlightStyle.color = "rgba(0,0,0,0)", _ = {
  16179. zlevel: this.getZlevelBase(),
  16180. z: this.getZBase(),
  16181. position: p.clone(k.position),
  16182. style: k,
  16183. highlightStyle: x,
  16184. _style: p.clone(k),
  16185. _mapType: e
  16186. }, null != k.scale && (_.scale = p.clone(k.scale)), L = new n(L), _.style.shapeType) {
  16187. case "rectangle":
  16188. _ = new r(_);
  16189. break;
  16190. case "line":
  16191. _ = new s(_);
  16192. break;
  16193. case "circle":
  16194. _ = new o(_);
  16195. break;
  16196. case "polygon":
  16197. _ = new l(_);
  16198. break;
  16199. case "ellipse":
  16200. _ = new h(_);
  16201. break;
  16202. default:
  16203. _ = new a(_), _.buildPathArray && (_.style.pathArray = _.buildPathArray(_.style.path))
  16204. }(this._selectedMode[e] && this._selected[c] && u.selected !== !1 || u.selected === !0) && (L.style = L.highlightStyle, _.style = _.highlightStyle), L.clickable = _.clickable = this._clickable[e] && (null == u.clickable || u.clickable), this._selectedMode[e] && (this._selected[c] = null != this._selected[c] ? this._selected[c] : u.selected, this._mapTypeMap[c] = e, (null == u.selectable || u.selectable) && (_.clickable = L.clickable = !0, _.onclick = L.onclick = this.shapeHandler.onclick)), this._hoverable[e] && (null == u.hoverable || u.hoverable) ? (L.hoverable = _.hoverable = !0, _.hoverConnect = L.id, L.hoverConnect = _.id) : L.hoverable = _.hoverable = !1, d.pack(L, {
  16205. name: V,
  16206. tooltip: this.deepQuery(g, "tooltip")
  16207. }, 0, u, 0, c), this.shapeList.push(L), d.pack(_, {
  16208. name: V,
  16209. tooltip: this.deepQuery(g, "tooltip")
  16210. }, 0, u, 0, c), this.shapeList.push(_)
  16211. }
  16212. },
  16213. _buildMark: function(e, t) {
  16214. this._seriesIndexToMapType = this._seriesIndexToMapType || {}, this.markAttachStyle = this.markAttachStyle || {};
  16215. var i = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top];
  16216. "none" == e && (i = [0, 0]);
  16217. for(var n in t) this._seriesIndexToMapType[n] = e, this.markAttachStyle[n] = {
  16218. position: i,
  16219. _mapType: e
  16220. }, this.buildMark(n)
  16221. },
  16222. _buildHeatmap: function(e) {
  16223. for(var t = this.series, i = 0, n = t.length; n > i; i++)
  16224. if(t[i].heatmap) {
  16225. var a = t[i].heatmap.data;
  16226. if(t[i].heatmap.needsTransform === !1) {
  16227. for(var o = [], r = 0, s = a.length; s > r; ++r) o.push([a[r][3], a[r][4], a[r][2]]);
  16228. var l = [0, 0]
  16229. } else {
  16230. var h = t[i].heatmap._geoData;
  16231. if(void 0 === h) {
  16232. t[i].heatmap._geoData = [];
  16233. for(var r = 0, s = a.length; s > r; ++r) t[i].heatmap._geoData[r] = a[r];
  16234. h = t[i].heatmap._geoData
  16235. }
  16236. for(var s = a.length, U = 0; s > U; ++U) a[U] = this.geo2pos(e, [h[U][0], h[U][1]]);
  16237. var l = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top]
  16238. }
  16239. var d = new V(t[i].heatmap),
  16240. p = d.getCanvas(a[0][3] ? o : a, this.zr.getWidth(), this.zr.getHeight()),
  16241. c = new m({
  16242. zlevel: this.getZlevelBase(),
  16243. z: this.getZBase() + 1,
  16244. position: l,
  16245. scale: [1, 1],
  16246. hoverable: !1,
  16247. style: {
  16248. x: 0,
  16249. y: 0,
  16250. image: p,
  16251. width: p.width,
  16252. height: p.height
  16253. }
  16254. });
  16255. c.type = "heatmap", c._mapType = e, this.shapeList.push(c), this.zr.addShape(c)
  16256. }
  16257. },
  16258. getMarkCoord: function(e, t) {
  16259. return t.geoCoord || b[t.name] ? this.geo2pos(this._seriesIndexToMapType[e], t.geoCoord || b[t.name]) : [0, 0]
  16260. },
  16261. getMarkGeo: function(e) {
  16262. return e.geoCoord || b[e.name]
  16263. },
  16264. _nameChange: function(e, t) {
  16265. return this._nameMap[e][t] || t
  16266. },
  16267. getLabelText: function(e, t, i, n) {
  16268. var a = this.deepQuery(i, "itemStyle." + n + ".label.formatter");
  16269. return a ? "function" == typeof a ? a.call(this.myChart, e, t) : "string" == typeof a ? (a = a.replace("{a}", "{a0}").replace("{b}", "{b0}"), a = a.replace("{a0}", e).replace("{b0}", t)) : void 0 : e
  16270. },
  16271. _findMapTypeByPos: function(e, t) {
  16272. var i, n, a, o, r;
  16273. for(var s in this._mapDataMap)
  16274. if(i = this._mapDataMap[s].transform, i && this._roamMap[s] && this._activeMapType[s] && (n = i.left, a = i.top, o = i.width, r = i.height, e >= n && n + o >= e && t >= a && a + r >= t)) return s
  16275. },
  16276. __onmousewheel: function(e) {
  16277. function t(e, t) {
  16278. for(var i = 0; i < e.pointList.length; i++) {
  16279. var n = e.pointList[i];
  16280. n[0] *= t, n[1] *= t
  16281. }
  16282. var a = e.controlPointList;
  16283. if(a)
  16284. for(var i = 0; i < a.length; i++) {
  16285. var n = a[i];
  16286. n[0] *= t, n[1] *= t
  16287. }
  16288. }
  16289. function i(e, t) {
  16290. e.xStart *= t, e.yStart *= t, e.xEnd *= t, e.yEnd *= t, null != e.cpX1 && (e.cpX1 *= t, e.cpY1 *= t)
  16291. }
  16292. if(!(this.shapeList.length <= 0)) {
  16293. for(var n = 0, a = this.shapeList.length; a > n; n++) {
  16294. var o = this.shapeList[n];
  16295. if(o.__animating) return
  16296. }
  16297. var r, s, l = e.event,
  16298. h = u.getX(l),
  16299. m = u.getY(l),
  16300. V = u.getDelta(l),
  16301. d = e.mapTypeControl;
  16302. d || (d = {}, s = this._findMapTypeByPos(h, m), s && this._roamMap[s] && "move" != this._roamMap[s] && (d[s] = !0));
  16303. var p = !1;
  16304. for(s in d)
  16305. if(d[s]) {
  16306. p = !0;
  16307. var c = this._mapDataMap[s].transform,
  16308. y = c.left,
  16309. g = c.top,
  16310. b = c.width,
  16311. f = c.height,
  16312. k = this.pos2geo(s, [h - y, m - g]);
  16313. if(V > 0) {
  16314. if(r = 1.2, null != this._scaleLimitMap[s].max && c.baseScale >= this._scaleLimitMap[s].max) continue
  16315. } else if(r = 1 / 1.2, null != this._scaleLimitMap[s].min && c.baseScale <= this._scaleLimitMap[s].min) continue;
  16316. c.baseScale *= r, c.scale.x *= r, c.scale.y *= r, c.width = b * r, c.height = f * r, this._mapDataMap[s].hasRoam = !0, this._mapDataMap[s].transform = c, k = this.geo2pos(s, k), c.left -= k[0] - (h - y), c.top -= k[1] - (m - g), this._mapDataMap[s].transform = c, this.clearEffectShape(!0);
  16317. for(var n = 0, a = this.shapeList.length; a > n; n++) {
  16318. var o = this.shapeList[n];
  16319. if(o._mapType == s) {
  16320. var x = o.type,
  16321. _ = o.style;
  16322. switch(o.position[0] = c.left, o.position[1] = c.top, x) {
  16323. case "path":
  16324. case "symbol":
  16325. case "circle":
  16326. case "rectangle":
  16327. case "polygon":
  16328. case "line":
  16329. case "ellipse":
  16330. case "heatmap":
  16331. o.scale[0] *= r, o.scale[1] *= r;
  16332. break;
  16333. case "mark-line":
  16334. i(_, r);
  16335. break;
  16336. case "polyline":
  16337. t(_, r);
  16338. break;
  16339. case "shape-bundle":
  16340. for(var L = 0; L < _.shapeList.length; L++) {
  16341. var W = _.shapeList[L];
  16342. "mark-line" == W.type ? i(W.style, r) : "polyline" == W.type && t(W.style, r)
  16343. }
  16344. break;
  16345. case "icon":
  16346. case "image":
  16347. k = this.geo2pos(s, o._geo), _.x = _._x = k[0] - _.width / 2, _.y = _._y = k[1] - _.height / 2;
  16348. break;
  16349. default:
  16350. k = this.geo2pos(s, o._geo), _.x = k[0], _.y = k[1], "text" == x && (o._style.x = o.highlightStyle.x = k[0], o._style.y = o.highlightStyle.y = k[1])
  16351. }
  16352. this.zr.modShape(o.id)
  16353. }
  16354. }
  16355. }
  16356. if(p) {
  16357. u.stop(l), this.zr.refreshNextFrame();
  16358. var X = this;
  16359. clearTimeout(this._refreshDelayTicket), this._refreshDelayTicket = setTimeout(function() {
  16360. X && X.shapeList && X.animationEffect()
  16361. }, 100), this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {
  16362. type: "scale"
  16363. }, this.myChart)
  16364. }
  16365. }
  16366. },
  16367. __onmousedown: function(e) {
  16368. if(!(this.shapeList.length <= 0)) {
  16369. var t = e.target;
  16370. if(!t || !t.draggable) {
  16371. var i = e.event,
  16372. n = u.getX(i),
  16373. a = u.getY(i),
  16374. o = this._findMapTypeByPos(n, a);
  16375. if(o && this._roamMap[o] && "scale" != this._roamMap[o]) {
  16376. this._mousedown = !0, this._mx = n, this._my = a, this._curMapType = o, this.zr.on(c.EVENT.MOUSEUP, this._onmouseup);
  16377. var r = this;
  16378. setTimeout(function() {
  16379. r.zr.on(c.EVENT.MOUSEMOVE, r._onmousemove)
  16380. }, 100)
  16381. }
  16382. }
  16383. }
  16384. },
  16385. __onmousemove: function(e) {
  16386. if(this._mousedown && this._isAlive) {
  16387. var t = e.event,
  16388. i = u.getX(t),
  16389. n = u.getY(t),
  16390. a = this._mapDataMap[this._curMapType].transform;
  16391. a.hasRoam = !0, a.left -= this._mx - i, a.top -= this._my - n, this._mx = i, this._my = n, this._mapDataMap[this._curMapType].transform = a;
  16392. for(var o = 0, r = this.shapeList.length; r > o; o++) this.shapeList[o]._mapType == this._curMapType && (this.shapeList[o].position[0] = a.left, this.shapeList[o].position[1] = a.top, this.zr.modShape(this.shapeList[o].id));
  16393. this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {
  16394. type: "move"
  16395. }, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), this._justMove = !0, u.stop(t)
  16396. }
  16397. },
  16398. __onmouseup: function(e) {
  16399. var t = e.event;
  16400. this._mx = u.getX(t), this._my = u.getY(t), this._mousedown = !1;
  16401. var i = this;
  16402. setTimeout(function() {
  16403. i._justMove && i.animationEffect(), i._justMove = !1, i.zr.un(c.EVENT.MOUSEMOVE, i._onmousemove), i.zr.un(c.EVENT.MOUSEUP, i._onmouseup)
  16404. }, 120)
  16405. },
  16406. __onroamcontroller: function(e) {
  16407. var t = e.event;
  16408. t.zrenderX = this.zr.getWidth() / 2, t.zrenderY = this.zr.getHeight() / 2;
  16409. var i = e.mapTypeControl,
  16410. n = 0,
  16411. a = 0,
  16412. o = e.step;
  16413. switch(e.roamType) {
  16414. case "scaleUp":
  16415. return t.zrenderDelta = 1, void this.__onmousewheel({
  16416. event: t,
  16417. mapTypeControl: i
  16418. });
  16419. case "scaleDown":
  16420. return t.zrenderDelta = -1, void this.__onmousewheel({
  16421. event: t,
  16422. mapTypeControl: i
  16423. });
  16424. case "up":
  16425. n = -o;
  16426. break;
  16427. case "down":
  16428. n = o;
  16429. break;
  16430. case "left":
  16431. a = -o;
  16432. break;
  16433. case "right":
  16434. a = o
  16435. }
  16436. var r, s;
  16437. for(s in i) this._mapDataMap[s] && this._activeMapType[s] && (r = this._mapDataMap[s].transform, r.hasRoam = !0, r.left -= a, r.top -= n, this._mapDataMap[s].transform = r);
  16438. for(var l = 0, h = this.shapeList.length; h > l; l++) s = this.shapeList[l]._mapType, i[s] && this._activeMapType[s] && (r = this._mapDataMap[s].transform, this.shapeList[l].position[0] = r.left, this.shapeList[l].position[1] = r.top, this.zr.modShape(this.shapeList[l].id));
  16439. this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {
  16440. type: "move"
  16441. }, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), clearTimeout(this.dircetionTimer);
  16442. var m = this;
  16443. this.dircetionTimer = setTimeout(function() {
  16444. m.animationEffect()
  16445. }, 150)
  16446. },
  16447. __ondrhoverlink: function(e) {
  16448. for(var t, i, n = 0, a = this.shapeList.length; a > n; n++) t = this.shapeList[n]._mapType, this._hoverLinkMap[t] && this._activeMapType[t] && (i = d.get(this.shapeList[n], "value"), null != i && i >= e.valueMin && i <= e.valueMax && this.zr.addHoverShape(this.shapeList[n]))
  16449. },
  16450. onclick: function(e) {
  16451. if(this.isClick && e.target && !this._justMove && "icon" != e.target.type) {
  16452. this.isClick = !1;
  16453. var t = e.target,
  16454. i = t.style._name,
  16455. n = this.shapeList.length,
  16456. a = t._mapType || "";
  16457. if("single" == this._selectedMode[a])
  16458. for(var o in this._selected)
  16459. if(this._selected[o] && this._mapTypeMap[o] == a) {
  16460. for(var r = 0; n > r; r++) this.shapeList[r].style._name == o && this.shapeList[r]._mapType == a && (this.shapeList[r].style = this.shapeList[r]._style, this.zr.modShape(this.shapeList[r].id));
  16461. o != i && (this._selected[o] = !1)
  16462. }
  16463. this._selected[i] = !this._selected[i];
  16464. for(var r = 0; n > r; r++) this.shapeList[r].style._name == i && this.shapeList[r]._mapType == a && (this.shapeList[r].style = this._selected[i] ? this.shapeList[r].highlightStyle : this.shapeList[r]._style, this.zr.modShape(this.shapeList[r].id));
  16465. this.messageCenter.dispatch(U.EVENT.MAP_SELECTED, e.event, {
  16466. selected: this._selected,
  16467. target: i
  16468. }, this.myChart), this.zr.refreshNextFrame();
  16469. var s = this;
  16470. setTimeout(function() {
  16471. s.zr.trigger(c.EVENT.MOUSEMOVE, e.event)
  16472. }, 100)
  16473. }
  16474. },
  16475. refresh: function(e) {
  16476. e && (this.option = e, this.series = e.series), this._mapDataRequireCounter > 0 ? this.clear() : this.backupShapeList(), this._buildShape(), this.zr.refreshHover()
  16477. },
  16478. ondataRange: function(e, t) {
  16479. this.component.dataRange && (this.refresh(), t.needRefresh = !0)
  16480. },
  16481. pos2geo: function(e, t) {
  16482. return this._mapDataMap[e].transform ? this._mapDataMap[e].projection.pos2geo(this._mapDataMap[e].transform, t) : null
  16483. },
  16484. getGeoByPos: function(e, t) {
  16485. if(!this._mapDataMap[e].transform) return null;
  16486. var i = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top];
  16487. return t instanceof Array ? (t[0] -= i[0], t[1] -= i[1]) : (t.x -= i[0], t.y -= i[1]), this.pos2geo(e, t)
  16488. },
  16489. geo2pos: function(e, t) {
  16490. return this._mapDataMap[e].transform ? this._mapDataMap[e].projection.geo2pos(this._mapDataMap[e].transform, t) : null
  16491. },
  16492. getPosByGeo: function(e, t) {
  16493. if(!this._mapDataMap[e].transform) return null;
  16494. var i = this.geo2pos(e, t);
  16495. return i[0] += this._mapDataMap[e].transform.left, i[1] += this._mapDataMap[e].transform.top, i
  16496. },
  16497. getMapPosition: function(e) {
  16498. return this._mapDataMap[e].transform ? [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top] : null
  16499. },
  16500. onbeforDispose: function() {
  16501. this._isAlive = !1, this.zr.un(c.EVENT.MOUSEWHEEL, this._onmousewheel), this.zr.un(c.EVENT.MOUSEDOWN, this._onmousedown), this.messageCenter.unbind(U.EVENT.ROAMCONTROLLER, this._onroamcontroller), this.messageCenter.unbind(U.EVENT.DATA_RANGE_HOVERLINK, this._ondrhoverlink)
  16502. }
  16503. }, p.inherits(t, i), e("../chart").define("map", t), t
  16504. }), i("zrender/shape/Path", ["require", "./Base", "./util/PathProxy", "../tool/util"], function(e) {
  16505. var t = e("./Base"),
  16506. i = e("./util/PathProxy"),
  16507. n = i.PathSegment,
  16508. a = function(e) {
  16509. return Math.sqrt(e[0] * e[0] + e[1] * e[1])
  16510. },
  16511. o = function(e, t) {
  16512. return(e[0] * t[0] + e[1] * t[1]) / (a(e) * a(t))
  16513. },
  16514. r = function(e, t) {
  16515. return(e[0] * t[1] < e[1] * t[0] ? -1 : 1) * Math.acos(o(e, t))
  16516. },
  16517. s = function(e) {
  16518. t.call(this, e)
  16519. };
  16520. return s.prototype = {
  16521. type: "path",
  16522. buildPathArray: function(e, t, i) {
  16523. if(!e) return [];
  16524. t = t || 0, i = i || 0;
  16525. var a = e,
  16526. o = ["m", "M", "l", "L", "v", "V", "h", "H", "z", "Z", "c", "C", "q", "Q", "t", "T", "s", "S", "a", "A"];
  16527. a = a.replace(/-/g, " -"), a = a.replace(/ /g, " "), a = a.replace(/ /g, ","), a = a.replace(/,,/g, ",");
  16528. var r;
  16529. for(r = 0; r < o.length; r++) a = a.replace(new RegExp(o[r], "g"), "|" + o[r]);
  16530. var s = a.split("|"),
  16531. l = [],
  16532. h = 0,
  16533. m = 0;
  16534. for(r = 1; r < s.length; r++) {
  16535. var V = s[r],
  16536. U = V.charAt(0);
  16537. V = V.slice(1), V = V.replace(new RegExp("e,-", "g"), "e-");
  16538. var d = V.split(",");
  16539. d.length > 0 && "" === d[0] && d.shift();
  16540. for(var p = 0; p < d.length; p++) d[p] = parseFloat(d[p]);
  16541. for(; d.length > 0 && !isNaN(d[0]);) {
  16542. var c, u, y, g, b, f, k, x, _ = null,
  16543. L = [],
  16544. W = h,
  16545. X = m;
  16546. switch(U) {
  16547. case "l":
  16548. h += d.shift(), m += d.shift(), _ = "L", L.push(h, m);
  16549. break;
  16550. case "L":
  16551. h = d.shift(), m = d.shift(), L.push(h, m);
  16552. break;
  16553. case "m":
  16554. h += d.shift(), m += d.shift(), _ = "M", L.push(h, m), U = "l";
  16555. break;
  16556. case "M":
  16557. h = d.shift(), m = d.shift(), _ = "M", L.push(h, m), U = "L";
  16558. break;
  16559. case "h":
  16560. h += d.shift(), _ = "L", L.push(h, m);
  16561. break;
  16562. case "H":
  16563. h = d.shift(), _ = "L", L.push(h, m);
  16564. break;
  16565. case "v":
  16566. m += d.shift(), _ = "L", L.push(h, m);
  16567. break;
  16568. case "V":
  16569. m = d.shift(), _ = "L", L.push(h, m);
  16570. break;
  16571. case "C":
  16572. L.push(d.shift(), d.shift(), d.shift(), d.shift()), h = d.shift(), m = d.shift(), L.push(h, m);
  16573. break;
  16574. case "c":
  16575. L.push(h + d.shift(), m + d.shift(), h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "C", L.push(h, m);
  16576. break;
  16577. case "S":
  16578. c = h, u = m, y = l[l.length - 1], "C" === y.command && (c = h + (h - y.points[2]), u = m + (m - y.points[3])), L.push(c, u, d.shift(), d.shift()), h = d.shift(), m = d.shift(), _ = "C", L.push(h, m);
  16579. break;
  16580. case "s":
  16581. c = h, u = m, y = l[l.length - 1], "C" === y.command && (c = h + (h - y.points[2]), u = m + (m - y.points[3])), L.push(c, u, h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "C", L.push(h, m);
  16582. break;
  16583. case "Q":
  16584. L.push(d.shift(), d.shift()), h = d.shift(), m = d.shift(), L.push(h, m);
  16585. break;
  16586. case "q":
  16587. L.push(h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "Q", L.push(h, m);
  16588. break;
  16589. case "T":
  16590. c = h, u = m, y = l[l.length - 1], "Q" === y.command && (c = h + (h - y.points[0]), u = m + (m - y.points[1])), h = d.shift(), m = d.shift(), _ = "Q", L.push(c, u, h, m);
  16591. break;
  16592. case "t":
  16593. c = h, u = m, y = l[l.length - 1], "Q" === y.command && (c = h + (h - y.points[0]), u = m + (m - y.points[1])), h += d.shift(), m += d.shift(), _ = "Q", L.push(c, u, h, m);
  16594. break;
  16595. case "A":
  16596. g = d.shift(), b = d.shift(), f = d.shift(), k = d.shift(), x = d.shift(), W = h, X = m, h = d.shift(), m = d.shift(), _ = "A", L = this._convertPoint(W, X, h, m, k, x, g, b, f);
  16597. break;
  16598. case "a":
  16599. g = d.shift(), b = d.shift(), f = d.shift(), k = d.shift(), x = d.shift(), W = h, X = m, h += d.shift(), m += d.shift(), _ = "A", L = this._convertPoint(W, X, h, m, k, x, g, b, f)
  16600. }
  16601. for(var v = 0, w = L.length; w > v; v += 2) L[v] += t, L[v + 1] += i;
  16602. l.push(new n(_ || U, L))
  16603. }("z" === U || "Z" === U) && l.push(new n("z", []))
  16604. }
  16605. return l
  16606. },
  16607. _convertPoint: function(e, t, i, n, a, s, l, h, m) {
  16608. var V = m * (Math.PI / 180),
  16609. U = Math.cos(V) * (e - i) / 2 + Math.sin(V) * (t - n) / 2,
  16610. d = -1 * Math.sin(V) * (e - i) / 2 + Math.cos(V) * (t - n) / 2,
  16611. p = U * U / (l * l) + d * d / (h * h);
  16612. p > 1 && (l *= Math.sqrt(p), h *= Math.sqrt(p));
  16613. var c = Math.sqrt((l * l * h * h - l * l * d * d - h * h * U * U) / (l * l * d * d + h * h * U * U));
  16614. a === s && (c *= -1), isNaN(c) && (c = 0);
  16615. var u = c * l * d / h,
  16616. y = c * -h * U / l,
  16617. g = (e + i) / 2 + Math.cos(V) * u - Math.sin(V) * y,
  16618. b = (t + n) / 2 + Math.sin(V) * u + Math.cos(V) * y,
  16619. f = r([1, 0], [(U - u) / l, (d - y) / h]),
  16620. k = [(U - u) / l, (d - y) / h],
  16621. x = [(-1 * U - u) / l, (-1 * d - y) / h],
  16622. _ = r(k, x);
  16623. return o(k, x) <= -1 && (_ = Math.PI), o(k, x) >= 1 && (_ = 0), 0 === s && _ > 0 && (_ -= 2 * Math.PI), 1 === s && 0 > _ && (_ += 2 * Math.PI), [g, b, l, h, f, _, V, s]
  16624. },
  16625. buildPath: function(e, t) {
  16626. var i = t.path,
  16627. n = t.x || 0,
  16628. a = t.y || 0;
  16629. t.pathArray = t.pathArray || this.buildPathArray(i, n, a);
  16630. for(var o = t.pathArray, r = t.pointList = [], s = [], l = 0, h = o.length; h > l; l++) {
  16631. "M" == o[l].command.toUpperCase() && (s.length > 0 && r.push(s), s = []);
  16632. for(var m = o[l].points, V = 0, U = m.length; U > V; V += 2) s.push([m[V], m[V + 1]])
  16633. }
  16634. s.length > 0 && r.push(s);
  16635. for(var l = 0, h = o.length; h > l; l++) {
  16636. var d = o[l].command,
  16637. m = o[l].points;
  16638. switch(d) {
  16639. case "L":
  16640. e.lineTo(m[0], m[1]);
  16641. break;
  16642. case "M":
  16643. e.moveTo(m[0], m[1]);
  16644. break;
  16645. case "C":
  16646. e.bezierCurveTo(m[0], m[1], m[2], m[3], m[4], m[5]);
  16647. break;
  16648. case "Q":
  16649. e.quadraticCurveTo(m[0], m[1], m[2], m[3]);
  16650. break;
  16651. case "A":
  16652. var p = m[0],
  16653. c = m[1],
  16654. u = m[2],
  16655. y = m[3],
  16656. g = m[4],
  16657. b = m[5],
  16658. f = m[6],
  16659. k = m[7],
  16660. x = u > y ? u : y,
  16661. _ = u > y ? 1 : u / y,
  16662. L = u > y ? y / u : 1;
  16663. e.translate(p, c), e.rotate(f), e.scale(_, L), e.arc(0, 0, x, g, g + b, 1 - k), e.scale(1 / _, 1 / L), e.rotate(-f), e.translate(-p, -c);
  16664. break;
  16665. case "z":
  16666. e.closePath()
  16667. }
  16668. }
  16669. },
  16670. getRect: function(e) {
  16671. if(e.__rect) return e.__rect;
  16672. var t;
  16673. t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0;
  16674. for(var i = Number.MAX_VALUE, n = Number.MIN_VALUE, a = Number.MAX_VALUE, o = Number.MIN_VALUE, r = e.x || 0, s = e.y || 0, l = e.pathArray || this.buildPathArray(e.path), h = 0; h < l.length; h++)
  16675. for(var m = l[h].points, V = 0; V < m.length; V++) V % 2 === 0 ? (m[V] + r < i && (i = m[V]), m[V] + r > n && (n = m[V])) : (m[V] + s < a && (a = m[V]), m[V] + s > o && (o = m[V]));
  16676. var U;
  16677. return U = i === Number.MAX_VALUE || n === Number.MIN_VALUE || a === Number.MAX_VALUE || o === Number.MIN_VALUE ? {
  16678. x: 0,
  16679. y: 0,
  16680. width: 0,
  16681. height: 0
  16682. } : {
  16683. x: Math.round(i - t / 2),
  16684. y: Math.round(a - t / 2),
  16685. width: n - i + t,
  16686. height: o - a + t
  16687. }, e.__rect = U, U
  16688. }
  16689. }, e("../tool/util").inherits(s, t), s
  16690. }), i("zrender/shape/Ellipse", ["require", "./Base", "../tool/util"], function(e) {
  16691. var t = e("./Base"),
  16692. i = function(e) {
  16693. t.call(this, e)
  16694. };
  16695. return i.prototype = {
  16696. type: "ellipse",
  16697. buildPath: function(e, t) {
  16698. var i = .5522848,
  16699. n = t.x,
  16700. a = t.y,
  16701. o = t.a,
  16702. r = t.b,
  16703. s = o * i,
  16704. l = r * i;
  16705. e.moveTo(n - o, a), e.bezierCurveTo(n - o, a - l, n - s, a - r, n, a - r), e.bezierCurveTo(n + s, a - r, n + o, a - l, n + o, a), e.bezierCurveTo(n + o, a + l, n + s, a + r, n, a + r), e.bezierCurveTo(n - s, a + r, n - o, a + l, n - o, a), e.closePath()
  16706. },
  16707. getRect: function(e) {
  16708. if(e.__rect) return e.__rect;
  16709. var t;
  16710. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  16711. x: Math.round(e.x - e.a - t / 2),
  16712. y: Math.round(e.y - e.b - t / 2),
  16713. width: 2 * e.a + t,
  16714. height: 2 * e.b + t
  16715. }, e.__rect
  16716. }
  16717. }, e("../tool/util").inherits(i, t), i
  16718. }), i("echarts/component/roamController", ["require", "./base", "zrender/shape/Rectangle", "zrender/shape/Sector", "zrender/shape/Circle", "../config", "zrender/tool/util", "zrender/tool/color", "zrender/tool/event", "../component"], function(e) {
  16719. function t(e, t, n, a, o) {
  16720. if(this.rcOption = {}, a.roamController && a.roamController.show) {
  16721. if(!a.roamController.mapTypeControl) return void console.error("option.roamController.mapTypeControl has not been defined.");
  16722. i.call(this, e, t, n, a, o), this.rcOption = a.roamController;
  16723. var r = this;
  16724. this._drictionMouseDown = function(e) {
  16725. return r.__drictionMouseDown(e)
  16726. }, this._drictionMouseUp = function(e) {
  16727. return r.__drictionMouseUp(e)
  16728. }, this._drictionMouseMove = function(e) {
  16729. return r.__drictionMouseMove(e)
  16730. }, this._drictionMouseOut = function(e) {
  16731. return r.__drictionMouseOut(e)
  16732. }, this._scaleHandler = function(e) {
  16733. return r.__scaleHandler(e)
  16734. }, this.refresh(a)
  16735. }
  16736. }
  16737. var i = e("./base"),
  16738. n = e("zrender/shape/Rectangle"),
  16739. a = e("zrender/shape/Sector"),
  16740. o = e("zrender/shape/Circle"),
  16741. r = e("../config");
  16742. r.roamController = {
  16743. zlevel: 0,
  16744. z: 4,
  16745. show: !0,
  16746. x: "left",
  16747. y: "top",
  16748. width: 80,
  16749. height: 120,
  16750. backgroundColor: "rgba(0,0,0,0)",
  16751. borderColor: "#ccc",
  16752. borderWidth: 0,
  16753. padding: 5,
  16754. handleColor: "#6495ed",
  16755. fillerColor: "#fff",
  16756. step: 15,
  16757. mapTypeControl: null
  16758. };
  16759. var s = e("zrender/tool/util"),
  16760. l = e("zrender/tool/color"),
  16761. h = e("zrender/tool/event");
  16762. return t.prototype = {
  16763. type: r.COMPONENT_TYPE_ROAMCONTROLLER,
  16764. _buildShape: function() {
  16765. if(this.rcOption.show) {
  16766. this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
  16767. for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  16768. }
  16769. },
  16770. _buildItem: function() {
  16771. this.shapeList.push(this._getDirectionShape("up")), this.shapeList.push(this._getDirectionShape("down")), this.shapeList.push(this._getDirectionShape("left")), this.shapeList.push(this._getDirectionShape("right")), this.shapeList.push(this._getScaleShape("scaleUp")), this.shapeList.push(this._getScaleShape("scaleDown"))
  16772. },
  16773. _getDirectionShape: function(e) {
  16774. var t = this._itemGroupLocation.r,
  16775. i = this._itemGroupLocation.x + t,
  16776. n = this._itemGroupLocation.y + t,
  16777. o = {
  16778. zlevel: this.getZlevelBase(),
  16779. z: this.getZBase(),
  16780. style: {
  16781. x: i,
  16782. y: n,
  16783. r: t,
  16784. startAngle: -45,
  16785. endAngle: 45,
  16786. color: this.rcOption.handleColor,
  16787. text: ">",
  16788. textX: i + t / 2 + 4,
  16789. textY: n - .5,
  16790. textAlign: "center",
  16791. textBaseline: "middle",
  16792. textPosition: "specific",
  16793. textColor: this.rcOption.fillerColor,
  16794. textFont: Math.floor(t / 2) + "px arial"
  16795. },
  16796. highlightStyle: {
  16797. color: l.lift(this.rcOption.handleColor, -.2),
  16798. brushType: "fill"
  16799. },
  16800. clickable: !0
  16801. };
  16802. switch(e) {
  16803. case "up":
  16804. o.rotation = [Math.PI / 2, i, n];
  16805. break;
  16806. case "left":
  16807. o.rotation = [Math.PI, i, n];
  16808. break;
  16809. case "down":
  16810. o.rotation = [-Math.PI / 2, i, n]
  16811. }
  16812. return o = new a(o), o._roamType = e, o.onmousedown = this._drictionMouseDown, o.onmouseup = this._drictionMouseUp, o.onmousemove = this._drictionMouseMove, o.onmouseout = this._drictionMouseOut, o
  16813. },
  16814. _getScaleShape: function(e) {
  16815. var t = this._itemGroupLocation.width,
  16816. i = this._itemGroupLocation.height - t;
  16817. i = 0 > i ? 20 : i;
  16818. var n = Math.min(t / 2 - 5, i) / 2,
  16819. a = this._itemGroupLocation.x + ("scaleDown" === e ? t - n : n),
  16820. r = this._itemGroupLocation.y + this._itemGroupLocation.height - n,
  16821. s = {
  16822. zlevel: this.getZlevelBase(),
  16823. z: this.getZBase(),
  16824. style: {
  16825. x: a,
  16826. y: r,
  16827. r: n,
  16828. color: this.rcOption.handleColor,
  16829. text: "scaleDown" === e ? "-" : "+",
  16830. textX: a,
  16831. textY: r - 2,
  16832. textAlign: "center",
  16833. textBaseline: "middle",
  16834. textPosition: "specific",
  16835. textColor: this.rcOption.fillerColor,
  16836. textFont: Math.floor(n) + "px verdana"
  16837. },
  16838. highlightStyle: {
  16839. color: l.lift(this.rcOption.handleColor, -.2),
  16840. brushType: "fill"
  16841. },
  16842. clickable: !0
  16843. };
  16844. return s = new o(s), s._roamType = e, s.onmousedown = this._scaleHandler, s
  16845. },
  16846. _buildBackground: function() {
  16847. var e = this.reformCssArray(this.rcOption.padding);
  16848. this.shapeList.push(new n({
  16849. zlevel: this.getZlevelBase(),
  16850. z: this.getZBase(),
  16851. hoverable: !1,
  16852. style: {
  16853. x: this._itemGroupLocation.x - e[3],
  16854. y: this._itemGroupLocation.y - e[0],
  16855. width: this._itemGroupLocation.width + e[3] + e[1],
  16856. height: this._itemGroupLocation.height + e[0] + e[2],
  16857. brushType: 0 === this.rcOption.borderWidth ? "fill" : "both",
  16858. color: this.rcOption.backgroundColor,
  16859. strokeColor: this.rcOption.borderColor,
  16860. lineWidth: this.rcOption.borderWidth
  16861. }
  16862. }))
  16863. },
  16864. _getItemGroupLocation: function() {
  16865. var e, t = this.reformCssArray(this.rcOption.padding),
  16866. i = this.rcOption.width,
  16867. n = this.rcOption.height,
  16868. a = this.zr.getWidth(),
  16869. o = this.zr.getHeight();
  16870. switch(this.rcOption.x) {
  16871. case "center":
  16872. e = Math.floor((a - i) / 2);
  16873. break;
  16874. case "left":
  16875. e = t[3] + this.rcOption.borderWidth;
  16876. break;
  16877. case "right":
  16878. e = a - i - t[1] - t[3] - 2 * this.rcOption.borderWidth;
  16879. break;
  16880. default:
  16881. e = this.parsePercent(this.rcOption.x, a)
  16882. }
  16883. var r;
  16884. switch(this.rcOption.y) {
  16885. case "top":
  16886. r = t[0] + this.rcOption.borderWidth;
  16887. break;
  16888. case "bottom":
  16889. r = o - n - t[0] - t[2] - 2 * this.rcOption.borderWidth;
  16890. break;
  16891. case "center":
  16892. r = Math.floor((o - n) / 2);
  16893. break;
  16894. default:
  16895. r = this.parsePercent(this.rcOption.y, o)
  16896. }
  16897. return {
  16898. x: e,
  16899. y: r,
  16900. r: i / 2,
  16901. width: i,
  16902. height: n
  16903. }
  16904. },
  16905. __drictionMouseDown: function(e) {
  16906. this.mousedown = !0, this._drictionHandlerOn(e)
  16907. },
  16908. __drictionMouseUp: function(e) {
  16909. this.mousedown = !1, this._drictionHandlerOff(e)
  16910. },
  16911. __drictionMouseMove: function(e) {
  16912. this.mousedown && this._drictionHandlerOn(e)
  16913. },
  16914. __drictionMouseOut: function(e) {
  16915. this._drictionHandlerOff(e)
  16916. },
  16917. _drictionHandlerOn: function(e) {
  16918. this._dispatchEvent(e.event, e.target._roamType), clearInterval(this.dircetionTimer);
  16919. var t = this;
  16920. this.dircetionTimer = setInterval(function() {
  16921. t._dispatchEvent(e.event, e.target._roamType)
  16922. }, 100), h.stop(e.event)
  16923. },
  16924. _drictionHandlerOff: function() {
  16925. clearInterval(this.dircetionTimer)
  16926. },
  16927. __scaleHandler: function(e) {
  16928. this._dispatchEvent(e.event, e.target._roamType), h.stop(e.event)
  16929. },
  16930. _dispatchEvent: function(e, t) {
  16931. this.messageCenter.dispatch(r.EVENT.ROAMCONTROLLER, e, {
  16932. roamType: t,
  16933. mapTypeControl: this.rcOption.mapTypeControl,
  16934. step: this.rcOption.step
  16935. }, this.myChart)
  16936. },
  16937. refresh: function(e) {
  16938. e && (this.option = e || this.option, this.option.roamController = this.reformOption(this.option.roamController), this.rcOption = this.option.roamController), this.clear(), this._buildShape()
  16939. }
  16940. }, s.inherits(t, i), e("../component").define("roamController", t), t
  16941. }), i("echarts/layer/heatmap", ["require"], function() {
  16942. function e(e) {
  16943. if(this.option = e, e)
  16944. for(var i in t) this.option[i] = void 0 !== e[i] ? e[i] : t[i];
  16945. else this.option = t
  16946. }
  16947. var t = {
  16948. blurSize: 30,
  16949. gradientColors: ["blue", "cyan", "lime", "yellow", "red"],
  16950. minAlpha: .05,
  16951. valueScale: 1,
  16952. opacity: 1
  16953. },
  16954. i = 20,
  16955. n = 256;
  16956. return e.prototype = {
  16957. getCanvas: function(e, t, a) {
  16958. var o = this._getBrush(),
  16959. r = this._getGradient(),
  16960. s = i + this.option.blurSize,
  16961. l = document.createElement("canvas");
  16962. l.width = t, l.height = a;
  16963. for(var h = l.getContext("2d"), m = e.length, V = 0; m > V; ++V) {
  16964. var U = e[V],
  16965. d = U[0],
  16966. p = U[1],
  16967. c = U[2],
  16968. u = Math.min(1, Math.max(c * this.option.valueScale || this.option.minAlpha, this.option.minAlpha));
  16969. h.globalAlpha = u, h.drawImage(o, d - s, p - s)
  16970. }
  16971. for(var y = h.getImageData(0, 0, l.width, l.height), g = y.data, m = g.length / 4; m--;) {
  16972. var b = 4 * m + 3,
  16973. u = g[b] / 256,
  16974. f = Math.floor(u * (n - 1));
  16975. g[b - 3] = r[4 * f], g[b - 2] = r[4 * f + 1], g[b - 1] = r[4 * f + 2], g[b] *= this.option.opacity
  16976. }
  16977. return h.putImageData(y, 0, 0), l
  16978. },
  16979. _getBrush: function() {
  16980. if(!this._brushCanvas) {
  16981. this._brushCanvas = document.createElement("canvas");
  16982. var e = i + this.option.blurSize,
  16983. t = 2 * e;
  16984. this._brushCanvas.width = t, this._brushCanvas.height = t;
  16985. var n = this._brushCanvas.getContext("2d");
  16986. n.shadowOffsetX = t, n.shadowBlur = this.option.blurSize, n.shadowColor = "black", n.beginPath(), n.arc(-e, e, i, 0, 2 * Math.PI, !0), n.closePath(), n.fill()
  16987. }
  16988. return this._brushCanvas
  16989. },
  16990. _getGradient: function() {
  16991. if(!this._gradientPixels) {
  16992. var e = n,
  16993. t = document.createElement("canvas");
  16994. t.width = 1, t.height = e;
  16995. for(var i = t.getContext("2d"), a = i.createLinearGradient(0, 0, 0, e), o = this.option.gradientColors.length, r = 0; o > r; ++r) "string" == typeof this.option.gradientColors[r] ? a.addColorStop((r + 1) / o, this.option.gradientColors[r]) : a.addColorStop(this.option.gradientColors[r].offset, this.option.gradientColors[r].color);
  16996. i.fillStyle = a, i.fillRect(0, 0, 1, e), this._gradientPixels = i.getImageData(0, 0, 1, e).data
  16997. }
  16998. return this._gradientPixels
  16999. }
  17000. }, e
  17001. }), i("echarts/util/mapData/params", ["require"], function(e) {
  17002. function t(e) {
  17003. if(!e.UTF8Encoding) return e;
  17004. for(var t = e.features, n = 0; n < t.length; n++)
  17005. for(var a = t[n], o = a.geometry.coordinates, r = a.geometry.encodeOffsets, s = 0; s < o.length; s++) {
  17006. var l = o[s];
  17007. if("Polygon" === a.geometry.type) o[s] = i(l, r[s]);
  17008. else if("MultiPolygon" === a.geometry.type)
  17009. for(var h = 0; h < l.length; h++) {
  17010. var m = l[h];
  17011. l[h] = i(m, r[s][h])
  17012. }
  17013. }
  17014. return e.UTF8Encoding = !1, e
  17015. }
  17016. function i(e, t) {
  17017. for(var i = [], n = t[0], a = t[1], o = 0; o < e.length; o += 2) {
  17018. var r = e.charCodeAt(o) - 64,
  17019. s = e.charCodeAt(o + 1) - 64;
  17020. r = r >> 1 ^ -(1 & r), s = s >> 1 ^ -(1 & s), r += n, s += a, n = r, a = s, i.push([r / 1024, s / 1024])
  17021. }
  17022. return i
  17023. }
  17024. var n = {
  17025. none: {
  17026. getGeoJson: function(e) {
  17027. e({
  17028. type: "FeatureCollection",
  17029. features: [{
  17030. type: "Feature",
  17031. geometry: {
  17032. coordinates: [],
  17033. encodeOffsets: [],
  17034. type: "Polygon"
  17035. },
  17036. properties: {}
  17037. }]
  17038. })
  17039. }
  17040. },
  17041. world: {
  17042. getGeoJson: function(i) {
  17043. e(["./geoJson/world_geo"], function(e) {
  17044. i(t(e))
  17045. })
  17046. }
  17047. },
  17048. china: {
  17049. getGeoJson: function(i) {
  17050. e(["./geoJson/china_geo"], function(e) {
  17051. i(t(e))
  17052. })
  17053. }
  17054. },
  17055. "南海诸岛": {
  17056. textCoord: [126, 25],
  17057. getPath: function(e, t) {
  17058. for(var i = [
  17059. [
  17060. [0, 3.5],
  17061. [7, 11.2],
  17062. [15, 11.9],
  17063. [30, 7],
  17064. [42, .7],
  17065. [52, .7],
  17066. [56, 7.7],
  17067. [59, .7],
  17068. [64, .7],
  17069. [64, 0],
  17070. [5, 0],
  17071. [0, 3.5]
  17072. ],
  17073. [
  17074. [13, 16.1],
  17075. [19, 14.7],
  17076. [16, 21.7],
  17077. [11, 23.1],
  17078. [13, 16.1]
  17079. ],
  17080. [
  17081. [12, 32.2],
  17082. [14, 38.5],
  17083. [15, 38.5],
  17084. [13, 32.2],
  17085. [12, 32.2]
  17086. ],
  17087. [
  17088. [16, 47.6],
  17089. [12, 53.2],
  17090. [13, 53.2],
  17091. [18, 47.6],
  17092. [16, 47.6]
  17093. ],
  17094. [
  17095. [6, 64.4],
  17096. [8, 70],
  17097. [9, 70],
  17098. [8, 64.4],
  17099. [6, 64.4]
  17100. ],
  17101. [
  17102. [23, 82.6],
  17103. [29, 79.8],
  17104. [30, 79.8],
  17105. [25, 82.6],
  17106. [23, 82.6]
  17107. ],
  17108. [
  17109. [37, 70.7],
  17110. [43, 62.3],
  17111. [44, 62.3],
  17112. [39, 70.7],
  17113. [37, 70.7]
  17114. ],
  17115. [
  17116. [48, 51.1],
  17117. [51, 45.5],
  17118. [53, 45.5],
  17119. [50, 51.1],
  17120. [48, 51.1]
  17121. ],
  17122. [
  17123. [51, 35],
  17124. [51, 28.7],
  17125. [53, 28.7],
  17126. [53, 35],
  17127. [51, 35]
  17128. ],
  17129. [
  17130. [52, 22.4],
  17131. [55, 17.5],
  17132. [56, 17.5],
  17133. [53, 22.4],
  17134. [52, 22.4]
  17135. ],
  17136. [
  17137. [58, 12.6],
  17138. [62, 7],
  17139. [63, 7],
  17140. [60, 12.6],
  17141. [58, 12.6]
  17142. ],
  17143. [
  17144. [0, 3.5],
  17145. [0, 93.1],
  17146. [64, 93.1],
  17147. [64, 0],
  17148. [63, 0],
  17149. [63, 92.4],
  17150. [1, 92.4],
  17151. [1, 3.5],
  17152. [0, 3.5]
  17153. ]
  17154. ], n = "", a = e[0], o = e[1], r = 0, s = i.length; s > r; r++) {
  17155. n += "M " + ((i[r][0][0] * t + a).toFixed(2) - 0) + " " + ((i[r][0][1] * t + o).toFixed(2) - 0) + " ";
  17156. for(var l = 1, h = i[r].length; h > l; l++) n += "L " + ((i[r][l][0] * t + a).toFixed(2) - 0) + " " + ((i[r][l][1] * t + o).toFixed(2) - 0) + " "
  17157. }
  17158. return n + " Z"
  17159. }
  17160. },
  17161. "新疆": {
  17162. getGeoJson: function(i) {
  17163. e(["./geoJson/xin_jiang_geo"], function(e) {
  17164. i(t(e))
  17165. })
  17166. }
  17167. },
  17168. "西藏": {
  17169. getGeoJson: function(i) {
  17170. e(["./geoJson/xi_zang_geo"], function(e) {
  17171. i(t(e))
  17172. })
  17173. }
  17174. },
  17175. "内蒙古": {
  17176. getGeoJson: function(i) {
  17177. e(["./geoJson/nei_meng_gu_geo"], function(e) {
  17178. i(t(e))
  17179. })
  17180. }
  17181. },
  17182. "青海": {
  17183. getGeoJson: function(i) {
  17184. e(["./geoJson/qing_hai_geo"], function(e) {
  17185. i(t(e))
  17186. })
  17187. }
  17188. },
  17189. "四川": {
  17190. getGeoJson: function(i) {
  17191. e(["./geoJson/si_chuan_geo"], function(e) {
  17192. i(t(e))
  17193. })
  17194. }
  17195. },
  17196. "黑龙江": {
  17197. getGeoJson: function(i) {
  17198. e(["./geoJson/hei_long_jiang_geo"], function(e) {
  17199. i(t(e))
  17200. })
  17201. }
  17202. },
  17203. "甘肃": {
  17204. getGeoJson: function(i) {
  17205. e(["./geoJson/gan_su_geo"], function(e) {
  17206. i(t(e))
  17207. })
  17208. }
  17209. },
  17210. "云南": {
  17211. getGeoJson: function(i) {
  17212. e(["./geoJson/yun_nan_geo"], function(e) {
  17213. i(t(e))
  17214. })
  17215. }
  17216. },
  17217. "广西": {
  17218. getGeoJson: function(i) {
  17219. e(["./geoJson/guang_xi_geo"], function(e) {
  17220. i(t(e))
  17221. })
  17222. }
  17223. },
  17224. "湖南": {
  17225. getGeoJson: function(i) {
  17226. e(["./geoJson/hu_nan_geo"], function(e) {
  17227. i(t(e))
  17228. })
  17229. }
  17230. },
  17231. "陕西": {
  17232. getGeoJson: function(i) {
  17233. e(["./geoJson/shan_xi_1_geo"], function(e) {
  17234. i(t(e))
  17235. })
  17236. }
  17237. },
  17238. "广东": {
  17239. getGeoJson: function(i) {
  17240. e(["./geoJson/guang_dong_geo"], function(e) {
  17241. i(t(e))
  17242. })
  17243. }
  17244. },
  17245. "吉林": {
  17246. getGeoJson: function(i) {
  17247. e(["./geoJson/ji_lin_geo"], function(e) {
  17248. i(t(e))
  17249. })
  17250. }
  17251. },
  17252. "河北": {
  17253. getGeoJson: function(i) {
  17254. e(["./geoJson/he_bei_geo"], function(e) {
  17255. i(t(e))
  17256. })
  17257. }
  17258. },
  17259. "湖北": {
  17260. getGeoJson: function(i) {
  17261. e(["./geoJson/hu_bei_geo"], function(e) {
  17262. i(t(e))
  17263. })
  17264. }
  17265. },
  17266. "贵州": {
  17267. getGeoJson: function(i) {
  17268. e(["./geoJson/gui_zhou_geo"], function(e) {
  17269. i(t(e))
  17270. })
  17271. }
  17272. },
  17273. "山东": {
  17274. getGeoJson: function(i) {
  17275. e(["./geoJson/shan_dong_geo"], function(e) {
  17276. i(t(e))
  17277. })
  17278. }
  17279. },
  17280. "江西": {
  17281. getGeoJson: function(i) {
  17282. e(["./geoJson/jiang_xi_geo"], function(e) {
  17283. i(t(e))
  17284. })
  17285. }
  17286. },
  17287. "河南": {
  17288. getGeoJson: function(i) {
  17289. e(["./geoJson/he_nan_geo"], function(e) {
  17290. i(t(e))
  17291. })
  17292. }
  17293. },
  17294. "辽宁": {
  17295. getGeoJson: function(i) {
  17296. e(["./geoJson/liao_ning_geo"], function(e) {
  17297. i(t(e))
  17298. })
  17299. }
  17300. },
  17301. "山西": {
  17302. getGeoJson: function(i) {
  17303. e(["./geoJson/shan_xi_2_geo"], function(e) {
  17304. i(t(e))
  17305. })
  17306. }
  17307. },
  17308. "安徽": {
  17309. getGeoJson: function(i) {
  17310. e(["./geoJson/an_hui_geo"], function(e) {
  17311. i(t(e))
  17312. })
  17313. }
  17314. },
  17315. "福建": {
  17316. getGeoJson: function(i) {
  17317. e(["./geoJson/fu_jian_geo"], function(e) {
  17318. i(t(e))
  17319. })
  17320. }
  17321. },
  17322. "浙江": {
  17323. getGeoJson: function(i) {
  17324. e(["./geoJson/zhe_jiang_geo"], function(e) {
  17325. i(t(e))
  17326. })
  17327. }
  17328. },
  17329. "江苏": {
  17330. getGeoJson: function(i) {
  17331. e(["./geoJson/jiang_su_geo"], function(e) {
  17332. i(t(e))
  17333. })
  17334. }
  17335. },
  17336. "重庆": {
  17337. getGeoJson: function(i) {
  17338. e(["./geoJson/chong_qing_geo"], function(e) {
  17339. i(t(e))
  17340. })
  17341. }
  17342. },
  17343. "宁夏": {
  17344. getGeoJson: function(i) {
  17345. e(["./geoJson/ning_xia_geo"], function(e) {
  17346. i(t(e))
  17347. })
  17348. }
  17349. },
  17350. "海南": {
  17351. getGeoJson: function(i) {
  17352. e(["./geoJson/hai_nan_geo"], function(e) {
  17353. i(t(e))
  17354. })
  17355. }
  17356. },
  17357. "台湾": {
  17358. getGeoJson: function(i) {
  17359. e(["./geoJson/tai_wan_geo"], function(e) {
  17360. i(t(e))
  17361. })
  17362. }
  17363. },
  17364. "北京": {
  17365. getGeoJson: function(i) {
  17366. e(["./geoJson/bei_jing_geo"], function(e) {
  17367. i(t(e))
  17368. })
  17369. }
  17370. },
  17371. "天津": {
  17372. getGeoJson: function(i) {
  17373. e(["./geoJson/tian_jin_geo"], function(e) {
  17374. i(t(e))
  17375. })
  17376. }
  17377. },
  17378. "上海": {
  17379. getGeoJson: function(i) {
  17380. e(["./geoJson/shang_hai_geo"], function(e) {
  17381. i(t(e))
  17382. })
  17383. }
  17384. },
  17385. "香港": {
  17386. getGeoJson: function(i) {
  17387. e(["./geoJson/xiang_gang_geo"], function(e) {
  17388. i(t(e))
  17389. })
  17390. }
  17391. },
  17392. "澳门": {
  17393. getGeoJson: function(i) {
  17394. e(["./geoJson/ao_men_geo"], function(e) {
  17395. i(t(e))
  17396. })
  17397. }
  17398. }
  17399. };
  17400. return {
  17401. decode: t,
  17402. params: n
  17403. }
  17404. }), i("echarts/util/mapData/textFixed", [], function() {
  17405. return {
  17406. "广东": [0, -10],
  17407. "香港": [10, 10],
  17408. "澳门": [-10, 18],
  17409. "黑龙江": [0, 20],
  17410. "天津": [5, 5],
  17411. "深圳市": [-35, 0],
  17412. "红河哈尼族彝族自治州": [0, 20],
  17413. "楚雄彝族自治州": [-5, 15],
  17414. "石河子市": [-5, 5],
  17415. "五家渠市": [0, -10],
  17416. "昌吉回族自治州": [10, 10],
  17417. "昌江黎族自治县": [0, 20],
  17418. "陵水黎族自治县": [0, 20],
  17419. "东方市": [0, 20],
  17420. "渭南市": [0, 20]
  17421. }
  17422. }), i("echarts/util/mapData/geoCoord", [], function() {
  17423. return {
  17424. Russia: [100, 60],
  17425. "United States of America": [-99, 38]
  17426. }
  17427. }), i("echarts/util/projection/svg", ["require", "zrender/shape/Path"], function(e) {
  17428. function t(e) {
  17429. return parseFloat(e || 0)
  17430. }
  17431. function i(e) {
  17432. for(var i = e.firstChild;
  17433. "svg" != i.nodeName.toLowerCase() || 1 != i.nodeType;) i = i.nextSibling;
  17434. var n = t(i.getAttribute("x")),
  17435. a = t(i.getAttribute("y")),
  17436. o = t(i.getAttribute("width")),
  17437. r = t(i.getAttribute("height"));
  17438. return {
  17439. left: n,
  17440. top: a,
  17441. width: o,
  17442. height: r
  17443. }
  17444. }
  17445. function n(e, t) {
  17446. function i(e) {
  17447. var t = e.tagName;
  17448. if(m[t]) {
  17449. var o = m[t](e, n);
  17450. o && (o.scale = n, o.properties = {
  17451. name: e.getAttribute("name") || ""
  17452. }, o.id = e.id, s(o, e), a.push(o))
  17453. }
  17454. for(var r = e.childNodes, l = 0, h = r.length; h > l; l++) i(r[l])
  17455. }
  17456. var n = [t.scale.x, t.scale.y],
  17457. a = [];
  17458. return i(e), a
  17459. }
  17460. function a(e, t) {
  17461. var i = t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y];
  17462. return [i[0] / e.scale.x, i[1] / e.scale.y]
  17463. }
  17464. function o(e, t) {
  17465. var i = t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y];
  17466. return [i[0] * e.scale.x, i[1] * e.scale.y]
  17467. }
  17468. function r(e) {
  17469. return e.replace(/^\s\s*/, "").replace(/\s\s*$/, "")
  17470. }
  17471. function s(e, t) {
  17472. var i = t.getAttribute("fill"),
  17473. n = t.getAttribute("stroke"),
  17474. a = t.getAttribute("stroke-width"),
  17475. o = t.getAttribute("opacity");
  17476. i && "none" != i ? (e.color = i, n ? (e.brushType = "both", e.strokeColor = n) : e.brushType = "fill") : n && "none" != n && (e.strokeColor = n, e.brushType = "stroke"), a && "none" != a && (e.lineWidth = parseFloat(a)), o && "none" != o && (e.opacity = parseFloat(o))
  17477. }
  17478. function l(e) {
  17479. for(var t = r(e).replace(/,/g, " ").split(/\s+/), i = [], n = 0; n < t.length;) {
  17480. var a = parseFloat(t[n++]),
  17481. o = parseFloat(t[n++]);
  17482. i.push([a, o])
  17483. }
  17484. return i
  17485. }
  17486. var h = e("zrender/shape/Path"),
  17487. m = {
  17488. path: function(e, t) {
  17489. var i = e.getAttribute("d"),
  17490. n = h.prototype.getRect({
  17491. path: i
  17492. });
  17493. return {
  17494. shapeType: "path",
  17495. path: i,
  17496. cp: [(n.x + n.width / 2) * t[0], (n.y + n.height / 2) * t[1]]
  17497. }
  17498. },
  17499. rect: function(e, i) {
  17500. var n = t(e.getAttribute("x")),
  17501. a = t(e.getAttribute("y")),
  17502. o = t(e.getAttribute("width")),
  17503. r = t(e.getAttribute("height"));
  17504. return {
  17505. shapeType: "rectangle",
  17506. x: n,
  17507. y: a,
  17508. width: o,
  17509. height: r,
  17510. cp: [(n + o / 2) * i[0], (a + r / 2) * i[1]]
  17511. }
  17512. },
  17513. line: function(e, i) {
  17514. var n = t(e.getAttribute("x1")),
  17515. a = t(e.getAttribute("y1")),
  17516. o = t(e.getAttribute("x2")),
  17517. r = t(e.getAttribute("y2"));
  17518. return {
  17519. shapeType: "line",
  17520. xStart: n,
  17521. yStart: a,
  17522. xEnd: o,
  17523. yEnd: r,
  17524. cp: [.5 * (n + o) * i[0], .5 * (a + r) * i[1]]
  17525. }
  17526. },
  17527. circle: function(e, i) {
  17528. var n = t(e.getAttribute("cx")),
  17529. a = t(e.getAttribute("cy")),
  17530. o = t(e.getAttribute("r"));
  17531. return {
  17532. shapeType: "circle",
  17533. x: n,
  17534. y: a,
  17535. r: o,
  17536. cp: [n * i[0], a * i[1]]
  17537. }
  17538. },
  17539. ellipse: function(e, t) {
  17540. var i = parseFloat(e.getAttribute("cx") || 0),
  17541. n = parseFloat(e.getAttribute("cy") || 0),
  17542. a = parseFloat(e.getAttribute("rx") || 0),
  17543. o = parseFloat(e.getAttribute("ry") || 0);
  17544. return {
  17545. shapeType: "ellipse",
  17546. x: i,
  17547. y: n,
  17548. a: a,
  17549. b: o,
  17550. cp: [i * t[0], n * t[1]]
  17551. }
  17552. },
  17553. polygon: function(e, t) {
  17554. var i = e.getAttribute("points"),
  17555. n = [1 / 0, 1 / 0],
  17556. a = [-(1 / 0), -(1 / 0)];
  17557. if(i) {
  17558. i = l(i);
  17559. for(var o = 0; o < i.length; o++) {
  17560. var r = i[o];
  17561. n[0] = Math.min(r[0], n[0]), n[1] = Math.min(r[1], n[1]), a[0] = Math.max(r[0], a[0]), a[1] = Math.max(r[1], a[1])
  17562. }
  17563. return {
  17564. shapeType: "polygon",
  17565. pointList: i,
  17566. cp: [(n[0] + a[0]) / 2 * t[0], (n[1] + a[1]) / 2 * t[0]]
  17567. }
  17568. }
  17569. },
  17570. polyline: function(e, t) {
  17571. var i = m.polygon(e, t);
  17572. return i
  17573. }
  17574. };
  17575. return {
  17576. getBbox: i,
  17577. geoJson2Path: n,
  17578. pos2geo: a,
  17579. geo2pos: o
  17580. }
  17581. }), i("echarts/util/projection/normal", [], function() {
  17582. function e(e, i) {
  17583. return i = i || {}, e.srcSize || t(e, i), e.srcSize
  17584. }
  17585. function t(e, t) {
  17586. t = t || {}, r.xmin = 360, r.xmax = -360, r.ymin = 180, r.ymax = -180;
  17587. for(var i, n, a = e.features, o = 0, s = a.length; s > o; o++)
  17588. if(n = a[o], !n.properties.name || !t[n.properties.name]) switch(n.type) {
  17589. case "Feature":
  17590. r[n.geometry.type](n.geometry.coordinates);
  17591. break;
  17592. case "GeometryCollection":
  17593. i = n.geometries;
  17594. for(var l = 0, h = i.length; h > l; l++) r[i[l].type](i[l].coordinates)
  17595. }
  17596. return e.srcSize = {
  17597. left: 1 * r.xmin.toFixed(4),
  17598. top: 1 * r.ymin.toFixed(4),
  17599. width: 1 * (r.xmax - r.xmin).toFixed(4),
  17600. height: 1 * (r.ymax - r.ymin).toFixed(4)
  17601. }, e
  17602. }
  17603. function i(e, i, n) {
  17604. function a(e, t) {
  17605. c = e.type, u = e.coordinates, o._bbox = {
  17606. xmin: 360,
  17607. xmax: -360,
  17608. ymin: 180,
  17609. ymax: -180
  17610. }, y = o[c](u), m.push({
  17611. path: y,
  17612. cp: o.makePoint(t.properties.cp ? t.properties.cp : [(o._bbox.xmin + o._bbox.xmax) / 2, (o._bbox.ymin + o._bbox.ymax) / 2]),
  17613. properties: t.properties,
  17614. id: t.id
  17615. })
  17616. }
  17617. n = n || {}, o.scale = null, o.offset = null, e.srcSize || t(e, n), i.offset = {
  17618. x: e.srcSize.left,
  17619. y: e.srcSize.top,
  17620. left: i.OffsetLeft || 0,
  17621. top: i.OffsetTop || 0
  17622. }, o.scale = i.scale, o.offset = i.offset;
  17623. for(var r, s, l, h = e.features, m = [], V = 0, U = h.length; U > V; V++)
  17624. if(l = h[V], !l.properties.name || !n[l.properties.name])
  17625. if("Feature" == l.type) a(l.geometry, l);
  17626. else if("GeometryCollection" == l.type) {
  17627. r = l.geometries;
  17628. for(var d = 0, p = r.length; p > d; d++) s = r[d], a(s, s)
  17629. }
  17630. var c, u, y;
  17631. return m
  17632. }
  17633. function n(e, t) {
  17634. var i, n;
  17635. return t instanceof Array ? (i = 1 * t[0], n = 1 * t[1]) : (i = 1 * t.x, n = 1 * t.y), i = i / e.scale.x + e.offset.x - 168.5, i = i > 180 ? i - 360 : i, n = 90 - (n / e.scale.y + e.offset.y), [i, n]
  17636. }
  17637. function a(e, t) {
  17638. return o.offset = e.offset, o.scale = e.scale, o.makePoint(t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y])
  17639. }
  17640. var o = {
  17641. formatPoint: function(e) {
  17642. return [(e[0] < -168.5 && e[1] > 63.8 ? e[0] + 360 : e[0]) + 168.5, 90 - e[1]]
  17643. },
  17644. makePoint: function(e) {
  17645. var t = this,
  17646. i = t.formatPoint(e);
  17647. t._bbox.xmin > e[0] && (t._bbox.xmin = e[0]), t._bbox.xmax < e[0] && (t._bbox.xmax = e[0]), t._bbox.ymin > e[1] && (t._bbox.ymin = e[1]), t._bbox.ymax < e[1] && (t._bbox.ymax = e[1]);
  17648. var n = (i[0] - o.offset.x) * o.scale.x + o.offset.left,
  17649. a = (i[1] - o.offset.y) * o.scale.y + o.offset.top;
  17650. return [n, a]
  17651. },
  17652. Point: function(e) {
  17653. return e = this.makePoint(e), e.join(",")
  17654. },
  17655. LineString: function(e) {
  17656. for(var t, i = "", n = 0, a = e.length; a > n; n++) t = o.makePoint(e[n]), i = 0 === n ? "M" + t.join(",") : i + "L" + t.join(",");
  17657. return i
  17658. },
  17659. Polygon: function(e) {
  17660. for(var t = "", i = 0, n = e.length; n > i; i++) t = t + o.LineString(e[i]) + "z";
  17661. return t
  17662. },
  17663. MultiPoint: function(e) {
  17664. for(var t = [], i = 0, n = e.length; n > i; i++) t.push(o.Point(e[i]));
  17665. return t
  17666. },
  17667. MultiLineString: function(e) {
  17668. for(var t = "", i = 0, n = e.length; n > i; i++) t += o.LineString(e[i]);
  17669. return t
  17670. },
  17671. MultiPolygon: function(e) {
  17672. for(var t = "", i = 0, n = e.length; n > i; i++) t += o.Polygon(e[i]);
  17673. return t
  17674. }
  17675. },
  17676. r = {
  17677. formatPoint: o.formatPoint,
  17678. makePoint: function(e) {
  17679. var t = this,
  17680. i = t.formatPoint(e),
  17681. n = i[0],
  17682. a = i[1];
  17683. t.xmin > n && (t.xmin = n), t.xmax < n && (t.xmax = n), t.ymin > a && (t.ymin = a), t.ymax < a && (t.ymax = a)
  17684. },
  17685. Point: function(e) {
  17686. this.makePoint(e)
  17687. },
  17688. LineString: function(e) {
  17689. for(var t = 0, i = e.length; i > t; t++) this.makePoint(e[t])
  17690. },
  17691. Polygon: function(e) {
  17692. for(var t = 0, i = e.length; i > t; t++) this.LineString(e[t])
  17693. },
  17694. MultiPoint: function(e) {
  17695. for(var t = 0, i = e.length; i > t; t++) this.Point(e[t])
  17696. },
  17697. MultiLineString: function(e) {
  17698. for(var t = 0, i = e.length; i > t; t++) this.LineString(e[t])
  17699. },
  17700. MultiPolygon: function(e) {
  17701. for(var t = 0, i = e.length; i > t; t++) this.Polygon(e[t])
  17702. }
  17703. };
  17704. return {
  17705. getBbox: e,
  17706. geoJson2Path: i,
  17707. pos2geo: n,
  17708. geo2pos: a
  17709. }
  17710. }), i("echarts/util/mapData/geoJson/an_hui_geo", [], function() {
  17711. return {
  17712. type: "FeatureCollection",
  17713. features: [{
  17714. type: "Feature",
  17715. id: "3415",
  17716. properties: {
  17717. name: "六安市",
  17718. cp: [116.3123, 31.8329],
  17719. childNum: 6
  17720. },
  17721. geometry: {
  17722. type: "Polygon",
  17723. coordinates: ["@@„„nJ‚UXUVƒ°U„ÑnU@mlLVaVln@@bn@VU@xlb@lšLnKlšƒVI„JšUVxnI@lVL@b„ްVX@˜b„x„nVVUnVVnU‚›@kX@VwV@„al¥UUnUWa@ƒ@wĸU„LU¥lKUa@aUI@alLVaUƒ¯anƒWkUKm@XV@VaXlW@aU_UWVUƒI¯@ma¯W¯™™I@UU@WWU@U@@UU@VkV@@WUUm@UaU@„lK@IUK„L@KWmXUWaXI@ƒ@a@a@U@U@KV¥lw„k°b²JVIVKlV@UX„la„Ul`œUVLVVVUšJ„U@Lnm@_VK@KUIW@™J@Xk@WW@U—ƒmm™XmWk@kK@aUUƒVmmkUwUmWL™@WmU@™UJmUULkKWakLWVkIƒlƒwULƒW@X°lUJ@°ULƒWV—wmJ@bmb¯Vkm@@WkWm¯wƒL@lkXƒWmXym¯UImJUbkV™@Vn¯„@V@lUbƒ@mk@maUxmlUbULWn@J—LmKUkWKkwUKƒbm„X„WxkVUKmLkVV@JUUWL@xkJUUƒV@X@VVlUbVX@xk¤šx‚¼œxWxn„‚nn@Þ¼„JVb°aVn„@šmlnXU„JlbVlkz@‚lUŽlXJmxVxXnWxXÈWlUŽ@šUxU@VX@xUL@šUÆmLnV@lWXk@@JlbXblnlJ"],
  17724. encodeOffsets: [
  17725. [118710, 33351]
  17726. ]
  17727. }
  17728. }, {
  17729. type: "Feature",
  17730. id: "3408",
  17731. properties: {
  17732. name: "安庆市",
  17733. cp: [116.7517, 30.5255],
  17734. childNum: 9
  17735. },
  17736. geometry: {
  17737. type: "Polygon",
  17738. coordinates: ["@@n°‚znW„XlW@k„K°xXn‚l@Xn@l‚°Una@anI˜xXU„ŽVK@¯VIkW¯X@‚„VK„x„klJXUlKXblLVKnVVIšŽV@Xn‚@šŽXKVnVxlŽnn„UlmV@²óUkV™lW„b„lƒšƒn@VVVIn@lw@WVIXblV„@Èx‚aUaVIVVnKVLšK„ƒln@b²K@»U£ƒÑķƒġÝÅb™K™a@Im@ۍ„@kWÓkkmKÅnóJƒUÅ£›W@w„ĕ@wĉţ¯¯ƒUkK±l¯Uƒ¥UÑkÝUķ»Ý¥¯™JƒIUŽVbUl¯ÈV¼VJU¼Vb@bkLUl@„VJ@bUXǚ@lkVmXmKkLVxš‚Ž„VƒL@VkVVVlzW˜kbmLUUUbVbUV™šlÒnJlUnLllUL@bU„Vx„l‚LXVƦÈVU¦WJ"],
  17739. encodeOffsets: [
  17740. [118834, 31759]
  17741. ]
  17742. }
  17743. }, {
  17744. type: "Feature",
  17745. id: "3411",
  17746. properties: {
  17747. name: "滁州市",
  17748. cp: [118.1909, 32.536],
  17749. childNum: 7
  17750. },
  17751. geometry: {
  17752. type: "Polygon",
  17753. coordinates: ["@@š„@`nnl@„xšK@X°KXV˜IXVlbXVWnX‚lL@šÈ»‚LVan@VJ„êVVn@‚X@laÞbVaƒyn@„_‚xnWVXnWl@VnUVkI@l‚nXKVLVV@V@kW@LlVô„@J@bVnnKnkVa@»lç@ƒnwšKma™UUUVњ@n™mWXalI@alVn@VwUaVU„@„nlaôJnU„VVXlJšaXXVK@UšV@VWx@nXVWšXVšUlLUbV‚ULVVnUVbUbVbš@@a„KÆnnKVK@U@UU@@a„@Vƒ°¯ÈJVIlķ@aa˜UaVKU_@mkxUI@aƒUlyU@@™wkKWmUbUnUVWbkJW_J@bƒn@Vm@@KULk@V@@bVbÅm@LW@UVVbkK@UkKWL@VULUKWIUJUbkK@_WVXU›Jka@XƒVa@kšy@aVIUUW@@m„UlLœKWÑUKVan@UkVmmIXKƒaVaUwVU@UmykU¯@±UUL@WUIVUU@KkIWaƒaU@kUUaǃUó»mKƒk¯@y@kWK@bkI¯`mn™l¯XWlkVUzUJlbUbVJl@nnm„@VULV`XnWƗbmUUn™JmUknƒJ¯km@ƒyk@kU›xL@VUbmnn¤lX@`™z@JmaULUVl@Xn@xllkXWa—aW@UVmUbƒ@mVXšWxXbWbUŽƒÒnVVnVVUL"],
  17754. encodeOffsets: [
  17755. [120004, 33520]
  17756. ]
  17757. }
  17758. }, {
  17759. type: "Feature",
  17760. id: "3418",
  17761. properties: {
  17762. name: "宣城市",
  17763. cp: [118.8062, 30.6244],
  17764. childNum: 7
  17765. },
  17766. geometry: {
  17767. type: "Polygon",
  17768. coordinates: ["@@Vb@„XL˜JXxlIXxlVlV@I²¤šnlUnVšU@VULWVUJ@Lnb@lV@UnV@@VVVlLnbnJ‚UVkUUVWn@@anUVnVJVIV‚@@nUJVbUb‚„@VUbVK@bn@VbnIlxkllXVlXKWUXUlL°¤UVVb@bš„UlkXW‚ƒxXz@‚„Ila„UlƒnUlJVInVÆJ„U„LVUnV„K°@VnlVnxV@XLlK@wVL@KnUlJXU˜bnKVLX„lUw@VWlLXKm@@a„@VLnmlIVVnKn@škVašVlwk@@a@k@ƒVIUa™@maUa@wna@kmWƒ™UUmVUIVǗ@aƒKm™aƒ™kU™J@InmUUaVa„k‚lX@Vk@m@VU@wnK@alKVUkUkKƒbmUkmƒ@U£WVk@@UÝbbƒaÇx@b@WVUa¯ƒ@wVwUUV@VwnK@KWaŁ@KšIUyUI@WmXó™UbWaKm™@km@IUyƒIUaWKƒx@zUKUL@llVUnkLVVkJWX@VUKUVƒIkVWakb@VWb@n@JkXUlmL@xkL@`VxšLUÈUJ@Vm@@bmIUlUL@VUVVbknm@mKUw™KVÈ@J@LV±kkJUIƒl"],
  17769. encodeOffsets: [
  17770. [120803, 31247]
  17771. ]
  17772. }
  17773. }, {
  17774. type: "Feature",
  17775. id: "3412",
  17776. properties: {
  17777. name: "阜阳市",
  17778. cp: [115.7629, 32.9919],
  17779. childNum: 6
  17780. },
  17781. geometry: {
  17782. type: "Polygon",
  17783. coordinates: ["@@V™nƒš@ša„k°aš±@‚¥@UUI@aUmlwUUx›b@¥XU@mmI@a@Kn@@_W@@W„I@mšUVVXUl@XaV@‚K@I@a„LX@aVI°K@KVL„UUw‚yXkšK@kšKÆbXnlK@k@a„JlU@w@U@»@aXKWƒn_‚JXkVKnƒ@°LlKXƒW@¯Uƒ@aUK@kmJUw™VƒIUJ™„kŽmL™K@kka@wUVm@@am@UkUbkK@nmVƒÒ¯VU„WVVmIƒƒULk@ƒƒma@kkKƒƒ@nUbUamU™`UUVUkKVkkƒW@@bkmƒnƒmUXVKXVƒL@VƒbU„m‚™bVXJ@nmKÅI@KWKUXVJUL@VUKUX@KUKWL@LUJmaXXm@kVVV@L@VUL@VlK@L@V@LUK@VUb@UUU@°@nVxU`‚Lkn@`@XVJ@X™Vm„k@UKmV¯LVVn±Wm@Ub@JlLUl„@VLk„@lmVVn@bnV@V°IV™šaVJXI°K°V@XXVlVVU„nšKVlUš„bWXnV@bV`U„„@@m@@‚ƒ@nxmn@bXVlL@¤nb„Ul¦šVVUnJVU„Vl@@bÞL"],
  17784. encodeOffsets: [
  17785. [118418, 34392]
  17786. ]
  17787. }
  17788. }, {
  17789. type: "Feature",
  17790. id: "3413",
  17791. properties: {
  17792. name: "宿州市",
  17793. cp: [117.5208, 33.6841],
  17794. childNum: 5
  17795. },
  17796. geometry: {
  17797. type: "Polygon",
  17798. coordinates: ["@@@UWU@bkW@aWU@aUIkWV™lLXb„lVIUVV@‚mn@V_n@VaUK@I‚@UašanJVU„@lV„UVnnKVVlaUa„I@wnK‚Lnll@nVlk@wVKXkl@@b„bUJ@V‚U@U„UUyVk@aVUXwlWXX‚WU¹@aU™@WUI@mlUšn„J@Il@šaXbV@VKl@XxVL@W„IšJlb„@„al@„IUUm@@aVK@¥¯—@mUķ¯bWƒk£Vm@akm@VaÅ@UVWaƒ@UJWkƒJ—UƒbWbU@UlƒXk@ƒamV@K¯nk@ƒlU@Uxmz@bU`ÇbUbÅVm£U@Ww™x@akLUK@UlakwUJWVkLmaUal@n_ƒmVUnKVUUmÅXWa™@kJmx@XUJ@bVLXxl@VVUVV„UbkLWbU@@lUVV„VVX„›K@XkJ@nU@@bV@VxUVlb„U@xXLWŽn@UxVbVĊ„V@b@XV`mnkJ@kUKmbƒaU@VbnbÆx@XU@@`k@@bl„™@@bkL@WƒakXWaU@Vmkx@XWW@@wUUUbƒJ™U¯V™@¯ÞU@WxXŽlL@bkb@ŽlVlnb™JW@kkU@mbkaWJ—IVlmz¯`UnU@mb™@@„ƒ`@bkVlœnV@b@šV@„aVxn@Vx‚KXnl@nbVK„bVK@a„_V@Vƒ„w@W„LlwnK@UmIU@VWš@šUÈ@lKnal„wš@@V°@šaUmlUUw@„ƒV@@UXK"],
  17799. encodeOffsets: [
  17800. [119836, 35061]
  17801. ]
  17802. }
  17803. }, {
  17804. type: "Feature",
  17805. id: "3410",
  17806. properties: {
  17807. name: "黄山市",
  17808. cp: [118.0481, 29.9542],
  17809. childNum: 5
  17810. },
  17811. geometry: {
  17812. type: "Polygon",
  17813. coordinates: ["@@lXnlWX@VUJVnUJVzXJVx„kVJlI²l‚U@K@IUǚLVxnLn@lmUaVU@UVKVknJ@an@@UVIVǙKUw@_lK@wnKVklW@I@mXa@UlaXblU„JVUVL@UXWlIUUlKVmkU@kVKVL@y„wXLVb„JVz@Jlnš@nŽ‚LXbVaôšnW@la@UVWUa@@a@mk@WIk@VwUa¯¥m@UUVK@ImK@aX£ƒkK›ÅV™a™™ƒ_@±ƒakXWW—LƒƒƒnU@@a@¯mK@L™JUWwUV™VmbXX@lWLn`mzUJUb™Lƒ„k@makVWmkX™ambkKknƒaƒ@ƒaƒb@‚U@Unm@—ƒWVƒ@VbUbUJWIk@@lmL@°UVUVm„nš™@@kmWkb@xƒ_m@@aU@b@JlŽUz™lWxXn„@‚b²@l`„IVl„UlL@VšK„nVbUl@VlIn@@b„bVWUk‚@@bX@Valb@bnb°Vn@„xVKlbVnV@V‚x„L@ln@UXVV‚L˜"],
  17814. encodeOffsets: [
  17815. [120747, 31095]
  17816. ]
  17817. }
  17818. }, {
  17819. type: "Feature",
  17820. id: "3414",
  17821. properties: {
  17822. name: "巢湖市",
  17823. cp: [117.7734, 31.4978],
  17824. childNum: 5
  17825. },
  17826. geometry: {
  17827. type: "Polygon",
  17828. coordinates: ["@@VV@blL@ŽXlWnnšnŽ˜„@VXXl@@WšIX@VJ@LšxŎxlnšŽ@bXJVblX@VVbUVn@VbUVlb@LnJVbVLV‚XLšÒVL„ÒšV„bVIVylUXk°Wšknm°_lJ@aXL@l‚z°@„lnLô¼V‚È„VUUaVKU@WW@@UUa@knmVLlaV@„a@kšak±@UmwkKmk™lj™ÝUUkL@mlIVmnÝWkkUÝ@KƑĉ™a@»ƒmma@mX™¤¯Uƒw@ƒ@UU@bU±±L@akmƒ„™LUKmLUUUJVbbÇwƒ@kUWaUJ@Xkxm@UJUUm@™„k„ƒ‚ƒakXUšVl±ôU@kn"],
  17829. encodeOffsets: [
  17830. [119847, 32007]
  17831. ]
  17832. }
  17833. }, {
  17834. type: "Feature",
  17835. id: "3416",
  17836. properties: {
  17837. name: "亳州市",
  17838. cp: [116.1914, 33.4698],
  17839. childNum: 4
  17840. },
  17841. geometry: {
  17842. type: "Polygon",
  17843. coordinates: ["@@lU@Un@@anUlw@KVmUwlaX_lKna@KU@@kWKUU@ankW™XK˜@@V²VVIÈU@al@VaÈamK@wU™@klaUƒV@XƒVUU»WUUbkmUkVmk@aÈw@mWU@VkIkVWKUÑķXȭºU¯lƒ@kkLWmÅa™L@l™LWlzVxƒVUK@L¯LUJ@bWƒK@b@JLU@Wbk@WVUU™V@nƒJ@XX@@`m@@L@bnJ@nWV@¦œa‚wVVkxVn@bVJ@V¦@Ž™²¯bƒl™b™@m„UšUŽƒŽ@¼ƒ¦Xb‚UV`@nnxUxWLkUkVWKkV@XV@@VVL@VX„@lVV@L@blL@`šL@xXKVL‚@„VnUš@lwnU@ml@XnV@@UVW°LnalƒUI@aUK@a‚a@U„kXW@I@mWL@UXK@UVW@U‚@@k„Wn‚@@V„@XblaVxšL@bVKXb„IlJ"],
  17844. encodeOffsets: [
  17845. [119183, 34594]
  17846. ]
  17847. }
  17848. }, {
  17849. type: "Feature",
  17850. id: "3417",
  17851. properties: {
  17852. name: "池州市",
  17853. cp: [117.3889, 30.2014],
  17854. childNum: 4
  17855. },
  17856. geometry: {
  17857. type: "Polygon",
  17858. coordinates: ["@@„V°°ĊŤ@xƒĖ@xœXƤ„VôIÆmnLllXÔ@lƒÜŽn@@JšbšLÆaĢÞĸ„°VVUUKVanK@UV@VL„VVn„ln@‚xnklxXamk@WV@Xa˜@naVk„Klk™@mkUWwkJWw—IWK@ƒUaUwWIUyVIUmVI@UXWmkkW‚—KUUVWm@@kƒKw@U‚UUmkaULƒwm@¯Uma@akaUbW@@a@VlUXƒa@am@kJ@UVkUaƒm™L@UkKƒVUkƒJk_±@aƒ@WmXwÇkkaVaUa±ƒœwV@VkƒwnyUaW@UU¯amLk@m™@kmmU™™¯K@L@lUX¯ƒWlkXƒŽVb„bƒVUL@J@LVKnlJXnlb@`nXlalV@bnL@Vnb˜¼@lXbWlkL™K@zUJmIUxUVUVmX", "@@llUL@VlxšL@a@UƒwXa¯@"],
  17859. encodeOffsets: [
  17860. [119543, 30781],
  17861. [120061, 31152]
  17862. ]
  17863. }
  17864. }, {
  17865. type: "Feature",
  17866. id: "3401",
  17867. properties: {
  17868. name: "合肥市",
  17869. cp: [117.29, 32.0581],
  17870. childNum: 4
  17871. },
  17872. geometry: {
  17873. type: "Polygon",
  17874. coordinates: ["@@„L„xV‚ĊLÞkšVlVVXaWaXwW™nU„@‚anVVUX@˜bXblWkk@wWmk@VUVKnb@Išy@_kWm£nmVa@U‚KœwlVl@„zn@°l„IlmnVšIVmnV˜aXÅWmU_VK@Unƒmmk@UIVakaƒa™UƒÑUK™ÑWKUUKUamI@KkaVUUam@VUUa@UkWUaWI@a™kmōw™wUL@`mn@KƒV™IUVUUUK›Vk_ƒVkbWƒ@VkUULUJ±I¯aƒlkxU¦@L@V@V@b@b@„WJXbWVXn@LƒKVL@JkLƒŽV@Vbn@VV@XU@UlV@@VV@V@XXV@@VšJ°š°Xnb°@„JUVVXV`@bkXWŽUbU@WŽn@VLXlm„°bV„UbkK@bVJ@bVbkLV¦ƒKķV@x@„XbmVVVk¦"],
  17875. encodeOffsets: [
  17876. [119678, 33323]
  17877. ]
  17878. }
  17879. }, {
  17880. type: "Feature",
  17881. id: "3403",
  17882. properties: {
  17883. name: "蚌埠市",
  17884. cp: [117.4109, 33.1073],
  17885. childNum: 4
  17886. },
  17887. geometry: {
  17888. type: "Polygon",
  17889. coordinates: ["@@VÒXLlUlJ@UXV@nÇx@bnlUVllnVaXVV¼UVW„U@V„²wVV@Vl@„VnwlIš@XbÆWVnUVmLUV„nm`k@VbnblKXUVIlxkb@VVLlK@bšwXxV@n¤ÆUVaÈaV_@anyVwV@„kl@°m@LnU„bl@„WVkV@Xa„a˜V„IXl‚IV‚„@XbVUÆ@XKWwUkmW@_UmnIlJXkWKXmV@‚w@_XV@Kl@kU@KlX@@UUUUKWLm@klJVUUmk@mXUWmXwƒ`m@„zUbÝakbW@m@UUƒéUIm@UbKǼ@™kKWXmWUkaWU—JWU¯L@W™Lƒwk@mm@_™ƒÅl™UVkmWUnV@VWLUb™bƑĬ¯l"],
  17890. encodeOffsets: [
  17891. [119543, 33722]
  17892. ]
  17893. }
  17894. }, {
  17895. type: "Feature",
  17896. id: "3402",
  17897. properties: {
  17898. name: "芜湖市",
  17899. cp: [118.3557, 31.0858],
  17900. childNum: 4
  17901. },
  17902. geometry: {
  17903. type: "Polygon",
  17904. coordinates: ["@@„bVaV@XllLXU°ŽlL@V@VUnVl¯Ikš›VUVU@@b@lUXUWmb„n@¼šbƒĊ‚LÞ@lVXlmÞUnkJ@nlKVVšÞXklWVaVI@aUKn»lL@Kn@‚XXwlm@mn°@„V@Wy„wXlWVk™ƒ@aUaVU¯£kKWVXVWLUkkWlkkwmJUam@@aULVa@UƒVaUaVI@m‚@UUJUIUmmV@bm@UXVVUlVmImakKUU@UU@VmU@@kma@KVIXUVK@U™VmUkV™m±£@JkU@nlšk‚ƒLUlmb—@WbU@@XnlWb"],
  17905. encodeOffsets: [
  17906. [120814, 31585]
  17907. ]
  17908. }
  17909. }, {
  17910. type: "Feature",
  17911. id: "3406",
  17912. properties: {
  17913. name: "淮北市",
  17914. cp: [116.6968, 33.6896],
  17915. childNum: 3
  17916. },
  17917. geometry: {
  17918. type: "MultiPolygon",
  17919. coordinates: [
  17920. ["@@lnnK@¦n@@V‚V„@@VV@nIV„V@VW²a@b@bVnUVVV@V™z@lš@°UšV„IVaVV@x@ŽXX@WlwUnV@XblW„b@XlK@aš@kƒ@al@@_V@@WÅwmaUaV@„bnaVL@llInmU_@W@aƒUUĉUaVwm@XWK@wƒVkaVUUwU@@aV@@mlI@WœLWƒUUUƒVU@kV@XalKVaUƒVUUUk@WwUK@aVI@WƒUk@@UUU±xkb@lVš@xnLÇbUbk@@bÇVUJ±U@U—@WLXšml@bVVXL@lV@@LmbkLW`kbVxUn@LkxmV@bm@@VkV"],
  17921. ["@@VVVkV@¥@UV@U@VUUJƒkWakKUšlXVJ@bXV@blX@aXV@V"]
  17922. ],
  17923. encodeOffsets: [
  17924. [
  17925. [119183, 34594]
  17926. ],
  17927. [
  17928. [119836, 35061]
  17929. ]
  17930. ]
  17931. }
  17932. }, {
  17933. type: "Feature",
  17934. id: "3404",
  17935. properties: {
  17936. name: "淮南市",
  17937. cp: [116.7847, 32.7722],
  17938. childNum: 2
  17939. },
  17940. geometry: {
  17941. type: "Polygon",
  17942. coordinates: ["@@°kƒīšaVaXK@U‚UVmnXUlšVÆkVKUUUmmU„ÑkU™UÝlĉKUƒwƒKƒbU@UxW@@lœmVUUVmUUƒmƒw—aW„kL¯K@Žm„ULWlIm`X„WL@b@¼@V@xkVƒI@b@l@lk„V°Ȯ¹ĸW"],
  17943. encodeOffsets: [
  17944. [119543, 33722]
  17945. ]
  17946. }
  17947. }, {
  17948. type: "Feature",
  17949. id: "3405",
  17950. properties: {
  17951. name: "马鞍山市",
  17952. cp: [118.6304, 31.5363],
  17953. childNum: 2
  17954. },
  17955. geometry: {
  17956. type: "Polygon",
  17957. coordinates: ["@@šNJnllLnxV@laXLVKma„aXbVI„bVKVVVIVyn@n_ƒƒW@@ƒ„UnJlUVVXlLnaUWlV@VV„IXW@_W@XK@K@UVUUwVamÑXmmwƒw™KUnUK™çU@ƒJƒU¯@mŽ@nknWxWm@@LkKm¼VL@bUJUbkXWl"],
  17958. encodeOffsets: [
  17959. [121219, 32288]
  17960. ]
  17961. }
  17962. }, {
  17963. type: "Feature",
  17964. id: "3407",
  17965. properties: {
  17966. name: "铜陵市",
  17967. cp: [117.9382, 30.9375],
  17968. childNum: 3
  17969. },
  17970. geometry: {
  17971. type: "MultiPolygon",
  17972. coordinates: [
  17973. ["@@„ÒV¤@¼V²@aVV@Ž@„„x°Vš£nW‚@nbnaVXVW@k@aV@VUœUl™°JUkVm@U@UkK¯WVkKWkU@Ubƒakwmlwm@ƒkUmƒUUKU@@VmLUbVLUV¯U"],
  17974. ["@@LllUL@VlxšL@a@UƒwXamK"]
  17975. ],
  17976. encodeOffsets: [
  17977. [
  17978. [120522, 31529]
  17979. ],
  17980. [
  17981. [120094, 31146]
  17982. ]
  17983. ]
  17984. }
  17985. }],
  17986. UTF8Encoding: !0
  17987. }
  17988. }), i("echarts/util/mapData/geoJson/ao_men_geo", [], function() {
  17989. return {
  17990. type: "FeatureCollection",
  17991. features: [{
  17992. type: "Feature",
  17993. id: "8200",
  17994. properties: {
  17995. name: "澳门",
  17996. cp: [113.5715, 22.1583],
  17997. childNum: 1
  17998. },
  17999. geometry: {
  18000. type: "Polygon",
  18001. coordinates: ["@@HQFMDIDGBI@E@EEKEGCEIGGEKEMGSEU@CBEDAJAP@F@LBT@JCHMPOdADCFADAB@LFLDFFP@DAB@@AF@D@B@@FBD@FADHBBHAD@FAJ@JEDCJI`gFIJW"],
  18002. encodeOffsets: [
  18003. [116325, 22699]
  18004. ]
  18005. }
  18006. }],
  18007. UTF8Encoding: !0
  18008. }
  18009. }), i("echarts/util/mapData/geoJson/bei_jing_geo", [], function() {
  18010. return {
  18011. type: "FeatureCollection",
  18012. features: [{
  18013. type: "Feature",
  18014. id: "110228",
  18015. properties: {
  18016. name: "密云县",
  18017. cp: [117.0923, 40.5121],
  18018. childNum: 1
  18019. },
  18020. geometry: {
  18021. type: "Polygon",
  18022. coordinates: ["@@vIHZDZQtDLNMXIbHRCXXITbJ@H`LGPRDDJNCLHTOCWFGvGBUJMKGFO^IHWXITQCI’Y^AXGfRˆDXF`DJOLB~G\\DZIHHpErUVMhHb]\\M†BVF@FTP`@zTbD\\@~M\\K`H^EVODWICAakAQXoIcCOCIgGYNWFWNGGKKGaJEGMEIKYJUT_J_Go@_SyQaSFMEGTcYOQLIIi@EKAUPCV[EEXQCW|aMUMAaYCYNIDGGACIMGGSKDQGaF_C[GaB@GOIiOKAYL“mI@CN]F[SWWAcKKI@HMUimEKbeYQYISNUOcBKPIFBNgvDPGZYFSf]CMSIWGEUFgDIQ[MeDMJS@RR@LphFPCHaBAJKF@J]IBJO@HlO@@RKAMPJHCNDJTHFP@ZGNANBRFH@J_fM^ONJNF\\VTDJHDON@XRND\\XRCPVETCLBVKDFJINHRGPRV@\\CLJN@VbXbLVT"],
  18023. encodeOffsets: [
  18024. [119561, 41684]
  18025. ]
  18026. }
  18027. }, {
  18028. type: "Feature",
  18029. id: "110116",
  18030. properties: {
  18031. name: "怀柔区",
  18032. cp: [116.6377, 40.6219],
  18033. childNum: 1
  18034. },
  18035. geometry: {
  18036. type: "Polygon",
  18037. coordinates: ["@@JHTVHXCHPfnDJGHNDJSB[JSBGVSAOH@PMPuDEHHXZN@PHF@ZLJ@LHVYJA\\OFWP]BMtMBSRGV[JeVAPQVIFENMD¡–@^NV\\JH@NNL@NM\\kTQ\\I^FNIpBHGTBFFAZQfKDIXQTLXFXNNVMVHRGpCFLlRLEVBBH`IVO\\G`RDPAXLXBXORHZEHTDLLN@VGTMrQNFPeASKG@GMOAKBYMK@GTUHUXSHMVDNMOUEOZMJML@^KRACMZEZMRQLUHE@OFENPR@DI\\ChMHIDG\\GJMDWHCKGMDCIQCHO_K@GaIJSWWQDaGWJMNCKRsCYGYuJUSaKaW@UIMDK@[QUHOGQJMEILCAUDKFSOUQD[WMC‚Q@WPMGCCIUSE[IMPMN]`e@IEGAQBMHM@YEOSGCIDMIGNOLB@QP@GkP@AI^J@ILEBIbADGEOog@KQQWSekWQQUOFKZLF@PUNmIaHIUeBCTSHENcJa@_IWSaGu`GLSBKJQFOXGDXVQVOBIHcDSJWBEFGTMH[^mLaXcHiKElTRKtFXZ`MHMPCNRDxZˆB\\ICIHK@KŽHbIVFZ@BPnGTGbDXRDJaZKRiGEFSFEJhjFNZFjn"],
  18038. encodeOffsets: [
  18039. [119314, 41552]
  18040. ]
  18041. }
  18042. }, {
  18043. type: "Feature",
  18044. id: "110111",
  18045. properties: {
  18046. name: "房山区",
  18047. cp: [115.8453, 39.7163],
  18048. childNum: 1
  18049. },
  18050. geometry: {
  18051. type: "Polygon",
  18052. coordinates: ["@@h@bl@HRJDZ``TA\\VVD^H`\\pF\\JŒ`JGv@ZO\\GPSTEjPTR`FnEbDTDHEhLFMTK@ETSPULKEI@OVISKSJACEQNQbV˜IXGDIN@dMB[IIBcN]ZHNLP@XOWCFWŠCNRHTpATD@^NVNLED@Rh@jCEF}E[OOHUEW]W@QGGDIQSH_MmFmCUT_K]i@MHCMW—FCF‹E{BMHMPOHKS]CFNGBELDH_@BcAKOACESAOBELaXAROB@FODMEDWJAG[aE@UM@DImEWJMC@OeCA{aE[@{L@MINUCQXKfUJORCHqJBF@TCXWNQX]M[EAJO@@KMBQJIC]EWMCCUBEBFHKDOTMBGNGF]MWDBRDdMDQVyE@LPVHDCP@JVVMTG~HNSH[CmRUvHPHBbA\\PTNRC\\YNJ€PRARPJDDR"],
  18053. encodeOffsets: [
  18054. [118343, 40770]
  18055. ]
  18056. }
  18057. }, {
  18058. type: "Feature",
  18059. id: "110229",
  18060. properties: {
  18061. name: "延庆县",
  18062. cp: [116.1543, 40.5286],
  18063. childNum: 1
  18064. },
  18065. geometry: {
  18066. type: "Polygon",
  18067. coordinates: ["@@^AXOPEB[ZIGU@KKI@YGE@OYMGWFGvCNO@OPGTBHUTA\\ITACIGMIHmCOeDGGWSUIGimYEEMgiFITEFEjHLQbYCIWQaCSHmHAOY@UEaJG@LGLDJ[J‡AwYQCDMNONGY_EWLsSQFkMO[NWAIGaIYL@HMBOKiOQDWEUDMQSF_QIUBWdg@[NaAKQ@M]OQ@WhgLUMMFYQDIRCEUZOOCIOJ[KIUMKL@HIDKVEBM`HJAJSJUdBLGNEdMBMO[BYEWJSNKNaD]PE\\SjOT_RQVEZPpƒNQXfŠNA~lNG`@PNLp¼RFLfbdKbATUh@FSNWjGFZVLFHVA~X¨PPROfFJbNJPLFbENJPrEFNPFRHDDJdENJLVEPBJTVTHGHFRFH@PXP\\ORQHW\\BjWFDERLPPBbB\\E`B\\D\\L`@F]FCnJ^AZL"],
  18068. encodeOffsets: [
  18069. [119262, 41751]
  18070. ]
  18071. }
  18072. }, {
  18073. type: "Feature",
  18074. id: "110109",
  18075. properties: {
  18076. name: "门头沟区",
  18077. cp: [115.8, 39.9957],
  18078. childNum: 1
  18079. },
  18080. geometry: {
  18081. type: "Polygon",
  18082. coordinates: ["@@V@XMnGPY²‰JQNEhH\\AZMPDVTTDZCPiJkHSHCjIdFtEHITCNITQEKUAMCEIKCECABYESKFWAKBEIIHABGDCKCAIHMHALKEI\\CFIBILIJQZS]BBEECS@E@@C]COKI@CABAAEEDMGƒCH]A[M@CJWH—JaUMRFRBDTITLUJ@PFJKLOVST@FSLENgKGFSCaCmF_ESQiOSFOT[HYPu@IH‹_[IoE_[]GUC[USB__CYQI@Gakg@qZeHQNMNV\\FVLPgJAFJPRLCH[XcPELUT[JiV_EELFTADBXRTRLJC@fHXHHbPd`fR@NfT`@TLplHMpCEJHJBVLFŽ@JT‚VnG^KXDXHNVGRLRXFJVdDHSNWLGfEzA"],
  18083. encodeOffsets: [
  18084. [118635, 41113]
  18085. ]
  18086. }
  18087. }, {
  18088. type: "Feature",
  18089. id: "110114",
  18090. properties: {
  18091. name: "昌平区",
  18092. cp: [116.1777, 40.2134],
  18093. childNum: 1
  18094. },
  18095. geometry: {
  18096. type: "Polygon",
  18097. coordinates: ["@@VNLJI\\JPPDYPFVQDCJZRNEVNhKXgR@^P@NLRbB\\Mh@XcVARJE`RTCNFV€XRCjPPLNA@GZKbJJHXB\\MNPjLdGbWnK\\]NGHSFEXATIdCJGPARUWUHCPWRELITAHKv_E@iYCaW_BQ\\Y@QIO@QDCIGZCEMWGFMFAFgHEDOCSqKCCFGAMKEAC@ODGCGs@WH@KQA@EE@CE@GEA@EH@GGUEEJEAYD@JM@@DAA@FHD@FTJEHUC@JUBKCKG@G[CIIQReAYhO@OXGDO@@FF@IHJFCPEBACBIAAKDOABXARHPNEHGbQAAKQFGIAM[C@WHKaGiCEGOA‹HUKCIokSCUSOCYN[BgGMFIR±ŠOZmHWNU@ShbbXDHVXXGJ^lZ@PZ\\Nb@\\FHJAD"],
  18098. encodeOffsets: [
  18099. [118750, 41232]
  18100. ]
  18101. }
  18102. }, {
  18103. type: "Feature",
  18104. id: "110115",
  18105. properties: {
  18106. name: "大兴区",
  18107. cp: [116.4716, 39.6352],
  18108. childNum: 1
  18109. },
  18110. geometry: {
  18111. type: "Polygon",
  18112. coordinates: ["@@F\\E~DFN@BDFEpHFCHBBEGCDCJBHUDSBB@ELCPbF@B\\J@BJVAFJ\\ADKTCBGECFMT@BMN@@FH@DaNBEnvB@FPBATK@FHEFIAKFBFL@@PKBFJHC@FXBRAFCDMPDTOL@JIVFDHH@DDH@BGRFCDLD@N^@@CNA@KNOAEBCECFEGCFGMGFIPMOEJOLBADBBHGG@GCHIECY@INC@DMGS\\AIOZAAEYA@GT@KKMBEETCGMVINFxA@MJADB@FlA@HJA@NND@DFA@DVAZBBOFKH_JA@K^GBC@EFE„G@gAENMXKJigC@IbSJMqGOP£RGSMGE@kbQFDPEFiBSGGSBK]I{CDWCIDOic[C_G@SuSO@EWKCO@MNY@\\uZOPENQD[LKESSKGBKEG@EJGAGHoH¥CqhifeJkX_XFFGHFNEDFPENKHM^IFIVL^S`DVEnNnG`RTCJHH@R^XFXGVPP"],
  18113. encodeOffsets: [
  18114. [119042, 40704]
  18115. ]
  18116. }
  18117. }, {
  18118. type: "Feature",
  18119. id: "110113",
  18120. properties: {
  18121. name: "顺义区",
  18122. cp: [116.7242, 40.1619],
  18123. childNum: 1
  18124. },
  18125. geometry: {
  18126. type: "Polygon",
  18127. coordinates: ["@@EhEBENXHFNYDJHCD@RJP@R[ZARX`DbjZF@bHXT`Jb@dIFMTGDSfAJVbGnJVM@OKELYPERVXRflXTT@NIfC\\NJRhCVEHFJXNT^DTeZEHYCOhuAMJELOdAVPTMOWBWNMNEJgl]@WGUFIC[T{EEDEHGCIGMI@SECUQI[D{A{GQESPUH]CsiMCmHUeoHENcAaDGCMDGMQCACCBaCGLMAHB@DIEQLOAAEEJ@CW@CDINGAAGKQOCgV@LG@BEGDKNeREFBNCFIDOPKD[@YRW@GFWDAFE@EHDDrLDTCPGF", "@@KrJEH[\\B@FF@CHFBHUN‹AJKADGECBCMAG^E@EbI@BEGP"],
  18128. encodeOffsets: [
  18129. [119283, 41084],
  18130. [119377, 41046]
  18131. ]
  18132. }
  18133. }, {
  18134. type: "Feature",
  18135. id: "110117",
  18136. properties: {
  18137. name: "平谷区",
  18138. cp: [117.1706, 40.2052],
  18139. childNum: 1
  18140. },
  18141. geometry: {
  18142. type: "Polygon",
  18143. coordinates: ["@@ZJZRafFLjn€VGNJ@LLBdXX\\T^EDMJ@”nZKLBjPPJ@HbA\\H`DbERHLCFK^BZaFWXQLAGMHa\\OLO@SBIpBdCLƒVQfElO@GSAKEDQTC@GEBKG@ORIJBDAPDFA@CaOq@GGQAAEJK@KMUGAAGEAa@MGMBGCGSIIW@WSUCMDOJeWOM@IUF{WMWaDIMgIoRoCOKeEOEAG_I[cg@wLIFENQFDVTFJ@HNDJGHCFFFS|D\\EJHV@Xk^IhMFMNAXPX"],
  18144. encodeOffsets: [
  18145. [119748, 41190]
  18146. ]
  18147. }
  18148. }, {
  18149. type: "Feature",
  18150. id: "110112",
  18151. properties: {
  18152. name: "通州区",
  18153. cp: [116.7297, 39.8131],
  18154. childNum: 1
  18155. },
  18156. geometry: {
  18157. type: "Polygon",
  18158. coordinates: ["@@FDAJTGDNDCTDDEDBBE@DT@@EHCDGJ@EIZ@@FDBR@ATFBBVFFE@@HNA\\VE@CLIFNJFNJBCP]A@LJFA@HJEDD\\C@DBCHLAEPF@@DH@APHAERDF\\GIxDTM@CFLBBFJ@CNUPMHECGDBF]BMFPDLRBHHBJMDCX@@DFIBFPBRKJF@CGANBHKbDDABDRDHNNCHDbCdBFMpGHiOYMefKJMC}HWAUNW\\NNBNA„kNU|]HMTMN@MZBLFFF@RIRUT‘BMFIEGaAGGAOIIUGTSFcYKS@MSLYPKRUBU]EWDOI]CKGASgW@MTWKIMCS@uMAKKADMECGAKVUTSDy@IjWLMNBF@hƒHEF@FAD]H@LIBG`ELAPYAUB@CEB@CMC@MIB@GkB@ECAIB@NwBMEUJHNSDFFNALLS@@HZBBFYBJP[BHTCND@JMZ@FDGJHDH@GHAABCKAIPPFONEJNHEHHDEFFDADBFMP@L"],
  18159. encodeOffsets: [
  18160. [119329, 40782]
  18161. ]
  18162. }
  18163. }, {
  18164. type: "Feature",
  18165. id: "110105",
  18166. properties: {
  18167. name: "朝阳区",
  18168. cp: [116.4977, 39.949],
  18169. childNum: 2
  18170. },
  18171. geometry: {
  18172. type: "MultiPolygon",
  18173. coordinates: [
  18174. ["@@bFGHBHFBFIVFHHG@@FFB@HDFF@@FRB@LXGt@DHCH@PBDLFBNF@BEXCHEX@ZQ\\@LCPOJCDEAMFEfQLMHCAFH@@KhUNE^AAEHCFDNGVODMI@AEKADEN@CSJw[HCEFQGBBOG@@CE@FOKBDGCAD@C[FCGIB@IE@K^BDOIAEMMIJEDKF@[UMB@GF@EEAUEABSQ@CA@EY@FJI@CHGD@FS@@CAFCACFSCCDCMSHBIECMB@D]@@MKCDCQEAHG@CCG@CGUEIJK@SPOCCNEDQBDNDB@DJCDLFCBBALJB@BVGPBKVO@KHCCCD@FE@BNA@FNCTDDJA@FGB@NBDW@CL@hT@@ZHHQDDDAFSAANBC@HG@EFS@@DE@@PCB@Ue@CADNJB@FCBWA@LI^ix@FIHrH"],
  18175. ["@@HUN‹AJKADGECBCMAG^E@EbI@BEGPKrJEH[\\B@FF@CHFB"]
  18176. ],
  18177. encodeOffsets: [
  18178. [
  18179. [119169, 40992]
  18180. ],
  18181. [
  18182. [119398, 41063]
  18183. ]
  18184. ]
  18185. }
  18186. }, {
  18187. type: "Feature",
  18188. id: "110108",
  18189. properties: {
  18190. name: "海淀区",
  18191. cp: [116.2202, 40.0239],
  18192. childNum: 1
  18193. },
  18194. geometry: {
  18195. type: "Polygon",
  18196. coordinates: ["@@plDJVLŒGPBFHjDbHGL@X\\DBNHJREBLRBHaFGŽMGOBQAWPBLCBBAJBDFADOIEJGE@@EP@HCPWP@ZgfBRQJJ\\D@HLHLDVA@IVDFGSI@EGC@EBB@CN@@IZCAGHGaEqGJG@EjwJ]@K@GSA@e_I@NE@CA@Kg@KC@ENCFƒAKQAW@WIMK@V‹@I@@F@^EDFB@HcIaDYCBRRDCHD@EFLN@FE@CJUPEJOJMTBPEDIFCMIAKNOGMRFJNDVBFLSRMJSDGJsFcEiJGDGTIlOjYD"],
  18197. encodeOffsets: [
  18198. [118834, 41050]
  18199. ]
  18200. }
  18201. }, {
  18202. type: "Feature",
  18203. id: "110106",
  18204. properties: {
  18205. name: "丰台区",
  18206. cp: [116.2683, 39.8309],
  18207. childNum: 1
  18208. },
  18209. geometry: {
  18210. type: "Polygon",
  18211. coordinates: ["@@hMN@NFTQCFRCBJFA@HJ@@HJ@HJ\\FTACDŒ@@UNLXJX@@MA@@IECAQlDFEHBDI~D@GXCFMVDFCH@@NF@ANJC@FnAB@AMF@@EDCDDLGP@LUOAUH@AIABKAAEDCKID@CCACMWA@EGDEILA@OK@AELEJBFEEGL@BSOA@EuAFmMACbG@@EM@ANS@ENFDAHSDCL[BEIUBAII@A[E@OaKD@FAACTGVIACDHDAFGAEDoGEFACM@i€g@@QFCMKMU@]SCoBGSMQ‰DEXXDWPO@MKYGM^AdJJA\\cNB\\G^„DNHFCBFABDBJ@PL^D@DF@T@FDAF^A"],
  18212. encodeOffsets: [
  18213. [118958, 40846]
  18214. ]
  18215. }
  18216. }, {
  18217. type: "Feature",
  18218. id: "110107",
  18219. properties: {
  18220. name: "石景山区",
  18221. cp: [116.1887, 39.9346],
  18222. childNum: 1
  18223. },
  18224. geometry: {
  18225. type: "Polygon",
  18226. coordinates: ["@@NQPHLMJBDNJEFCAONSPIFIVODIF@@EKMFEC@DGQCAQZDbCdJ@GEAFC@]@EJ@DCSB[EGII@@GI@@GEBAIQDDESRMEM@gNYTIRKJAJEJ[DFJKLGBGNBJLDCDAHGBJJAFBLEXTLZFBAFDLD"],
  18227. encodeOffsets: [
  18228. [118940, 40953]
  18229. ]
  18230. }
  18231. }, {
  18232. type: "Feature",
  18233. id: "110102",
  18234. properties: {
  18235. name: "西城区",
  18236. cp: [116.3631, 39.9353],
  18237. childNum: 1
  18238. },
  18239. geometry: {
  18240. type: "Polygon",
  18241. coordinates: ["@@XBDA@EIACM@IJAD]BC@SFABISAD]H@@OAEDQEW@BLE„MD@FLDh@@LDBF@@M`J@fTB@H"],
  18242. encodeOffsets: [
  18243. [119175, 40932]
  18244. ]
  18245. }
  18246. }, {
  18247. type: "Feature",
  18248. id: "110101",
  18249. properties: {
  18250. name: "东城区",
  18251. cp: [116.418, 39.9367],
  18252. childNum: 1
  18253. },
  18254. geometry: {
  18255. type: "Polygon",
  18256. coordinates: ["@@DBf@@VDA@OF@@CT@FEH@@GADBMTBBECCRCGG@YS@@gDK@A‘C@PG@C^TBAJEB@TADC^IB@J"],
  18257. encodeOffsets: [
  18258. [119182, 40921]
  18259. ]
  18260. }
  18261. }, {
  18262. type: "Feature",
  18263. id: "110104",
  18264. properties: {
  18265. name: "宣武区",
  18266. cp: [116.3603, 39.8852],
  18267. childNum: 1
  18268. },
  18269. geometry: {
  18270. type: "Polygon",
  18271. coordinates: ["@@RBX@RFFCŽBFU@aK@WA}CCJGAEFkCBRFD@JB@@N"],
  18272. encodeOffsets: [
  18273. [119118, 40855]
  18274. ]
  18275. }
  18276. }, {
  18277. type: "Feature",
  18278. id: "110103",
  18279. properties: {
  18280. name: "崇文区",
  18281. cp: [116.4166, 39.8811],
  18282. childNum: 1
  18283. },
  18284. geometry: {
  18285. type: "Polygon",
  18286. coordinates: ["@@XBL@@bEV’D@BX@AC@MHA@EIBCCDSEMmB@EIDBME@@MG@EDUCENWD@H"],
  18287. encodeOffsets: [
  18288. [119175, 40829]
  18289. ]
  18290. }
  18291. }],
  18292. UTF8Encoding: !0
  18293. }
  18294. }), i("echarts/util/mapData/geoJson/china_geo", [], function() {
  18295. return {
  18296. type: "FeatureCollection",
  18297. features: [{
  18298. type: "Feature",
  18299. id: "xin_jiang",
  18300. properties: {
  18301. name: "新疆",
  18302. cp: [84.9023, 41.748],
  18303. childNum: 18
  18304. },
  18305. geometry: {
  18306. type: "Polygon",
  18307. coordinates: ["@@@›ρȁôƧƦóəʵסʵóƪԫʵѵͩƧͩړ›υࡓɛʵ@ȃ@óᇑѵƨɝɚôóНѺͩɜ̏ԭʵôƧɞñ@υƩ—݇ȂóƩƧ@ѵȂυœƥŌਗ—॥ɛóʵѵƧѹ˜݇̍ࢯ˜əɞυ˜ρͩ̏óਙƨƧŋôōóš̍ͩóʵן›óŋړͪƧѶ@ɜԭ—ԫƦɛȄ̍›ɝȄöςƩȂ̏œñȀ̏œƩóóŎə˜@Ő̎@ɞȀɝŎôƨóנѵȄƧ@óŏɝœóɜôŎ̍ͨςŎ@ƨóôƨɞ݈ʶóƨφó̎Ȁƨ̍ԮòѸԮמ@ѺȀ@ƪၬֆòȂñ̐òȂɜ˜óƨ̒Ŏ̑߼@φρȀ@Ő๐ς̎Ƨφ@ɝφڔ೦Ԯǿࢰ@ƦŏԮƨƨȄƧ۬ɜʶڔŐɚɚóŐôƨ߼˜ôƧƧó̐ƥóŏѺǿƦȁφƧς˜ƨƧ̒@ɜƥƦυ̐ɛƪͩƩəƪʷ̑ə@ȃƨʵנŋྸōਚԭԪ—@ɝƨŋ̒օςʵôƧ"],
  18308. encodeOffsets: [
  18309. [98730, 43786]
  18310. ]
  18311. }
  18312. }, {
  18313. type: "Feature",
  18314. id: "xi_zang",
  18315. properties: {
  18316. name: "西藏",
  18317. cp: [88.7695, 31.6846],
  18318. childNum: 7
  18319. },
  18320. geometry: {
  18321. type: "Polygon",
  18322. coordinates: ["@@ôŌנœôʶ̎ͪô™óŎƨŌਚƧ̐ôςͪφ—ɚɝࢰ—݈̎Ѻ—Ѷƨôʶ०ɜਘ˜Ʀŋφ›Ѷȁ̍—ôŏɚŋ@̑ə—@ŏò̍ɜ›óƥôʷƧ̍φѹԪ̍ע@Ѹʷɜ@ôñנ@Ѷɛɞô̐ŏѶƨѸƧƥōƦœôŏô—@ƧôƩ̒ŋƨŌƦǿô̎ɜȁ̒—óʶѶôôО̒›ςƥɜНφσɛȁ̎υƨఱƧŏ@ʵƥœ@ŌóóóͩƨƧóŋ̑õóɞóɝԩͪɝρôƧ̍ƧѹͨڑŎ̑ōóƧࢭͩ̏ѵɝóఱóóԪυô@̒ƥŌ̏Ƨ̑Ȅ݇ŎƧ›ѵӏ@ɛõŏɛȄôӒƧŌѵǿɝ˜Ƨŋԫ@̏ʴƥ@óǿ̑Ȁóǿ̍ςóóυô@ʶɛñρƦƩŐó̎óœѵó̑ͪࢯОóɜן˜Ƨ̏ƥȄ߻̎̏̐ןŎɝɜöɞƩȀôöɛȀóͪ̐ƨƪ̍̎ȂƥԪυО@φɞ˜ôƪ"],
  18323. encodeOffsets: [
  18324. [80911, 35146]
  18325. ]
  18326. }
  18327. }, {
  18328. type: "Feature",
  18329. id: "nei_meng_gu",
  18330. properties: {
  18331. name: "内蒙古",
  18332. cp: [117.5977, 44.3408],
  18333. childNum: 12
  18334. },
  18335. geometry: {
  18336. type: "Polygon",
  18337. coordinates: ["@@ኊȁ૊ö߼ƩɜɛנñԮɛѶóԮô@ȁѸóמ̎ගѺၬ@߼ʶԮӒ߼̎@ŐѹӒ̒Ԫƨöග̑ѶȄ̒ς।œѶɚöɞɜʴڔôôȂ̎—ѺȀς—ƨ˜ƪóԪ—ɜôɛОਕڔԭ˜ѵ̍ѹȂԫ›ɛƥ̍Ȃóɜ̎ô@ʶ݊ੲࢮʵږͪנƨôȂƧ˜̐ͪ@ŐƦƨφԬѶɜôƦ@ŐƧôôƦəŐ̏›@ŐڒѶԬô̐ʳԩНςōôŏɞ@ƨȂѶəóƧ̒ػ̎ó̐Őנóƨô̒@ƨɚɚ@עԫɛɛ@ȁυͩƥʳòևρ—̑ࡗƧͪ༃ॣԮփ̎Ʀ@ôô@ôō@š@ȁѵóƨ̍υȃóʵɛƨƥóυȂóəƪ›̐ρƧͩɜԭڔȄ̎عƧȁ̐ŏó̍ɛ›ƥƧ̑óρŐ@Ƨ̏˜ɝəɛ˜߻ͩ̍ͩɝО̍ƪƧóóӓƨóƧʳ݇@ɝςƪœ@ʴƩ—ƧƦôƨɛȄə›Ƨŋυ›óͩѵ@ɝǿóŌן̍ɛ˜óО̍œ̑̏ôȁ̍ŏòȁñóƦͩ@ǿə@ɛƧ̑˜ρȁυô̍օѹœóȃə™@ȂσʵѷƪòƩ̍—ôó߻ۯôʳƧ™óšõʵѵóѹɜ̍ȂѹôɛŌφֈƩͨρóυӑóޟఱ̑݇ͪóƪƨŌóȄڔԬƩςםñ̑ȃѵŐԭŏƨȁɛǿρôõɚɛóƧОə@ѹ̐ѵöԪͨôͪɛ̒ןŏƧƥóôƥƧɛŌôóɝó@̒݇Ӓ̒Ō@Ŏԭࢰ"],
  18338. encodeOffsets: [
  18339. [99540, 43830]
  18340. ]
  18341. }
  18342. }, {
  18343. type: "Feature",
  18344. id: "qing_hai",
  18345. properties: {
  18346. name: "青海",
  18347. cp: [96.2402, 35.4199],
  18348. childNum: 8
  18349. },
  18350. geometry: {
  18351. type: "Polygon",
  18352. coordinates: ["@@ƨ@ôƪ݈ȁƪ˜@φɝòóƨԮʶɛ̐ѹͪôОəóƧɞᇒѶ@ôږô@ǿѶ›ƪȁςœɜͩφ˜ςŋɞôѶɛƨŌɞ—@ɚςŐñԪॢͩƨȂɞóƨŐ̎ŏעӏ̎óƧƦôœ̒ȁɜ›ςͩ̒œɚɛƨôƨɝφɛóȁƨŋóóɚͩƨóóƩ@ƧəŋƦƩ̍@ƧƧôǿυ̑@ȁɞǿõŏρƥסɚƧóτԫɞœôƧƦ@ñȃòñƥóυôôѹѵ—@ŏ̏Ȅɝó@ȂəŌóəѹƦ@Ő̍Ōυ݈ԩŐƧóôƧ̑›ôʵɞƧ̑ѵôƩɞƧ̑œóНѵóôʵ̑˜ɛȂó̍ƥȀƧŋ̑Ōóƪ@ƨó˜óŐƥ›ƦŎѷƨѵƧ̏Őɝóѵɜן@óòɛ@ѷʸס@ԩ̎υѺƨ̎óʸôƦɛœñ̎@Őɚ˜@̒əŌóŐ̎˜"],
  18353. encodeOffsets: [
  18354. [91890, 36945]
  18355. ]
  18356. }
  18357. }, {
  18358. type: "Feature",
  18359. id: "si_chuan",
  18360. properties: {
  18361. name: "四川",
  18362. cp: [102.9199, 30.1904],
  18363. childNum: 21
  18364. },
  18365. geometry: {
  18366. type: "Polygon",
  18367. coordinates: ["@@ô˜ôŋó̑Ԯ̒ɛОמͪƨōöͫ߼ƥôȃƨóóñôƧóƧôōڔŏƨŐ@Ŏô˜òƥѺŎ@ōɜóנ˜ôǿô›ƦôԮ̍ɜôɚ›Ƨ—ñɛɚȁ̍Ƨɛևυ@óóôŋρԭɝ@Ƨʸ̍ŏυɜƧƧóƧƨȁρ̍ƨȃɚ—ôʵφóô̑̏Ȃ̑ʵɜʵɞ@ƨʳסƩóŎə—óɜƧôƩƧρ˜óôôô@ŎƧƨƨƪѹ˜ó̍̍Ʃ@̏ѹНôޟ̍Ʃóƪυɝɛ—əƨôŎɛȀ@Ȃ@ñɝʶ@Ōρנ̏—õóɛͨƨȂѵОɛʵ@̏ƩŐó߼Ƨల̍φɜȂυτɛОρƦɝƨóƪ̒Ѷɝƨóʶ̒œóƨƨôԪŏφ݇̎ŋ@ŏѺƥôɚɚŋ@ȁɞô̐ȃ@ŐѶ˜óѺφóƦôñòòȄ"],
  18368. encodeOffsets: [
  18369. [104220, 34336]
  18370. ]
  18371. }
  18372. }, {
  18373. type: "Feature",
  18374. id: "hei_long_jiang",
  18375. properties: {
  18376. name: "黑龙江",
  18377. cp: [128.1445, 48.5156],
  18378. childNum: 13
  18379. },
  18380. geometry: {
  18381. type: "Polygon",
  18382. coordinates: ["@@ᇔȂਚНƨŐѶŏöƥςŏñƧƦóƨȁ@óƨ—óȁφӑóóƨ˜óǿ̎̑ôНɞ—ó̑ɜə߼›̎ǿ̒ôڒӑφ@Ƨȁ̎̏ƥƩ̎ρశ˜ôȂςƨφ@נɞ݈˜̑ƥƧɛƨʵƧȃƥ@Ƨƥ@ŏ̑ԩôɝρρóɛƧ›ƩͩƧó߻ʸ̍ʷѹƥɞڕõ̍öɝυ—̍ȂƧ̐̑ŏóƨñŋѹóóȁ̍›̏Ԭõʸ̏ŏ@ǿ̍@ƧОυ@ñƨòȀƥŎ̑ŐѵóɛŌóȂԫōƧŎѹñ̍ʶóОן@Ƨ̎Ѷô@Ȃ@™óŎó@@ó̍ƥԭք༄।ƨͩ̒ࡘς˜ñֈƦʴφͪ@ȂɜɜסԬə@Ƨə̑@Ƨóןô̏ŏ̍ô̑ؼôƨѵɚƧȁɝ@óŐρŎԪО̏ʴ"],
  18383. encodeOffsets: [
  18384. [124380, 54630]
  18385. ]
  18386. }
  18387. }, {
  18388. type: "Feature",
  18389. id: "gan_su",
  18390. properties: {
  18391. name: "甘肃",
  18392. cp: [95.7129, 40.166],
  18393. childNum: 14
  18394. },
  18395. geometry: {
  18396. type: "Polygon",
  18397. coordinates: ["@@ڔôԮࢯ@ō̑ŋ݈ӑ@̑ɞôóôɜŋƦƨôóƨƦנŐɜ̑óͩԩͧѶõѺ̏ɚ@ƨНɜôöəςóɜȀƧȂԮŐѶŏ̒ȄמòƪρړԫôȃƧŋôƩ݈ͩɚ@@ǿɜ@φͩóŏɜӑƧōôǿ̎›ôƥƪóõ›ö@ô—ƨ˜ôƧƦôó̒ɜ@ɞŌõʶ̏Ő@ȀóôƨȂ@ʶע@@ƥ୾ӑó̑óŋôʵóɛړ@@ƩöóƩóρ—ɛƨ̑@óʷƥƥ̎ɛƧ›ôōƧǿôͩѵôɝȃɞȁõƧρóó—@ōƧŏړŐóŎôƨóƨôòƧôóȄ߻ƦõͬƧŎםͩɜНԭ̑ô̒óŌó—ƥ@óƨɝ›σԬƨôעəςƦöŐɝȀ@Ȃφ̒óȀƨƨ̎@ƥƪɚŌ@ƨôƪƧôəͪôôƧŌôȂυɜƧɞƧóəɜ̑›ρͪɛœ̑Ȃó›ƨƥ̍ôסӐ̍ŐƧŏɝôƧȁॡͪòԩρŏ@əɝ˜ƧŋѵɜɝóρŌυ—ɛͪρ›ƩȂѵœ@Ȁڕó@ȄɜʶφࡔڔœƨͪѶͪԬʶôƩעʶɚʶƥôóƨςȂ"],
  18398. encodeOffsets: [
  18399. [98730, 43740]
  18400. ]
  18401. }
  18402. }, {
  18403. type: "Feature",
  18404. id: "yun_nan",
  18405. properties: {
  18406. name: "云南",
  18407. cp: [101.8652, 25.1807],
  18408. childNum: 16
  18409. },
  18410. geometry: {
  18411. type: "Polygon",
  18412. coordinates: ["@@ôɞôɝ̒öôŌƧƨôͪôô@ŋƦ›@ʶƨŐô߻ƪŏ@̐ɜʶѶНƧȁɜͧöô̐˜ςן@ŋɞʵ@ò@ȁɜǿóōɚƧɜ˜φɞôƩ̎ƪóޠѺО@̐̎ƪô̎Ѻ—ƧƩƨƧ@ōóóôóς—ƪƨƨóôɛó̑ԭ—ƥŌɛǿɝƨɛͩô›@ǿƨȁѺŌɚɛ̍ןѶНɛƧôóƥȁƦͩôŎɞ—ƨ̑ɜ—òôφ@ƨʵ@ɛѹōóȃəƨυǿóʵρƧƧŌƩɛ̏ȄñƧƧȀɝ̍ԩʶƧ̑υ—óŌƥʳɚӑóНƥô̑›óӒѵʵѹœƧӐןôƪφõŌƪ̒ԫŌƧؼƨƨס›ρȁƧœƨȂóʶó@@ʴƨôôφ̎Ŏ@Ȁƨ—ƪɚƨœóƨôôôςóޤƧŌƩŋƧԪ"],
  18413. encodeOffsets: [
  18414. [100530, 28800]
  18415. ]
  18416. }
  18417. }, {
  18418. type: "Feature",
  18419. id: "guang_xi",
  18420. properties: {
  18421. name: "广西",
  18422. cp: [108.2813, 23.6426],
  18423. childNum: 14
  18424. },
  18425. geometry: {
  18426. type: "Polygon",
  18427. coordinates: ["@@ƦŋѺ̎ڔʵƨŐ@ƦמȄƪôóȂɜŌɚͩɜ@öóɜôôȂƦôɜȁ@ɞφ›óȄ̎›ƨʶɞŋƨʴɚǿ̐̎Ԭ@ôñ@̏ƨ›ρ۫ô›ɚƨƨНƪŐ̎›ƥóƦʵƥŋ@ȃóƥƧ@@ŏɝǿôυƧȁѵɛ@əóŏ̑@@ə̍›óƧó—@ȁƩ˜ρóòНƥô@Ӓ̑@óŎ̍ƥσŎυ@̍ƨ@Ō̑ôóͪƨ̒óŌړœ̏Ŏ@ŌôȄѺŎ@ɜƧʶυ@ñóɛ˜Ƨ̒ɝ˜óōƥͪ"],
  18428. encodeOffsets: [
  18429. [107011, 25335]
  18430. ]
  18431. }
  18432. }, {
  18433. type: "Feature",
  18434. id: "hu_nan",
  18435. properties: {
  18436. name: "湖南",
  18437. cp: [111.5332, 27.3779],
  18438. childNum: 14
  18439. },
  18440. geometry: {
  18441. type: "Polygon",
  18442. coordinates: ["@@@քɜОƨ@öŐמóƪôƩɚ̒Ő߼ȁςͩɜòƪ—ɜȀò—ñɝò—Ѻͪ@ŏƨŋóɝôǿƨ™ɚȃóəƨȃѵͩó̍@ȃƨóóƥƨƧ@ʵƦ›óͩɜ—ɛóñԭɛōυȂ̍ƧƦō@ɛƥ—ɛȀ̑œóʷóō̍œƩŏƧОəƧóœς۬Ƨœ@̐óòԫ@̏̍əȀƧʳɝŌóɞƧ˜ƨɜóŐƨò@ȄƧŌρŋóôԪОóʶ@̎óȄ"],
  18443. encodeOffsets: [
  18444. [111870, 29161]
  18445. ]
  18446. }
  18447. }, {
  18448. type: "Feature",
  18449. id: "shan_xi_1",
  18450. properties: {
  18451. name: "陕西",
  18452. cp: [109.5996, 35.6396],
  18453. childNum: 10
  18454. },
  18455. geometry: {
  18456. type: "Polygon",
  18457. coordinates: ["@@ςôöƨɝȂɞȄѶóóͪƨȀóŎƨœ̍ɜƦƦôʸ̒@ɜƧς˜ƪôõô@ƪڔ@ôɜóʶôŌô̒୽Ӓ@Ʀ@Ѻ̎ɜѺɛѶôöʶô™ƨšóʴ߼۰óô̎˜ñƪѸƩτʶ@ȁòŋəѹóǿ̑ʵ@ȁ̒ʷυփô݉ôН̏ط@ȁƨóô̏ƪõ@ʳ̐ʵ@ɝɛŋƩŌɛóןôƧŋ̒ó@ŏ̐ƥ@ŏυ@ƧƧôן̏@ƥȂѹɜəœɛóԭ̎ƥóóœóȀן—ɛô@ŎѹōñƦ"],
  18458. encodeOffsets: [
  18459. [108001, 33705]
  18460. ]
  18461. }
  18462. }, {
  18463. type: "Feature",
  18464. id: "guang_dong",
  18465. properties: {
  18466. name: "广东",
  18467. cp: [113.4668, 22.8076],
  18468. childNum: 21
  18469. },
  18470. geometry: {
  18471. type: "Polygon",
  18472. coordinates: ["@@@Ȃô˜ôƨ̎œ@ɚ̒@ôŐ@ɚѶɜƨȂóφɞȀ@Őƨ@ôƦ@ȄƦŌƥʶƦôôŎôʸ̒›ɜǿƦ˜@ɜƥŎ̎ƨφȁɜŎòƥԮŎƨōóŏɛƧɝəɞƧ߼ɜςȃñȄƦŎ̒ōôòƨəƨ˜ɚН@əƨ̏ƪʵυŌəɛóəԭŏəœóŏѹœρʵɝƦ̏™ƥʳѶ›öō̑óóŋρȀυƧƥɛѹōƧôן—ɛŏѵ@óŋôʵɝ›ƪԩõ@Ƨō̍@Ƨ@@ƦɝԮƪО@@", "@@X¯aWĀ„@l"],
  18473. encodeOffsets: [
  18474. [112411, 21916],
  18475. [116325, 22697]
  18476. ]
  18477. }
  18478. }, {
  18479. type: "Feature",
  18480. id: "ji_lin",
  18481. properties: {
  18482. name: "吉林",
  18483. cp: [126.4746, 43.5938],
  18484. childNum: 9
  18485. },
  18486. geometry: {
  18487. type: "Polygon",
  18488. coordinates: ["@@נ@ôН̎ʵѺòƨōԬŎôȁɜŋѶô̒ŏƦōñǿòƧφ@ƨН̎@@Ȁ̐Őöʷ̐ԫ̎œôȂѺôòŌôƧ̒Őƨ̏̎ȁφ˜@ŋƩͩםȃƨ—@ȁ̑ʶ@Ōóôɛœƥѹ̑—συ݇@ɜρƧȃࢯƨôœəȂɛōƩɛ̏υρóõœƪʴυφ@ʶôŌóœρք@ɜƧ@ɝǿƧͪρȀƩó̏ŐƨȂ̍غړȃɛԮƨͪ̏ςƩœôɚφȁƦôɜƧôʶφȄ"],
  18489. encodeOffsets: [
  18490. [126181, 47341]
  18491. ]
  18492. }
  18493. }, {
  18494. type: "Feature",
  18495. id: "he_bei",
  18496. properties: {
  18497. name: "河北",
  18498. cp: [115.4004, 37.9688],
  18499. childNum: 11
  18500. },
  18501. geometry: {
  18502. type: "MultiPolygon",
  18503. coordinates: [
  18504. ["@@Ʃ̒̏ŌѺ̒Ʃ˜óȄƧŌƥͪòôñȂ̎ŐóȂ̒̐̎›ôНɜ—נ̎ôŋɞȀѶ@ôͪφœƨŌɚœɜȃóƧƨƥƪ˜@ʳƩ›ɞρ݈@υНφʵɜ˜ƦρƨƧ̍ɝóɛѹ̍ρŏ̑ôóƨ@œƧƦôƨɛ@ƥƨ@ȂƦ@@ôəŐƧʶƨŌυœ̍̎ɛŋôōɝ@óƧ̍›ƦʵѵʳôʵɜŏςôƪŋƨŌɚ@ôНƥƧ@ōѸɛ̐ô̎ʵѵНԭ@̍̍Ƨò@ȁɝ@əρυͩƪ̏ƩõƧŎƧōóšॡȄɛʶɜȀ@ɞςѶƧœƥςɛŐ@ɚɜɜ@Ŏôôςœƪς"],
  18505. ["@@õə@Ƨɛ˜@ŐóƦφô"]
  18506. ],
  18507. encodeOffsets: [
  18508. [
  18509. [117271, 40455]
  18510. ],
  18511. [
  18512. [120061, 41040]
  18513. ]
  18514. ]
  18515. }
  18516. }, {
  18517. type: "Feature",
  18518. id: "hu_bei",
  18519. properties: {
  18520. name: "湖北",
  18521. cp: [112.2363, 31.1572],
  18522. childNum: 17
  18523. },
  18524. geometry: {
  18525. type: "Polygon",
  18526. coordinates: ["@@ñȄυƦöŐƩ˜óנƨƨφ@@Ő̏Ʀ@Ő̑ôƨŌנóɜôƪŋɜŌѶօڔə݈òɞōɜŎôӏƦóƨô̒óôȃƨó̎ŐôƧƪ@ƨȁςƧə̑̎Н@̍Ƨŏρôԭͩԫ—̍ʵƧšóȀôɞƧŌ@Őѹͩñ˜òɞñ˜ɛǿƩ˜ɛñρͪ߻Ȃ̑ŏƪəƩóםôõŏƧ@ɛНƥȄó›̑ѺƧ›ôφóƨƨƦƪóɜŐôóòôƨóφ̐ƨóƦ̎"],
  18527. encodeOffsets: [
  18528. [112860, 31905]
  18529. ]
  18530. }
  18531. }, {
  18532. type: "Feature",
  18533. id: "gui_zhou",
  18534. properties: {
  18535. name: "贵州",
  18536. cp: [106.6113, 26.9385],
  18537. childNum: 9
  18538. },
  18539. geometry: {
  18540. type: "Polygon",
  18541. coordinates: ["@@ɜȀƦŋԮ˜ô̒ɚ˜ôōעƪƧʴɝ@ɛʶ̒ʶ̐ȁƦœóȂô@ôŏ@ōô—ƨʶѸô@ʶƨ˜ɞó@ōτöòυƨ@@əƨô@ɛ̒@Ʀɜôȃ@̍ôʵԩНôóςŌƨŋ@ȃƧñôŏƧɛƨ—ôɝƧʵ̍œôȃυœ@ɝɛȂƥóóȁɛóõôɛ@əͪɛŋôȁƩóםȃ@ƥƧŏړʶѹ̍ƥŌƦȂóôɜƨѵО̎נəɜѹŋƧȂ@ȀóœɜͪɞƧ"],
  18542. encodeOffsets: [
  18543. [106651, 27901]
  18544. ]
  18545. }
  18546. }, {
  18547. type: "Feature",
  18548. id: "shan_dong",
  18549. properties: {
  18550. name: "山东",
  18551. cp: [118.7402, 36.4307],
  18552. childNum: 17
  18553. },
  18554. geometry: {
  18555. type: "Polygon",
  18556. coordinates: ["@@Ʃ̐φͪɚςɞ@@Ȃƨñ̎̎Ԯ@ѶОƨƧڔ@φН̑ŋ@Ʃ̒ǿ̎@ƨɜԬςôʶ̐ʶöԫƨƧנƥɜŎôō̎@ôŏóρƧŏԫôóƧԩó@ƥɜƧԭóƨʵɛƨ߻ӑɜНԩ˜óô̑óƧʳə™óɛƧ@õȀƧœ̍ȃɛŐóŏυО̍—óɝƩ—ԩ@ƧɚԫȄɚʶƨ˜ɞʶԪ̐ړɛƪ̒"],
  18557. encodeOffsets: [
  18558. [118261, 37036]
  18559. ]
  18560. }
  18561. }, {
  18562. type: "Feature",
  18563. id: "jiang_xi",
  18564. properties: {
  18565. name: "江西",
  18566. cp: [116.0156, 27.29],
  18567. childNum: 11
  18568. },
  18569. geometry: {
  18570. type: "Polygon",
  18571. coordinates: ["@@ƧȄôɚəȄ̎ʶԬ˜ԮͪςóƨŐƪ›τɞƦōƥƧ@ŏςôóŐôô̒ʷѶ—ƪƩƩǿ@ō̒ɛôυ@—Ƨȁѹɛəƨѹ̑ƨ̏óƥѵʷô̍ɛȁôŏɝǿƧԫƧ›ôʳƥōòȃρȄ߻ɛɝƨɞɚɜƨôŐƧŎԭōñƦòԮɜôɛ˜ôͪƥœ@ʶƧƨôƦƧô@Ȅô̎Ѷͪ"],
  18572. encodeOffsets: [
  18573. [117e3, 29025]
  18574. ]
  18575. }
  18576. }, {
  18577. type: "Feature",
  18578. id: "he_nan",
  18579. properties: {
  18580. name: "河南",
  18581. cp: [113.4668, 33.8818],
  18582. childNum: 17
  18583. },
  18584. geometry: {
  18585. type: "Polygon",
  18586. coordinates: ["@@φ˜̎ƪ̐˜ɞȄɚ@@Ȃעó̎ŌѺ̒ôֆॢȃô™ƨŎƨōƪöƩ̑ڔɜԩ̏ɝʵƧ—əʵԬȃƨəԪ@@Ƨ̒ŏô̍υȁƧɚ̍ôóŋ@ɝƧŋõ̑σ—@ŏɜŋôɝ̒ƧɚôôطρóóɛƩ@óƨ̍ŏƧôóȄ̑ôƧóƥôóӐɛōɝŎ݇ñړɚѵֆ@ɞ̏ʶ@ʴƩöó̐"],
  18587. encodeOffsets: [
  18588. [113040, 35416]
  18589. ]
  18590. }
  18591. }, {
  18592. type: "Feature",
  18593. id: "liao_ning",
  18594. properties: {
  18595. name: "辽宁",
  18596. cp: [122.3438, 41.0889],
  18597. childNum: 14
  18598. },
  18599. geometry: {
  18600. type: "Polygon",
  18601. coordinates: ["@@ƨʴƧôôӔƨô̎ƩɞН̎ͪ߼ͪɜ—ɞɚ̐—@ƨςŏ̒ôƦƨɜœô̎ƪôςǿƨͩɞȀƨ@@ɛςփô›óŋ@ʵφυƩʳö›॥փρѹס@əɛ@ͩࢯ@ѹʵρ—ƩʶφȀƧ݈̒۬óʸɝŎѵ@ԭԫןɛƧƨƥςɛ—υʶφО"],
  18602. encodeOffsets: [
  18603. [122131, 42301]
  18604. ]
  18605. }
  18606. }, {
  18607. type: "Feature",
  18608. id: "shan_xi_2",
  18609. properties: {
  18610. name: "山西",
  18611. cp: [112.4121, 37.6611],
  18612. childNum: 11
  18613. },
  18614. geometry: {
  18615. type: "Polygon",
  18616. coordinates: ["@@ɚѺñŌɚšôȄѺ›̎ֆφóςȂ̒—ɜƨɚ@@Ȁƨŋôȃƪ—ѹ̑̐ŋƪ̑Ʃρρ›óó@ōɛɛ@əɜŏƦρƨ›ρѵ@ɝɛǿɜʵóօѹ̑̍ŋסô@ȁə@ɝȃ̏—̍Ʃυ—Ƨô@Ȃ̐ظóОó݊φք̑ʸ@Ȃ̒ʶôȀ"],
  18617. encodeOffsets: [
  18618. [113581, 39645]
  18619. ]
  18620. }
  18621. }, {
  18622. type: "Feature",
  18623. id: "an_hui",
  18624. properties: {
  18625. name: "安徽",
  18626. cp: [117.2461, 32.0361],
  18627. childNum: 17
  18628. },
  18629. geometry: {
  18630. type: "Polygon",
  18631. coordinates: ["@@ó̎̑Ő@ƨƪ˜Ѷǿɜ̑φ—Ʀʵ̐˜Ƨѵôóƪôôυς—ƨȂɞŏ@̍ԫôò̑ƥ—óȃѶͩƧƥôŏѺœôŏƦ—@›ƥͩƧ—ôȁυó@̑ƧɛѵʵƩƪѵ˜̑ʸóóôŏρó@ŐƦƨƥŎσɝƩœ@̎̍Оɚ̒ρƨƧȂôɜςôóظəó̑ƨóɞɛŌ@Őτ˜ö̒ƨŌ@ɞôŌ̎óƨəφȂ"],
  18632. encodeOffsets: [
  18633. [119431, 34741]
  18634. ]
  18635. }
  18636. }, {
  18637. type: "Feature",
  18638. id: "fu_jian",
  18639. properties: {
  18640. name: "福建",
  18641. cp: [118.3008, 25.9277],
  18642. childNum: 9
  18643. },
  18644. geometry: {
  18645. type: "Polygon",
  18646. coordinates: ["@@̎›óȁƨӑ̒—̎ɚƨͩφŐƨɝ̎ŋóŏρ—@ōƨ›òʳəóƨō̏˜õɛƧ@ƨѵƧōəŏóŋƧô̑ɝɛʳƥ@@óɛõ@Ƨ̑ƧóȁəƧ̑—Ƨ̐@ɚəОƧ—Ƨɚóñ̑ŎóʴƨœƨԬɞȀóŐɜȂó̎ѶʸôƦƧ̐Ѻ̒ɚƧѺɜƨȂ"],
  18647. encodeOffsets: [
  18648. [121321, 28981]
  18649. ]
  18650. }
  18651. }, {
  18652. type: "Feature",
  18653. id: "zhe_jiang",
  18654. properties: {
  18655. name: "浙江",
  18656. cp: [120.498, 29.0918],
  18657. childNum: 11
  18658. },
  18659. geometry: {
  18660. type: "Polygon",
  18661. coordinates: ["@@Ѷʶƨɜ@̒φôóȂƨ˜Ʀͪ@œ̐˜Ѹ̍τȂ̒̑נŐמôƪƧôӑ̑›@ƥρͩƨօ̏@@υɝó@ŋɛ@ôƩəóƧѵυó@ƩɜŋƧ@̍ŌƧɞυŏƧͪ̍ə̑˜ƧӒôȂ̍œ@˜óφ̑ɜ@ŎƪȀ"],
  18662. encodeOffsets: [
  18663. [121051, 30105]
  18664. ]
  18665. }
  18666. }, {
  18667. type: "Feature",
  18668. id: "jiang_su",
  18669. properties: {
  18670. name: "江苏",
  18671. cp: [120.0586, 32.915],
  18672. childNum: 13
  18673. },
  18674. geometry: {
  18675. type: "Polygon",
  18676. coordinates: ["@@ôɞ̎˜φНôŐɜŏ̎Ȅƨ›öǿƨ@ôɜɚšƨʴ̒ôôó@Ƨ̎əԮȃԪૉöͩ̐ƧòʵφƧôʵ@óړɜóŏɜǿƧ›ɝρσȁѷ̎̏—ƥ˜óŐѹ›óŐƨƦѵͪôȄƦ˜ñ̒Ԭó@̎ɝŐƧȁρ˜óφƩóóôƨѶ̏—ƥʶυ˜ɛ̒ѵȀ"],
  18677. encodeOffsets: [
  18678. [119161, 35460]
  18679. ]
  18680. }
  18681. }, {
  18682. type: "Feature",
  18683. id: "chong_qing",
  18684. properties: {
  18685. name: "重庆",
  18686. cp: [107.7539, 30.1904],
  18687. childNum: 40
  18688. },
  18689. geometry: {
  18690. type: "Polygon",
  18691. coordinates: ["@@əȂòɜƨ˜ѺɛƦȁ̐@ƪ—õŏφƥòȃƥ̍Ƨôυ̏ƧôñóóôɛŏƩôƧƥôƧóυƨœ̒ѹôœƦȃ@փƥɛ̑@@ɜƧó@ɚƧ@ñφσõ@ŎɝôƧ—@ʵѷóƧʵó˜@ŎóŐó@ôȁƥ›ó̒υôóʶə˜ƧȄς̎ƧȂôƨƨƨφɛ̎Őƨʷɞ@ςԮóŌôôφ@ɜֈ̎ƨ"],
  18692. encodeOffsets: [
  18693. [111150, 32446]
  18694. ]
  18695. }
  18696. }, {
  18697. type: "Feature",
  18698. id: "ning_xia",
  18699. properties: {
  18700. name: "宁夏",
  18701. cp: [105.9961, 37.3096],
  18702. childNum: 5
  18703. },
  18704. geometry: {
  18705. type: "Polygon",
  18706. coordinates: ["@@ల̒ôޠφӒςôƪͧυևɜŋѺó̎ȁ̍ɛ@ѹס@@ʵƧȁôó@ǿ̐ŏöʵɝŋɛ@ô̑ƥóóƨƧ—ó˜ôœó@ƩôóƦ̍œóȀƨŎɛӒôŐυͪɛ@@Ȁə@"],
  18707. encodeOffsets: [
  18708. [106831, 38340]
  18709. ]
  18710. }
  18711. }, {
  18712. type: "Feature",
  18713. id: "hai_nan",
  18714. properties: {
  18715. name: "海南",
  18716. cp: [109.9512, 19.2041],
  18717. childNum: 18
  18718. },
  18719. geometry: {
  18720. type: "Polygon",
  18721. coordinates: ["@@φɜƦʶ̐ôφô̎@ƨŎö@τʵƦ˜ԩ۫õН̏óƥȃƧ@Ʃəםƨ̑Ʀ@ޤ"],
  18722. encodeOffsets: [
  18723. [111240, 19846]
  18724. ]
  18725. }
  18726. }, {
  18727. type: "Feature",
  18728. id: "tai_wan",
  18729. properties: {
  18730. name: "台湾",
  18731. cp: [121.0254, 23.5986],
  18732. childNum: 1
  18733. },
  18734. geometry: {
  18735. type: "Polygon",
  18736. coordinates: ["@@ô—ƩɝöƧɝѵəޣ̏ρƩԭóōóͪρɞƧОôԪ݈ଦѶɜ̒ɛ"],
  18737. encodeOffsets: [
  18738. [124831, 25650]
  18739. ]
  18740. }
  18741. }, {
  18742. type: "Feature",
  18743. id: "bei_jing",
  18744. properties: {
  18745. name: "北京",
  18746. cp: [116.4551, 40.2539],
  18747. childNum: 19
  18748. },
  18749. geometry: {
  18750. type: "Polygon",
  18751. coordinates: ["@@óóó›υóôƥ@ŏóóə@ƧŋƩŌρóɛŐóʶѶʴƥʶ̎œôƨɞ@óŎɜŌ̎̍φ›Ƨŋƨʵ"],
  18752. encodeOffsets: [
  18753. [120241, 41176]
  18754. ]
  18755. }
  18756. }, {
  18757. type: "Feature",
  18758. id: "tian_jin",
  18759. properties: {
  18760. name: "天津",
  18761. cp: [117.4219, 39.4189],
  18762. childNum: 18
  18763. },
  18764. geometry: {
  18765. type: "Polygon",
  18766. coordinates: ["@@ôôɜ—@ƨöɚôœôôɚŏ@óƥ@@ȁƦƧɜ@óƧƨƥ@›ƧóəН̏óѷɜ@ŎƦƨóО"],
  18767. encodeOffsets: [
  18768. [119610, 40545]
  18769. ]
  18770. }
  18771. }, {
  18772. type: "Feature",
  18773. id: "shang_hai",
  18774. properties: {
  18775. name: "上海",
  18776. cp: [121.4648, 31.2891],
  18777. childNum: 19
  18778. },
  18779. geometry: {
  18780. type: "Polygon",
  18781. coordinates: ["@@ɞςƨœɛȀôŐڔɛóυô̍ןŏ̑̒"],
  18782. encodeOffsets: [
  18783. [123840, 31771]
  18784. ]
  18785. }
  18786. }, {
  18787. type: "Feature",
  18788. id: "xiang_gang",
  18789. properties: {
  18790. name: "香港",
  18791. cp: [114.2578, 22.3242],
  18792. childNum: 1
  18793. },
  18794. geometry: {
  18795. type: "Polygon",
  18796. coordinates: ["@@óɛƩ@ρ@óœôȀɚŎƨ@ö@@ōƨ@"],
  18797. encodeOffsets: [
  18798. [117361, 22950]
  18799. ]
  18800. }
  18801. }, {
  18802. type: "Feature",
  18803. id: "ao_men",
  18804. properties: {
  18805. name: "澳门",
  18806. cp: [113.5547, 22.1484],
  18807. childNum: 1
  18808. },
  18809. geometry: {
  18810. type: "Polygon",
  18811. coordinates: ["@@X¯aWĀ„@l"],
  18812. encodeOffsets: [
  18813. [116325, 22697]
  18814. ]
  18815. }
  18816. }],
  18817. UTF8Encoding: !0
  18818. }
  18819. }), i("echarts/util/mapData/geoJson/chong_qing_geo", [], function() {
  18820. return {
  18821. type: "FeatureCollection",
  18822. features: [{
  18823. type: "Feature",
  18824. id: "500242",
  18825. properties: {
  18826. name: "酉阳土家族苗族自治县",
  18827. cp: [108.8196, 28.8666],
  18828. childNum: 1
  18829. },
  18830. geometry: {
  18831. type: "Polygon",
  18832. coordinates: ["@@XJ°œlJX@lbl@XbV@VLnJlxnbšƒUU@IVK@lVIVwnJlU@n@J@L@Jn@l_nWVLVln@@blLšmV@@xœÔ‚`nœ™xV‚ÈLlx„LVxVVšƒV_U»VWn_m¥XwVmnX°ƒlmUUVwÞaVƒk@a@mmIUa@™mwk@™ƒm@@U¯a@UV@@K™@ykkmwkV@kU@ƒÑƒVkKWLÅamaUm@kyU@WkU@Ua™IUašVaUUmUUa@aVLXKWa¯UUbmJXnWnX`l@@xkzWÆ@V„LU¦‚x@b@JkIkJ@LmbUamJwm@óxƒnk@V„@x„ŽVnUVmVUVŽUbVlUbkXWŽ"],
  18833. encodeOffsets: [
  18834. [110914, 29695]
  18835. ]
  18836. }
  18837. }, {
  18838. type: "Feature",
  18839. id: "500236",
  18840. properties: {
  18841. name: "奉节县",
  18842. cp: [109.3909, 30.9265],
  18843. childNum: 1
  18844. },
  18845. geometry: {
  18846. type: "Polygon",
  18847. coordinates: ["@@WVXb‚UnK@x@b‚²kxmKkl¯_ƒVV°™VU@bnKVVV@@nkŽ@n›bn‚@š°@VLČUš@°WV@V™nU@InKVl@nU„b˜KnX„WlknLlKUwnalLša„VlUXmWk@UU@UWWIUyķ¹XaWW@X™ƒKUIVm„U@W@UVU@KV@n»VkUkÇmUmVIUmULUbm@ƒwUaƒKkkm¯ÑUL@bWVnx@VmxUI@„klmkkK@aƒK@IlJ@I¯ƒk@mak@mnkJVL@bV@Ub„„W`UUUV™I@VƒU@VVbUJVLUVVbUX„VVxk¦VJUnVxnVVUšJV@Ubl@@bXV@L"],
  18848. encodeOffsets: [
  18849. [111781, 31658]
  18850. ]
  18851. }
  18852. }, {
  18853. type: "Feature",
  18854. id: "500238",
  18855. properties: {
  18856. name: "巫溪县",
  18857. cp: [109.3359, 31.4813],
  18858. childNum: 1
  18859. },
  18860. geometry: {
  18861. type: "Polygon",
  18862. coordinates: ["@@nLWbX‚VLVU„V@KšIVl@b„@lbšU„VnU@JÆU@V@n°KĢUl@VbÞKšVš@„_„V‚KXU‚U@KXƒ@wlkkU@mWKUU@UôJ@XV@œaVmÞIVaVLƒƒ@»kmƒ@ƒUkL™U@aU@WWƒLUUU™™KkbƒwWa@KU@kaƒXmW—LƒamVk@UmL@JmVUšU@¯X™@ċVUK¯@ÅnWK™LkKULWK@UXK@wW@™LkV@bVLƒlXn›`¯xU„°LnŽlV@n°Lnl"],
  18863. encodeOffsets: [
  18864. [111488, 32361]
  18865. ]
  18866. }
  18867. }, {
  18868. type: "Feature",
  18869. id: "500234",
  18870. properties: {
  18871. name: "开县",
  18872. cp: [108.4131, 31.2561],
  18873. childNum: 1
  18874. },
  18875. geometry: {
  18876. type: "Polygon",
  18877. coordinates: ["@@n@na‚I„wš@@VVK„LVbVxnVÆUnanKWXamKmk¯K@mkUm¯KVƒ°w@Wm@UIUUlKUU@a¯KWanwmUXamKkUWUnU@KƒkUwWKXaWLUWkImaUUUƒƒKka±k@lƒ¯w™wmbUƒ™ƒkXm@UJkIW‚XXƒbƒmƒ„UJ™XUV@°šKlšlVXV@xmbnV@blV@VšœU`UL@V™a@bULlb°VXbܚ@V@bƒL@J„xnLVb@lVb@V@@z˜bXWšX„KVLV‚š@@bUVVL@b„„lVna@ll@„zl@@J"],
  18878. encodeOffsets: [
  18879. [111150, 32434]
  18880. ]
  18881. }
  18882. }, {
  18883. type: "Feature",
  18884. id: "500243",
  18885. properties: {
  18886. name: "彭水苗族土家族自治县",
  18887. cp: [108.2043, 29.3994],
  18888. childNum: 1
  18889. },
  18890. geometry: {
  18891. type: "Polygon",
  18892. coordinates: ["@@„Jlb@nVV@bXb@ÆlL„Ul`nVKU¼VxkbW„nlUxlXX‚@°°WnnJ@VUn@J„k°L@VlV@nUJ„x@bVVVz@VnLla„KnalVlIUŽ„¼@nV@@anKUwVal@UlJœƒlI@akU@UWXKVI‚¯Uak@@KmkXWÜkXWykIWwXw@laXamkVUUym_XmlkkmmakwmIUKU@Wak@kaW@kI¯›WIk¦VŽƒUUƒmaUV@XkVUV±aUb¯b¯¥m@@ImJ—@mƒmL@kUKUkkJƒbV¦"],
  18893. encodeOffsets: [
  18894. [110408, 29729]
  18895. ]
  18896. }
  18897. }, {
  18898. type: "Feature",
  18899. id: "500235",
  18900. properties: {
  18901. name: "云阳县",
  18902. cp: [108.8306, 31.0089],
  18903. childNum: 1
  18904. },
  18905. geometry: {
  18906. type: "Polygon",
  18907. coordinates: ["@@lb„LV„VVnblJVXXKWbXLVx„l@LmVXVVl‚nLWbnVmxXb°L@bVVkLVVVJn@@X‚‚œ_Wm„kUK@alUšKX@@xWL@VXLVKlLšKXLÆm@™mœa@ml@mU@UUmL@aVšUU¯„U°`lknLlw±@a@wmLVWaXU@KWU@ak@VaU@™IUVmUUwVmUIl¥UwƒUVWUaVUUKVIUa@UUUUJƒUUm™kƒ„nl@„@VWV@L¯aUb™Ulxƒ@@b@VULUx@VUxVV™U@bU@mxU„U@mUVŽklkkƒ@WxknlxK@amLƒKU„K"],
  18908. encodeOffsets: [
  18909. [111016, 31742]
  18910. ]
  18911. }
  18912. }, {
  18913. type: "Feature",
  18914. id: "500101",
  18915. properties: {
  18916. name: "万州区",
  18917. cp: [108.3911, 30.6958],
  18918. childNum: 1
  18919. },
  18920. geometry: {
  18921. type: "Polygon",
  18922. coordinates: ["@@ĸĊVI„ƒ„n„aWWXlJVIn@lWš„V„našx°xk„l@²Ž‚LVƒ„LnK@b‚LkwlmXw„@lllkUnVV@VƒnwV@@ašVUUVw@UVwVK@U@a„@kwšVVa°b@KXU@U@ƒmk„ƒÇсaml™kUVmn@VULU˜m@kUVkUaƒwUWm@Uw¯„mKUUmVUUULUKU„W@XbWVkaWwkUU™ƒ™k@maUbmbVlk¦ƒxUVUIWVU„kJVVkL@UmJ™UUVU@lLUVU„lx„@@VbƒJ™U™L¯¤@Vƒ„"],
  18923. encodeOffsets: [
  18924. [110464, 31551]
  18925. ]
  18926. }
  18927. }, {
  18928. type: "Feature",
  18929. id: "500229",
  18930. properties: {
  18931. name: "城口县",
  18932. cp: [108.7756, 31.9098],
  18933. childNum: 1
  18934. },
  18935. geometry: {
  18936. type: "Polygon",
  18937. coordinates: ["@@VK@w¯L@m@UÅV@ImVƒU™Vkaƒ@@aUk™J@LƒUUVUKmLmbÅVmUUwUaƒKUL@U™@ƒxJmbm@nVJ@X@VkV‚n™lƒLXx™@ƒb@bUVƒLU`UnƒbU@@ŽmVVX@JX@VLVVšklV—„‚`@bUL@V„LVKn@‚U@„UJkn@lmLmK@X@Jn@mb„nÞWVXnJ‚k„KČÑÆ@VK@knaÜmXlUČW°kôÇÆ@a@yÞ_VmƒUnU@K"],
  18938. encodeOffsets: [
  18939. [111893, 32513]
  18940. ]
  18941. }
  18942. }, {
  18943. type: "Feature",
  18944. id: "500116",
  18945. properties: {
  18946. name: "江津区",
  18947. cp: [106.2158, 28.9874],
  18948. childNum: 1
  18949. },
  18950. geometry: {
  18951. type: "Polygon",
  18952. coordinates: ["@@„InWUUlU@LVašlX@°²lÒXxlK@Ul@@Un@UaVJ@I@W@UƒUUVUwVIUKUa‚UUVwn@Üx@XUlnn‚bœJ@¥VklKUUlk@ynU@kVƒUUVWnI@¥V£VWVIUKU@UVƒa@n@Vm@@nlUaVkUwƒJ@blLkLW@XWmXkmmLn™@m@U@UVm@™„UVUUlakUVa„ƒVkV@@wnaWUk@VwkƒlmVIkUUxmJ@U„™@KƒIkx±V@IUm@K@IUKkbWKUbn„m„@bmVnbmb@xkxUJ@ULW`@bX@WVXL@Vƒš¯„mk¯@UJ@VmLUaWnX@WJ@nkKkxW@UIV@@KkImmkK@UW@XaWIU@U‚ƒIkbWb„xXŽlLVbnV@bWlX@VxVLnl@nÆÞVÜ"],
  18953. encodeOffsets: [
  18954. [108585, 30032]
  18955. ]
  18956. }
  18957. }, {
  18958. type: "Feature",
  18959. id: "500240",
  18960. properties: {
  18961. name: "石柱土家族自治县",
  18962. cp: [108.2813, 30.1025],
  18963. childNum: 1
  18964. },
  18965. geometry: {
  18966. type: "Polygon",
  18967. coordinates: ["@@„š@kl@š¼UbmVXJ@bV@nxVIVJULVVk@@LWbnJVU@bVbUJ@blLXnWV—@mbnV‚@V„„bn@VJVLnaVanbl@„šVšlVXxlbXUWaX@VƒUUVwUUVm@I@WmI@a„mlLœ™lK@alwnUV@kóVaƒÝk@UlbVK@™VU»VUUVWUƒ@U`ULkwm@@KmU@knKƒ»VkJkUmbƒLkbmK@UUyUU@aƒwm@@XXJ@VVLVVUbVnUJVX@K„„k`WXXJWXUbmW@bkL™Um`Xnƒb@JVL@LU@™°VVXKVnUxVLUbmJ"],
  18968. encodeOffsets: [
  18969. [110588, 30769]
  18970. ]
  18971. }
  18972. }, {
  18973. type: "Feature",
  18974. id: "500237",
  18975. properties: {
  18976. name: "巫山县",
  18977. cp: [109.8853, 31.1188],
  18978. childNum: 1
  18979. },
  18980. geometry: {
  18981. type: "Polygon",
  18982. coordinates: ["@@kVƒU™bkKmbVxkLmKkllbV@@LXb„xlašLVšVV„KXXV@@bšVlK„V„@ln@¼°KXa„U@Ulw°JXalIUa„ÝWXW@kVU@ƒVUVWUUUamUw@aVamwn@VUUƒlLXWm£@wÇĉkKklmLUÒ¯ƒWn™@ğ±kwmaWm¼U@@LUV@V@XƒVUnVJ„LWš@‚XXWbĸºVzXJVXV@@VXlWn"],
  18983. encodeOffsets: [
  18984. [112399, 31917]
  18985. ]
  18986. }
  18987. }, {
  18988. type: "Feature",
  18989. id: "500102",
  18990. properties: {
  18991. name: "涪陵区",
  18992. cp: [107.3364, 29.6796],
  18993. childNum: 1
  18994. },
  18995. geometry: {
  18996. type: "Polygon",
  18997. coordinates: ["@@nèVblĖVVnLšŽ„@šx‚V„n@nšJ@L„UVVX@lbUJV@@nn@VVVK@z„˜V@nzVJVUlmX@@_VVVbnaVal@@knW@wnaƒVK@aVI„J@£kUVW@‚wXUVJ„amƒ@Ikƒƒƒƒ_X¥ƒ@WwkKkwmŽ™šƒkUxƒnÅmm¥™WV@Um@UlVL@JU@@Xƒ@UVkKVk™KVk™Kkb@bmJVXU„VVUbU@@`W_UV¯b"],
  18998. encodeOffsets: [
  18999. [109508, 30207]
  19000. ]
  19001. }
  19002. }, {
  19003. type: "Feature",
  19004. id: "500230",
  19005. properties: {
  19006. name: "丰都县",
  19007. cp: [107.8418, 29.9048],
  19008. childNum: 1
  19009. },
  19010. geometry: {
  19011. type: "Polygon",
  19012. coordinates: ["@@Þè@XUK@LlV@blbUJ@„„V@bnV‚@VVVXU@ƒlbXal@VXnKV@maXUރ@amk@aVKXV‚anbš£°mnIVaUKVwUmWLUUš¯V@@KUK@I„aWmn_šVlK@anXVaXWWIXWl_ƒƒ@LUWVIUmVaUUUK@UWI@Wn@VI@mkU@U¯Kƒl@ImVÅLƒwU¤óbUU@wWXkmm@LU@@VUIWVUL@JUnƒaƒx@Jn„ƒbUIWVx@ŽUXlV@¤ƒIUJ@bUL„Žmb@xmX@lk@UbmbUaUU@`W@kn"],
  19013. encodeOffsets: [
  19014. [110048, 30713]
  19015. ]
  19016. }
  19017. }, {
  19018. type: "Feature",
  19019. id: "500232",
  19020. properties: {
  19021. name: "武隆县",
  19022. cp: [107.655, 29.35],
  19023. childNum: 1
  19024. },
  19025. geometry: {
  19026. type: "Polygon",
  19027. coordinates: ["@@l„„w„bVm@IVKXUVJ@UV@@KnnWlX@xVVôaV£„xÆKnUVm@UmIXm¯¯@WkWVwmkXƒlaUwV»ULmk_ƒVkK@ÅWa@aUU@mkaƒIƒb@‚n¼ƒnm‚_@mmK@UƒLUVVmI@aUJ@XWJ@U`UIkm±kk@@lULmUmKUnVšnlUVmI@VkVlx™bkIƒVmLUxkKUŽ‚Xš‚n¦Æn„mVw„lš™nlxlLXx„@W¦„`„„"],
  19028. encodeOffsets: [
  19029. [110262, 30291]
  19030. ]
  19031. }
  19032. }, {
  19033. type: "Feature",
  19034. id: "500119",
  19035. properties: {
  19036. name: "南川区",
  19037. cp: [107.1716, 29.1302],
  19038. childNum: 1
  19039. },
  19040. geometry: {
  19041. type: "Polygon",
  19042. coordinates: ["@@VšUbVJVUn@VLX@WVXVVI@VUVWxU@mš@ĊX@@¼V°aVUX`@_V@VaUUVƒUWnI@alašLUlšLUllLVU„@@WV@@IUKVkn@@VlLVwnK„UlJšakwlU@UnJVUmkU™VmXa@wVK@UUw™@VƒVI@akƒ@alInwlKXUmaUW@wWLk™™KVak_ÇaUƒƒV@šXbƒLVxUlWIk@UK@V™@ƒkU@VbUVUlVnƒLUV@lVXmxkV@L@V@Vk@WbUwmL@JUI@xVxkx"],
  19043. encodeOffsets: [
  19044. [109463, 29830]
  19045. ]
  19046. }
  19047. }, {
  19048. type: "Feature",
  19049. id: "500241",
  19050. properties: {
  19051. name: "秀山土家族苗族自治县",
  19052. cp: [109.0173, 28.5205],
  19053. childNum: 1
  19054. },
  19055. geometry: {
  19056. type: "Polygon",
  19057. coordinates: ["@@XlV@lzn@VŽnbÆbXKlL„U„ÒV@@llUnxll@zšŽ@LU@@V°b@Vn@š„l@VÑUƒnK@UšU@aUaƒkVm@K¯wƒklmnn„Ul`nI@almkIUwmWVkUaƒkkJmUUa@K@aU@@_m@@wUyVUUa@Umƒ@awl@Wka±„UkUykIWV™b@bUVk@›aU@UXU‚UIWakUWmUxUV@nUVWbšŽ@XXVVŽmXXŽ@VƒbVLkVWx"],
  19058. encodeOffsets: [
  19059. [111330, 29183]
  19060. ]
  19061. }
  19062. }, {
  19063. type: "Feature",
  19064. id: "500114",
  19065. properties: {
  19066. name: "黔江区",
  19067. cp: [108.7207, 29.4708],
  19068. childNum: 1
  19069. },
  19070. geometry: {
  19071. type: "Polygon",
  19072. coordinates: ["@@VX@V@LV@VJUL@lVnnxlb@VXV‚XV@@W„@UIVK@kUKna@£VWUaVUUalIVJVIUW„_lm@bXKV@mn@J„UUw@KnIVll@VanLVmUkVKXLVKUIVamw@UaU_lw„KlwUWV_Ua@aUa@KUšwm›_›Ó@wU@™nkK@am@UkUKmXk`m@@I@K@I@mkVmIUxUJ@kUL@JVV™„lnklWnn`VzUVnlWbkb@WxXxlJXzWŽÛlWXnl@Ll@Vb°UJWLX@VlV@bkJ"],
  19073. encodeOffsets: [
  19074. [111106, 30420]
  19075. ]
  19076. }
  19077. }, {
  19078. type: "Feature",
  19079. id: "500117",
  19080. properties: {
  19081. name: "合川区",
  19082. cp: [106.3257, 30.108],
  19083. childNum: 1
  19084. },
  19085. geometry: {
  19086. type: "Polygon",
  19087. coordinates: ["@@XKVXlK„ƒVL@UnV@aValXXK„U@WVwUaVU@IV@@aVW„L@U@anVV@@bVK@UVL@bnJWL@VnUnb˜@@JnIlVl‚@@bXIWbn@UKVLVKXLlaV@VVnK@bVL„m„IVƒ@KmknUUWVI@aVJ@_„WU_VmUwƒU@K™ƒVak@am¯mJU_UJUkU@WkIV`UI@JV@LmmU@@mƒbUzś™@„VK@nUKƒ„ƒb™akb@UWK@bkVVbV„Û@@`ƒXk@WŽ@n@lXL@bmb@VVJUn@JnUlnUlmX@`XLlbkJW@kzlb@`@b@b"],
  19088. encodeOffsets: [
  19089. [108529, 31101]
  19090. ]
  19091. }
  19092. }, {
  19093. type: "Feature",
  19094. id: "500222",
  19095. properties: {
  19096. name: "綦江县",
  19097. cp: [106.6553, 28.8171],
  19098. childNum: 1
  19099. },
  19100. geometry: {
  19101. type: "Polygon",
  19102. coordinates: ["@@@¦‚@X„lVX@@UVKl„VUX@lanVlUVbXWVXVƒ„VVUnKVUlwUwU@UJ@nmVkUV™lwXam@VaUUUw@W@kk»mV@UmKkwVKVUU@@LUKVI@mV@XVWxnXVKUUUK@wWU@UUWnUlLXa‚mUI„am@wI@K@amIm‚UUkI@m‚akUkKWUUanƒ@wƒamLVxk@UVmUUL@Vm@kV@I@ak@@bWVXJlLVbVL@š@bn@@`Un„@WbUKULWVXbƒ@UVmbX„WVƒb@bVmxUKUƒV@šUn@V@V@nmšnKlnnWWXX@lKkK@a„IVxUlVb‚k@mn@@U@m„bVUV@VLUJUXU¤"],
  19103. encodeOffsets: [
  19104. [109137, 29779]
  19105. ]
  19106. }
  19107. }, {
  19108. type: "Feature",
  19109. id: "500233",
  19110. properties: {
  19111. name: "忠县",
  19112. cp: [107.8967, 30.3223],
  19113. childNum: 1
  19114. },
  19115. geometry: {
  19116. type: "Polygon",
  19117. coordinates: ["@@VLÞĊ„U@Wš@¼V‚„@lk@w²mlšVUœ„llšVnI@VlKUUlIVƒXUVJVU„wl¥UkUKUIm@ƒaUƒ@mUna˜@XUWmkK@aVIUa@aUVmIXa@Kl@UUVKUIUJmwU@@aWInUVa™»k@@lƒ™¯n™¤mabWUUL@bnl@b݄WVnbU@mLUWk@Wbka@„WVUU@UmUmVkUULV„lVUx„l@L@VƒbÈÒlb"],
  19118. encodeOffsets: [
  19119. [110239, 31146]
  19120. ]
  19121. }
  19122. }, {
  19123. type: "Feature",
  19124. id: "500228",
  19125. properties: {
  19126. name: "梁平县",
  19127. cp: [107.7429, 30.6519],
  19128. childNum: 1
  19129. },
  19130. geometry: {
  19131. type: "Polygon",
  19132. coordinates: ["@@XLV@VV@b°°nšƒnkb@bƒšnJWVXblIUVšxWnUJnVVLVU„JlUnLVK@UnUVJš²nKVbVKla@aXlJ„k„Klb„ƒ@U°£šKšV„IUa@ƒ@kwVƒVUkKV@VUkk›ƒUVk™±n@xklƒ@U@»™‚@XƒVÝĉUJnxWb@UX›KkVUbUKWUkVmkkLU`›b"],
  19133. encodeOffsets: [
  19134. [109980, 31247]
  19135. ]
  19136. }
  19137. }, {
  19138. type: "Feature",
  19139. id: "500113",
  19140. properties: {
  19141. name: "巴南区",
  19142. cp: [106.7322, 29.4214],
  19143. childNum: 1
  19144. },
  19145. geometry: {
  19146. type: "Polygon",
  19147. coordinates: ["@@nxnVlJlUXLƒ¦@x@Vl@nKVVX@V_V@@KlVXU„@lKlxXIl@ÈĊ@Vl@n_VJlŽnVlnb„²VVVJVVmUUkĕUamçU@»W@@ĉn™V@XwVU@UUJWUXUW@UKm@UVUIVaU™UVmLUVƒUU„UWWXUakVmUkbW@UVkƒUL@VW@kUWƒ@mJUXVVU„@lmV@zklVVkLUl@¦›I"],
  19148. encodeOffsets: [
  19149. [108990, 30061]
  19150. ]
  19151. }
  19152. }, {
  19153. type: "Feature",
  19154. id: "500223",
  19155. properties: {
  19156. name: "潼南县",
  19157. cp: [105.7764, 30.1135],
  19158. childNum: 1
  19159. },
  19160. geometry: {
  19161. type: "Polygon",
  19162. coordinates: ["@@@a@a@_kalyX@lIkaWK@_nWVkkmmV@IVmUI@Una@aWK@k@mkbWaknmJUk@mk@@kUal@Uaš@Wa@aXLlwUKlkkƒ@KmI@VUJ@Lk@@VUUmL@amJU£kKUaWakLmU@bVVUbnbWV@xkL@bUb‚xUxVbXJVbUVWIUVU@kLWxkKWV@n¯VUbU@@VVX@VmaUL@VUK@VVbn@lVnI‚@@lnLULm@Ub@Žl@na„@lK@XVVkJ@b@zl@@VnV@bVb@J@bnXV`lXXmVI@W@InbV@@aVKUblKVLUanLlmnLlK"],
  19163. encodeOffsets: [
  19164. [108529, 31101]
  19165. ]
  19166. }
  19167. }, {
  19168. type: "Feature",
  19169. id: "500118",
  19170. properties: {
  19171. name: "永川区",
  19172. cp: [105.8643, 29.2566],
  19173. childNum: 1
  19174. },
  19175. geometry: {
  19176. type: "Polygon",
  19177. coordinates: ["@@@b܄nWVLX„lxV„VxXxlVn@@bVblK@a@UnLVJV@@UnLVU@VXaVKVXš@n`WUÿ@IUKlaUUUkWyUÛÅÝ@mmkUKUwW@Xk@amUUakKWƒwXaƒK@VVLklƒXVlkxV„UL@bm@Vxn`ƒIVxUVkLVšUšl@@lkXmmƒVUn@VV@Xb"],
  19178. encodeOffsets: [
  19179. [108192, 30038]
  19180. ]
  19181. }
  19182. }, {
  19183. type: "Feature",
  19184. id: "500231",
  19185. properties: {
  19186. name: "垫江县",
  19187. cp: [107.4573, 30.2454],
  19188. childNum: 1
  19189. },
  19190. geometry: {
  19191. type: "Polygon",
  19192. coordinates: ["@@šĊ°¤nҘ¼œaV_lKnllUXVVLValUœLVW‚@XamwVIUKkaÇфa@U@KƒkVwkUUƒVKlVnU@aƒU@ƒVIka@akU@KVL@WÝçUV@Vmbů@L™KƒnnJW„ƒVkxlL@VX@VxmnXVWxUb@bkn"],
  19193. encodeOffsets: [
  19194. [109812, 30961]
  19195. ]
  19196. }
  19197. }, {
  19198. type: "Feature",
  19199. id: "500112",
  19200. properties: {
  19201. name: "渝北区",
  19202. cp: [106.7212, 29.8499],
  19203. childNum: 1
  19204. },
  19205. geometry: {
  19206. type: "Polygon",
  19207. coordinates: ["@@@bVVXL‚a@lnbWn@L„@XVlK@VVLUVlbkLUKVVVL@VšnX‚VL@VV@UbVb@x@¦UxVb@bUJƒL@L„VVxlK@™nk@U@W„UVLlKXV„@VblU@UUKVU@wn@VJVanLlkX@VaVK™¯@a@U@U@ƒVaUK„kUUƒ±maUkm@UUkbm@@Vk@@JƒwU@Ub@I@JmwUL@aƒ@@KkVÇLkƒWkƒ@kUU@@xUVmKUnllUb"],
  19208. encodeOffsets: [
  19209. [109013, 30381]
  19210. ]
  19211. }
  19212. }, {
  19213. type: "Feature",
  19214. id: "500115",
  19215. properties: {
  19216. name: "长寿区",
  19217. cp: [107.1606, 29.9762],
  19218. childNum: 1
  19219. },
  19220. geometry: {
  19221. type: "Polygon",
  19222. coordinates: ["@@VVšU„bX‚lX„¥l@XnVmlxUx„@@blVnnôĀlm@aVaXwWUnmUwW@@UkKlw„UXƒmI„mšL@Kưna@UUImyU@ƒ—@yULUUm@@mU@VIkaW@UUƒV@K™I@mƒmU™wƒ@™mKUnU‚UIƒlVLUb@„@V@V@bš°ULUbW@klmKUbUIm@@xUVVL"],
  19223. encodeOffsets: [
  19224. [109429, 30747]
  19225. ]
  19226. }
  19227. }, {
  19228. type: "Feature",
  19229. id: "500225",
  19230. properties: {
  19231. name: "大足县",
  19232. cp: [105.7544, 29.6136],
  19233. childNum: 1
  19234. },
  19235. geometry: {
  19236. type: "Polygon",
  19237. coordinates: ["@@XUmaVaUU@anVlKXbValU@aV@@IXKš@@bV@VxVK@UXLlUšJXa@_‚@@aVK—ÅWVkwWaƒƒwUa@am@kUWLU@kWmX@ykI@W@UV@na@LlLV@UƒkwWƒUKmXX`mIVl@bXLWVkbkkƒx@`VXm@@J@U@UUKUxk@WbUIVl@VXLW„ƒJUkUlUImxXlmb@X@VUJUnVbšW@UV@@VVX@bnW@LVxUnlJUV@n„@VxVIn@l`„UVVVL"],
  19238. encodeOffsets: [
  19239. [108270, 30578]
  19240. ]
  19241. }
  19242. }, {
  19243. type: "Feature",
  19244. id: "500224",
  19245. properties: {
  19246. name: "铜梁县",
  19247. cp: [106.0291, 29.8059],
  19248. childNum: 1
  19249. },
  19250. geometry: {
  19251. type: "Polygon",
  19252. coordinates: ["@@VblLV¤nI@bnKVV@Ul@@KVI@UnJ@Ll„klVLkxWK@bXb™@Vbk@Vb@ll@@nVlnIlmXblaXl@„W@_Ü@UƒUalU@aXL@Vlašb„a„ƒVL@mUL@ƒUUƒƒÇXUW›X_WaƒƒUƒ»m_™@UWULWb@UUVmK@VU@UImK@V@bkL„x‚„XblxXU˜ÆUL@b@@`Wb™IkVWK@VULUwU@@a™@WL@JU@@bkVUb"],
  19253. encodeOffsets: [
  19254. [108316, 30527]
  19255. ]
  19256. }
  19257. }, {
  19258. type: "Feature",
  19259. id: "500226",
  19260. properties: {
  19261. name: "荣昌县",
  19262. cp: [105.5127, 29.4708],
  19263. childNum: 1
  19264. },
  19265. geometry: {
  19266. type: "Polygon",
  19267. coordinates: ["@@VI@U@WnaWknwVJVkVl„IXƒWK@UUkVJXal@VwVL@V@V@In@UW@_„wlllaXUWK@aUknJW_ۃ@aWaU@@UVm„UUaUImJVnÅUmVUm`kUUVWLnVU@VVmXƒK@„nxmŽULkx™ImJ@nU`@X@Vkn@`@nlV@nVJVaX„VLnK@bVV@nV@lbXWš@"],
  19268. encodeOffsets: [
  19269. [108012, 30392]
  19270. ]
  19271. }
  19272. }, {
  19273. type: "Feature",
  19274. id: "500227",
  19275. properties: {
  19276. name: "璧山县",
  19277. cp: [106.2048, 29.5807],
  19278. childNum: 1
  19279. },
  19280. geometry: {
  19281. type: "Polygon",
  19282. coordinates: ["@@XzVlVVkbVL@JVĀXŽ‚¼V„„„XbW`XœWVȎ„„VVšŽVkV@@UXa@alK@IƒƒU@UKWUyUI@wVUUWVak@VUkƒW¹@WXI@yVIUK@kWwkѯ±W@™kUb@KkVVVmXƒJ"],
  19283. encodeOffsets: [
  19284. [108585, 30032]
  19285. ]
  19286. }
  19287. }, {
  19288. type: "Feature",
  19289. id: "500109",
  19290. properties: {
  19291. name: "北碚区",
  19292. cp: [106.5674, 29.8883],
  19293. childNum: 1
  19294. },
  19295. geometry: {
  19296. type: "Polygon",
  19297. coordinates: ["@@X‚VLV@„„@JkL@bWb@VU@UlƜVy„a@nV@nn@KU@IVJU_lJXV@VlVIV`nIn°@b‚lUbš„„KVI@aUaVw@¥@wUaVaU@@UUKW™m@UUKUUVLlKkaVUUK@UkLWUƒ@@KXmma@kbWKUU@aUamLnÞ@VWLk@@Wm@ULU@@U™KUVWI"],
  19298. encodeOffsets: [
  19299. [108855, 30449]
  19300. ]
  19301. }
  19302. }, {
  19303. type: "Feature",
  19304. id: "500110",
  19305. properties: {
  19306. name: "万盛区",
  19307. cp: [106.908, 28.9325],
  19308. childNum: 1
  19309. },
  19310. geometry: {
  19311. type: "Polygon",
  19312. coordinates: ["@@VIV@@wVJ@InKVxXal@@U@U@KlUnwUW@kVU„KUmVkUa@I@KW@@bk@@mƒU@m@k@a@aƒIUxmJk@ƒwULƒwkKmVVX@VXV@xVLVVULmWXwWUU@@nUJVL@KV@UVULlxnL@VnUl¼@l@XVxVVUbn@WbkxUšlVnU@m"],
  19313. encodeOffsets: [
  19314. [109452, 29779]
  19315. ]
  19316. }
  19317. }, {
  19318. type: "Feature",
  19319. id: "500107",
  19320. properties: {
  19321. name: "九龙坡区",
  19322. cp: [106.3586, 29.4049],
  19323. childNum: 1
  19324. },
  19325. geometry: {
  19326. type: "Polygon",
  19327. coordinates: ["@@XK‚L@Vš@XbV@lW@UV@@VXIV@U™VKlL@KnnJ@VV@VU@I„@@mVUVWUUmL@V¯LUK@UV@UU@a@U@yU@WLUK@X@KUVmL@ƒ@aXI@w@ammVk@WÛwm@UxVVVbVLUJVxVU„V@V@X@JUIVbm@@Vk@@VkL@lVLUJ@zWJ@X"],
  19328. encodeOffsets: [
  19329. [108799, 30241]
  19330. ]
  19331. }
  19332. }, {
  19333. type: "Feature",
  19334. id: "500106",
  19335. properties: {
  19336. name: "沙坪坝区",
  19337. cp: [106.3696, 29.6191],
  19338. childNum: 1
  19339. },
  19340. geometry: {
  19341. type: "Polygon",
  19342. coordinates: ["@@Xºl„UVl@UbVXUV@xVJVzXJVUšL@VV@VKn@@Xl@XK@UmÝnKVbVakkVm@k„ƒUK@UmIm@LkKULVšU@WJ@UU@@VkXU@Wa™@@UKWL"],
  19343. encodeOffsets: [
  19344. [108799, 30241]
  19345. ]
  19346. }
  19347. }, {
  19348. type: "Feature",
  19349. id: "500108",
  19350. properties: {
  19351. name: "南岸区",
  19352. cp: [106.6663, 29.5367],
  19353. childNum: 1
  19354. },
  19355. geometry: {
  19356. type: "Polygon",
  19357. coordinates: ["@@VV„JVL@bUVVnl`XIlwXJlw°nnl‚IXW@UÇĉk@WJkwkLƒ@WVkU@LU@U`W@UXUV@n"],
  19358. encodeOffsets: [
  19359. [109092, 30241]
  19360. ]
  19361. }
  19362. }, {
  19363. type: "Feature",
  19364. id: "500105",
  19365. properties: {
  19366. name: "江北区",
  19367. cp: [106.8311, 29.6191],
  19368. childNum: 1
  19369. },
  19370. geometry: {
  19371. type: "Polygon",
  19372. coordinates: ["@@nLVU@wV@lV„@Xll„ÈKlU@L„@@bVKnx@I@JVaV@„x@Il@@Un@laVVn@mkUIm`k@WXJmk¯mkxWIkxWJk_UmVUUKƒ@UU™@ƒ„@l"],
  19373. encodeOffsets: [
  19374. [109013, 30319]
  19375. ]
  19376. }
  19377. }, {
  19378. type: "Feature",
  19379. id: "500104",
  19380. properties: {
  19381. name: "大渡口区",
  19382. cp: [106.4905, 29.4214],
  19383. childNum: 1
  19384. },
  19385. geometry: {
  19386. type: "Polygon",
  19387. coordinates: ["@@k@@U@w„¥WKkVkImUmwa@b@xWJ@b@„nKVU@L@WVLXKV@@z@V@bVVU@@VVL°K@U"],
  19388. encodeOffsets: [
  19389. [109080, 30190]
  19390. ]
  19391. }
  19392. }, {
  19393. type: "Feature",
  19394. id: "500111",
  19395. properties: {
  19396. name: "双桥区",
  19397. cp: [105.7874, 29.4928],
  19398. childNum: 1
  19399. },
  19400. geometry: {
  19401. type: "Polygon",
  19402. coordinates: ["@@WwUwU@kK@KmbU@@V@XlJ@znWlXV@XK"],
  19403. encodeOffsets: [
  19404. [108372, 30235]
  19405. ]
  19406. }
  19407. }, {
  19408. type: "Feature",
  19409. id: "500103",
  19410. properties: {
  19411. name: "渝中区",
  19412. cp: [106.5344, 29.5477],
  19413. childNum: 1
  19414. },
  19415. geometry: {
  19416. type: "Polygon",
  19417. coordinates: ["@@VLš@VV„@VL@aUKƒIUUƒ@@JUVU@"],
  19418. encodeOffsets: [
  19419. [109036, 30257]
  19420. ]
  19421. }
  19422. }],
  19423. UTF8Encoding: !0
  19424. }
  19425. }), i("echarts/util/mapData/geoJson/fu_jian_geo", [], function() {
  19426. return {
  19427. type: "FeatureCollection",
  19428. features: [{
  19429. type: "Feature",
  19430. id: "3507",
  19431. properties: {
  19432. name: "南平市",
  19433. cp: [118.136, 27.2845],
  19434. childNum: 10
  19435. },
  19436. geometry: {
  19437. type: "Polygon",
  19438. coordinates: ["@@@knyƒk@ƒKU¥šwV@nkƒWƒzUmk@@lKUa@aVI@UƒKUamKUUVaUI‚@Xƒ@UV@K±IUVVlUbUbUL@KWUXmWk@KkXmmkŃKUƒ™a@amUƒbkUkKWUnwUƒÇwV™UUƒÝUKV£U™@ƒnKWwXLVKm¥@wUXkmWk@ƒ@wX@lU„@šyVImaXwVƒƒ@kŽƒnU@mbk@mlUXƒmU@mV@n@bnW@bUIWJ—ImVUKWbUK@nkKƒaU@W_VUUmWmL@UU@™bUWUL@V@bmVUz@`mUUVVbXL@V™L@lmLUxmVamXkW@xWbU„VbUxkU±@ÅUmmkLUbW@@`kLknVlV@lbXxlVUXVV™ŽU„U@UbWŽkIWVUUUJkI@llbUxVL@V™VƒUU°ULUmWXUV@VULWb@™xm@UaVLVKUa@ƒw@V›bkmVambUUm@@VkK@„@b„xlxX@‚„n¤@Xƒ@@lkLWV@Žn„V„kb@bWJXLWx@nkxmm™bXn@VWVUn@VnJ@bVXl@„™VJXnWbX`lL„UlJVI@Žœ@VXV@Vl@bn@@Æmn@VšxXU@mVIlxšVššnI„l@nVJ‚aXI@mlU@aXkVm°klmnVV_naš°@V@xܦXK„V‚nnUlVXbVK‚LXKV@naV@@VVl@@lXblXšWnLlbVK²nš@@‚VLUnlV@lƒXxô°‚V@UnaUUlKXLVUVVUbVVlUnJVX„@VW@an@lb„@nl@VU@anƒšUVW@kƒaUm@InVVKVU@kUW@Uam@km@kVa@a@™nwšU@WlI@mVI@WXaW_nƒ@™nƒlkkW@U‚¥@kV@Uw@wUƒ@@IXK‚¥VIn@nU@`@Xl@VV„LnašW‚bVaUwnU„@VIšKlV"],
  19439. encodeOffsets: [
  19440. [122119, 28086]
  19441. ]
  19442. }
  19443. }, {
  19444. type: "Feature",
  19445. id: "3504",
  19446. properties: {
  19447. name: "三明市",
  19448. cp: [117.5317, 26.3013],
  19449. childNum: 11
  19450. },
  19451. geometry: {
  19452. type: "Polygon",
  19453. coordinates: ["@@lL@Un@VVna‚bnUlœa@U‚x@„VbULUKVbn@šw‚@XaVK@UVUXWVnVKV¯„VšU@UUKVwka@klJVIVVXUlJXVaV@VƒšUUVWkUWwkaU@UklmlK@_X@ValKnnÆV²@lVVwUaVƒXa@wlXnW‚bnUVwnK@kšK@UWKUaVUnV@_VynU@a@UVKVXšaV@@VnKnXVV‚UX`V@„blL@mVLXaVLnU˜JXIVJ@amX@a@mnUV@„nVWnkl@naV@„ml„@@KmKUam@UU@ƒ@UlKU™Vk™U™K@aVaUwV™U¥UIkJ@wmI@‚mbkwkVW@UXƒKULU`™IVKUa@LƒkkVmUU@WlULUWÅU@I@ƒWW™nU@@w@a@ƒUam_XyVIVWkkƒ@mwVKXUV@nw˜VXkWƒÅ™U@ƒaƒU¯KUnƒK@ƒ¯šmUƒLXŽVLnWVbVbUVm@Ub¯¼W@amƒ`kb™amLUUUƒ™aUXV`@x@XmJ@n@L@xkJUU@kU@mWm@kUUwUUVWl@VUkIƒy@kkaVUUm™IWVXbWxU@k„mVkK@nWVX¦WxU@@bkx@VU@WŽk@™kUbmJUUmkUW@_kKWKƒ@knV¤kIUKWLUbV‚@Wbk@@VWL@VkI@lUXVxUVU@@mWIƒV@a¯nUaƒaUV@„ƒJ™b@bÞ°VbUš@X™aUVmL@‚VXblŽnV„°˜n@Vnx„@VUUUlK@InJVb@„Vlnn@V™L@VWJU„x@XlJUVVVl@LUUUJ@Lƒ„@lUL°¦k˜V„VnV@„xV„„l@blLnlšLVaXll@šnVUn@‚xn@nml°‚X@lb"],
  19454. encodeOffsets: [
  19455. [119858, 27754]
  19456. ]
  19457. }
  19458. }, {
  19459. type: "Feature",
  19460. id: "3508",
  19461. properties: {
  19462. name: "龙岩市",
  19463. cp: [116.8066, 25.2026],
  19464. childNum: 7
  19465. },
  19466. geometry: {
  19467. type: "Polygon",
  19468. coordinates: ["@@ša„I@ƒVU„bVb°m@b„UXJ@nV@VUUwVW@klJ@UXK@Ul@Xa‚@UVaXKVLlJU£lm„@XLlL@`VXnlVVnIVašll@XV@@Ulw@aV@XwW¥XU@mlLnUlƒV@XwWaXUšJVnUVlb@l„zlJUVk@UXVVVxlVn@nXV@@lVVlI@w@K@mnI@W@wU_VWšbV„VVnKšbla„_n‚bX@°»Van@VUUaUamXUKW„K@a@Ukƒ@wWkXƒWW@wUU™Kw@_lyƒwUkU@@Uƒ@kamVmƒXašUVUka@Wk@»UUUVƒKkbWU™VUbk@mkƒxkƒƒKnIVUmW@kUKmXUmVaU@kU@m@KUWVkIWJ@ŽU@UI@wUUUa@KW»nU@mVkUmm@XwWU@ƒUUmL@ƒw@mnƒVUU@aWak@@amxU@UxULWVXbVLU`mbUImVU„ƒbn‚V@@bVn@bnVWxLmyUbƒIUKƒ@aƒVm™akbV‚UXW„UlKWbkV@„WLUlk@@nšbƒb@lkKmU@ƒUIWJkw¯UUVVxm@@XkbWx—›XKƒlUzWJkUUL@bmKkVƒ@@VUIUlWV@X„K@VkbWx°xUb@LUbk@@VWb@LXJ@VWXU@@bUVV„VVn@VVlLn„@l„@‚xk¦Vx@bVJXbƒn@JlnXxV@@„nJ@X@V@lmx„bUn@xVL@VVKlL@l„„nLVaVL@xkl@LƒxVl°š„X„WVX„Vl„œJWnxlJ"],
  19469. encodeOffsets: [
  19470. [119194, 26657]
  19471. ]
  19472. }
  19473. }, {
  19474. type: "Feature",
  19475. id: "3509",
  19476. properties: {
  19477. name: "宁德市",
  19478. cp: [119.6521, 26.9824],
  19479. childNum: 9
  19480. },
  19481. geometry: {
  19482. type: "Polygon",
  19483. coordinates: ["@@@LVKVaVaUkVU²J@LVU„@@W‚VJUbVVnLVb„L@VUJ@bVbkL@Žl@Vn„y„XmlU@™xV¦„L@Ž„lmz@lnL@bVVšbVb@l„nšKVk„Vl¤@zXV@šl@XJVLVKnXVK‚VnU@wUm@šKUƒ@UlVlw@U@U@ƒUaUKlU@kXKlmXIWKXaVIVUVK@KU@@k„JVUnLVJUL@V‚IVa@VnLšKUnl`Vb„V„V@š‚Vbn@Vzn@lKnVlI„VVKUalkXJl@XXVWVLVUUmVU@Unm„£lK@Uk@WUXK@U@WVwVkšƒĠkĢǰaUÅUwmaţƒɱUÇa™w„±V¹XalKôx„@„UVaÜʓͿVóbÅLƒJm„¯Vk¦ƒŽk@mamXkKUƒUL›akbk@mV@LkJWb@Vk„mXk@UVmaUV@amLUKUamI@KUaU@WbU@UUUƒUIWJUkm@šƒw™Kk„VJm@kxǁVƒUK@mUVUkmlkkVm@amwƒLVWU@UbVLkšUbƒ@VƒmK@XaVWU_VJnwV@@kUmWakxƒ@kwWakIWxnbUJ™zƒ@kVW@@x@„XllnVW@xn¦ULWKXxmL@„VšU¤VL„ÞVVUšÈxV„mxXVlLlV„anV@bšbV„„LlÆnnlW@LXlWnXV"],
  19484. encodeOffsets: [
  19485. [121816, 27816]
  19486. ]
  19487. }
  19488. }, {
  19489. type: "Feature",
  19490. id: "3501",
  19491. properties: {
  19492. name: "福州市",
  19493. cp: [119.4543, 25.9222],
  19494. childNum: 9
  19495. },
  19496. geometry: {
  19497. type: "Polygon",
  19498. coordinates: ["@@lxna@nJ@xlIVJV¦UšVxUb@bšLšVUlVškL@V@„VVn@Vb‚Ln‚@LU„lJXblx„@lwXbVn@lU@mxUIV`UXWb@‚nLU„„@Val™UKVaV@UX„Knx‚bn@lUkllnUVnV‚@VLU„È‚lwn@UIlƒšL„x‚™n@VlXIVJV„VVV@XaV@Vb@LnJVbVLnK@bVUnbVUl@nWlƒ@UXalI@KnUl@laœbVKV„lLnWnbl@„l¥°Unƒ„IÆKôa΀U„a@UUwÇWǓIUWUÅVkƨm@ƒ@£@KmLU¤ULˣJ™kUƒVǟUUķ@ĉVƒKUk@Ѱwôǚç@īšé@Åţ¥mīÛkm¼Å@ƒVķVó°ō¦U°ƒn@bVJXVVL@bUŽƒakLmx@xmxXzW`XbWnXV@bWLÛ@™aƒ@ƒaXbWVkaÝwU@mlWKkLWWkLUKULW@kVmVUU݁UamV—¤›n@xUVUzkJV¦lJU„"],
  19499. encodeOffsets: [
  19500. [121253, 26511]
  19501. ]
  19502. }
  19503. }, {
  19504. type: "Feature",
  19505. id: "3506",
  19506. properties: {
  19507. name: "漳州市",
  19508. cp: [117.5757, 24.3732],
  19509. childNum: 10
  19510. },
  19511. geometry: {
  19512. type: "Polygon",
  19513. coordinates: ["@@@bl@Xb@bVVUŽm„@n„x‚@nKVV@„XVWxn@VnUl@nmVX¼@LVbVV@xVJV@@XIlJXU‚V@Ln‚@lVV@UbVnnWVL@lnXUVmJ„Ll„„wnll@VašUXVla„LVUVV@¼Xl@lbUV™VWbn„nUlb„@@VV@„aVUšmlUašUny@kU@Wkk@WaUVk@@ammk@@U@UlU@aUa@wl@šmXLllnL‚U@anVnU@L@VVV@KlXnWVnVanUšw@w@wm›nÅ@wƒaUam@Uk„mUl@@a„a@U@¥škôK‚wȯ°w@ŻkwǕaK›ÑÛk@ĕōřċ£ĵƒUKW»kÅŻLU@Ulġw@¤Vz™VUbkKUbmLmlULU¼UxmbXl@bWVƒb@bUnV‚UšVbULU@@VkbVL@`U@WX@ŽXV@b°„@b¯š@¤@Xm@@b@`U„VVUL"],
  19514. encodeOffsets: [
  19515. [119712, 24953]
  19516. ]
  19517. }
  19518. }, {
  19519. type: "Feature",
  19520. id: "3505",
  19521. properties: {
  19522. name: "泉州市",
  19523. cp: [118.3228, 25.1147],
  19524. childNum: 9
  19525. },
  19526. geometry: {
  19527. type: "Polygon",
  19528. coordinates: ["@@Vl„xkz@`‚xšLVV@xXXW„Xl@xl„@V@bnV°™@„„LVm°L„V„bV@ƚX„Wl—UmxU@WVULnx„@llUXUJWzn`Vb@„@b@xV@šmXX@„@JÆVVXVKXkV@nVlU„l@KVbULšJV_VK„LVWX@lUVƒkIU¥lIVyVU@wœm˜£nUVWU@aƒm@UmWw@UX@@am™VUn@@aUUlUVanaWUXWmUnkšK@VšUlVVUUwš@XLWWX™ma@knm‚bVb„VXbVL‚@XJlInlšL„w˜mXóšw@çV»ÇçŋaķƧóƅóKġ°nÅUķƑUÇW@—¯xǰöÆlV„n@llšaš@„Lšbƒ`™@™„VšXVƒVx@V@bULVJUk‚Ç@ƒ¼ƒXUKk@mmULkaWbk@ƒx@UkL@a@K@U@UmKmbU@kV@UmVUbUmmXkW@LUU@U@KmVmU@bVmKkkWK™nk@@xVb@bkV@V@Vl@nn@bl@VUXbl@XlV@@lmz™VVbkŽ™nUVƒb"],
  19529. encodeOffsets: [
  19530. [120398, 25797]
  19531. ]
  19532. }
  19533. }, {
  19534. type: "Feature",
  19535. id: "3503",
  19536. properties: {
  19537. name: "莆田市",
  19538. cp: [119.0918, 25.3455],
  19539. childNum: 2
  19540. },
  19541. geometry: {
  19542. type: "Polygon",
  19543. coordinates: ["@@VbނVVnUlUX@VKVLlKXXlKXL‚‚nkV@ÞxlbXUWa„b„@šbÜ@XK@aWUXmWaX_Wynw@wnwlK„bV@aUKWUUI@a„mV¯Ŏ¥ô¯ĸU„UÆ@n»¯aƿé@ţ¯nĉĬÝK™óó@™ÑU¼@è™xWô—nƒx™KmkkJWI@UKWaƒUUaamn@lnbWšXXWK™@VxUVkU™V@U™LmlnVWXXVmbUbkVVV@bm@UVnš@bW@@VXx‚n@V„n@bV‚UX"],
  19544. encodeOffsets: [
  19545. [121388, 26264]
  19546. ]
  19547. }
  19548. }, {
  19549. type: "Feature",
  19550. id: "3502",
  19551. properties: {
  19552. name: "厦门市",
  19553. cp: [118.1689, 24.6478],
  19554. childNum: 1
  19555. },
  19556. geometry: {
  19557. type: "Polygon",
  19558. coordinates: ["@@@VlUV@nanL@V@V@L@blK@V„wl@XalbVKnnl@VL„W„»È@lVUIVK@a@UUw„WUU™šƒš@„_™aƒK™@™bkkm@UƒkõŁxóL™l@¦@Vƒb@bk@VŽƒnVln@Vb„b@xmÆnœ@x@x™x"],
  19559. encodeOffsets: [
  19560. [120747, 25465]
  19561. ]
  19562. }
  19563. }],
  19564. UTF8Encoding: !0
  19565. }
  19566. }), i("echarts/util/mapData/geoJson/gan_su_geo", [], function() {
  19567. return {
  19568. type: "FeatureCollection",
  19569. features: [{
  19570. type: "Feature",
  19571. id: "6209",
  19572. properties: {
  19573. name: "酒泉市",
  19574. cp: [96.2622, 40.4517],
  19575. childNum: 8
  19576. },
  19577. geometry: {
  19578. type: "Polygon",
  19579. coordinates: ["@@ÇnÅaĉ@ƒU¯¥›UŹ‚ƒ£™WUýUU±JkkUw‚yÞIČxĊĕĊ¯š¥ÆUkţ™UÅÓ±¼™IUx¯UƒÒƑ‚ݐŰƒKÝnğ°ÅU@Žƒ@Vn@þš¼¯šWnŎ°XLWlnVnbWnƒVXxmbƒa—bóUƒlǕUUa™IUmlU™ƒš¥™kƒ¥ĉwkkƒÝɛa@¯™™U¯°mVƒkVnKlƒōÑÇÑU@kl™UġŽkUŻnUW™@š¯ƒk»šmWV£UKnUƒmUw‚w@ƒUIVaX™šwm»Èmmwn¯ċ™¯LĉŽUƒJUalka±Va@U‚k@ƒÛф¯WmnUaɝ¤Ûmƒn¯m±x@wóxÛLġÒUx¯VƒÈ™JUbóz݃ÇKĉ¯ōlÝUŎWl¯nťbÝ@¯ǩLġmV@ƯĢkÆm™ĊkVťLɃmÝXó°@„ĢbVŽóVݦɱ@Ƨaġ„UV„ĠÇÈV¼UVţwmbJÇwˋa™XmǯKkkmŽƒbXšm¼V¼Ǭڲ¤ôŰÆƴô̐ŤǪnɆӨ¼ɆLÆłUĊšxŎƞȘǔˎǬǪnƨŮǬö°»šġ„„ÞÜÆĸÒĊ„ǀbƾèôÈ@¼¯þŤĸƧ°Vb@lÈĊ‚šʠń̐„ȘKǀŽֲॗţÿǕý@ʊǓƨóÆÑǖŃôw@΋ʈƆÅÈVVĊV„óĊÅ@ÞƒĬV@Þīš@°Ž„V@ĸ̃°XτƜĠ@ÈaÜ¥Őƅ‚™nğóĕVġUůƿŋ—ĕƒa±V—UťÇğÑ"],
  19580. encodeOffsets: [
  19581. [101892, 40821]
  19582. ]
  19583. }
  19584. }, {
  19585. type: "Feature",
  19586. id: "6207",
  19587. properties: {
  19588. name: "张掖市",
  19589. cp: [99.7998, 38.7433],
  19590. childNum: 9
  19591. },
  19592. geometry: {
  19593. type: "Polygon",
  19594. coordinates: ["@@ÈÒŎÒk„mLUŽlŽU„¯nV°šš@°ɜb„ÞĠaÈ»ĸl‚š„LVUÈ@Ċ@ýUm„@@ÆVĠ¯Þm„LƯޏƒ„ѰVVwšJ²»ÆÔšVlŤÅV™¦ĉ°ĉĖċwÝJzVxll²IVVVþšX„¤źœV°¦„VĊ@ÆbÈmǔLĸĠ¯Ģaô¯ĸmÆÛUƒlÇĸk°XyĊUǔV„ǩnmV»ƒa@ýnK°n@l¥@»ż„Ċ¤m皃@£ČU@mƒmVkÞUƐ±²¹°‚ĠwÅƑŃU¯™›V¯aÈŁšƒÇ»™ġn_°xŎKlxœklx„@Þw‚„„@Æm²b‚DzLlkšWXať¯ĊaœÑšK±w@wƒUÅçV±Uk™@@„¯š¯xƒU™±±UU°ōxVxÅÔō°ó¯UÝ¦óbÝþƒ@ĉÈóUV‚Ux„„@VŽUVÝwÅÈǎóVkk¯JǐkmmL@„™KÇx@bkš™@U°ķ²ó`ƒš™šmn¯°ƒUwlÅkUƒ`™¦ɛô™Žķz@ŽÅnǰU¼¯KmVk²ƒJƒ¼ƏÞķôš¤ULƒ@mnğ`™šÇnUxÇ@Ûÿ™U@ƒƒkŻŽ@x@móJkŃ¥VŹĉóÒĉlċ°ķ„Uƽ܃@›x"],
  19595. encodeOffsets: [
  19596. [99720, 40090]
  19597. ]
  19598. }
  19599. }, {
  19600. type: "Feature",
  19601. id: "6230",
  19602. properties: {
  19603. name: "甘南藏族自治州",
  19604. cp: [102.9199, 34.6893],
  19605. childNum: 9
  19606. },
  19607. geometry: {
  19608. type: "Polygon",
  19609. coordinates: ["@@ލš™nKlnšwX¥WÝXk˜xÞUnƒ°aĊVnUUKlÞĶWXnĠ¥ô»„™@nmVL@¤°™Vz„JšanU@aÆwna@k›ƒU¯šyX_›aĉb™ƒ„wƒéXkWwÅaš¯V¥mƒ¯UƒƒI@ƒš@„mšb°aÈçšUš¥@»‚knwɜƇ°I°ÑÈmVU™¯Xa@w‚W@wšV¯Č¥l¯Uwnm@k˜aUaóKkk@™Ça™b@ށÒWa¯IÇxÛam¼™VUƒxÒl‚@zÝÒ¯bÝaĉVĉwDށW›zJ™mJn²mܯUƒ¯ĉ@ġ¤Åb@²nšmlƒ@@Ž„„U„ƒLVxšV™„U¼Ålma™b@ƒ°™l@WIUƒ¯@mƒ™@™™ó„™„@U›zţyƒXÇU™ÇVUUVLkbWakVWmUbkkƒKUÆ»nƒ°Knk@aƒUVmšnk»l¯Ģ›lw@_kKVU@ƒnaƒ@lUk@¯¥mV@kmbW™b¯Åõa@mkU@kƒÇŽkU@›`@™óó—bl¼Uxƒn„¼šlVȄx@blVkVVnƒ`XÈġÈ@ǃK£ÝJmUUnUĖmlU„mKUn™VÅaUw›Uĉ`¯n¯wW¼nxVŽ™š@bĉnƒ‚kIċŘkXUŽ±Ò™xšÈ@ŽX°`l„œV˜IȯĊV„ƒšVVan@VašUVażVmšblkÈW„ƒWIXa„alL@wVb„„V„¦lL@lĠ™n҄U‚nk‚šL@ÆÞkšÞšK‚bñþW¦Û„ċVƒ„ULUºkÈlŎUxÆxÞUUxšÒ‚x„@XbšL@lÆ@„ÒlXVln@„bm¼ƒJ@„Ån„šƒx@bnšĠm„xVXmbÈè@ŽĊ£ČW˜w"],
  19610. encodeOffsets: [
  19611. [105210, 36349]
  19612. ]
  19613. }
  19614. }, {
  19615. type: "Feature",
  19616. id: "6206",
  19617. properties: {
  19618. name: "武威市",
  19619. cp: [103.0188, 38.1061],
  19620. childNum: 4
  19621. },
  19622. geometry: {
  19623. type: "Polygon",
  19624. coordinates: ["@@±¯¥@klwU»ƒƒÞÝmwKm¯™™ç@™kVÇUL¯lVUKġ„ġm@a@U„@X£°l°LŎÇ@aōVÝw™ÔƒKUŽÅš„WJ¯lm@ÛVWa™@klĉUmaƒLUanaƒ™ƒk¯J„™™±KkXóÜÅxƒ²Ç‚@„„nUÒĊb°@™ÆkL™Ž™XÇÆ@xÝn—xWxţ„¯¤ƒI@Æn„ƒVV„VlU²Æè„V@x²x™L›ÒĉbŦ°Wb™Xklބš@l¤šXĊ`„wl@ĢÈŎm@bšnV‚Ubƒ„@șÆÛLƒèǚUÒŦlĸ™`°ĮʟÆǓbĉôϚĊƚĢnŤé΀ÑĸĀĊ¦„@@l°lœ¦Ȯ¦ɆÞĊKŤ™ĵĸů„»mفyġ™ķŭ@Çɱȭ¯mƧUĊķnŁŻ»UaU™˜ƛɞÝƨů"],
  19625. encodeOffsets: [
  19626. [106336, 38543]
  19627. ]
  19628. }
  19629. }, {
  19630. type: "Feature",
  19631. id: "6212",
  19632. properties: {
  19633. name: "陇南市",
  19634. cp: [105.304, 33.5632],
  19635. childNum: 9
  19636. },
  19637. geometry: {
  19638. type: "Polygon",
  19639. coordinates: ["@@šÈÞ@l`UmVƒ¼œŽ‚@nnÆwVlnVVa„LVƒÈ_‚ÿރ@n„a„xÆ@„lš_š@VxnK@llLnxmÈŎJnbUxšI°Žl@n¦‚lÈIlmX¥„k°@šk‚J„k²é˜@klaUaVaU@@ÝnIWnmnx‚k„ºÞ„„aV™°„V@nw‚KšxôbÞ£šVšU„bšþšLn»mƒVw„IšJ°Ž@„nb@°°I„ġUkÇKVƒ™™@ů»lƒ„Lnmƒ£@anK@Ñ܍n@»mL@£™yk„UUmbUÞÝ@kyÇbó»™XUxƒWVzb±mÝbXaƒwUamL¯»@wUKVwm¯ĵJ°ÅUWVk„KVk°wÈVšVуlUšƒ¥škmVamknƒUw¯¯ƒbċ¥ÅKƒk™Kk„™VċVk£kKVw‚Ñ„a@kóyÛ¯ÇVk™ów›š—Xō¥Ç¼ów™Ž¯U±‚k„ƒ@x›IĉÒÅVmÈnšÜ@n°„bUbÝV‚ŽUnnJ¯Į@‚m¦nV܃@„„L°JXb‚Ñ@šaÈb@šllôLVb—b@lmnVxk°ċ¦U°™Ž@xX@xWbš°UVÇn¯Ò¯Jɛƈmxl@¼"],
  19640. encodeOffsets: [
  19641. [106527, 34943]
  19642. ]
  19643. }
  19644. }, {
  19645. type: "Feature",
  19646. id: "6210",
  19647. properties: {
  19648. name: "庆阳市",
  19649. cp: [107.5342, 36.2],
  19650. childNum: 8
  19651. },
  19652. geometry: {
  19653. type: "Polygon",
  19654. coordinates: ["@@kw‚ĉ—»VamƒƒV¯wƒIóVkl¯™Km™Vō¯ÝWkL@bÝKō¦@Ž™„@š™Lx›@b@l™a@km@@l¯nm@UaÅ@ƒ„óWUXm¥™nƒw`@UUxķôǰğ¦@„VJš_n‚‚IVŽnalxkX„JWn¯šnVƒLšxl¤nnVbklVX@xnxmV@bUK@nm@@xƒV—°±aÅnƒŽkUWnUaƒx@m™n@ƒ¯LƒššmUĀlU@lV@blLUblxklkIÇx¯°‚UXbšaVŽUnšV@°‚LUlnbšX@`°nVmbnÆmV‚kLmK™¦UŽ@X„y@kl@U„°K@¼XbW„ƒš@b„WnLVa„VšƒVz@xlVČ¥lbUxލlV„U@nÆWôn²™VJlU„Ƨ„LnmÜLXa˜n@mœw@wlUlV²mšblwšVȃlLލ„±@lVnUlxnkma@mškšJ@kXV‚U@mn@š¼VXUƒVƒlLnmVbôaVnWV»ÈUl°È¯ÆIn›ÆU@kk»mKkÆġk¯@»mƒk—¯@óÇlÇ@—Vykkl™Uml¯Þ™@w"],
  19655. encodeOffsets: [
  19656. [111229, 36383]
  19657. ]
  19658. }
  19659. }, {
  19660. type: "Feature",
  19661. id: "6204",
  19662. properties: {
  19663. name: "白银市",
  19664. cp: [104.8645, 36.5076],
  19665. childNum: 6
  19666. },
  19667. geometry: {
  19668. type: "Polygon",
  19669. coordinates: ["@@VKUȚl@šè°šnŽ‚LnxÝބ„V¼kx@l‚¦²°ĊóĠ„™Ċ»š@ÈxšaĊxlwÈVŤa@¯²aÇ£ƒJk£lƒnUÞ@°šô™@y„wl»lIX¥Ǫnw@ÑÞWla„ÅlL@ƒUwĉakƒl@ƒš¯mwna°J„V¯nUVÓÞÑm£²óWaUƒÇ@óÝUçV»ÈkkW@¯‚xV@XlK@wX@Vmm_@wÈݙKU¯ÇwVwÅK¯VƒkƒJ™™™XkWVaƒImޝUk„ÇlVšœĀV°mxóšk„@¼ó„WxĉÜU@Ub‚zÛJÇk@‚ÆnVlԙ@kŽ„x™ô@ĬWL¯ƒƒK@aÛImm™@ƒIUaƒ@™™UŽÇêU¤VÒÇx¯ÒV„šš™lk@Wbĉ¦UbkWV_‚y¯Lƒaó„kŽ@b@nmbkx„°"],
  19670. encodeOffsets: [
  19671. [106077, 37885]
  19672. ]
  19673. }
  19674. }, {
  19675. type: "Feature",
  19676. id: "6211",
  19677. properties: {
  19678. name: "定西市",
  19679. cp: [104.5569, 35.0848],
  19680. childNum: 7
  19681. },
  19682. geometry: {
  19683. type: "Polygon",
  19684. coordinates: ["@@„a‚V²wVJV_@„LlanÅllŦçÜӚ_šlnƒWaôk„xUš„bmV@È°lèšnk°l¦„`@nnL‚@ÈlÜIyVaV@ĊÛXwôƒ@»lƒô™nwU¯›ÿU™Èklƒ°Vn„JUblXšWšš„I„l°U„ƒVƒš—@aVVVmnL@„lƒ„UUw‚mkƒš£„bV¥VUVwۂƒlaÇÝރmk£ƒLUy¯L@WlkKW_XaWƒ—mƒ„ġU@a™k™‚ƒakXkmVwmŹVƒU™b™WƒónmwnWW£„KÈnV¥ƒ¥„ƒÆ_k™lW„bU¯„V°aôbnaVwmaōInÇmwkK@kmLUw™@™`ƒkÅ@ƒwƒb@m݄ĀÇ`U„ƒKUbmUUkÅxmm@›„»nUVk_Ý@™Ç™¦™VÇè¯b™aƒn™@@„„JV„°Žn„U¦™°ÆbXxWl„êƒxš„ĊaœbW`™zV°œ„@lmbÅx@bmV™bƒI™`™¦@ÒUVUI@ƃL@bš¼@ššŽ@„šlmxnL„°ULƒŽƒÞğޛ°kLUŽƒL™°™xVŽ„n„KVƒl@šzX@"],
  19685. encodeOffsets: [
  19686. [106122, 36794]
  19687. ]
  19688. }
  19689. }, {
  19690. type: "Feature",
  19691. id: "6205",
  19692. properties: {
  19693. name: "天水市",
  19694. cp: [105.6445, 34.6289],
  19695. childNum: 6
  19696. },
  19697. geometry: {
  19698. type: "Polygon",
  19699. coordinates: ["@@UyȍVƒVUnn@ƒVU„`UblzšJnk‚@Vb„KU„°l„wš„„W°„nkVŽ‚UÈlš£°V@n¥šV„kl™kU˜±U„ƒn™ƒlw¯UkwmKUlmkUmnkym@ō@U„mWÈU°l°anlJškUKlU„¯Èm@kmWV»kkÝLUWUx±b™@¯ma@ƒ¯™IƒJUxn„m¼™K™ýƒa™V™Uݤóa™wLmxU@¯ƒUšƒb݃ƒ¹lmwmnXŽmJ@ÞV@UbVbkblŽ—@±êƒlI™l¯@ƒlW¦knÇJkm¥k@¯™Jmbóa¯bƒUV°ƒakXlšÅ`ƒ„„¦U¦ÇmƒLX¤mXnxm‚„ôšXša„VźUnŽUxlnlW„bššl@bĢV„ƒ˜nX„WbX`lLXk@ްKVz„Kl¤„nÞ݂Èkb„‚܁"],
  19700. encodeOffsets: [
  19701. [108180, 35984]
  19702. ]
  19703. }
  19704. }, {
  19705. type: "Feature",
  19706. id: "6201",
  19707. properties: {
  19708. name: "兰州市",
  19709. cp: [103.5901, 36.3043],
  19710. childNum: 5
  19711. },
  19712. geometry: {
  19713. type: "MultiPolygon",
  19714. coordinates: [
  19715. ["@@lW²LššƒŽ°I„l„šmbVb„KnbĊVlkš@XbÜU@Žkn°‚XIƒÆ™V„LšÓÞxŎUlôƒ„b°KzU`lXVaĊ¥Xal@šk™™Uƒ°ÑÈwUтV£ÈéVšš„@Vb„Jš@nnÜJ@b„L°„XK@īšóƒwlš@kÓmUÅmK@mƒ_k¥l¯™mkçǯ@nUƒaV™ƒwólXbm„™k™`ÛÔťèkkmÆkbƒK@U`UI±xUƒbWlX„mbVbÅÒólkƒƒIWJkšƒ@ƒz—Kݼ™@™xUx󎃄¯LWb@ŽÅ҄„±¦U`nbťĀUšVb„LšŽ„U"],
  19716. ["@@ƒ¯lwna@mōȯK¯kW¤ƒ@@V@bĢñVLU‚°k"]
  19717. ],
  19718. encodeOffsets: [
  19719. [
  19720. [105188, 37649]
  19721. ],
  19722. [
  19723. [106077, 37885]
  19724. ]
  19725. ]
  19726. }
  19727. }, {
  19728. type: "Feature",
  19729. id: "6208",
  19730. properties: {
  19731. name: "平凉市",
  19732. cp: [107.0728, 35.321],
  19733. childNum: 7
  19734. },
  19735. geometry: {
  19736. type: "Polygon",
  19737. coordinates: ["@@ÆLUxÈxV°šLÇÞ@xn`Ü@X@nĊŽÆwnJmwUx‚aUkšw@V@w„aVmlLXÝl@X‚VĢmV°@nl@UUUWK@w„ÿVI²Òlmš@nÝĊýVV@nšJ°„„šUłm@kV¼nK›ĢȤôK„blnKllVk²aĠ¥È¯ĸóVw@V‚_„xšmn¦VWôX„ƒÆ@Vbn@°m@kn@@lšb@k‚aœ@‚wšK@™šƒ@UlKVaƒWX™W²¹lӄw@_°›n@@_lKōķW™@ŽmLUWƒn™»Û@›l_Ç`ƒÛmm°ÅbWb@š—VWbƒUUKDŽÅaġlmkUġlƒ»—Lƒl™Um¦@ޝU™¤ÇkVUml¯ƒƒX™ƒƒx¯kVƒƒLUa@ml™IkyVaƒ_UV@„mmUVU„ÇŽVzUxUVU¦ƒa™¤l„nVxƒVk„@ƒmKUnUU@b™˜U„ƒ„", "@@@Žż@™mlkƒġk"],
  19738. encodeOffsets: [
  19739. [107877, 36338],
  19740. [108439, 36265]
  19741. ]
  19742. }
  19743. }, {
  19744. type: "Feature",
  19745. id: "6229",
  19746. properties: {
  19747. name: "临夏回族自治州",
  19748. cp: [103.2715, 35.5737],
  19749. childNum: 8
  19750. },
  19751. geometry: {
  19752. type: "Polygon",
  19753. coordinates: ["@@š@ż»˜L„y„@l™XI„Jl„ôkÆÑUanaWƒXkW@™yk@U„ƒLƒmUšwš¯„KVlKœ¯Ġ݄݄VKƒ¯mKnw™k@ƒ™@™™»@a„K@ÅVJVU@њ¥š_Uy¯š@£UKmn@‚ƒšó¼ğ¦WmĵXݎkŽVLmVĉU¯bm„ÝV—wWlXÞW¦™xkmmL™šÝŽœ„±U@Vގ™š@„ÅÈW°X„ܼƨyUĮnŽWŽnXÝxUx°lVXJlôV"],
  19754. encodeOffsets: [
  19755. [105548, 37075]
  19756. ]
  19757. }
  19758. }, {
  19759. type: "Feature",
  19760. id: "6203",
  19761. properties: {
  19762. name: "金昌市",
  19763. cp: [102.074, 38.5126],
  19764. childNum: 2
  19765. },
  19766. geometry: {
  19767. type: "Polygon",
  19768. coordinates: ["@@šĢȼ™„Çł°bœU°šV‚ƒń‚ÆǖŰnšÆ„ōĬǔaʠůĭš_kķÆ¥VÑș„çÜKšÅ@DŽƒVaU™m@aōnġÇk@ƒxĉ_™Wk£™@݃±KÈ±aÅnƒ@ƒÝxƒ@kw›lkwōL¯wm`"],
  19769. encodeOffsets: [
  19770. [103849, 38970]
  19771. ]
  19772. }
  19773. }, {
  19774. type: "Feature",
  19775. id: "6202",
  19776. properties: {
  19777. name: "嘉峪关市",
  19778. cp: [98.1738, 39.8035],
  19779. childNum: 1
  19780. },
  19781. geometry: {
  19782. type: "Polygon",
  19783. coordinates: ["@@llĊx„¦šl™¦š„kVVnšJVbǖV„kôV˜a„bnaWw„UXmmamUXkWKō¯Xm°™™»ĉÇ@UVƒK™ķkǼğb"],
  19784. encodeOffsets: [
  19785. [100182, 40664]
  19786. ]
  19787. }
  19788. }],
  19789. UTF8Encoding: !0
  19790. }
  19791. }), i("echarts/util/mapData/geoJson/guang_dong_geo", [], function() {
  19792. return {
  19793. type: "FeatureCollection",
  19794. features: [{
  19795. type: "Feature",
  19796. id: "4418",
  19797. properties: {
  19798. name: "清远市",
  19799. cp: [112.9175, 24.3292],
  19800. childNum: 8
  19801. },
  19802. geometry: {
  19803. type: "Polygon",
  19804. coordinates: ["@@lǯkÿƒaV¯™VaÈU„¥ÆÇ„Ilxšmnb‚Uœxl™„Uôl°kš„„Wl„š@ô™VwUanUl@„xVkšaX¥‚kU»„aš¯±@kka@ƒUwmUkwƒJk™˜„±k@ƒ™™L@ÝWUwV݃—xÇU¯ŽÇX@m™Åƒ@@yĉ£VmUwȗ»ÇšUn„lUnWU¯`Ukƒ@@„™x„Ž@bÇxX¼ƒVVš¯LšĀk‚ÝLƒ„¯@VŽƒĀ¯lnĊW¦kVÇôkUDŽUK@ţ™U@a™™ó܃UU»ƒ@™¦k@Vx„KVb„n‚š@„Æ™„l„@xšƒbWšnlU„lxÈlV„ȰƄ@¼™„@x„šWxœŎ‚V„šK°„š¥ššnƒÆkŎ@ÈÑm™„K@¥šk@™ô@„nôV"],
  19805. encodeOffsets: [
  19806. [115707, 25527]
  19807. ]
  19808. }
  19809. }, {
  19810. type: "Feature",
  19811. id: "4402",
  19812. properties: {
  19813. name: "韶关市",
  19814. cp: [113.7964, 24.7028],
  19815. childNum: 8
  19816. },
  19817. geometry: {
  19818. type: "Polygon",
  19819. coordinates: ["@@W™Xk±Ñ@ƒUw™mUwĉwlmn@Æwn£mkIš¥ÇÅ@¥šaƒón£nWWwš£V`Þ@šnVml@xô¼„IV¥ƒkUmkamUkVWwÛ»móƒ£UVÅKmn@x™@kbmm¯a™Xka›VĉaUb݃ƒ²—‚lš„IlxnVVx@„lb@l²™°ƒbV¼lW¦™bUlƒwk@mVVbUxóš™@kƒƒX™ƒ¯lókƒVkš›wVma™nkwƒJÅȃ¦ÇVUbšŽU°„bl°ŽkÈ@x™¦ÆÜ™°@„°„¦óa™VUôlUlbXl@nÜV„„nKlŽnIVÞ°Wš„°U@bnm@¥šIVƒ²Ulƒ°VnalzXyl_Vyƒ¦lƒœLlxš„@ŽÞbšKm„knVWanwƒÑVwČº˜@n_ÞV„aVŽÜIœl@„˜KȚ„VJ@aš£È@˜™@km™„aV¯W@_ƒa¯KmbkÇkLmwƒ@Å¥"],
  19820. encodeOffsets: [
  19821. [117147, 25549]
  19822. ]
  19823. }
  19824. }, {
  19825. type: "Feature",
  19826. id: "4408",
  19827. properties: {
  19828. name: "湛江市",
  19829. cp: [110.3577, 20.9894],
  19830. childNum: 6
  19831. },
  19832. geometry: {
  19833. type: "Polygon",
  19834. coordinates: ["@@@ƒkXƒ™@a„UUċlk„Jƒk„™@wVJXUWk°W@nKnwlUlš²ƒ„blU@‚lI„l@„XbW„šxnm@lW@w„wU‚JX¯VU°`ŎóˋkÝÝkÅ@ÇmğÈřmw™aĵV›xUہ»°™ĠǷnýmóX¥ɅĵҏÇ@°²ĊU˱ĮU¤Ç°™Ā¯ɐnżUĊĊĬV@脎@ԃÒU¼l¤nƒĠb„êVĠ°Èy„zVaV‚nUÆL„ašbVl„wÆ@"],
  19835. encodeOffsets: [
  19836. [113040, 22416]
  19837. ]
  19838. }
  19839. }, {
  19840. type: "Feature",
  19841. id: "4414",
  19842. properties: {
  19843. name: "梅州市",
  19844. cp: [116.1255, 24.1534],
  19845. childNum: 8
  19846. },
  19847. geometry: {
  19848. type: "Polygon",
  19849. coordinates: ["@@„‚nԚlW¼x‚¦@lœVl™lLkè„a@zš¤ƒĖ„¼UxlnUKUbÝlU¼lb@„Vx„V„klJÈwV¯š@ĠlÛ˚nƒbkšÆźÞƒUÈôklmšL„¥‚LœW˜„„™nKUkVa°V„x@IVV@x°bUk„a™a@mV@„@y„w‚L„ÑUwVUšV„‚„U‚bÞVVann‚@XwÇÿš¯²aVamkXaÆ»@»nw@¥›UXaƒkbWa¯KUw@¥m@kwmLU»UU™J@kmU@UUWUƒ@ƒyƒanwmçÛl¯ƒŽ¯UƒmKUmƒwVkmÝXbW@XWÝbƒk¯@±‚w@»U@W¯Å@ƒÇ¥UƒU@ƒƒ™IU™ƒakJƒĀ„ꃰšþƒXkamŽ@Žƒ_J°m‚@X"],
  19850. encodeOffsets: [
  19851. [118125, 24419]
  19852. ]
  19853. }
  19854. }, {
  19855. type: "Feature",
  19856. id: "4416",
  19857. properties: {
  19858. name: "河源市",
  19859. cp: [114.917, 23.9722],
  19860. childNum: 6
  19861. },
  19862. geometry: {
  19863. type: "Polygon",
  19864. coordinates: ["@@°VlmX¹laĢÒlm„@„„šV𣂂@¦Ģklynn¼lW°z„W„„°VbÈV@lÆbnn‚JškX„šVÆašÅ„W@™ƒUUw@ƒkaV»ÞkVaVLkmVwƒ»„ĕ™£@yƒblçkKkš›U@k¥‚wX»™kmӃ@Wn¯‚I„`@nlb„W™ý„¯ƒé„ÿlI@™XUmWUwƒ@@UJU„Ç„mKUV@x™„ţk¯¯LWƒƒnUxK@ű»Vwa¯š@¤WX@ŽÛ¦@¤ÇIȼWxXŽƒ@Wx—w›ŽUnVbÅèmVa±²UWl@Žk„lȄ¤nôܼXxlUnVlbVn„lU¦ƒJó»@wnkmU™‚Ý@U_™¤XxmXm¤„ô™b@¦Èƙ¦lJn"],
  19865. encodeOffsets: [
  19866. [117057, 25167]
  19867. ]
  19868. }
  19869. }, {
  19870. type: "Feature",
  19871. id: "4412",
  19872. properties: {
  19873. name: "肇庆市",
  19874. cp: [112.1265, 23.5822],
  19875. childNum: 7
  19876. },
  19877. geometry: {
  19878. type: "Polygon",
  19879. coordinates: ["@@l@š¥„@V¼„Vôۚš@bšV@ŤVLȃlVÈólUX¥mĉ°k„ÿU°@„ƒÞKl™ÿ°KU™„UW»Èw@aƒšw@ƒ„@nm@w›£kÓVUVn„Kš™k¥™£Vamƒ@nkKkbÆǫma—kmLU¥™UmƒÛwmVU™mUƒJ—ÇaUxÇIn`mb@Þ¯b@„nJ@nl„U‚V„lVU„L›W¯—Û`Ç_¯`mš¯I™bĉWċzx±J™x𐝯Uƒƒ_k@™šƒJ@Umb„šXôlLš˜n¦@¼ĊxlUXŽ˜xUbL‚Ġ„UnVĊwlšUš„b@lW„X„‚m²˜@ÞWxXš‚Unb"],
  19880. encodeOffsets: [
  19881. [114627, 24818]
  19882. ]
  19883. }
  19884. }, {
  19885. type: "Feature",
  19886. id: "4413",
  19887. properties: {
  19888. name: "惠州市",
  19889. cp: [114.6204, 23.1647],
  19890. childNum: 4
  19891. },
  19892. geometry: {
  19893. type: "Polygon",
  19894. coordinates: ["@@lbšW°bnnlaš@@wnmÆLVUkÇlƒ@Xk‚V²±‚bnUÆçUaVmœ˜xXw„@WXwÇ»ÈJ@£Ü¥@XW@£°™‚bUx²¼@ƂLVw„mX„°K°Ťlšƒ@wVUnLȃVƒVIky±wkƒKU¯ƒÅkƒ™XġÑۃlwUwlm@m„nKWašÅm›¯óÇmğb¯alĉUwķbmb@lÞÒVn—šmĀŹ@VŽƒbVŽUnmakLm`@xĉkklVÔVJVn—lV„UnmJmaLUbl‚™zmŽkL™a™‚ō@@zš‚V¦UŽV²kJ„nÜU@˜VXUށL@„lJƒL@bݤUnVŽ—b@xVnlK²„Vx°V„xlI„lkVl²k¤@n"],
  19895. encodeOffsets: [
  19896. [116776, 24492]
  19897. ]
  19898. }
  19899. }, {
  19900. type: "Feature",
  19901. id: "4409",
  19902. properties: {
  19903. name: "茂名市",
  19904. cp: [111.0059, 22.0221],
  19905. childNum: 5
  19906. },
  19907. geometry: {
  19908. type: "Polygon",
  19909. coordinates: ["@@‚LnÇlk„KnkÆL„ƒUm™ÈxlUœJló°n@ššanŽš„„a@ƒ˜@X_@mÝóóU@a™aU¯mL¯ƒƒkV¯™ÇVwkw@V±Ŏ£@™™@šalw±Vk@m„Åm¯™ÿŃƧIÇ`ōô¯_UVW°IV‚ƒx@xkX@Žmn™wXƒWa@ƒƒkkJ@kVƒa±„k™kVmxmL@‚¯XXlWVUI@xƒš„lƒIklVȃV@b„šlW@„@nUxVblVxkôlx™n„‚y„šnIƻư„aXwlK„bVnƒŽXb‚L„¤„k‚L—èƒVV¼ƒŽ²IlĠVX„ynz°KVx°@VlœLlblKœš"],
  19910. encodeOffsets: [
  19911. [113761, 23237]
  19912. ]
  19913. }
  19914. }, {
  19915. type: "Feature",
  19916. id: "4407",
  19917. properties: {
  19918. name: "江门市",
  19919. cp: [112.6318, 22.1484],
  19920. childNum: 5
  19921. },
  19922. geometry: {
  19923. type: "Polygon",
  19924. coordinates: ["@@lUXx°JWnnƚXVš„W„X@„šºVLV¯nU‚Vnb™ô„x‚aXmW™XIšŽUb°xlK„l¯œK˜xXÞ°ŽšXÈ¥Ü@„ĉޏU™‚çš»nóƒVma—x‚¯UÅU¥Ý¯@ƒƒç@ș@çĉÅUmU籃ĉKÝxÝ_ÅJƒk¯»ó¯nmèkǀšŽWxœ¼mnUÜġ°@¦@ƒxƒLkŽÇaVnUxV„™šVlnIlbnÆÆKX¦"],
  19925. encodeOffsets: [
  19926. [114852, 22928]
  19927. ]
  19928. }
  19929. }, {
  19930. type: "Feature",
  19931. id: "4417",
  19932. properties: {
  19933. name: "阳江市",
  19934. cp: [111.8298, 22.0715],
  19935. childNum: 4
  19936. },
  19937. geometry: {
  19938. type: "Polygon",
  19939. coordinates: ["@@°„nKV°šb@bôVÞô@n„VlÒôÆUnlnn@lmkmVkƒaÈkÆÆ„™k¥‚ÅÞ»ÆKXkW¥ÅLmÅkamJUkš™UƒVwUmÈbl„K„w‚@@¥Ģ¯VÛnm›»Xw™lƿ™@kbW™—aʵ@óL›l¯ƽ@™ƒƒLn°ƒÆ@nUl‚²kx™b@‚š@šō¤U²@ŽlxUxšÈU°lŽ„"],
  19940. encodeOffsets: [
  19941. [114053, 22782]
  19942. ]
  19943. }
  19944. }, {
  19945. type: "Feature",
  19946. id: "4453",
  19947. properties: {
  19948. name: "云浮市",
  19949. cp: [111.7859, 22.8516],
  19950. childNum: 5
  19951. },
  19952. geometry: {
  19953. type: "Polygon",
  19954. coordinates: ["@@@V„Iš™l@„`V„°Å™šw²I‚wČyĊXša°Jn™°_È`Ü_°˜œX‚KVƒkUUƒVkƒ@mmI@ƒ°a@Ýnam_ÈJVwlĉX@„šlUšómaUmVU°UK™¹@ƒƒWƒXU™™WmÅXm¯IWwkVWlÅLݼÆl¦ƒšÅÅÇl„bUllnknm@kmVmóÅkуUW`—@@„ƒb™ƒm™b@™¯mkô›IkVÇwnš„VƒÅKmlƒLklmȁKƒšVĊK°²„`n˜¤n„U„bWl„xVx™LUx@°nXm`VklVxmnnx"],
  19955. encodeOffsets: [
  19956. [114053, 23873]
  19957. ]
  19958. }
  19959. }, {
  19960. type: "Feature",
  19961. id: "4401",
  19962. properties: {
  19963. name: "广州市",
  19964. cp: [113.5107, 23.2196],
  19965. childNum: 13
  19966. },
  19967. geometry: {
  19968. type: "Polygon",
  19969. coordinates: ["@@Ș¼VxUnĊ¤@z„@šÆ@nÈW°ÈV˜w„ŽUÞVxÞX@ŽšK„šl@ބVaĊbœU@ml£k±lUƒkkJƒw¯UUw±ƒkLUm@w˜aUVmÞ£@a„KkI@ƒ‚KVUW@—ÛVƒmlIU±VU¥™@yğzƧǃƒšƽĠřšÅnī±m@ƒ²¯lƒ°@nÝÆóUll@XnÝVU¦mVV°—„V¼™Jƒn„b@°mbn„ƒ‚@²¯‚¯wVwƒ@@nmxX¤¯L@ŽVLU„m@@l"],
  19970. encodeOffsets: [
  19971. [115673, 24019]
  19972. ]
  19973. }
  19974. }, {
  19975. type: "Feature",
  19976. id: "4415",
  19977. properties: {
  19978. name: "汕尾市",
  19979. cp: [115.5762, 23.0438],
  19980. childNum: 4
  19981. },
  19982. geometry: {
  19983. type: "Polygon",
  19984. coordinates: ["@@@‚„@VxnXWV@š„bVššJ„„V@ÞÅU¥Ċxš£UWU‚wÅUU¥WVUkĊÇnkV`°LV™„wƒƒnU@™„ƒlbĊ¯„Vnalšš@@çkUÝ¥ġaó¯ÅaÅLŻÆUýmy¯ó@ĉÆó„ȯw™ÆXbmLƒ‚@nknVxkx܄ĢҚW„Æl„V°„Ll‚²xlz"],
  19985. encodeOffsets: [
  19986. [118193, 23806]
  19987. ]
  19988. }
  19989. }, {
  19990. type: "Feature",
  19991. id: "4452",
  19992. properties: {
  19993. name: "揭阳市",
  19994. cp: [116.1255, 23.313],
  19995. childNum: 5
  19996. },
  19997. geometry: {
  19998. type: "Polygon",
  19999. coordinates: ["@@V„Ȧ„Æ@X°V@@¼‚x²°@„lÞaWXX@‚aÞWlnUŽ„xVnnL„‚°V„@k‚mĢl@„ak™@mlk°aXƒ±„nwm±™²¯JV²@ƒwW˜—_mƒa„V»ƒU@m¯ĉUф™šJl™„ašbVn„lĸLlƅÛDZwÝ@ĉxó@è™@k™mbƒUĉ°kaƒ„@šmV„„ƒxUš¯KU_mlĉÈVlXUV¦ÆVxVŽVX™¤ĉwV¦ÝÆ"],
  20000. encodeOffsets: [
  20001. [118384, 24036]
  20002. ]
  20003. }
  20004. }, {
  20005. type: "Feature",
  20006. id: "4404",
  20007. properties: {
  20008. name: "珠海市",
  20009. cp: [113.7305, 22.1155],
  20010. childNum: 1
  20011. },
  20012. geometry: {
  20013. type: "Polygon",
  20014. coordinates: ["@@„è@„Þ°V¦VƁ°˜wnb„UÆ»nçÆ@nxܤ²llU°VnÈJސ°UôéšķUklƒô£VVˌKÞV°£n¥ƒ£ȗ™Ýy¯¯mÅkw¯bÇĔğ@Ýn¯ĊƒVğōŁŻƒķJ@Ț", "@@X¯kmèVbnJ‚™"],
  20015. encodeOffsets: [
  20016. [115774, 22602],
  20017. [116325, 22697]
  20018. ]
  20019. }
  20020. }, {
  20021. type: "Feature",
  20022. id: "4406",
  20023. properties: {
  20024. name: "佛山市",
  20025. cp: [112.8955, 23.1097],
  20026. childNum: 1
  20027. },
  20028. geometry: {
  20029. type: "Polygon",
  20030. coordinates: ["@@Èb˜Ž„InVVšnUÜxn„šVV¦nK˜lnbÅǬlalL@mn„Ubš¤l¦™šƒLUmUVlԜ¤@xmnVl°_XVVmƒkVmș@kn@VƒUK@°KW£nw@m„@Ux°x°@±„mƒna@¯ƒa„mšIU»˜ƒU¯nUV¥ÞUWmk@Vk¯™Ukn›ÑWݐƒĊÛ@Ǧ™W¯Wݗw›Lk°ƒkL¯wVa™WJXšWnbƒwkVƒ™W@kĊ"],
  20031. encodeOffsets: [
  20032. [115088, 23316]
  20033. ]
  20034. }
  20035. }, {
  20036. type: "Feature",
  20037. id: "4451",
  20038. properties: {
  20039. name: "潮州市",
  20040. cp: [116.7847, 23.8293],
  20041. childNum: 3
  20042. },
  20043. geometry: {
  20044. type: "Polygon",
  20045. coordinates: ["@@°ŽÜknèmx„b„z„@V‚VX@VnV@lšIVVV¼nKlxn@@¦Vx°LXbla„ŽWbœV°£¯™W@nW@™‚aUñVœwWš»@¥ŤÅUÝǓÝóV@ńǎkUVmƒIUwÅVWÇX¹›—@W„¯bkl@nlšƒb@‚kġށn@l"],
  20046. encodeOffsets: [
  20047. [119161, 24306]
  20048. ]
  20049. }
  20050. }, {
  20051. type: "Feature",
  20052. id: "4405",
  20053. properties: {
  20054. name: "汕头市",
  20055. cp: [117.1692, 23.3405],
  20056. childNum: 2
  20057. },
  20058. geometry: {
  20059. type: "Polygon",
  20060. coordinates: ["@@‚@U±°Iš±n²mx²ƒ˜@œWºXÈÆUVx„JUnlVȍ@ŃôUǔÞVçn»VyĢÛVm@»kaÝUǼóšÛÈķKċ¥X„¥Wwğk™ƒ¯@ƒwķKƒkUm™aƒbkš™IƒšVÒ°Ċ@n„VU¼ƒ‚„bn˜`X—„x"],
  20061. encodeOffsets: [
  20062. [119251, 24059]
  20063. ]
  20064. }
  20065. }, {
  20066. type: "Feature",
  20067. id: "4403",
  20068. properties: {
  20069. name: "深圳市",
  20070. cp: [114.5435, 22.5439],
  20071. childNum: 1
  20072. },
  20073. geometry: {
  20074. type: "Polygon",
  20075. coordinates: ["@@ÞLš„@xšbV„šVšK°™X°Kô¥Vw@anU„胐š‚lkĊl@wn_lKnbVmU„aUź@nÿ˜™UmÝѯUƒbk„@ÆkxŻ@™aÇX—wƒJƒƒ¯LķÝUĕ™ó™ĸóêWº@b²nmĬ™Æ"],
  20076. encodeOffsets: [
  20077. [116404, 23265]
  20078. ]
  20079. }
  20080. }, {
  20081. type: "Feature",
  20082. id: "4419",
  20083. properties: {
  20084. name: "东莞市",
  20085. cp: [113.8953, 22.901],
  20086. childNum: 1
  20087. },
  20088. geometry: {
  20089. type: "Polygon",
  20090. coordinates: ["@@Ŏ@ššblKnšykVa‚KnbnIVmUƒ˜kUmUIUә„ƒçmV@bUxó¦¯LW‚¯š™L™UUƒ™a@w™ƒÝKğŚ™ƾ„„ƨÈĠy"],
  20091. encodeOffsets: [
  20092. [116573, 23670]
  20093. ]
  20094. }
  20095. }, {
  20096. type: "Feature",
  20097. id: "4420",
  20098. properties: {
  20099. name: "中山市",
  20100. cp: [113.4229, 22.478],
  20101. childNum: 1
  20102. },
  20103. geometry: {
  20104. type: "Polygon",
  20105. coordinates: ["@@‚XœÒlmšV°ôÞÅ@m„¯°k„±‚@@aX¹¯VݏÇIUmV¯kk‚±Û£mw@‚Őmèżmô™¼èVš"],
  20106. encodeOffsets: [
  20107. [115887, 23209]
  20108. ]
  20109. }
  20110. }],
  20111. UTF8Encoding: !0
  20112. }
  20113. }), i("echarts/util/mapData/geoJson/guang_xi_geo", [], function() {
  20114. return {
  20115. type: "FeatureCollection",
  20116. features: [{
  20117. type: "Feature",
  20118. id: "4510",
  20119. properties: {
  20120. name: "百色市",
  20121. cp: [106.6003, 23.9227],
  20122. childNum: 12
  20123. },
  20124. geometry: {
  20125. type: "Polygon",
  20126. coordinates: ["@@lklWXL@VšI‚l@XnJn@VUUalk@mK@kny@UlU@a°™„ƒUU@VmaU@Ua@UWw@ƒn@KmLm@alkšmnI‚m@an@VIUamWÅImwU@@a@K„X@JVL„UVmUaVkUa@m„@@Ulmkk°ƒUaVUlKXbVwVIkaVmUk@KVk@a„aW¯m@w„¥laœX@KmaškVmnUl@nxVKšInU@yVaVIV@na°KlxX@@_lmXšUV`VIV™V@„n@lšbn@@WUkValK@²yl@„„VUV@@K°L@KU@@UVaXIVVV@naVkVa@K@UUK@UUa™LWa—w@m@K@UVVƒ@mVUUVKnL„mVL„K‚bVK@UUIk›mI@mUIVK@IUK@VkLƒ@WU@mU@WmUk@ƒI@VƒJk@WwX_@amK@UUWkIƒ„ƒK@LVb@mVmakL@J@bU@Ux@xƒbmI@`ƒIwm@UbmKUaUWa¯UkJWV@XƒJUU¯LUmV@ma@kkamKwƒLUUmWVkkm@aVUUkVKnVVUmXK@UW@km@Ukkm@@W@U™kUy@I@aUUmbƒ¤U@kUmL@bmJU@Ua@wkLWWkL@Uƒ@VaU@ƒLUakKWbkUWVkKkLVLUV@JVbƒz@Vƒ„@ƒVmUU@kVmK¯@VƒU_™VWakVmIUKUaU@@bml@XU@@V@LmKUV„mVUKƒƒKƒbkaUXƒKUL@x@V@l@„mxU¦„V@ŽlL@V@Ln@@VV@„nlKUaV@nLUbmJnL@VWLkbmV„@@L„W‚„XLlx„VVIVV@x@V²blUVm„LVUœK@kWWXUlV@Xl`„LX„l@@VšŽƒn@VnbVš@lVUVUÈVbš@@`UXU`l@@XUVm@kš@xmVknUJVXUbmKULmbx@VlJ@LVbkKUbVLÇUUVƒUVmU@VaUkUKƒVUwmLkUUVVlƒbka™XmwƒKUšVVU@@V±Uk@VWUUm»XamU™bƒKk™`ƒ„™U@UnWW_kKmbUVUVmnUV@„nJVUlšUbU@UV@n@JmI@VmbnVUXlx¯ŽkKmnVV@L@V™bkV™Umm™@Ub¯LmlUƒL@VWLkmkLmmn£WmnKU_mW™š™bnbmxƒ@U¦UJU„@Xmlk¦@‚mnUUm@@Jn@lV„ÔVJnIVW„I@a„ƒÆK@I@aVK„IlŽÞnnl@nl`nbÆX²l@xV„@llbVn²ŽVVl@nn„V@IlW@Un@@kVa°KšnÈmVaVXUlaVƒÈU„VlwôUlynIVašan@lVXb‚Iš@n¥la@Kš_n‚@bÆx@XnJV„nKVz@`VXVšU`@bƒ¦UV@VšIlx„UnV‚K„XÈbšVllšbVbnVn@"],
  20127. encodeOffsets: [
  20128. [109126, 25684]
  20129. ]
  20130. }
  20131. }, {
  20132. type: "Feature",
  20133. id: "4512",
  20134. properties: {
  20135. name: "河池市",
  20136. cp: [107.8638, 24.5819],
  20137. childNum: 11
  20138. },
  20139. geometry: {
  20140. type: "Polygon",
  20141. coordinates: ["@@lLVl„bVV@nXVlI@JVX„mšn„W°b„IVV@‚ln„@nalVUb„nW‚@kVkÒlbVKn²°bUŽlV²@˜X@`nb„aUI@ƒ°wlU@aXJVI@aVK@wUamIXm‚@XUV@@bV@Vm„ImnUUwVaVKXU‚nVK@akƒVwV@nL@UV`n@@X‚lnIUJl@X¦˜V@aUIVm@anƒV@UwnL@VlbVL@KVVXUWƒ„wUUVUka@UVJnUlbnalbVVn@°„„LV`Þ@šXVxV@@bVlUVVbXnWlXnmlš@XXWVXJmbUI@V„llUVkn@@VWV@Vnb„@VXUJVnn`lLVk„a„»lVšLnw@WV@lInw@WnU@U@m‚knUVó„K‚wUmUXUƒU@@wVJVIl@XKVVVbVI„J@Un@lŽVLnm„b@U@Ul@nUš°VUVJnnVJV@„@mVU@ƒ@wkUVwkKWk™yUUkU@alkÈ@lJ@x„Ilƒ@UUWVkUw@Kn@@kmaƒVUl™UUL™ÇƒUUKl@UUmL@aXU@mlUUwmKkUUVKVUƒaƒKUnK@U@Vl@XUWU„KlwX@šb@K‚@XkV@UwWJka@aUwmV@U™@@U@wUm@»kLWVkIWŽXnmV@VkbmKƒLUbk™Va@aƒa@@aVU@aVak£@ƒ±UkVU¯V™UUƒJVƒUIƒ@kxmUmWUbL›w@K@aU@@aVU@Kma@aka@_VWkk@UWVUKULWKULUš@KUnƒwVaUKƒxU@UmaƒL—m@kVmVa@UkƒmI@ƒ@KmIkxU@@K™U@mmakI@VƒLkmWkkJ™_U‚@V@L@n˜xXbšKVb@VVL@V@LUbUlmbU@UUWJUb@VV@@L¯K@LU@UVƒƒk@±z@‚kLUbVl@Xm@™akm@ƒU@UšUJU_™VWŽkn@`W@kw¯LmbU@UJUb@zmV™JULmwk@mVUn™lnb@L›Wkbƒ¦@x°nXŽƒb@bUl@LVlUnlbUJUxWakLUVVb¯„llkn@Vƒ@@nVbUlVbUnƒVUK@IƒW@L@bV@nxÆJnXVbUJm@@bnmJ™nkl@b‚nnK@L„m‚@Xx@VVbV@nb@UVVƒ„¯š@bkV@Vmz@lnLl@kŽVbUVm@mI@Wk™J@UWKkXkl"],
  20142. encodeOffsets: [
  20143. [109126, 25684]
  20144. ]
  20145. }
  20146. }, {
  20147. type: "Feature",
  20148. id: "4503",
  20149. properties: {
  20150. name: "桂林市",
  20151. cp: [110.5554, 25.318],
  20152. childNum: 13
  20153. },
  20154. geometry: {
  20155. type: "Polygon",
  20156. coordinates: ["@@nU@J‚X@`XLm¦Vb`lšVXXWš@VblČnVšŽlanLnmVLšK@_Vaƒ¥@kUa„@VmVb„aV@XVVzlVVK@knKVmX£VKšLlbnš@b@llL@xĊôXaV@°È@¤„bn„V@@Wl_„V„U@W„nVamw„wVbn@„K‚VšLX@VmVUxlV@šnVV_nK@m‚I@Wn@@IšUĊ@@wVWX@@I°VVm@wmU@m@IUƒV™kƒlkUmmkÅV@@aV@@Wn_UKla@kšaV„šlVanb@k„@@KlVn@@aV@nIWW™UUaVU@™kKmwU@UImKk@UU@w@W@‚™k@™UkWƒ@mk_W@Ua@a™ƒƒ@—¯ƒmV£@mƒUUam@—kWakƒVama@UUm@nw@alaUmnUlVlIœV‚™šLVyk£Vm@k@UUJkƒK@kmKUw™KkWK@UXImyVwnI@m‚ƒkUlkUKkUVmƒw@kkJWUÈm@_k@@aƒaW@U„UJUwU@@IWKkƒmUUV@nVl@bVb@bU‚UXƒakw@ƒWUkbkKƒbm@™xUlkLm@@wmKUX@‚™UaVW™XVmU@@UUUƒxkmWXkKkUWaUaUb™L@`UL@LV`UXmK@VmakLVbkL‚xUJUIVbUVVb¯KƒV@Xnl@lVXbmÒnV@L@VWKkVUIWJkIƒŽUamUUbm@U„kU@JUbW@X„WxUam@kbVVUnUJmUUV@bƒU@UUV™@ƒVk@ƒbƒmULV¦U@V„U`VLUL@xVbn@UJ@nWJXXVŽVV@bkxVbUx‚Lšš@x„¦@šU‚lXUVVlULV@@šnŽU„ƒb@xl„nJVnlVknUlVUbmŽU@ƒbVš„x"],
  20157. encodeOffsets: [
  20158. [112399, 26500]
  20159. ]
  20160. }
  20161. }, {
  20162. type: "Feature",
  20163. id: "4501",
  20164. properties: {
  20165. name: "南宁市",
  20166. cp: [108.479, 23.1152],
  20167. childNum: 7
  20168. },
  20169. geometry: {
  20170. type: "Polygon",
  20171. coordinates: ["@@lKnbnU‚@Ua@K„L„ƒlJVX@VnL@bW`Xxl@„I@U„Jl@nV@X‚V@nXV„@lK@UVL@JULVJ@nnJlœVJ@VULaƒLUKƒnmKULVVUŽ@nU„š`lIXlln„K@UlJnb@nšV@LV@lwnJ@L@„nJl„@VUbUn@l˜n„KnbVŽV@„wVLUb„xVm@LV™VKXLVKVLXU@VllUX@`lb@bnb‚L@ŽUV@bV@@b@Lœx‚KVanXVƒUUmVUUUaVUky‚UUa„ImK@mUUVUkKU_@W@UVVVIUW„UVaVU@UUKnƒ@k@al@ll@bnL@b„VUV˜X@Vœ@@b‚Knblmn@V_@aUalL@a@akK@kVKUKlwUUnV¥VmU_VWVIVaX@Va„alńK@LVJnalL@LnK„wlVUw‚mX@VXšƒlLUVnblaUmVUVwXU@Wm¯Va@ÞKnw@w™mšk„»‚UVW²a@_mW@U@I„y„LVUUKW@@™„LX@VUV@@yVU@UV@nwUUmJka@IU@ƒmƒVkaW@UwUX@`ƒ@kLWUk@mƒkUUm@k‚UUWkUƒkWxk@@VƒK@nV@UVaƒUUJmIkVƒ@UamLUbkVmamLka™@ƒ‚kmL¯WI@wJmwƒx@akU@aUKmbkaW_nW@_U@Wm@a@wkwUKmƒk@ƒbkb›w@mKUkkU@J@bW@kVWz@bVUa›VUx@„ULkJWbXVVXƒ`@œmJUVU@@Lk@WbU@UJlnXlm„Vx@Ln@‚b@K„LX„WJUUW@kƒaUVUbmV@nnV@n@lVLƒVmLX‚mXkV±@kxÅL›šUbJWIÅJ@I‚mXalkUamKkškL±aVwKƒUU@mÞnbWJX„m„@lbmKULWUUVkaƒbnn@Vl@VVV@VƒbVbnLWLXJWxXLV@@VV"],
  20172. encodeOffsets: [
  20173. [109958, 23806]
  20174. ]
  20175. }
  20176. }, {
  20177. type: "Feature",
  20178. id: "4502",
  20179. properties: {
  20180. name: "柳州市",
  20181. cp: [109.3799, 24.9774],
  20182. childNum: 7
  20183. },
  20184. geometry: {
  20185. type: "Polygon",
  20186. coordinates: ["@@ƒwU™„aV@nVaUVklmkUUmmIkƒ@w„aVƒm@™U@VKUkVUkWV@™ƒ¥@w™™KVwUalw@aUUUWWXI@mVIm@Ua@wVKUKV_UƒV@U¥VK„n„al@„Uš@VU@V„V@aVUnVVIVmUUlan@VbXwWƒX@Va@IlVVƒn@VanVVb„lJXIVJlUXL@U@KmUnÑWakU@mkƒJUI@mk™@wUmmUV@JXaWIXWmaUIƒJƒkk@W„nJ@„ƒaUak@›kkJ@kUKU_ƒ@myUóWUkm¥kUmL@KUKm@k_UmVa@ƒk@@UmU@mm_—JWIUVUŽWLUlbVUJÇVUIVwƒKUVk@mU@n@lUL@Km@@l@L™VƒzJmUU¤m@UbV²U`U@@¼Vn@x@Vš@@VnUVx@blbXIVxU@Wl@@L™aW@kxƒLXVWVk@@U@VmLVŽ„L„bUVULVV‚lnLVxkV@nWV@bnKVVk@VL„VšÈVKšVVk„Unb@lm@@LVxUlVX@Vk„ƒJ@wkIÇ@kl@blVVVšzXllLUxlV@x@„UV@nƒ‚U@UImmUIUV™¯mVk@@V@VƒamnUKkm@@VƒIUJUaUUWLk@UJUI@xV@V„VWVnxƒLUômVV„@VkVVVUnV@UVkL@VVV@bVxla@bkXVJVn„`nU@bƒb@bVL@VnJ@„l@šV„aU@@_lW@UUU@Unƒlll@XLl@@UX@°bVWVanLlknVV@VVX@VVƒnUŽVLmbXJ@nllXX@`VXƒlmaXVWk@Wkƒw—J@„VL@J‚bnU@bn@@bVKUnVJVIVVVL²a@bV@@Vl@nUVakalmš„UL@VUL@V‚a@mXl@nK@UlK„L@Vl@@nkllb@š„Vnn@‚šnV„™V°l„šVInwlKXxlU°Žn@@ƒ‚I@UnVlakUJWkUK@anUWK@_ÞJ@U"],
  20187. encodeOffsets: [
  20188. [112399, 26500]
  20189. ]
  20190. }
  20191. }, {
  20192. type: "Feature",
  20193. id: "4514",
  20194. properties: {
  20195. name: "崇左市",
  20196. cp: [107.3364, 22.4725],
  20197. childNum: 7
  20198. },
  20199. geometry: {
  20200. type: "Polygon",
  20201. coordinates: ["@@@JVzšl@V@Xn@ll@VlnX@@VWLnŽUVmUULVlUV@blnUlnXVV„K‚xnLlb@lnbU@Vn°KVV„I@WXUlI°VXb‚VVbnLVan@‚x„J@_nJ„a@wVwV@@a@IU@UU@WKXwWIXKmKUa„a@U‚UUUk@@Umm„albVUXVVKnL‚a@knƒWƒXImanÝV@„V‚LUx²blKl™nLVbklWbn@JÆIXJ‚IVaœ™ÆKlw²@lUnWWnK„UUK@k@mmU@mnUVaVU„b@lVXVXIWƒƒK@Lam@@KUwnƒWkkmVIV@Xal@@KV@VUnI@›„_UWWUkam@kkm@ka@mƒk@wkJWIUU@WXkW™XkWWLUUƒ@UakLƒW™XV±VIVWUU@anUWaUK@IU@Vak@@UUKWaƒ@m@ak@@wUkla@mUaUklakwVƒ¯¯@WWUkLkKmaƒ™kLUnV`UxWX@Jkn@bmlƒakkk@ƒb@l¯bm„ƒbJ›b@VXn„bVV@„ƒbƒJUkkKWVU@mœÛVUUW@UVUJWXkVkKmUL@WW@U„Vl@XXKW„XJ@XVlmbUxnnm@UlVnV@XVm¦VJb@šmLkKÇbXblVkn@l@bWnX`V@@IVV@ŽV„V°n@@_naÆVVbUVVbUJnzlVUl‚XkV@Vlx@X„VnxƒbƒKUK@b¯VVUV™L"],
  20202. encodeOffsets: [
  20203. [109227, 23440]
  20204. ]
  20205. }
  20206. }, {
  20207. type: "Feature",
  20208. id: "4513",
  20209. properties: {
  20210. name: "来宾市",
  20211. cp: [109.7095, 23.8403],
  20212. childNum: 6
  20213. },
  20214. geometry: {
  20215. type: "Polygon",
  20216. coordinates: ["@@nVlw„@VJU„„IVVUšV°lU²V@„l¤Ub@bUV@b‚@„b@bUblšVa„KnLla@UnUWmXlJXUlKV@V_U±Van@V£nV‚I„yšU@K@kn@@LVK@k@mnVl@VU„LUxVJÈUVIU‚aVkXKVVUXJ˜In`@nnV@Vl@@„UbVnl`n@VL@LnKlVn¦VlôXV‚nz„@V`VL@llIœll@Vb„b@ƒmIXƒl@„l„IVJnbWXXJWb@IU‚nVVn@xlš@nVJ„I@W„U°LUaVUUaVJVIwlKUalKnb@UnLVWU_@KVK@_šKVa„@VKU¯VLVKn@la„aUkU@maVU„J@k™@Um@XmbkyVaUIUU@KV@laVn@KXKWUkUk@ƒaW™UUVw@aXKmƒVaUUkšmIƒlUU@wUa™xUmmU™¯™U@WƒLUmVIUym@UVmUa@wmw@çm@aWLU„™JUIUamKmL@™aƒx¯¥ƒkU¥U@±„k„UVmKU_mJUbkKm„ƒLÅǙ_@WWUXUmaVUkK™„UWW@nVxkUƒxmL@KkKmbUI@KƒLkƃbUbW@UbUJUXV`UnU¦mŽVVkxVLUL@llL@b@bkKVb@bU`m@knmaL@a›@@U—WVUƒU@amK@akkk@@b@lm„VL@VUVUbƒVVXUJUU@V@XV`lLUVVV@nnLƒJVbVlzUVVbVVnUVVU„"],
  20217. encodeOffsets: [
  20218. [111083, 24599]
  20219. ]
  20220. }
  20221. }, {
  20222. type: "Feature",
  20223. id: "4509",
  20224. properties: {
  20225. name: "玉林市",
  20226. cp: [110.2148, 22.3792],
  20227. childNum: 6
  20228. },
  20229. geometry: {
  20230. type: "Polygon",
  20231. coordinates: ["@@VJUXVVXlWX@V™xVnX@@`ššULWŽUXÅbWK@mULUUmJ@n¯b@l@VULVx„x‚XU`VXXJVI„V@nm`@nUŽVXn@lWVn@b@Jn@nU@Lm`@Xn@WJƒ¦U@@VnL„lV@@Xl`nIlJnkVL„w@KVK@UšaVL@bVKX™lUUKVK@I„VšL„a@U@WšLUlVL@bU@@blb@VlbUxVbXUVJ@xVL„U„lV@VU„bVLnKl„XJ@L‚b@an@VanL@`VLšKV_UWl@U_„a@WVInlVUUUVm@I@W@wVakIWm@U@ƒXwlaVbnI@ƒm»Va@aXaVLšU„»@aVa@k™KkL@KmU@WƒzUK@wU@VWUUVUUKUa@mKmbUK@_nWVaUkVaUaVUVLXKVƒVUVmVI@UkKkLm`UkW@UwWW_„UaU@WakXmK@xUXƒJkƒUUWUk@Wl—mJ@km@@aUKzmyVk„a@kkWVUU¯lmU@@w‚kkmV@Vk@mÅIƒ‚Ukƒaƒ@Ub@m@UUU`mUbWaWmb™X™XKWIXUWm@љ@y@UkIUJUUWLUWƒL@UkVUxW@kaWbKWnXxW¦n„m`XLVlUbVbUx™I@JmLUKUb@VW@@bkL@b@VlU@xkš@L@lƒxXxWXX°V@VVVbUVV@UVVbULVnVJUb²b‚aUb@VVVVInlV@VnXaVUšlI„VUb"],
  20232. encodeOffsets: [
  20233. [112478, 22872]
  20234. ]
  20235. }
  20236. }, {
  20237. type: "Feature",
  20238. id: "4504",
  20239. properties: {
  20240. name: "梧州市",
  20241. cp: [110.9949, 23.5052],
  20242. childNum: 6
  20243. },
  20244. geometry: {
  20245. type: "Polygon",
  20246. coordinates: ["@@VbXblVlLXWln„wVV@VV@UnšWUXVbš‚@VWXa@kVK„UaVaVkšUlyX@Vaƒ—VmUwUaVU@UÈymI@aU°@š™nWV@VaVaw@IV@VmnLVK@kmmna@™„™VbVI@aV@XbW`U„„LUVVx„@VbUV@bl@VLXblJn¦lL„°°@n™@K@UlLnK„a°LWbnJ„¦UÒV„UllLlVnKnbWnn„V`„w‚@@Xa±™n™l@XKV_„WVkVa@kVyUa@wU£UW@UIVW‚@@a—wWaX_WKkVmUULmak@UJUI@±m»™—k@m»VyUIm™nmmwnkUmVaVIUn_mW@»Vk„@VwkmmUXa@IƒaVm—mƒ@Wm_U@mIUWóLmUk@laXmmkUK@UmKULUUmWULƒ@VakU™@Ub@bƒ¼™VUKWb@bUbn¼@„mJUakbWx@„@VXnlJUb@x@X@JUnVVUVmkUJ@XƒbV`k@VXU`™LUK@_mKUbm@@b@„U`@nlV@b„UnbVbn@@`VbUbVV¯bm@@mJXb@bVnUllVXUlbUl@LU¦VVmŽkLVb@b™l@V@XlK@V@nUJUz„°mށwmLmlXbWVU@UUUlƒIU@VVmV@@¦‚bXbWxX„WlXVWL@LUmkbU@@LVVVJUblzna@WVnš@@lƒIUVnbV@Vlƒbkbm@ULUKV°ULƒ@"],
  20247. encodeOffsets: [
  20248. [112973, 24863]
  20249. ]
  20250. }
  20251. }, {
  20252. type: "Feature",
  20253. id: "4511",
  20254. properties: {
  20255. name: "贺州市",
  20256. cp: [111.3135, 24.4006],
  20257. childNum: 4
  20258. },
  20259. geometry: {
  20260. type: "Polygon",
  20261. coordinates: ["@@nL@xn@lKVkšwn@„alLlaXV@„lx„bVWV@aUa@aUk@mVUnVl„XL@JV@VxVIVƒX@„b@bl@@`ÇnXVlI@l„xUnlVVLkllV„@nmJUxnzWJ@VXLlŽšLVxnL@l„LlŽVI@V@lUnl¤Uz™Kš@„Vl@š„L‚l„Lnš‚b@VnVVU@k„a‚Knxn@VkVJ@ńUlakmWIUaVanm@_UK@UVWUa@klXam™U@Vmƒ™VIXW„@lUVknVlKVLXŽVXšW@b@VlšnnVL@KXL‚Kn@lb@UnW°@Va„X„WVb°aVa@I¯aUkUaVKVwƒaXk@a„a‚™@wkm@alanUVw@alK@Umkw@UƒaUmU@WXUaUK@UW@UaVWI@¥Xa@w@WWšVƒXwƒU@mKUXUWVU@a¯kl@akU@UULmK¯VUVW@U_m`U@@xVbUz@lUbUlƒXU`WLk@mš²šWb@ށ@ƒxU_mƒXmmamLkUkKVkUƒVу¥mIXa¯KƒbmLkK@V@Lmš¯@ƒ¯kKm¥kIWaUKk@@aVUUaƒ@UwVUƒKVƒX_WaU@@bUJUaƒš@šmbnn@lULmKUnU@@J‚xUbUbU@mX™š¯@VŽ@bnJÇz@VUVVbVxUn„˜UbW@kz™VUlUbVbƒŽUL@lWb"],
  20262. encodeOffsets: [
  20263. [113220, 24947]
  20264. ]
  20265. }
  20266. }, {
  20267. type: "Feature",
  20268. id: "4507",
  20269. properties: {
  20270. name: "钦州市",
  20271. cp: [109.0283, 22.0935],
  20272. childNum: 3
  20273. },
  20274. geometry: {
  20275. type: "Polygon",
  20276. coordinates: ["@@@IlVVlnL‚@œxla„al@n„VLlx@x@bXnV@@`mXX`lbnaVL@blV@b„wnx‚I@xXJ°nK‚l„š@lbnKnblUVanKVb„@lUnJVI„VUb@V‚U@m„L@Ul@Xw„llVVXV@lVnlVn„l@XVlK„@@_VWVxX@lb„U„nV@@JlbnIlmnVV@UwVK@U@k°a@mnIVVVK@nXLÆaVWXVK™™@_W@Umšw@UXWWkUUVWUIVaƒUkJ™UVWbUmU@mkUJUU@UVab±aVaUIUmVKUaVUU@VUUaUUU@W¯XWWw„w@k@Kl™@wkV@U@alK@aX@@UmIUWUIƒ@mmkXU`U_WJUnUJmUk@@amLU@UVW@UkU@@VƒbUWVUk@@wmKkUWLUWX@JmIƒlUkkKWKkLWU@UKWa@bU@@a@_UKWƒUUUmJmw@nV_@ġğKóLmbU¼VÆ@xUXƒ@Um@wklVnUn›lkaUV@„lV²WVklWXXbWlkVkIm`UUƒLƒUU@UWƒx@XU@@lWLU@kbUbV`UXllUV@bmb@LnKVbULm‚šnVVIV`X@"],
  20277. encodeOffsets: [
  20278. [110881, 22742]
  20279. ]
  20280. }
  20281. }, {
  20282. type: "Feature",
  20283. id: "4508",
  20284. properties: {
  20285. name: "贵港市",
  20286. cp: [109.9402, 23.3459],
  20287. childNum: 3
  20288. },
  20289. geometry: {
  20290. type: "Polygon",
  20291. coordinates: ["@@n@VzUJ‚nVŽ„K@XšVš°nVVnšwVb@xVV„knJl™VVUbn„WL@bUxVVXš„bl@lVXkWƒXwWaa@¥‚@nUUUV@„JVkVVV@XUWanknK‚xnƒ¯VyVI@m@UkL@W@Ušk@aUalKnUUV¥@KVkkaWVkUVkUm@aWanI@n@°aUUVaUa@_m@UamaƒV@akU@mV_@ƒa@KWIkƒmLUKƒaUVU@ƒkƒVUK@wUIWVUaVwka@Uka@aV@@aUKVk™K@X@Vƒb™KƒU@JULVLkVWšUL@aUK™b@VUL@LƒxUKmlkImJk_@WU@ƒkmK@UV@„¥XIm@@Wn_@KmVm@@I@aUmkXm@UWV@mn_@mƒUUJWIUWV_WƒwU@mUknVVmxU@@VUV@zU@UVW@ƒK@šX@VLUVƒKƒz@J@VnX@`±bUXVƒ¼™lšn@xmxÝL@‚Ubn°@XWVUxUVVnkbWVXV@Xš`ÆÈ„KnƒlLVanIV`nLVUlƒ²ƒV@V¦„l°¦„w‚b@šnKnLVbVJšIVƒXK@b‚n@ènx@xVbUnV‚"],
  20292. encodeOffsets: [
  20293. [112568, 24255]
  20294. ]
  20295. }
  20296. }, {
  20297. type: "Feature",
  20298. id: "4506",
  20299. properties: {
  20300. name: "防城港市",
  20301. cp: [108.0505, 21.9287],
  20302. childNum: 3
  20303. },
  20304. geometry: {
  20305. type: "Polygon",
  20306. coordinates: ["@@XV@X°°U„lxkbVlVb@nkbVl@xl@@b@n„‚XbVL@Vl@UbV@@JVLXbmV@bVVUXUJU²šW„XlKVb„@VVXKlXšWlXXWV@VXJlI@x„l@nlbn@lln@lbXalIVK@ƒVwœUVb‚U@aXylUX@@aW@U_UJmU™nVKUamL@Kna@aVUkkVWU_ValaV@XK@kV@@W„wVXV@„V„KVVn_lJlUXkWaXWlkXU‚±kU@ƒVUlbœkVmUmlk™¯Ý™™W@mb@¦VxULm™kJUU@ma¯wƒmkX@VóJ±bUVUXÝWk™lWXXlƒxUaƒbƒIğ™Ç@U@mVUKkkm@UJm@XnWV@x"],
  20307. encodeOffsets: [
  20308. [110070, 22174]
  20309. ]
  20310. }
  20311. }, {
  20312. type: "Feature",
  20313. id: "4505",
  20314. properties: {
  20315. name: "北海市",
  20316. cp: [109.314, 21.6211],
  20317. childNum: 2
  20318. },
  20319. geometry: {
  20320. type: "Polygon",
  20321. coordinates: ["@@VaVLnK@IšJVwUaVaUkWKn_mƒX¥WwXm‚LXalbU£UyV„Å@ݙwm@™°l›LÅUƒmk™mwÛaƑLÝUUm@ȣƃV_„Ó@£UƒƒUVƒ„™¼U°W̄™ÞVbXbôx@b@bmV@ǃ™UÝ@@ĢU`m@ŽnxnIVV‚VX„VL@`@bV@@aXbVL‚@XVlKXLlLVl„knJ@I‚WVXXKlVnL@xl@UVVX„a@UV@VlX@VUV@nK@bl@nVVIVmXIV`V_lWnn„@VJVXnJ"],
  20322. encodeOffsets: [
  20323. [112242, 22444]
  20324. ]
  20325. }
  20326. }],
  20327. UTF8Encoding: !0
  20328. }
  20329. }), i("echarts/util/mapData/geoJson/gui_zhou_geo", [], function() {
  20330. return {
  20331. type: "FeatureCollection",
  20332. features: [{
  20333. type: "Feature",
  20334. id: "5203",
  20335. properties: {
  20336. name: "遵义市",
  20337. cp: [106.908, 28.1744],
  20338. childNum: 14
  20339. },
  20340. geometry: {
  20341. type: "MultiPolygon",
  20342. coordinates: [
  20343. ["@@@UnUlJn„w‚JU°VL@bnVšU„wlJ@XƒŽXVlU@klVUJknl„UllL@bUJ@xULUlƒ„UblVkblbnw‚UXmla@„wV@VK@L@UXaVKVLXWƒUVa@U@Im@@W@£UKUakKWIXU@al@@llUnL@W@Un@@VlUV@VIUanKl@Xb@lmxVb@b°bb@nlJVVnnJ@b@L‚V@ln„@LmV@Vx@blnVK„nlJXIlw„J@҄b@nlK@Un@UL@VVVVUUUVK„l„@VUVL„J@UVUUw„@Wm@™„UV„ÈVlbUb@JšLlŽX@@x„„ƒLmŽk@@nlx@bUJUzVJ„@@LVxUV@bWxnLnVVK@_‚K²xVbV@n¥@aVI@b„@l@Va„Knb@n‚`n„mmý„W@ƒU_šwV@VlVV@Vn@n„˜@nI@Jn@°¦VaUU@™„mVVWVaUńU@aVKnƒVbVUmmU@a@kUw™m@aUUmUUJ¯lakU‚aXaWUUaVƒkk„amkmUnVlULƒVlJ@XU@UJWUUw„k@aU@WbkWƒL@U@WU@@XUKmV@aUVwUĕUJUamUUVUÑm™nIVJ@kl@XalJVn@KVLœ¥@UWIXWmU@mVUKnUWLUKUaWUUKVU@U@anUny@UlUkK@w@a@aVUƒ»UkVw@Wmk—JƒÅmUUVmwXalLXWWUnam@XkƒJ@UVU@U@W„@@U@I@Wl@Ènlw@KXLWb„lVUkalKUU„VVaV@@wnIlaUmkUƒKWU@KkUkLWaƒKUUWUn@VƒK@LnnWJUIƒVkUWVnV@V™@@XƒK@VUIUJ@IWJkX@VVJ™IƒVkK@I@UVaUWk@m„@wnUWKk@mxk@@„lV@b„xmb@x@VUmLkUƒJ@nVV@b@VkLVbU`¯I›l@™U_UW@UU@™™ƒK¯wm@™xƒL¯¥kIƒ™ƒ‚@bkbƒ@Ua@ƒm@kkW@XVbmV@ŽkV@bWbUbV@„¦ƒxXlmVk@ƒ¦™bkaWL@KUImK@wUK@VUI™b@bmK@LÅy@akXW@kbWlXblL@ŽULUbƒ`@U™kUymX¯@mšUJUUJƒL@Lm@@WX@lU„VlšXll„@l@Èk°V°Ž„X@VU@UVll@XUJVXUVm@@VXLWlnV@Xƒšk@mVULnxV@@bm‚kL@VWLUbU@UVm@ƒb@ķ¥UnmJ@UUVƒkkJUšlÔU`UIW@ƒ°kLUlUI@WVI™U@mWKkXk@ƒ‚WU@bXšW„@J@xX@l@LVl@xšLVxXX@x‚KnxVknb‚KVV@U„L„WlXU`@nUlšX@llVXšVU„KlkUKlI@anKVLXKVaUIVWV_VK@VnLlU„»VKVL„m"],
  20344. ["@@@KlKkUUVVX"]
  20345. ],
  20346. encodeOffsets: [
  20347. [
  20348. [108799, 29239]
  20349. ],
  20350. [
  20351. [110532, 27822]
  20352. ]
  20353. ]
  20354. }
  20355. }, {
  20356. type: "Feature",
  20357. id: "5226",
  20358. properties: {
  20359. name: "黔东南苗族侗族自治州",
  20360. cp: [108.4241, 26.4166],
  20361. childNum: 17
  20362. },
  20363. geometry: {
  20364. type: "MultiPolygon",
  20365. coordinates: [
  20366. ["@@VV@XkV@bUbWJU¼Vb@Vnb@bš„@J@bƒL@LV@UVƒlUI@a™KULVb@bkJmx„šlLVxknVJk„‚xnKmnnL@bn`WIXlWLU@UxVbUVmKV„XI@JVIVJ@U„L@Wš@@UmUXUlV„UVJXImm@K„L@UVmVXV‚„LXblKlV@LXV„LlVVnkbmJ@xnXl@šbXa‚@Vana„ÒšL„m‚VnIl‚Þ¦°k@b„@@lV„nJlUnš‚VX_„@lVlK„šV„UUxVLVWVIXJšUlnnWlI@KUaUUVKn@VaVXV@na@ƒmw¯@mUkJUamI@lk@@am@@I„ƒUmVImUUw˜™@anUVaUU@LU@WaWUXWW„wV@VwnU@L@ynbl@@X@a„J@nW@@Vn@„lVLlxnI„lš@@UWKUƒnIlJXIVllIVVš¼XK@aVI„V‚@@bn@VKXLVKVVVInw„J@UWI@mX@WKnI@KmU„UVJUL@V„KW@@k„@aU@@W@InJWUXwWI@Wƒ@¯wkaVaUIl@nŽValIXWWI@UUm@anwWkXWWIUbk@UJmIUamKVUUUVVama¯VkIVVUlKnXVwX@@WVaUUVa@IlƒaVmƒkna›wk™UU@ƒU@mUVƒšUVwœl°LVbnJVU™¯la@mX@@UWKXU@aV_V@@JlkUƒ¯@V™nK@km¯k„U@ƒWUW@mmƒU@™kmlU@wkL@WƒUkL@VmLƒJ@b@V@bknUUVK@UVKUK@Uk@Wa@LUVVnUbmVk@@UU@@aƒV¯K@U@UU@WmUL@aU@WV—w@ƒ˜I„xXll@UX‚K@KXXVJna@wWaƒ£naUKV„m@UU@mUmalm@@XkVm@U@VƒLmWU@kkWxU@@bVV@VkXVlƒVƒ@UUk@@ƒmI@KUw„m@UmVƒUUwU@lwkV@IUa@mUaVIVKVa@w@U@™UJkb@n@bmJ@XmlVUxWXkJmUkUUVW™xUlU@ƒaULUšmbU@@‚WXkmƒL@xUV@nUxÇm@„XLWbnlƒnV‚nnUV˜U‚nVVz„@lbUVVlULVb@V@nUJkwm@Ux@bWbUK@UULka›JbƒU™U@U@lUK@XUJmn™J@bU@UwWa™x@zkJWnUJUUVšVV@bXn@xVb@J™L™m@X™w@`@bkb@VmXUV¯L@mW@@n@V@‚ƒL@K—IW@@aƒaUx¯@U„m@XbW@@L„V@bnVWVkKUzlV@bÆa@lnI@VV@@LnVVKUaV_VJVbnU@bn@‚‚nX@yVIVxXKVLlUVaXU°J", "@@@KlKkUUVVX"],
  20367. ["@@UUVUkUmV@ln@VXVK@K"]
  20368. ],
  20369. encodeOffsets: [
  20370. [
  20371. [110318, 27214],
  20372. [110532, 27822]
  20373. ],
  20374. [
  20375. [112219, 27394]
  20376. ]
  20377. ]
  20378. }
  20379. }, {
  20380. type: "Feature",
  20381. id: "5224",
  20382. properties: {
  20383. name: "毕节地区",
  20384. cp: [105.1611, 27.0648],
  20385. childNum: 8
  20386. },
  20387. geometry: {
  20388. type: "Polygon",
  20389. coordinates: ["@@UkVƒ@k‚W@Xn@@K„KVIVVIn™°@nWVzšl@V„_VaVK@kKWaXklaX@lW@bÆz@KnL@ašaVJ@UVL@xnLVJ@LXKlbša„¥l@nUWk„wƒ¥U@VaXa@amLkUƒKmƒ¯kƒmkIUaƒKUIWƒkKm@anw@mlwXIƒmƒUk¯@a@amUƒ`kkKWVkxmUUak_mJmw@w„mXUW¯X›_@WnI@aVwkWWýŃU@WLkU™aUbVV@lUVVnm@kUmV¯™kK™LƒwmVUUaWV™aaWw¯wƒÈ@VULUVUUƒK@nWJkI™l@Umxnbm@kbUJƒa¯bUbVxmLUV™aU@VUUWxkVVV@bUV@XWbnlUbƒbUJlbUV¯b@z„`WbXnmbƒaƒwUwVWUƒbUxmbU@Uam™@Vƒk™VaƒwVaUƒWI@mUKóz@lUlÅ@WIƒb@xXxml@XklULWKUmwUa¯KUXWJkaULmKkLWbkKUVƒImƒƒWa@kUaULƒW¯LƒK¯@kbƒL@b™x@J@bmnnlUšlzU`U@@Uƒb@„m‚n¦°bU„Vx@bkVm¼mx@mk™mVV@bkxVn„aVV@bU@mL@b²`lIVV@lXLlš„bVxn@@bl@XllIVšnbVšn°°wlbXw@mVa°lVnU@mš™VLVbn@@b„@@WVnUV@Xlxn`VznJVb@L@bV`V@šUnwšU„@WUXKV@UUlmUUlaXalLšm„bšIVbnJVIlVVaUUnWVXn‚VL‚k@ƒnWnblnlb²x„xVKVXlVXLVW„LlUVJna@wVL„¼@JVX@`@nnx@nWJU@Vx@XXKšŽUblxUš°„LVKVVlL@KnbVUnJ„IlUšƒnKl£VW„x„IlJ@nšVÞUVVnb‚VX@V_°lnK", "@@@UmWUwkU@Um@@VkL@V@„„‚V„VkV@nbVa@ƒ"],
  20390. encodeOffsets: [
  20391. [108552, 28412],
  20392. [107213, 27445]
  20393. ]
  20394. }
  20395. }, {
  20396. type: "Feature",
  20397. id: "5227",
  20398. properties: {
  20399. name: "黔南布依族苗族自治州",
  20400. cp: [107.2485, 25.8398],
  20401. childNum: 12
  20402. },
  20403. geometry: {
  20404. type: "Polygon",
  20405. coordinates: ["@@‚V@IöalK@UV@@KUaVIVVœLlaVbVWnX@‚@LnUlxl@naVLXVVaVU„J@lUUanWWI„@VlV@Xbƒb@V„n@VmVVbk@kU@V›V@X„J@zn`ULW@kK@_WVUK@LUb@Jlxn@nnWlU@@b„x@XVVU@UbVb‚@n`VI@VVLUlUIUV@KmL@VV@XIV@@lVLVmXV„@WLXLW@U`šnkb@Vl@UL@VVV„L„llX@`lIXb„J˜IXW„L‚aVL@ŽXXW‚Ģ™b@bmK@L@°@Vnxmxšn„K@xVn@VkL@V™Lƒakbl`VnnxVnUlššV@@VVXV`@šœk°JV_UalK@U@aUU@m„IlVnK‚V@U@wnaƒw@akU@ƒl@nwl@XLmV@xnƒl@VXUb@V@JlL„UšJUI@UlWUƒnLVUUaVwV@XKWkXJm_@amKnmmLwlƒUIlmUwkKƒ™nwlI@aUaVKšL@bVJ„kVUU@@K„K@a@I™ƒ@ama@UUaV»XIVa@alU@WUU¯IWVUbkVUKWLUwUJ@zmWm@@amVUaUIU`VbULmU@KU@@UmJ@kÅb@akUVylLXUmU@aƒU@KX@Wan@Vƒ°@Vw„b@bX@˜J@L„K@@U@mX@@n°KVUnW@Ula@a@_šx@WšnšK@IUa@wWm@aUUU™VVVIXmlI@yšwXbVxV@@ašInmVI@WVL@k@VšV„V‚aœIlbVK@VVLXa@aVwn@lxVI@m@UUaVKUkVUkaƒ@UymUV—VUmmU„mmkXaWK@ƒÈnVw@mVU@w„KlnXW@V@naV™VKUk@KVIUWƒ@mk@KXU@Um@@lVƒk@UVJna@UWaƒL@a@ƒXa@kmmVUUk@mkkƒamJ—ImJUUmIm±aUUkambkamVUU@VlbUbVVƒxX„WVUU@VUakU@UmUV‚U@mnUVVnUbVJ@b—UW¥kLVamVkUaWJU_UVWKk@@nl„UVVJUXm@Vm@UnVlmbnmJUbULU@@UUKWVIWxnJVb@xUL@bUJWIkxƒbkb@xVJƒbmU@kW±LkKUkVa@a¯am¥ULkalÑlKXUWƒXƒaVakImVƒ@ka@UUƒJ¯aƒX™mmb—KWU@wUUƒaUa™KmU@UXlWb—¼WLUKUb°„UlVbkbVL@VƒšƒJ@nVlUbUXmJ@VX@lbUbU@@bWb@VnLVJ@bVVUz„ŽVL@lnL@b™VVVULmKUk™Jkbm@ƒxVb@V—kƒKVnnV@b@ŽWXU‚„nV„l‚VVXVJUXlVXbWV@VU@Ubk@@KWbUUmL@JnXV°XJ@_‚`UbkXVVlÆkbƒ@VLXVV@‚V@k„KXX@`V@@n"],
  20406. encodeOffsets: [
  20407. [108912, 26905]
  20408. ]
  20409. }
  20410. }, {
  20411. type: "Feature",
  20412. id: "5222",
  20413. properties: {
  20414. name: "铜仁地区",
  20415. cp: [108.6218, 28.0096],
  20416. childNum: 10
  20417. },
  20418. geometry: {
  20419. type: "Polygon",
  20420. coordinates: ["@@°a@aÈbVUlU@aVKnVV„VUlyX¹lWVa@U™VƒnUVU@m™@mUl@„mÞw„@‚xnIVbna@KVI‚J@kwV¥ƒUXÇVkVW@kkKWU@aXUWmnIVa°VXbmL@VVbnVVVUb™VbšJVbVKXkVKVanU@aWnWUWa@U™nk@mVIVK@wXxlLXbVJVlKœbl@VI@mšaXalVV„VbX@@ašalnkx@b@V‚b@Vnx@bVVUXn¤WXn@Vl@Vlzn@š`@I@KUU@ƒV£namVkXa@aVK‚nnU@anVlKƒa@UUU@amk@»kƒU¯@aš„VWnkWmkImU@akaVm@»VUV@UKnkW¯XWlkUKnIWaš@nmlIXmWUnwUwWm@wULmaUJkIUaƒaWa—klwkwmJmU@bkJ@XUJ¯W@XbWbUKUkWJUUVKnn@UmmXUWa@mU@@UI@WmXVykwm@kaULWwU@¯ƒlKUUVU@mU@UkmaUbmV@b—š‚xVnVUJVnƒ„@Jn@@bl@@knJVblInV°@nx@„mbU@UWUbm@ULVVVb@LkJmXkm™VWIUJUXUKVwƒV™UƒŽkLkUƒ@W`Um™kVmIUƒ@kƒ@@a¯lÝ¥kmJUƒn™KƒÑmbUb@Wb™ak@mWU@UbƒUVVkLlbUVƒkXaWK@LkxÇmk@@X@J@Vƒ@@X@VUV@V„IWln@mbXVWXkKWbnxVUnV„ƘInl@XUxVl„¼UV@b@b@xlLkV@VmzmV@b@VUVVLXVVbVLXKmVVLU‚@nnVWXXJ@V›¦UK@LUmkIWbk@@lUImJnšVÒVUnVVbVIVĖUxV‚@bnUVL@WV@@X@V„KlXXaV@@bƒlVxXVVIV@@WkI„UVKUkVmlnnŽƒbllU„VbXVWbblVkb°ŽVInVVV@bšnVx@l@bnVVnUŽUam„UL@bƒVVÆUbUXU‚ƒn@šVVUb"],
  20421. encodeOffsets: [
  20422. [110667, 29785]
  20423. ]
  20424. }
  20425. }, {
  20426. type: "Feature",
  20427. id: "5223",
  20428. properties: {
  20429. name: "黔西南布依族苗族自治州",
  20430. cp: [105.5347, 25.3949],
  20431. childNum: 8
  20432. },
  20433. geometry: {
  20434. type: "Polygon",
  20435. coordinates: ["@@VL@Vl@@IXW@kVUVbnW@XlKVVnU„VlL@b„aVbƒb@xX‚°ÔUxV@kbm@VxkxWJœ„V¦ƒŽ@ÈnšVKšxWXJmV@n„Ò@xVbn@@blLk`VX@bššla²JVUlnn@U±lw@wnw@mlwVIX@@m@klKnk‚a„KnwmmXkƍVm„Uš¥l@nb°n@„aVwVmVIVnI@a„¯@mšU°ƒl@@VnI@JV@UV@b@IUbVJmXöºƒzllUbVa@aXUl@„U@llLnKVaUa@UmK@UšwV„bnKV@VwVK@UXƒV@Vbn@‚w@U„WnX‚@„a@m„I„™@UUKlaUaVk¯ƒVaVLXK˜»XaWk¯mƒkğwmW@mIƒVkwƒJUIšÇVwU™UkVKkƒm@UkmU@WÅwm£Vƒ„m¤¯IkJWa™_™lUbmJzÝJk„ƒUÇVU„ƒ‚@bU„Ýn™m¯LUb@`mL@VkL@VƒUmmk@UU±Umka@kUƒ@ķymUkk@mmkÝmUaUakImV@V@VÅLƒ¦ƒJUXmJXšWb@n°Æœx‚¼nV@LlbUŽUbmL¯@ÞbV¤nbVx@bUVlblIœ™@KVVUnVJUn@VlLUlmLUUUxmK@I@@VW@@bU@UJmUkLVVUl@b@V"],
  20436. encodeOffsets: [
  20437. [107157, 25965]
  20438. ]
  20439. }
  20440. }, {
  20441. type: "Feature",
  20442. id: "5202",
  20443. properties: {
  20444. name: "六盘水市",
  20445. cp: [104.7546, 26.0925],
  20446. childNum: 5
  20447. },
  20448. geometry: {
  20449. type: "MultiPolygon",
  20450. coordinates: [
  20451. ["@@ôyVL@nXJV„Ub„x‚bUŽlšU„@ŽšnŽVbV@naVw„a‚VUXVx„x„bnaWmXaƒ_@y°aVUkaVI„aVamkXa@WVU@aUUlUXwVV@UVšbVUnKUwVa°a„bVIlan@manw@VšklJXI@m„LVVVUVK@U„ǃk@KUa@UkaVU@UVWV_XWVXVWlLXKlLXaÆKšwVL@akKm@Uwƒ@@XUVk@VUI@wWK@aUV™I@UkK@ƒmL™Wƒ@kImJƒUÅVmkXUW@UJkx@nmx@xkxV²m@kmUV±Ikb™™@aUWl_kK@am@Ua@wƒÑ@mnUWIX™wULm™@DŽU¥›ƒXIlwUwn@laU@Vw¯ÓW@w„aUaƒb@akKƒUmVUUkL@WmXUaUV@lWX@Jk@@UUKULmLUJmzkKmVX°VšUnWKUL™ƒƒL@mU@UnVJ@b@„UV@Xƒ`m_@l@@bmbXJmnnš@°˜wnn@ŽVLX@V‚@nVl@nk@@b‚l@nn°WlXzW`XXVKnUlxVbUb@‚V„Xb@Ž‚VxÈbVlnbmn@ŽkVUL@„ƒŽmLUVVL"],
  20452. ["@@@ƒ@UmWUwkU@Um@@VkL@V@„„‚@„V@VkV@nbVa"]
  20453. ],
  20454. encodeOffsets: [
  20455. [
  20456. [107089, 27181]
  20457. ],
  20458. [
  20459. [107213, 27479]
  20460. ]
  20461. ]
  20462. }
  20463. }, {
  20464. type: "Feature",
  20465. id: "5204",
  20466. properties: {
  20467. name: "安顺市",
  20468. cp: [105.9082, 25.9882],
  20469. childNum: 6
  20470. },
  20471. geometry: {
  20472. type: "Polygon",
  20473. coordinates: ["@@lL@bUK™xÅLWbkKWLkKUXUWWXU`UX@VUVlb@VVb@L„l°xXx‚bšbXUVb‚VnU„xšKlL°šnUlVn@UmVU@kUUVašblVXKV@ƄXþlXUxnU@mVK@_@ml@UU„@šblU@KnLVyUw„@@UmkšWVw@UVK@VXzVK@n„VVUUW@kVJnlaš@nKW™kaWL@U—™õb@JU@mU@@_WWƒL@lUU@WUUK„@lakÅUUlWVa_@`WIU¯mW@InKVVXa@Ll@VaV@@UXUWakUVWUIUW‚UkUƒƒmVXW@@amUUm„L˜l@UUa„wn@lašIVlnLVKUUšU@amK@kUKƒVyUU@aUImK@UXa@aV@VakaW@@UnIVWVaUkƒb@mWƒX@Vxm@UaU@W„@VULUxU@mLƒaUŽ™x@VnL@VVbUbmLkK@kƒVk@WV@bUbVakk„yõ¹nWUIVa@J@aVUU@@ImJ@Uk@¯„™V@nƒ°@bmJUUJUnUxƒbm@¯Žmak@™¦ƒVUnŎWlnnmxƒLbmlkL@l@nWVnlÆU„VnIlJ„@šXnK@„lL@VšJVU@bXL@xVJUl@VU@W„@Vxn@"],
  20474. encodeOffsets: [
  20475. [108237, 26792]
  20476. ]
  20477. }
  20478. }, {
  20479. type: "Feature",
  20480. id: "5201",
  20481. properties: {
  20482. name: "贵阳市",
  20483. cp: [106.6992, 26.7682],
  20484. childNum: 5
  20485. },
  20486. geometry: {
  20487. type: "Polygon",
  20488. coordinates: ["@@nŽlLX„VJ„LVblJ„n°ln„„LlVnKlU@nUUa@WlX@l„n@‚Vb„@la@a„„šlJ°¦„Kšwn@°x„LVkUmmwUmk_la„bšK@UlK@UUm@wƒL™mnwmw@U@¯@KnL@aša‚ġXWW@UKbƒKWX—JƒIWakJ@_kWƒkƒKUU@UVKk@@Ula™mV_X@WKXKƒ@WUUnUK@kU@WJU@@UnK@LVUVJVkUK@UUJm_@UaVaV@UU@Wƒw@aV@Xkmmm@kw@IVa@KVLXU@`lLX@VKm_@yƒI@WœU@UlVl@UanU@Uƒm@U„aWaU@Ukƒ@XJmXVbkV@ŽƒIUVUbWUUKmbk@kwmV@K@mWUXUakb›KUUUJVb@LU@@VkL˜š@VXKlbXšmL™@kbm‚UI@lVXUVƒU@mULWy@UUL@VUx™Xnl@Vƒ@VxUzmK@LkV™aƒ@VVk@@n@`UL@nmV@bmJ@Xœ`WX°WVƒn@xnxnIl`VbnVlwXUlLl‚„_nV@b@bl°„V„nWJkx@nmx@b"],
  20489. encodeOffsets: [
  20490. [108945, 27760]
  20491. ]
  20492. }
  20493. }],
  20494. UTF8Encoding: !0
  20495. }
  20496. }), i("echarts/util/mapData/geoJson/hai_nan_geo", [], function() {
  20497. return {
  20498. type: "FeatureCollection",
  20499. features: [{
  20500. type: "Feature",
  20501. id: "469003",
  20502. properties: {
  20503. name: "儋州市",
  20504. cp: [109.3291, 19.5653],
  20505. childNum: 1
  20506. },
  20507. geometry: {
  20508. type: "Polygon",
  20509. coordinates: ["@@஼jpnr’``ŽpRVHʘ̤žZt^JÖA˜[†CâlTébQhRPOhMBcRSQiROE[FYdGNOEIH]MgEAMLLIAG_WMCSL@ED]PCLYC[ZIHgjSxJTMbHNEFCMEE_HSDFHSLECRNSFDRICHNADGPI\\RZGIJTIAHLDQOHG`GTNCOIC@eIGDWHIS[kiE[FMbECZS@KKS[FDWsCeRuU_DUQNOE[LKGUBM¨EDQP@HWHGDImXƒCog_~‹I_fGDG|QDUWKBC\\ore|}[KLsISBHVXHCN`lNdQLOnFJSXcUEJMCKSHOUMDIm_‹DI`kNDIGEYFM\\YPEEIPMSGLIKOVAU_EBGQ@CIk`WGGDUM_XcIOLCJphHT_NCISG_R@V]\\OjSGAQSAKF]@q^mGFKSW^cQUC[]T}SGD@^_ˆaRUTO@OHATŸ”"],
  20510. encodeOffsets: [
  20511. [111506, 20018]
  20512. ]
  20513. }
  20514. }, {
  20515. type: "Feature",
  20516. id: "469005",
  20517. properties: {
  20518. name: "文昌市",
  20519. cp: [110.8905, 19.7823],
  20520. childNum: 1
  20521. },
  20522. geometry: {
  20523. type: "Polygon",
  20524. coordinates: ["@@€hIJ¤Ī¯LQDaFßL[VQìw€G‚F~Z^Ab[€¹ZYöpFº lN®D´INQQk]U‘[GSU©S_­c‹}aoSiA£cŁ¡©EiQeU­qWoESKSSOmwŸćõWkàmJMAAMMCWHGoM]gA[FGZLZCTURFNBncVOXCdGB@TSbk\\gDOKMNKWQHIvXDJ\\VDTXPERHJMFNj@OwX@LOTGzL^GHN^@RPHPE^KTDhhtBjZL[Pg@MNGLEdHV[HbRb@JHEV_NKLBRTPZhERHJcH^HDRlZJOPGdDJPOpXTETaV[GOZXTARQTRLBLWDa^QAF`ENUPBP…\\Eji`yºEvåà"],
  20525. encodeOffsets: [
  20526. [113115, 20665]
  20527. ]
  20528. }
  20529. }, {
  20530. type: "Feature",
  20531. id: "469033",
  20532. properties: {
  20533. name: "乐东黎族自治县",
  20534. cp: [109.0283, 18.6301],
  20535. childNum: 1
  20536. },
  20537. geometry: {
  20538. type: "Polygon",
  20539. coordinates: ["@@ªVLP`@PEdNRAHOPEAKHEVL`GZBJfvdTAXNNTZJFPrHHNpKTD\\ILHbEVd^J‚OHLh@NNBnHP`\\xH@NBRLJTlŽNv_^CTLd@bNDVFbxdFV€UPBTKOGEOUO@OEBXQP[H_EI\\EbeYa@UO_J‹MEJ_IEDKJUGMDcNUd_FMTEJSGoZ]EIYGO[YW‘gEQ]a@WHEDQKUSDUGAbYBUpSCYNiWqOSQEoF[UcQISWWNMSDe_cLQ_UBiKQOOASQAWgS­ā]ZaŽSPÝZ]XMXSŒ[^oVËNgNKlE RôEø"],
  20540. encodeOffsets: [
  20541. [111263, 19164]
  20542. ]
  20543. }
  20544. }, {
  20545. type: "Feature",
  20546. id: "4602",
  20547. properties: {
  20548. name: "三亚市",
  20549. cp: [109.3716, 18.3698],
  20550. childNum: 1
  20551. },
  20552. geometry: {
  20553. type: "Polygon",
  20554. coordinates: ["@@®ĂhTBXTRPBRPjLVAR`dKf`TC‚NXMTXRJVdE\\FpTRrPjXZMTDVoZABaVHTCLVCRGF@X^bFR’hZXP\\ZHHMA[^wBWXJlW¤EJ[bCTOF‹WWMm@ILMGWQ@DQ^QNWFSHEbF`OXNbO„VNKTEPDTLTCCVTREfvfEHNbRAENH^RJXCFHNFRpVGHWISDOTMVCZeGamaLoLÛD¹¹ėgsia{OųE—Tt‰lɂwr}jŸR±E{L}j]HąKÃT[P"],
  20555. encodeOffsets: [
  20556. [111547, 18737]
  20557. ]
  20558. }
  20559. }, {
  20560. type: "Feature",
  20561. id: "469036",
  20562. properties: {
  20563. name: "琼中黎族苗族自治县",
  20564. cp: [109.8413, 19.0736],
  20565. childNum: 1
  20566. },
  20567. geometry: {
  20568. type: "Polygon",
  20569. coordinates: ["@@bRFnHNbHŒgN@NPEnbXP@bND`NT\\@\\QZb@`@J]V@XhžDpW„nCJGHGXO@CR§FANHVKLF\\MPVR`CvVfQtDPKpGHG@S`WJP~^dSTHWX\\RHTFACQTIAUPOU@MG__IaYSFQK‘NSbORHXCZeTFJg„B`YBMNMFi~IVDV[tGJWXGDQRGF]ˆJrALgESLSAYDGIaFeXQLS\\MKSLSQYJY}eKO[EHiGSaK[Yw[bmdURgEK^_kcSGEOHKIAS]aFSU@Y]IWFUTYlkP_CUOUEkmYbSQK@EMWUuAU\\M@EpK^_ZMDQ^OXwC_ZODBrERURGVVZ\\DTXcFWNIAWJWAYUUFYEWLQQaCIZeDM`cLKRGpanJZQd"],
  20570. encodeOffsets: [
  20571. [112153, 19488]
  20572. ]
  20573. }
  20574. }, {
  20575. type: "Feature",
  20576. id: "469007",
  20577. properties: {
  20578. name: "东方市",
  20579. cp: [108.8498, 19.0414],
  20580. childNum: 1
  20581. },
  20582. geometry: {
  20583. type: "Polygon",
  20584. coordinates: ["@@ºŸx‹JYZQ”IŠYXLl@dR\\WZEn]bA\\S~F`KXaDeTiNO^EEKWEDQXITBXaWaDQMUJOIaTWf@NJV@dSxGZ‰Fu_@WMKAUˆ}AQ@MwG_[GOAmMMg@GKP]IUcaFKG[JSCoLGMqGEOYIMSWMSBucIeYA_HUKGFBLOFGPQBcMOF_@KO©UAtERadwZQ\\@ÊJÒgòUĪRlR°KĮVŽLJ"],
  20585. encodeOffsets: [
  20586. [111208, 19833]
  20587. ]
  20588. }
  20589. }, {
  20590. type: "Feature",
  20591. id: "4601",
  20592. properties: {
  20593. name: "海口市",
  20594. cp: [110.3893, 19.8516],
  20595. childNum: 1
  20596. },
  20597. geometry: {
  20598. type: "Polygon",
  20599. coordinates: ["@@ńZƂt̬æßFuz¹j_Fi†[AOVOFME_RBb]XCAKQKRSBQWSPY\\HbUFSWSPoIOcCOHIPkYCQ]GdGGIFQYgSOAQLK`MFUIGa@aQ\\GGUFcHKNMh@\\OYKAigsCgLSF]GOQO]@GM]HyKSHKPW@Pxi@EMINYREXWRQ@MQcFGWIAwXGRH\\yDI`KJIdOCGRNPNtd\\UTMbQYi@]JeYOWaL[EcICMUJqWGDNZEXGJWFEXNbZRELFV]XQbAZFrYVUBCLNFCHmJaMIDDHXHEhQNXZ_TARFHVB@DTQIRR@YHAJVnAbKFUEMLd\\c^ÍÞ"],
  20600. encodeOffsets: [
  20601. [112711, 20572]
  20602. ]
  20603. }
  20604. }, {
  20605. type: "Feature",
  20606. id: "469006",
  20607. properties: {
  20608. name: "万宁市",
  20609. cp: [110.3137, 18.8388],
  20610. childNum: 1
  20611. },
  20612. geometry: {
  20613. type: "Polygon",
  20614. coordinates: ["@@^J@ZTVbET^JBGLFPTHld]`FLQhcVanx\\\\ZbLHTGj\\FLP~fIZRZPVTQFSVAFJE^NDLEE[~LjsxVTG\\NZZNGlLRRGLJTV@hPZANN^@T\\NEPPbDZXO`d^HSvcJDIV\\XZAJUFCLNP@PQ¤@[ïKLÑIÏ]ÇE±I{uƒ­YśUćFcYUmsVeBSVgB[RO@aYYPO^]@UVaNeDShMLG\\EfFVE\\F`"],
  20615. encodeOffsets: [
  20616. [112657, 19182]
  20617. ]
  20618. }
  20619. }, {
  20620. type: "Feature",
  20621. id: "469027",
  20622. properties: {
  20623. name: "澄迈县",
  20624. cp: [109.9937, 19.7314],
  20625. childNum: 1
  20626. },
  20627. geometry: {
  20628. type: "Polygon",
  20629. coordinates: ["@@T\\GJCXJH@fJDDPNCNJENN^NLHBNSx@DDYbBLLDRbjZTj@`XXTlG^Xr@PJLW\\WLTlWR@HDJTD@X_PO@STMDNTMVV@NLDM`M\\XM\\JNBH[PYZ‡úYzŸ`Ċ\\ÎÝd]c[NKVFLEBaUmBIZGQ@JQSR@CUAEGBQ`SWYRMFgWGCGJCbNnIDGMEDKVAZUEqBYRa^WEUFKYQMaFWXEHIFWMYHCrXVIIiaK@aMCUYNSIISTwXALKH@XWXIEIJQCG[IEQDE_XSBaa[AIPW@]RS[FWS[CD]PEBYNGFSaSyJG]@ugEUDQlGHiBKHUIoNSKqHFaPMICK]UUHIPDJMuCA[SCPIDIOILGAEmU[POPBVSJDREBGS[QXWSGcT}]IO_X@TGHoHOLCX\\ELT@LYTD‚aFENF\\lj"],
  20630. encodeOffsets: [
  20631. [112385, 19987]
  20632. ]
  20633. }
  20634. }, {
  20635. type: "Feature",
  20636. id: "469030",
  20637. properties: {
  20638. name: "白沙黎族自治县",
  20639. cp: [109.3703, 19.211],
  20640. childNum: 1
  20641. },
  20642. geometry: {
  20643. type: "Polygon",
  20644. coordinates: ["@@D\\RV]dTXELnHr]^@LETBBRTHPi^[@U`QTHDJ`MGSogDIPKdJ`WVNHCXHl_DJR@AH`FBVPUJLHKNTJOFFZON[ZEHFCJlMJ_ŒCn`CJVNGPLTNDFIdVTWEIPmRKMc_kDMWGGUTAtJLK~\\f{pqD[LAVXRCH{HC`eŒJ`}@W^U@I@_Ya[R[@MSC_aMO@aWFmMOM@‹haGGMEmaQ[@MESHaIQJQ……MckBIw[AOSKKAMPSDSLOAV_@@`KJRbKRDfMdHZERgAWVsDMTUHqOUr@VQXTT@Tƒfg‚L^NH\\@heTCZaESNObHPƒHeZF\\X^ElM^F^"],
  20645. encodeOffsets: [
  20646. [111665, 19890]
  20647. ]
  20648. }
  20649. }, {
  20650. type: "Feature",
  20651. id: "469002",
  20652. properties: {
  20653. name: "琼海市",
  20654. cp: [110.4208, 19.224],
  20655. childNum: 1
  20656. },
  20657. geometry: {
  20658. type: "Polygon",
  20659. coordinates: ["@@TP\\pATHTGlZDJGAQjE\\Rb@jVBDCN`JZ[NCNHNXbULPrP\\KNbMTLjJJRFP`“pNLZz^FLRHjVPZ@hxVKbHBHMNNJFRlLzGPnNHhIrHHADcPWdUAmEMVQDSKYHY\\EhBN^HpXGNDBNNBnIß‹Å_g{³So]ã@ORO@KMEDIVYB[WJUICudGTc]P_YWaCOOMFS[]@MMYBgOU@ISHKQQkKMHYY[MSHwUit}KF\\KFMCF]EIUBETSROUKTLT[NKTWREfJbCHBZKTFTKh"],
  20660. encodeOffsets: [
  20661. [112763, 19595]
  20662. ]
  20663. }
  20664. }, {
  20665. type: "Feature",
  20666. id: "469031",
  20667. properties: {
  20668. name: "昌江黎族自治县",
  20669. cp: [109.0407, 19.2137],
  20670. childNum: 1
  20671. },
  20672. geometry: {
  20673. type: "Polygon",
  20674. coordinates: ["@@`ZĤd–`òüˆ˜ “BSPGP@VSbQ`‡@]HC~T^SE]N]FkW]E[fY„GGOPaTMbFDYfS@g[MGK]h„e@SSSRW@UVqrPVGNStCXUhBFQGYNcCeLQQaLI@_`@EUwcEaCUaMc@SK]Du`MSkKI‡~BVNL@X`‚EvYŠwHcTU@MIe@SXJbIPNVCRXbWbSAWJCRXFFL]FMPSjCfWb_L}E[TaBm^YF[XcQk@WK‰Z“JYRIZwŒ¹ "],
  20675. encodeOffsets: [
  20676. [111208, 19833]
  20677. ]
  20678. }
  20679. }, {
  20680. type: "Feature",
  20681. id: "469028",
  20682. properties: {
  20683. name: "临高县",
  20684. cp: [109.6957, 19.8063],
  20685. childNum: 1
  20686. },
  20687. geometry: {
  20688. type: "Polygon",
  20689. coordinates: ["@@jD`hNd\\^dZädĒH´Op@ˆùZY\\OAGIMN[[W_NCNMKU@NUMSNCTSP@`O@WSCCI@GXQSkXKX[IK@OWqH]SkWW@_SiiYQaKCAKZaCCw@MTGAMKM]FMMIMDSM_HGHRPKCBGSJJIYH[QOJCHMBDGQJECMTDQKFGTCEGTF`NFEDMFaGSNwIiTGhYJD\\KZODC^@FTKND`XBHKJNKFBNhG^FJMPcHEZF\\QPRjQTAdgNOPgQaRSê"],
  20690. encodeOffsets: [
  20691. [112122, 20431]
  20692. ]
  20693. }
  20694. }, {
  20695. type: "Feature",
  20696. id: "469034",
  20697. properties: {
  20698. name: "陵水黎族自治县",
  20699. cp: [109.9924, 18.5415],
  20700. childNum: 1
  20701. },
  20702. geometry: {
  20703. type: "Polygon",
  20704. coordinates: ["@@R]NC`YL]FoN@V[vBXVFNL@TRZalnVFVP`DlOZkVSXEE_F[EUFeH[NKTgfCbMVU^@P]ZObZP@\\QhATUfAtUasñiāEoI]eYǯ@aKmaeƒWuCºKÜKpnbHbYfUDSNCPJTRAHJTDJSfDNLHXC``VBNGTYCQDIXMDSP@xLNEFRNXBIpVNLXah@RgF@`qOML@LJNSPLbaHAh@Jdj"],
  20705. encodeOffsets: [
  20706. [112409, 19261]
  20707. ]
  20708. }
  20709. }, {
  20710. type: "Feature",
  20711. id: "469026",
  20712. properties: {
  20713. name: "屯昌县",
  20714. cp: [110.0377, 19.362],
  20715. childNum: 1
  20716. },
  20717. geometry: {
  20718. type: "Polygon",
  20719. coordinates: ["@@\\OnVBFKHPJCJOJTDB\\vDINOCGJVVL^JDONEbrGTLpMVJLGjAHGRkVChF@vH^zIbTETMHAZOFC^\\DXT\\EffAP\\PdAV@UIYfS|S@YPICMeM@sC[_A]VQEwyHSMuNcAUlQJMVGMS@mVBZPFO\\CSFQK[LqDMACiUa@[QiFBRIHYCHkGSBS[oSOqB‡IE^QHCRWHIXsHU\\UC}JEjMNAN_ZƒAIhSEYfWDQGaPMTL’ERZTJb``NHV@"],
  20720. encodeOffsets: [
  20721. [112513, 19852]
  20722. ]
  20723. }
  20724. }, {
  20725. type: "Feature",
  20726. id: "469025",
  20727. properties: {
  20728. name: "定安县",
  20729. cp: [110.3384, 19.4698],
  20730. childNum: 1
  20731. },
  20732. geometry: {
  20733. type: "Polygon",
  20734. coordinates: ["@@JjDNdJ\\FbKPXfZ^Ij@RZNaVSc[MsMOHQPDJcLIJ_zCG[HQxWJBHXdENRR@XQFWZQQGOFSWUCI[WCJuRGLXNMPLhCl[Ta@SqGgJMGOmyHkKEQMINMAGaGULgwY@UOGiKQ]EYyMK”oO_QEIIKiNSMa[LqOKOaVMWMGMDY\\_IKrL\\ERT[DEPYOUA@nNTUHINkRBVMdNvGTxzRF^U`BD\\@tfNDNOJ@Z{TeTJZ@VU€cB[OBOeeQT@^OXBJb\\AbWTF`RCJFH\\RDJIJFXW@WLGBKxWTSJJMTVZND@bbL"],
  20735. encodeOffsets: [
  20736. [112903, 20139]
  20737. ]
  20738. }
  20739. }, {
  20740. type: "Feature",
  20741. id: "469035",
  20742. properties: {
  20743. name: "保亭黎族苗族自治县",
  20744. cp: [109.6284, 18.6108],
  20745. childNum: 1
  20746. },
  20747. geometry: {
  20748. type: "Polygon",
  20749. coordinates: ["@@FJp@fxpQ\\ApN\\GNPNBM`HLMrXLXj\\PEHnI@WUCEM\\GTc\\GZYHTPBHRCPTd€H\\K\\@HXi–BJILJJAVNTOZJNtFPC`YxDPWci@IBgbGKaTOIM@KNKrP@_hE@QbgKWUMJoWAQMFEKM@wTONCJWRCZDHSAM_UD_GWMKeCITSCGIQBGXUHQoMEEGWDQIG]FMQBMaFGueFeSQDUSDSKOCSFMLƒUaPWM_PaEGFETMX]RCRR@HXKN@JNnXXEŒSPaDI\\£FkXWIAX]xB\\GN"],
  20750. encodeOffsets: [
  20751. [112031, 19071]
  20752. ]
  20753. }
  20754. }, {
  20755. type: "Feature",
  20756. id: "469001",
  20757. properties: {
  20758. name: "五指山市",
  20759. cp: [109.5282, 18.8299],
  20760. childNum: 1
  20761. },
  20762. geometry: {
  20763. type: "Polygon",
  20764. coordinates: ["@@TCNOLBTLBPx\\AJdl†NR†RIbJTGNF\\@RcIYbmHoLQdKN_fCJYbDRRXKZFVEZVXBXIJBXMdESW[CUYHUVQFQAqsEIMPYMSBUIIJKAIj•GW[@[LGScDOGQOAGSYZ[HSd[HFNVD@XmJFG[OWiWKNqGKN_MAMO[HoM[BoRewo@Y^HpITSFENc`MVCdHNIVCLJFI`NFIŒP`@VZbaf[FFJG`O\\WRFA@PVPFPPH"],
  20765. encodeOffsets: [
  20766. [111973, 19401]
  20767. ]
  20768. }
  20769. }],
  20770. UTF8Encoding: !0
  20771. }
  20772. }), i("echarts/util/mapData/geoJson/hei_long_jiang_geo", [], function() {
  20773. return {
  20774. type: "FeatureCollection",
  20775. features: [{
  20776. type: "Feature",
  20777. id: "2311",
  20778. properties: {
  20779. name: "黑河市",
  20780. cp: [127.1448, 49.2957],
  20781. childNum: 6
  20782. },
  20783. geometry: {
  20784. type: "Polygon",
  20785. coordinates: ["@@VÈÞ@Žkx˜nXްVÈa°V@kôw„b‚š„JVškXlVUx„„@ŽlL@xkVV°ƒ„VbxlVUnVxk@ƒ„ƒKkŽVb„Il„@°kVl„@„™lÆnkll@@V„VXƒŽš@V„²bUlƒVlV„U„VÇn@nkJšŽlkVbœ@›x²V@n°VUnlKU„n`@n°bWLnVUblVUVVbknV`°kkŽl@@V°@nz„J@XšxlWXb°n@bƒĠlbXb™bVbƒJ@Všb„a@„„@lbUbšVmnœ@lšVmnIW‚œ@WbÞ@„n@x°@š„ĢaƐéϚnœ„‚lȝĠŻÈwm@ôçU™mm£Xy°UV™›@wÈ£Ǫ¯kõÝçUњ™Uķ‚ƒĢkVфÆšÞU°nŎ¥ČUĊx°m°¦żVƐœx°ƒÇ£@y„UônރÆ@Èĉ°Kô¦šW„kWU—bÇ»@™ÈĕWÇÈ£ŤU@›n£ÆUUKVamanwŃmÝJ¯k@JƒIkaVaUUÇbkaÆÑkWmÝUۙ™Ý@™ƒwnU±ƒ@kkV¯KUkƒJƒ¼U¦ƒšÅ@ówķaķůV¥Uaó@Åwmƒƒ_kVƒwĉ‚ĉmmn_V»™a@U™ƒVwķóƒ‚U¦LǫéóXÇmōLǓÇķxÝkƒƒĉ™kmakbUͰ@W¼„@bƒšÈÆ@Ė™L„l@„°J¯„mkl¯L݃±L—amJ@¼ƒ„™VƧUó„™UX˜ċb¯ńVbkÆÝI@llx„k°V²šV@Uxގ˜L@b„@b™`ƒšÇzkókݤ@ğ¯Wƒ™LĉǙLmmnċVkbUaƒL@ޝ„‚bU°ğL݂Ý@"],
  20786. encodeOffsets: [
  20787. [127744, 50102]
  20788. ]
  20789. }
  20790. }, {
  20791. type: "Feature",
  20792. id: "2327",
  20793. properties: {
  20794. name: "大兴安岭地区",
  20795. cp: [124.1016, 52.2345],
  20796. childNum: 3
  20797. },
  20798. geometry: {
  20799. type: "Polygon",
  20800. coordinates: ["@@k›ƒϙmƏêġb™ƒ¯@@wƒmÝ@XV@IlŽl@bUxl¯VlV™bV@ULVlUV™_kx™VVV™ÈÝJ@„¯šU„™lm¯x@xóÒĉ¼m„¯Wƒxţ@Uz¯ƒWwnUwťƒ@knƒWƒ£óVƒUUwğyó¦WI—Vmm™I@±kwÇ@@bƒ@ĉ¼ó@¯wó@¯aó¼›KՃaUwmWUwÅI@aƒKó@Ua™LƒaƒVÅwō¼UUÝl±I—¤VxÇx@zkJmnn‚mbnz™xlŽƒl¯ČkJl™°@„kb„Žmx@x™@kêmVnŽWxôXšxU°„bWLóJnÇWĵ„V¦™ŽƒUUb™b™ÆġK™šk¯™VU±aXmċÑUwĉKġ„k„™ŽVxk„ÇKkbƒIƒ‚ÛXWl¯bƒŽ™X¯K™bĊš„„ÞVƚnŽĸ²lxUްn°òÈb‚¦—xVbƒŽƒ@¯„Vx@¯VķÞČlĊ°KĸŽȘI°¤ČIôŽò»ƨnȰKǬ¦ôWŎÈƨwlƒnKVXmbX`lbšwkVW‚XXŽ„L°a„ƾaĊ£nƒ°@°¥ŎzÞ¥‚»œalwôkƒJ„a@ĶK„£„bU°ĊxźVÈUĠ¥ƨ™VI@XU°x°Ln¥šw°UmwXm݁V¥Ģް@nU@mÆ£š¯lKœšÜw@aÅU‚¥UaÝIkmV²‚nn@Ķ»@Uk¥VKÞ@ÞÛ@ƒkVmĢa@_ƒJómƒǖ¯Æw—óÇa@alƒUwšwĢřšk@wÆWXUWXƒWa™m@_ƒ»ÇéXaĸwVa@ÝKkUWkX‚kšKXxƒn@lĊV@¯m¯nřÆwš¥"],
  20801. encodeOffsets: [
  20802. [130084, 52206]
  20803. ]
  20804. }
  20805. }, {
  20806. type: "Feature",
  20807. id: "2301",
  20808. properties: {
  20809. name: "哈尔滨市",
  20810. cp: [127.9688, 45.368],
  20811. childNum: 11
  20812. },
  20813. geometry: {
  20814. type: "Polygon",
  20815. coordinates: ["@@°`„_šJlUšŽ@„„@V¦°JUšŽnLôlnŤ@@šÈaUÒVbkbl¤ƒzk°ÇVÛô°IlVUVôU„xÆU„Ž@bźĀ„º@¦šb@l²‚UVlœ@°ÒĠxšnXxÆVô¼Þ@Üx²KލlƒVѰUȰôlwô@²ƒĸ°„lanV@„šVŎUll@bÈnÜm„wĢ@la@ÝÞb°UXb˜lŎ²ÆškšV‚I@ŽnJnĠްknƒÜbĢwna@a˜kÞKƒĀ„a‚™œ‚‚IVbU¥wĠwkô˜xnLƒċVçkaUƒ±IUmnġW„°WôĉšalƒÞÅĵ¯@W¹XÝaƒb¯a±X¯ºLƒaVƒmkLóƒƒbkaƒVUKVkkKV_@aÝykk±L@ƒÅU@yV_™aU¥ówÇx™@UkVƒn@lƒkÅlwšWVwUkĉmkklW@šašbVwnWWƒ—wWL™™@Ušƒ™UƒÇLšÇmƒ„@wƒJĉƒL¥@ƒÝ_@a¯y„UWw¯ƒ¯Uġx¯aÝXVmaU£ó±›¯nwƒa¯óÅVƒXman™„Uƒ›lUXkWa@mkI„›ğaƒm™IklÇU™„kĊƒƒzkKƒš„lU„ōĬlš™„@ŽnX°@llUxʲmKĉVWwk@UbUK@bmVmI—ƒVmwaWxXlWȁšmºšÞÆbUxV@ĵńWÆĉLkWUbƒaWzkbĉ`U„±LklōwUVÝ£™UW`Uwk@mk¯VkaõVX@WbL™K@XƧºWzxƒK@lmX@bkVVÆk¼Vbk@Vn"],
  20816. encodeOffsets: [
  20817. [128712, 46604]
  20818. ]
  20819. }
  20820. }, {
  20821. type: "Feature",
  20822. id: "2302",
  20823. properties: {
  20824. name: "齐齐哈尔市",
  20825. cp: [124.541, 47.5818],
  20826. childNum: 11
  20827. },
  20828. geometry: {
  20829. type: "Polygon",
  20830. coordinates: ["@@Þ@ށĠKV¯a°ƒ@„KVblaČU‚mnnšKĊȚKX„°ŽĠ@Þ£ôllÈy„™š_@a‚ƒ@a—KݍVwU@±™¯Uƒlkw@kÞJlÅUa°ŃČaW—šVôƒƨVšU„ƒ@»nI˜b²Kބ°Klkn°ƒ¯I@ƒƒkšK@ĕÇń™@aƒX»¯@VĵlaÿVamI@aÅÝउýƒĊȗJƒôȁÅkmƑۃ@kxġ@@l™aVk¯»ƒīŹaƒkƒ¥Å¯™JUaWU@@w™aƒ»„KUkÆkUm„UmwÛ±±UUbUŽUXƒwWwÆÝk™lkUanaWwnKl™kal¯ka™ƽa›kÅx™a¯@™amb¯V™lÇwÛĀ™V@x™šmêVƜVV‚aôV„wÈx@šˌx„¦VÞ¯VšlmX@‚ƒL@¯Ua¯LmV@„„°X„ċK™V™ƒ@UƒÈ@‚¥@w—ƒġIU™km¥Źwƒ¦¯lmn@°kxVV@¦óam„n¦l@nx™lĉVóšmx™n™ÒĉĀĊ¼„þ„šǔêÞ°ˌĠÞÒ°ĀɲĀƨźˤȤƨĊ°w@£nymwnkUUV¥ôÑVmkÆmUUVa™mVIkmô„lxkXÞþƒbl„ƒl@kV„ƆƒV„xV@š¼VÒ@šŽUŽšnnނJ"],
  20831. encodeOffsets: [
  20832. [127744, 50102]
  20833. ]
  20834. }
  20835. }, {
  20836. type: "Feature",
  20837. id: "2310",
  20838. properties: {
  20839. name: "牡丹江市",
  20840. cp: [129.7815, 44.7089],
  20841. childNum: 7
  20842. },
  20843. geometry: {
  20844. type: "Polygon",
  20845. coordinates: ["@@U`lLUlVL„Ulb„aô„lKnŽU„„b‚K°¹²W°b„aÞb˜knyUlUkamř²L@m°@lšmš²n`ôÅlK„x„ÜKnxV@„l@œƒ›ÅXyW_k@™wm™ŹĕmƒX™»‚ƒÛ™l°ƒôšÈ„»š—ô˜ô_WW@Uœal»šwU@@wšUVƒš@VƒXI@w‚Ģ͑ÞȻ›aU_@mUkly@¯óV»XmWUXUWmnm¥nUUaWLk»Æ²IÇa™wÅaݰ¯nUa±a™ƒ™@¦õÆğ„@„™@Åb›xU܁nÇłlb¯¦„ôó»mƒ—@±ƒUk@Wwƒa¯xU„V°ƒxXbǎŁUV™™ƒK@¹ƒKUaȯ@ōݙXƒal™ƒlÛkalÇUǫÇńÇakbÝƆ¯nlš¯Ž@¼™VUx@x¯W¼™Æ¯šmĖ„Ĭ¯ČƒVk‚ķÅmxœ°ô²V¤‚bUnÞW°bĢw°V°„XxƒV°z@bÞ`@„‚¦„KĊŽ„I@xƒŽn„™ÈÈK‚„šV™„@VššXK˜xX„mXUx™a™b@‚kXllĊnVlUx™XkxlÆk„m@U„Vlš@ÈwôxV¦šbU`@zÆV@„²KllÞz@b"],
  20846. encodeOffsets: [
  20847. [132672, 46936]
  20848. ]
  20849. }
  20850. }, {
  20851. type: "Feature",
  20852. id: "2312",
  20853. properties: {
  20854. name: "绥化市",
  20855. cp: [126.7163, 46.8018],
  20856. childNum: 10
  20857. },
  20858. geometry: {
  20859. type: "Polygon",
  20860. coordinates: ["@@ऊþÆÞ@bnJUb‚ĀnblŽĊš„„ÞlĸwǔÈŎKÈnôWǬê‚KV¥„ĸôUxš„@VšbU¼m`nnĊŽĊ„xlUšmkaVÿšLšwš@°»UmbKmݙUšwUmVknKUUl¯ƒKU™ƒUȃ‚™nK@ĠkX±lX„°„L@¯¥@wV_m›ĵ¯Ww™L¯ƒUkōƒÇVU™l›w—V󁱃¯aƒVka°wVk°mÞ¯Ŧřƙl™²™Ŏk™U@ƒmUkb¯ƒķޱ„ó@kxȯó¯VUÒk„ÝŽ±LÛwÝ@ó»ÅUWw™mğw¯Ñ›@UkV±@k™a@¥ƒ¹Źÿ@aƒÅVƒwóVVUkU¯JÜóÈUl¯„yk£laUaVÑÇb@™ţ@kmómK™V¯IU¥ƒ@@ƒ™kV™Iƒ`@ô™¼„blU„lƒ™bÈb@xÇKkĢɳaÅɆō@ƒŽVƒK@z™@@¥ÆKnÜ@@aۏUw›wnU‚ķ@ƒ_ƒV°Ž@„klVššnULVVÞbVl@°™@nx™n°LŚÆlV„ȃmU²@VmĠLƒx„n¯xkWƒzšJ‚wnLmbXbW°šÆ‚™²™@™Žšx@JVx„L‚Ā²Æ°I¯º‚È@ÒnÈ"],
  20861. encodeOffsets: [
  20862. [128352, 48421]
  20863. ]
  20864. }
  20865. }, {
  20866. type: "Feature",
  20867. id: "2307",
  20868. properties: {
  20869. name: "伊春市",
  20870. cp: [129.1992, 47.9608],
  20871. childNum: 3
  20872. },
  20873. geometry: {
  20874. type: "Polygon",
  20875. coordinates: ["@@ƒKƒ¯kWW²ğl@ŽmLšÇ„„VVš„Lk°VVmLUlVn™xšVnނLnaVޝ¼™@™x™KUĀlb™n„`n„Æxô@VbU¦ĸŰĸbôxÆ@„™V¥„»„IVl°LUŽll@²„mV„x@ššÞܚÞVnŽlXÅÒlbÈaVVUblb„J@I°lÞIn‚Æ„mxnbUbVLÅVm¤@œţVǤXÈÇĖ@šÈ¼˜aXVÜaXbWŽnzŎašř„KôbšUlw@¯naÆKnUU¯Üa@mkkVUĊm„™żÝ‚ǖŽ‚K„™°L²lÆI@ƒ¯¥ĉƛVaÞk@ÝVaĠlnUVwƒœómaƒ@™wĉ@™a™VƒxamX@aƒ@UaÅLƒaVWƒ_nWm£nWm_ÅV¯ƒm@m„󤁚ݦƒ¯ÅalmX£ƒ™VWUŚw™mÇ@@IV™„WUw@ašI@„k@wŎ»Wƒ„ƒ™ÅVaœK›Ika@¥lUkUlwÅwVyÈwWU@a¯U°m—Ç@UçƒaVa¯mV»ÅwÝUlƒUk™V@k„mUk‚X£šw°@@ǃaÝIƒƒam™Ûam„¯lğmmI@J™U™l±ÅōŽ—kWa¯VÝa@Þkbġ@ƒxÛnÇm@akkōVōl±škšÅšťŚÝ°¯nUl¯xlb„U°b²„ô‚˜Uœxšk‚VÈUŎ„Vl°„šKXxͰnœU`@x°¦@"],
  20876. encodeOffsets: [
  20877. [131637, 48556]
  20878. ]
  20879. }
  20880. }, {
  20881. type: "Feature",
  20882. id: "2308",
  20883. properties: {
  20884. name: "佳木斯市",
  20885. cp: [133.0005, 47.5763],
  20886. childNum: 7
  20887. },
  20888. geometry: {
  20889. type: "Polygon",
  20890. coordinates: ["@@nš„b‚„ÞJ„b@ȯ@™xW¤Vlƒn@lšUVlk„ÞVÆxU¼°nUb„bVèÈ@˜ŽnIn‚@šĢmlUw°™żƒ‚VUn@lnL@VôbšwĊ‚lœ„JķĸĢl„wôwƨxVVUƒŦšxšLź™Èš°`nnĠwŎJސĶwôJ„@¤Xn܄ĸlšn°¼È°lŽ„„Uš‚b„xš@„l@ÞÞÈm°„lôwšL°¼ĸ‚°Þ²nĠ@ôwÞ`ŤI„V„ÒĠU„„@„VJĸbƄ²@°ŽĊKšœ„JĶa̐Ȱ@ô¥°nš¤‚bČUš@Vx„mUw@a݁ţƒÇ™ķƒ@ĕķīU¯²@ÆmVÑô¯X¥ċç@™ĉ»U¥ÝţKWVÅkUVÝŎUmǍÝx¯aķxÛUóL¯a±óōb¯™ƒÑŃVÿƒ_Åķ„a@UƒK@wm@Van@UmmLVa—@VImmXUWƒÝUřƒKUwÝUUƒkVƒk@l¯X›‚Å_ƒJ¯k™Jm„ÅLƒa@¥U@¯Vƒz¯@ƒ`@¼šmxƥšŏKÛk@±laÛ@@Xm@™ƒ@xƽ@WŎnšˣĕÅ@@aÅ@@nÝbǏ¯@ƒ_U›kUWƒkb™wÝU@ç„Wlw@anIƒ¯lyœX°m°VšašÛšm@„mVwÞK°ƒšXlaXmm_ƒ@UƒkwÝK@ƒVI™ƒXmV»ƒI@aƒ¯ğW™bġaU_¯JU¯ġŽƒ„ĉ„k„ō`±nÝÆk„™bóĊ¯Xƒ‚ĢX‚mVn²JV„lbUè„ČmK—wlóğx‚xV¦UaJ›šƒbƑÿÝL—l@bmbġx"],
  20891. encodeOffsets: [
  20892. [132615, 47740]
  20893. ]
  20894. }
  20895. }, {
  20896. type: "Feature",
  20897. id: "2303",
  20898. properties: {
  20899. name: "鸡西市",
  20900. cp: [132.7917, 45.7361],
  20901. childNum: 4
  20902. },
  20903. geometry: {
  20904. type: "Polygon",
  20905. coordinates: ["@@‚LšKVVnkšbVšÈb‚²U°VnklVlaÈL@anU°ÜmXV`œnôLƒèšxlŽšLX„˜L²ašVVmÈX@ķ˜lnU„Èl`ȹš@ŤŽ°U@x„KnnV„mlnnUl‚lVnnaŎwlVÞ҄@n¦šLVްlšwVk„Lšaގl„n҄š@xmLÞ¤Wnœ¼‚WÈLVVUxlÈô„„WVaU_VKšKXUÆbn™‚nôK„bÞw°bÆWXamVwœK˜™Uw¯WUk„UlJUwVUa™@@kmyzm›ĉw@kVwškƒW¯ÅKU_Vmƒƒ™xU@aW@@kK@w„a@Kƒ@@kVUƒaky°_Vm™kna¯K@™ƒL™wġk@@IÇóX™ƒwVakmV@mwXUWanƒlĉ@ǙUw™KƒƒóšܛNJۄm°@›w—Å@ƒ±b¯Wƒ¹„WVwŹĕ¯kVmōb¯w@aƒwmV™UUb™V™IkaVwķ™xk¼›b@VXXó`󗙘ƒ¼Çó™¯„kŽÜš„š¼WŽn„źĖnššxl@X`WzœÆ"],
  20906. encodeOffsets: [
  20907. [133921, 46716]
  20908. ]
  20909. }
  20910. }, {
  20911. type: "Feature",
  20912. id: "2305",
  20913. properties: {
  20914. name: "双鸭山市",
  20915. cp: [133.5938, 46.7523],
  20916. childNum: 5
  20917. },
  20918. geometry: {
  20919. type: "Polygon",
  20920. coordinates: ["@@™UƒƒUwó™mÑÞÑUÝÝUkmmŃyV¯ī„¥ƒUÿĉ¯mÇkaWbÅX¯aÝxƒaóLmmšÅaWV™LULV`UbƒXóƒkÇVwUUÇKX›»XmÝ£nK@wƒ™mÑkƒÝ™bƒKUl™x¯kU™Km¥ƒ@ÝÑkUōxmbUmkVkmmnkUƒmmƒL@w¯Vţ™@Ǻk_ƒÇmV—k@ĸVx‚VȰlLkllšUbōwƒnVW¼nlUx¯XmWUnÝ@™xÝUó¼¯J@LVbkJWnkb™W¯„ÝLUxƒn@‚™n™Ü™b¯U¯n›Wkz„°mJ@bkxƒX@èÞVšxlaX„lVVœ„`°@ȐÞa@mÆ@@bÆ@ˤĖm™Xōƾ@@wš„n@@WÜ@kb@²ÜlŐLƦ™nw™@»„_°@„y°UV@@¦„bÆKnƒšI°l„IÆ`œ°W@k„llUV„ÞVVx„LƚÞVX„WVnnUJ˜@UbnKVnm@Ubn@@x„L@VƒbÆĸ„`UĀÆ„„Ò°šŎa²ô°bôKÜVĸw°bÞwȎVnÞōVUÆlXU"],
  20921. encodeOffsets: [
  20922. [137577, 48578]
  20923. ]
  20924. }
  20925. }, {
  20926. type: "Feature",
  20927. id: "2306",
  20928. properties: {
  20929. name: "大庆市",
  20930. cp: [124.7717, 46.4282],
  20931. childNum: 5
  20932. },
  20933. geometry: {
  20934. type: "Polygon",
  20935. coordinates: ["@@mÇ@сǰ¹¯J±ÅÿƒKUw‚I@™wšš@š±Å‚™X¯WanamKx™I„ylX°wƒm„wğKUn±@nVDŽUƒÅkƙ¯Kšmmwš@@¯UkÝaUUVK™mU™lk@ƒ¯„U„`ĸ@V‚mœxVxܐ@bÛ@m‚ÅL@¦š@@y„L‚U„Ŏ@ÆɅɴblġÈL@wÇaša„ƒkkVƒaš»@ó¯_ÝJ™wÇaÅXny›U¯¥Å„@w™bÝa™Lmm@@ƒVUŽlbğVmš™¯Xƒm_ƒ`¯_Ux™m™L™a¯b@mƒaó¦Çk™¤V„@bóJknVx™VXx±aƒLUbVxkLVlLWlƒ@nX@VÅbWlÈnƒx„bWšÅbmŽ@xœbml°b™„XbW„XVmnn`ƒLmšnbmb@šk@mwU@@š¯Jlbk°lbkšmLXxmbVbkllšÅނxX„xVWVVa²VܲnxƒVVnÅlVlƒL„¼šb@xV@XŽVbšIư„¦„lźb„Ĭ°¼Ulšb@kĢ@lw„@ƒÜlnȂƄóȘI„ĉ"],
  20936. encodeOffsets: [
  20937. [128352, 48421]
  20938. ]
  20939. }
  20940. }, {
  20941. type: "Feature",
  20942. id: "2304",
  20943. properties: {
  20944. name: "鹤岗市",
  20945. cp: [130.4407, 47.7081],
  20946. childNum: 3
  20947. },
  20948. geometry: {
  20949. type: "Polygon",
  20950. coordinates: ["@@Þ¥‚™ô£nƒn@°„ÆUn`mXn¤mX„`UX„bÆKVb„@@bnW‚b„wšUšbĊ@šx„@nbšWVmƒ_mm@ó»Um„ŘWXkĠ»²¯‚¯nķšwŎ@ĊšŎK°bĸUnјKȦĠÈbÆknJššÆUĢV°IšŽšVƾƒwaV™ƒƒkÇ¯¯»™mķkۃWm@£ƒóIĵxݏōIğxmm¯_Ç™Źš™K™wťŽ„UVUŽƧwóxƒxġkĸķƒIk›ĉ™xóa@UmK@kVmUŻ„¯šVxkŽġn™‚@mmJ¯n°V@bXVÇxUzÆxkxlVkV@¦lbœJ›LUbšÆƒ„X„ō¼@xƒl@™J@bVxƒXUš@JÈ@šn™xVÆUXš‚„W¤knÆb„°"],
  20951. encodeOffsets: [
  20952. [132998, 49478]
  20953. ]
  20954. }
  20955. }, {
  20956. type: "Feature",
  20957. id: "2309",
  20958. properties: {
  20959. name: "七台河市",
  20960. cp: [131.2756, 45.9558],
  20961. childNum: 2
  20962. },
  20963. geometry: {
  20964. type: "Polygon",
  20965. coordinates: ["@@²mŎ_lƒĊƒ„ƒĢV°°IV`ĢbšaĠX„°@b„JU¼Wnš„UJ@„ÞLlxV„„@n`lIUa@K°Iô»ÞVšwÞ@VmnX°WVwmkX»‚U„mŎxVak™lkkKǯUUwÇWUn™U±b—KWƒ™Kk™w„çóK›mU_nW¯ÛmV@bÇKkbkUml¯U±VÇaU™™amlUU™LK›„k@ƒU@mwÛLƒŽƒwkLóÆm_™±™nkޝ@@n±KnŚlbkVV‚mz—lWXº@Ķ°"],
  20966. encodeOffsets: [
  20967. [133369, 47228]
  20968. ]
  20969. }
  20970. }],
  20971. UTF8Encoding: !0
  20972. }
  20973. }), i("echarts/util/mapData/geoJson/he_bei_geo", [], function() {
  20974. return {
  20975. type: "FeatureCollection",
  20976. features: [{
  20977. type: "Feature",
  20978. id: "1308",
  20979. properties: {
  20980. name: "承德市",
  20981. cp: [117.5757, 41.4075],
  20982. childNum: 11
  20983. },
  20984. geometry: {
  20985. type: "Polygon",
  20986. coordinates: ["@@lLnlmxn„„IVVlUnb@VVxXJWL@LގVnnV„J˜_@wkmšK„b‚x„wXk˜WXXšKlb²K@nVVVb„L@WlU²„lKVnUJVz@VVb@lżmVUVnbôaVX@°Ub@lWbXš@b@bVb°x„@VxÈLVlšaÆ@Þb²k°@lVUŽ@Xn@VW‚LXb@¤VXšKVVVLnm°_ƨ¤@aUIVa„alkX›°k„™V@„alwUVy„U@k󙰃na°UVUUmUÆw@mkLVUƒWVI„WšLnn@xlVnK„myU@ƒU°UXaV@U¥ƒU@Uƙ@aVUkWU¯ƒaU@WLUV@bkbmKULmKkUVUkmVIUwlWV²™Uml°U@W„LUwVm@UUK@_ƒKUUÜaXw@ƒVKUU@mVIUUlmnIVVVbÈVlKnbVKš@nI˜@nVnwVLVK„K„„˜Vnb@aUIVW@In™°@lVnIš@lWĢ@°UVL@b„@VyUUƒa@w@WUnU@Wǯ™K@UkkJWaÛbmk@mVaÞU@amkWƒ@mXUKkÿƒ£@a„kl@Um°UXwla„al@nmlXnW°znW@aƒwV™@ƒakbĉ¥VmU@ƒIƒVƒUƒJkUmWU™KbmkUaƒKkUVU@KV@@klw—™WaU@kmƒXVènbmlUUƒKƒX¯JkbƒI@JmIUWU@ƒLml@XkJ@U™kƒK@aVKwWa—IWwƒmUƒ@mU@J@UaċU™aUUƒVkI±ƒk@UUƒ@UbVVm@UVKƒLƒlkIWaULUWƒXUJU„ƒ@WbUb@lkXUxm@@JVn@J@b„nƒb@Vkx@bšLU‚Æn„JšaVXnKVVmzX‚°V@_lJXxWXƒK¯bÅamUƒ@lUI›bñJ@LÇKkIÇ`kxWL@„ƒ@@bUVUb¯xWKk„Å„VlULW@ƒŽn¦Ul@I™lmUUUVm@kWƒnkKma¯XUKWmnwVwÝL„mŽ™VUbUVWb@Lnxm„xVŽmbXx›¦@„nb@`™„ƒVƒ@kbƒLU„mVUlkbVXkºmnm@@xk¦šbĢÜlš"],
  20987. encodeOffsets: [
  20988. [118868, 42784]
  20989. ]
  20990. }
  20991. }, {
  20992. type: "Feature",
  20993. id: "1307",
  20994. properties: {
  20995. name: "张家口市",
  20996. cp: [115.1477, 40.8527],
  20997. childNum: 15
  20998. },
  20999. geometry: {
  21000. type: "Polygon",
  21001. coordinates: ["@@k™ġۙal¥@wn@nml¹UWlaVknUVƒ„Kla„@„Ušƒ@_ma@ƒœ¥WwnaU‚wnƒmw@KXaVUVašUnmWUk°™lƒnUVUXWVw™IWVóKUI@WXƒxUU@mma@kUKWLkw@yk@ƒaVkUUċaUU@Wk@Unm@UVmLm±IUƒkJ™kWƒ@a„I@m@U„ƒVƒ„Ula„@VXVƒXmVwnkWKƒKU_k@m¥ƒmX_™JmnU@km@U@KmU™VƒU@U™@Umk@@LƒmW@Û£Wƒka@wk™@aƒI@mmk@mUa@UmUƒIƒwW@aWUƒbU@kbÇ@kwƒ@makVUk™U@aƒm@aU@mxkUƒbƒKUXUƒ±KXVWLUK@wkU@V™@WXUa@WbUxƒJIƒŽ@¦VèVVX@±ê¯KUIƒ`¯UULVx@Vƒ@UKƒIƒVkLmVkKmš@nUJÝbkIUJVXšVVxVbU„VJ„Un™°bV„mlU°„XnK@Ul@lVÈVUXšx@W„@VXšV‚KÞb„n@VnbV„m`ƒUx™kW@UVkL™Km¼@lUnUJVnV„XV@Vm@@LV„klƒIkl@VƒWlŽULWKUL@mJ„@blbUVUlmzUJUxm@UUbċÜk@Ub@VšLVV„¦ôbVŽmšUKUkU@m„„@VlVn¼WbUJ¯@@„°šnIllÈl˜@nXšWlLœk‚J@bkxlxkxlXUlklJƒšXL@bW„n`@nƎXxlL@xl@Xb‚LœKlVlIXblVUbUJW@lX@VL@VVŽšXšJšw„n@WnL°K„bVbl@VI@K„@U@nmVmV@XUWI@aXm@™VUUkWmn@lmUUk@mUmK@UnwVĉ@ƒƒmU_V@XJôVVUšLVUn@šllUnJl_n@šml@XŽlLlw²LVJUL@VmbVblVXmVnlš@Ť¦„nn@܎@bšl„@@XV`„Unb@VlLVb²J‚Xn¥ÆÑ@¥Þ@"],
  21002. encodeOffsets: [
  21003. [118868, 42784]
  21004. ]
  21005. }
  21006. }, {
  21007. type: "Feature",
  21008. id: "1306",
  21009. properties: {
  21010. name: "保定市",
  21011. cp: [115.0488, 39.0948],
  21012. childNum: 23
  21013. },
  21014. geometry: {
  21015. type: "Polygon",
  21016. coordinates: ["@@VbXWš@@UlV@xVLXKWU²LV„VW„L„alVnwV@@b„n@bšVVllUnb„@lxÈ@laV@„aXV@b‚X„x„J‚nV@VVb@nnl@n„J@blšl@„ašƒU_VWUwVUškUm™Ukb±mVwœU@VIUW@UWk„@VU@ynL„m@IV@‚bnK„LVaVmnIlaXwV@@WVL°@@xnX„@V`V@VbUVVLVKnwnL@ll@@_V@VVnaÆ@œKVXÆ@nƒ@wƒKmU—™Wm@km@kÜKXU@ÑW±nIUwVƒ„Kla@I°wU±kškmm¯mƒ_ƒJnƒaƒwW@IVaUama@wƒUƒmU@mVw@aXk@mWa@£km@aƒ_kVmUnWW@¯bƒkUmk@ƒVÇm@@kUU™KUU™@UVUamVUaWIkb@xU@@amUkKƒVkam@@kVUkUWmKmUkLUb@xmJƒ™U@UImVÛVmnUwƒJƒU@VƒX@UWm@Ub°¦UšmxklmX@`ULU@@UW@@xkn¯@makV™UmxUb™°ƒlUšƒbUbƒnUJƒUUVƒa™LkbUU›JUU@mUUUƒJkaƒ@™xUIWJƒUnƒJ@V™zƒ@kb@`@bln@l™bƒŽ@X@š@š„@Xl‚bnbVb„@„„VJlInlšbVw@U„K„l@lbnan@Vb‚JôLn‚UzlV@lÈLVbVK@LVx—VWXX`WxXz‚bV`UXV¤nx@„bVlVnVlUL"],
  21017. encodeOffsets: [
  21018. [117304, 40512]
  21019. ]
  21020. }
  21021. }, {
  21022. type: "Feature",
  21023. id: "1302",
  21024. properties: {
  21025. name: "唐山市",
  21026. cp: [118.4766, 39.6826],
  21027. childNum: 11
  21028. },
  21029. geometry: {
  21030. type: "Polygon",
  21031. coordinates: ["@@„@VVl@²„lJ„UVVšbČVVb‚@@InV„@‚V„nXx˜JXb‚xUL@b„Lšl@VlI@Wnk„KV@VXnJ@I„Jla°I„W„LVVnkmaUç„WVkôaܯ„@nV°wnJlaV@VUnUUaW¯wXWWwna@£UaWKU¯ƒ¯@aVUkKUamUUƒn»‚an™„IVwUWlkš@„LlWVakU@K„_lƒšbÞU°@šy°n„@„KÈkWW™ţ¥ĉōƒkġWUw¯£¯ƒÇwţwƒ@kK@kƒ¥ÝwÅbǤېťV™lW°@ĸ™x@VVVULVLkl@V@Xƒ`Ub@Xm@UWbƒk@ÆVbnLWV@lnXUbl‚@X¯lmU™VkKWLkK@_UK@U@UmmUxmVXLWVULkU@`W@ULUK@XlJXzV@@xml@VU@UX@Kk@WbUK@Xn`ƒXmJnšmškxUVbUVlVVxUbV@nKlL„kVKÞbVKXI°KVšmVUIUKULVxVJVLkV@Vƒ@UbU@WUU@UbUK@b@nƒV@VkLmb@b"],
  21032. encodeOffsets: [
  21033. [120398, 41159]
  21034. ]
  21035. }
  21036. }, {
  21037. type: "Feature",
  21038. id: "1309",
  21039. properties: {
  21040. name: "沧州市",
  21041. cp: [116.8286, 38.2104],
  21042. childNum: 15
  21043. },
  21044. geometry: {
  21045. type: "Polygon",
  21046. coordinates: ["@@@ln@UȄŽl@Vn„l°aX@mXnVlU„`@bln@¤Xb@nWl@bUx@nnV‚„„V@xnbVbUb@J‚X„x„b‚mXa@k„UVwlW„k„KôVm@w™kkK@kl»Èƒm™VKXkla°@XVV@VI@ml@@Vn@VX@V@J„@VxUzVVšš²blVk¦@šĠ@@»š@VK@VÈLlK@XnJ@alIUl„a„VVbš@„n@a„U@WUIV@mUn@mKXml@lL@LnWšb@XV@@a„VVb„V„@VV„IVWÈb˜IÈ»ƒǟlWšaVUÅUƒƒ™Um@kVU™WVkaUwmaóUƒJUU¯ÑU¥mk™¯UaƒKÅnÇyóXmWÛX¯aċbÛa›J—W™ÝU¯»ƒaóóUm@IƒšVVl@bƒLUJWLX@@xšXUxl¤V@V„nVUV„XVbVš@Ž„@@VVn„°VŽ@ţU¯VƒUmƒUWV@mUXƒaƒbUKUwUaÇKn„ƒVk¦Wb@VnLmV@bkV@n„xW`Å_UVƒV@bƒUklVX@VmlUƒx@VVL@x—VWVL@VW@UUm@"],
  21047. encodeOffsets: [
  21048. [118485, 39280]
  21049. ]
  21050. }
  21051. }, {
  21052. type: "Feature",
  21053. id: "1301",
  21054. properties: {
  21055. name: "石家庄市",
  21056. cp: [114.4995, 38.1006],
  21057. childNum: 19
  21058. },
  21059. geometry: {
  21060. type: "Polygon",
  21061. coordinates: ["@@la„@šy@U„I‚m„VXIVJšw„@lb„IVVnV‚@VVœIVVlašK„bVU„VVI„mVa„aV™„kš¯VanwšVlUnb°@lm@wX@@VV@VK@_nWlknwV™¯¥Van@VX‚@„W@U„V„IVxnmÜUnUVJV@„šnI@wValKnV@k‚mU£na@mVk°K„LVa@UU@UƒmknWWkXU@aWW@@km@UaU@@klK@UkaWaUnamm@U„a¯wWU@UkƒL@ŽUn@x™V™lUXVJUb™LmU@aUWUkmKkLUUm@mW—XƒaƒmmkkWUm@@U¯JUUm™kU¯@mKĉxÝwÝ¥LƒUóŽmwkUUUWVkKm™kKmLX„lxVLVxXJ@nVJnz@VWL@`nX@šƒxƒ@kVUUmJmIXx„JV„ƒnUVƒ@UVV„@LUšƒ`UXVVƒ„ƒlXL@l@b@VmX@b™xn°™UƒbkKWLXlW@@bƒK„mKULmakLUlmb@šXb@xmXU`V„b@`lLx@nWVXL@‚°WlXnlb„KVK„XVb@˜X@l_lJ@V@XnŽ„I"],
  21062. encodeOffsets: [
  21063. [116562, 39691]
  21064. ]
  21065. }
  21066. }, {
  21067. type: "Feature",
  21068. id: "1305",
  21069. properties: {
  21070. name: "邢台市",
  21071. cp: [114.8071, 37.2821],
  21072. childNum: 18
  21073. },
  21074. geometry: {
  21075. type: "Polygon",
  21076. coordinates: ["@@nKlLnšlLXUVVlVnxô„V‚KÞ¦ÞxĊwnL°@lVnšVV°I@Vn@V‚lXnl„n„b˜WnXn@VVlKnLVlVX@bnVšKVaUIVWškšU@wVm@¯@U¥VmU_°lšK„k‚w@LX‚Va„U@wšUƒUUKlUóW@UVUœUlƒ°K„wlKU_na„KVnlKkkšWWa@IœJVa@IlJnU@„KVUUmVlaXUl@lm@kXWÝÑnkƒ™±™k@wğ›@@U@mKĉLmVJ@zmlnŽWLUÝJU_ƒ@@šmJkXUVlbklÝ@Ýa™b¯@¯±JÅwġaUU@ƒkU™@mVI±bUKƒL™WUXƒJkaƒLóKULWbUVkKmnk@@bmLUŽƒl@b@mnmJkUULƒaƒbnŽmn@lVV@¦n@„l@b‚znx@`Vz@b„xnV@xl„lbnKVx"],
  21077. encodeOffsets: [
  21078. [116764, 38346]
  21079. ]
  21080. }
  21081. }, {
  21082. type: "Feature",
  21083. id: "1304",
  21084. properties: {
  21085. name: "邯郸市",
  21086. cp: [114.4775, 36.535],
  21087. childNum: 18
  21088. },
  21089. geometry: {
  21090. type: "Polygon",
  21091. coordinates: ["@@„bVKlVnInm‚@@a„kVnK@al@nmlLVUXaVKôL„Klb„IVWšX„KVL²a‚JnUš@lV@„VVĢbÆx²I°Ž°@šaÞbÞ@lkkaVUlWnI@™„@V`ÞI‚VXKmnk@y‚InUĊKƒÇkUUamUUkƒƒ@aU@U™ƒk@WUwVkVJVkkw°a@„mK@UX@VV„LVW@wšwVa@¯Xm@@lUIWaU@UWkXWmU@UwmUkKmn@lkVƒ²™VƒaULUVmJUUUwƒLma@™UmkIUm›L—mVšmx@b™LUamKÅL@VmbkU¯KÝamzkJUb±Vkb™L@lU@WIkJƒzkKmKƒnUalWkkKW@@nkbk@WW¯XUVUJ@XlJ@Xƒ@XlWLkUƒ`VUnaWa„UV@UVIƒaUxUUmVƒK@I@W@DŽU@@U@bƒ‚@nmKXmx™@UxkVWUX„@`VLlL@`™zX‚Ýb@b‚„@VUVkIUJVz°KVlnLlKnL„xlLVVUVlXUJ@nn‚„I@mVUlbn@@Žm„@bV„nV"],
  21092. encodeOffsets: [
  21093. [116528, 37885]
  21094. ]
  21095. }
  21096. }, {
  21097. type: "Feature",
  21098. id: "1303",
  21099. properties: {
  21100. name: "秦皇岛市",
  21101. cp: [119.2126, 40.0232],
  21102. childNum: 5
  21103. },
  21104. geometry: {
  21105. type: "Polygon",
  21106. coordinates: ["@@lnV@Xb˜škx@lU@@LUVlV„LVbnl‚ašLXVVn‚l„I„V„U„JV@UnĊ¦la„bš@nJ°UmƒV@„wn@VU„JVI°bnWlXnWVLVK²b‚akk„lI@aUaVƒUwVUUalaVwnUVak¥šX@W‚kœLVÓm„mUK@_lWš@n_UK@alÅ@ğÅƑŃݍmƒ@їţÇlƒLƒ@¯m™z¯@ÝV™ak„ƒ`@LlVUbkXƒK™@klVXUxƒJmšbm¼V„nVVblLUV@b„°V°XLVb@¤mbXxWX°xXŽVbmVUVU@kbmI¯xmUƒ@Û°óbUl"],
  21107. encodeOffsets: [
  21108. [121411, 41254]
  21109. ]
  21110. }
  21111. }, {
  21112. type: "Feature",
  21113. id: "1311",
  21114. properties: {
  21115. name: "衡水市",
  21116. cp: [115.8838, 37.7161],
  21117. childNum: 11
  21118. },
  21119. geometry: {
  21120. type: "Polygon",
  21121. coordinates: ["@@„KVlV@X°xƒb@VnnmbVŽXblb@VkL@lV@Vbn@@l‚@XX@bWVXlmXnlV„V@@VUbƒK¯LUl@nmbV¤n@l‚LXnlVUV@ln@lb„UlLnV@bV@@wlaXJVbnUVbVUš@VVšLVVn@VVX@@U‚KXU˜U@wUK@U„wVnk@UUWlk„V@a„UVUÆ`X_ƒw@mlU@anUmK@UXal¥„UmƒÈLVbVxVL„a„bVW@nXU‚Vn„„V°UŤV@Uƒ¯Um@Uƒ@@U™UaƒWVUmUUƒU@k£Vw™W@wW@XKƒIUa@wU@@al@UK@_mKXKƒbUU@aVKmš@Xmƒƒ±@kbÇakLğVaUw@a@ƒmkUJƒk@ykw@£ƒWX@lknk@WVkbUŽVnUVƒL@‚mVkI@JUb›I@JXb™XllkLUmƒLmbV`kLƒx¯Lk„›VUV@VôXkVVL„V™V@xƒVUbW@Kxƒl™L¯kV`UnV¦°@"],
  21122. encodeOffsets: [
  21123. [118024, 38549]
  21124. ]
  21125. }
  21126. }, {
  21127. type: "Feature",
  21128. id: "1310",
  21129. properties: {
  21130. name: "廊坊市",
  21131. cp: [116.521, 39.0509],
  21132. childNum: 9
  21133. },
  21134. geometry: {
  21135. type: "MultiPolygon",
  21136. coordinates: [
  21137. ["@@la„Ušš@šUnL@VWbklWxnIVV„V@X„JlbUlšXVbn@@K„mV@@X°WVInJmn²@lmVbnL@amKV_kwlmX@@LVamaXaƒaVU@UnJVanLlUkaW@UaVakK@IlKUU@an@ln@alKUƒkIVa@a@klaUKUV@UkUV¯šKVƒV@kUmƒU@@a¯ImJUU@VV@UL@Uƒ@@WXUWa@Ukwm™@ƒX@@w@al@@aVIUmVUUUVWUknK@I@™l¥kU±a™™UUVyUwƒ@@I@UUWm@@Uk@@nUJU@WU¯@kbWlULnšÇ„k¼@llLšl@xUnóŽƒLƒlkXUxƒV@lWb„I„`°nnn™llŽV²¯x@JkbƒLU„VxmJX²@ÒWVÛL@lln@‚Xn˜šnV„L"],
  21138. ["@@@kX@Valaa@KWI@UXW@WanaUIW@UaUKķŽk_W@UVUKUš@bƒ@UamxVXnJUbWVXLVbn@W°kb@U@Wó¼mIU¼k`V„@bVbl@„lX@lUôVlUœIV`lX„Vn@lUlVn@„l@UVaƒIUWl£Um™VWU@@UUKlUUUnƒVL@KšUnLVWUa›@™U"]
  21139. ],
  21140. encodeOffsets: [
  21141. [
  21142. [119037, 40467]
  21143. ],
  21144. [
  21145. [119970, 40776]
  21146. ]
  21147. ]
  21148. }
  21149. }],
  21150. UTF8Encoding: !0
  21151. }
  21152. }), i("echarts/util/mapData/geoJson/he_nan_geo", [], function() {
  21153. return {
  21154. type: "FeatureCollection",
  21155. features: [{
  21156. type: "Feature",
  21157. id: "4113",
  21158. properties: {
  21159. name: "南阳市",
  21160. cp: [112.4011, 33.0359],
  21161. childNum: 12
  21162. },
  21163. geometry: {
  21164. type: "Polygon",
  21165. coordinates: ["@@lKl@nVV@„bn„@VVnm‚nL‚LXx@š„‚VLlKVU„IXWÜ@șlbl@XUĊUlwnW„LÞw‚m@ÞUVmnVl@nX‚JXLm@VnnJla„I@VkxVb„@VŽln„J@knKVn„@°aVanal@XK°b„‚@š¯VJXIš„VK@al@nV„k‚@nK„a‚b„@XL@blVVKVLXK„@VaVI°mVaX@V_@a@yUkVw„VšIVašJ°™@anIlaV@nKnXÆm@wUUV±UUWUKnaWwXUWmٝVƒam@kakImƒUKƒ»lan@VXXa˜W@@UlUUa@a@UlwUƒV@Xal@@anIVaUK@V™XmwVmUmV„LXl‚@nalLnal@„šnKlkV@@UnJ‚UXnl@nVl¦V@@VnJ@nUVVVVIn@Va„JƗn@@K@m„kƒa@kmWVaUI@a@™k@@aUL@mmaVIUKUVƒ@@IU@mƒUmmL@K@UUUU@mW@@nU@ğ»mVmbk@klW@UXnV@LƒJm„™lUnUJ™UUUWƒƒ@UnkKƒxmLa@ƒ@@lUU™bmUVWk@@nkUmam@UakJU_ƒVm@ÅlÇLUVmVUwULƒKU@ƒk@UƒVUlU@@Uƒ@UaUUWaŎƒzJƒaWLkl™b@bmL@„kKƒabWŽUVƒ_@mV@b¯JmXUbUK™¤ÇLUU@b@JkLWmkUWIkJ@VmX@JUbVXU`¯VV¯blK@LXKl„UV@Um@@Uk@kxWŽkbƒL@KkbmL@‚UXmaU@@l@x@blX@xUJ@bULUlULÇ@@VšnU`W@@nÛ¼U@@VmKUkm@VVX@@xǚ@bUbVb@VX@@x‚LUb@lƒ¼XLlbUlVVU„Ub@n"],
  21166. encodeOffsets: [
  21167. [113671, 34364]
  21168. ]
  21169. }
  21170. }, {
  21171. type: "Feature",
  21172. id: "4115",
  21173. properties: {
  21174. name: "信阳市",
  21175. cp: [114.8291, 32.0197],
  21176. childNum: 9
  21177. },
  21178. geometry: {
  21179. type: "Polygon",
  21180. coordinates: ["@@VllInJlknJVkVU@mXlUÞ`VnV™VU@U@y„@nXlKV„nJVkXKWaXI‚b@yVk„VUkVwn@‚K@nW@k„KlUXVVUlbnUV`n@V_V@llX@@V„b@bV@@nlVUb¯‚WLnbmb@ŽnLnK˜b„U„bVWnLlaX@VVUX@Vln@`kL@ll@VXVJÈIVl@XÞJ°Una„LlylU@UXKlnn@lanLWWnbVI@KXKVL@LVWVL@UVKUIVWX@@XÆJ@In`@lJVI@a„WšÛnK@UlK@UU@VK„nlm„nXal„UllLUbVVšknJ@nV@Vm@a„l@@xnV„„lJVUU@™w@aƒk„@XW@_mWnUlŁUmVKV@VXwW»XƒWaUwnkWUkVUƒU@@@WlaUkkaƒIWVkm¯xmIUmƒLUVƒaUIó»m@mmwXk@a›mk¯¯l™@wƒmkLmmU@UbkUWJ@XUbƒJ@b@l@znÆmK@Xk@Ub@lm@ƒI@akmVKUUVUkU@U±JUbkƒ@IWmkxƒa@UUV™UWVkIUaW@UlLWn@VkJƒI@VkK@L@bmKƒkJmUUaUKWXk¼VxnJ@„V@@VULV¼ƒ@@UkaUlWL@U@W@IkKmL@KULUWULWKUXUJmIƒb—KƒŽƒ²UW™nWKUUkLUƒmUUam@UU™@ƒmUL@xkV@„VV@bmV@Vk@mwkUƒVUx@mbX‚ÇnVb„‚UL¯šWŽnUVLVb@xnlWnU@UVUVVUbVVlVkn@llVUXUWUXVbUJ@bmLUJnb@nVK@bl@@š@bVJUbnX@l„b"],
  21181. encodeOffsets: [
  21182. [116551, 33385]
  21183. ]
  21184. }
  21185. }, {
  21186. type: "Feature",
  21187. id: "4103",
  21188. properties: {
  21189. name: "洛阳市",
  21190. cp: [112.0605, 34.3158],
  21191. childNum: 11
  21192. },
  21193. geometry: {
  21194. type: "Polygon",
  21195. coordinates: ["@@VVUllLXl@LWn@J„@bƒKUVmnL@`VblLnbV@„b@JmL@LnV@VV@¯„VJVnXL˜@nm@aÞ@‚a„k@m„IšmVbXL‚ynLšk°@°aVJnUV@UVVXk@WJ@VXLlUnJVnnƒ°U@»°U„wl@šb„WmUXƒÆ@VLXU@m@U„a@I›mkb™a@naWW@_@WXUV@@U‚ƒ²@„K@I±U@¥kKWLóLlƒa@£Um@kWKXU@mlLXUVKUU±J¯_@`UL¯Wmk@Wa„kkƒlUnƒVUVaU@KUU@mmK@_ƒa@KX@VaUIm±™k„aVKVUkw™@kaƒƒW@kbkL±UUaƒK@UUKVak£ƒ@UmmL@lƒIkmUƒ@Ualw@UƒJkbmIUmn@WKImWk@mUUnÝV@ށnÝxƒKmXkxĉVWVk@kaċšÛ@WXƒJUV@zŽm„VWnbUbVbšLlUnŽ‚lUÒnWV—VWnk@@Vm@kxm@Un™l@Ll@@V@šXnƒškJV„šV@nlVXx˜U@l„n@aš@VLnWĊ¦nxš@lbVKXLl@ރVLƒ„XJl@XXl`lIXVl@Xl‚XUVšK„wV@lanx„zUbVJ@VVX@b"],
  21196. encodeOffsets: [
  21197. [114683, 35551]
  21198. ]
  21199. }
  21200. }, {
  21201. type: "Feature",
  21202. id: "4117",
  21203. properties: {
  21204. name: "驻马店市",
  21205. cp: [114.1589, 32.9041],
  21206. childNum: 10
  21207. },
  21208. geometry: {
  21209. type: "Polygon",
  21210. coordinates: ["@@n@„b°UƂXnVlnLÜ@VLœm@n˜@na@J„„m@k„@lVšVxXX@„V`lLV„XVV@VVÞLVV°„²@lašbnxV@@b„Lšmlm„_VWnIWUna@lšLšbnV°ƒVL@KšV„LVUVaVLXK@mÆXna@wVm„a‚@Xw@KlL@a„@Va@wUkaWnIVƒla@Kn@Vn@VUl@nKVn„J@LnK@aVkVUUWƒ@VakUVanI‚²X‚W@UUU°KnUVLl@XaVK@ašU@KUI@W@_lm@KkLUKV_Uƒ@»@UVJ@XV@@mVL@K@U@Kk@VwUUm@kmWL@VkVkzƒKmb¯VÝI@WUkÇJUIUWk@@klK@_km@UVWUUW@kbmKUXƒaƒV—amLmK@namaXK°VakU@mU@@aƒa@UW@kkU@U`m@U_mVkaUVWUkVƒL@lmX@ށLm@UxVlƒUUl@zaWJXbWLUlmIUƒkLmWƒ@@z@VUVUšUmÝ_kVWŽ@nUVUlmIklmIkJUkƒl@n@Lm@؃IUbm@UJUUVU@mmI@UU@k¥mUk@WmVmI@VU@klmLƒ™k@mbkKmb@WkƒKUŽVnUnnxšW@UVLUbmJ@bk@WbU@V„kx@V@bVbkV@V‚@‚—XWbUWm@kb„¼VLn„lJlb"],
  21211. encodeOffsets: [
  21212. [115920, 33863]
  21213. ]
  21214. }
  21215. }, {
  21216. type: "Feature",
  21217. id: "4116",
  21218. properties: {
  21219. name: "周口市",
  21220. cp: [114.873, 33.6951],
  21221. childNum: 10
  21222. },
  21223. geometry: {
  21224. type: "Polygon",
  21225. coordinates: ["@@lšnb@xlJ@UnLlKXUlJl_„KnV@xVL@bkbVVUè@šWb@„Ubmš„ŽkšVšmbX„VJnUl@„a°@@b„LVbƒlXx˜InmnLVw‚anJÆw²IlmnXVl°VVbÈaVb„@lkn@VWnLlUVmÞUUklƒkƒVkUaVaVaUw™K@kkaVWmw„_„‚l@nU„VVb@b„aV@VV@zXJl@@kl@šlœk°WVnÆbnbUšVJ„Iš@VKVm@k™K@_kK@a@aU@@wW@@k@aUW@IUWVUnLlUlVXKVwmk@W@—VWa„¥@k@lnƒUIÇKUaU@ƒUUVmIUV™Uk¥ƒVma@¯k@Wanwmƒ„@@n@@m@UIVƒkUVamUXWƒaV™U_™@ƒmUVUImW@aUIĉK@VmI™b@lU@@n™JƒkU™@KƒIUmmLk@UVm@UŽm@@LkbU„mJXlbV‚@xUbƒ@@bkK@LWx@ƒbUn@xmbÅW@nWLUKUbUVƒK™U@LUK¯„mU@šVV@xULUŽVL@bU`WšUz¯aUamKUaƒ@@xkX@x"],
  21226. encodeOffsets: [
  21227. [116832, 34527]
  21228. ]
  21229. }
  21230. }, {
  21231. type: "Feature",
  21232. id: "4114",
  21233. properties: {
  21234. name: "商丘市",
  21235. cp: [115.741, 34.2828],
  21236. childNum: 8
  21237. },
  21238. geometry: {
  21239. type: "Polygon",
  21240. coordinates: ["@@XVl@lLȃ„@VkV@V»UanƒWX@VaÆÇô@ÈaVX@xVJXUÞU‚aVLĸbXKl„V@šm°Vn_ny˜XX»mUk¥lK@a„_@yšInaVKVa°_@WXI@ƒ@K‚VnIlbnaV@„l„@‚a@_w@ƒlwUKm™Xa@UV@š»Vƒšw@kUKVUUm@w±VUXUKUwmJUUƒ@km@@±mXkmUI™@mm™KUwkbWakLWaUIkJmŽƒX@l@@VUX@JWbX@VbULWbƒlUVULknlV@bVJk„mb¯KknWmk@@nmVkx™@ƒVmU¯KUnUL™@ƒJUIV™maÅaUm¯X›l™kk@@lk@WI@yUUU@ƒb@aUaƒUmVk@ƒƒ`nxUXlb@lšLVxUbUbVbUll„k„VlÝVUnkVmKUXm@klƒ@ƒnUx@xnxƒn@`VX@V²x@V@b@„Wl@zU`VUVVb„L@Vƒb™W@bkXllkLWV@V„@VVÈwlVœ@@X˜K²Llb„WnnÆL@VnJWn"],
  21241. encodeOffsets: [
  21242. [118024, 35680]
  21243. ]
  21244. }
  21245. }, {
  21246. type: "Feature",
  21247. id: "4112",
  21248. properties: {
  21249. name: "三门峡市",
  21250. cp: [110.8301, 34.3158],
  21251. childNum: 6
  21252. },
  21253. geometry: {
  21254. type: "Polygon",
  21255. coordinates: ["@@WKUmUI°ƒU@@UmU@KnK@IƒaU@makKUa@_‚KnmVU„L@a‚ƒ@IXm@KWkkKVkUU@aUW@UUIVaƒymwkbU@ƒx™LVUWWkk@WUkJk_WWk@WI„ƒUK݄k@WKULka™@mwĉ¥mXUK™@@bƒm@k—VWwkU@m™UUƒlI„™Wm@™@Uk@@KškVmn@lwn@@Ul@Xm˜UXUmVсkmkV™KUaVamaUXnƒ‚@ykLUKƒ@™WwKmKnUm@UmƒƒaU@mUk@kL@lƒxċxUnkVmnXxWb@`kzWJ@V—LmVUn™lmUL@lW@Ub@VšXUbš`VLUbUJ@nmnUlUUm@@bUJlnU„š‚U@lxkbƒ@@XƒJUnƒ@kb¯VVVmlXXlJlzn@VlkVW@bkK™bmškŽUbVb„lƒXVxšKÈnšwÞlĊKlšVnKlwX@lL@xlUnVn„@šl@lmX@ƄÈb°¼ÈwVJlx„_°xšašlšUÈxlUnbVxnL@lllšbm„n@nb‚@@V„L@V„@@„VLšJnIVVlKnV„_"],
  21256. encodeOffsets: [
  21257. [114661, 35911]
  21258. ]
  21259. }
  21260. }, {
  21261. type: "Feature",
  21262. id: "4107",
  21263. properties: {
  21264. name: "新乡市",
  21265. cp: [114.2029, 35.3595],
  21266. childNum: 9
  21267. },
  21268. geometry: {
  21269. type: "Polygon",
  21270. coordinates: ["@@XVlL„K°bUblbUbšl@nX@W„XVVKVkš@@Žmb@„Ubn„W`kL„LƒV@VVLnKlVXIlVš@@a„@l£nWlƒkVa„@°bnUlLVlna‚bnUVUXKlU@ƒ@lk@a„I°y„@ôkUU@wšmôšnkWakml™UkVmkUlmUUm@nkUKWanamU„LXW@U‚VnUln„`l„œblL°KXV@ĠJ@L°„šJšUVw„anK@UUImmƒkK@¯±Um@IVmUmmÅnWaUK¯aUk„w@W±kVƒx™U™VƒwƒnÅJUIWaÝJóI—bm`ÝbÅImJUI¯¥¯@mU¯UƒJmnUVóUkl±V@zXl„bWVXL@bm„mº@@XmJUXU°llk„@nWJk@U„@¦U`m¯ŽWx"],
  21271. encodeOffsets: [
  21272. [116100, 36349]
  21273. ]
  21274. }
  21275. }, {
  21276. type: "Feature",
  21277. id: "4104",
  21278. properties: {
  21279. name: "平顶山市",
  21280. cp: [112.9724, 33.739],
  21281. childNum: 8
  21282. },
  21283. geometry: {
  21284. type: "Polygon",
  21285. coordinates: ["@@l¤UbVL@V„LVb²VlKlaX@„„lbš@lxUVULƒbšln²VJUbW@@L„b@`nL@nVV@LVŽUbUVm„kVl„ƒlXbl@Xn°ŽVK@_°`²IVVV@VUVJnInaWK@Uš@„K„LÆ@nmlXXWVUUw@klKVa@knyVkVanI‚JXUl@XbVUl@@aša@mXk‚bnK@UlK@UUUVaXaWmkUm¥n—WmXaWaœkl@VmÞb„KVL@aVI@mUwVm„@KōméUL™KVaUk@kUK@U˜WXI@VlKXU‚@VVnInVV@VLlK@UUƒkKU_@ƒWWUwU™@klƒn@ƒƒ@Imb—@@m›nUKÛ@mKUkWVXxmbVLXŽVVU²VV@xÅnmWmLU@kbmJ@b¯š™IUb™JƒUUxVl@z@bU`W@Ub¯nUJUbƒ@WLUKULkU@aWKƒ@aƒbmL@ƒlmUk@@bUL™ƒWJUI™°@ƒŽ¯aWLk@mbUb¯b"],
  21286. encodeOffsets: [
  21287. [114942, 34527]
  21288. ]
  21289. }
  21290. }, {
  21291. type: "Feature",
  21292. id: "4101",
  21293. properties: {
  21294. name: "郑州市",
  21295. cp: [113.4668, 34.6234],
  21296. childNum: 8
  21297. },
  21298. geometry: {
  21299. type: "Polygon",
  21300. coordinates: ["@@@nWVUKÅ@W„nVnI‚ŽV@œkƂšwV@šnn@lxÞlnôJ˜zXJl@nalUČVlƒl@²UlkôVVUnm„I°VnV°@°¦VJnIÆJÞan_VmU@ama™@kU˜¥kaUklw@UIV¥kVUI@ƒmmUÅmUlƒwVU@amU—JWbUakVƒ—Vé¯Im`ƒk—@ƒwVWmLkU¯ŽƒXkWmLmx@UUƒbm@@x™J@LbW@UUVWUkVKƒ@ka™IUamKUkkmmLƒUkJUVWXkWmnÅ@ƒKƒL™@@VXLmbmJUIUVU@ULWVkK@nWVXL@lVn@¤„b‚kôKXKlL@¦²V@JƒL±@„@VU@WV@X@`XXmb@Žšblaœn@Jƒb@V"],
  21301. encodeOffsets: [
  21302. [115617, 35584]
  21303. ]
  21304. }
  21305. }, {
  21306. type: "Feature",
  21307. id: "4105",
  21308. properties: {
  21309. name: "安阳市",
  21310. cp: [114.5325, 36.0022],
  21311. childNum: 6
  21312. },
  21313. geometry: {
  21314. type: "Polygon",
  21315. coordinates: ["@@°kVaV¥kVmUkWkWVkVKUwkkmKUU@a„wWWXWakKWkXmlašIVmX¥ƒU@a„@WnK@kƒƒ™V™I¯ƒ@KğI@WU¯LkK›akƒƒ_kmmVU@VWXƒKnVmbXbVLmln@VVknlVUnVlkšlnXbmlmlXblnÈlWbn@@nšK@V„L„bVV°VVzšlnš@V™xƒI™b™ŽU@WLUa¯V™UkWõ@¯kkmxk¼l‚„XUlVbVLnlULmU@lƒLkVUlƒX@xW@¯mUƒ@UmIUW™L@aXa˜kU™¯anƒWk°@k™kKmmUIWaambUkkKmV¯aƒ@UblŽk„mXk¤ƒ@@b™@UbULWVnb@lUVVnmšnVVU„J@bWXX@WJkL@blVU°UV@XlWnXUbW@UVkVšVWbnLUJWLUK@Lnn@blVU‚„nUblxVUVJXU„a˜@Ub„LnUVV@mVIVVn@UbV@‚XbmbUV„_lVXUWanJVI@WkI@WVIVU°WXXl@la@mX@lLXl‚kVbœm‚X„ylIXJV@@kšKla²UVa„IVyÞb°LlVna@UÆKnLVbšK@anwU™"],
  21316. encodeOffsets: [
  21317. [117676, 36917]
  21318. ]
  21319. }
  21320. }, {
  21321. type: "Feature",
  21322. id: "4102",
  21323. properties: {
  21324. name: "开封市",
  21325. cp: [114.5764, 34.6124],
  21326. childNum: 6
  21327. },
  21328. geometry: {
  21329. type: "Polygon",
  21330. coordinates: ["@@lUVbXa˜InV@bUV„x‚knVVÆnn@„VJlUU¦VJ@kxVllb—¦lVš@nb@bVŽUn˜aôJÞIXbVJÆI„m„xšUšV„w‚U²l@XƒxVl°bVLXb‚`XklUnmVblLœ@lmšx°LVK@UXIVašWlL@Ukƒ°KkVaVUXmmI@UÅKmmƒXka±K—L@W›@kUÇxUUƒ@@UXUlKkklW@ašX„a@UƒKUaVUUV_@yXk@ƒ@a@U±w@UUW@_„mmw@wVw„mUaÇbUa¯UUkmWkn±JÅxmIbUxmKmn—JWw„kUaƒK@a¯@ƒbk@mVUIWƒ—Lmwm@Ua@WJUb@LUl™@UUmLUbWJ@VL@VmXWWzUJUꄘ"],
  21331. encodeOffsets: [
  21332. [116641, 35280]
  21333. ]
  21334. }
  21335. }, {
  21336. type: "Feature",
  21337. id: "4108",
  21338. properties: {
  21339. name: "焦作市",
  21340. cp: [112.8406, 35.1508],
  21341. childNum: 8
  21342. },
  21343. geometry: {
  21344. type: "Polygon",
  21345. coordinates: ["@@V@VL@x@bXŽWV@XkššlUŽWX@J„@nI@KlL„KšUVaV@œJlL@KUk@KÞL‚l²_‚@nWlL„UVVš@nLWVUJVn@anV@a„wÞUVLVx„b„@lW„@lbXn‚Vn@@¼šL°mšKVn@bnl@nVK@blb„L„W„U@VWLXV@nlKn@lVVbXw°nV_@¥Vƒl@XI@mlƒkkV¯VWnI@W‚@n¹nƒ@aWKXUƒaWk@yk@k„ċUkVmbk@WI—yóImÝkkwm@™mU@™xŁ›lU@mJƒX™ak@ƒx¯V@¼¯Vm„UmmIkVWK@UXIl@UWVUU@mVUI¯b¯@™lmKzWKUa™nƒJ@nƒlbÝ@@b"],
  21346. encodeOffsets: [
  21347. [114728, 35888]
  21348. ]
  21349. }
  21350. }, {
  21351. type: "Feature",
  21352. id: "4110",
  21353. properties: {
  21354. name: "许昌市",
  21355. cp: [113.6975, 34.0466],
  21356. childNum: 6
  21357. },
  21358. geometry: {
  21359. type: "Polygon",
  21360. coordinates: ["@@lI„VnKlnVlnLVbšJlb„@ULVlUXVVX@‚a@KšI@wn@„aVV‚@nwnKlX„W°lVnKUX„x˜@„ln_°JVIXy‚XnW@U‚K@UXIVanKVVš@Vk@KVaXI‚@Vbn@nx˜KnaU™l™ƒn™Va@ƒXa@™VçUUla@aUK@wmUƒLk`kIWVkLmK@V@XUlƒn@JXV@nm„™bU‚óIƒmUa±@@ÑóVUUk@UlKVU@akWVUUlUUaUK@UUKWbUkÅJ@XWaƒ@XbmJ@nUJ@bUKƒLÝaUnk@›lXbWbXnm˜n¦lVXnWbUbVV@VkL@VmLaWl@n™b@bk@UVWak@WVImJUbUlmz@lUbkL@lVx"],
  21361. encodeOffsets: [
  21362. [115797, 35089]
  21363. ]
  21364. }
  21365. }, {
  21366. type: "Feature",
  21367. id: "4109",
  21368. properties: {
  21369. name: "濮阳市",
  21370. cp: [115.1917, 35.799],
  21371. childNum: 6
  21372. },
  21373. geometry: {
  21374. type: "Polygon",
  21375. coordinates: ["@@lLXbW‚XXƒx@bVVnLllVxULUl‚XXlVlUnlŽU¦Ub¯l˜nœK@V‚bVb@šXbVL„KVxVVnIlašb„a„¥lU@wnalLnVVlVLXnlWVXn@@lVI@WnU@mƒÅW¥—aW_k@WwXy@kmƒ@wU„mš„š¦šlUxVLV@UwšJ°xš@VX„@Vb„@š`VX@VX@llšIVbnJlI„bšV„l„˜J@ƒmѯLóa@ƒƒKUa„k™ƒ™Xƒ@UK@wU@ƒlWUUݯImW¯aƒLUKU@ƒkƒ»k@mƒwƒa@UnKWI@ƒUU@akVWK—k@a±ƒbóUWKXUmk™KUmLƒbUx„„@lmLXŽƒ@@b„VW¦Un™JkbWnXl"],
  21376. encodeOffsets: [
  21377. [117642, 36501]
  21378. ]
  21379. }
  21380. }, {
  21381. type: "Feature",
  21382. id: "4111",
  21383. properties: {
  21384. name: "漯河市",
  21385. cp: [113.8733, 33.6951],
  21386. childNum: 3
  21387. },
  21388. geometry: {
  21389. type: "Polygon",
  21390. coordinates: ["@@@Lƒ‚UnVxnIWa„@Xb@WÆIVlXaVL@VVLVbkVVŽUVlX@bUVkLV‚l@VVôU@Ò²@Vb„nôJVšanƒ@mWU@I„mVk@WkI@wmak™@wlW@w„@VbnLVb°bVyX™V_@aUKVVK@wUU@™™a™K@kmbXVmJUXƒ`kn™nƒK@aU@mw™akb±@¯ƒUUÝKUUU@WU@VkLUKU@mUmJUU@WVkL@UWJ—X@VVL@lVlUbšLVKnêÆŽ"],
  21391. encodeOffsets: [
  21392. [116348, 34431]
  21393. ]
  21394. }
  21395. }, {
  21396. type: "Feature",
  21397. id: "4106",
  21398. properties: {
  21399. name: "鹤壁市",
  21400. cp: [114.3787, 35.744],
  21401. childNum: 3
  21402. },
  21403. geometry: {
  21404. type: "Polygon",
  21405. coordinates: ["@@ó™™n@xVVólƒ@¯zƒJ@bkl@@„kVWLUVmVXbVJnnlLlš¯@Xlm„°bVš—lWb@bšKVXnJ@VV„°nX@@w„WVklU„K@knVVKmkUKUaVkƒWkl»nwlްlö@lXšV°UVbXKV@šša„Jšw@Um™™kUy¯UUUƒaƒK@U™L@mm@XaÇkkmWank"],
  21406. encodeOffsets: [
  21407. [117158, 36338]
  21408. ]
  21409. }
  21410. }],
  21411. UTF8Encoding: !0
  21412. }
  21413. }), i("echarts/util/mapData/geoJson/hu_bei_geo", [], function() {
  21414. return {
  21415. type: "FeatureCollection",
  21416. features: [{
  21417. type: "Feature",
  21418. id: "4228",
  21419. properties: {
  21420. name: "恩施土家族苗族自治州",
  21421. cp: [109.5007, 30.2563],
  21422. childNum: 8
  21423. },
  21424. geometry: {
  21425. type: "Polygon",
  21426. coordinates: ["@@VK‚bX@lbUVnL°„@VlVnUl@VUX@„aVƒmaXƒlašUUU@wmaVUn@Vƒnmmk@m™U@kna™aU¥Vam™X_@WƒU™mW@_kƒVaVKnL‚lœ@VVal@k¥@kUW@kUKVUlUVсW@kÇaU»ValmkUVUVak™@aƒV¯_@W‚UkmVUlU@aœƒƒalI@akkVWUaWXUWwœWVbÆ@„„l„alIVK@U™m@UU„W@al²a‚¯UağÇm@ƒbkk@wƒ@@W™aULmxƒIU‚™ƒb¯@U`UX™JmL¯aƒKX›WUL@aknmK™@aWUXaWm@I@UÅmVU@™™aUV@b™VƒI@WkU›bXkm@VakwUKULWKXmJ@XUK@ƒmL@KUwVaUI@KU@mmn™mXka@»V@@UUaƒw¯yVk@ƒUUVmmkÛÈU@mWUnmx„šmlUbV¦UlbWVUL@UUƒ™IUmÇKV„VbUVVxkn™LUxV`VX@š„„kJVVUXWaUVVlUnmKUbkI@WULmK@L@LVlƒLnmUIWV@aknƒ`VXUJIVlUVVbUX@¤mbnLm‚m@UXk@mm@Ukaƒ¥@kV@@KkU@aUKWbkLWVkIVŽk@UbVlmX@bU@@mmL@bn`@Ln@llVLVk„@XVVU@`VXUš‚¼k`VULka@VllVIn¤VU@@bl܃bkx@bkL›škKƒn@bn@@b@JUnV`UnVbVKlVXUlbn@°ƒVx„@@b„nVbUllVn@V—VK@UnW@UVUšlnk‚VÈޚxVb„VVI„xVaÆ@@aka@UVaU@@a„k@Wl@nbVIƎ@Jk@„L@VlXnlla@VJnw@UmwXU@aVK°ÒnllnLlb„xnKVaV@l¦²nVl@llL„x@XVVœ‚͐š@našx@U@al™XUVa‚LÈþV°XxWXkK@šmLnlUb@b‚xnLVlVVkb@UJ@xWXXš"],
  21427. encodeOffsets: [
  21428. [112816, 32052]
  21429. ]
  21430. }
  21431. }, {
  21432. type: "Feature",
  21433. id: "4203",
  21434. properties: {
  21435. name: "十堰市",
  21436. cp: [110.5115, 32.3877],
  21437. childNum: 9
  21438. },
  21439. geometry: {
  21440. type: "MultiPolygon",
  21441. coordinates: [
  21442. ["@@@a@w@kV@nbVK@ƒnUla„@la„Ål@nlVakwWX@WkLšaVmšwV@anK@UlIXmWkk@@mmLkWlwk@U_mKXwWK@U¯K@UU@ƒVUa™kmƒkI™yUUVUmanU@mlwkƒ@_mWXaƒUWU@ǃ@U@aUaVwUKUIƒVkK@UWIXƒmaV@k@Vm@UnwlƒUamk@V@„ULUamxUJkU@Iƒ`WkkK¯XWak@@W@IUV™LWJkXkaÇVUKƒ@kUmbmUUƒUKƒbkKWUkI@ƒkKÝ@@aƒUm»nI@mƒU@UnWV_@aUmWbkLUl¯b@a›kkk@WkkJm_k@UV±@J@b›nU@@WÝIUJVbXL@nlJkx@„Wn@VkJmb—LmUƒ`VbUL@xVn„@XVƒŽ@„mVVnnJVbU„ƒx@„V„nVUbVVƒx@šn„™bUK@bƒ„@bƒJ„šm²„VU‚lbXzVJV„„JVbn@@Xmb@V@bVJÈ@‚Vnkn@°aVVV@šX„KnalLVmšUnnVKVlnLWlXX„Klk°š™šXŽWškLUVVV@nU@ml¯nmbk@W`Å@mb—LWm¯UƒxnêVèk@mbƒVƒnUK™@kKmXk@@JUI›lÛLllnbVnlJ@LULnlÆaVLnŽV@nkVJ„@lkô@²bÆm°w„L„WV@VXšKšVXI@W°ÆVšK„b°U„JVIVV„¦XKVL@l‚InaVÝnUl@@bX@‚™nmVL@lVL„lVLVUnbVW@xXn˜bœU°¤V@š™„a@kWKUUn@VlnL@UV@Ü»@mX@V_ƒakaÞ@VK‚¯@kkW"],
  21443. ["@@mUkUUm@nllVKXXVK"]
  21444. ],
  21445. encodeOffsets: [
  21446. [
  21447. [113918, 33739]
  21448. ],
  21449. [
  21450. [113817, 32811]
  21451. ]
  21452. ]
  21453. }
  21454. }, {
  21455. type: "Feature",
  21456. id: "4205",
  21457. properties: {
  21458. name: "宜昌市",
  21459. cp: [111.1707, 30.7617],
  21460. childNum: 9
  21461. },
  21462. geometry: {
  21463. type: "Polygon",
  21464. coordinates: ["@@°`„U@blšUbUVlVkn‚ŽUbV¼Èb@l‚XUÒkVUVVL@lVX@ll¦k@UbU‚›@kmKULUbl„@`nXšŽ„V@XW`nšUbV¦šbmb@lšV@nnlmnU„m@UVnb@xVV™VkbW„nb‚VnVa@an@UaVU‚JXnWlXX@l„¦@ŽlKÆX„bX‚V@VV„@°¯°xXx‚XV@nV°UVWU_VWXkmaVnWVkn@lln@lb@UVLXWlnX@˜aXUmaVK@UXU„U@WVI‚W„XXV‚U@¥VKœ@‚Uގ„„‚a²LlV@kV@UanKma@UVUnK@UVLXyVL‚knJ@UV@@UXKWUXaV@Vb@mVLnKW„m@aUUm@@UkK@Ula„LXKWaXI@alKlmUk@wVKXL@m@WWn@UVa@K@wna@aW_XWWkXbVW@k@U¯WWwka@UUaVIVƒkU@m±@U@@wVKkaš_@VV@XUVwU¥‚šyUkm@V±ÈUKk»ÇL„m˜mLk@ó£kmWwƒm@U„IkWKXwWU@ƒkLƒwkbmaƒbkK@VƒLkmWIUKkUUƒÇIǫJ™XÅJULVŽÇLUVƒ@UK™@kI@WVI@UaƒWmXVVUL`±kÅLmKkƒƒkƒÅ@Ua›XXxWVXŽVbUXll@bkJ„b›„@bkVUVlnV@X"],
  21465. encodeOffsets: [
  21466. [112906, 30961]
  21467. ]
  21468. }
  21469. }, {
  21470. type: "Feature",
  21471. id: "4206",
  21472. properties: {
  21473. name: "襄樊市",
  21474. cp: [111.9397, 31.9263],
  21475. childNum: 7
  21476. },
  21477. geometry: {
  21478. type: "Polygon",
  21479. coordinates: ["@@@Xl@Xb°WlLXl„_@JlVVInwVbVK@ƒ@UnlVbk„mx@VUnl@U@nbW„XJ@VlL„UVJVLUxVb@b@VȄ‚@XV„VWbnX@`l„kx@nmVnbUVVVšzlJn„šlVb„UV@@V°L@VXLWxnLV`l@kxlXnK@nl@XlWn„`Xnl@@UVa@VÈKš£VLVanW°U@UVU„@„`VIn‚mV@„nV@Xa@aVW@UšalkXKšblI„yƍXnlJXbl@@VV@nklU@`„nVK„LVKVb@V„U@UÈK„UVKšIlUX@V`lIVbn@nblVVmV@@XXJšUVV@knKVn@`@X‚VnK„wlLVmUUU@ƒU@aXL@WlU@UUW@UmU@KkLWaXkWmXUWm@U@ƒnk@UmK@U@UaUVUUKV_@al@namWUI@KUƒK@aV@WUIƒbƒ¥ULUJkIm™ƒK@U@K™V@U@a@UkU@K@wVaUwlU@mUƒULmKUkV@@anIWmUK@I¯„mKkl@LUb±lUakLmk@WwUKÝVUIm`¯n@Uk@makJU_@ƒƒJma¯ImwUVkKƒb™aUÅ@wWaU@VU@mXIVmmUkJkwm@mIlUKWzUK@VmLUV@VnbmLVbU@@lkU±KbƒƒÝV›@UL@¦VWUƒWXUJ@XƒVWV@VULnbWV—bW@kmWXUK@Vkam@kkm@UlmXUŽnbWlUXV`UX¯VmUU@Ul@Lll@nnJ@LƒnWmbmš@b™`ƒš", "@@kUUm@nllVKXXVKmU"],
  21480. encodeOffsets: [
  21481. [113423, 32597],
  21482. [113794, 32800]
  21483. ]
  21484. }
  21485. }, {
  21486. type: "Feature",
  21487. id: "4211",
  21488. properties: {
  21489. name: "黄冈市",
  21490. cp: [115.2686, 30.6628],
  21491. childNum: 10
  21492. },
  21493. geometry: {
  21494. type: "Polygon",
  21495. coordinates: ["@@VVUnWVXnVJ@„‚U@V@VXŽV@@IVJUnŽ@V@L@KlIVlVanLVbnVlI„ƒn@@a@Kl@@I„JlI@aXU@KlK„kVblJXU„VlU@V„bVkVKXn@VlxVa²I@VlVUxln@bšJXklaVWnLmÅ@y@k@ašI@W@aXIlVVaV@nnlKnLVW@IUa@a@K„UVVlI@wXKVV@IUƒla„@lUXwWƒnƒnalLlxXLll°@XwVKVaXIl™nb˜@nln@Va@U@k°ƒUmÆUVaXI„JV¯ÇUmmkU@WaKmakVm@U@aVKkkmKkVmIkǰ£@aUUVaVVnKlkX‚mkƒ@ƒlUVaX@@Um@‚™UmlUXV„UVU@w‚K²¥Ua@I@UV™l@U™V±UIUǰ»VkUmVI@a@U™m™ĉ™¯V±bŹĖğaÇL¯lmŽkX@‚óĀ@ŽmšÝêb±WkLƒn@xXx@Ž@b@V@LW@UbƒlţXƒ`kxWnXô¯¦ÆV@L@JVLƒxkK@V@bkz°l‚lXz@J„UlVla@XUV„bVKXnW`XXV@laVV@V„X@V¯xƒx@xULVbUJ@n@LU@VmmakbUK@b™IWWUUVkUmkLm@VJkb@nUJƒ@`V@kX™aUaVmmLkUmJ@Uk@U„±lkzmJUb@b„VUxVXU¤ƒL@JƒX@VlL@JkLUVU@mnUl„¦@V"],
  21496. encodeOffsets: [
  21497. [117181, 32063]
  21498. ]
  21499. }
  21500. }, {
  21501. type: "Feature",
  21502. id: "4210",
  21503. properties: {
  21504. name: "荆州市",
  21505. cp: [113.291, 30.0092],
  21506. childNum: 7
  21507. },
  21508. geometry: {
  21509. type: "Polygon",
  21510. coordinates: ["@@ÈJV„lVVLXJln„K@UlL„anbla„xlK@„XVWxXLlƒJ@V„nXxlnô¤l@nKn—‚ƒÈKl¼VL²Ç‚Un@Vl™zŽV¦UxWVU@@U™`lbUL@xV@²@@nlVU„UJVb@VlbXx°XVWX_VKUwVKVa@UVKUUVk@KnblaUU@wnWl@UX@lÆ@@a„IVmUk„™šxVJ„U„bܙ@Uk@WWnk@Vƒ„™Vm@I@m@Un@m™XUlVlUnJ@knJVU°@@aÆLX@ƒllL@¦nJV@XblLVa²U@UlWš@VX@`@LV@@bXJlIXml_lJœU°b„KÆLnVVl‚@ö—Vƒ‚mXaVIĢllUlVnLVlX@@b‚ašnnxšV„L‚bn@°ÆXmmkĉƒ¯w±™™™Uċ@KÝÅƧŃÝ癙Uw¯ƒm™¯k@W‚kV@¯UIUJW¼kb™Uƒwk@W`@¦Uônb@VƚlÈ@VU@ƒƒ£UWWnUÆUnmJkUÇ£VWUI@aUU@WkI@Uƒa@JW@k£kaWVUKmnkKƒb™kkVWb—VmUUmwU@kk›@UakUUa@V@nlx@lUb±lUbnnWLUyk@UamœUK™@mlk@Wb@VXL@x@xWI@a¯Ž¯V@bVn@LkKmL@`XmKmVU@@bkL@V±bk@Uaƒa™L™KUVƒIƒ„™W™XamVVbUK@b@Lm@UWkxULWVUnm@UlUX"],
  21511. encodeOffsets: [
  21512. [113918, 30764]
  21513. ]
  21514. }
  21515. }, {
  21516. type: "Feature",
  21517. id: "4208",
  21518. properties: {
  21519. name: "荆门市",
  21520. cp: [112.6758, 30.9979],
  21521. childNum: 4
  21522. },
  21523. geometry: {
  21524. type: "Polygon",
  21525. coordinates: ["@@n@lxlInVUnWJ@nUVV@Xb@xVƚb„alLVUnx°Jnb„I@„V`lInbl@@V°mn_VJÞUVLXx‚@nllKVb²kVa@KlknL°ƒ@JVLXnmJ@bU@VlnLVKV„@nX@lUšKVaXal@VKn@¥°L@Unw˜bnašV@KV@VUX@lVXI@KW@@IXWV@laVL„„KlaXUVVnkVWV@lwXblIXWVkVmšaU£VaUmVIkU@y@WakKUamU@UUK@kmK@w@@mK@LƒV¯™U@WwkmULƒamVVUU@ƒƒIƒbUKUa™kmƒm@UakLmxU@UÒWlULţÿmwkIUm@a‚kÈblW@UVƒUUk@JW@XkWWUkUKUIlw@aUWknWUUmnIWƒ™aUwVaۚƒaƒVUI™wƒšVlUnƒJ@bÅ@@kVWk@mX@xVVkbma@LUlVVUL@VUbULVxULW`UX@V@lUXWaXlWXX`@bmb@x@LUb@VmŽXX@‚@nWKUL@xVlknkL@bWJXbWLƒKkb@VlL@Vn@VV@bƒnX‚mLUK@nUaU@WbXVWL@VU@@V"],
  21526. encodeOffsets: [
  21527. [114548, 31984]
  21528. ]
  21529. }
  21530. }, {
  21531. type: "Feature",
  21532. id: "4212",
  21533. properties: {
  21534. name: "咸宁市",
  21535. cp: [114.2578, 29.6631],
  21536. childNum: 6
  21537. },
  21538. geometry: {
  21539. type: "Polygon",
  21540. coordinates: ["@@ÞÆ‚LČ@šV‚š²š°xĊ„nlWnŎ¯m@aƒK@„„°‚n„Jšwn™VIUaÆJšÅ@wšwV™XW@aV_l@²V°lĊwlaXLšwlUkalVVaX@lVXI@a˜UXJ@U°UU¥VIVKVklanLVa@VÈIVV@nk@aVa@mV_@a„K@klKUa@UnKWk@@lU@@UW@@nUWUwmaVIXƒ„lV@mLXblJ@kV@kk@KU@WƒkUWVÅwkLmW@UmL@lUL™KULƒak@maUUÝwUJƒIb›KUUƒ@š™aWK@kUWVkUwVw@™mÝ@™I@wkW@a›ww@LU¥™kƒJ@nVJƒIkVVnkV›UkyUIUl@xWUkaW@@°kz„ŽWxkLUWmzk@@bVVVš„b@‚@XlVœ@Vl@bVbUn™`Wn—@Wb„VVI@`„LVbXLV`mnU@@lƒL@LUŽƒak@ƒLk@WbUJn¦@lVb@xVb@n"],
  21541. encodeOffsets: [
  21542. [116303, 30567]
  21543. ]
  21544. }
  21545. }, {
  21546. type: "Feature",
  21547. id: "4213",
  21548. properties: {
  21549. name: "随州市",
  21550. cp: [113.4338, 31.8768],
  21551. childNum: 2
  21552. },
  21553. geometry: {
  21554. type: "Polygon",
  21555. coordinates: ["@@„@nš`lw„k„ƒ„UmUVWX@lk„@VanUĠ¼V@@mX@@nVV‚VXLmJVLnK@b„V@@J„@VUn@VaVUUUVWVLV@@Kk_@almaVkUU@WVƒVUVLXmmk@wUaUKUV@°™@kmaUaÈmW„mUƒVklaX@lVnxl@@UnaUk@ƒVUVwVK„nš@VVn@VbVJUknUmmVmk_Vw„KUUm™Vak¥@UVKVIkW@UmIVWkIVƒkmmLkwmVUƒ@LƒUU@VVXL@JmLUbmK@UUKmkKUUmVUaUnÇlk¯™mJUnmLUaUJUaWL@UkJ™ƒUƒ@ƒaklkU@¯@KWLUmUUWVkbƒLƒŽUKkbU@WX@JX@@LWJkUW@UVU@@L™Umb—amx@V¯K@¦mŽULk@WbUb™LkVW@kVVxUb@x@LlV@V@b@VšU@L@V„LnšlJVIVK„¦„aVJ@XUŽ@b„LV‚@LVJnXmbk@@bU`VLUVV‚b@V@VnL@Vml@„@VXnWVXnWlXblK@LnV@VVX@VkV@XWK@b„VV@VV"],
  21556. encodeOffsets: [
  21557. [115830, 33154]
  21558. ]
  21559. }
  21560. }, {
  21561. type: "Feature",
  21562. id: "4209",
  21563. properties: {
  21564. name: "孝感市",
  21565. cp: [113.9502, 31.1188],
  21566. childNum: 7
  21567. },
  21568. geometry: {
  21569. type: "Polygon",
  21570. coordinates: ["@@VnXK@L@°lVlk„b„@„VšlI@VXKVbVIVbnKVmnI°šlŽÈkVmVbnUVVlLnVL@VnLVanK@IWKUUV@„V@KV„nUlxnKlnU„lJUXnJ@VlXUJUL@Vl¦UbnšVVƒLUxl`UnnnmVVlnVK„bšmVX@a°Ý°LšaXJV@VUnKVXVK@LnKlLUbVVX@VwVJVn„@@UU¥V@@UUK@ƒmaUVUkkJ@L@K@UmVUI@JU@W@U@UV@ƒUIWmXUVmUUÇ@UVmIlmnmakK@akaW@UwVUkKVnUlKVwk™ƒVU_WKUkVW@UXaWkUa@w@VU@XaW±@IkbƒKƒb¯L@WƒXkWƒ@UakL@UV@UmVUmL@UXWVL@ašUƒVUUUVU@yUUƒIUa@wUKWVU@kƒ™™Wk¯UkwVKƒLUx™K@nVxUlUUWVUmw@wƒUUyXWlX¦WbUV@„U‚@blbUVVbXXƒl@lVL@bk@lxkVVnVx™¦ƒ`UnkL@V@L@Ž‚@@xnL@lVL@VnVVblLXb@‚@zlVUJVnUbV¤™bUnUlWXkJWakxU@UXml"],
  21571. encodeOffsets: [
  21572. [116033, 32091]
  21573. ]
  21574. }
  21575. }, {
  21576. type: "Feature",
  21577. id: "4201",
  21578. properties: {
  21579. name: "武汉市",
  21580. cp: [114.3896, 30.6628],
  21581. childNum: 1
  21582. },
  21583. geometry: {
  21584. type: "Polygon",
  21585. coordinates: ["@@nbnm‚knJVUÈ@@Uƒ¥VknmV@VUlK@IkK@U„W@I„KV£UWVwƒU@aVanIly²kVƒl@@VnIlVnKUnVbšblWU@@_„‚VI@mlaUIn@lKVnUlVVXXšJ@aVLlanbUnV@@K@mVIUaVK@w„w°w@UƒW@UUUkbU@WWX_WmULƒaVU@WkbkUƒV@IWyk¯kly@a@UlL„wUK@I@KÅUW@ѱUm@wl¥kaƒ@@_Vw@ķƒa@akw@ƒkKW£XVUVwVwUaU@VUU™™xWKkbĉx¯k±Uk@U`@bWXUš™x@x™ÆÅIVbUJmš™xƒImƒ¯@ƒ™Umx™nUVVbnJV„@Lƒ@@ŽkV@bVnƒ@UVULlx°VXlššl„V@XUVL@xVb„JVV@zUVVVUV„™V@bUKWX@VnKUVVnU@@VlKVb„@lX„W@X°K„a„Lla@JX²Wb@ŽUV@@xVbXlWb@VUXVlXLV`Uš„lŽUxkLmVUŽlLUVVxX@lb@blL"],
  21586. encodeOffsets: [
  21587. [117e3, 32097]
  21588. ]
  21589. }
  21590. }, {
  21591. type: "Feature",
  21592. id: "4202",
  21593. properties: {
  21594. name: "黄石市",
  21595. cp: [115.0159, 29.9213],
  21596. childNum: 3
  21597. },
  21598. geometry: {
  21599. type: "Polygon",
  21600. coordinates: ["@@VšUVV@VbUx„aWUœblUVmnKlX@bXJVIlVUxVVVIU‚zlx¯š@‚VbnL@x‚x@UVaXK„b˜@Xk‚WU_Vm²klW„XVK„Žl@nXV@@w„mlK²X‚aÞén™@ôÿ@lWn°kUKmmUљUmm@ƒwkImWU@UakL@bVLUVċ@™bUK@alIXKWK@™nXnKmkUVwƒ@¯b@L„lUL±W™n@KULUaW@kL@lƒL@bU`@nUb@bmlU@UÇJ@UUbmKkblŽUULUJV¦¯V@VWI—V@bWJkUW@UbkUlbkV"],
  21601. encodeOffsets: [
  21602. [117282, 30685]
  21603. ]
  21604. }
  21605. }, {
  21606. type: "Feature",
  21607. id: "429021",
  21608. properties: {
  21609. name: "神农架林区",
  21610. cp: [110.4565, 31.5802],
  21611. childNum: 1
  21612. },
  21613. geometry: {
  21614. type: "Polygon",
  21615. coordinates: ["@@n`lIXll@lœl@b°aVklKXaVn@bU`mX@V„V@nmJn¼„V@bÞ@lL@„lJXVlL„aVLV„nVnalV„@VLÈUlblWXIšKVU@J„™š_‚@an™na‚X„m@KmI@mkk@KVkWWw¯w¯°ƒ@UUU@WƒaÅWkL@ƒ¥@kWWXkWmIUVVbm@@bUbmUU„ƒbW@UVk@mVkU@U¯ƒmKVUkaW@aULƒÆVbƒb@VÅ@Un@VƒLWl¯Lš„"],
  21616. encodeOffsets: [
  21617. [112624, 32266]
  21618. ]
  21619. }
  21620. }, {
  21621. type: "Feature",
  21622. id: "429006",
  21623. properties: {
  21624. name: "天门市",
  21625. cp: [113.0273, 30.6409],
  21626. childNum: 1
  21627. },
  21628. geometry: {
  21629. type: "Polygon",
  21630. coordinates: ["@@@K@UlKVm„_š¥UwUmlUkwl@@aUK@k„kWWUaVUka@aV@ƒVUXaW¥Xk@WWIklm@ÅxmI™VÝUkxkaƒ„@bWJaUL@„W@™l¯UULU‚ƒbƒkV™Ua¯bm¤UnÇUkmUšUx˜b@VkXÇal@bVnlJnxŤĀVKXkVÑV@nwlKVbn@n„šlVbVL„a„J@„VV‚UnU„bVKlnXxV@°š„U@KnL"],
  21631. encodeOffsets: [
  21632. [116056, 31636]
  21633. ]
  21634. }
  21635. }, {
  21636. type: "Feature",
  21637. id: "429004",
  21638. properties: {
  21639. name: "仙桃市",
  21640. cp: [113.3789, 30.3003],
  21641. childNum: 1
  21642. },
  21643. geometry: {
  21644. type: "Polygon",
  21645. coordinates: ["@@VK°VškX@@ƒVK‚bXI@a„ƒlblwÞVšUnJÆwn@lkXJ@X‚WVz„V@xnx‚VXUVVVkUw@mšLVw„KVU„@Um@alU@„@@KUƒmIUaVUšmnwmw™mb@aW@UkmKkUkVġkUJWbnU„õ˜@UkmUÅKƒL¯a›VkIk`WnkJƒ@xVLUVVbUbk@WlXbm„VxnxUblbUV™@@VUV@nVL"],
  21646. encodeOffsets: [
  21647. [115662, 31259]
  21648. ]
  21649. }
  21650. }, {
  21651. type: "Feature",
  21652. id: "429005",
  21653. properties: {
  21654. name: "潜江市",
  21655. cp: [112.7637, 30.3607],
  21656. childNum: 1
  21657. },
  21658. geometry: {
  21659. type: "Polygon",
  21660. coordinates: ["@@UbVxšbX„mJVnXVlmVX@bkxVJVLVlXXWlX@@IVl„V‚U—aVwV™lnÈVVmn£°aVbUš„l„aVUK@mVU@Uš@VUkaVamwUwnƒWaXkl@VaUaVUUK@w„WI@aU@@K@_UW™@kX@V±VUbkKWaU@mI@¥kK„kW@ÅK@b¯@UVmI@lmIkVkUWVnšm@@V@n@JUnƒšU„@ŽmlXXl@@V"],
  21661. encodeOffsets: [
  21662. [115234, 31118]
  21663. ]
  21664. }
  21665. }, {
  21666. type: "Feature",
  21667. id: "4207",
  21668. properties: {
  21669. name: "鄂州市",
  21670. cp: [114.7302, 30.4102],
  21671. childNum: 1
  21672. },
  21673. geometry: {
  21674. type: "Polygon",
  21675. coordinates: ["@@°¥WóXmlw„_ŤW„kVaX@@K@U@a@WwU@mWk@ƒULƒWkX±lUnV`XWl—@ƒaWLUb@Vw@wmKUa@°™kw‚yVUJUUVwkUUJWI@akWmLUnkV›aXVƒbUxUVWX¤lL@„lx@b„b@ĸUx@`„@lbk¦@x‚n²VƄX@"],
  21676. encodeOffsets: [
  21677. [117541, 31349]
  21678. ]
  21679. }
  21680. }],
  21681. UTF8Encoding: !0
  21682. }
  21683. }), i("echarts/util/mapData/geoJson/hu_nan_geo", [], function() {
  21684. return {
  21685. type: "FeatureCollection",
  21686. features: [{
  21687. type: "Feature",
  21688. id: "4312",
  21689. properties: {
  21690. name: "怀化市",
  21691. cp: [109.9512, 27.4438],
  21692. childNum: 12
  21693. },
  21694. geometry: {
  21695. type: "Polygon",
  21696. coordinates: ["@@@n„‚@b@XnJ@k°x@aVUnl‚UXnV@@VnJWUJV„nIVV°ŽUbVVVL@޲LUVa°V@aV@nm‚UXblLXWVXVmVLVK@an_„`@X@l°„VlXXW`nX@Jmn@b„@nV@Lm`„bUb‚n@VUVl@nIVbUlƒV@LkJUnVV@xVblVUbU@ƒzUKU@mx@xUnn@@WV@lbUb@šnVWXX‚V@VIV@VUnJ@VUz@JWbXllI@VXVVL@ŽVn@„„Wlb@„Žl„XVlL„aV@VJ@XX`„kVwVl@bk„‚bUŽlVXIlƒnLVa„mVwV@@nV@XaVJVbX@lwV@n„@nV@VWnIVVUŽÆ@Xx‚a@I„UUKmk@mVƒ„IXmWUš™VJnUVU@anaVwk™›U@UXa@W™@m_@a¯@@K@UVƒ„bnK@blIlbXa@WW_n@VƒU@¯bmyƒUkUJÇÅ@WU@kWKÅwƒnm°KVkmankVWnXVWV@UƒƒwXkV@mƒ„UlLnaƒVaX@VUn@VnVK@xlnXWšU@a™@@klak™Vw™mUaV@™wmIÛ`m—@mVUXmlIXƒV‚I@K@aU@UaV_UK@wkUmmUKWXŽmVkUƒL@mƒƒU_nK‚™@aVU@Ukak»@U™™@ymUƒ„¯™ƒUUƒVKkam@™nka@ƒmwkLWb¯mkaƒ_VaVKUƒ™IUw@kKmU@WK@UnƒmaULkU@wUalWV¹U@@WUI@WU@‚_@W@U@mƒU@WbbUK@Um@@UmbUwWWkk@WU„a@anUUwlWUwUU@wlJVUnnV@@mnI@m‚K@U@w„a@wUm@_mƒVUUaVUkƒƒƒ_kċUk™VWLƒ@mlU@kn¥W@UwUWV@VÝU@lXLWVUbVLXlVIl‚knmU@VUJk@@„ƒ@™kVmwmVkxU@@XmVUb@xnKVLl@VxUxkIU`@bWVXX@JWL@bkb„¤@bmUUU¯Kƒkmb@V™VU„VVn@@„Vb@`lnœxmb„lUn‚bk„@xU„mV@bmWbUV@VJ„Il@nVUb‚K@nn@VbnJVIlJVkXJ@X@lmx@bnnWVXJWXU@UlU@mk@@llb°x„IUbnJ@VWbXVmI@JVX@bk‚@bWL@JUXUK@U@Uƒ`n@@Xm@XVW@@nX@@`ƒImxU@@JUI@KƒLmK@UÅUUV@VW@™¯kUU@UamVUUmJ@n„xmLKƒkmJkwkKm_mKXU@aƒU@b@Wk@ma@zUJVUmbUlU@™xnXlWlXXblK„¤V@@nUVVLkVš„l@Xb@VVK‚nXKVx@znW@X‚@@lVK@X@JXbWbnn@JUamLVVXIVxnK@aWUX@˜x@VnI@WlI@anV„IVxk‚l@lbXXšxVVVJVInbV@@ln¦ml@XXVWbkJWb", "@@XLVKVXVKUa@UUUmV@l"],
  21697. encodeOffsets: [
  21698. [112050, 28384],
  21699. [112174, 27394]
  21700. ]
  21701. }
  21702. }, {
  21703. type: "Feature",
  21704. id: "4311",
  21705. properties: {
  21706. name: "永州市",
  21707. cp: [111.709, 25.752],
  21708. childNum: 10
  21709. },
  21710. geometry: {
  21711. type: "Polygon",
  21712. coordinates: ["@@lxUXV‚lXUVnlVĢ„JVbUXVJV@XUW¯„VIUK@klW@Un@„nl@V`XUVL@l@šVx@„XXW`UnUbšxUlVnUšV„lb@VnJšUVVVInJlUšVnwVklKnw„LVJVšV@nIV@nbVa@KVVVUUa„KV_nVVJ@_VW„nV@n¥lI@anƒl¥X_VKlwVlULUVVVš@šU@VXL˜ƒ@IUmn@VU@wmKXUWU@m²šl@VIXWWkWUkWlkIVamUXamUnmWUU@@Un™lK@XJl@kVUk@mWKXkl@@aVU@UVWUUVa„In`VUVLnw@U@K@Uƒƒ@w@UVmUUƒ™°K@UnV@bV@Xk@KVm@amk„aU£VWUUmUUwm`UbULka›KXU@kVmU™@aV_UWVIn@˜y„XXK@klmV„V_kWVUn@WUU@UƒmaU@™wnwWanUmmXkƒam@UakLmK@b™xUUUU@Km¥Vaƒ¯@ƒkUaVUlm„UU@mUUÇmUk™Uyƒb™bUa™XUWWbÅLmL@V™aL@WWXUKmmk@a@UUK™XW¥kU@VƒUkxmVkUWbUJnVJ@nVJXzWxkŽ@lVbUX@VVL@`mbUnšŽUn™VV¼k@Ulm@mwLƒb@lmLUK@UamƒWkƒK@£Ua@ƒ›UkJkUmbVlkX@bWbUŽVŽnnUVl„@bšbVK@VX@lb„V@nU¤šx‚²„Knblb@x„V„ô@šlŽ@b@l@XWxnVl@„VV@XLVl‚LUŽUXV`šbXXmJU@@bm@UUkLW@UlUKWUUb™wUm™L@nklVVmVXXm@@bUKlÆn„‚XkllVUVVL@nUbV‚@V@nnV@xUn¯U@JW@UX@xĉ@™`m@@LV@b"],
  21713. encodeOffsets: [
  21714. [113671, 26989]
  21715. ]
  21716. }
  21717. }, {
  21718. type: "Feature",
  21719. id: "4305",
  21720. properties: {
  21721. name: "邵阳市",
  21722. cp: [110.9619, 26.8121],
  21723. childNum: 10
  21724. },
  21725. geometry: {
  21726. type: "Polygon",
  21727. coordinates: ["@@XIlJšI„VVK@n@VVVKnLVwVmnLVK@U„@šw„J@wVIƚ°X@ÜȄUÈxll@kn@VwVaXJWXn@@WVL@UUKVKV_U@@aVK„x@U„aV@lk„@XylbUaV_šVnal@W„U@a„I@aV@@aVUl@Xm‚UXWaXml@@kk@ma@V_UnUV™UUWJUa@kkaWLUmk@@LUVWUkJWkK@¼UnWJƒIkV@b@JUIm@Ul™V™m@Uw@a@kWƒXWKUknW@ƒWUU@k™mx™UkVmIUJUU™VmI@UkaUƒV™UmVk™wVaVmX_WW@ƒUw@™@kUKWVU_k@ƒmm@@VkX@lVLUJƒX°WVU@UIVWUaƒIUġmkVUkWUVWkwWXk`mI@¥kUVƒUƒUn±@m›XkWknV„UVmmU@@XƒVƒUk`@Xƒƒƒk@¥¯»mbĉó@mkU@kU™ƒƒ™KmX@˜UnmL@lULkKUƒWUU@ƒbUaUnƒ@Vb@l„¦Ub@l™@UKmnƒKUnl„UVVbUVn„@`Vn@xƒb@x@VL@nmJ@nU@mmUVkI@xVVVxkXVxmV@bƒbXVl@Xl‚XVxna@Vn@@VVL‚aXaV@n„‚@@V@X`V@@XVJ@XV@UºkXVb@xlVVKnbm„@VXLV@n‚lL@VxšJV„ULUb„`lb°nXalKnx@„lbšmn@lbULV„„V°š„ƒnV@zšš@Vl¼lb@VUV@bšmLV`„„@n„KlVnU‚XWVLnnlV@xVLU`VbV@"],
  21728. encodeOffsets: [
  21729. [113535, 28322]
  21730. ]
  21731. }
  21732. }, {
  21733. type: "Feature",
  21734. id: "4310",
  21735. properties: {
  21736. name: "郴州市",
  21737. cp: [113.2361, 25.8673],
  21738. childNum: 10
  21739. },
  21740. geometry: {
  21741. type: "Polygon",
  21742. coordinates: ["@@²zVaVlnVl@nšVk„Jl_XJlIVmnL@mV@VXn@lV@‚XzV@lyV¯²U@UlJ@XVKnVVIXl@UVLV`@n@J„I@mlI„KVLnUlVUVVLXašKVLl@nb@ŽW„XV°KUnVV„L@xVJ„L@b@LUVVVU„˜VXbmbVbn@@lUbm@x@XVVVŽ@@˜@bkImx@Vm@Xbƒb@l°XU¤„a‚L„mnL@bl@@™VUX@VxnV˜anLnƒWƒ¥XKVwnUWXmVIUWÆLVx„L„w@wVmlU@¥XƒWUkwlÇn_Uw„WV@VU°wnU—ƒy@aVškVlnL@lVn„w@VlJ@b„X„x@bVKnb@U@WVUl@@Vnbl@XLlK@aVLVKnxÞn@a„LlmUaVU™ƒm@ÅknUmaUKmVk@m™kk@UlWUkVm@w@kUU@W™U¯™¥@w„Ç@aVIlUV@kUWU@UUm»@k@mKVkUKUwƒaUaUa›@k„kUWJkImaU@UK™@maUzk`@zƒy@XmJkL@UUJmUkV@z›@kŽkVmK@¦UbWL@a@UbmKmwUK™Xk›VUUkmVkw@UUKmL@WUIWa—JW_k@@WmI@mk@WkWULUUVKUUVm@šU„bš@‚nUǃ@U@w„™V@Ua@aƒL@ak„›l@k™UƒJƒwó@@L@V@„™`@œƒJ@xnn™šmV@bkJmUó@ƒn—JW„UUmƒU@UV@Lk„WlnnmVXbmxšxV@nbV„V@XVm@UVlXU`ƒUŽkn@lWLƒW—zm@UJVXU`@bVšUn@lWVœLlbVKVan_VxnVVVUXV¤ƒbnl@bUn@LWlU@@amU@V¯L„šVVUn@V@x„„@V@L@VmxUKUVm_ƒJUbVV"],
  21743. encodeOffsets: [
  21744. [114930, 26747]
  21745. ]
  21746. }
  21747. }, {
  21748. type: "Feature",
  21749. id: "4307",
  21750. properties: {
  21751. name: "常德市",
  21752. cp: [111.4014, 29.2676],
  21753. childNum: 8
  21754. },
  21755. geometry: {
  21756. type: "Polygon",
  21757. coordinates: ["@@l™U™mkUwUyV™@VW@¯Va—VmUU@KVUVUVLnaWƒnkUÓV_@mVU@݄w@ƒka@kVmƒUmK@IkaUamKkXWaUW@WUk„™@@KVU@aU@™L@J@XÇVUKVak_mWkLWakVUbmLUUmlUVKUU@kUWW@UImJ@xkLkKm@@Xƒ@ó݃@UUk@UKƒV™ƒULƒKƒXkWWbkaƒIUƒWU@mUk@WLaUJġ™ƒ@@XÈÆVIl‚„Vnz°aV@U„m@X`@XWbkakJ@amLƒaU„@V@L°@@bn`š@@XWb@VœVlšUxmb@bUVmVUI™šXVWnƒJU„@nnlVLƒV@JbWzk`m@UVK²V‚x„k„LVl„@Vn@V„„°xVKVkœVVlUblx@bU„‚Æœ@@nVnUll„kx@VW@@VkLWxUL@bÝ@kKkVõV@bkXVVUVƒ@ƒVkUkV›LkV™a™@@™ƒ¯xUxmX@JVb°WXkK@Vm@k„Vb™bn¤‚xUXkJƒblxnXÆK²l‚_@Wnašn@ŽUL@b‚JnIlV„@lUœ@@¯ô@lWȂIVKVm„U@aXaV@lwVXn@@K@UVKUUnU‚bn@lWšX„ƒlJnUšLšKV@„„l@²a@UlK@aV@naVX„WV_nKlL@KUm@a°U°@VXL@a@wWmXal@„k„@VLn›V@@bl@VnX@mwVa²aVU@mk@"],
  21758. encodeOffsets: [
  21759. [114976, 30201]
  21760. ]
  21761. }
  21762. }, {
  21763. type: "Feature",
  21764. id: "4331",
  21765. properties: {
  21766. name: "湘西土家族苗族自治州",
  21767. cp: [109.7864, 28.6743],
  21768. childNum: 8
  21769. },
  21770. geometry: {
  21771. type: "Polygon",
  21772. coordinates: ["@@@KšL@wnK±nƒnm‚—@WUk„ƒÜÈn@n»@mVamk„mšU„„l@V™nmmU@wUan¯VKšLn„VWlInyWUœI@WWk@KXU˜n@mnUmU@WœƒmkV@ƒkXašaVaUm‚Ikƒƒ@kaƒX@ƒUm@UKWU@UkJWkXa@IVy@UmIUVU@UJU@WXWmU@™VakaU@@Xm@Vm@wnwV@VL„yV@VakUUa@wUUVmlI@K„UVkUamJk@VU@UmVaƒan_@KmUƒ@@anm@ImWX_WWUk¯ƒ@k@Wƒ_m`@bULUKUnUWWXkKWaVmnU@@b¯UUbVޱK@UKUUVa¯UUmJUƒVIXmI@UU@WmVmkUV@b¯w@lmI@W@aƒ@m¯LXbmJVLklWL@V@XXŽmbVVU@@VU²Ul@VlX@bš`Xx›zUmkUVÒlŽ@bXLWxXVlš@V„bkLma@nmVmULVbmVUb@lnzmbUÒVl@°nLV„lJkn@bmJk_ƒVmmkblxÈx@LUb„xVb@V™n@JmLVŽUš@„nV@¦VbnJ@lVVbkx™bm@UxVLV@n`UnVVV„kl°z„xVb@VU@@ÆlXnWm¦nbVK@XVVUVVl@X„KUV@nVL@WnIWŽXLVKVLlxUbVKXVWbn@@UnKVLVb„JšU@aVU°b"],
  21773. encodeOffsets: [
  21774. [112354, 30325]
  21775. ]
  21776. }
  21777. }, {
  21778. type: "Feature",
  21779. id: "4304",
  21780. properties: {
  21781. name: "衡阳市",
  21782. cp: [112.4121, 26.7902],
  21783. childNum: 9
  21784. },
  21785. geometry: {
  21786. type: "Polygon",
  21787. coordinates: ["@@lšV@XV@„mXVlXL„W‚X@l@bVxn@šŽšUVkn@VJ@I@alU„JXIVm@»‚LXllIXVVU@Kl@VnXKlb@lVbXIVVUšmVVU`@nbl@@lXLVVVKVbnXWJ@VXbWxXb„Ul™VK„¦nLVVUVVbšb„K@U˜LnK@Un@VxlUV`UnnL@VVL@JV@VUnxnKVbV@@VšIVUnJUVUl@nW„XllIUa„KVbÞLV¼²`V@VIUwlaVmXa@IWanK@U@m„kVƒVUVaX@lšnaVLÈ@‚¥@kkJUWJUaƒXkaUm‚wVXJ@_lWUU@¥n_‚KkamUK„™@amKƒnKƒbV£¯W@k„aWan@@UnwlJ@a@—@UUU@W‚wn@Va@km@UanaWa—UVƒUUVU@K@aƒKUI@wƒKUUVm¯LWUXƒ@mak@UK™LWbUKVUkUmVUKƒLkJ@nƒJ@I@mU_UK@VWkUJmUUL@WkI@V±VU°kzU@Wy@kUm@UWU@@nmKUnkJWIk`ƒIUlm™k@mUUkUb±yUX@VUV@bk@WlXL@nVlUl‚k@WI@ŽkLmš@VV@XVmnnVWbnVUblJXkVl‚XXlWXUJk@±™@nXVWVnL@xUVm@Vn@J—„WK@U™V™@UUVUVKUkkxULW`k¦m„@bkJm¦U@ƒmUX@`UImUU`ƒLVbUVUU@LUbmaU@mJU@U™UIƒKmxkLUl"],
  21788. encodeOffsets: [
  21789. [114222, 27484]
  21790. ]
  21791. }
  21792. }, {
  21793. type: "Feature",
  21794. id: "4306",
  21795. properties: {
  21796. name: "岳阳市",
  21797. cp: [113.2361, 29.1357],
  21798. childNum: 7
  21799. },
  21800. geometry: {
  21801. type: "Polygon",
  21802. coordinates: ["@@@wUklmUUmU@@UVm@wUaV_mmUKmwkIkJmUUnm@™™@UUƒbUKUƒmÛamm¯xVLkbÇÆƒUƒVUzkVUlƒUUKWLX¦W@ƒVUUUaƒKUbmLKm„@akU@aƒmVaUUVIVWkk@wkƒƒ@@xmLlmÅwmbVlXlÝIWVkK@kkVƒL@VWKU@Ublnaƒƒm@b@bšnW`@XUJk@UUWKƒk@UKƒnn‚@xmLUVm@kbVbV„nV@V„b‚@KnV„LWšXŽÆV̦VblŽš„n„UJWz@ƙVóUVbkV™aÅx@¦lVUbVVknWKƒ„k@ƒwƒK™VU„Å„ƒl@zkb@`m_mJ@xX„mbVbœ@llV@n„@llbXL˜UXalUšl„alVnwnLVKlšVbX@@I„V@blJ@bVL@VVVUXȤ‚VnkVÑXmlbnš‚„VKkÑř@UmaVç@±XUlI„xlV„@VaX¯lUVVUšVJn—V@°°nް„Vxĸł°¦šb²¦lJ@U@aUK@kUm@_m±VIXal@„Kl@„bV@K„K@k„m@UmUUaƒK@_UJƒaXU˜@Xmš_VmUk@WUk›@kU@a@m@UƒaUUU@al@ny‚XXWWwkly@¯n@@bnV@k@mVI‚„œVlUUmlU„JUw„I‚bXƒVaUal@K„b@ƒVKVkXVl@VkUU@ylUœVVaVL"],
  21803. encodeOffsets: [
  21804. [116888, 29526]
  21805. ]
  21806. }
  21807. }, {
  21808. type: "Feature",
  21809. id: "4309",
  21810. properties: {
  21811. name: "益阳市",
  21812. cp: [111.731, 28.3832],
  21813. childNum: 5
  21814. },
  21815. geometry: {
  21816. type: "Polygon",
  21817. coordinates: ["@@„ŽÆxXL@l‚V„@̚VI‚bXKl@nVV@„XVŽ„JlbXalX„W„LVKš„„UVLl@VV„@ôބ@@Wn@lLlK@wnIVJX@VX@lVVUL‚VnkVVnKValUXblKnXl`UbVLÈU@W@IšKV@@bUV@Lš@lƒXV‚@VXXblWnLVblb@JnL„VUn@llb@„ƒx@ÞUV@nU`VÔmlX„mbUKUVUV@LVVUn˜ŽUb@°UXš@U‚VzVxnlVškšVnlVnaWƒ@wnIn`@_la@y„kƃVƒšU„L„xl@„ƒXLlmUUVakU@¥ÆwšblUUaôVšU@ÅXyVImƒ™ƒkUaġ¥ÅUWX™ƒKmU@Lƒa@UmUUƒUalan@VUnK@wm„m‚L@V„lXLVVl@VI@WX_™m@a™¯mKUkwW¥UK@_UWWLUVkUWL@WUIkVƒU@JƒwkLUUmJVI@WkXm@VmkKUIU@mmm_@VUV™@™„kJċwUU@KUWkkW@IWW@km@klwkWVkkU™V¯m@kWLU`mIkmkXm@@`@L@xUKWkU@VL@JUU@mbUKVa¯WVnL@`lXUVkU@xW@UbUWVU@UJ@„lnU@m‚nÈmVƒa@bUL™wUb™@@VkxmUUƒ™UV›K@IƒUƒmk@akm@wmIƒŽkK@b™VWXkm@wULUmm@UVW@Ub„mbkKƒVn„U@Wl„xV„U@UXmWUXmlnbUl¯Lmn"],
  21818. encodeOffsets: [
  21819. [113378, 28981]
  21820. ]
  21821. }
  21822. }, {
  21823. type: "Feature",
  21824. id: "4301",
  21825. properties: {
  21826. name: "长沙市",
  21827. cp: [113.0823, 28.2568],
  21828. childNum: 5
  21829. },
  21830. geometry: {
  21831. type: "Polygon",
  21832. coordinates: ["@@lVUllXkx@lln@‚XX@JlXXl‚V@LVVČxlIšƒš@VU@Un`nnV@VJlLUnn@lW@XUJnIVVlK„x@I„VlUVJ@XXKlVVUXKVX@`VLX¦lxVŽnLš°‚an@„„‚bkmVaV@XL@U„KlU@llLXUÞJWkUknaÆxnŽ‚knK@w„@l„@xllUXUJVVUb„n@blV@bnƒ‚LnKVa„LVbVV„UX@W¥XKVL„VVklUVy„U„VÈÅlaUK°wnnÜbn‚V„VL„aVVš@šn@VmnVlIlJna„@Valkn@na@amwm@„UXw˜K@aUUVUUaVa—wWK@kU@UaW@kKUUƒƒ@k™W¯XWan@k„™mmÅ@@I@U@KmLkaVUƒKkLWVUƒk@UVmU@am@kkk¥ƒUƒVUK™„maUb@ŽUb™I@aƒKkkWm@W¯K¯b@VmaULVxUXlVk@UxVJVbUb@xULƒ@ULWW—LƒĕmxVVL@šVb™KUwƒaŲWwX@@WƒUWLU@VbkV@aU@@VUnmJ@VUn@VƒLUK@U‚mUIk@UÇmU@@UW@J@LƒbUmVI@aUmW@@bkXUx@lmLUbm@UbkJ@V@XmlUbkKm@ma@kUaVU@aUK@mImJUIkVƒUƒVUakbWwka@UWKkLUamKUXm`Å_U˜ƒULmaU@@lUV@X"],
  21833. encodeOffsets: [
  21834. [114582, 28694]
  21835. ]
  21836. }
  21837. }, {
  21838. type: "Feature",
  21839. id: "4302",
  21840. properties: {
  21841. name: "株洲市",
  21842. cp: [113.5327, 27.0319],
  21843. childNum: 6
  21844. },
  21845. geometry: {
  21846. type: "Polygon",
  21847. coordinates: ["@@X‚‚Unw„Ė˜KXXVK„@VK@wVaUaUIVwl@kUVWUwVKnb@U°a°LXŽ‚@Xnll„L@bšJVa@VanbšƒVL„U„V@al@@UV¯ÅÇ@Ummk™w@¯ƒyVwnUVVVUkmWV—nKVUƒa@WXkVKn@lUVU„VVVXIlV°VnI@VlKnV@mwVm@LXKWkU¥wWwƒƒ@k@m„X@KX¯V@VUVa@VnKWkœƒV@VUkm@aWa@wkUWwkmV£VÿXUVL@mVIXaò@nW@ašUš@@am™@aUU„UmXmWUk@ƒƒnUW@_maVm™wUkamaUL@aƒwƒW@akI@UƒxUm@kmKUk™lUŽ@b„zV˜m¯xUVU@ƒXVxm`kÈlxXVW„@¦kVUn@xƒxƒKUwÅKVXUJWnXŽmVUxWL„¦XŽm„mK—bmUUwW@UV@šk@ƒšVLnŽlbLm`@¦VVkX@`WIUށxVnlb„WVbXIV‚lI@l¦Ç@UKmbk™W@UbUVU„ƒl@n@VmLXb@JWbUnkbVxUJUxWXXlWL@V@V@XXJWx„zUVVVVKnXW`@bkIUl‚„nLVJUbUIWVXlWV@XklVbnn@xlš"],
  21848. encodeOffsets: [
  21849. [115774, 28587]
  21850. ]
  21851. }
  21852. }, {
  21853. type: "Feature",
  21854. id: "4308",
  21855. properties: {
  21856. name: "张家界市",
  21857. cp: [110.5115, 29.328],
  21858. childNum: 3
  21859. },
  21860. geometry: {
  21861. type: "Polygon",
  21862. coordinates: ["@@@InWVw°wš„@š@šblUœKlUlV„U„@VUUUlW@aöUlUlLÞ@@aVKXwlK@UX@@UlwkƒVkUm@m›@ÅVƒ@akwVaUk›UUlUL¯wƒƒ@UUmƒ@UkƒKƒlw±UULVn@l_XyWwÅ@VUUmJUXU@@mmƒU@kxW@UaUIWbU@@mU@UxƒnUbmKk„WJkUValƒ@aUkUxƒlW_@WUIU@ƒbkKWUJVnUb™bWb„lU@nl›„@XnVmV@n—mWV@LXl@X›JXVmzkJUXmƒ™KULm°Vb@xnVmnUšk@ƒƒ™VƒnnlUb@nm¼m@Ûǃ„Vl@X˜mnm„²ŽmL@x™K@LUl@nULÆx@V@VXVWbXX˜l„@nLlm@bVKœX‚W„L°bnUš@VaVUš@šmšVw„JnwVK°zn@V‚Vb„a„@Ċ¼"],
  21863. encodeOffsets: [
  21864. [113288, 30471]
  21865. ]
  21866. }
  21867. }, {
  21868. type: "Feature",
  21869. id: "4313",
  21870. properties: {
  21871. name: "娄底市",
  21872. cp: [111.6431, 27.7185],
  21873. childNum: 5
  21874. },
  21875. geometry: {
  21876. type: "Polygon",
  21877. coordinates: ["@@lL„nJ@xln@bnlV„‚„@JœLVUšŽV„nVlw@Uš@VašxVK@a„bnUmÇnV@km@ƒ‚I@VUVVXVaX@@wlVVUkW@_mKXU°‚UbVLnaV@‚V@IUKV@XlVL@w@K@_n@lWlnnJV_XK@l°nšU@WVU@kV@nbVK„V—lƒ@nLlƒ„LXU@ƒlmkw@nW@UKVa¯IVn@@aVUUKl@nXVKVn²a˜ŽXblKnLlmVI@KUU@akLUaVa‚UXm@aƒ@wVUVKnLnWlXl‚n@@U@anUVm@U‚Inm@IUK@UmKVmU_kVUwm@@VmL—K@VƒL™aUaVUUUmKƒ¥ULkšƒVWaXwWa@UXImWUaULUUWKk@WnXbWށVWnk@UV@bU@@bƒJ@bƒV@XkŽmb™UU`VbkaWzƒ@klU@ƒb@VƒwUL@bV@U`ULVL@VUK@Xm@XWWIUbUxm@@lkkÇwƒVÛÇW@¯Å™UJ@xƒI™xƒ@@VULmKUnUxmKULUUm@@‚ULƒU™JkIWJ@b@LJUW„kJWnUV@nn˜Ü_nJšxU@VbšnUxlškb@lš@"],
  21878. encodeOffsets: [
  21879. [113682, 28699]
  21880. ]
  21881. }
  21882. }, {
  21883. type: "Feature",
  21884. id: "4303",
  21885. properties: {
  21886. name: "湘潭市",
  21887. cp: [112.5439, 27.7075],
  21888. childNum: 4
  21889. },
  21890. geometry: {
  21891. type: "Polygon",
  21892. coordinates: ["@@Æ`n_VWnLVblKXL@VlbXxlaVb„U„VlUVJnInJ‚@VL@bUVVb@lnbn@lLVank@W@UlIVan@VanK@kVwlW@aX@Vn@bUJVn„a@K‚IX@@VV@nŽVÈl@VJn@VVL„K@UVm@UnIVm@UV@@blUUaV@XK„V@XW@XxƱ„bVxšLUa@™UKWk™@wmmUalk@WXUWkXUVJVaUImKƒVklJ@aX_mWULUUVUƒyXwWI@W@U@UXKWkXWVwU@±_U»ÝKUaƒLVbkJkƒWmXk@UVVŽmIUV™J@UU@UamLmwUVU@mnJ@VUnmV@b@Vm@kkWmXmKULUV@x„Ž@bWnVUbVblK@bVV@LUJknmKkLWa—±bUmULmWk@VLUV@bm@U°JUbVLX@@mlxkn@„WVƒKk„mK@k„"],
  21893. encodeOffsets: [
  21894. [114683, 28576]
  21895. ]
  21896. }
  21897. }],
  21898. UTF8Encoding: !0
  21899. }
  21900. }), i("echarts/util/mapData/geoJson/jiang_su_geo", [], function() {
  21901. return {
  21902. type: "FeatureCollection",
  21903. features: [{
  21904. type: "Feature",
  21905. id: "3209",
  21906. properties: {
  21907. name: "盐城市",
  21908. cp: [120.2234, 33.5577],
  21909. childNum: 8
  21910. },
  21911. geometry: {
  21912. type: "Polygon",
  21913. coordinates: ["@@„n@‚°ĀÞ°@¦ULWKkx@bkLWb@lUlVXXJVbƒnUKmxXV@bm@@Xš‚„LޚܦXlVnš‚mzVJ@n@‚²ÞôkƃÞaȰĉ‚wnljÜó„éVÛnĊīČlj‚ĉ@ō@KÞUlU@ƒkklÇÈњÑlġXɛ@UġƒƒaU@U_ƒW@n™@kaUL@VW@kKmkUV@bkbWW@bkzma@ƒJWI@KUKULƒ@U¦™`@XUJ™U@KmXƒw¯KXkmy@aUIWJXXmV@K¯UU@@bVL@¤VLXbV@@JVXVK@„„JVn@bkKmakVVXUVVVlI@`U@nzVVƒb@¤n@@UlKXLVVšI@V@nV@V‚@ÈUx@šóVōšƒkÅWó@mU@bk@Ýwk@WbXxm@@J@zV@kVƒbV‚nLWVUX™WUXUŽWLUށ@Wl°z@VkxU@UVWIxWJkbƒĬ„nW@@bUl"],
  21914. encodeOffsets: [
  21915. [122344, 34504]
  21916. ]
  21917. }
  21918. }, {
  21919. type: "Feature",
  21920. id: "3203",
  21921. properties: {
  21922. name: "徐州市",
  21923. cp: [117.5208, 34.3268],
  21924. childNum: 7
  21925. },
  21926. geometry: {
  21927. type: "Polygon",
  21928. coordinates: ["@@XKVX@WnIVx@K°Lnll@@I°K„nVašU°x²mlxš@VanU@aƒk@akmV@@w™@Ua@aUwVwUw@w›@UK@£kaĉlóIÇVkޱ@@kUKmVkIkxW@Ua¯UUm@UVI@WVI„JV@ƒ@Um@Uana„U@m‚I@J@XV@XaVlkXƒVaUUWLUyVIXmWak@ƒXkJókƒJUL@KWkk@ULU@Wa™lUIkJmI™mk„VbVš@lV°kXUKWKULU„mb@VUlVnƒb@VV@IVKUUmU@ak@@bmV@xklƒUƒU@UKmV@nƒJVbkXƒKUamLUJ¯UUVmI™bVV—Ll`@LƒLU`m@kXUVU@V„lxUK@xkIWbUKƒx@V‚kVVn™b¯@@U™@ƒxk‚mbkLÇK™b™@@XnJ@LmVklƒ@@XƒlUƒVkxƒakVVb@bVnUbU@@x˜VUšVb@š„ŽnIĊ`šXVVôJš_„K@xlU²Klk„U„@VaVVÈm@kVUVmnamUUaVƒXIVJ„@‚ç@¥nkVLn›„@@XVK@VUX@JVUV@UnVJVLUJVLUVlšnI„b‚KnU@m°™VanI@anV‚KVL„an„lK„blš„KÞk@¦@¤@„VKnLVK„L„KVzlWšLX@VmV@VbnU°@Ualk™˜WXLVU„KWkUUWšƒ@£Wa"],
  21929. encodeOffsets: [
  21930. [121005, 35213]
  21931. ]
  21932. }
  21933. }, {
  21934. type: "Feature",
  21935. id: "3206",
  21936. properties: {
  21937. name: "南通市",
  21938. cp: [121.1023, 32.1625],
  21939. childNum: 7
  21940. },
  21941. geometry: {
  21942. type: "Polygon",
  21943. coordinates: ["@@VJ@bnzWl°L„xnW@LšVVI@Wš_V¥„@VKVL@LXJ„I‚@nbly@aXXla@aVUnllLX@@UVKlbš@@m„XV`V@„bĢ„lkČÇÆƒȘ¯šwnĕVĉVÿšUƒUĠƒŦğlXÑVǵ@±ōLʵ˝lÇbÝÞ¯xk@Çkķé™n¯@ğŽġƴǫ@kVVlUbƒL@xULǂóLUl¤@nkVV°VLkxVb@l™aUXUKWĖklVX@¤UšƒUkb"],
  21944. encodeOffsets: [
  21945. [123087, 33385]
  21946. ]
  21947. }
  21948. }, {
  21949. type: "Feature",
  21950. id: "3208",
  21951. properties: {
  21952. name: "淮安市",
  21953. cp: [118.927, 33.4039],
  21954. childNum: 5
  21955. },
  21956. geometry: {
  21957. type: "Polygon",
  21958. coordinates: ["@@šnźUôÒɴ胚l¦nĖV‚kbmš„X@xVlVL@xUb@bUJVnUx‚šœ„lKVLÈx‚m„zXV@lW@XV‚b@bȚVxnb‚ƒVIXa°L„aÆVVaXUlK@aXIƄVlXKVUlIXalK@alwXLVK@¥Ý¯¯ÿ@ƒmVk@aX@ƒm„īlaXI‚wXJVUV@lw@U¯yb›UaƒUġUÅaUKVknaġm@kUm@wÆIV±nLÆw„ÇnUUkƒ@ƅÝU¯JÝI¯¦Ul@bƒ@@VVL@l@LƒLÅmƒL@b™@UaVaUWmLUKV¹KƒLWKX¥WI@mXk@UmaUVUU@VmL@W™bkIUWƒUmVóIkbmm™@UbVLUxmJkU@bkJWbnXU`Wz™KUÞÈlVb™Lmx@„kè@Æ"],
  21959. encodeOffsets: [
  21960. [121062, 33975]
  21961. ]
  21962. }
  21963. }, {
  21964. type: "Feature",
  21965. id: "3205",
  21966. properties: {
  21967. name: "苏州市",
  21968. cp: [120.6519, 31.3989],
  21969. childNum: 6
  21970. },
  21971. geometry: {
  21972. type: "Polygon",
  21973. coordinates: ["@@ôèĊVnX°¤²„lxƒÈÜ@²x@J@b@X‚`nIUƙUUV@bl@VVnL@L@xƒJ@X@blJXnW@@`XbW„kVƒ@UbVxƒXUxkV@LóxVbUVWš²šVJĸklUǬ@ĢƳĠ°@šmƒī°»ÈÇ¥ULUU±a@bU@¯ƒU@KnImUVWUk™mXUVU@lIVaUUVWKUbUkWKU¥n£WakJUkUL›K¯L™KkƒVIn@VaUƒVUUƒ›UkVk@ƒU@amUkJƒ@UUlwX¥W@@UkVmk@JUakL›@kk¯ÝmJUn@nmVXlmbVVkn@„UJ@±WUxV¯a¯KōbżÇxUxƒšUUlWL"],
  21974. encodeOffsets: [
  21975. [122794, 31917]
  21976. ]
  21977. }
  21978. }, {
  21979. type: "Feature",
  21980. id: "3213",
  21981. properties: {
  21982. name: "宿迁市",
  21983. cp: [118.5535, 33.7775],
  21984. childNum: 4
  21985. },
  21986. geometry: {
  21987. type: "Polygon",
  21988. coordinates: ["@@XbWnUJVzXKVVUbW„klUWbU@@W@IJ@nƒVmbVbn@@V@„UŽƒIUJ@XUJ@VVn°VVbX@lwlJnUVL@l²@lÈUôJĊklb@¤VLœ@@xVxUxVx@bVbš@@xU@ln„mnX˜mXLVmV@X@lxVnVJôL„LXa‚x@b„@@KVL@bn@@m@™@alLUUVaU¥nIV±‚I@mXI@aWWXU@LlUXWW_XWmaUwǙ@aaWUX@@kWUƒynÇwUKkL›ƒ™VwUmVI@aVa@wUKUk@wƒWn™laUmĕk¥„™ɳçóÑŹV™mmzkVmm@a@Ióƒk@@LWU@`—„WbXLWlkImJVn@`nXVbXŽmL@Vn@‚l@nUVl°Xx°U@LVĠ@z°˜@¦UV@Xn@VJmV"],
  21989. encodeOffsets: [
  21990. [121005, 34560]
  21991. ]
  21992. }
  21993. }, {
  21994. type: "Feature",
  21995. id: "3207",
  21996. properties: {
  21997. name: "连云港市",
  21998. cp: [119.1248, 34.552],
  21999. childNum: 5
  22000. },
  22001. geometry: {
  22002. type: "Polygon",
  22003. coordinates: ["@@@‚lzXxmÆV„„@@¦„@l`XnlKšXXm‚KnLla„b„@„xmbm@kL@V@Vl@@VUXšJX„mbš@@„°Æ@èÈzlW°XĢJlÈ`lInbšWV_@mš™@UUķnƒôw°ÆmnaVƒVÛVmĸ»Ģw±Ý@@mUIny™UmWkۥݙƒK™@Wn@@aWUnwVL„mUaWIUWVk@kkJUVWLUkŃWJ@bkLWVUbÅUƒb¯KWbUJ„WXX`WXkV@KWVXX@bWJ@nJU²mJV¦UbVVkK@b@š@nm@@aUK@Lƒ@@awWbƒKóKUIUmkwW@U@UnWK—nmWƒn@b„l@bmVUb™@kw±n¯w™VUb"],
  22004. encodeOffsets: [
  22005. [121253, 35264]
  22006. ]
  22007. }
  22008. }, {
  22009. type: "Feature",
  22010. id: "3210",
  22011. properties: {
  22012. name: "扬州市",
  22013. cp: [119.4653, 32.8162],
  22014. childNum: 5
  22015. },
  22016. geometry: {
  22017. type: "Polygon",
  22018. coordinates: ["@@VUXblVVV„b@xV@kz„V@l‚wVLUbVV@VU@VbUbl‚b@nkͰIÞV@Ɔ„VlmVƒÈÅxmKU²ÅJ@xVn@lĢnmbUlVLÆbĢV„V‚bœV‚aXk‚@VXKVVWšXVWXUmKU„aWaU@™¥@£XW‚UUV@@ynam_VWkUVUna@ÆV@mnkWmXkWU„W@k„@@akklƒlWUI@UnKl¥™I@VVma@a@I@U@a@anK@UmK@ÅVUnJl™kI@aVwka@mVIUW@UWL@WÅbmIƒƒULka™UWƒUxkLUKWlXL@VƒImƒÅVƒU™mĉL™Uól¯I±l@ÒUbVbUVVXUJUnVV@lnbl@"],
  22019. encodeOffsets: [
  22020. [121928, 33244]
  22021. ]
  22022. }
  22023. }, {
  22024. type: "Feature",
  22025. id: "3201",
  22026. properties: {
  22027. name: "南京市",
  22028. cp: [118.8062, 31.9208],
  22029. childNum: 3
  22030. },
  22031. geometry: {
  22032. type: "Polygon",
  22033. coordinates: ["@@k@ma@kUUVmVIUWVUUaVa@Ѳk°Jôk@Wmk¯KmX¯aUakKƒƒWU„@XU‚LXaV@@mUaVUUl@VmkaUXm@ƒWUUna°IlmV™m™IUW‚@Uk@@aV@VVX@„V‚I°»nm„U@VKVan@m»UaU@U_@WlIUa™aVaUala@¯n@‚ƒkaUkUUWKU@mwkUUmmL@K@ƒLmUUVƒKƒVÅImU—JƒƒVkVVLšèVLVU@W„L„V„š@nVÜULVŽUL@bW@XbWbkJƒUUVUxVXmVk@WUUkVmIƒV@„nbnVWbƒJU„kUULƒa@Jma@XkK@VVL@L@JƒLUVU@V¼ƒnXlƒbm@kbUKmn@lVb@VXXV‚UV@b@LVbÆxXbl@@lV@U„VV@XVK²VlIš`„UbVbUlVVn@WXn@@VUV@„@KmbVLXқLkKƒV@nX@VVUV@b™nVllbšmnb„IWVXU@`lLlknVnmlLlbUmVInK°nUƒU@l@VU@Vn@„ƒ@alI„`VIXaVaVa"],
  22034. encodeOffsets: [
  22035. [121928, 33244]
  22036. ]
  22037. }
  22038. }, {
  22039. type: "Feature",
  22040. id: "3212",
  22041. properties: {
  22042. name: "泰州市",
  22043. cp: [120.0586, 32.5525],
  22044. childNum: 5
  22045. },
  22046. geometry: {
  22047. type: "Polygon",
  22048. coordinates: ["@@lUU@@y@In@WwXal@Þxl@@anVô@ÆX„lŎ™ôU@™Vw@ÇUU@@m@U™JUUWKkL@Vm@@£„aUUmyV@@_kJUUVUUWlUnblL@aUmƒI@ƒULUW@IU@WaUK@£UK@aV@°V@LnUWWXIla„VV™@£UWlkXĕVLVWšb@kUalwUKU¯lU@mk£VôKȁVK@w„KVaUkķlUI±™ğ¥ÝUʚ™Ž¯ôm¦ƒĸ™‚@XXK@VVXUJ@nlbUx@blJkšmIUV@ÆnL@VmL@b@b@V@J@bnb‚U@UšJk¦mL@VVJkXk„ll@bƒ@@lƒXXVWlXnml@nÅU@ŽmbUVlVUXn`mb@zU@V‚VWX@¤š¦V@Xb"],
  22049. encodeOffsets: [
  22050. [122592, 34015]
  22051. ]
  22052. }
  22053. }, {
  22054. type: "Feature",
  22055. id: "3202",
  22056. properties: {
  22057. name: "无锡市",
  22058. cp: [120.3442, 31.5527],
  22059. childNum: 3
  22060. },
  22061. geometry: {
  22062. type: "Polygon",
  22063. coordinates: ["@@nLƒÒlxUVkL™am@™ƒkVWUULUxVVVbUV@bVLU‚nnź™ÞVĠ¦X™VUUaôw@KlUVw„WUwVa„@lUXƒWa@_X@WmkI@a@W„I@w@KmKUUk@@aVUšVVÅmJ_@W@a@I±wÛ@ƑÇkw±ƒ¯£mWĉUóçƒK¯VkUWK@XkV¯UWabƒmUa™UUb™lln@b@xƒbXŽWX`@„VxUblL@bn@Vb@`m@XbWnn@l¤„n@xnVlU„™VLÆWœkV@VbÞJ‚_nƒl@nKVU@aU™U@mVk°WVLUV¯bVXŽ˜bXlVn@VmL@x—V@bl„š‚@œnW@X@VVJ@²VJVU"],
  22064. encodeOffsets: [
  22065. [123064, 32513]
  22066. ]
  22067. }
  22068. }, {
  22069. type: "Feature",
  22070. id: "3204",
  22071. properties: {
  22072. name: "常州市",
  22073. cp: [119.4543, 31.5582],
  22074. childNum: 3
  22075. },
  22076. geometry: {
  22077. type: "Polygon",
  22078. coordinates: ["@@„L˜ŽnxUbVVƒL@xnnW‚nn@VVXn@‚yœImx„„°ƒšL„a‚¥n@VkšKVw„W@nX„VJ@b‚@UVn„ƒ@UnUV@L‚b@`VLklVÞn„Æ@VaXLl™ÈJšmmVUK@aVUUaUUVwVKXVlUš„n@šblKVUkw„ÑmKUVUI@±UI@U@WmX@›™kƒ@a˜U@wnK@UUmWk—aWU°aVUUK¯XUl@nVŽVš@bUVmLk@m„`ÝIUaU@›lÅXUKƒškVmU@wƒmk£m@XmWan@@_Uam@@akKVaUw@ƒW_XW„a@w@akmm@mL@UJmnUKƒ@@XnJWLkKUb@„Vxk„WƒL—aWVUImVULUK@L@lkLVVVllb„m@@°kbVbUbšbVbkJ@XV`V@Vbn¼"],
  22079. encodeOffsets: [
  22080. [122097, 32389]
  22081. ]
  22082. }
  22083. }, {
  22084. type: "Feature",
  22085. id: "3211",
  22086. properties: {
  22087. name: "镇江市",
  22088. cp: [119.4763, 31.9702],
  22089. childNum: 4
  22090. },
  22091. geometry: {
  22092. type: "Polygon",
  22093. coordinates: ["@@šVĊKšn„VÆUn„„J@UWKXkVLlKVwX„šVlbVK„„nJÆaš„ķn¥°óÇIkšWKUbÅ@mƒUÝlkUK@_a@KVUVm„@mƒVU@@aUIWƒ@mƒXUx™LUlm@¦ƒb™K¯„ƒƒnw›Jzm@UW@UmmXmm@w„KUUVamw—ƒKm@UbUL@ŽƒVmn¯¼JƒUW@UUU@@bl@@VŽVXšJšnnU‚‚k¯JmbVV„Xn@VWlbUnk@VVUŽVb@nU@WbKWVƒ@XV„„lLVb°bnW°Lnl@X"],
  22094. encodeOffsets: [
  22095. [122097, 32997]
  22096. ]
  22097. }
  22098. }],
  22099. UTF8Encoding: !0
  22100. }
  22101. }), i("echarts/util/mapData/geoJson/jiang_xi_geo", [], function() {
  22102. return {
  22103. type: "FeatureCollection",
  22104. features: [{
  22105. type: "Feature",
  22106. id: "3607",
  22107. properties: {
  22108. name: "赣州市",
  22109. cp: [115.2795, 25.8124],
  22110. childNum: 18
  22111. },
  22112. geometry: {
  22113. type: "Polygon",
  22114. coordinates: ["@@„`l@Èbln„@„KVLl@„V@bȎlnšKXkVlVL@„lJnb„¦VKVVnX„W@w°@VU„mln„UV`šU„bVUV@„xnKVI°KXKVkVL@al@Xa„LVlULWV™VVL@b„x@VXVmb@x@V™VV@nn¤„šlb°b°KXXWbX`lbXx‚z@x„`VIVUnK„L‚x„WXLVKVbVLVU@wnW°b„@nalX„‚mXVJn@U²mKkVl„U@@xlnœaVmlKnœ@JVLlŽnVššl@XXÆèVlUX@xVLXVšb°W@wnUWmXk@K‚LVwUmUkUKUw@wVaVK@kƒ@WnkUKWkwlmXL@KVUlLVKXmWU„L@ašL@malaVk@aa‚ašƒnXš@VVUblb„Jn˜ƒXa„V‚wn£„K@UWmUk@ƒUaWIV@b™JW@KmmU@aUUUkmKkVKlUU™nKVU„lVaV£Å¥WUUK@UkUUw@m@mIkƒƒUUWƒLƒK¯Uw°¯@wUKUbƒKmƒ@kkKUL@UUKV¥U@manw@k@U@Wm@@U@Wwkm„wWaUU@UUmV¯kwƒ@@kmƒkKkUW@UK@ÅV@XWWkXa@Ul@Va@KVaUUU@ƒaXwla@UkVWaXk@K@lmkUmV@Vmbk@ƒ»XIƒ¥VUkƒVUVU@anKVUƒKUalU@wX@˜™@a@K—@ÝwƒL@ŽUnÇlUIkJmn@ŽƒbVVb@VmnkLƒV¯U@ƒ±l—IWmƒ@kaUI@aÇU@K@KUIkbWbƒJUIUyƒX¯ƒUbU@méUUmUk„WK—xWIkJm@V¥U_UJUwmVkšƒUU@ƒƒƒ@knƒwm@UmkWJkL@n@VW@@‚U@knm@kUml@xÅxƒ@@XUJlb„@VX„JVxn@lbV„@lULnV@VlnV@bWV@bXL@lVLVb„V@blLn@Vl„K@xln@bX@lašLVbnKUVVb„KlXVVkxƒV@nnVUb‚lV@@z—°WWkbƒIk‚WL@LUJ@bUI@b™`@UmI@mkK¯XW™™mUV¯@UUVUUam@@VULWUJƒIm`IUJ›KUkW@Uxn‚WbnnmlXbmIUVmV@Vnb@V™LUKWLnÒVVV@V„UL@„kJUV@bƒÈ@ŽšV°šŽ@XVV@l@xUz"],
  22115. encodeOffsets: [
  22116. [116753, 26596]
  22117. ]
  22118. }
  22119. }, {
  22120. type: "Feature",
  22121. id: "3608",
  22122. properties: {
  22123. name: "吉安市",
  22124. cp: [114.884, 26.9659],
  22125. childNum: 12
  22126. },
  22127. geometry: {
  22128. type: "Polygon",
  22129. coordinates: ["@@lxnb@V@bV@ln@‚n„‚lInš@blVXK‚nk¼@VUKWL@b™L@`UXU`ƒ@V¦XLĠ@lJ„¦@„nV@l°nn@‚mVXnaš@nb‚K„n@l„IVƒš@VanJ@_lKVVnš„L@L‚K@Vn@VbšUVanKlLnbnJVbšnWVnVVanI@‚Vb@L„bVKVanXVbVJVU@aXLll„bôlƼXxVLVK@Xn@ƒxnVVVmb@LnVVKVXV@@mnaVXUVnV˜K@_UaUmšwnKV_‚anKVLš»„K@¯ÝU@›™U@kWlUn™lknK‚VnaUkma@ƒUIUwl»Åw@ƒVwV@n™‚n@ÈXlKVmna@kVw@anm‚@n_WWk@™™mUkUK@Im›kLUn›bkm@wV@kƒlUnLV±m@UInWƒkWmbƒ@¯amX@xUVUKUaULWKƒXwƒKmLUVUJƒ_@wyWwkaW_XaWW¯L¯akaƒ™m£@mUUš@U@wnaWU@Uƒw@aUKšUXUVKUkƒKWbk@@bUKUlWL¯LUJmLƒwU@UVƒa™VU_ƒVkmƒnUV¯@@xƒXmWUUULƒ¥makI@ƒUKUkWl™LkmǍ@aƒUk@UKƒLƒ@kmÇak@ƒ_VlkL@`lbnšlLVanLnbmVÆln@škJlbknmKUbÝmmwULUK@bkLWKULUUma@Kk@UV@L@llbVzšxUxnl@bVLmŽšŽ@IVJXœVlƒLV`@bn²@J™@™V@Xmbñ@WbUJ@bm@@LUĬU‚„¦lV@xXb@blnUV"],
  22130. encodeOffsets: [
  22131. [116652, 27608]
  22132. ]
  22133. }
  22134. }, {
  22135. type: "Feature",
  22136. id: "3611",
  22137. properties: {
  22138. name: "上饶市",
  22139. cp: [117.8613, 28.7292],
  22140. childNum: 12
  22141. },
  22142. geometry: {
  22143. type: "Polygon",
  22144. coordinates: ["@@„„@„V‚š„„I°`nm¤²@bVJUVVXUl@Vmb@xV@XbmVVœ@lkLmbn`VbnU‚@Va„UnbVllUXV„a@w°VW@_VWšLššnVlbšLVbnl„KšnVK@IUW@_@am@™‚ÑUólK@U@WU@VwU@UI@aUU‚aXƒƒ@kwmJV@yX@k‚anƒƒ@mkwVmmI@aUU@aUUW@kVkV@@anKš»„XVWnIVUl`@_„W@wlUœV@UWKnU‚bnްInJl„UV@VnI‚b„Wn@VklL@l@Vn²m@U`kI@bWJƒnV@°VXnJm„XVmx@VVL@bkLmWULUmU@ƒbWXb@llnX@‚xkxVV„nVV@¤nL‚nVxnJVXX@˜ššbn`VI„b„@„blmlLnaV@„blWXnlUnbl@„ƒšKVanUVmm_XK@kWWnašU@UnaWUXa›ƒXamUkKmXUWƒLX¯WakKm™nUWwXa@KW_„aXWW_@WnIVl@XU‚LnWVknK@ImyUUÆbXK„Û@W@IÆUnƒVÝlkVK@mUIVwkUVaUm@aVIVyXIƒaÈwmmk@UnanVUmÅaó»lwšW@kkUVmUK@WKLƒUmWULkamK™Lk@Wa@wk@UU@U@mbUIWVKUXWmkUmVm›U@LkakKƒw@w@U™¯ƒ‚ƒUUn¯l@bmn@xkJWxkL@VkI@mƒkmJUI@V@b@VVxnbWlkÈkVƒLƒbkKmVƒL@V@²nxW‚kLUL@xlKVx„bXmVnšWJ@ޙ°@n™xUKUw±`UImVmnU@kalm@akwƒU@UUJmxU@@Uƒ@kU@Um@@Kn™ƒVm@k™KmkU@@WUnkLWxkVUwmKmLkU™bmKUbVŽ@xUnkJ@n±ŽšUxVXUšWJ@LUb™lUnm@ƒW@nknUJUVm@kXllknVbÆK„VVbš¼V„@šUl"],
  22145. encodeOffsets: [
  22146. [119194, 29751]
  22147. ]
  22148. }
  22149. }, {
  22150. type: "Feature",
  22151. id: "3604",
  22152. properties: {
  22153. name: "九江市",
  22154. cp: [115.4224, 29.3774],
  22155. childNum: 12
  22156. },
  22157. geometry: {
  22158. type: "Polygon",
  22159. coordinates: ["@@WUkVUkmaƒVUb@mVUam_nalK@kU›nUWaU@@wna@UVkUWVUUI@a‚±n£m¯_ƒJ™ƒU@ƒƒƒĉ¦Ul@UV™Km™mLlm@ğ¹m`Uk¯@@UVK¯™@UUK@amkmKkVVUa@UkUƒKƒŽUa™L@VVXUJ™@ƒnƒ@™š™WUbƒnVb¯V@LÅlÝIƒJÅkݙm@Ua™WUU@UmUXmmwVUUKWUX±mUam@kWƒzUaVmÇw@aÅLmKXƒ‚UWKkL@W¯IƒwVw™lkUƒJ@Um@ÛÈWށKUxWkƒaUU@KkLVl@„UKUX±KUb@nVVUbUVmaUlUL@„ƒaUL@‚@nUlWzX`@„V@lx²„@Vlb@bšVÞ@°nl@UxVL@lUbVV@n²xVUVmnUÞb‚a„J@IšV°xnbl@nbÆ@VwnK@VnXlK°xnUlVX„V@Vl@L@lk@W_XK@KƒkWxUL@J„nVx@aX@VVUa˜IXlmL@bVVX@VbnK‚a²XVWƒk°a„@UnV¤nbmLmW@XbmJUbVL„aÞK„L@K@U@aVKlbV@nXlJœxV@VnšŽVȚ„ÞKôbźĕČmV@ĊšŽ²xÆIšV@Þ¦ĸ¼ÞVlŽVÞnxln°Jœk‚LXWVUVUVwnJVI@yn@lXlaXmWI@w—»ma@UmK@akKkXmW@_kaWakKWk@@K@IšWƒkUa„ƒ"],
  22160. encodeOffsets: [
  22161. [119487, 30319]
  22162. ]
  22163. }
  22164. }, {
  22165. type: "Feature",
  22166. id: "3610",
  22167. properties: {
  22168. name: "抚州市",
  22169. cp: [116.4441, 27.4933],
  22170. childNum: 11
  22171. },
  22172. geometry: {
  22173. type: "Polygon",
  22174. coordinates: ["@@°V°UnÜ@n@lnLlV@bšV°L„lnLllVzVVXlV„V@@L@xX@WlX„m@UVƒL@V@n„°škVmVUnKlaXxVbšnlU@lVVnaVI@aX@V„šJš@V„@b„b@šVbš‚@X@lUL@Ž@VlIVm@wUVanLšalVnKnLVxlUXwlKVm@k@Una@mWIXKWUÛVƒk@a@UVWn@@kl@@W„XlW@_Um@UVK@a„LnalInWV@@xnI@¥‚K„—šm@kKmƒnk@mlI„¤laXbVblknV@U‚KXVlUXa‚@@Unw@±mU@ak_±a@ƒUJUIƒVKW_Xa@aWU™šK@mmUVa@IXa@UWmšannlmX¯WKXwVUVwƒ@XUlK@klJXa@kƒkmm@Uwƒw@¯ƒW¯kw@WmbULƒaUUU@mVUU™WmkUb™KmkkK@aƒkUƒ¯¥Uƒl—ƒm@akU@mš@KVIVV@KUkUVUkaƒUWb—„mƒIkaVaUU™@mW™„b‚b@bUlkb‚b@n™K@bƒKXVWnULkKUV@LWKknlxXŽVLml@X„Ž@lULUb@xVxVLVlVnUxK@LWlXnmV@x¯X™aWUUK@wVWUkÅçm`@mn@bUx@lmbUnkLÇWm@mšU@Ux@„Æxk¼VxVJ@„nbVlmbUmLklmškVlX@‚VœšV@°Þ"],
  22175. encodeOffsets: [
  22176. [118508, 28396]
  22177. ]
  22178. }
  22179. }, {
  22180. type: "Feature",
  22181. id: "3609",
  22182. properties: {
  22183. name: "宜春市",
  22184. cp: [115.0159, 28.3228],
  22185. childNum: 10
  22186. },
  22187. geometry: {
  22188. type: "Polygon",
  22189. coordinates: ["@@@VlbnK@b@JšLlUnx±ĀXxÆW„X@lš@V„@@blJ@nX@˜xUbVVUbVV@b—VmnmJœ„@bmbm@klUbƒLmbœš@lVb@xUX@bVVVbV¤@LVV„bXlVw‚LXÜÇn@@V„IlVškUx„x°J@XlKXLV„‚WnLÆK@bÈxUnVb„ylXn@Vbn‚W²XV‚LVVUŽnxWnnV@VVVšXVbn@ޚÆl„IÞJÆk@K°UUa„mVa@UUUš»@wV@VƒkkUKUVW£U@UmW@@aXkVUnVlKVV„UUkVmU™@kWaUanU„VVamIX¥W@@aUaUVW@_mW@UnIVVn@VbVm@bVL@anKVUkƒWK„UXV‚Ikx‚@na„bVK„b@nVJ„_V›@Vw„‚VUVVXUlUUaV@X@VblašbnKlkVaXaƒ¯@m@U„KVUn@WƒXkW@@w@KU@UƒWkUUUykkmKƒk¯K™U@akUmK@k@mmÛ¯V¯U@‚ƒL™¼UKmLbU`mL™xVnVb@`—LmUVUUWmb@nU@UWULmU@KnaUUmU„wmJ¯IUJWIkVkaWVUIUlWaUIUVkKmbUIƒÒlVUnnŽ@VlLUJ@bUX¯@ƒaWVUKUXƒKUbm@UwKWa@a@VkUWn™@Uak@mbX„WJXbm@mL—aWVk@™wƒL@WmanU@knwWmkaWL—KWUXaƒU@¥l„UVVVbnwƒ¥nKV™»@aUk@a@UƒJ@kƒmLma™@mbUWnm@ULǺ@LXnmxUŽm@UbkbW@@akLmWk@UXmJmUkV@VUXVlULmKUxkL@lmXnJ@X‚l°Vnb@bU@WbKUX@VmKUX"],
  22190. encodeOffsets: [
  22191. [116652, 28666]
  22192. ]
  22193. }
  22194. }, {
  22195. type: "Feature",
  22196. id: "3601",
  22197. properties: {
  22198. name: "南昌市",
  22199. cp: [116.0046, 28.6633],
  22200. childNum: 6
  22201. },
  22202. geometry: {
  22203. type: "Polygon",
  22204. coordinates: ["@@šXš™„@„mš@VIUW@UšKVb„„LlV@VVbUŽlUnLnl@bVL@V°šUL@V°@Vln_Ġºn@‚knKnššLVU@VkĊ¥Vk@™Uƒ™»UaƒUÅLUalmkklWn@VUVIlm@m„Xn@VmškVa@KXIV™UWVw‚™²@m@U@VK@k@W™Ua@™ƒa@aUƒ™@™IUƒW@@bUJmbUU@kkV™mUaWwkbmLUVUn™lWbUbklmL™akbUaW@U@VbkVWVUUUVƒUx@‚Uœƒ`UI@mƒaULƒamb@lwJWUƒVXLl„UVmL@bUK@aUnUam@UUmJ@VnX@`UXVŽVb@bX@W¦nJUbƒUmVVbXb@lVšUnVlƒVUUkLmUUVWl@bX@VnV@X¤VUVLllU„U@@x™¼VV@V"],
  22205. encodeOffsets: [
  22206. [118249, 29700]
  22207. ]
  22208. }
  22209. }, {
  22210. type: "Feature",
  22211. id: "3602",
  22212. properties: {
  22213. name: "景德镇市",
  22214. cp: [117.334, 29.3225],
  22215. childNum: 3
  22216. },
  22217. geometry: {
  22218. type: "Polygon",
  22219. coordinates: ["@@VVX@Vbmz„xUlU@mbmL@V²xVbUVVblbX@šVškVykValKVI@bn@n`lVWnX@l„L@™WKnƒVIVa@¯nK@alIXJVIVWUw‚ƒn@nU˜„nK@alI@a@anKm_™a—™W@UWmIUwmmK@£UUƒmUUlwwW@km@kWaX„aV@VnVKnXlK@aUK@UnwWUnƒmIUW@¯mU„XI@alJV_n@m±@U@kkKUlm@ƒXamJ@UVUkƒmI¯JmamVXL@V›UkV@xƒX@`k_UVmJUXƒW™¼mL@bU@UllX@VV@bVV@bnJUnlx@n„Žm„b@lWŽ@zU‚nIlx„@W„bVV@bVJV@UxV@@X@VkLVôÒ‚šn@@b@`VX@J"],
  22220. encodeOffsets: [
  22221. [119903, 30409]
  22222. ]
  22223. }
  22224. }, {
  22225. type: "Feature",
  22226. id: "3603",
  22227. properties: {
  22228. name: "萍乡市",
  22229. cp: [113.9282, 27.4823],
  22230. childNum: 4
  22231. },
  22232. geometry: {
  22233. type: "Polygon",
  22234. coordinates: ["@@VWnL@UVW‚LXaV@@ama¯Uk@WmInW@klKVwnLVKUkVW@UlUnVnIVWl@nXlK@bX@laVan@VnwWm@KȹVK¯m@kmU@ƒƒ¥kIğ@WKU¥„@V_VW@_šK@aXKVL@Ul»mWLkU@am™kJƒm@kmU@@a@UmakwU@›„Xlƒ@VXk`UIW¼kWWX@‚œ@l‚xV¦XlW@Ubn„@ŽmUkL@UmJ¯UkUWVUaƒUlm@UXWl„nUJ@LmLU˜nXll@bUVUUmVUn„Ž@¦šxlŽnn@VÆÈU°kbV„VxllnL@VnVVUl@V„„anL"],
  22235. encodeOffsets: [
  22236. [116652, 28666]
  22237. ]
  22238. }
  22239. }, {
  22240. type: "Feature",
  22241. id: "3606",
  22242. properties: {
  22243. name: "鹰潭市",
  22244. cp: [117.0813, 28.2349],
  22245. childNum: 3
  22246. },
  22247. geometry: {
  22248. type: "Polygon",
  22249. coordinates: ["@@@XV@nlšL@lUnš„mŽ@Ln@@VlV„@@VV@nwVI@V„Vlx@bknlbV@nmnUVJ‚_²‚VxVLšw@mš¯@ÝXIm™nUWƒaUwkL@wVKlKXmw@±@U„KnUlL„a„KlUlÇXkmaUw@U@a@Uƒ™UkwUJ@zWJ™w@WbkVWUL@VmUklUaWakbƒ£kJ@nmln„lL@Ž™nƒ˜L@¦mJ@wU@mXkJmbƒK@bUL@VVn@`kXƒW@Xk@@lm@UX@V@b„lÜUXVWLXJ@nmb@V@l"],
  22250. encodeOffsets: [
  22251. [119599, 29025]
  22252. ]
  22253. }
  22254. }, {
  22255. type: "Feature",
  22256. id: "3605",
  22257. properties: {
  22258. name: "新余市",
  22259. cp: [114.95, 27.8174],
  22260. childNum: 2
  22261. },
  22262. geometry: {
  22263. type: "Polygon",
  22264. coordinates: ["@@m@@WULUKWwÅ»ókƒakkWK@bUVUIUamWUbULƒa@KUa@mJUbmUXU™mUamImakKmLUb™VUam@@UL@KƒKm™UUkL@`mIUb™@U„@V@bVl@bš¼UŽmL„¦mxUaUUƒVkŽ@¦„VWbXV˜LXKlbXnmx@lmVnb@X„Kšxl@XU˜bnKn@WaXIWƒnal@Vbš@XmlV@U@bXb‚LVxn@Va„LVWVLXU„b°@VW@aVIkK@UmVmkU„ÑVJnalLVUVJXbVkVJXUlblUXJVI°JnI"],
  22265. encodeOffsets: [
  22266. [118182, 28542]
  22267. ]
  22268. }
  22269. }],
  22270. UTF8Encoding: !0
  22271. }
  22272. }), i("echarts/util/mapData/geoJson/ji_lin_geo", [], function() {
  22273. return {
  22274. type: "FeatureCollection",
  22275. features: [{
  22276. type: "Feature",
  22277. id: "2224",
  22278. properties: {
  22279. name: "延边朝鲜族自治州",
  22280. cp: [129.397, 43.2587],
  22281. childNum: 8
  22282. },
  22283. geometry: {
  22284. type: "Polygon",
  22285. coordinates: ["@@Wxĵ„mš@„ó¤VX@@xܼƨš²xWxƒV„V@„XVƒ„„„ƒbWšXllaÞU°Ċ„@ô¼„LôÝWanV¥ƒÑnĉ°¥šÅX¥°¯@w°w@»°k£°mÈŹ‚mÈbƃŎ¦„K°z@Žkxl¦UbU¤šššklV„KŤÞȰ@@bšV@nVVUlÞ¦lUllœVlU°ÑU¯Vƒ°w„bXxl@V޲„˜@n„ô¼ƒó°™kmVk²ĕ‚w@wV™ÞÞ@@Ġƒö»˜¯œ@‚„šbnb°mÞ¯°V°„ÈJmX¥mam™UřƒUƒlaU¯™ƒ@w™Kk—l±n@@wƒkÝVUUl±¯I¯b™a™lƒ@™kLmakbƒ@ġƒŹé°™Þb°šékƒƒLm™„wX™‚aÅb@bVlƒbVb—ÒVbUb›UUanwƒakbVŽUV›ak„¯„UŽƒLmxV°UxnôŻX@J„Xkl‚bkbĉaƒbƒWU„ƒ@ƒk„WUU¯@@klmƒ@@™Å@aƒwWXlKkI@WbUaVIUanUƒƒ@ĕƒ¯K™„mUnWUwm@£ċèkUmbUmm@@nkJUalwk@@nmWUan_óaWmnw±KœIƒwl@UmƒI@an@@mlUÅmV_™KUkƒ@U`@_ƒKUmU™@U¯™mmb¯@kb™ImV¯ƒƒLkbƒKƒƒÛ@ÇnɱJóaÝĢkb@„›x—ÒÇllœ@‚޲V‚„ÆUVV„UÇ°X„óxlV¯„lV@bƒV@n—x›@—¤@„șŎnxV¼knšJ‚nšKX°˜¦UlnVbUbÆVnÞWVX¦llšb@l°œVJôÒnLVbšbXŽ"],
  22286. encodeOffsets: [
  22287. [131086, 44798]
  22288. ]
  22289. }
  22290. }, {
  22291. type: "Feature",
  22292. id: "2202",
  22293. properties: {
  22294. name: "吉林市",
  22295. cp: [126.8372, 43.6047],
  22296. childNum: 6
  22297. },
  22298. geometry: {
  22299. type: "Polygon",
  22300. coordinates: ["@@ôl‚zšaÈV°„šK@„mŽ—LWl™nšVxUV‚È@ŽÝĬUÈn‚ôLša‚„²VmĀkV@„ĠĊnU@b„V@b˜@nl°UVnÞaôJ@bš™V„¦mlkššbmVXx¯@Vxm„nbƒ„šbÈK‚V@bÈL„wĠyônšmnbÜ@nn„V˜x@n²K‚„„J@k„al@nxÞU„Lź±Vwkw¯LWWUš™kŎīVwƒw„°y„Vĕ°wÈVlkÛ»@wW@Uô£@ƒn™ĶƒXwW™aUamKóÑUI¯›@k™akkW¥XUmÝÅUVaUa‚mVk—¥W¯™Lm™IlmU»mwȚō@ƒ˜£kJUÇk@am¯y¯UVwƒa@wġx¦ƒKƒƒ¯X°Ċ¯¦U°ċWULÅa±b¯@UkÅWmVƒ™ƒkIUlóŽċ¹™`óIƒlX„WŽXxmbUƒLݏƒbƧ@ƒx¯bƒÈ—l@xƒš¯zƒaݤ@nšm„VWb²bmn¯J¯Ò@n„š"],
  22301. encodeOffsets: [
  22302. [128701, 44303]
  22303. ]
  22304. }
  22305. }, {
  22306. type: "Feature",
  22307. id: "2208",
  22308. properties: {
  22309. name: "白城市",
  22310. cp: [123.0029, 45.2637],
  22311. childNum: 5
  22312. },
  22313. geometry: {
  22314. type: "Polygon",
  22315. coordinates: ["@@ó™ǩŁ@WlwUaƑwÛÅÇéĉamKƒōÇ@Iƒ™ôġVƒȁÑŹçƒ™ÝUƧċĉwóóÝ@Ƒ»ğL¯ll²@ƆÅV@¦m‚Åb@nmlU²VxšlUn™@VbnW„bÇbk҃š„n@èlnlšU҄ްLšx@¼ĉb@҄šUŽċxՃènLVxƒÒƒbÅJ±a@_ÅJÅnƒŽVb„Kl„nUÜĊ@„Uš™xXVÆn„mšVššJÞ¯V™ĠwšƒXw°xWL„x„KV¦ôU„wVÝǬóÞޙ¼‚‚„ÞkŽVôȘxބU„lVn¦ÞšĊa°w„b°@šbÆw„lŤL²`„z°@V@@™nJVnl@@¥nUmmn„@mwnmmUnk@mlwUaƒLnƒ›wn¯°anƒWakI„ƒÇmXwÆamUXUlJXa‚UUklKUknmÞV@‚K@VWÞ@VkUwVƒ"],
  22316. encodeOffsets: [
  22317. [127350, 46553]
  22318. ]
  22319. }
  22320. }, {
  22321. type: "Feature",
  22322. id: "2207",
  22323. properties: {
  22324. name: "松原市",
  22325. cp: [124.0906, 44.7198],
  22326. childNum: 5
  22327. },
  22328. geometry: {
  22329. type: "Polygon",
  22330. coordinates: ["@@„šźèȂÒU„óĢ„š@JŎȄ‚‚LnŽĊbÈêÜÆƒxVbkx@XǪłôš„kÞ`„šW„b@n°ašbšKšnVw°`š_X`W„š¦„ĊIkmVšakw‚K„x°UÞb„U@lšƒl@°¦œVW„šaÞbšxÞI@mVI@ƒVkŚUWK„¥nL‚a@ƒ„@ȍ„@°ƒÆ@nU@KÞalkUwVékUWw„™kU›VkkƒJk¯@»ókƒV¯ÆÇI@bĉô¯@™ķw¯nmmÅL¯wƒVƒUÞy@UówÇLkmm@@UóxkkĉmL¯wVwkWWX™mLõm@kűV_ƒƒô»ÛƒÆ¯@™Va™VšaĠVlmğwķUóÝƽ£ÇJkbǫaƽLW@nxݤkzƒy¯XɅm@VšôÇX¯Ė¯ºÝnUŽnLVlUÔmV"],
  22331. encodeOffsets: [
  22332. [126068, 45580]
  22333. ]
  22334. }
  22335. }, {
  22336. type: "Feature",
  22337. id: "2201",
  22338. properties: {
  22339. name: "长春市",
  22340. cp: [125.8154, 44.2584],
  22341. childNum: 5
  22342. },
  22343. geometry: {
  22344. type: "Polygon",
  22345. coordinates: ["@@„U°xÆKnn°mĸxš°@Ċó@aÈJ°Å„Uôl@¼l°„IllœUlVƒšXxlVUêVxkllnÈUVll@Vx²IÞ¤VUlVnIôlރlwô_„›„bVaĶLXÅÞÇ@K˜¯@wÛaƒçn¥š¯WXyW¯XwƒUmmÛ@ma™nómğzƒxÇK@aUÇL™a„ƒmanƒUw°@WwnU™al™nkƒ¥šU™@aóIÝbUm¯Vmk—@@aƒU@amVğĉ@ƒlUnÿ±Uƒ™bóKmVÇÞī@ÇVUUw‚™šmXk˜Kn@ƒ™L¯ƒÇU™byókōè@b‚n@lÝX@x¯ô@ƙUV_maXm@aóƒJWxnX@ŽVVnĖVnUJ@nōÆÇ¼V¼kxƒLklÝw@xƒx@zV`ÅbmxU±xU„nnm‚kn‚ŽğU™bUŽ‚šUb@šÅ°Ü„󼄄U`Ʋ@lön‚KšnXWlXUx°xnKĊllôw@Vn@lnÈKôx@VÝz„V"],
  22346. encodeOffsets: [
  22347. [128262, 45940]
  22348. ]
  22349. }
  22350. }, {
  22351. type: "Feature",
  22352. id: "2206",
  22353. properties: {
  22354. name: "白山市",
  22355. cp: [127.2217, 42.0941],
  22356. childNum: 5
  22357. },
  22358. geometry: {
  22359. type: "Polygon",
  22360. coordinates: ["@@Ušl¦kÒÆ°„IlÒU¤ôz„¼lJš„U„n‚ÆXVl°@²aÆbVKČXV¯°¥¯ĉ°W„„„L‚¥Ģw@x„bUx°V°zn‚‚b@ÈlVŽlIœ@˜w@m„U@akU°ƒkUôwWƒÈ¯VUƒVUƒÅ±U›@kÈk˜Ñœw@ƒlaÞġƒUÞ£@ƅ‚KnÑ̝@W‚aUaVUVkkw@a¯@¯™Ý™ƒVXnW@@WkXmK@xkKUb@bW@Uw¯„mmb@WKUbmUbUaWbƒJĉIVW@I—l±LkšmU™bUm™@ƒnkKWa¯n™@„`Ubma™„ĉL@bƚ—@W`ƒL@n¯‚Xb‚@kb@x™Lƒ„™@V‚kL±™™mlUIU¥mL@lÅx@_laƒƒ@U—aƒV@kmmƒK„£ƒƒLƒƒmKUnÅKVbmXVlèĉUUbml„ĢŤƒIlޝbǦœl‚@ô¼Ģ„@x°„l¤„n„a„l@x™b"],
  22361. encodeOffsets: [
  22362. [129567, 43262]
  22363. ]
  22364. }
  22365. }, {
  22366. type: "Feature",
  22367. id: "2205",
  22368. properties: {
  22369. name: "通化市",
  22370. cp: [125.9583, 41.8579],
  22371. childNum: 7
  22372. },
  22373. geometry: {
  22374. type: "Polygon",
  22375. coordinates: ["@@ÆlXnĠx̰lȰš„K„°kXm‚@¦Vbk„ŤJšnݤk„VÞVVkȄb°y„™@w˜k„ǰa„wƨ@„aސ„K‚VnaWwXWƒ„kôJš_ČºôVkƒ»óyV£kуJůlÑk¥V™ša@wƒkƒbƒmk£¯ƒ@wġƒó»@›kÈ¥°ak„JÆ£ƒġnkVaĊVkçWUnUaÆLVmnL„„‚KU™±@—„m@a¯U„bmV¯m@_ƒK™™U™ƒaƒÅ™Wó¹ƒ@UanmWak@@wmI@y™@mk„JVa™@UaƒIkJ@n™@Um±kkxƒm™Ik„ƒbÇm@ްbXn„V@ްÈmlÞ¼¯XVº¯Lm„kWWXLmVVlknƒ@@lnWƙ„Vxbmšnšm„¯lÝaVȁè@¼V„„b™„ÆŽ°ÞUVšJ„„kx›I—xƒƒƒIV¤™ÒXxmn"],
  22376. encodeOffsets: [
  22377. [128273, 43330]
  22378. ]
  22379. }
  22380. }, {
  22381. type: "Feature",
  22382. id: "2203",
  22383. properties: {
  22384. name: "四平市",
  22385. cp: [124.541, 43.4894],
  22386. childNum: 5
  22387. },
  22388. geometry: {
  22389. type: "Polygon",
  22390. coordinates: ["@@Ɇn°W„zlyÞ£mwX@ƾKǬblaÈIƾ¤ôÞĸVĠxnmmVƒ²w‚VnwÆaU_@y„w@wÞxlk„KlwU»È»ŎÅ@mVIUmmĕUU@mWXw„Iô‚@bWnnbU`‚šV@Űó@wÞW@km@aŎ烙@m°Ñ°Inm±aXaƒU™n@mƑšU¦@šÇޝaU£šaU™ġ¦ÅҙJōUŻókUÇ@™¥¯ak¯mUVak@@aċçÅaUƒm¦Ý`XbƄ@n`ƒI™xĊÞōÞml@šUb@Wl™_¯JkšÇUÝÆÅb@n™„llUb¯„±a@ƒ—ƒWĉJġ™Unóšm¤œxôaVnƒxôI@x„V@bmƙ„@lnLmޯޙxVb¯þ"],
  22391. encodeOffsets: [
  22392. [126293, 45124]
  22393. ]
  22394. }
  22395. }, {
  22396. type: "Feature",
  22397. id: "2204",
  22398. properties: {
  22399. name: "辽源市",
  22400. cp: [125.343, 42.7643],
  22401. childNum: 3
  22402. },
  22403. geometry: {
  22404. type: "Polygon",
  22405. coordinates: ["@@żôŎVšIÆÑĢ¥Vš™bV¤°bȍ@™V¥ƒ™Þ£lÇUUUÝlƒÞ£™mţIlƒUa@¥nlWƒ¯ƒL¯™kÇġ¯ğwWmÅk¯UƒVU„„bWlXlmnƒbUx¯xVVknlŽUbV„ÇKUb@„™VnbmlnzUº±bmJUbWÈnèm҄š@X`WL"],
  22406. encodeOffsets: [
  22407. [127879, 44168]
  22408. ]
  22409. }
  22410. }],
  22411. UTF8Encoding: !0
  22412. }
  22413. }), i("echarts/util/mapData/geoJson/liao_ning_geo", [], function() {
  22414. return {
  22415. type: "FeatureCollection",
  22416. features: [{
  22417. type: "Feature",
  22418. id: "2102",
  22419. properties: {
  22420. name: "大连市",
  22421. cp: [122.2229, 39.4409],
  22422. childNum: 5
  22423. },
  22424. geometry: {
  22425. type: "Polygon",
  22426. coordinates: ["@@‚IÞmVk@wXWÜbnwlLnU„@‚nLlbXW@a‚wnbl@XL‚aš@Ċ¥@LULnJ@xVnmV@VXXV@VJkn@VÜKXXôJlb„xl@„IVbnJVLUbn‚lnVw„JVU@ƒXU‚aUUlwn@°ƒn„VKnV°_VJšwl@nwlV„IXWlIVVnK@IWmkIVaVU@WÈUlmU@U„WUalkXġŻ@kIƒ»mm™akUm›ĉUŁV»²ġVĕ@aUU؍IɃ`ȃ@kƒw@ƒUƒmwĉ™@ƒWķсIĉÇbÝLkymbIƒwÇmÛbmbU„¯ÜõÈkÆVbŎxnXVÆnšǪ¦„bš¤Uš™xÝnĉÒmĊVȄ¤Èš„bƼ„Ā„„ÆÆÞ„źb„VVbX„‚°²¤"],
  22427. encodeOffsets: [
  22428. [124786, 41102]
  22429. ]
  22430. }
  22431. }, {
  22432. type: "Feature",
  22433. id: "2113",
  22434. properties: {
  22435. name: "朝阳市",
  22436. cp: [120.0696, 41.4899],
  22437. childNum: 6
  22438. },
  22439. geometry: {
  22440. type: "Polygon",
  22441. coordinates: ["@@na@UVI@m„ÑW™kaV¥UI@wl@„aÈbšm@wVašk„@@K@kƒ™@a@UUmƒUUalmU@KÇUű¯@±kUKVkUaƒaU@¥m@@¯k@WLUmkn@mmIkm@amU@wVmkU@Klk@U—m˜aXIWWUL™aULVbƒmk@UUmUk±™_Uym@mbkImaX¯WW™xWKzU@WƒkJWwkV™@Um@UbVVVVXb@VWX—@WŽ@Vkb@V™nUK±aUUlwX™ÇWKknU@mmUkƒLUVƒVUUVƒUaƒw™bkKmwnIƒ™kJ@nmbƒ`kmVkLWwUm@UUU™K@UmaUa@UUaWK@mUƒ¯Wkk¯VmUUŽ„xVXUVmL¯ymXkWUbmXUKƒVknWx¯JVnkLƒl@VVxnxlĀVL²WlX„l@bÝVUn@bnlÜaXblIVl@šš@Ȧ@VmbXV‚@@x„VVnUn@`°@VnXU@K@„VV@VmbnVn@ln@b„xƒ°Ub@bšLV`Ånƒ„W@@lUšnnWVU@Vbkl@Xl`XxV„UblŽkX@ް¦V„UVVbUlkV›@UbVbkLUxmJkXšš@b‚bœxVKÆlXX˜bnŽnala@ƒUk@U„VVklKVUXKVU°KVan@VUnLšKVL„WVaU_@mmUXa@m˜wXwVkVWXk‚k@›„k@klm@wXKl@U@KVUUUVaUƒV@„alL„xUx@b°°VnnVšxlIXJmx„LUVlV@bnX@Všb„aVx‚@XJ@b‚n@VŽVXȄl@llX@lU„Vô°°@ބVbn@‚V„k„@VW"],
  22442. encodeOffsets: [
  22443. [123919, 43262]
  22444. ]
  22445. }
  22446. }, {
  22447. type: "Feature",
  22448. id: "2106",
  22449. properties: {
  22450. name: "丹东市",
  22451. cp: [124.541, 40.4242],
  22452. childNum: 4
  22453. },
  22454. geometry: {
  22455. type: "Polygon",
  22456. coordinates: ["@@lzXJ‚U@š²x‚@@Vš„@bUVmKUn„°n@lnVK„„nV@n@VlV„°WbXn@‚VzƒJ@¦@bkb‚bUl@bkbƒJ¯zƒWULWbklV„nb™¦VJ@„„K°U„kl@@W„bVn°@„Všm²U˜nX`„UÜLXmVXlKVbUVVnUbn˜ƒX@VUL@lUbWxš@²kl`n@Vlb„@nUVWVLVU@aV@²bl@ÈmšxWX„VÈU„JV„l@„„la„WnX‚KÈkÈ@Va°bÆm„@XV°IVV°UnalƒVUn@UwVU„@@VVJ„I@bl@XK@wWmXU‚UVbkJVXnJVI@mƒknwlKXL@`l@VI@UUaVKÞn„aVm@aÇ£XW„U@aÇUU@mbkKm£™@WW™ƒL@@Kk@kl›U—bWKUkUU¯UõÛƒmUUaVU„U@WU_W@kVkJƒ_WKkV@bUL™¯¯ƒ±mk¯ġƒğÑ@UmwƒKUakƒ™ƒa@a„m¥ÝƒIUWmk@w™mţ—L›KʝbȗKWĢklVbƒX@VV‚knÇV@XUVUblJXn@J"],
  22457. encodeOffsets: [
  22458. [126372, 40967]
  22459. ]
  22460. }
  22461. }, {
  22462. type: "Feature",
  22463. id: "2112",
  22464. properties: {
  22465. name: "铁岭市",
  22466. cp: [124.2773, 42.7423],
  22467. childNum: 7
  22468. },
  22469. geometry: {
  22470. type: "Polygon",
  22471. coordinates: ["@@XJm@¯šmXUlnVbUJƒU@bV@UJWL@VXLmJVbkXlJXxVL@b@V@n@b@`Vbk@lxknV@VV™V@bUL@bV@@bVK@VXLWLXJ@LV@nbWJ@IUV„x@LVJUXVxVx@VV@@LXJWL@VU@@L@VnL@bVVmVX@@VVInJmbnLWVnVULVVU@VVmX@@JVz‚l@„nVVKVXރ@mk_lm„UUWV_nJlUÞÑÞVVUVƒVL„UVJ@I„Vna‚@@KV@XwWknwnKlalU„w„aĉݚwšJl_@aUaƒKUUU@WU@WXUÆ@@UVK@n@UnVVšblK@bœllb@b„bW@Xbl@UlnLl°°bš¦nKlVnI„V@UWU@WXkƒw@am@nm@aVw@I@KUaVIm±XÑlknJVnVJšaX_VaUaVKmwnkmmn@lU@U@mnašXlKUmUIVmklaUK@UlUVUW@U™kVm™a@UUU@JmUU@@bmb—KWV¯XUKm@ka@UVKVk@aUKmLkKUUÝUmbXbÇJ@k@WU_@m™™@klm@UXKVaUI@KWUXaƒÇWk™aWUkWUL±U@lUU@ƒUJƒI@V¯JmIm@@aU@Uwƒa™@UV@VkI›V¯aUkƒWkb@bVL„@@VVVUXW@Uaƒ@@b—‚ÝbUV݄@ŽƒLmUkVUbVllLUV@LššXŽWbUXm@U`@„kxlnnJlbnIllšLX„lVlUXmVK„n‚V@L"],
  22472. encodeOffsets: [
  22473. [126720, 43572]
  22474. ]
  22475. }
  22476. }, {
  22477. type: "Feature",
  22478. id: "2101",
  22479. properties: {
  22480. name: "沈阳市",
  22481. cp: [123.1238, 42.1216],
  22482. childNum: 5
  22483. },
  22484. geometry: {
  22485. type: "Polygon",
  22486. coordinates: ["@@ȚĊܰ„b„L‚lÞxUbUn±‚@ÈnVÆL@xnLšlUVƒbƒxkImJkn@V±LUxkV@bšbšKVKnzVl@L°@Va„xÞUlbôxVVœ@@V±bnŽ@llXL˜ŽöXĶŽnal@nkVJVI@aU@@aVK@ašUUUU@lmkwl@Ua@_@a@m@U@aUKWwkIlWUanIWK@UXKVIU@@a„VVIUa‚mVknW°™n@WI@KUƒmULWnkVkUWƒ™KkkmJkamIkmlw@ƒV_n@VWXaW™™@KVUkKUkValUnV„K@ÞƒVUÞa˜@a„@VbX@VWUU@Uƒ@UK@ala@IkKmUUa@U@ƒVƒkk™WVwU_@KÜUXbl@V¥XUVmƒƒƒXa‚kŃlUUkIm`UIUJW@UIKmkm@UUJƒImmU@ƒVUXU`mIUbUK@LƒJUU™l@Xƒ@UbƒJ™kU@ƒŽn„m@Uam@@ƒ™aUmLKƒwƒ™mWXUK@kUaÇa@JUIUa@aƒKVUƒUXmƒUy™_@lmbkLUKWLX`‚n@bVL@JXL„‚WX@Vnb@Vm@UbnVmL@V@x@LUbVV@V@LƒUVl@mb¯U@xU@UVVV@X@VVblJ@bn„VKUn„x@llnL±¤™b@k`VXÆK@„kV@¼kl@bWIUl@VmLnbm@@JXXmb"],
  22487. encodeOffsets: [
  22488. [125359, 43139]
  22489. ]
  22490. }
  22491. }, {
  22492. type: "Feature",
  22493. id: "2104",
  22494. properties: {
  22495. name: "抚顺市",
  22496. cp: [124.585, 41.8579],
  22497. childNum: 4
  22498. },
  22499. geometry: {
  22500. type: "Polygon",
  22501. coordinates: ["@@„XVl°bœUlJ@UVUš@„bVxV@@bn@nJ°I@U„J‚I„VV@V@k²VVKlXXVšb‚lÈX„ŽWbXV@LVJUbWL@Vkn@lšš@nV`@X@lÈIWanaÞVVVlLnKVL@bUlUL@Vlbn@VL°WXU˜Lna@aV@nV@IVV@VšbUnšl@V‚XnKVa@U„UnyWkXaƒaVk@ašašbnm@_WKXmWanU@alaU—l@XJVLVxX@˜wnKnVlwƒƒ™@V_@a¯¥@UkKWUaUU‚anK@IƒaU@WUaVw@klUVyUUVUUÇ@Iôbša@mnUma@kXa@UWak@Wa—l@a›@WUƒLmU@U`mIUU™`mUk@@UUK±nkJƒbUam@kwm@@a@UU@Ua@@K@ƒVK@kmKU_UKƒUUaĉWmkkL@`™LƒnmlkLkbmK@k™@Ulmb@b™„@Ž„xUVƒIUlmVXXƒxm@™JUUk@WUk@ƒakx±@¯x¯Umb™KUUVmUU¯UmVVn™WkÆ„lWb„„„ŽUnWVU¦k@WaÛV@LV`UxšXllU„@„@VVbnVlL@J"],
  22502. encodeOffsets: [
  22503. [126754, 42992]
  22504. ]
  22505. }
  22506. }, {
  22507. type: "Feature",
  22508. id: "2114",
  22509. properties: {
  22510. name: "葫芦岛市",
  22511. cp: [120.1575, 40.578],
  22512. childNum: 4
  22513. },
  22514. geometry: {
  22515. type: "Polygon",
  22516. coordinates: ["@@ll°X„ŽnV‚@XLVb@VVbnb@VšLVV@VVnXxlKnU‚l„_na@mlI„šmJnxlLša„xVbU„VV„UVU„KVlnnV@lmXLšÈWŽkxVV²bVLšm@Ula@UX˜@XW@UWaUUUUVan@V‚š@lUXxlIX„V@‚yXLšw‚ŽXXW°nblJnan@Vzš`l²nVVVl@„nUaVKšbVKnXVaUaVUšyšnXK@kVK‚@X@m@m‚LXa„LWƒU¯„w@™ƒa@UVw„¥°™ó¯¯y¯ƒUǯ»›w¯Iƒm—¯Ç™UUl™¯»ţKċÑţķm¯w@mU_ómk¼VnU`±IkbVlƒnnŽU¼±Lk`@X™Wl¦UbmVUxkXVlkbllU„Vb@bkVmx@XVV@Jb±aULkKWXkWmX¯aUJmIkVm@ƒxU@n„"],
  22517. encodeOffsets: [
  22518. [122097, 41575]
  22519. ]
  22520. }
  22521. }, {
  22522. type: "Feature",
  22523. id: "2109",
  22524. properties: {
  22525. name: "阜新市",
  22526. cp: [122.0032, 42.2699],
  22527. childNum: 4
  22528. },
  22529. geometry: {
  22530. type: "Polygon",
  22531. coordinates: ["@@šXnb°lš„VlnXVJ„LlVnl@zÆxnK@b„blKVLn@@V„aVLVK@L@Vl@XVVInVVKVwlUXwlKšL„ššVVb@aV@X„lUXbVW@n„lWnXKV@@V@XUVVLUVV@@bVVV@@ln@VbVUXV‚I„xVanJ@UšIVWšL@UV@@¤V@nInw˜W„k„lnIVx‚lnzUVÇJ¦VVÜLĸUnW@aV_šWĊXXa‚Knkl@nm™L™a@alUVw²K@UlmnIlJ„w„aVU™kmK@wÅKmU@DzVmVaÝwkƒKƒaÛ¯șĉķ¥ğ¥ƒ@kUWkƏī݃ƒ@@akU„K@KWIUm¯nƒU¯JmwUVmIkJÇLm@™UImJUU@aW@U@@nUb™JƒaƒbXVWn@UVmX@V@b„š@l@Lƒ@™lUb@x™nÇaƒbk@@xVJU¦lbXšƒÒ@nUJ@Vmb"],
  22532. encodeOffsets: [
  22533. [123919, 43262]
  22534. ]
  22535. }
  22536. }, {
  22537. type: "Feature",
  22538. id: "2107",
  22539. properties: {
  22540. name: "锦州市",
  22541. cp: [121.6626, 41.4294],
  22542. childNum: 5
  22543. },
  22544. geometry: {
  22545. type: "Polygon",
  22546. coordinates: ["@@nJ@nlmVnXKl@@°n@@¦‚V„bVbUlVL²l°@ƲÈV@LV‚knVb„VVnnWVU‚@XmWU„a„bšIVa@mV@X@@bVVnIVJ@š‚nÈKlInJVUnx°I„V°mVnXJ@LƒLlV@b„@ބƐĬXllV„@Ġ¦ĸ¦naWW@In@manK@UVkXJ@alk@»lU@ƒÅLUWl_@ša²£‚Kkm@kƒwVmULmƒ@akIUa@U@WUUVU™aÝ@ğ›wkƒƒmĉ£UWƒ@@bÇL@m—a@_mKƒlƒXUwKƒLţÓ@UWw@K@U„I@m™U@UV¥„@°UnJ°@@_™KUwƒW@UnaWUmmI@m™ķwUaÇLóVĵwݙUUW™¯šƒ¦Ux@V„b@šƒxV°X„ƒKWbK@n@nW‚@UL@lWL™m™zUVVbUbmWXXWJ—b˜n@Vkl@LlVUn@xnV@bln"],
  22547. encodeOffsets: [
  22548. [123694, 42391]
  22549. ]
  22550. }
  22551. }, {
  22552. type: "Feature",
  22553. id: "2103",
  22554. properties: {
  22555. name: "鞍山市",
  22556. cp: [123.0798, 40.6055],
  22557. childNum: 4
  22558. },
  22559. geometry: {
  22560. type: "Polygon",
  22561. coordinates: ["@@l„œxĠŽÞ@šbV@@w°Vna‚@Uk„V@K@UUUVa@K@w@UnKmUVan@@Uma@UXWƒWK@IUK@amW_XKVLlKna@kmKVak@VU„@VmšU@anIÆan@‚a„šUVnb@blLV`ÞLlU„bna‚Kn@naVU@¥°IVK@anUUKVaƒUVak™@mJƒkXƒ™UVwkƒVUUa°U@Wƒ@WlkXWlIXUlJlaœx‚IVVXLšll@nLV@lLXl„KĊzš¥maUƒlkXaVK„X°y„Ila@aVkala@a@¥„IUy@WmXaƒ¯kU@U@mmUƒƒULkmm@ƒ¯VmnLVU@a™ƒ@U@±w@™VWIkymLUUkJWXƒJkUmxk@™xUI¯`mUULmƒ¯„m@kxVVbWV@„UVƒIUx@bkšVšVVšxUbVV@V@zšJVXU‚lnk@@lkLƒlƒLUU±Jkšm@UIUVƒLUVU@™K@UƒnnV@l@Ll„ƒaUJ@zn`@nWlƒIUVUUUV±Ln‚@nmL@VUVkLVlUxVLVlÅXma™@@akLmWUX@JUnVJVkXJ@X@`WX„VUVUIlb„W@bVUVL@`Un@¦U`@bUV@z@Jm@@XV`„LUL¯J@IVKmKÅI@J™nWVnLnšVxV¤™z@bmV@VUV@bUL"],
  22562. encodeOffsets: [
  22563. [125123, 42447]
  22564. ]
  22565. }
  22566. }, {
  22567. type: "Feature",
  22568. id: "2105",
  22569. properties: {
  22570. name: "本溪市",
  22571. cp: [124.1455, 41.1987],
  22572. childNum: 3
  22573. },
  22574. geometry: {
  22575. type: "Polygon",
  22576. coordinates: ["@@lb@Vn„lnVVUb@šVJ@nnJ@bmXUx@xVbkbkŽWLUxnl@Ul@„xWx@nUV@¼Ull„knkK@bmbnl‚LVJX@VIVJn_lJVVšXUmnU°VVVUnVVšLna°V°w²@lw„bl@XVl@VVšIn@„wWWnUVk„JVUƒw@šƒ@anaVkš@@lnLlalKnk„mšK@_lKnlĊXVb„VVLV`nL@lUL@„@L@‚VbV@@V@bn@lxn@Vb„alI²mVL@Vl@nVš_VVnJV_‚@nV„K‚V@Xœ‚@b˜kXbl@XblylUUkš™@Xa@UVIlK@UUWVU„Llm@UUUnKWU@K@UXm„XVa@U°KVUUWUk@ašUVKkaWkƒKUknaWa@U—@m@mk@ƒaUJk@@_WKkLmx„l@nUJmIUWlIUaVWVXn@xWLk@@aƒJUI@Uƒ@UVVxm@UVk„mb¯VUU¯JWUƒ@Ån¯aUbÇ@ÇlLmWƒXkbƒƒk@UƒƒIÇVƒUXW™wÇnk@±aU@@bUVUKUXmVƒ@kaUm@k_±l™@XwVa@kVK@U„Wm—VaUmVUUakLUWWnÛKƒVW_—m±V™nƒU¯@Umƒa@Xk@ƒl¯V"],
  22577. encodeOffsets: [
  22578. [126552, 41839]
  22579. ]
  22580. }
  22581. }, {
  22582. type: "Feature",
  22583. id: "2108",
  22584. properties: {
  22585. name: "营口市",
  22586. cp: [122.4316, 40.4297],
  22587. childNum: 4
  22588. },
  22589. geometry: {
  22590. type: "Polygon",
  22591. coordinates: ["@@ĊĖÆn¤„„°Ċ¯ŎWšô„@xXb‚wnKl@nX@VUVƒKmL@VU@Ux݄@Vlb„x„U@VUb@b‚kœ`‚IUlVUn„V@@UV@@JnXlK@bš@nbÆWUkUKVwUklKVU@UnK@mm²KVUVVVU„JXk@mm_@yVI„bkƒ@K@kmU„m@VšLV@VU„KVUVJn@l™²IVV„K„klK@kl@kmVUW™I@y@UUUVa™wUUU™l™@akmmVaUKmIUaƒJk@ƒwkaóIWWÛL@UlmUIU@WW@UnUUm@wmIVK@Kĉ¦™@bWKk@max@bWXkamKƒ@mVkKmxÛaWX@xUlÝnJ"],
  22592. encodeOffsets: [
  22593. [124786, 41102]
  22594. ]
  22595. }
  22596. }, {
  22597. type: "Feature",
  22598. id: "2110",
  22599. properties: {
  22600. name: "辽阳市",
  22601. cp: [123.4094, 41.1383],
  22602. childNum: 5
  22603. },
  22604. geometry: {
  22605. type: "Polygon",
  22606. coordinates: ["@@š`Vz„‚Wn„VUV„L@bVbVJ@IÈbVb@lVLXW‚n„š„x‚LnKVŽšb@„n@Vbn@mƒ„V@šl„IVa„@@WškVV„I@KVLVanJV_VW„UV@nn„JVI‚Vn@na@alLlmkƒVk@»VU@mXwƒwk@@VmkVwXKllaUa@wVwnW@amI@mUI@™VaUUkmmƒ@UkaƒL@ƒUIĉyƒLWkkKU@mKk@™kWKUUJ›wkbkIWVkJWXkl@X„‚@X¯VVbUVl„UxšVW„„lnIš@l‚Ub„VUbVLmV@bUL¯J@¦UVmbm@LmbƒakVÝKU_kK@amaVUƒ™bm@ÅbmJ@b™VUnƒ@UVl@UbnL"],
  22607. encodeOffsets: [
  22608. [125562, 42194]
  22609. ]
  22610. }
  22611. }, {
  22612. type: "Feature",
  22613. id: "2111",
  22614. properties: {
  22615. name: "盘锦市",
  22616. cp: [121.9482, 41.0449],
  22617. childNum: 3
  22618. },
  22619. geometry: {
  22620. type: "Polygon",
  22621. coordinates: ["@@Vbĸx‚š@nnJVnXŽmb@V„XVxšL@`¯@mI¯Vƒ@U¦@VšV@nƒJ@V@LXx@VŤÔ„K‚LVx„W„knL@`˜b@nÈK@a„@VXĊ¤„nVK@aVU@UnU@ašyU£Uwm™mKXUšm@IÆJnLUL@J°IVKƒKU_@Wn@@I@yVU@aV_@¥Vm@_UKUV@aƒXkaVJVUƒUXW@_@WWIUlUIVm@IVW@IU@@VU@mƒUVVkJ›_l@aVa@UƒVƒwka@UރVwV@@UnK„LVU@UmWk@mLxWa@wóƒUVUIÇÆĉ¦¯¦¯xʟJ"],
  22622. encodeOffsets: [
  22623. [124392, 41822]
  22624. ]
  22625. }
  22626. }],
  22627. UTF8Encoding: !0
  22628. }
  22629. }), i("echarts/util/mapData/geoJson/nei_meng_gu_geo", [], function() {
  22630. return {
  22631. type: "FeatureCollection",
  22632. features: [{
  22633. type: "Feature",
  22634. id: "1507",
  22635. properties: {
  22636. name: "呼伦贝尔市",
  22637. cp: [120.8057, 50.2185],
  22638. childNum: 13
  22639. },
  22640. geometry: {
  22641. type: "Polygon",
  22642. coordinates: ["@@„m@Łkƒ™Žƒklƒôƒ@£kJ°ý™ɅķÑó¤ğLĉÅlÇğŁW¯¯›™ƥóÿlwkţÈéÝƛó™°ÞÅxV¤ĉĖWƒ¯lȭţυ̃ɱÿķƅˋğɱřÝţϙȍƧĊţ@¯kWKUKm¹Å@ķJU@ƧÑƧ„ō¥˹Ɔ@L@„Þ‚VLnš@VōČWJX¦@JŻbU@ţÞmVU@ȁýóbkWWLƒƒÅ™¯UWġkmóƒ±UŹôV¼ƽ¼ƒł̥ĖƽǬʉxĉŽŻȗKΕ̛ʵƨʟÞ˹»Ƨţ»Ǖō˷Ȍ±ȚʊĠUɾɜɨmÜ֞߼˸ƅȂ¯ǖKˢğÈÒǔnƾŎՂ@šĊbôô̐¼ƒ@ĊôĊŽÞĀ™xšĖƧL±ŽœŽ‚Uš°U„°ĬƒČ°ÜƒêɴȂVł°@ƒ„nxŎèƒbȄÞȌ΀Ǹl޲IlxĊl²ÒmšôĖ™Èl„ĵºm„ÈêVþ„xɛČʉÇĵVmš„ÒƒÈɆôƐŰǀĊ°ÆǬĮƾb„yĊ@ĠšƒXǀċm»ôw°Ûk¥Çm¯ç™kkÇǫţǕéX_ĶWǖīŎaÆĵĸĊ@ȚȘ‚™ĊLĢĉ„VÆĉʊÇĕóaU¥šĉ°mkŰġUĠřk°mƒÑČÿ˜ÛƒWĸ£ʠšÆxÈÞŎÞ»ʈ²ĊÇČalÒ°Ť±ĸz„ŽĊKȲm¤Ŏ@Ò°¼nyȂUźīǖƳÈē°@šÝ̓@ƒÈkl¥Ççkxk™›JXÇƒUÅ@˜£k»„óƿīÛ@lÅJl¥óý@¯ƽġƍÅan™ċ™°é¯¹"],
  22643. encodeOffsets: [
  22644. [128194, 51014]
  22645. ]
  22646. }
  22647. }, {
  22648. type: "Feature",
  22649. id: "1529",
  22650. properties: {
  22651. name: "阿拉善盟",
  22652. cp: [102.019, 40.1001],
  22653. childNum: 3
  22654. },
  22655. geometry: {
  22656. type: "Polygon",
  22657. coordinates: ["@@™ƏnǟƨʫšŹɆÿ°¯ÆV²ˢ™żÿ@ÝÆŁȰ¯ȀƳĉó™™@ğkyš¹@īš›ƒwl£Źƒƒ¯Ŧé@™ÇÇxŋĉƩUUŃōL™Ç™ĵóÝnƒóç@™™ó@ġƒƱ„¥ƒç™WUçÆōƒ@é—çťK™çȭVһƽ̻aW¥ȁ£ʵNJǓƲɳޗǔlżÞmĠóĬȂɲȮ@ÈĢŮźÔnĶŻǠšŎȭœгŃċóȭţΗÆƑÞƧÅΫóȘǫɱȁġlÛkǰȁÈnšõl¯ô„ÞɛÝkĢóWĊ„zÇɼʝ@ÇÈķlUČÅÜķnέƒǓKȮŎŎb°ĢǀŌ@ȼôĬmĠğŰōĖƧbЇƧōx@ķó£Ål±ĀƧīXÝġƃêĉK°Ýʇƅ@ΌʉżÅÒϱʈ@˺ƾ֛।࡬ţશóЈèʞUš¤Ґ_޸Ƒʠɽ̦ÝɜL׈ɛϜóȂJϚÈ@ǟͪaÞ»Ȯź"],
  22658. encodeOffsets: [
  22659. [107764, 42750]
  22660. ]
  22661. }
  22662. }, {
  22663. type: "Feature",
  22664. id: "1525",
  22665. properties: {
  22666. name: "锡林郭勒盟",
  22667. cp: [115.6421, 44.176],
  22668. childNum: 12
  22669. },
  22670. geometry: {
  22671. type: "Polygon",
  22672. coordinates: ["@@ʶĬĊIȘƨƨŽ@ĬÛĢșŤĉĬƒĀóšU‚ÈŚÜènŦƐȤȄłϰUƨťƾÑ܆ğɲƜǔÈèʈƲĊƞƒšɆ¯̼V˺Ò˺ȂŤVĢêU܃x„Āˌ˘ƨ„ưѢmÞżU¼ÆlŎ@ĊçŎnÈÒͪŎźƒĸU°lżwUb°°°Vš£ÞlĠĉĊLޏɆnźÞ„n¦ĊaȂīġѝIĉůl»kƒ„™Çý„¥Ŏ¯ƒén£ġљÝȭxƒÇ™@Åçķ»óƱŎ¥™çWÿmlóa£Çb™yVÅČÇV»ÝU¯™KĉýǕċţnġ¯»ÇōUm»ğƒÑ™wƏbċÇŎċwˋÈÛÿʉѰŁkw@óÇ»ĉw™¥VÑŹU™mW»ğğljVÿŤÅźī@ř¯ğnõƐ@ÞÅnŁVljóJƒwĊÑkĕÝw¯nk¥ŏaó¦ĉƒV¦Å`ğуÑÝ@mwn¯m±@óƒÛKˍƏǓ±UšÝ™a¯lƒōšșk„èƒĬގn@ŤġŰk°ċx@œĉ`Ƨĕ°@ţÒĉwmĉ@ƒƒnƒƒa„™¥ķnƒÞĉVóÆókĉŽķ@ÝkƧƧÛaƒ°Ç@ÝÈU˜óbݼ@„ÛÒV°™@V¼ˋL™ÞɅŤŹǠVÞȗŤÇĖŚōbȁƜ"],
  22673. encodeOffsets: [
  22674. [113817, 44421]
  22675. ]
  22676. }
  22677. }, {
  22678. type: "Feature",
  22679. id: "1506",
  22680. properties: {
  22681. name: "鄂尔多斯市",
  22682. cp: [108.9734, 39.2487],
  22683. childNum: 8
  22684. },
  22685. geometry: {
  22686. type: "Polygon",
  22687. coordinates: ["@@ĶL²ĬVłƑkkl@Ȏ™ŘWńÈĬȗ¯™ºlz@ĠššĊôŦô„ÒĠ°kÞܚ™n@¤„UĸèĸbŌÈXŽĸLlÒĢxɲÆ¤ÈÛƾJÈݰUšÅĶ»²VW¯ĸJôšbk‚V@ôlbnĊyÈzVôašb@ĸ‚ÞUl°yǬ²Ǭm°ššk„±lbn°@È»˜JX„VŎÑÆJ@k„LšƒÆl²™Ġ²ʊůĊġ‚řóƛÞÅ@m„ƒmLUÿóĉƧ@™»L@„›`ČĸmšȗÑţů±ĉğl¯Ā™wǎƒçƧŤÛI@±ÜĉǓçō°Uwô™ǫůķƳř±bÅ£™ÓÇwnÑó@ȁƽ@™ƒÇƧĢón»ŏĕóĊ¯b„Å™™VȯÅImƒōKU„™LǓ±Ýxċ—ŋ˜V±Āȗ°™„Źl±šÛ@WÒȁŚŹНŚÅèŌô„¼°ȰɞȂVĊ"],
  22688. encodeOffsets: [
  22689. [109542, 39983]
  22690. ]
  22691. }
  22692. }, {
  22693. type: "Feature",
  22694. id: "1504",
  22695. properties: {
  22696. name: "赤峰市",
  22697. cp: [118.6743, 43.2642],
  22698. childNum: 10
  22699. },
  22700. geometry: {
  22701. type: "Polygon",
  22702. coordinates: ["@@ɲŁĢljĊwƾōÞĭ°_ŎŃźȹƒUČÿl»¯ôķVÿǬƽ™ɅġÅÑǫ»̐ʟȣU™¯wVWݍÈġW»Þ¹m݃ɛŎÿŎōͩůV¹›ō™éċ™óŹÅVVĢǩʈ@Ėċ@ķšÛšV°¯xÇÅţ¥™»°Ûô™ĉʟ„¥WýČ¥™w‚灻±mnÅķ¥ˋVƒbUÒġ»ÅxğLƧ™ƒbWĖÅxš¦U°ÝVóŰlô²@š¥ÜÞÛô„V@²±`𦙄™¯Ý@„ŽÅ„VÒō¼ôš™¤V²ŹĬÇĊƑƒţxƒç¯Lk»ʟlƽýmłÝÆƏ@mö°Ġ@ŚŹĬţÆUĀĠNJĠŽX¼šnźVUҚ¦Ċxȼ@ôlx¯łʊÒÜĀˌÇČxƍČÈƐašx„ÒĠŽn¼ŎVȐ‚¼Ģ°ŤmǖČĊþšLV°ÞŽU¼ċÈUƚzÈa‚¤ôbkŽ‚nXšè"],
  22703. encodeOffsets: [
  22704. [122232, 46328]
  22705. ]
  22706. }
  22707. }, {
  22708. type: "Feature",
  22709. id: "1508",
  22710. properties: {
  22711. name: "巴彦淖尔市",
  22712. cp: [107.5562, 41.3196],
  22713. childNum: 7
  22714. },
  22715. geometry: {
  22716. type: "Polygon",
  22717. coordinates: ["@@²@Ζǀݴʶհĸ„˜ƒ¦Ķ™̒Uˌ¼ӾÇƾ¼̨UÞĉ˜Ƨ—éÝ»ƒĕĉ—ƐȍœōǪakó‚ó¯a@™ôţ™aV¯Þ¯°@²él¥ĵğťwōxó¯k±š—Vó@™aóbUÇyĉzmŽkaóŽU@l™aó‚ķIX°±Uĵ¼™Æ¯VÇÞƽIÇÜÅ£ɱŽġwkÑķKWŋÇķaķçƒV@£šmۙlÝğ¯ƒÑťóǿƴȯ°Åł@ÞŻĀˡš±ŽÅU¯°ɅĀ™źƧʬmǠšƐ"],
  22718. encodeOffsets: [
  22719. [107764, 42750]
  22720. ]
  22721. }
  22722. }, {
  22723. type: "Feature",
  22724. id: "1505",
  22725. properties: {
  22726. name: "通辽市",
  22727. cp: [121.4758, 43.9673],
  22728. childNum: 8
  22729. },
  22730. geometry: {
  22731. type: "Polygon",
  22732. coordinates: ["@@ôƲĸ¼Æèš@„ÈȮwƾ»ʠĢ¥VÆ@²¥@»Ŏњ¯ĊJŤ£k»ÆÇX¯̼ōšī°aX£ôƒƾȁꥄƒ™aôŤ™ĢL°ƒĸ@Ȯ¼ÈÒʈŚôVXůÆaĠƛÈKƒķšĉôÿ@ğÈĉ™»ÇVn™ĉV›wXĠݰšČÿĸwVƒ™¯¯ǵ±™ĉ‚ǫ™ÅÅm»²Ż±ƽIm¥ţÈķ@¯šƧJV»ÞUÝç¯UġºU£ţŽóaÅÅlƒƒ™Ƨī¯K¯Þ݃ğL̑ȍƽ@ōŎōĀƑɜnÞݺX¼ÇĢގUX°xVšʠȤ̏Ǭ¼ÆÒɆ̚ŽǫƾUĀóĸ°‚k¼ċĀƑVŹȺōń¯`ÝĮƽŎĉxġNJɱłō¦"],
  22733. encodeOffsets: [
  22734. [122097, 46379]
  22735. ]
  22736. }
  22737. }, {
  22738. type: "Feature",
  22739. id: "1509",
  22740. properties: {
  22741. name: "乌兰察布市",
  22742. cp: [112.5769, 41.77],
  22743. childNum: 11
  22744. },
  22745. geometry: {
  22746. type: "Polygon",
  22747. coordinates: ["@@ʠǠÞĸɲȺƒÒȂƛŎaƙÈĕȘţUÝźǟɆţšÝˌKU»š@U¯ÜÑ@ƒÞ»ôaV—ÞÇÈ@„¯ÜbƨƨÞlĸ@ĊôlôÅĊU„Ýĸmš¦ƒŽ„bm„„„Ċ@n‚ĊxŤÑ@¯‚ƨĖĊ_@›Čwl¯™ƒȭL›Ý„»ƽ¯ķů„Ǔ@ÇǓbċ™ÅÅÆwÿĠÇU£óaƒ¥¯aŎğĠţkw°»¯ůlÝĵkǻݰɱƧǫaóôɱ»Çk¯ŃóƒʇŐŻ›ĉNJŻĢ„ޝÒÈUl°ƒx°n„Ò™Ĭón™Ċğ°ÇŚĉ¦ʵVƒ°°ĬÛżÇJȁńʇʹó˂ƽŎ›Æţ¦"],
  22748. encodeOffsets: [
  22749. [112984, 43763]
  22750. ]
  22751. }
  22752. }, {
  22753. type: "Feature",
  22754. id: "1522",
  22755. properties: {
  22756. name: "兴安盟",
  22757. cp: [121.3879, 46.1426],
  22758. childNum: 6
  22759. },
  22760. geometry: {
  22761. type: "Polygon",
  22762. coordinates: ["@@ÆXnlŎ°@LVLĠþœxĊUȮĊnU„ĠV@żaW¯XIŎġƒ¥Ý@K@w@K@I˺ŻŎ¦ƨƒƨÒŎIÆ@X@VºnX°lŎ@ƾĉˤƒȘǷȘÑÝݚÞbVţĸÿŤxÈĖƐށêÇKnĸ¥ô@›ķÞUnÒl@UŚaƒīˋƒ¯ÑƧx@±kXřƐƏÛéV™ˋ»lō¯ĉ„ÅÇÓǫޗĖġV@ğ»›°ĵ„ÇÞǓ¼¯m˜ÛÅŃĉĠÇƾb²çƒ™šéż¯VƒƒğÞml»ōÑV痻V¯™¯šĕÆU¯y°k¯¯V»ôDŽѰa@Źk™ġKţšóŽšbƒ„ʦƽȂó„W¤¯b™Ĭ̻ŎW°ÅÈl¼ţ¤ĉI™°ōÒ@¼±¦Å@UŽġ¦ʟŽƽ¼šÞĢÒm¤„êō°ƒ¦Èþƒšl„k¼Ċ۰JĢńȁĬ„°ƒżn‚ÇbV„ݼ@¼óĸţ¤@°Ånšl"],
  22763. encodeOffsets: [
  22764. [122412, 48482]
  22765. ]
  22766. }
  22767. }, {
  22768. type: "Feature",
  22769. id: "1502",
  22770. properties: {
  22771. name: "包头市",
  22772. cp: [110.3467, 41.4899],
  22773. childNum: 5
  22774. },
  22775. geometry: {
  22776. type: "Polygon",
  22777. coordinates: ["@@źxżĀǔÆǬVȘĀŤ¥œÅƾōôˁʈͳȂŃÈIÜŻ¯ī„¯ōm™¯ɱ˝ƒķÒÝIÝ»ÅV™ƒlÅôфġ™ğVmÞnnƒWçkW܁XƝÆwU»Șĕš£ĉÑ𱱚Åk™„ƒK@lÅIō҃UW‚—IǼ¯@m‚kaƒ²™l¯™ǫnǫ±¯zkŽÝVķUô™˜l²ô°ŎwŦxĶĠk¦±ê¯@ݰU°šbóŤ@š°bôlôǩb›ŎƏȎĊ˜„ĖÞ¼˜ê—ƨÝĊ"],
  22778. encodeOffsets: [
  22779. [112017, 43465]
  22780. ]
  22781. }
  22782. }, {
  22783. type: "Feature",
  22784. id: "1501",
  22785. properties: {
  22786. name: "呼和浩特市",
  22787. cp: [111.4124, 40.4901],
  22788. childNum: 6
  22789. },
  22790. geometry: {
  22791. type: "Polygon",
  22792. coordinates: ["@@ʶUĊ¥ÈřĠ¯šĉômšīƒÑ¯m„wk¯ÇV°ÑƒżġĊljǓɱţǓ›ƝóX¯ƒɛÒóa@nÝÆôƜŚĉĢʉŰĊҙ¤ȗĖV¼ÅxWƞۂlXXèm„ÝmUnšĠƒĢóÒkƚ„ÆUÞ¼ÞJĸѰ„ɲĕš°Ŏn"],
  22793. encodeOffsets: [
  22794. [114098, 42312]
  22795. ]
  22796. }
  22797. }, {
  22798. type: "Feature",
  22799. id: "1503",
  22800. properties: {
  22801. name: "乌海市",
  22802. cp: [106.886, 39.4739],
  22803. childNum: 1
  22804. },
  22805. geometry: {
  22806. type: "Polygon",
  22807. coordinates: ["@@Ș°ÇīXњŗ@ȍlkƒlUٱīĵKō¼VŽÇôXĸ¯Ž@šťê„°ź„k¤„x™œ@Ĭ"],
  22808. encodeOffsets: [
  22809. [109317, 40799]
  22810. ]
  22811. }
  22812. }],
  22813. UTF8Encoding: !0
  22814. }
  22815. }), i("echarts/util/mapData/geoJson/ning_xia_geo", [], function() {
  22816. return {
  22817. type: "FeatureCollection",
  22818. features: [{
  22819. type: "Feature",
  22820. id: "6403",
  22821. properties: {
  22822. name: "吴忠市",
  22823. cp: [106.853, 37.3755],
  22824. childNum: 4
  22825. },
  22826. geometry: {
  22827. type: "Polygon",
  22828. coordinates: ["@@nLV‚@šVLšaÞbn@@l˜š@bUVlUV„zVx™¤kÞVèšXnš‚@nm°a@UƒÑ„@VŽXnV@Va„UšŽVKUUU@@U‚@@KVa@U²@‚wXkWnk„±lLnU@UmmVKnIVWnI@UK›@UK@@UVKXkmWLWUXmlkVwUyVa@w„w@aVI„K@aVÈw„KlLVV@LnV„VVnU‚ܲ°WÈIUÆ@nÞ¼‚‚@¦™@UÞUVW@UxUxVn„b„K‚b¯ÞU`VbǬ™V@XXÆVVl°InmnUôƒ°¯‚anam£œWVX‚KXmškôaVU@ƒVak@@wmaƒn@K@UÛUWKXUƒÇƒ@UI™b@alW@akLUKV@@Ukw±Iš›nL@kmwkWmk@JUIƒůVmnnU@m@UƒK„VKlkUwkƒƒnVUKmbkI±š—KƒkmVkKƒb@U@aƒVkUmn™`kIlaUK@UUKmbUIݚUa@mUa@aƒ„m@UUULUK@bmKkbWI@WXwlkXƒWa@k@kKƒLVkkK@L@JUVmzUKlwUUnW˜£XVlKUwVU@aXI@aWaUw@W@_nam@¯‚UkWVkUWaU@nwmJkUVkWVUmUkJ@ImbUaƒ@@WÅ_mJknmak@@mƒXƒaUV@„ƒxUšƒ„@‚ƒ„@VUnkVƒ@Vn@`ULUbWLXVW@kbUJ@XW`@ƒnÅĖWJƒ@—m°@xƒxšbnUa‚w²lƒÞ°xŤIVVULۂWbšbkVVXÆ`UbVL„@kx°LlV@Vœ„WbƒJn@bl¤ULV„°@lmL@ƒƒ£U@@aUwmKULVxUVVx@„™@kU™@mK¯LÇa¯@"],
  22829. encodeOffsets: [
  22830. [108124, 38605]
  22831. ]
  22832. }
  22833. }, {
  22834. type: "Feature",
  22835. id: "6405",
  22836. properties: {
  22837. name: "中卫市",
  22838. cp: [105.4028, 36.9525],
  22839. childNum: 3
  22840. },
  22841. geometry: {
  22842. type: "Polygon",
  22843. coordinates: ["@@°@Èb°KnLš@lVš@@ƒUwVUUwVKnLVx@bV@„¤@„nK@k‚¯UƒVKk£@a‚m„IXa›ƒ@UkU¯Klwƒ@UKVaÅ_UWlU™aXa܁VKUUţJ¯w„ݱkxVbmŽ™a„w@wn¯˜„@XIÆĕ„m‚@X_@WVIlaX@WUXKVaVK@_Um„@lUVm@U„ƒ@„ƒV™„w@ƒVUÛwm@@W@ImKUkU@Ua‚aXƒ@wWaUKkw@UVaUamLU™nk@»±`¯@k—W@Ua™ykbƒI„„@VWJkLWUkJƒwU@ƒn¤mL¯wm@Umƒ²XVWbnV@bmxƒVkxUblLUV@kVWKU¼ƒŽkUƒ@mn@JnV@bUnmJUn@„k‚@XlxšLVVnKlLVV@š@LkKULVbk`WL@lkXW@kVƒ@UÞUlÇX™lkaUbmV¯@@L@šƒV@bkb@xƒlW„—bƒbW@—±@UJ@IU@mVk„VxV@@l„Illœn@Vm@ƒVUbl„@JLmKÛXmVkU›KULU`@LĉwƒKUX„lVUl@Vb„JX¦̼bÞxŎxɜĖĠ„Ŏaô@"],
  22844. encodeOffsets: [
  22845. [108124, 38605]
  22846. ]
  22847. }
  22848. }, {
  22849. type: "Feature",
  22850. id: "6404",
  22851. properties: {
  22852. name: "固原市",
  22853. cp: [106.1389, 35.9363],
  22854. childNum: 6
  22855. },
  22856. geometry: {
  22857. type: "MultiPolygon",
  22858. coordinates: [
  22859. ["@@Vnn@°xnK‚£„mV@„xlIXVlKXI@Uƒƒ„JlašzVbX@l˜°@²_@¼mlVšnKVbUb@VlxVLXb@xW„bVbV@VlnL@J@Xn@Üx„b„W@nl@nblmnIÆ`@X„@Vbna@aVUUWVkƒ@kbWakbU@VwšW@_l@nmn@@alVlk@UkmVak@@a‚UXaƒL@¯@KVa@axWI@KnkVaVJn_lJ@„X@‚m@nVanUVb@mXLlJ„VWnLla„VVaVX@KXVVkVKlknKVa@aVU@KXb@klJUknUmƒ@K@_UW@alIUamaU¯kJma@IUK@U„@@UW@@aXLVƒVJVaXIƒKlaUkUV@ambUUJkIWJ@wUI™V@JU@UwV@@Um@™nU`@UkUmVUxWUUV@aÅb@aWXkKUUƒUUaWK@wnm@IVU@aXwm@UmVaUalk@anKUwlƒUwlkK@wmaƒUkmmIk@VmkUUbW@UVUnW@kV@xkVmbVnU‚™@UbUV@a›k@kkW@„kLW¤@„nV@VU@W_UV™UU`VLUV@IUVõVULU@UUUJ@wmkUJ@šWI@l@bkKkbVVƒbVbUL@UUJ@Vm@@L@xbVVVLVlVwX@Vb@bmUkbk@@JWIUVÅw@Km@UkWKXxWLÅ@UVUnWK@xkVW„@KULwWVXVWzXVVKVXkV›V@VUbV@U„VV@š@LXxVL@V„b‚Ž„LnKVLVxXVmb@l"],
  22860. ["@@@J@aƒU@LWK¯UUxVVn@Ġ„„LUW@UbUUUa@KUX"]
  22861. ],
  22862. encodeOffsets: [
  22863. [
  22864. [108023, 37052]
  22865. ],
  22866. [
  22867. [108541, 36299]
  22868. ]
  22869. ]
  22870. }
  22871. }, {
  22872. type: "Feature",
  22873. id: "6401",
  22874. properties: {
  22875. name: "银川市",
  22876. cp: [106.3586, 38.1775],
  22877. childNum: 4
  22878. },
  22879. geometry: {
  22880. type: "Polygon",
  22881. coordinates: ["@@šUšwVK@UVWÞUšbšw„V@knV˜@@KU_VK@K„ƒn@W_XWlL@Vn@Ċw@Ulaœ@Wanamī@aƒ»ŋó@aÆÅɲÿUaV_°ÝaƒLƒaUmVwVwX@VUVݚ@@¥Ý»@mVÅÇJ¯XÛ±VUmƒUmU@KUUkKƒLÇxUŽ@bƒLUJ@bƒx@xUbVzUxklWnXV‚KnXWlUL@V@ŽVLœ@VL@ŽmJUXmJULnn@VmVkKƒ²mlXWlx±@@VUb@L@@VV@VVUL™ƒVUbU@WmUƒ@„Ò@V¯bmn@VŽƒ„@lVnUšnVWŽXVl@¦VVUn@x‚š@‚XL@¦‚lXxš„Vb"],
  22882. encodeOffsets: [
  22883. [108563, 39803]
  22884. ]
  22885. }
  22886. }, {
  22887. type: "Feature",
  22888. id: "6402",
  22889. properties: {
  22890. name: "石嘴山市",
  22891. cp: [106.4795, 39.0015],
  22892. childNum: 2
  22893. },
  22894. geometry: {
  22895. type: "Polygon",
  22896. coordinates: ["@@U¯ķó±ÇÛ¯™ķmbXb›@kb@Vĉxm@@UkKWXX`m@ƒ„@LULV`@L—@mU@lƒU™x™aÝVUX@VUL™x™VkLWVšš@J„nVLXVlŽUV@zl‚VL@V@b„„n@lU²WVLlLVbUŽVxUx@xǀL˜xôҜk‚K²ŽVa‚U@wXa@W™ÈĉUa@‚bÈk„m@¯"],
  22897. encodeOffsets: [
  22898. [109542, 39938]
  22899. ]
  22900. }
  22901. }],
  22902. UTF8Encoding: !0
  22903. }
  22904. }), i("echarts/util/mapData/geoJson/qing_hai_geo", [], function() {
  22905. return {
  22906. type: "FeatureCollection",
  22907. features: [{
  22908. type: "Feature",
  22909. id: "6328",
  22910. properties: {
  22911. name: "海西蒙古族藏族自治州",
  22912. cp: [94.9768, 37.1118],
  22913. childNum: 7
  22914. },
  22915. geometry: {
  22916. type: "MultiPolygon",
  22917. coordinates: [
  22918. ["@@„V£°š@laœXô±źwš™ô@„Ulƒża܍n™Kƒw@U„aƒ™ša²L‚mÈLƚÈxlaUa„wÞmÜbÞUšnJ°a„kôƒ‚ÑkwÝVğwÇ@ÝkkV¯¥@ò„»„nŤ¥XImw@mVwša@Åw™mLkaW—wƒ¥l»kçƒó„»@ƒWÑĉŽğ@ĉ„™‚Ń„UwóřVómĵ»™™Ý@VǕ¯kšÝĊÅk™°ÓUklkU±šI„ÇÞkƒ±@šƽJƒ™@UġIk@W¦™VÑșÓÅnťKULnޝX›ƒ@¯mUÛ@WřmóKknōbƒxÝ@ƒŽU@kw@ÿÇLţšÝUkšmwƒŽk™lċVŚU¦™ŽƒLkUWlÅÑ@aƒ@ÅѱUóġʼƒÈĉmŻ@@wkw™Kl¯U™ġ@—„lÇU™Ó¯_ƒ‚Waĉ²Åló¼VbknƒKǎÅ@ƧĢō°Ý@ğ„W™ÅxUUm@™‚ÝXۂW„ULUè¯@mbUaƒLƒbUWġxIUJWz™a¯b™y™@ōÈóLU`ÇXUl™UĉV¯n›mÛbǕLklƒUĉVƒšóaġ„ƏbġKţnkbÝmmnÝWȭȃŽÝXţWókUÇl¯U¯‚ġUɅĀ@°¯„„š¯„VÆnmJ@ĊķnóJUbÝXUlVškL@lVxnnmb@¤Vzš`ÞÞŤ@„VnÆJV„°b„UôJkzlŽkl@²óš@ÆÇ°k˃šÇbÛU@lmb™XV˜kzƒV™ŽɅĀXˢlń„ĬŹ@›éÅ@ĉńưğbUšlŽɜ_°‚@xŦ˜škbVbƒKĢ„ŤVŎް@żÈźlĊ„ôKôb@nôxŦ„Æ@ôŽŎL@þÆb@šnnšWˌbÈx‚InaŎxlU@Ѳ±ƒğVŨƨbɲ@Þ¥ôUUķWVô¯ĊWʶnôaŤˁ@£nmnIôŽǪK°xUXô@Ŧa°m‚kXÆÞVŎkĊ°ÞLȄôyVašIlwX°UVwĢÑÜKôw@nV@œm°nmŽn„Ü‚ɞ£VbmŽXnƒ°ÜÒ@xx@V‚b²UlbkxVnšJUnVVĊ°KȚm°nxÇnn¤±¦@ŽUXVV@„lV„„bmVVȁŽVxšÒ™°šIšbźaȃšbVwš@šƒVL„™ƾÑ@ƒŦô¯ĊkôÑ"],
  22919. ["@@„@šƒ„@n„òVœa‚w²bVxšxÜaČVô_ĊJšIVmšL„a°@Ŏ¥XlK@ƒšk„l„KVbUb˜@nUĢn‚aÈ@lmǬ»Ġ¯œn‚mnƒƨVy™Ñǖ™Ġ»ɲInŽ‚@@ÅĢƳ@¯°™ôV„KÈbVIÇ¥¯@Ýó„™@ÑnīWKšƒk™‚k@¥š™¯™Åa™Xƒ±VÅw@±Ġ¯@»™š™n™Wmw@ƒ™@¯ƒVƒUUWçƒKĉ„a±VkkƒV¯w™x@šUJ‚x@bknÇb™mÅ@Uw±U¯¦UŽ™Kmš¯I¯Žť¼ğĊ™@ǃŹÈ¯@Ý»ÇnˡJƒbÛèÇnƒ„ÅK¯„ġĠʐW¼Ålm„@¤n²ƒŽÝb@b„š¯lƒ¯@ƒšÅ¤W„™¼nV@x„„°@Vx„@lbUblbX¼W‚œšÇ²lšUŽ@¼ŽV¦@bÇlVxUbVxÞbVšœbm¦ƒVV„"]
  22920. ],
  22921. encodeOffsets: [
  22922. [
  22923. [100452, 39719]
  22924. ],
  22925. [
  22926. [91980, 35742]
  22927. ]
  22928. ]
  22929. }
  22930. }, {
  22931. type: "Feature",
  22932. id: "6327",
  22933. properties: {
  22934. name: "玉树藏族自治州",
  22935. cp: [93.5925, 33.9368],
  22936. childNum: 6
  22937. },
  22938. geometry: {
  22939. type: "Polygon",
  22940. coordinates: ["@@ɆÿĢV°°VÈklVôŤXÞW„ȮÇÞXnmÞnlaŤmĢLƐãôb„™ĊU„VlkǖKÜaœn°mĊUšVVkÈWV_ôKŎǚ@šz°ašbXyVI‚JĢwVX„a„KVbna°@VçVKXƒÜÞWšn@VVÆwXšĠƒÞ@Ŏ¯ƨġÆ@ȍ„LlmUaô»ÆkĊ±Xb„°`šÔV‚kȘƒĢ@Všk°šLlx@xż@Ċn„Çź»ô̲VÆÒ„@@bÆÒXklV„KšV¥Æ™ČUšk‚l„nxl™çƒ¥ċç@±m¥ƒwÅJƒ@™™™Vƒ„mÈIléÈa°U¥™™@kÞV‚K²ÑWƒ°w²Ñ‚K²ñšyƐ„ÝšVmw„»kkWĉ—JWUƒVÅwƒL™mÅ@@ƒmw„kn¥Vу»°™°@@»„¯„Lla„JônV‚UůƒU@W¯Umѯ¯k@WykU@¯„wV¥ƒkVwţƒk»šwWǜĉĶçšK„ƒÞ™ÇaĉbƒI™lUƒ@kwƒWƒXUƒ°w™±@UšKn£Wĉ—KWxƒkĕVƒšamwXw™@™„Wmnk@aƒVkƒ™bĉLƒl™Imm„wUÇ‚Wx™nÝJn@¥Æ™kwƒaXƒÜĉ™¯ÅV¯¤mkƒx¯kķܙ²VWôŹVUƒƒ@V£™¥@ƒ°wn@™m@¯@UbUôķŽmn@ÆÛ@ÇýVaUÇĊVƒ@Çlğ—¯xÝŤ™lVÈÈVƒx„ƒ¤Vx™„kK@™@ƒx@„kVƒĖġ¥kIWbXŽŎx@nƒxÅUW`ƒ_—@±ŽUa™LUxƒK¯„WbkVlb—bmŽƒLÛÆWIUwƒWkwÝV@kI›ŽéUb›UUk™V¯Km¯k@Umݐ¯m¯›m—L›Þĉ‚ÛUm™ġ£UxkKm°™Lw›šk@kšƒVm„ƒKVUk›@¯a¯Ģ™móKUU™x™ImlÅn™™ÇbXèVVU„°„@ŽšŽ@„‚xXnmš™ššŽ@¼ğ°@²ÆxU‚„²šWÆb°š™š@¦llš™„XLmĬ@҃šÞô°@ȦUJÇaƒLóU¯š@°ġƴ@Ɓ@mɱJğ¼ǕššÒUzƧ‚m„n›mğ°ǫ¼knÇ@bġmmV—@VaUaƒLƒk™l@„kLW‚ō¦¯@ƒb™KUn™JĉIó`ċUÛb™wUw±ax›bñUmƒƒ@™„ƒ@—bƒaƒbǏÅXm˜„ƒÝ„ÅôVbގ™bl„UšÞVޚ„U‚°„VUxƒ@U„V„@l`™¼nL@Ċ„LW„„¤kXķWġXUVVVķ„UbVb@°kVVxÈa‚@ȦĊbšaźJ„U@Ț„„˜Vœƒlš@XkôaWƒĢ™Þ@laĸUÆb²mÞLĠ™ÞÑôbšÒĊa„JVbm¦"],
  22941. encodeOffsets: [
  22942. [93285, 37030]
  22943. ]
  22944. }
  22945. }, {
  22946. type: "Feature",
  22947. id: "6326",
  22948. properties: {
  22949. name: "果洛藏族自治州",
  22950. cp: [99.3823, 34.0466],
  22951. childNum: 6
  22952. },
  22953. geometry: {
  22954. type: "Polygon",
  22955. coordinates: ["@@ÞVŤ™ÈK@ĀlxV@„Þ@„wŎalmôLšnXÆÜ@nV‚°@œ„°WmVKŦLÆmȚԂҚUX¥l@ĢJVš@„ŽƾI@w™W°™™Ån¥›kÅÝVwôƒÈç„@lÑĊĕša„JnaÆLVw°kny°UnkÆVȍĊll¦„Vƾ@@™nUźƒÈǂIn°X„wÞKô¦VWV£„@£°ókċ±I™™am¯Va™»ČĉV¥°™@m„k„¥l@„Ċm@ašU™mwXƒ@wÆxšmĢ_„`VnÆbšKVw„@@ƒnUVğVmVVöIlŽl@@çÛmƒ£UDŽw°@VUƒ¯»m¯ƒJōĖÅLƒa@»ĉ̱`U_k`ÇçšóƒkX™lK@ƒakÝރš£WċkÝ™kxƒJݯÅw™xķxmIÅx„@k±J@ýŋš›¤UœkŽmV™°ÅÝxkwmġƒnÝVU„š¦ƒŤlmšóXk¤™UKƒç™@mVkK@klīƒ£mš¯VUbƒW¯¼ċb¯ĵam¼mVX„m@k¤ÇX‚ÇbƒUƒ„¯J¯„¯È@˜™bVXVҙ¤V¼kxݚV„@l‚V—„WxÛ¦Wš¯šmKnlŽkŽ‚šU‚@nƑUĉ„Ý@ǺۄċUĉ¥™UƒÞŏ™z±òL±Ò¯xX„±ÒLÝU@lššV¦¯‚ÇbkêÇJƒnU„šš@š„‚ÆI„xn¦‚‚@²Č脦‚è"],
  22956. encodeOffsets: [
  22957. [99709, 36130]
  22958. ]
  22959. }
  22960. }, {
  22961. type: "Feature",
  22962. id: "6325",
  22963. properties: {
  22964. name: "海南藏族自治州",
  22965. cp: [100.3711, 35.9418],
  22966. childNum: 5
  22967. },
  22968. geometry: {
  22969. type: "Polygon",
  22970. coordinates: ["@@VxƒŽńƒš@ĊĠŽĊXÒ°UƾĕÞm°£nb@‚@LUUW„Ûº@nlÆǬšĠ£ÞV°UXb‚VȂǵ„éƒ@kWanm°@™x„z„K°¯ĠVšƒVƒkw™Lnm°kÞxÆa„¥@‚wnĉƏ@™œ_l›š_VwšmĸèŤÅČU@™˜Wn@ÑmKU™nğƒK@ƒ°¯UÿV£nmšLl™„UƒUÛé±óókkmƒnƒakV@ǰóÝXƒWəÞťIţxmm™VÛUVȂÓnWyȁĉkƒVš°WnkĊa„¥‚_œK°ÿWna@ƒmU¯wƒlÝIU¤UXó¥ÝLƒx¯WmJÇÈŹ„mV@šƽ@ƒUk¥ĉkċŽÅUml¯Vmz¯lUxÅKmbƒI™bĉĖk҃@Çèó„UxÆÞœlm¦šÆ¯ššX@x™Ž@Ž„²ÝlƒÈ™JV²klVl¯ÔlšĉƙްlUǖÞ@ššĶ¼nŽUôôŚ"],
  22971. encodeOffsets: [
  22972. [101712, 37632]
  22973. ]
  22974. }
  22975. }, {
  22976. type: "Feature",
  22977. id: "6322",
  22978. properties: {
  22979. name: "海北藏族自治州",
  22980. cp: [100.3711, 37.9138],
  22981. childNum: 4
  22982. },
  22983. geometry: {
  22984. type: "Polygon",
  22985. coordinates: ["@@ōmġxƽUm±Lǿþġԙ@kxmWƒb¯I¯‚mIUx@bƒbŹVǎƒkĵbƒlĉI¯¥ƒUšm@ƒÆ¯È@šašóšUlƒČ»@w›œ»›wXaƒƒó°ţç݄kUƒaV¥ÅbÝw¯lmnšKlxU„™„ğU¯°ƒLƒyšw¯@mnXb‚l„@ƒêȁǶUWa¯VÝUğ¤ǫ™kÅ@mܹXƒVV@K@ma¯¤Ýnƽ˝V@„ƒ¼„ôlèk¼„¦˜xXŽlbnKšÆx@Ž™bUx@nnxWJţ¦ƒmƒ¼ñ@ް¦lUÞlÈ@ĠxÞUlxÒó„ƒl¯bmI™ŽÝVÛaÝnƒxVbkbÇwřÇKn±K™b„šƒb@V„xšLmŽÛŽŻbk„ƒVó@™šŹxó²›Wkb™@¯U¤ƒźĊ@lUX„°lÆôU„ƒlLX‚aœV°wšxUb°xÜôÈKVkÈmlwškÈKšwšK™™VUŤĉŎ»„»„Il¥na°LV»²¯Üy@w̃°ĸwlwĢw°±„_lVkš@°ƒbƒÆ¯zƒ‚„š„@l_„@̱lŚVlUaރ„LVƒnKlnȏ°IllČa˜wÞѰx„UU™@wƒVkmĠLô»„KÞýôaÞ¥ôĀÞmƁ„™‚mUƒŎV¥Èl°²°a²¥V„@@w„amm@Ñn@Æ£żƒVƒĠ£@W„¯Þƒšl@š»@Uk@"],
  22986. encodeOffsets: [
  22987. [105087, 37992]
  22988. ]
  22989. }
  22990. }, {
  22991. type: "Feature",
  22992. id: "6323",
  22993. properties: {
  22994. name: "黄南藏族自治州",
  22995. cp: [101.5686, 35.1178],
  22996. childNum: 4
  22997. },
  22998. geometry: {
  22999. type: "Polygon",
  23000. coordinates: ["@@ôl²ôÜê„VƒVkš™KmnU¤V°@„„LmĠVšnLÈL@alb@al@n°Vš_XmWUÈamaVIn@n‚aV£œóVWƒ™U£°ašxÈ¥@™‚aĊwȹ@óša™ƒğbm@k„w@mƒaÆw@ƒ„In¯mmƒ@UkkWƒÑÅ@@kċÅçVkÝJÅkVykŹl¥@¯š™ĢU܃X¥òý—mmX™ÝÅlmU@£™Wly™XW»Åbƒl@aI›»k@klm@UxUUƒVƒ¼¯Xƒl™aUnķ‚ƒI@x™@¯„ƒK™„ĉUU`óšlȝô@¤ƒÞJ„k°xVŽ„n@ŽmbXޝ›L`ƒ¦ĉbml¯X™ŽUŽl„ȂĊXzm‚ȁÔU‚ÜVšUnnŤwŦJɚ݄XÞW¯ô@ÈlU„b„mln"],
  23001. encodeOffsets: [
  23002. [103984, 36344]
  23003. ]
  23004. }
  23005. }, {
  23006. type: "Feature",
  23007. id: "6321",
  23008. properties: {
  23009. name: "海东地区",
  23010. cp: [102.3706, 36.2988],
  23011. childNum: 6
  23012. },
  23013. geometry: {
  23014. type: "Polygon",
  23015. coordinates: ["@@@҄bš¤ÆI°ôU¼š°UŽnnWx™š@b¯L@lUUWbXxWl„ƨnxVUllš„XVŽUŽnL@lȀý²KVnƾ‚ĢwV»ƒ@mÞ£nÆƒÞÑmL™ƒKUaVżĕƒWVk²ƒƒÆÝ@ƒXw°@„ô™@a°wóUUmIk™™aVmÞwmknyƒ¹VÿƧnŏm£X»˜™naV±„Ýw@ašb@aƒm¯„ĉVó¦kÝWKUU@WanU™b@ôǺĉxb@šÇ¦™w¯bV¤„šUX›ôU¤bmm@UJnbÇbXVWn™`¯Umk@@bka@bÇK"],
  23016. encodeOffsets: [
  23017. [104108, 37030]
  23018. ]
  23019. }
  23020. }, {
  23021. type: "Feature",
  23022. id: "6301",
  23023. properties: {
  23024. name: "西宁市",
  23025. cp: [101.4038, 36.8207],
  23026. childNum: 4
  23027. },
  23028. geometry: {
  23029. type: "Polygon",
  23030. coordinates: ["@@@kmKVUƒWk™VkUmwƒƧXkWwXaVV@k°K@aš™XwmmV™¯V»¯óÅJ™£ƒamŽ—X@šċVţÆķç™nUx™`kœ›`@šÅmĊx@Žƒ¦U¦„blVރŤèô¯„„Wbœx›¼œŽ@xċ¼k„™V™ô™bÇ@Ű@„™n„V°¦ĊJ„kĶa„lȍźU„a@aVwnJ°°J„anXlwš@ĢÓ"],
  23031. encodeOffsets: [
  23032. [104356, 38042]
  23033. ]
  23034. }
  23035. }],
  23036. UTF8Encoding: !0
  23037. }
  23038. }), i("echarts/util/mapData/geoJson/shang_hai_geo", [], function() {
  23039. return {
  23040. type: "FeatureCollection",
  23041. features: [{
  23042. type: "Feature",
  23043. id: "310230",
  23044. properties: {
  23045. name: "崇明县",
  23046. cp: [121.5637, 31.5383],
  23047. childNum: 1
  23048. },
  23049. geometry: {
  23050. type: "Polygon",
  23051. coordinates: ["@@uŏu»GPIV±ÐɃŜ{\\qJmC[W\\t„¾ÕjÕp‡nα|ěÔe`²„ †nZzZ~V|B^IpUbU†{bs\\a\\OvQ’Kªs†Mň£RAhQĤ‹lA`GĂA@ĥWĝO“"],
  23052. encodeOffsets: [
  23053. [124908, 32105]
  23054. ]
  23055. }
  23056. }, {
  23057. type: "Feature",
  23058. id: "310119",
  23059. properties: {
  23060. name: "南汇区",
  23061. cp: [121.8755, 30.954],
  23062. childNum: 1
  23063. },
  23064. geometry: {
  23065. type: "Polygon",
  23066. coordinates: ["@@`y”ĉNǕDwǏ»ƒÖLxCdJ`HB@LBTD@CPFXANC@@PGBKNECCBB@EBFHEDDDSNKAUNBDMNqf[HcDCCcF…@EFGLEBa@ACoCCDDD@LGHD@DJFBBJED@BGAEGGFKIGDBDLBAD@FHBEF@RFDMLE@SGANFFJBANPH@@E@FJjRIACDMDOEKLFD@DbDAJI@AP@BGHFBCBGDCC@DCA@CECGH@FKCEHFJGBFDIHACEDNJDCVFBDCRKRLDLITB@CjNJI^DBCfNVDHDFKHAFGDIICDWBIF@@CFAjFJNJBBHD@CJ@AEFJ@@DH@BFBCPDBMFEQGDIFCNDHIP@HDABFACBJFHEBSZC@DP@@JDBƤ~"],
  23067. encodeOffsets: [
  23068. [124854, 31907]
  23069. ]
  23070. }
  23071. }, {
  23072. type: "Feature",
  23073. id: "310120",
  23074. properties: {
  23075. name: "奉贤区",
  23076. cp: [121.5747, 30.8475],
  23077. childNum: 1
  23078. },
  23079. geometry: {
  23080. type: "Polygon",
  23081. coordinates: ["@@~T~JjZdDbLXDLCB_J@@FHFZJJIAGH@HGR@BENBLID@@LFCDF\\FpDBDb@FAHKFE†@dEDDdC\\GreNMACVMLBTMCCFCEGFAA@DAFDLMHA@OD@BMEWDOC@AS@KGAI_DcKw„ÕísƝ‘åĆctKbMBQ@EGEBEJ@@MBKL@BJB@FIBGKE@ABG@@FMFCPL@AjCD@ZOFCJIDICIlKJHNGJALH@@FPDCTJDGDBNCn"],
  23082. encodeOffsets: [
  23083. [124274, 31722]
  23084. ]
  23085. }
  23086. }, {
  23087. type: "Feature",
  23088. id: "310115",
  23089. properties: {
  23090. name: "浦东新区",
  23091. cp: [121.6928, 31.2561],
  23092. childNum: 1
  23093. },
  23094. geometry: {
  23095. type: "Polygon",
  23096. coordinates: ["@@EN@JJLNHjLJNR^GRYVBNZJRBV@PDvbLNDN@LGNER@nCNQNuT_TIVFV\\Z\\XnDrI|[Ʉś²ÏJUHOƣ}CA@IO@@CYDATGFIEDAEBBAGCO@GJMCEDCJRHEFANOCADAEG@@CI@FE@BDIC@AGIAIMiEEB@DE@AJCXJDCJEHGBELGCUCeMAD]CIJiM@DSAKJKCLQDQACUECDMIFCBDJGECHAEIWCK@GLMCCGEACNKCEJG@MMBMC@@CIJUINT@JAJSTEPZZCP"],
  23097. encodeOffsets: [
  23098. [124383, 31915]
  23099. ]
  23100. }
  23101. }, {
  23102. type: "Feature",
  23103. id: "310116",
  23104. properties: {
  23105. name: "金山区",
  23106. cp: [121.2657, 30.8112],
  23107. childNum: 1
  23108. },
  23109. geometry: {
  23110. type: "Polygon",
  23111. coordinates: ["@@L@BIHFN@@EE@@EFBDGDAADVDD@@EF@CA@IIsRE@GDAF@BF@CV@|FBCHBLCNHAFCADBMDCFZXHILBVEEQA@MWFARJJ@DCX@@TEFBLHAAERE@AJABRPBNK\\BrJ\\VHGND@CNADKDADQjGAGNC@GJ@FCFFHC@JF@@dLBDSFADHVG\\DTEPDDHJALIJkJDJCDIPE@YDCBiK@DONE@EH@BAF@HLJA@EIA@ALKNA@@FIFAFHR@NALadsæąyQY@ƒA±DʼnXUVI^BF@FFF@HBJEDFFGFEBSRkVEXGHFBMFIVW@GAEEFOIAIPKABGWEKFSCQLQBSEIBC\\FdBLRR@JGACFDDEF@AWB@LJJYNABBA@CUEGPaO_AIE@MYMFIGAEFECHSAAKAO\\[JEDB@E@MMA@@AGBKMGDFFCDDFEDFJF@NPBAFLHFH@EDDHBADDC@DDCDHHCDDFDABDAD@FEFOBCJ[D@HEDDNJBDDHABJIBBvGLBJAH"],
  23112. encodeOffsets: [
  23113. [123901, 31695]
  23114. ]
  23115. }
  23116. }, {
  23117. type: "Feature",
  23118. id: "310118",
  23119. properties: {
  23120. name: "青浦区",
  23121. cp: [121.1751, 31.1909],
  23122. childNum: 1
  23123. },
  23124. geometry: {
  23125. type: "Polygon",
  23126. coordinates: ["@@RUNKdOFDJCbRFMLAHPLDN@JGL@@APBWYCKN@TU@SHGCEJIDIJKVIZVNM`iNY@CIE@CA@KBOEGEUFCCSADEIEFCDDDIDDHC@CKIeDCG@IG@DHWFEEGCH@@GO@@O]CNpeEQDBFME[JC]DGF@CKOA@QSB@GB@@GW@@ED@AQIJIAAFE@@DO@CFI@KNG@CDACAFEGKGBEGBDCCAIFCCLIECFI@MBCLDHGNAHSF@DMB@EEKBA@@C]DEICFG@ADBHGFKCDAKKHKD@@FHGAANGEEFCHKCECBCKG@ADKCNE\\[A[I@@mGBDQQEO@BCE@AI[AML@JGACLOAFKEMM@EQKC@CUCBCCBCHEA@FF@@FM@GEAJK@GNF@EXPH@FD@M^@HIADJCFDBER@DK@@DE@CAKFOCCBDHIBCNSB@GFC@GQEEOWFICGDUAEJIDBTAHJHEB@DIF@NE@H|HBDBEH@DKBAHEF@HEEUB@FGFGCCCE@AHOB@NH@PRLVNNFBX@RC€PbAvMtBfH@DJF@ELBFA@EH@HNED@FFB@HLC@CJ@@DJ@PIRf@HE@CFF@GPHD@DKE@FFBEFFD@DEFCA@DD@IjCRFBAHFDKD@HF@@PM@H@BlbDJDBFEF@DLXB@HCD@@IFCBIFEJD@FDC@FBALLF@PAACJERACAJCBD@EL@JD"],
  23127. encodeOffsets: [
  23128. [124061, 32028]
  23129. ]
  23130. }
  23131. }, {
  23132. type: "Feature",
  23133. id: "310117",
  23134. properties: {
  23135. name: "松江区",
  23136. cp: [121.1984, 31.0268],
  23137. childNum: 1
  23138. },
  23139. geometry: {
  23140. type: "Polygon",
  23141. coordinates: ["@@@DLDFRN@FNELPBDKHB@INK\\BBJF@ADP@RFCRHA@nJ@B\\[\\MFLDBCH@DLDADFGLEDFFMHBBGH@EC@GLLLCBLDHEAGBCH@DEFJ^C@DB@LAFFA@CNE@GTMBGHKCAD@NEJFDKJDDJEDBCDHAAFLHFHBEBDDCH@LMJ@DEP@@CF@BEJBJIBRC@@FX@@HA@@HTA@RPBDLE@CHD^\\INFAERCfFMo^D@PP@@HG@HDFFXECGH@@JDHfCLJ@DGDCCCJCCEDJFCFTBDDVEHFPFLAB@NBFCFKFC@CHIACNOHWHCAAFIDD@CDAGEI@ACFMF@R@R_@GQED@EGFEQEDE_IAHKAEXCQUOQCUDEN@ZI\\DDmAMHCICDSOC@EG@BKHIGMIBCGOCSF[CUHCGEBCTKA@cE@@IGDEEEDI@@HMDBHiHCRCBCLMB@DMCGH[UqI[AMLOAAQIB@BQFBFGBAKFE@SW@CDI@QIEBNXB@FRUFKAGJYWDENCCADBBEMGKDGAAD{EU@@DAEE@CB@HQFJt@JDBE@@FC@"],
  23142. encodeOffsets: [
  23143. [123933, 31687]
  23144. ]
  23145. }
  23146. }, {
  23147. type: "Feature",
  23148. id: "310114",
  23149. properties: {
  23150. name: "嘉定区",
  23151. cp: [121.2437, 31.3625],
  23152. childNum: 1
  23153. },
  23154. geometry: {
  23155. type: "Polygon",
  23156. coordinates: ["@@F@LI@IDKJADKIEJICADGACFECCJ@HKCAFOHAJI@aCBEE@ICAEB[GFGCKL@FGEIFADMLCAEJM@ELQECEIG@BE^QKKLQCA@EHBIGQ[GEHOMGGDHKH@JOECFCjCBEFDNCACMBCILGTABDLEEOEIG@GFIMM@CGKFBFCDE@@GEAGEEACIcGaHMFITIHDN[AKF@FS@OA@BK@IHM@KCGOKBENaQIDECcPMLQVFHFB@BFBKLGD@FAJOVGIACQ@A`LPCB@JEF@RU@ANS@@RCL\\HIFpRBFRBBDKLLDADJDGBFDABHBEDNF@DGBBBADKDAHC@\\JJFBDEH[DEFDH\\LX@XLBLbT@DNJLDCEL@VJABJNDHB@HBHYFBAA@GNFB@@AFB@AFABFLFBHFCL@HJBAFBLC@DN@HN"],
  23157. encodeOffsets: [
  23158. [124213, 32254]
  23159. ]
  23160. }
  23161. }, {
  23162. type: "Feature",
  23163. id: "310113",
  23164. properties: {
  23165. name: "宝山区",
  23166. cp: [121.4346, 31.4051],
  23167. childNum: 1
  23168. },
  23169. geometry: {
  23170. type: "Polygon",
  23171. coordinates: ["@@ˆmÖoÖiƒ½[s[YEUJU`SCIEBCCWJY_LIICDWU@@FaBCJIB[ICH[@@CDKEE@MK@@IMCAEBCH@AMFI@SMGEFGB@FK@BHCAIFJNQD@FEBDFMBKGACG@ECWH@@CDDTOEEBGEK@GC@EE@GPHFR\\JHGA@FDBKRLL]RAFH@FJFDKR@FINBFKDCNEBFJEHK@DLEH\\HFADB@JFFDA@bIJGBEPDBGLI@DDEFBDCHDBIJJFCLIBCL@JKJE@ADHDBHJ@HIBBDFHBBAEIJ@BJFAVL¢ˆ"],
  23172. encodeOffsets: [
  23173. [124300, 32302]
  23174. ]
  23175. }
  23176. }, {
  23177. type: "Feature",
  23178. id: "310112",
  23179. properties: {
  23180. name: "闵行区",
  23181. cp: [121.4992, 31.0838],
  23182. childNum: 1
  23183. },
  23184. geometry: {
  23185. type: "Polygon",
  23186. coordinates: ["@@T@@ELE\\BCMJGJSNEbGdHDJFBJAFIEIFCEWG@@gMENSFCVJFAxR~B@IH@AIiI@GE@FGEAFQPDRiV[\\DFSGMHAXHDOMCJCDETBBNVJJI@DD@ANNNH@FILDDMFBDHNDHKL@XDFGLD@EHGFD@DDB@CDDHCDAEAHG@ABOJ@BIaC@CECLKPFNCDCJBiQEIF@@@OGBMIAEEBMTHF@NKEC@QFEGA@EBCKAACHCLJHEFHHB@AFCAIEACIC@HG@KCCDC[ECEED@KC@KJMAAFQ@GHG@BHIJYIGE@EI@A`KDWCaKcCiY}I}S[CYJM@CFDVPRRVWDFžLBBG`JCFRFEFFHC@RF@HQ`Q@E@ENBDJ@HFCB@DCCEJBBGDGXMPBDGJ@DEDELEDMA@DJF@DMZ_jMNYUUJILCJIJDFGH@TSVM@DLXZ"],
  23187. encodeOffsets: [
  23188. [124165, 32010]
  23189. ]
  23190. }
  23191. }, {
  23192. type: "Feature",
  23193. id: "310110",
  23194. properties: {
  23195. name: "杨浦区",
  23196. cp: [121.528, 31.2966],
  23197. childNum: 1
  23198. },
  23199. geometry: {
  23200. type: "Polygon",
  23201. coordinates: ["@@V@CXJDKJZ`XIDDFADJvSRMDM@mFQHM@KCMKMuaOCU@BDAJSX@HKJGD@PNJCJWAGT@R"],
  23202. encodeOffsets: [
  23203. [124402, 32064]
  23204. ]
  23205. }
  23206. }, {
  23207. type: "Feature",
  23208. id: "310107",
  23209. properties: {
  23210. name: "普陀区",
  23211. cp: [121.3879, 31.2602],
  23212. childNum: 1
  23213. },
  23214. geometry: {
  23215. type: "Polygon",
  23216. coordinates: ["@@F@@FHDL@HFFAPFCSDC@@XGFDH@BDLHNACEFA@ERCIMJEDBAGL@@EHAFENHHJ\\ONQBQCIBC[MKACKI@GGGH@I_G@CW@[DMHCDIBMTDHN@JNHEH@FJFPKFACSBKHDJNABDMDECAFiDEDFDIPG@GLHCNH"],
  23217. encodeOffsets: [
  23218. [124248, 32045]
  23219. ]
  23220. }
  23221. }, {
  23222. type: "Feature",
  23223. id: "310104",
  23224. properties: {
  23225. name: "徐汇区",
  23226. cp: [121.4333, 31.1607],
  23227. childNum: 1
  23228. },
  23229. geometry: {
  23230. type: "Polygon",
  23231. coordinates: ["@@RADL\\NCPHFfLJaJ@FWLGMGIK@IFMDOYYFOTSBI@IMSAMSACFIDNDCPWGGBHNET[CU\\QjOCERFBEHF@@HjJBJG@@J"],
  23232. encodeOffsets: [
  23233. [124327, 31941]
  23234. ]
  23235. }
  23236. }, {
  23237. type: "Feature",
  23238. id: "310105",
  23239. properties: {
  23240. name: "长宁区",
  23241. cp: [121.3852, 31.2115],
  23242. childNum: 1
  23243. },
  23244. geometry: {
  23245. type: "Polygon",
  23246. coordinates: ["@@HFFB@HF@DCAELENSJADCNG\\CX@@D`H@JHGHHJ@BINBFUGEDO[MCKQB}AwQEBUIEDMTNF@hH@FXEDFJEJIB"],
  23247. encodeOffsets: [
  23248. [124250, 31987]
  23249. ]
  23250. }
  23251. }, {
  23252. type: "Feature",
  23253. id: "310108",
  23254. properties: {
  23255. name: "闸北区",
  23256. cp: [121.4511, 31.2794],
  23257. childNum: 1
  23258. },
  23259. geometry: {
  23260. type: "Polygon",
  23261. coordinates: ["@@CSG@BQGODUPWTOBQAAFMECKBGEMFKEOHADDJARMR[PGI@TEJBNG@ADBFND@JL@@NFFCL@D\\@DG\\JJADI"],
  23262. encodeOffsets: [
  23263. [124385, 32068]
  23264. ]
  23265. }
  23266. }, {
  23267. type: "Feature",
  23268. id: "310109",
  23269. properties: {
  23270. name: "虹口区",
  23271. cp: [121.4882, 31.2788],
  23272. childNum: 1
  23273. },
  23274. geometry: {
  23275. type: "Polygon",
  23276. coordinates: ["@@bA@E@QHSXBDIMI@OHCLI@GTWBIACQAYIOFGCENBBARSPOXCVHPARH@DT"],
  23277. encodeOffsets: [
  23278. [124385, 32068]
  23279. ]
  23280. }
  23281. }, {
  23282. type: "Feature",
  23283. id: "310101",
  23284. properties: {
  23285. name: "黄浦区",
  23286. cp: [121.4868, 31.219],
  23287. childNum: 1
  23288. },
  23289. geometry: {
  23290. type: "Polygon",
  23291. coordinates: ["@@NEHFLAFDHDPEAMZUHQQ]IMKJG@EPERABHBGRUCCNGV"],
  23292. encodeOffsets: [
  23293. [124379, 31992]
  23294. ]
  23295. }
  23296. }, {
  23297. type: "Feature",
  23298. id: "310103",
  23299. properties: {
  23300. name: "卢湾区",
  23301. cp: [121.4758, 31.2074],
  23302. childNum: 1
  23303. },
  23304. geometry: {
  23305. type: "Polygon",
  23306. coordinates: ["@@VDHQGABAFQFOH@LIiKKHEXI@IbAFZB"],
  23307. encodeOffsets: [
  23308. [124385, 31974]
  23309. ]
  23310. }
  23311. }, {
  23312. type: "Feature",
  23313. id: "310106",
  23314. properties: {
  23315. name: "静安区",
  23316. cp: [121.4484, 31.2286],
  23317. childNum: 1
  23318. },
  23319. geometry: {
  23320. type: "Polygon",
  23321. coordinates: ["@@DLLB\\NPGLFHUDMYABEeKEVMAAJ"],
  23322. encodeOffsets: [
  23323. [124343, 31979]
  23324. ]
  23325. }
  23326. }],
  23327. UTF8Encoding: !0
  23328. }
  23329. }), i("echarts/util/mapData/geoJson/shan_dong_geo", [], function() {
  23330. return {
  23331. type: "FeatureCollection",
  23332. features: [{
  23333. type: "Feature",
  23334. id: "3706",
  23335. properties: {
  23336. name: "烟台市",
  23337. cp: [120.7397, 37.5128],
  23338. childNum: 9
  23339. },
  23340. geometry: {
  23341. type: "Polygon",
  23342. coordinates: ["@@ŤLšLllVń²è°xżĢĠÆl҄šŤbœ„V¤ĊXnŽlĢVĊ„Òš„ȰĊŰÞè˜L„±@џn»VUźċ²»ÆkôVɆkĊѲkŤVVwUUVmUaƒ@KkU@ƒmUmmk@UwUkmW@UVIXa@ƒmw@a™KULƒaƒx@Uk@UbWU@yULmK¯@kXƒVUwm@@JUUknWKUVƒLUbU@™wWykIƒa@w@mUI@ašUVynIWa„k„@@W„bl@@knmƒK@wnIl™°Kna@V¥ğ@ġUķ»™¥@UōJƒX¯¤k@™wmI¯‚k@mwƒak@@šlX@bUJ@VƒbknWxkLkxlŽšLVlkLmŽšb@bU@ƒbU@VbU`Vb@n„L@Žmb—U@˜VnUVmnU@mm™@kIUWVIUK›VkkUJUnmL@VmLUaVWaXamU@™™U@KUUmVƒU—JƒU™VÇwğn™mƒ@mXĉV@l¯xnô"],
  23343. encodeOffsets: [
  23344. [122446, 38042]
  23345. ]
  23346. }
  23347. }, {
  23348. type: "Feature",
  23349. id: "3713",
  23350. properties: {
  23351. name: "临沂市",
  23352. cp: [118.3118, 35.2936],
  23353. childNum: 10
  23354. },
  23355. geometry: {
  23356. type: "Polygon",
  23357. coordinates: ["@@˜bXlƒl@zlV@lXXmŽkbVVlš„U@Vn@@Vmb@XšKšVX„WJ@XXl@„‚ŽÈbVLšUl`„@XXV@VVUxVbUxVbš¦„@‚WnXVJ@bnVUzl@„°Æx„U„KlU@mUUnUlUVWVUnVV@XX°V@Všll@Vk„aXVl@Ux@bmbXLlKlb@b@bUJn@@„„b@n°x°K@an@@UlLVKVbXb@bVVnK°LVa@UVa@™Xw‚KVxnLšU°@naV@UWUkWƒULmV—wÝKUUla@aó_@mƒK@aUU@ƒWUkwVm@aVI°W„@@IUw@a±¯@¥kUVUm@a‚wkw™@ƒK@kVKk@maXalI@alL„WXblaVLVU„V@LnKš@„l@w˜aXašLlnUl„LšmV@n°J@_VmnIVym£UKmI@WnIVm@anUVmÇ_kġIÅWUXÇm@U@ݯÅ@ƒ™@naWƒ™IVW@IkK@klKn@naWIƒmk@ƒaƒbkKkLWn™WkLWmk_ƒ@UaVƒUKmLUw@mn£WwUmU™ƒaóV@UkUm@UKULUwmJUX@WW@XҙzVblJXŽWXk@UVWK—X‚¤UL@xU@ƒ@ƒVUaU@@XmVkLmWkXUyÝLmKXnVŽ@n@l™x@bWLnVVn™`knULmxUl„„WLXŽVb@VƒK@z¯x¯¼Wx™KUn@bk@ƒlƒVVVz"],
  23358. encodeOffsets: [
  23359. [120241, 36119]
  23360. ]
  23361. }
  23362. }, {
  23363. type: "Feature",
  23364. id: "3707",
  23365. properties: {
  23366. name: "潍坊市",
  23367. cp: [119.0918, 36.524],
  23368. childNum: 9
  23369. },
  23370. geometry: {
  23371. type: "Polygon",
  23372. coordinates: ["@@l@@UšK@Ž@L@bX@@VlL@JƒLUVnX@`ÜXn`V²mJ@bU@@n„b@l°xnnĸVƚ°@„ƒĊ£Þ@lWnÑnkʶJmó°w@kk»V@»ƒ¥k@V@kw@wVm„a˜Å„mšaô£ŎƒXI@mln„Kla@mV_UKƒ@kUkw@alW™IU»™mƒ—@WUIl±UUÅU›bkJƒ@a@wUKUaVIÆmXIWaka@m@Ul£XKVw@ƒUIƒJUkmJ™ƒVkU@a„ƒWK—ImVƒ@UxmL@bX`WXU@U`ÇkUak@@°UblXk‚mLUKmL@VULóƒƒVk@@Vlbn@Ub@ċaUJUbƒIUlVLUVVbVKX„VlVXU@mb¯@™VmKUwLWx@šUb@VUb¯KmLUU@aWaUaULkK@Vm@@b¯L¯w@mƒa@ƒm@UUU@U¦lJUXƒVƒmkb@nm„XVWŽkb™IVxUV@VUbWLXVƒLW`Ux@nk@Vn@x@VkJ@œV`mXkŽ@V„xV@lVššI@VULš˜VU„IV`°bVXXx„V@VWVnL@xV„Ub"],
  23373. encodeOffsets: [
  23374. [121332, 37840]
  23375. ]
  23376. }
  23377. }, {
  23378. type: "Feature",
  23379. id: "3702",
  23380. properties: {
  23381. name: "青岛市",
  23382. cp: [120.4651, 36.3373],
  23383. childNum: 6
  23384. },
  23385. geometry: {
  23386. type: "Polygon",
  23387. coordinates: ["@@„@nU˜JXLƒ„@blVU‚š„nIVl„IVJ@„UxWLk¤@V@nlbXbWJÅnUJVbVL@x@b„ŽlIœaÆVVVk²VJ@X„˜šnV¼šJkX@blxlV„@VLU`@nkbƒLkm@nWJō„ó¤™bƒn—ƃbUn@xlxU@l@„¦@¼UŽl¼ĊUnW„@šnĠmÈxšU„V˜I„VnUVV@LšV@šnVWbXb‚UVbnK@UnKVmVIllœUVLUJVXlJš@nnV@nmVUUm@—˜Vna@ƒK@mUaV_UaV@„aV@@a™anlKUk™KklwlKXwlm„a@UVI@akW@™l@„bnxl@°nJšxl@°£„WŎIUÑn»lašmô¹Ŏ¥VaUUkƒmkġWɱIUUŹ`›@kk@ĉƨřV¥_Ç@™Ĭƒ¤ÝL¯m¯£ƽóķwUW±ī¯kōaĉĕ™kğmó°ƒbW@UKkLUaƒVmz@V@ŽUxVn"],
  23388. encodeOffsets: [
  23389. [122389, 36580]
  23390. ]
  23391. }
  23392. }, {
  23393. type: "Feature",
  23394. id: "3717",
  23395. properties: {
  23396. name: "菏泽市",
  23397. cp: [115.6201, 35.2057],
  23398. childNum: 9
  23399. },
  23400. geometry: {
  23401. type: "Polygon",
  23402. coordinates: ["@@@¥šIVUÈmÞ»@UlU@Un@VW@UVmkk@aVUUKVÝ@UVknK@UV@VVnIVƒ@wnƒmwmKXaWaXI@UV@Vy²blkVKkam™U@kb@Um@VmUkmƒKmkXKWwkU@Ulƒ@UnK@UVUUm‚KXwšUVL„w‚K„U„@@Wl@@wUkV¥—@@I@W@_V@VWUw@UUa@aƒaWa—@@_mKUw™l¯amzmV—@WK™nU@kƒWLķaUKbÝVmV@UWÇbÛ@ƒX™°UbW@XŽm„Vlk²UJUbmLÇxÅWUzl‚¯Ll„@VkK™XUbWJ@bU@¯@™ƒkbƒLmKka™„@l™_WšXºVbUz@J‚n²V@¤lX„Ž„nV°šLn`WbXLôVlKVUšxXn˜lXLlU@bVV@„XJWLUVnVV@„„@n‚l„°nn‚V„KÈbVXÆJU°VnXV„kV@@xVL„@šWlb"],
  23403. encodeOffsets: [
  23404. [118654, 36726]
  23405. ]
  23406. }
  23407. }, {
  23408. type: "Feature",
  23409. id: "3708",
  23410. properties: {
  23411. name: "济宁市",
  23412. cp: [116.8286, 35.3375],
  23413. childNum: 11
  23414. },
  23415. geometry: {
  23416. type: "Polygon",
  23417. coordinates: ["@@nam_nKlVLXa„Il`š_@KVVXI@m@w‚ƒ„@@k@Kšnô@n`VbV@@L„L@KVVn@VX@‚VL„Jl„š@VUUƒU@Uam@Uk„wšKWaXamkJmIUVUÈblašUnV@kVKl@@lXL°kVJ@VÈnVJUX@V‚LXl@xVLnU‚@VK„V@a„IUaV@„bĊU„x„K‚kVJXUlV„ƒ„UVašI@WUI@KlUnw„mWk@WXIWƒ™U™L@Wna@Um@@UƒVk™UUlanWW@kkU@y„kWk—aWVUlÝbUU@kƒJUIU@@ƒ™JmaókƒLKǃUUkKWLk@WbkUUaƒbmKn¯°¥V@XwV@VanaVaU_@Wlk@WÈ@VUÈVVۂm„aklKȯlLVUX@lK@aX@@kV@VmV@VwnJV_UWUwƒX™am@kW@wVUkKVIUUVmU@UV@IVK@aUL@aƒV@Lm„UKmx@ށômLkUWJ@šnXmlUxUL@Vkn›VUšU„@V™L™`Ub±LkV@kUKÇbÛ@ƒU™Wó_mJƒ@Wk@@Xƒ@ƒVLƒxUK™VWxLVnUV@VmL@Vk„@VlVXxWLnl‚Ln„VlUnn@@VlaV@nšlbULkl±aUzU@@VWJXbWbnLnxm„@xU„mJUUU@@VmLUl@VUÞVLUV@bllUn@VUXm@@VkV@VݼÇnUV™J@¦nnƒlnVlL@„Þb°KVV"],
  23418. encodeOffsets: [
  23419. [118834, 36844]
  23420. ]
  23421. }
  23422. }, {
  23423. type: "Feature",
  23424. id: "3714",
  23425. properties: {
  23426. name: "德州市",
  23427. cp: [116.6858, 37.2107],
  23428. childNum: 11
  23429. },
  23430. geometry: {
  23431. type: "Polygon",
  23432. coordinates: ["@@„¤@VmbVXnVVbVJššX@Žll@z„lVInl@„@bVxUbĠ‚l@Èbla„IšxXVWb@L™@n‚ULWVXXšWWLnL@`@LUVVL@lVn„JšU@UUk‚a„™nš‚Vôô„b°¼V‚ސXš˜‚œIÜbČa˜bôW„XÞWÈzÆmnLVJ°ÈnlV²lbnW@™@UƒUV™šmnwmkkKWƒkla@mVIUKUa™aUwmn™JU@@amIk@@bVlkX@mmUklUUƒƒa@_UaUUƒV@wƒw™WkXmW@I@WUaÝU@UXaWUU@UUVW@UUUWUn¥nUVa@m@k@alU@wk™LWa@UUm@@wnmU™wla@anKn_@alK@ݙ_ƒ@@WUUUmlkaƒIƒyU@UwU_Wa¯yU_mWUwkImm@InWWUk@@UVWV—kW¯U@VƒL@b¯b@l±¦@šVV@lUbV„@škxVnUšl¼XV@b@lV@nIWxnbƒ‚™@UU™LƒxÅxm¯ƒaUƒ™wU@mUÅVÝKULm@bmKUXó@"],
  23433. encodeOffsets: [
  23434. [118542, 37801]
  23435. ]
  23436. }
  23437. }, {
  23438. type: "Feature",
  23439. id: "3716",
  23440. properties: {
  23441. name: "滨州市",
  23442. cp: [117.8174, 37.4963],
  23443. childNum: 7
  23444. },
  23445. geometry: {
  23446. type: "Polygon",
  23447. coordinates: ["@@Vb@`„bV„kVlnV@nlWUk@al@nJ@bV@šInmVxšbVbVLUJ@nkb‚lX„lLnlmx™nUš„V@V@šmXn˜lbĸ@nnVx‚b@lnXV@UJ@nVxšxnxVbÆVn¯ƒĕ‚@@wÈçUÇlķVIœb‚@„Çmk@¥k@UkUK@aWakUóJW_UW@wkkWK@U@Kš@XUƒƒUkmUUalKXala@U@kkWlkÈl@kšV„mVIVmU_‚a„ƒƒwnwVW@wƒwUƒ@wU£ƒwkJWIyUI±bk‚VUJ@nmV™Ukl„Xmx@lnbW„kVƒUkLWŽƒxkKUUmUkb™J±—LÇxUKmkUmkkW™™a„mUaVkšJÆ_²KĠ@U„W@w„U‚¥nUWwK@aÝUkÅVaVK@akLWƒƒƒ¯I@bnbVx¯JW„ñšWbUL@šƒŽnV@VmbkUUV@IÇak@@bWak@WJUœJWL@bXV@„‚@„V„Jlb@zUlUŽUImšnbV‚mz@°UV@V™bV@@V@L@xLmKUnmJVX„J@VkLW@UVUL@b"],
  23448. encodeOffsets: [
  23449. [120083, 38442]
  23450. ]
  23451. }
  23452. }, {
  23453. type: "Feature",
  23454. id: "3715",
  23455. properties: {
  23456. name: "聊城市",
  23457. cp: [115.9167, 36.4032],
  23458. childNum: 8
  23459. },
  23460. geometry: {
  23461. type: "Polygon",
  23462. coordinates: ["@@ô@VWnL‚an@VKÞLÆUnVV@šxV„„bn°Æw„wšKVVš@„maXwmJU@@k@aWUk»V™Umlw@™UƒVa@kUU@™²¥@k°a@a„K@U›ƒU@mmm@ów—ѱ¥¯@@w™Kmw—I›¥kU¯UmakJmIUaƒVkKUkm@VUUa™Uƒ@UaƒKUK¯@™w™UVŽUIUKVw™k™¥™wƒbVŽ@xn„@lWnXxlL@`„XlJX¦l°XxW¦@¦Ul™n@Ž™@@Um@@VXVmx@¯bllUnUJ@VULVn@b„xV‚VL@b„„VlnVVblV„ÈnVlIVJœLô„lJ@xl²„"],
  23463. encodeOffsets: [
  23464. [118542, 37801]
  23465. ]
  23466. }
  23467. }, {
  23468. type: "Feature",
  23469. id: "3705",
  23470. properties: {
  23471. name: "东营市",
  23472. cp: [118.7073, 37.5513],
  23473. childNum: 5
  23474. },
  23475. geometry: {
  23476. type: "Polygon",
  23477. coordinates: ["@@ͬUǪlô@°Uœw°ōĠ¯š»Ģ炻XÇ@w™wƑa™ÇƒkwVƑ¯@řķUmm¯w@kƒa@mV@@anIU±m_ÛW@_mWVU„K@IkK@UW@@a@K@™L@Vk@±U@UV@lm@mUU@kLm„„xV¤@xV„„x@xUXmx„xƒ„bV`UnUJƒn™U@lÇkkllX@l@VkbWbkLVbnVVl„„WV™@@L@VXLll@xVXX`ôIlVXb@bVLVll@@¦nlƒÈ@›aUJkĸVÈÇè@x"],
  23478. encodeOffsets: [
  23479. [121005, 39066]
  23480. ]
  23481. }
  23482. }, {
  23483. type: "Feature",
  23484. id: "3701",
  23485. properties: {
  23486. name: "济南市",
  23487. cp: [117.1582, 36.8701],
  23488. childNum: 5
  23489. },
  23490. geometry: {
  23491. type: "Polygon",
  23492. coordinates: ["@@²¦˜Òôxn@nn‚@V‚œ„°VlXU˜UX@Vl@XVmX@JnnlJVxnXV`°zXbV`VxV@„z„JlbkŽVnVV@X„@š`@ÞkL@bm`mL@bkbšxnVm@xn@VV‚@XbšKl@xkV@b@l@nUbmVm¦XVVV@VUXVVV@XVWb@VÞVVb@X@JnXlWšX„x@x„UVV@aVKVUX@lK@UƒIUWnIVmnL‚K@w@K@UU@ša@UVU@¯nyUman™VJVVk@ykaƒIƒU@@ƒWU@aXK‚IV›XIl@Xb@al@Èb@JVUlVna@UmU„@™VKXaò™Xƒ°IUwma@aU@UU@wVW@фw@a™I±`kbƒUkw™UmJ@UkmÇUUkmKknUVƒ@mJUkaWkƒa@KmKkUƒLmyXa¯_@WmImmbƒLmUkVUbUVƒJ™bƒUkkWJkUƒl™IUm™k™Lƒ›„lK@knaVmkI@mWaƒLUK™UU@@VmLUVLWK@UUUƒWUkkVmx@„Vl™¦"],
  23493. encodeOffsets: [
  23494. [119014, 37041]
  23495. ]
  23496. }
  23497. }, {
  23498. type: "Feature",
  23499. id: "3709",
  23500. properties: {
  23501. name: "泰安市",
  23502. cp: [117.0264, 36.0516],
  23503. childNum: 5
  23504. },
  23505. geometry: {
  23506. type: "Polygon",
  23507. coordinates: ["@@n¼šŽW„nxšL@x°@š¥Uk@ƒnwlUVl„XVV@VXL‚KVUnK@UV@šVVL„KXb@nlJUnmb@lkLƒ‚„œšKšlVnšJ„klVXIll„Vša„IVUValUnV„K‚annnJ@X°`Wbnz„KlVnL‚Ž@L„bXl‚bVlnI„@VUU@UmVƒ@U@Uš¥@VmV@@_Ua@m°@@ƒ„kmUUm@UVmn@nX‚@@a„anJVUVL„mlIVJn@nkVLVa@KVmVLXVVLš@@U°bn@VaV@@K@aVkœbWaXUVymU@aUImWXƒ@™¥UaVwUaVwUUU@WWƒ@k_™VUKÇa@ƒƒnmxkV@LVJ@X™JUbƒVƒ„kUWVUIlƒLƒwĉVƒaU@VbƒJ@bƒUUL@mVUK@wWkK@UVWUIÇm@UUI¯lWK@kk@UL@lmU™VkbÇaUVVnJlIn‚WbXb™LƒxVln@VbV@V„UV™@kƒƒIUK@UWm@UU@LƒK@KU@Uam_ó@™m@L@lƒ@„@x@nWJUU@L™`k_ƒJWbUKkmLn`mb"],
  23508. encodeOffsets: [
  23509. [118834, 36844]
  23510. ]
  23511. }
  23512. }, {
  23513. type: "Feature",
  23514. id: "3710",
  23515. properties: {
  23516. name: "威海市",
  23517. cp: [121.9482, 37.1393],
  23518. childNum: 4
  23519. },
  23520. geometry: {
  23521. type: "Polygon",
  23522. coordinates: ["@@VbUnVVUxĊ¼š¼ô@Þф¯‚WǬLŎUÆW„¹Uǃō¯ÑƒÝkţ™™ţóġ™óL™ł̥U™wm¥kÝmkkKóbÝ@U¦@‚mb¯LkšmJ@x„Lmn@lk@ƒa@Xƒ@ƒlXbmJUz™V@bVJ@n@x„blJXzšxV@Va„KVUXLlmVV@In@Vx„UlW°@nLVK@zXVVal@@V„w„bVKšL@bnx@„WbUJ@VnXVlVxl@nnnV@„lV@L„‚"],
  23523. encodeOffsets: [
  23524. [124842, 38312]
  23525. ]
  23526. }
  23527. }, {
  23528. type: "Feature",
  23529. id: "3711",
  23530. properties: {
  23531. name: "日照市",
  23532. cp: [119.2786, 35.5023],
  23533. childNum: 3
  23534. },
  23535. geometry: {
  23536. type: "Polygon",
  23537. coordinates: ["@@UaVUUKVk„JVaVIČb@Vam@ka@Ul@„Uô„VK@UnKVLnKlkWVa@¯l@VbÈlV_V@XWW_@anKVwUmVw@@Uny„UVblKVLX@„aô¯ó¥mÛĊÿÈ¥š™Þ¹lUīƒ¯Kĉ¼ʟbÇV™U™ŽUŽ™XmakJUnmV@bUnmJ@XnJVLn¤UzmJUn@`¯ImŽU@™nƒKVkkm™KWb—b@xƒk™@mL@KƒUUVUKkbWaƒXkK@bkJWbnbl@UL@l„Lš@lxx@b‚nUVlV@¦²°@bVx@Jƒ@¯XUJ@bUnlxVŽ„X@‚VV@b„L@nô`@bkbVVÞL˜xnU"],
  23538. encodeOffsets: [
  23539. [121883, 36895]
  23540. ]
  23541. }
  23542. }, {
  23543. type: "Feature",
  23544. id: "3703",
  23545. properties: {
  23546. name: "淄博市",
  23547. cp: [118.0371, 36.6064],
  23548. childNum: 4
  23549. },
  23550. geometry: {
  23551. type: "Polygon",
  23552. coordinates: ["@@nƒlKV@nVn@@kVU‚@²VVaUƒ@wmKXU@UƒUWwUW¯aU_ƒJUV™—VK@U™JU™@kUƒw@UlnWU_@›lI@U@wUml@@mVwX_„KWUXKVa@UVUUwšJlaXWUnƒ@mla„n„UVWkIV¥V@VVVI@a@akakLWKna@aVwk@WUƒbUlk@™k@U¯UWWU@mUUVUXkVmVVV@nkVƒLƒVÅwƒ¯k@WVXb›aUl@bV@@b@xkVVXVxkJ@nk@@ŽVLUlVb‚VXUVVUzV‚™LVbUbV„VWVkLmškJ@n±@UxU„VVkV@bƒx@ÒUX@xVVV@°J„„X„lK@bULUblÆÞV@b‚LXxmV¦ƒV@xƒXVŽğ@±LÅ`™IUlVbƒnšbXšllVnnlVLÈw˜K²ŽšIlanVVVlL„wXlK„VlUXƒma@knwƒWlkšVnU@mVIUl²aVJ‚zXJlI"],
  23553. encodeOffsets: [
  23554. [121129, 37891]
  23555. ]
  23556. }
  23557. }, {
  23558. type: "Feature",
  23559. id: "3704",
  23560. properties: {
  23561. name: "枣庄市",
  23562. cp: [117.323, 34.8926],
  23563. childNum: 2
  23564. },
  23565. geometry: {
  23566. type: "Polygon",
  23567. coordinates: ["@@‚yUU„U„kl@@aVmšLXw°»°w@y„L@UUaWXKƒƒVknwVKlmš_UmmUXK@ašw@k@mUWmUL@ƒ@™@£@KƒbÝV@akw™aULmƒƒbUK™LUU@lm@—°mL@nUJVxVXU`mIUxU@UnU@@lW@@bkLW@UVkKǰkLlŽƒbnUÜÇUUVÇ@@Xkl@XV`UbmbUbU@WxU@¯¦m°nL„aVblVXal@XKlLVVȄ‚L„KôlnbšI@„V@VJ„I@lVVÞaVkXU"],
  23568. encodeOffsets: [
  23569. [120241, 36119]
  23570. ]
  23571. }
  23572. }, {
  23573. type: "Feature",
  23574. id: "3712",
  23575. properties: {
  23576. name: "莱芜市",
  23577. cp: [117.6526, 36.2714],
  23578. childNum: 1
  23579. },
  23580. geometry: {
  23581. type: "Polygon",
  23582. coordinates: ["@@lmnLVlÈVln@VnIšVlx„Vla²_šJlUUUVƒVw²@@mlIn™lKXU‚UUƒVaUašKUVyUUWVUUaVkUK@l@@mlIUwUWlU@w@aU@@LU@Ubm@¯a@V™@UKWUUKUn@LUbUKmlm@UIkJƒnUKUVmIƒb@b@mWm@Un@VVnnVƒl@„¯@@nVb@`U@Un@Ž™¦@V@VU„VnV@"],
  23583. encodeOffsets: [
  23584. [120173, 37334]
  23585. ]
  23586. }
  23587. }],
  23588. UTF8Encoding: !0
  23589. }
  23590. }), i("echarts/util/mapData/geoJson/shan_xi_1_geo", [], function() {
  23591. return {
  23592. type: "FeatureCollection",
  23593. features: [{
  23594. type: "Feature",
  23595. id: "6108",
  23596. properties: {
  23597. name: "榆林市",
  23598. cp: [109.8743, 38.205],
  23599. childNum: 12
  23600. },
  23601. geometry: {
  23602. type: "Polygon",
  23603. coordinates: ["@@™ýVƒnIW»ƒW@»kUÇL—݃U¯¥ÇIUWWїUWwX¯mƒ@»n@ÜÈķô™@a±kȱƒw„ÑmwçċmU»ÆkkVyIm™ĉÿ@ƒÝ¹ƒWnwÇVš™Åaƒzmmĉ¦ó™kVmx™xU¼VškVm_UlVlk„°IV‚kmJa›¦k™™LmmV@XmKnšlUô›VXbƒbƒ@UaÇLğܙ™Åwƒ£mKnmċwÅ@UkƒbmaVƒƒƒn@m¯aU™Jm_k˜@kWXyl@@kÅamw™LU™Þ™ƒ™mWÅzUKƒš™Uk±@™b@nnK‚bX¤mzVšŽVxÇn„‚¯„@ÒknWƒƒVUbkķÈÑWkk@Va™™U@„mUkbƒÝÅ@Ý¥ÇbkĬ™XV`kLǍVmalUUa™nV±nwmkƒJ@Inƒ°KVw¯UnÅ@¥™ƒ™U±bUU˜±œmWbÛKWnUm`UƒVK@bmnœm‚Èż@V„L@xƒxmš„Ť°nŽ@VmK™²VlšlKk„ô@„êÜV@VXLlmš¦UššV°Ș¯²ÿ@¥š@ƁĊ˜²IšmĶnnb°b„KVƒĸLl„Þ@UȮš™Ü°IVƒÞÝސlŽœx@ŽķĀWŽ„Ux„èƐ@š°ŽXnšlĊ˰m„nƒšV„²V°ÒƦ„aބ„˜@zll@bÞšlš¼nKĊ¼óȂb²±šIǪÒ¯ĖV@„lxnVlk„JlaXwŌĉ„„@VnŽššlÆĕ„UÆLœèŌŤôxȚlUœ@šxlaUċĕXm„IWmnkšVVƒ„VW_@aÈWUUmk@ƒ¯çVm»™±W¯n¥V™mkXw±ÇVwƒ"],
  23604. encodeOffsets: [
  23605. [113592, 39645]
  23606. ]
  23607. }
  23608. }, {
  23609. type: "Feature",
  23610. id: "6106",
  23611. properties: {
  23612. name: "延安市",
  23613. cp: [109.1052, 36.4252],
  23614. childNum: 13
  23615. },
  23616. geometry: {
  23617. type: "Polygon",
  23618. coordinates: ["@@@kkÇmIšmUwVkUƒƒU²WmšVkm@m`mIĢĕUƒVa@™mXƒƒÿVVkyUýšĕ@l_UmnƒW„KVkţ™™¥™aƒwğ@™@aôƒ„ƒWa„kUmƒa¯¯™a±£kx™mmxUwÝ@xmU™b¯K™wó„Ý@kmm¹Ub@lklVbmnnVUV@x›UknƧJUX@ŽƒLÇWkw™LķƧÅwWJk„ƒLkþĉxWz™JUnǚkš@Ɛk¼ÜÔÈKšè@°lșÆk¦l„n@l¼@l¯L™°UU™Vǰƒ¹—`m¼mXk‚™bUaƒV@U¯x@¦™Ç™„UUmlmUVm„nnmlkw™@@šƒ¦Å‚ÇLmx¯Iklš„@¦mưVUx¯Lm„@J„InlmxU²šmVbkV‚bUnȎlKU_šWlīÈaÞ¦Æ@„ÞlanV@ƒšVšUbl@XlÇÒĸlŽVa„UX„lm@ѰƒƒÈmUw‚U™nyW£amL@mša²@lšV„™VLÆynX„šÝšVššKnxÆb@lk@WzXŽ@ll—n`šIV‚°b@n„m„„‚Unb„aVlÆ@ČxmnnL„¤ÆxššĠÛÈKVb„@„aWaœU‚ókVm™nL@W‚UnnšKlšœ¥‚bnIlU¯JlƒUkVkn`lUU™V»šwnwlUôšĊ¥nn„yÆb"],
  23619. encodeOffsets: [
  23620. [113074, 37862]
  23621. ]
  23622. }
  23623. }, {
  23624. type: "Feature",
  23625. id: "6107",
  23626. properties: {
  23627. name: "汉中市",
  23628. cp: [106.886, 33.0139],
  23629. childNum: 11
  23630. },
  23631. geometry: {
  23632. type: "Polygon",
  23633. coordinates: ["@@lKnb@n„lWb°bkxĸwVb@ł„nlŽ„ƒĊ¥šL@XŽl™ÈƒVblÈK‚b„akVwôml²`‚nœ@‚nVKœl˜k²xŎƒ°¦VU„JĊw@çnWçރVkUóÛ@¥kwš™šUmƒX¯WšÑkƒ@UymIUwlUn¥‚mUk²a°¯V»@™ÝVș„ÝċÅÅVl»@l@a°±@_kammÅb™a@ƒƒm@ż™KknõĠ—@mšƒ„¯LÅw›‚—LVxmb@¼kV™@mw¯wVakKW»X±¼¯Vkxƒb„¼WŽ@nx@x±bóakbƒ@ÝmU™@ķÓÛL™kƒVUm™k¯¤ÝLUlÝ@Ýz™š„x@x™°™™™bƒmƒX¯aUJW¯—k@bÇWƒwÛwWxƒ@XWlb@Žƒ„VŽÈUlwšLnl°VlUô¦œU°¤VšUxVXUxlbkVVlƒI„°„ÅVlU°m@k„ÇU¯xUlƒLUlVL@b™°ĠInĠ°ÈnK‚„@xÞa²n‚aUyšXUKVkšWô¼Èa‚z°JXUVÇV_„JVƒšz@Žnb"],
  23634. encodeOffsets: [
  23635. [109137, 34392]
  23636. ]
  23637. }
  23638. }, {
  23639. type: "Feature",
  23640. id: "6109",
  23641. properties: {
  23642. name: "安康市",
  23643. cp: [109.1162, 32.7722],
  23644. childNum: 10
  23645. },
  23646. geometry: {
  23647. type: "Polygon",
  23648. coordinates: ["@@„bĊaƨèšwôô„¼šb°ašXVƒÞVUÞ@‚aXƒm¥kImx¯¯ƒV@anU@UÇéğL@ƒ¯¥V£mƒ@ÝÈb„K‚™„X°wČÿ˜ƒ„b@xÈblxȯĊ„„mÆUVƒ„nÈ@ƨÜLĢ¥ƒŹnƒ°Vnn˜K„aô_ȃšwU‚aXmnW‚¯kl›LXƒÇ™ō¦ÝaÅVmbğUn¥±wÅéVƒan¥ƒ„U„»°am¥„£ƒÝ@ƒ„wVw™¥nU„уUmmVwmķIÅaóVWxkblb@ból@œğÒĉ¤ċXƒ˜¯X™xk„Ç@óÆÅx@š™xķ_kmݎǣkblb@`¯²@bk‚‚@k¼ÆUČÆƒÞǚÞU@šU¼¯°±bVlnm¦kVVxnJVz@‚l„™ÒXW°n„™V™šlx@¦ôÜVUl݄Xèm@è"],
  23649. encodeOffsets: [
  23650. [110644, 34521]
  23651. ]
  23652. }
  23653. }, {
  23654. type: "Feature",
  23655. id: "6110",
  23656. properties: {
  23657. name: "商洛市",
  23658. cp: [109.8083, 33.761],
  23659. childNum: 7
  23660. },
  23661. geometry: {
  23662. type: "Polygon",
  23663. coordinates: ["@@²nl‚ôbš„°aVwnKÞIš`°wšXôw°VĊ°@ŽÅš„ÞÆV„zÞK@xšŽ@a‚LŚ@b@ŽnLlƒ@šln„mnLVw„a„bVƒ‚VnbU¼„Vƒ°„bl„šbÈ@ĶŦb˜@nÇ@amIyUI@ĠVmôƒU™ƒVwkwlanJ„¯lwó¥@an°Jš_„‚@š™nóƒó@£l¥UwmašÑ@ƒUm±V_ƒJ—£›J—UW¥¯@ƒ_k¯¼mUƒVUè¯b@wmL™»ğVmağI¯¤ċIUW™XƒKĵ¦ķaƒJUb™IƒlUóVmk@WÅÅÇ@ƒmU„ÅVƒnĉƒÇ°kwÇa@wƒa—„ċxƒWšƒLÇa@Þn„U¤°¦@„ĠKÈê@VmV@b„U°°nwlJn¦W„bÝ@VŽ"],
  23664. encodeOffsets: [
  23665. [111454, 34628]
  23666. ]
  23667. }
  23668. }, {
  23669. type: "Feature",
  23670. id: "6103",
  23671. properties: {
  23672. name: "宝鸡市",
  23673. cp: [107.1826, 34.3433],
  23674. childNum: 10
  23675. },
  23676. geometry: {
  23677. type: "Polygon",
  23678. coordinates: ["@@@ƒ„£@›°Išb@¯°ynʃaUƒlƒU£„Umšĵĉ@@ylUÞ@@£kWU¯WaU£¯ÇV¥ƒ@kb¯wƒn™¥ÇkUÇnUƒ@¯±›kULm›@m±_kŽónUxlŽƒbaÇLkŽUaDŽkšW@™Kĉ¦ƒ„kƒm@ŁUaķxlw¯aXaƒk@mmakL@šmšÛŽ@¼m„@l„XV`ƒn™KUš°°@²š¤UÈ@VxmôƒxKl„VV²aVw„Xla„Vlx@UVnŽÇnk°ƒVVL™lkI™šƒJÇk¯V@šknƘn@lznmlVkzVŽ„VVxš@Ux„z@x±¼VxxU„l‚kb˜@„¼Čk˜VXlĠkôV²w‚LUKlwœJ@a‚IV¥Þƒn¯Ün„‚„@nk˜l²kÆ@š°„aVbnI@™š‚Ťn"],
  23679. encodeOffsets: [
  23680. [110408, 35815]
  23681. ]
  23682. }
  23683. }, {
  23684. type: "Feature",
  23685. id: "6105",
  23686. properties: {
  23687. name: "渭南市",
  23688. cp: [109.7864, 35.0299],
  23689. childNum: 11
  23690. },
  23691. geometry: {
  23692. type: "Polygon",
  23693. coordinates: ["@@@ÈôL„xUް„Þ@mŽÈnl¤nUôL‚wX`@ÞÝL™ŽUšmLô„„ŽôbVbnºlnÞ@ôƒšx°LšanV‚wÞ@Vxnwšnlw²¤šb°°„bVnƒlXbƒ„ó„@bš‚Ġ@„xšbš¦ŤšV™Xġ„£W¥ƽɽƒó@ýóƝÝ»„£X™mƅšĊkUƒ„@™™šó„kťaĵŽÇ@™akƒƒa„¯ƒUV»maUU„ƒaƒbUxmKƒnkm@™k„mK@ƒxó@¯n¯KǦ@ôÅèlxkx°nƒƾ¯KU¯WķL@VÝIUb™yWbX¼Ç°"],
  23694. encodeOffsets: [
  23695. [111589, 35657]
  23696. ]
  23697. }
  23698. }, {
  23699. type: "Feature",
  23700. id: "6104",
  23701. properties: {
  23702. name: "咸阳市",
  23703. cp: [108.4131, 34.8706],
  23704. childNum: 14
  23705. },
  23706. geometry: {
  23707. type: "Polygon",
  23708. coordinates: ["@@šIXyĊwlý„KlƒXIVaķƒ™»a›£„¯aVU@a™‚wÈō‚ašL²»‚VœUln°WȯW»XašzVaÞJ@Uƒ»@¯Ýbğwly@£kÑţ±Wу@ka™IUƒƒnƒ@¯ƒómţU™b™U¯lÇIÝb@¤Ý@kV@zĊ@™ĶnƒVV¤k„V„„bmź¯z@°™a¯J@œƒ¤@„„bUx™bƒ„@`™xUÔ±ºVXœW‚„UnUJ‚L̝ÈKlblmÈXŎ°šU„°LšŽlkÞKš@Èxl_°ĶUÒkblš"],
  23709. encodeOffsets: [
  23710. [111229, 36394]
  23711. ]
  23712. }
  23713. }, {
  23714. type: "Feature",
  23715. id: "6101",
  23716. properties: {
  23717. name: "西安市",
  23718. cp: [109.1162, 34.2004],
  23719. childNum: 5
  23720. },
  23721. geometry: {
  23722. type: "Polygon",
  23723. coordinates: ["@@°²@‚„mVVÈÈlš¦„m°xla„@U¦°ÈV¤XbV°lXÞaÈJ°kšVšaŤVôn°„„@„mV„šJlb„@XÒŤ²lÒ@¤kzĠxÞa@°„¼ĸK°XV‚°L„ƽ¯mlwkwÆç@óÈ¥°L°mô@„w@aƙK@b™@wÝLƒyÅUƒÝƙ@ĉ¯¯Uóx™W¯x™_ÝJmLUx¯b™ƒóak±mÝUU„™W¯b™aƒ»óó™xƧçĉbƒaĉxƒIUV¯¥ō„±w—l"],
  23724. encodeOffsets: [
  23725. [110206, 34532]
  23726. ]
  23727. }
  23728. }, {
  23729. type: "Feature",
  23730. id: "6102",
  23731. properties: {
  23732. name: "铜川市",
  23733. cp: [109.0393, 35.1947],
  23734. childNum: 2
  23735. },
  23736. geometry: {
  23737. type: "Polygon",
  23738. coordinates: ["@@ÆxĸƨšKlxÈX„K@VWƨIlmœV@wVUmUnmUalk@kVaUaóaƒóƒnKV™šÞK@ÝW_xóKmVk£ÇmnÝ@¯ƒVƒwóK@ǯXkm›VU±¼™KbÇŎx‚š@bUV°bƒœ¤‚bš¼ĸ„Ub"],
  23739. encodeOffsets: [
  23740. [111477, 36192]
  23741. ]
  23742. }
  23743. }],
  23744. UTF8Encoding: !0
  23745. }
  23746. }), i("echarts/util/mapData/geoJson/shan_xi_2_geo", [], function() {
  23747. return {
  23748. type: "FeatureCollection",
  23749. features: [{
  23750. type: "Feature",
  23751. id: "1409",
  23752. properties: {
  23753. name: "忻州市",
  23754. cp: [112.4561, 38.8971],
  23755. childNum: 14
  23756. },
  23757. geometry: {
  23758. type: "Polygon",
  23759. coordinates: ["@@Vx@lnbn¦WlnnUšmš°š²VšV‚VVVnUn„ºlz@l„„@Jƒ@kXWVXl@Lƒa@„ƒKUL„ŽlbnKlLnK‚LnKÆXn°šbVV@bUVl°Un@LnaVJUbW@UX²l‚@ČwlVVIšWnkÆa°„„anV‚Kn°™UW¯@™aVUVk@Un@„aV@ValwUanmWU„k@WVUUanaVwnLVl°@nk@mVU@UVK@w„LVKVU@ƒ„K@UUKVUV@@bnL„a‚V„aôšlIXmlKX_°KVV@bVV„@šzV`kblI„V„Ul‚šL@bnV@V„Ċll„„VlIXW@k„a‚U²blKšVnIlJ„albXXlWVn°JnšnL@l@XlJlaX@„X˜W²@l_VmnKšU„blU@mnkVK„¯@U@ƒma@kX¥VƒmakkƒLƒa@aƒ@WIUUVXWWnk@a°a@kkm@kUUmJm@WUUUIk`m@V—kaWWkX™KmƒXk¯ƒ@WKƒLkak@±bƒw@ƒaƒa@akaƒ@ma¯@ƒL—KÇÅkKWbkmġ™±ÅUƒLUK™VVkƒm¯LUVVbƒ„UwUW¯bm„ƒULƒxWJ—@ƒklmkUm@@KnwVkVK@akwƒ@@a¯bƒKkn›VUI™b¯mmbk@UbmKUL@xUUƒ@klmLUŽlVXI‚VVVUVUœU`mLXVWbXnW`Ų°xmށxU@mĉƒƒwU@mbU@UƒmbkVW¦kJ™@ƒX@`¯Im@UlUVVnb@bWJXnmbƒJUU™UUaƒ@UamIkaƒxƒ@@x@b"],
  23760. encodeOffsets: [
  23761. [113614, 39657]
  23762. ]
  23763. }
  23764. }, {
  23765. type: "Feature",
  23766. id: "1411",
  23767. properties: {
  23768. name: "吕梁市",
  23769. cp: [111.3574, 37.7325],
  23770. childNum: 13
  23771. },
  23772. geometry: {
  23773. type: "Polygon",
  23774. coordinates: ["@@@a@w„@„wlbnJVb„@VbšVVV„InaWmXI@a‚aUmVUVkn@°J@_„Wš@lIX¥lUnaV„V@naV@„xĊ„n‚V@‚wn¯wƱX_WmXaWUnKV_V›VUUUUWJkUVnKlk¯™@@kmKUaٱKkU@WmI@WUIlUUmVwXƒ‚w@ƒUlUVwœV‚@„Lnb‚W@anU@UšaVkô@l»n@na˜JnUÈLVaƃUUVm„VKVƒ²L@mU_lK@UVWkU‚a@a@U¯aUaƒÑóÑUb™„ƒKk@@aƒk¯mVaUwVƒÑkWUmK@UUKmXUWÝwUa™LUU@aWJUUU@Ua݄U@WL@VKVaVI@WnU@alIVKƒƒ@kIƒmIkJ@™m@ƒ™@@_™K@xƒ@kaW@U„@Vmn@ŽUK@mIƒJUXV¤XXWlkKƒkkK@XmJVakImJU@ó™¯LWKUV@nUVƒLkxmKkLma@kXKmmƒLƒab™LmK@V@mXVÆUxƒX@`nL„aV@@VmLUVnLlLš˜„b@„šŽ°²nx@b‚VUxlb@V¯bUV@zV‚XVĊXVx@lVn@VnnmŽUš@LlJXVƒz¯VWVXbšV@bmn™VUVk„Çþń@XVxmbUlV„Uln„W„@„Xl‚@VLXÒ@bÞJ°¦„L˜ò„@nU‚b@°„X@ŽXbmVU„V„nb@x‚x"],
  23775. encodeOffsets: [
  23776. [113614, 39657]
  23777. ]
  23778. }
  23779. }, {
  23780. type: "Feature",
  23781. id: "1410",
  23782. properties: {
  23783. name: "临汾市",
  23784. cp: [111.4783, 36.1615],
  23785. childNum: 17
  23786. },
  23787. geometry: {
  23788. type: "Polygon",
  23789. coordinates: ["@@nW‚@@UnLšK‚a„b„KnnWL@lnblKnLlw„KVU@mVUXL°KôšV@nIlJUbnI@WlL„llLXkWWU£VW„InJ‚@VL@nm@UVƒX@lb„@@wšL@`‚@„šn@V@lw„@n„VmVX„WmwnUlƒœa@_lK„wVlUn°xVKVXXWlUšVVI@K@K„n°KœwlVlU@kna@V_„Wn‚m„UVm@kXml_@m„LlKXw°m@_ôJVUV@X™l@UaV@Va°I„lk»VwUkVmwUmmVn@V¯@KƒU—wmK@U¯wUVÝ@mJƒU—nWK™@@UnKVa„_lykUmKÛnm@™x@ƒUUlwVk™ƒXW@ƒa@Uƒ@@K@ƒkIV™nammVakUlƒ@wX@@kƒ™¯@ƒVVbml@„„°UbULmlVbnbÅK±VƒKVXUJWa@ULWaUU@@U@aWK@UkxUKƒLUUUJ±UkL@V±kk@kam@UV@l@LWl@n@VVUx„LlUUx@VUV™U@aƒIUl™L@°mLU‚ƒbkUUaWUUaUU@aWK—LWJ@bUL@VUVVbU@m@a@kmKmnĉlUK™XƒWUblb—xmIkƒƒU@xWb@lkšVx™LXŽmzVV@bklVVUzm˜@bk„@Vx@xlŽU„@lUbVnl@„Wxnl@n@ŽUbV„mL‚mƒb@`X@lUX@@xlnkLWaUJnnWV™Vn@l„@bULVV@l™V@XnJVX"],
  23790. encodeOffsets: [
  23791. [113063, 37784]
  23792. ]
  23793. }
  23794. }, {
  23795. type: "Feature",
  23796. id: "1407",
  23797. properties: {
  23798. name: "晋中市",
  23799. cp: [112.7747, 37.37],
  23800. childNum: 11
  23801. },
  23802. geometry: {
  23803. type: "Polygon",
  23804. coordinates: ["@@@šlInJ„lJ„@‚„ULkJ@bmV@XUJUb‚L@UXKV@ރVbV@VVXI@bVVšKVbÞxVXnWVL@VnLV‚lX„ÒUŽVxUb°n„l@bl@„LšƒVaô҄ÒVb°b@VnLnnV@lmn@lb„U„V@„‚JœUVV‚Xkl@lUzmJ@xšXkl‚bUn„JVšUb„nU‚lb„V@nlLX@lakšV`Ub°š@XVJnU‚L²KlxnI@KV@lbUbVV„KnVl@„zlm@Uš@nŽšI@WUaVl@@mVU„@XkW@ƒnkVKVƒ„_Vw„y@knwVa‚@XalU„@šVnml@„X@V„L‚KVaÞbnnlJšI„mVKn„VVVInVlU„@„m@™mXK@UmyUI@mWUUakamw@wUwmLkakwVƒmK™w@wUam£y@am_ƒW@™UU@knmm„amU@WUa@knw@ƒUUUUV@nƒJm@mVUkKVUUUkKmwƒKULƒKUImV@lUn™nŽm@mbUK@°™bUnmbUmkkƒWUb@am@UXkK@a±@™V™@ĉř„V‚UXVxUVkLWl¯@@bULUlm@@nm`—XƒlWakIkm›VUbUL@Vm@kIƒ@@Kšm@—VaX‚I@W@aU@kUƒVU_™KƒbƒJkkǎ™b@nkKmL™wÅW@kVUUƒVU@WUIƒJmIXmma@_kyVaUUlkUm@ƒkU›x¯Lƒm@L@LUJ™UkVWXUWUL¯wVmUkƒxkL@`›bk„mVnxƒXUWUnmƒƒ@kxU@"],
  23805. encodeOffsets: [
  23806. [114087, 37682]
  23807. ]
  23808. }
  23809. }, {
  23810. type: "Feature",
  23811. id: "1408",
  23812. properties: {
  23813. name: "运城市",
  23814. cp: [111.1487, 35.2002],
  23815. childNum: 13
  23816. },
  23817. geometry: {
  23818. type: "Polygon",
  23819. coordinates: ["@@„Vl„nJ˜wkaVa„XšWVLĊknmnL‚l@@bn‚V@UaVU@UVK@aXI˜KXL@bVVVbXVVblV„aVnK@¯šKVk„J@bšVVU@UVwkVƒKVwUUm@@Xk@K@kVUn@lbl@²l@UlK²VVIVV„KVLlw@VXL@b@VV@VŽXbVK‚@XbVIUW„L‚U²ÆLmaUankVKVaƒ¯@ƒnkUa„U°@„š‚n@@kWa„UVaXUW@IXKVw@U™ƒ„™WU@W@@UUƒU@mn@ƒ`m@UUULkUmJ™IUƒ@@UƒK@U@›anƒ™ak_@wmKUwmakV™kmK™V™k¯b™wƒ`kwUIÇx¯»ÇaŃmn@@™mƒmUkV@wkKW@kxmL™UkĉLÝk™xÝw¯lóVU„mV@ĀVVX¦W¤kz@`Vx°„²ĸ‚š@„Ul@x„êĸNJ°¤V„VlXLWnXxmV@nUl@„"],
  23820. encodeOffsets: [
  23821. [113232, 36597]
  23822. ]
  23823. }
  23824. }, {
  23825. type: "Feature",
  23826. id: "1402",
  23827. properties: {
  23828. name: "大同市",
  23829. cp: [113.7854, 39.8035],
  23830. childNum: 8
  23831. },
  23832. geometry: {
  23833. type: "Polygon",
  23834. coordinates: ["@@²£šyl@Ȑ˜Ė@bĸŽĢbĸ„˜X„a‚KŤnn@ŎôllÈx„nVnÞDŽV@b‚nXllL°KšbVb@J@b—„‚„@ŽU„„xlKXLlKlXk„@Ulk„JlkUƒVKXUƒÇVIVm@_nǚLšašl‚w„VnU@UUwma@aƒaÝaLmUk@@Wƒ@U@@X™wVWÝUUUk@@VmLƒKV»nwUw™aUL@`mzƒJUIVƒUaUw™KUaVIlJôanÑlLVUn@ša„@VV„@@UUwVK°Vn_lJÆLœéW@UUUÅ@»lm@aÞIVwXW˜UUkkm@U@aƒU@mwU£VWU_kWmƒXwW_°yUkkK@UÇK@kkUVymóK—U@KWIƒbUak@mJ@bkbmLkŽ™UmƒkVU„W¦@lnb@„@Vƒ°ULml@nkVƒa™VmLUnk`±@—XƒWW@kbǦXޝ„WxI@xmbmxXlWV„„@bŎUz@J‚b@bÞb™ŽU@Wbk@ƒxk@WX¯VۙƒWÝbÝUkVUU@alI@a@akLWa™m@U¯UUmÇL@K@aU@¯VUkƒKmX@`@œkJ@nV‚Ub@lbVÆXVW„ULU`VbkLUV@XWl@bXJ˜@VbV@Vl"],
  23835. encodeOffsets: [
  23836. [115335, 41209]
  23837. ]
  23838. }
  23839. }, {
  23840. type: "Feature",
  23841. id: "1404",
  23842. properties: {
  23843. name: "长治市",
  23844. cp: [112.8625, 36.4746],
  23845. childNum: 12
  23846. },
  23847. geometry: {
  23848. type: "Polygon",
  23849. coordinates: ["@@Uk™Lky@I‚JVa@mÞaWšy@_W@_WƒXVlUVwš@nw°K@m„UƒVaƒmVkU@mmmnLVUmKXa™U@IlKVUnK@UmWkX@WV_Vƒ@akU@a„KWIXyƒIUVmUn™Ua@WaXUVKVmkUWVkUƒLU@@VƒbƒKbƒIUmƒ@mbVL—x›WUUkn±V¯wƒbÅJUbmLkbmKÅKƒbVnUbƒV™KUb™KUbmLKmƒb™aƒKkUm@UŽnn‚VnxUVlUxl¼ƒk¯JUbU@Vbk@WšU@UVóI@`¯nWxkLƒK@nk`Wn@lUnƒVnm‚ƒXU`@mb@lkV@„VnklVVUblz@`nbWnnJ„IVJ@XUVV„UV@lÆXšxnKlL@mšaȍll„I„ašLV`„UlVV@@b@XJWUb@˜™n@L„@lJn@@UVKVaœUlnlJXb„k˜Wn_@mn@VkVK@a°@XklKVUUwVWUšƒĊƚ@šU²@@blLVWn@@bVa„XllVnnaVmša@¯VLnan@‚šmVm@knUVJ"],
  23850. encodeOffsets: [
  23851. [116269, 37637]
  23852. ]
  23853. }
  23854. }, {
  23855. type: "Feature",
  23856. id: "1406",
  23857. properties: {
  23858. name: "朔州市",
  23859. cp: [113.0713, 39.6991],
  23860. childNum: 5
  23861. },
  23862. geometry: {
  23863. type: "Polygon",
  23864. coordinates: ["@@XXWVXVWnnlnn@èÆ¼@„„xlš„ŽV„nblšššVŽÈUVl‚š@„blnœL܃ĊmUkU@Ua‚—@WI@aXk@WVUlKUaV_VKXƒWUUÅka@VaU@mlI@›@_nW„LVl°UV@@b@LÈKVn°V@VšnXblK@b@bkJ@bVVlUÞVÞa„Xܚ°UXWl@„wl@XaV@šÝa@aa@IVyƍ@aƒƒXUWknwna@w‚JXw°ƒWÈ¥kI@W@kmKm™¯IUmkXWWkaƒbkImJ™UkL±aVƒb@lWXkJƒUkƒĉkƒ@UmU@a™KkƒVƒUkJlaU_™yƒ@UU@aUU¯LW`kLWnkJó™ƒbUƒbmK@aU@UVVL@VƒL@„UVULƒK@xUL@VUV@nml¯@UkmKUxmbVbUV@XƒlXVmnVbkxUbU@ƒbm@@VUlUVšb°@VX¯šm‚"],
  23865. encodeOffsets: [
  23866. [114615, 40562]
  23867. ]
  23868. }
  23869. }, {
  23870. type: "Feature",
  23871. id: "1405",
  23872. properties: {
  23873. name: "晋城市",
  23874. cp: [112.7856, 35.6342],
  23875. childNum: 6
  23876. },
  23877. geometry: {
  23878. type: "Polygon",
  23879. coordinates: ["@@lV„Lšb„an‚LnKVašLVašL„UVaUm„aÆLnLlanKVaÆI„a°x²UlmVVœX˜wUKna„@Vn„J‚a„L„a@UV@@alUkKVKnkmmVwUk„w@ƒ™@kxWUXƒW@@mƒk@aUa@a¯aƒLkKmwkUm@kL@K@aWIXmƒVƒXƒWkUVakL@UVKƒw@aUK@UUKmLU@¯n™KUwVƒUIWJUWmka™@UXƒJƒk@UkmW@kLWKVƒx@bmI@VUaVU@a¯@UUmVKmX@±`kÝKVxUL±akL@V™bƒLkKmVƒ@XWVUbƒVXb@lm@@lW@@xk„lVUbnnmbUšlJ@„@L„@@V„b@‚WXš„UlkxVV@„šwn@ÜmnLlVkzƒ`UbmL@Vš@XL˜m„VnIÞ@VU°x@VnL˜x„V@LU°"],
  23880. encodeOffsets: [
  23881. [115223, 36895]
  23882. ]
  23883. }
  23884. }, {
  23885. type: "Feature",
  23886. id: "1401",
  23887. properties: {
  23888. name: "太原市",
  23889. cp: [112.3352, 37.9413],
  23890. childNum: 5
  23891. },
  23892. geometry: {
  23893. type: "Polygon",
  23894. coordinates: ["@@„@VV@wVKnLVal@na°nšaVJœUlm„L°a@b„@lx@bULUlmx@Ln@lVkn„l˜@XI„w‚K„Vnƒ°aVXVx„ƒUaVU°K„nUlšUVL„KÆVš²Ģ‚lnXalLÈÆ˜L„KUaVkUanmWU™a@WwkUWU¯y¯Ñ@anIl@@aVU„m„I„ymUƒLUUVakaU@@LmJkw±LKmVUI@W¯™VaU_l™kbW@kK@mƒUkaVƒmVaU™ƒIVmalk™W@wnIVy@klkWUU›VI@ƒƒUƒVkam@knU@mmmK@bblVUX@VkLV`@n±KU„ULƒ‚UnVVńUbÇKmV—Imbm@k¼ó@Ul™b@VmV@bXmaƒK@›UUxkV‚V@„xW„UxVnkVVJ@XnJ@XlV²LƂVbnL@lš@°"],
  23895. encodeOffsets: [
  23896. [114503, 39134]
  23897. ]
  23898. }
  23899. }, {
  23900. type: "Feature",
  23901. id: "1403",
  23902. properties: {
  23903. name: "阳泉市",
  23904. cp: [113.4778, 38.0951],
  23905. childNum: 3
  23906. },
  23907. geometry: {
  23908. type: "Polygon",
  23909. coordinates: ["@@°@nb„@lb@b„b„b‚@„x²al@lb„KXU@m‚kUWkkmUUƒVwV@XUW@™naVklKXblKnL‚ƒnLVanImaXKlL„ašV@U@KUKW„alƒXK@£WKXUV@VU„ƒUUVW„_V™@W@@K„@šƒUƒƒIWmXUmƒULƒn™JkImmÝaUbLƒK@UƒWk@mn™Uƒ@kVWb@Ubmx@lƒzUxƒ`U„ULml@„XWlƒ@UV@nk@U‚Vb@X™Jm™@@Vknƒyk@ƒzƒJƒnUV@bk@mJ@b°Ò°zXVlVXx‚@šbXVmnVbUlVb"],
  23910. encodeOffsets: [
  23911. [115864, 39336]
  23912. ]
  23913. }
  23914. }],
  23915. UTF8Encoding: !0
  23916. }
  23917. }), i("echarts/util/mapData/geoJson/si_chuan_geo", [], function() {
  23918. return {
  23919. type: "FeatureCollection",
  23920. features: [{
  23921. type: "Feature",
  23922. id: "5133",
  23923. properties: {
  23924. name: "甘孜藏族自治州",
  23925. cp: [99.9207, 31.0803],
  23926. childNum: 18
  23927. },
  23928. geometry: {
  23929. type: "Polygon",
  23930. coordinates: ["@@ƒaXamƒ¯wm@±°wUwV@UaVw²Kš™„U@UƒU„¥‚a„ƒ@£Þ™ôx‚Knkm™X¥™IUƒÝUwlk°V„@ƒÈ™‚KUwlkUyV¹„mšx²Xll„ÑW»š„l„w°UŎ„nƒ„„˜Jœƒl¯°V@wôIVÇn™nUllšLšVǚLô¼XW£@±„@¥k_ÇJƒkUéƒkšƒƒwXa@ƒšLlw²™Vx„b‚mš¼ÈxlLȃ„VWÞn¯mǙÑUÝlÛkwlĉmƒULmwUJ™ç@wkm@ÑlUX™ƒÑôġƒVa™ƒUф¯@wķÓkbV„mnU@@y¯IķKƒV@¹šaƒé@k„mÞU°¥@a¯@anKlblU„¥@óğç@Çw@wkla„çݱk¯±@ğÝUÛmݯwƒ@kb±¯akXWÜkXUÆÇUš¤X_Ɛw„V@¤ƒXU‚ƒbUƒŽƒIUlÇUkŽġ@™aXČmlUlèUV@„mVk¦Vxš@¦±š¯ƒƒ¯¯anlWš¯nƒƒÅw@w°KVak£m@klƒKknÇU™»óKšīlaUaV£@™™¯@ƙU™VƒÛÝÇXƒÇl—ÓlŹ„»WUğJ¯£mx™Lĵô›ºX„VlUll²bl„„lŽƒxónn°ÝšU¼mJUš¯nƒƒƒV@êĉ°Uĸ™w™@mƒ@¯kmXamѯaUwÝKU¥„mÅn¥Wmn™ƒ¹n±ƑƆÇôXê±NJnšƒ‚UôlĖkȂVÒ¯¼VnƒȮ¯ĀnƆ˜Ģ@Žk°V°¯ĢVlkšVxm¼X²™Ŏ@ŽVxknWܰU‚¯n™ÆÝœ@`„ôݲÒƒ‚Çzn‚mX@x„è°K°Å„UČĬóĖ݄ƒ˜ó¼ÅêƒÒƒbmšk@V„Ž˜„@ҁl@nĉܛê—x@Ėml՛J¯¦óxȭ°ÝmޝLĵè›Ā@Ɓ„l°żƒ‚šX@xmŽkV@z@‚„°blŽnÞ°J@bn@ƼUVƒUóŽóLƒ°X°ÝLƒxUn„°ƒĬƒn@lnL@ŽÆ@šn„KÆxnUnV˜InĬmÆnxŎ¼ĊIĢóÞ@ĊƒƨbUƒ‚mV¥lkƒ‚wnL„mšÅÆ¥Xƒ˜wU@w‚wUÞ™@alUUŚU™Vkkm°aU—°Ó°w°U„ƒ„b°aš²K˜¯œĕ˜@ÈbޏĊaš»„XVm°In„‚Ĭk¼Vb„ašJšôš£VĊan™‚k„ů™™nƒÜU@anKnĮ‚bÈmƎš»nI‚霣Ġ™"],
  23931. encodeOffsets: [
  23932. [103073, 33295]
  23933. ]
  23934. }
  23935. }, {
  23936. type: "Feature",
  23937. id: "5132",
  23938. properties: {
  23939. name: "阿坝藏族羌族自治州",
  23940. cp: [102.4805, 32.4536],
  23941. childNum: 13
  23942. },
  23943. geometry: {
  23944. type: "Polygon",
  23945. coordinates: ["@@l@@þ²I@lƒ„VL°wnJ°Uĸ™Ŏè„Ilw„V°¤nĮ™¤Ý„lè„L@„ƒ„@x„l™è²ôĊ_ĊġVÈôJżīlbXšÆÈVŽkxÇVƒ„n°„¦Üb@è@nn@@°šUÈ¥WDŽ_Uala¯¯UǙkƒ»„mVwk»˜k²°VxlL@¤œ_@x‚`ȍ‚Ėöb˜š@l²alX„a@bnK°¦VK@nnWmx@nUnl@@lƒlĉk°l°UXkmW@Unš`k„ÇL„ŽW„ÛÈVxšVVlVk@l„IXb@ylXÈW˜Į„WŤzœy@šmIƒŽ²šJ‚š@nް@V„„J°a„Å@ƒŎkVǚk™aUw„KVw™™Vƒ„@nkm™@±ôkô™ĊJš¼šInÑm±nIššÞ‚XȃĊxĊUÈbÜyÈ£Vkw@kVUV™„m@ša„»ÜbÈmƒUXwÝxƒUn¥@°ġ™Å‚aœJVk™aW¯Û@W¥—UŏĶ™@¯kUƒŃ@ašI@mmanwސ‚W@œ™mw°»Uřk¹±W„xVx¯¦U°ƒzţW™w@°ÇVÑk¯@„y°aš£š@šmšnl¼„ašÝÝakwUƒ±aĉImlĵn@ƒm@kkVƒ¯Ñm™ĸ™°x„l™œ@˜ƒXVÞmlÛݙĉUÅ¥mwÅ¥VaUw›™XġċaVůÛŹlwU¯U™ó±™xÛV±¯¯n¯mċƒLmnĊm‚™@™_kJWaXmwUƒĉK™»™@mwX݃UDŽkKÇw™»nƒaUw±škx™K@„Wb„x™„„lVê„lÈIl`@¦ƒŽ@²X¤Wó»™KUșŽ™KkkmVmšUÈóJ@x¯Uk°›„—Iƒƒm„ōƒ¯Vƒxƒk™ŽX¼ƒÒkk±W™wƒnUºVzklVxLǚ@„ƒŽ¯UklVxސV„šJW¦nšmlLówݚ@¤ƒ„bƒ¦„V@VƒV™š±LUxVbU@Vx¯x@²n‚°xn„Wb„b"],
  23946. encodeOffsets: [
  23947. [103073, 33295]
  23948. ]
  23949. }
  23950. }, {
  23951. type: "Feature",
  23952. id: "5134",
  23953. properties: {
  23954. name: "凉山彝族自治州",
  23955. cp: [101.9641, 27.6746],
  23956. childNum: 17
  23957. },
  23958. geometry: {
  23959. type: "Polygon",
  23960. coordinates: ["@@ĶóšKnw°¤ĠIXVƒ¼kź˜Ôk‚„ÈWŽÞȄÜUVšÅš°@šš‚@U¤Vbkb™ĬôLš¼ÈVlm„Llkn@l¤Ub¯L@xÆx„„°mX™mk°b„°°„²™@¥‚™Uwl¥nU@ƒVUkçVnkWċšbĢ@lÈVVk„J„‚V„aV„W@£ƒUƏxW`™£ÈVVÅlWXÛlW°b²la„@°xnÞVÜĠÞ²@l°Þ²ƒèkblŽ@xÈx@Ġènal£nU‚Dz@‚ÞK„nn¤@¼˜°U¼„nV‚šXU‚šbn™ĠUVbUlVš°LX„@lV„èÜUnK@_ƒyXVyUwmIU»Vƒ„kÇ¥šÿkkV¯m±n@ƒn¯ÜanVVƄz@Ž‚bœwÜb„m@wša@kƒmk»@™a@VUUó„w˜@nb°mš„XŽmnVbގVôanwšJ‚ak£lw„˜šLšÅnÝ@wl¥IÇӃ@U™™Lƒ¼kVǃÅó¯kVmmw@ƒn_‚Vn»°LÅ»@éÇçŹīVÇÝ@ÝğU™ƒaVݙ™š¯ķlŭġlƒ@óÞۂċ@¯nkUӄ—m±™IVġUwóKUn±¯—K›w»ƒKݐV„nl@„óxUwţ›£ĉƒUmŗÇ݃K™„ÝUlmKƒ£UVŽ@ÞȎW¦„Ò@Ĭšnny‚@nÒmœVŽ—¼@°Vbl@VlnUUwl™°a@„œ„@llnk°lbnKWĀnŽU„VxUŽ‚²Å‚m¦Û›ÇڃaU„Vbš@¦m`móX™Umm™xÅ@±Þn虲™U¯»m™ƒV—m@wƒU@wݚÝmLƒa@„™VÇUk„l°¯„VlkVƒ¦UšmxƒaULUèVx@„kIUxmWV¼¯VmȯšU„nl›È—@m»Å™ƒVWxÅbÅğW@kƒm@kVV¦mlnn@‚ō„l¦Åƙxkœ"],
  23961. encodeOffsets: [
  23962. [102466, 28756]
  23963. ]
  23964. }
  23965. }, {
  23966. type: "Feature",
  23967. id: "5107",
  23968. properties: {
  23969. name: "绵阳市",
  23970. cp: [104.7327, 31.8713],
  23971. childNum: 8
  23972. },
  23973. geometry: {
  23974. type: "Polygon",
  23975. coordinates: ["@@„ńlV°š@Őĵ˜VX»ÆUĊќJ‚w„@È»m»š£°Kšk@ÇnÑÆš@„w°JUwnw@wšbVbš@VlźLUw„aƒ»„aUklyUUVakwWXwWƒUxkLƒmn¥mšwk™˜UX™lJ„w@aƒIk°X„¥Wƒ²l¥šaU™„IlmkklƒÈL@m°nlWU™aW—š@Vƒ„@UaV¥@ašk@Çk¹ƒK@a™K@kƒKkšÇX@VU@kx±V™èkIWwUVUkkKÇ@ƒa@wkml¯@kUWn£Wa„aVwnaV݃w¯@UaWx—n›JńUxUšma@L@„mbUށU±VVnkxUƙ„VŽm@kkKW°„X@¤ÇUkÆÇnU¦¯ŽkƒmLVwÅK@UóbÇÆVƒ¦™L@‚±êX¦mVޚkÜÝnWU—„›@kšƒŽ¯wķšnš°ÒU„lln@@„ĶmnkĊJ²bV„lxÞb™Þƒbk»™m™n™@™¤¯bƒz@Žl°UÒ¯È@ŽšxŤX„yV¯°¥Uwƒw²XlºVڝ¼nx›š@ށXݏmxnb@n™J@b"],
  23976. encodeOffsets: [
  23977. [106448, 33694]
  23978. ]
  23979. }
  23980. }, {
  23981. type: "Feature",
  23982. id: "5117",
  23983. properties: {
  23984. name: "达州市",
  23985. cp: [107.6111, 31.333],
  23986. childNum: 7
  23987. },
  23988. geometry: {
  23989. type: "Polygon",
  23990. coordinates: ["@@Uxn°‚bnŽlUnÒÆƒnn@n‚¤„LnxlU„ššV@„Æl„x°XXxl`XœƒVW‚œL˜è—„±nÈbƒŽ°b@š²x°Kܼ°ĉ„V¦lJnU@¦šÞ‚JÞğ„mšLÞ»šxU„lb„VÆann„alŽ„VƍX@lnŎV„mU™maÅXƒa@aWmœ@‚£@wĉJVƒkk‚kkmƒnk@ƒmna@šal„Kš™‚J@Þwm‚ÅŃ@ambkUƒƒ@™™KUġKU@m‚ak¯±ƒ„a@aĉÑÅaVwšXlwƒ±—V¥l@@a™kƒ›@@£šmƒĉÝónWV@ށnÝÇÇx—UmbƒaVkkk@m„@m°ƒÝýXm›akÅīƒ@@ƒmb@@xmšnbƒ@mxšŽkWL@ƒ¯b@WUXmWœWKkbm@kx™Xmm@LUl„xlêóK™nUš„all™LƒlLó°m¯JVšU„K„„@x˜K²Āô¦l°"],
  23991. encodeOffsets: [
  23992. [109519, 31917]
  23993. ]
  23994. }
  23995. }, {
  23996. type: "Feature",
  23997. id: "5108",
  23998. properties: {
  23999. name: "广元市",
  24000. cp: [105.6885, 32.2284],
  24001. childNum: 5
  24002. },
  24003. geometry: {
  24004. type: "Polygon",
  24005. coordinates: ["@@ÆL„Ċx°»Ŧ¦˜W„™šLȄ@xÞKܰÞnVxÅĀlÒnJ°a@w„V¯l@XWknKnw˜VȚ°XXa˜lX°VI°b„W„nšaššš¥@ƒw°™n@šyÆ@nkÞ@°¯lJn„°IÈl‚UšlXÅ@ķlUV¥VUUÝޙUUƒ@UwƒJUkĉm@ýƒƒlk™WUwVwWJk@VUK™lUkaVƒUƒmLk„m@ƒƒ@Uƒ›Ik`@„™UmlUkV¯ÇXKÝ_mm¯@Uƒ`kwmƒl¼±KV¯—¯Vk±Vk±kzma™KUnDZ™bk¦±ŽX„ƒ¦¯Wl„J@bƒxkIWš—Vlš™xnŽm¦„nlKVwX„WxXŽlxUbVVkzVlƒb„¼ƒbVxŹKUk™@Ua™a@xmxVx¯Iƒx™@ŎmÒ@șl¯L™¤n¼"],
  24006. encodeOffsets: [
  24007. [107146, 33452]
  24008. ]
  24009. }
  24010. }, {
  24011. type: "Feature",
  24012. id: "5118",
  24013. properties: {
  24014. name: "雅安市",
  24015. cp: [102.6672, 29.8938],
  24016. childNum: 8
  24017. },
  24018. geometry: {
  24019. type: "Polygon",
  24020. coordinates: ["@@ln@xšèVInxVKn„‚ĊklxkÜVޚÒnÈm°nxš@š¼ĊLV„nx‚WXblIš`š@nmĉn‚KȄôÅlUÑmU„K²¹@ÇÅVÓůVýÞW„‚UVmX„ÆbnwšKUÿ‚™@UmmIUb¯¥Uwƒ™¯™Çmš™„çmanUm»UUƒl—kƒ¤ƒa¯bV™U_WĕmÇŚ±ĢUlƒUl™ÛVƒçkUƒ@WޝKU™VkUağVmš™aV™WUƒmV»—¯@»m£ƒmÝLŽ±@ÈmVk¤mb@ôƒ¦kVkamL@b°‚@b¯¦ÝVƒn@l„ê™b@º„UĸL°J@zV@nmUƒlaĸÔ@xƒ°VҚ„Ub„‚óĢ„ÒWškV@Ò"],
  24021. encodeOffsets: [
  24022. [104727, 30797]
  24023. ]
  24024. }
  24025. }, {
  24026. type: "Feature",
  24027. id: "5115",
  24028. properties: {
  24029. name: "宜宾市",
  24030. cp: [104.6558, 28.548],
  24031. childNum: 10
  24032. },
  24033. geometry: {
  24034. type: "Polygon",
  24035. coordinates: ["@@VlÈnl‚XnWLX`m„²nV‚@b°xĢçlnšVm‚nn„@@„°‚UzšlV°nޘÒkxl„w„`UnVb„mšL@albÞKÈۚmܼ°@Xǚ@wmW@ńKĊL„lV„šLVŎçÞL²±‚ğkw@Uƒy@¹lKX™lKVa@w™™Č@‚w@a˜ÇU¯n™@@wġak—™aō‚ƒƒK@Å»VakUWmķwkbğ¥mL™akš™@ġރ°¯xVVÞ@VšxVš—VWx„XlxU‚™@k²WVŃULmèULVĊklĠ„VœJVx±nѝ¦mwğ@mƒƒlğkkl±@kšUk@¯±Ç™Kƒ—kxl¤b™Imx"],
  24036. encodeOffsets: [
  24037. [106099, 29279]
  24038. ]
  24039. }
  24040. }, {
  24041. type: "Feature",
  24042. id: "5111",
  24043. properties: {
  24044. name: "乐山市",
  24045. cp: [103.5791, 29.1742],
  24046. childNum: 9
  24047. },
  24048. geometry: {
  24049. type: "Polygon",
  24050. coordinates: ["@@kšVŽk„ššÆkšV²UlºÈIlxƒLXèÜlU„„XU‚mkƒbVè„x°@„@¼°Knnn@m˜ÆIUbnJ@bVI°b°±@nK@mVakkƒKl¯nbšmĸ„èl@VnÈl‚UUw„wmwnm°¥„L„™lLnU@Va™ImbkƒmK„ƒƒnk@mƒb™ƒƒLV„JVUUƒ„VnkVmb@a¯JUaÆkk¥„IW¥„Klw—ÑmÝU¯™kVy¯@ƒƒ@mmn™Ukmġè¯w@aU±mnƒW_XKWmkÇmUkóbUÝUanmW™ƒ¯nma—@ƒxVôUV@šb@‚l¼„n@l™b@xƒnÛa›xa@ƒyUÅmUÛbm°@„m‚n²U°ll™ĀȦƒlU„V¼nJVxUz‚W„z@`mL"],
  24051. encodeOffsets: [
  24052. [105480, 29993]
  24053. ]
  24054. }
  24055. }, {
  24056. type: "Feature",
  24057. id: "5113",
  24058. properties: {
  24059. name: "南充市",
  24060. cp: [106.2048, 31.1517],
  24061. childNum: 7
  24062. },
  24063. geometry: {
  24064. type: "Polygon",
  24065. coordinates: ["@@ȲVmšLnblyl²²UUl˜°U°²L‚»„knlx„_Vް@nnÞ`WL°ÈUŽVlnkšV@ƒl_œJV„‚@„„n@lƒnKV£™Çšƒ„UV¯šm„@laX˜U„‚UbVx„@VkôJU°Jn™@™‚wUk°wnUƒV_nJmknmm¯Vwk¯ó¥±ÿ—L@wƒƒƒLVU™kU›bX¯mykI@a±Kk¦ULmaXƒƒVm¯ƒK—z±ƒklUIVbÇJšƒkL¯™l™ƒU™ÿ™UƒlUkJƒUmŽUUkVVklKk@@a™U@„™J„²ƒxƒ¦kĬ@¼±ºXnWb—xƒU@xƒx@lšL@b„Llº@șl@bU¦Vbƒ@U„™@X˜‚bVškX¯m@nÇKk„llknƒJVš"],
  24066. encodeOffsets: [
  24067. [107989, 32282]
  24068. ]
  24069. }
  24070. }, {
  24071. type: "Feature",
  24072. id: "5119",
  24073. properties: {
  24074. name: "巴中市",
  24075. cp: [107.0618, 31.9977],
  24076. childNum: 4
  24077. },
  24078. geometry: {
  24079. type: "Polygon",
  24080. coordinates: ["@@V„U„lbkVšŽVLUŽl@XI‚ŽUxVxšXkl„„@þĊnVl„IVx„@VVݚVÞUVU¦kV@ĸWÆô²š@VÞnš@Vaôb²W@‚K@XUmÑUW°¯°Ina@y„_lWn¼lLUbô¼„Kla@™nkUyô—Æx°@šn£™Ý@¥mVkIU¥Ċƒ‚¯Û»¯L±w@™¯a„Ça²m˜ƒ—ç›KX„UW›k_Ww¯WƒwÅk@ƒ™Uƒ™kVmwƒK£@mmmńmÑkVmamnnlmIU`V„m¯xVlx@šmš¯IV‚óIUlƒ@UwVaƒ—VW‚kbƒ@™nU°ƒV™„šÈU¤"],
  24081. encodeOffsets: [
  24082. [108957, 32569]
  24083. ]
  24084. }
  24085. }, {
  24086. type: "Feature",
  24087. id: "5105",
  24088. properties: {
  24089. name: "泸州市",
  24090. cp: [105.4578, 28.493],
  24091. childNum: 5
  24092. },
  24093. geometry: {
  24094. type: "Polygon",
  24095. coordinates: ["@@VVXwVKn„˜wnVƒn„l@b¯xmKUbVn°°X°@blLšènV„@Vn‚l@U„LnmmUna„VV_ĶV@wnJ„„l@@kkKVólaUwnJm„wUlm@ašUaôKVnJWbޚ@VšwVLX¥VVš_Þ`šw„WƒÞŹmmnIn¥Wƒ@k„WV¯@ƒ°kI™ŽƒLk¼Ç@k¤±Xk˜™nmݯUlÅÛKWV¯kƒlUwkLƒÓ™@U—@ƒ‚w@ġXV„˜WX„š@UbVbšV›š_kÇV™lU°lnwŎ¦ÞaƯnmm¯šU„™m¥nkVmkƒl_ó¥¯UÇl¯@™ƒ™L™kƒ`¯ķLUy¯@mw—¼ķ°ġ_řU°mlšnÇVUޚ„@‚ƒš_ƒJUnV‚UXšbl˜Ģb@x@mšV°—È‚b@‚xċ@šš@xUbkLWškL@º„zV‚@lxĠ±²"],
  24096. encodeOffsets: [
  24097. [107674, 29639]
  24098. ]
  24099. }
  24100. }, {
  24101. type: "Feature",
  24102. id: "5101",
  24103. properties: {
  24104. name: "成都市",
  24105. cp: [103.9526, 30.7617],
  24106. childNum: 11
  24107. },
  24108. geometry: {
  24109. type: "Polygon",
  24110. coordinates: ["@@°n°m²°ÜUšw²ŽôVš°ŽVkxÜźUŰČb‚ŽĢlaÈL„»ƒ@k„wVǂ@„ƒnÛÆ»È™UݰKl_„V°Uš`Vbn@VbÈLšaVU@ƨ»V™nIl™šUUa„±lIk±š@VnKmÅ@WaƒK¦™lVōškK™Ý@maXÇmw¯IU‚@kƒVƒwUmVIƒƒƒç—ÿƒU±ŽÅ@¯È@xƒK@wƒLUbÇKō@mÝ£@yóUóóUxkI@WlIUaƒbƒaŽVĀ™LmxÅaWƒUnVƒÝXUþưUÔÈÆ@±ºƒLnVVÒkóÆ"],
  24111. encodeOffsets: [
  24112. [105492, 31534]
  24113. ]
  24114. }
  24115. }, {
  24116. type: "Feature",
  24117. id: "5120",
  24118. properties: {
  24119. name: "资阳市",
  24120. cp: [104.9744, 30.1575],
  24121. childNum: 4
  24122. },
  24123. geometry: {
  24124. type: "Polygon",
  24125. coordinates: ["@@„è„„UJVn„x„U@lV°JnxWÈnbÞ@šŽlLŎ™Ušk‚¥„LXbÆ@nŽmLU‚@zlbXmlnVynL„çšJVb‚UnómUnamU„an¥lKV_²aValWô„n@nƒ‚bVœK°¯VblW@kkƒlUnlV£°W@w„UXk°KVwƒmVkwVyVI@wkmƒVÅ_Umm@Uÿmbk£™xUaVw±V¼V¤kLWxU@Uk™bƒyƒXšómƒ°V@@zÝÒkKƒn™±U@@_VVkƒÇaVwnLWalm@@kkVVl™¦kIV`±n@w„Kƒƒk²™aƒVUUV¤™nkxmUkVWVnLUbVbƒ`kUU„mLU‚mX@`ÅbǚXbWLXŽ›n"],
  24126. encodeOffsets: [
  24127. [106695, 31062]
  24128. ]
  24129. }
  24130. }, {
  24131. type: "Feature",
  24132. id: "5104",
  24133. properties: {
  24134. name: "攀枝花市",
  24135. cp: [101.6895, 26.7133],
  24136. childNum: 3
  24137. },
  24138. geometry: {
  24139. type: "Polygon",
  24140. coordinates: ["@@„b‚KÞnޙ@x„V@x˜n„Unš°¼šVš±mç²ÝÆ@šwnnšVWŽnôn_@¥‚™UaVƒ„bƙœÈ܎n¥Æ±VUwVƒmXÿmLkal¯km@k›ƒ@ƒ¯bkšVxmVUkk@Ua@¯˜»Un›mс@mz™m@īƒÑX¥Ç@ݙxU¦ƒšÅŽÇUkx@šlb„UWVX„mV@xĵ˱@@ޝxUšÆLnÆm„šx@nXL±lUUVwKWak@WxkbšÞƒŽĉbUn@‚ƒ@@xó¦„Ŏ"],
  24141. encodeOffsets: [
  24142. [103602, 27816]
  24143. ]
  24144. }
  24145. }, {
  24146. type: "Feature",
  24147. id: "5114",
  24148. properties: {
  24149. name: "眉山市",
  24150. cp: [103.8098, 30.0146],
  24151. childNum: 6
  24152. },
  24153. geometry: {
  24154. type: "Polygon",
  24155. coordinates: ["@@„šVx°¦VanJVnš@„b„aVbkJ@XlJVwôôôV@zÞ¤@nƎÈLVa„K@x„L@w°ÇÆ@²„V˜ĀœmWXKWașÆa@_nWVnKVƒlV„_UaVamKXUWwnmmwœÑm£@ynUƒkWƒĉUkWVkkV±çkJmkKƒšƒK¯¦mnnxƒxVxVÇkUmk@ƒçķ™nmak°„LllUb@nmL@‚¯²¯aUJ@amIVaÅJn—m@mm¯L@»ƒŽ¯@ƒwUç„anlVƒWVƒÛkWç„KkwÇJk¹±V™UÅl™™ġV™²ÈƂnXĖV`Uš°a„b„£˜l„kVVn¼mVnbƒè™šÈn°š"],
  24156. encodeOffsets: [
  24157. [105683, 30685]
  24158. ]
  24159. }
  24160. }, {
  24161. type: "Feature",
  24162. id: "5116",
  24163. properties: {
  24164. name: "广安市",
  24165. cp: [106.6333, 30.4376],
  24166. childNum: 5
  24167. },
  24168. geometry: {
  24169. type: "Polygon",
  24170. coordinates: ["@@„VlIV‚„kšVšĀ„Vkš°šlK™„ÈIUaVJlk²„˜y„Ln°„UW„nbVKl¥²L@blJnzW°œalV°Inô¯‚K„kšKkkƒbV™šmôLkéƒwVk@KnnšWlwn@laXL›ŽnXVW@X°a@„XKl™nw„@man™@w‚@na@„„@ƒw™ĕġġ™wUkUWb@mk@™¦ƒ¥mUÛb±yÅn@bml@kV@„ƒlknVbmVnlmš—bÇk¯bWyk@V_UamJ@I—@WaƒVXamIVWkUkbVaƒUUxƒ@VnkVU¼›bkKUxmK™„@WšƒxnV@n"],
  24171. encodeOffsets: [
  24172. [108518, 31208]
  24173. ]
  24174. }
  24175. }, {
  24176. type: "Feature",
  24177. id: "5106",
  24178. properties: {
  24179. name: "德阳市",
  24180. cp: [104.48, 31.1133],
  24181. childNum: 6
  24182. },
  24183. geometry: {
  24184. type: "Polygon",
  24185. coordinates: ["@@nUW¥²é@šK„¥‚UÈÅôa@VÆLUxnKl„°V¥ÈmlÅÈV@£ƒWX¯lLln@UšƒVÅlwUm²U‚VVna@ƒ@KnbV™VwƃœI˜mXwWƒkIVwÝĕVUa™IƒèmKUzkmWnka@y™@l²kJƒ²Vb™VkšmJUšƧ¼@UV™bÇKUam@Ua™_¯VƒUk`¯LVÞǚżm܃„@Uȃx@l„ƒ¼ÇKkbWŽœšVxUbƦnxƦĊV"],
  24186. encodeOffsets: [
  24187. [106594, 32457]
  24188. ]
  24189. }
  24190. }, {
  24191. type: "Feature",
  24192. id: "5110",
  24193. properties: {
  24194. name: "内江市",
  24195. cp: [104.8535, 29.6136],
  24196. childNum: 4
  24197. },
  24198. geometry: {
  24199. type: "Polygon",
  24200. coordinates: ["@@²èlUUllXĊVX„„lmV@zn¤›ÒnxmnXxlUnVlwšmU£VV„Ušbl±„„ƒL@x²mU_lJš¥UklU@ln@‚kXbmKUxÈbl„UU@`V@š²„mlLÞÑ@yU@„¯ôn‚™„W„zšaVlV@XwlKU£‚»—aVaUwm@mwUVUwkƒlVDzLlƒ„KV™m_@ykUmƒ@mU™çkKmxkIU‚Ý„@LUJ@n±„kº‚LXb™¼@mmIXa™@mamnkW™ƒKUƒƒxƒ_U`UklwUw™mUbƒV™²ƒakbƒmkn@`„UmҙšVxUb™I™`UƒaÝÈ"],
  24201. encodeOffsets: [
  24202. [106774, 30342]
  24203. ]
  24204. }
  24205. }, {
  24206. type: "Feature",
  24207. id: "5109",
  24208. properties: {
  24209. name: "遂宁市",
  24210. cp: [105.5347, 30.6683],
  24211. childNum: 4
  24212. },
  24213. geometry: {
  24214. type: "Polygon",
  24215. coordinates: ["@@ÞĖUxlJX„Vb°@„xUÞmbUxƒbXbm¤VX@lk°ln@x„bÈ@lLVlVUXxlJšç²UlwV@@UÈWl™„L„w@w„V˜wXaWm²¹@»lī„¥„wƒ±šI@ƒšV@bl@kLUllUVVn@mmU„wX™ċbVb@VUkbmamšW@kƒa@™™k@ƒlaUa™@¯b@šmmwó@@lkXUa¯°›LU‚am„m@óƒkXUb±bU`kLm¦ƒbnVmbnVmô"],
  24216. encodeOffsets: [
  24217. [107595, 31270]
  24218. ]
  24219. }
  24220. }, {
  24221. type: "Feature",
  24222. id: "5103",
  24223. properties: {
  24224. name: "自贡市",
  24225. cp: [104.6667, 29.2786],
  24226. childNum: 3
  24227. },
  24228. geometry: {
  24229. type: "Polygon",
  24230. coordinates: ["@@lIÞDŽbVŽš_šJVaUwš™nуV@_lm„nla„bš±„UVašnVxkxVlV_„`„wV„„LšlXnmnbš@WbnJ@nš»WaKl¹²ƒ@mVI@KރVlJnw@aW¯¯¯UmVanL°w@aƒk„mmU—xmƒULWxUUÝKōèU™KUƒƒkĉKƒL@ÆnX@x™‚Wȯ@Û»™nÇÜÝLka@b™KƒnUaVmƒ_ƒxkƒLX¦ƒJl¦ÅlVb°I@bnaUŽmlƒUV„UVƒIUŽ„Kš„„a@nml„„ƒŽnLl„našJUbV@"],
  24231. encodeOffsets: [
  24232. [106752, 30347]
  24233. ]
  24234. }
  24235. }],
  24236. UTF8Encoding: !0
  24237. }
  24238. }), i("echarts/util/mapData/geoJson/tai_wan_geo", [], function() {
  24239. return {
  24240. type: "FeatureCollection",
  24241. features: [{
  24242. type: "Feature",
  24243. id: "7100",
  24244. properties: {
  24245. name: "台湾",
  24246. cp: [121.0295, 23.6082],
  24247. childNum: 1
  24248. },
  24249. geometry: {
  24250. type: "Polygon",
  24251. coordinates: ["@@\\sŽ@pS}aekgKSu™SsMß`¡CqZ·be@Q^o@‹gieMp‹‰]}•}Ľc_Kk…{™ù“A¡r‰[uom@эĥJiq©mʼnq¯Bq]ÙYgSåk_gwU­isTE…“‘ĕiqiUEkue_‰OSsZ‹aWKo¡­q“ycY£w}‹ĩ™ĕS§Z©S™N¥SyLÑ¡±Ks^IY‰PdƒY[Uo†Fp}´\\¬\\j]ˆe܍ò‹¤¡–ā a\\bn™U㺹Ìs¼j®[cíȈEŽĝĆ`ļf¶Š®K|VØDdKGpVnU‚FjpH—F`†B’[pMºxÖjbpÎxp€¬‚|ΟÜÒCв®‚ÜAp„ZG~€Šd˜ÞàV¨|¸€`|Œ²tx~\\~|dFf^zG€ĄŚhœdL\\hĸž¼†ŠOªP®lV`p\\]Xpll˜æ¤œCpQ|oF}fMRi†NSon_²qämœM„NM‹\\•"],
  24252. encodeOffsets: [
  24253. [124853, 25650]
  24254. ]
  24255. }
  24256. }],
  24257. UTF8Encoding: !0
  24258. }
  24259. }), i("echarts/util/mapData/geoJson/tian_jin_geo", [], function() {
  24260. return {
  24261. type: "FeatureCollection",
  24262. features: [{
  24263. type: "Feature",
  24264. id: "120225",
  24265. properties: {
  24266. name: "蓟县",
  24267. cp: [117.4672, 40.004],
  24268. childNum: 1
  24269. },
  24270. geometry: {
  24271. type: "Polygon",
  24272. coordinates: ["@@EUDAEI@WNMNCBFAHFFNACDJDPBD@@GD@DIFFHEFGDBDEQOFG@EI_KG@OcJQM]RMEKBGPG@[LaCIICBWKCEEG@WBQHCDFD@HSLEJI@IHWECFGAAEKCGDBFCBSBIDCKKHEADMJMFABKOKEQAA@IEEG@GIQAEK@OZEESMOL“lu@SLUTYFQCMG@@SQUAYKAACA@IB@BDB@B@DC@@BGAEFAA@BEGKJCC@AGAIHA@@JC@QEIP@@A@EGIDC@O@C@@@@CJCWKABFLBBEBSQGBAAMIEM@AKBcJEN@BEBCFMAEFEF@J@BG@BFABECKFG@AFQ@@F@BEB@@A@@AAAKAE@GFGDECEFEECBKIKDELDFEDYH@EIACDCHKBEB@BAAC@ADBHABKJIAIJICEDGDCD@@A@A@DHCHJHDFEFGBKRKBGIK@GIMHSBCH_BOJECCJCFKKMD@DNJEDEGC@OJCJHRUL@HRJ@H[DCNKDZHCTFDHCFFKR`TANVDFZRDLFARB@HPAPG`ILAR@TERNDFNHDLCLDDCXDYbHF@FEB@LDDVE@JPNfXPINCVDJJD@NJPAJHLXHDNANHhB@DPNLRMTBFRBHHr@`NBFEBOCCBIAQJDHCHLHFA@HSDCRLFTB@HEFLNF@PELBDJALFLTC@EPFLLP@tUHQJDfIHGTB^JTCPDLKAIBATFPADIEGECEMJ@JIAIHGECFEAGDI\\SPOXAFCL@BQTQBBTMZECYGAHA@GJAE@HCAEME@IECFKJADDBABLTHHG@ILEAMNDJCDHEBF@@JNFJELDFKTOT@JETBFFHBHEHKI@@IJEJ@XKEOUMS@AF@CEB"],
  24273. encodeOffsets: [
  24274. [120575, 41009]
  24275. ]
  24276. }
  24277. }, {
  24278. type: "Feature",
  24279. id: "120114",
  24280. properties: {
  24281. name: "武清区",
  24282. cp: [117.0621, 39.4121],
  24283. childNum: 1
  24284. },
  24285. geometry: {
  24286. type: "Polygon",
  24287. coordinates: ["@@FWôµ@IFCLIB@EHNBp]AGEAKAEDMGZKFGBGME@ILGP@HEFB@BXMEAHUGC@IHCLOD@X[NWHWPKAEF[@EKIOL@EKGBNMJ@EIEHKBIC@BAKMIACCFQZCF]DB@ERAKADIHGEIBCGIIECFaGLZO@EFCNGAGDGAKL@BMG@IE@ADSDEH[JGC@CGA@BMDeK@EIACFE@@GG@FIAMM@CCGC@EM@ADE@CFMAAGHBDKIEAJG@DOGCDEKAGIS@KFCHKAEHIE]BeKNO[IFIOELC@A]GMBKVYCDDgGAICARc@MW@AQE@DGI@@AQ@@BKBAIQQYEFW@CEADIGGBCEIiMEMF_LGEKMBBDWEBGRC@E_CHYGCH_IAED@FFBQh@FGJaJ}AHRAREF@bE\\C@CT`FHC@\\BBF@BID@HGDDJ@@FAHKBARECKDAZBJIVNHCTA@EREAMLHDAFFBVFFC@RNRETHD@FOJMACH@CAB@P@DF@@FGDWE@FFSIEMKQDYCCHKb^JADOCIDGNDBdBCFJB@EC\\A@BJEA@JAAAD@HHD@LFBCFF@BERDHNhZQHMBGHOACCEBWEGD@PSJKCGEUD@CINLFGHE@AJK@HDABBHTB@F`DBFLBBHEDARCFG@ABJBAPVFE^FBGLGCFG_BMLEXGAAFE@@JNRVJHFALFBEHQJCTbNDHCF@PlFLJSXCHFHfVBTNJ\\BPJXC^FAVNFCHFB@FFH@JF@\\ABCFD\\BDMCAAJKQBGAILOEGHILECQLWFENJHADC@QxNHFJNLDFA@CBA@D˜UÂmR@FBL@BD"],
  24288. encodeOffsets: [
  24289. [119959, 40574]
  24290. ]
  24291. }
  24292. }, {
  24293. type: "Feature",
  24294. id: "120115",
  24295. properties: {
  24296. name: "宝坻区",
  24297. cp: [117.4274, 39.5913],
  24298. childNum: 1
  24299. },
  24300. geometry: {
  24301. type: "Polygon",
  24302. coordinates: ["@@TZbB@JHD@DODCLM@AP@LL@BNH@ETFN@`E@DNG@CHLBCJA@AICFKDDBKA@\\N@AFNAGRBFjFFFL@DHLBLFQPcXAZMJ]GAVHAIZJFNE@JpDRRDCLFDGXA@EFF@CFFPDfEBDB@DCHCFCJDJIJBLI@I@CB@@ADBB@FALADGDC@@H@BB@FZGFCCE@@FMLALJDAFFFEFDFCB@@AHCF@L@@BBB@BB@FC@E@@R@BEL@HEFD@G@AH@AIB@@@FEFEBALDDEFAFO^IF@JCBBFPNJJ@D@PRDCEKBAXL@BIFD@T@JE@BHHJORFDI@@B@JGH@@B@BDDLIFFHCD@D@DEE@BAAAB@DAF@B@H@NGLJLMRDNMfGIEPMI@GDAKK@KIDIJ@GE@CFDN@FE@GFEPGV@TCDFKHBBF@RW@DD@@ID@TJFKIKLI@EP@IGBCLAEKLEN@KSHIGYACSD@SEAMBBMGEBMQBCMIGKFB[D@HDLPHDBC@IFITDLG@IIIFGVBNJDLN@VIRI@YIAIHIC@CLKZCBEE@JECEIHEAKGDGECBGEEM@@DA@CCCBBEGA[GEDBBoNAAH]MKiIAWKQoIIPMFQAEEDMH@FMSUYIeF@EK@BIOEKJEBICFKaKPFAFSE@LWCCFMHDDEKESBOGBKIEIODLG@CCDEQCEDWEMDIEIB@EHGEEDAEAa@@HqDEJGF[AECCFa@WCEIKAAEQB@FCAE^YDERDDJBLNABD@AJGLJF@FNIAMLH@FPKLJ@FE\\BFOLGXMXW\\C@KPGD@JHDGVFBWN@AEAGFO@KH@JNFAHEHYLNHFCLBFBBHo^MAFGA@KJED@Jó¶EX"],
  24303. encodeOffsets: [
  24304. [119959, 40574]
  24305. ]
  24306. }
  24307. }, {
  24308. type: "Feature",
  24309. id: "120223",
  24310. properties: {
  24311. name: "静海县",
  24312. cp: [116.9824, 38.8312],
  24313. childNum: 1
  24314. },
  24315. geometry: {
  24316. type: "Polygon",
  24317. coordinates: ["@@NGFMDATCNDR@CCbINEHNJA@C\\EEGVE@IhE–[˜w”epc¢·²›^QEKIEKIgiQDkehY£uSDBMkUDOJDHC@GF@CAFBFEN@C‹Q@BeP@@G@HD@@MHQKi@[IGCOCESE@GMA_OcCGDu`aˆ@VZzKDkJBLNXGDqKEWE@cFEFA@ƒISIi@@KMABJGBcMuFEzGVH\\ATSEUBeALCEMG@CEBUHUCGXaBPtUBBFIBFTDFF@DDKBFNGBJPHXDDMDCLJ^mBIHIL@LR\\@LCR[@@z@NFD@LLBNb@RHDBNTPT\\F@BJF@BXCFBHHBDLFB@HODADE@@JHVXCPDHCFTLBBFNCDCCCU@@GAABEHHZHBCAEdEjFDD@GfD@DXFCHF@ERFDLBH@"],
  24318. encodeOffsets: [
  24319. [119688, 40010]
  24320. ]
  24321. }
  24322. }, {
  24323. type: "Feature",
  24324. id: "120221",
  24325. properties: {
  24326. name: "宁河县",
  24327. cp: [117.6801, 39.3853],
  24328. childNum: 1
  24329. },
  24330. geometry: {
  24331. type: "Polygon",
  24332. coordinates: ["@@BFLBFJXDb@DEFD\\BHEFIrC@Gb@FBCBFFGH@FJAJFNCXFFCRDCFDDH@CKJPJFALPHTALFCFGCENDDKXF@ETEBO‚bLELJDFALIPFAJL@@FfEZJTVENG@CNFFRBNEJOpJLRBXjJNLG^BBpMAAFC\\HHBAFDADDB@@CN@FFAHFDCHLHFBJGFCFUNKJJTD\\XUXF\\^F@DDDQXXBRLRCBDFEVCDLVDpUl@LEDJHAPRFGL@CETGPBTCDDVI@CFF@GFDCCVGLKEK[Y@MECISG@BKNSCGCKWEAaEBEKNGFSECO@GGM@GYI@DÅCMLHPTF@DJHAVVNKEGDETJ^[TJNNd@NOAMFYJ@@GFANDPEJB^aOadSTQSI@MHBDIEOKCG@EEFCKCqXO@@DMFENCDDHCCGJ]AKFoDaGGHYFDHKJiCMFGC@EQ@AEHGAC@IEAATKOHGIC@IXIFEoƒGE[JCFCDHNmRADFZMF[EEBMO{GU@AOW@@]ZeHBDEHBKEfQkuIWBs‡@EC@d[@[^EDMTKCEEcI@cDAB@FCBCACmOCG{PYHeBgPwPFDDALFFFCHQGSD@BHFAR[TaFYXMASUiGFL@DQNCJI@@D@PLDN`ETEFIGMCGBCE‘~CAIFDPEHGEQPHJADFJGHCJLB"],
  24333. encodeOffsets: [
  24334. [120145, 40295]
  24335. ]
  24336. }
  24337. }, {
  24338. type: "Feature",
  24339. id: "120109",
  24340. properties: {
  24341. name: "大港区",
  24342. cp: [117.3875, 38.757],
  24343. childNum: 1
  24344. },
  24345. geometry: {
  24346. type: "Polygon",
  24347. coordinates: ["@@JFFL°_`ONJKDDFIFZN xlb~yFVNRŒrdJGzDPVFBCTNND\\UR@E`F@@Ip@IWGUoawOEE@ÏDgK{İEEMFëC—b…™@—KwOCDHHKBDJCDEEEAGHOABFABMCgDLSQ@CFEB‰MgYIDQINE@AUSwSAdYEHQMEyK[KI@GRMLE@@OqOoBOnpJ@BmEAFHL^FDB[C@BBDVFAHFJENB@sNEjQAMYsUgCSBGDJH@\\LjGR@NC@@G@HO@AfR@DŒM@EFEADBE@@HGDICCPlVANTC¤vgZlfRChjLJ"],
  24348. encodeOffsets: [
  24349. [120065, 39771]
  24350. ]
  24351. }
  24352. }, {
  24353. type: "Feature",
  24354. id: "120107",
  24355. properties: {
  24356. name: "塘沽区",
  24357. cp: [117.6801, 38.9987],
  24358. childNum: 1
  24359. },
  24360. geometry: {
  24361. type: "Polygon",
  24362. coordinates: ["@@|ODHnPBDADEDA@CB@ddJFFLDNSFC\\]\\@@cFDˆ@nACOMW@M@ITURBRZNHNWRQšoO•j½f‡cqŸAqeiDÿÍyÓįFL|Ch@ÐFFxPpbHVJXo@@JCTR^BPABQA]^MB@bE@@FQBFVJRH@FXtPNZSBAja@@NƒDTŽLJrQTHFXZFB`"],
  24363. encodeOffsets: [
  24364. [120391, 40118]
  24365. ]
  24366. }
  24367. }, {
  24368. type: "Feature",
  24369. id: "120111",
  24370. properties: {
  24371. name: "西青区",
  24372. cp: [117.1829, 39.0022],
  24373. childNum: 1
  24374. },
  24375. geometry: {
  24376. type: "Polygon",
  24377. coordinates: ["@@@LHAHRHATh`LHNHDG`HDGZ`D@FQDAHXFACNAFLVRTBFOfHDCVBFQH@HSXHEPFB@LDBF[bDbLFKJBFLADBDjLvCPEI]FGEIGCBEUSjcFiBIVWfaHCjN^HtwBBFGPBJGjFBEGECGDONMFAP]TDHQOWCMGAMHKIJEIGQ]aDlUG]VGEGDC„{PEbBZmE@@GH@BCA@FMQCFMYMJECELCMI_P¯`]R±œ¡¸od“f—x•\\gF@JUFFH[F@DIBGMMFaJDDQ@MCSDCBENMH"],
  24378. encodeOffsets: [
  24379. [119688, 40010]
  24380. ]
  24381. }
  24382. }, {
  24383. type: "Feature",
  24384. id: "120113",
  24385. properties: {
  24386. name: "北辰区",
  24387. cp: [117.1761, 39.2548],
  24388. childNum: 1
  24389. },
  24390. geometry: {
  24391. type: "Polygon",
  24392. coordinates: ["@@ROHFFGCOJEDB’}DFHANDJHFEFSM_KC@O@CJ@DIRM@CEKKA…L…FKACHoLSJSIBETDJaEIIE]E]K[MYUYQILC@GF[MGNKEK@A@BCWECAIFEFYAGFOMI[OFuDiKACBCEKIAELaKaCE\\CA@KEAFOWGGTG@ERUACDeGEPSAUQKHE`FNjNFJADHHCJFB@DEXZFRRBJLA@AR@@BJ@CHF@BRX@@NQdDBBJhHCCZDLUNA^H@BKDPFEJ\\JMPfL^AJFFGLBDGLET@HJLBCFHDCPH@BIJFCLGABHNBDEF@BCN@@FHDDDN@BNEJH@@HF@DEJB@FfLNC@AHB@DHD\\IFGTCBCF@@JNH@ALKHBHCHBDMFEP@KYbHDEJF"],
  24393. encodeOffsets: [
  24394. [120139, 40273]
  24395. ]
  24396. }
  24397. }, {
  24398. type: "Feature",
  24399. id: "120110",
  24400. properties: {
  24401. name: "东丽区",
  24402. cp: [117.4013, 39.1223],
  24403. childNum: 1
  24404. },
  24405. geometry: {
  24406. type: "Polygon",
  24407. coordinates: ["@@ZV\\N^L^FJFFJIbSCAFTJTIpKDGLB†E†KLBjHTVNBZWbE\\SBQGE@ATCRHDGEEKECBECxOhOfAZGA_YEEWSGqRKIS„C@Mb@BiTAMYsOEWG@IQEURA@EF@@acUOXQRYCUDCHDTEF[SUEgAYDcVGJM`iAWDWLQRMHUHgDsDBLHJFCFDFGHBFFVEAGHCJN@RJF‡PIhBD\\FENCPWA@LFBAFHBEJUEARCDIAEDQBRNa^"],
  24408. encodeOffsets: [
  24409. [120048, 40134]
  24410. ]
  24411. }
  24412. }, {
  24413. type: "Feature",
  24414. id: "120108",
  24415. properties: {
  24416. name: "汉沽区",
  24417. cp: [117.8888, 39.2191],
  24418. childNum: 1
  24419. },
  24420. geometry: {
  24421. type: "Polygon",
  24422. coordinates: ["@@LMEI\\MTABKN@FCDMH@COAcH[AoēA™M¡Wa[Meq™pQRMXMGQYQASV@J@NNXDPmBAtJXlveRLFGACFGAYf@^X@BPV@|HNPFA\\FNEEYBCnQGMDCDE\\IHFp„EFWJ@JJDGHLPBSFB@JBDGHBFR@@FHDNEjDLICGZEHGbHpCLE^BHIDDCGDCFMNE@CP@rWLDEDFFH@"],
  24423. encodeOffsets: [
  24424. [120859, 40235]
  24425. ]
  24426. }
  24427. }, {
  24428. type: "Feature",
  24429. id: "120112",
  24430. properties: {
  24431. name: "津南区",
  24432. cp: [117.3958, 38.9603],
  24433. childNum: 1
  24434. },
  24435. geometry: {
  24436. type: "Polygon",
  24437. coordinates: ["@@TLv@CNHFFBHGZFETNPhCVGNGRQXKXCjBN_HIdUZChBVF\\TFECSDGVCZDRQPWdVNA^]RBBAAOQ]DSE@F_Q@[VMCSMADUECOHycI‹qMQEU}zkaŸwENRDENB@ADG@@HF@YnaAOFƒ|CDFHUHH^kVbCR^JHIFLJNGHBDNPXGRSCO^EBMNCPDHHFAFiEIHOAEH"],
  24438. encodeOffsets: [
  24439. [120045, 39982]
  24440. ]
  24441. }
  24442. }, {
  24443. type: "Feature",
  24444. id: "120103",
  24445. properties: {
  24446. name: "河西区",
  24447. cp: [117.2365, 39.0804],
  24448. childNum: 1
  24449. },
  24450. geometry: {
  24451. type: "Polygon",
  24452. coordinates: ["@@d@hZNFdcLYXKRCtCMOFSYEGHEAGEDMu@SKAAsx]GMTGt"],
  24453. encodeOffsets: [
  24454. [119992, 40041]
  24455. ]
  24456. }
  24457. }, {
  24458. type: "Feature",
  24459. id: "120102",
  24460. properties: {
  24461. name: "河东区",
  24462. cp: [117.2571, 39.1209],
  24463. childNum: 1
  24464. },
  24465. geometry: {
  24466. type: "Polygon",
  24467. coordinates: ["@@ZBVFFIGABEEA@KXBDOFM[EACJgˆOIE@QIMGDBHUFEEGAEHECEDGIAKQDWLKZcdQPEP@FOFBJTJ@HNORJf@DBCN"],
  24468. encodeOffsets: [
  24469. [120063, 40098]
  24470. ]
  24471. }
  24472. }, {
  24473. type: "Feature",
  24474. id: "120104",
  24475. properties: {
  24476. name: "南开区",
  24477. cp: [117.1527, 39.1065],
  24478. childNum: 1
  24479. },
  24480. geometry: {
  24481. type: "Polygon",
  24482. coordinates: ["@@NMVDCG\\E^B@HlB@YEDS@C…HsNSiMGDebUXAJEjidVTAFHDFJ"],
  24483. encodeOffsets: [
  24484. [119940, 40093]
  24485. ]
  24486. }
  24487. }, {
  24488. type: "Feature",
  24489. id: "120105",
  24490. properties: {
  24491. name: "河北区",
  24492. cp: [117.2145, 39.1615],
  24493. childNum: 1
  24494. },
  24495. geometry: {
  24496. type: "Polygon",
  24497. coordinates: ["@@DBXFADB@L@LFHM\\NHED@JKZRb]QMRAFCJBDCBQYADMCAe@QIMP@GSIAIPE@E[EGH@ZEF]^HJAXK@KF"],
  24498. encodeOffsets: [
  24499. [119980, 40125]
  24500. ]
  24501. }
  24502. }, {
  24503. type: "Feature",
  24504. id: "120106",
  24505. properties: {
  24506. name: "红桥区",
  24507. cp: [117.1596, 39.1663],
  24508. childNum: 1
  24509. },
  24510. geometry: {
  24511. type: "Polygon",
  24512. coordinates: ["@@J\\PNHEZBFEJELEL@BWGI^]FEkA@G]A[FDHUCMNEHJ^"],
  24513. encodeOffsets: [
  24514. [119942, 40112]
  24515. ]
  24516. }
  24517. }, {
  24518. type: "Feature",
  24519. id: "120101",
  24520. properties: {
  24521. name: "和平区",
  24522. cp: [117.2008, 39.1189],
  24523. childNum: 1
  24524. },
  24525. geometry: {
  24526. type: "Polygon",
  24527. coordinates: ["@@D†T@FCHG\\FFOROMEgYc@"],
  24528. encodeOffsets: [
  24529. [119992, 40041]
  24530. ]
  24531. }
  24532. }],
  24533. UTF8Encoding: !0
  24534. }
  24535. }), i("echarts/util/mapData/geoJson/world_geo", [], function() {
  24536. return {
  24537. type: "FeatureCollection",
  24538. offset: {
  24539. x: 170,
  24540. y: 90
  24541. },
  24542. features: [{
  24543. type: "Feature",
  24544. id: "AFG",
  24545. properties: {
  24546. name: "Afghanistan"
  24547. },
  24548. geometry: {
  24549. type: "Polygon",
  24550. coordinates: ["@@ࡪ͇وŐǬϠڐŶӂʮǚڦ۾njƀ̚ІɣʪҴMوǯʲĹ،˒˰Nj˖ϪԈiżŬĘͺβ̈Ҕȏĝʱʪ¡ý۷ͪ˟̊ǰώĊԼϖׂ×ࢀAƬʋӧĥяƹ७ĭࣗǭӫλȤΣĪллΛ–͑ɳ̡ߛ€ͦ։՗ɅΥԕ²ԋ͡ɿ̳þٝŋğɻسDҵӇ‡܍થΓבôǝȁԇņ࠿űටіހހåզُƚßՔ˟ڢάҢιŮɲؒ΂ਸ"],
  24551. encodeOffsets: [
  24552. [62680, 36506]
  24553. ]
  24554. }
  24555. }, {
  24556. type: "Feature",
  24557. id: "AGO",
  24558. properties: {
  24559. name: "Angola"
  24560. },
  24561. geometry: {
  24562. type: "MultiPolygon",
  24563. coordinates: [
  24564. ["@@ȸصʌԋȘ˕͐ѯ֊æˤŠҬşŲɀɂӨԶ®ƤіHñ̡৴RfՉǞ͕ūԑÖԫ˪̷­ৃȼüκsԴŴϦ¹ĘʹĩСƨϿů̿î́ყZᦵ֤ۋպԽ໳΁᎝Š׋Ж₭—ŵÏԃϞկ~ԉƝЙDžÿՈŜ݊̂ޒªΰ˚ݶȨΆӘռːϐĘج«ӊʣ̜ɡԚȵԎ®Ǩʶͬʭ߼ǣ֚сՐĄǎΌŔʒg̎ĸៜ["],
  24565. ["@@ɉėɣلͼδʪƘ̀˽̩ǯƍɍλ"]
  24566. ],
  24567. encodeOffsets: [
  24568. [
  24569. [16719, -6018]
  24570. ],
  24571. [
  24572. [12736, -5820]
  24573. ]
  24574. ]
  24575. }
  24576. }, {
  24577. type: "Feature",
  24578. id: "ALB",
  24579. properties: {
  24580. name: "Albania"
  24581. },
  24582. geometry: {
  24583. type: "Polygon",
  24584. coordinates: ["@@Ń˷ŢέΒȳiə˗ŧ»˙ϷСƛÐgȂү˰ñАîֶŖʼƗƂÉˌθаÂƿɨôǴɥȪďȨ̂"],
  24585. encodeOffsets: [
  24586. [21085, 42860]
  24587. ]
  24588. }
  24589. }, {
  24590. type: "Feature",
  24591. id: "ARE",
  24592. properties: {
  24593. name: "United Arab Emirates"
  24594. },
  24595. geometry: {
  24596. type: "Polygon",
  24597. coordinates: ["@@Ƭ¤ŒɱڂƂ۞uԖ{ֺ֪ظՠՎԮdž˹ŖڑѕGçճƪŝϝǑE΅ʓΏuͷǝDZᡋъ͏࡚Ț"],
  24598. encodeOffsets: [
  24599. [52818, 24828]
  24600. ]
  24601. }
  24602. }, {
  24603. type: "Feature",
  24604. id: "ARG",
  24605. properties: {
  24606. name: "Argentina"
  24607. },
  24608. geometry: {
  24609. type: "MultiPolygon",
  24610. coordinates: [
  24611. ["@@ߗ§ѓ̔ԑx࣑@Aሞ͒ϵрؿનԋ୲ȿϙп"],
  24612. ["@@Ӵ؇͠ڰॠ“ƊǷ໶ോۊŷਆاࡾ͡Ŧχࠡ౧ࡒɭ़ŷڔƈނ٢ƎݐжLjфӝiڣۻҩ֟΁ॅࠃ૭ଧȽڥɣࡹT࠷ǽȇÝիËѫ੨ܙŗ׃Հν§Ч߯ઁఛ҉။ǩउĎǰԅǣػƺщԋ̏ࡱř̪͕߱ɗŜ࠳֨ʧҠˆʢѧޛʻڭԹūࡋȣ҇ߏEڃљʋؿؙࠞߦǝ˿ݭ঳Ӄձটލͧ΅Ͽ˔ࢍ֔ӡΟ¨ީƀ᎓ŒΑӪhؾ֓Ą̃̏óࢺ٤φˈՒĭьѾܔ̬૘ěӲξDŽę̈́ϵǚˢΜϛ͈ȝॺ͸Ǣƙ਀ȠࡲɤݢԊ̨ʭࠐEޚَոo۰ӒࠎDޜɓƶϭฐԬࡺÿࠀ̜ބռ߂צԺʥ͢Ǭ˔ඔࣶд̀ࢎĹɂ۬ݺશȱ"]
  24613. ],
  24614. encodeOffsets: [
  24615. [
  24616. [-67072, -56524]
  24617. ],
  24618. [
  24619. [-66524, -22605]
  24620. ]
  24621. ]
  24622. }
  24623. }, {
  24624. type: "Feature",
  24625. id: "ARM",
  24626. properties: {
  24627. name: "Armenia"
  24628. },
  24629. geometry: {
  24630. type: "Polygon",
  24631. coordinates: ["@@୞ƀǨə͌ƣǛɁ҄˽ʁˋΦɫϘƏl׋̣}΃ӢHżχCʝɤǩuͧʖرȼĄФƛ̒"],
  24632. encodeOffsets: [
  24633. [44629, 42079]
  24634. ]
  24635. }
  24636. }, {
  24637. type: "Feature",
  24638. id: "ATF",
  24639. properties: {
  24640. name: "French Southern and Antarctic Lands"
  24641. },
  24642. geometry: {
  24643. type: "Polygon",
  24644. coordinates: ["@@ը˃ߐĿˆDžɽϣಇÃq҂ŮΎÊǢ"],
  24645. encodeOffsets: [
  24646. [70590, -49792]
  24647. ]
  24648. }
  24649. }, {
  24650. type: "Feature",
  24651. id: "AUS",
  24652. properties: {
  24653. name: "Australia"
  24654. },
  24655. geometry: {
  24656. type: "MultiPolygon",
  24657. coordinates: [
  24658. ["@@ߺ́ҜŘپNJԎÉÐঽ˽́ēگ̉ɰ׍בǧ®ԫ€ԭܘŗֈӝܸtϬռõ"],
  24659. ["@@̢ڇբ̈́˦ΡЖ͟đϋǴܛŸнɄĹɬܕąѥ˖֭࣬ѭצЋ֞λŋȯӔՃࣧ͜ͲȂ;ηȴźƢࢹ׬ԩϸ͋ڀڹʀڭtӏËԳА܋µݓơϵɩݡjӕǕ׻χއثЭ̫ٱ˫гʝܧ͕нɅػʼnׁªˇӕ̇व‰ޡ·ϫ͙ԕέ۟ψԥƪżѬҝǃ݁؉ܩɪӉƄӑÔ߿ʐիԮƻْțьЭ;߱ĸˢРȯزЧ׉ݝƷѮҬŶӞ͘ЬãجہܑԿ˽͏ڛٽΊ~ҀԿ،ѹ̀ǂȘઃԚןz߯Цຓāછ̝ख़˫ߡÈࢻљܯȗljѱ̳Ϳ܉qՅõݑƶ׿ğֽԁ҃ʕœуʁЗˋؕ֛Bࢽ՜ҋDŽlӖкŘƚȒ‡̠ĺאģӼѻࡖƏӒ˜ӎͭնsʚϋͰĽڄӓڔřΪτε˳ެиʑʞ͗aјеڎă˄țʦĠӠǢȸŘрęӮΎ؀Úٕ΢׀ۀˬЦΪٜ̰ϤàɴĻڎ̺ԚĤŶȀɞüҬoࢨʖҚώɊ҆ӲѐœͲvҘט܎ΠܩΦǚ̗Ј˂ТψǻĸٖҠаȮͨцƜ`ɼτĭdɂτŦОŔبϫҲӽՂMՖÿDZҦДڪϜɘſȾκӒԘ̒јıۺǂeі؛ˢ҂Ū֎ȻҀ·ۼɋʈĐԶʵӬʊ͂ñȠNJϬеɡ͉҇ͻ˿ƒĮͱʙп̗ЭÔʁڜҫ٨ˏѠ́؈ӻʂBѰɍŶʷߤ˵ֈ˼ǐҊǠόľҤʰڞŝОÔʔīӔŌنLjǠŽˬȮѾdžҦtʈ̸̾ʂЩÎՃȾķ˜Λ̨ёÚӇ‡̥"]
  24660. ],
  24661. encodeOffsets: [
  24662. [
  24663. [148888, -41771]
  24664. ],
  24665. [
  24666. [147008, -14093]
  24667. ]
  24668. ]
  24669. }
  24670. }, {
  24671. type: "Feature",
  24672. id: "AUT",
  24673. properties: {
  24674. name: "Austria"
  24675. },
  24676. geometry: {
  24677. type: "Polygon",
  24678. coordinates: ["@@Û΃ӁCǎǻ˧էLJƗܽsщȏۛÞயɐȉ̊ࠧƣĭDžԗŢѕxϝƶźȴƬʪ²ьɹŤɜݎ•׸ƮЖ}ˀǣþƜšո̠ń̒ϰز˓ӀΆ̐ÚٶʱЂªϰǁãŃČ̅"],
  24679. encodeOffsets: [
  24680. [17388, 49279]
  24681. ]
  24682. }
  24683. }, {
  24684. type: "Feature",
  24685. id: "AZE",
  24686. properties: {
  24687. name: "Azerbaijan"
  24688. },
  24689. geometry: {
  24690. type: "MultiPolygon",
  24691. coordinates: [
  24692. ["@@ʞɣψDGŻ΄ӡֽŒщϰƃ͆Ǫv"],
  24693. ["@@ϊËƞɈԈͺѴѵђ׭ϺŸʸɧۗãƣٵƟ̭̍ȝvзȽ¥ԻѲ̂дʝʚ̿×যإk׌ϗƐΥɬʂˌ҃˾ǜɂ͋ƤǧɚȶƎضʍҐ¹ŘIJбҔɔŚʀ…׀ԙ"]
  24694. ],
  24695. encodeOffsets: [
  24696. [
  24697. [46083, 40694]
  24698. ],
  24699. [
  24700. [48511, 42210]
  24701. ]
  24702. ]
  24703. }
  24704. }, {
  24705. type: "Feature",
  24706. id: "BDI",
  24707. properties: {
  24708. name: "Burundi"
  24709. },
  24710. geometry: {
  24711. type: "Polygon",
  24712. coordinates: ["@@Á০ɃϢԜßʲӎҀŸͧǸȏT˗ȹǭ͛ѫ̧̥΍Ÿ"],
  24713. encodeOffsets: [
  24714. [30045, -4607]
  24715. ]
  24716. }
  24717. }, {
  24718. type: "Feature",
  24719. id: "BEL",
  24720. properties: {
  24721. name: "Belgium"
  24722. },
  24723. geometry: {
  24724. type: "Polygon",
  24725. coordinates: ["@@؜áުǪՐοҦȝħ֧ɕĝһܿϦћßדІϷͶϷ`ũ̒ڪǔ"],
  24726. encodeOffsets: [
  24727. [3395, 52579]
  24728. ]
  24729. }
  24730. }, {
  24731. type: "Feature",
  24732. id: "BEN",
  24733. properties: {
  24734. name: "Benin"
  24735. },
  24736. geometry: {
  24737. type: "Polygon",
  24738. coordinates: ["@@ۛįȹ׆žኞǛǦЮ̇̌ʱʞņѶ̀ĨǠξЪĀȀʤˮʘ̠F٘ә˩ȎӽǓͷĘɧСԳʵʳǁՉt՗µണ"],
  24739. encodeOffsets: [
  24740. [2757, 6410]
  24741. ]
  24742. }
  24743. }, {
  24744. type: "Feature",
  24745. id: "BFA",
  24746. properties: {
  24747. name: "Burkina Faso"
  24748. },
  24749. geometry: {
  24750. type: "Polygon",
  24751. coordinates: ["@@ֹɐϽ‹̍Ƀϗǰƥ˦ϙǾÅӦɮΤo˴ښۢŬּɲȴОœΚǢŘɎٴϖdžˀ޼ΒҦŢɀLJՠJáСŔϣӀչ€НॺȏmֻǿʣЩÿǟν˿ħ݁lϳâ˓ƉωÖร¡qӉŘم"],
  24752. encodeOffsets: [
  24753. [-2895, 9874]
  24754. ]
  24755. }
  24756. }, {
  24757. type: "Feature",
  24758. id: "BGD",
  24759. properties: {
  24760. name: "Bangladesh"
  24761. },
  24762. geometry: {
  24763. type: "Polygon",
  24764. coordinates: ["@@i׽̉ŶÆگʉѬµєDžКΕӨޟ’ü΋˃ҳΧǠũƵʃĠ͗øŽۖ̅لƜԒԫɤȆ̪Հ̼؅Ѽ֮̔ږεВ£ô׏ߞřު^Ӟƛϯ܅ϕµʷӍҢѥƎ՞ɶFѶ೯"],
  24765. encodeOffsets: [
  24766. [94897, 22571]
  24767. ]
  24768. }
  24769. }, {
  24770. type: "Feature",
  24771. id: "BGR",
  24772. properties: {
  24773. name: "Bulgaria"
  24774. },
  24775. geometry: {
  24776. type: "Polygon",
  24777. coordinates: ["@@ʎΉ͚Ö٦ſ௾«иɌবȜ̩ؒӴĕѥΏ̫׹˔ӏܣŒࡥ˃Uлޅÿס̊ڧɱة|Ñ֊сːƒŢĝĴƘˌ͌ˀСδ÷̬ȸȐ"],
  24778. encodeOffsets: [
  24779. [23201, 45297]
  24780. ]
  24781. }
  24782. }, {
  24783. type: "Feature",
  24784. id: "BHS",
  24785. properties: {
  24786. name: "The Bahamas"
  24787. },
  24788. geometry: {
  24789. type: "MultiPolygon",
  24790. coordinates: [
  24791. ["@@ȵ£ɇӜ̿ʐǾՔʨ‘ۣ̎Jӥ"],
  24792. ["@@ࣷƅÏ̴Ђäֈ{~ɕ"],
  24793. ["@@ƟׯƷņ`ѮϓͪCĪڐϗ"]
  24794. ],
  24795. encodeOffsets: [
  24796. [
  24797. [-79395, 24330]
  24798. ],
  24799. [
  24800. [-79687, 27218]
  24801. ],
  24802. [
  24803. [-78848, 27229]
  24804. ]
  24805. ]
  24806. }
  24807. }, {
  24808. type: "Feature",
  24809. id: "BIH",
  24810. properties: {
  24811. name: "Bosnia and Herzegovina"
  24812. },
  24813. geometry: {
  24814. type: "Polygon",
  24815. coordinates: ["@@̦FȿσМ͓ūЃȡ™ƽû˙țūҥݓ͈ͅΘ͋Ȅϭ̾ǻʺЩϾǬΒ̞ȕǼǨϾnܠƓ׈\\Ϟȅ"],
  24816. encodeOffsets: [
  24817. [19462, 45937]
  24818. ]
  24819. }
  24820. }, {
  24821. type: "Feature",
  24822. id: "BLR",
  24823. properties: {
  24824. name: "Belarus"
  24825. },
  24826. geometry: {
  24827. type: "Polygon",
  24828. coordinates: ["@@߼Mࣰ̈́ȚӄېːÿϔԜƚ͖ࣘࢮɁŢȻѲĴࠒȧĊЁǷɧՄս΂Ƴ»Ʊ֦Ʃʎɡ͝ǿڳˆljÿȠ˧ȸ՝ܝ¹ʵȁÃхͭĆݷ¡əȞ̿ƥ́ŨڍjफȬࡕàٱmҡɩГeϐʷϴԌǢLͰɷ͌™ϊ"],
  24829. encodeOffsets: [
  24830. [24048, 55207]
  24831. ]
  24832. }
  24833. }, {
  24834. type: "Feature",
  24835. id: "BLZ",
  24836. properties: {
  24837. name: "Belize"
  24838. },
  24839. geometry: {
  24840. type: "Polygon",
  24841. coordinates: ["@@OŮĸžƴı̞ԔDŽZHūDŽGaɭƋεôŻĕ̝ÀăīщǓɟƱǓ̅ʣ@àॆPژ"],
  24842. encodeOffsets: [
  24843. [-91282, 18236]
  24844. ]
  24845. }
  24846. }, {
  24847. type: "Feature",
  24848. id: "BMU",
  24849. properties: {
  24850. name: "Bermuda"
  24851. },
  24852. geometry: {
  24853. type: "Polygon",
  24854. coordinates: ["@@OEMA]NOGNG\\Q^McMOI_OK@CQSGa@WNLVWHFLJXVFGJ`ZRTDLeeWKIHGIK@@[MQNi`]VDTBHCJAPBJLVFjT^LV\\RJZRn^RH`TfJjZHHOTTFJP_NOX[EYQQKMEJOLANJH@HQHAARF@ZEPS[U_IcRQXE@EEKKOCGGCQCOGISKYGUC"],
  24855. encodeOffsets: [
  24856. [-66334, 33083]
  24857. ]
  24858. }
  24859. }, {
  24860. type: "Feature",
  24861. id: "BOL",
  24862. properties: {
  24863. name: "Bolivia"
  24864. },
  24865. geometry: {
  24866. type: "Polygon",
  24867. coordinates: ["@@य़”͟گӳ؈વȲ۫ݹ؅ŗ͡୆ҋऺˆ߾ѳ΢ŏ؆ЫֲՌ࣢αۺȖ˰ƭ̶͠рh܎¤נǸ˶ܩഠزíѠnȈʪ݀;Ѷ͂સƚęؽļ͓ãࣰ֛ݫऴƑ̻ͦ֨ǕΐʑՈTӦʟšӟǐʕZγʓa͒এྖ“ūӟĜͧҞɽȤԹƫڋɯρĄӏʿǥaʶ޳јޭ^ัʓЕ݋sҋͥ৕ƉǸ"],
  24868. encodeOffsets: [
  24869. [-64354, -22563]
  24870. ]
  24871. }
  24872. }, {
  24873. type: "Feature",
  24874. id: "BRA",
  24875. properties: {
  24876. name: "Brazil"
  24877. },
  24878. geometry: {
  24879. type: "Polygon",
  24880. coordinates: ["@@૮ନॆࠄ֠΂ۼҪjڤуӞеLJǒӜŖӼBҦ̡ƴ̿Ƌ̻œį͔ýޔƿʤ֥ɪ΃ǏࢱLjÈଜʝҴˀǦăӐɰςƬڌȣԺҝɾěͨŬӠྕ”͑ঐʔbYδǏʖ™ӠӥʠՇSΏʒ֧ǖ̼ͥळƒ࣯ݬä֜Ļ͔Ěؾષƙѵ́ܿͽȇʩџmرîӃƟϡĪÈ౨ۏӷݏv҄ͅ֏¶DzΰұԞΓݴɜƶA΢ԖʎċҔɊ̈Ôϼ०ֲێNJŔŴݴŸϚᘰpθſӔύ̬LؐӀƒǚē†͐ӯĔYՀ࿖k˦̂ɸˉǐӷǂļҨѻٸÆnjʲشȞΊƐĮΤ׸ʆ¯Ǯ܅ðśՊ’֞ϓɒǀþجŅڜȿʐȤ؀žल̮͎̾ŏʂѪšȜȗʼnσ̀ŵȖϷɷ̏ƅ܏ɌыÔϳԬϿЮ¥Ģǒˆ˜ϠƦ˚ɢҬíȲŠҚçøǢƗǘĎʐͺõЈĒӔDZξǥʺɪȊ•ŘɿДÒ͒͊ʴؤӼޒ˺¢ȺҫҼ฽҈Ƒxׅمەʾʩ๤ƁŠࡃٔր੐̟ඊԡШӱƏҫ঎ʶ࿐ѹఴŽఔ۝੸व٪ʏܖ‘̦˅˸੭Ɣԗͯ൹ёշஅୡՙोثܯȿgɻءÒ༽ɹಓęօˇͧƫ૱࡛઱ƛࢁڹηȟԋ࣯Fೕ͓סύवʗ঩ڝ܅࠯ũطƔҫƽࡓȏЧחҥट๕݉ڗ֯Ͻϥߛ։ӑɷӈψЊӟֲڇҬࡹՠ̹{ࡅٰձę"],
  24881. encodeOffsets: [
  24882. [-59008, -30941]
  24883. ]
  24884. }
  24885. }, {
  24886. type: "Feature",
  24887. id: "BRN",
  24888. properties: {
  24889. name: "Brunei"
  24890. },
  24891. geometry: {
  24892. type: "Polygon",
  24893. coordinates: ["@@ͬ̾܎Ң›Я·՛Б€ǭ˹ϥѦ"],
  24894. encodeOffsets: [
  24895. [116945, 4635]
  24896. ]
  24897. }
  24898. }, {
  24899. type: "Feature",
  24900. id: "BTN",
  24901. properties: {
  24902. name: "Bhutan"
  24903. },
  24904. geometry: {
  24905. type: "Polygon",
  24906. coordinates: ["@@΂ˍÏԩۇ{ۿÈՇſޅ͊kǚ֌زҒɈ׸șѺqπɥ"],
  24907. encodeOffsets: [
  24908. [93898, 28439]
  24909. ]
  24910. }
  24911. }, {
  24912. type: "Feature",
  24913. id: "BWA",
  24914. properties: {
  24915. name: "Botswana"
  24916. },
  24917. geometry: {
  24918. type: "Polygon",
  24919. coordinates: ["@@ǜƭ˄ӡॎइήĝD̑ʚՑٰŹ՚ϝ஑أݭع˩֓ʧ́ҙãƧГďʽ՝țہ¤БɾΟĸХșȵГЉʧпϑ׻đȇ̐üԠӽߚɧŲAរࠤˆ|Ჾش„ಖ͎̎΍՜ͤʮDӂȎưÙ͔ڣ"],
  24920. encodeOffsets: [
  24921. [26265, -18980]
  24922. ]
  24923. }
  24924. }, {
  24925. type: "Feature",
  24926. id: "CAF",
  24927. properties: {
  24928. name: "Central African Republic"
  24929. },
  24930. geometry: {
  24931. type: "Polygon",
  24932. coordinates: ["@@ۜÚƺɎƔgȾȏ੔͐Τ͠Ѭ̌ĉ̐ʂüߺ½߆ϴ؊ࣺю;ՐƜĪΫӜԿF΃ƋΓÄʻ̆ʍٖοҢͻT˗֠ѫΖεɆԋغͩƊˉˣęաpكĘ̹ïųȱ˕}ͧDzधнϥĎŗÝʥԕطǐؙĊ՗̴ۓ˸҉˓͛яùדգ²֩Ƙԅѻѯޱėʐ›Ϧϧ˔̳Ѡï̠ЇѮæʢċΞÞٴȬƴц࡜"],
  24933. encodeOffsets: [
  24934. [15647, 7601]
  24935. ]
  24936. }
  24937. }, {
  24938. type: "Feature",
  24939. id: "CAN",
  24940. properties: {
  24941. name: "Canada"
  24942. },
  24943. geometry: {
  24944. type: "MultiPolygon",
  24945. coordinates: [
  24946. ["@@؎œުxЯ΅̵Å੥Φȿˬ͆ʸ̎С"],
  24947. ["@@Хcઝ˂ޯІ̄î૆Ɂ࡮Η|Ʒ"],
  24948. ["@@хŝൡϢʥ̘ݩ̌Ưʈࡻư͕ҜðȚࢨǿԨŵ߄ė˺̃дЋ࠼΍Όҩ"],
  24949. ["@@։ܿո˴֠ǵ̏̉ݚɱϰȴ࠼ʵʹ؛טƞņѿʼԷΝ݉ϝ‹փǂǾیɻńইܯԅ†צЂ߫Ȳࣙ¹࿅~ŹʠԼ̐λɬ۸Ԓࢄ೾Զӎܲ̂϶™Njɫ҅Չ"],
  24950. ["@@@@@@@@߰äʥ॓ܶگͯDԑϪ̵ϮчʾƻτºˎЂŋ"],
  24951. ["@@͡ѳχîəʢ Î͖ʦΆkɈǣ"],
  24952. ["@@ঝҧץnǿɪزϲ଼SiǍ"],
  24953. ["@@ƼυјżӨɗं˽४ʽöЍؤÞ׶˥ݙ˃ಳȬҽϚ࠭ҁ஡ѣ˿Ӯଗăܴдņڌ˺ޔ؈å"],
  24954. ["@@ष¥ȿЪΦҼޖŜپɷXέħřձʛ"],
  24955. ["@@Է̍ଉʬۃğଫϘ݊ʼטζࢼʃԎƯʦDžԠ͍"],
  24956. ["@@G࡭૰ڄ৐եʡح߾֥࢚؈ؖܨ°ईஞÝఔūૼй¼зس҃פ҇ŃУ࿩חୡŻࢃʨʣуߵ۽ʓοই֩ளÇڏΡÇձ঍Ŀਉڻ࣭ु͙ڏ±উంƕϜ޻ϼّ୲ǔ༞εࡀ͋׺Ѕ੆ɳࢸΟ൶µࣴąƍܫʼࡋ،ळనߗ٨˚ҔࡺѭೢףѶഎЀ॒לҮהç֭֘܌৷لলࢤνݾ˫ಾגȘ෸ɫࡸć۠ɚ޴˵ਚӣʮ͙ຄÛ}۷˪ਜ਼ގſ،ӵ௖Ұߦऔ֌ϸٺݣબੳघ৙͵Յ૤Ӂݰӓംɏբˍͬ܃ټŏͶͅÖऻ؍́׽̏൯̗੏ۑ෇ƋᅛǮుPࢇÍ۱׽ੳω௉૗ॵޡ܌Ɛഘૄᄈ۪సČݔЫߍ֟ˊࣟ˜هતп൸ŨࡆीÎ؍ժ̥ਣսᇷԁ࠯ͽय؁ٓ֍܆ฤ۞഍ƒणĹջӆBନύʐ֛ƛ˧ɚٙىʱٹ̕ϡΥŽˏ¥čȹ໽A౥MϛƷࢵ؃Ŀßˍ͝ޗBࠛGϛƅƊǑøʯeďષлࡽſউ҅Ɂ@˷ƂĥŦnĔȂ̎ЂҦʘӺǙܴǵނ࢕ЂľƬūĺɳ@ǛƆ¥ȤǍēɥ€¾ĊȡĊćɚٵːڹ˪ࠑ͘߁̨ݧʃ˝Sਕɔڻʼnࠁʺ࡫Ɔו¾ʻƜƫҤ˳IE͓჏BᮝA᭯@ᡃ@ᠿ@៙@ᢡ@ࠛ@᠁@ᛷ@őF྽ࠜ׵δຽΐҳݖŤԨ੻ΨƧڴ৭؎iѠҲКwՌෙ՘࡭ॠՁ׾ޑϚ֣ΈѿѢࡇ˕ࠇҹݛւדπࠋɸࠟ|JⷎNᷲ༬ȭ೘Й࢘û݆ΖৰˀఢĹ఼τ൘Ⱦ־ΑظȠȊЄ׈ęෆݫ૦֬ŖّਔƐ͆ʖৰ·౼Λዸ̭ୄƛࠖÄଊэ஁зຶǷᗘIJܒƦࣆԋࣴьࡩΦժ˼৾žڦĎڴȩࡊҗरä๢ϛಬƄ௬oĭԺݞƦದ˵KߑՖڠڰuϞࡊ࣑԰কͺäघশ؎ૌƇࡘχଞॅݗЭ༠ǝ"],
  24957. ["@@нϿሎʬୠщॊіސ˟یࠛфΒ׭ࡰ݊Ŭ࠲Ƈश͹ՆࠉʼץථеະЉĝσൡã՚͓˱ູ̯Ƃฃɪঋ»ཅ˷ᒃű๻āҕІଫɮݙģਛږ֔ĚಘƜஈ›રƦྷȞᅗã஗jѷ̴ዎͲಗ[ืɚ۶ـגͮᖬԠ࡬Nj"],
  24958. ["@@݉ևಹך˸Ş૸’ٔȁ"],
  24959. ["@@öɵࢿ|ࣟjࣿőʑ¼ऍѾ˜̠ИÈነěชң"],
  24960. ["@@ڎԽޤڴᒆΈ෺ࢅůջဒʒߒͮሀыୄЏŊν༚Ȑ࢘՗᎐ܸͩ͹ߐ޻໯ϹጘչೲȁீޙೖÇʽכ้ঋਗά೓߲ઙĿŁӕࢪӥଜϯΌɟմࠩ́׿੕ɪᑏڨஎܣ࢔ԕƎ̉ᗱͲᅩӤ৳Ц̌ʂయќ௥Т`ʑᝡƅ܃˾ֆؤ཈dႸņ˫̜̊оચࠊɳϊ͕˾౿Рၳ˺՞ɆࢷԺ݋´ڏ˸҇ʛ຿ŅᵝȈᄫʚഹŴۥ̐࢞Ϧ஝Hˉ࡚٦ݨࡺ΄ᓪɢأի"],
  24961. ["@@৊ǯຄńɖʑ޷Е౜αƱݳ൝͗߳ê׉͎ᐡٮjˎ႖ĽएռসР"],
  24962. ["@@࣓عय़ŒԽ݆`кѮΨ࠰ɮც‡ྈȱళݟ৉Ǎ"],
  24963. ["@@ᕍЙѷςኹѺήΤ׌ؘܰւࠑԦᭊƀ஬ǧᒰ±ࠄʑࣖΝ੍ɃᏝןਫי@ν"],
  24964. ["@@ҙ͙௝Øৱɖ҂Ϛீɨܼ̬̍ˇ"],
  24965. ["@@ٞϵ€љϣس൱đࣗƈjӬ൝ÝÁٮࣜౌ˺ஂµÜŎ"],
  24966. ["@@̙͢ݠƘࢢ™ƪЩԝЋ᭗Žᑯη౩mŅ˜პϊ④ij୯Ʈପࠐ߈ɾᛄ˳๶ӻฺÛறߨޔ̪ࢄĭ˲Џ"],
  24967. ["@@ढ˓ကFܨˡȑ́८ȍՔȧଊ™௬ë೸ǼႊðീÏ࣒ͅȊ΍ԽɟభǷ੽ĸᜱŻႫcഫļᖁ˔̃ҦĹжࡇξ჋ĺঅʼ͂ΈႾÁ"],
  24968. ["@@ŗ٣٩̇޹£༝Ϋ഍ŹଗǼ@@ුؼႮծಆ[ସŬ"],
  24969. ["@@ϣy༽Âɡɼၜ]מƻĵĩ"],
  24970. ["@@༩ʋఝ˔ڼˎ௮Đஈſ˩ʥ"],
  24971. ["@@৽ǏඉBbŤࡴʦҌદǝ"],
  24972. ["@@కǥۃȚέ͂áΎજ‘ӪÅ৐̇ɫ̣"],
  24973. ["@@͜Ε൏Ĥ൩˘ሏŒߺʠ৫ȮÕ͐࿶ŕᗢ̫ٞЍ"],
  24974. ["@@০˕ଽʟ༇ك๥Óდņࣗ΄^̦ڔɢ໡Oए˨ՑϠ׌ώ׊ʲࡴÎοȖዜ¨੶҅මǵ൞ǃڒև"],
  24975. ["@@ᖢßᅮŅ໤ɫ™ɡᏅη᎙ǟݻȉᆬJጡԙേʃ෯ۇႿƓՙǡᡷěୈĿׇƭ۞бߙ˽ಛʃЋ͡୫ʣŞȏ෬lȳᖟԋᔧɴឿŻధĸཟªĿЖ༊Ȑб؆ԢÐᖤγ଩բഹLjڼ͘๰Ȩʄ̊஋͠ΥѠᘞ—ڒĝ಼̪ቃĬ᰽Á๣˸۩ͼগʘȁ˺దLjঘ‚࿲ƌం̺ਬ©ࣤɽٔҒૐƈບĢᢲ–Ҁĝ᝚ƚᆔÁᆒÁ"]
  24976. ],
  24977. encodeOffsets: [
  24978. [
  24979. [-65192, 47668]
  24980. ],
  24981. [
  24982. [-63289, 50284]
  24983. ],
  24984. [
  24985. [-126474, 49675]
  24986. ],
  24987. [
  24988. [-57481, 51904]
  24989. ],
  24990. [
  24991. [-135895, 55337]
  24992. ],
  24993. [
  24994. [-81168, 63651]
  24995. ],
  24996. [
  24997. [-83863, 64216]
  24998. ],
  24999. [
  25000. [-87205, 67234]
  25001. ],
  25002. [
  25003. [-77686, 68761]
  25004. ],
  25005. [
  25006. [-97943, 70767]
  25007. ],
  25008. [
  25009. [-92720, 71166]
  25010. ],
  25011. [
  25012. [-116907, 74877]
  25013. ],
  25014. [
  25015. [-107008, 75183]
  25016. ],
  25017. [
  25018. [-78172, 74858]
  25019. ],
  25020. [
  25021. [-88639, 74914]
  25022. ],
  25023. [
  25024. [-102764, 75617]
  25025. ],
  25026. [
  25027. [-95433, 74519]
  25028. ],
  25029. [
  25030. [-123351, 73097]
  25031. ],
  25032. [
  25033. [-95859, 76780]
  25034. ],
  25035. [
  25036. [-100864, 78562]
  25037. ],
  25038. [
  25039. [-110808, 78031]
  25040. ],
  25041. [
  25042. [-96956, 78949]
  25043. ],
  25044. [
  25045. [-118987, 79509]
  25046. ],
  25047. [
  25048. [-96092, 79381]
  25049. ],
  25050. [
  25051. [-112831, 79562]
  25052. ],
  25053. [
  25054. [-112295, 80489]
  25055. ],
  25056. [
  25057. [-98130, 79931]
  25058. ],
  25059. [
  25060. [-102461, 80205]
  25061. ],
  25062. [
  25063. [-89108, 81572]
  25064. ],
  25065. [
  25066. [-70144, 85101]
  25067. ]
  25068. ]
  25069. }
  25070. }, {
  25071. type: "Feature",
  25072. id: "CHE",
  25073. properties: {
  25074. name: "Switzerland"
  25075. },
  25076. geometry: {
  25077. type: "Polygon",
  25078. coordinates: ["@@ƫŹȳϞƵіwá΅χƙةŀǻ͹ЏơƄһ˵Л¡αǶ˽ςБſ^ϠؚҾɈϤûɲƞ܎MǦǼ࣒ʱ"],
  25079. encodeOffsets: [
  25080. [9825, 48666]
  25081. ]
  25082. }
  25083. }, {
  25084. type: "Feature",
  25085. id: "CHL",
  25086. properties: {
  25087. name: "Chile"
  25088. },
  25089. geometry: {
  25090. type: "MultiPolygon",
  25091. coordinates: [
  25092. ["@@Bም࣒@Ԓw˧ͻܛʻЭ‚ӻä؏ʨ࢟ŨੑҸ࡫Ҏୃशۘǭ୼֗૜̟ѢϬ˘ֺޠΎװı"],
  25093. ["@@͢୅؆ŘĺɁ˿ࢍࣵг€ඓǫ˓ʦ͡ץԹջ߁̛ރĀ߿ԫࡹϮฏɔƵCޛӑࠍpۯٍշFޙʮࠏԉ̧ɣݡȟࡱƚ৿ͷǡȞॹϜ͇ˡΛ϶ǙĚ̓νǃĜӱ̫૗ѽܓĮыˇՑ٣υôࢹ̧̐֔ÄgؽΒө᎔őުſݝPЙȷݷ̣Ɖ޹Σoॅ˚१ג@@ਲ਼ӔˁՒʄӰх֒Ņ෤Φ߰ࢴٰౣʔߞݒ˸ඊत̏Ѯგ֝ɠʿ਻ՉŠ˂ல˺༒ϮָʍࠎéूΠ„Ԩപ׈എΤబȗ఼ʤۚĵਞӮਆưྺ˒ნˀሤÕ൘ǩ஄ќɌɦњЬֱŐ؅ѴΡ˅߽Ҍह"]
  25094. ],
  25095. encodeOffsets: [
  25096. [
  25097. [-70281, -53899]
  25098. ],
  25099. [
  25100. [-69857, -22010]
  25101. ]
  25102. ]
  25103. }
  25104. }, {
  25105. type: "Feature",
  25106. id: "CHN",
  25107. properties: {
  25108. name: "China"
  25109. },
  25110. geometry: {
  25111. type: "MultiPolygon",
  25112. coordinates: [
  25113. ["@@ԑഓΫۏѷ܂ĩخӶࠜڦَϨʡƣԓ", "@@ܩЗۏʺyܢаϠࣾɾӚoȊ͍σσșӟ"],
  25114. ["@@ฬˍ঺ׯͼ߃౨Cܰͨ൸ʜѳݱ͙̭˽ः֡ࠇ৵ƪܝ̑ɜܙť঳ѕwLяթӺͯһಙαƀѹܩŒЍ˂ֽ׭ऑҋۃա୭ʑأϽࣝɭ҂ϴǭ͞ږ֠ѹѲܷ̓ॉ׏ԫթ࠙¡ѓϻѸ֩یƏ„ϕڔʕस׶ݚ͝լuƌѱஓɻϻҏࠇућיࣜҥͦࠝԞޓ֮٥_دՅɯȪ҃ӶʻŻۃɇڗҷ÷ؗࣧڹિޭোିޡୟۻृĩԣύ̃˘Ӈй୭сࢵŹ˻ࢱҭ·ə؎Ȧ͘ૻːЇƍࡍɔЏ΀ƄӜޏƶЙܑ̀҃ࠇīڡJ҉ȳѥūŶ॥҃x÷Ȣ}Ύ؝ʓεƸر͂ʔۤՏǎȧޜࢱƓĴাߔۮ”ۚ{٠νȨ˭ӶӭÙࣟŲ˴ΜϿԺ׳Ν۵ȸॷ՗އسڳĿοɦѹr׷Țґɇ֋رëڌԟǭওĈोȖڿτٵǔ˯ЖҽŦࡓոکʴΑȩଢ଼טࠛՒɽऐ׾ő‚іͭјĐۆࣙঠ൧ͼʝ٦ةϼƫʌųӎˆ͜ԛȔ˟ďɇިʈȔśȠߤЈ׈ǐࢸő͆՜ંIJͮ̚೜ҔŠȐãӐּɔݱฦဘͲјȈ؆ຒဠˡҲϞ¢ࡆۦĀٖ֔͢èɚו۸ѽப̿׆ڱ͕ঙ̢ηূƝଆŝ৪ԻԲġϤޟӲӿऒnჄȉ૤Ŝࠦůఔԛ৮BόʽঐҌബ̈ాŒঘ̒׾҈ך˰Ƌˤˍ͔ѴըӀùࡺǝ࠸Ѿ౲͚؞֊נʆ௠ŐڐĥĠ̘ݿזګː٥̳ࠣžӇŃɏΆר࠾Цو৚̓ஆՎQτݸࢾҲːWҪңȦۜмਰƲ૜vసʡ݈̱԰ࡏ̀α̊ԩ̶ࠕ"]
  25115. ],
  25116. encodeOffsets: [
  25117. [
  25118. [124701, 24980],
  25119. [112988, 19127]
  25120. ],
  25121. [
  25122. [130722, 50955]
  25123. ]
  25124. ]
  25125. }
  25126. }, {
  25127. type: "Feature",
  25128. id: "CIV",
  25129. properties: {
  25130. name: "Ivory Coast"
  25131. },
  25132. geometry: {
  25133. type: "Polygon",
  25134. coordinates: ["@@ϣUוǒ՟Wহƥ׍ʍ̯ࠫNjvÞۖĄŀ}ͨΣΚˉÈʕɲǾώčО ʔƄB¸ξÝnjĄŜ̸ĶȹڨȗΎæ˸ǘÞŊúɸųٮOƸʖƢgʎĦžΫȞłΌŰϚǽƦ˥Ϙǯ̎ɄϾŒֺɏɠ஡Ο۷ɕेθܣ›ͧ"],
  25135. encodeOffsets: [
  25136. [-2924, 5115]
  25137. ]
  25138. }
  25139. }, {
  25140. type: "Feature",
  25141. id: "CMR",
  25142. properties: {
  25143. name: "Cameroon"
  25144. },
  25145. geometry: {
  25146. type: "Polygon",
  25147. coordinates: ["@@Ľ°ӻŇԝŒЋÅ൅nŬڒ͟֊ϧƚǟϖɋŦXɶɎתЎ߸ʒRԄӮ͈bҾΉ־˲ĀΔȌͺžь҆ΊǞךDzȊŢѨɜ՚۾ٲ¬˨ĠƲͫͰ‚ˌʂ¶ͮ՟Ê֏‹֏ҜޅҷTʁÏϥČǻЅӸөμƛŠΏˆ׃ſɩх࡛ȫƳÝٳČΝåʡЈѭð̴̟џϨ˓œϥĘʏÓґڛȤڷɜ੗"],
  25148. encodeOffsets: [
  25149. [13390, 2322]
  25150. ]
  25151. }
  25152. }, {
  25153. type: "Feature",
  25154. id: "COD",
  25155. properties: {
  25156. name: "Democratic Republic of the Congo"
  25157. },
  25158. geometry: {
  25159. type: "Polygon",
  25160. coordinates: ["@@»ঙͶŕˑ̗͓ɟ͍ѫǯϷ±ګț͍Oهʍɹ‹ԃŗÝýҟɄϡÂ৥ưޝċѧǘӣӤҹҒ੕ͥĒ૿ƙɣĵʇՙȊχƫষĻࡇɨƫט͝ɲƴìٟࣟR·Ҧ̳ΨٟŠȋѰԣ˅ڧŞ˫ϢՕüϽqµʾ́rϥºԳųιtȻû®ৄ˩̸ÕԬŬԒǝ͖eՊ৳Qò̢ѕG­ƣԵɁӧűȿҫŠˣş։å͏Ѱȗ˖ʋԌȷض៛\\̍ķʑh΋œşʼɊʀμƎɎ̪ǰɚđ˼͐ҜSÄʃ̼ƩӶՄӨШɆːƒ۔θࠆϬўքМĪˌt̰Ǝ̆«ӊŀݖǐԾʦ҈¸Ԕúה͜ѐҊ˔۔˷՘ؚ̳ĉظǏʦԖŘÞϦčनоͨDZ˖~ŴȲ̺ðلėբoˤĚԘۙϘķɤƖϲÅҶDzȦΫ݊֏"],
  25161. encodeOffsets: [
  25162. [31574, 3594]
  25163. ]
  25164. }
  25165. }, {
  25166. type: "Feature",
  25167. id: "COG",
  25168. properties: {
  25169. name: "Republic of the Congo"
  25170. },
  25171. geometry: {
  25172. type: "Polygon",
  25173. coordinates: ["@@̿˾ʩƗͻγۏࢸٖҪ̓֌˾ɂ֦ĺäό҆Зݐ•ʴЈł֒ĝڀЉӺζ঄ȽǘسçɻѢÔξ੘ڸɛڜȣÔҒѰ޲ԆѼ֪Ɨդ±·ԓʥ҇ǏԽĿݕ¬Ӊƍ̅s̯ĩˋփЛϫѝηࠅ„ۓɅˏӧЧӵՃ̻ƪÃʄқT˻͏əĒ"],
  25174. encodeOffsets: [
  25175. [13308, -4895]
  25176. ]
  25177. }
  25178. }, {
  25179. type: "Feature",
  25180. id: "COL",
  25181. properties: {
  25182. name: "Colombia"
  25183. },
  25184. geometry: {
  25185. type: "Polygon",
  25186. coordinates: ["@@ΫȤЭ˨ʅƅ܉Ŝȱΰƽ_࠿Ӓŕʺ̼ڛтȢ̦иÊΞՆ͐Ѵ̳ȦDŽӦȏސǸɚƃ܄ͻ҄ņТ˔ÑǂʠțӶĺŬѢـהΌĚT˦ƺ܂ӖϸՊfäǪڂéڌъ͞ȊОК̖»ɚɛǍ˱գƕɇп͗ʋʓ̷Ĺ׵ɷӭѢÇņϭȄȁâ͹ij̵ˆǫȸéȨ̉ઊĄӦŃעܡͼĚ؂­ӐĪ̔ƟƱҍȇ˯ß׻ǜ֑ʆʟ†ȉэл̨ȃɠ̋ʰ࠹ǁĻǏӸɷˊ˥́࿕lZԿӰē…͏ǙĔҿƑK؏ώ̫ƀӓoηϙᘯп҂ʣpժࡤٟϾԍị̈ƤҧɝصŀӵࢤϳɐˍІ֑Њɡā"],
  25187. encodeOffsets: [
  25188. [-77182, -155]
  25189. ]
  25190. }
  25191. }, {
  25192. type: "Feature",
  25193. id: "CRI",
  25194. properties: {
  25195. name: "Costa Rica"
  25196. },
  25197. geometry: {
  25198. type: "Polygon",
  25199. coordinates: ["@@җȆǟǮĬƤ‰ȄɷȪͥǔ́ņÅʖəƮÄʑǗȩȓɸˑĊŗǞLʮŎˆʁŠȖnjŴňֆɝȖŊˊéƔǥʜÇȪDzɈҙ͖ͷЂΩ͗õLͷǪűűıƱëǟ©Ǖ"],
  25200. encodeOffsets: [
  25201. [-84956, 8423]
  25202. ]
  25203. }
  25204. }, {
  25205. type: "Feature",
  25206. id: "CUB",
  25207. properties: {
  25208. name: "Cuba"
  25209. },
  25210. geometry: {
  25211. type: "Polygon",
  25212. coordinates: ["@@ܨÑڊW߄˹̭ͮ޺Ĩ̔ȡ܈ԳԺϛˢ\\ԆǟÕʁئ“ٌ΅ıȟ֑Ń֡¥׃âளą֜Ҷ΁ɔէÈ̃ʐȥӎӃ޵ɦʥǬભž̋ǐ̀ɀࠗ¨׿ѧΏ[ťȳеğΫĂѺʸǼ̤ϞȈіǎَĄȰĢ"],
  25213. encodeOffsets: [
  25214. [-84242, 23746]
  25215. ]
  25216. }
  25217. }, {
  25218. type: "Feature",
  25219. id: "-99",
  25220. properties: {
  25221. name: "Northern Cyprus"
  25222. },
  25223. geometry: {
  25224. type: "Polygon",
  25225. coordinates: ["@@ÐJŨȮ؄Yކʢ֧ΧÔƿęˆLJÙűj¥iĎѾNjVɫïƿ¬"],
  25226. encodeOffsets: [
  25227. [33518, 35984]
  25228. ]
  25229. }
  25230. }, {
  25231. type: "Feature",
  25232. id: "CYP",
  25233. properties: {
  25234. name: "Cyprus"
  25235. },
  25236. geometry: {
  25237. type: "Polygon",
  25238. coordinates: ["@@€ãࡱͿЩŊȟͶЎŒǀ«ɬðnjUÒ½j覎ŲiLjÚ̇"],
  25239. encodeOffsets: [
  25240. [34789, 35900]
  25241. ]
  25242. }
  25243. }, {
  25244. type: "Feature",
  25245. id: "CZE",
  25246. properties: {
  25247. name: "Czech Republic"
  25248. },
  25249. geometry: {
  25250. type: "Polygon",
  25251. coordinates: ["@@ϯǂЁ©ٵʲ̏Ùҿ΅ر˔ӃΰѕȬėΠƧʠؒǾ̸Ⱦ׾ǎɂdžɜīϒĖЊ˓ؼñ¿ɳҘǧŲɒּĥĄʿز»ϮЯʡCŽƯȕ—ÅȑLJ¡wý˹ēϋbšȁ"],
  25252. encodeOffsets: [
  25253. [17368, 49764]
  25254. ]
  25255. }
  25256. }, {
  25257. type: "Feature",
  25258. id: "DEU",
  25259. properties: {
  25260. name: "Germany"
  25261. },
  25262. geometry: {
  25263. type: "Polygon",
  25264. coordinates: ["@@d͗ࡔțS̗ࡢǂҾɰॊͧІˋȞёɹɣ̨̙Ⱥ҅ß́Έ՛ϑĕɛĬɁDž׽Ǎ̷ȽؑǽƨʟĘΟіȫӄί̑ϯ̟ŃŢշýƛʿǤЕ~׷ƭݍ–ţɛыɺʩ±࣑ʲǥǻ܍Nń״ьֺ௅ƸЇɘ´ςǗȐĨ֨ƗࢢԎ@Ɉ͂Ⱦޔƿ˴ǐDz۰°Ƽȃ֮вȓ̀ӈٌōՠŸ"],
  25265. encodeOffsets: [
  25266. [10161, 56303]
  25267. ]
  25268. }
  25269. }, {
  25270. type: "Feature",
  25271. id: "DJI",
  25272. properties: {
  25273. name: "Djibouti"
  25274. },
  25275. geometry: {
  25276. type: "Polygon",
  25277. coordinates: ["@@ȤʹΑӏȩήɯ̱҇ȅƬȭÏҷb_ʮßɶ˴Ѐ̐ϊήñʪȴ"],
  25278. encodeOffsets: [
  25279. [44116, 13005]
  25280. ]
  25281. }
  25282. }, {
  25283. type: "Feature",
  25284. id: "DNK",
  25285. properties: {
  25286. name: "Denmark"
  25287. },
  25288. geometry: {
  25289. type: "MultiPolygon",
  25290. coordinates: [
  25291. ["@@ԋڹ࢟ӄŝΒ௼˨ˎу"],
  25292. ["@@ȵ̓ʡĞ؁؁ɮХ՟ŷًŎͽҲ}࡬Ɣɪʌʦ݌À̐ɴڮʂƒѝʟ˙ĶɽҘŵ"]
  25293. ],
  25294. encodeOffsets: [
  25295. [
  25296. [12995, 56945]
  25297. ],
  25298. [
  25299. [11175, 57814]
  25300. ]
  25301. ]
  25302. }
  25303. }, {
  25304. type: "Feature",
  25305. id: "DOM",
  25306. properties: {
  25307. name: "Dominican Republic"
  25308. },
  25309. geometry: {
  25310. type: "Polygon",
  25311. coordinates: ["@@ŀƞپIӾɏɜtƴ̕Ҡhʡϐ‰Ю̷̯ͿЍǼϫ•ˡ¢ƱƵ͑½ŷȲˣťͳֻɏƆ§ʎjɬɍʦȲƚÞ͒óҜ"],
  25312. encodeOffsets: [
  25313. [-73433, 20188]
  25314. ]
  25315. }
  25316. }, {
  25317. type: "Feature",
  25318. id: "DZA",
  25319. properties: {
  25320. name: "Algeria"
  25321. },
  25322. geometry: {
  25323. type: "Polygon",
  25324. coordinates: ["@@ᮩཽᝩ࿷இϑटćU՘ϵƌԹʊȧЀᬻᆴᬻᆴṕᎠfnj@ÊQ঺ബب࠼Ÿێɦ͎тচͪ˜جӢòϞ̶સƚƸ͜ɛDz̃ࢲ¹Ԟ́ՠ߰ҠࣦƢՌΎ߶ʰ෎Ƭർæшůߊͨ࣌P΀ȝֺ¾ǟћƄߟȡۙԭҵôمۊԃRȯԮ͹Ϊຝ˖ݏ°ϵƧۇÔϥŃҟòՇͫΗӺؓŽέ̘ҵϼƸڒϷςՃ"],
  25325. encodeOffsets: [
  25326. [12288, 24035]
  25327. ]
  25328. }
  25329. }, {
  25330. type: "Feature",
  25331. id: "ECU",
  25332. properties: {
  25333. name: "Ecuador"
  25334. },
  25335. geometry: {
  25336. type: "Polygon",
  25337. coordinates: ["@@҂غǻξ͍ϵԉςǞʀƙބ̎ŴƺԼ͆զÍ΄ҢǸ׀Ͱࡀӑƾ`Ȳί܊śʆƆЮ˧άȣŞٓʽճࣷ࢟য়ͧԥܵǃ֣Ӆ΋ΙъͻĞ΍áw̮ʈȨıΔ"],
  25338. encodeOffsets: [
  25339. [-82229, -3486]
  25340. ]
  25341. }
  25342. }, {
  25343. type: "Feature",
  25344. id: "EGY",
  25345. properties: {
  25346. name: "Egypt"
  25347. },
  25348. geometry: {
  25349. type: "Polygon",
  25350. coordinates: ["@@ɽͷǹىɫѩȝƥ˩˔ϛϒ׵ஸđùΐࢯԪࡋٌವ̴ҙ˒ӃݮछǗƣ‚ճ঒ݭƨǣΏ@Ὁ@⁩@@ᶶ@Ჴʥڲɐ԰Żά̤Ж૦b߲ɝ࠲ʛϴſ٨ˊΌʊݎêװŃɮеȜ˜ڨȣټ³аɄւ෽"],
  25351. encodeOffsets: [
  25352. [35761, 30210]
  25353. ]
  25354. }
  25355. }, {
  25356. type: "Feature",
  25357. id: "ERI",
  25358. properties: {
  25359. name: "Eritrea"
  25360. },
  25361. geometry: {
  25362. type: "Polygon",
  25363. coordinates: ["@@˻˖ΉӰϋ˒ɏܷ̄ͶֻXȭǬӯȡԛϢʽط঑ǬęʹβఀĊ֒ˆʴؤƐьӒӦঃɴޗҢУବߏҲӍҖӝˀ˿аʧʩȳέò"],
  25364. encodeOffsets: [
  25365. [43368, 12844]
  25366. ]
  25367. }
  25368. }, {
  25369. type: "Feature",
  25370. id: "ESP",
  25371. properties: {
  25372. name: "Spain"
  25373. },
  25374. geometry: {
  25375. type: "Polygon",
  25376. coordinates: ["@@¦״΃θஒ؆ਊƱ૾NࣂƝۦªമƒͰ͛໺ϡ̨ǺीϝআŊ®ӥߓ֓ઁǯõ˱ԩү͕ہ͞ӑӟϑǹճىǗש٥੧_ߟhՃ͍̓ͅЩê̵˴ʃӚ޷žé˦̶̀Śɬ̃ʢɶրͳԌδè’ЈƎŬZپϲɪɻфөˆƝŁӹCɁЬ΃ū̥ɇ"],
  25377. encodeOffsets: [
  25378. [-9251, 42886]
  25379. ]
  25380. }
  25381. }, {
  25382. type: "Feature",
  25383. id: "EST",
  25384. properties: {
  25385. name: "Estonia"
  25386. },
  25387. geometry: {
  25388. type: "Polygon",
  25389. coordinates: ["@@ĮӸ̱ŁՓ̘ñӘਫ਼ɼ੔Ũ࣮Ƒࢂ|Ŵƣׯӝʞ޵ΫˉۙDܡ̸ρļ܏Ʃ"],
  25390. encodeOffsets: [
  25391. [24897, 59181]
  25392. ]
  25393. }
  25394. }, {
  25395. type: "Feature",
  25396. id: "ETH",
  25397. properties: {
  25398. name: "Ethiopia"
  25399. },
  25400. geometry: {
  25401. type: "Polygon",
  25402. coordinates: ["@@ԜϡӰȢȮǫּWܸ͵ɐ̃όˑΊӯ˼˕̏ω˳Ͽàɵ`ʭҸaȮÐȆƫǽ̴̕ҧ̴Й̛͎ᩨঽۺNᛛᡃફ™ݟףաeɯ˅ַB͹˴ލΙʝΓ֕àȃĬȟwˇT੟܌ב@˹ˢ@ҾѧƘӻࣴϥȚƧʹэЦԧÒ˸ӐҀrŲʰ[ݲʞࢠЊɾĎ΄ήٜԔи΀ࠠƆܠ঒ǫʾظ"],
  25403. encodeOffsets: [
  25404. [38816, 15319]
  25405. ]
  25406. }
  25407. }, {
  25408. type: "Feature",
  25409. id: "FIN",
  25410. properties: {
  25411. name: "Finland"
  25412. },
  25413. geometry: {
  25414. type: "Polygon",
  25415. coordinates: ["@@ūיಀ֓ޡى঎ख़֡ܛݴس΅յఘֻ́ѓޭӟᅡੵໃá๑̯ൃǯӡҞ߿ˠȈࠢСݶАӪނՆ኎࣮֖Ǭē΢ୟЈ˳͜uಒ಻ֲ૩ЪԊɞतѻલ¦ࣘȭߠϊЬ؞ಬ˶઄ͯΡכ"],
  25416. encodeOffsets: [
  25417. [29279, 70723]
  25418. ]
  25419. }
  25420. }, {
  25421. type: "Feature",
  25422. id: "FJI",
  25423. properties: {
  25424. name: "Fiji"
  25425. },
  25426. geometry: {
  25427. type: "MultiPolygon",
  25428. coordinates: [
  25429. ["@@̂ʍƓѭԳŗҩļąτ͖̀ϤĻȼƐ"],
  25430. ["@@՛ǯŅ̼оǤˊ°Ӱˀ@ЧՕȷ"],
  25431. ["@@é­@ШǨžĽЗ"]
  25432. ],
  25433. encodeOffsets: [
  25434. [
  25435. [182655, -17756]
  25436. ],
  25437. [
  25438. [183669, -17204]
  25439. ],
  25440. [
  25441. [-184235, -16897]
  25442. ]
  25443. ]
  25444. }
  25445. }, {
  25446. type: "Feature",
  25447. id: "FLK",
  25448. properties: {
  25449. name: "Falkland Islands"
  25450. },
  25451. geometry: {
  25452. type: "Polygon",
  25453. coordinates: ["@@৘Ԍ܎ȿԌʹڦϙʥ̋ଋʥϙ̌܋ϙпϚ"],
  25454. encodeOffsets: [
  25455. [-62668, -53094]
  25456. ]
  25457. }
  25458. }, {
  25459. type: "Feature",
  25460. id: "FRA",
  25461. properties: {
  25462. name: "France"
  25463. },
  25464. geometry: {
  25465. type: "MultiPolygon",
  25466. coordinates: [
  25467. ["@@ˣ٭ϡǠș֢ǜ̺ը͎Ɯܛ"],
  25468. ["@@הЅќà݀ϥȊñʎjЈɗெƷыֹŃ׳ɱƝϣü‚ɇؙҽ]ϟВƀ˾ρ“ʁʚ̿̅ʯɐٱҖŃĩηݿӅစɬ௧˗ĩԑঅʼnिϞ̧ǹ໹Ϣͯ͜ѢԎdžူࢁࢤإю౹͒čؖઠǾථɏˇॎߌέዠپʨێܾǞŪ̑ϸ_ϸ͵"]
  25469. ],
  25470. encodeOffsets: [
  25471. [
  25472. [9790, 43165]
  25473. ],
  25474. [
  25475. [3675, 51589]
  25476. ]
  25477. ]
  25478. }
  25479. }, {
  25480. type: "Feature",
  25481. id: "GAB",
  25482. properties: {
  25483. name: "Gabon"
  25484. },
  25485. geometry: {
  25486. type: "Polygon",
  25487. coordinates: ["@@ࡹࡔ։ۚԙࢄ‚˨ǾˎȲؔǜخ˴¶௢SOৠЌÆԞőӼňľ¯ÓνɼѡشèȾǗεঃЊӹĞٿŁ֑ʳЇݏ–҅Иãϋ֥Ĺ˽Ɂ̈́֋ٕҩ"],
  25488. encodeOffsets: [
  25489. [11361, -4074]
  25490. ]
  25491. }
  25492. }, {
  25493. type: "Feature",
  25494. id: "GBR",
  25495. properties: {
  25496. name: "United Kingdom"
  25497. },
  25498. geometry: {
  25499. type: "MultiPolygon",
  25500. coordinates: [
  25501. ["@@҉ֽًǦԱ[ǦҊǥ҈۴–ࣔԳ"],
  25502. ["@@࣋ࣧࡦŘऄIɕۅݯݩࢄÃäĕݠ঱ֺƇԬढ़ʈͧৰDžķ՝ѓʗͲѣݱѯ૳Rෝɱϻǒ։ϿޥĪם͍ҁǘ௼ࢨݪǺOBಽƔʃͰ࢜ʺҡҐdžռఢ÷D@ŮӤ֛Ԯ_\\৵ƨȧɬ̨ϒˡɴҍЇ·߶щє̨ࢆٶھڤá০ì"]
  25503. ],
  25504. encodeOffsets: [
  25505. [
  25506. [-5797, 55864]
  25507. ],
  25508. [
  25509. [-3077, 60043]
  25510. ]
  25511. ]
  25512. }
  25513. }, {
  25514. type: "Feature",
  25515. id: "GEO",
  25516. properties: {
  25517. name: "Georgia"
  25518. },
  25519. geometry: {
  25520. type: "Polygon",
  25521. coordinates: ["@@Ųάȿִӟ̲ҭĬ̯ʴĺIJ܄ƝఆƋଦЕƦƻԚƂ޶ǭʴ·Նșɓřвғŗıҏºصʎȵƍଢ଼ſ߳Юࣅ¡"],
  25522. encodeOffsets: [
  25523. [42552, 42533]
  25524. ]
  25525. }
  25526. }, {
  25527. type: "Feature",
  25528. id: "GHA",
  25529. properties: {
  25530. name: "Ghana"
  25531. },
  25532. geometry: {
  25533. type: "Polygon",
  25534. coordinates: ["@@೉ӯҳ˽ݳʑݡʆœͨηܤɖैΠ۸ɟ஢ŗنrӊฤ¢ϊÕ˔ƊϴáÕʿΖџC؍Ąڍɂ̫ȅݳäйɢՓȈ̍"],
  25535. encodeOffsets: [
  25536. [1086, 6072]
  25537. ]
  25538. }
  25539. }, {
  25540. type: "Feature",
  25541. id: "GIN",
  25542. properties: {
  25543. name: "Guinea"
  25544. },
  25545. geometry: {
  25546. type: "Polygon",
  25547. coordinates: ["@@ʃtǡͷʁJǏǴÈͶΗԨɕħǵmɳ³V̮Ƈɘ‚ʔǻΜɹ̜ڥDțǁɵoƝǷīɹ҅σρӼ͛͢ɋŊȿǖħϊūȂʓƐώЦʮeɖƘȄDƄŎï˨ĢĖd˶МU؀ȱȄlÚĤҜáŨ´¶̭ƆBɖŒƔƒɸɇάãɲǺ˖ŒȬŠǚuȈȁĴɳΆΙǣɏ˙ǴĊŀį«ʡʲʍǗÝå˷Ș΍Ⱥڧ̷ĵăśÞNj·νƃA"],
  25548. encodeOffsets: [
  25549. [-8641, 7871]
  25550. ]
  25551. }
  25552. }, {
  25553. type: "Feature",
  25554. id: "GMB",
  25555. properties: {
  25556. name: "Gambia"
  25557. },
  25558. geometry: {
  25559. type: "Polygon",
  25560. coordinates: ["@@ņόࣶzȎȦˊ`ͨȷʼIˢƚǞʏεȋιdέǰ̷ȗƭQȫŝއl"],
  25561. encodeOffsets: [
  25562. [-17245, 13468]
  25563. ]
  25564. }
  25565. }, {
  25566. type: "Feature",
  25567. id: "GNB",
  25568. properties: {
  25569. name: "Guinea Bissau"
  25570. },
  25571. geometry: {
  25572. type: "Polygon",
  25573. coordinates: ["@@҅ΘΝÈȕʀLŸʯǴÁǶѼƌ˦ɦĨ༈•c˵ġĕð˧ƃōȃCɕƗʭfύХ"],
  25574. encodeOffsets: [
  25575. [-15493, 11306]
  25576. ]
  25577. }
  25578. }, {
  25579. type: "Feature",
  25580. id: "GNQ",
  25581. properties: {
  25582. name: "Equatorial Guinea"
  25583. },
  25584. geometry: {
  25585. type: "Polygon",
  25586. coordinates: ["@@ƿŴ़̀െmPয়௡T˳µ"],
  25587. encodeOffsets: [
  25588. [9721, 1035]
  25589. ]
  25590. }
  25591. }, {
  25592. type: "Feature",
  25593. id: "GRC",
  25594. properties: {
  25595. name: "Greece"
  25596. },
  25597. geometry: {
  25598. type: "MultiPolygon",
  25599. coordinates: [
  25600. ["@@Ҡ˱ٺ¶شÑqƣҜĶĿʛ௃íTƒਁǎƺΦ"],
  25601. ["@@ʹՁȥĥԟ|ѫĀৱɓ׌ҿяƋҳAѻўƿȁȊԅрЁ̓ǿҴϯжʑ^ӅޥɠʜѕՓĕ͈ݏ֏Yۍμ̿ڦƧ֒͝ϮљӐÉʆϸТ¼˚˘Ũjɚռö͌ȀҖgƒƦdž„ت{ڨɲע̉ކĀVмЦɝ"]
  25602. ],
  25603. encodeOffsets: [
  25604. [
  25605. [24269, 36562]
  25606. ],
  25607. [
  25608. [27243, 42560]
  25609. ]
  25610. ]
  25611. }
  25612. }, {
  25613. type: "Feature",
  25614. id: "GRL",
  25615. properties: {
  25616. name: "Greenland"
  25617. },
  25618. geometry: {
  25619. type: "Polygon",
  25620. coordinates: ["@@ᬜԆ᱒›ੴ̴ᲈĄ䀦Ŀ㉊ڗ༅͕ộ™⭏ćшƫᲐĠᡚ́࿈ʴۦ̝इӧᒞ̺✘͚ᠼNjҾΫ⃝ױӃȕ᧑ơወ¡ছؕگկ€ध৚շಽ“൧ˇ༂ѽȢ܋࣍ýઞܡህÑঈ΁˟̑இŽ୥E੆֩\\Ϗပΐћɣଌȿ઼ԣ͈ڱກlj٫͖ਣӘ˼֭উѵᕖ•୆¯ᖯܵᗿڏឧ́ओIࢅ͓ୟࢱᅵכׅ“૧ȷ஽ȝܛԱ[כыտോڧͺٿϗ۝љࠍஅ½఍ۈဿLࠁҢ֕ࠐฝਲэոŗݮ୓ޢ̢ئ֗̒ࠪচొ̺ͨΘǬڀॡ̕қůݯţਏ˜Éְ͢҂ެ\\႔ɟ෿Քݩ˾࠷ş۫ȼम޴ԝ̺ڗ׈ৡࢼ੯͚XΚᖷӮᄻÖᖟ‘Ꮕ×ইˌวՈᕂ˄ၚ¬≹ɖ቉΄Ś͜ẊИᶎИ̪͘ᗗ̠ܺͰ᯲ז௢ĚΓϘጲɜᣚƂᣖRࣺʽᕺҨፘ̽୺áპ˙ፅҐŘή"],
  25621. encodeOffsets: [
  25622. [-47886, 84612]
  25623. ]
  25624. }
  25625. }, {
  25626. type: "Feature",
  25627. id: "GTM",
  25628. properties: {
  25629. name: "Guatemala"
  25630. },
  25631. geometry: {
  25632. type: "Polygon",
  25633. coordinates: ["@@ћƦԻfϩǖҍΌrʖĮȠšƾКۆ઄Ft˸Ƌ¾ġǺ̵Ț̹ˬϜDBӂ޸BަUOڗßॅʤ@˚ƱòŰʘŃϥ͍ЉɻÏljâǑǧɇȟ½¬ıƿġ˽Ƀ}ŭ"],
  25634. encodeOffsets: [
  25635. [-92257, 14065]
  25636. ]
  25637. }
  25638. }, {
  25639. type: "Feature",
  25640. id: "GUF",
  25641. properties: {
  25642. name: "French Guiana"
  25643. },
  25644. geometry: {
  25645. type: "Polygon",
  25646. coordinates: ["@@͉͑ГÑŗʀȉ–ʹɩνǦɈΪòϤƢή͛ӸáֺѪܠ˸ğؤȥࢸۿƔ·ӻޑʳأ"],
  25647. encodeOffsets: [
  25648. [-53817, 2565]
  25649. ]
  25650. }
  25651. }, {
  25652. type: "Feature",
  25653. id: "GUY",
  25654. properties: {
  25655. name: "Guyana"
  25656. },
  25657. geometry: {
  25658. type: "Polygon",
  25659. coordinates: ["@@ր̯Դյzџ̈́o҈Чͪ̇Ƈݱԛɕ°ȣƹџϊ؏ːAŎӃԢܳȱ‰ҫî˙ɡϟƥ˅—ġǑЭ¦ԫЀÓϴɋьƆܐɸ̐ȕϸ˿ŶŊτțȘѩ™ْ֩ɬɲiϲԬƊȾƾ˽̸ô̬ږӲ"],
  25660. encodeOffsets: [
  25661. [-61192, 8568]
  25662. ]
  25663. }
  25664. }, {
  25665. type: "Feature",
  25666. id: "HND",
  25667. properties: {
  25668. name: "Honduras"
  25669. },
  25670. geometry: {
  25671. type: "Polygon",
  25672. coordinates: ["@@ơˀʭòÐʹŗĞǣÒσij‹ŔʩƈǷǚʛìǨɈáǒÐNJЊɼϦ͎ĔȂƨʊ\\þ垦ϸùϲv˒ĢİĦˎ©ȪÉɘnǖòϨśƄkʲƿʐį̏Źɜɳ˽jśŕ̇ŋɃAȅŃǙœƛźĕ{ŇȩăRaǥ̉ɳƹıđĽʛǞǹɣǫPȟqlЭūQĿȓʽ“"],
  25673. encodeOffsets: [
  25674. [-89412, 13297]
  25675. ]
  25676. }
  25677. }, {
  25678. type: "Feature",
  25679. id: "HRV",
  25680. properties: {
  25681. name: "Croatia"
  25682. },
  25683. geometry: {
  25684. type: "Polygon",
  25685. coordinates: ["@@Ȳ͗ˊʇ͓̓ϝȆׇ[ܟƔϽmǻǧ̝ȖǫΑЪϽǼʹϮ̽͌ȃ͆Ηݔ͇ġƛ߃̶ӣ̢ޑʠ۹ؤǞØϥΞe˲եƄʱγʝˮn̆Šbג…Ƹƚ˸ƍͤgGɼ̈ĒĈͺڞɠˊĻؼέۜlj̼Ų"],
  25686. encodeOffsets: [
  25687. [19282, 47011]
  25688. ]
  25689. }
  25690. }, {
  25691. type: "Feature",
  25692. id: "HTI",
  25693. properties: {
  25694. name: "Haiti"
  25695. },
  25696. geometry: {
  25697. type: "Polygon",
  25698. coordinates: ["@@Ԣ™ܰƁôқÝ͑ȱƙɎʥiɫ֏ƜЅÍԡÔϽƿ҉ʾö˔ޜśيã̢ȈϧθP͎ՋžȌɶ"],
  25699. encodeOffsets: [
  25700. [-74946, 20394]
  25701. ]
  25702. }
  25703. }, {
  25704. type: "Feature",
  25705. id: "HUN",
  25706. properties: {
  25707. name: "Hungary"
  25708. },
  25709. geometry: {
  25710. type: "Polygon",
  25711. coordinates: ["@@˨ըǍǼӂDÜ΄ђɋ̲ğ۸ļäǚͮ~ЦžĜÃЂŀȠȢˠ¼࣒ʭǴĒҲɭÎɣԡǭЉ֫ԕ֭کǁԽš١ə̻űۛNJػήˉļǍ˴ƗV"],
  25712. encodeOffsets: [
  25713. [16592, 47977]
  25714. ]
  25715. }
  25716. }, {
  25717. type: "Feature",
  25718. id: "IDN",
  25719. properties: {
  25720. name: "Indonesia"
  25721. },
  25722. geometry: {
  25723. type: "MultiPolygon",
  25724. coordinates: [
  25725. ["@@Λe૝ך޴ǒѴʭ̎ʭ»ɩ"],
  25726. ["@@ܙȁijĶø˸ΰԢࠨͬĐǓfʫշع"],
  25727. ["@@̢ɣԲèȼΥॿǛ׉őҍP̀ӚҤPɤ̖"],
  25728. ["@@ūұ౅ʅૣľE̬ښǪՂʥ֔Üݬ̮"],
  25729. ["@@ྔċȂΌ༘З̪կీƵਐӿय़͋ऍ͸ݻwࢍØ޻ưঅ͎؝ČΓŁ໕ΌƣΰޑØּߤ৶·ڴ͡ΒÛŘ̗"],
  25730. ["@@ѝֱćنƬ̠Ǭ˴ȒʗCЏ"],
  25731. ["@@̿˥ׅƸǏΰࡘ¢Ⱦˣ"],
  25732. ["@@̨ٝۿΌۯìӃÅׇˆȦҦਠ”ऎʕ"],
  25733. ["@@ɼയ࢈ԉ۰ࢼ८ԔݜBܘ̉خ̛ࣘLJbᩑbᩑݟې࡟ǜȷʇ੡}ΦۂՈɺɕࣲЕ۸࿃܆ۗêృަʛУ͑óȏ̮GκٛЮ̢ࣞ״gëɠ௵DͩԄݥƺΡдଈȰњ˜ഘ·Ƃ̹"],
  25734. ["@@ڭ࠭كlj߱ǐඓ¥ܽŧţٍݪݛҒϠ༪˸çϯλŪιӯ͙݉ߒ੿Ƶ˿ݲॻQտ҅ʙ̐͡Мی࠙͗ȻɶŊ͖؅ӲØࠌ֕ʭîও”றՓũίʚʌޜŽ߸ΛPʻֺΎվŤښф౎ǮΎ܎ذپʛ੖śॴ–ࠨ؎Ʀȉ"],
  25735. ["@@©ܽџĈŷԝΌѷɽĵ͹Ւʟ੺ǚڤ˨̨ÔҝӸóĀ΃"],
  25736. ["@@सާহį˫ֵšݿַ߱u࠷͕౻ŭ̚ॕϙͫԤ׳´лːৃ̟̩Оս¯ۗĬŹૺнɺЕܘŝ݀ĮުԂ֐Ɩָ֗ӅըǠ՜ÑӪъЖôߒɽۆǶњୠ͔̈̆क़ॲ@ܰƙӍݷآߓơϭ"],
  25737. ["@@छkۻ۰અۊέԚٍۄзؾٕ୴۪݅ʙܠ̳ڀݵՊѭܘمҺࢗऒóђզ‘ಢNjݔࠓٮ֫ҪΓߔࣙࡢ_ۺֹӠ۳٘ϥͳۉӖ̞̅sƜו̊ҵؠõФՏɁ਱‘ಟ"]
  25738. ],
  25739. encodeOffsets: [
  25740. [
  25741. [123613, -10485]
  25742. ],
  25743. [
  25744. [127423, -10383]
  25745. ],
  25746. [
  25747. [120730, -8289]
  25748. ],
  25749. [
  25750. [125854, -8288]
  25751. ],
  25752. [
  25753. [111231, -6940]
  25754. ],
  25755. [
  25756. [137959, -6363]
  25757. ],
  25758. [
  25759. [130304, -3542]
  25760. ],
  25761. [
  25762. [133603, -3168]
  25763. ],
  25764. [
  25765. [137363, -1179]
  25766. ],
  25767. [
  25768. [128247, 1454]
  25769. ],
  25770. [
  25771. [131777, 1160]
  25772. ],
  25773. [
  25774. [120705, 1872]
  25775. ],
  25776. [
  25777. [108358, -5992]
  25778. ]
  25779. ]
  25780. }
  25781. }, {
  25782. type: "Feature",
  25783. id: "IND",
  25784. properties: {
  25785. name: "India"
  25786. },
  25787. geometry: {
  25788. type: "Polygon",
  25789. coordinates: ["@@ࣚটďۅͮїѕ׽ŒɾएࠜՑ୞חՑϟ͛޻ࠀͅߊЭરһସʼnӜёٮāৠȝ۪bĪͪŋՖÞβԠǮìڋlǙކ͉Ոƀ܀Çۈ|ÐԪ΁ˎڴŀވشॸ՘۶ȷ״ΞЀԹ˳Λ࣠űÜ͇̍Ʒèԫ׷Ʋછׅ~ӓҩ۵§ХϏۗځȒࢇȏ˹ĚΣгȥѵ೰ɵEƍ՝ҡѦʸӎϖ¶ϰ܆ӝƜީ]ߝŚóאБ¤ڕζ֭̓؆ѻԿ̻ȅ̩Ԭɣƛԑ̆كžەţֱ̫Zਛǩ´ك҃ӻ௃֡ळ঩كՋ࠷ջCϭлȹݳ̝Ͻ«ʥٙǪધ®ۡΣߙI෗ѣ¡ϣٙʰˣދʃ˱֯͵ʍߑ޸ϳ୴͑ࡒ̍Јѿ߰ȻੂơՀޅ଼Α࿀ʣ੾HৰǍ޾௣ԉףĶ઱৲И̤ʝͤড܊֖֔ᇜCǗܞҽюĩ٨ջϘऒࢢঊÙ࢞ࢢՄ࡞ࠄࡈ_״ܒӠڳд֪݂̇̕Ьβ౤ȱपŰߺ۸"],
  25790. encodeOffsets: [
  25791. [79706, 36346]
  25792. ]
  25793. }
  25794. }, {
  25795. type: "Feature",
  25796. id: "IRL",
  25797. properties: {
  25798. name: "Ireland"
  25799. },
  25800. geometry: {
  25801. type: "Polygon",
  25802. coordinates: ["@@ƒ׷ًݣ๯ӹ஑Ŷڼ࢚ѭࡢତڄٌϼǦ҇ǥ҉Բ\\ٌǥ"],
  25803. encodeOffsets: [
  25804. [-6346, 55161]
  25805. ]
  25806. }
  25807. }, {
  25808. type: "Feature",
  25809. id: "IRN",
  25810. properties: {
  25811. name: "Iran"
  25812. },
  25813. geometry: {
  25814. type: "Polygon",
  25815. coordinates: ["@@݈njװӔ֚{τƾװýघэڤğ।ݓظ‰òۻ΁਷ɱؑκŭΫҡˠڡàՓِƙæեݿݿжѵ͸ԓߦυx݉ДƋêϯ௉ѡ̓উཌྷʪࣷȖेŊΧਐЕƪ٣ƭࡑНਇ˦ࡑ٦߳ʈ֗ߘا૪ҍƋՕ˦̻͝ҭѴS҂ˍ@Ɛ،ѝٔ਍Ң׉ߜȜپц̂ÙӬտʨխ৊ҟڨǐʼʿ६ּʈƄͅъϯ־ő̤~রئ̀Øʞʙ́гԼѱȾ¦ˈإߖǩ׎у஠ƟಾɞĄȞ"],
  25816. encodeOffsets: [
  25817. [55216, 38092]
  25818. ]
  25819. }
  25820. }, {
  25821. type: "Feature",
  25822. id: "IRQ",
  25823. properties: {
  25824. name: "Iraq"
  25825. },
  25826. geometry: {
  25827. type: "Polygon",
  25828. coordinates: ["@@րʧÚӫх́țٽ׊ߛ਎ҡўٓƏ؋ˎ@TҁҮѳӿ¤֟ê؝߭༟äᛍၖఫךৡɪ͹৾ᇶ࢔͆৬āؘҢȺјԾΰž঎Ň̐ɉЖƚծ৉"],
  25829. encodeOffsets: [
  25830. [46511, 36842]
  25831. ]
  25832. }
  25833. }, {
  25834. type: "Feature",
  25835. id: "ISL",
  25836. properties: {
  25837. name: "Iceland"
  25838. },
  25839. geometry: {
  25840. type: "Polygon",
  25841. coordinates: ["@@șիॊֵથٙᝓֹܣƵૉŮᚑˈࠠψᆧЪ๪ǎ—ʘᄋȜ֨նౠŰಸ֭౨Ҝ੒ʃൌ҄ආÑ"],
  25842. encodeOffsets: [
  25843. [-14856, 68051]
  25844. ]
  25845. }
  25846. }, {
  25847. type: "Feature",
  25848. id: "ISR",
  25849. properties: {
  25850. name: "Israel"
  25851. },
  25852. geometry: {
  25853. type: "Polygon",
  25854. coordinates: ["@@ƥ˅̣Ŝǫ֓ɂĥɋř—ɛЄŖp͛нഉց෾ʔˢ˶ɞϼǠيŤɆzVˬCþƦɤ\\`·ŕŵhM"],
  25855. encodeOffsets: [
  25856. [36578, 33495]
  25857. ]
  25858. }
  25859. }, {
  25860. type: "Feature",
  25861. id: "ITA",
  25862. properties: {
  25863. name: "Italy"
  25864. },
  25865. geometry: {
  25866. type: "MultiPolygon",
  25867. coordinates: [
  25868. ["@@̟ڋŲʹǭѝٝ̈́ёĞ୩ѐŞќজûࡪĠْò"],
  25869. ["@@Ԍ׭ş૕ϣÂ΁˫͇ɞ‘২ȓӒҨ¥рʼ"],
  25870. ["@@ரɏĝЯȬΧڝŪہ̗²зĻʇˠё߀чцۛदڱچLȲȃɽǗݪ̥ؠʩܜѫĔƿƽ̛үϼܳƐΝի؈̷ıѫΗ¹҅ܛΕÝHʲǢҊǼǶ͝ӤʱшΑŀʛδգƴεͶثÆٿϜޑմ֯ӜʿࠪйĮہˤϯŕӝϵΓÕĪθҕńɏٲ̆ʰʙ̀”ʂβǵМ¢Ҽ˶ƢƃА€ǼͺتĿψƚâΆԘšĮdžࠨƤȊ̉"]
  25871. ],
  25872. encodeOffsets: [
  25873. [
  25874. [15893, 39149]
  25875. ],
  25876. [
  25877. [9432, 42200]
  25878. ],
  25879. [
  25880. [12674, 47890]
  25881. ]
  25882. ]
  25883. }
  25884. }, {
  25885. type: "Feature",
  25886. id: "JAM",
  25887. properties: {
  25888. name: "Jamaica"
  25889. },
  25890. geometry: {
  25891. type: "Polygon",
  25892. coordinates: ["@@֢÷ҀȫƔɯןeʭƗҹƊӑ̪ĶȔΜÎȒƒ"],
  25893. encodeOffsets: [
  25894. [-79431, 18935]
  25895. ]
  25896. }
  25897. }, {
  25898. type: "Feature",
  25899. id: "JOR",
  25900. properties: {
  25901. name: "Jordan"
  25902. },
  25903. geometry: {
  25904. type: "Polygon",
  25905. coordinates: ["@@Ʀˆपͫ࿪ࣆͺ৽Džų၅у࠸࠿ˣƛƑ˭ٙřȩ̡εʵधƆƒŨоഊo͜Ůʚ@Ԥ"],
  25906. encodeOffsets: [
  25907. [36399, 33172]
  25908. ]
  25909. }
  25910. }, {
  25911. type: "Feature",
  25912. id: "JPN",
  25913. properties: {
  25914. name: "Japan"
  25915. },
  25916. geometry: {
  25917. type: "MultiPolygon",
  25918. coordinates: [
  25919. ["@@ņ˽ҿԕΉːљțɝӭշʈRЊҬԆӌīΊΜؠǹ"],
  25920. ["@@́ڡƤсѩף੹Ѓ๏½ணॡ͔֡“غษȃষЃঝe࡞أ֗෗իΝН͜ȶݶՏʒͿ־ߐʶѲՈࡌѢ؞ָာʤ࣎ǣࢠ๺֔Б௾ࡀӌ͜ՈਈƟा΢ՎࣀƸҞୗ}ڻޥࡍbࢁ"],
  25921. ["@@נǵרΤȈहఝɯ݁࠱೓ָқँण]ř࠴д٨࣌²ʖ୐ʜټন࢓٤˯"]
  25922. ],
  25923. encodeOffsets: [
  25924. [
  25925. [137870, 34969]
  25926. ],
  25927. [
  25928. [144360, 38034]
  25929. ],
  25930. [
  25931. [147365, 45235]
  25932. ]
  25933. ]
  25934. }
  25935. }, {
  25936. type: "Feature",
  25937. id: "KAZ",
  25938. properties: {
  25939. name: "Kazakhstan"
  25940. },
  25941. geometry: {
  25942. type: "Polygon",
  25943. coordinates: ["@@ӕƹ્דο׹̹KɱЊ੫‚ǡێХNÚࡆ৓ؘ෷ßডũߣݶۋ͆ಥ׼ƽðᓗӹᶽљ£יچ֧ɼॕǩχ˧±ȲȶΖDž̊অ˺ϛݮҩɆ…˜ࠊāŽؘ܎ƎܼűƲࠎƭԲ࠿£܍ȴঃσ޵ǭяƌĐўՙ֘دw܉֬ӞِʕǢڢऊࡺӣŀؘჄࣴಾtᇢ׉঺ͻࢼΠ೰j੺ѥʔʠ୼—ɂЊഷ׀߮Цƿɮ߮ɔ؅ֺϬ˼Ḯ̈ШȺᑆ̴ݰΒຢǹ˄ࢉ࢚Ȳઆ˹éҝ߮´ᑌߎ̭ˁ੶٭ሠᒑ҄ѰୄӛீɎҪƯКӟטNjΨΥ઎ŒѾԣٕ֓ۥÿ¡ࡅұϝဟˢ؅ຑїȇဗͱݲลֻɓäӏԭŬу̠ఝĖඃx̧ġ஥ΞӉǧŽӹ൩̂փşȉρ"],
  25944. encodeOffsets: [
  25945. [72666, 43281]
  25946. ]
  25947. }
  25948. }, {
  25949. type: "Feature",
  25950. id: "KEN",
  25951. properties: {
  25952. name: "Kenya"
  25953. },
  25954. geometry: {
  25955. type: "Polygon",
  25956. coordinates: ["@@ӾۙיͱȹΕ̿Õšףˑ͹Ǐ֑ͷ˥஻ࡀËӤᵁႌƙĢSࢺʊ;а֌̨ؔσ॰įтЉ׎ԬԈ֬ֆѨƗ@ҽ˺ˡג@੠܋ˈSȠxȄī֖ßʞΔގΚͺ˳ָAܽ॑Xᵣ"],
  25957. encodeOffsets: [
  25958. [41977, -878]
  25959. ]
  25960. }
  25961. }, {
  25962. type: "Feature",
  25963. id: "KGZ",
  25964. properties: {
  25965. name: "Kyrgyzstan"
  25966. },
  25967. geometry: {
  25968. type: "Polygon",
  25969. coordinates: ["@@ȊςքŠ൪́žӺӊǨ஦Ν̨Ģ඄wఞĕф̟Ԯūşȏ೛ғ̙ͭઁıͅ՛ࢷŒׇǏߣЇŜȟʇȓཟŵਡ˘࣫ÝĂӜࣴƕ̮ʸٖĉ੾؂঻ѸױȽإ͂۶ծʟĊ"],
  25970. encodeOffsets: [
  25971. [72666, 43281]
  25972. ]
  25973. }
  25974. }, {
  25975. type: "Feature",
  25976. id: "KHM",
  25977. properties: {
  25978. name: "Cambodia"
  25979. },
  25980. geometry: {
  25981. type: "Polygon",
  25982. coordinates: ["@@΁Ѭыࢄȣ২ՠۨઘdž߀ťۚ͡Ϟׄݖ̱Ȝ֕Ļ৕ඳ٧τԙࢥÓܫͷ۱Ū"],
  25983. encodeOffsets: [
  25984. [105982, 10888]
  25985. ]
  25986. }
  25987. }, {
  25988. type: "Feature",
  25989. id: "KOR",
  25990. properties: {
  25991. name: "South Korea"
  25992. },
  25993. geometry: {
  25994. type: "Polygon",
  25995. coordinates: ["@@ܨযȺխPॷ̓ҥݽljڥΏݳïĥҚƼـχ࢔ذƚֻܘÂúϒ‡͞Ϝצ¢ΨÈŨȮ"],
  25996. encodeOffsets: [
  25997. [131431, 39539]
  25998. ]
  25999. }
  26000. }, {
  26001. type: "Feature",
  26002. id: "CS-KM",
  26003. properties: {
  26004. name: "Kosovo"
  26005. },
  26006. geometry: {
  26007. type: "Polygon",
  26008. coordinates: ["@@›ǣŃPĘ́ȩĐdzɦƾȌȪÒŜ˨ư²Ţşƾ¿ŌƅƒŸǎƻŢLĥȳijij„×ȉӹŻ"],
  26009. encodeOffsets: [
  26010. [21261, 43062]
  26011. ]
  26012. }
  26013. }, {
  26014. type: "Feature",
  26015. id: "KWT",
  26016. properties: {
  26017. name: "Kuwait"
  26018. },
  26019. geometry: {
  26020. type: "Polygon",
  26021. coordinates: ["@@Ǭχõȓ˔هשuȽАݟĆ؞߮֠é"],
  26022. encodeOffsets: [
  26023. [49126, 30696]
  26024. ]
  26025. }
  26026. }, {
  26027. type: "Feature",
  26028. id: "LAO",
  26029. properties: {
  26030. name: "Laos"
  26031. },
  26032. geometry: {
  26033. type: "Polygon",
  26034. coordinates: ["@@˚Ϝœ܆ڹܸ¿ٕࠦھٍÎǛ̉ӯyʣƨࢯԅoݬȸࢮ֧ž³ԎηʸǴ̲ܐնøȡ҄wŵ०ѦŬӮڏϖޅਚO͚ܹ՝ɗʉ̟৔ԉۦ঳Ռ݋َ׏ɄץƵ࠿ݕ̲ϝ׃ۙ͢"],
  26035. encodeOffsets: [
  26036. [107745, 14616]
  26037. ]
  26038. }
  26039. }, {
  26040. type: "Feature",
  26041. id: "LBN",
  26042. properties: {
  26043. name: "Lebanon"
  26044. },
  26045. geometry: {
  26046. type: "Polygon",
  26047. coordinates: ["@@ɣ[ýƥ˫D̘ۄмעfˆϘ§Ɛͣқ̓ȷҟ"],
  26048. encodeOffsets: [
  26049. [36681, 34077]
  26050. ]
  26051. }
  26052. }, {
  26053. type: "Feature",
  26054. id: "LBR",
  26055. properties: {
  26056. name: "Liberia"
  26057. },
  26058. geometry: {
  26059. type: "Polygon",
  26060. coordinates: ["@@ɗQࡽАޅٖ܏Ң֣ըȪː¬ʔϜҘϺϺǶnɖĨΘԧÇ͵ǐdzʂIǢ͸ʄsŸʓĎНǽύʖɱˊÇΤΙ~ͧăĿÝە"],
  26061. encodeOffsets: [
  26062. [-7897, 4470]
  26063. ]
  26064. }
  26065. }, {
  26066. type: "Feature",
  26067. id: "LBY",
  26068. properties: {
  26069. name: "Libya"
  26070. },
  26071. geometry: {
  26072. type: "Polygon",
  26073. coordinates: ["@@ק̷ҿҤ೧βρՄڑϸϻƷ̗ҶήӹؔͬΘñՈńҠÓϦƨۈ¯϶˕ݐШȜðΠėΒ־͔ʶːЦʌ´٦দ́ΜðۮƓ૞ϓЀݛݮǍஆΙࣆйЦɔЖϮț٠˂Ф؄ЀׂŘ଒ǣ˺ϑ̺Iˌƛ࠴ıȲˣ̣ЕżΫɏԯʦڱ@Ჳ@ᶵ@့ॱGYΙ‧ྐ‧ྒࡓҟ"],
  26074. encodeOffsets: [
  26075. [15208, 23412]
  26076. ]
  26077. }
  26078. }, {
  26079. type: "Feature",
  26080. id: "LKA",
  26081. properties: {
  26082. name: "Sri Lanka"
  26083. },
  26084. geometry: {
  26085. type: "Polygon",
  26086. coordinates: ["@@ų࢓ΙʇܵȓЍڜƫீϠ഼׆ұϺסО࢓"],
  26087. encodeOffsets: [
  26088. [83751, 7704]
  26089. ]
  26090. }
  26091. }, {
  26092. type: "Feature",
  26093. id: "LSO",
  26094. properties: {
  26095. name: "Lesotho"
  26096. },
  26097. geometry: {
  26098. type: "Polygon",
  26099. coordinates: ["@@̆ʩʳУƛ˛ҳſƹˍ̛ċؿ٨҄ՐҖ͢ϼǠξʵ"],
  26100. encodeOffsets: [
  26101. [29674, -29650]
  26102. ]
  26103. }
  26104. }, {
  26105. type: "Feature",
  26106. id: "LTU",
  26107. properties: {
  26108. name: "Lithuania"
  26109. },
  26110. geometry: {
  26111. type: "Polygon",
  26112. coordinates: ["@@ãɊĚɲχƄࢡƨDZ۸२ʴඬÁࠜĊŞǩ҂Ã߲СĀϓۏˏșӃ࣯̓߻NȫʶљĜ"],
  26113. encodeOffsets: [
  26114. [23277, 55632]
  26115. ]
  26116. }
  26117. }, {
  26118. type: "Feature",
  26119. id: "LUX",
  26120. properties: {
  26121. name: "Luxembourg"
  26122. },
  26123. geometry: {
  26124. type: "Polygon",
  26125. coordinates: ["@@ǘȏ³ρʍiȉòĞҼɖŽ"],
  26126. encodeOffsets: [
  26127. [6189, 51332]
  26128. ]
  26129. }
  26130. }, {
  26131. type: "Feature",
  26132. id: "LVA",
  26133. properties: {
  26134. name: "Latvia"
  26135. },
  26136. geometry: {
  26137. type: "Polygon",
  26138. coordinates: ["@@†نЮՆߊ˼ڜعڪhNJ٤ܐƪςĻܢ̷ۚCКȕîС˒ӷ͕ࣗԛƙ߱ТҁÄŝǪࠛĉණÂ१ʳ"],
  26139. encodeOffsets: [
  26140. [21562, 57376]
  26141. ]
  26142. }
  26143. }, {
  26144. type: "Feature",
  26145. id: "MAR",
  26146. properties: {
  26147. name: "Morocco"
  26148. },
  26149. geometry: {
  26150. type: "Polygon",
  26151. coordinates: ["@@ԒΥߜÎࢊȃκU͂՟ºԝ̄ࢱɜDZƷ͛ષƙϝ̵ӡñ—ثঙ͍ͩсۍɥ࠻ŷഫاRহŷ@@@p҉Ա˓ȑϡ@̥Ŋ۹ě˛ٻʿÕЁ੕ୟ࣡ˣୋ΅ϗĵ̡ቅãaD ϶͒ɮ˞ѪÃ˶̀פҴՖ˲ƊɞӬp҂̤Բ̪֔Ւ࡬f\\ц͔ްĢڎָтɠۮۮȿਸ਼͊ܢŔѶդ֨ࡈϦخΐ֘࢈˄ԪؤI"],
  26152. encodeOffsets: [
  26153. [-5318, 36614]
  26154. ]
  26155. }
  26156. }, {
  26157. type: "Feature",
  26158. id: "MDA",
  26159. properties: {
  26160. name: "Moldova"
  26161. },
  26162. geometry: {
  26163. type: "Polygon",
  26164. coordinates: ["@@ȨŮ֒ĊؤʽΊϞɥÑ˵̪ƏŨΗ̊ɇÏűƾčɝ×ӷ|ĉŜǫãÒƭɱˍƥ˽ɁĝƯϦĘΪςӝԂˉΠʹʠʯĈ"],
  26165. encodeOffsets: [
  26166. [27259, 49379]
  26167. ]
  26168. }
  26169. }, {
  26170. type: "Feature",
  26171. id: "MDG",
  26172. properties: {
  26173. name: "Madagascar"
  26174. },
  26175. geometry: {
  26176. type: "Polygon",
  26177. coordinates: ["@@ɠΥȺ։Ɗঢ়ɒϽĉЗƩʙ˷ӰǁʝLjثõΥɵȗ¿܅ͧওб୅ԯཧ͑ୟϛইہȣܻΡӛɊڙ̜ɳѺÇݘ̑ڠù؂Ʈ؄ϰƢD˪Дِø՚șЈǃՌãޠ̊ҺŔՒмŒҶǤ̶Ʋτ\\ӐӎۖԮʦцŗάΦĵҪ׎fԐ˦ϔ̊ί"],
  26178. encodeOffsets: [
  26179. [50733, -12769]
  26180. ]
  26181. }
  26182. }, {
  26183. type: "Feature",
  26184. id: "MEX",
  26185. properties: {
  26186. name: "Mexico"
  26187. },
  26188. geometry: {
  26189. type: "Polygon",
  26190. coordinates: ["@@͙݅ƥ؁Õ૷ąЧƤқʺЧǚٳ֎سȞӏ͢бࢾɝΐΙ݄ɾٚĎؼưՊƠՖ΂ȨӬè۸Ƣʖ֬ɚࢶȚݔ‡ԚîȬDZ…ЙҋԁȥԝƸƥűγɁٽɅɎǭcǃY̝ԓƳIJķPŭޥV޷AAӁϛC̺˫̶șĢǹƌ½s˷ઃEЙۅŢƽĭȟqʕ्ࣞџ˘ۇɖҷÓګ́чĉץɜؿDŽ޹ϬؿŠ्ϸ۱ВɃɤҹº࡯ˈΓϦࣗӊсՌȧЦ˪ĈđʈȖɔJ̄˱Ϙùͮ˭ъ݋࠴ࡋڀУԼܝ΄ƷȴŸԲѓȞӹФȽהҍæӣѸϿФ™ˀҍو̓٠^͔؇ͬ˫™ӑɴƇͿƔЕĆف̀΋خׁƒȡŸÓŎ˽Ƭ\\ǜթʮɇǴ̕Նё˨ޯʠρɸϿ²ѷКƒͶϡ̨ϑqƭΝ̱ƫJɛԞջӎ؃РїɈ„ؚŵҖЏʺֿϒŏŇɃɖԭȰӷӦÖÚΊ³̸̼ŽϜ٩׶ӱɶ̱Հ̷վϳڦͿݲॖÞ੪ĞÿǑ౔СኀףဪPژ@DΌผ@̪̕јˇԀσ˨ѭȾҥѢʩۤʥՊڒۊhפͱфֹ̄ӯӸӏȂחɾЃپʹ׮ȁ͞|"],
  26191. encodeOffsets: [
  26192. [-99471, 26491]
  26193. ]
  26194. }
  26195. }, {
  26196. type: "Feature",
  26197. id: "MKD",
  26198. properties: {
  26199. name: "Macedonia"
  26200. },
  26201. geometry: {
  26202. type: "Polygon",
  26203. coordinates: ["@@ńOœǤӺżȊ˺¶ϴbтˏÒ։DžƒƑƥҕh͋ǿջõΑȴšήń˸"],
  26204. encodeOffsets: [
  26205. [21085, 42860]
  26206. ]
  26207. }
  26208. }, {
  26209. type: "Feature",
  26210. id: "MLI",
  26211. properties: {
  26212. name: "Mali"
  26213. },
  26214. geometry: {
  26215. type: "Polygon",
  26216. coordinates: ["@@˰ƶƘӶˊpזɻӄǖ͖ÇŴȈ⁚^ȈךƣļЛ⋈Л⋆౾dᬼᆳᬼᆳȨϿԺʉ϶ƋV՗ठĈFካҟ֗íԭݛƃ଩ï̳̗ա՟IȿLjҥš޻ΑDžʿٳϕŗɍΙǡНŔɱȳūֻڙۡp˳ɭΣÆӥ΋ůȝŁŽάʍĥơhƷʕ٭PɷŴʼnùʱʎ¬ʢĿİdzĉ˚Ǥɐ΅ΚijɴȇȂǙvȫş˕őɱǹΫäɷɈƓ„ɕőƅAµ̮žʾí̽͘ʀǓӔԺ"],
  26217. encodeOffsets: [
  26218. [-12462, 14968]
  26219. ]
  26220. }
  26221. }, {
  26222. type: "Feature",
  26223. id: "MMR",
  26224. properties: {
  26225. name: "Myanmar"
  26226. },
  26227. geometry: {
  26228. type: "Polygon",
  26229. coordinates: ["@@ӫηץ›ϥࣥΟƳО݅ՔؗΈօ̭ܵ̃ƹȪу֖ڙĪҷ_ϵ͠ދң޵Сࡷăذʴ٠˯ӼæࣸͽѤ˛৔Ʊਗ਼εۢօуॕ׳ҽöԳȠ̂ਪǫ޾څॺļ̢ӭņ׭ۆÅڰ̊ŵj׾дȦęΤȐ˺Ž࢈ڂȑϐۘ¨ЦҪ۶}Ӕજ׆׸ƱçԬ̎ƸÛ͈ӮÚˮӵξȧ|ٟ“ۙߓۭijঽࢲƔȨޛՐǍʓۣز́ζƷ؞ʔ~΍܏յdẕӓȗ"],
  26230. encodeOffsets: [
  26231. [101933, 20672]
  26232. ]
  26233. }
  26234. }, {
  26235. type: "Feature",
  26236. id: "MNE",
  26237. properties: {
  26238. name: "Montenegro"
  26239. },
  26240. geometry: {
  26241. type: "Polygon",
  26242. coordinates: ["@@ÁǀηЯÊˋǫÞɽ˞εǖĢƜŬҦ˚ȜƾüɠƟŬśˠě͌ǧçïƽȋɧó"],
  26243. encodeOffsets: [
  26244. [20277, 43521]
  26245. ]
  26246. }
  26247. }, {
  26248. type: "Feature",
  26249. id: "MNG",
  26250. properties: {
  26251. name: "Mongolia"
  26252. },
  26253. geometry: {
  26254. type: "Polygon",
  26255. coordinates: ["@@ࢮƢ྄ܤ౬Єܴʳ࢚]֘Ͻ࠼‰ௐɁࠈגͿӶࢊࢊश΍ނįনɍLjؿஜΛߐƺਫ਼ŌࡆōࠖЗԚѕެT੒Ƌޜȼૈƒ௸פԌĝѰ˭ৌêХهק࠽ɐ΅ӈńࠤŽ٦̴ڬˏހוğ̗ڏĦ௟ŏןʅ؝։౱͙࠷ѽࡹǞҿúѳէˎ͓ƌˣי˯׽҇গ̑ఽ‹ഫ̇এҋϋʾ৭AఓԜࠥŰૣśჃȊऑmӱԀϣޠԱĢ৩ԼଅŞুƞ̡θ͖চׅڲன̀۷Ѿəז"],
  26256. encodeOffsets: [
  26257. [89858, 50481]
  26258. ]
  26259. }
  26260. }, {
  26261. type: "Feature",
  26262. id: "MOZ",
  26263. properties: {
  26264. name: "Mozambique"
  26265. },
  26266. geometry: {
  26267. type: "Polygon",
  26268. coordinates: ["@@لæ৞ʁɖńגt̚ʦԌaऀ͜ڞӤƊϕ“࠷ľ݅ಿƨЫʣ׷͙׍՗Եޏ͉ृСॉ͓ࣕƵוׯ΋ȗí׳ЌُǔӱZʣƪ¦{ࠗƋϷȤƝűΓΗ̗ۗ˳য়ҕρ̳ðΟɊÉíѵّRïϊůϖí̠ƬपɓװГஂࢬ॔ɜ؆ŶúĨӶƉʞ˜غǐ׌E੠ѥ˒ЏÔǹȼϳǰ۫gÅ̼āװᢈۘӚЕɴüͨɅ¸͵ǯϷØסոԱʲ׌ζǰíઊΙ؈̣˖̅]ɽદɾٔ"],
  26269. encodeOffsets: [
  26270. [35390, -11796]
  26271. ]
  26272. }
  26273. }, {
  26274. type: "Feature",
  26275. id: "MRT",
  26276. properties: {
  26277. name: "Mauritania"
  26278. },
  26279. geometry: {
  26280. type: "Polygon",
  26281. coordinates: ["@@և־ԗؤ֍ɞГʚҵUЧǽйð˽ˏïҐɺаŀߊģࠨĵкČмɑЎѵδǾˬᾔMǃ௎ȴќ߀øᒸ᪂©F౞Ṗ᎟౽cМ⋅М⋇ƤĻȇי⁙]ųȇ͕ÈӃǕוɼˉoƗӵ˯Ƶ"],
  26282. encodeOffsets: [
  26283. [-12462, 14968]
  26284. ]
  26285. }
  26286. }, {
  26287. type: "Feature",
  26288. id: "MWI",
  26289. properties: {
  26290. name: "Malawi"
  26291. },
  26292. geometry: {
  26293. type: "Polygon",
  26294. coordinates: ["@@ɽٓɾથ̆^̤˕Κ؇îઉεǯʱ׋շԲ×עǰϸ·ͶͧɆɳûәЖѵɔʮޮ˄̈LJۢǚڼƞɪɉ܌Ѕϐ࠘ƽǜɵ˶Ϲɾଡ"],
  26295. encodeOffsets: [
  26296. [35390, -11796]
  26297. ]
  26298. }
  26299. }, {
  26300. type: "Feature",
  26301. id: "MYS",
  26302. properties: {
  26303. name: "Malaysia"
  26304. },
  26305. geometry: {
  26306. type: "MultiPolygon",
  26307. coordinates: [
  26308. ["@@àћֈĶ˞ΈȘýӸԓΜ֛¶֣ęϡĆ˿Öӻ̒ɵͤݑe˳׫Éߑخ঵ښįђӟ֚ś̡۠ҜĠؔȃΤƤƮۈρ"],
  26309. ["@@أ˹ܯƚॱ@̅ॗ͓̇љୟۅǵߑɾЕóөщ՛Òէǟַӆƕ֘؜˽ٮǀǜ܆άǂ৖Ǻ׾ڔЬՐϦѥǮ˺В¸՜œа٪אшڀͼHќыžιֆɻ۬ʧÑ֝͡¥ƮЧ"]
  26310. ],
  26311. encodeOffsets: [
  26312. [
  26313. [103502, 6354]
  26314. ],
  26315. [
  26316. [121466, 4586]
  26317. ]
  26318. ]
  26319. }
  26320. }, {
  26321. type: "Feature",
  26322. id: "NAM",
  26323. properties: {
  26324. name: "Namibia"
  26325. },
  26326. geometry: {
  26327. type: "Polygon",
  26328. coordinates: ["@@رٌؖ͡ȃࠊȷ،˯ಒm৒ŅҞ͛Όѡۜѳ৘ǽՆۃࠐ»٢КdžԊƞհ}ԄϝŶÐ₮˜׌Е᎞ş໴΂یȒհµͨȍPéӁȍʭC՛͍ͣΎಕ̍سƒ{Ჽࠣ‡BយA᷋ݣѕҋÕՇDŽϗÔƗάͩɰГг"],
  26329. encodeOffsets: [
  26330. [16738, -29262]
  26331. ]
  26332. }
  26333. }, {
  26334. type: "Feature",
  26335. id: "NCL",
  26336. properties: {
  26337. name: "New Caledonia"
  26338. },
  26339. geometry: {
  26340. type: "Polygon",
  26341. coordinates: ["@@ېԵѨϭ͉ȫҥɪ׹ϚէѼ։פś˶β[Һ˹φ˷ˎɻ"],
  26342. encodeOffsets: [
  26343. [169759, -21585]
  26344. ]
  26345. }
  26346. }, {
  26347. type: "Feature",
  26348. id: "NER",
  26349. properties: {
  26350. name: "Niger"
  26351. },
  26352. geometry: {
  26353. type: "Polygon",
  26354. coordinates: ["@@nּॹȐОҿպœϤâТբ̴̘ପðݜƄîԮҠ֘Eኬஈϒᝪ࿸᮪ཾ೨αӀңר̸ȸಯ̾ɓ`ˋΔ˽ǻί͕ၻ«ધੳߋγૉΔ̵CեբmčЃʁµˋƻm֩ंȟ’ځҷٱʔҍ¸ʏşӯ~ӷΧѓq৯ѢЉȵѓb̿͆ࡅ̼ࣗıɕǻşӗʋ͹ÍݣٗӚ̟E˭ʗ"],
  26355. encodeOffsets: [
  26356. [2207, 12227]
  26357. ]
  26358. }
  26359. }, {
  26360. type: "Feature",
  26361. id: "NGA",
  26362. properties: {
  26363. name: "Nigeria"
  26364. },
  26365. geometry: {
  26366. type: "Polygon",
  26367. coordinates: ["@@ࢍ̡͉¬͓ȉڥl҇Ղˡ؊שֆكYݍB¶തs՘ǂՊʶʴТԴėɨǔ͸ȍӾ˪ÎݤʌͺŠӘɖǼࣘIJࡆ̻̀ͅєaЊȶৰѡєrӸΨӰ}ʐŠҎ·ٲʓڂҸȠ‘֪ँƼnͬͯğƱ«˧۽ٱɛՙšѧDZȉǝי҅ΉŽыȋ͹ÿΓֽ˱ҽΊ͇aԃӭʑQЍ߷ɍש"],
  26368. encodeOffsets: [
  26369. [8705, 4887]
  26370. ]
  26371. }
  26372. }, {
  26373. type: "Feature",
  26374. id: "NIC",
  26375. properties: {
  26376. name: "Nicaragua"
  26377. },
  26378. geometry: {
  26379. type: "Polygon",
  26380. coordinates: ["@@̃ˆϽͺȁ˲Ο˄сϜĤžƒŵÚÒʾ”ŀȔŬRkЮȠrǬOǺɤʜǝĒľƺIJ̊ɴbǦĄQňȪĖ|ƜŹǚ›ȆńɄB̈ŌŜŖ˾iïă§ȉĐ̫ȗ˹ěͷυ®ɏtϙŹĉýΫÌɛǣɋ ɩźƏȩDZʛÈƓǦˉêȕʼnօɞųŇ"],
  26381. encodeOffsets: [
  26382. [-87769, 11355]
  26383. ]
  26384. }
  26385. }, {
  26386. type: "Feature",
  26387. id: "NLD",
  26388. properties: {
  26389. name: "Netherlands"
  26390. },
  26391. geometry: {
  26392. type: "Polygon",
  26393. coordinates: ["@@ۦyǀ˳Ƚޓɇ́ԍ@ƘࢡҥȞՏπީǩ؛âѠɲ݀ఆଲΘ"],
  26394. encodeOffsets: [
  26395. [6220, 54795]
  26396. ]
  26397. }
  26398. }, {
  26399. type: "Feature",
  26400. id: "NOR",
  26401. properties: {
  26402. name: "Norway"
  26403. },
  26404. geometry: {
  26405. type: "MultiPolygon",
  26406. coordinates: [
  26407. ["@@᥆ؙઍɣऄՅෛ͵ڵû΢לઃͰಫ˵Ы؝ߟωࣗȮ઱¥णѼԉɝԷ“ūփནƊɝҵ߭Hևױ࠿झಫ஁̨˹̇ͫ࠯bձ޿¾૟՞э˥ধֻۧυӛ֝Ԫဋঁ૫ȟ୏є̛ࣚˇ኶ޞզᕠ۶ဌࢂ໤୦፺ྴඦلᘼ੊ᇎπ൪­౮ۢ໖›ພǘ"],
  26408. ["@@ም΅๝Ȝ׆ɐԕˎეǚͮ̿ொȍ"],
  26409. ["@@᪖صᑟͥұأ݅ǁЍۡৣᅵԢނ̘ఽʐ࿕܂ٷڄᘎ̜Ң̋஦\\͊˼௾ˆ੖̋"],
  26410. ["@@࿮̏ఝҍ᝱ı៙ƖƫɴஹdँϬᣴɼ௞ȫࡘʤᑺȽ"]
  26411. ],
  26412. encodeOffsets: [
  26413. [
  26414. [28842, 72894]
  26415. ],
  26416. [
  26417. [25318, 79723]
  26418. ],
  26419. [
  26420. [18690, 81615]
  26421. ],
  26422. [
  26423. [26059, 82338]
  26424. ]
  26425. ]
  26426. }
  26427. }, {
  26428. type: "Feature",
  26429. id: "NPL",
  26430. properties: {
  26431. name: "Nepal"
  26432. },
  26433. geometry: {
  26434. type: "Polygon",
  26435. coordinates: ["@@ÝαŌՕĩͩ۩aয়Ȟ٭ĂӛђଷŊયҼ߉Ю߿͆͜޼ՒϠΒȪڪʳࡔշҾť˰ЕٶǓۀσौȕঔć"],
  26436. encodeOffsets: [
  26437. [90236, 28546]
  26438. ]
  26439. }
  26440. }, {
  26441. type: "Feature",
  26442. id: "NZL",
  26443. properties: {
  26444. name: "New Zealand"
  26445. },
  26446. geometry: {
  26447. type: "MultiPolygon",
  26448. coordinates: [
  26449. ["@@Ȓ΋װ;ʐΡBΝ̹ϳչإїͷ̴З٭Yܗ̓ɣջӋࡗڇϓнʇޝlխˢࣱÐƗ̰Ҍذ੐ࠦժǀ׾͌ܜѰԎѦώظ͈ɆŰҶלϴȆΧ"],
  26450. ["@@،ࢫlָϜɯŲًڰ˛֨ãӒ͎юĭȯݗʯӫٛjɡʭþαūƻͅҏзֹ٭ͯƟɘΕŨӞ۔˟ҨࣛͲz̦؈̌ƚ٨Ÿլͻ֜vƪБΎڋݔΗת̸àҚұٺɑʂݡ"]
  26451. ],
  26452. encodeOffsets: [
  26453. [
  26454. [177173, -41901]
  26455. ],
  26456. [
  26457. [178803, -37024]
  26458. ]
  26459. ]
  26460. }
  26461. }, {
  26462. type: "Feature",
  26463. id: "OMN",
  26464. properties: {
  26465. name: "Oman"
  26466. },
  26467. geometry: {
  26468. type: "MultiPolygon",
  26469. coordinates: [
  26470. ["@@ֹ̻ϟªǩȧƉэļ֗ÿĻϯFԽ̻ćХȓǯԹP͡ɃJͻПɷҩĂ֗˳ϱ³˝טٿ൴ᠾ࠾֖၂ϩתv͸ʔΐFΆϞǒƩŞèմіHϖֵҸ̧؞ŋӼƳϜӕɨ˧̞ŃCȉ̩ԃƅɽΟˏ"],
  26471. ["@@ʼnƳDž˺ʔ˺ľñā΍"]
  26472. ],
  26473. encodeOffsets: [
  26474. [
  26475. [60274, 21621]
  26476. ],
  26477. [
  26478. [57745, 26518]
  26479. ]
  26480. ]
  26481. }
  26482. }, {
  26483. type: "Feature",
  26484. id: "PAK",
  26485. properties: {
  26486. name: "Pakistan"
  26487. },
  26488. geometry: {
  26489. type: "Polygon",
  26490. coordinates: ["@@تϻʞ٥൨ͻ߹۷ऩůౣȲЫα̖݁̈֩ڴгܑӟ`׳ࠃࡇՃ࡝࢝ࢡউÚऑࢡռϗĪ٧ҾэǘܝᇛD֓֕؛Ɇʣ؀٭٘໻ǁിeஃŝ̈́ঊொѢéϰГƌw݊ߥφͷԔеѶඨѕࡀŲԈŅǞȂגóદĈ܎ҶӈشCĠɼٞŌ̴ý͢ʀ±ԌΦԖ՘Ɇͥ֊ߜɴ̢•͒мΜĩмȣΤӬμࣘǮ८ĮѐƺӨĦ"],
  26491. encodeOffsets: [
  26492. [76962, 38025]
  26493. ]
  26494. }
  26495. }, {
  26496. type: "Feature",
  26497. id: "PAN",
  26498. properties: {
  26499. name: "Panama"
  26500. },
  26501. geometry: {
  26502. type: "Polygon",
  26503. coordinates: ["@@˫ʎǵҒȺɢɅÎƿˤлɸοÁǝ̇ͻɁǽ‡ĉǩВҗɯŅŧŭϷ©ơԈŋƛˡ¸ǝ͸·ÈɓİέCǻĩŶªǖìǠƲŲIJǩŲK͸͘ö̠̝iDZͲ›ĀæɴȵЮÔΨɄԜǞ˺ʤҬ·‹ĉҶ…ώơ˜ʧ̈́ɵĹūȜӵǁʟ˓ÒŅС"],
  26504. encodeOffsets: [
  26505. [-79750, 7398]
  26506. ]
  26507. }
  26508. }, {
  26509. type: "Feature",
  26510. id: "PER",
  26511. properties: {
  26512. name: "Peru"
  26513. },
  26514. geometry: {
  26515. type: "Polygon",
  26516. coordinates: ["@@ɥљћɋࡅӘñΈရࡊທࣾ٫԰ΏۜƐʎ܅ાࠣ༄ߍီ΅Ϥ˃ؤٷպױͼ˖ϒПߢʼךڢՎIJΓʇȧx̭ΎâͼĝΚщӆΌDŽ֤ԦܶৠͨࣸࢠʾմŝٔɢĂ֒ЉˎЅϴɏӶࢣضĿҨɞ̤ƣԎð٠Ͻթࡣʤoрҁݳ œųۍlj॥ֱÓϻɉ̇ČғԕʍBΡɛƵΔݳҲԝDZί֐µ͆҃ݐuېӸÇ౧ϢĩӄƠܪടǷ˵£ןg܍͟пƮ̵ȕ˯β۹Ջ࣡"],
  26517. encodeOffsets: [
  26518. [-71260, -18001]
  26519. ]
  26520. }
  26521. }, {
  26522. type: "Feature",
  26523. id: "PHL",
  26524. properties: {
  26525. name: "Philippines"
  26526. },
  26527. geometry: {
  26528. type: "MultiPolygon",
  26529. coordinates: [
  26530. ["@@Đ֏ºҽ˹ޑ̫ࡨϽэˎإʉϿ঩Ӧɿ؊ʰЎՑЈˁΑЃثҵƑʖ͢۾ՌʀҜ̈́̔ϝٔɰƎϒרv·ٰڼЋêхÐ̱"],
  26531. ["@@̟ˡˁՍ˃ʝԫ׈ǦɤɂɾĢԸҨ¸Ɖ֣جߺāߡ"],
  26532. ["@@ૣߕЬט؈԰Ԏ׊Ѱ࠲Ʈۅևҧѳֿ"],
  26533. ["@@Ԏʹ՘BgΗϳΣՕʧ‡ϸÒєŽА"],
  26534. ["@@ʀभ٫ɞj˭ȶԯЍȋ•עʧªƁԘӶãY͈ԣٜ߮mɴ̻"],
  26535. ["@@ɟܩέоѓ٘ܚ‰̡̈"],
  26536. ["@@ԮʉʶɖüɇƍΑ˼׻ɛۥӷ˥ƁڳȊڝѾġϊIJਾүăҙ˜ȫēϯٻЮ̵Ѵɍ̯՗ԊރůлȆ¨ΎˀɊʣȘŇ̡бӚűμߨͺˡĔೄ˜ހԘA"]
  26537. ],
  26538. encodeOffsets: [
  26539. [
  26540. [129410, 8617]
  26541. ],
  26542. [
  26543. [126959, 10526]
  26544. ],
  26545. [
  26546. [121349, 9540]
  26547. ],
  26548. [
  26549. [124809, 12178]
  26550. ],
  26551. [
  26552. [128515, 12455]
  26553. ],
  26554. [
  26555. [124445, 13384]
  26556. ],
  26557. [
  26558. [124234, 18949]
  26559. ]
  26560. ]
  26561. }
  26562. }, {
  26563. type: "Feature",
  26564. id: "PNG",
  26565. properties: {
  26566. name: "Papua New Guinea"
  26567. },
  26568. geometry: {
  26569. type: "MultiPolygon",
  26570. coordinates: [
  26571. ["@@ɽčε͔ρՔǷ٘ŜĆĜʡʬȏРՑЈ˵ŝɽ"],
  26572. ["@@ѯçƃɽҟȱћȟѽBۏʔӑɺêʺݬũҠàŶЖŦrĆѽӐÜʂ˼Ҹ̚ġӸԌfǜƏgү˯ԡ"],
  26573. ["@@ݤտղࢻӖ„‘ω٬ƛʥǁࣀΝġʏ֋ÏȷɔܟĦࡕŴٷ՚ӉҦѧ݀ભπ܇ʇԡˣńإڇ˿һƖࢅ–aᩒaᩒภ׃༊ӓׄїҴхŸӵඔԱȲѽޛěȄ֕"],
  26574. ["@@ʿɡǁӸȝ͘ϝ˞ӍΪ؇ʚɺȮҒɻ˸ȁΜȫʹΛ͊ˏĶѧ"]
  26575. ],
  26576. encodeOffsets: [
  26577. [
  26578. [159622, -6983]
  26579. ],
  26580. [
  26581. [155631, -5609]
  26582. ],
  26583. [
  26584. [150725, -7565]
  26585. ],
  26586. [
  26587. [156816, -4607]
  26588. ]
  26589. ]
  26590. }
  26591. }, {
  26592. type: "Feature",
  26593. id: "POL",
  26594. properties: {
  26595. name: "Poland"
  26596. },
  26597. geometry: {
  26598. type: "Polygon",
  26599. coordinates: ["@@·՜à̂ȹ̧҆̚ɺɤȝђָʘ಼ϴ੒˴࠼ƙÚȱ߸Yਚħ໶^њěȬʵšωɸ͋KͯԋǡʸϳfϏцܻěɽзįރۥɒϗǿ¶ߙ͔؁šЇĒӹǵч̖Ήŕ³¼ϭаر¼ăˀֻĦűɑҗǨÀɴػòЉ˔"],
  26600. encodeOffsets: [
  26601. [15378, 52334]
  26602. ]
  26603. }
  26604. }, {
  26605. type: "Feature",
  26606. id: "PRI",
  26607. properties: {
  26608. name: "Puerto Rico"
  26609. },
  26610. geometry: {
  26611. type: "Polygon",
  26612. coordinates: ["@@јõưǕɋɃمLӫ‡·άŢŬیK"],
  26613. encodeOffsets: [
  26614. [-67873, 18960]
  26615. ]
  26616. }
  26617. }, {
  26618. type: "Feature",
  26619. id: "PRK",
  26620. properties: {
  26621. name: "North Korea"
  26622. },
  26623. geometry: {
  26624. type: "Polygon",
  26625. coordinates: ["@@Şƥ͉ºη˵ʣ˷Ž׽ѣȅƫƧ̓ʝ֓ƏηɥηįġͰƋӈσŧȭΧÇץ¡͝ϛϑˆÁùСdžĵƿʙé‡ǀɑüɥƆɰφȤİõƶɆҒÅƎөĠЇɤۄբऒҌ־׮Ўˁܪ‹ſѺಚβͰҼժӹ"],
  26626. encodeOffsets: [
  26627. [133776, 43413]
  26628. ]
  26629. }
  26630. }, {
  26631. type: "Feature",
  26632. id: "PRT",
  26633. properties: {
  26634. name: "Portugal"
  26635. },
  26636. geometry: {
  26637. type: "Polygon",
  26638. coordinates: ["@@̦Ɉ΄ŬɂЫӺDƞłӪ‡ɼуϱɩYٽƍū‘Їγçʹԋɵտ̄ʡřɫ̵̿ê˥ͷɓѷŠџġŸڂÿԬϓþȩ͈äռͰ̨ÒͼǪԎkΤǙ̠™˲"],
  26639. encodeOffsets: [
  26640. [-9251, 42886]
  26641. ]
  26642. }
  26643. }, {
  26644. type: "Feature",
  26645. id: "PRY",
  26646. properties: {
  26647. name: "Paraguay"
  26648. },
  26649. geometry: {
  26650. type: "Polygon",
  26651. coordinates: ["@@ͦ৖tҌЖ݌าʔޮ]޴їbʵʞҳÇଛࢲLJ΄ǐ֦ɩǀʣþޓİ͓̼›̀ƌ̢ƳAҥŕӻǑӛƍݏށ١ړƇऻŸࡑɮࠢ౨ťψࡽ͢ਅبۉŸ໵ൌ"],
  26652. encodeOffsets: [
  26653. [-64189, -22783]
  26654. ]
  26655. }
  26656. }, {
  26657. type: "Feature",
  26658. id: "QAT",
  26659. properties: {
  26660. name: "Qatar"
  26661. },
  26662. geometry: {
  26663. type: "Polygon",
  26664. coordinates: ["@@ÇؔɨѲɰĜʬˁdӯǽӳɵÑʫǖ"],
  26665. encodeOffsets: [
  26666. [52030, 25349]
  26667. ]
  26668. }
  26669. }, {
  26670. type: "Feature",
  26671. id: "ROU",
  26672. properties: {
  26673. name: "Romania"
  26674. },
  26675. geometry: {
  26676. type: "Polygon",
  26677. coordinates: ["@@δǶԴġՠGϸȳ˺źبĄɄȠΠ@ʰćʺʟˊΟӞԁ€ρėΩưϥϒƹЂƊϠƟpɏПǹʯĀɻ৥ӳĖ̪ؑফțзɋ௽¬٥ƀ͙ÕʍΊƵƦȚƘȷŀ˃ȋөʔßΌԟȢĥˌҕͤڪǂԖ֮Њ֬ԢǮ"],
  26678. encodeOffsets: [
  26679. [23256, 49032]
  26680. ]
  26681. }
  26682. }, {
  26683. type: "Feature",
  26684. id: "RUS",
  26685. properties: {
  26686. name: "Russia"
  26687. },
  26688. geometry: {
  26689. type: "MultiPolygon",
  26690. coordinates: [
  26691. ["@@ࡌ๫కˤԫ்ࠌࡳyוُԒսٱƻ۸Ĥࠊħ࣢Țٌš૴ӯࠜôରަϮͭϴϐŠɔ։̆ߵuࠟΎࡑ"],
  26692. ["@@໵]ਙĨȒτ୊˚ࢢƧψƃęɱäɉ"],
  26693. ["@@֦Ƚțؐᗸű࿨޻࠭λ൛ēsࠑͳǩ޽~ٗ̊ૣʖȉθ࡟Ǝॗʼnҗ̎Ǽ̸৓ȥϚЃӉΣ@„Ꮪٛᔺ࠳ïԷ"],
  26694. ["@@ः©ƭˌੲΖ@ַ"],
  26695. ["@@ળ»@ָň–܈E௒ʉïŗࡽȩ"],
  26696. ["@@ౡMႣĤƧ¬ߘͪੀþஞ͏ĸə"],
  26697. ["@@ॿͩഉø༛ͨȪ˖༨ųᑔɗ"],
  26698. ["@@ډرᶽzඃȣမղҎ׀૎ǂᕞ™ᴬѽ"],
  26699. ["@@ӹóᩣŊɟώູɦūҒ࡮Ƕ…Ҟသܒޙĺ፨݆ɩϢሤѺ᪪բ᫠ǀ෴̸࿐Ŋאͩ֟ʻᲗз᢭Џᤙߝఫࠍ೉߱Ǡۥྎۏ"],
  26700. ["@@ɨгސȲឤYቈЧڬ̿ȽѧङʝᕅүفʟਬşఖɃݴDŽєաτɔഊƂ᧪ƑȴϽ↲ů´ٜᄼƥഄLബѷϮ՝ӹΙੌڋ೔Ϳ߸ࢦഖϙ෢ɦྼʵؤʀൖş؅ޮૐζ䢀ձܐӿᔲٛ₎DŽာƑ۪΍Ĺؙਜʇ૴Ǥ๰vཚǑཪĢะݛਪˎڷ՞ϐώᧆɻფºᝂБ୲ν@”MKઇσઝÖݶҁԄەϲɧĮΏɑɝ༧Ǿ᚝مݛĭ౽ן௛ԧ̱ϣய׊ᔗڇϣ̸ߵΫ૱Ř˓ց৙߽Šͻड़ȋő௣ޭ‹Ϋ۱Δα฽ѕ̅ॡభȳʥ࡟ே޳ׂ̳έ௬ҵለИ୘܀ԆªϾರȊຊ੒คࡺຢڢڮஆ৷ëԍۗᒉइۍਖᓧ˷ᑃටۚԧሙɕಝēÔ؊ಯŶ਩ЭᢵƠ᪏ʟᨩ࿛ủጝ೚ŁаՃࠄȅ՞оईÃௌऍ†܍ځ࠽ë্ϛഉ్௓˯ׇଙ঑ଇॻթӹ૩ӱՉYՇФૻؙſ˩ŝƦKѐіxŦ঴ɛܚܞ̒৶Ʃ֢ࠈ˾ऄ͚̮Ѵݲ൷ʛܯͧ౧Dͻ߄হװหˎ̵ࠖ̉Ԫ̿βԯࡐ̲݇షʢ૛uਯƱۛлҤȥXҩұˑݷࢻRσஅՍ৙̈́োéѯˮԋĞ௷ףેƑޛȻੑƌޫSԙіࠕИࡅŎ੝ŋߏƹ஛ΜLJـধɎށİवΎࢉࢉ΀ӵࠇב௏ɂ࠻Š֗Ͼ࢙^ܳʴ౫Ѓྃܣࢭơ͡çѽԤઍőΧΦחnjЙӠҩưிɍୃӜ҃ѯሟᒒੵٮ̮˂ᑋߍ߭³êҞઅ˺࢙ȱ˃ࢊມǺݯΑᑅ̳Чȹḭ̇ϫ˻؆ֹ߭ɓǀɭ߭ХസֿɁЉ୻˜ʓʟ੹Ѧ೯iࢻΟহͼᇡ׊ಽsჃࣳĿؗࡹӤڡउʖǡӝُ܊֫ذx՚֗ďѝѐƋϥӽ߿Ƒ࠳ࢁކߕĉ֣ࣼফԇ͹ƝɇωÌֿԚɿ†ՅȚʳΈ޵ǮԙƁƥƼଥЖఅƌ܃ƞĹıੱ܂य़̈́ܩӴؒƈۤ۰ҹͪఌ΄uȀݯƉ‚ώѠɼ߼ÖƄ˪ȅҪ΀ѰWʚఉ˚ӭUԯЀ١ƃ੩̐lǒ̗θڟ¤éʼɀǞ՝ӈࢋąʭ¦Ƀȑ̽”ȷ՞ȟ˨NJĀڴ‡͞Ȁʍɢ֥ƪ¼Ʋ΁ƴՃվǸɨĉЂࠑȨѱijšȼࢭɂˑӸíТЙȖάˊʝ޶װӞųƤक़ҬࢡЎᅢ੶ޮӠ͂єగּΆնݳش֢ܜ঍ग़ޢي౿֔ŬךڶüොͶࢀ̈൦ԕᘨȧṺो٤ЋÆ֓टѳ൏ɡ⏷ٔ؟Ńൌ؛ÂϵÆ࡫ઌʯڂɓňРԑΰ՘͈᎖Թ۾Ȳ֣؜ዦࠖޢµ޸̋Ӫ׀۫ԄЪԊءԶᚠˑӔҹ੡ĻNҳڌ˽ಜǼȶ՚ჶАᰪܞي£ࠣԙਬĕ׼˼༾xఢΐफ़ԏॖ֌ࢡӢѪˤ២ʫ୒ʿᴾॣ֚ѰࡡѺ{ǴৣĈˢЌ҅ټ}ː༄ݾրކزǒᕮɛǬұߕڽԺˋ˒חȏଵऒԧέ֕࿫஝०ŭ̢ͮऎɎɞжܮЎөӌϼֈࣿêȫҲڢࡈણۆຒ֦șװмnѴүͧ߷࣐Ƶϥ؄ඤͦლ¬༈ӏݛ۪ċࣆศǞ፾™ᆘŌہѮংւॲx࿎иᕠŐ˪ɲᕂþیȋሴҀ໲aɶδߤΨጤΈ෸˗ଥȷበŹ"],
  26701. ["@@ⵙ͕ໞીےĦقÃᒈӋʟͿ"],
  26702. ["@@૽ōݱÛśƏঙƑ࣫ȦӐʾል~࿞ƶ౨XǢɧӘȬߊƐఞǿ͗ŷ"],
  26703. ["@@ᆳĿᚉʎඅ͎٣׾଩ǔᔆָᆎȎ࿌чኬ߻ȹݯ"]
  26704. ],
  26705. encodeOffsets: [
  26706. [
  26707. [147096, 51966]
  26708. ],
  26709. [
  26710. [23277, 55632]
  26711. ],
  26712. [
  26713. [-179214, 68183]
  26714. ],
  26715. [
  26716. [184320, 72533]
  26717. ],
  26718. [
  26719. [-182982, 72595]
  26720. ],
  26721. [
  26722. [147051, 74970]
  26723. ],
  26724. [
  26725. [154350, 76887]
  26726. ],
  26727. [
  26728. [148569, 77377]
  26729. ],
  26730. [
  26731. [58917, 72418]
  26732. ],
  26733. [
  26734. [109538, 78822]
  26735. ],
  26736. [
  26737. [107598, 80187]
  26738. ],
  26739. [
  26740. [52364, 82481]
  26741. ],
  26742. [
  26743. [102339, 80775]
  26744. ]
  26745. ]
  26746. }
  26747. }, {
  26748. type: "Feature",
  26749. id: "RWA",
  26750. properties: {
  26751. name: "Rwanda"
  26752. },
  26753. geometry: {
  26754. type: "Polygon",
  26755. coordinates: ["@@ͬӃµӵʏŁѿÆʱӍԛàþҠŘތԄʎɺȰďԈʸ"],
  26756. encodeOffsets: [
  26757. [31150, -1161]
  26758. ]
  26759. }
  26760. }, {
  26761. type: "Feature",
  26762. id: "ESH",
  26763. properties: {
  26764. name: "Western Sahara"
  26765. },
  26766. geometry: {
  26767. type: "Polygon",
  26768. coordinates: ["@@oҊŸ@@ÉeNjEౝ᪁ª‚ᒷ޿÷ȳћDŽ்ᾓNǽ˫˜΢bCቆäĶ̢ΆϘˤୌୠ࣢Ђ੖ˀÖ˜ټۺĜ̦ʼnϢ@˔ȒԲ‚"],
  26769. encodeOffsets: [
  26770. [-9005, 27772]
  26771. ]
  26772. }
  26773. }, {
  26774. type: "Feature",
  26775. id: "SAU",
  26776. properties: {
  26777. name: "Saudi Arabia"
  26778. },
  26779. geometry: {
  26780. type: "Polygon",
  26781. coordinates: ["@@ʼnΪʩʨÝͲѡ̞҃۴ʁۆׇ׀ϑƐ֋ߠīא–ӾӕञϿ͠ґǨˡӖ°ȎɹѦʕȊ͝زԟڴѓ־лIžҦœ̌ļͲनƅζʶȪ̢ٚŚƒˮˤƜ࠷ࡀ၆фdžŴৢɩబיᛎၕ༠ãݠąȾЏתv͠ܥаȓƠִ̏Λ¼΍ċ˩ł˯ʎɽŐ˟ŲȵʬǕɶÒdž͍Žș࡙͐ᡌщǞDzϪש֕၁ᠽ࠽ᝑ͑޷ϙ׻ࢥϹƕɁˬ͏§߻ĎƷČॹmɫùΉɔɝЭĒΟρˋ"],
  26782. encodeOffsets: [
  26783. [43807, 16741]
  26784. ]
  26785. }
  26786. }, {
  26787. type: "Feature",
  26788. id: "SDN",
  26789. properties: {
  26790. name: "Sudan"
  26791. },
  26792. geometry: {
  26793. type: "Polygon",
  26794. coordinates: ["@@śhdмĵ̀џͨĵ؄ĶبϳÌÍȇԍ©Ȭʕðԍңңл؅џđ۹Ӫͅǥđʓџǃ…ǥ࠵@řǦ؃†̡ƝɳîѝӬƟɲ؃ŗɱϵɏݣ˿ǁʳğå ̅ʎÃʼƌΔE΄ӛՀĩάZȰ̱ʜUӦǭ͖̍µĎ̰ɒΖħΐˢʴǫȞɞ԰ϨئܦÏ¥ ZΚॲH@း@Ὂ@ῼ@˔ࠗȁƳŪࡻ্̰͌ȷҠ̳ыӑأƏ˅ʳĉ֑α௿ĚͳƅܟͿࠟԓзέٛč΃Љɽʝ࢟Dij"],
  26795. encodeOffsets: [
  26796. [34779, 9692]
  26797. ]
  26798. }
  26799. }, {
  26800. type: "Feature",
  26801. id: "SDS",
  26802. properties: {
  26803. name: "South Sudan"
  26804. },
  26805. geometry: {
  26806. type: "Polygon",
  26807. coordinates: ["@@Xٽűʯѿq˷ӏԨÑюХƨͳϦșӼࣳ֫օԫԇԫϭסFگȟՕȊ΋ɭ݉֐ȥάҵDZϱÆɣƕϗĸԗۚƉˊعͪɅԌΕζ֟ѬS˘ҡͼ֯͠ʴĠ̀ǂɐݤɲ϶؄ŘƠɱўӫɴí̢ƞ؄…Śǥ࠶@†ǦѠDŽĒʔ͆ǦۺөѠĒм؆ҤҤïԎȫʖԎªÎȈϴËĵاĶ؃ѠͧĶ˿cлŜg"],
  26808. encodeOffsets: [
  26809. [34779, 9692]
  26810. ]
  26811. }
  26812. }, {
  26813. type: "Feature",
  26814. id: "SEN",
  26815. properties: {
  26816. name: "Senegal"
  26817. },
  26818. geometry: {
  26819. type: "Polygon",
  26820. coordinates: ["@@΍ٺн̚φDŽРמȦќ˾ːкïШǾҶVДʙ֎ɝԘأֈֽžԹǔӓ̾ɿî͗ʽŧ³қâÙģȃk׿ȲЛV༇–ɥħ˥‚ѻƋƏ٢ވkȬŞƮR̸ȘήǯκcζȌǝʐˡƙʻJͧȸˉ_ȍȥࣵy"],
  26821. encodeOffsets: [
  26822. [-17114, 13922]
  26823. ]
  26824. }
  26825. }, {
  26826. type: "Feature",
  26827. id: "SLB",
  26828. properties: {
  26829. name: "Solomon Islands"
  26830. },
  26831. geometry: {
  26832. type: "MultiPolygon",
  26833. coordinates: [
  26834. ["@@ɾ˿חN͉ԬԈȯǜ‰"],
  26835. ["@@͝mԧĎǫżÀͮֈƁ˜ǭƎə"],
  26836. ["@@ųƹحܰǫԈ˺@̠ڥʹЗ"],
  26837. ["@@–ǛڅΦҟ̠̿˪ŰĐϮȫېϭȢˉ"],
  26838. ["@@Ǘ³οȒ·Ί¨ƖԈΡͰ˛"]
  26839. ],
  26840. encodeOffsets: [
  26841. [
  26842. [166010, -10734]
  26843. ],
  26844. [
  26845. [164713, -10109]
  26846. ],
  26847. [
  26848. [165561, -9830]
  26849. ],
  26850. [
  26851. [163713, -8537]
  26852. ],
  26853. [
  26854. [161320, -7524]
  26855. ]
  26856. ]
  26857. }
  26858. }, {
  26859. type: "Feature",
  26860. id: "SLE",
  26861. properties: {
  26862. name: "Sierra Leone"
  26863. },
  26864. geometry: {
  26865. type: "Polygon",
  26866. coordinates: ["@@ɧØ؁ͺѩ҈Ƨ̬Ĺت҆τĬɺƞǸɶpȜǂڦCɺ̛ǼˁʓƈɗṶɴ´ϹϹϛҗ«ʓȩˏ"],
  26867. encodeOffsets: [
  26868. [-11713, 6949]
  26869. ]
  26870. }
  26871. }, {
  26872. type: "Feature",
  26873. id: "SLV",
  26874. properties: {
  26875. name: "El Salvador"
  26876. },
  26877. geometry: {
  26878. type: "Polygon",
  26879. coordinates: ["@@ġȡӡ^̡Ą΍ǘұÀʃǶ~Ů˾ɄǀĢ«IJȠ¾ʜëǸǙʪƇŒœτĴǤÑŘĝÏͳ"],
  26880. encodeOffsets: [
  26881. [-89900, 13706]
  26882. ]
  26883. }
  26884. }, {
  26885. type: "Feature",
  26886. id: "-99",
  26887. properties: {
  26888. name: "Somaliland"
  26889. },
  26890. geometry: {
  26891. type: "Polygon",
  26892. coordinates: ["@@ϛԩד۫۹Mᩧা͍̜̳К̳ҨǾ̖̲҈˚ƹǒΏϜΗкGߊɌࣴĴ݌ʼиÆ̚ƶӎˆKaE΋Aࡑ@ѫ"],
  26893. encodeOffsets: [
  26894. [50113, 9679]
  26895. ]
  26896. }
  26897. }, {
  26898. type: "Feature",
  26899. id: "SOM",
  26900. properties: {
  26901. name: "Somalia"
  26902. },
  26903. geometry: {
  26904. type: "Polygon",
  26905. coordinates: ["@@ѼĎЊ˾͈FpɵýӧHѳǯ̣ʁࣥЙयԱ੷ܝ௷ܓवধ଩ࡁڹష࠯޳ٕँৱȗѷȍȣӽۚWᵤܾ॒ɰˆբfݠפબšᛜᡄה۬ϜԪ@ѬBࡒFΌLbːhϰŰ"],
  26906. encodeOffsets: [
  26907. [50923, 11857]
  26908. ]
  26909. }
  26910. }, {
  26911. type: "Feature",
  26912. id: "SRB",
  26913. properties: {
  26914. name: "Republic of Serbia"
  26915. },
  26916. geometry: {
  26917. type: "Polygon",
  26918. coordinates: ["@@Ԡȡà΋Ӫʓ˄ȌȸĿșƗƶƥȷȏø̫Тγ͋ʿƗˋĞijƑšϳa˹µƒØĴĴĦȴšKǍƼƑ ŋƆƽÀšŠƯ±ś˧ȩÑèð͋Ǩ˟ĜūŜɟƠȢšŬЄЛ͔ɀτ̥Ë͔́ˉʈȱ͘٢ɚԾ™ҖͣĦˋ"],
  26919. encodeOffsets: [
  26920. [21376, 46507]
  26921. ]
  26922. }
  26923. }, {
  26924. type: "Feature",
  26925. id: "SUR",
  26926. properties: {
  26927. name: "Suriname"
  26928. },
  26929. geometry: {
  26930. type: "Polygon",
  26931. coordinates: ["@@৔ǙĞưڶÔࣚɥѩܟâֹͤӽƥίóϩɉΛӓDzЇđ͹öčʏƘǗ÷ǡҙèԡܴōӄˏBωؐƺѠ¯ȤԜɖƈݲ"],
  26932. encodeOffsets: [
  26933. [-58518, 6117]
  26934. ]
  26935. }
  26936. }, {
  26937. type: "Feature",
  26938. id: "SVK",
  26939. properties: {
  26940. name: "Slovakia"
  26941. },
  26942. geometry: {
  26943. type: "Polygon",
  26944. coordinates: ["@@´»ΊŖш̕ӺǶЈđ؂Ţߚ͓ɷɓǏ͹dzđ࣑ʮ˟»ȟȡЁĿěÄХŽͭ}ãǙ۷Ļ̱ĠёɌċ̆äńŢȂόa˺ĔxþLj¢ÆȒȖ˜žưʢD"],
  26945. encodeOffsets: [
  26946. [19306, 50685]
  26947. ]
  26948. }
  26949. }, {
  26950. type: "Feature",
  26951. id: "SVN",
  26952. properties: {
  26953. name: "Slovenia"
  26954. },
  26955. geometry: {
  26956. type: "Polygon",
  26957. coordinates: ["@@ۜÝъȐܾtLjƘƘUǎ˳ڝɟć͹̇đHɻͣh˷ƎƷƙב†ȈúȫΨĞа"],
  26958. encodeOffsets: [
  26959. [14138, 47626]
  26960. ]
  26961. }
  26962. }, {
  26963. type: "Feature",
  26964. id: "SWE",
  26965. properties: {
  26966. name: "Sweden"
  26967. },
  26968. geometry: {
  26969. type: "Polygon",
  26970. coordinates: ["@@ࠁוƀԥ೹ڭྱܡؓஃײףߦүޗॅ࢑ȝ͍තӋ޿৳ĆӅڗঃˉߐ۳॔ٓஐφӜּۨ˦ন՝ю½ૠղ߀࠰ä̧ͬ˺ಬஂࡀञֈײ߮GɞҶཔƉŬքԸ”૪Щ಼ֱv಑˴͛ฃʃ"],
  26971. encodeOffsets: [
  26972. [22716, 67302]
  26973. ]
  26974. }
  26975. }, {
  26976. type: "Feature",
  26977. id: "SWZ",
  26978. properties: {
  26979. name: "Swaziland"
  26980. },
  26981. geometry: {
  26982. type: "Polygon",
  26983. coordinates: ["@@ǡύӭěԅҖS̄ɰ̀ĂʔʐÒшƵŰϕðω"],
  26984. encodeOffsets: [
  26985. [32842, -27375]
  26986. ]
  26987. }
  26988. }, {
  26989. type: "Feature",
  26990. id: "SYR",
  26991. properties: {
  26992. name: "Syria"
  26993. },
  26994. geometry: {
  26995. type: "Polygon",
  26996. coordinates: ["@@࿩ࣅऩͬgNŖŶ_ΈȸҠҜ̈́Əͤϗ¨ÿٞȶΌɤȀɤȀ°Ҹ˞Ǐऎɺ҂ƿۖFॴ̀Ґaक़žїԽҡȹĂؗͅ৫ᇵ࢓"],
  26997. encodeOffsets: [
  26998. [39724, 34180]
  26999. ]
  27000. }
  27001. }, {
  27002. type: "Feature",
  27003. id: "TCD",
  27004. properties: {
  27005. name: "Chad"
  27006. },
  27007. geometry: {
  27008. type: "Polygon",
  27009. coordinates: ["@@ĎЄաnDզΓ̶δ૊ੴߌ¬ન͖ၼǼΰΓ˾_ˌ̽ɔȷರࡔҠ…ྑ…ྏ¦ ܥÐϧإɝԯǬȝˡʳĨΏɑΕč̯̎¶Ǯ͕Vӥ̲ʛYȯՏƛэͽ؉ࣹ߅ϳ߹¾ʁûĊ̏ѫ̋Σ͟੓͏ȽȐƓhƹɍۛÙƀɪ˅ׄşΐλƜӷӪǼІϦċʂÐҸSқކŒ֐É֐ͭՠ"],
  27010. encodeOffsets: [
  27011. [14844, 13169]
  27012. ]
  27013. }
  27014. }, {
  27015. type: "Feature",
  27016. id: "TGO",
  27017. properties: {
  27018. name: "Togo"
  27019. },
  27020. geometry: {
  27021. type: "Polygon",
  27022. coordinates: ["@@ڱdzȇ̎ɡՔãкȆݴɁ̬ăڎD؎ΕѠÖˀ݂kŅѵʲʝ̈̋ŽЭǜǥኝȺׅ"],
  27023. encodeOffsets: [
  27024. [1911, 6290]
  27025. ]
  27026. }
  27027. }, {
  27028. type: "Feature",
  27029. id: "THA",
  27030. properties: {
  27031. name: "Thailand"
  27032. },
  27033. geometry: {
  27034. type: "Polygon",
  27035. coordinates: ["@@ݭϬܗeŬڈ݉Káऋґ௯˙ݏÌ؋ն΀ދưܭҶӓԚĭѤѧ˝·ևĵßќۇςƣƭͧ͒ƝжҁӄПЌƏӳǃҲĠԾʚ߬ТࡸҤ޶͟ތ`϶ĩҸ֕ښȩф̄ƺ̮ܶ·ֆՓؘН݆ΠƴϦࣦצœӬθӔȘθʷ´ԍ֨ȷࢭpݫࢰԆʤƧӰzǜَ̊ÍٖڽÀࠥںܷ›܅˙ϛ޿ŦગDž՟ۧȤ১"],
  27036. encodeOffsets: [
  27037. [105047, 12480]
  27038. ]
  27039. }
  27040. }, {
  27041. type: "Feature",
  27042. id: "TJK",
  27043. properties: {
  27044. name: "Tajikistan"
  27045. },
  27046. geometry: {
  27047. type: "Polygon",
  27048. coordinates: ["@@̭ʷࣳƖāӛ࣬Þਢ˗འŶɈާˠĐԜȓ‡͛ŴӍࡿBׁØԻϕύĉ̉ǯͩˠþ۸ʩ¢ĞʲғȐα̇ė͹Żūԇj˕ϩ˯nj؋ˑʱĺӀࡘǹض؟ȨɔφۮŸЌҬˌբ૲ȜǩϵŤɹΎv"],
  27049. encodeOffsets: [
  27050. [72719, 41211]
  27051. ]
  27052. }
  27053. }, {
  27054. type: "Feature",
  27055. id: "TKM",
  27056. properties: {
  27057. name: "Turkmenistan"
  27058. },
  27059. geometry: {
  27060. type: "Polygon",
  27061. coordinates: ["@@ñۼطŠॣݔڣĠगюׯþσƽ֙|ׯӓ݇NjƻרŪ࢞ٽ˶Ɏֺ֏¸Ȇ۾ߊȵ݈ˎؓԎʉӔڱɋď؛ʿհψ˨ॖǪ֨ɻךڅњ¤ॆ\\Əцܖ̂۾ӦଆѹĜڡ͐ǣࣦžˮƳаࡽ०ׇոЃ࢞Щ૤Ϋwԥʩ€Ѕɤſ̙۽NjǙڥӁʭڏŵǫϟهŏࡩ͈"],
  27062. encodeOffsets: [
  27063. [62680, 36506]
  27064. ]
  27065. }
  27066. }, {
  27067. type: "Feature",
  27068. id: "TLS",
  27069. properties: {
  27070. name: "East Timor"
  27071. },
  27072. geometry: {
  27073. type: "Polygon",
  27074. coordinates: ["@@IJȤܢȌז†ˀŀ͆Ľ̯ɫ࢕ο۳ʋeʬďǔ"],
  27075. encodeOffsets: [
  27076. [127968, -9106]
  27077. ]
  27078. }
  27079. }, {
  27080. type: "Feature",
  27081. id: "TTO",
  27082. properties: {
  27083. name: "Trinidad and Tobago"
  27084. },
  27085. geometry: {
  27086. type: "Polygon",
  27087. coordinates: ["@@ӚŊǮ‡‘صۭġƯúʒɲiͪ"],
  27088. encodeOffsets: [
  27089. [-63160, 11019]
  27090. ]
  27091. }
  27092. }, {
  27093. type: "Feature",
  27094. id: "TUN",
  27095. properties: {
  27096. name: "Tunisia"
  27097. },
  27098. geometry: {
  27099. type: "Polygon",
  27100. coordinates: ["@@ΩພԭͺQȰۉԄóنԮҶȢۚƃߠǠќࣶͺךĵ}ы܊̲ÒljпЫMϱ̆ȽōܫփхDŽқѤaɄЍ͊ſ³٥Хʋʵˏֽ͓ĘΑïΟЧț"],
  27101. encodeOffsets: [
  27102. [9710, 31035]
  27103. ]
  27104. }
  27105. }, {
  27106. type: "Feature",
  27107. id: "TUR",
  27108. properties: {
  27109. name: "Turkey"
  27110. },
  27111. geometry: {
  27112. type: "MultiPolygon",
  27113. coordinates: [
  27114. ["@@஺͗ঐżܤõলѬࣆ¢ߴЭƜ̑ăУزȻͨʕֻʇˀ५ǏʻҠڧЕƙ̏Ɋ঍ňίŽॗŽҏbॳ̿ەEҁǀऍɹ˝ǐ¯ҷɣǿɣǿ̱Ϡ͈͂ԟí۱ȖֿәౣĥڹҊࣟ†ȗΑׇij߻҄ࣻeӽ࠶ؗҰЦٸՓВठߨಒ’Μྀٔŏ৞հ঒ʄർlุף"],
  27115. ["@@۫ҏ˃Ϻ\\ǦȦĦʺՂХɞࡦ˄ܤőĴ͓ܼ˓Ƶȵি±Ωʷ"]
  27116. ],
  27117. encodeOffsets: [
  27118. [
  27119. [37800, 42328]
  27120. ],
  27121. [
  27122. [27845, 41668]
  27123. ]
  27124. ]
  27125. }
  27126. }, {
  27127. type: "Feature",
  27128. id: "TZA",
  27129. properties: {
  27130. name: "United Republic of Tanzania"
  27131. },
  27132. geometry: {
  27133. type: "Polygon",
  27134. coordinates: ["@@ƚġᵂႋÌӣ஼࠿ϱਙ¸Ӊՠ̩~ɓɳԓ¶ʭÇГ̌Ճΐ̰ࠡǿڝӣࣿ͛ԋb̙ʥבsɕŃঢ়ʂكåɽଢ˵ϺǛɶࠗƾӉʨՕƘͯƘΗɈґ੖ӣҺǗӤČѨƯޞΎ ̨̦͜ѬȺǮS˘ǷȐ·ͨʐł¶Ӷͫӄ̎Ķऄ[ႎà"],
  27135. encodeOffsets: [
  27136. [34718, -972]
  27137. ]
  27138. }
  27139. }, {
  27140. type: "Feature",
  27141. id: "UGA",
  27142. properties: {
  27143. name: "Uganda"
  27144. },
  27145. geometry: {
  27146. type: "Polygon",
  27147. coordinates: ["@@ः\\̍ĵԇʷȯĐPوȜ͎²ڬǰϸ͎Ѭ͔ɠ˒̘͵Ŗ¼চΌɮՖȉڰȠעEԬϮЊ׍İсτ९̧ؓЯ֋ʉͽTࢹႍß"],
  27148. encodeOffsets: [
  27149. [32631, -1052]
  27150. ]
  27151. }
  27152. }, {
  27153. type: "Feature",
  27154. id: "UKR",
  27155. properties: {
  27156. name: "Ukraine"
  27157. },
  27158. geometry: {
  27159. type: "Polygon",
  27160. coordinates: ["@@̾“ɄȒʮ¥ࢌĆ՞Ӈȿǝêʻڠ£̘ηkǑ੪̏٢Ƅ԰ϿӮVఊ˙XʙͿѯȆҩƃ˩߻Õџɻύڡã֑˕޽«ܣ̻¸ԹЪȭࡨ¼Ǐ̛ँơଛӟұǠȄЂࣽʘƨLjߪ˪ʑȔಯɆË̼ީĻ̷ҧٱةϟƠЁƉϑƺɂĞƦ˾ɲˎÑƮǬäĊśӸ{ɞØƽĎÐŲ̉ɈŧΘ̩ƐÒ˶ϝɦΉŽأʾ֑ĉȧŭΟ@Ƀȟاă˹ŹϷȴ՟HԳĢγǵÍɤұɮǐͺɸɔȀµɑϘބۦиİĜɾхܼДҢɪٲnࡖßबȫڎi͂ŧ̀Ʀɚȝݸ¢ͮąÄцʶȂܞº"],
  27161. encodeOffsets: [
  27162. [32549, 53353]
  27163. ]
  27164. }
  27165. }, {
  27166. type: "Feature",
  27167. id: "URY",
  27168. properties: {
  27169. name: "Uruguay"
  27170. },
  27171. geometry: {
  27172. type: "Polygon",
  27173. coordinates: ["@@ղĚࡆٯ̺|ࡺ՟ڈҫӠֱχЉɸӇεՇॉұاǚғěޥΰ֫ԟҬÞլǾȈS࠸ɤࡺȾڦ"],
  27174. encodeOffsets: [
  27175. [-59008, -30941]
  27176. ]
  27177. }
  27178. }, {
  27179. type: "Feature",
  27180. id: "USA",
  27181. properties: {
  27182. name: "United States of America"
  27183. },
  27184. geometry: {
  27185. type: "MultiPolygon",
  27186. coordinates: [
  27187. ["@@ũƕȽŤ|ɾƓ̨¦ĤƤƎÍǔ¸þÜe͐ƙƬñƌőɊ̍q¯͟ǵˏſ"],
  27188. ["@@˭ÑƟǮīèQÀĈî̘āɘŹëĵ"],
  27189. ["@@ĝ҉|Úĸа•"],
  27190. ["@@­µÓŻˆŃȒ’ɤŚêÃʐ˥"],
  27191. ["@@ıĉ˱ƴªÖŸĈȘijȝ"],
  27192. ["@@Ƭңʼƛז½࡬ƅࠂʹڼŊਖɓ˞Tݨʄ߂̧ࠒ͗ں˩ٶˏĈəȢĉ½ĉɦǎĔ¦ȣǜƅɴ@ŬĹĽƫ࢖ЁǶށǚܳʗӹЁҥȁ̍mēĦť˸Ɓɂ@ঊ҆ࡾƀસмfĐ÷ʰƉǒϜƆࠜHޘAˎ͞ŀàࢶ؄ϜƸ౦N໾BĎȺː¦Φž̖Ϣʲٺٚي˨ə֜ƜώʏAଧռӅƢ˝࣋Пࡷ̃ࢱʝѻӿƛȋSѽˤѽΒsė̬ʦȇãʇ֥ƋЗhةƥλ¥ӥ¥۫ʏఀǂʠǃ୳ʥ՗C|ĺʭɷʚǹ׽ؑ٧×Ɏȁª˟ɀǪҍȼƭ^ͅˏ͛ҿڡûʺֲѕ͎įۦljεǴՑևƀׂ˓˜ߛʊÍĖ̃ŠࡁՕدࢇʝցӱнÁэ̱ţ˭इձӁЍЅӽŻׯƪ׍ˬܗώשLεЊঅ֥—͛ȿԡʣŃЯĺƁς͋ȖѻܢϹٞű͢Ǥ֐ɽҦٻ۲͟źࡑϡƭ¦СϼՃȺोŁݗĤٙÍΏſƲɟaͽǴǓLJō̵Ů́ǃ؍€طѺܻĿ؏ȚԹÏۻȝއح࠳γҝБȕϗUׅ¨ЕDŽ˹͝{׭ȂٽʺɽЄȁטӷӐ̃ӰуֺףͲۉgՉڑۣʦѡʪȽҦ˧Ѯӿτїˈ̩̖ป@C΋ڗ@ဩOቿפ౓ТĀǒ੩ĝॕÝƙіխӚϻĴğʌһ¦̝ɪޭĊɉƌĹҢࠁࡊ۩ୠˆȚχˤٯ۴řۆ҃ҞȀۢ…ܜˍ٢͠ߊĸނĺނƱૼˇܘʓ϶ĸǐ௒˷҂ߋȺɜƇې˷ێᛸ@᠂@ࠜ@ᢢ@៚@ᡀ@ᡄ@᭰@ᮞBაAF͔˴J"],
  27193. ["@@࠽͋ѕɐŽЀބ̘҆Ÿ֐ÉΤʻܫЍ"],
  27194. ["@@ԧŽսƾԛɮࠦƞښùĂ͑"],
  27195. ["@@԰DžԾĒڸɛ࠲őéĝُDZٕǾ͋Ʋݍµȧôº̈́"],
  27196. ["@@؊ϛώnjහ»¹ȕ౾ƛࡨČᄚ˅ྤā٨ʼn૦Ǝౢʧࣲŝ@@MᷱIⷍࠠ{ࠌɵהρݜցࠈҺࡈ˖Ҁѡ֤·ޒϙՂ׽࡮य़ේ՗xՋұЙҥ͂ݍˌʃܺએںҍߎ߯Ä೷rটʌ჉ࢎߩDŽ฽̜୑í࿻ϬৃΨटǯǦ׏ҫÁঁǫ݉˱झdzťӶϚࠚࣀʶɱɂੱҵֵ֑௅ױؚСߏ׿ࣗΗࡁʱȻωಽѡ˅ϿছΫֽÞ޷ɻ࡝˹ۧ˫෹ʉſƘऀϾࠔʸࣆҠਬĨвΈ୘ԊȈǚب̒ƢْђӸॹʫ˓Ơҕ̧շюɧ̝̽м࠿ͳԩBïԄƲ̮ե̚થLJ܁ЀַȬIӈ٩Ϊ͘ӘۆҸ̚њںÖ־ƇڴМ؎ï٘ʼƻϨҹưج͖ԩWࢻǽʯȃڏȄஏĥ௷ȬΛ͸੟Ӧ୾ΘመШ۔@ŕнᄢŽڽԶਕ͌ױр߫ΨଽˈҺѲ๰‚ਗ਼ϦȨФ࡬ЎࠊĪཪώޜÉಐ҄ౚǭ"]
  27197. ],
  27198. encodeOffsets: [
  27199. [
  27200. [-159275, 19542]
  27201. ],
  27202. [
  27203. [-159825, 21140]
  27204. ],
  27205. [
  27206. [-160520, 21686]
  27207. ],
  27208. [
  27209. [-161436, 21834]
  27210. ],
  27211. [
  27212. [-163169, 22510]
  27213. ],
  27214. [
  27215. [-97093, 50575]
  27216. ],
  27217. [
  27218. [-156678, 58487]
  27219. ],
  27220. [
  27221. [-169553, 61348]
  27222. ],
  27223. [
  27224. [-175853, 65314]
  27225. ],
  27226. [
  27227. [-158789, 72856]
  27228. ]
  27229. ]
  27230. }
  27231. }, {
  27232. type: "Feature",
  27233. id: "UZB",
  27234. properties: {
  27235. name: "Uzbekistan"
  27236. },
  27237. geometry: {
  27238. type: "Polygon",
  27239. coordinates: ["@@xԦૣά࢝ЪշЄ॥׈Яࡾ˭ƴࣥ͏ǤěڢଅѺ۽ӥܕ́Ɛхॅ[ᶾᓘӺƾïದ׻یͅߤݵঢŪ෸à৔ؗÙࡅЦMǢۍ੬ɲЉ̺Lπ׺૎הӖƺʠĉ۵խئ́ײȾ়ѷ੽؁ٕĊ΍uţɺǪ϶૱țˋաЋҫۭ ɓυؠȧǺصҿࡗهǰҳN"],
  27240. encodeOffsets: [
  27241. [68116, 38260]
  27242. ]
  27243. }
  27244. }, {
  27245. type: "Feature",
  27246. id: "VEN",
  27247. properties: {
  27248. name: "Venezuela"
  27249. },
  27250. geometry: {
  27251. type: "Polygon",
  27252. coordinates: ["@@yȣӱĭ˜ϡYѭυӥ͆ڙδÆȌ؈ʻ̒§َਸ਼΀řІ̎ˆ̞ןל_մҵ˧ݮQ࣌ĔӖϕٞĻҼʾXɄਨ¼৖\\܉ʛ˼Їڦ×ِЯƆڧѬn͢ȣڕӱó̫˾̷ȽƽԫƉjϱɫɱّ֪Őʁ̭͍ऱ̽׿Žʏȣڛɀثņƿýϔɑ‘֝ŜՉ܆ï°ǭ׷ʅĭΣΉƏسȝNjʱٷÅҧѼʯ࠺ɟ̧̌Ȅюм…ȊʅʠǛ֒à׼Ȉ˰ƲҎ̓Ơӏĩ؁®ͻęסܢӥńઉăȧ̊ȷê‡ǬĴ̶áͺȃȂŅϮѡÈɸӮĺ׶ʔ̸͘ʌɈрդƖ"],
  27253. encodeOffsets: [
  27254. [-73043, 12059]
  27255. ]
  27256. }
  27257. }, {
  27258. type: "Feature",
  27259. id: "VNM",
  27260. properties: {
  27261. name: "Vietnam"
  27262. },
  27263. geometry: {
  27264. type: "Polygon",
  27265. coordinates: ["@@૭ܗ۫ߍȁ׍٠ࢭ޺ળނԱԞګϪ།ŕ๓۫փ१եۇ۫਷ޱ̧ՠʀ֬دӌܬ͸ࢦÔσԚප٨ļ৖ț֖ƶࡀɃצٍאՋ݌ۥ঴৓Ԋʊ̠՞ɘ͙ܺਙPϕކӭڐҊȴڢIࠈĬܒ҄К̿ސƵƃӛАͿࡎɓ"],
  27266. encodeOffsets: [
  27267. [110644, 22070]
  27268. ]
  27269. }
  27270. }, {
  27271. type: "Feature",
  27272. id: "VUT",
  27273. properties: {
  27274. name: "Vanuatu"
  27275. },
  27276. geometry: {
  27277. type: "MultiPolygon",
  27278. coordinates: [
  27279. ["@@ˣō˭ςŒɤՆӗ"],
  27280. ["@@ƌڱɥŀǩ­ťɴi٢Дʵ"]
  27281. ],
  27282. encodeOffsets: [
  27283. [
  27284. [171874, -16861]
  27285. ],
  27286. [
  27287. [171119, -15292]
  27288. ]
  27289. ]
  27290. }
  27291. }, {
  27292. type: "Feature",
  27293. id: "PSE",
  27294. properties: {
  27295. name: "West Bank"
  27296. },
  27297. geometry: {
  27298. type: "Polygon",
  27299. coordinates: ["@@@ԣŭʙЃŕ˜ɜɌŚɁĦǬ̤֔ś"],
  27300. encodeOffsets: [
  27301. [36399, 33172]
  27302. ]
  27303. }
  27304. }, {
  27305. type: "Feature",
  27306. id: "YEM",
  27307. properties: {
  27308. name: "Yemen"
  27309. },
  27310. geometry: {
  27311. type: "Polygon",
  27312. coordinates: ["@@؉ɥNjύo˹࠷Οഇϻݩףυ±ʥºӭΑ՗lj۷©ɃµǿɛəÕŻɇеlˍœ׉¨ɓӬzҠƍʜǑتʋΊǚ¤đϨĸNJ™ξςˌđΠɞЮΊɓɬúॺnƸċ߼č͐¨ɂ˫ϺƖ׼ࢦ޸Ϛᝒ͒ڀ൳˞ח"],
  27313. encodeOffsets: [
  27314. [54384, 17051]
  27315. ]
  27316. }
  27317. }, {
  27318. type: "Feature",
  27319. id: "ZAF",
  27320. properties: {
  27321. name: "South Africa"
  27322. },
  27323. geometry: {
  27324. type: "Polygon",
  27325. coordinates: ["@@ǏŧΣяɻћӇ׻ोࢁףԋًϣ࢛͙ѓ«ŇɷԛŰеDž࣫NJԙĹΏ¬ࡿͩܓƃԱͅϡoΣ̚˳fαϒŸśŏɦLӰ˙֞˔ƴs٤ս޼х܈AF׽તДдͪɯƘΫϘÓՈǃҌÖݤіB᷌ɨűӾߙûԟȈ̏׼ĒрϒЊʨȶДЦȚΠķВɽۂ£՞ȜĐʾƨДҚäʨ͂˪֔ݮغஒؤ΂UОƛ˲Ķ҂ċД஁ɔׯƫऩî̟чƶʏÑāʓɯ̿T̃ԆҕӮĜǢώْQȿؑıۥɑϛֵщ", "@@νʶϻǟҕ҃͡Տـ٧̜ČƺˎҴƀƜ˜ʴФ̅ʪ"],
  27326. encodeOffsets: [
  27327. [32278, -29959],
  27328. [29674, -29650]
  27329. ]
  27330. }
  27331. }, {
  27332. type: "Feature",
  27333. id: "ZMB",
  27334. properties: {
  27335. name: "Zambia"
  27336. },
  27337. geometry: {
  27338. type: "Polygon",
  27339. coordinates: ["@@ІϏɊ܋ƝɩǙڻLjۡ˃̇ʭޭѶɓᢇۗĂׯٍřӍͯĹ̛̅ßܵۓҭխ˳o˗ĬऱĠƯÚOêͧȎկ¶ۋȑչԾ֣یžᦶშYí̂Ű̀ƧЀĪТėʺ̂q¶ʽϾrՖûˬϡڨŝԤˆȌѯ٠ş̴ΧΈҥ٠Që࣠ɱƳח͞ɧƬļࡈƬসȉψʈ՚ɤĶ଀ƚͦđΘɇͰƗՖƗӊʧ"],
  27340. encodeOffsets: [
  27341. [33546, -9452]
  27342. ]
  27343. }
  27344. }, {
  27345. type: "Feature",
  27346. id: "ZWE",
  27347. properties: {
  27348. name: "Zimbabwe"
  27349. },
  27350. geometry: {
  27351. type: "Polygon",
  27352. coordinates: ["@@ҁČ˱ĵНƜ΁VՙϞٯźʙՒC̒έĞ्ई˃ӢǛƮ͓ڤलğ˘ī˴pҮծܶ۔̜àĺ̆ӎͰَŚÆ̻۬hϴǯǺȻАÓѦˑF੟Ǐ׋—عƊʝħӵŵùɛ؅ࢫ॓"],
  27353. encodeOffsets: [
  27354. [31941, -22785]
  27355. ]
  27356. }
  27357. }],
  27358. UTF8Encoding: !0
  27359. }
  27360. }), i("echarts/util/mapData/geoJson/xiang_gang_geo", [], function() {
  27361. return {
  27362. type: "FeatureCollection",
  27363. features: [{
  27364. type: "Feature",
  27365. id: "8100",
  27366. properties: {
  27367. name: "香港",
  27368. cp: [114.2784, 22.3057],
  27369. childNum: 1
  27370. },
  27371. geometry: {
  27372. type: "Polygon",
  27373. coordinates: ["@@™@}ScTʟ@cWuJÁ–]„l¦RLj¼BĄà˜ ŽH@TOHCTDDDHDNAT@PEHDDNJLX@BABALHFF@DKHADBBLDHHFBLEJB@GDBBFBADDB@@KFAFBBJJA@BB@@FFDDADFF@FADDDBJC@AFBD@@DDD@DAA@D@DB@DHHBFJBBFEHDFAN@DGDC@DLCBDDCFDlAFBFCBEF@BC@GDAB@FD@DZJ‚X´HĐMja@Ý`p_PCZ@lLnRGSDMFK|a\\Y}­ƒ§™Mën"],
  27374. encodeOffsets: [
  27375. [117078, 22678]
  27376. ]
  27377. }
  27378. }],
  27379. UTF8Encoding: !0
  27380. }
  27381. }), i("echarts/util/mapData/geoJson/xin_jiang_geo", [], function() {
  27382. return {
  27383. type: "FeatureCollection",
  27384. features: [{
  27385. type: "Feature",
  27386. id: "6528",
  27387. properties: {
  27388. name: "巴音郭楞蒙古自治州",
  27389. cp: [88.1653, 39.6002],
  27390. childNum: 9
  27391. },
  27392. geometry: {
  27393. type: "Polygon",
  27394. coordinates: ["@@˜@ÈÒĊanwŎV„™Ȯ¦ͪŃĢ„ÜōȂçČéƐżLɆóĊ‚Ċaʊٱ¯²Um»ˌmÈ»V™ʠţWÑůǓ郙ôƑƒğÆīŎī@Ƿ™wô™˺LÞ¯ƨVǪуšĢ™ȘV°wĢŽôk°¯ƒ»΀@Ȃ»ĸŽǔ@΀ƒ͔ôôLɆó̐ÝɜLɲōͪƒƨóŤK@ī@IU܃ÛmȻţǩÝ˹ÛljťǓǫō@Ɲ²¯VçōKͿŁΗÇţ»ƽ™ɅƑLÓŏÅÅɱV@ÝĊU¯ÑĊĭÞLšÞŎJ±̃XȣˌōlƒUÈ¯ŎKÆƅ°™XÑܱnŗġV¯™óaUƒƧUōŁ„Ñ™±„çɲ¥lĉkğ°ƒk¥˜ƒnğţL¯ÝÝUƽĬ΁lķ°@„ō„XÿݯV»ŹLʉÞɱŤĉó°ÝJ™¦ÝKÝ£ţܙÈĉ@ƒxǩUċƑ@ky͓¹™`U²ĉVġ»ğa¯¥ť@ĉ™‚ó@ŻÛÛJƒw¯nó¯ġWƽʩķÝɛwĉĕݼȭÞķō@ó£Å΀ƑޝôȯÞ¯Ȱ™ÆōèĉXǼó@ݚnºƒĸ„ÞVƜĸȚUʶõˀĵĖɱŎÝĖVࢰӒѢ°˘nϚVˌ™ÈmɼĵŦW¤öʊõʔ@°ÈXVŽ™ènŎȁb¯ǫĉ„±Èğ`ġwōÔğ»mVVށ„Ý¥ó@™ĸķô@ššbX„ĶmV²²`Þ_˜˜ɴbͪȰ„ÞWĸÈŌmބškɲŽÈUÆ»n¼ǬVķĸźô¯°n¦ɄǜÈ"],
  27395. encodeOffsets: [
  27396. [86986, 44534]
  27397. ]
  27398. }
  27399. }, {
  27400. type: "Feature",
  27401. id: "6532",
  27402. properties: {
  27403. name: "和田地区",
  27404. cp: [81.167, 36.9855],
  27405. childNum: 8
  27406. },
  27407. geometry: {
  27408. type: "Polygon",
  27409. coordinates: ["@@ƨ¥šèź٨ΘƑᩄbUࢯÞĕɲōĶĕöʿVʵķșUƛƒÝ„ķm¹Þ™ô@È»ĊWŎçšÅ°ȯȰÝ°óƒÆͿĉ»̽çnƒmɱĵƧºóU™™ƽ@±wóL¯°̻L±Æ¯Vƴķb¯VÇ¥ğ²Ǖbk¥ÇKlÅɱġ@у™óK@™ÇaÝXğţxĉČǫķê¯K@уaŹ„ƑKƒ¼¯Vóaónġw™óÞéU™ġbóĉğÇl¹™aUóğKW„Vůn›ÇŋƑ›ķnʇ»óxĉw™çǰÅw™°ċ„XŽ™„ób±ƒkÈÇJ—ƒm²ţx@ÒݎšŦǺn„ó¼n°ÇbUÒ±¼XĸĠłƽXmwĉºƒzÈÜmnxmx²ĖmҚbnŽƧêUºĊêÆVóĖóUĉ¼ÅĬƑ°ɆƆŻŚlłÞLš¼nĠƒ¼@ޙšÞź@ŎÞ°VšɄɴжϼِ͈Ŏ„"],
  27410. encodeOffsets: [
  27411. [81293, 39764]
  27412. ]
  27413. }
  27414. }, {
  27415. type: "Feature",
  27416. id: "6522",
  27417. properties: {
  27418. name: "哈密地区",
  27419. cp: [93.7793, 42.9236],
  27420. childNum: 3
  27421. },
  27422. geometry: {
  27423. type: "Polygon",
  27424. coordinates: ["@@WnŐÆĶL̦ţºź„lxÅĸƽŚ‚Ʉ—Į˜è@ô²ÞUĔƐńV°¯ĸX¦Ɛm̐bƒ»Ɇa΀šĢ™ƐLˤ™ȘÑnƒІljĸÿn¯ĶaŎ¯ĢĕȘ¯°΂œla¯¥™ǕǔwˤӱlťО̻nŻmɃĕċţUw°WUóƨÅţķ°ýV±óÅǓéʉ¯ƽكéōǖȁÝƏůǕw˹ǫȗǓƧǕVý™é@ĬţLƧôͩ„ɱŎɛK̏ÞɅôóK@²@°ōؚ¼lŦ¯ŰóƜÛlV¼ķ¼ƒ°kȰ™Ű„ĠƒǬ™ŚÝŎmˁ`@ÇÜn„"],
  27425. encodeOffsets: [
  27426. [93387, 44539]
  27427. ]
  27428. }
  27429. }, {
  27430. type: "Feature",
  27431. id: "6529",
  27432. properties: {
  27433. name: "阿克苏地区",
  27434. cp: [82.9797, 41.0229],
  27435. childNum: 10
  27436. },
  27437. geometry: {
  27438. type: "Polygon",
  27439. coordinates: ["@@VƚxˌŎÞŎƒ°n„ȂÒ°²VĊ¯VğƾˍǬƨÞÞKÈÞĊVźôɆÞĢèԐôWȲŤVÞĸʶbl‚¯ôn_VÆĸlmÞnVź_ĸ¼Ȯmǖ„šéĸW°°„ĸJ„kʠ¼Æw°¤ÈƒlxɆzČºĶI²ÆǔUš°ô@Þ¦‚ƒUnUĠ¼ŎÓĢxĠ_²ÇĊƒǬ°ŽȂamōšçUÇW@¯öʓõʉX£ĶťnɻšÇUˋmϙ¯˗ӑѡᩃaΗƒœɜ°xWƴUxɃÒˣ¤Ʌwğ„ʉōóÝŹ±°ȗ@¯„ƃ²¼", "@@ō™гwȁ¥Ƨ°ŹÑķV™¼ÞêĊ»‚lĵšm¦ÅW@ĀôÈźaɜxÈbÞÆĶIОŘnIÇŃÛÝĊÑĠƏ"],
  27440. encodeOffsets: [
  27441. [80022, 41294],
  27442. [83914, 41474]
  27443. ]
  27444. }
  27445. }, {
  27446. type: "Feature",
  27447. id: "6543",
  27448. properties: {
  27449. name: "阿勒泰地区",
  27450. cp: [88.2971, 47.0929],
  27451. childNum: 7
  27452. },
  27453. geometry: {
  27454. type: "Polygon",
  27455. coordinates: ["@@ɲˣĊIÈ¥‚ÅU±Ċýkō°ƒĉƽó»ĶƽXóʵʵ™ȯƑÅȁɅ¯ĉ@ÇሗK֛@@ˤV֜ʵрƒǬVĸƑŎ@ƆϯÑóŽķ@ʇ»ķ¦έmlÈĸĊX¼WźÛÞÝѸ‚ĢČþ„ĀĊôάVö¼ĊUƨ°°èŎČUÜÆóôVôô޲êȘlˌç°`n²ǬŽĊaš™ƒÛ°±kğmm»š@°ÝɆÛÅÇVaݍVm͔ğôÝÈb‚„@„ƒ™n¯š™ÜUĢÑĊ@źīżWŤÈǖWôŁÆI²ÓƨL@ŽĊX„mmÑÆ»ȰÑkƒĶō@ý°m—¯"],
  27456. encodeOffsets: [
  27457. [92656, 48460]
  27458. ]
  27459. }
  27460. }, {
  27461. type: "Feature",
  27462. id: "6531",
  27463. properties: {
  27464. name: "喀什地区",
  27465. cp: [77.168, 37.8534],
  27466. childNum: 13
  27467. },
  27468. geometry: {
  27469. type: "Polygon",
  27470. coordinates: ["@@Č@°ƒĠ„ôÓô@Ŏĉ@Ƴĸ@Ť£ĢlVôWVóřXĉŤêÞ@ƐÒĢÑlèÈV@šĠIk°ÆŘ@ÈÈĀ@ǶťÒğ@š„@ÒĉlŻ_@šƧĖÅĬōÆ@bźÞnƒƒlVœÝĬšWƼʇ„ƒÝÅ@ÇÅÈwWóĉ±ğz‚ĬČƨƂÝIĉݯbÇÑĉƒ¯ʈV°xUŰĊ¤ƪ_ôÓɚI@lȚXȮ™ŎlɴȘ՘š„¦ɲÆʈ_ɴŽźŽôÞʊŎĠƒɆxˤ£ɄÑVwXƳ¯w›ɛŹ٧™çƧ¦ōƒُ͇еϻɃɳU™Ý¯@ōÝŹš™@݄»mğ™»ÝKkŁżřɅƅƒ¯ÆīĊ»ôVôĕÅUĉéV¹ƨém™anѱĕnwmwnÇۄyĉ¹ŹlŏkĵèķmōÞġKñÔċKÅèĉzƒŽ„ômxȗÿƿI@þÅČÝKݰ@¼ÈVºš@Å̚ÆUċłn„ÝÆǕČĵJm£ÝJ¦@ĊƒxV°ƏLċ¼ǩ™@™m@ÅĢómÇÆğ¹Çš™ÆšĖÞKšx„wô¦ÆÑÆL²ÆƾŽU„ޱŚÅŻĖ@ĬŤÈñ„@ǔÇx„Èǃ", "@@VÇ™ţ°ğUĠ¯mk¯ó¥ķIġÿƏbƒ„ĉa±ÒĸĀlKU„_m»nwšŽ„m@ÈŤ¦ĉbÞ°±Þżł̦°ĢŁVé"],
  27471. encodeOffsets: [
  27472. [76624, 39196],
  27473. [81507, 40877]
  27474. ]
  27475. }
  27476. }, {
  27477. type: "Feature",
  27478. id: "6542",
  27479. properties: {
  27480. name: "塔城地区",
  27481. cp: [86.6272, 45.8514],
  27482. childNum: 7
  27483. },
  27484. geometry: {
  27485. type: "Polygon",
  27486. coordinates: ["@@ήnĸ¥ʈ¼ĸ@ôϰÒ@ƅƒōUķƑǫʶпU֛܃LګK@΋ĸ@Æ£ÞġÅĠċšLV݄»™@Å»Ýnm¯š»nŻĊ@nķŃ@¯ómóÛÝǟ¯aÝóȭ¥ƒšōUmxĉbÇї@›bUº¯X¯ÆƧbVÒĉnǕw¯°ƑŽV„—ŽÇ@kx±Uƒšɱn™ŽÅKƒ„¯ƒĠǠU°ɜL@°ƒxnĬ‚ĀŋŎÇLƒŽğšϱÞέƜkôÅĀǕłƒĸĊŤUṴ̋„¦ȂϰÜɨ°x@°żǠÆƈČVĠ»ČL°ÇšbĊÑ̐óÞlĶwބɆVÞwǬxǪţȼÜLŐĶˢ@", "@@óKĵĀV͈ĉłƾNJÆŤƒzXl°ƒÆL²¼źŽôÈĢǔ™¦l„ô°ɜÞʊĠğŃm»ʵƳƑʝȗīV¥¯ĉ°Ñ@ŃÅI™»ĉmğn™ƒašƒċƨbš™Vğ—w›ġ¯@Uōa™ĉÝJğÑÆŎkŎÞĀlꃦ"],
  27487. encodeOffsets: [
  27488. [87593, 48184],
  27489. [86884, 45760]
  27490. ]
  27491. }
  27492. }, {
  27493. type: "Feature",
  27494. id: "6523",
  27495. properties: {
  27496. name: "昌吉回族自治州",
  27497. cp: [89.6814, 44.4507],
  27498. childNum: 7
  27499. },
  27500. geometry: {
  27501. type: "MultiPolygon",
  27502. coordinates: [
  27503. ["@@መL@ȰĊȂɆƒÆĊ£„ťôWÓɆbĢÅŎƒÆ¦ČÑW¥°ķU¯ƏŃVē±Ý@ó—ç˜ĭɃƾřÆķkwʃŤ¹ġ¥ĵKŏÅXmˍщwǓ¤Ƒ@wóōVķ£ɱšġôÛa±Òȁ„óèţIVŽƽ¼k¤ó¹ġJmx—»ÝUƒ²™@ÅÆƒĸǫŎ„ĊmŎǬ՘"],
  27504. ["@@Þô°bÞǠôÜôn@°ĸń˜Ƕkłƒ¼UޙKğȂÆÝĢŤķ@@ΌڬL܄K@ˣȂ˭lĉńW¥ĵVÆý@ŃÞēUŃȗƅ@ŹƩǕĉ»k»Ç™VğóřX™ŻKƏŽċêȁèÛŎġƒͩń"]
  27505. ],
  27506. encodeOffsets: [
  27507. [
  27508. [90113, 46080]
  27509. ],
  27510. [
  27511. [87638, 44579]
  27512. ]
  27513. ]
  27514. }
  27515. }, {
  27516. type: "Feature",
  27517. id: "6530",
  27518. properties: {
  27519. name: "克孜勒苏柯尔克孜自治州",
  27520. cp: [74.6301, 39.5233],
  27521. childNum: 4
  27522. },
  27523. geometry: {
  27524. type: "Polygon",
  27525. coordinates: ["@@ˎǫĠƽ°UUĉ¯±ȁÑmƒ„¯Ýōˋō™wUű»ÅƑ°ƒȘ@²¯ɳʇ`ɱŃ¥՗™ɳȗōkȭšșW@kəJóÔƩ`ĉ£Vů¯wU°ʇĊ„ÈÒ°aĊÞÞJŁċƧīĠyĊ²XôÇxÈÆÆ@„ÞʈƒÅ»™XÞīU›Ƒkm„ŹÝ@aŎÅÆīƨĕ@™ż`Ċk@љƒĠ@ŦÑ@ǵÇÿ@ÇÅŗl¯ğJ@™ÇUkçġÒƏÑÝ@ţéWĊôŚUŽóXUġkţ¤ķ@@ƴōĊó@óÔğƒ¯„ċ@@Қ¤kôˣŰ͓„k»ƒKX¯ċwƧôğɐšÒôIVƙš¯UķǬķšnŽ™¼ôb°ÒȰVVÈÞ°ƒĸó¤V¼°„V°²êƒlĢ҂Uƨ¦ôȰƴĊVV¼ǖIċĊ„ÞɜéšnČW˸Ǹša„řÈw±īšçĸ¤ĊšôšwšŽĸU̦˜éǖĬ„Āô¼lÞkÒ°x°ƆÞx„šÆV²ǔ»„b°wގȘ¥°n„šŎV@°„„ʠè‚ŰȂb"],
  27526. encodeOffsets: [
  27527. [80269, 42396]
  27528. ]
  27529. }
  27530. }, {
  27531. type: "Feature",
  27532. id: "6521",
  27533. properties: {
  27534. name: "吐鲁番地区",
  27535. cp: [89.6375, 42.4127],
  27536. childNum: 3
  27537. },
  27538. geometry: {
  27539. type: "Polygon",
  27540. coordinates: ["@@ôK„ĉǪa²¼lÜô@ʠê°Ĭ™ôȂƒ²ÑÜbĢóɲ™ĸ¤ŎUô@xƒŽǔ£ъxˎmƒÈÛ@‚_nĕÞōšř„ǫƒğšůlȯ„¯ĸ»U»Ükôƛ°ůkť™»Ŏŗ@¯@±͓óͿ„Ǔ@ķȁ¼Ϳ@Ƒ¼¯°ólġ¯xȗUġšƑ™ǩÒƧUݰ˹Kóššx@ǸōĬÅĬƑĠ󃄚ǔêÆ°XÒʟŤUšÇ¼ˋnn¼±V²°ȂUŌݜbʟǔɅô@żǬaҎÈ"],
  27541. encodeOffsets: [
  27542. [90248, 44371]
  27543. ]
  27544. }
  27545. }, {
  27546. type: "Feature",
  27547. id: "6540",
  27548. properties: {
  27549. name: "伊犁哈萨克自治州",
  27550. cp: [82.5513, 43.5498],
  27551. childNum: 10
  27552. },
  27553. geometry: {
  27554. type: "MultiPolygon",
  27555. coordinates: [
  27556. ["@@ĉ„ÆŘȁ̐mÞ¯ĀX°±¼@ƾ¯ƴ°ŎÝþŋ¦WÜÞbȂĉźUœÇmwVUȂóô@ȰÝ΀nÆJn™ƾ™ʠ™ŌLČóǪ¯œ¥ǔaǖšŌaôÝĢLšx„ƒÆLšɲm„™²VlwÈ@˜Uƒƒ°¯ǖxĊmUÑƨa°Å°WV¹œa›ÇɃÈm¥°¯ŹóĸķǫUm»Å¼ÇVɱ™l݃ŋnķÇÝX¯ƒͩÇɳa——Ý`±_U±ĵnWƒ™a@™ĸóšķ™¯ǓV±ÅĵJċ¹ɅykwDޝ£Åxʟ»ƒlķI¯ƒX¯ķ‚™êǕƒȭnķ»Ź`±„kÞ@Žš„Ýô@Þ°xšŤŎIƨÆUxōš¯²ǔĬǬlUŚ"],
  27557. ["@@ÞĀlꃦ¯ĸŤKޙšƒċƨbš™Vğ—w›ġ¯@ţƽJ"]
  27558. ],
  27559. encodeOffsets: [
  27560. [
  27561. [82722, 44337]
  27562. ],
  27563. [
  27564. [86817, 45456]
  27565. ]
  27566. ]
  27567. }
  27568. }, {
  27569. type: "Feature",
  27570. id: "6527",
  27571. properties: {
  27572. name: "博尔塔拉蒙古自治州",
  27573. cp: [81.8481, 44.6979],
  27574. childNum: 3
  27575. },
  27576. geometry: {
  27577. type: "Polygon",
  27578. coordinates: ["@@ήƛϲÝĠ™„ÈKŌōÿmī„w@¯ɛKV¯ğǟ°Ƒ™wġKóÞŋbǕ™Ǔb›¦ǩ°ċôŋKʟšƽšmšÅImŽͿŽȯÞó@ȁôUVnx›ÈŹVȁĊÝabŻ£¯°l„óxȂŤĸkĊšÞyĊêĊmĢxV„ƨÈŽĠX„ŽΘÆĠÔź‚Ɇţ°LXƾŤŤb"],
  27579. encodeOffsets: [
  27580. [84555, 46311]
  27581. ]
  27582. }
  27583. }, {
  27584. type: "Feature",
  27585. id: "6501",
  27586. properties: {
  27587. name: "乌鲁木齐市",
  27588. cp: [87.9236, 43.5883],
  27589. childNum: 4
  27590. },
  27591. geometry: {
  27592. type: "Polygon",
  27593. coordinates: ["@@šŽWŽôŚUĠȚl¼Ċ¼ƪǖ@źȘƆ@ýlܚXVŘޙš¦V¼kĖó҃èkĊȁˮ֜@ǫ՗nōƒĉǬō„ķÆÅš@„±ÞV˜¼nwĢIôºl£ƾ»UŤJôçšó¯īʟéó@kÛ±»ǩbƒĊóLҍÇǫb@ŻɆóʠǓ›aŋÞȁVʉłĉbĉɅô"],
  27594. encodeOffsets: [
  27595. [88887, 44146]
  27596. ]
  27597. }
  27598. }, {
  27599. type: "Feature",
  27600. id: "6502",
  27601. properties: {
  27602. name: "克拉玛依市",
  27603. cp: [85.2869, 45.5054],
  27604. childNum: 2
  27605. },
  27606. geometry: {
  27607. type: "MultiPolygon",
  27608. coordinates: [
  27609. ["@@ɜÞʊĊýVaŃm»ʵƳƑʝȗīV¥¯ĉ°Ñ@ŃÅI™»ĉmğn™ƒaݚţL°ķóKĵĀV͈ĉłƾNJÆŤƒzXl°ƒÆL²¼źŽôÈĢǔ™¦l„ô°"],
  27610. ["@@ƾIŤ@UUwōa™ĉÝJğÑÆŎkŎ"]
  27611. ],
  27612. encodeOffsets: [
  27613. [
  27614. [87424, 47245]
  27615. ],
  27616. [
  27617. [86817, 45456]
  27618. ]
  27619. ]
  27620. }
  27621. }, {
  27622. type: "Feature",
  27623. id: "659002",
  27624. properties: {
  27625. name: "阿拉尔市",
  27626. cp: [81.2769, 40.6549],
  27627. childNum: 1
  27628. },
  27629. geometry: {
  27630. type: "Polygon",
  27631. coordinates: ["@@nIÇŃÛÝĊÑĠƏō™гwȁ¥Ƨ°ŹÑķV™¼ÞêĊ»‚lĵšm¦ÅW@ĀôÈźaɜxÈbÞÆĶIОŘ"],
  27632. encodeOffsets: [
  27633. [83824, 41929]
  27634. ]
  27635. }
  27636. }, {
  27637. type: "Feature",
  27638. id: "659003",
  27639. properties: {
  27640. name: "图木舒克市",
  27641. cp: [79.1345, 39.8749],
  27642. childNum: 1
  27643. },
  27644. geometry: {
  27645. type: "Polygon",
  27646. coordinates: ["@@VéVÇ™ţ°ğUĠ¯mk¯ó¥ķIġÿƏbƒ„ĉa±ÒĸĀlKU„_m»nwšŽ„m@ÈŤ¦ĉbÞ°±Þżł̦°ĢŁ"],
  27647. encodeOffsets: [
  27648. [81496, 40962]
  27649. ]
  27650. }
  27651. }, {
  27652. type: "Feature",
  27653. id: "659004",
  27654. properties: {
  27655. name: "五家渠市",
  27656. cp: [87.5391, 44.3024],
  27657. childNum: 1
  27658. },
  27659. geometry: {
  27660. type: "Polygon",
  27661. coordinates: ["@@„çôÑlĕU»™¥ÝšUŗ™WkÛ@þVńÝĔ@ńÅþĶUX¦Æƒ"],
  27662. encodeOffsets: [
  27663. [89674, 45636]
  27664. ]
  27665. }
  27666. }, {
  27667. type: "Feature",
  27668. id: "659001",
  27669. properties: {
  27670. name: "石河子市",
  27671. cp: [86.0229, 44.2914],
  27672. childNum: 1
  27673. },
  27674. geometry: {
  27675. type: "Polygon",
  27676. coordinates: ["@@lŁ—ǵm‚ĉ@mż™¼n°ÞmƼš@"],
  27677. encodeOffsets: [
  27678. [88178, 45529]
  27679. ]
  27680. }
  27681. }],
  27682. UTF8Encoding: !0
  27683. }
  27684. }), i("echarts/util/mapData/geoJson/xi_zang_geo", [], function() {
  27685. return {
  27686. type: "FeatureCollection",
  27687. features: [{
  27688. type: "Feature",
  27689. id: "5424",
  27690. properties: {
  27691. name: "那曲地区",
  27692. cp: [88.1982, 33.3215],
  27693. childNum: 10
  27694. },
  27695. geometry: {
  27696. type: "Polygon",
  27697. coordinates: ["@@ƨʔĸbܺÞwnxźbÞ°ô@„ĶŽĸIȼĊJŎÈôUšÝƒ¤ǔLސŎ@ĢŽȘblƒôL„ÇźçȤôLš¥ÞIÞ¯Ķxʊťƨ™ƿÑĉXVķŦ¯ȂKÇǕšÑ¯IUš£¯Óƿ£VĕōÞÿÆwƒƑ„£ǖxÞĕ±ÇÝaUÑȃU¯‚UōÈ݃wWŁĵ™±Ý„óĢÿ°IÞ±mÅ̝mÿ„¥°UnÑŤĢĕĶwǬŻͪwŎ¼źÇĢ„Ġĕˎٰóƨ¼Èa‚m@¥°wǔ„ǖ°ŽƨÇŤœšġƨ„ŎŃôbÈÛŎĊ°@Ġw²ÑÞJƃÆb²ƒ°êĊUނlȲƒV„ÈKĊÒĸĉ›»ÅôťUÅǃk¯@ǂÑklǁÅl™Ģ™VÑóƒ@°@„ÛĸƒV¯ƒÇĊ™n¯Uĕšƽ¯m›¯b™È@Ò°Ĭƒbĵ›¼„‚kxķýÇJk£ÝaUÑÅóĶǟkÓʉnĉƒÝ¼Ƒ„ó»Þmn£m™Č¯@ƒȮÿV¯ĸƒ™k@Ýówƒ»ğ„ġ±ǓLō„ƒšV¼Əèķĉ™è±b@Òţ„UÑóakƒl£™Ó@¯L@™ÇlUóȁš¯aġÈÅĕÝLķ¯Ė¯@WĬ—x‚ÒÈnW°ţôU²ǓÓġ²V°¯ôƒǔÝL—ċšk™š»Ý»Ýš¯ÞƒVƒwۄÝÇōͩÈĉċ»ĉm¯£W¥ţKkóġƏW@¯±kōŽÈ›b@җšÇaƒÆ¯a™„ƒkóŽÛƒÇ¦Ýa¯šÝ™ĉ@ǻۄmƒǓxķƛ¯lVĀÅÞġb™™ÇJUÅV™ĖƑW™zō»ōšƒW™n@è¯ÞóVkwƩnkźÇބҙޯƒƒýğÇUxÆÈnè±bĉÝ»ÈуwšwÞ@m»ÈV@ýÇ°ķ™xƒa„ݯXċ¥ƒÈóW@ôkxlnxVÈóĊkŤġ¼@°¯ŰƑL̻۱ŎÝV—Þ›VƒÇÞŎÇakƞ‚š@èğŎĸżšƾ°ÒšLÞôĠKȰĖźVÈÒĠ„¤™VôšŽU„ÈþťL@ôǬÞlÜÈnÇÒUŚ™@šĊƨW°™°Xƒ‚@ČÇþ„ƴĉÒķ¦@ŽĢôWĀôłUÞĢǬ™ź°¼š@ƒôV°„bUÆnzm¤ƽĸƒÈ"],
  27698. encodeOffsets: [
  27699. [88133, 36721]
  27700. ]
  27701. }
  27702. }, {
  27703. type: "Feature",
  27704. id: "5425",
  27705. properties: {
  27706. name: "阿里地区",
  27707. cp: [82.3645, 32.7667],
  27708. childNum: 7
  27709. },
  27710. geometry: {
  27711. type: "Polygon",
  27712. coordinates: ["@@„Çƾķn£myVŃaU¯„ó™@¯»šŹġǫVÝóŁXÿġó@ĸ¥ĊуƳÈý@ċ„Wš¯X¯ĉƧ‚™š@VřÈÑÇmkÛǫÝ@óŦKÇýVƒ™U󚏃£ğÇÑŹUȯĕğLÝó™K¯Ñ™ƽķŻĠō@灙lƝÈbƍÈ݂„œU˜ÝÞU²ō̼ůƒK°ů@¯UK±—ĊƧbōÇmçÈġƒóšÅób™™źóš¥kól™ç™KôĵUƒÅ„VŃķ¥nÅŏm¯¹Å‚™»@ÑǍóxÝkʇȤU¤ķb@ƒ¯ĊÇx¯ĸĉKm°šĀk¦l„„KnĬȀƾÛ¦WÆÅmNJĉ°ōUţ¤UšŎ°šŎKÞłÆ„Ǔ¦ƒÞ™‚™„ř¯bmUÝl¯Um™ğl¯£șwŎǫaÝnĉ̓k@¯™K™šō»ĉn™aÞ»ťnkml™ĸ¥UŚŻkÑťƒĉV™ôó°LôīĠU„ÿĉǕÅz±Kƒ¤„²ō¤¯Ė¯UÝ¥Vĵ™óÈťÝwķșÑk¤ó„™ƒWýĵĕ™„VĠƒV󍃎Ǔ„ķ°k±VU±ţ¦UǟÝřJVљ¥XUċUŎlÛƆǕÆȗƆ¯wŏÞÅ@™šĉl݁óŽƒÒ™nUôńlxólÝôێ±™™LÛôÝL@‚ġ¯X¯ÇUżóa󤛼XÒġŎóLk¦‚ôżĸĠ™¼™KġƆô¦„ÆƑÔĉ͝ImÒ°¦n°¯Þl˜ÝČn„ƒÒšKĠޚĕkƒlýƾťœšôI‚ĖŤÒnƜm¼¯lnżóÞ@Ůó¦™ôƽĖċŚn°Ý°ôÈUƜƒblÞóŽ@Žǖô°UÈƆ°X„þôŽô‚lѢšŽ²Ėm¦°š@¤™XŽĊblܚzkºƒĖmX„šŎWVšóÞn°lĠxȚa°»żLźƒ„b@ưXĠÝȚxĊĕŤaȚ‚°È@„„@èŤ¦Ü¼œW˜ÞkŽÈ@V°lŤkŎ±²¦ƐUšlj°aÈÑŎb̃ŎbÆ¥ÞIȘlššôVÈU‚™šb„kɲĶn„mnXb̼òƾĖŎ@̐ȂÑôÓĠĖʊšĊÔ"],
  27713. encodeOffsets: [
  27714. [88133, 36721]
  27715. ]
  27716. }
  27717. }, {
  27718. type: "Feature",
  27719. id: "5423",
  27720. properties: {
  27721. name: "日喀则地区",
  27722. cp: [86.2427, 29.5093],
  27723. childNum: 18
  27724. },
  27725. geometry: {
  27726. type: "Polygon",
  27727. coordinates: ["@@ĶĖXþš„ôƒl£šÒĸÇÞxÇŦšôUĶÞ¦°V°ĕŎ£ƒ±„£²LÆyĊǖƒĀğVóĬ¯KóôUš‚ĊŦ„lҙżVÆķ¦kšlnŦmݼšbĊmŎ¼š™šL@°„lĊĵÞmǬbƍȚx°¤Ġknš°VÞkVn°aƒŚš‚š„Ýǔ¥ÅƒÝŁōL¯™ōV™Ť£ŎVĊ¯nljƏXÅÜ¥ǿƽmīƒLkƒl¥™ÿn¯ĊL°ķÈw°ĉ@ƑĸaV£ʈȣÞlôwȎ@Қ¼Æ°ºŐnmÆĸ¦UńƃV„ó͚LšèôkŰlĬ™¦Źôššôa™Æ„ôÇĢnèŎÈƨa˜ĉ²‚VLĢ»lţôĉUǂwkmlw@óôX„ÇȦ°WƒÞ„b‚wĸšÈ¯@þÇUn¼Ý@™x„xÇńÞ¼Ċ޲amçÅÇVwĠȄþ°„šÝƒÑÈÝlŹƪmlxôU°Ý@çšm„XŎ™Ŏ¼šyƒXšĕÆUVÈIššĢaÆÝUÿ°kĸƜǔwn„܃ȼĊ@ޚ°™Þbȥ܄ô„lšƒ°b„ÅÈb˜™@ќa‚ǯUU¯Vġš»ƒ™¯aV¯Ç°Å™mnÑŤçǬVǬ™±ĉ¯¥Vĕ¯Ýk£˜ō—w@±ġÛ°ÇVїƒ@ۘa@ČL™Ƴ™„ƒÇa¯¤ÝIĵ¼U¥ƿōķÅţŻókÝóĕ‚¥¯™U»Æ£X¯ġŃÛkݰV°ó¼¯èWôÞĖ„ȎƒŽkĀƧĀówm¥¯JŹÝJݙōVVŁaݐƑ@ƒ˜ğŭǂ¯_ƒ˜ĵ—›VnxŃón›ƒĵxÇĖĉVÝÈğV™Ò󃯐±Żĉ£ķÆÅL™Ljĉý˜ţۃ¯VƒnV¤ÝÈ@°ÅÞݤ™ŰğŁm¦ÝxóKƒ¥ɱÈUĠôêVôÛ¼ÇWÝçĵaō¦óĖƧlÇĢƑŽnŎDŽV¼¼‚ºÛ@m¦ƽ„ĉmm¯ÝKÛç¯bŏłĬ™bƒ¼ÅLmŽ„xť°ÅU™šÝXkŽÝmĉ¦W„¯K„ÒknÝaV„Ýè¯KɅńÝKnÞ¯¼"],
  27728. encodeOffsets: [
  27729. [84117, 30927]
  27730. ]
  27731. }
  27732. }, {
  27733. type: "Feature",
  27734. id: "5426",
  27735. properties: {
  27736. name: "林芝地区",
  27737. cp: [95.4602, 29.1138],
  27738. childNum: 7
  27739. },
  27740. geometry: {
  27741. type: "Polygon",
  27742. coordinates: ["@@‚VÈłVôÈk@š°K@ŽšÔk¤l„ôbVÒŤƒ@ѲašçĸĊƐçU»„™ŎƒǔK̲Ġƒ„¼ôx@ޚlƨĬ„Ul¯ÈLV‚šÞJ„°Ünʊ„wÜbXê‚VÞ¯°ššanaU°wƼɴÑWѰmÈýÈam¥Þ£Ť@„¥ôblÞĢ„ź¥ôxÈÅmݚ™ƒĕŃV»ĉōŤōnóƒ»ÈīķIUƒĠѰġĸLÞ¯VÒÆ‚@bš¼WôÈ@V¼ôóŤKÈÑU»šwVǫżnWÒÈx™¼‚lŦ£ĊōŤx²¯@ƒÆƒU¯šçÆ@„¤°£„é°k°lšůÈó@¯ŤÇÈĉƒkkÿó¥ÝXķљÜ@ÒóŚÝ¯°ĉówÇ±¦ÅJUÒĉĀķw¯°m˝„±akxÝÅnƒ™»lуK@¯lU™¯UVѯóĊ¯mōğVǓƅƒÞƒWÝÈÛ@ƿô¯ÜġzÅþ¯ólmôʇġĊÅUͿřŏȁˋŁóÇˡōƧƒÇb™w°Ķôk¦šÒƒnUþġҙÔkǔķèó@ƒ²@ŘōńĵyƒzġaݤÅIƒ¤Ƀť¦ğѯ¤ķbóš¯ó±ŽU²°¤ČÜVnÈÆ‚„ŚŎ°ôĢ„þÆzèVĀǎĀǘƒXŹÑ¯¤ówċķk¦šłUÒġzÇ@ƒ™ÆÝx@²Þ@Ƥ„Uô¦Uš°x„U"],
  27743. encodeOffsets: [
  27744. [94737, 30809]
  27745. ]
  27746. }
  27747. }, {
  27748. type: "Feature",
  27749. id: "5421",
  27750. properties: {
  27751. name: "昌都地区",
  27752. cp: [97.0203, 30.7068],
  27753. childNum: 11
  27754. },
  27755. geometry: {
  27756. type: "Polygon",
  27757. coordinates: ["@@™ŽVĖm°ĉš„ÈU°ķ„ƒÜ¯@@ô„UÒġškš‚ÆkÈlށÒ@Èl°È„VÆóŦƂœ¼‚a„ÅĢ™Ʉwnōw@¥Ŏ¦°ŹÞmVš°wnÿƒw„wÝw@¯šmÞŗ°wĠ˜ĸkÞğlĔ²¦°@„ĕĸwVóšal@nĢÇĊn°@¦šŽźUXçǔůĸVš™ÆK„ÈÝĠš²ÅĔô@lšŽÈ_m˜„zǖl„šaU¼ôwV°¯¦‚ĬÈa„l@Čǎ„¼™„nŽ˜I„xô»ɜ@ƨ¥ɆŁ„ŃǪȁkƛƨȍʊȡóĭ›@—ÈÇVƒůރĸƅmēƨť™ÅÈʉVǵ°ġVŭÅɧ°ÿnɛš£mƒķ²ŃóÑUĉ°mÇ»¯@mxUèţ°ȁÝç„ġU¯ÆÇţÈ@°Çô™Ű¯k¯lƒê¯¤ƒ£Å@™èV°Å„@„±°ţwĉŎť¤kš»ÇwXÑŻmUǬ™xV¼ÇÒţLóôU»Ç@X󙻂a@ÿŁUÑݰķK¯ĢğÒV„ĸJÇĬ„¼môţŎĊŎU¼Æ„„Ė™šnÞÇÆówʦġƒkÝóaƒ¦ţ@ݤn¦ÇbÇþ¯nXÒɳÒÅ»¯xVmb™b¯™Ý°UWéÛaƒxʉÛmƒ¯ÝI™‚UÇKk°ƒVƧīķ„U°ȭĀ@„ċ°nšm¤Ýnô¼ƒƒÞ»Ċ„ʊmlÔĵǠÆôVÒÞbl¤ÈIĸþlwƒœ»ĶŽ„a¯ī@њǰanœƾ°"],
  27758. encodeOffsets: [
  27759. [97302, 31917]
  27760. ]
  27761. }
  27762. }, {
  27763. type: "Feature",
  27764. id: "5422",
  27765. properties: {
  27766. name: "山南地区",
  27767. cp: [92.2083, 28.3392],
  27768. childNum: 12
  27769. },
  27770. geometry: {
  27771. type: "Polygon",
  27772. coordinates: ["@@°ÞU˰¦²ĊôÇÜLǖĀɜŽȘŰÞLĸźêÞ@UÜUŤ°ɞ¯Ü„°WŦĀmŎ„¦ĢyVљŁl¥Čĸôx°£źÒ„Wȗ‚ÿȍUÿ‚çÅyƒýóġō¯ƒřŁmÇÛUċޝ£V±²°ôô™ĸa°£ĠÒŦ¥ɄŽ„£ÆJÞ£Ģb„yĶzŎŃ@ŗ„±ô@ĸçlǓšÓĢÑVý„m™Ñl¥ĵó‚¯̻̥™ƛǫÝһÇƧĉyţ¼ҍēVĶĉŎ°ĸmšÞVÝĸ™ÒÛaċ„ó™ŹĖƒèÈÈl¼k¤ÝX@`ސŏ¼Æō¼ÇçĉKUÝÝ£ğ¤@¦ġl¯Òġĉ¯óš™móxÝÞğVšƴċK@—b@ܘ„UÒ¯ÈĢÜ@²˜x—Ŏl¤"],
  27773. encodeOffsets: [
  27774. [92363, 29672]
  27775. ]
  27776. }
  27777. }, {
  27778. type: "Feature",
  27779. id: "5401",
  27780. properties: {
  27781. name: "拉萨市",
  27782. cp: [91.1865, 30.1465],
  27783. childNum: 8
  27784. },
  27785. geometry: {
  27786. type: "Polygon",
  27787. coordinates: ["@@Ŏ²l@°‚XĢƐlôŤLX¦°¤ĊnȼÇĊŎͪÞÈ܃„x„U°Ýޙ޼™¼lšČ™˜ŽÞK„Ǔ°óU¯Ģ±ǔÔV±ŤóX¯ÇmÑ˜wXī°@°ĕĸÞKÆĖĢǰbȂ™ÇفUƒV¯wV™ó¥ƒVÅ£Ý@@±ÞwšÅ‚„È@ƒ¥nōťÿ¯Xۃɝ°ţ¯ÛVVÝ@ŹéķÝKȗůɛǕÿÛKóÈǫšǫUţèmҚn¯Æ°ÈU‚°b„š™¼UĢV°°V"],
  27788. encodeOffsets: [
  27789. [92059, 30696]
  27790. ]
  27791. }
  27792. }],
  27793. UTF8Encoding: !0
  27794. }
  27795. }), i("echarts/util/mapData/geoJson/yun_nan_geo", [], function() {
  27796. return {
  27797. type: "FeatureCollection",
  27798. features: [{
  27799. type: "Feature",
  27800. id: "5308",
  27801. properties: {
  27802. name: "普洱市",
  27803. cp: [100.7446, 23.4229],
  27804. childNum: 10
  27805. },
  27806. geometry: {
  27807. type: "Polygon",
  27808. coordinates: ["@@U‚ô²‚a@޲²Ķ¥œV°šĶ²bl¤kVxl‚@œ°‚ڲ@˜„„y„@ô¦¯„@xƒxVxU„VššbVšÜm¼Ŏ„„ĢmºXXWÆ@œšmŽmXU°ÅÒm¼Þx°w„@°‚XêĠ°»nV°U„l@k„@V±ôī@£‚ƒČŃÆ£„KÞý@¥‚k@y„a@—nWV„UVƒšwƒmƒ£Jƒknm@wmkn‚X„˜šX„¥mUUlUnbš¯°ŽnkƒVInlIUw°n™mk@@mlanXlanmšk@wVWUw™_@éĠašnmUaÜ£ƒmXƒ¥¯@@„óUmݯ¯ÞÝlKnxô£š»„»Ġ„J°aV„UÝÿV¥ÛbƒI@wmŽón¯yÛL@ƒWkŎmș`IWa¯K@¯mUnmaXm™bmak„¯ŽƒĢ™ÒÝm¯mV¯KÇb¯KۜWW™X@a™V™knċLUWV™kXóW@k™a@ƒób¯Uƒwmb¥UUlaU¥U£ma횃KXkƒmÝ@kwmѯk±ċbUUVakaġ¦ƒƒkL@`ƒœ™a¯xƒm™Åƒ™LUWƒ@ċnŎUV°LkL@b°°@¤š²ƒ‚šnôôk„l°kè›ÒÈzV¤È„WôôƒnV@„ƒ¦@¼Ux"],
  27809. encodeOffsets: [
  27810. [101903, 23637]
  27811. ]
  27812. }
  27813. }, {
  27814. type: "Feature",
  27815. id: "5325",
  27816. properties: {
  27817. name: "红河哈尼族彝族自治州",
  27818. cp: [103.0408, 23.6041],
  27819. childNum: 13
  27820. },
  27821. geometry: {
  27822. type: "Polygon",
  27823. coordinates: ["@@°°nÞôV@ƒ°@„¦WŽ„nÛ¤Vbmn™ğb@êš`VxUX@xš„ÆÞUnn˜WÞĸ̃šÈ@ŽÇè@zÛÜWšÅêlš²„˜KnV¯ĖĊx@bk@@„°JÆ£Èbl„nnm°nlUkVUUwVm„Kn„‚nVŽÞxVLX¥laX@@xl@VzȎVmšk@b°šÈĸmŽV¦`W„XšƒbUb‚bX¼°x@ašVVkn@lþnXUlVxŤÅ„y‚IUƒka‚IŎĊ@lXx@b„z@‚ô„ƒ¥„_V@l‚n@„ôy@al_l`nmƒÈ»@kƒmXwWK™U¯»™a™Å@wƒmUÝKUa™UUƒ™wWƒ@w²»@kƃV£—mm£VKkÑV@@»nwƒ¥™ƒ@kƙnllIVlnLVakalknJšWmnaUaVÑVVލn¥m@ƒ„¯Uÿl™@™™™VçƒaXaV¯UyVLVkš@nJlšXLlŽkxlbla²Òl@nVJVkšx„KlkUaVķÝÑU@Åm¯@±™Uó°ğńķĠmU™Ñ@ǯ¯Å¼@nml@°¯¯`@w™£@¯Çƒk@ƒ»nmċ¯U»™I™Ž¯LÇĶÛn@bó°™U›šwmޝ„™Umǯa„™ƒ™ƒI@ykIƒVUޝbƒIğŽƒ¼™¼ó¤mwkLÝÞ"],
  27824. encodeOffsets: [
  27825. [104243, 23429]
  27826. ]
  27827. }
  27828. }, {
  27829. type: "Feature",
  27830. id: "5326",
  27831. properties: {
  27832. name: "文山壮族苗族自治州",
  27833. cp: [104.8865, 23.5712],
  27834. childNum: 8
  27835. },
  27836. geometry: {
  27837. type: "Polygon",
  27838. coordinates: ["@@šwô„š@²¯maUmôUÆxš@Xš˜bÞInlVUVw„JVaU„K°¥„xmÞXnlKlnna°@ĊČ„ÆwUmnkl@°ƒƒ£nyn@VV@Vak™ƒ@@kÞ݄bmx°Vnw°klÞInĖÞVlKl™@Xa°„„KlV„U@šJnx‚U@ÈĢbUKlm@ak_‚wšanWUk°ƒl»„k@Wk@lwU_ƒ@UalóU¥ƒÇnƒ™kJWƒ@mVXx±bƒK@nV±a@™Åa™£ÝK²ƒWknamKknǏk¯ƒaV™™V¯ĀƒU™„™Ò¥ƒI@mm¯¯xōW@@`k@ó»ƒUU¯lm£ÅWlĵ„w@mmwÅmWU@y±U—xmwU„¯Uƒ¥Ý¥¯£m@kŽÇVUV°VbklƒL™wUlUIm‚k@±ÑkbkalwkWKk™mI™@UlUKVzU°Wb„bU蚚@škšVƒ°@„n‚m¦ÝŽUUUÒVbmbXn™‚mIkllbUbmKUkkJmkŚ@lš„„¦mx@¼U@lÒULn¤˜nU¤Å„@l±¼@xX„šxV„šVVbÞLVŽ„n@xšÆšb°¼šV"],
  27839. encodeOffsets: [
  27840. [106504, 25037]
  27841. ]
  27842. }
  27843. }, {
  27844. type: "Feature",
  27845. id: "5303",
  27846. properties: {
  27847. name: "曲靖市",
  27848. cp: [103.9417, 25.7025],
  27849. childNum: 9
  27850. },
  27851. geometry: {
  27852. type: "Polygon",
  27853. coordinates: ["@@ȦlKÞĕUV¯Um¯„ÇVUnVVUƒĉn™ĊÇƾLn°°È„JÆw„@lbÞa„¦V„XJ°¯W¯„aÞJVkUša„ƒ@lKnÅmWUk¯a¯»@m±@уkkbWWX_WÓU»_l™kÑm@U»m@l@IWċn¯l@VanV„UV™UVwVx„KȄVmUē‚@„ƒn@VÝÆL„w„VVwnVlmkUVÑǰka@k™ÿÝaÞUl£™›—ċĕX±±ĉƒa@UnVnalónk@wl™UVmkÝJ—aW™™@ÅwóVVnnb±°™@óƒ™xXLWx„n@lǼn„m‚k_k`@bózƒ‚m@kU@ƒ`„¦óƒ@nWš@ÜÅXWw@ƒyƒb¦@ÒlnUb@x™lܐk‚@²Ç@Uƒ¯bmy@kV@bƒb„¦U`lLVx@b—Ll¼Þ¤@„°VVބU@WސUb›J@nnš@lnnm„šxUŽƒUUbƒK@šÇwklkUƒVWakn@ŽlbU@@„ULVxkKUn‚°¯Ò@¼™„kmƒ¦m@kl™Ȱ@lU„l¦„@Vl°wšnnþĊUÆbUx™b„ŽV„šĖU°„a‚nnašV„al@@b"],
  27854. encodeOffsets: [
  27855. [106099, 27653]
  27856. ]
  27857. }
  27858. }, {
  27859. type: "Feature",
  27860. id: "5323",
  27861. properties: {
  27862. name: "楚雄彝族自治州",
  27863. cp: [101.6016, 25.3619],
  27864. childNum: 10
  27865. },
  27866. geometry: {
  27867. type: "Polygon",
  27868. coordinates: ["@@mҁXU`Wnšš™@Xl±¦š„Uxnbl°knmKUx„„ƒxVôUx°¼ôÒȄ°JlnÞKĠœW°¦ƒ„Vx²JVwš_°¥@UV@@wnymknK¯I@‚™²b°ƒš£V¥šwU‚V„¤nLškÆJÈwôô°„l»Č¯ƒġVƒUU@@ƒ°ƒƒÝXl@U»°Å„@U„¯@w±¯VmUUlm@m™„ÑnIVyUwmak£Vwm±—@Çw@nƒ@UxkwlÇnL‚mkř@±Žk™ka@kóJV¯Ç»U£lw¯™Xalbl¥¯UXƒ@a˜™UaÈL@ÇVIVƒkaU¯mm™akLWkUJ¯Umxnšƒ@ƒkUx¯xƒ„mWÅīÝkkbƒŤƒbkxWmXwWk¯wƒKkƒƒLŤċń„@¤óĬU²ƒ@@lƒk¯VmU¯¼@xV@k°l°kbUš°nm‚VnUš@°„š„UVèރÆbUÒÞnU¦›V—¼lô„@Vl"],
  27869. encodeOffsets: [
  27870. [103433, 26196]
  27871. ]
  27872. }
  27873. }, {
  27874. type: "Feature",
  27875. id: "5329",
  27876. properties: {
  27877. name: "大理白族自治州",
  27878. cp: [99.9536, 25.6805],
  27879. childNum: 12
  27880. },
  27881. geometry: {
  27882. type: "Polygon",
  27883. coordinates: ["@@lbœKVIUa˜@²m@b™xôÒÜxXLmbnšl@š„„K°šš¼k„Uô‚xôlV¦nJ„Uš™Ænšm„@šx„ÆwšbXšÆôô„LUVwôK@wlmšaVwœ@WknmƒIUmlnJla@_™@kÝmKUašÑm¯Xw°aUaVl»²JV„bÆJkôͲVVk„mšbVwUó„wƒƒVwnLlmk¯maVw™ƒ²¥Wkš@™™XmV_‚WnÑUkƒ@k󘻜UV¥ÝmVÑÅa݄UçƒVƒ™@¯V™Umn¯mV™lak¯l¯U@@wğŽW鯁ƒ@¯xÝw¯š¯Jċa¯U¥mLU¤„bÞȤƒbÇLWUwmIUVW¼kbš`U„Vb¯L±ĊÛkƒÿÝKkwƒKţê™UĉþƒÈƒV¯ÞVbUްKVšk²Ý‚mI—ƒmV@kƒm™UkšVxm„¯KXÈķJU¦V°ULWxšL@môƒšb@bkx±LnVUŽVLnkÜWnwlLŃmW@kkJU_ƒV„šWĊ„Þ"],
  27884. encodeOffsets: [
  27885. [101408, 26770]
  27886. ]
  27887. }
  27888. }, {
  27889. type: "Feature",
  27890. id: "5309",
  27891. properties: {
  27892. name: "临沧市",
  27893. cp: [99.613, 24.0546],
  27894. childNum: 8
  27895. },
  27896. geometry: {
  27897. type: "Polygon",
  27898. coordinates: ["@@‚xĢ„l`²X°ŽV„šx@x°Þ°KXašğUњW‚bnIl`X²°b„xl°„„šV@xVxk¦mb„l@xšXV‚ÆzX¤™Æ˜k°„kx@lźêlaX»VUnJVx‚XÈK„aÝȣƒaV£nKV¦°‚Čb°I°™n»ÆÑV¯nWn›™@ÿXÅWWn¹ƒġōƒn»‚ÛU™™aU™VƒUw„w@w°ƒó¥ƒ@ƒz—ƒ±@ř›¯@kUwlk£±aĵޝ™›Uĵ¦±±@bó±VÝ@ó¤ƒw¯I@mńóm±XޝIólƒK@š°Ullb™zkKlln@@ԙºƒUmVk²ôҙx™ŎUVóLƒb„ŽmÈnŽmbnl‚a„x@z„@Ǝ„¦kš"],
  27899. encodeOffsets: [
  27900. [101251, 24734]
  27901. ]
  27902. }
  27903. }, {
  27904. type: "Feature",
  27905. id: "5334",
  27906. properties: {
  27907. name: "迪庆藏族自治州",
  27908. cp: [99.4592, 27.9327],
  27909. childNum: 3
  27910. },
  27911. geometry: {
  27912. type: "Polygon",
  27913. coordinates: ["@@W™Xwƒ™@akk@y›—k°īX¥›Uóķ¯w@n»UaVaUۃ¯ƒmV¼k‚™Þċô@n¯xÛÒm„V‚¯Ô@xƒ‚@šk™wm™Åa@ƒUa‚݁¯VŃyV„a@ÿšn»ÝVmank™mmÞÅôƒ@n£±›ğzÇmU¦™Vm„nÜmbn@°nV@xmzÅ@mºV¦k°ln¤š¼õô„n@xkƃIUxUš@Ťƒ¦VšmVkmkXW¤XzVx@ƚx™¼ƒÞ¯b@lVš™ĸގV„m¼XŽm¦V„ŽÞ@Ǝš¹Vón¥ÆKn„‚KX¯x@èĊȱłXšaÆxnlV@UÛlȻkğV¥„m²ljmÅÞĕƒƛm°„ÆmX¤mznƃŽV¦ÞVVb°bnÞWbnްl@V„È@„‚VĵĊ±@ó„InxÆw„¥@£Þ›W¯ĸ£UƒUK‚ƒk±akkkbmWmÈķ„aÆÇU—ȃÆW@wmknmU¯"],
  27914. encodeOffsets: [
  27915. [102702, 28401]
  27916. ]
  27917. }
  27918. }, {
  27919. type: "Feature",
  27920. id: "5306",
  27921. properties: {
  27922. name: "昭通市",
  27923. cp: [104.0955, 27.6031],
  27924. childNum: 11
  27925. },
  27926. geometry: {
  27927. type: "Polygon",
  27928. coordinates: ["@@mƒnK@wmƒUř¥mšóXǓŏmX@Ž—VƒmL@xţ™nk@mlUšŻÒğŋ@ƒL@mmLkm™š@b™XŎW¼ka¯lÇŹ¯aÇ»™ÝÝ_@m„@@a™@UklwUm@ak@ƒb™UmbmƒbV¯™ĕUƒƒšaVwÅaĉVmý™m¯xUkƒ@k¥VƒUXƒ¤VÈm`@„—ńÇÜ@Ākn‚ĔkƞÆĠ„™Þš‚U„VôƆÞI@ŽUxƦn„l@ĊĊnxUÒ°¦Vb¯WUnWށIml@xn„Ubô¤‚¼ÈxlI„»šKVš„@ÈԂJkšU˱ÆVb@nœ„VÜVUVƒšL„wĠl„kn„Ġ@nx°¥Æ„²mUwƒ@m™mÅUl¯UњÑUm„Lll„Il±š@VkwƒW@w°@U»™kUóI°ƒ„»ĢтL„™š`nUĠ²lm„bôV@n„JUxƦX¦l@š‚ŎUƒV„@lV„KVřV£UaÞU™ƒnW@¯VU@ó™"],
  27929. encodeOffsets: [
  27930. [107787, 28244]
  27931. ]
  27932. }
  27933. }, {
  27934. type: "Feature",
  27935. id: "5301",
  27936. properties: {
  27937. name: "昆明市",
  27938. cp: [102.9199, 25.4663],
  27939. childNum: 11
  27940. },
  27941. geometry: {
  27942. type: "Polygon",
  27943. coordinates: ["@@n@Vk‚VUn²°@xƒ°Vƒ@¯ÆV¼k@WŽ„Þ¯„@„@‚VVU„„Ģċ°k¼V„Ċxœ¤Ōœx°mVkƒÑȏšL‚°„x°Xœ°VmĊLVxU˰bX¦VW@kšȯlkn@„¥lnšƒ@»°Ñ¯VmlLUwVK@ƒV@ka@lmXb„UlVlkÈx@™„LVa„VV™wnƒmm@km™@mœIVaݏ@XƒVUݯU@ƒÝ£k»˜K@aUwkKV_ƒ¥„a@alU@nz°aV„È@@±lÛšk@wVakm@т¥„a„z‚@XxÆW@ÛX™@m@ƒy@aWw@kōĉJlbV„JƒzţÆUwVkmWkým@Ul™U@b¯wVºƒU™VUêšĠƒXUaUbVĊUŽWXUmkK™™WnUUU™V™ƒƒVV™Ý@kk±‚™¯ƒƒLkƒš±WkXlVklƒ@ƒwXbmLƒ›VUIVmk@Ubma@kkaVKUƒ™kmlXLWn™J¯ÒĊ°@zkºlLUŤn@@n›ô@lƁnmKkÈlxVw„@@mÈx˜@n²Uxl¤nbVxUzmJƒÒnš"],
  27944. encodeOffsets: [
  27945. [104828, 25999]
  27946. ]
  27947. }
  27948. }, {
  27949. type: "Feature",
  27950. id: "5307",
  27951. properties: {
  27952. name: "丽江市",
  27953. cp: [100.448, 26.955],
  27954. childNum: 5
  27955. },
  27956. geometry: {
  27957. type: "Polygon",
  27958. coordinates: ["@@l@™„@w°ÓUnƒÜѰw@mČóšÝlU»n°„„VÜUbVbm¼@ްxôĸœVW¦¯Ĭlœ˜@zll@b„šWxXš‚a„X@ÆĠÆaXwl@XaƦn¼˜Jn@mnKW¯È»V¯°ak™VanXVwl@VyUĕVU„bÈīlaUk°ƒk¯lƒ²V˜Ukƛô@ƒ„I@mVwĊa„™ƒVaka„™ÆbUŽVLšaXIWKUw™ƒ„aWÑÅKUaVk°ƒ@Uw„ƒ¯¥›XğÝLkm¯Iǃóѯ»™aƒnUl±UĵÿlóÅIƒaU‚±Ik¼UŽVb¯bWxn°™ÒVbnLlޚ@@`kbmIkŽVn„JmnXl›@Ux™bkn@xóLUxVŽƒKóóŐW™™aÅxƒŽ™wƒ@™nÅm™šƒV™„ƒôX„ƒLlVU¤ƒb¦m¼™Ž@ƒbU‚„zUƂ°ÞVb@„Æbnššx"],
  27959. encodeOffsets: [
  27960. [101937, 28227]
  27961. ]
  27962. }
  27963. }, {
  27964. type: "Feature",
  27965. id: "5328",
  27966. properties: {
  27967. name: "西双版纳傣族自治州",
  27968. cp: [100.8984, 21.8628],
  27969. childNum: 3
  27970. },
  27971. geometry: {
  27972. type: "Polygon",
  27973. coordinates: ["@@l²°ŽnÒlxÞ@„nWl„Lĸ™nbV¤V¦kbVV‚¦na„x°Vôa@„šb@lôXlWUšVXČKlmššU@bšWXXܛ°LÈa°LnU°‚ÞnšÑ„ġ°lƒnbšaƒ¯¯KWƒœó@kmK@UšĉV@k°„VV¹„a@y‚_ċl_nÓlL@anI@ƒóWl£VU—ƒl™kĕl™šKVw„U@™kVƒam¯ÅL@bƒ‚Ýk@Vn„UbÇbÝwÅ@ċ¥¯lk‚¼ÅŽ™Ò°b@¦nlUn@ŽÇV„mƁbWôU@ÝÅōm™¯ƒaU™™mk™WWw—@±ƒ™n¯U™è™a™Lƒ¯mƒL™škwƒl@°mnÈÒ¯šów@V™xƒĀU¤°Įƒ°Xl"],
  27974. encodeOffsets: [
  27975. [102376, 22579]
  27976. ]
  27977. }
  27978. }, {
  27979. type: "Feature",
  27980. id: "5305",
  27981. properties: {
  27982. name: "保山市",
  27983. cp: [99.0637, 24.9884],
  27984. childNum: 5
  27985. },
  27986. geometry: {
  27987. type: "Polygon",
  27988. coordinates: ["@@X°„Il‚@¦ƒŽÈ¼m¼ÞaÞÅl„ÈxV¼šlVôÈÆlLޣȺlkUƒ‚ƒUw„¯UĕVwĊ@n¦mlnVĸIWǰLnƒUwl™šV„n@lnU˜„nJށl±U™¯LVUa°Ý„U„ÇĊýšVŤé„LlxÞL„ĀÜl²ĉ°KUaVƒ™_Źé@klw¯ƒlÅ—šW£ÅyU™W@wƒknal¥Uw@w™Uƒƒk¯ƒw¯aW±k_mJa™XVҙĠWb¯L¯Ý@w™wUƒ¯±Wk_ġƒwƒwōKmb@¤„bk°l˃ô„UJƒšVnÅlťUš¯°VbnbWxX„m„ÞššWUĀ™L™yWzÛKmbUxVKkn݃kŽVšĀċ¤Ux„@ޝŽm@ƒ¦"],
  27989. encodeOffsets: [
  27990. [100440, 25943]
  27991. ]
  27992. }
  27993. }, {
  27994. type: "Feature",
  27995. id: "5304",
  27996. properties: {
  27997. name: "玉溪市",
  27998. cp: [101.9312, 23.8898],
  27999. childNum: 9
  28000. },
  28001. geometry: {
  28002. type: "Polygon",
  28003. coordinates: ["@@l„„L°xXlWxXnlw„a„ţlaÞlÆĬnX„ƒ°wVw„l„@m™nw°VVIXllKšbnnV°lbU„UJ@ÈÇKVb—š@bW„°Vk¦kaWb°škxV¤È¼U°ôI@llblš²š@‚@œó@mm@VţkKl¹@yĉ¯°ÑšIXmWKnkšlV„ULlb@lnbVal@UnVJœU‚„nKWa„x„@lkkUlW²X„™‚l„K°„šl²@lšÞUŽ„U‚„UšVšVVXmššlLVnXWVUĉVaVb„W™ğVéšU„VU¹W»aVa„aW™Xƒ‚_U¥nÇ흙@a™lUnǍUyk@@wW@kbW¦UKÝwUmmƒƒLUnVxUVVlk¯mmnƒmkÇaŤ¯I@ƒl@@aĉw°ĕmU—L±ƒk™ÆéX™ÜÛ@yÈç@™Çġ„Ýķ—XmmÝVՙƒ™lmnkbmWkb@nl@nŽmš¯VxkJmUJ„ml¯™°makVVnVƒ¦™Wƒ—Wmnl@xmn„l‚I„¤„n™xU„ƒVUŽmX@˜ƒb@zl@¦Ýþ"],
  28004. encodeOffsets: [
  28005. [103703, 24874]
  28006. ]
  28007. }
  28008. }, {
  28009. type: "Feature",
  28010. id: "5333",
  28011. properties: {
  28012. name: "怒江傈僳族自治州",
  28013. cp: [99.1516, 26.5594],
  28014. childNum: 4
  28015. },
  28016. geometry: {
  28017. type: "Polygon",
  28018. coordinates: ["@@WyX£lWlnnUU™„¥@ţV™Vw„JlÅ@wƒmö󙻂£kml¯U¥n¹Æ@ny@wmU@¯mnamÛnƒšUV¥ÈnĠy²œm¤„@ÆónݚnmlnbÞU‚¥„aV£kU„KWƒ„óšƒmIU¥ókwVólƒ™»¯™ƒL™ƒk@m™naWKÛwóњw@a±n—@VbUJ›LkaƒÝXĉƒ™„UV`lI@lnXÆƑkKmxÛXmlUKVmU²Klw@a™aó„@n™KXwVKU¯V¥mUnkm¥ĉ@UxV˃°Vx„V„klmޙkKWĀkVWšnl°Lnm@°ŽUxlV@nk¦™JVȰŽVÒ@nX°@ÆlUômlnôƒ²nxmłnVV„¯x@Èm°XblVUšl°@xkXU¤WXX‚W„Xƃ„mkÅJmށw±bƒxUīkKmÅVUĖÝèV„kx@š›lX„lnk¤ƒLkŽ‚Ėk¦‚xUššL°‚¯Ė@LnK@b°xVI„¥Ua°Ñ@»nm@¹‚KŎÞÈWln²n"],
  28019. encodeOffsets: [
  28020. [101071, 28891]
  28021. ]
  28022. }
  28023. }, {
  28024. type: "Feature",
  28025. id: "5331",
  28026. properties: {
  28027. name: "德宏傣族景颇族自治州",
  28028. cp: [98.1299, 24.5874],
  28029. childNum: 5
  28030. },
  28031. geometry: {
  28032. type: "Polygon",
  28033. coordinates: ["@@„¥n@°@ƒVwČ£™ÿUlÞ„lmULVwnaÜLXyšzšKVÿ™XݙnƒWƒXwmaUa°¯V™ŦŽÆkUm„™VIƒ„ókĕl¯ƒa@£nama™@¯m¯œó@óyţbġkÅm±ÛammVkƒLwU`Wk@VƒkUmŃlUUKmbkkUVUwƒ¦óް¼šbn°ô¦lºƒz@xšŽ¯„™@UްnƒšU¤ţU„°VƆ@ÈmlnzÞl°¦Æa„xUxƒLkxWƒn@‚š²ŰšW„™‚@°ÈXl°Llx"],
  28034. encodeOffsets: [
  28035. [100440, 25943]
  28036. ]
  28037. }
  28038. }],
  28039. UTF8Encoding: !0
  28040. }
  28041. }), i("echarts/util/mapData/geoJson/zhe_jiang_geo", [], function() {
  28042. return {
  28043. type: "FeatureCollection",
  28044. features: [{
  28045. type: "Feature",
  28046. id: "3311",
  28047. properties: {
  28048. name: "丽水市",
  28049. cp: [119.5642, 28.1854],
  28050. childNum: 9
  28051. },
  28052. geometry: {
  28053. type: "Polygon",
  28054. coordinates: ["@@@V‚bVl@Xn‚UXƒKVŽ@¦nxlUXV‚n„KVmnL‚UV@bn¤lLXK˜²„`nnlJXIVJ‚I„Vnn°KnnVll@VLXWV@UkVaVK„zV@„ƒšVVaUK@U»VUl@@WnUUƒ@wVLn@Vwl@XW°LVbn@VU‚@X„l`@XnKVbkl@XVJlUnlV„„xlL@lnXl„@VšUnV°°„@a„UVLXblWVXn@VVUV@Lš¤VLV„U‚VbnalLUUVX_laVa„WVzXKV@@a@KUmImmXama@kU@yVIUK‚aVa@kXK@aWU@VIUmW@kkVm„Uš@VwUa@K@k@Uƒ`@kUKVk@UV@VaUm²Vy@klUUWUkVmUa@_ƒKVaXa›XmƒU@mUlWkaUXƒ@mmkL@w™JƒnVVÅbWKXa™@@I@aƒJUUÇ@V„UL™W@akLmb@K@a™XXw@mƒVmUVkUy@£@aU@@VkUWm@kUKƒXUWU_mW@wkkmJUUkLWWUXƒW@IkJ@k@mW_kӃ_Ul™Lƒm@I@aUa¯m@kƒa¯LUJƒ@mVVxUb™a@LUKkXƒbm@Uak@@a@Um`ƒIUbUJ@nUVW@@LnVV@lšUbVlUX@`š@blXklW„Ušm„Xlm¦U@@V¯bml@š@nUb@llnn@VbX@lV@ŽUVULmU@JVn„bVbkb™VWxU@@nUVk@"],
  28055. encodeOffsets: [
  28056. [121546, 28992]
  28057. ]
  28058. }
  28059. }, {
  28060. type: "Feature",
  28061. id: "3301",
  28062. properties: {
  28063. name: "杭州市",
  28064. cp: [119.5313, 29.8773],
  28065. childNum: 6
  28066. },
  28067. geometry: {
  28068. type: "Polygon",
  28069. coordinates: ["@@X@l„°KXXlW„b@²„`šššb‚I„šX`l@„@bWl@n@VnLUV@V„@°¦@šl@XVlU@š@xVbUb@Vkb@‚@XVJVz™J@Lޚ@VmLUxUJ@LU„Vx‚b„xXUl@VaÈw„b‚aÞa@Vl@XUVx@V@V„LlbnV„al@lb„Vnn‚LnKnL@VlbVJXalIšb@KUU@mVInJ˜„U„Vl@xUšVLnUš@UÞaV@lkV@UanK„L@UlKVUnbÆmn@@nUlVnVJl@@UXU„L@WVIVJVxVLXV@IÜKnbn@V¥V@@I@ƒƒ„y°b@UUwnk°ÆƨVlUšçXm›£aƒÇ™IkVƒ@WV@@aWIUWUIkb@WW@UnƒK@UU@kaWVkƒVIVVnU@UWVUV@VmVkKkWIkVWaULU`UImJUImm—U@ƒƒwmwUV™IUWVkUamaU@mV—kƒb@KVU@aVU@anKULVJ‚U@kÛU™JUV›kkƒVakU@ƒaVwkW@UWkXmWaULUaUK@XƒJUUmƒVU@UVƒUkJ@ImwmKU@k„@lU„W@@akKm„kamIkWl_UwVm@UkaVUUaƒ@UamakbWlkL@aUalU@mkL@U@U™lmK@XkKm@Ýakb@xƒnXbƒ`ƒnUUU@›™U@™wU@@ƒmKkkƒV¯U@lULUbVbUb@V‚a@L™ºÝb@bLmK™x@VUL@bk@mxULWl"],
  28070. encodeOffsets: [
  28071. [121185, 30184]
  28072. ]
  28073. }
  28074. }, {
  28075. type: "Feature",
  28076. id: "3303",
  28077. properties: {
  28078. name: "温州市",
  28079. cp: [120.498, 27.8119],
  28080. childNum: 9
  28081. },
  28082. geometry: {
  28083. type: "Polygon",
  28084. coordinates: ["@@ll@xnXV`VX„WVL@lXnlV@UV@@b@¤VzUlnV„U@nWxšW@b@LnalK@bšXVKUƒÈ@VV„I@b@Jš@WbXLÆaUU„mšI@xlKnn„@VWlbkXV‚@n„VWnœ‚WbUb„L@`VbUnVlVXkV@lUz±‚VnUbU@@VUlVL@l„_@V@l@LVbV@XLV`VÈlxn@lU@aœaVV‚k„@XJ@nl@@LU`°LVb„L°a@a„UVy@anI@a„a‚nV@²wÜJX@VšVV°k„na@WVk„aWwU@m@™ƒkƒaUĕ™ÝšÝŤnÈa„aóI›»@±X™WkUķ@kV±kw™ƒUkWw„™UƒÝ»ÛkɳlImaUaWóXÿǬk‚UnWVmmk™KţnŏÞğl™„UlUx@XWb„V@JkXƒ°mb@VULVxUVk@@LWWk@WIkšƒUkJmUkVmI@yƒ@Ua™kLm‚U@mUUUkaVk™@mK@UlUU@UmKmbUUUJ@n@KVLUL@VkJWXX`mnULWlkL@JVLVb@°kxkU@LVŽ™V@„VLV`UL@VUX"],
  28085. encodeOffsets: [
  28086. [122502, 28334]
  28087. ]
  28088. }
  28089. }, {
  28090. type: "Feature",
  28091. id: "3302",
  28092. properties: {
  28093. name: "宁波市",
  28094. cp: [121.5967, 29.6466],
  28095. childNum: 6
  28096. },
  28097. geometry: {
  28098. type: "Polygon",
  28099. coordinates: ["@@Ċ¦ĸ°‚nXÞVšKškƨƑźÿ°»n„@wô¥ÜbœU°ÆXÞWóçĉݱIUƒÈ¥@U°wÆ»²mm_@aXƒVKÞVlk@akk›̅@£X»VwƏXWa¯aȗb™KƽۃĊ™xƒLóŽk@ƒƒƒ@¯nƒKUL@xkL›ÑkWULUUmJUXVŽU@mŽUX¯@V`mbXbV@@nn¤WXšx@škJ@nVVUVl²UbÝVUVk@Wx@V@„ƒVXzmlaƒL@VlLU`„XUVVVUnl@VbnJlnUVVnƒlUKkbmnn„VxlJnxmbU@UL@KUV™X@xmb@lk@mnVVUš™è"],
  28100. encodeOffsets: [
  28101. [123784, 30977]
  28102. ]
  28103. }
  28104. }, {
  28105. type: "Feature",
  28106. id: "3309",
  28107. properties: {
  28108. name: "舟山市",
  28109. cp: [122.2559, 30.2234],
  28110. childNum: 3
  28111. },
  28112. geometry: {
  28113. type: "Polygon",
  28114. coordinates: ["@@l΢ƒʠþÆVĢLĊƒǬXĊ܄XôV„ÑÆw„ƒlšƏÈóVĭVǓ@ƒĉwɛkmK@ĉXīWaĉUĵÝmƒ¯ĉƒwĉ±±nż¯x@VǦV„²JĊÞôèÝXÅW¯›VÛaó¦@xƒŽmޝ¼ŹĀ"],
  28115. encodeOffsets: [
  28116. [124437, 30983]
  28117. ]
  28118. }
  28119. }, {
  28120. type: "Feature",
  28121. id: "3310",
  28122. properties: {
  28123. name: "台州市",
  28124. cp: [121.1353, 28.6688],
  28125. childNum: 7
  28126. },
  28127. geometry: {
  28128. type: "Polygon",
  28129. coordinates: ["@@lV„IVWVz@bXJl@Xal@°„nLll@nVxnV„K@UJVbƒ¦°„k`UIWJXnƚ@bUJ„Xl@lb„Wn@UzVV@bVVšmVnnJVXna‚bšKUKnUVVUnVLlKVLXa„Jm£@mU@WanaU_°@VWnV@UVWnIVVVKlXœÒlK@wVK„L°m„@„„l@ô„Kšw„ĉƾůUƒl£@»UƒVk„m@ƅUƒƒaÛIŏmUk@m„w@a™£ƒWk@ţšƒIm±@ankôUlaU™Uw¯ƒōaƒbÇbţm™ÞšÞVĖ„b„l@š@n‚VXxƒbUl@XmbƒŽ¯lUUU™W@ÛI±xU@mƒb@bmJ@bUzƒV@b¯bƒKUa¯KV_@Kk@@mWIƒ@lUU›b@bkVm@kwUÇU_WKU@Ux™@ƒVUnllX@Vn‚J@UXV@bWL@lUbbVLUJ@z‚V@lnbWbnnnJVŽ@L"],
  28130. encodeOffsets: [
  28131. [123312, 29526]
  28132. ]
  28133. }
  28134. }, {
  28135. type: "Feature",
  28136. id: "3307",
  28137. properties: {
  28138. name: "金华市",
  28139. cp: [120.0037, 29.1028],
  28140. childNum: 8
  28141. },
  28142. geometry: {
  28143. type: "Polygon",
  28144. coordinates: ["@@nbVb„@VbUVlb@VUnVxk`lXnJlbnƒlL@bX@Vƒ@klƒV@nLnx@JlI„V‚U@VUVn„VV„I@WVLVbVKXbWnXl@VlXUx„b@ŽlVUbl„œlVUšIÜVnalKX@@bV@@aUUlUƒwUw„@naWW„UVaUUšaVb„LlxXJVk°ƒUƒlkU¥@k„a@LVlXLVlšVWznVn@lxšJl_@WX_@mVa„a@alU@kVVna„KVLlK„b@UUaVašbnUWmXU@k@yVI@ařWmXIVJl_¯ƒ„¥UaVI@ƒLmUUw@mkkmK¯ƒk@Wbk@WI@aUyUXƒJkU@bU@WLUyƒXUbkbW`UVVkKmbUaVUƒUK™£@KVUUUm@UWkXWaUKƒV@b¯ƒ¯mU™V@UkƒmW@kkKƒwUƒmkkVUI@WlkUamL@Wk_Wƒ@UVm@Ua¯KWXk@Uxm@UK@xV„mV@Xk@UVV¼@‚VLUb™Uƒ„U@ƒyULUbVlU@@XlVUVVbƒU@lXXVW@XUVl@@VUVƒÈn@VVU„@lVa@„U„mL@`X@`WL@VUX@lUL@xlx"],
  28145. encodeOffsets: [
  28146. [122119, 29948]
  28147. ]
  28148. }
  28149. }, {
  28150. type: "Feature",
  28151. id: "3308",
  28152. properties: {
  28153. name: "衢州市",
  28154. cp: [118.6853, 28.8666],
  28155. childNum: 5
  28156. },
  28157. geometry: {
  28158. type: "Polygon",
  28159. coordinates: ["@@XkVKnwl@@aVK@UšwnL‚K@aÞaš¹@Kb@UVaUaVaVK@k°V„UllnL@„V@šxV@œšV@VV„m„_Wa„m@wlaÞbn@lL@WnLšk@V@VlK@nkVVb@blKXklakw@wVK@kVW@UXK@_‚W@_nKVƒ@ƒUb@kVƒUUm@„ÇVU@Uk@VU@WUXWW@k„VUaVUkU@WWXUKk@Ukmm¯LmmƒUJUIWJkImmƒ_—±WLkKm£@aVUmKUnƒLmWUkVmw@¥U„LVWm@WUka@UmmLmm@@bUX™@@WUIm@UVUK@UVUUU™VVJmb@b„Xn‚mVƒ¼nnn¦mJUVƒL„V@VW@UzUlVnUbl`UnVl@XU@kl@bmÈUx™Vk@@J@„ƒ¼W@ÅaVVnzmVƒ„@WJk@kWJ@ƒlXbWbXxmVnšlLXb@°lKVXnWšbWV„„X„mbV@Xl‚bšI@Kn@@x@šVLlm"],
  28160. encodeOffsets: [
  28161. [121185, 30184]
  28162. ]
  28163. }
  28164. }, {
  28165. type: "Feature",
  28166. id: "3306",
  28167. properties: {
  28168. name: "绍兴市",
  28169. cp: [120.564, 29.7565],
  28170. childNum: 6
  28171. },
  28172. geometry: {
  28173. type: "Polygon",
  28174. coordinates: ["@@„x@„˜VnnVJnIVJV_VKXblUXJlŽlLUŽUnU@UVVX@ŽmVUUUJl„XUlbV@@V„LVmX@@XlaVJVXXJ@b‚@XU„@lUšJ„È‚bœ¤Ō„JšçV™UUnml@@kna@wšWVU@LVKV@namwkIUwmƒnmlaVL„kUmVUkmmIUak@VmUUVUƒWV_kK@U„K‚bnkWy„U@ƒ@UXwl@VUÞUVak±VUUU@mlI@™™wXWƒIWbUKkLUKVmUUmVVL™LambUWmIUm™nUU@aUUVym@ƒXkak@ƒW@z@lWVXnmV™aUbVb@VƒakLUKƒLmbUU@lkV@bƒbUb@nW`@Xk`™Ikwm@mUXy™UUkWKUk@Kƒb@lV¦klV„¯„UlWIkwƒKUa™bVVUbƒVXXmbƒ@Vx„xkVVV@bU@@aW@kLmb@lVUIVKmL@bUV@bUV@L„a˜lnUV@nbVbUlVXšJVUnx"],
  28175. encodeOffsets: [
  28176. [122997, 30561]
  28177. ]
  28178. }
  28179. }, {
  28180. type: "Feature",
  28181. id: "3304",
  28182. properties: {
  28183. name: "嘉兴市",
  28184. cp: [120.9155, 30.6354],
  28185. childNum: 6
  28186. },
  28187. geometry: {
  28188. type: "Polygon",
  28189. coordinates: ["@@@blIX@@VÜVUnn@l‚k„lKnI°Þl`²LVKVbnbVaVLUVn@W¦@VkVVb„@VI„`@blLnL‚aX@„VVb@U‚@XlVa„@@kVaUKV»U_lWXUƒƒ@alb„k@VllnLVKn@@UVIUw@y°IVVXU@VV@lw„m@wVkƾaœJ‚LkΡƧƒ™l™LÝUmW¯ķÿĉ¥ƒIŋŽWn™èkVƧU¯ÅmlVx@V¯aƒz„Ž@„@JU@U¦m@@šnVmn@V„LV‚"],
  28190. encodeOffsets: [
  28191. [123233, 31382]
  28192. ]
  28193. }
  28194. }, {
  28195. type: "Feature",
  28196. id: "3305",
  28197. properties: {
  28198. name: "湖州市",
  28199. cp: [119.8608, 30.7782],
  28200. childNum: 4
  28201. },
  28202. geometry: {
  28203. type: "Polygon",
  28204. coordinates: ["@@kLlƒkm@VmÛU@UW@kJ@aUƒK@UnmmU@™maÛL@JWUUKUwUIUJ@XƒKWV@Vk@UIUmVk@mm@ÅnmaUVkL@VƒKmLVbU@klU@ÝbV™@mVUKV™@wUkVƒ—ƒmIUJ@nVV@L™akJWbUIka@UmKmLKmmƒUUVk@@nmLX`WXUV@Ž@nUl™kmlU@Ub„„ƒxVVšIlV„Žšnn„@@n˜„UҚ@„°n@@xmb@„VbnV@šš„@b@`@L@L@x@blVklVbnnV@‚aXb°VlU@W„b°U„LXWVUV™„™VwÈwÜ»ĸaĠnUVw²X@V@lVU@wlaUUVm@knUV›"],
  28205. encodeOffsets: [
  28206. [123379, 31500]
  28207. ]
  28208. }
  28209. }],
  28210. UTF8Encoding: !0
  28211. }
  28212. }), i("echarts/chart/gauge", ["require", "./base", "../util/shape/GaugePointer", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "zrender/shape/Circle", "zrender/shape/Sector", "../config", "../util/ecData", "../util/accMath", "zrender/tool/util", "../chart"], function(e) {
  28213. function t(e, t, n, a, o) {
  28214. i.call(this, e, t, n, a, o), this.refresh(a)
  28215. }
  28216. var i = e("./base"),
  28217. n = e("../util/shape/GaugePointer"),
  28218. a = e("zrender/shape/Text"),
  28219. o = e("zrender/shape/Line"),
  28220. r = e("zrender/shape/Rectangle"),
  28221. s = e("zrender/shape/Circle"),
  28222. l = e("zrender/shape/Sector"),
  28223. h = e("../config");
  28224. h.gauge = {
  28225. zlevel: 0,
  28226. z: 2,
  28227. center: ["50%", "50%"],
  28228. clickable: !0,
  28229. legendHoverLink: !0,
  28230. radius: "75%",
  28231. startAngle: 225,
  28232. endAngle: -45,
  28233. min: 0,
  28234. max: 100,
  28235. splitNumber: 10,
  28236. axisLine: {
  28237. show: !0,
  28238. lineStyle: {
  28239. color: [
  28240. [.2, "#228b22"],
  28241. [.8, "#48b"],
  28242. [1, "#ff4500"]
  28243. ],
  28244. width: 30
  28245. }
  28246. },
  28247. axisTick: {
  28248. show: !0,
  28249. splitNumber: 5,
  28250. length: 8,
  28251. lineStyle: {
  28252. color: "#eee",
  28253. width: 1,
  28254. type: "solid"
  28255. }
  28256. },
  28257. axisLabel: {
  28258. show: !0,
  28259. textStyle: {
  28260. color: "auto"
  28261. }
  28262. },
  28263. splitLine: {
  28264. show: !0,
  28265. length: 30,
  28266. lineStyle: {
  28267. color: "#eee",
  28268. width: 2,
  28269. type: "solid"
  28270. }
  28271. },
  28272. pointer: {
  28273. show: !0,
  28274. length: "80%",
  28275. width: 8,
  28276. color: "auto"
  28277. },
  28278. title: {
  28279. show: !0,
  28280. offsetCenter: [0, "-40%"],
  28281. textStyle: {
  28282. color: "#333",
  28283. fontSize: 15
  28284. }
  28285. },
  28286. detail: {
  28287. show: !0,
  28288. backgroundColor: "rgba(0,0,0,0)",
  28289. borderWidth: 0,
  28290. borderColor: "#ccc",
  28291. width: 100,
  28292. height: 40,
  28293. offsetCenter: [0, "40%"],
  28294. textStyle: {
  28295. color: "auto",
  28296. fontSize: 30
  28297. }
  28298. }
  28299. };
  28300. var m = e("../util/ecData"),
  28301. V = e("../util/accMath"),
  28302. U = e("zrender/tool/util");
  28303. return t.prototype = {
  28304. type: h.CHART_TYPE_GAUGE,
  28305. _buildShape: function() {
  28306. var e = this.series;
  28307. this._paramsMap = {}, this.selectedMap = {};
  28308. for(var t = 0, i = e.length; i > t; t++) e[t].type === h.CHART_TYPE_GAUGE && (this.selectedMap[e[t].name] = !0, e[t] = this.reformOption(e[t]), this.legendHoverLink = e[t].legendHoverLink || this.legendHoverLink, this._buildSingleGauge(t), this.buildMark(t));
  28309. this.addShapeList()
  28310. },
  28311. _buildSingleGauge: function(e) {
  28312. var t = this.series[e];
  28313. this._paramsMap[e] = {
  28314. center: this.parseCenter(this.zr, t.center),
  28315. radius: this.parseRadius(this.zr, t.radius),
  28316. startAngle: t.startAngle.toFixed(2) - 0,
  28317. endAngle: t.endAngle.toFixed(2) - 0
  28318. }, this._paramsMap[e].totalAngle = this._paramsMap[e].startAngle - this._paramsMap[e].endAngle, this._colorMap(e), this._buildAxisLine(e), this._buildSplitLine(e), this._buildAxisTick(e), this._buildAxisLabel(e), this._buildPointer(e), this._buildTitle(e), this._buildDetail(e)
  28319. },
  28320. _buildAxisLine: function(e) {
  28321. var t = this.series[e];
  28322. if(t.axisLine.show)
  28323. for(var i, n, a = t.min, o = t.max - a, r = this._paramsMap[e], s = r.center, l = r.startAngle, h = r.totalAngle, V = r.colorArray, U = t.axisLine.lineStyle, d = this.parsePercent(U.width, r.radius[1]), p = r.radius[1], c = p - d, u = l, y = 0, g = V.length; g > y; y++) n = l - h * (V[y][0] - a) / o, i = this._getSector(s, c, p, n, u, V[y][1], U, t.zlevel, t.z), u = n, i._animationAdd = "r", m.set(i, "seriesIndex", e), m.set(i, "dataIndex", y), this.shapeList.push(i)
  28324. },
  28325. _buildSplitLine: function(e) {
  28326. var t = this.series[e];
  28327. if(t.splitLine.show)
  28328. for(var i, n, a, r = this._paramsMap[e], s = t.splitNumber, l = t.min, h = t.max - l, m = t.splitLine, V = this.parsePercent(m.length, r.radius[1]), U = m.lineStyle, d = U.color, p = r.center, c = r.startAngle * Math.PI / 180, u = r.totalAngle * Math.PI / 180, y = r.radius[1], g = y - V, b = 0; s >= b; b++) i = c - u / s * b, n = Math.sin(i), a = Math.cos(i), this.shapeList.push(new o({
  28329. zlevel: t.zlevel,
  28330. z: t.z + 1,
  28331. hoverable: !1,
  28332. style: {
  28333. xStart: p[0] + a * y,
  28334. yStart: p[1] - n * y,
  28335. xEnd: p[0] + a * g,
  28336. yEnd: p[1] - n * g,
  28337. strokeColor: "auto" === d ? this._getColor(e, l + h / s * b) : d,
  28338. lineType: U.type,
  28339. lineWidth: U.width,
  28340. shadowColor: U.shadowColor,
  28341. shadowBlur: U.shadowBlur,
  28342. shadowOffsetX: U.shadowOffsetX,
  28343. shadowOffsetY: U.shadowOffsetY
  28344. }
  28345. }))
  28346. },
  28347. _buildAxisTick: function(e) {
  28348. var t = this.series[e];
  28349. if(t.axisTick.show)
  28350. for(var i, n, a, r = this._paramsMap[e], s = t.splitNumber, l = t.min, h = t.max - l, m = t.axisTick, V = m.splitNumber, U = this.parsePercent(m.length, r.radius[1]), d = m.lineStyle, p = d.color, c = r.center, u = r.startAngle * Math.PI / 180, y = r.totalAngle * Math.PI / 180, g = r.radius[1], b = g - U, f = 0, k = s * V; k >= f; f++) f % V !== 0 && (i = u - y / k * f, n = Math.sin(i), a = Math.cos(i), this.shapeList.push(new o({
  28351. zlevel: t.zlevel,
  28352. z: t.z + 1,
  28353. hoverable: !1,
  28354. style: {
  28355. xStart: c[0] + a * g,
  28356. yStart: c[1] - n * g,
  28357. xEnd: c[0] + a * b,
  28358. yEnd: c[1] - n * b,
  28359. strokeColor: "auto" === p ? this._getColor(e, l + h / k * f) : p,
  28360. lineType: d.type,
  28361. lineWidth: d.width,
  28362. shadowColor: d.shadowColor,
  28363. shadowBlur: d.shadowBlur,
  28364. shadowOffsetX: d.shadowOffsetX,
  28365. shadowOffsetY: d.shadowOffsetY
  28366. }
  28367. })))
  28368. },
  28369. _buildAxisLabel: function(e) {
  28370. var t = this.series[e];
  28371. if(t.axisLabel.show)
  28372. for(var i, n, o, r, s = t.splitNumber, l = t.min, h = t.max - l, m = t.axisLabel.textStyle, U = this.getFont(m), d = m.color, p = this._paramsMap[e], c = p.center, u = p.startAngle, y = p.totalAngle, g = p.radius[1] - this.parsePercent(t.splitLine.length, p.radius[1]) - 5, b = 0; s >= b; b++) r = V.accAdd(l, V.accMul(V.accDiv(h, s), b)), i = u - y / s * b, n = Math.sin(i * Math.PI / 180), o = Math.cos(i * Math.PI / 180), i = (i + 360) % 360, this.shapeList.push(new a({
  28373. zlevel: t.zlevel,
  28374. z: t.z + 1,
  28375. hoverable: !1,
  28376. style: {
  28377. x: c[0] + o * g,
  28378. y: c[1] - n * g,
  28379. color: "auto" === d ? this._getColor(e, r) : d,
  28380. text: this._getLabelText(t.axisLabel.formatter, r),
  28381. textAlign: i >= 110 && 250 >= i ? "left" : 70 >= i || i >= 290 ? "right" : "center",
  28382. textBaseline: i >= 10 && 170 >= i ? "top" : i >= 190 && 350 >= i ? "bottom" : "middle",
  28383. textFont: U,
  28384. shadowColor: m.shadowColor,
  28385. shadowBlur: m.shadowBlur,
  28386. shadowOffsetX: m.shadowOffsetX,
  28387. shadowOffsetY: m.shadowOffsetY
  28388. }
  28389. }))
  28390. },
  28391. _buildPointer: function(e) {
  28392. var t = this.series[e];
  28393. if(t.pointer.show) {
  28394. var i = t.max - t.min,
  28395. a = t.pointer,
  28396. o = this._paramsMap[e],
  28397. r = this.parsePercent(a.length, o.radius[1]),
  28398. l = this.parsePercent(a.width, o.radius[1]),
  28399. h = o.center,
  28400. V = this._getValue(e);
  28401. V = V < t.max ? V : t.max;
  28402. var U = (o.startAngle - o.totalAngle / i * (V - t.min)) * Math.PI / 180,
  28403. d = "auto" === a.color ? this._getColor(e, V) : a.color,
  28404. p = new n({
  28405. zlevel: t.zlevel,
  28406. z: t.z + 1,
  28407. clickable: this.query(t, "clickable"),
  28408. style: {
  28409. x: h[0],
  28410. y: h[1],
  28411. r: r,
  28412. startAngle: o.startAngle * Math.PI / 180,
  28413. angle: U,
  28414. color: d,
  28415. width: l,
  28416. shadowColor: a.shadowColor,
  28417. shadowBlur: a.shadowBlur,
  28418. shadowOffsetX: a.shadowOffsetX,
  28419. shadowOffsetY: a.shadowOffsetY
  28420. },
  28421. highlightStyle: {
  28422. brushType: "fill",
  28423. width: l > 2 ? 2 : l / 2,
  28424. color: "#fff"
  28425. }
  28426. });
  28427. m.pack(p, this.series[e], e, this.series[e].data[0], 0, this.series[e].data[0].name, V), this.shapeList.push(p), this.shapeList.push(new s({
  28428. zlevel: t.zlevel,
  28429. z: t.z + 2,
  28430. hoverable: !1,
  28431. style: {
  28432. x: h[0],
  28433. y: h[1],
  28434. r: a.width / 2.5,
  28435. color: "#fff"
  28436. }
  28437. }))
  28438. }
  28439. },
  28440. _buildTitle: function(e) {
  28441. var t = this.series[e];
  28442. if(t.title.show) {
  28443. var i = t.data[0],
  28444. n = null != i.name ? i.name : "";
  28445. if("" !== n) {
  28446. var o = t.title,
  28447. r = o.offsetCenter,
  28448. s = o.textStyle,
  28449. l = s.color,
  28450. h = this._paramsMap[e],
  28451. m = h.center[0] + this.parsePercent(r[0], h.radius[1]),
  28452. V = h.center[1] + this.parsePercent(r[1], h.radius[1]);
  28453. this.shapeList.push(new a({
  28454. zlevel: t.zlevel,
  28455. z: t.z + (Math.abs(m - h.center[0]) + Math.abs(V - h.center[1]) < 2 * s.fontSize ? 2 : 1),
  28456. hoverable: !1,
  28457. style: {
  28458. x: m,
  28459. y: V,
  28460. color: "auto" === l ? this._getColor(e) : l,
  28461. text: n,
  28462. textAlign: "center",
  28463. textFont: this.getFont(s),
  28464. shadowColor: s.shadowColor,
  28465. shadowBlur: s.shadowBlur,
  28466. shadowOffsetX: s.shadowOffsetX,
  28467. shadowOffsetY: s.shadowOffsetY
  28468. }
  28469. }))
  28470. }
  28471. }
  28472. },
  28473. _buildDetail: function(e) {
  28474. var t = this.series[e];
  28475. if(t.detail.show) {
  28476. var i = t.detail,
  28477. n = i.offsetCenter,
  28478. a = i.backgroundColor,
  28479. o = i.textStyle,
  28480. s = o.color,
  28481. l = this._paramsMap[e],
  28482. h = this._getValue(e),
  28483. m = l.center[0] - i.width / 2 + this.parsePercent(n[0], l.radius[1]),
  28484. V = l.center[1] + this.parsePercent(n[1], l.radius[1]);
  28485. this.shapeList.push(new r({
  28486. zlevel: t.zlevel,
  28487. z: t.z + (Math.abs(m + i.width / 2 - l.center[0]) + Math.abs(V + i.height / 2 - l.center[1]) < o.fontSize ? 2 : 1),
  28488. hoverable: !1,
  28489. style: {
  28490. x: m,
  28491. y: V,
  28492. width: i.width,
  28493. height: i.height,
  28494. brushType: "both",
  28495. color: "auto" === a ? this._getColor(e, h) : a,
  28496. lineWidth: i.borderWidth,
  28497. strokeColor: i.borderColor,
  28498. shadowColor: i.shadowColor,
  28499. shadowBlur: i.shadowBlur,
  28500. shadowOffsetX: i.shadowOffsetX,
  28501. shadowOffsetY: i.shadowOffsetY,
  28502. text: this._getLabelText(i.formatter, h),
  28503. textFont: this.getFont(o),
  28504. textPosition: "inside",
  28505. textColor: "auto" === s ? this._getColor(e, h) : s
  28506. }
  28507. }))
  28508. }
  28509. },
  28510. _getValue: function(e) {
  28511. return this.getDataFromOption(this.series[e].data[0])
  28512. },
  28513. _colorMap: function(e) {
  28514. var t = this.series[e],
  28515. i = t.min,
  28516. n = t.max - i,
  28517. a = t.axisLine.lineStyle.color;
  28518. a instanceof Array || (a = [
  28519. [1, a]
  28520. ]);
  28521. for(var o = [], r = 0, s = a.length; s > r; r++) o.push([a[r][0] * n + i, a[r][1]]);
  28522. this._paramsMap[e].colorArray = o
  28523. },
  28524. _getColor: function(e, t) {
  28525. null == t && (t = this._getValue(e));
  28526. for(var i = this._paramsMap[e].colorArray, n = 0, a = i.length; a > n; n++)
  28527. if(i[n][0] >= t) return i[n][1];
  28528. return i[i.length - 1][1]
  28529. },
  28530. _getSector: function(e, t, i, n, a, o, r, s, h) {
  28531. return new l({
  28532. zlevel: s,
  28533. z: h,
  28534. hoverable: !1,
  28535. style: {
  28536. x: e[0],
  28537. y: e[1],
  28538. r0: t,
  28539. r: i,
  28540. startAngle: n,
  28541. endAngle: a,
  28542. brushType: "fill",
  28543. color: o,
  28544. shadowColor: r.shadowColor,
  28545. shadowBlur: r.shadowBlur,
  28546. shadowOffsetX: r.shadowOffsetX,
  28547. shadowOffsetY: r.shadowOffsetY
  28548. }
  28549. })
  28550. },
  28551. _getLabelText: function(e, t) {
  28552. if(e) {
  28553. if("function" == typeof e) return e.call(this.myChart, t);
  28554. if("string" == typeof e) return e.replace("{value}", t)
  28555. }
  28556. return t
  28557. },
  28558. refresh: function(e) {
  28559. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  28560. }
  28561. }, U.inherits(t, i), e("../chart").define("gauge", t), t
  28562. }), i("echarts/util/shape/GaugePointer", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function(e) {
  28563. function t(e) {
  28564. i.call(this, e)
  28565. }
  28566. var i = e("zrender/shape/Base"),
  28567. n = e("zrender/tool/util");
  28568. return t.prototype = {
  28569. type: "gauge-pointer",
  28570. buildPath: function(e, t) {
  28571. var i = t.r,
  28572. n = t.width,
  28573. a = t.angle,
  28574. o = t.x - Math.cos(a) * n * (n >= i / 3 ? 1 : 2),
  28575. r = t.y + Math.sin(a) * n * (n >= i / 3 ? 1 : 2);
  28576. a = t.angle - Math.PI / 2, e.moveTo(o, r), e.lineTo(t.x + Math.cos(a) * n, t.y - Math.sin(a) * n), e.lineTo(t.x + Math.cos(t.angle) * i, t.y - Math.sin(t.angle) * i), e.lineTo(t.x - Math.cos(a) * n, t.y + Math.sin(a) * n), e.lineTo(o, r)
  28577. },
  28578. getRect: function(e) {
  28579. if(e.__rect) return e.__rect;
  28580. var t = 2 * e.width,
  28581. i = e.x,
  28582. n = e.y,
  28583. a = i + Math.cos(e.angle) * e.r,
  28584. o = n - Math.sin(e.angle) * e.r;
  28585. return e.__rect = {
  28586. x: Math.min(i, a) - t,
  28587. y: Math.min(n, o) - t,
  28588. width: Math.abs(i - a) + t,
  28589. height: Math.abs(n - o) + t
  28590. }, e.__rect
  28591. },
  28592. isCover: e("./normalIsCover")
  28593. }, n.inherits(t, i), t
  28594. }), i("echarts/chart/funnel", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Polygon", "../config", "../util/ecData", "../util/number", "zrender/tool/util", "zrender/tool/color", "zrender/tool/area", "../chart"], function(e) {
  28595. function t(e, t, n, a, o) {
  28596. i.call(this, e, t, n, a, o), this.refresh(a)
  28597. }
  28598. var i = e("./base"),
  28599. n = e("zrender/shape/Text"),
  28600. a = e("zrender/shape/Line"),
  28601. o = e("zrender/shape/Polygon"),
  28602. r = e("../config");
  28603. r.funnel = {
  28604. zlevel: 0,
  28605. z: 2,
  28606. clickable: !0,
  28607. legendHoverLink: !0,
  28608. x: 80,
  28609. y: 60,
  28610. x2: 80,
  28611. y2: 60,
  28612. min: 0,
  28613. max: 100,
  28614. minSize: "0%",
  28615. maxSize: "100%",
  28616. sort: "descending",
  28617. gap: 0,
  28618. funnelAlign: "center",
  28619. itemStyle: {
  28620. normal: {
  28621. borderColor: "#fff",
  28622. borderWidth: 1,
  28623. label: {
  28624. show: !0,
  28625. position: "outer"
  28626. },
  28627. labelLine: {
  28628. show: !0,
  28629. length: 10,
  28630. lineStyle: {
  28631. width: 1,
  28632. type: "solid"
  28633. }
  28634. }
  28635. },
  28636. emphasis: {
  28637. borderColor: "rgba(0,0,0,0)",
  28638. borderWidth: 1,
  28639. label: {
  28640. show: !0
  28641. },
  28642. labelLine: {
  28643. show: !0
  28644. }
  28645. }
  28646. }
  28647. };
  28648. var s = e("../util/ecData"),
  28649. l = e("../util/number"),
  28650. h = e("zrender/tool/util"),
  28651. m = e("zrender/tool/color"),
  28652. V = e("zrender/tool/area");
  28653. return t.prototype = {
  28654. type: r.CHART_TYPE_FUNNEL,
  28655. _buildShape: function() {
  28656. var e = this.series,
  28657. t = this.component.legend;
  28658. this._paramsMap = {}, this._selected = {}, this.selectedMap = {};
  28659. for(var i, n = 0, a = e.length; a > n; n++)
  28660. if(e[n].type === r.CHART_TYPE_FUNNEL) {
  28661. if(e[n] = this.reformOption(e[n]), this.legendHoverLink = e[n].legendHoverLink || this.legendHoverLink, i = e[n].name || "", this.selectedMap[i] = t ? t.isSelected(i) : !0, !this.selectedMap[i]) continue;
  28662. this._buildSingleFunnel(n), this.buildMark(n)
  28663. }
  28664. this.addShapeList()
  28665. },
  28666. _buildSingleFunnel: function(e) {
  28667. var t = this.component.legend,
  28668. i = this.series[e],
  28669. n = this._mapData(e),
  28670. a = this._getLocation(e);
  28671. this._paramsMap[e] = {
  28672. location: a,
  28673. data: n
  28674. };
  28675. for(var o, r = 0, s = [], h = 0, m = n.length; m > h; h++) o = n[h].name, this.selectedMap[o] = t ? t.isSelected(o) : !0, this.selectedMap[o] && !isNaN(n[h].value) && (s.push(n[h]), r++);
  28676. if(0 !== r) {
  28677. for(var V, U, d, p, c = this._buildFunnelCase(e), u = i.funnelAlign, y = i.gap, g = r > 1 ? (a.height - (r - 1) * y) / r : a.height, b = a.y, f = "descending" === i.sort ? this._getItemWidth(e, s[0].value) : l.parsePercent(i.minSize, a.width), k = "descending" === i.sort ? 1 : 0, x = a.centerX, _ = [], h = 0, m = s.length; m > h; h++)
  28678. if(o = s[h].name, this.selectedMap[o] && !isNaN(s[h].value)) {
  28679. switch(V = m - 2 >= h ? this._getItemWidth(e, s[h + k].value) : "descending" === i.sort ? l.parsePercent(i.minSize, a.width) : l.parsePercent(i.maxSize, a.width), u) {
  28680. case "left":
  28681. U = a.x;
  28682. break;
  28683. case "right":
  28684. U = a.x + a.width - f;
  28685. break;
  28686. default:
  28687. U = x - f / 2
  28688. }
  28689. d = this._buildItem(e, s[h]._index, t ? t.getColor(o) : this.zr.getColor(s[h]._index), U, b, f, V, g, u), b += g + y, p = d.style.pointList, _.unshift([p[0][0] - 10, p[0][1]]), _.push([p[1][0] + 10, p[1][1]]), 0 === h && (0 === f ? (p = _.pop(), "center" == u && (_[0][0] += 10), "right" == u && (_[0][0] = p[0]), _[0][1] -= "center" == u ? 10 : 15, 1 == m && (p = d.style.pointList)) : (_[_.length - 1][1] -= 5, _[0][1] -= 5)), f = V
  28690. }
  28691. c && (_.unshift([p[3][0] - 10, p[3][1]]), _.push([p[2][0] + 10, p[2][1]]), 0 === f ? (p = _.pop(), "center" == u && (_[0][0] += 10), "right" == u && (_[0][0] = p[0]), _[0][1] += "center" == u ? 10 : 15) : (_[_.length - 1][1] += 5, _[0][1] += 5), c.style.pointList = _)
  28692. }
  28693. },
  28694. _buildFunnelCase: function(e) {
  28695. var t = this.series[e];
  28696. if(this.deepQuery([t, this.option], "calculable")) {
  28697. var i = this._paramsMap[e].location,
  28698. n = 10,
  28699. a = {
  28700. hoverable: !1,
  28701. style: {
  28702. pointListd: [
  28703. [i.x - n, i.y - n],
  28704. [i.x + i.width + n, i.y - n],
  28705. [i.x + i.width + n, i.y + i.height + n],
  28706. [i.x - n, i.y + i.height + n]
  28707. ],
  28708. brushType: "stroke",
  28709. lineWidth: 1,
  28710. strokeColor: t.calculableHolderColor || this.ecTheme.calculableHolderColor || r.calculableHolderColor
  28711. }
  28712. };
  28713. return s.pack(a, t, e, void 0, -1), this.setCalculable(a), a = new o(a), this.shapeList.push(a), a
  28714. }
  28715. },
  28716. _getLocation: function(e) {
  28717. var t = this.series[e],
  28718. i = this.zr.getWidth(),
  28719. n = this.zr.getHeight(),
  28720. a = this.parsePercent(t.x, i),
  28721. o = this.parsePercent(t.y, n),
  28722. r = null == t.width ? i - a - this.parsePercent(t.x2, i) : this.parsePercent(t.width, i);
  28723. return {
  28724. x: a,
  28725. y: o,
  28726. width: r,
  28727. height: null == t.height ? n - o - this.parsePercent(t.y2, n) : this.parsePercent(t.height, n),
  28728. centerX: a + r / 2
  28729. }
  28730. },
  28731. _mapData: function(e) {
  28732. function t(e, t) {
  28733. return "-" === e.value ? 1 : "-" === t.value ? -1 : t.value - e.value
  28734. }
  28735. function i(e, i) {
  28736. return -t(e, i)
  28737. }
  28738. for(var n = this.series[e], a = h.clone(n.data), o = 0, r = a.length; r > o; o++) a[o]._index = o;
  28739. return "none" != n.sort && a.sort("descending" === n.sort ? t : i), a
  28740. },
  28741. _buildItem: function(e, t, i, n, a, o, r, l, h) {
  28742. var m = this.series,
  28743. V = m[e],
  28744. U = V.data[t],
  28745. d = this.getPolygon(e, t, i, n, a, o, r, l, h);
  28746. s.pack(d, m[e], e, m[e].data[t], t, m[e].data[t].name), this.shapeList.push(d);
  28747. var p = this.getLabel(e, t, i, n, a, o, r, l, h);
  28748. s.pack(p, m[e], e, m[e].data[t], t, m[e].data[t].name), this.shapeList.push(p), this._needLabel(V, U, !1) || (p.invisible = !0);
  28749. var c = this.getLabelLine(e, t, i, n, a, o, r, l, h);
  28750. this.shapeList.push(c), this._needLabelLine(V, U, !1) || (c.invisible = !0);
  28751. var u = [],
  28752. y = [];
  28753. return this._needLabelLine(V, U, !0) && (u.push(c.id), y.push(c.id)), this._needLabel(V, U, !0) && (u.push(p.id), y.push(d.id)), d.hoverConnect = u, p.hoverConnect = y, d
  28754. },
  28755. _getItemWidth: function(e, t) {
  28756. var i = this.series[e],
  28757. n = this._paramsMap[e].location,
  28758. a = i.min,
  28759. o = i.max,
  28760. r = l.parsePercent(i.minSize, n.width),
  28761. s = l.parsePercent(i.maxSize, n.width);
  28762. return(t - a) * (s - r) / (o - a) + r
  28763. },
  28764. getPolygon: function(e, t, i, n, a, r, s, l, h) {
  28765. var V, U = this.series[e],
  28766. d = U.data[t],
  28767. p = [d, U],
  28768. c = this.deepMerge(p, "itemStyle.normal") || {},
  28769. u = this.deepMerge(p, "itemStyle.emphasis") || {},
  28770. y = this.getItemStyleColor(c.color, e, t, d) || i,
  28771. g = this.getItemStyleColor(u.color, e, t, d) || ("string" == typeof y ? m.lift(y, -.2) : y);
  28772. switch(h) {
  28773. case "left":
  28774. V = n;
  28775. break;
  28776. case "right":
  28777. V = n + (r - s);
  28778. break;
  28779. default:
  28780. V = n + (r - s) / 2
  28781. }
  28782. var b = {
  28783. zlevel: U.zlevel,
  28784. z: U.z,
  28785. clickable: this.deepQuery(p, "clickable"),
  28786. style: {
  28787. pointList: [
  28788. [n, a],
  28789. [n + r, a],
  28790. [V + s, a + l],
  28791. [V, a + l]
  28792. ],
  28793. brushType: "both",
  28794. color: y,
  28795. lineWidth: c.borderWidth,
  28796. strokeColor: c.borderColor
  28797. },
  28798. highlightStyle: {
  28799. color: g,
  28800. lineWidth: u.borderWidth,
  28801. strokeColor: u.borderColor
  28802. }
  28803. };
  28804. return this.deepQuery([d, U, this.option], "calculable") && (this.setCalculable(b), b.draggable = !0), new o(b)
  28805. },
  28806. getLabel: function(e, t, i, a, o, r, s, l, U) {
  28807. var d, p = this.series[e],
  28808. c = p.data[t],
  28809. u = this._paramsMap[e].location,
  28810. y = h.merge(h.clone(c.itemStyle) || {}, p.itemStyle),
  28811. g = "normal",
  28812. b = y[g].label,
  28813. f = b.textStyle || {},
  28814. k = y[g].labelLine.length,
  28815. x = this.getLabelText(e, t, g),
  28816. _ = this.getFont(f),
  28817. L = i;
  28818. b.position = b.position || y.normal.label.position, "inner" === b.position || "inside" === b.position || "center" === b.position ? (d = U, L = Math.max(r, s) / 2 > V.getTextWidth(x, _) ? "#fff" : m.reverse(i)) : d = "left" === b.position ? "right" : "left";
  28819. var W = {
  28820. zlevel: p.zlevel,
  28821. z: p.z + 1,
  28822. style: {
  28823. x: this._getLabelPoint(b.position, a, u, r, s, k, U),
  28824. y: o + l / 2,
  28825. color: f.color || L,
  28826. text: x,
  28827. textAlign: f.align || d,
  28828. textBaseline: f.baseline || "middle",
  28829. textFont: _
  28830. }
  28831. };
  28832. return g = "emphasis", b = y[g].label || b, f = b.textStyle || f, k = y[g].labelLine.length || k, b.position = b.position || y.normal.label.position, x = this.getLabelText(e, t, g), _ = this.getFont(f), L = i, "inner" === b.position || "inside" === b.position || "center" === b.position ? (d = U, L = Math.max(r, s) / 2 > V.getTextWidth(x, _) ? "#fff" : m.reverse(i)) : d = "left" === b.position ? "right" : "left", W.highlightStyle = {
  28833. x: this._getLabelPoint(b.position, a, u, r, s, k, U),
  28834. color: f.color || L,
  28835. text: x,
  28836. textAlign: f.align || d,
  28837. textFont: _,
  28838. brushType: "fill"
  28839. }, new n(W)
  28840. },
  28841. getLabelText: function(e, t, i) {
  28842. var n = this.series,
  28843. a = n[e],
  28844. o = a.data[t],
  28845. r = this.deepQuery([o, a], "itemStyle." + i + ".label.formatter");
  28846. return r ? "function" == typeof r ? r.call(this.myChart, {
  28847. seriesIndex: e,
  28848. seriesName: a.name || "",
  28849. series: a,
  28850. dataIndex: t,
  28851. data: o,
  28852. name: o.name,
  28853. value: o.value
  28854. }) : "string" == typeof r ? r = r.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{a0}", a.name).replace("{b0}", o.name).replace("{c0}", o.value) : void 0 : o.name
  28855. },
  28856. getLabelLine: function(e, t, i, n, o, r, s, l, m) {
  28857. var V = this.series[e],
  28858. U = V.data[t],
  28859. d = this._paramsMap[e].location,
  28860. p = h.merge(h.clone(U.itemStyle) || {}, V.itemStyle),
  28861. c = "normal",
  28862. u = p[c].labelLine,
  28863. y = p[c].labelLine.length,
  28864. g = u.lineStyle || {},
  28865. b = p[c].label;
  28866. b.position = b.position || p.normal.label.position;
  28867. var f = {
  28868. zlevel: V.zlevel,
  28869. z: V.z + 1,
  28870. hoverable: !1,
  28871. style: {
  28872. xStart: this._getLabelLineStartPoint(n, d, r, s, m),
  28873. yStart: o + l / 2,
  28874. xEnd: this._getLabelPoint(b.position, n, d, r, s, y, m),
  28875. yEnd: o + l / 2,
  28876. strokeColor: g.color || i,
  28877. lineType: g.type,
  28878. lineWidth: g.width
  28879. }
  28880. };
  28881. return c = "emphasis", u = p[c].labelLine || u, y = p[c].labelLine.length || y, g = u.lineStyle || g, b = p[c].label || b, b.position = b.position, f.highlightStyle = {
  28882. xEnd: this._getLabelPoint(b.position, n, d, r, s, y, m),
  28883. strokeColor: g.color || i,
  28884. lineType: g.type,
  28885. lineWidth: g.width
  28886. }, new a(f)
  28887. },
  28888. _getLabelPoint: function(e, t, i, n, a, o, r) {
  28889. switch(e = "inner" === e || "inside" === e ? "center" : e) {
  28890. case "center":
  28891. return "center" == r ? t + n / 2 : "left" == r ? t + 10 : t + n - 10;
  28892. case "left":
  28893. return "auto" === o ? i.x - 10 : "center" == r ? i.centerX - Math.max(n, a) / 2 - o : "right" == r ? t - (a > n ? a - n : 0) - o : i.x - o;
  28894. default:
  28895. return "auto" === o ? i.x + i.width + 10 : "center" == r ? i.centerX + Math.max(n, a) / 2 + o : "right" == r ? i.x + i.width + o : t + Math.max(n, a) + o
  28896. }
  28897. },
  28898. _getLabelLineStartPoint: function(e, t, i, n, a) {
  28899. return "center" == a ? t.centerX : n > i ? e + Math.min(i, n) / 2 : e + Math.max(i, n) / 2
  28900. },
  28901. _needLabel: function(e, t, i) {
  28902. return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".label.show")
  28903. },
  28904. _needLabelLine: function(e, t, i) {
  28905. return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".labelLine.show")
  28906. },
  28907. refresh: function(e) {
  28908. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  28909. }
  28910. }, h.inherits(t, i), e("../chart").define("funnel", t), t
  28911. }), i("echarts/chart/eventRiver", ["require", "./base", "../layout/eventRiver", "zrender/shape/Polygon", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "../util/date", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
  28912. function t(e, t, n, a, o) {
  28913. i.call(this, e, t, n, a, o);
  28914. var r = this;
  28915. r._ondragend = function() {
  28916. r.isDragend = !0
  28917. }, this.refresh(a)
  28918. }
  28919. var i = e("./base"),
  28920. n = e("../layout/eventRiver"),
  28921. a = e("zrender/shape/Polygon");
  28922. e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
  28923. var o = e("../config");
  28924. o.eventRiver = {
  28925. zlevel: 0,
  28926. z: 2,
  28927. clickable: !0,
  28928. legendHoverLink: !0,
  28929. itemStyle: {
  28930. normal: {
  28931. borderColor: "rgba(0,0,0,0)",
  28932. borderWidth: 1,
  28933. label: {
  28934. show: !0,
  28935. position: "inside",
  28936. formatter: "{b}"
  28937. }
  28938. },
  28939. emphasis: {
  28940. borderColor: "rgba(0,0,0,0)",
  28941. borderWidth: 1,
  28942. label: {
  28943. show: !0
  28944. }
  28945. }
  28946. }
  28947. };
  28948. var r = e("../util/ecData"),
  28949. s = e("../util/date"),
  28950. l = e("zrender/tool/util"),
  28951. h = e("zrender/tool/color");
  28952. return t.prototype = {
  28953. type: o.CHART_TYPE_EVENTRIVER,
  28954. _buildShape: function() {
  28955. var e = this.series;
  28956. this.selectedMap = {}, this._dataPreprocessing();
  28957. for(var t = this.component.legend, i = [], a = 0; a < e.length; a++)
  28958. if(e[a].type === this.type) {
  28959. e[a] = this.reformOption(e[a]), this.legendHoverLink = e[a].legendHoverLink || this.legendHoverLink;
  28960. var o = e[a].name || "";
  28961. if(this.selectedMap[o] = t ? t.isSelected(o) : !0, !this.selectedMap[o]) continue;
  28962. this.buildMark(a), i.push(this.series[a])
  28963. }
  28964. n(i, this._intervalX, this.component.grid.getArea()), this._drawEventRiver(), this.addShapeList()
  28965. },
  28966. _dataPreprocessing: function() {
  28967. for(var e, t, i = this.series, n = 0, a = i.length; a > n; n++)
  28968. if(i[n].type === this.type) {
  28969. e = this.component.xAxis.getAxis(i[n].xAxisIndex || 0);
  28970. for(var o = 0, r = i[n].data.length; r > o; o++) {
  28971. t = i[n].data[o].evolution;
  28972. for(var l = 0, h = t.length; h > l; l++) t[l].timeScale = e.getCoord(s.getNewDate(t[l].time) - 0), t[l].valueScale = Math.pow(t[l].value, .8)
  28973. }
  28974. }
  28975. this._intervalX = Math.round(this.component.grid.getWidth() / 40)
  28976. },
  28977. _drawEventRiver: function() {
  28978. for(var e = this.series, t = 0; t < e.length; t++) {
  28979. var i = e[t].name || "";
  28980. if(e[t].type === this.type && this.selectedMap[i])
  28981. for(var n = 0; n < e[t].data.length; n++) this._drawEventBubble(e[t].data[n], t, n)
  28982. }
  28983. },
  28984. _drawEventBubble: function(e, t, i) {
  28985. var n = this.series,
  28986. o = n[t],
  28987. s = o.name || "",
  28988. l = o.data[i],
  28989. m = [l, o],
  28990. V = this.component.legend,
  28991. U = V ? V.getColor(s) : this.zr.getColor(t),
  28992. d = this.deepMerge(m, "itemStyle.normal") || {},
  28993. p = this.deepMerge(m, "itemStyle.emphasis") || {},
  28994. c = this.getItemStyleColor(d.color, t, i, l) || U,
  28995. u = this.getItemStyleColor(p.color, t, i, l) || ("string" == typeof c ? h.lift(c, -.2) : c),
  28996. y = this._calculateControlPoints(e),
  28997. g = {
  28998. zlevel: o.zlevel,
  28999. z: o.z,
  29000. clickable: this.deepQuery(m, "clickable"),
  29001. style: {
  29002. pointList: y,
  29003. smooth: "spline",
  29004. brushType: "both",
  29005. lineJoin: "round",
  29006. color: c,
  29007. lineWidth: d.borderWidth,
  29008. strokeColor: d.borderColor
  29009. },
  29010. highlightStyle: {
  29011. color: u,
  29012. lineWidth: p.borderWidth,
  29013. strokeColor: p.borderColor
  29014. },
  29015. draggable: "vertical",
  29016. ondragend: this._ondragend
  29017. };
  29018. g = new a(g), this.addLabel(g, o, l, e.name), r.pack(g, n[t], t, n[t].data[i], i, n[t].data[i].name), this.shapeList.push(g)
  29019. },
  29020. _calculateControlPoints: function(e) {
  29021. var t = this._intervalX,
  29022. i = e.y,
  29023. n = e.evolution,
  29024. a = n.length;
  29025. if(!(1 > a)) {
  29026. for(var o = [], r = [], s = 0; a > s; s++) o.push(n[s].timeScale), r.push(n[s].valueScale);
  29027. var l = [];
  29028. l.push([o[0], i]);
  29029. var s = 0;
  29030. for(s = 0; a - 1 > s; s++) l.push([(o[s] + o[s + 1]) / 2, r[s] / -2 + i]);
  29031. for(l.push([(o[s] + (o[s] + t)) / 2, r[s] / -2 + i]), l.push([o[s] + t, i]), l.push([(o[s] + (o[s] + t)) / 2, r[s] / 2 + i]), s = a - 1; s > 0; s--) l.push([(o[s] + o[s - 1]) / 2, r[s - 1] / 2 + i]);
  29032. return l
  29033. }
  29034. },
  29035. ondragend: function(e, t) {
  29036. this.isDragend && e.target && (t.dragOut = !0, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1)
  29037. },
  29038. refresh: function(e) {
  29039. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  29040. }
  29041. }, l.inherits(t, i), e("../chart").define("eventRiver", t), t
  29042. }), i("echarts/layout/eventRiver", ["require"], function() {
  29043. function e(e, i, o) {
  29044. function r(e, t) {
  29045. var i = e.importance,
  29046. n = t.importance;
  29047. return i > n ? -1 : n > i ? 1 : 0
  29048. }
  29049. for(var s = 4, l = 0; l < e.length; l++) {
  29050. for(var h = 0; h < e[l].data.length; h++) {
  29051. null == e[l].data[h].weight && (e[l].data[h].weight = 1);
  29052. for(var m = 0, V = 0; V < e[l].data[h].evolution.length; V++) m += e[l].data[h].evolution[V].valueScale;
  29053. e[l].data[h].importance = m * e[l].data[h].weight
  29054. }
  29055. e[l].data.sort(r)
  29056. }
  29057. for(var l = 0; l < e.length; l++) {
  29058. null == e[l].weight && (e[l].weight = 1);
  29059. for(var m = 0, h = 0; h < e[l].data.length; h++) m += e[l].data[h].weight;
  29060. e[l].importance = m * e[l].weight
  29061. }
  29062. e.sort(r);
  29063. for(var U = Number.MAX_VALUE, d = 0, l = 0; l < e.length; l++)
  29064. for(var h = 0; h < e[l].data.length; h++)
  29065. for(var V = 0; V < e[l].data[h].evolution.length; V++) {
  29066. var p = e[l].data[h].evolution[V].timeScale;
  29067. U = Math.min(U, p), d = Math.max(d, p)
  29068. }
  29069. U = ~~U, d = ~~d;
  29070. for(var c = function() {
  29071. var e = d - U + 1 + ~~i;
  29072. if(0 >= e) return [0];
  29073. for(var t = []; e--;) t.push(0);
  29074. return t
  29075. }(), u = c.slice(0), y = [], g = 0, b = 0, l = 0; l < e.length; l++)
  29076. for(var h = 0; h < e[l].data.length; h++) {
  29077. var f = e[l].data[h];
  29078. f.time = [], f.value = [];
  29079. for(var k, x = 0, V = 0; V < e[l].data[h].evolution.length; V++) k = e[l].data[h].evolution[V], f.time.push(k.timeScale), f.value.push(k.valueScale), x = Math.max(x, k.valueScale);
  29080. n(f, i, U), f.y = a(u, f, function(e, t) {
  29081. return e.ypx[t]
  29082. }), f._offset = a(c, f, function() {
  29083. return s
  29084. }), g = Math.max(g, f.y + x), b = Math.max(b, f._offset), y.push(f)
  29085. }
  29086. t(y, o, g, b)
  29087. }
  29088. function t(e, t, i, n) {
  29089. for(var a = t.height, o = n / a > .5 ? .5 : 1, r = t.y, s = (t.height - n) / i, l = 0, h = e.length; h > l; l++) {
  29090. var m = e[l];
  29091. m.y = r + s * m.y + m._offset * o, delete m.time, delete m.value, delete m.xpx, delete m.ypx, delete m._offset;
  29092. for(var V = m.evolution, U = 0, d = V.length; d > U; U++) V[U].valueScale *= s
  29093. }
  29094. }
  29095. function i(e, t, i, n) {
  29096. if(e === i) throw new Error("x0 is equal with x1!!!");
  29097. if(t === n) return function() {
  29098. return t
  29099. };
  29100. var a = (t - n) / (e - i),
  29101. o = (n * e - t * i) / (e - i);
  29102. return function(e) {
  29103. return a * e + o
  29104. }
  29105. }
  29106. function n(e, t, n) {
  29107. var a = ~~t,
  29108. o = e.time.length;
  29109. e.xpx = [], e.ypx = [];
  29110. for(var r, s = 0, l = 0, h = 0, m = 0, V = 0; o > s; s++) {
  29111. l = ~~e.time[s], m = e.value[s] / 2, s === o - 1 ? (h = l + a, V = 0) : (h = ~~e.time[s + 1], V = e.value[s + 1] / 2), r = i(l, m, h, V);
  29112. for(var U = l; h > U; U++) e.xpx.push(U - n), e.ypx.push(r(U))
  29113. }
  29114. e.xpx.push(h - n), e.ypx.push(V)
  29115. }
  29116. function a(e, t, i) {
  29117. for(var n, a = 0, o = t.xpx.length, r = 0; o > r; r++) n = i(t, r), a = Math.max(a, n + e[t.xpx[r]]);
  29118. for(r = 0; o > r; r++) n = i(t, r), e[t.xpx[r]] = a + n;
  29119. return a
  29120. }
  29121. return e
  29122. }), i("echarts/chart/venn", ["require", "./base", "zrender/shape/Text", "zrender/shape/Circle", "zrender/shape/Path", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function(e) {
  29123. function t(e, t, n, a, o) {
  29124. i.call(this, e, t, n, a, o), this.refresh(a)
  29125. }
  29126. var i = e("./base"),
  29127. n = e("zrender/shape/Text"),
  29128. a = e("zrender/shape/Circle"),
  29129. o = e("zrender/shape/Path"),
  29130. r = e("../config");
  29131. r.venn = {
  29132. zlevel: 0,
  29133. z: 1,
  29134. calculable: !1
  29135. };
  29136. var s = e("../util/ecData"),
  29137. l = e("zrender/tool/util");
  29138. return t.prototype = {
  29139. type: r.CHART_TYPE_VENN,
  29140. _buildShape: function() {
  29141. this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._vennDataCounter = 0;
  29142. for(var e = this.series, t = this.component.legend, i = 0; i < e.length; i++)
  29143. if(e[i].type === r.CHART_TYPE_VENN) {
  29144. e[i] = this.reformOption(e[i]);
  29145. var n = e[i].name || "";
  29146. if(this.selectedMap[n] = t ? t.isSelected(n) : !0, !this.selectedMap[n]) continue;
  29147. this._buildVenn(i)
  29148. }
  29149. this.addShapeList()
  29150. },
  29151. _buildVenn: function(e) {
  29152. var t, i, n = this.series[e],
  29153. a = n.data;
  29154. a[0].value > a[1].value ? (t = this.zr.getHeight() / 3, i = t * Math.sqrt(a[1].value) / Math.sqrt(a[0].value)) : (i = this.zr.getHeight() / 3, t = i * Math.sqrt(a[0].value) / Math.sqrt(a[1].value));
  29155. var o = this.zr.getWidth() / 2 - t,
  29156. r = (t + i) / 2 * Math.sqrt(a[2].value) / Math.sqrt((a[0].value + a[1].value) / 2),
  29157. s = t + i;
  29158. 0 !== a[2].value && (s = this._getCoincideLength(a[0].value, a[1].value, a[2].value, t, i, r, Math.abs(t - i), t + i));
  29159. var l = o + s,
  29160. h = this.zr.getHeight() / 2;
  29161. if(this._buildItem(e, 0, a[0], o, h, t), this._buildItem(e, 1, a[1], l, h, i), 0 !== a[2].value && a[2].value !== a[0].value && a[2].value !== a[1].value) {
  29162. var m = (t * t - i * i) / (2 * s) + s / 2,
  29163. V = s / 2 - (t * t - i * i) / (2 * s),
  29164. U = Math.sqrt(t * t - m * m),
  29165. d = 0,
  29166. p = 0;
  29167. a[0].value > a[1].value && o + m > l && (p = 1), a[0].value < a[1].value && o + V > l && (d = 1), this._buildCoincideItem(e, 2, a[2], o + m, h - U, h + U, t, i, d, p)
  29168. }
  29169. },
  29170. _getCoincideLength: function(e, t, i, n, a, o, r, s) {
  29171. var l = (n * n - a * a) / (2 * o) + o / 2,
  29172. h = o / 2 - (n * n - a * a) / (2 * o),
  29173. m = Math.acos(l / n),
  29174. V = Math.acos(h / a),
  29175. U = n * n * Math.PI,
  29176. d = m * n * n - l * n * Math.sin(m) + V * a * a - h * a * Math.sin(V),
  29177. p = d / U,
  29178. c = i / e,
  29179. u = Math.abs(p / c);
  29180. return u > .999 && 1.001 > u ? o : .999 >= u ? (s = o, o = (o + r) / 2, this._getCoincideLength(e, t, i, n, a, o, r, s)) : (r = o, o = (o + s) / 2, this._getCoincideLength(e, t, i, n, a, o, r, s))
  29181. },
  29182. _buildItem: function(e, t, i, n, a, o) {
  29183. var r = this.series,
  29184. l = r[e],
  29185. h = this.getCircle(e, t, i, n, a, o);
  29186. if(s.pack(h, l, e, i, t, i.name), this.shapeList.push(h), l.itemStyle.normal.label.show) {
  29187. var m = this.getLabel(e, t, i, n, a, o);
  29188. s.pack(m, l, e, l.data[t], t, l.data[t].name), this.shapeList.push(m)
  29189. }
  29190. },
  29191. _buildCoincideItem: function(e, t, i, n, a, r, l, h, m, V) {
  29192. var U = this.series,
  29193. d = U[e],
  29194. p = [i, d],
  29195. c = this.deepMerge(p, "itemStyle.normal") || {},
  29196. u = this.deepMerge(p, "itemStyle.emphasis") || {},
  29197. y = c.color || this.zr.getColor(t),
  29198. g = u.color || this.zr.getColor(t),
  29199. b = "M" + n + "," + a + "A" + l + "," + l + ",0," + m + ",1," + n + "," + r + "A" + h + "," + h + ",0," + V + ",1," + n + "," + a,
  29200. f = {
  29201. color: y,
  29202. path: b
  29203. },
  29204. k = {
  29205. zlevel: d.zlevel,
  29206. z: d.z,
  29207. style: f,
  29208. highlightStyle: {
  29209. color: g,
  29210. lineWidth: u.borderWidth,
  29211. strokeColor: u.borderColor
  29212. }
  29213. };
  29214. k = new o(k), k.buildPathArray && (k.style.pathArray = k.buildPathArray(f.path)), s.pack(k, U[e], 0, i, t, i.name), this.shapeList.push(k)
  29215. },
  29216. getCircle: function(e, t, i, n, o, r) {
  29217. var s = this.series[e],
  29218. l = [i, s],
  29219. h = this.deepMerge(l, "itemStyle.normal") || {},
  29220. m = this.deepMerge(l, "itemStyle.emphasis") || {},
  29221. V = h.color || this.zr.getColor(t),
  29222. U = m.color || this.zr.getColor(t),
  29223. d = {
  29224. zlevel: s.zlevel,
  29225. z: s.z,
  29226. clickable: !0,
  29227. style: {
  29228. x: n,
  29229. y: o,
  29230. r: r,
  29231. brushType: "fill",
  29232. opacity: 1,
  29233. color: V
  29234. },
  29235. highlightStyle: {
  29236. color: U,
  29237. lineWidth: m.borderWidth,
  29238. strokeColor: m.borderColor
  29239. }
  29240. };
  29241. return this.deepQuery([i, s, this.option], "calculable") && (this.setCalculable(d), d.draggable = !0), new a(d)
  29242. },
  29243. getLabel: function(e, t, i, a, o, r) {
  29244. var s = this.series[e],
  29245. l = s.itemStyle,
  29246. h = [i, s],
  29247. m = this.deepMerge(h, "itemStyle.normal") || {},
  29248. V = "normal",
  29249. U = l[V].label,
  29250. d = U.textStyle || {},
  29251. p = this.getLabelText(t, i, V),
  29252. c = this.getFont(d),
  29253. u = m.color || this.zr.getColor(t),
  29254. y = d.fontSize || 12,
  29255. g = {
  29256. zlevel: s.zlevel,
  29257. z: s.z,
  29258. style: {
  29259. x: a,
  29260. y: o - r - y,
  29261. color: d.color || u,
  29262. text: p,
  29263. textFont: c,
  29264. textAlign: "center"
  29265. }
  29266. };
  29267. return new n(g)
  29268. },
  29269. getLabelText: function(e, t, i) {
  29270. var n = this.series,
  29271. a = n[0],
  29272. o = this.deepQuery([t, a], "itemStyle." + i + ".label.formatter");
  29273. return o ? "function" == typeof o ? o(a.name, t.name, t.value) : "string" == typeof o ? (o = o.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}"), o = o.replace("{a0}", a.name).replace("{b0}", t.name).replace("{c0}", t.value)) : void 0 : t.name
  29274. },
  29275. refresh: function(e) {
  29276. e && (this.option = e, this.series = e.series), this._buildShape()
  29277. }
  29278. }, l.inherits(t, i), e("../chart").define("venn", t), t
  29279. }), i("echarts/chart/treemap", ["require", "./base", "zrender/tool/area", "zrender/shape/Rectangle", "zrender/shape/Text", "zrender/shape/Line", "../layout/TreeMap", "../data/Tree", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
  29280. function t(e, t, n, a, o) {
  29281. i.call(this, e, t, n, a, o), this.refresh(a);
  29282. var r = this;
  29283. r._onclick = function(e) {
  29284. return r.__onclick(e)
  29285. }, r.zr.on(V.EVENT.CLICK, r._onclick)
  29286. }
  29287. var i = e("./base"),
  29288. n = e("zrender/tool/area"),
  29289. a = e("zrender/shape/Rectangle"),
  29290. o = e("zrender/shape/Text"),
  29291. r = e("zrender/shape/Line"),
  29292. s = e("../layout/TreeMap"),
  29293. l = e("../data/Tree"),
  29294. h = e("../config");
  29295. h.treemap = {
  29296. zlevel: 0,
  29297. z: 1,
  29298. calculable: !1,
  29299. clickable: !0,
  29300. center: ["50%", "50%"],
  29301. size: ["80%", "80%"],
  29302. root: "",
  29303. itemStyle: {
  29304. normal: {
  29305. label: {
  29306. show: !0,
  29307. x: 5,
  29308. y: 12,
  29309. textStyle: {
  29310. align: "left",
  29311. color: "#000",
  29312. fontFamily: "Arial",
  29313. fontSize: 13,
  29314. fontStyle: "normal",
  29315. fontWeight: "normal"
  29316. }
  29317. },
  29318. breadcrumb: {
  29319. show: !0,
  29320. textStyle: {}
  29321. },
  29322. borderWidth: 1,
  29323. borderColor: "#ccc",
  29324. childBorderWidth: 1,
  29325. childBorderColor: "#ccc"
  29326. },
  29327. emphasis: {}
  29328. }
  29329. };
  29330. var m = e("../util/ecData"),
  29331. V = e("zrender/config"),
  29332. U = (e("zrender/tool/event"), e("zrender/tool/util")),
  29333. d = e("zrender/tool/color");
  29334. return t.prototype = {
  29335. type: h.CHART_TYPE_TREEMAP,
  29336. refresh: function(e) {
  29337. this.clear(), e && (this.option = e, this.series = this.option.series), this._treesMap = {};
  29338. for(var t = this.series, i = this.component.legend, n = 0; n < t.length; n++)
  29339. if(t[n].type === h.CHART_TYPE_TREEMAP) {
  29340. t[n] = this.reformOption(t[n]);
  29341. var a = t[n].name || "";
  29342. if(this.selectedMap[a] = i ? i.isSelected(a) : !0, !this.selectedMap[a]) continue;
  29343. this._buildSeries(t[n], n)
  29344. }
  29345. },
  29346. _buildSeries: function(e, t) {
  29347. var i = l.fromOptionData(e.name, e.data);
  29348. this._treesMap[t] = i;
  29349. var n = e.root && i.getNodeById(e.root) || i.root;
  29350. this._buildTreemap(n, t)
  29351. },
  29352. _buildTreemap: function(e, t) {
  29353. for(var i = this.shapeList, n = 0; n < i.length;) {
  29354. var a = i[n];
  29355. m.get(a, "seriesIndex") === t ? (this.zr.delShape(i[n]), i.splice(n, 1)) : n++
  29356. }
  29357. for(var o = i.length, r = this.series[t], l = r.itemStyle, h = this.parsePercent(r.size[0], this.zr.getWidth()) || 400, V = this.parsePercent(r.size[1], this.zr.getHeight()) || 500, U = this.parseCenter(this.zr, r.center), d = U[0] - .5 * h, p = U[1] - .5 * V, c = h * V, u = 0, y = [], g = e.children, n = 0; n < g.length; n++) u += g[n].data.value;
  29358. for(var b = 0; b < g.length; b++) y.push(g[b].data.value * c / u);
  29359. for(var f = new s({
  29360. x: d,
  29361. y: p,
  29362. width: h,
  29363. height: V
  29364. }), k = f.run(y), x = 0; x < k.length; x++) {
  29365. var _ = g[x].data,
  29366. L = k[x],
  29367. W = [_.itemStyle, l],
  29368. X = this.deepMerge(W);
  29369. X.normal.color || (X.normal.color = this.zr.getColor(x)), X.emphasis.color || (X.emphasis.color = X.normal.color), this._buildItem(_, X, L, t, x), _.children && this._buildChildrenTreemap(_.children, X, L, t)
  29370. }
  29371. this.query(r, "itemStyle.normal.breadcrumb.show") && this._buildBreadcrumb(e, t, d, p + V);
  29372. for(var n = o; n < i.length; n++) this.zr.addShape(i[n])
  29373. },
  29374. _buildItem: function(e, t, i, n, a) {
  29375. var o = this.series,
  29376. r = this.getRectangle(e, t, i);
  29377. m.pack(r, o[n], n, e, a, e.name), this.shapeList.push(r)
  29378. },
  29379. getRectangle: function(e, t, i) {
  29380. var n = t.emphasis,
  29381. o = t.normal,
  29382. r = this.getLabel(t, i, e.name, e.value),
  29383. s = this.option.hoverable,
  29384. l = {
  29385. zlevel: this.getZlevelBase(),
  29386. z: this.getZBase(),
  29387. hoverable: s,
  29388. clickable: !0,
  29389. style: U.merge({
  29390. x: i.x,
  29391. y: i.y,
  29392. width: i.width,
  29393. height: i.height,
  29394. brushType: "both",
  29395. color: o.color,
  29396. lineWidth: o.borderWidth,
  29397. strokeColor: o.borderColor
  29398. }, r.style, !0),
  29399. highlightStyle: U.merge({
  29400. color: n.color,
  29401. lineWidth: n.borderWidth,
  29402. strokeColor: n.borderColor
  29403. }, r.highlightStyle, !0)
  29404. };
  29405. return new a(l)
  29406. },
  29407. getLabel: function(e, t, i, a) {
  29408. var o = e.normal.label.textStyle,
  29409. r = [e.emphasis.label.textStyle, o],
  29410. s = this.deepMerge(r),
  29411. l = e.normal.label.formatter,
  29412. h = this.getLabelText(i, a, l),
  29413. m = this.getFont(o),
  29414. V = n.getTextWidth(h, m),
  29415. U = n.getTextHeight(h, m),
  29416. d = this.deepQuery([e.emphasis, e.normal], "label.formatter"),
  29417. p = this.getLabelText(i, a, d),
  29418. c = this.getFont(s),
  29419. u = n.getTextWidth(h, c),
  29420. y = n.getTextHeight(h, c);
  29421. e.normal.label.show ? (e.normal.label.x + V > t.width || e.normal.label.y + U > t.height) && (h = "") : h = "", e.emphasis.label.show ? (s.x + u > t.width || s.y + y > t.height) && (p = "") : p = "";
  29422. var g = {
  29423. style: {
  29424. textX: t.x + e.normal.label.x,
  29425. textY: t.y + e.normal.label.y,
  29426. text: h,
  29427. textPosition: "specific",
  29428. textColor: o.color,
  29429. textFont: m
  29430. },
  29431. highlightStyle: {
  29432. textX: t.x + e.emphasis.label.x,
  29433. textY: t.y + e.emphasis.label.y,
  29434. text: p,
  29435. textColor: s.color,
  29436. textPosition: "specific"
  29437. }
  29438. };
  29439. return g
  29440. },
  29441. getLabelText: function(e, t, i) {
  29442. return i ? "function" == typeof i ? i.call(this.myChart, e, t) : "string" == typeof i ? (i = i.replace("{b}", "{b0}").replace("{c}", "{c0}"), i = i.replace("{b0}", e).replace("{c0}", t)) : void 0 : e
  29443. },
  29444. _buildChildrenTreemap: function(e, t, i, n) {
  29445. for(var a = i.width * i.height, o = 0, r = [], l = 0; l < e.length; l++) o += e[l].value;
  29446. for(var h = 0; h < e.length; h++) r.push(e[h].value * a / o);
  29447. for(var V = new s({
  29448. x: i.x,
  29449. y: i.y,
  29450. width: i.width,
  29451. height: i.height
  29452. }), U = V.run(r), d = t.normal.childBorderWidth, p = t.normal.childBorderColor, c = 0; c < U.length; c++) {
  29453. var u = U[c],
  29454. y = [];
  29455. i.y.toFixed(2) !== u.y.toFixed(2) && y.push(this._getLine(u.x, u.y, u.x + u.width, u.y, d, p)), i.x.toFixed(2) !== u.x.toFixed(2) && y.push(this._getLine(u.x, u.y, u.x, u.y + u.height, d, p)), (i.y + i.height).toFixed(2) !== (u.y + u.height).toFixed(2) && y.push(this._getLine(u.x, u.y + u.height, u.x + u.width, u.y + u.height, d, p)), (i.x + i.width).toFixed(2) !== (u.x + u.width).toFixed(2) && y.push(this._getLine(u.x + u.width, u.y, u.x + u.width, u.y + u.height, d, p));
  29456. for(var g = 0; g < y.length; g++) m.set(y[g], "seriesIndex", n), this.shapeList.push(y[g])
  29457. }
  29458. },
  29459. _getLine: function(e, t, i, n, a, o) {
  29460. var s = {
  29461. zlevel: this.getZlevelBase(),
  29462. z: this.getZBase(),
  29463. hoverable: !1,
  29464. style: {
  29465. xStart: e,
  29466. yStart: t,
  29467. xEnd: i,
  29468. yEnd: n,
  29469. lineWidth: a,
  29470. strokeColor: o
  29471. }
  29472. };
  29473. return new r(s)
  29474. },
  29475. _buildBreadcrumb: function(e, t, i, n) {
  29476. for(var a = [], r = e; r;) a.unshift(r.data.name), r = r.parent;
  29477. for(var s = this.series[t], l = this.query(s, "itemStyle.normal.breadcrumb.textStyle") || {}, h = this.query(s, "itemStyle.emphasis.breadcrumb.textStyle") || {}, V = {
  29478. y: n + 10,
  29479. textBaseline: "top",
  29480. textAlign: "left",
  29481. color: l.color,
  29482. textFont: this.getFont(l)
  29483. }, p = {
  29484. brushType: "fill",
  29485. color: h.color || d.lift(l.color, -.3),
  29486. textFont: this.getFont(h)
  29487. }, c = 0; c < a.length; c++) {
  29488. var u = new o({
  29489. zlevel: this.getZlevelBase(),
  29490. z: this.getZBase(),
  29491. style: U.merge({
  29492. x: i,
  29493. text: a[c] + (a.length - 1 - c ? " > " : "")
  29494. }, V),
  29495. clickable: !0,
  29496. highlightStyle: p
  29497. });
  29498. m.set(u, "seriesIndex", t), m.set(u, "name", a[c]), i += u.getRect(u.style).width, this.shapeList.push(u)
  29499. }
  29500. },
  29501. __onclick: function(e) {
  29502. var t = e.target;
  29503. if(t) {
  29504. var i = m.get(t, "seriesIndex"),
  29505. n = m.get(t, "name"),
  29506. a = this._treesMap[i],
  29507. o = a.getNodeById(n);
  29508. o && o.children.length && this._buildTreemap(o, i)
  29509. }
  29510. }
  29511. }, U.inherits(t, i), e("../chart").define("treemap", t), t
  29512. }), i("echarts/layout/TreeMap", ["require"], function() {
  29513. function e(e) {
  29514. ({
  29515. x: e.x,
  29516. y: e.y,
  29517. width: e.width,
  29518. height: e.height
  29519. });
  29520. this.x = e.x, this.y = e.y, this.width = e.width, this.height = e.height
  29521. }
  29522. return e.prototype.run = function(e) {
  29523. var t = [];
  29524. return this._squarify(e, {
  29525. x: this.x,
  29526. y: this.y,
  29527. width: this.width,
  29528. height: this.height
  29529. }, t), t
  29530. }, e.prototype._squarify = function(e, t, i) {
  29531. var n = "VERTICAL",
  29532. a = t.width,
  29533. o = t.height;
  29534. t.width < t.height && (n = "HORIZONTAL", a = t.height, o = t.width);
  29535. for(var r = this._getShapeListInAbstractRow(e, a, o), s = 0; s < r.length; s++) {
  29536. r[s].x = 0, r[s].y = 0;
  29537. for(var l = 0; s > l; l++) r[s].y += r[l].height
  29538. }
  29539. var h = {};
  29540. if("VERTICAL" == n) {
  29541. for(var m = 0; m < r.length; m++) i.push({
  29542. x: r[m].x + t.x,
  29543. y: r[m].y + t.y,
  29544. width: r[m].width,
  29545. height: r[m].height
  29546. });
  29547. h = {
  29548. x: r[0].width + t.x,
  29549. y: t.y,
  29550. width: t.width - r[0].width,
  29551. height: t.height
  29552. }
  29553. } else {
  29554. for(var V = 0; V < r.length; V++) i.push({
  29555. x: r[V].y + t.x,
  29556. y: r[V].x + t.y,
  29557. width: r[V].height,
  29558. height: r[V].width
  29559. });
  29560. h = {
  29561. x: t.x,
  29562. y: t.y + r[0].width,
  29563. width: t.width,
  29564. height: t.height - r[0].width
  29565. }
  29566. }
  29567. var U = e.slice(r.length);
  29568. 0 !== U.length && this._squarify(U, h, i)
  29569. }, e.prototype._getShapeListInAbstractRow = function(e, t, i) {
  29570. if(1 === e.length) return [{
  29571. width: t,
  29572. height: i
  29573. }];
  29574. for(var n = 1; n < e.length; n++) {
  29575. var a = this._placeFixedNumberRectangles(e.slice(0, n), t, i),
  29576. o = this._placeFixedNumberRectangles(e.slice(0, n + 1), t, i);
  29577. if(this._isFirstBetter(a, o)) return a
  29578. }
  29579. }, e.prototype._placeFixedNumberRectangles = function(e, t, i) {
  29580. for(var n = e.length, a = [], o = 0, r = 0; r < e.length; r++) o += e[r];
  29581. for(var s = o / i, l = 0; n > l; l++) {
  29582. var h = i * e[l] / o;
  29583. a.push({
  29584. width: s,
  29585. height: h
  29586. })
  29587. }
  29588. return a
  29589. }, e.prototype._isFirstBetter = function(e, t) {
  29590. var i = e[0].height / e[0].width;
  29591. i = i > 1 ? 1 / i : i;
  29592. var n = t[0].height / t[0].width;
  29593. return n = n > 1 ? 1 / n : n, Math.abs(i - 1) <= Math.abs(n - 1) ? !0 : !1
  29594. }, e
  29595. }), i("echarts/data/Tree", ["require", "zrender/tool/util"], function(e) {
  29596. function t(e, t) {
  29597. this.id = e, this.depth = 0, this.height = 0, this.children = [], this.parent = null, this.data = t || null
  29598. }
  29599. function i(e) {
  29600. this.root = new t(e)
  29601. }
  29602. var n = e("zrender/tool/util");
  29603. return t.prototype.add = function(e) {
  29604. var t = this.children;
  29605. e.parent !== this && (t.push(e), e.parent = this)
  29606. }, t.prototype.remove = function(e) {
  29607. var t = this.children,
  29608. i = n.indexOf(t, e);
  29609. i >= 0 && (t.splice(i, 1), e.parent = null)
  29610. }, t.prototype.traverse = function(e, t) {
  29611. e.call(t, this);
  29612. for(var i = 0; i < this.children.length; i++) this.children[i].traverse(e, t)
  29613. }, t.prototype.updateDepthAndHeight = function(e) {
  29614. var t = 0;
  29615. this.depth = e;
  29616. for(var i = 0; i < this.children.length; i++) {
  29617. var n = this.children[i];
  29618. n.updateDepthAndHeight(e + 1), n.height > t && (t = n.height)
  29619. }
  29620. this.height = t + 1
  29621. }, t.prototype.getNodeById = function(e) {
  29622. if(this.id === e) return this;
  29623. for(var t = 0; t < this.children.length; t++) {
  29624. var i = this.children[t].getNodeById(e);
  29625. if(i) return i
  29626. }
  29627. }, i.prototype.traverse = function(e, t) {
  29628. this.root.traverse(e, t)
  29629. }, i.prototype.getSubTree = function(e) {
  29630. var t = this.getNodeById(e);
  29631. if(t) {
  29632. var n = new i(t.id);
  29633. return n.root = t, n
  29634. }
  29635. }, i.prototype.getNodeById = function(e) {
  29636. return this.root.getNodeById(e)
  29637. }, i.fromOptionData = function(e, n) {
  29638. function a(e, i) {
  29639. var n = new t(e.name, e);
  29640. i.add(n);
  29641. var o = e.children;
  29642. if(o)
  29643. for(var r = 0; r < o.length; r++) a(o[r], n)
  29644. }
  29645. var o = new i(e),
  29646. r = o.root;
  29647. r.data = {
  29648. name: e,
  29649. children: n
  29650. };
  29651. for(var s = 0; s < n.length; s++) a(n[s], r);
  29652. return o.root.updateDepthAndHeight(0), o
  29653. }, i.fromGraph = function(e) {
  29654. function n(t) {
  29655. for(var i = e.getNodeById(t.id), a = 0; a < i.outEdges.length; a++) {
  29656. var r = i.outEdges[a],
  29657. s = o[r.node2.id];
  29658. t.children.push(s), n(s)
  29659. }
  29660. }
  29661. for(var a = {}, o = {}, r = 0; r < e.nodes.length; r++) {
  29662. var s, l = e.nodes[r];
  29663. 0 === l.inDegree() ? (a[l.id] = new i(l.id), s = a[l.id].root) : s = new t(l.id), s.data = l.data, o[l.id] = s
  29664. }
  29665. var h = [];
  29666. for(var m in a) n(a[m].root), a[m].root.updateDepthAndHeight(0), h.push(a[m]);
  29667. return h
  29668. }, i
  29669. }), i("echarts/chart/tree", ["require", "./base", "../util/shape/Icon", "zrender/shape/Image", "zrender/shape/Line", "zrender/shape/BezierCurve", "../layout/Tree", "../data/Tree", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/util", "../chart"], function(e) {
  29670. function t(e, t, n, a, o) {
  29671. i.call(this, e, t, n, a, o), this.refresh(a)
  29672. }
  29673. var i = e("./base"),
  29674. n = .618,
  29675. a = e("../util/shape/Icon"),
  29676. o = e("zrender/shape/Image"),
  29677. r = e("zrender/shape/Line"),
  29678. s = e("zrender/shape/BezierCurve"),
  29679. l = e("../layout/Tree"),
  29680. h = e("../data/Tree"),
  29681. m = e("../config");
  29682. m.tree = {
  29683. zlevel: 1,
  29684. z: 2,
  29685. calculable: !1,
  29686. clickable: !0,
  29687. rootLocation: {},
  29688. orient: "vertical",
  29689. symbol: "circle",
  29690. symbolSize: 20,
  29691. nodePadding: 30,
  29692. layerPadding: 100,
  29693. itemStyle: {
  29694. normal: {
  29695. label: {
  29696. show: !0
  29697. },
  29698. lineStyle: {
  29699. width: 1,
  29700. color: "#777",
  29701. type: "curve"
  29702. }
  29703. },
  29704. emphasis: {}
  29705. }
  29706. };
  29707. var V = e("../util/ecData"),
  29708. U = (e("zrender/config"), e("zrender/tool/event"), e("zrender/tool/util"));
  29709. return t.prototype = {
  29710. type: m.CHART_TYPE_TREE,
  29711. _buildShape: function(e, t) {
  29712. var i = e.data[0];
  29713. this.tree = h.fromOptionData(i.name, i.children), this.tree.root.data = i, this._setTreeShape(e), this.tree.traverse(function(i) {
  29714. this._buildItem(i, e, t), i.children.length > 0 && this._buildLink(i, e)
  29715. }, this);
  29716. var n = e.roam === !0 || "move" === e.roam,
  29717. a = e.roam === !0 || "scale" === e.roam;
  29718. this.zr.modLayer(this.getZlevelBase(), {
  29719. panable: n,
  29720. zoomable: a
  29721. }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(m.EFFECT_ZLEVEL, {
  29722. panable: n,
  29723. zoomable: a
  29724. }), this.addShapeList()
  29725. },
  29726. _buildItem: function(e, t, i) {
  29727. var n = [e.data, t],
  29728. r = this.deepQuery(n, "symbol"),
  29729. s = this.deepMerge(n, "itemStyle.normal") || {},
  29730. l = this.deepMerge(n, "itemStyle.emphasis") || {},
  29731. h = s.color || this.zr.getColor(),
  29732. m = l.color || this.zr.getColor(),
  29733. U = -e.layout.angle || 0;
  29734. e.id === this.tree.root.id && (U = 0);
  29735. var d = "right";
  29736. Math.abs(U) >= Math.PI / 2 && Math.abs(U) < 3 * Math.PI / 2 && (U += Math.PI, d = "left");
  29737. var p = [U, e.layout.position[0], e.layout.position[1]],
  29738. c = new a({
  29739. zlevel: this.getZlevelBase(),
  29740. z: this.getZBase() + 1,
  29741. rotation: p,
  29742. clickable: this.deepQuery(n, "clickable"),
  29743. style: {
  29744. x: e.layout.position[0] - .5 * e.layout.width,
  29745. y: e.layout.position[1] - .5 * e.layout.height,
  29746. width: e.layout.width,
  29747. height: e.layout.height,
  29748. iconType: r,
  29749. color: h,
  29750. brushType: "both",
  29751. lineWidth: s.borderWidth,
  29752. strokeColor: s.borderColor
  29753. },
  29754. highlightStyle: {
  29755. color: m,
  29756. lineWidth: l.borderWidth,
  29757. strokeColor: l.borderColor
  29758. }
  29759. });
  29760. c.style.iconType.match("image") && (c.style.image = c.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), c = new o({
  29761. rotation: p,
  29762. style: c.style,
  29763. highlightStyle: c.highlightStyle,
  29764. clickable: c.clickable,
  29765. zlevel: this.getZlevelBase(),
  29766. z: this.getZBase()
  29767. })), this.deepQuery(n, "itemStyle.normal.label.show") && (c.style.text = null == e.data.label ? e.id : e.data.label, c.style.textPosition = this.deepQuery(n, "itemStyle.normal.label.position"), "radial" === t.orient && "inside" !== c.style.textPosition && (c.style.textPosition = d), c.style.textColor = this.deepQuery(n, "itemStyle.normal.label.textStyle.color"), c.style.textFont = this.getFont(this.deepQuery(n, "itemStyle.normal.label.textStyle") || {})), this.deepQuery(n, "itemStyle.emphasis.label.show") && (c.highlightStyle.textPosition = this.deepQuery(n, "itemStyle.emphasis.label.position"), c.highlightStyle.textColor = this.deepQuery(n, "itemStyle.emphasis.label.textStyle.color"), c.highlightStyle.textFont = this.getFont(this.deepQuery(n, "itemStyle.emphasis.label.textStyle") || {})), V.pack(c, t, i, e.data, 0, e.id), this.shapeList.push(c)
  29768. },
  29769. _buildLink: function(e, t) {
  29770. var i = t.itemStyle.normal.lineStyle;
  29771. if("broken" === i.type) return void this._buildBrokenLine(e, i, t);
  29772. for(var n = 0; n < e.children.length; n++) {
  29773. var a = e.layout.position[0],
  29774. o = e.layout.position[1],
  29775. r = e.children[n].layout.position[0],
  29776. s = e.children[n].layout.position[1];
  29777. switch(i.type) {
  29778. case "curve":
  29779. this._buildBezierCurve(e, e.children[n], i, t);
  29780. break;
  29781. case "broken":
  29782. break;
  29783. default:
  29784. var l = this._getLine(a, o, r, s, i);
  29785. this.shapeList.push(l)
  29786. }
  29787. }
  29788. },
  29789. _buildBrokenLine: function(e, t, i) {
  29790. var a = U.clone(t);
  29791. a.type = "solid";
  29792. var o = [],
  29793. r = e.layout.position[0],
  29794. s = e.layout.position[1],
  29795. l = i.orient,
  29796. h = e.children[0].layout.position[1],
  29797. m = r,
  29798. V = s + (h - s) * (1 - n),
  29799. d = e.children[0].layout.position[0],
  29800. p = V,
  29801. c = e.children[e.children.length - 1].layout.position[0],
  29802. u = V;
  29803. if("horizontal" === l) {
  29804. var y = e.children[0].layout.position[0];
  29805. m = r + (y - r) * (1 - n), V = s, d = m, p = e.children[0].layout.position[1], c = m, u = e.children[e.children.length - 1].layout.position[1]
  29806. }
  29807. o.push(this._getLine(r, s, m, V, a)), o.push(this._getLine(d, p, c, u, a));
  29808. for(var g = 0; g < e.children.length; g++) y = e.children[g].layout.position[0], h = e.children[g].layout.position[1], "horizontal" === l ? p = h : d = y, o.push(this._getLine(d, p, y, h, a));
  29809. this.shapeList = this.shapeList.concat(o)
  29810. },
  29811. _getLine: function(e, t, i, n, a) {
  29812. return e === i && (e = i = this.subPixelOptimize(e, a.width)), t === n && (t = n = this.subPixelOptimize(t, a.width)), new r({
  29813. zlevel: this.getZlevelBase(),
  29814. hoverable: !1,
  29815. style: U.merge({
  29816. xStart: e,
  29817. yStart: t,
  29818. xEnd: i,
  29819. yEnd: n,
  29820. lineType: a.type,
  29821. strokeColor: a.color,
  29822. lineWidth: a.width
  29823. }, a, !0)
  29824. })
  29825. },
  29826. _buildBezierCurve: function(e, t, i, a) {
  29827. var o = n,
  29828. r = a.orient,
  29829. l = e.layout.position[0],
  29830. h = e.layout.position[1],
  29831. m = t.layout.position[0],
  29832. V = t.layout.position[1],
  29833. d = l,
  29834. p = (V - h) * o + h,
  29835. c = m,
  29836. u = (V - h) * (1 - o) + h;
  29837. if("horizontal" === r) d = (m - l) * o + l, p = h, c = (m - l) * (1 - o) + l, u = V;
  29838. else if("radial" === r)
  29839. if(e.id === this.tree.root.id) d = (m - l) * o + l, p = (V - h) * o + h, c = (m - l) * (1 - o) + l, u = (V - h) * (1 - o) + h;
  29840. else {
  29841. var y = e.layout.originPosition[0],
  29842. g = e.layout.originPosition[1],
  29843. b = t.layout.originPosition[0],
  29844. f = t.layout.originPosition[1],
  29845. k = this.tree.root.layout.position[0],
  29846. x = this.tree.root.layout.position[1];
  29847. d = y, p = (f - g) * o + g, c = b, u = (f - g) * (1 - o) + g;
  29848. var _ = (d - this.minX) / this.width * Math.PI * 2;
  29849. d = p * Math.cos(_) + k, p = p * Math.sin(_) + x, _ = (c - this.minX) / this.width * Math.PI * 2, c = u * Math.cos(_) + k, u = u * Math.sin(_) + x
  29850. }
  29851. var L = new s({
  29852. zlevel: this.getZlevelBase(),
  29853. hoverable: !1,
  29854. style: U.merge({
  29855. xStart: l,
  29856. yStart: h,
  29857. cpX1: d,
  29858. cpY1: p,
  29859. cpX2: c,
  29860. cpY2: u,
  29861. xEnd: m,
  29862. yEnd: V,
  29863. strokeColor: i.color,
  29864. lineWidth: i.width
  29865. }, i, !0)
  29866. });
  29867. this.shapeList.push(L)
  29868. },
  29869. _setTreeShape: function(e) {
  29870. var t = new l({
  29871. nodePadding: e.nodePadding,
  29872. layerPadding: e.layerPadding
  29873. });
  29874. this.tree.traverse(function(t) {
  29875. var i = [t.data, e],
  29876. n = this.deepQuery(i, "symbolSize");
  29877. "number" == typeof n && (n = [n, n]), t.layout = {
  29878. width: n[0],
  29879. height: n[1]
  29880. }
  29881. }, this), t.run(this.tree);
  29882. var i = e.orient,
  29883. n = e.rootLocation.x,
  29884. a = e.rootLocation.y,
  29885. o = this.zr.getWidth(),
  29886. r = this.zr.getHeight();
  29887. n = "center" === n ? .5 * o : this.parsePercent(n, o), a = "center" === a ? .5 * r : this.parsePercent(a, r), a = this.parsePercent(a, r), "horizontal" === i && (n = isNaN(n) ? 10 : n, a = isNaN(a) ? .5 * r : a), "radial" === i ? (n = isNaN(n) ? .5 * o : n, a = isNaN(a) ? .5 * r : a) : (n = isNaN(n) ? .5 * o : n, a = isNaN(a) ? 10 : a);
  29888. var s = this.tree.root.layout.position[0];
  29889. if("radial" === i) {
  29890. var h = 1 / 0,
  29891. m = 0,
  29892. V = 0;
  29893. this.tree.traverse(function(e) {
  29894. m = Math.max(m, e.layout.position[0]), h = Math.min(h, e.layout.position[0]), V = Math.max(V, e.layout.width)
  29895. }), this.width = m - h + 2 * V, this.minX = h
  29896. }
  29897. this.tree.traverse(function(t) {
  29898. var o, r;
  29899. if("vertical" === i && "inverse" === e.direction) o = t.layout.position[0] - s + n, r = a - t.layout.position[1];
  29900. else if("vertical" === i) o = t.layout.position[0] - s + n, r = t.layout.position[1] + a;
  29901. else if("horizontal" === i && "inverse" === e.direction) r = t.layout.position[0] - s + a, o = n - t.layout.position[1];
  29902. else if("horizontal" === i) r = t.layout.position[0] - s + a, o = t.layout.position[1] + n;
  29903. else {
  29904. o = t.layout.position[0], r = t.layout.position[1], t.layout.originPosition = [o, r];
  29905. var l = r,
  29906. m = (o - h) / this.width * Math.PI * 2;
  29907. o = l * Math.cos(m) + n, r = l * Math.sin(m) + a, t.layout.angle = m
  29908. }
  29909. t.layout.position[0] = o, t.layout.position[1] = r
  29910. }, this)
  29911. },
  29912. refresh: function(e) {
  29913. this.clear(), e && (this.option = e, this.series = this.option.series);
  29914. for(var t = this.series, i = this.component.legend, n = 0; n < t.length; n++)
  29915. if(t[n].type === m.CHART_TYPE_TREE) {
  29916. t[n] = this.reformOption(t[n]);
  29917. var a = t[n].name || "";
  29918. if(this.selectedMap[a] = i ? i.isSelected(a) : !0, !this.selectedMap[a]) continue;
  29919. this._buildSeries(t[n], n)
  29920. }
  29921. },
  29922. _buildSeries: function(e, t) {
  29923. this._buildShape(e, t)
  29924. }
  29925. }, U.inherits(t, i), e("../chart").define("tree", t), t
  29926. }), i("echarts/layout/Tree", ["require", "zrender/tool/vector"], function(e) {
  29927. function t(e) {
  29928. e = e || {}, this.nodePadding = e.nodePadding || 30, this.layerPadding = e.layerPadding || 100, this._layerOffsets = [], this._layers = []
  29929. }
  29930. var i = e("zrender/tool/vector");
  29931. return t.prototype.run = function(e) {
  29932. this._layerOffsets.length = 0;
  29933. for(var t = 0; t < e.root.height + 1; t++) this._layerOffsets[t] = 0, this._layers[t] = [];
  29934. this._updateNodeXPosition(e.root);
  29935. var i = e.root;
  29936. this._updateNodeYPosition(i, 0, i.layout.height)
  29937. }, t.prototype._updateNodeXPosition = function(e) {
  29938. var t = 1 / 0,
  29939. n = -(1 / 0);
  29940. e.layout.position = e.layout.position || i.create();
  29941. for(var a = 0; a < e.children.length; a++) {
  29942. var o = e.children[a];
  29943. this._updateNodeXPosition(o);
  29944. var r = o.layout.position[0];
  29945. t > r && (t = r), r > n && (n = r)
  29946. }
  29947. e.layout.position[0] = e.children.length > 0 ? (t + n) / 2 : 0;
  29948. var s = this._layerOffsets[e.depth] || 0;
  29949. if(s > e.layout.position[0]) {
  29950. var l = s - e.layout.position[0];
  29951. this._shiftSubtree(e, l);
  29952. for(var a = e.depth + 1; a < e.height + e.depth; a++) this._layerOffsets[a] += l
  29953. }
  29954. this._layerOffsets[e.depth] = e.layout.position[0] + e.layout.width + this.nodePadding, this._layers[e.depth].push(e)
  29955. }, t.prototype._shiftSubtree = function(e, t) {
  29956. e.layout.position[0] += t;
  29957. for(var i = 0; i < e.children.length; i++) this._shiftSubtree(e.children[i], t)
  29958. }, t.prototype._updateNodeYPosition = function(e, t, i) {
  29959. e.layout.position[1] = t;
  29960. for(var n = 0, a = 0; a < e.children.length; a++) n = Math.max(e.children[a].layout.height, n);
  29961. var o = this.layerPadding;
  29962. "function" == typeof o && (o = o(e.depth));
  29963. for(var a = 0; a < e.children.length; a++) this._updateNodeYPosition(e.children[a], t + o + i, n)
  29964. }, t
  29965. }), i("echarts/chart/wordCloud", ["require", "./base", "zrender/shape/Text", "../layout/WordCloud", "../component/grid", "../component/dataRange", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
  29966. function t(e, t, n, a, o) {
  29967. i.call(this, e, t, n, a, o), this.refresh(a)
  29968. }
  29969. var i = e("./base"),
  29970. n = e("zrender/shape/Text"),
  29971. a = e("../layout/WordCloud");
  29972. e("../component/grid"), e("../component/dataRange");
  29973. var o = e("../config"),
  29974. r = e("../util/ecData"),
  29975. s = e("zrender/tool/util"),
  29976. l = e("zrender/tool/color");
  29977. return o.wordCloud = {
  29978. zlevel: 0,
  29979. z: 2,
  29980. clickable: !0,
  29981. center: ["50%", "50%"],
  29982. size: ["40%", "40%"],
  29983. textRotation: [0, 90],
  29984. textPadding: 0,
  29985. autoSize: {
  29986. enable: !0,
  29987. minSize: 12
  29988. },
  29989. itemStyle: {
  29990. normal: {
  29991. textStyle: {
  29992. fontSize: function(e) {
  29993. return e.value
  29994. }
  29995. }
  29996. }
  29997. }
  29998. }, t.prototype = {
  29999. type: o.CHART_TYPE_WORDCLOUD,
  30000. refresh: function(e) {
  30001. e && (this.option = e, this.series = e.series), this._init()
  30002. },
  30003. _init: function() {
  30004. var e = this.series;
  30005. this.backupShapeList();
  30006. for(var t = this.component.legend, i = 0; i < e.length; i++)
  30007. if(e[i].type === o.CHART_TYPE_WORDCLOUD) {
  30008. e[i] = this.reformOption(e[i]);
  30009. var n = e[i].name || "";
  30010. if(this.selectedMap[n] = t ? t.isSelected(n) : !0, !this.selectedMap[n]) continue;
  30011. this.buildMark(i), this._initSerie(e[i])
  30012. }
  30013. },
  30014. _initSerie: function(e) {
  30015. var t = e.itemStyle.normal.textStyle,
  30016. i = [this.parsePercent(e.size[0], this.zr.getWidth()) || 200, this.parsePercent(e.size[1], this.zr.getHeight()) || 200],
  30017. n = this.parseCenter(this.zr, e.center),
  30018. o = {
  30019. size: i,
  30020. wordletype: {
  30021. autoSizeCal: e.autoSize
  30022. },
  30023. center: n,
  30024. rotate: e.textRotation,
  30025. padding: e.textPadding,
  30026. font: t.fontFamily,
  30027. fontSize: t.fontSize,
  30028. fontWeight: t.fontWeight,
  30029. fontStyle: t.fontStyle,
  30030. text: function(e) {
  30031. return e.name
  30032. },
  30033. data: e.data
  30034. },
  30035. r = new a(o),
  30036. s = this;
  30037. r.end(function(e) {
  30038. s._buildShapes(e)
  30039. }), r.start()
  30040. },
  30041. _buildShapes: function(e) {
  30042. for(var t = e.length, i = 0; t > i; i++) this._buildTextShape(e[i], 0, i);
  30043. this.addShapeList()
  30044. },
  30045. _buildTextShape: function(e, t, i) {
  30046. var a = this.series,
  30047. o = a[t],
  30048. s = o.name || "",
  30049. h = o.data[i],
  30050. m = [h, o],
  30051. V = this.component.legend,
  30052. U = V ? V.getColor(s) : this.zr.getColor(t),
  30053. d = this.deepMerge(m, "itemStyle.normal") || {},
  30054. p = this.deepMerge(m, "itemStyle.emphasis") || {},
  30055. c = this.getItemStyleColor(d.color, t, i, h) || U,
  30056. u = this.getItemStyleColor(p.color, t, i, h) || ("string" == typeof c ? l.lift(c, -.2) : c),
  30057. y = new n({
  30058. zlevel: o.zlevel,
  30059. z: o.z,
  30060. hoverable: !0,
  30061. clickable: this.deepQuery(m, "clickable"),
  30062. style: {
  30063. x: 0,
  30064. y: 0,
  30065. text: e.text,
  30066. color: c,
  30067. textFont: [e.style, e.weight, e.size + "px", e.font].join(" "),
  30068. textBaseline: "alphabetic",
  30069. textAlign: "center"
  30070. },
  30071. highlightStyle: {
  30072. brushType: p.borderWidth ? "both" : "fill",
  30073. color: u,
  30074. lineWidth: p.borderWidth || 0,
  30075. strokeColor: p.borderColor
  30076. },
  30077. position: [e.x, e.y],
  30078. rotation: [-e.rotate / 180 * Math.PI, 0, 0]
  30079. });
  30080. r.pack(y, o, t, h, i, h.name), this.shapeList.push(y)
  30081. }
  30082. }, s.inherits(t, i), e("../chart").define("wordCloud", t), t
  30083. }), i("echarts/layout/WordCloud", ["require", "../layout/WordCloudRectZero", "zrender/tool/util"], function(e) {
  30084. function t(e) {
  30085. this._init(e)
  30086. }
  30087. var i = e("../layout/WordCloudRectZero"),
  30088. n = e("zrender/tool/util");
  30089. return t.prototype = {
  30090. start: function() {
  30091. function e() {
  30092. p.totalArea = r, U.autoSizeCal.enable && p._autoCalTextSize(m, r, a, o, U.autoSizeCal.minSize), V.timer && clearInterval(V.timer), V.timer = setInterval(t, 0), t()
  30093. }
  30094. function t() {
  30095. for(var e, t = +new Date, i = m.length; + new Date - t < V.timeInterval && ++s < i && V.timer;) e = m[s], e.x = d[0] >> 1, e.y = d[1] >> 1, p._cloudSprite(e, m, s), e.hasText && p._place(n, e, h) && (l.push(e), e.x -= d[0] >> 1, e.y -= d[1] >> 1);
  30096. s >= i && (p.stop(), p._fixTagPosition(l), V.endcallback(l))
  30097. }
  30098. var n = null,
  30099. a = 0,
  30100. o = 0,
  30101. r = 0,
  30102. s = -1,
  30103. l = [],
  30104. h = null,
  30105. m = this.wordsdata,
  30106. V = this.defaultOption,
  30107. U = V.wordletype,
  30108. d = V.size,
  30109. p = this,
  30110. c = new i({
  30111. type: U.type,
  30112. width: d[0],
  30113. height: d[1]
  30114. });
  30115. return c.calculate(function(t) {
  30116. n = t.initarr, a = t.maxWit, o = t.maxHit, r = t.area, h = t.imgboard, e()
  30117. }, this), this
  30118. },
  30119. _fixTagPosition: function(e) {
  30120. for(var t = this.defaultOption.center, i = 0, n = e.length; n > i; i++) e[i].x += t[0], e[i].y += t[1]
  30121. },
  30122. stop: function() {
  30123. return this.defaultOption.timer && (clearInterval(this.defaultOption.timer), this.defaultOption.timer = null), this
  30124. },
  30125. end: function(e) {
  30126. return e && (this.defaultOption.endcallback = e), this
  30127. },
  30128. _init: function(e) {
  30129. this.defaultOption = {}, this._initProperty(e), this._initMethod(e), this._initCanvas(), this._initData(e.data)
  30130. },
  30131. _initData: function(e) {
  30132. var t = this,
  30133. i = t.defaultOption;
  30134. this.wordsdata = e.map(function(e, n) {
  30135. return e.text = i.text.call(t, e, n), e.font = i.font.call(t, e, n), e.style = i.fontStyle.call(t, e, n), e.weight = i.fontWeight.call(t, e, n), e.rotate = i.rotate.call(t, e, n), e.size = ~~i.fontSize.call(t, e, n), e.padding = i.padding.call(t, e, n), e
  30136. }).sort(function(e, t) {
  30137. return t.value - e.value
  30138. })
  30139. },
  30140. _initMethod: function(e) {
  30141. function t(e) {
  30142. return e.name
  30143. }
  30144. function i() {
  30145. return "sans-serif"
  30146. }
  30147. function n() {
  30148. return "normal"
  30149. }
  30150. function a(e) {
  30151. return e.value
  30152. }
  30153. function o() {
  30154. return 0
  30155. }
  30156. function r(e) {
  30157. return function() {
  30158. return e[Math.round(Math.random() * (e.length - 1))]
  30159. }
  30160. }
  30161. function s() {
  30162. return 0
  30163. }
  30164. function l(e) {
  30165. var t = e[0] / e[1];
  30166. return function(e) {
  30167. return [t * (e *= .1) * Math.cos(e), e * Math.sin(e)]
  30168. }
  30169. }
  30170. function h(e) {
  30171. var t = 4,
  30172. i = t * e[0] / e[1],
  30173. n = 0,
  30174. a = 0;
  30175. return function(e) {
  30176. var o = 0 > e ? -1 : 1;
  30177. switch(Math.sqrt(1 + 4 * o * e) - o & 3) {
  30178. case 0:
  30179. n += i;
  30180. break;
  30181. case 1:
  30182. a += t;
  30183. break;
  30184. case 2:
  30185. n -= i;
  30186. break;
  30187. default:
  30188. a -= t
  30189. }
  30190. return [n, a]
  30191. }
  30192. }
  30193. function m(e) {
  30194. return "function" == typeof e ? e : function() {
  30195. return e
  30196. }
  30197. }
  30198. var V = this.defaultOption;
  30199. V.text = e.text ? m(e.text) : t, V.font = e.font ? m(e.font) : i, V.fontSize = e.fontSize ? m(e.fontSize) : a, V.fontStyle = e.fontStyle ? m(e.fontStyle) : n, V.fontWeight = e.fontWeight ? m(e.fontWeight) : n, V.rotate = e.rotate ? r(e.rotate) : o, V.padding = e.padding ? m(e.padding) : s, V.center = e.center, V.spiral = l, V.endcallback = function() {}, V.rectangularSpiral = h, V.archimedeanSpiral = l
  30200. },
  30201. _initProperty: function(e) {
  30202. var t = this.defaultOption;
  30203. t.size = e.size || [256, 256], t.wordletype = e.wordletype, t.words = e.words || [], t.timeInterval = 1 / 0, t.timer = null, t.spirals = {
  30204. archimedean: t.archimedeanSpiral,
  30205. rectangular: t.rectangularSpiral
  30206. }, n.merge(t, {
  30207. size: [256, 256],
  30208. wordletype: {
  30209. type: "RECT",
  30210. areaPresent: .058,
  30211. autoSizeCal: {
  30212. enable: !0,
  30213. minSize: 12
  30214. }
  30215. }
  30216. })
  30217. },
  30218. _initCanvas: function() {
  30219. var e, t = Math.PI / 180,
  30220. i = 64,
  30221. n = 2048,
  30222. a = 1;
  30223. "undefined" != typeof document ? (e = document.createElement("canvas"), e.width = 1, e.height = 1, a = Math.sqrt(e.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2), e.width = (i << 5) / a, e.height = n / a) : e = new Canvas(i << 5, n);
  30224. var o = e.getContext("2d");
  30225. o.fillStyle = o.strokeStyle = "red", o.textAlign = "center", this.defaultOption.c = o, this.defaultOption.cw = i, this.defaultOption.ch = n, this.defaultOption.ratio = a, this.defaultOption.cloudRadians = t
  30226. },
  30227. _cloudSprite: function(e, t, i) {
  30228. if(!e.sprite) {
  30229. var n = this.defaultOption.cw,
  30230. a = this.defaultOption.ch,
  30231. o = this.defaultOption.c,
  30232. r = this.defaultOption.ratio,
  30233. s = this.defaultOption.cloudRadians;
  30234. o.clearRect(0, 0, (n << 5) / r, a / r);
  30235. var l = 0,
  30236. h = 0,
  30237. m = 0,
  30238. V = t.length;
  30239. for(--i; ++i < V;) {
  30240. e = t[i], o.save(), o.font = e.style + " " + e.weight + " " + ~~((e.size + 1) / r) + "px " + e.font;
  30241. var U = o.measureText(e.text + "m").width * r,
  30242. d = e.size << 1;
  30243. if(e.rotate) {
  30244. var p = Math.sin(e.rotate * s),
  30245. c = Math.cos(e.rotate * s),
  30246. u = U * c,
  30247. y = U * p,
  30248. g = d * c,
  30249. b = d * p;
  30250. U = Math.max(Math.abs(u + b), Math.abs(u - b)) + 31 >> 5 << 5, d = ~~Math.max(Math.abs(y + g), Math.abs(y - g))
  30251. } else U = U + 31 >> 5 << 5;
  30252. if(d > m && (m = d), l + U >= n << 5 && (l = 0, h += m, m = 0), h + d >= a) break;
  30253. o.translate((l + (U >> 1)) / r, (h + (d >> 1)) / r), e.rotate && o.rotate(e.rotate * s), o.fillText(e.text, 0, 0), e.padding && (o.lineWidth = 2 * e.padding, o.strokeText(e.text, 0, 0)), o.restore(), e.width = U, e.height = d, e.xoff = l, e.yoff = h, e.x1 = U >> 1, e.y1 = d >> 1, e.x0 = -e.x1, e.y0 = -e.y1, e.hasText = !0, l += U
  30254. }
  30255. for(var f = o.getImageData(0, 0, (n << 5) / r, a / r).data, k = []; --i >= 0;)
  30256. if(e = t[i], e.hasText) {
  30257. for(var U = e.width, x = U >> 5, d = e.y1 - e.y0, _ = 0; d * x > _; _++) k[_] = 0;
  30258. if(l = e.xoff, null == l) return;
  30259. h = e.yoff;
  30260. for(var L = 0, W = -1, X = 0; d > X; X++) {
  30261. for(var _ = 0; U > _; _++) {
  30262. var v = x * X + (_ >> 5),
  30263. w = f[(h + X) * (n << 5) + (l + _) << 2] ? 1 << 31 - _ % 32 : 0;
  30264. k[v] |= w, L |= w
  30265. }
  30266. L ? W = X : (e.y0++, d--, X--, h++)
  30267. }
  30268. e.y1 = e.y0 + W, e.sprite = k.slice(0, (e.y1 - e.y0) * x)
  30269. }
  30270. }
  30271. },
  30272. _place: function(e, t, i) {
  30273. function n(e, t, i) {
  30274. i >>= 5;
  30275. for(var n, a = e.sprite, o = e.width >> 5, r = e.x - (o << 4), s = 127 & r, l = 32 - s, h = e.y1 - e.y0, m = (e.y + e.y0) * i + (r >> 5), V = 0; h > V; V++) {
  30276. n = 0;
  30277. for(var U = 0; o >= U; U++)
  30278. if((n << l | (o > U ? (n = a[V * o + U]) >>> s : 0)) & t[m + U]) return !0;
  30279. m += i
  30280. }
  30281. return !1
  30282. }
  30283. function a(e, t) {
  30284. return t.row[e.y] && t.cloumn[e.x] && e.x >= t.row[e.y].start && e.x <= t.row[e.y].end && e.y >= t.cloumn[e.x].start && e.y <= t.cloumn[e.x].end
  30285. }
  30286. for(var o, r, s, l = this.defaultOption.size, h = ([{
  30287. x: 0,
  30288. y: 0
  30289. }, {
  30290. x: l[0],
  30291. y: l[1]
  30292. }], t.x), m = t.y, V = Math.sqrt(l[0] * l[0] + l[1] * l[1]), U = this.defaultOption.spiral(l), d = Math.random() < .5 ? 1 : -1, p = -d;
  30293. (o = U(p += d)) && (r = ~~o[0], s = ~~o[1], !(Math.min(r, s) > V));)
  30294. if(t.x = h + r, t.y = m + s, !(t.x + t.x0 < 0 || t.y + t.y0 < 0 || t.x + t.x1 > l[0] || t.y + t.y1 > l[1]) && !n(t, e, l[0]) && a(t, i)) {
  30295. for(var c, u = t.sprite, y = t.width >> 5, g = l[0] >> 5, b = t.x - (y << 4), f = 127 & b, k = 32 - f, x = t.y1 - t.y0, _ = (t.y + t.y0) * g + (b >> 5), L = 0; x > L; L++) {
  30296. c = 0;
  30297. for(var W = 0; y >= W; W++) e[_ + W] |= c << k | (y > W ? (c = u[L * y + W]) >>> f : 0);
  30298. _ += g
  30299. }
  30300. return delete t.sprite, !0
  30301. }
  30302. return !1
  30303. },
  30304. _autoCalTextSize: function(e, t, i, n, a) {
  30305. function o(e) {
  30306. c.clearRect(0, 0, (d << 5) / u, p / u), c.save(), c.font = e.style + " " + e.weight + " " + ~~((e.size + 1) / u) + "px " + e.font;
  30307. var t = c.measureText(e.text + "m").width * u,
  30308. r = e.size << 1;
  30309. t = t + 31 >> 5 << 5, c.restore(), e.aw = t, e.ah = r;
  30310. var s, l, h;
  30311. if(e.rotate) {
  30312. var m = Math.sin(e.rotate * y),
  30313. V = Math.cos(e.rotate * y),
  30314. g = t * V,
  30315. b = t * m,
  30316. f = r * V,
  30317. k = r * m;
  30318. l = Math.max(Math.abs(g + k), Math.abs(g - k)) + 31 >> 5 << 5, h = ~~Math.max(Math.abs(b + f), Math.abs(b - f))
  30319. }
  30320. return e.size <= U || e.rotate && t * r <= e.area && i >= l && n >= h || t * r <= e.area && i >= t && n >= r ? void(e.area = t * r) : (s = e.rotate && l > i && h > n ? Math.min(i / l, n / h) : t > i || r > n ? Math.min(i / t, n / r) : Math.sqrt(e.area / (e.aw * e.ah)), e.size = ~~(s * e.size), e.size < a ? void(e.size = a) : o(e))
  30321. }
  30322. function r(e, t) {
  30323. for(var i = e.length, n = 0; i--;) n += t(e[i]);
  30324. return n
  30325. }
  30326. for(var s, l, h = r(e, function(e) {
  30327. return e.size
  30328. }), m = e.length, V = .25, U = a, d = this.defaultOption.cw, p = this.defaultOption.ch, c = this.defaultOption.c, u = this.defaultOption.ratio, y = this.defaultOption.cloudRadians; m--;) s = e[m], l = s.size / h, s.areapre = V ? V > l ? l : V : l, s.area = t * s.areapre, s.totalarea = t, o(s)
  30329. }
  30330. }, t
  30331. }), i("echarts/layout/WordCloudRectZero", ["require"], function() {
  30332. function e(e) {
  30333. this.defaultOption = {
  30334. type: "RECT"
  30335. }, this._init(e)
  30336. }
  30337. return e.prototype = {
  30338. RECT: "_calculateRect",
  30339. _init: function(e) {
  30340. this._initOption(e), this._initCanvas()
  30341. },
  30342. _initOption: function(e) {
  30343. for(k in e) this.defaultOption[k] = e[k]
  30344. },
  30345. _initCanvas: function() {
  30346. var e = document.createElement("canvas");
  30347. e.width = 1, e.height = 1;
  30348. var t = Math.sqrt(e.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2);
  30349. if(e.width = this.defaultOption.width, e.height = this.defaultOption.height, e.getContext) var i = e.getContext("2d");
  30350. this.canvas = e, this.ctx = i, this.ratio = t
  30351. },
  30352. calculate: function(e, t) {
  30353. var i = this.defaultOption.type,
  30354. n = this[i];
  30355. this[n].call(this, e, t)
  30356. },
  30357. _calculateReturn: function(e, t, i) {
  30358. t.call(i, e)
  30359. },
  30360. _calculateRect: function(e, t) {
  30361. var i = {},
  30362. n = this.defaultOption.width >> 5 << 5,
  30363. a = this.defaultOption.height;
  30364. i.initarr = this._rectZeroArray(n * a), i.area = n * a, i.maxHit = a, i.maxWit = n, i.imgboard = this._rectBoard(n, a), this._calculateReturn(i, e, t)
  30365. },
  30366. _rectBoard: function(e, t) {
  30367. for(var i = [], n = 0; t > n; n++) i.push({
  30368. y: n,
  30369. start: 0,
  30370. end: e
  30371. });
  30372. for(var a = [], n = 0; e > n; n++) a.push({
  30373. x: n,
  30374. start: 0,
  30375. end: t
  30376. });
  30377. return {
  30378. row: i,
  30379. cloumn: a
  30380. }
  30381. },
  30382. _rectZeroArray: function(e) {
  30383. for(var t = [], i = e, n = -1; ++n < i;) t[n] = 0;
  30384. return t
  30385. }
  30386. }, e
  30387. }), i("echarts/chart/heatmap", ["require", "./base", "../layer/heatmap", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "zrender/shape/Image", "../chart"], function(e) {
  30388. function t(e, t, n, a, o) {
  30389. i.call(this, e, t, n, a, o), this.refresh(a)
  30390. }
  30391. var i = e("./base"),
  30392. n = e("../layer/heatmap"),
  30393. a = e("../config"),
  30394. o = (e("../util/ecData"), e("zrender/tool/util")),
  30395. r = (e("zrender/tool/color"), e("zrender/shape/Image"));
  30396. return a.heatmap = {
  30397. zlevel: 0,
  30398. z: 2,
  30399. clickable: !0
  30400. }, t.prototype = {
  30401. type: a.CHART_TYPE_HEATMAP,
  30402. refresh: function(e) {
  30403. this.clear(), e && (this.option = e, this.series = e.series), this._init()
  30404. },
  30405. _init: function() {
  30406. var e = this.series;
  30407. this.backupShapeList();
  30408. for(var t = e.length, i = 0; t > i; ++i)
  30409. if(e[i].type === a.CHART_TYPE_HEATMAP) {
  30410. e[i] = this.reformOption(e[i]);
  30411. var o = new n(e[i]),
  30412. s = o.getCanvas(e[i].data, this.zr.getWidth(), this.zr.getHeight()),
  30413. l = new r({
  30414. position: [0, 0],
  30415. scale: [1, 1],
  30416. hoverable: this.option.hoverable,
  30417. style: {
  30418. x: 0,
  30419. y: 0,
  30420. image: s,
  30421. width: s.width,
  30422. height: s.height
  30423. }
  30424. });
  30425. this.shapeList.push(l)
  30426. }
  30427. this.addShapeList()
  30428. }
  30429. }, o.inherits(t, i), e("../chart").define("heatmap", t), t
  30430. });
  30431. var n = t("zrender");
  30432. n.tool = {
  30433. color: t("zrender/tool/color"),
  30434. math: t("zrender/tool/math"),
  30435. util: t("zrender/tool/util"),
  30436. vector: t("zrender/tool/vector"),
  30437. area: t("zrender/tool/area"),
  30438. event: t("zrender/tool/event")
  30439. }, n.animation = {
  30440. Animation: t("zrender/animation/Animation"),
  30441. Cip: t("zrender/animation/Clip"),
  30442. easing: t("zrender/animation/easing")
  30443. };
  30444. var a = t("echarts");
  30445. a.config = t("echarts/config"), a.util = {
  30446. mapData: {
  30447. params: t("echarts/util/mapData/params")
  30448. }
  30449. }, t("echarts/chart/line"), t("echarts/chart/bar"), t("echarts/chart/scatter"), t("echarts/chart/k"), t("echarts/chart/pie"), t("echarts/chart/radar"), t("echarts/chart/chord"), t("echarts/chart/force"), t("echarts/chart/map"), t("echarts/chart/gauge"), t("echarts/chart/funnel"), t("echarts/chart/eventRiver"), t("echarts/chart/venn"), t("echarts/chart/treemap"), t("echarts/chart/tree"), t("echarts/chart/wordCloud"), t("echarts/chart/heatmap"), e.echarts = a, e.zrender = n
  30450. }(window);