echarts-all.js 1.4 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404
  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("/"), n = e.split("/"), a = i.length - 1, o = n.length, r = 0, s = 0;
  8. e:for (var l = 0; o > l; l++) switch (n[l]) {
  9. case"..":
  10. if (!(a > r)) break e;
  11. r++, s++;
  12. break;
  13. case".":
  14. s++;
  15. break;
  16. default:
  17. break e
  18. }
  19. return i.length = a - r, n = n.slice(s), i.concat(n).join("/")
  20. }
  21. return e
  22. }
  23. function n(t) {
  24. function i(i, r) {
  25. if ("string" == typeof i) {
  26. var s = n[i];
  27. return s || (s = o(e(i, t)), n[i] = s), s
  28. }
  29. i instanceof Array && (r = r || function () {
  30. }, r.apply(this, a(i, r, t)))
  31. }
  32. var n = {};
  33. return i
  34. }
  35. function a(i, n, a) {
  36. for (var s = [], l = r[a], h = 0, m = Math.min(i.length, n.length); m > h; h++) {
  37. var V, U = e(i[h], a);
  38. switch (U) {
  39. case"require":
  40. V = l && l.require || t;
  41. break;
  42. case"exports":
  43. V = l.exports;
  44. break;
  45. case"module":
  46. V = l;
  47. break;
  48. default:
  49. V = o(U)
  50. }
  51. s.push(V)
  52. }
  53. return s
  54. }
  55. function o(e) {
  56. var t = r[e];
  57. if (!t) throw new Error("No " + e);
  58. if (!t.defined) {
  59. var i = t.factory, n = i.apply(this, a(t.deps || [], i, e));
  60. "undefined" != typeof n && (t.exports = n), t.defined = 1
  61. }
  62. return t.exports
  63. }
  64. var r = {};
  65. i = function (e, t, i) {
  66. r[e] = {id: e, deps: t, factory: i, defined: 0, exports: {}, require: n(e)}
  67. }, t = n("")
  68. }(), i("echarts", ["echarts/echarts"], function (e) {
  69. return e
  70. }), 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) {
  71. function t() {
  72. r.Dispatcher.call(this)
  73. }
  74. function i(e) {
  75. e.innerHTML = "", this._themeConfig = {}, this.dom = e, this._connected = !1, this._status = {
  76. dragIn: !1,
  77. dragOut: !1,
  78. needRefresh: !1
  79. }, this._curEventType = !1, this._chartList = [], this._messageCenter = new t, this._messageCenterOutSide = new t, this.resize = this.resize(), this._init()
  80. }
  81. function n(e, t, i, n, a) {
  82. for (var o = e._chartList, r = o.length; r--;) {
  83. var s = o[r];
  84. "function" == typeof s[t] && s[t](i, n, a)
  85. }
  86. }
  87. var a = e("./config"), o = e("zrender/tool/util"), r = e("zrender/tool/event"), s = {},
  88. l = e("zrender/tool/env").canvasSupported, h = new Date - 0, m = {}, V = "_echarts_instance_";
  89. s.version = "2.2.7", s.dependencies = {zrender: "2.1.1"}, s.init = function (t, n) {
  90. var a = e("zrender");
  91. 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;
  92. var o = t.getAttribute(V);
  93. 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]
  94. }, s.getInstanceById = function (e) {
  95. return m[e]
  96. }, o.merge(t.prototype, r.Dispatcher.prototype, !0);
  97. var U = e("zrender/config").EVENT,
  98. d = ["CLICK", "DBLCLICK", "MOUSEOVER", "MOUSEOUT", "DRAGSTART", "DRAGEND", "DRAGENTER", "DRAGOVER", "DRAGLEAVE", "DROP"];
  99. return i.prototype = {
  100. _init: function () {
  101. var t = this, i = e("zrender").init(this.dom);
  102. this._zr = i, this._messageCenter.dispatch = function (e, i, n, a) {
  103. n = n || {}, n.type = e, n.event = i, t._messageCenter.dispatchWithContext(e, n, a), t._messageCenterOutSide.dispatchWithContext(e, n, a)
  104. }, this._onevent = function (e) {
  105. return t.__onevent(e)
  106. };
  107. 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);
  108. var o = {};
  109. this._onzrevent = function (e) {
  110. return t[o[e.type]](e)
  111. };
  112. for (var r = 0, s = d.length; s > r; r++) {
  113. var l = d[r], h = U[l];
  114. o[h] = "_on" + l.toLowerCase(), i.on(h, this._onzrevent)
  115. }
  116. this.chart = {}, this.component = {};
  117. var m = e("./chart/island");
  118. this._island = new m(this._themeConfig, this._messageCenter, i, {}, this), this.chart.island = this._island;
  119. var V = e("./component/toolbox");
  120. this._toolbox = new V(this._themeConfig, this._messageCenter, i, {}, this), this.component.toolbox = this._toolbox;
  121. var p = e("./component");
  122. 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.")
  123. }, __onevent: function (e) {
  124. e.__echartsId = e.__echartsId || this.id;
  125. var t = e.__echartsId === this.id;
  126. switch (this._curEventType || (this._curEventType = e.type), e.type) {
  127. case a.EVENT.LEGEND_SELECTED:
  128. this._onlegendSelected(e);
  129. break;
  130. case a.EVENT.DATA_ZOOM:
  131. if (!t) {
  132. var i = this.component.dataZoom;
  133. i && (i.silence(!0), i.absoluteZoom(e.zoom), i.silence(!1))
  134. }
  135. this._ondataZoom(e);
  136. break;
  137. case a.EVENT.DATA_RANGE:
  138. t && this._ondataRange(e);
  139. break;
  140. case a.EVENT.MAGIC_TYPE_CHANGED:
  141. if (!t) {
  142. var n = this.component.toolbox;
  143. n && (n.silence(!0), n.setMagicType(e.magicType), n.silence(!1))
  144. }
  145. this._onmagicTypeChanged(e);
  146. break;
  147. case a.EVENT.DATA_VIEW_CHANGED:
  148. t && this._ondataViewChanged(e);
  149. break;
  150. case a.EVENT.TOOLTIP_HOVER:
  151. t && this._tooltipHover(e);
  152. break;
  153. case a.EVENT.RESTORE:
  154. this._onrestore();
  155. break;
  156. case a.EVENT.REFRESH:
  157. t && this._onrefresh(e);
  158. break;
  159. case a.EVENT.TOOLTIP_IN_GRID:
  160. case a.EVENT.TOOLTIP_OUT_GRID:
  161. if (t) {
  162. if (this._connected) {
  163. var o = this.component.grid;
  164. o && (e.x = (e.event.zrenderX - o.getX()) / o.getWidth(), e.y = (e.event.zrenderY - o.getY()) / o.getHeight())
  165. }
  166. } else {
  167. var o = this.component.grid;
  168. o && this._zr.trigger("mousemove", {
  169. connectTrigger: !0,
  170. zrenderX: o.getX() + e.x * o.getWidth(),
  171. zrenderY: o.getY() + e.y * o.getHeight()
  172. })
  173. }
  174. }
  175. if (this._connected && t && this._curEventType === e.type) {
  176. for (var r in this._connected) this._connected[r].connectedEventHandler(e);
  177. this._curEventType = null
  178. }
  179. (!t || !this._connected && t) && (this._curEventType = null)
  180. }, _onclick: function (e) {
  181. if (n(this, "onclick", e), e.target) {
  182. var t = this._eventPackage(e.target);
  183. t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.CLICK, e.event, t, this)
  184. }
  185. }, _ondblclick: function (e) {
  186. if (n(this, "ondblclick", e), e.target) {
  187. var t = this._eventPackage(e.target);
  188. t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.DBLCLICK, e.event, t, this)
  189. }
  190. }, _onmouseover: function (e) {
  191. if (e.target) {
  192. var t = this._eventPackage(e.target);
  193. t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.HOVER, e.event, t, this)
  194. }
  195. }, _onmouseout: function (e) {
  196. if (e.target) {
  197. var t = this._eventPackage(e.target);
  198. t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.MOUSEOUT, e.event, t, this)
  199. }
  200. }, _ondragstart: function (e) {
  201. this._status = {dragIn: !1, dragOut: !1, needRefresh: !1}, n(this, "ondragstart", e)
  202. }, _ondragenter: function (e) {
  203. n(this, "ondragenter", e)
  204. }, _ondragover: function (e) {
  205. n(this, "ondragover", e)
  206. }, _ondragleave: function (e) {
  207. n(this, "ondragleave", e)
  208. }, _ondrop: function (e) {
  209. n(this, "ondrop", e, this._status), this._island.ondrop(e, this._status)
  210. }, _ondragend: function (e) {
  211. if (n(this, "ondragend", e, this._status), this._timeline && this._timeline.ondragend(e, this._status), this._island.ondragend(e, this._status), this._status.needRefresh) {
  212. this._syncBackupData(this._option);
  213. var t = this._messageCenter;
  214. t.dispatch(a.EVENT.DATA_CHANGED, e.event, this._eventPackage(e.target), this), t.dispatch(a.EVENT.REFRESH, null, null, this)
  215. }
  216. }, _onlegendSelected: function (e) {
  217. this._status.needRefresh = !1, n(this, "onlegendSelected", e, this._status), this._status.needRefresh && this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
  218. }, _ondataZoom: function (e) {
  219. this._status.needRefresh = !1, n(this, "ondataZoom", e, this._status), this._status.needRefresh && this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
  220. }, _ondataRange: function (e) {
  221. this._clearEffect(), this._status.needRefresh = !1, n(this, "ondataRange", e, this._status), this._status.needRefresh && this._zr.refreshNextFrame()
  222. }, _onmagicTypeChanged: function () {
  223. this._clearEffect(), this._render(this._toolbox.getMagicOption())
  224. }, _ondataViewChanged: function (e) {
  225. this._syncBackupData(e.option), this._messageCenter.dispatch(a.EVENT.DATA_CHANGED, null, e, this), this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
  226. }, _tooltipHover: function (e) {
  227. var t = [];
  228. n(this, "ontooltipHover", e, t)
  229. }, _onrestore: function () {
  230. this.restore()
  231. }, _onrefresh: function (e) {
  232. this._refreshInside = !0, this.refresh(e), this._refreshInside = !1
  233. }, _syncBackupData: function (e) {
  234. this.component.dataZoom && this.component.dataZoom.syncBackupData(e)
  235. }, _eventPackage: function (t) {
  236. if (t) {
  237. var i = e("./util/ecData"), n = i.get(t, "seriesIndex"), a = i.get(t, "dataIndex");
  238. return a = -1 != n && this.component.dataZoom ? this.component.dataZoom.getRealDataIndex(n, a) : a, {
  239. seriesIndex: n,
  240. seriesName: (i.get(t, "series") || {}).name,
  241. dataIndex: a,
  242. data: i.get(t, "data"),
  243. name: i.get(t, "name"),
  244. value: i.get(t, "value"),
  245. special: i.get(t, "special")
  246. }
  247. }
  248. }, _noDataCheck: function (e) {
  249. for (var t = e.series, i = 0, n = t.length; n > i; i++) 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;
  250. var o = this._option && this._option.noDataLoadingOption || this._themeConfig.noDataLoadingOption || a.noDataLoadingOption || {
  251. text: this._option && this._option.noDataText || this._themeConfig.noDataText || a.noDataText,
  252. effect: this._option && this._option.noDataEffect || this._themeConfig.noDataEffect || a.noDataEffect
  253. };
  254. return this.clear(), this.showLoading(o), !0
  255. }, _render: function (t) {
  256. if (this._mergeGlobalConifg(t), !this._noDataCheck(t)) {
  257. var i = t.backgroundColor;
  258. if (i) if (l || -1 == i.indexOf("rgba")) this.dom.style.backgroundColor = i; else {
  259. var n = i.split(",");
  260. 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(",") + ")"
  261. }
  262. this._zr.clearAnimation(), this._chartList = [];
  263. var o = e("./chart"), r = e("./component");
  264. (t.xAxis || t.yAxis) && (t.grid = t.grid || {}, t.dataZoom = t.dataZoom || {});
  265. 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]);
  266. 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.");
  267. for (c in this.chart) c == a.CHART_TYPE_ISLAND || y[c] || (this.chart[c].dispose(), this.chart[c] = null, delete this.chart[c]);
  268. 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();
  269. var g = "IMG" + this.id, b = document.getElementById(g);
  270. 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
  271. }
  272. }, restore: function () {
  273. this._clearEffect(), this._option = o.clone(this._optionRestore), this._disposeChartList(), this._island.clear(), this._toolbox.reset(this._option, !0), this._render(this._option)
  274. }, refresh: function (e) {
  275. this._clearEffect(), e = e || {};
  276. var t = e.option;
  277. !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();
  278. for (var i = 0, n = this._chartList.length; n > i; i++) this._chartList[i].refresh && this._chartList[i].refresh(t);
  279. this.component.grid && this.component.grid.refixAxisShape(this.component), this._zr.refresh()
  280. }, _disposeChartList: function () {
  281. this._clearEffect(), this._zr.clearAnimation();
  282. for (var e = this._chartList.length; e--;) {
  283. var t = this._chartList[e];
  284. if (t) {
  285. var i = t.type;
  286. this.chart[i] && delete this.chart[i], this.component[i] && delete this.component[i], t.dispose && t.dispose()
  287. }
  288. }
  289. this._chartList = []
  290. }, _mergeGlobalConifg: function (t) {
  291. for (var i = ["backgroundColor", "calculable", "calculableColor", "calculableHolderColor", "nameConnector", "valueConnector", "animation", "animationThreshold", "animationDuration", "animationDurationUpdate", "animationEasing", "addDataAnimation", "symbolList", "DRAG_ENABLE_TIME"], n = i.length; n--;) {
  292. var o = i[n];
  293. null == t[o] && (t[o] = null != this._themeConfig[o] ? this._themeConfig[o] : a[o])
  294. }
  295. var r = t.color;
  296. r && r.length || (r = this._themeConfig.color || a.color), this._zr.getColor = function (t) {
  297. var i = e("zrender/tool/color");
  298. return i.getColor(t, r)
  299. }, l || (t.animation = !1, t.addDataAnimation = !1)
  300. }, setOption: function (e, t) {
  301. return e.timeline ? this._setTimelineOption(e) : this._setOption(e, t)
  302. }, _setOption: function (e, t, i) {
  303. 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()
  304. }, getOption: function () {
  305. function e(e) {
  306. var n = i._optionRestore[e];
  307. if (n) if (n instanceof Array) for (var a = n.length; a--;) t[e][a].data = o.clone(n[a].data); else t[e].data = o.clone(n.data)
  308. }
  309. var t = o.clone(this._option), i = this;
  310. return e("xAxis"), e("yAxis"), e("series"), t
  311. }, setSeries: function (e, t) {
  312. return t ? (this._option.series = e, this.setOption(this._option, t)) : this.setOption({series: e}), this
  313. }, getSeries: function () {
  314. return this.getOption().series
  315. }, _setTimelineOption: function (t) {
  316. this._timeline && this._timeline.dispose();
  317. var i = e("./component/timeline"), n = new i(this._themeConfig, this._messageCenter, this._zr, t, this);
  318. return this._timeline = n, this.component.timeline = this._timeline, this
  319. }, addData: function (e, t, i, n, r) {
  320. function s() {
  321. if (V._zr) {
  322. V._zr.clearAnimation();
  323. for (var e = 0, t = X.length; t > e; e++) X[e].motionlessOnce = h.addDataAnimation && X[e].addDataAnimation;
  324. V._messageCenter.dispatch(a.EVENT.REFRESH, null, {option: h}, V)
  325. }
  326. }
  327. for (var l = e instanceof Array ? e : [[e, t, i, n, r]], h = this.getOption(), m = this._optionRestore, V = this, U = 0, d = l.length; d > U; U++) {
  328. e = l[U][0], t = l[U][1], i = l[U][2], n = l[U][3], r = l[U][4];
  329. var p = m.series[e], c = i ? "unshift" : "push", u = i ? "pop" : "shift";
  330. if (p) {
  331. var y = p.data, g = h.series[e].data;
  332. if (y[c](t), g[c](t), n || (y[u](), t = g[u]()), null != r) {
  333. var b, f;
  334. if (p.type === a.CHART_TYPE_PIE && (b = m.legend) && (f = b.data)) {
  335. var k = h.legend.data;
  336. if (f[c](r), k[c](r), !n) {
  337. var x = o.indexOf(f, t.name);
  338. -1 != x && f.splice(x, 1), x = o.indexOf(k, t.name), -1 != x && k.splice(x, 1)
  339. }
  340. } else if (null != m.xAxis && null != m.yAxis) {
  341. var _, L, W = p.xAxisIndex || 0;
  342. (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]()))
  343. }
  344. }
  345. this._option.series[e].data = h.series[e].data
  346. }
  347. }
  348. this._zr.clearAnimation();
  349. for (var X = this._chartList, v = 0, w = function () {
  350. v--, 0 === v && s()
  351. }, U = 0, d = X.length; d > U; U++) h.addDataAnimation && X[U].addDataAnimation && (v++, X[U].addDataAnimation(l, w));
  352. return this.component.dataZoom && this.component.dataZoom.syncOption(h), this._option = h, h.addDataAnimation || setTimeout(s, 0), this
  353. }, addMarkPoint: function (e, t) {
  354. return this._addMark(e, t, "markPoint")
  355. }, addMarkLine: function (e, t) {
  356. return this._addMark(e, t, "markLine")
  357. }, _addMark: function (e, t, i) {
  358. var n, a = this._option.series;
  359. if (a && (n = a[e])) {
  360. var r = this._optionRestore.series, s = r[e], l = n[i], h = s[i];
  361. l = n[i] = l || {data: []}, h = s[i] = h || {data: []};
  362. 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));
  363. var V = this.chart[n.type];
  364. V && V.addMark(e, t, i)
  365. }
  366. return this
  367. }, delMarkPoint: function (e, t) {
  368. return this._delMark(e, t, "markPoint")
  369. }, delMarkLine: function (e, t) {
  370. return this._delMark(e, t, "markLine")
  371. }, _delMark: function (e, t, i) {
  372. var n, a, o, r = this._option.series;
  373. if (!(r && (n = r[e]) && (a = n[i]) && (o = a.data))) return this;
  374. t = t.split(" > ");
  375. for (var s = -1, l = 0, h = o.length; h > l; l++) {
  376. var m = o[l];
  377. if (m instanceof Array) {
  378. if (m[0].name === t[0] && m[1].name === t[1]) {
  379. s = l;
  380. break
  381. }
  382. } else if (m.name === t[0]) {
  383. s = l;
  384. break
  385. }
  386. }
  387. if (s > -1) {
  388. o.splice(s, 1), this._optionRestore.series[e][i].data.splice(s, 1);
  389. var V = this.chart[n.type];
  390. V && V.delMark(e, t.join(" > "), i)
  391. }
  392. return this
  393. }, getDom: function () {
  394. return this.dom
  395. }, getZrender: function () {
  396. return this._zr
  397. }, getDataURL: function (e) {
  398. if (!l) return "";
  399. if (0 === this._chartList.length) {
  400. var t = "IMG" + this.id, i = document.getElementById(t);
  401. if (i) return i.src
  402. }
  403. var n = this.component.tooltip;
  404. switch (n && n.hideTip(), e) {
  405. case"jpeg":
  406. break;
  407. default:
  408. e = "png"
  409. }
  410. var a = this._option.backgroundColor;
  411. return a && "rgba(0,0,0,0)" === a.replace(" ", "") && (a = "#fff"), this._zr.toDataURL("image/" + e, a)
  412. }, getImage: function (e) {
  413. var t = this._optionRestore.title, i = document.createElement("img");
  414. return i.src = this.getDataURL(e), i.title = t && t.text || "ECharts", i
  415. }, getConnectedDataURL: function (t) {
  416. if (!this.isConnected()) return this.getDataURL(t);
  417. var i = this.dom, n = {
  418. self: {
  419. img: this.getDataURL(t),
  420. left: i.offsetLeft,
  421. top: i.offsetTop,
  422. right: i.offsetLeft + i.offsetWidth,
  423. bottom: i.offsetTop + i.offsetHeight
  424. }
  425. }, a = n.self.left, o = n.self.top, r = n.self.right, s = n.self.bottom;
  426. for (var l in this._connected) i = this._connected[l].getDom(), n[l] = {
  427. img: this._connected[l].getDataURL(t),
  428. left: i.offsetLeft,
  429. top: i.offsetTop,
  430. right: i.offsetLeft + i.offsetWidth,
  431. bottom: i.offsetTop + i.offsetHeight
  432. }, 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);
  433. var h = document.createElement("div");
  434. h.style.position = "absolute", h.style.left = "-4000px", h.style.width = r - a + "px", h.style.height = s - o + "px", document.body.appendChild(h);
  435. var m = e("zrender").init(h), V = e("zrender/shape/Image");
  436. for (var l in n) m.addShape(new V({style: {x: n[l].left - a, y: n[l].top - o, image: n[l].img}}));
  437. m.render();
  438. var U = this._option.backgroundColor;
  439. U && "rgba(0,0,0,0)" === U.replace(/ /g, "") && (U = "#fff");
  440. var d = m.toDataURL("image/png", U);
  441. return setTimeout(function () {
  442. m.dispose(), h.parentNode.removeChild(h), h = null
  443. }, 100), d
  444. }, getConnectedImage: function (e) {
  445. var t = this._optionRestore.title, i = document.createElement("img");
  446. return i.src = this.getConnectedDataURL(e), i.title = t && t.text || "ECharts", i
  447. }, on: function (e, t) {
  448. return this._messageCenterOutSide.bind(e, t, this), this
  449. }, un: function (e, t) {
  450. return this._messageCenterOutSide.unbind(e, t), this
  451. }, connect: function (e) {
  452. if (!e) return this;
  453. if (this._connected || (this._connected = {}), e instanceof Array) for (var t = 0, i = e.length; i > t; t++) this._connected[e[t].id] = e[t]; else this._connected[e.id] = e;
  454. return this
  455. }, disConnect: function (e) {
  456. if (!e || !this._connected) return this;
  457. if (e instanceof Array) for (var t = 0, i = e.length; i > t; t++) delete this._connected[e[t].id]; else delete this._connected[e.id];
  458. for (var n in this._connected) return this;
  459. return this._connected = !1, this
  460. }, connectedEventHandler: function (e) {
  461. e.__echartsId != this.id && this._onevent(e)
  462. }, isConnected: function () {
  463. return !!this._connected
  464. }, showLoading: function (t) {
  465. var i = {
  466. bar: e("zrender/loadingEffect/Bar"),
  467. bubble: e("zrender/loadingEffect/Bubble"),
  468. dynamicLine: e("zrender/loadingEffect/DynamicLine"),
  469. ring: e("zrender/loadingEffect/Ring"),
  470. spin: e("zrender/loadingEffect/Spin"),
  471. whirling: e("zrender/loadingEffect/Whirling")
  472. };
  473. this._toolbox.hideDataView(), t = t || {};
  474. var n = t.textStyle || {};
  475. t.textStyle = n;
  476. var r = o.merge(o.merge(o.clone(n), this._themeConfig.textStyle), a.textStyle);
  477. 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;
  478. var s = t.effect;
  479. 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
  480. }, hideLoading: function () {
  481. return this._zr.hideLoading(), this
  482. }, setTheme: function (t) {
  483. if (t) {
  484. if ("string" == typeof t) switch (t) {
  485. case"macarons":
  486. t = e("./theme/macarons");
  487. break;
  488. case"infographic":
  489. t = e("./theme/infographic");
  490. break;
  491. default:
  492. t = {}
  493. } else t = t || {};
  494. this._themeConfig = t
  495. }
  496. if (!l) {
  497. var i = this._themeConfig.textStyle;
  498. i && i.fontFamily && i.fontFamily2 && (i.fontFamily = i.fontFamily2), i = a.textStyle, i.fontFamily = i.fontFamily2
  499. }
  500. this._timeline && this._timeline.setTheme(!0), this._optionRestore && this.restore()
  501. }, resize: function () {
  502. var e = this;
  503. return function () {
  504. if (e._clearEffect(), e._zr.resize(), e._option && e._option.renderAsImage && l) return e._render(e._option), e;
  505. e._zr.clearAnimation(), e._island.resize(), e._toolbox.resize(), e._timeline && e._timeline.resize();
  506. for (var t = 0, i = e._chartList.length; i > t; t++) e._chartList[t].resize && e._chartList[t].resize();
  507. return e.component.grid && e.component.grid.refixAxisShape(e.component), e._zr.refresh(), e._messageCenter.dispatch(a.EVENT.RESIZE, null, null, e), e
  508. }
  509. }, _clearEffect: function () {
  510. this._zr.modLayer(a.EFFECT_ZLEVEL, {motionBlur: !1}), this._zr.painter.clearLayer(a.EFFECT_ZLEVEL)
  511. }, clear: function () {
  512. return this._disposeChartList(), this._zr.clear(), this._option = {}, this._optionRestore = {}, this.dom.style.backgroundColor = null, this
  513. }, dispose: function () {
  514. var e = this.dom.getAttribute(V);
  515. 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
  516. }
  517. }, s
  518. }), i("echarts/config", [], function () {
  519. var e = {
  520. CHART_TYPE_LINE: "line",
  521. CHART_TYPE_BAR: "bar",
  522. CHART_TYPE_SCATTER: "scatter",
  523. CHART_TYPE_PIE: "pie",
  524. CHART_TYPE_RADAR: "radar",
  525. CHART_TYPE_VENN: "venn",
  526. CHART_TYPE_TREEMAP: "treemap",
  527. CHART_TYPE_TREE: "tree",
  528. CHART_TYPE_MAP: "map",
  529. CHART_TYPE_K: "k",
  530. CHART_TYPE_ISLAND: "island",
  531. CHART_TYPE_FORCE: "force",
  532. CHART_TYPE_CHORD: "chord",
  533. CHART_TYPE_GAUGE: "gauge",
  534. CHART_TYPE_FUNNEL: "funnel",
  535. CHART_TYPE_EVENTRIVER: "eventRiver",
  536. CHART_TYPE_WORDCLOUD: "wordCloud",
  537. CHART_TYPE_HEATMAP: "heatmap",
  538. COMPONENT_TYPE_TITLE: "title",
  539. COMPONENT_TYPE_LEGEND: "legend",
  540. COMPONENT_TYPE_DATARANGE: "dataRange",
  541. COMPONENT_TYPE_DATAVIEW: "dataView",
  542. COMPONENT_TYPE_DATAZOOM: "dataZoom",
  543. COMPONENT_TYPE_TOOLBOX: "toolbox",
  544. COMPONENT_TYPE_TOOLTIP: "tooltip",
  545. COMPONENT_TYPE_GRID: "grid",
  546. COMPONENT_TYPE_AXIS: "axis",
  547. COMPONENT_TYPE_POLAR: "polar",
  548. COMPONENT_TYPE_X_AXIS: "xAxis",
  549. COMPONENT_TYPE_Y_AXIS: "yAxis",
  550. COMPONENT_TYPE_AXIS_CATEGORY: "categoryAxis",
  551. COMPONENT_TYPE_AXIS_VALUE: "valueAxis",
  552. COMPONENT_TYPE_TIMELINE: "timeline",
  553. COMPONENT_TYPE_ROAMCONTROLLER: "roamController",
  554. backgroundColor: "rgba(0,0,0,0)",
  555. color: ["#ff7f50", "#87cefa", "#da70d6", "#32cd32", "#6495ed", "#ff69b4", "#ba55d3", "#cd5c5c", "#ffa500", "#40e0d0", "#1e90ff", "#ff6347", "#7b68ee", "#00fa9a", "#ffd700", "#6699FF", "#ff6666", "#3cb371", "#b8860b", "#30e0e0"],
  556. markPoint: {
  557. clickable: !0,
  558. symbol: "pin",
  559. symbolSize: 10,
  560. large: !1,
  561. effect: {show: !1, loop: !0, period: 15, type: "scale", scaleSize: 2, bounceDistance: 10},
  562. itemStyle: {
  563. normal: {borderWidth: 2, label: {show: !0, position: "inside"}},
  564. emphasis: {label: {show: !0}}
  565. }
  566. },
  567. markLine: {
  568. clickable: !0,
  569. symbol: ["circle", "arrow"],
  570. symbolSize: [2, 4],
  571. smoothness: .2,
  572. precision: 2,
  573. effect: {show: !1, loop: !0, period: 15, scaleSize: 2},
  574. bundling: {enable: !1, maxTurningAngle: 45},
  575. itemStyle: {
  576. normal: {borderWidth: 1.5, label: {show: !0, position: "end"}, lineStyle: {type: "dashed"}},
  577. emphasis: {label: {show: !1}, lineStyle: {}}
  578. }
  579. },
  580. textStyle: {
  581. decoration: "none",
  582. fontFamily: "Arial, Verdana, sans-serif",
  583. fontFamily2: "微软雅黑",
  584. fontSize: 12,
  585. fontStyle: "normal",
  586. fontWeight: "normal"
  587. },
  588. EVENT: {
  589. REFRESH: "refresh",
  590. RESTORE: "restore",
  591. RESIZE: "resize",
  592. CLICK: "click",
  593. DBLCLICK: "dblclick",
  594. HOVER: "hover",
  595. MOUSEOUT: "mouseout",
  596. DATA_CHANGED: "dataChanged",
  597. DATA_ZOOM: "dataZoom",
  598. DATA_RANGE: "dataRange",
  599. DATA_RANGE_SELECTED: "dataRangeSelected",
  600. DATA_RANGE_HOVERLINK: "dataRangeHoverLink",
  601. LEGEND_SELECTED: "legendSelected",
  602. LEGEND_HOVERLINK: "legendHoverLink",
  603. MAP_SELECTED: "mapSelected",
  604. PIE_SELECTED: "pieSelected",
  605. MAGIC_TYPE_CHANGED: "magicTypeChanged",
  606. DATA_VIEW_CHANGED: "dataViewChanged",
  607. TIMELINE_CHANGED: "timelineChanged",
  608. MAP_ROAM: "mapRoam",
  609. FORCE_LAYOUT_END: "forceLayoutEnd",
  610. TOOLTIP_HOVER: "tooltipHover",
  611. TOOLTIP_IN_GRID: "tooltipInGrid",
  612. TOOLTIP_OUT_GRID: "tooltipOutGrid",
  613. ROAMCONTROLLER: "roamController"
  614. },
  615. DRAG_ENABLE_TIME: 120,
  616. EFFECT_ZLEVEL: 10,
  617. effectBlendAlpha: .95,
  618. symbolList: ["circle", "rectangle", "triangle", "diamond", "emptyCircle", "emptyRectangle", "emptyTriangle", "emptyDiamond"],
  619. loadingEffect: "spin",
  620. loadingText: "数据读取中...",
  621. noDataEffect: "bubble",
  622. noDataText: "暂无数据",
  623. calculable: !1,
  624. calculableColor: "rgba(255,165,0,0.6)",
  625. calculableHolderColor: "#ccc",
  626. nameConnector: " & ",
  627. valueConnector: ": ",
  628. animation: !0,
  629. addDataAnimation: !0,
  630. animationThreshold: 2e3,
  631. animationDuration: 2e3,
  632. animationDurationUpdate: 500,
  633. animationEasing: "ExponentialOut"
  634. };
  635. return e
  636. }), i("zrender/tool/util", ["require", "../dep/excanvas"], function (e) {
  637. function t(e) {
  638. return e && 1 === e.nodeType && "string" == typeof e.nodeName
  639. }
  640. function i(e) {
  641. if ("object" == typeof e && null !== e) {
  642. var n = e;
  643. if (e instanceof Array) {
  644. n = [];
  645. for (var a = 0, o = e.length; o > a; a++) n[a] = i(e[a])
  646. } else if (!y[g.call(e)] && !t(e)) {
  647. n = {};
  648. for (var r in e) e.hasOwnProperty(r) && (n[r] = i(e[r]))
  649. }
  650. return n
  651. }
  652. return e
  653. }
  654. function n(e, i, n, o) {
  655. if (i.hasOwnProperty(n)) {
  656. var r = e[n];
  657. "object" != typeof r || y[g.call(r)] || t(r) ? !o && n in e || (e[n] = i[n]) : a(e[n], i[n], o)
  658. }
  659. }
  660. function a(e, t, i) {
  661. for (var a in t) n(e, t, a, i);
  662. return e
  663. }
  664. function o() {
  665. if (!U) if (e("../dep/excanvas"), window.G_vmlCanvasManager) {
  666. var t = document.createElement("div");
  667. t.style.position = "absolute", t.style.top = "-1000px", document.body.appendChild(t), U = G_vmlCanvasManager.initElement(t).getContext("2d")
  668. } else U = document.createElement("canvas").getContext("2d");
  669. return U
  670. }
  671. function r(e, t) {
  672. if (e.indexOf) return e.indexOf(t);
  673. for (var i = 0, n = e.length; n > i; i++) if (e[i] === t) return i;
  674. return -1
  675. }
  676. function s(e, t) {
  677. function i() {
  678. }
  679. var n = e.prototype;
  680. i.prototype = t.prototype, e.prototype = new i;
  681. for (var a in n) e.prototype[a] = n[a];
  682. e.constructor = e
  683. }
  684. function l(e, t, i) {
  685. if (e && t) if (e.forEach && e.forEach === p) e.forEach(t, i); else if (e.length === +e.length) for (var n = 0, a = e.length; a > n; n++) t.call(i, e[n], n, e); else for (var o in e) e.hasOwnProperty(o) && t.call(i, e[o], o, e)
  686. }
  687. function h(e, t, i) {
  688. if (e && t) {
  689. if (e.map && e.map === c) return e.map(t, i);
  690. for (var n = [], a = 0, o = e.length; o > a; a++) n.push(t.call(i, e[a], a, e));
  691. return n
  692. }
  693. }
  694. function m(e, t, i) {
  695. if (e && t) {
  696. if (e.filter && e.filter === u) return e.filter(t, i);
  697. for (var n = [], a = 0, o = e.length; o > a; a++) t.call(i, e[a], a, e) && n.push(e[a]);
  698. return n
  699. }
  700. }
  701. function V(e, t) {
  702. return function () {
  703. e.apply(t, arguments)
  704. }
  705. }
  706. var U, d = Array.prototype, p = d.forEach, c = d.map, u = d.filter, y = {
  707. "[object Function]": 1,
  708. "[object RegExp]": 1,
  709. "[object Date]": 1,
  710. "[object Error]": 1,
  711. "[object CanvasGradient]": 1
  712. }, g = Object.prototype.toString;
  713. return {inherits: s, clone: i, merge: a, getContext: o, indexOf: r, each: l, map: h, filter: m, bind: V}
  714. }), i("zrender/tool/event", ["require", "../mixin/Eventful"], function (e) {
  715. "use strict";
  716. function t(e) {
  717. 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
  718. }
  719. function i(e) {
  720. 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
  721. }
  722. function n(e) {
  723. return "undefined" != typeof e.zrenderDelta && e.zrenderDelta || "undefined" != typeof e.wheelDelta && e.wheelDelta || "undefined" != typeof e.detail && -e.detail
  724. }
  725. var a = e("../mixin/Eventful"), o = "function" == typeof window.addEventListener ? function (e) {
  726. e.preventDefault(), e.stopPropagation(), e.cancelBubble = !0
  727. } : function (e) {
  728. e.returnValue = !1, e.cancelBubble = !0
  729. };
  730. return {getX: t, getY: i, getDelta: n, stop: o, Dispatcher: a}
  731. }), i("zrender/tool/env", [], function () {
  732. function e(e) {
  733. var t = this.os = {}, i = this.browser = {}, n = e.match(/Web[kK]it[\/]{0,1}([\d.]+)/),
  734. a = e.match(/(Android);?[\s\/]+([\d.]+)?/), o = e.match(/(iPad).*OS\s([\d_]+)/),
  735. r = e.match(/(iPod)(.*OS\s([\d_]+))?/), s = !o && e.match(/(iPhone\sOS)\s([\d_]+)/),
  736. l = e.match(/(webOS|hpwOS)[\s\/]([\d.]+)/), h = l && e.match(/TouchPad/),
  737. m = e.match(/Kindle\/([\d.]+)/), V = e.match(/Silk\/([\d._]+)/),
  738. U = e.match(/(BlackBerry).*Version\/([\d.]+)/), d = e.match(/(BB10).*Version\/([\d.]+)/),
  739. p = e.match(/(RIM\sTablet\sOS)\s([\d.]+)/), c = e.match(/PlayBook/),
  740. u = e.match(/Chrome\/([\d.]+)/) || e.match(/CriOS\/([\d.]+)/), y = e.match(/Firefox\/([\d.]+)/),
  741. g = e.match(/MSIE ([\d.]+)/), b = n && e.match(/Mobile\//) && !u,
  742. f = e.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !u, g = e.match(/MSIE\s([\d.]+)/);
  743. 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/))), {
  744. browser: i,
  745. os: t,
  746. canvasSupported: document.createElement("canvas").getContext ? !0 : !1
  747. }
  748. }
  749. return e(navigator.userAgent)
  750. }), i("zrender", ["zrender/zrender"], function (e) {
  751. return e
  752. }), i("zrender/zrender", ["require", "./dep/excanvas", "./tool/util", "./tool/log", "./tool/guid", "./Handler", "./Painter", "./Storage", "./animation/Animation", "./tool/env"], function (e) {
  753. function t(e) {
  754. return function () {
  755. e._needsRefreshNextFrame && e.refresh()
  756. }
  757. }
  758. e("./dep/excanvas");
  759. var i = e("./tool/util"), n = e("./tool/log"), a = e("./tool/guid"), o = e("./Handler"), r = e("./Painter"),
  760. s = e("./Storage"), l = e("./animation/Animation"), h = {}, m = {};
  761. m.version = "2.1.1", m.init = function (e) {
  762. var t = new V(a(), e);
  763. return h[t.id] = t, t
  764. }, m.dispose = function (e) {
  765. if (e) e.dispose(); else {
  766. for (var t in h) h[t].dispose();
  767. h = {}
  768. }
  769. return m
  770. }, m.getInstance = function (e) {
  771. return h[e]
  772. }, m.delInstance = function (e) {
  773. return delete h[e], m
  774. };
  775. var V = function (i, n) {
  776. 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({stage: {update: t(this)}}), this.animation.start();
  777. var a = this;
  778. this.painter.refreshNextFrame = function () {
  779. a.refreshNextFrame()
  780. }, this._needsRefreshNextFrame = !1;
  781. var a = this, h = this.storage, m = h.delFromMap;
  782. h.delFromMap = function (e) {
  783. var t = h.get(e);
  784. a.stopAnimation(t), m.call(h, e)
  785. }
  786. };
  787. return V.prototype.getId = function () {
  788. return this.id
  789. }, V.prototype.addShape = function (e) {
  790. return this.addElement(e), this
  791. }, V.prototype.addGroup = function (e) {
  792. return this.addElement(e), this
  793. }, V.prototype.delShape = function (e) {
  794. return this.delElement(e), this
  795. }, V.prototype.delGroup = function (e) {
  796. return this.delElement(e), this
  797. }, V.prototype.modShape = function (e, t) {
  798. return this.modElement(e, t), this
  799. }, V.prototype.modGroup = function (e, t) {
  800. return this.modElement(e, t), this
  801. }, V.prototype.addElement = function (e) {
  802. return this.storage.addRoot(e), this._needsRefreshNextFrame = !0, this
  803. }, V.prototype.delElement = function (e) {
  804. return this.storage.delRoot(e), this._needsRefreshNextFrame = !0, this
  805. }, V.prototype.modElement = function (e, t) {
  806. return this.storage.mod(e, t), this._needsRefreshNextFrame = !0, this
  807. }, V.prototype.modLayer = function (e, t) {
  808. return this.painter.modLayer(e, t), this._needsRefreshNextFrame = !0, this
  809. }, V.prototype.addHoverShape = function (e) {
  810. return this.storage.addHover(e), this
  811. }, V.prototype.render = function (e) {
  812. return this.painter.render(e), this._needsRefreshNextFrame = !1, this
  813. }, V.prototype.refresh = function (e) {
  814. return this.painter.refresh(e), this._needsRefreshNextFrame = !1, this
  815. }, V.prototype.refreshNextFrame = function () {
  816. return this._needsRefreshNextFrame = !0, this
  817. }, V.prototype.refreshHover = function (e) {
  818. return this.painter.refreshHover(e), this
  819. }, V.prototype.refreshShapes = function (e, t) {
  820. return this.painter.refreshShapes(e, t), this
  821. }, V.prototype.resize = function () {
  822. return this.painter.resize(), this
  823. }, V.prototype.animate = function (e, t, a) {
  824. var o = this;
  825. if ("string" == typeof e && (e = this.storage.get(e)), e) {
  826. var r;
  827. if (t) {
  828. for (var s = t.split("."), l = e, h = 0, m = s.length; m > h; h++) l && (l = l[s[h]]);
  829. l && (r = l)
  830. } else r = e;
  831. if (!r) return void n('Property "' + t + '" is not existed in element ' + e.id);
  832. null == e.__animators && (e.__animators = []);
  833. var V = e.__animators, U = this.animation.animate(r, {loop: a}).during(function () {
  834. o.modShape(e)
  835. }).done(function () {
  836. var t = i.indexOf(e.__animators, U);
  837. t >= 0 && V.splice(t, 1)
  838. });
  839. return V.push(U), U
  840. }
  841. n("Element not existed")
  842. }, V.prototype.stopAnimation = function (e) {
  843. if (e.__animators) {
  844. for (var t = e.__animators, i = t.length, n = 0; i > n; n++) t[n].stop();
  845. t.length = 0
  846. }
  847. return this
  848. }, V.prototype.clearAnimation = function () {
  849. return this.animation.clear(), this
  850. }, V.prototype.showLoading = function (e) {
  851. return this.painter.showLoading(e), this
  852. }, V.prototype.hideLoading = function () {
  853. return this.painter.hideLoading(), this
  854. }, V.prototype.getWidth = function () {
  855. return this.painter.getWidth()
  856. }, V.prototype.getHeight = function () {
  857. return this.painter.getHeight()
  858. }, V.prototype.toDataURL = function (e, t, i) {
  859. return this.painter.toDataURL(e, t, i)
  860. }, V.prototype.shapeToImage = function (e, t, i) {
  861. var n = a();
  862. return this.painter.shapeToImage(n, e, t, i)
  863. }, V.prototype.on = function (e, t, i) {
  864. return this.handler.on(e, t, i), this
  865. }, V.prototype.un = function (e, t) {
  866. return this.handler.un(e, t), this
  867. }, V.prototype.trigger = function (e, t) {
  868. return this.handler.trigger(e, t), this
  869. }, V.prototype.clear = function () {
  870. return this.storage.delRoot(), this.painter.clear(), this
  871. }, V.prototype.dispose = function () {
  872. 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)
  873. }, m
  874. }), i("zrender/config", [], function () {
  875. var e = {
  876. EVENT: {
  877. RESIZE: "resize",
  878. CLICK: "click",
  879. DBLCLICK: "dblclick",
  880. MOUSEWHEEL: "mousewheel",
  881. MOUSEMOVE: "mousemove",
  882. MOUSEOVER: "mouseover",
  883. MOUSEOUT: "mouseout",
  884. MOUSEDOWN: "mousedown",
  885. MOUSEUP: "mouseup",
  886. GLOBALOUT: "globalout",
  887. DRAGSTART: "dragstart",
  888. DRAGEND: "dragend",
  889. DRAGENTER: "dragenter",
  890. DRAGOVER: "dragover",
  891. DRAGLEAVE: "dragleave",
  892. DROP: "drop",
  893. touchClickDelay: 300
  894. },
  895. elementClassName: "zr-element",
  896. catchBrushException: !1,
  897. debugMode: 0,
  898. devicePixelRatio: Math.max(window.devicePixelRatio || 1, 1)
  899. };
  900. return e
  901. }), 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) {
  902. function t(e, t, n, a, r) {
  903. i.call(this, e, t, n, a, r), this._nameConnector, this._valueConnector, this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth();
  904. var l = this;
  905. l.shapeHandler.onmousewheel = function (e) {
  906. var t = e.target, i = e.event, n = s.getDelta(i);
  907. n = n > 0 ? -1 : 1, t.style.r -= n, t.style.r = t.style.r < 5 ? 5 : t.style.r;
  908. var a = o.get(t, "value"), r = a * l.option.island.calculateStep;
  909. a = r > 1 ? Math.round(a - r * n) : +(a - r * n).toFixed(2);
  910. var h = o.get(t, "name");
  911. 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)
  912. }
  913. }
  914. var i = e("./base"), n = e("zrender/shape/Circle"), a = e("../config");
  915. a.island = {zlevel: 0, z: 5, r: 15, calculateStep: .1};
  916. var o = e("../util/ecData"), r = e("zrender/tool/util"), s = e("zrender/tool/event");
  917. return t.prototype = {
  918. type: a.CHART_TYPE_ISLAND, _combine: function (t, i) {
  919. var n = e("zrender/tool/color"), a = e("../util/accMath"),
  920. r = a.accAdd(o.get(t, "value"), o.get(i, "value")),
  921. s = o.get(t, "name") + this._nameConnector + o.get(i, "name");
  922. 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)
  923. }, refresh: function (e) {
  924. e && (e.island = this.reformOption(e.island), this.option = e, this._nameConnector = this.option.nameConnector, this._valueConnector = this.option.valueConnector)
  925. }, getOption: function () {
  926. return this.option
  927. }, resize: function () {
  928. var e = this.zr.getWidth(), t = this.zr.getHeight(), i = e / (this._zrWidth || e),
  929. n = t / (this._zrHeight || t);
  930. if (1 !== i || 1 !== n) {
  931. this._zrWidth = e, this._zrHeight = t;
  932. for (var a = 0, o = this.shapeList.length; o > a; a++) this.zr.modShape(this.shapeList[a].id, {
  933. style: {
  934. x: Math.round(this.shapeList[a].style.x * i),
  935. y: Math.round(this.shapeList[a].style.y * n)
  936. }
  937. })
  938. }
  939. }, add: function (e) {
  940. var t = o.get(e, "name"), i = o.get(e, "value"),
  941. a = null != o.get(e, "series") ? o.get(e, "series").name : "",
  942. r = this.getFont(this.option.island.textStyle), s = this.option.island, l = {
  943. zlevel: s.zlevel,
  944. z: s.z,
  945. style: {
  946. x: e.style.x,
  947. y: e.style.y,
  948. r: this.option.island.r,
  949. color: e.style.color || e.style.strokeColor,
  950. text: t + this._valueConnector + i,
  951. textFont: r
  952. },
  953. draggable: !0,
  954. hoverable: !0,
  955. onmousewheel: this.shapeHandler.onmousewheel,
  956. _type: "island"
  957. };
  958. "#fff" === l.style.color && (l.style.color = e.style.strokeColor), this.setCalculable(l), l.dragEnableTime = 0, o.pack(l, {name: a}, -1, i, -1, t), l = new n(l), this.shapeList.push(l), this.zr.addShape(l)
  959. }, del: function (e) {
  960. this.zr.delShape(e.id);
  961. for (var t = [], i = 0, n = this.shapeList.length; n > i; i++) this.shapeList[i].id != e.id && t.push(this.shapeList[i]);
  962. this.shapeList = t
  963. }, ondrop: function (e, t) {
  964. if (this.isDrop && e.target) {
  965. var i = e.target, n = e.dragged;
  966. this._combine(i, n), this.zr.modShape(i.id), t.dragIn = !0, this.isDrop = !1
  967. }
  968. }, ondragend: function (e, t) {
  969. var i = e.target;
  970. 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
  971. }
  972. }, r.inherits(t, i), e("../chart").define("island", t), t
  973. }), 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) {
  974. function t(e, t, n, a, o) {
  975. 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 = [];
  976. var r = this;
  977. r._onMark = function (e) {
  978. r.__onMark(e)
  979. }, r._onMarkUndo = function (e) {
  980. r.__onMarkUndo(e)
  981. }, r._onMarkClear = function (e) {
  982. r.__onMarkClear(e)
  983. }, r._onDataZoom = function (e) {
  984. r.__onDataZoom(e)
  985. }, r._onDataZoomReset = function (e) {
  986. r.__onDataZoomReset(e)
  987. }, r._onDataView = function (e) {
  988. r.__onDataView(e)
  989. }, r._onRestore = function (e) {
  990. r.__onRestore(e)
  991. }, r._onSaveAsImage = function (e) {
  992. r.__onSaveAsImage(e)
  993. }, r._onMagicType = function (e) {
  994. r.__onMagicType(e)
  995. }, r._onCustomHandler = function (e) {
  996. r.__onCustomHandler(e)
  997. }, r._onmousemove = function (e) {
  998. return r.__onmousemove(e)
  999. }, r._onmousedown = function (e) {
  1000. return r.__onmousedown(e)
  1001. }, r._onmouseup = function (e) {
  1002. return r.__onmouseup(e)
  1003. }, r._onclick = function (e) {
  1004. return r.__onclick(e)
  1005. }
  1006. }
  1007. var i = e("./base"), n = e("zrender/shape/Line"), a = e("zrender/shape/Image"),
  1008. o = e("zrender/shape/Rectangle"), r = e("../util/shape/Icon"), s = e("../config");
  1009. s.toolbox = {
  1010. zlevel: 0,
  1011. z: 6,
  1012. show: !1,
  1013. orient: "horizontal",
  1014. x: "right",
  1015. y: "top",
  1016. color: ["#1e90ff", "#22bb22", "#4b0082", "#d2691e"],
  1017. disableColor: "#ddd",
  1018. effectiveColor: "red",
  1019. backgroundColor: "rgba(0,0,0,0)",
  1020. borderColor: "#ccc",
  1021. borderWidth: 0,
  1022. padding: 5,
  1023. itemGap: 10,
  1024. itemSize: 16,
  1025. showTitle: !0,
  1026. feature: {
  1027. mark: {
  1028. show: !1,
  1029. title: {mark: "辅助线开关", markUndo: "删除辅助线", markClear: "清空辅助线"},
  1030. lineStyle: {width: 1, color: "#1e90ff", type: "dashed"}
  1031. },
  1032. dataZoom: {show: !1, title: {dataZoom: "区域缩放", dataZoomReset: "区域缩放后退"}},
  1033. dataView: {show: !1, title: "数据视图", readOnly: !1, lang: ["数据视图", "关闭", "刷新"]},
  1034. magicType: {
  1035. show: !1,
  1036. title: {
  1037. line: "折线图切换",
  1038. bar: "柱形图切换",
  1039. stack: "堆积",
  1040. tiled: "平铺",
  1041. force: "力导向布局图切换",
  1042. chord: "和弦图切换",
  1043. pie: "饼图切换",
  1044. funnel: "漏斗图切换"
  1045. },
  1046. type: []
  1047. },
  1048. restore: {show: !1, title: "还原"},
  1049. saveAsImage: {show: !1, title: "保存为图片", type: "png", lang: ["点击保存"]}
  1050. }
  1051. };
  1052. var l = e("zrender/tool/util"), h = e("zrender/config"), m = e("zrender/tool/event"), V = "stack", U = "tiled";
  1053. return t.prototype = {
  1054. type: s.COMPONENT_TYPE_TOOLBOX, _buildShape: function () {
  1055. this._iconList = [];
  1056. var e = this.option.toolbox;
  1057. this._enableColor = e.effectiveColor, this._disableColor = e.disableColor;
  1058. var t = e.feature, i = [];
  1059. for (var n in t) if (t[n].show) switch (n) {
  1060. case"mark":
  1061. i.push({key: n, name: "mark"}), i.push({key: n, name: "markUndo"}), i.push({
  1062. key: n,
  1063. name: "markClear"
  1064. });
  1065. break;
  1066. case"magicType":
  1067. 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({
  1068. key: n,
  1069. name: t[n].type[a] + "Chart"
  1070. });
  1071. break;
  1072. case"dataZoom":
  1073. i.push({key: n, name: "dataZoom"}), i.push({key: n, name: "dataZoomReset"});
  1074. break;
  1075. case"saveAsImage":
  1076. this.canvasSupported && i.push({key: n, name: "saveAsImage"});
  1077. break;
  1078. default:
  1079. i.push({key: n, name: n})
  1080. }
  1081. if (i.length > 0) {
  1082. 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);
  1083. this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
  1084. for (var a = 0, o = this.shapeList.length; o > a; a++) this.zr.addShape(this.shapeList[a]);
  1085. 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)
  1086. }
  1087. }, _buildItem: function () {
  1088. var t, i, n, o, s = this.option.toolbox, l = this._iconList.length, h = this._itemGroupLocation.x,
  1089. m = this._itemGroupLocation.y, V = s.itemSize, U = s.itemGap,
  1090. d = s.color instanceof Array ? s.color : [s.color], p = this.getFont(s.textStyle);
  1091. "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 = {};
  1092. for (var c = this, u = 0; l > u; u++) {
  1093. switch (t = {
  1094. type: "icon",
  1095. zlevel: this.getZlevelBase(),
  1096. z: this.getZBase(),
  1097. style: {
  1098. x: h,
  1099. y: m,
  1100. width: V,
  1101. height: V,
  1102. iconType: this._iconList[u],
  1103. lineWidth: 1,
  1104. strokeColor: this._featureColor[this._iconList[u]] || d[u % d.length],
  1105. brushType: "stroke"
  1106. },
  1107. highlightStyle: {
  1108. lineWidth: 1,
  1109. text: s.showTitle ? this._featureTitle[this._iconList[u]] : void 0,
  1110. textFont: p,
  1111. textPosition: i,
  1112. strokeColor: this._featureColor[this._iconList[u]] || d[u % d.length]
  1113. },
  1114. hoverable: !0,
  1115. clickable: !0
  1116. }, 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]) {
  1117. case"mark":
  1118. t.onclick = c._onMark;
  1119. break;
  1120. case"markUndo":
  1121. t.onclick = c._onMarkUndo;
  1122. break;
  1123. case"markClear":
  1124. t.onclick = c._onMarkClear;
  1125. break;
  1126. case"dataZoom":
  1127. t.onclick = c._onDataZoom;
  1128. break;
  1129. case"dataZoomReset":
  1130. t.onclick = c._onDataZoomReset;
  1131. break;
  1132. case"dataView":
  1133. if (!this._dataView) {
  1134. var y = e("./dataView");
  1135. this._dataView = new y(this.ecTheme, this.messageCenter, this.zr, this.option, this.myChart)
  1136. }
  1137. t.onclick = c._onDataView;
  1138. break;
  1139. case"restore":
  1140. t.onclick = c._onRestore;
  1141. break;
  1142. case"saveAsImage":
  1143. t.onclick = c._onSaveAsImage;
  1144. break;
  1145. default:
  1146. this._iconList[u].match("Chart") ? (t._name = this._iconList[u].replace("Chart", ""), t.onclick = c._onMagicType) : t.onclick = c._onCustomHandler
  1147. }
  1148. "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
  1149. }
  1150. }, _buildBackground: function () {
  1151. var e = this.option.toolbox, t = this.reformCssArray(this.option.toolbox.padding);
  1152. this.shapeList.push(new o({
  1153. zlevel: this.getZlevelBase(),
  1154. z: this.getZBase(),
  1155. hoverable: !1,
  1156. style: {
  1157. x: this._itemGroupLocation.x - t[3],
  1158. y: this._itemGroupLocation.y - t[0],
  1159. width: this._itemGroupLocation.width + t[3] + t[1],
  1160. height: this._itemGroupLocation.height + t[0] + t[2],
  1161. brushType: 0 === e.borderWidth ? "fill" : "both",
  1162. color: e.backgroundColor,
  1163. strokeColor: e.borderColor,
  1164. lineWidth: e.borderWidth
  1165. }
  1166. }))
  1167. }, _getItemGroupLocation: function () {
  1168. var e = this.option.toolbox, t = this.reformCssArray(this.option.toolbox.padding),
  1169. i = this._iconList.length, n = e.itemGap, a = e.itemSize, o = 0, r = 0;
  1170. "horizontal" === e.orient ? (o = (a + n) * i - n, r = a) : (r = (a + n) * i - n, o = a);
  1171. var s, l = this.zr.getWidth();
  1172. switch (e.x) {
  1173. case"center":
  1174. s = Math.floor((l - o) / 2);
  1175. break;
  1176. case"left":
  1177. s = t[3] + e.borderWidth;
  1178. break;
  1179. case"right":
  1180. s = l - o - t[1] - e.borderWidth;
  1181. break;
  1182. default:
  1183. s = e.x - 0, s = isNaN(s) ? 0 : s
  1184. }
  1185. var h, m = this.zr.getHeight();
  1186. switch (e.y) {
  1187. case"top":
  1188. h = t[0] + e.borderWidth;
  1189. break;
  1190. case"bottom":
  1191. h = m - r - t[2] - e.borderWidth;
  1192. break;
  1193. case"center":
  1194. h = Math.floor((m - r) / 2);
  1195. break;
  1196. default:
  1197. h = e.y - 0, h = isNaN(h) ? 0 : h
  1198. }
  1199. return {x: s, y: h, width: o, height: r}
  1200. }, __onmousemove: function (e) {
  1201. 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")
  1202. }, __onmousedown: function (e) {
  1203. if (!e.target) {
  1204. this._zooming = !0;
  1205. var t = m.getX(e.event), i = m.getY(e.event), n = this.option.dataZoom || {};
  1206. return this._zoomShape = new o({
  1207. zlevel: this.getZlevelBase(),
  1208. z: this.getZBase(),
  1209. style: {x: t, y: i, width: 1, height: 1, brushType: "both"},
  1210. highlightStyle: {
  1211. lineWidth: 2,
  1212. color: n.fillerColor || s.dataZoom.fillerColor,
  1213. strokeColor: n.handleColor || s.dataZoom.handleColor,
  1214. brushType: "both"
  1215. }
  1216. }), this.zr.addHoverShape(this._zoomShape), !0
  1217. }
  1218. }, __onmouseup: function () {
  1219. if (!this._zoomShape || Math.abs(this._zoomShape.style.width) < 10 || Math.abs(this._zoomShape.style.height) < 10) return this._zooming = !1, !0;
  1220. if (this._zooming && this.component.dataZoom) {
  1221. this._zooming = !1;
  1222. var e = this.component.dataZoom.rectZoom(this._zoomShape.style);
  1223. e && (this._zoomQueue.push({
  1224. start: e.start,
  1225. end: e.end,
  1226. start2: e.start2,
  1227. end2: e.end2
  1228. }), this._iconEnable(this._iconShapeMap.dataZoomReset), this.zr.refreshNextFrame())
  1229. }
  1230. return !0
  1231. }, __onclick: function (e) {
  1232. if (!e.target) 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(); else if (this._markStart) {
  1233. this._marking = !0;
  1234. var t = m.getX(e.event), i = m.getY(e.event);
  1235. this._markShape = new n({
  1236. zlevel: this.getZlevelBase(),
  1237. z: this.getZBase(),
  1238. style: {
  1239. xStart: t,
  1240. yStart: i,
  1241. xEnd: t,
  1242. yEnd: i,
  1243. lineWidth: this.query(this.option, "toolbox.feature.mark.lineStyle.width"),
  1244. strokeColor: this.query(this.option, "toolbox.feature.mark.lineStyle.color"),
  1245. lineType: this.query(this.option, "toolbox.feature.mark.lineStyle.type")
  1246. }
  1247. }), this.zr.addHoverShape(this._markShape)
  1248. }
  1249. }, __onMark: function (e) {
  1250. var t = e.target;
  1251. if (this._marking || this._markStart) this._resetMark(), this.zr.refreshNextFrame(); else {
  1252. this._resetZoom(), this.zr.modShape(t.id, {style: {strokeColor: this._enableColor}}), this.zr.refreshNextFrame(), this._markStart = !0;
  1253. var i = this;
  1254. setTimeout(function () {
  1255. i.zr && i.zr.on(h.EVENT.CLICK, i._onclick) && i.zr.on(h.EVENT.MOUSEMOVE, i._onmousemove)
  1256. }, 10)
  1257. }
  1258. return !0
  1259. }, __onMarkUndo: function () {
  1260. if (this._marking) this._marking = !1; else {
  1261. var e = this._markShapeList.length;
  1262. if (e >= 1) {
  1263. var t = this._markShapeList[e - 1];
  1264. this.zr.delShape(t.id), this.zr.refreshNextFrame(), this._markShapeList.pop(), 1 === e && (this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear))
  1265. }
  1266. }
  1267. return !0
  1268. }, __onMarkClear: function () {
  1269. this._marking && (this._marking = !1);
  1270. var e = this._markShapeList.length;
  1271. if (e > 0) {
  1272. for (; e--;) this.zr.delShape(this._markShapeList.pop().id);
  1273. this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear), this.zr.refreshNextFrame()
  1274. }
  1275. return !0
  1276. }, __onDataZoom: function (e) {
  1277. var t = e.target;
  1278. if (this._zooming || this._zoomStart) this._resetZoom(), this.zr.refreshNextFrame(), this.dom.style.cursor = "default"; else {
  1279. this._resetMark(), this.zr.modShape(t.id, {style: {strokeColor: this._enableColor}}), this.zr.refreshNextFrame(), this._zoomStart = !0;
  1280. var i = this;
  1281. setTimeout(function () {
  1282. 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)
  1283. }, 10), this.dom.style.cursor = "crosshair"
  1284. }
  1285. return !0
  1286. }, __onDataZoomReset: function () {
  1287. 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
  1288. }, _resetMark: function () {
  1289. this._marking = !1, this._markStart && (this._markStart = !1, this._iconShapeMap.mark && this.zr.modShape(this._iconShapeMap.mark.id, {style: {strokeColor: this._iconShapeMap.mark.highlightStyle.strokeColor}}), this.zr.un(h.EVENT.CLICK, this._onclick), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove))
  1290. }, _resetZoom: function () {
  1291. this._zooming = !1, this._zoomStart && (this._zoomStart = !1, this._iconShapeMap.dataZoom && this.zr.modShape(this._iconShapeMap.dataZoom.id, {style: {strokeColor: this._iconShapeMap.dataZoom.highlightStyle.strokeColor}}), this.zr.un(h.EVENT.MOUSEDOWN, this._onmousedown), this.zr.un(h.EVENT.MOUSEUP, this._onmouseup), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove))
  1292. }, _iconDisable: function (e) {
  1293. "image" != e.type ? this.zr.modShape(e.id, {
  1294. hoverable: !1,
  1295. clickable: !1,
  1296. style: {strokeColor: this._disableColor}
  1297. }) : this.zr.modShape(e.id, {hoverable: !1, clickable: !1, style: {opacity: .3}})
  1298. }, _iconEnable: function (e) {
  1299. "image" != e.type ? this.zr.modShape(e.id, {
  1300. hoverable: !0,
  1301. clickable: !0,
  1302. style: {strokeColor: e.highlightStyle.strokeColor}
  1303. }) : this.zr.modShape(e.id, {hoverable: !0, clickable: !0, style: {opacity: .8}})
  1304. }, __onDataView: function () {
  1305. return this._dataView.show(this.option), !0
  1306. }, __onRestore: function () {
  1307. return this._resetMark(), this._resetZoom(), this.messageCenter.dispatch(s.EVENT.RESTORE, null, null, this.myChart), !0
  1308. }, __onSaveAsImage: function () {
  1309. var e = this.option.toolbox.feature.saveAsImage, t = e.type || "png";
  1310. "png" != t && "jpeg" != t && (t = "png");
  1311. var i;
  1312. 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);
  1313. var n = document.createElement("div");
  1314. 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;";
  1315. var a = document.createElement("a");
  1316. 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 () {
  1317. var e = document.getElementById("__echarts_download_wrap__");
  1318. e && (e.onclick = function () {
  1319. var e = document.getElementById("__echarts_download_wrap__");
  1320. e.onclick = null, e.innerHTML = "", document.body.removeChild(e), e = null
  1321. }, e = null)
  1322. }, 500)
  1323. }, __onMagicType: function (e) {
  1324. this._resetMark();
  1325. var t = e.target._name;
  1326. 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, {magicType: this._magicType}, this.myChart)), !0
  1327. }, setMagicType: function (e) {
  1328. this._resetMark(), this._magicType = e, !this._isSilence && this.messageCenter.dispatch(s.EVENT.MAGIC_TYPE_CHANGED, null, {magicType: this._magicType}, this.myChart)
  1329. }, __onCustomHandler: function (e) {
  1330. var t = e.target.style.iconType, i = this.option.toolbox.feature[t].onclick;
  1331. "function" == typeof i && i.call(this, this.option)
  1332. }, reset: function (e, t) {
  1333. if (t && this.clear(), this.query(e, "toolbox.show") && this.query(e, "toolbox.feature.magicType.show")) {
  1334. var i = e.toolbox.feature.magicType.type, n = i.length;
  1335. for (this._magicMap = {}; n--;) this._magicMap[i[n]] = !0;
  1336. n = e.series.length;
  1337. 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)
  1338. }
  1339. this._magicType = t ? {} : this._magicType || {};
  1340. for (var r in this._magicType) if (this._magicType[r]) {
  1341. this.option = e, this.getMagicOption();
  1342. break
  1343. }
  1344. var s = e.dataZoom;
  1345. if (s && s.show) {
  1346. var h = null != s.start && s.start >= 0 && s.start <= 100 ? s.start : 0,
  1347. m = null != s.end && s.end >= 0 && s.end <= 100 ? s.end : 100;
  1348. h > m && (h += m, m = h - m, h -= m), this._zoomQueue = [{start: h, end: m, start2: 0, end2: 100}]
  1349. } else this._zoomQueue = []
  1350. }, getMagicOption: function () {
  1351. var e, t;
  1352. if (this._magicType[s.CHART_TYPE_LINE] || this._magicType[s.CHART_TYPE_BAR]) {
  1353. 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));
  1354. this._defaultMagic(s.CHART_TYPE_LINE, s.CHART_TYPE_BAR)
  1355. }
  1356. 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]) 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);
  1357. return this.option
  1358. }, _defaultMagic: function (e, t) {
  1359. if (this._magicType[e] || this._magicType[t]) for (var i = 0, n = this.option.series.length; n > i; i++) {
  1360. var a = this.option.series[i].type;
  1361. (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))
  1362. }
  1363. }, silence: function (e) {
  1364. this._isSilence = e
  1365. }, resize: function () {
  1366. this._resetMark(), this.clear(), this.option && this.option.toolbox && this.option.toolbox.show && this._buildShape(), this._dataView && this._dataView.resize()
  1367. }, hideDataView: function () {
  1368. this._dataView && this._dataView.hide()
  1369. }, clear: function (e) {
  1370. this.zr && (this.zr.delShape(this.shapeList), this.shapeList = [], e || (this.zr.delShape(this._markShapeList), this._markShapeList = []))
  1371. }, onbeforDispose: function () {
  1372. this._dataView && (this._dataView.dispose(), this._dataView = null), this._markShapeList = null
  1373. }, refresh: function (e) {
  1374. e && (this._resetMark(), this._resetZoom(), e.toolbox = this.reformOption(e.toolbox), this.option = e, this.clear(!0), e.toolbox.show && this._buildShape(), this.hideDataView())
  1375. }
  1376. }, l.inherits(t, i), e("../component").define("toolbox", t), t
  1377. }), i("echarts/component", [], function () {
  1378. var e = {}, t = {};
  1379. return e.define = function (i, n) {
  1380. return t[i] = n, e
  1381. }, e.get = function (e) {
  1382. return t[e]
  1383. }, e
  1384. }), 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) {
  1385. function t(e, t, n, a, o) {
  1386. i.call(this, e, t, n, a, o), this.refresh(a)
  1387. }
  1388. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Rectangle"), o = e("../config");
  1389. o.title = {
  1390. zlevel: 0,
  1391. z: 6,
  1392. show: !0,
  1393. text: "",
  1394. subtext: "",
  1395. x: "left",
  1396. y: "top",
  1397. backgroundColor: "rgba(0,0,0,0)",
  1398. borderColor: "#ccc",
  1399. borderWidth: 0,
  1400. padding: 5,
  1401. itemGap: 5,
  1402. textStyle: {fontSize: 18, fontWeight: "bolder", color: "#333"},
  1403. subtextStyle: {color: "#aaa"}
  1404. };
  1405. var r = e("zrender/tool/util"), s = e("zrender/tool/area"), l = e("zrender/tool/color");
  1406. return t.prototype = {
  1407. type: o.COMPONENT_TYPE_TITLE, _buildShape: function () {
  1408. if (this.titleOption.show) {
  1409. this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
  1410. for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  1411. }
  1412. }, _buildItem: function () {
  1413. var e = this.titleOption.text, t = this.titleOption.link, i = this.titleOption.target,
  1414. a = this.titleOption.subtext, o = this.titleOption.sublink, r = this.titleOption.subtarget,
  1415. s = this.getFont(this.titleOption.textStyle), h = this.getFont(this.titleOption.subtextStyle),
  1416. m = this._itemGroupLocation.x, V = this._itemGroupLocation.y, U = this._itemGroupLocation.width,
  1417. d = this._itemGroupLocation.height, p = {
  1418. zlevel: this.getZlevelBase(),
  1419. z: this.getZBase(),
  1420. style: {y: V, color: this.titleOption.textStyle.color, text: e, textFont: s, textBaseline: "top"},
  1421. highlightStyle: {color: l.lift(this.titleOption.textStyle.color, 1), brushType: "fill"},
  1422. hoverable: !1
  1423. };
  1424. t && (p.hoverable = !0, p.clickable = !0, p.onclick = function () {
  1425. i && "self" == i ? window.location = t : window.open(t)
  1426. });
  1427. var c = {
  1428. zlevel: this.getZlevelBase(),
  1429. z: this.getZBase(),
  1430. style: {
  1431. y: V + d,
  1432. color: this.titleOption.subtextStyle.color,
  1433. text: a,
  1434. textFont: h,
  1435. textBaseline: "bottom"
  1436. },
  1437. highlightStyle: {color: l.lift(this.titleOption.subtextStyle.color, 1), brushType: "fill"},
  1438. hoverable: !1
  1439. };
  1440. switch (o && (c.hoverable = !0, c.clickable = !0, c.onclick = function () {
  1441. r && "self" == r ? window.location = o : window.open(o)
  1442. }), this.titleOption.x) {
  1443. case"center":
  1444. p.style.x = c.style.x = m + U / 2, p.style.textAlign = c.style.textAlign = "center";
  1445. break;
  1446. case"left":
  1447. p.style.x = c.style.x = m, p.style.textAlign = c.style.textAlign = "left";
  1448. break;
  1449. case"right":
  1450. p.style.x = c.style.x = m + U, p.style.textAlign = c.style.textAlign = "right";
  1451. break;
  1452. default:
  1453. m = this.titleOption.x - 0, m = isNaN(m) ? 0 : m, p.style.x = c.style.x = m
  1454. }
  1455. 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))
  1456. }, _buildBackground: function () {
  1457. var e = this.reformCssArray(this.titleOption.padding);
  1458. this.shapeList.push(new a({
  1459. zlevel: this.getZlevelBase(),
  1460. z: this.getZBase(),
  1461. hoverable: !1,
  1462. style: {
  1463. x: this._itemGroupLocation.x - e[3],
  1464. y: this._itemGroupLocation.y - e[0],
  1465. width: this._itemGroupLocation.width + e[3] + e[1],
  1466. height: this._itemGroupLocation.height + e[0] + e[2],
  1467. brushType: 0 === this.titleOption.borderWidth ? "fill" : "both",
  1468. color: this.titleOption.backgroundColor,
  1469. strokeColor: this.titleOption.borderColor,
  1470. lineWidth: this.titleOption.borderWidth
  1471. }
  1472. }))
  1473. }, _getItemGroupLocation: function () {
  1474. var e, t = this.reformCssArray(this.titleOption.padding), i = this.titleOption.text,
  1475. n = this.titleOption.subtext, a = this.getFont(this.titleOption.textStyle),
  1476. o = this.getFont(this.titleOption.subtextStyle),
  1477. r = Math.max(s.getTextWidth(i, a), s.getTextWidth(n, o)),
  1478. l = s.getTextHeight(i, a) + ("" === n ? 0 : this.titleOption.itemGap + s.getTextHeight(n, o)),
  1479. h = this.zr.getWidth();
  1480. switch (this.titleOption.x) {
  1481. case"center":
  1482. e = Math.floor((h - r) / 2);
  1483. break;
  1484. case"left":
  1485. e = t[3] + this.titleOption.borderWidth;
  1486. break;
  1487. case"right":
  1488. e = h - r - t[1] - this.titleOption.borderWidth;
  1489. break;
  1490. default:
  1491. e = this.titleOption.x - 0, e = isNaN(e) ? 0 : e
  1492. }
  1493. var m, V = this.zr.getHeight();
  1494. switch (this.titleOption.y) {
  1495. case"top":
  1496. m = t[0] + this.titleOption.borderWidth;
  1497. break;
  1498. case"bottom":
  1499. m = V - l - t[2] - this.titleOption.borderWidth;
  1500. break;
  1501. case"center":
  1502. m = Math.floor((V - l) / 2);
  1503. break;
  1504. default:
  1505. m = this.titleOption.y - 0, m = isNaN(m) ? 0 : m
  1506. }
  1507. return {x: e, y: m, width: r, height: l}
  1508. }, refresh: function (e) {
  1509. 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()
  1510. }
  1511. }, r.inherits(t, i), e("../component").define("title", t), t
  1512. }), 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) {
  1513. function t(e, t, o, r, s) {
  1514. i.call(this, e, t, o, r, s), this.dom = s.dom;
  1515. var l = this;
  1516. l._onmousemove = function (e) {
  1517. return l.__onmousemove(e)
  1518. }, l._onglobalout = function (e) {
  1519. return l.__onglobalout(e)
  1520. }, this.zr.on(h.EVENT.MOUSEMOVE, l._onmousemove), this.zr.on(h.EVENT.GLOBALOUT, l._onglobalout), l._hide = function (e) {
  1521. return l.__hide(e)
  1522. }, l._tryShow = function (e) {
  1523. return l.__tryShow(e)
  1524. }, l._refixed = function (e) {
  1525. return l.__refixed(e)
  1526. }, l._setContent = function (e, t) {
  1527. return l.__setContent(e, t)
  1528. }, this._tDom = this._tDom || document.createElement("div"), this._tDom.onselectstart = function () {
  1529. return !1
  1530. }, this._tDom.onmouseover = function () {
  1531. l._mousein = !0
  1532. }, this._tDom.onmouseout = function () {
  1533. l._mousein = !1
  1534. }, 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({
  1535. zlevel: this.getZlevelBase(),
  1536. z: this.getZBase(),
  1537. invisible: !0,
  1538. hoverable: !1
  1539. }), this.shapeList.push(this._axisLineShape), this.zr.addShape(this._axisLineShape), this._axisShadowShape && this.zr.delShape(this._axisShadowShape.id), this._axisShadowShape = new a({
  1540. zlevel: this.getZlevelBase(),
  1541. z: 1,
  1542. invisible: !0,
  1543. hoverable: !1
  1544. }), this.shapeList.push(this._axisShadowShape), this.zr.addShape(this._axisShadowShape), this._axisCrossShape && this.zr.delShape(this._axisCrossShape.id), this._axisCrossShape = new n({
  1545. zlevel: this.getZlevelBase(),
  1546. z: this.getZBase(),
  1547. invisible: !0,
  1548. hoverable: !1
  1549. }), this.shapeList.push(this._axisCrossShape), this.zr.addShape(this._axisCrossShape), this.showing = !1, this.refresh(r)
  1550. }
  1551. var i = e("./base"), n = e("../util/shape/Cross"), a = e("zrender/shape/Line"),
  1552. o = e("zrender/shape/Rectangle"), r = new o({}), s = e("../config");
  1553. s.tooltip = {
  1554. zlevel: 1,
  1555. z: 8,
  1556. show: !0,
  1557. showContent: !0,
  1558. trigger: "item",
  1559. islandFormatter: "{a} <br/>{b} : {c}",
  1560. showDelay: 20,
  1561. hideDelay: 100,
  1562. transitionDuration: .4,
  1563. enterable: !1,
  1564. backgroundColor: "rgba(0,0,0,0.7)",
  1565. borderColor: "#333",
  1566. borderRadius: 4,
  1567. borderWidth: 0,
  1568. padding: 5,
  1569. axisPointer: {
  1570. type: "line",
  1571. lineStyle: {color: "#48b", width: 2, type: "solid"},
  1572. crossStyle: {color: "#1e90ff", width: 1, type: "dashed"},
  1573. shadowStyle: {color: "rgba(150,150,150,0.3)", width: "auto", type: "default"}
  1574. },
  1575. textStyle: {color: "#fff"}
  1576. };
  1577. var l = e("../util/ecData"), h = e("zrender/config"), m = e("zrender/tool/event"), V = e("zrender/tool/area"),
  1578. U = e("zrender/tool/color"), d = e("zrender/tool/util"), p = e("zrender/shape/Base");
  1579. return t.prototype = {
  1580. type: s.COMPONENT_TYPE_TOOLTIP,
  1581. _gCssText: "position:absolute;display:block;border-style:solid;white-space:nowrap;",
  1582. _style: function (e) {
  1583. if (!e) return "";
  1584. var t = [];
  1585. if (e.transitionDuration) {
  1586. var i = "left " + e.transitionDuration + "s,top " + e.transitionDuration + "s";
  1587. t.push("transition:" + i), t.push("-moz-transition:" + i), t.push("-webkit-transition:" + i), t.push("-o-transition:" + i)
  1588. }
  1589. 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"));
  1590. var n = e.textStyle;
  1591. 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));
  1592. var a = e.padding;
  1593. 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(";") + ";"
  1594. },
  1595. __hide: function () {
  1596. this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId = -1, this._tDom && (this._tDom.style.display = "none");
  1597. var e = !1;
  1598. this._axisLineShape.invisible || (this._axisLineShape.invisible = !0,
  1599. 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
  1600. },
  1601. _show: function (e, t, i, n) {
  1602. var a = this._tDom.offsetHeight, o = this._tDom.offsetWidth;
  1603. 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
  1604. },
  1605. __refixed: function () {
  1606. if (this._tDom) {
  1607. var e = "", t = this._tDom.offsetHeight, i = this._tDom.offsetWidth;
  1608. 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)
  1609. }
  1610. },
  1611. __tryShow: function () {
  1612. var e, t;
  1613. if (this._curTarget) {
  1614. if ("island" === this._curTarget._type && this.option.tooltip.show) return void this._showItemTrigger();
  1615. var i = l.get(this._curTarget, "series"), n = l.get(this._curTarget, "data");
  1616. 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))
  1617. } else this._findPolarTrigger() || this._findAxisTrigger()
  1618. },
  1619. _findAxisTrigger: function () {
  1620. if (!this.component.xAxis || !this.component.yAxis) return void (this._hidingTicket = setTimeout(this._hide, this._hideDelay));
  1621. for (var e, t, i = this.option.series, n = 0, a = i.length; a > n; n++) 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);
  1622. "cross" === this.option.tooltip.axisPointer.type && this._showAxisTrigger(-1, -1, -1)
  1623. },
  1624. _findPolarTrigger: function () {
  1625. if (!this.component.polar) return !1;
  1626. var e, t = m.getX(this._event), i = m.getY(this._event),
  1627. n = this.component.polar.getNearestIndex([t, i]);
  1628. return n ? (e = n.valueIndex, n = n.polarIndex) : n = -1, -1 != n ? this._showPolarTrigger(n, e) : !1
  1629. },
  1630. _getNearestDataIndex: function (e, t) {
  1631. var i = -1, n = m.getX(this._event), a = m.getY(this._event);
  1632. if ("x" === e) {
  1633. 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);
  1634. return 0 >= i ? i = 0 : r - n >= n - o ? i -= 1 : null == t.getNameByIndex(i) && (i -= 1), i
  1635. }
  1636. 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);
  1637. return 0 >= i ? i = 0 : a - h >= V - a ? i -= 1 : null == t.getNameByIndex(i) && (i -= 1), i
  1638. },
  1639. _showAxisTrigger: function (e, t, i) {
  1640. 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));
  1641. var n, a, o, r, l = this.option.series, h = [], V = [], U = "";
  1642. if ("axis" === this.option.tooltip.trigger) {
  1643. if (!this.option.tooltip.show) return;
  1644. a = this.option.tooltip.formatter, o = this.option.tooltip.position
  1645. }
  1646. var d, p,
  1647. 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;
  1648. if (c) {
  1649. var u = "xAxis" == c ? e : t;
  1650. n = this.component[c].getAxis(u);
  1651. 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)));
  1652. this.messageCenter.dispatch(s.EVENT.TOOLTIP_HOVER, this._event, {
  1653. seriesIndex: V,
  1654. dataIndex: i
  1655. }, this.myChart);
  1656. var b;
  1657. "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)
  1658. } 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");
  1659. if (h.length > 0) {
  1660. if (this._lastItemTriggerId = -1, this._lastDataIndex != i || this._lastSeriesIndex != V[0]) {
  1661. this._lastDataIndex = i, this._lastSeriesIndex = V[0];
  1662. var f, k;
  1663. if ("function" == typeof a) {
  1664. for (var x = [], y = 0, g = h.length; g > y; y++) f = h[y].data[i], k = this.getDataFromOption(f, "-"), x.push({
  1665. seriesIndex: V[y],
  1666. seriesName: h[y].name || "",
  1667. series: h[y],
  1668. dataIndex: i,
  1669. data: f,
  1670. name: n.getNameByIndex(i),
  1671. value: k,
  1672. 0: h[y].name || "",
  1673. 1: n.getNameByIndex(i),
  1674. 2: k,
  1675. 3: f
  1676. });
  1677. this._curTicket = "axis:" + i, this._tDom.innerHTML = a.call(this.myChart, x, this._curTicket, this._setContent)
  1678. } else if ("string" == typeof a) {
  1679. this._curTicket = 0 / 0, a = a.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}");
  1680. 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));
  1681. this._tDom.innerHTML = a
  1682. } else {
  1683. this._curTicket = 0 / 0, a = this._encodeHTML(n.getNameByIndex(i));
  1684. 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);
  1685. this._tDom.innerHTML = a
  1686. }
  1687. }
  1688. if (r === !1 || !this.option.tooltip.showContent) return;
  1689. 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)
  1690. }
  1691. },
  1692. _showPolarTrigger: function (e, t) {
  1693. if (null == this.component.polar || null == e || null == t || 0 > t) return !1;
  1694. var i, n, a, o = this.option.series, r = [], s = [], l = "";
  1695. if ("axis" === this.option.tooltip.trigger) {
  1696. if (!this.option.tooltip.show) return !1;
  1697. i = this.option.tooltip.formatter, n = this.option.tooltip.position
  1698. }
  1699. 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));
  1700. if (r.length > 0) {
  1701. for (var d, p, c, u = [], V = 0, U = r.length; U > V; V++) {
  1702. d = r[V].data;
  1703. for (var y = 0, g = d.length; g > y; y++) p = d[y], this._isSelected(p.name) && (p = null != p ? p : {
  1704. name: "",
  1705. value: {dataIndex: "-"}
  1706. }, c = this.getDataFromOption(p.value[t]), u.push({
  1707. seriesIndex: s[V],
  1708. seriesName: r[V].name || "",
  1709. series: r[V],
  1710. dataIndex: t,
  1711. data: p,
  1712. name: p.name,
  1713. indicator: h,
  1714. value: c,
  1715. 0: r[V].name || "",
  1716. 1: p.name,
  1717. 2: c,
  1718. 3: h
  1719. }))
  1720. }
  1721. if (u.length <= 0) return;
  1722. if (this._lastItemTriggerId = -1, this._lastDataIndex != t || this._lastSeriesIndex != s[0]) 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); else if ("string" == typeof i) {
  1723. i = i.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}");
  1724. 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));
  1725. this._tDom.innerHTML = i
  1726. } else {
  1727. i = this._encodeHTML(u[0].name) + "<br/>" + this._encodeHTML(u[0].indicator) + " : " + this.numAddCommas(u[0].value);
  1728. 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);
  1729. this._tDom.innerHTML = i
  1730. }
  1731. if (a === !1 || !this.option.tooltip.showContent) return;
  1732. 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
  1733. }
  1734. },
  1735. _showItemTrigger: function (e) {
  1736. if (this._curTarget) {
  1737. var t, i, n, a = l.get(this._curTarget, "series"), o = l.get(this._curTarget, "seriesIndex"),
  1738. r = l.get(this._curTarget, "data"), h = l.get(this._curTarget, "dataIndex"),
  1739. V = l.get(this._curTarget, "name"), U = l.get(this._curTarget, "value"),
  1740. d = l.get(this._curTarget, "special"), p = l.get(this._curTarget, "special2"),
  1741. c = [r, a, this.option], u = "";
  1742. if ("island" != this._curTarget._type) {
  1743. var y = e ? "axis" : "item";
  1744. 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"))
  1745. } else this._lastItemTriggerId = 0 / 0, n = this.deepQuery(c, "tooltip.showContent"), t = this.deepQuery(c, "tooltip.islandFormatter"), i = this.deepQuery(c, "tooltip.islandPosition");
  1746. 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, {
  1747. seriesIndex: o,
  1748. seriesName: a.name || "",
  1749. series: a,
  1750. dataIndex: h,
  1751. data: r,
  1752. name: V,
  1753. value: U,
  1754. percent: d,
  1755. indicator: d,
  1756. value2: p,
  1757. indicator2: p,
  1758. 0: a.name || "",
  1759. 1: V,
  1760. 2: U,
  1761. 3: d,
  1762. 4: p,
  1763. 5: r,
  1764. 6: o,
  1765. 7: h
  1766. }, 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))));
  1767. var g = m.getX(this._event), b = m.getY(this._event);
  1768. 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))
  1769. }
  1770. },
  1771. _itemFormatter: {
  1772. radar: function (e, t, i, n) {
  1773. var a = "";
  1774. a += this._encodeHTML("" === t ? e.name || "" : t), a += "" === a ? "" : "<br />";
  1775. for (var o = 0; o < n.length; o++) a += this._encodeHTML(n[o].text) + " : " + this.numAddCommas(i[o]) + "<br />";
  1776. return a
  1777. }, chord: function (e, t, i, n, a) {
  1778. if (null == a) return this._encodeHTML(t) + " (" + this.numAddCommas(i) + ")";
  1779. var o = this._encodeHTML(t), r = this._encodeHTML(n);
  1780. return "" + (null != e.name ? this._encodeHTML(e.name) + "<br/>" : "") + o + " -> " + r + " (" + this.numAddCommas(i) + ")<br />" + r + " -> " + o + " (" + this.numAddCommas(a) + ")"
  1781. }, eventRiver: function (e, t, i, n) {
  1782. var a = "";
  1783. a += this._encodeHTML("" === e.name ? "" : e.name + " : "), a += this._encodeHTML(t), a += "" === a ? "" : "<br />", n = n.evolution;
  1784. 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>");
  1785. return a
  1786. }
  1787. },
  1788. _styleAxisPointer: function (e, t, i, n, a, o, r, s) {
  1789. if (e.length > 0) {
  1790. var l, h, m = this.option.tooltip.axisPointer, V = m.type, U = {line: {}, cross: {}, shadow: {}};
  1791. 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;
  1792. 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);
  1793. if ("line" === V) {
  1794. var u = U.line.width, y = t == n;
  1795. this._axisLineShape.style = {
  1796. xStart: y ? this.subPixelOptimize(t, u) : t,
  1797. yStart: y ? i : this.subPixelOptimize(i, u),
  1798. xEnd: y ? this.subPixelOptimize(n, u) : n,
  1799. yEnd: y ? a : this.subPixelOptimize(a, u),
  1800. strokeColor: U.line.color,
  1801. lineWidth: u,
  1802. lineType: U.line.type
  1803. }, this._axisLineShape.invisible = !1, this.zr.modShape(this._axisLineShape.id)
  1804. } else if ("cross" === V) {
  1805. var g = U.cross.width;
  1806. this._axisCrossShape.style = {
  1807. brushType: "stroke",
  1808. rect: this.component.grid.getArea(),
  1809. x: this.subPixelOptimize(r, g),
  1810. y: this.subPixelOptimize(s, g),
  1811. text: ("( " + this.component.xAxis.getAxis(0).getValueFromCoord(r) + " , " + this.component.yAxis.getAxis(0).getValueFromCoord(s) + " )").replace(" , ", " ").replace(" , ", " "),
  1812. textPosition: "specific",
  1813. strokeColor: U.cross.color,
  1814. lineWidth: g,
  1815. lineType: U.cross.type
  1816. }, 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)
  1817. } 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 = {
  1818. xStart: t,
  1819. yStart: i,
  1820. xEnd: n,
  1821. yEnd: a,
  1822. strokeColor: U.shadow.color,
  1823. lineWidth: U.shadow.width
  1824. }, this._axisShadowShape.invisible = !1, this.zr.modShape(this._axisShadowShape.id));
  1825. this.zr.refreshNextFrame()
  1826. }
  1827. },
  1828. __onmousemove: function (e) {
  1829. if (clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), !this._mousein || !this._enterable) {
  1830. var t = e.target, i = m.getX(e.event), n = m.getY(e.event);
  1831. if (t) {
  1832. this._curTarget = t, this._event = e.event, this._event.zrenderX = i, this._event.zrenderY = n;
  1833. var a;
  1834. if (this._needAxisTrigger && this.component.polar && -1 != (a = this.component.polar.isInside([i, n]))) for (var o = this.option.series, l = 0, h = o.length; h > l; l++) if (o[l].polarIndex === a && "axis" === this.deepQuery([o[l], this.option], "tooltip.trigger")) {
  1835. this._curTarget = null;
  1836. break
  1837. }
  1838. this._showingTicket = setTimeout(this._tryShow, this._showDelay)
  1839. } 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))
  1840. }
  1841. },
  1842. __onglobalout: function () {
  1843. clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._hidingTicket = setTimeout(this._hide, this._hideDelay)
  1844. },
  1845. __setContent: function (e, t) {
  1846. this._tDom && (e === this._curTicket && (this._tDom.innerHTML = t), setTimeout(this._refixed, 20))
  1847. },
  1848. ontooltipHover: function (e, t) {
  1849. if (!this._lastTipShape || this._lastTipShape && this._lastTipShape.dataIndex != e.dataIndex) {
  1850. this._lastTipShape && this._lastTipShape.tipShape.length > 0 && (this.zr.delShape(this._lastTipShape.tipShape), this.shapeList.length = 2);
  1851. 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]);
  1852. this._lastTipShape = {dataIndex: e.dataIndex, tipShape: t}
  1853. }
  1854. },
  1855. ondragend: function () {
  1856. this._hide()
  1857. },
  1858. onlegendSelected: function (e) {
  1859. this._selectedMap = e.selected
  1860. },
  1861. _setSelectedMap: function () {
  1862. this._selectedMap = this.component.legend ? d.clone(this.component.legend.getSelectedMap()) : {}
  1863. },
  1864. _isSelected: function (e) {
  1865. return null != this._selectedMap[e] ? this._selectedMap[e] : !0
  1866. },
  1867. showTip: function (e) {
  1868. if (e) {
  1869. var t, i = this.option.series;
  1870. if (null != e.seriesIndex) t = e.seriesIndex; else for (var n = e.seriesName, a = 0, o = i.length; o > a; a++) if (i[a].name === n) {
  1871. t = a;
  1872. break
  1873. }
  1874. var r = i[t];
  1875. if (null != r) {
  1876. var m = this.myChart.chart[r.type],
  1877. V = "axis" === this.deepQuery([r, this.option], "tooltip.trigger");
  1878. if (m) if (V) {
  1879. var U = e.dataIndex;
  1880. switch (m.type) {
  1881. case s.CHART_TYPE_LINE:
  1882. case s.CHART_TYPE_BAR:
  1883. case s.CHART_TYPE_K:
  1884. case s.CHART_TYPE_RADAR:
  1885. if (null == this.component.polar || r.data[0].value.length <= U) return;
  1886. var d = r.polarIndex || 0, p = this.component.polar.getVector(d, U, "max");
  1887. this._event = {zrenderX: p[0], zrenderY: p[1]}, this._showPolarTrigger(d, U)
  1888. }
  1889. } else {
  1890. var c, u, y = m.shapeList;
  1891. switch (m.type) {
  1892. case s.CHART_TYPE_LINE:
  1893. case s.CHART_TYPE_BAR:
  1894. case s.CHART_TYPE_K:
  1895. case s.CHART_TYPE_TREEMAP:
  1896. case s.CHART_TYPE_SCATTER:
  1897. for (var U = e.dataIndex, a = 0, o = y.length; o > a; a++) if (null == y[a]._mark && l.get(y[a], "seriesIndex") == t && l.get(y[a], "dataIndex") == U) {
  1898. 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];
  1899. break
  1900. }
  1901. break;
  1902. case s.CHART_TYPE_RADAR:
  1903. for (var U = e.dataIndex, a = 0, o = y.length; o > a; a++) if ("polygon" === y[a].type && l.get(y[a], "seriesIndex") == t && l.get(y[a], "dataIndex") == U) {
  1904. this._curTarget = y[a];
  1905. var p = this.component.polar.getCenter(r.polarIndex || 0);
  1906. c = p[0], u = p[1];
  1907. break
  1908. }
  1909. break;
  1910. case s.CHART_TYPE_PIE:
  1911. for (var g = e.name, a = 0, o = y.length; o > a; a++) if ("sector" === y[a].type && l.get(y[a], "seriesIndex") == t && l.get(y[a], "name") == g) {
  1912. this._curTarget = y[a];
  1913. var b = this._curTarget.style,
  1914. f = (b.startAngle + b.endAngle) / 2 * Math.PI / 180;
  1915. c = this._curTarget.style.x + Math.cos(f) * b.r / 1.5, u = this._curTarget.style.y - Math.sin(f) * b.r / 1.5;
  1916. break
  1917. }
  1918. break;
  1919. case s.CHART_TYPE_MAP:
  1920. for (var g = e.name, k = r.mapType, a = 0, o = y.length; o > a; a++) if ("text" === y[a].type && y[a]._mapType === k && y[a].style._name === g) {
  1921. this._curTarget = y[a], c = this._curTarget.style.x + this._curTarget.position[0], u = this._curTarget.style.y + this._curTarget.position[1];
  1922. break
  1923. }
  1924. break;
  1925. case s.CHART_TYPE_CHORD:
  1926. for (var g = e.name, a = 0, o = y.length; o > a; a++) if ("sector" === y[a].type && l.get(y[a], "name") == g) {
  1927. this._curTarget = y[a];
  1928. var b = this._curTarget.style,
  1929. f = (b.startAngle + b.endAngle) / 2 * Math.PI / 180;
  1930. 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, {
  1931. zrenderX: c,
  1932. zrenderY: u
  1933. })
  1934. }
  1935. break;
  1936. case s.CHART_TYPE_FORCE:
  1937. for (var g = e.name, a = 0, o = y.length; o > a; a++) if ("circle" === y[a].type && l.get(y[a], "name") == g) {
  1938. this._curTarget = y[a], c = this._curTarget.position[0], u = this._curTarget.position[1];
  1939. break
  1940. }
  1941. }
  1942. null != c && null != u && (this._event = {
  1943. zrenderX: c,
  1944. zrenderY: u
  1945. }, this.zr.addHoverShape(this._curTarget), this.zr.refreshHover(), this._showItemTrigger())
  1946. }
  1947. }
  1948. }
  1949. },
  1950. hideTip: function () {
  1951. this._hide()
  1952. },
  1953. refresh: function (e) {
  1954. 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) {
  1955. 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);
  1956. for (var t = this.option.series, i = 0, n = t.length; n > i; i++) if ("axis" === this.query(t[i], "tooltip.trigger")) {
  1957. this._needAxisTrigger = !0;
  1958. break
  1959. }
  1960. 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)
  1961. }
  1962. if (this.showing) {
  1963. var a = this;
  1964. setTimeout(function () {
  1965. a.zr.trigger(h.EVENT.MOUSEMOVE, a.zr.handler._event)
  1966. }, 50)
  1967. }
  1968. },
  1969. onbeforDispose: function () {
  1970. 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
  1971. },
  1972. _encodeHTML: function (e) {
  1973. return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;")
  1974. }
  1975. }, d.inherits(t, i), e("../component").define("tooltip", t), t
  1976. }), 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) {
  1977. function t(e, t, n, a, o) {
  1978. if (!this.query(a, "legend.data")) return void console.error("option.legend.data has not been defined.");
  1979. i.call(this, e, t, n, a, o);
  1980. var r = this;
  1981. r._legendSelected = function (e) {
  1982. r.__legendSelected(e)
  1983. }, r._dispatchHoverLink = function (e) {
  1984. return r.__dispatchHoverLink(e)
  1985. }, this._colorIndex = 0, this._colorMap = {}, this._selectedMap = {}, this._hasDataMap = {}, this.refresh(a)
  1986. }
  1987. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Rectangle"),
  1988. o = e("zrender/shape/Sector"), r = e("../util/shape/Icon"), s = e("../util/shape/Candle"),
  1989. l = e("../config");
  1990. l.legend = {
  1991. zlevel: 0,
  1992. z: 4,
  1993. show: !0,
  1994. orient: "horizontal",
  1995. x: "center",
  1996. y: "top",
  1997. backgroundColor: "rgba(0,0,0,0)",
  1998. borderColor: "#ccc",
  1999. borderWidth: 0,
  2000. padding: 5,
  2001. itemGap: 10,
  2002. itemWidth: 20,
  2003. itemHeight: 14,
  2004. textStyle: {color: "#333"},
  2005. selectedMode: !0
  2006. };
  2007. var h = e("zrender/tool/util"), m = e("zrender/tool/area");
  2008. t.prototype = {
  2009. type: l.COMPONENT_TYPE_LEGEND, _buildShape: function () {
  2010. if (this.legendOption.show) {
  2011. this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
  2012. for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  2013. }
  2014. }, _buildItem: function () {
  2015. var e, t, i, a, o, s, l, V, U = this.legendOption.data, d = U.length, p = this.legendOption.textStyle,
  2016. c = this.zr.getWidth(), u = this.zr.getHeight(), y = this._itemGroupLocation.x,
  2017. g = this._itemGroupLocation.y, b = this.legendOption.itemWidth, f = this.legendOption.itemHeight,
  2018. k = this.legendOption.itemGap;
  2019. "vertical" === this.legendOption.orient && "right" === this.legendOption.x && (y = this._itemGroupLocation.x + this._itemGroupLocation.width - b);
  2020. 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 = {
  2021. zlevel: this.getZlevelBase(),
  2022. z: this.getZBase(),
  2023. style: {
  2024. x: y + b + 5,
  2025. y: g + f / 2,
  2026. color: this._selectedMap[e] ? "auto" === o.color ? V : o.color : "#ccc",
  2027. text: l,
  2028. textFont: s,
  2029. textBaseline: "middle"
  2030. },
  2031. highlightStyle: {color: V, brushType: "fill"},
  2032. hoverable: !!this.legendOption.selectedMode,
  2033. clickable: !!this.legendOption.selectedMode
  2034. }, "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);
  2035. "horizontal" === this.legendOption.orient && "center" === this.legendOption.x && g != this._itemGroupLocation.y && this._mLineOptimize()
  2036. }, _getName: function (e) {
  2037. return "undefined" != typeof e.name ? e.name : e
  2038. }, _getFormatterName: function (e) {
  2039. var t, i = this.legendOption.formatter;
  2040. return t = "function" == typeof i ? i.call(this.myChart, e) : "string" == typeof i ? i.replace("{name}", e) : e
  2041. }, _getFormatterNameFromData: function (e) {
  2042. var t = this._getName(e);
  2043. return this._getFormatterName(t)
  2044. }, _mLineOptimize: function () {
  2045. 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);
  2046. 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])
  2047. }, _buildBackground: function () {
  2048. var e = this.reformCssArray(this.legendOption.padding);
  2049. this.shapeList.push(new a({
  2050. zlevel: this.getZlevelBase(),
  2051. z: this.getZBase(),
  2052. hoverable: !1,
  2053. style: {
  2054. x: this._itemGroupLocation.x - e[3],
  2055. y: this._itemGroupLocation.y - e[0],
  2056. width: this._itemGroupLocation.width + e[3] + e[1],
  2057. height: this._itemGroupLocation.height + e[0] + e[2],
  2058. brushType: 0 === this.legendOption.borderWidth ? "fill" : "both",
  2059. color: this.legendOption.backgroundColor,
  2060. strokeColor: this.legendOption.borderColor,
  2061. lineWidth: this.legendOption.borderWidth
  2062. }
  2063. }))
  2064. }, _getItemGroupLocation: function () {
  2065. var e = this.legendOption.data, t = e.length, i = this.legendOption.itemGap,
  2066. n = this.legendOption.itemWidth + 5, a = this.legendOption.itemHeight,
  2067. o = this.legendOption.textStyle, r = this.getFont(o), s = 0, l = 0,
  2068. V = this.reformCssArray(this.legendOption.padding), U = this.zr.getWidth() - V[1] - V[3],
  2069. d = this.zr.getHeight() - V[0] - V[2], p = 0, c = 0;
  2070. if ("horizontal" === this.legendOption.orient) {
  2071. l = a;
  2072. for (var u = 0; t > u; u++) if ("" !== this._getName(e[u])) {
  2073. var y = m.getTextWidth(this._getFormatterNameFromData(e[u]), e[u].textStyle ? this.getFont(h.merge(e[u].textStyle || {}, o)) : r);
  2074. 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))
  2075. } else p -= i, s = Math.max(s, p), l += a + i, p = 0
  2076. } else {
  2077. 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));
  2078. c += n, s = c;
  2079. 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)
  2080. }
  2081. U = this.zr.getWidth(), d = this.zr.getHeight();
  2082. var g;
  2083. switch (this.legendOption.x) {
  2084. case"center":
  2085. g = Math.floor((U - s) / 2);
  2086. break;
  2087. case"left":
  2088. g = V[3] + this.legendOption.borderWidth;
  2089. break;
  2090. case"right":
  2091. g = U - s - V[1] - V[3] - 2 * this.legendOption.borderWidth;
  2092. break;
  2093. default:
  2094. g = this.parsePercent(this.legendOption.x, U)
  2095. }
  2096. var b;
  2097. switch (this.legendOption.y) {
  2098. case"top":
  2099. b = V[0] + this.legendOption.borderWidth;
  2100. break;
  2101. case"bottom":
  2102. b = d - l - V[0] - V[2] - 2 * this.legendOption.borderWidth;
  2103. break;
  2104. case"center":
  2105. b = Math.floor((d - l) / 2);
  2106. break;
  2107. default:
  2108. b = this.parsePercent(this.legendOption.y, d)
  2109. }
  2110. return {x: g, y: b, width: s, height: l, maxWidth: c}
  2111. }, _getSomethingByName: function (e) {
  2112. for (var t, i = this.option.series, n = 0, a = i.length; a > n; n++) {
  2113. if (i[n].name === e) return {
  2114. type: i[n].type,
  2115. series: i[n],
  2116. seriesIndex: n,
  2117. data: null,
  2118. dataIndex: -1
  2119. };
  2120. 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) {
  2121. t = i[n].categories || i[n].data || i[n].nodes;
  2122. for (var o = 0, r = t.length; r > o; o++) if (t[o].name === e) return {
  2123. type: i[n].type,
  2124. series: i[n],
  2125. seriesIndex: n,
  2126. data: t[o],
  2127. dataIndex: o
  2128. }
  2129. }
  2130. }
  2131. return {type: "bar", series: null, seriesIndex: -1, data: null, dataIndex: -1}
  2132. }, _getItemShapeByType: function (e, t, i, n, a, o, r) {
  2133. var s, h = "#ccc" === a ? r : a, m = {
  2134. zlevel: this.getZlevelBase(),
  2135. z: this.getZBase(),
  2136. style: {
  2137. iconType: "legendicon" + o,
  2138. x: e,
  2139. y: t,
  2140. width: i,
  2141. height: n,
  2142. color: a,
  2143. strokeColor: a,
  2144. lineWidth: 2
  2145. },
  2146. highlightStyle: {color: h, strokeColor: h, lineWidth: 1},
  2147. hoverable: this.legendOption.selectedMode,
  2148. clickable: this.legendOption.selectedMode
  2149. };
  2150. if (o.match("image")) {
  2151. var s = o.replace(new RegExp("^image:\\/\\/"), "");
  2152. o = "image"
  2153. }
  2154. switch (o) {
  2155. case"line":
  2156. m.style.brushType = "stroke", m.highlightStyle.lineWidth = 3;
  2157. break;
  2158. case"radar":
  2159. case"venn":
  2160. case"tree":
  2161. case"treemap":
  2162. case"scatter":
  2163. m.highlightStyle.lineWidth = 3;
  2164. break;
  2165. case"k":
  2166. 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;
  2167. break;
  2168. case"image":
  2169. m.style.iconType = "image", m.style.image = s, "#ccc" === a && (m.style.opacity = .5)
  2170. }
  2171. return m
  2172. }, __legendSelected: function (e) {
  2173. var t = e.target._name;
  2174. if ("single" === this.legendOption.selectedMode) for (var i in this._selectedMap) this._selectedMap[i] = !1;
  2175. this._selectedMap[t] = !this._selectedMap[t], this.messageCenter.dispatch(l.EVENT.LEGEND_SELECTED, e.event, {
  2176. selected: this._selectedMap,
  2177. target: t
  2178. }, this.myChart)
  2179. }, __dispatchHoverLink: function (e) {
  2180. this.messageCenter.dispatch(l.EVENT.LEGEND_HOVERLINK, e.event, {target: e.target._name}, this.myChart)
  2181. }, refresh: function (e) {
  2182. if (e) {
  2183. this.option = e || this.option, this.option.legend = this.reformOption(this.option.legend), this.legendOption = this.option.legend;
  2184. var t, i, n, a, o = this.legendOption.data || [];
  2185. if (this.legendOption.selected) for (var r in this.legendOption.selected) this._selectedMap[r] = "undefined" != typeof this._selectedMap[r] ? this._selectedMap[r] : this.legendOption.selected[r];
  2186. 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)
  2187. }
  2188. this.clear(), this._buildShape()
  2189. }, getRelatedAmount: function (e) {
  2190. for (var t, i = 0, n = this.option.series, a = 0, o = n.length; o > a; a++) 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) {
  2191. t = n[a].type != l.CHART_TYPE_FORCE ? n[a].data : n[a].categories;
  2192. for (var r = 0, s = t.length; s > r; r++) t[r].name === e && "-" != t[r].value && i++
  2193. }
  2194. return i
  2195. }, setColor: function (e, t) {
  2196. this._colorMap[e] = t
  2197. }, getColor: function (e) {
  2198. return this._colorMap[e] || (this._colorMap[e] = this.zr.getColor(this._colorIndex++)), this._colorMap[e]
  2199. }, hasColor: function (e) {
  2200. return this._colorMap[e] ? this._colorMap[e] : !1
  2201. }, add: function (e, t) {
  2202. for (var i = this.legendOption.data, n = 0, a = i.length; a > n; n++) if (this._getName(i[n]) === e) return;
  2203. this.legendOption.data.push(e), this.setColor(e, t), this._selectedMap[e] = !0, this._hasDataMap[e] = !0
  2204. }, del: function (e) {
  2205. for (var t = this.legendOption.data, i = 0, n = t.length; n > i; i++) if (this._getName(t[i]) === e) return this.legendOption.data.splice(i, 1)
  2206. }, getItemShape: function (e) {
  2207. if (null != e) for (var t, i = 0, n = this.shapeList.length; n > i; i++) if (t = this.shapeList[i], t._name === e && "text" != t.type) return t
  2208. }, setItemShape: function (e, t) {
  2209. 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))
  2210. }, isSelected: function (e) {
  2211. return "undefined" != typeof this._selectedMap[e] ? this._selectedMap[e] : !0
  2212. }, getSelectedMap: function () {
  2213. return this._selectedMap
  2214. }, setSelected: function (e, t) {
  2215. if ("single" === this.legendOption.selectedMode) for (var i in this._selectedMap) this._selectedMap[i] = !1;
  2216. this._selectedMap[e] = t, this.messageCenter.dispatch(l.EVENT.LEGEND_SELECTED, null, {
  2217. selected: this._selectedMap,
  2218. target: e
  2219. }, this.myChart)
  2220. }, onlegendSelected: function (e, t) {
  2221. var i = e.selected;
  2222. for (var n in i) this._selectedMap[n] != i[n] && (t.needRefresh = !0), this._selectedMap[n] = i[n]
  2223. }
  2224. };
  2225. var V = {
  2226. line: function (e, t) {
  2227. var i = t.height / 2;
  2228. e.moveTo(t.x, t.y + i), e.lineTo(t.x + t.width, t.y + i)
  2229. }, pie: function (e, t) {
  2230. var i = t.x, n = t.y, a = t.width, r = t.height;
  2231. o.prototype.buildPath(e, {x: i + a / 2, y: n + r + 2, r: r, r0: 6, startAngle: 45, endAngle: 135})
  2232. }, eventRiver: function (e, t) {
  2233. var i = t.x, n = t.y, a = t.width, o = t.height;
  2234. 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)
  2235. }, k: function (e, t) {
  2236. var i = t.x, n = t.y, a = t.width, o = t.height;
  2237. s.prototype.buildPath(e, {x: i + a / 2, y: [n + 1, n + 1, n + o - 6, n + o], width: a - 6})
  2238. }, bar: function (e, t) {
  2239. var i = t.x, n = t.y + 1, a = t.width, o = t.height - 2, r = 3;
  2240. 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)
  2241. }, force: function (e, t) {
  2242. r.prototype.iconLibrary.circle(e, t)
  2243. }, radar: function (e, t) {
  2244. var i = 6, n = t.x + t.width / 2, a = t.y + t.height / 2, o = t.height / 2, r = 2 * Math.PI / i,
  2245. s = -Math.PI / 2, l = n + o * Math.cos(s), h = a + o * Math.sin(s);
  2246. e.moveTo(l, h), s += r;
  2247. for (var m = 0, V = i - 1; V > m; m++) e.lineTo(n + o * Math.cos(s), a + o * Math.sin(s)), s += r;
  2248. e.lineTo(l, h)
  2249. }
  2250. };
  2251. V.chord = V.pie, V.map = V.bar;
  2252. for (var U in V) r.prototype.iconLibrary["legendicon" + U] = V[U];
  2253. return h.inherits(t, i), e("../component").define("legend", t), t
  2254. }), i("echarts/util/ecData", [], function () {
  2255. function e(e, t, i, n, a, o, r, s) {
  2256. var l;
  2257. return "undefined" != typeof n && (l = null == n.value ? n : n.value), e._echartsData = {
  2258. _series: t,
  2259. _seriesIndex: i,
  2260. _data: n,
  2261. _dataIndex: a,
  2262. _name: o,
  2263. _value: l,
  2264. _special: r,
  2265. _special2: s
  2266. }, e._echartsData
  2267. }
  2268. function t(e, t) {
  2269. var i = e._echartsData;
  2270. if (!t) return i;
  2271. switch (t) {
  2272. case"series":
  2273. case"seriesIndex":
  2274. case"data":
  2275. case"dataIndex":
  2276. case"name":
  2277. case"value":
  2278. case"special":
  2279. case"special2":
  2280. return i && i["_" + t]
  2281. }
  2282. return null
  2283. }
  2284. function i(e, t, i) {
  2285. switch (e._echartsData = e._echartsData || {}, t) {
  2286. case"series":
  2287. case"seriesIndex":
  2288. case"data":
  2289. case"dataIndex":
  2290. case"name":
  2291. case"value":
  2292. case"special":
  2293. case"special2":
  2294. e._echartsData["_" + t] = i
  2295. }
  2296. }
  2297. function n(e, t) {
  2298. t._echartsData = {
  2299. _series: e._echartsData._series,
  2300. _seriesIndex: e._echartsData._seriesIndex,
  2301. _data: e._echartsData._data,
  2302. _dataIndex: e._echartsData._dataIndex,
  2303. _name: e._echartsData._name,
  2304. _value: e._echartsData._value,
  2305. _special: e._echartsData._special,
  2306. _special2: e._echartsData._special2
  2307. }
  2308. }
  2309. return {pack: e, set: i, get: t, clone: n}
  2310. }), i("echarts/chart", [], function () {
  2311. var e = {}, t = {};
  2312. return e.define = function (i, n) {
  2313. return t[i] = n, e
  2314. }, e.get = function (e) {
  2315. return t[e]
  2316. }, e
  2317. }), i("zrender/tool/color", ["require", "../tool/util"], function (e) {
  2318. function t(e) {
  2319. D = e
  2320. }
  2321. function i() {
  2322. D = N
  2323. }
  2324. function n(e, t) {
  2325. return e = 0 | e, t = t || D, t[e % t.length]
  2326. }
  2327. function a(e) {
  2328. B = e
  2329. }
  2330. function o() {
  2331. H = B
  2332. }
  2333. function r() {
  2334. return B
  2335. }
  2336. function s(e, t, i, n, a, o, r) {
  2337. O || (O = P.getContext());
  2338. 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]);
  2339. return s.__nonRecursion = !0, s
  2340. }
  2341. function l(e, t, i, n, a) {
  2342. O || (O = P.getContext());
  2343. 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]);
  2344. return o.__nonRecursion = !0, o
  2345. }
  2346. function h(e, t, i) {
  2347. e = p(e), t = p(t), e = I(e), t = I(t);
  2348. 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;
  2349. return h = t[0], m = t[1], U = t[2], d = t[3], n[l] = V([h, m, U, d], "rgba"), n
  2350. }
  2351. function m(e, t) {
  2352. var i = [], n = e.length;
  2353. if (void 0 === t && (t = 20), 1 === n) i = h(e[0], e[0], t); else if (n > 1) for (var a = 0, o = n - 1; o > a; a++) {
  2354. var r = h(e[a], e[a + 1], t);
  2355. o - 1 > a && r.pop(), i = i.concat(r)
  2356. }
  2357. return i
  2358. }
  2359. function V(e, t) {
  2360. if (t = t || "rgb", e && (3 === e.length || 4 === e.length)) {
  2361. if (e = C(e, function (e) {
  2362. return e > 1 ? Math.ceil(e) : e
  2363. }), t.indexOf("hex") > -1) return "#" + ((1 << 24) + (e[0] << 16) + (e[1] << 8) + +e[2]).toString(16).slice(1);
  2364. if (t.indexOf("hs") > -1) {
  2365. var i = C(e.slice(1, 3), function (e) {
  2366. return e + "%"
  2367. });
  2368. e[1] = i[0], e[2] = i[1]
  2369. }
  2370. 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(",") + ")"
  2371. }
  2372. }
  2373. function U(e) {
  2374. e = L(e), e.indexOf("rgba") < 0 && (e = p(e));
  2375. var t = [], i = 0;
  2376. return e.replace(/[\d.]+/g, function (e) {
  2377. e = 3 > i ? 0 | e : +e, t[i++] = e
  2378. }), t
  2379. }
  2380. function d(e, t) {
  2381. if (!E(e)) return e;
  2382. var i = I(e), n = i[3];
  2383. 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)
  2384. }
  2385. function p(e) {
  2386. return d(e, "rgba")
  2387. }
  2388. function c(e) {
  2389. return d(e, "rgb")
  2390. }
  2391. function u(e) {
  2392. return d(e, "hex")
  2393. }
  2394. function y(e) {
  2395. return d(e, "hsva")
  2396. }
  2397. function g(e) {
  2398. return d(e, "hsv")
  2399. }
  2400. function b(e) {
  2401. return d(e, "hsba")
  2402. }
  2403. function f(e) {
  2404. return d(e, "hsb")
  2405. }
  2406. function k(e) {
  2407. return d(e, "hsla")
  2408. }
  2409. function x(e) {
  2410. return d(e, "hsl")
  2411. }
  2412. function _(e) {
  2413. for (var t in G) if (u(G[t]) === u(e)) return t;
  2414. return null
  2415. }
  2416. function L(e) {
  2417. return String(e).replace(/\s+/g, "")
  2418. }
  2419. function W(e) {
  2420. if (G[e] && (e = G[e]), e = L(e), e = e.replace(/hsv/i, "hsb"), /^#[\da-f]{3}$/i.test(e)) {
  2421. e = parseInt(e.slice(1), 16);
  2422. var t = (3840 & e) << 8, i = (240 & e) << 4, n = 15 & e;
  2423. e = "#" + ((1 << 24) + (t << 4) + t + (i << 4) + i + (n << 4) + n).toString(16).slice(1)
  2424. }
  2425. return e
  2426. }
  2427. function X(e, t) {
  2428. if (!E(e)) return e;
  2429. var i = t > 0 ? 1 : -1;
  2430. "undefined" == typeof t && (t = 0), t = Math.abs(t) > 1 ? 1 : Math.abs(t), e = c(e);
  2431. 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;
  2432. return "rgb(" + n.join(",") + ")"
  2433. }
  2434. function v(e) {
  2435. if (!E(e)) return e;
  2436. var t = I(p(e));
  2437. return t = C(t, function (e) {
  2438. return 255 - e
  2439. }), V(t, "rgb")
  2440. }
  2441. function w(e, t, i) {
  2442. if (!E(e) || !E(t)) return e;
  2443. "undefined" == typeof i && (i = .5), i = 1 - S(i, [0, 1]);
  2444. 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;
  2445. var U = a[3] * i + o[3] * (1 - i);
  2446. return U = Math.max(0, Math.min(1, U)), 1 === a[3] && 1 === o[3] ? V(h, "rgb") : (h[3] = U, V(h, "rgba"))
  2447. }
  2448. function K() {
  2449. return "#" + (Math.random().toString(16) + "0000").slice(2, 8)
  2450. }
  2451. function I(e) {
  2452. e = W(e);
  2453. var t = e.match(R);
  2454. if (null === t) throw new Error("The color format error");
  2455. var i, n, a, o = [];
  2456. 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) {
  2457. return S(parseInt(e, 16), [0, 255])
  2458. }); else if (t[4]) {
  2459. var r = t[4].split(",");
  2460. n = r[3], a = r.slice(0, 3), o = C(a, function (e) {
  2461. return e = Math.floor(e.indexOf("%") > 0 ? 2.55 * parseInt(e, 0) : e), S(e, [0, 255])
  2462. }), "undefined" != typeof n && o.push(S(parseFloat(n), [0, 1]))
  2463. } else if (t[5] || t[6]) {
  2464. var s = (t[5] || t[6]).split(","), l = parseInt(s[0], 0) / 360, h = s[1], m = s[2];
  2465. n = s[3], o = C([h, m], function (e) {
  2466. return S(parseFloat(e) / 100, [0, 1])
  2467. }), o.unshift(l), "undefined" != typeof n && o.push(S(parseFloat(n), [0, 1]))
  2468. }
  2469. return o
  2470. }
  2471. function J(e, t) {
  2472. if (!E(e)) return e;
  2473. null === t && (t = 1);
  2474. var i = I(p(e));
  2475. return i[3] = S(Number(t).toFixed(4), [0, 1]), V(i, "rgba")
  2476. }
  2477. function C(e, t) {
  2478. if ("function" != typeof t) throw new TypeError;
  2479. for (var i = e ? e.length : 0, n = 0; i > n; n++) e[n] = t(e[n]);
  2480. return e
  2481. }
  2482. function S(e, t) {
  2483. return e <= t[0] ? e = t[0] : e >= t[1] && (e = t[1]), e
  2484. }
  2485. function E(e) {
  2486. return e instanceof Array || "string" == typeof e
  2487. }
  2488. function F(e) {
  2489. var t, i, n, a = e[0], o = e[1], r = e[2];
  2490. if (0 === o) t = 255 * r, i = 255 * r, n = 255 * r; else {
  2491. var s = 6 * a;
  2492. 6 === s && (s = 0);
  2493. var l = 0 | s, h = r * (1 - o), m = r * (1 - o * (s - l)), V = r * (1 - o * (1 - (s - l))), U = 0,
  2494. d = 0, p = 0;
  2495. 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
  2496. }
  2497. return [t, i, n]
  2498. }
  2499. function T(e) {
  2500. var t, i, n, a = e[0], o = e[1], r = e[2];
  2501. if (0 === o) t = 255 * r, i = 255 * r, n = 255 * r; else {
  2502. var s;
  2503. s = .5 > r ? r * (1 + o) : r + o - o * r;
  2504. var l = 2 * r - s;
  2505. t = 255 * z(l, s, a + 1 / 3), i = 255 * z(l, s, a), n = 255 * z(l, s, a - 1 / 3)
  2506. }
  2507. return [t, i, n]
  2508. }
  2509. function z(e, t, i) {
  2510. 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
  2511. }
  2512. function A(e) {
  2513. var t, i, n = e[0] / 255, a = e[1] / 255, o = e[2] / 255, r = Math.min(n, a, o), s = Math.max(n, a, o),
  2514. l = s - r, h = s;
  2515. if (0 === l) t = 0, i = 0; else {
  2516. i = l / s;
  2517. var m = ((s - n) / 6 + l / 2) / l, V = ((s - a) / 6 + l / 2) / l, U = ((s - o) / 6 + l / 2) / l;
  2518. 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)
  2519. }
  2520. return t = 360 * t, i = 100 * i, h = 100 * h, [t, i, h]
  2521. }
  2522. function M(e) {
  2523. var t, i, n = e[0] / 255, a = e[1] / 255, o = e[2] / 255, r = Math.min(n, a, o), s = Math.max(n, a, o),
  2524. l = s - r, h = (s + r) / 2;
  2525. if (0 === l) t = 0, i = 0; else {
  2526. i = .5 > h ? l / (s + r) : l / (2 - s - r);
  2527. var m = ((s - n) / 6 + l / 2) / l, V = ((s - a) / 6 + l / 2) / l, U = ((s - o) / 6 + l / 2) / l;
  2528. 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)
  2529. }
  2530. return t = 360 * t, i = 100 * i, h = 100 * h, [t, i, h]
  2531. }
  2532. var O, P = e("../tool/util"),
  2533. 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"],
  2534. N = D, B = "rgba(255,255,0,0.5)", H = B,
  2535. 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,
  2536. G = {
  2537. aliceblue: "#f0f8ff",
  2538. antiquewhite: "#faebd7",
  2539. aqua: "#0ff",
  2540. aquamarine: "#7fffd4",
  2541. azure: "#f0ffff",
  2542. beige: "#f5f5dc",
  2543. bisque: "#ffe4c4",
  2544. black: "#000",
  2545. blanchedalmond: "#ffebcd",
  2546. blue: "#00f",
  2547. blueviolet: "#8a2be2",
  2548. brown: "#a52a2a",
  2549. burlywood: "#deb887",
  2550. cadetblue: "#5f9ea0",
  2551. chartreuse: "#7fff00",
  2552. chocolate: "#d2691e",
  2553. coral: "#ff7f50",
  2554. cornflowerblue: "#6495ed",
  2555. cornsilk: "#fff8dc",
  2556. crimson: "#dc143c",
  2557. cyan: "#0ff",
  2558. darkblue: "#00008b",
  2559. darkcyan: "#008b8b",
  2560. darkgoldenrod: "#b8860b",
  2561. darkgray: "#a9a9a9",
  2562. darkgrey: "#a9a9a9",
  2563. darkgreen: "#006400",
  2564. darkkhaki: "#bdb76b",
  2565. darkmagenta: "#8b008b",
  2566. darkolivegreen: "#556b2f",
  2567. darkorange: "#ff8c00",
  2568. darkorchid: "#9932cc",
  2569. darkred: "#8b0000",
  2570. darksalmon: "#e9967a",
  2571. darkseagreen: "#8fbc8f",
  2572. darkslateblue: "#483d8b",
  2573. darkslategray: "#2f4f4f",
  2574. darkslategrey: "#2f4f4f",
  2575. darkturquoise: "#00ced1",
  2576. darkviolet: "#9400d3",
  2577. deeppink: "#ff1493",
  2578. deepskyblue: "#00bfff",
  2579. dimgray: "#696969",
  2580. dimgrey: "#696969",
  2581. dodgerblue: "#1e90ff",
  2582. firebrick: "#b22222",
  2583. floralwhite: "#fffaf0",
  2584. forestgreen: "#228b22",
  2585. fuchsia: "#f0f",
  2586. gainsboro: "#dcdcdc",
  2587. ghostwhite: "#f8f8ff",
  2588. gold: "#ffd700",
  2589. goldenrod: "#daa520",
  2590. gray: "#808080",
  2591. grey: "#808080",
  2592. green: "#008000",
  2593. greenyellow: "#adff2f",
  2594. honeydew: "#f0fff0",
  2595. hotpink: "#ff69b4",
  2596. indianred: "#cd5c5c",
  2597. indigo: "#4b0082",
  2598. ivory: "#fffff0",
  2599. khaki: "#f0e68c",
  2600. lavender: "#e6e6fa",
  2601. lavenderblush: "#fff0f5",
  2602. lawngreen: "#7cfc00",
  2603. lemonchiffon: "#fffacd",
  2604. lightblue: "#add8e6",
  2605. lightcoral: "#f08080",
  2606. lightcyan: "#e0ffff",
  2607. lightgoldenrodyellow: "#fafad2",
  2608. lightgray: "#d3d3d3",
  2609. lightgrey: "#d3d3d3",
  2610. lightgreen: "#90ee90",
  2611. lightpink: "#ffb6c1",
  2612. lightsalmon: "#ffa07a",
  2613. lightseagreen: "#20b2aa",
  2614. lightskyblue: "#87cefa",
  2615. lightslategray: "#789",
  2616. lightslategrey: "#789",
  2617. lightsteelblue: "#b0c4de",
  2618. lightyellow: "#ffffe0",
  2619. lime: "#0f0",
  2620. limegreen: "#32cd32",
  2621. linen: "#faf0e6",
  2622. magenta: "#f0f",
  2623. maroon: "#800000",
  2624. mediumaquamarine: "#66cdaa",
  2625. mediumblue: "#0000cd",
  2626. mediumorchid: "#ba55d3",
  2627. mediumpurple: "#9370d8",
  2628. mediumseagreen: "#3cb371",
  2629. mediumslateblue: "#7b68ee",
  2630. mediumspringgreen: "#00fa9a",
  2631. mediumturquoise: "#48d1cc",
  2632. mediumvioletred: "#c71585",
  2633. midnightblue: "#191970",
  2634. mintcream: "#f5fffa",
  2635. mistyrose: "#ffe4e1",
  2636. moccasin: "#ffe4b5",
  2637. navajowhite: "#ffdead",
  2638. navy: "#000080",
  2639. oldlace: "#fdf5e6",
  2640. olive: "#808000",
  2641. olivedrab: "#6b8e23",
  2642. orange: "#ffa500",
  2643. orangered: "#ff4500",
  2644. orchid: "#da70d6",
  2645. palegoldenrod: "#eee8aa",
  2646. palegreen: "#98fb98",
  2647. paleturquoise: "#afeeee",
  2648. palevioletred: "#d87093",
  2649. papayawhip: "#ffefd5",
  2650. peachpuff: "#ffdab9",
  2651. peru: "#cd853f",
  2652. pink: "#ffc0cb",
  2653. plum: "#dda0dd",
  2654. powderblue: "#b0e0e6",
  2655. purple: "#800080",
  2656. red: "#f00",
  2657. rosybrown: "#bc8f8f",
  2658. royalblue: "#4169e1",
  2659. saddlebrown: "#8b4513",
  2660. salmon: "#fa8072",
  2661. sandybrown: "#f4a460",
  2662. seagreen: "#2e8b57",
  2663. seashell: "#fff5ee",
  2664. sienna: "#a0522d",
  2665. silver: "#c0c0c0",
  2666. skyblue: "#87ceeb",
  2667. slateblue: "#6a5acd",
  2668. slategray: "#708090",
  2669. slategrey: "#708090",
  2670. snow: "#fffafa",
  2671. springgreen: "#00ff7f",
  2672. steelblue: "#4682b4",
  2673. tan: "#d2b48c",
  2674. teal: "#008080",
  2675. thistle: "#d8bfd8",
  2676. tomato: "#ff6347",
  2677. turquoise: "#40e0d0",
  2678. violet: "#ee82ee",
  2679. wheat: "#f5deb3",
  2680. white: "#fff",
  2681. whitesmoke: "#f5f5f5",
  2682. yellow: "#ff0",
  2683. yellowgreen: "#9acd32"
  2684. };
  2685. return {
  2686. customPalette: t,
  2687. resetPalette: i,
  2688. getColor: n,
  2689. getHighlightColor: r,
  2690. customHighlight: a,
  2691. resetHighlight: o,
  2692. getRadialGradient: s,
  2693. getLinearGradient: l,
  2694. getGradientColors: m,
  2695. getStepColors: h,
  2696. reverse: v,
  2697. mix: w,
  2698. lift: X,
  2699. trim: L,
  2700. random: K,
  2701. toRGB: c,
  2702. toRGBA: p,
  2703. toHex: u,
  2704. toHSL: x,
  2705. toHSLA: k,
  2706. toHSB: f,
  2707. toHSBA: b,
  2708. toHSV: g,
  2709. toHSVA: y,
  2710. toName: _,
  2711. toColor: V,
  2712. toArray: U,
  2713. alpha: J,
  2714. getData: I
  2715. }
  2716. }), 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) {
  2717. function t(e, t, i, a, o) {
  2718. n.call(this, e, t, i, a, o);
  2719. var r = this;
  2720. if (r._onclick = function (e) {
  2721. return r.__onclick(e)
  2722. }, r._ondrift = function (e, t) {
  2723. return r.__ondrift(this, e, t)
  2724. }, r._ondragend = function () {
  2725. return r.__ondragend()
  2726. }, r._setCurrentOption = function () {
  2727. var e = r.timelineOption;
  2728. r.currentIndex %= e.data.length;
  2729. var t = r.options[r.currentIndex] || {};
  2730. r.myChart._setOption(t, e.notMerge, !0), r.messageCenter.dispatch(s.EVENT.TIMELINE_CHANGED, null, {
  2731. currentIndex: r.currentIndex,
  2732. data: null != e.data[r.currentIndex].name ? e.data[r.currentIndex].name : e.data[r.currentIndex]
  2733. }, r.myChart)
  2734. }, r._onFrame = function () {
  2735. r._setCurrentOption(), r._syncHandleShape(), r.timelineOption.autoPlay && (r.playTicket = setTimeout(function () {
  2736. 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()
  2737. }, r.timelineOption.playInterval))
  2738. }, 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) {
  2739. var r = this;
  2740. this.playTicket = setTimeout(function () {
  2741. r.play()
  2742. }, null != this.ecTheme.animationDuration ? this.ecTheme.animationDuration : s.animationDuration)
  2743. }
  2744. }
  2745. function i(e, t) {
  2746. var i = 2, n = t.x + i, a = t.y + i + 2, r = t.width - i, s = t.height - i, l = t.symbol;
  2747. 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); 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); else if ("play" === l) 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); else {
  2748. var h = "both" === t.brushType ? 2 : 3;
  2749. e.rect(n + 2, a, h, s), e.rect(n + r - h - 2, a, h, s)
  2750. } else if (l.match("image")) {
  2751. var m = "";
  2752. m = l.replace(new RegExp("^image:\\/\\/"), ""), l = o.prototype.iconLibrary.image, l(e, {
  2753. x: n,
  2754. y: a,
  2755. width: r,
  2756. height: s,
  2757. image: m
  2758. })
  2759. }
  2760. }
  2761. var n = e("./base"), a = e("zrender/shape/Rectangle"), o = e("../util/shape/Icon"),
  2762. r = e("../util/shape/Chain"), s = e("../config");
  2763. s.timeline = {
  2764. zlevel: 0,
  2765. z: 4,
  2766. show: !0,
  2767. type: "time",
  2768. notMerge: !1,
  2769. realtime: !0,
  2770. x: 80,
  2771. x2: 80,
  2772. y2: 0,
  2773. height: 50,
  2774. backgroundColor: "rgba(0,0,0,0)",
  2775. borderColor: "#ccc",
  2776. borderWidth: 0,
  2777. padding: 5,
  2778. controlPosition: "left",
  2779. autoPlay: !1,
  2780. loop: !0,
  2781. playInterval: 2e3,
  2782. lineStyle: {width: 1, color: "#666", type: "dashed"},
  2783. label: {show: !0, interval: "auto", rotate: 0, textStyle: {color: "#333"}},
  2784. checkpointStyle: {
  2785. symbol: "auto",
  2786. symbolSize: "auto",
  2787. color: "auto",
  2788. borderColor: "auto",
  2789. borderWidth: "auto",
  2790. label: {show: !1, textStyle: {color: "auto"}}
  2791. },
  2792. controlStyle: {itemSize: 15, itemGap: 5, normal: {color: "#333"}, emphasis: {color: "#1e90ff"}},
  2793. symbol: "emptyDiamond",
  2794. symbolSize: 4,
  2795. currentIndex: 0
  2796. };
  2797. var l = e("zrender/tool/util"), h = e("zrender/tool/area"), m = e("zrender/tool/event");
  2798. return t.prototype = {
  2799. type: s.COMPONENT_TYPE_TIMELINE, _buildShape: function () {
  2800. if (this._location = this._getLocation(), this._buildBackground(), this._buildControl(), this._chainPoint = this._getChainPoint(), this.timelineOption.label.show) for (var e = this._getInterval(), t = 0, i = this._chainPoint.length; i > t; t += e) this._chainPoint[t].showLabel = !0;
  2801. this._buildChain(), this._buildHandle();
  2802. for (var t = 0, n = this.shapeList.length; n > t; t++) this.zr.addShape(this.shapeList[t])
  2803. }, _getLocation: function () {
  2804. var e, t = this.timelineOption, i = this.reformCssArray(this.timelineOption.padding),
  2805. n = this.zr.getWidth(), a = this.parsePercent(t.x, n), o = this.parsePercent(t.x2, n);
  2806. null == t.width ? (e = n - a - o, o = n - o) : (e = this.parsePercent(t.width, n), o = a + e);
  2807. var r, s, l = this.zr.getHeight(), h = this.parsePercent(t.height, l);
  2808. return null != t.y ? (r = this.parsePercent(t.y, l), s = r + h) : (s = l - this.parsePercent(t.y2, l), r = s - h), {
  2809. x: a + i[3],
  2810. y: r + i[0],
  2811. x2: o - i[1],
  2812. y2: s - i[2],
  2813. width: e - i[1] - i[3],
  2814. height: h - i[0] - i[2]
  2815. }
  2816. }, _getReformedLabel: function (e) {
  2817. var t = this.timelineOption, i = null != t.data[e].name ? t.data[e].name : t.data[e],
  2818. n = t.data[e].formatter || t.label.formatter;
  2819. return n && ("function" == typeof n ? i = n.call(this.myChart, i) : "string" == typeof n && (i = n.replace("{value}", i))), i
  2820. }, _getInterval: function () {
  2821. var e = this._chainPoint, t = this.timelineOption, i = t.label.interval;
  2822. if ("auto" === i) {
  2823. var n = t.label.textStyle.fontSize, a = t.data, o = t.data.length;
  2824. if (o > 3) {
  2825. var r, s, l = !1;
  2826. for (i = 0; !l && o > i;) {
  2827. i++, l = !0;
  2828. for (var m = i; o > m; m += i) {
  2829. if (r = e[m].x - e[m - i].x, 0 !== t.label.rotate) s = n; else if (a[m].textStyle) s = h.getTextWidth(e[m].name, e[m].textFont); else {
  2830. var V = e[m].name + "", U = (V.match(/\w/g) || "").length, d = V.length - U;
  2831. s = U * n * 2 / 3 + d * n
  2832. }
  2833. if (s > r) {
  2834. l = !1;
  2835. break
  2836. }
  2837. }
  2838. }
  2839. } else i = 1
  2840. } else i = i - 0 + 1;
  2841. return i
  2842. }, _getChainPoint: function () {
  2843. function e(e) {
  2844. return null != h[e].name ? h[e].name : h[e] + ""
  2845. }
  2846. var t, i = this.timelineOption, n = i.symbol.toLowerCase(), a = i.symbolSize, o = i.label.rotate,
  2847. r = i.label.textStyle, s = this.getFont(r), h = i.data, m = this._location.x,
  2848. V = this._location.y + this._location.height / 4 * 3, U = this._location.x2 - this._location.x,
  2849. d = h.length, p = [];
  2850. if (d > 1) {
  2851. var c = U / d;
  2852. if (c = c > 50 ? 50 : 20 > c ? 5 : c, U -= 2 * c, "number" === i.type) for (var u = 0; d > u; u++) p.push(m + c + U / (d - 1) * u); else {
  2853. p[0] = new Date(e(0).replace(/-/g, "/")), p[d - 1] = new Date(e(d - 1).replace(/-/g, "/")) - p[0];
  2854. for (var u = 1; d > u; u++) p[u] = m + c + U * (new Date(e(u).replace(/-/g, "/")) - p[0]) / p[d - 1];
  2855. p[0] = m + c
  2856. }
  2857. } else p.push(m + U / 2);
  2858. 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({
  2859. x: m,
  2860. n: g,
  2861. isEmpty: b,
  2862. symbol: y,
  2863. symbolSize: h[u].symbolSize || a,
  2864. color: h[u].color,
  2865. borderColor: h[u].borderColor,
  2866. borderWidth: h[u].borderWidth,
  2867. name: this._getReformedLabel(u),
  2868. textColor: t.color,
  2869. textAlign: f,
  2870. textBaseline: t.baseline || "middle",
  2871. textX: m,
  2872. textY: V - (o ? 5 : 0),
  2873. textFont: h[u].textStyle ? this.getFont(t) : s,
  2874. rotation: k,
  2875. showLabel: !1
  2876. });
  2877. return x
  2878. }, _buildBackground: function () {
  2879. var e = this.timelineOption, t = this.reformCssArray(this.timelineOption.padding),
  2880. i = this._location.width, n = this._location.height;
  2881. (0 !== e.borderWidth || "rgba(0,0,0,0)" != e.backgroundColor.replace(/\s/g, "")) && this.shapeList.push(new a({
  2882. zlevel: this.getZlevelBase(),
  2883. z: this.getZBase(),
  2884. hoverable: !1,
  2885. style: {
  2886. x: this._location.x - t[3],
  2887. y: this._location.y - t[0],
  2888. width: i + t[1] + t[3],
  2889. height: n + t[0] + t[2],
  2890. brushType: 0 === e.borderWidth ? "fill" : "both",
  2891. color: e.backgroundColor,
  2892. strokeColor: e.borderColor,
  2893. lineWidth: e.borderWidth
  2894. }
  2895. }))
  2896. }, _buildControl: function () {
  2897. var e = this, t = this.timelineOption, i = t.lineStyle, n = t.controlStyle;
  2898. if ("none" !== t.controlPosition) {
  2899. var a, r = n.itemSize, s = n.itemGap;
  2900. "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));
  2901. var h = this._location.y, m = {
  2902. zlevel: this.getZlevelBase(),
  2903. z: this.getZBase() + 1,
  2904. style: {
  2905. iconType: "timelineControl",
  2906. symbol: "last",
  2907. x: a,
  2908. y: h,
  2909. width: r,
  2910. height: r,
  2911. brushType: "stroke",
  2912. color: n.normal.color,
  2913. strokeColor: n.normal.color,
  2914. lineWidth: i.width
  2915. },
  2916. highlightStyle: {
  2917. color: n.emphasis.color,
  2918. strokeColor: n.emphasis.color,
  2919. lineWidth: i.width + 1
  2920. },
  2921. clickable: !0
  2922. };
  2923. this._ctrLastShape = new o(m), this._ctrLastShape.onclick = function () {
  2924. e.last()
  2925. }, 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 () {
  2926. "stop" === e._ctrPlayShape.style.status ? e.play() : e.stop()
  2927. }, 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 () {
  2928. e.next()
  2929. }, this.shapeList.push(this._ctrNextShape)
  2930. }
  2931. }, _buildChain: function () {
  2932. var e = this.timelineOption, t = e.lineStyle;
  2933. this._timelineShae = {
  2934. zlevel: this.getZlevelBase(),
  2935. z: this.getZBase(),
  2936. style: {
  2937. x: this._location.x,
  2938. y: this.subPixelOptimize(this._location.y, t.width),
  2939. width: this._location.x2 - this._location.x,
  2940. height: this._location.height,
  2941. chainPoint: this._chainPoint,
  2942. brushType: "both",
  2943. strokeColor: t.color,
  2944. lineWidth: t.width,
  2945. lineType: t.type
  2946. },
  2947. hoverable: !1,
  2948. clickable: !0,
  2949. onclick: this._onclick
  2950. }, this._timelineShae = new r(this._timelineShae), this.shapeList.push(this._timelineShae)
  2951. }, _buildHandle: function () {
  2952. var e = this._chainPoint[this.currentIndex], t = e.symbolSize + 1;
  2953. t = 5 > t ? 5 : t, this._handleShape = {
  2954. zlevel: this.getZlevelBase(),
  2955. z: this.getZBase() + 1,
  2956. hoverable: !1,
  2957. draggable: !0,
  2958. style: {
  2959. iconType: "diamond",
  2960. n: e.n,
  2961. x: e.x - t,
  2962. y: this._location.y + this._location.height / 4 - t,
  2963. width: 2 * t,
  2964. height: 2 * t,
  2965. brushType: "both",
  2966. textPosition: "specific",
  2967. textX: e.x,
  2968. textY: this._location.y - this._location.height / 4,
  2969. textAlign: "center",
  2970. textBaseline: "middle"
  2971. },
  2972. highlightStyle: {},
  2973. ondrift: this._ondrift,
  2974. ondragend: this._ondragend
  2975. }, this._handleShape = new o(this._handleShape), this.shapeList.push(this._handleShape)
  2976. }, _syncHandleShape: function () {
  2977. if (this.timelineOption.show) {
  2978. var e = this.timelineOption, t = e.checkpointStyle, i = this._chainPoint[this.currentIndex];
  2979. 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"));
  2980. var n;
  2981. "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, {
  2982. x: i.x - n,
  2983. textX: i.x,
  2984. y: this._location.y + this._location.height / 4 - n,
  2985. width: 2 * n,
  2986. height: 2 * n
  2987. }).start("ExponentialOut")
  2988. }
  2989. }, _findChainIndex: function (e) {
  2990. var t = this._chainPoint, i = t.length;
  2991. if (e <= t[0].x) return 0;
  2992. if (e >= t[i - 1].x) return i - 1;
  2993. for (var n = 0; i - 1 > n; n++) 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
  2994. }, __onclick: function (e) {
  2995. var t = m.getX(e.event), i = this._findChainIndex(t);
  2996. return i === this.currentIndex ? !0 : (this.currentIndex = i, this.timelineOption.autoPlay && this.stop(), clearTimeout(this.playTicket), void this._onFrame())
  2997. }, __ondrift: function (e, t) {
  2998. this.timelineOption.autoPlay && this.stop();
  2999. var i, n = this._chainPoint, a = n.length;
  3000. 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));
  3001. var o = n[i], r = o.symbolSize + 2;
  3002. 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;
  3003. if (this.currentIndex = i, this.timelineOption.realtime) {
  3004. clearTimeout(this.playTicket);
  3005. var s = this;
  3006. this.playTicket = setTimeout(function () {
  3007. s._setCurrentOption()
  3008. }, 200)
  3009. }
  3010. return !0
  3011. }, __ondragend: function () {
  3012. this.isDragend = !0
  3013. }, ondragend: function (e, t) {
  3014. this.isDragend && e.target && (!this.timelineOption.realtime && this._setCurrentOption(), t.dragOut = !0, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1, this._syncHandleShape())
  3015. }, last: function () {
  3016. return this.timelineOption.autoPlay && this.stop(), this.currentIndex -= 1, this.currentIndex < 0 && (this.currentIndex = this.timelineOption.data.length - 1), this._onFrame(), this.currentIndex
  3017. }, next: function () {
  3018. return this.timelineOption.autoPlay && this.stop(), this.currentIndex += 1, this.currentIndex >= this.timelineOption.data.length && (this.currentIndex = 0), this._onFrame(), this.currentIndex
  3019. }, play: function (e, t) {
  3020. 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
  3021. }, stop: function () {
  3022. 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
  3023. }, resize: function () {
  3024. this.timelineOption.show && (this.clear(), this._buildShape(), this._syncHandleShape())
  3025. }, setTheme: function (e) {
  3026. 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())
  3027. }, onbeforDispose: function () {
  3028. clearTimeout(this.playTicket)
  3029. }
  3030. }, o.prototype.iconLibrary.timelineControl = i, l.inherits(t, n), e("../component").define("timeline", t), t
  3031. }), i("zrender/shape/Image", ["require", "./Base", "../tool/util"], function (e) {
  3032. var t = e("./Base"), i = function (e) {
  3033. t.call(this, e)
  3034. };
  3035. return i.prototype = {
  3036. type: "image", brush: function (e, t, i) {
  3037. var n = this.style || {};
  3038. t && (n = this.getHighlightStyle(n, this.highlightStyle || {}));
  3039. var a = n.image, o = this;
  3040. if (this._imageCache || (this._imageCache = {}), "string" == typeof a) {
  3041. var r = a;
  3042. this._imageCache[r] ? a = this._imageCache[r] : (a = new Image, a.onload = function () {
  3043. a.onload = null, o.modSelf(), i()
  3044. }, a.src = r, this._imageCache[r] = a)
  3045. }
  3046. if (a) {
  3047. if ("IMG" == a.nodeName.toUpperCase()) if (window.ActiveXObject) {
  3048. if ("complete" != a.readyState) return
  3049. } else if (!a.complete) return;
  3050. var s = n.width || a.width, l = n.height || a.height, h = n.x, m = n.y;
  3051. if (!a.width || !a.height) return;
  3052. if (e.save(), this.doClip(e), this.setContext(e, n), this.setTransform(e), n.sWidth && n.sHeight) {
  3053. var V = n.sx || 0, U = n.sy || 0;
  3054. e.drawImage(a, V, U, n.sWidth, n.sHeight, h, m, s, l)
  3055. } else if (n.sx && n.sy) {
  3056. var V = n.sx, U = n.sy, d = s - V, p = l - U;
  3057. e.drawImage(a, V, U, d, p, h, m, s, l)
  3058. } else e.drawImage(a, h, m, s, l);
  3059. 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()
  3060. }
  3061. }, getRect: function (e) {
  3062. return {x: e.x, y: e.y, width: e.width, height: e.height}
  3063. }, clearCache: function () {
  3064. this._imageCache = {}
  3065. }
  3066. }, e("../tool/util").inherits(i, t), i
  3067. }), i("zrender/loadingEffect/Bar", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Rectangle"], function (e) {
  3068. function t(e) {
  3069. i.call(this, e)
  3070. }
  3071. var i = e("./Base"), n = e("../tool/util"), a = e("../tool/color"), o = e("../shape/Rectangle");
  3072. return n.inherits(t, i), t.prototype._start = function (e, t) {
  3073. var i = n.merge(this.options, {
  3074. textStyle: {color: "#888"},
  3075. backgroundColor: "rgba(250, 250, 250, 0.8)",
  3076. effectOption: {
  3077. x: 0,
  3078. y: this.canvasHeight / 2 - 30,
  3079. width: this.canvasWidth,
  3080. height: 5,
  3081. brushType: "fill",
  3082. timeInterval: 100
  3083. }
  3084. }), r = this.createTextShape(i.textStyle), s = this.createBackgroundShape(i.backgroundColor),
  3085. l = i.effectOption, h = new o({highlightStyle: n.clone(l)});
  3086. return h.highlightStyle.color = l.color || a.getLinearGradient(l.x, l.y, l.x + l.width, l.y + l.height, [[0, "#ff6400"], [.5, "#ffe100"], [1, "#b1ff00"]]), 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 () {
  3087. e(s), h.highlightStyle.width < l.width ? h.highlightStyle.width += 8 : h.highlightStyle.width = 0, e(h), e(r), t()
  3088. }, l.timeInterval))
  3089. }, t
  3090. }), i("zrender/loadingEffect/Bubble", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Circle"], function (e) {
  3091. function t(e) {
  3092. i.call(this, e)
  3093. }
  3094. var i = e("./Base"), n = e("../tool/util"), a = e("../tool/color"), o = e("../shape/Circle");
  3095. return n.inherits(t, i), t.prototype._start = function (e, t) {
  3096. for (var i = n.merge(this.options, {
  3097. textStyle: {color: "#888"},
  3098. backgroundColor: "rgba(250, 250, 250, 0.8)",
  3099. effect: {n: 50, lineWidth: 2, brushType: "stroke", color: "random", timeInterval: 100}
  3100. }), 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++) {
  3101. var u = "random" == l.color ? a.alpha(a.random(), .3) : l.color;
  3102. U[c] = new o({
  3103. highlightStyle: {
  3104. x: Math.ceil(Math.random() * d),
  3105. y: Math.ceil(Math.random() * p),
  3106. r: Math.ceil(40 * Math.random()),
  3107. brushType: m,
  3108. color: u,
  3109. strokeColor: u,
  3110. lineWidth: V
  3111. }, animationY: Math.ceil(20 * Math.random())
  3112. })
  3113. }
  3114. return setInterval(function () {
  3115. e(s);
  3116. for (var i = 0; h > i; i++) {
  3117. var n = U[i].highlightStyle;
  3118. 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])
  3119. }
  3120. e(r), t()
  3121. }, l.timeInterval)
  3122. }, t
  3123. }), i("zrender/loadingEffect/DynamicLine", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Line"], function (e) {
  3124. function t(e) {
  3125. i.call(this, e)
  3126. }
  3127. var i = e("./Base"), n = e("../tool/util"), a = e("../tool/color"), o = e("../shape/Line");
  3128. return n.inherits(t, i), t.prototype._start = function (e, t) {
  3129. for (var i = n.merge(this.options, {
  3130. textStyle: {color: "#fff"},
  3131. backgroundColor: "rgba(0, 0, 0, 0.8)",
  3132. effectOption: {n: 30, lineWidth: 1, color: "random", timeInterval: 100}
  3133. }), 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++) {
  3134. var c = -Math.ceil(1e3 * Math.random()), u = Math.ceil(400 * Math.random()),
  3135. y = Math.ceil(Math.random() * d), g = "random" == l.color ? a.random() : l.color;
  3136. V[p] = new o({
  3137. highlightStyle: {
  3138. xStart: c,
  3139. yStart: y,
  3140. xEnd: c + u,
  3141. yEnd: y,
  3142. strokeColor: g,
  3143. lineWidth: m
  3144. }, animationX: Math.ceil(100 * Math.random()), len: u
  3145. })
  3146. }
  3147. return setInterval(function () {
  3148. e(s);
  3149. for (var i = 0; h > i; i++) {
  3150. var n = V[i].highlightStyle;
  3151. 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])
  3152. }
  3153. e(r), t()
  3154. }, l.timeInterval)
  3155. }, t
  3156. }), i("zrender/loadingEffect/Ring", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Ring", "../shape/Sector"], function (e) {
  3157. function t(e) {
  3158. i.call(this, e)
  3159. }
  3160. var i = e("./Base"), n = e("../tool/util"), a = e("../tool/color"), o = e("../shape/Ring"),
  3161. r = e("../shape/Sector");
  3162. return n.inherits(t, i), t.prototype._start = function (e, t) {
  3163. var i = n.merge(this.options, {
  3164. textStyle: {color: "#07a"},
  3165. backgroundColor: "rgba(250, 250, 250, 0.8)",
  3166. effect: {
  3167. x: this.canvasWidth / 2,
  3168. y: this.canvasHeight / 2,
  3169. r0: 60,
  3170. r: 100,
  3171. color: "#bbdcff",
  3172. brushType: "fill",
  3173. textPosition: "inside",
  3174. textFont: "normal 30px verdana",
  3175. textColor: "rgba(30, 144, 255, 0.6)",
  3176. timeInterval: 100
  3177. }
  3178. }), s = i.effect, l = i.textStyle;
  3179. null == l.x && (l.x = s.x), null == l.y && (l.y = s.y + (s.r0 + s.r) / 2 - 5);
  3180. 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({highlightStyle: n.clone(s)}), g = [], b = a.getGradientColors(["#ff6400", "#ffe100", "#97ff00"], 25), f = 15, k = 240, x = 0; 16 > x; x++) g.push(new r({
  3181. highlightStyle: {
  3182. x: V,
  3183. y: U,
  3184. r0: d,
  3185. r: p,
  3186. startAngle: k - f,
  3187. endAngle: k,
  3188. brushType: "fill",
  3189. color: u
  3190. },
  3191. _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), [[0, b[2 * x]], [1, b[2 * x + 1]]])
  3192. })), k -= f;
  3193. k = 360;
  3194. for (var x = 0; 4 > x; x++) g.push(new r({
  3195. highlightStyle: {
  3196. x: V,
  3197. y: U,
  3198. r0: d,
  3199. r: p,
  3200. startAngle: k - f,
  3201. endAngle: k,
  3202. brushType: "fill",
  3203. color: u
  3204. },
  3205. _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), [[0, b[2 * x + 32]], [1, b[2 * x + 33]]])
  3206. })), k -= f;
  3207. var _ = 0;
  3208. if (null != i.progress) {
  3209. e(m), _ = 100 * this.adjust(i.progress, [0, 1]).toFixed(2) / 5, y.highlightStyle.text = 5 * _ + "%", e(y);
  3210. for (var x = 0; 20 > x; x++) g[x].highlightStyle.color = _ > x ? g[x]._color : u, e(g[x]);
  3211. return e(h), void t()
  3212. }
  3213. return setInterval(function () {
  3214. e(m), _ += _ >= 20 ? -20 : 1, e(y);
  3215. for (var i = 0; 20 > i; i++) g[i].highlightStyle.color = _ > i ? g[i]._color : u, e(g[i]);
  3216. e(h), t()
  3217. }, s.timeInterval)
  3218. }, t
  3219. }), i("zrender/loadingEffect/Spin", ["require", "./Base", "../tool/util", "../tool/color", "../tool/area", "../shape/Sector"], function (e) {
  3220. function t(e) {
  3221. i.call(this, e)
  3222. }
  3223. var i = e("./Base"), n = e("../tool/util"), a = e("../tool/color"), o = e("../tool/area"),
  3224. r = e("../shape/Sector");
  3225. return n.inherits(t, i), t.prototype._start = function (e, t) {
  3226. var i = n.merge(this.options, {
  3227. textStyle: {color: "#fff", textAlign: "start"},
  3228. backgroundColor: "rgba(0, 0, 0, 0.8)"
  3229. }), s = this.createTextShape(i.textStyle), l = 10,
  3230. h = o.getTextWidth(s.highlightStyle.text, s.highlightStyle.textFont),
  3231. m = o.getTextHeight(s.highlightStyle.text, s.highlightStyle.textFont),
  3232. V = n.merge(this.options.effect || {}, {r0: 9, r: 15, n: 18, color: "#fff", timeInterval: 100}),
  3233. U = this.getLocation(this.options.textStyle, h + l + 2 * V.r, Math.max(2 * V.r, m));
  3234. V.x = U.x + V.r, V.y = s.highlightStyle.y = U.y + U.height / 2, s.highlightStyle.x = V.x + V.r + l;
  3235. 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({
  3236. highlightStyle: {
  3237. x: c,
  3238. y: u,
  3239. r0: y,
  3240. r: g,
  3241. startAngle: k * x * 2,
  3242. endAngle: k * x * 2 + k,
  3243. color: a.alpha(b, (x + 1) / p),
  3244. brushType: "fill"
  3245. }
  3246. });
  3247. var _ = [0, c, u];
  3248. return setInterval(function () {
  3249. e(d), _[0] -= .3;
  3250. for (var i = 0; p > i; i++) f[i].rotation = _, e(f[i]);
  3251. e(s), t()
  3252. }, V.timeInterval)
  3253. }, t
  3254. }), i("zrender/loadingEffect/Whirling", ["require", "./Base", "../tool/util", "../tool/area", "../shape/Ring", "../shape/Droplet", "../shape/Circle"], function (e) {
  3255. function t(e) {
  3256. i.call(this, e)
  3257. }
  3258. var i = e("./Base"), n = e("../tool/util"), a = e("../tool/area"), o = e("../shape/Ring"),
  3259. r = e("../shape/Droplet"), s = e("../shape/Circle");
  3260. return n.inherits(t, i), t.prototype._start = function (e, t) {
  3261. var i = n.merge(this.options, {
  3262. textStyle: {color: "#888", textAlign: "start"},
  3263. backgroundColor: "rgba(250, 250, 250, 0.8)"
  3264. }), l = this.createTextShape(i.textStyle), h = 10,
  3265. m = a.getTextWidth(l.highlightStyle.text, l.highlightStyle.textFont),
  3266. V = a.getTextHeight(l.highlightStyle.text, l.highlightStyle.textFont),
  3267. U = n.merge(this.options.effect || {}, {
  3268. r: 18,
  3269. colorIn: "#fff",
  3270. colorOut: "#555",
  3271. colorWhirl: "#6cf",
  3272. timeInterval: 50
  3273. }), d = this.getLocation(this.options.textStyle, m + h + 2 * U.r, Math.max(2 * U.r, V));
  3274. U.x = d.x + U.r, U.y = l.highlightStyle.y = d.y + d.height / 2, l.highlightStyle.x = U.x + U.r + h;
  3275. var p = this.createBackgroundShape(i.backgroundColor), c = new r({
  3276. highlightStyle: {
  3277. a: Math.round(U.r / 2),
  3278. b: Math.round(U.r - U.r / 6),
  3279. brushType: "fill",
  3280. color: U.colorWhirl
  3281. }
  3282. }), u = new s({highlightStyle: {r: Math.round(U.r / 6), brushType: "fill", color: U.colorIn}}), y = new o({
  3283. highlightStyle: {
  3284. r0: Math.round(U.r - U.r / 3),
  3285. r: U.r,
  3286. brushType: "fill",
  3287. color: U.colorOut
  3288. }
  3289. }), g = [0, U.x, U.y];
  3290. 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 () {
  3291. e(p), e(y), g[0] -= .3, c.rotation = g, e(c), e(u), e(l), t()
  3292. }, U.timeInterval)
  3293. }, t
  3294. }), i("echarts/theme/macarons", [], function () {
  3295. var e = {
  3296. color: ["#2ec7c9", "#b6a2de", "#5ab1ef", "#ffb980", "#d87a80", "#8d98b3", "#e5cf0d", "#97b552", "#95706d", "#dc69aa", "#07a2a4", "#9a7fd1", "#588dd5", "#f5994e", "#c05050", "#59678c", "#c9ab00", "#7eb00a", "#6f5553", "#c14089"],
  3297. title: {textStyle: {fontWeight: "normal", color: "#008acd"}},
  3298. dataRange: {itemWidth: 15, color: ["#5ab1ef", "#e0ffff"]},
  3299. toolbox: {color: ["#1e90ff", "#1e90ff", "#1e90ff", "#1e90ff"], effectiveColor: "#ff4500"},
  3300. tooltip: {
  3301. backgroundColor: "rgba(50,50,50,0.5)",
  3302. axisPointer: {
  3303. type: "line",
  3304. lineStyle: {color: "#008acd"},
  3305. crossStyle: {color: "#008acd"},
  3306. shadowStyle: {color: "rgba(200,200,200,0.2)"}
  3307. }
  3308. },
  3309. dataZoom: {dataBackgroundColor: "#efefff", fillerColor: "rgba(182,162,222,0.2)", handleColor: "#008acd"},
  3310. grid: {borderColor: "#eee"},
  3311. categoryAxis: {axisLine: {lineStyle: {color: "#008acd"}}, splitLine: {lineStyle: {color: ["#eee"]}}},
  3312. valueAxis: {
  3313. axisLine: {lineStyle: {color: "#008acd"}},
  3314. splitArea: {show: !0, areaStyle: {color: ["rgba(250,250,250,0.1)", "rgba(200,200,200,0.1)"]}},
  3315. splitLine: {lineStyle: {color: ["#eee"]}}
  3316. },
  3317. polar: {
  3318. axisLine: {lineStyle: {color: "#ddd"}},
  3319. splitArea: {show: !0, areaStyle: {color: ["rgba(250,250,250,0.2)", "rgba(200,200,200,0.2)"]}},
  3320. splitLine: {lineStyle: {color: "#ddd"}}
  3321. },
  3322. timeline: {
  3323. lineStyle: {color: "#008acd"},
  3324. controlStyle: {normal: {color: "#008acd"}, emphasis: {color: "#008acd"}},
  3325. symbol: "emptyCircle",
  3326. symbolSize: 3
  3327. },
  3328. bar: {itemStyle: {normal: {barBorderRadius: 5}, emphasis: {barBorderRadius: 5}}},
  3329. line: {smooth: !0, symbol: "emptyCircle", symbolSize: 3},
  3330. k: {
  3331. itemStyle: {
  3332. normal: {
  3333. color: "#d87a80",
  3334. color0: "#2ec7c9",
  3335. lineStyle: {color: "#d87a80", color0: "#2ec7c9"}
  3336. }
  3337. }
  3338. },
  3339. scatter: {symbol: "circle", symbolSize: 4},
  3340. radar: {symbol: "emptyCircle", symbolSize: 3},
  3341. map: {
  3342. itemStyle: {
  3343. normal: {areaStyle: {color: "#ddd"}, label: {textStyle: {color: "#d87a80"}}},
  3344. emphasis: {areaStyle: {color: "#fe994e"}}
  3345. }
  3346. },
  3347. force: {itemStyle: {normal: {linkStyle: {color: "#1e90ff"}}}},
  3348. chord: {
  3349. itemStyle: {
  3350. normal: {
  3351. borderWidth: 1,
  3352. borderColor: "rgba(128, 128, 128, 0.5)",
  3353. chordStyle: {lineStyle: {color: "rgba(128, 128, 128, 0.5)"}}
  3354. },
  3355. emphasis: {
  3356. borderWidth: 1,
  3357. borderColor: "rgba(128, 128, 128, 0.5)",
  3358. chordStyle: {lineStyle: {color: "rgba(128, 128, 128, 0.5)"}}
  3359. }
  3360. }
  3361. },
  3362. gauge: {
  3363. axisLine: {lineStyle: {color: [[.2, "#2ec7c9"], [.8, "#5ab1ef"], [1, "#d87a80"]], width: 10}},
  3364. axisTick: {splitNumber: 10, length: 15, lineStyle: {color: "auto"}},
  3365. splitLine: {length: 22, lineStyle: {color: "auto"}},
  3366. pointer: {width: 5}
  3367. },
  3368. textStyle: {fontFamily: "微软雅黑, Arial, Verdana, sans-serif"}
  3369. };
  3370. return e
  3371. }), i("echarts/theme/infographic", [], function () {
  3372. var e = {
  3373. color: ["#C1232B", "#B5C334", "#FCCE10", "#E87C25", "#27727B", "#FE8463", "#9BCA63", "#FAD860", "#F3A43B", "#60C0DD", "#D7504B", "#C6E579", "#F4E001", "#F0805A", "#26C0C0"],
  3374. title: {textStyle: {fontWeight: "normal", color: "#27727B"}},
  3375. dataRange: {x: "right", y: "center", itemWidth: 5, itemHeight: 25, color: ["#C1232B", "#FCCE10"]},
  3376. toolbox: {
  3377. color: ["#C1232B", "#B5C334", "#FCCE10", "#E87C25", "#27727B", "#FE8463", "#9BCA63", "#FAD860", "#F3A43B", "#60C0DD"],
  3378. effectiveColor: "#ff4500"
  3379. },
  3380. tooltip: {
  3381. backgroundColor: "rgba(50,50,50,0.5)",
  3382. axisPointer: {
  3383. type: "line",
  3384. lineStyle: {color: "#27727B", type: "dashed"},
  3385. crossStyle: {color: "#27727B"},
  3386. shadowStyle: {color: "rgba(200,200,200,0.3)"}
  3387. }
  3388. },
  3389. dataZoom: {
  3390. dataBackgroundColor: "rgba(181,195,52,0.3)",
  3391. fillerColor: "rgba(181,195,52,0.2)",
  3392. handleColor: "#27727B"
  3393. },
  3394. grid: {borderWidth: 0},
  3395. categoryAxis: {axisLine: {lineStyle: {color: "#27727B"}}, splitLine: {show: !1}},
  3396. valueAxis: {
  3397. axisLine: {show: !1},
  3398. splitArea: {show: !1},
  3399. splitLine: {lineStyle: {color: ["#ccc"], type: "dashed"}}
  3400. },
  3401. polar: {
  3402. axisLine: {lineStyle: {color: "#ddd"}},
  3403. splitArea: {show: !0, areaStyle: {color: ["rgba(250,250,250,0.2)", "rgba(200,200,200,0.2)"]}},
  3404. splitLine: {lineStyle: {color: "#ddd"}}
  3405. },
  3406. timeline: {
  3407. lineStyle: {color: "#27727B"},
  3408. controlStyle: {normal: {color: "#27727B"}, emphasis: {color: "#27727B"}},
  3409. symbol: "emptyCircle",
  3410. symbolSize: 3
  3411. },
  3412. line: {
  3413. itemStyle: {
  3414. normal: {borderWidth: 2, borderColor: "#fff", lineStyle: {width: 3}},
  3415. emphasis: {borderWidth: 0}
  3416. }, symbol: "circle", symbolSize: 3.5
  3417. },
  3418. k: {
  3419. itemStyle: {
  3420. normal: {
  3421. color: "#C1232B",
  3422. color0: "#B5C334",
  3423. lineStyle: {width: 1, color: "#C1232B", color0: "#B5C334"}
  3424. }
  3425. }
  3426. },
  3427. scatter: {
  3428. itemStyle: {
  3429. normal: {borderWidth: 1, borderColor: "rgba(200,200,200,0.5)"},
  3430. emphasis: {borderWidth: 0}
  3431. }, symbol: "star4", symbolSize: 4
  3432. },
  3433. radar: {symbol: "emptyCircle", symbolSize: 3},
  3434. map: {
  3435. itemStyle: {
  3436. normal: {areaStyle: {color: "#ddd"}, label: {textStyle: {color: "#C1232B"}}},
  3437. emphasis: {areaStyle: {color: "#fe994e"}, label: {textStyle: {color: "rgb(100,0,0)"}}}
  3438. }
  3439. },
  3440. force: {itemStyle: {normal: {linkStyle: {color: "#27727B"}}}},
  3441. chord: {
  3442. itemStyle: {
  3443. normal: {
  3444. borderWidth: 1,
  3445. borderColor: "rgba(128, 128, 128, 0.5)",
  3446. chordStyle: {lineStyle: {color: "rgba(128, 128, 128, 0.5)"}}
  3447. },
  3448. emphasis: {
  3449. borderWidth: 1,
  3450. borderColor: "rgba(128, 128, 128, 0.5)",
  3451. chordStyle: {lineStyle: {color: "rgba(128, 128, 128, 0.5)"}}
  3452. }
  3453. }
  3454. },
  3455. gauge: {
  3456. center: ["50%", "80%"],
  3457. radius: "100%",
  3458. startAngle: 180,
  3459. endAngle: 0,
  3460. axisLine: {
  3461. show: !0,
  3462. lineStyle: {color: [[.2, "#B5C334"], [.8, "#27727B"], [1, "#C1232B"]], width: "40%"}
  3463. },
  3464. axisTick: {splitNumber: 2, length: 5, lineStyle: {color: "#fff"}},
  3465. axisLabel: {textStyle: {color: "#fff", fontWeight: "bolder"}},
  3466. splitLine: {length: "5%", lineStyle: {color: "#fff"}},
  3467. pointer: {width: "40%", length: "80%", color: "#fff"},
  3468. title: {offsetCenter: [0, -20], textStyle: {color: "auto", fontSize: 20}},
  3469. detail: {offsetCenter: [0, 0], textStyle: {color: "auto", fontSize: 40}}
  3470. },
  3471. textStyle: {fontFamily: "微软雅黑, Arial, Verdana, sans-serif"}
  3472. };
  3473. return e
  3474. }), i("zrender/dep/excanvas", ["require"], function () {
  3475. return document.createElement("canvas").getContext ? G_vmlCanvasManager = !1 : !function () {
  3476. function e() {
  3477. return this.context_ || (this.context_ = new f(this))
  3478. }
  3479. function t(e, t) {
  3480. var i = O.call(arguments, 2);
  3481. return function () {
  3482. return e.apply(t, i.concat(O.call(arguments)))
  3483. }
  3484. }
  3485. function i(e) {
  3486. return String(e).replace(/&/g, "&amp;").replace(/"/g, "&quot;")
  3487. }
  3488. function n(e, t, i) {
  3489. e.namespaces[t] || e.namespaces.add(t, i, "#default#VML")
  3490. }
  3491. function a(e) {
  3492. if (n(e, "g_vml_", "urn:schemas-microsoft-com:vml"), n(e, "g_o_", "urn:schemas-microsoft-com:office:office"), !e.styleSheets.ex_canvas_) {
  3493. var t = e.createStyleSheet();
  3494. t.owningElement.id = "ex_canvas_", t.cssText = "canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"
  3495. }
  3496. }
  3497. function o(e) {
  3498. var t = e.srcElement;
  3499. switch (e.propertyName) {
  3500. case"width":
  3501. t.getContext().clearRect(), t.style.width = t.attributes.width.nodeValue + "px", t.firstChild.style.width = t.clientWidth + "px";
  3502. break;
  3503. case"height":
  3504. t.getContext().clearRect(), t.style.height = t.attributes.height.nodeValue + "px", t.firstChild.style.height = t.clientHeight + "px"
  3505. }
  3506. }
  3507. function r(e) {
  3508. var t = e.srcElement;
  3509. t.firstChild && (t.firstChild.style.width = t.clientWidth + "px", t.firstChild.style.height = t.clientHeight + "px")
  3510. }
  3511. function s() {
  3512. return [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
  3513. }
  3514. function l(e, t) {
  3515. for (var i = s(), n = 0; 3 > n; n++) for (var a = 0; 3 > a; a++) {
  3516. for (var o = 0, r = 0; 3 > r; r++) o += e[n][r] * t[r][a];
  3517. i[n][a] = o
  3518. }
  3519. return i
  3520. }
  3521. function h(e, t) {
  3522. 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_
  3523. }
  3524. function m(e) {
  3525. var t = e.indexOf("(", 3), i = e.indexOf(")", t + 1), n = e.substring(t + 1, i).split(",");
  3526. return (4 != n.length || "a" != e.charAt(3)) && (n[3] = 1), n
  3527. }
  3528. function V(e) {
  3529. return parseFloat(e) / 100
  3530. }
  3531. function U(e, t, i) {
  3532. return Math.min(i, Math.max(t, e))
  3533. }
  3534. function d(e) {
  3535. var t, i, n, a, o, r;
  3536. 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; else {
  3537. var s = .5 > r ? r * (1 + o) : r + o - r * o, l = 2 * r - s;
  3538. t = p(l, s, a + 1 / 3), i = p(l, s, a), n = p(l, s, a - 1 / 3)
  3539. }
  3540. return "#" + D[Math.floor(255 * t)] + D[Math.floor(255 * i)] + D[Math.floor(255 * n)]
  3541. }
  3542. function p(e, t, i) {
  3543. 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
  3544. }
  3545. function c(e) {
  3546. if (e in R) return R[e];
  3547. var t, i = 1;
  3548. if (e = String(e), "#" == e.charAt(0)) t = e; else if (/^rgb/.test(e)) {
  3549. 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)];
  3550. i = +a[3]
  3551. } else if (/^hsl/.test(e)) {
  3552. var a = m(e);
  3553. t = d(a), i = a[3]
  3554. } else t = H[e] || e;
  3555. return R[e] = {color: t, alpha: i}
  3556. }
  3557. function u(e) {
  3558. if (Y[e]) return Y[e];
  3559. var t, i = document.createElement("div"), n = i.style;
  3560. try {
  3561. n.font = e, t = n.fontFamily.split(",")[0]
  3562. } catch (a) {
  3563. }
  3564. return Y[e] = {
  3565. style: n.fontStyle || G.style,
  3566. variant: n.fontVariant || G.variant,
  3567. weight: n.fontWeight || G.weight,
  3568. size: n.fontSize || G.size,
  3569. family: t || G.family
  3570. }
  3571. }
  3572. function y(e, t) {
  3573. var i = {};
  3574. for (var n in e) i[n] = e[n];
  3575. var a = parseFloat(t.currentStyle.fontSize), o = parseFloat(e.size);
  3576. 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
  3577. }
  3578. function g(e) {
  3579. return e.style + " " + e.variant + " " + e.weight + " " + e.size + "px '" + e.family + "'"
  3580. }
  3581. function b(e) {
  3582. return Q[e] || "square"
  3583. }
  3584. function f(e) {
  3585. 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;
  3586. var t = "width:" + e.clientWidth + "px;height:" + e.clientHeight + "px;overflow:hidden;position:absolute",
  3587. i = e.ownerDocument.createElement("div");
  3588. i.style.cssText = t, e.appendChild(i);
  3589. var n = i.cloneNode(!1);
  3590. 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
  3591. }
  3592. function k(e, t, i, n) {
  3593. e.currentPath_.push({
  3594. type: "bezierCurveTo",
  3595. cp1x: t.x,
  3596. cp1y: t.y,
  3597. cp2x: i.x,
  3598. cp2y: i.y,
  3599. x: n.x,
  3600. y: n.y
  3601. }), e.currentX_ = n.x, e.currentY_ = n.y
  3602. }
  3603. function x(e, t) {
  3604. var i = c(e.strokeStyle), n = i.color, a = i.alpha * e.globalAlpha, o = e.lineScale_ * e.lineWidth;
  3605. 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, '" />')
  3606. }
  3607. function _(e, t, i, n) {
  3608. var a = e.fillStyle, o = e.scaleX_, r = e.scaleY_, s = n.x - i.x, l = n.y - i.y;
  3609. if (a instanceof v) {
  3610. var h = 0, m = {x: 0, y: 0}, V = 0, U = 1;
  3611. if ("gradient" == a.type_) {
  3612. var d = a.x0_ / o, p = a.y0_ / r, u = a.x1_ / o, y = a.y1_ / r, g = L(e, d, p), b = L(e, u, y),
  3613. f = b.x - g.x, k = b.y - g.y;
  3614. h = 180 * Math.atan2(f, k) / Math.PI, 0 > h && (h += 360), 1e-6 > h && (h = 0)
  3615. } else {
  3616. var g = L(e, a.x0_, a.y0_);
  3617. m = {x: (g.x - i.x) / s, y: (g.y - i.y) / l}, s /= o * A, l /= r * A;
  3618. var x = C.max(s, l);
  3619. V = 2 * a.r0_ / x, U = 2 * a.r1_ / x - V
  3620. }
  3621. var _ = a.colors_;
  3622. _.sort(function (e, t) {
  3623. return e.offset - t.offset
  3624. });
  3625. 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++) {
  3626. var F = _[E];
  3627. S.push(F.offset * U + V + " " + F.color)
  3628. }
  3629. 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, '" />')
  3630. } else if (a instanceof w) {
  3631. if (s && l) {
  3632. var T = -i.x, z = -i.y;
  3633. t.push("<g_vml_:fill", ' position="', T / s * o * o, ",", z / l * r * r, '"', ' type="tile"', ' src="', a.src_, '" />')
  3634. }
  3635. } else {
  3636. var M = c(e.fillStyle), O = M.color, P = M.alpha * e.globalAlpha;
  3637. t.push('<g_vml_:fill color="', O, '" opacity="', P, '" />')
  3638. }
  3639. }
  3640. function L(e, t, i) {
  3641. var n = e.m_;
  3642. return {
  3643. x: A * (t * n[0][0] + i * n[1][0] + n[2][0]) - M,
  3644. y: A * (t * n[0][1] + i * n[1][1] + n[2][1]) - M
  3645. }
  3646. }
  3647. function W(e) {
  3648. 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])
  3649. }
  3650. function X(e, t, i) {
  3651. 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)) {
  3652. var n = t[0][0] * t[1][1] - t[0][1] * t[1][0];
  3653. e.lineScale_ = z(T(n))
  3654. }
  3655. }
  3656. function v(e) {
  3657. this.type_ = e, this.x0_ = 0, this.y0_ = 0, this.r0_ = 0, this.x1_ = 0, this.y1_ = 0, this.r1_ = 0, this.colors_ = []
  3658. }
  3659. function w(e, t) {
  3660. switch (I(e), t) {
  3661. case"repeat":
  3662. case null:
  3663. case"":
  3664. this.repetition_ = "repeat";
  3665. break;
  3666. case"repeat-x":
  3667. case"repeat-y":
  3668. case"no-repeat":
  3669. this.repetition_ = t;
  3670. break;
  3671. default:
  3672. K("SYNTAX_ERR")
  3673. }
  3674. this.src_ = e.src, this.width_ = e.width, this.height_ = e.height
  3675. }
  3676. function K(e) {
  3677. throw new J(e)
  3678. }
  3679. function I(e) {
  3680. e && 1 == e.nodeType && "IMG" == e.tagName || K("TYPE_MISMATCH_ERR"), "complete" != e.readyState && K("INVALID_STATE_ERR")
  3681. }
  3682. function J(e) {
  3683. this.code = this[e], this.message = e + ": DOM Exception " + this.code
  3684. }
  3685. var C = Math, S = C.round, E = C.sin, F = C.cos, T = C.abs, z = C.sqrt, A = 10, M = A / 2,
  3686. O = (+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1], Array.prototype.slice);
  3687. a(document);
  3688. var P = {
  3689. init: function (e) {
  3690. var i = e || document;
  3691. i.createElement("canvas"), i.attachEvent("onreadystatechange", t(this.init_, this, i))
  3692. }, init_: function (e) {
  3693. for (var t = e.getElementsByTagName("canvas"), i = 0; i < t.length; i++) this.initElement(t[i])
  3694. }, initElement: function (t) {
  3695. if (!t.getContext) {
  3696. t.getContext = e, a(t.ownerDocument), t.innerHTML = "", t.attachEvent("onpropertychange", o), t.attachEvent("onresize", r);
  3697. var i = t.attributes;
  3698. 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
  3699. }
  3700. return t
  3701. }
  3702. };
  3703. P.init();
  3704. for (var D = [], N = 0; 16 > N; N++) for (var B = 0; 16 > B; B++) D[16 * N + B] = N.toString(16) + B.toString(16);
  3705. var H = {
  3706. aliceblue: "#F0F8FF",
  3707. antiquewhite: "#FAEBD7",
  3708. aquamarine: "#7FFFD4",
  3709. azure: "#F0FFFF",
  3710. beige: "#F5F5DC",
  3711. bisque: "#FFE4C4",
  3712. black: "#000000",
  3713. blanchedalmond: "#FFEBCD",
  3714. blueviolet: "#8A2BE2",
  3715. brown: "#A52A2A",
  3716. burlywood: "#DEB887",
  3717. cadetblue: "#5F9EA0",
  3718. chartreuse: "#7FFF00",
  3719. chocolate: "#D2691E",
  3720. coral: "#FF7F50",
  3721. cornflowerblue: "#6495ED",
  3722. cornsilk: "#FFF8DC",
  3723. crimson: "#DC143C",
  3724. cyan: "#00FFFF",
  3725. darkblue: "#00008B",
  3726. darkcyan: "#008B8B",
  3727. darkgoldenrod: "#B8860B",
  3728. darkgray: "#A9A9A9",
  3729. darkgreen: "#006400",
  3730. darkgrey: "#A9A9A9",
  3731. darkkhaki: "#BDB76B",
  3732. darkmagenta: "#8B008B",
  3733. darkolivegreen: "#556B2F",
  3734. darkorange: "#FF8C00",
  3735. darkorchid: "#9932CC",
  3736. darkred: "#8B0000",
  3737. darksalmon: "#E9967A",
  3738. darkseagreen: "#8FBC8F",
  3739. darkslateblue: "#483D8B",
  3740. darkslategray: "#2F4F4F",
  3741. darkslategrey: "#2F4F4F",
  3742. darkturquoise: "#00CED1",
  3743. darkviolet: "#9400D3",
  3744. deeppink: "#FF1493",
  3745. deepskyblue: "#00BFFF",
  3746. dimgray: "#696969",
  3747. dimgrey: "#696969",
  3748. dodgerblue: "#1E90FF",
  3749. firebrick: "#B22222",
  3750. floralwhite: "#FFFAF0",
  3751. forestgreen: "#228B22",
  3752. gainsboro: "#DCDCDC",
  3753. ghostwhite: "#F8F8FF",
  3754. gold: "#FFD700",
  3755. goldenrod: "#DAA520",
  3756. grey: "#808080",
  3757. greenyellow: "#ADFF2F",
  3758. honeydew: "#F0FFF0",
  3759. hotpink: "#FF69B4",
  3760. indianred: "#CD5C5C",
  3761. indigo: "#4B0082",
  3762. ivory: "#FFFFF0",
  3763. khaki: "#F0E68C",
  3764. lavender: "#E6E6FA",
  3765. lavenderblush: "#FFF0F5",
  3766. lawngreen: "#7CFC00",
  3767. lemonchiffon: "#FFFACD",
  3768. lightblue: "#ADD8E6",
  3769. lightcoral: "#F08080",
  3770. lightcyan: "#E0FFFF",
  3771. lightgoldenrodyellow: "#FAFAD2",
  3772. lightgreen: "#90EE90",
  3773. lightgrey: "#D3D3D3",
  3774. lightpink: "#FFB6C1",
  3775. lightsalmon: "#FFA07A",
  3776. lightseagreen: "#20B2AA",
  3777. lightskyblue: "#87CEFA",
  3778. lightslategray: "#778899",
  3779. lightslategrey: "#778899",
  3780. lightsteelblue: "#B0C4DE",
  3781. lightyellow: "#FFFFE0",
  3782. limegreen: "#32CD32",
  3783. linen: "#FAF0E6",
  3784. magenta: "#FF00FF",
  3785. mediumaquamarine: "#66CDAA",
  3786. mediumblue: "#0000CD",
  3787. mediumorchid: "#BA55D3",
  3788. mediumpurple: "#9370DB",
  3789. mediumseagreen: "#3CB371",
  3790. mediumslateblue: "#7B68EE",
  3791. mediumspringgreen: "#00FA9A",
  3792. mediumturquoise: "#48D1CC",
  3793. mediumvioletred: "#C71585",
  3794. midnightblue: "#191970",
  3795. mintcream: "#F5FFFA",
  3796. mistyrose: "#FFE4E1",
  3797. moccasin: "#FFE4B5",
  3798. navajowhite: "#FFDEAD",
  3799. oldlace: "#FDF5E6",
  3800. olivedrab: "#6B8E23",
  3801. orange: "#FFA500",
  3802. orangered: "#FF4500",
  3803. orchid: "#DA70D6",
  3804. palegoldenrod: "#EEE8AA",
  3805. palegreen: "#98FB98",
  3806. paleturquoise: "#AFEEEE",
  3807. palevioletred: "#DB7093",
  3808. papayawhip: "#FFEFD5",
  3809. peachpuff: "#FFDAB9",
  3810. peru: "#CD853F",
  3811. pink: "#FFC0CB",
  3812. plum: "#DDA0DD",
  3813. powderblue: "#B0E0E6",
  3814. rosybrown: "#BC8F8F",
  3815. royalblue: "#4169E1",
  3816. saddlebrown: "#8B4513",
  3817. salmon: "#FA8072",
  3818. sandybrown: "#F4A460",
  3819. seagreen: "#2E8B57",
  3820. seashell: "#FFF5EE",
  3821. sienna: "#A0522D",
  3822. skyblue: "#87CEEB",
  3823. slateblue: "#6A5ACD",
  3824. slategray: "#708090",
  3825. slategrey: "#708090",
  3826. snow: "#FFFAFA",
  3827. springgreen: "#00FF7F",
  3828. steelblue: "#4682B4",
  3829. tan: "#D2B48C",
  3830. thistle: "#D8BFD8",
  3831. tomato: "#FF6347",
  3832. turquoise: "#40E0D0",
  3833. violet: "#EE82EE",
  3834. wheat: "#F5DEB3",
  3835. whitesmoke: "#F5F5F5",
  3836. yellowgreen: "#9ACD32"
  3837. }, R = {}, G = {style: "normal", variant: "normal", weight: "normal", size: 12, family: "微软雅黑"}, Y = {},
  3838. Q = {butt: "flat", round: "round"}, Z = f.prototype;
  3839. Z.clearRect = function () {
  3840. this.textMeasureEl_ && (this.textMeasureEl_.removeNode(!0), this.textMeasureEl_ = null), this.element_.innerHTML = ""
  3841. }, Z.beginPath = function () {
  3842. this.currentPath_ = []
  3843. }, Z.moveTo = function (e, t) {
  3844. var i = L(this, e, t);
  3845. this.currentPath_.push({type: "moveTo", x: i.x, y: i.y}), this.currentX_ = i.x, this.currentY_ = i.y
  3846. }, Z.lineTo = function (e, t) {
  3847. var i = L(this, e, t);
  3848. this.currentPath_.push({type: "lineTo", x: i.x, y: i.y}), this.currentX_ = i.x, this.currentY_ = i.y
  3849. }, Z.bezierCurveTo = function (e, t, i, n, a, o) {
  3850. var r = L(this, a, o), s = L(this, e, t), l = L(this, i, n);
  3851. k(this, s, l, r)
  3852. }, Z.quadraticCurveTo = function (e, t, i, n) {
  3853. var a = L(this, e, t), o = L(this, i, n), r = {
  3854. x: this.currentX_ + 2 / 3 * (a.x - this.currentX_),
  3855. y: this.currentY_ + 2 / 3 * (a.y - this.currentY_)
  3856. }, s = {x: r.x + (o.x - this.currentX_) / 3, y: r.y + (o.y - this.currentY_) / 3};
  3857. k(this, r, s, o)
  3858. }, Z.arc = function (e, t, i, n, a, o) {
  3859. i *= A;
  3860. var r = o ? "at" : "wa", s = e + F(n) * i - M, l = t + E(n) * i - M, h = e + F(a) * i - M,
  3861. m = t + E(a) * i - M;
  3862. s != h || o || (s += .125);
  3863. var V = L(this, e, t), U = L(this, s, l), d = L(this, h, m);
  3864. this.currentPath_.push({
  3865. type: r,
  3866. x: V.x,
  3867. y: V.y,
  3868. radius: i,
  3869. xStart: U.x,
  3870. yStart: U.y,
  3871. xEnd: d.x,
  3872. yEnd: d.y
  3873. })
  3874. }, Z.rect = function (e, t, i, n) {
  3875. this.moveTo(e, t), this.lineTo(e + i, t), this.lineTo(e + i, t + n), this.lineTo(e, t + n), this.closePath()
  3876. }, Z.strokeRect = function (e, t, i, n) {
  3877. var a = this.currentPath_;
  3878. 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
  3879. }, Z.fillRect = function (e, t, i, n) {
  3880. var a = this.currentPath_;
  3881. 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
  3882. }, Z.createLinearGradient = function (e, t, i, n) {
  3883. var a = new v("gradient");
  3884. return a.x0_ = e, a.y0_ = t, a.x1_ = i, a.y1_ = n, a
  3885. }, Z.createRadialGradient = function (e, t, i, n, a, o) {
  3886. var r = new v("gradientradial");
  3887. return r.x0_ = e, r.y0_ = t, r.r0_ = i, r.x1_ = n, r.y1_ = a, r.r1_ = o, r
  3888. }, Z.drawImage = function (e) {
  3889. var t, i, n, a, o, r, s, l, h = e.runtimeStyle.width, m = e.runtimeStyle.height;
  3890. e.runtimeStyle.width = "auto", e.runtimeStyle.height = "auto";
  3891. var V = e.width, U = e.height;
  3892. 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; else if (5 == arguments.length) t = arguments[1], i = arguments[2], n = arguments[3], a = arguments[4], o = r = 0, s = V, l = U; else {
  3893. if (9 != arguments.length) throw Error("Invalid number of arguments");
  3894. o = arguments[1], r = arguments[2], s = arguments[3], l = arguments[4], t = arguments[5], i = arguments[6], n = arguments[7], a = arguments[8]
  3895. }
  3896. var d = L(this, t, i), p = [], c = 10, u = 10, y = b = 1;
  3897. 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]) {
  3898. var g = [], y = this.scaleX_, b = this.scaleY_;
  3899. 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), "");
  3900. var f = d, k = L(this, t + n, i), x = L(this, t, i + a), _ = L(this, t + n, i + a);
  3901. 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');")
  3902. } else p.push("top:", S(d.y / A), "px;left:", S(d.x / A), "px;");
  3903. 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(""))
  3904. }, Z.stroke = function (e) {
  3905. var t = [], i = 10, n = 10;
  3906. 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="');
  3907. for (var a = {x: null, y: null}, o = {x: null, y: null}, r = 0; r < this.currentPath_.length; r++) {
  3908. var s, l = this.currentPath_[r];
  3909. switch (l.type) {
  3910. case"moveTo":
  3911. s = l, t.push(" m ", S(l.x), ",", S(l.y));
  3912. break;
  3913. case"lineTo":
  3914. t.push(" l ", S(l.x), ",", S(l.y));
  3915. break;
  3916. case"close":
  3917. t.push(" x "), l = null;
  3918. break;
  3919. case"bezierCurveTo":
  3920. t.push(" c ", S(l.cp1x), ",", S(l.cp1y), ",", S(l.cp2x), ",", S(l.cp2y), ",", S(l.x), ",", S(l.y));
  3921. break;
  3922. case"at":
  3923. case"wa":
  3924. 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))
  3925. }
  3926. 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))
  3927. }
  3928. t.push(' ">'), e ? _(this, t, a, o) : x(this, t), t.push("</g_vml_:shape>"), this.element_.insertAdjacentHTML("beforeEnd", t.join(""))
  3929. }, Z.fill = function () {
  3930. this.stroke(!0)
  3931. }, Z.closePath = function () {
  3932. this.currentPath_.push({type: "close"})
  3933. }, Z.save = function () {
  3934. var e = {};
  3935. h(this, e), this.aStack_.push(e), this.mStack_.push(this.m_), this.m_ = l(s(), this.m_)
  3936. }, Z.restore = function () {
  3937. this.aStack_.length && (h(this.aStack_.pop(), this), this.m_ = this.mStack_.pop())
  3938. }, Z.translate = function (e, t) {
  3939. var i = [[1, 0, 0], [0, 1, 0], [e, t, 1]];
  3940. X(this, l(i, this.m_), !1)
  3941. }, Z.rotate = function (e) {
  3942. var t = F(e), i = E(e), n = [[t, i, 0], [-i, t, 0], [0, 0, 1]];
  3943. X(this, l(n, this.m_), !1)
  3944. }, Z.scale = function (e, t) {
  3945. var i = [[e, 0, 0], [0, t, 0], [0, 0, 1]];
  3946. X(this, l(i, this.m_), !0)
  3947. }, Z.transform = function (e, t, i, n, a, o) {
  3948. var r = [[e, t, 0], [i, n, 0], [a, o, 1]];
  3949. X(this, l(r, this.m_), !0)
  3950. }, Z.setTransform = function (e, t, i, n, a, o) {
  3951. var r = [[e, t, 0], [i, n, 0], [a, o, 1]];
  3952. X(this, r, !0)
  3953. }, Z.drawText_ = function (e, t, n, a, o) {
  3954. var r = this.m_, s = 1e3, l = 0, h = s, m = {x: 0, y: 0}, V = [], U = y(u(this.font), this.element_),
  3955. d = g(U), p = this.element_.currentStyle, c = this.textAlign.toLowerCase();
  3956. switch (c) {
  3957. case"left":
  3958. case"center":
  3959. case"right":
  3960. break;
  3961. case"end":
  3962. c = "ltr" == p.direction ? "right" : "left";
  3963. break;
  3964. case"start":
  3965. c = "rtl" == p.direction ? "right" : "left";
  3966. break;
  3967. default:
  3968. c = "left"
  3969. }
  3970. switch (this.textBaseline) {
  3971. case"hanging":
  3972. case"top":
  3973. m.y = U.size / 1.75;
  3974. break;
  3975. case"middle":
  3976. break;
  3977. default:
  3978. case null:
  3979. case"alphabetic":
  3980. case"ideographic":
  3981. case"bottom":
  3982. m.y = -U.size / 2.25
  3983. }
  3984. switch (c) {
  3985. case"right":
  3986. l = s, h = .05;
  3987. break;
  3988. case"center":
  3989. l = h = s / 2
  3990. }
  3991. var b = L(this, t + m.x, n + m.y);
  3992. 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, {
  3993. x: -l,
  3994. y: 0
  3995. }, {x: h, y: U.size});
  3996. var f = r[0][0].toFixed(3) + "," + r[1][0].toFixed(3) + "," + r[0][1].toFixed(3) + "," + r[1][1].toFixed(3) + ",0,0",
  3997. k = S(b.x / A) + "," + S(b.y / A);
  3998. 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(""))
  3999. }, Z.fillText = function (e, t, i, n) {
  4000. this.drawText_(e, t, i, n, !1)
  4001. }, Z.strokeText = function (e, t, i, n) {
  4002. this.drawText_(e, t, i, n, !0)
  4003. }, Z.measureText = function (e) {
  4004. if (!this.textMeasureEl_) {
  4005. var t = '<span style="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;"></span>';
  4006. this.element_.insertAdjacentHTML("beforeEnd", t), this.textMeasureEl_ = this.element_.lastChild
  4007. }
  4008. var i = this.element_.ownerDocument;
  4009. this.textMeasureEl_.innerHTML = "";
  4010. try {
  4011. this.textMeasureEl_.style.font = this.font
  4012. } catch (n) {
  4013. }
  4014. return this.textMeasureEl_.appendChild(i.createTextNode(e)), {width: this.textMeasureEl_.offsetWidth}
  4015. }, Z.clip = function () {
  4016. }, Z.arcTo = function () {
  4017. }, Z.createPattern = function (e, t) {
  4018. return new w(e, t)
  4019. }, v.prototype.addColorStop = function (e, t) {
  4020. t = c(t), this.colors_.push({offset: e, color: t.color, alpha: t.alpha})
  4021. };
  4022. var q = J.prototype = new Error;
  4023. 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
  4024. }(), G_vmlCanvasManager
  4025. }), i("zrender/mixin/Eventful", ["require"], function () {
  4026. var e = function () {
  4027. this._handlers = {}
  4028. };
  4029. return e.prototype.one = function (e, t, i) {
  4030. var n = this._handlers;
  4031. return t && e ? (n[e] || (n[e] = []), n[e].push({h: t, one: !0, ctx: i || this}), this) : this
  4032. }, e.prototype.bind = function (e, t, i) {
  4033. var n = this._handlers;
  4034. return t && e ? (n[e] || (n[e] = []), n[e].push({h: t, one: !1, ctx: i || this}), this) : this
  4035. }, e.prototype.unbind = function (e, t) {
  4036. var i = this._handlers;
  4037. if (!e) return this._handlers = {}, this;
  4038. if (t) {
  4039. if (i[e]) {
  4040. for (var n = [], a = 0, o = i[e].length; o > a; a++) i[e][a].h != t && n.push(i[e][a]);
  4041. i[e] = n
  4042. }
  4043. i[e] && 0 === i[e].length && delete i[e]
  4044. } else delete i[e];
  4045. return this
  4046. }, e.prototype.dispatch = function (e) {
  4047. if (this._handlers[e]) {
  4048. var t = arguments, i = t.length;
  4049. i > 3 && (t = Array.prototype.slice.call(t, 1));
  4050. for (var n = this._handlers[e], a = n.length, o = 0; a > o;) {
  4051. switch (i) {
  4052. case 1:
  4053. n[o].h.call(n[o].ctx);
  4054. break;
  4055. case 2:
  4056. n[o].h.call(n[o].ctx, t[1]);
  4057. break;
  4058. case 3:
  4059. n[o].h.call(n[o].ctx, t[1], t[2]);
  4060. break;
  4061. default:
  4062. n[o].h.apply(n[o].ctx, t)
  4063. }
  4064. n[o].one ? (n.splice(o, 1), a--) : o++
  4065. }
  4066. }
  4067. return this
  4068. }, e.prototype.dispatchWithContext = function (e) {
  4069. if (this._handlers[e]) {
  4070. var t = arguments, i = t.length;
  4071. i > 4 && (t = Array.prototype.slice.call(t, 1, t.length - 1));
  4072. for (var n = t[t.length - 1], a = this._handlers[e], o = a.length, r = 0; o > r;) {
  4073. switch (i) {
  4074. case 1:
  4075. a[r].h.call(n);
  4076. break;
  4077. case 2:
  4078. a[r].h.call(n, t[1]);
  4079. break;
  4080. case 3:
  4081. a[r].h.call(n, t[1], t[2]);
  4082. break;
  4083. default:
  4084. a[r].h.apply(n, t)
  4085. }
  4086. a[r].one ? (a.splice(r, 1), o--) : r++
  4087. }
  4088. }
  4089. return this
  4090. }, e
  4091. }), i("zrender/tool/log", ["require", "../config"], function (e) {
  4092. var t = e("../config");
  4093. return function () {
  4094. if (0 !== t.debugMode) if (1 == t.debugMode) for (var e in arguments) throw new Error(arguments[e]); else if (t.debugMode > 1) for (var e in arguments) console.log(arguments[e])
  4095. }
  4096. }), i("zrender/tool/guid", [], function () {
  4097. var e = 2311;
  4098. return function () {
  4099. return "zrender__" + e++
  4100. }
  4101. }), i("zrender/Handler", ["require", "./config", "./tool/env", "./tool/event", "./tool/util", "./tool/vector", "./tool/matrix", "./mixin/Eventful"], function (e) {
  4102. "use strict";
  4103. function t(e, t) {
  4104. return function (i, n) {
  4105. return e.call(t, i, n)
  4106. }
  4107. }
  4108. function i(e, t) {
  4109. return function (i, n, a) {
  4110. return e.call(t, i, n, a)
  4111. }
  4112. }
  4113. function n(e) {
  4114. for (var i = d.length; i--;) {
  4115. var n = d[i];
  4116. e["_" + n + "Handler"] = t(c[n], e)
  4117. }
  4118. }
  4119. function a(e, t, i) {
  4120. if (this._draggingTarget && this._draggingTarget.id == e.id || e.isSilent()) return !1;
  4121. var n = this._event;
  4122. if (e.isCover(t, i)) {
  4123. e.hoverable && this.storage.addHover(e);
  4124. for (var a = e.parent; a;) {
  4125. if (a.clipShape && !a.clipShape.isCover(this._mouseX, this._mouseY)) return !1;
  4126. a = a.parent
  4127. }
  4128. 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
  4129. }
  4130. return !1
  4131. }
  4132. var o = e("./config"), r = e("./tool/env"), s = e("./tool/event"), l = e("./tool/util"), h = e("./tool/vector"),
  4133. m = e("./tool/matrix"), V = o.EVENT, U = e("./mixin/Eventful"),
  4134. d = ["resize", "click", "dblclick", "mousewheel", "mousemove", "mouseout", "mouseup", "mousedown", "touchstart", "touchend", "touchmove"],
  4135. p = function (e) {
  4136. if (window.G_vmlCanvasManager) return !0;
  4137. e = e || window.event;
  4138. var t = e.toElement || e.relatedTarget || e.srcElement || e.target;
  4139. return t && t.className.match(o.elementClassName)
  4140. }, c = {
  4141. resize: function (e) {
  4142. e = e || window.event, this._lastHover = null, this._isMouseDown = 0, this.dispatch(V.RESIZE, e)
  4143. }, click: function (e, t) {
  4144. if (p(e) || t) {
  4145. e = this._zrenderEventFixed(e);
  4146. var i = this._lastHover;
  4147. (i && i.clickable || !i) && this._clickThreshold < 5 && this._dispatchAgency(i, V.CLICK, e), this._mousemoveHandler(e)
  4148. }
  4149. }, dblclick: function (e, t) {
  4150. if (p(e) || t) {
  4151. e = e || window.event, e = this._zrenderEventFixed(e);
  4152. var i = this._lastHover;
  4153. (i && i.clickable || !i) && this._clickThreshold < 5 && this._dispatchAgency(i, V.DBLCLICK, e), this._mousemoveHandler(e)
  4154. }
  4155. }, mousewheel: function (e, t) {
  4156. if (p(e) || t) {
  4157. e = this._zrenderEventFixed(e);
  4158. var i = e.wheelDelta || -e.detail, n = i > 0 ? 1.1 : 1 / 1.1, a = !1, o = this._mouseX,
  4159. r = this._mouseY;
  4160. this.painter.eachBuildinLayer(function (t) {
  4161. var i = t.position;
  4162. if (t.zoomable) {
  4163. t.__zoom = t.__zoom || 1;
  4164. var l = t.__zoom;
  4165. 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)
  4166. }
  4167. }), a && this.painter.refresh(), this._dispatchAgency(this._lastHover, V.MOUSEWHEEL, e), this._mousemoveHandler(e)
  4168. }
  4169. }, mousemove: function (e, t) {
  4170. if ((p(e) || t) && !this.painter.isLoading()) {
  4171. e = this._zrenderEventFixed(e), this._lastX = this._mouseX, this._lastY = this._mouseY, this._mouseX = s.getX(e), this._mouseY = s.getY(e);
  4172. var i = this._mouseX - this._lastX, n = this._mouseY - this._lastY;
  4173. this._processDragStart(e), this._hasfound = 0, this._event = e, this._iterateAndFindHover(), this._hasfound || ((!this._draggingTarget || this._lastHover && this._lastHover != this._draggingTarget) && (this._processOutShape(e),
  4174. this._processDragLeave(e)), this._lastHover = null, this.storage.delHover(), this.painter.clearHover());
  4175. var a = "default";
  4176. if (this._draggingTarget) this.storage.drift(this._draggingTarget.id, i, n), this._draggingTarget.modSelf(), this.storage.addHover(this._draggingTarget), this._clickThreshold++; else if (this._isMouseDown) {
  4177. var o = !1;
  4178. this.painter.eachBuildinLayer(function (e) {
  4179. e.panable && (a = "move", e.position[0] += i, e.position[1] += n, o = !0, e.dirty = !0)
  4180. }), o && this.painter.refresh()
  4181. }
  4182. 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()
  4183. }
  4184. }, mouseout: function (e, t) {
  4185. if (p(e) || t) {
  4186. e = this._zrenderEventFixed(e);
  4187. var i = e.toElement || e.relatedTarget;
  4188. if (i != this.root) for (; i && 9 != i.nodeType;) {
  4189. if (i == this.root) return void this._mousemoveHandler(e);
  4190. i = i.parentNode
  4191. }
  4192. 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)
  4193. }
  4194. }, mousedown: function (e, t) {
  4195. if (p(e) || t) {
  4196. if (this._clickThreshold = 0, 2 == this._lastDownButton) return this._lastDownButton = e.button, void (this._mouseDownTarget = null);
  4197. 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
  4198. }
  4199. }, mouseup: function (e, t) {
  4200. (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))
  4201. }, touchstart: function (e, t) {
  4202. (p(e) || t) && (e = this._zrenderEventFixed(e, !0), this._lastTouchMoment = new Date, this._mobileFindFixed(e), this._mousedownHandler(e))
  4203. }, touchmove: function (e, t) {
  4204. (p(e) || t) && (e = this._zrenderEventFixed(e, !0), this._mousemoveHandler(e), this._isDragging && s.stop(e))
  4205. }, touchend: function (e, t) {
  4206. if (p(e) || t) {
  4207. e = this._zrenderEventFixed(e, !0), this._mouseupHandler(e);
  4208. var i = new Date;
  4209. 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()
  4210. }
  4211. }
  4212. }, u = function (e, t, o) {
  4213. 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))
  4214. };
  4215. u.prototype.on = function (e, t, i) {
  4216. return this.bind(e, t, i), this
  4217. }, u.prototype.un = function (e, t) {
  4218. return this.unbind(e, t), this
  4219. }, u.prototype.trigger = function (e, t) {
  4220. switch (e) {
  4221. case V.RESIZE:
  4222. case V.CLICK:
  4223. case V.DBLCLICK:
  4224. case V.MOUSEWHEEL:
  4225. case V.MOUSEMOVE:
  4226. case V.MOUSEDOWN:
  4227. case V.MOUSEUP:
  4228. case V.MOUSEOUT:
  4229. this["_" + e + "Handler"](t, !0)
  4230. }
  4231. }, u.prototype.dispose = function () {
  4232. var e = this.root;
  4233. 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()
  4234. }, u.prototype._processDragStart = function (e) {
  4235. var t = this._lastHover;
  4236. if (this._isMouseDown && t && t.draggable && !this._draggingTarget && this._mouseDownTarget == t) {
  4237. if (t.dragEnableTime && new Date - this._lastMouseDownMoment < t.dragEnableTime) return;
  4238. var i = t;
  4239. this._draggingTarget = i, this._isDragging = 1, i.invisible = !0, this.storage.mod(i.id), this._dispatchAgency(i, V.DRAGSTART, e), this.painter.refresh()
  4240. }
  4241. }, u.prototype._processDragEnter = function (e) {
  4242. this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGENTER, e, this._draggingTarget)
  4243. }, u.prototype._processDragOver = function (e) {
  4244. this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGOVER, e, this._draggingTarget)
  4245. }, u.prototype._processDragLeave = function (e) {
  4246. this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGLEAVE, e, this._draggingTarget)
  4247. }, u.prototype._processDrop = function (e) {
  4248. this._draggingTarget && (this._draggingTarget.invisible = !1, this.storage.mod(this._draggingTarget.id), this.painter.refresh(), this._dispatchAgency(this._lastHover, V.DROP, e, this._draggingTarget))
  4249. }, u.prototype._processDragEnd = function (e) {
  4250. this._draggingTarget && (this._dispatchAgency(this._draggingTarget, V.DRAGEND, e), this._lastHover = null), this._isDragging = 0, this._draggingTarget = null
  4251. }, u.prototype._processOverShape = function (e) {
  4252. this._dispatchAgency(this._lastHover, V.MOUSEOVER, e)
  4253. }, u.prototype._processOutShape = function (e) {
  4254. this._dispatchAgency(this._lastHover, V.MOUSEOUT, e)
  4255. }, u.prototype._dispatchAgency = function (e, t, i, n) {
  4256. var a = "on" + t, o = {type: t, event: i, target: e, cancelBubble: !1}, r = e;
  4257. for (n && (o.dragged = n); r && (r[a] && (o.cancelBubble = r[a](o)), r.dispatch(t, o), r = r.parent, !o.cancelBubble);) ;
  4258. if (e) o.cancelBubble || this.dispatch(t, o); else if (!n) {
  4259. var s = {type: t, event: i};
  4260. this.dispatch(t, s), this.painter.eachOtherLayer(function (e) {
  4261. "function" == typeof e[a] && e[a](s), e.dispatch && e.dispatch(t, s)
  4262. })
  4263. }
  4264. }, u.prototype._iterateAndFindHover = function () {
  4265. var e = m.create();
  4266. return function () {
  4267. for (var t, i, n = this.storage.getShapeList(), a = [0, 0], o = n.length - 1; o >= 0; o--) {
  4268. var r = n[o];
  4269. 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
  4270. }
  4271. }
  4272. }();
  4273. var y = [{x: 10}, {x: -20}, {x: 10, y: 10}, {y: -20}];
  4274. return u.prototype._mobileFindFixed = function (e) {
  4275. this._lastHover = null, this._mouseX = e.zrenderX, this._mouseY = e.zrenderY, this._event = e, this._iterateAndFindHover();
  4276. for (var t = 0; !this._lastHover && t < y.length; t++) {
  4277. var i = y[t];
  4278. i.x && (this._mouseX += i.x), i.y && (this._mouseY += i.y), this._iterateAndFindHover()
  4279. }
  4280. this._lastHover && (e.zrenderX = this._mouseX, e.zrenderY = this._mouseY)
  4281. }, u.prototype._zrenderEventFixed = function (e, t) {
  4282. if (e.zrenderFixed) return e;
  4283. if (t) {
  4284. var i = "touchend" != e.type ? e.targetTouches[0] : e.changedTouches[0];
  4285. if (i) {
  4286. var n = this.painter._domRoot.getBoundingClientRect();
  4287. e.zrenderX = i.clientX - n.left, e.zrenderY = i.clientY - n.top
  4288. }
  4289. } else {
  4290. e = e || window.event;
  4291. var a = e.toElement || e.relatedTarget || e.srcElement || e.target;
  4292. 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)
  4293. }
  4294. return e.zrenderFixed = 1, e
  4295. }, l.merge(u.prototype, U.prototype, !0), u
  4296. }), i("zrender/Painter", ["require", "./config", "./tool/util", "./tool/log", "./loadingEffect/Base", "./Layer", "./shape/Image"], function (e) {
  4297. "use strict";
  4298. function t() {
  4299. return !1
  4300. }
  4301. function i() {
  4302. }
  4303. function n(e) {
  4304. return e ? e.isBuildin ? !0 : "function" != typeof e.resize || "function" != typeof e.refresh ? !1 : !0 : !1
  4305. }
  4306. var a = e("./config"), o = e("./tool/util"), r = e("./tool/log"), s = e("./loadingEffect/Base"),
  4307. l = e("./Layer"), h = function (e, i) {
  4308. 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();
  4309. var n = document.createElement("div");
  4310. 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;
  4311. var o = new l("_zrender_hover_", this);
  4312. 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
  4313. };
  4314. return h.prototype.render = function (e) {
  4315. return this.isLoading() && this.hideLoading(), this.refresh(e, !0), this
  4316. }, h.prototype.refresh = function (e, t) {
  4317. var i = this.storage.getShapeList(!0);
  4318. this._paintList(i, t);
  4319. for (var n = 0; n < this._zlevelList.length; n++) {
  4320. var a = this._zlevelList[n], o = this._layers[a];
  4321. !o.isBuildin && o.refresh && o.refresh()
  4322. }
  4323. return "function" == typeof e && e(), this
  4324. }, h.prototype._preProcessLayer = function (e) {
  4325. e.unusedCount++, e.updateTransform()
  4326. }, h.prototype._postProcessLayer = function (e) {
  4327. e.dirty = !1, 1 == e.unusedCount && e.clear()
  4328. }, h.prototype._paintList = function (e, t) {
  4329. "undefined" == typeof t && (t = !1), this._updateLayerStatus(e);
  4330. var i, n, o;
  4331. this.eachBuildinLayer(this._preProcessLayer);
  4332. for (var s = 0, l = e.length; l > s; s++) {
  4333. var h = e[s];
  4334. 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))) if (a.catchBrushException) try {
  4335. h.brush(o, !1, this.refreshNextFrame)
  4336. } catch (m) {
  4337. r(m, "brush error of " + h.type, h)
  4338. } else h.brush(o, !1, this.refreshNextFrame);
  4339. h.__dirty = !1
  4340. }
  4341. i && (i.needTransform && o.restore(), o.flush && o.flush()), this.eachBuildinLayer(this._postProcessLayer)
  4342. }, h.prototype.getLayer = function (e) {
  4343. var t = this._layers[e];
  4344. 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
  4345. }, h.prototype.insertLayer = function (e, t) {
  4346. if (this._layers[e]) return void r("ZLevel " + e + " has been used already");
  4347. if (!n(t)) return void r("Layer of zlevel " + e + " is not valid");
  4348. var i = this._zlevelList.length, a = null, o = -1;
  4349. if (i > 0 && e > this._zlevelList[0]) {
  4350. for (o = 0; i - 1 > o && !(this._zlevelList[o] < e && this._zlevelList[o + 1] > e); o++) ;
  4351. a = this._layers[this._zlevelList[o]]
  4352. }
  4353. this._zlevelList.splice(o + 1, 0, e);
  4354. var s = a ? a.dom : this._bgDom;
  4355. s.nextSibling ? s.parentNode.insertBefore(t.dom, s.nextSibling) : s.parentNode.appendChild(t.dom), this._layers[e] = t
  4356. }, h.prototype.eachLayer = function (e, t) {
  4357. for (var i = 0; i < this._zlevelList.length; i++) {
  4358. var n = this._zlevelList[i];
  4359. e.call(t, this._layers[n], n)
  4360. }
  4361. }, h.prototype.eachBuildinLayer = function (e, t) {
  4362. for (var i = 0; i < this._zlevelList.length; i++) {
  4363. var n = this._zlevelList[i], a = this._layers[n];
  4364. a.isBuildin && e.call(t, a, n)
  4365. }
  4366. }, h.prototype.eachOtherLayer = function (e, t) {
  4367. for (var i = 0; i < this._zlevelList.length; i++) {
  4368. var n = this._zlevelList[i], a = this._layers[n];
  4369. a.isBuildin || e.call(t, a, n)
  4370. }
  4371. }, h.prototype.getLayers = function () {
  4372. return this._layers
  4373. }, h.prototype._updateLayerStatus = function (e) {
  4374. var t = this._layers, i = {};
  4375. this.eachBuildinLayer(function (e, t) {
  4376. i[t] = e.elCount, e.elCount = 0
  4377. });
  4378. for (var n = 0, a = e.length; a > n; n++) {
  4379. var o = e[n], r = o.zlevel, s = t[r];
  4380. if (s) {
  4381. if (s.elCount++, s.dirty) continue;
  4382. s.dirty = o.__dirty
  4383. }
  4384. }
  4385. this.eachBuildinLayer(function (e, t) {
  4386. i[t] !== e.elCount && (e.dirty = !0)
  4387. })
  4388. }, h.prototype.refreshShapes = function (e, t) {
  4389. for (var i = 0, n = e.length; n > i; i++) {
  4390. var a = e[i];
  4391. a.modSelf()
  4392. }
  4393. return this.refresh(t), this
  4394. }, h.prototype.setLoadingEffect = function (e) {
  4395. return this._loadingEffect = e, this
  4396. }, h.prototype.clear = function () {
  4397. return this.eachBuildinLayer(this._clearLayer), this
  4398. }, h.prototype._clearLayer = function (e) {
  4399. e.clear()
  4400. }, h.prototype.modLayer = function (e, t) {
  4401. if (t) {
  4402. this._layerConfig[e] ? o.merge(this._layerConfig[e], t, !0) : this._layerConfig[e] = t;
  4403. var i = this._layers[e];
  4404. i && o.merge(i, this._layerConfig[e], !0)
  4405. }
  4406. }, h.prototype.delLayer = function (e) {
  4407. var t = this._layers[e];
  4408. t && (this.modLayer(e, {
  4409. position: t.position,
  4410. rotation: t.rotation,
  4411. scale: t.scale
  4412. }), t.dom.parentNode.removeChild(t.dom), delete this._layers[e], this._zlevelList.splice(o.indexOf(this._zlevelList, e), 1))
  4413. }, h.prototype.refreshHover = function () {
  4414. this.clearHover();
  4415. for (var e = this.storage.getHoverShapes(!0), t = 0, i = e.length; i > t; t++) this._brushHover(e[t]);
  4416. var n = this._layers.hover.ctx;
  4417. return n.flush && n.flush(), this.storage.delHover(), this
  4418. }, h.prototype.clearHover = function () {
  4419. var e = this._layers.hover;
  4420. return e && e.clear(), this
  4421. }, h.prototype.showLoading = function (e) {
  4422. return this._loadingEffect && this._loadingEffect.stop(), e && this.setLoadingEffect(e), this._loadingEffect.start(this), this.loading = !0, this
  4423. }, h.prototype.hideLoading = function () {
  4424. return this._loadingEffect.stop(), this.clearHover(), this.loading = !1, this
  4425. }, h.prototype.isLoading = function () {
  4426. return this.loading
  4427. }, h.prototype.resize = function () {
  4428. var e = this._domRoot;
  4429. e.style.display = "none";
  4430. var t = this._getWidth(), i = this._getHeight();
  4431. if (e.style.display = "", this._width != t || i != this._height) {
  4432. this._width = t, this._height = i, e.style.width = t + "px", e.style.height = i + "px";
  4433. for (var n in this._layers) this._layers[n].resize(t, i);
  4434. this.refresh(null, !0)
  4435. }
  4436. return this
  4437. }, h.prototype.clearLayer = function (e) {
  4438. var t = this._layers[e];
  4439. t && t.clear()
  4440. }, h.prototype.dispose = function () {
  4441. this.isLoading() && this.hideLoading(), this.root.innerHTML = "", this.root = this.storage = this._domRoot = this._layers = null
  4442. }, h.prototype.getDomHover = function () {
  4443. return this._layers.hover.dom
  4444. }, h.prototype.toDataURL = function (e, t, i) {
  4445. if (window.G_vmlCanvasManager) return null;
  4446. var n = new l("image", this);
  4447. this._bgDom.appendChild(n.dom), n.initContext();
  4448. var o = n.ctx;
  4449. n.clearColor = t || "#fff", n.clear();
  4450. var s = this;
  4451. this.storage.iterShape(function (e) {
  4452. if (!e.invisible && (!e.onbrush || e.onbrush && !e.onbrush(o, !1))) if (a.catchBrushException) try {
  4453. e.brush(o, !1, s.refreshNextFrame)
  4454. } catch (t) {
  4455. r(t, "brush error of " + e.type, e)
  4456. } else e.brush(o, !1, s.refreshNextFrame)
  4457. }, {normal: "up", update: !0});
  4458. var h = n.dom.toDataURL(e, i);
  4459. return o = null, this._bgDom.removeChild(n.dom), h
  4460. }, h.prototype.getWidth = function () {
  4461. return this._width
  4462. }, h.prototype.getHeight = function () {
  4463. return this._height
  4464. }, h.prototype._getWidth = function () {
  4465. var e = this.root, t = e.currentStyle || document.defaultView.getComputedStyle(e);
  4466. return ((e.clientWidth || parseInt(t.width, 10)) - parseInt(t.paddingLeft, 10) - parseInt(t.paddingRight, 10)).toFixed(0) - 0
  4467. }, h.prototype._getHeight = function () {
  4468. var e = this.root, t = e.currentStyle || document.defaultView.getComputedStyle(e);
  4469. return ((e.clientHeight || parseInt(t.height, 10)) - parseInt(t.paddingTop, 10) - parseInt(t.paddingBottom, 10)).toFixed(0) - 0
  4470. }, h.prototype._brushHover = function (e) {
  4471. var t = this._layers.hover.ctx;
  4472. if (!e.onbrush || e.onbrush && !e.onbrush(t, !0)) {
  4473. var i = this.getLayer(e.zlevel);
  4474. if (i.needTransform && (t.save(), i.setTransform(t)), a.catchBrushException) try {
  4475. e.brush(t, !0, this.refreshNextFrame)
  4476. } catch (n) {
  4477. r(n, "hoverBrush error of " + e.type, e)
  4478. } else e.brush(t, !0, this.refreshNextFrame);
  4479. i.needTransform && t.restore()
  4480. }
  4481. }, h.prototype._shapeToImage = function (t, i, n, a, o) {
  4482. var r = document.createElement("canvas"), s = r.getContext("2d");
  4483. 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);
  4484. var l = {position: i.position, rotation: i.rotation, scale: i.scale};
  4485. i.position = [0, 0, 0], i.rotation = 0, i.scale = [1, 1], i && i.brush(s, !1);
  4486. var h = e("./shape/Image"), m = new h({id: t, style: {x: 0, y: 0, image: r}});
  4487. 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
  4488. }, h.prototype._createShapeToImageProcessor = function () {
  4489. if (window.G_vmlCanvasManager) return i;
  4490. var e = this;
  4491. return function (t, i, n, o) {
  4492. return e._shapeToImage(t, i, n, o, a.devicePixelRatio)
  4493. }
  4494. }, h
  4495. }), i("zrender/Storage", ["require", "./tool/util", "./Group"], function (e) {
  4496. "use strict";
  4497. function t(e, t) {
  4498. return e.zlevel == t.zlevel ? e.z == t.z ? e.__renderidx - t.__renderidx : e.z - t.z : e.zlevel - t.zlevel
  4499. }
  4500. var i = e("./tool/util"), n = e("./Group"), a = {hover: !1, normal: "down", update: !1}, o = function () {
  4501. this._elements = {}, this._hoverElements = [], this._roots = [], this._shapeList = [], this._shapeListOffset = 0
  4502. };
  4503. return o.prototype.iterShape = function (e, t) {
  4504. if (t || (t = a), t.hover) for (var i = 0, n = this._hoverElements.length; n > i; i++) {
  4505. var o = this._hoverElements[i];
  4506. if (o.updateTransform(), e(o)) return this
  4507. }
  4508. switch (t.update && this.updateShapeList(), t.normal) {
  4509. case"down":
  4510. for (var n = this._shapeList.length; n--;) if (e(this._shapeList[n])) return this;
  4511. break;
  4512. default:
  4513. for (var i = 0, n = this._shapeList.length; n > i; i++) if (e(this._shapeList[i])) return this
  4514. }
  4515. return this
  4516. }, o.prototype.getHoverShapes = function (e) {
  4517. for (var i = [], n = 0, a = this._hoverElements.length; a > n; n++) {
  4518. i.push(this._hoverElements[n]);
  4519. var o = this._hoverElements[n].hoverConnect;
  4520. if (o) {
  4521. var r;
  4522. o = o instanceof Array ? o : [o];
  4523. for (var s = 0, l = o.length; l > s; s++) r = o[s].id ? o[s] : this.get(o[s]), r && i.push(r)
  4524. }
  4525. }
  4526. if (i.sort(t), e) for (var n = 0, a = i.length; a > n; n++) i[n].updateTransform();
  4527. return i
  4528. }, o.prototype.getShapeList = function (e) {
  4529. return e && this.updateShapeList(), this._shapeList
  4530. }, o.prototype.updateShapeList = function () {
  4531. this._shapeListOffset = 0;
  4532. for (var e = 0, i = this._roots.length; i > e; e++) {
  4533. var n = this._roots[e];
  4534. this._updateAndAddShape(n)
  4535. }
  4536. this._shapeList.length = this._shapeListOffset;
  4537. for (var e = 0, i = this._shapeList.length; i > e; e++) this._shapeList[e].__renderidx = e;
  4538. this._shapeList.sort(t)
  4539. }, o.prototype._updateAndAddShape = function (e, t) {
  4540. if (!e.ignore) 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) {
  4541. for (var i = 0; i < e._children.length; i++) {
  4542. var n = e._children[i];
  4543. n.__dirty = e.__dirty || n.__dirty, this._updateAndAddShape(n, t)
  4544. }
  4545. e.__dirty = !1
  4546. } else e.__clipShapes = t, this._shapeList[this._shapeListOffset++] = e
  4547. }, o.prototype.mod = function (e, t) {
  4548. if ("string" == typeof e && (e = this._elements[e]), e && (e.modSelf(), t)) if (t.parent || t._storage || t.__clipShapes) {
  4549. var n = {};
  4550. for (var a in t) "parent" !== a && "_storage" !== a && "__clipShapes" !== a && t.hasOwnProperty(a) && (n[a] = t[a]);
  4551. i.merge(e, n, !0)
  4552. } else i.merge(e, t, !0);
  4553. return this
  4554. }, o.prototype.drift = function (e, t, i) {
  4555. var n = this._elements[e];
  4556. 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
  4557. }, o.prototype.addHover = function (e) {
  4558. return e.updateNeedTransform(), this._hoverElements.push(e), this
  4559. }, o.prototype.delHover = function () {
  4560. return this._hoverElements = [], this
  4561. }, o.prototype.hasHoverShape = function () {
  4562. return this._hoverElements.length > 0
  4563. }, o.prototype.addRoot = function (e) {
  4564. this._elements[e.id] || (e instanceof n && e.addChildrenToStorage(this), this.addToMap(e), this._roots.push(e))
  4565. }, o.prototype.delRoot = function (e) {
  4566. if ("undefined" == typeof e) {
  4567. for (var t = 0; t < this._roots.length; t++) {
  4568. var a = this._roots[t];
  4569. a instanceof n && a.delChildrenFromStorage(this)
  4570. }
  4571. return this._elements = {}, this._hoverElements = [], this._roots = [], this._shapeList = [], void (this._shapeListOffset = 0)
  4572. }
  4573. if (e instanceof Array) for (var t = 0, o = e.length; o > t; t++) this.delRoot(e[t]); else {
  4574. var r;
  4575. r = "string" == typeof e ? this._elements[e] : e;
  4576. var s = i.indexOf(this._roots, r);
  4577. s >= 0 && (this.delFromMap(r.id), this._roots.splice(s, 1), r instanceof n && r.delChildrenFromStorage(this))
  4578. }
  4579. }, o.prototype.addToMap = function (e) {
  4580. return e instanceof n && (e._storage = this), e.modSelf(), this._elements[e.id] = e, this
  4581. }, o.prototype.get = function (e) {
  4582. return this._elements[e]
  4583. }, o.prototype.delFromMap = function (e) {
  4584. var t = this._elements[e];
  4585. return t && (delete this._elements[e], t instanceof n && (t._storage = null)), this
  4586. }, o.prototype.dispose = function () {
  4587. this._elements = this._renderList = this._roots = this._hoverElements = null
  4588. }, o
  4589. }), i("zrender/animation/Animation", ["require", "./Clip", "../tool/color", "../tool/util", "../tool/event"], function (e) {
  4590. "use strict";
  4591. function t(e, t) {
  4592. return e[t]
  4593. }
  4594. function i(e, t, i) {
  4595. e[t] = i
  4596. }
  4597. function n(e, t, i) {
  4598. return (t - e) * i + e
  4599. }
  4600. function a(e, t, i, a, o) {
  4601. var r = e.length;
  4602. if (1 == o) for (var s = 0; r > s; s++) a[s] = n(e[s], t[s], i); else for (var l = e[0].length, s = 0; r > s; s++) for (var h = 0; l > h; h++) a[s][h] = n(e[s][h], t[s][h], i)
  4603. }
  4604. function o(e) {
  4605. switch (typeof e) {
  4606. case"undefined":
  4607. case"string":
  4608. return !1
  4609. }
  4610. return "undefined" != typeof e.length
  4611. }
  4612. function r(e, t, i, n, a, o, r, l, h) {
  4613. var m = e.length;
  4614. if (1 == h) for (var V = 0; m > V; V++) l[V] = s(e[V], t[V], i[V], n[V], a, o, r); else for (var U = e[0].length, V = 0; m > V; V++) 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)
  4615. }
  4616. function s(e, t, i, n, a, o, r) {
  4617. var s = .5 * (i - e), l = .5 * (n - t);
  4618. return (2 * (t - i) + s + l) * r + (-3 * (t - i) - 2 * s - l) * o + s * a + t
  4619. }
  4620. function l(e) {
  4621. if (o(e)) {
  4622. var t = e.length;
  4623. if (o(e[0])) {
  4624. for (var i = [], n = 0; t > n; n++) i.push(c.call(e[n]));
  4625. return i
  4626. }
  4627. return c.call(e)
  4628. }
  4629. return e
  4630. }
  4631. function h(e) {
  4632. return e[0] = Math.floor(e[0]), e[1] = Math.floor(e[1]), e[2] = Math.floor(e[2]), "rgba(" + e.join(",") + ")"
  4633. }
  4634. var m = e("./Clip"), V = e("../tool/color"), U = e("../tool/util"), d = e("../tool/event").Dispatcher,
  4635. p = window.requestAnimationFrame || window.msRequestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (e) {
  4636. setTimeout(e, 16)
  4637. }, c = Array.prototype.slice, u = function (e) {
  4638. e = e || {}, this.stage = e.stage || {}, this.onframe = e.onframe || function () {
  4639. }, this._clips = [], this._running = !1, this._time = 0, d.call(this)
  4640. };
  4641. u.prototype = {
  4642. add: function (e) {
  4643. this._clips.push(e)
  4644. }, remove: function (e) {
  4645. if (e.__inStep) e.__needsRemove = !0; else {
  4646. var t = U.indexOf(this._clips, e);
  4647. t >= 0 && this._clips.splice(t, 1)
  4648. }
  4649. }, _update: function () {
  4650. for (var e = (new Date).getTime(), t = e - this._time, i = this._clips, n = i.length, a = [], o = [], r = 0; n > r; r++) {
  4651. var s = i[r];
  4652. s.__inStep = !0;
  4653. var l = s.step(e);
  4654. s.__inStep = !1, l && (a.push(l), o.push(s))
  4655. }
  4656. for (var r = 0; n > r;) i[r].__needsRemove ? (i[r] = i[n - 1], i.pop(), n--) : r++;
  4657. n = a.length;
  4658. for (var r = 0; n > r; r++) o[r].fire(a[r]);
  4659. this._time = e, this.onframe(t), this.dispatch("frame", t), this.stage.update && this.stage.update()
  4660. }, start: function () {
  4661. function e() {
  4662. t._running && (p(e), t._update())
  4663. }
  4664. var t = this;
  4665. this._running = !0, this._time = (new Date).getTime(), p(e)
  4666. }, stop: function () {
  4667. this._running = !1
  4668. }, clear: function () {
  4669. this._clips = []
  4670. }, animate: function (e, t) {
  4671. t = t || {};
  4672. var i = new y(e, t.loop, t.getter, t.setter);
  4673. return i.animation = this, i
  4674. }, constructor: u
  4675. }, U.merge(u.prototype, d.prototype, !0);
  4676. var y = function (e, n, a, o) {
  4677. 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 = []
  4678. };
  4679. return y.prototype = {
  4680. when: function (e, t) {
  4681. for (var i in t) this._tracks[i] || (this._tracks[i] = [], 0 !== e && this._tracks[i].push({
  4682. time: 0,
  4683. value: l(this._getter(this._target, i))
  4684. })), this._tracks[i].push({time: parseInt(e, 10), value: t[i]});
  4685. return this
  4686. }, during: function (e) {
  4687. return this._onframeList.push(e), this
  4688. }, start: function (e) {
  4689. var t = this, i = this._setter, l = this._getter, U = "spline" === e, d = function () {
  4690. if (t._clipCount--, 0 === t._clipCount) {
  4691. t._tracks = {};
  4692. for (var e = t._doneList.length, i = 0; e > i; i++) t._doneList[i].call(t)
  4693. }
  4694. }, p = function (p, c) {
  4695. var u = p.length;
  4696. if (u) {
  4697. var y = p[0].value, g = o(y), b = !1, f = g && o(y[0]) ? 2 : 1;
  4698. p.sort(function (e, t) {
  4699. return e.time - t.time
  4700. });
  4701. var k;
  4702. if (u) {
  4703. k = p[u - 1].time;
  4704. for (var x = [], _ = [], L = 0; u > L; L++) {
  4705. x.push(p[L].time / k);
  4706. var W = p[L].value;
  4707. "string" == typeof W && (W = V.toArray(W), 0 === W.length && (W[0] = W[1] = W[2] = 0, W[3] = 1), b = !0), _.push(W)
  4708. }
  4709. var X, L, v, w, K, I, J, C = 0, S = 0;
  4710. if (b) var E = [0, 0, 0, 0];
  4711. var F = function (e, o) {
  4712. if (S > o) {
  4713. for (X = Math.min(C + 1, u - 1), L = X; L >= 0 && !(x[L] <= o); L--) ;
  4714. L = Math.min(L, u - 2)
  4715. } else {
  4716. for (L = C; u > L && !(x[L] > o); L++) ;
  4717. L = Math.min(L - 1, u - 2)
  4718. }
  4719. C = L, S = o;
  4720. var m = x[L + 1] - x[L];
  4721. if (0 !== m) {
  4722. if (v = (o - x[L]) / m, U) 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); else {
  4723. var V;
  4724. 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)
  4725. } else if (g) a(_[L], _[L + 1], v, l(e, c), f); else {
  4726. var V;
  4727. b ? (a(_[L], _[L + 1], v, E, 1), V = h(E)) : V = n(_[L], _[L + 1], v), i(e, c, V)
  4728. }
  4729. for (L = 0; L < t._onframeList.length; L++) t._onframeList[L](e, o)
  4730. }
  4731. }, T = new m({
  4732. target: t._target,
  4733. life: k,
  4734. loop: t._loop,
  4735. delay: t._delay,
  4736. onframe: F,
  4737. ondestroy: d
  4738. });
  4739. e && "spline" !== e && (T.easing = e), t._clipList.push(T), t._clipCount++, t.animation.add(T)
  4740. }
  4741. }
  4742. };
  4743. for (var c in this._tracks) p(this._tracks[c], c);
  4744. return this
  4745. }, stop: function () {
  4746. for (var e = 0; e < this._clipList.length; e++) {
  4747. var t = this._clipList[e];
  4748. this.animation.remove(t)
  4749. }
  4750. this._clipList = []
  4751. }, delay: function (e) {
  4752. return this._delay = e, this
  4753. }, done: function (e) {
  4754. return e && this._doneList.push(e), this
  4755. }
  4756. }, u
  4757. }), i("zrender/tool/vector", [], function () {
  4758. var e = "undefined" == typeof Float32Array ? Array : Float32Array, t = {
  4759. create: function (t, i) {
  4760. var n = new e(2);
  4761. return n[0] = t || 0, n[1] = i || 0, n
  4762. }, copy: function (e, t) {
  4763. return e[0] = t[0], e[1] = t[1], e
  4764. }, clone: function (t) {
  4765. var i = new e(2);
  4766. return i[0] = t[0], i[1] = t[1], i
  4767. }, set: function (e, t, i) {
  4768. return e[0] = t, e[1] = i, e
  4769. }, add: function (e, t, i) {
  4770. return e[0] = t[0] + i[0], e[1] = t[1] + i[1], e
  4771. }, scaleAndAdd: function (e, t, i, n) {
  4772. return e[0] = t[0] + i[0] * n, e[1] = t[1] + i[1] * n, e
  4773. }, sub: function (e, t, i) {
  4774. return e[0] = t[0] - i[0], e[1] = t[1] - i[1], e
  4775. }, len: function (e) {
  4776. return Math.sqrt(this.lenSquare(e))
  4777. }, lenSquare: function (e) {
  4778. return e[0] * e[0] + e[1] * e[1]
  4779. }, mul: function (e, t, i) {
  4780. return e[0] = t[0] * i[0], e[1] = t[1] * i[1], e
  4781. }, div: function (e, t, i) {
  4782. return e[0] = t[0] / i[0], e[1] = t[1] / i[1], e
  4783. }, dot: function (e, t) {
  4784. return e[0] * t[0] + e[1] * t[1]
  4785. }, scale: function (e, t, i) {
  4786. return e[0] = t[0] * i, e[1] = t[1] * i, e
  4787. }, normalize: function (e, i) {
  4788. var n = t.len(i);
  4789. return 0 === n ? (e[0] = 0, e[1] = 0) : (e[0] = i[0] / n, e[1] = i[1] / n), e
  4790. }, distance: function (e, t) {
  4791. return Math.sqrt((e[0] - t[0]) * (e[0] - t[0]) + (e[1] - t[1]) * (e[1] - t[1]))
  4792. }, distanceSquare: function (e, t) {
  4793. return (e[0] - t[0]) * (e[0] - t[0]) + (e[1] - t[1]) * (e[1] - t[1])
  4794. }, negate: function (e, t) {
  4795. return e[0] = -t[0], e[1] = -t[1], e
  4796. }, lerp: function (e, t, i, n) {
  4797. return e[0] = t[0] + n * (i[0] - t[0]), e[1] = t[1] + n * (i[1] - t[1]), e
  4798. }, applyTransform: function (e, t, i) {
  4799. var n = t[0], a = t[1];
  4800. return e[0] = i[0] * n + i[2] * a + i[4], e[1] = i[1] * n + i[3] * a + i[5], e
  4801. }, min: function (e, t, i) {
  4802. return e[0] = Math.min(t[0], i[0]), e[1] = Math.min(t[1], i[1]), e
  4803. }, max: function (e, t, i) {
  4804. return e[0] = Math.max(t[0], i[0]), e[1] = Math.max(t[1], i[1]), e
  4805. }
  4806. };
  4807. return t.length = t.len, t.lengthSquare = t.lenSquare, t.dist = t.distance, t.distSquare = t.distanceSquare, t
  4808. }), i("zrender/tool/matrix", [], function () {
  4809. var e = "undefined" == typeof Float32Array ? Array : Float32Array, t = {
  4810. create: function () {
  4811. var i = new e(6);
  4812. return t.identity(i), i
  4813. }, identity: function (e) {
  4814. return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 1, e[4] = 0, e[5] = 0, e
  4815. }, copy: function (e, t) {
  4816. 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
  4817. }, mul: function (e, t, i) {
  4818. 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
  4819. }, translate: function (e, t, i) {
  4820. 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
  4821. }, rotate: function (e, t, i) {
  4822. var n = t[0], a = t[2], o = t[4], r = t[1], s = t[3], l = t[5], h = Math.sin(i), m = Math.cos(i);
  4823. 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
  4824. }, scale: function (e, t, i) {
  4825. var n = i[0], a = i[1];
  4826. 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
  4827. }, invert: function (e, t) {
  4828. var i = t[0], n = t[2], a = t[4], o = t[1], r = t[3], s = t[5], l = i * r - o * n;
  4829. 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
  4830. }
  4831. };
  4832. return t
  4833. }), i("zrender/loadingEffect/Base", ["require", "../tool/util", "../shape/Text", "../shape/Rectangle"], function (e) {
  4834. function t(e) {
  4835. this.setOptions(e)
  4836. }
  4837. var i = e("../tool/util"), n = e("../shape/Text"), a = e("../shape/Rectangle"), o = "Loading...",
  4838. r = "normal 16px Arial";
  4839. return t.prototype.createTextShape = function (e) {
  4840. return new n({
  4841. highlightStyle: i.merge({
  4842. x: this.canvasWidth / 2,
  4843. y: this.canvasHeight / 2,
  4844. text: o,
  4845. textAlign: "center",
  4846. textBaseline: "middle",
  4847. textFont: r,
  4848. color: "#333",
  4849. brushType: "fill"
  4850. }, e, !0)
  4851. })
  4852. }, t.prototype.createBackgroundShape = function (e) {
  4853. return new a({
  4854. highlightStyle: {
  4855. x: 0,
  4856. y: 0,
  4857. width: this.canvasWidth,
  4858. height: this.canvasHeight,
  4859. brushType: "fill",
  4860. color: e
  4861. }
  4862. })
  4863. }, t.prototype.start = function (e) {
  4864. function t(t) {
  4865. e.storage.addHover(t)
  4866. }
  4867. function i() {
  4868. e.refreshHover()
  4869. }
  4870. this.canvasWidth = e._width, this.canvasHeight = e._height, this.loadingTimer = this._start(t, i)
  4871. }, t.prototype._start = function () {
  4872. return setInterval(function () {
  4873. }, 1e4)
  4874. }, t.prototype.stop = function () {
  4875. clearInterval(this.loadingTimer)
  4876. }, t.prototype.setOptions = function (e) {
  4877. this.options = e || {}
  4878. }, t.prototype.adjust = function (e, t) {
  4879. return e <= t[0] ? e = t[0] : e >= t[1] && (e = t[1]), e
  4880. }, t.prototype.getLocation = function (e, t, i) {
  4881. var n = null != e.x ? e.x : "center";
  4882. switch (n) {
  4883. case"center":
  4884. n = Math.floor((this.canvasWidth - t) / 2);
  4885. break;
  4886. case"left":
  4887. n = 0;
  4888. break;
  4889. case"right":
  4890. n = this.canvasWidth - t
  4891. }
  4892. var a = null != e.y ? e.y : "center";
  4893. switch (a) {
  4894. case"center":
  4895. a = Math.floor((this.canvasHeight - i) / 2);
  4896. break;
  4897. case"top":
  4898. a = 0;
  4899. break;
  4900. case"bottom":
  4901. a = this.canvasHeight - i
  4902. }
  4903. return {x: n, y: a, width: t, height: i}
  4904. }, t
  4905. }), i("zrender/Layer", ["require", "./mixin/Transformable", "./tool/util", "./config"], function (e) {
  4906. function t() {
  4907. return !1
  4908. }
  4909. function i(e, t, i) {
  4910. var n = document.createElement(t), a = i.getWidth(), o = i.getHeight();
  4911. 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
  4912. }
  4913. var n = e("./mixin/Transformable"), a = e("./tool/util"), o = window.G_vmlCanvasManager, r = e("./config"),
  4914. s = function (e, a) {
  4915. 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)
  4916. };
  4917. return s.prototype.initContext = function () {
  4918. this.ctx = this.dom.getContext("2d");
  4919. var e = r.devicePixelRatio;
  4920. 1 != e && this.ctx.scale(e, e)
  4921. }, s.prototype.createBackBuffer = function () {
  4922. if (!o) {
  4923. this.domBack = i("back-" + this.id, "canvas", this.painter), this.ctxBack = this.domBack.getContext("2d");
  4924. var e = r.devicePixelRatio;
  4925. 1 != e && this.ctxBack.scale(e, e)
  4926. }
  4927. }, s.prototype.resize = function (e, t) {
  4928. var i = r.devicePixelRatio;
  4929. 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))
  4930. }, s.prototype.clear = function () {
  4931. var e = this.dom, t = this.ctx, i = e.width, n = e.height, a = this.clearColor && !o,
  4932. s = this.motionBlur && !o, l = this.lastFrameAlpha, h = r.devicePixelRatio;
  4933. 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) {
  4934. var m = this.domBack;
  4935. t.save(), t.globalAlpha = l, t.drawImage(m, 0, 0, i / h, n / h), t.restore()
  4936. }
  4937. }, a.merge(s.prototype, n.prototype), s
  4938. }), i("zrender/shape/Text", ["require", "../tool/area", "./Base", "../tool/util"], function (e) {
  4939. var t = e("../tool/area"), i = e("./Base"), n = function (e) {
  4940. i.call(this, e)
  4941. };
  4942. return n.prototype = {
  4943. type: "text", brush: function (e, i) {
  4944. var n = this.style;
  4945. if (i && (n = this.getHighlightStyle(n, this.highlightStyle || {})), "undefined" != typeof n.text && n.text !== !1) {
  4946. 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";
  4947. var a, o = (n.text + "").split("\n"), r = t.getTextHeight("国", n.textFont), s = this.getRect(n),
  4948. l = n.x;
  4949. a = "top" == n.textBaseline ? s.y : "bottom" == n.textBaseline ? s.y + r : s.y + r / 2;
  4950. for (var h = 0, m = o.length; m > h; h++) {
  4951. if (n.maxWidth) switch (n.brushType) {
  4952. case"fill":
  4953. e.fillText(o[h], l, a, n.maxWidth);
  4954. break;
  4955. case"stroke":
  4956. e.strokeText(o[h], l, a, n.maxWidth);
  4957. break;
  4958. case"both":
  4959. e.fillText(o[h], l, a, n.maxWidth), e.strokeText(o[h], l, a, n.maxWidth);
  4960. break;
  4961. default:
  4962. e.fillText(o[h], l, a, n.maxWidth)
  4963. } else switch (n.brushType) {
  4964. case"fill":
  4965. e.fillText(o[h], l, a);
  4966. break;
  4967. case"stroke":
  4968. e.strokeText(o[h], l, a);
  4969. break;
  4970. case"both":
  4971. e.fillText(o[h], l, a), e.strokeText(o[h], l, a);
  4972. break;
  4973. default:
  4974. e.fillText(o[h], l, a)
  4975. }
  4976. a += r
  4977. }
  4978. e.restore()
  4979. }
  4980. }, getRect: function (e) {
  4981. if (e.__rect) return e.__rect;
  4982. var i = t.getTextWidth(e.text, e.textFont), n = t.getTextHeight(e.text, e.textFont), a = e.x;
  4983. "end" == e.textAlign || "right" == e.textAlign ? a -= i : "center" == e.textAlign && (a -= i / 2);
  4984. var o;
  4985. return o = "top" == e.textBaseline ? e.y : "bottom" == e.textBaseline ? e.y - n : e.y - n / 2, e.__rect = {
  4986. x: a,
  4987. y: o,
  4988. width: i,
  4989. height: n
  4990. }, e.__rect
  4991. }
  4992. }, e("../tool/util").inherits(n, i), n
  4993. }), i("zrender/shape/Rectangle", ["require", "./Base", "../tool/util"], function (e) {
  4994. var t = e("./Base"), i = function (e) {
  4995. t.call(this, e)
  4996. };
  4997. return i.prototype = {
  4998. type: "rectangle", _buildRadiusPath: function (e, t) {
  4999. var i, n, a, o, r = t.x, s = t.y, l = t.width, h = t.height, m = t.radius;
  5000. "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;
  5001. var V;
  5002. 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)
  5003. }, buildPath: function (e, t) {
  5004. 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()
  5005. }, getRect: function (e) {
  5006. if (e.__rect) return e.__rect;
  5007. var t;
  5008. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  5009. x: Math.round(e.x - t / 2),
  5010. y: Math.round(e.y - t / 2),
  5011. width: e.width + t,
  5012. height: e.height + t
  5013. }, e.__rect
  5014. }
  5015. }, e("../tool/util").inherits(i, t), i
  5016. }), i("zrender/tool/area", ["require", "./util", "./curve"], function (e) {
  5017. "use strict";
  5018. function t(e) {
  5019. return e %= C, 0 > e && (e += C), e
  5020. }
  5021. function i(e, t, i, o) {
  5022. if (!t || !e) return !1;
  5023. var r = e.type;
  5024. L = L || W.getContext();
  5025. var s = n(e, t, i, o);
  5026. if ("undefined" != typeof s) return s;
  5027. if (e.buildPath && L.isPointInPath) return a(e, L, t, i, o);
  5028. switch (r) {
  5029. case"ellipse":
  5030. return !0;
  5031. case"trochoid":
  5032. var l = "out" == t.location ? t.r1 + t.r2 + t.d : t.r1 - t.r2 + t.d;
  5033. return d(t, i, o, l);
  5034. case"rose":
  5035. return d(t, i, o, t.maxr);
  5036. default:
  5037. return !1
  5038. }
  5039. }
  5040. function n(e, t, i, n) {
  5041. var a = e.type;
  5042. switch (a) {
  5043. case"bezier-curve":
  5044. 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);
  5045. case"line":
  5046. return r(t.xStart, t.yStart, t.xEnd, t.yEnd, t.lineWidth, i, n);
  5047. case"polyline":
  5048. return m(t.pointList, t.lineWidth, i, n);
  5049. case"ring":
  5050. return V(t.x, t.y, t.r0, t.r, i, n);
  5051. case"circle":
  5052. return d(t.x, t.y, t.r, i, n);
  5053. case"sector":
  5054. var o = t.startAngle * Math.PI / 180, h = t.endAngle * Math.PI / 180;
  5055. return t.clockWise || (o = -o, h = -h), p(t.x, t.y, t.r0, t.r, o, h, !t.clockWise, i, n);
  5056. case"path":
  5057. return t.pathArray && k(t.pathArray, Math.max(t.lineWidth, 5), t.brushType, i, n);
  5058. case"polygon":
  5059. case"star":
  5060. case"isogon":
  5061. return c(t.pointList, i, n);
  5062. case"text":
  5063. var u = t.__rect || e.getRect(t);
  5064. return U(u.x, u.y, u.width, u.height, i, n);
  5065. case"rectangle":
  5066. case"image":
  5067. return U(t.x, t.y, t.width, t.height, i, n)
  5068. }
  5069. }
  5070. function a(e, t, i, n, a) {
  5071. return t.beginPath(), e.buildPath(t, i), t.closePath(), t.isPointInPath(n, a)
  5072. }
  5073. function o(e, t, n, a) {
  5074. return !i(e, t, n, a)
  5075. }
  5076. function r(e, t, i, n, a, o, r) {
  5077. if (0 === a) return !1;
  5078. var s = Math.max(a, 5), l = 0, h = e;
  5079. 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;
  5080. if (e === i) return Math.abs(o - e) <= s / 2;
  5081. l = (t - n) / (e - i), h = (e * n - i * t) / (e - i);
  5082. var m = l * o - r + h, V = m * m / (l * l + 1);
  5083. return s / 2 * s / 2 >= V
  5084. }
  5085. function s(e, t, i, n, a, o, r, s, l, h, m) {
  5086. if (0 === l) return !1;
  5087. var V = Math.max(l, 5);
  5088. 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;
  5089. var U = X.cubicProjectPoint(e, t, i, n, a, o, r, s, h, m, null);
  5090. return V / 2 >= U
  5091. }
  5092. function l(e, t, i, n, a, o, r, s, l) {
  5093. if (0 === r) return !1;
  5094. var h = Math.max(r, 5);
  5095. 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;
  5096. var m = X.quadraticProjectPoint(e, t, i, n, a, o, s, l, null);
  5097. return h / 2 >= m
  5098. }
  5099. function h(e, i, n, a, o, r, s, l, h) {
  5100. if (0 === s) return !1;
  5101. var m = Math.max(s, 5);
  5102. l -= e, h -= i;
  5103. var V = Math.sqrt(l * l + h * h);
  5104. if (V - m > n || n > V + m) return !1;
  5105. if (Math.abs(a - o) >= C) return !0;
  5106. if (r) {
  5107. var U = a;
  5108. a = t(o), o = t(U)
  5109. } else a = t(a), o = t(o);
  5110. a > o && (o += C);
  5111. var d = Math.atan2(h, l);
  5112. return 0 > d && (d += C), d >= a && o >= d || d + C >= a && o >= d + C
  5113. }
  5114. function m(e, t, i, n) {
  5115. for (var t = Math.max(t, 10), a = 0, o = e.length - 1; o > a; a++) {
  5116. var s = e[a][0], l = e[a][1], h = e[a + 1][0], m = e[a + 1][1];
  5117. if (r(s, l, h, m, t, i, n)) return !0
  5118. }
  5119. return !1
  5120. }
  5121. function V(e, t, i, n, a, o) {
  5122. var r = (a - e) * (a - e) + (o - t) * (o - t);
  5123. return n * n > r && r > i * i
  5124. }
  5125. function U(e, t, i, n, a, o) {
  5126. return a >= e && e + i >= a && o >= t && t + n >= o
  5127. }
  5128. function d(e, t, i, n, a) {
  5129. return i * i > (n - e) * (n - e) + (a - t) * (a - t)
  5130. }
  5131. function p(e, t, i, n, a, o, r, s, l) {
  5132. return h(e, t, (i + n) / 2, a, o, r, n - i, s, l)
  5133. }
  5134. function c(e, t, i) {
  5135. for (var n = e.length, a = 0, o = 0, r = n - 1; n > o; o++) {
  5136. var s = e[r][0], l = e[r][1], h = e[o][0], m = e[o][1];
  5137. a += u(s, l, h, m, t, i), r = o
  5138. }
  5139. return 0 !== a
  5140. }
  5141. function u(e, t, i, n, a, o) {
  5142. if (o > t && o > n || t > o && n > o) return 0;
  5143. if (n == t) return 0;
  5144. var r = t > n ? 1 : -1, s = (o - t) / (n - t), l = s * (i - e) + e;
  5145. return l > a ? r : 0
  5146. }
  5147. function y() {
  5148. var e = E[0];
  5149. E[0] = E[1], E[1] = e
  5150. }
  5151. function g(e, t, i, n, a, o, r, s, l, h) {
  5152. if (h > t && h > n && h > o && h > s || t > h && n > h && o > h && s > h) return 0;
  5153. var m = X.cubicRootAt(t, n, o, s, h, S);
  5154. if (0 === m) return 0;
  5155. for (var V, U, d = 0, p = -1, c = 0; m > c; c++) {
  5156. var u = S[c], g = X.cubicAt(e, i, a, r, u);
  5157. 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)
  5158. }
  5159. return d
  5160. }
  5161. function b(e, t, i, n, a, o, r, s) {
  5162. if (s > t && s > n && s > o || t > s && n > s && o > s) return 0;
  5163. var l = X.quadraticRootAt(t, n, o, s, S);
  5164. if (0 === l) return 0;
  5165. var h = X.quadraticExtremum(t, n, o);
  5166. if (h >= 0 && 1 >= h) {
  5167. for (var m = 0, V = X.quadraticAt(t, n, o, h), U = 0; l > U; U++) {
  5168. var d = X.quadraticAt(e, i, a, S[U]);
  5169. r > d || (m += S[U] < h ? t > V ? 1 : -1 : V > o ? 1 : -1)
  5170. }
  5171. return m
  5172. }
  5173. var d = X.quadraticAt(e, i, a, S[0]);
  5174. return r > d ? 0 : t > o ? 1 : -1
  5175. }
  5176. function f(e, i, n, a, o, r, s, l) {
  5177. if (l -= i, l > n || -n > l) return 0;
  5178. var h = Math.sqrt(n * n - l * l);
  5179. if (S[0] = -h, S[1] = h, Math.abs(a - o) >= C) {
  5180. a = 0, o = C;
  5181. var m = r ? 1 : -1;
  5182. return s >= S[0] + e && s <= S[1] + e ? m : 0
  5183. }
  5184. if (r) {
  5185. var h = a;
  5186. a = t(o), o = t(h)
  5187. } else a = t(a), o = t(o);
  5188. a > o && (o += C);
  5189. for (var V = 0, U = 0; 2 > U; U++) {
  5190. var d = S[U];
  5191. if (d + e > s) {
  5192. var p = Math.atan2(l, d), m = r ? 1 : -1;
  5193. 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)
  5194. }
  5195. }
  5196. return V
  5197. }
  5198. function k(e, t, i, n, a) {
  5199. var o = 0, m = 0, V = 0, U = 0, d = 0, p = !0, c = !0;
  5200. i = i || "fill";
  5201. for (var y = "stroke" === i || "both" === i, k = "fill" === i || "both" === i, x = 0; x < e.length; x++) {
  5202. var _ = e[x], L = _.points;
  5203. if (p || "M" === _.command) {
  5204. if (x > 0 && (k && (o += u(m, V, U, d, n, a)), 0 !== o)) return !0;
  5205. U = L[L.length - 2], d = L[L.length - 1], p = !1, c && "A" !== _.command && (c = !1, m = U, V = d)
  5206. }
  5207. switch (_.command) {
  5208. case"M":
  5209. m = L[0], V = L[1];
  5210. break;
  5211. case"L":
  5212. if (y && r(m, V, L[0], L[1], t, n, a)) return !0;
  5213. k && (o += u(m, V, L[0], L[1], n, a)), m = L[0], V = L[1];
  5214. break;
  5215. case"C":
  5216. if (y && s(m, V, L[0], L[1], L[2], L[3], L[4], L[5], t, n, a)) return !0;
  5217. 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];
  5218. break;
  5219. case"Q":
  5220. if (y && l(m, V, L[0], L[1], L[2], L[3], t, n, a)) return !0;
  5221. k && (o += b(m, V, L[0], L[1], L[2], L[3], n, a)), m = L[2], V = L[3];
  5222. break;
  5223. case"A":
  5224. var W = L[0], X = L[1], v = L[2], w = L[3], K = L[4], I = L[5], J = Math.cos(K) * v + W,
  5225. C = Math.sin(K) * w + X;
  5226. c ? (c = !1, U = J, d = C) : o += u(m, V, J, C);
  5227. var S = (n - W) * w / v + W;
  5228. if (y && h(W, X, w, K, K + I, 1 - L[7], t, S, a)) return !0;
  5229. 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;
  5230. break;
  5231. case"z":
  5232. if (y && r(m, V, U, d, t, n, a)) return !0;
  5233. p = !0
  5234. }
  5235. }
  5236. return k && (o += u(m, V, U, d, n, a)), 0 !== o
  5237. }
  5238. function x(e, t) {
  5239. var i = e + ":" + t;
  5240. if (v[i]) return v[i];
  5241. L = L || W.getContext(), L.save(), t && (L.font = t), e = (e + "").split("\n");
  5242. for (var n = 0, a = 0, o = e.length; o > a; a++) n = Math.max(L.measureText(e[a]).width, n);
  5243. return L.restore(), v[i] = n, ++K > J && (K = 0, v = {}), n
  5244. }
  5245. function _(e, t) {
  5246. var i = e + ":" + t;
  5247. if (w[i]) return w[i];
  5248. L = L || W.getContext(), L.save(), t && (L.font = t), e = (e + "").split("\n");
  5249. var n = (L.measureText("国").width + 2) * e.length;
  5250. return L.restore(), w[i] = n, ++I > J && (I = 0, w = {}), n
  5251. }
  5252. var L, W = e("./util"), X = e("./curve"), v = {}, w = {}, K = 0, I = 0, J = 5e3, C = 2 * Math.PI,
  5253. S = [-1, -1, -1], E = [-1, -1];
  5254. return {
  5255. isInside: i,
  5256. isOutside: o,
  5257. getTextWidth: x,
  5258. getTextHeight: _,
  5259. isInsidePath: k,
  5260. isInsidePolygon: c,
  5261. isInsideSector: p,
  5262. isInsideCircle: d,
  5263. isInsideLine: r,
  5264. isInsideRect: U,
  5265. isInsidePolyline: m,
  5266. isInsideCubicStroke: s,
  5267. isInsideQuadraticStroke: l
  5268. }
  5269. }), i("zrender/shape/Base", ["require", "../tool/matrix", "../tool/guid", "../tool/util", "../tool/log", "../mixin/Transformable", "../mixin/Eventful", "../tool/area", "../tool/color"], function (e) {
  5270. function t(t, n, a, o, r, s, l) {
  5271. r && (t.font = r), t.textAlign = s, t.textBaseline = l;
  5272. var h = i(n, a, o, r, s, l);
  5273. n = (n + "").split("\n");
  5274. var m = e("../tool/area").getTextHeight("国", r);
  5275. switch (l) {
  5276. case"top":
  5277. o = h.y;
  5278. break;
  5279. case"bottom":
  5280. o = h.y + m;
  5281. break;
  5282. default:
  5283. o = h.y + m / 2
  5284. }
  5285. for (var V = 0, U = n.length; U > V; V++) t.fillText(n[V], a, o), o += m
  5286. }
  5287. function i(t, i, n, a, o, r) {
  5288. var s = e("../tool/area"), l = s.getTextWidth(t, a), h = s.getTextHeight("国", a);
  5289. switch (t = (t + "").split("\n"), o) {
  5290. case"end":
  5291. case"right":
  5292. i -= l;
  5293. break;
  5294. case"center":
  5295. i -= l / 2
  5296. }
  5297. switch (r) {
  5298. case"top":
  5299. break;
  5300. case"bottom":
  5301. n -= h * t.length;
  5302. break;
  5303. default:
  5304. n -= h * t.length / 2
  5305. }
  5306. return {x: i, y: n, width: l, height: h * t.length}
  5307. }
  5308. var n = window.G_vmlCanvasManager, a = e("../tool/matrix"), o = e("../tool/guid"), r = e("../tool/util"),
  5309. s = e("../tool/log"), l = e("../mixin/Transformable"), h = e("../mixin/Eventful"), m = function (e) {
  5310. e = e || {}, this.id = e.id || o();
  5311. for (var t in e) this[t] = e[t];
  5312. this.style = this.style || {}, this.highlightStyle = this.highlightStyle || null, this.parent = null, this.__dirty = !0, this.__clipShapes = [], l.call(this), h.call(this)
  5313. };
  5314. 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) {
  5315. var i = this.beforeBrush(e, t);
  5316. switch (e.beginPath(), this.buildPath(e, i), i.brushType) {
  5317. case"both":
  5318. e.fill();
  5319. case"stroke":
  5320. i.lineWidth > 0 && e.stroke();
  5321. break;
  5322. default:
  5323. e.fill()
  5324. }
  5325. this.drawText(e, i, this.style), this.afterBrush(e)
  5326. }, m.prototype.beforeBrush = function (e, t) {
  5327. var i = this.style;
  5328. 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
  5329. }, m.prototype.afterBrush = function (e) {
  5330. e.restore()
  5331. };
  5332. var V = [["color", "fillStyle"], ["strokeColor", "strokeStyle"], ["opacity", "globalAlpha"], ["lineCap", "lineCap"], ["lineJoin", "lineJoin"], ["miterLimit", "miterLimit"], ["lineWidth", "lineWidth"], ["shadowBlur", "shadowBlur"], ["shadowColor", "shadowColor"], ["shadowOffsetX", "shadowOffsetX"], ["shadowOffsetY", "shadowOffsetY"]];
  5333. m.prototype.setContext = function (e, t) {
  5334. for (var i = 0, n = V.length; n > i; i++) {
  5335. var a = V[i][0], o = t[a], r = V[i][1];
  5336. "undefined" != typeof o && (e[r] = o)
  5337. }
  5338. };
  5339. var U = a.create();
  5340. return m.prototype.doClip = function (e) {
  5341. if (this.__clipShapes && !n) for (var t = 0; t < this.__clipShapes.length; t++) {
  5342. var i = this.__clipShapes[t];
  5343. if (i.needTransform) {
  5344. var o = i.transform;
  5345. a.invert(U, o), e.transform(o[0], o[1], o[2], o[3], o[4], o[5])
  5346. }
  5347. if (e.beginPath(), i.buildPath(e, i.style), e.clip(), i.needTransform) {
  5348. var o = U;
  5349. e.transform(o[0], o[1], o[2], o[3], o[4], o[5])
  5350. }
  5351. }
  5352. }, m.prototype.getHighlightStyle = function (t, i, n) {
  5353. var a = {};
  5354. for (var o in t) a[o] = t[o];
  5355. var r = e("../tool/color"), s = r.getHighlightColor();
  5356. "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));
  5357. for (var o in i) "undefined" != typeof i[o] && (a[o] = i[o]);
  5358. return a
  5359. }, m.prototype.getHighlightZoom = function () {
  5360. return "text" != this.type ? 6 : 2
  5361. }, m.prototype.drift = function (e, t) {
  5362. this.position[0] += e, this.position[1] += t
  5363. }, m.prototype.buildPath = function () {
  5364. s("buildPath not implemented in " + this.type)
  5365. }, m.prototype.getRect = function () {
  5366. s("getRect not implemented in " + this.type)
  5367. }, m.prototype.isCover = function (t, i) {
  5368. var n = this.transformCoordToLocal(t, i);
  5369. return t = n[0], i = n[1], this.isCoverRect(t, i) ? e("../tool/area").isInside(this, this.style, t, i) : !1
  5370. }, m.prototype.isCoverRect = function (e, t) {
  5371. var i = this.style.__rect;
  5372. 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
  5373. }, m.prototype.drawText = function (e, i, n) {
  5374. if ("undefined" != typeof i.text && i.text !== !1) {
  5375. var a = i.textColor || i.color || i.strokeColor;
  5376. e.fillStyle = a;
  5377. var o, r, s, l, h = 10, m = i.textPosition || this.textPosition || "top";
  5378. switch (m) {
  5379. case"inside":
  5380. case"top":
  5381. case"bottom":
  5382. case"left":
  5383. case"right":
  5384. if (this.getRect) {
  5385. var V = (n || i).__rect || this.getRect(n || i);
  5386. switch (m) {
  5387. case"inside":
  5388. 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");
  5389. break;
  5390. case"left":
  5391. s = V.x - h, l = V.y + V.height / 2, o = "end", r = "middle";
  5392. break;
  5393. case"right":
  5394. s = V.x + V.width + h, l = V.y + V.height / 2, o = "start", r = "middle";
  5395. break;
  5396. case"top":
  5397. s = V.x + V.width / 2, l = V.y - h, o = "center", r = "bottom";
  5398. break;
  5399. case"bottom":
  5400. s = V.x + V.width / 2, l = V.y + V.height + h, o = "center", r = "top"
  5401. }
  5402. }
  5403. break;
  5404. case"start":
  5405. case"end":
  5406. var U = i.pointList || [[i.xStart || 0, i.yStart || 0], [i.xEnd || 0, i.yEnd || 0]],
  5407. d = U.length;
  5408. if (2 > d) return;
  5409. var p, c, u, y;
  5410. switch (m) {
  5411. case"start":
  5412. p = U[1][0], c = U[0][0], u = U[1][1], y = U[0][1];
  5413. break;
  5414. case"end":
  5415. p = U[d - 2][0], c = U[d - 1][0], u = U[d - 2][1], y = U[d - 1][1]
  5416. }
  5417. s = c, l = y;
  5418. var g = Math.atan((u - y) / (c - p)) / Math.PI * 180;
  5419. 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);
  5420. break;
  5421. case"specific":
  5422. s = i.textX || 0, l = i.textY || 0, o = "start", r = "middle"
  5423. }
  5424. null != s && null != l && t(e, i.text, s, l, i.textFont, i.textAlign || o, i.textBaseline || r)
  5425. }
  5426. }, m.prototype.modSelf = function () {
  5427. this.__dirty = !0, this.style && (this.style.__rect = null), this.highlightStyle && (this.highlightStyle.__rect = null)
  5428. }, m.prototype.isSilent = function () {
  5429. 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)
  5430. }, r.merge(m.prototype, l.prototype, !0), r.merge(m.prototype, h.prototype, !0), m
  5431. }), i("zrender/tool/curve", ["require", "./vector"], function (e) {
  5432. function t(e) {
  5433. return e > -u && u > e
  5434. }
  5435. function i(e) {
  5436. return e > u || -u > e
  5437. }
  5438. function n(e, t, i, n, a) {
  5439. var o = 1 - a;
  5440. return o * o * (o * e + 3 * a * t) + a * a * (a * n + 3 * o * i)
  5441. }
  5442. function a(e, t, i, n, a) {
  5443. var o = 1 - a;
  5444. return 3 * (((t - e) * o + 2 * (i - t) * a) * o + (n - i) * a * a)
  5445. }
  5446. function o(e, i, n, a, o, r) {
  5447. var s = a + 3 * (i - n) - e, l = 3 * (n - 2 * i + e), h = 3 * (i - e), m = e - o, V = l * l - 3 * s * h,
  5448. U = l * h - 9 * s * m, d = h * h - 3 * l * m, p = 0;
  5449. if (t(V) && t(U)) if (t(l)) r[0] = 0; else {
  5450. var c = -h / l;
  5451. c >= 0 && 1 >= c && (r[p++] = c)
  5452. } else {
  5453. var u = U * U - 4 * V * d;
  5454. if (t(u)) {
  5455. var b = U / V, c = -l / s + b, f = -b / 2;
  5456. c >= 0 && 1 >= c && (r[p++] = c), f >= 0 && 1 >= f && (r[p++] = f)
  5457. } else if (u > 0) {
  5458. var k = Math.sqrt(u), x = V * l + 1.5 * s * (-U + k), _ = V * l + 1.5 * s * (-U - k);
  5459. x = 0 > x ? -Math.pow(-x, g) : Math.pow(x, g), _ = 0 > _ ? -Math.pow(-_, g) : Math.pow(_, g);
  5460. var c = (-l - (x + _)) / (3 * s);
  5461. c >= 0 && 1 >= c && (r[p++] = c)
  5462. } else {
  5463. var L = (2 * V * l - 3 * s * U) / (2 * Math.sqrt(V * V * V)), W = Math.acos(L) / 3,
  5464. X = Math.sqrt(V), v = Math.cos(W), c = (-l - 2 * X * v) / (3 * s),
  5465. f = (-l + X * (v + y * Math.sin(W))) / (3 * s), w = (-l + X * (v - y * Math.sin(W))) / (3 * s);
  5466. c >= 0 && 1 >= c && (r[p++] = c), f >= 0 && 1 >= f && (r[p++] = f), w >= 0 && 1 >= w && (r[p++] = w)
  5467. }
  5468. }
  5469. return p
  5470. }
  5471. function r(e, n, a, o, r) {
  5472. var s = 6 * a - 12 * n + 6 * e, l = 9 * n + 3 * o - 3 * e - 9 * a, h = 3 * n - 3 * e, m = 0;
  5473. if (t(l)) {
  5474. if (i(s)) {
  5475. var V = -h / s;
  5476. V >= 0 && 1 >= V && (r[m++] = V)
  5477. }
  5478. } else {
  5479. var U = s * s - 4 * l * h;
  5480. if (t(U)) r[0] = -s / (2 * l); else if (U > 0) {
  5481. var d = Math.sqrt(U), V = (-s + d) / (2 * l), p = (-s - d) / (2 * l);
  5482. V >= 0 && 1 >= V && (r[m++] = V), p >= 0 && 1 >= p && (r[m++] = p)
  5483. }
  5484. }
  5485. return m
  5486. }
  5487. function s(e, t, i, n, a, o) {
  5488. var r = (t - e) * a + e, s = (i - t) * a + t, l = (n - i) * a + i, h = (s - r) * a + r, m = (l - s) * a + s,
  5489. V = (m - h) * a + h;
  5490. o[0] = e, o[1] = r, o[2] = h, o[3] = V, o[4] = V, o[5] = m, o[6] = l, o[7] = n
  5491. }
  5492. function l(e, t, i, a, o, r, s, l, h, m, V) {
  5493. var U, d = .005, p = 1 / 0;
  5494. b[0] = h, b[1] = m;
  5495. for (var y = 0; 1 > y; y += .05) {
  5496. f[0] = n(e, i, o, s, y), f[1] = n(t, a, r, l, y);
  5497. var g = c.distSquare(b, f);
  5498. p > g && (U = y, p = g)
  5499. }
  5500. p = 1 / 0;
  5501. for (var x = 0; 32 > x && !(u > d); x++) {
  5502. var _ = U - d, L = U + d;
  5503. f[0] = n(e, i, o, s, _), f[1] = n(t, a, r, l, _);
  5504. var g = c.distSquare(f, b);
  5505. if (_ >= 0 && p > g) U = _, p = g; else {
  5506. k[0] = n(e, i, o, s, L), k[1] = n(t, a, r, l, L);
  5507. var W = c.distSquare(k, b);
  5508. 1 >= L && p > W ? (U = L, p = W) : d *= .5
  5509. }
  5510. }
  5511. return V && (V[0] = n(e, i, o, s, U), V[1] = n(t, a, r, l, U)), Math.sqrt(p)
  5512. }
  5513. function h(e, t, i, n) {
  5514. var a = 1 - n;
  5515. return a * (a * e + 2 * n * t) + n * n * i
  5516. }
  5517. function m(e, t, i, n) {
  5518. return 2 * ((1 - n) * (t - e) + n * (i - t))
  5519. }
  5520. function V(e, n, a, o, r) {
  5521. var s = e - 2 * n + a, l = 2 * (n - e), h = e - o, m = 0;
  5522. if (t(s)) {
  5523. if (i(l)) {
  5524. var V = -h / l;
  5525. V >= 0 && 1 >= V && (r[m++] = V)
  5526. }
  5527. } else {
  5528. var U = l * l - 4 * s * h;
  5529. if (t(U)) {
  5530. var V = -l / (2 * s);
  5531. V >= 0 && 1 >= V && (r[m++] = V)
  5532. } else if (U > 0) {
  5533. var d = Math.sqrt(U), V = (-l + d) / (2 * s), p = (-l - d) / (2 * s);
  5534. V >= 0 && 1 >= V && (r[m++] = V), p >= 0 && 1 >= p && (r[m++] = p)
  5535. }
  5536. }
  5537. return m
  5538. }
  5539. function U(e, t, i) {
  5540. var n = e + i - 2 * t;
  5541. return 0 === n ? .5 : (e - t) / n
  5542. }
  5543. function d(e, t, i, n, a) {
  5544. var o = (t - e) * n + e, r = (i - t) * n + t, s = (r - o) * n + o;
  5545. a[0] = e, a[1] = o, a[2] = s, a[3] = s, a[4] = r, a[5] = i
  5546. }
  5547. function p(e, t, i, n, a, o, r, s, l) {
  5548. var m, V = .005, U = 1 / 0;
  5549. b[0] = r, b[1] = s;
  5550. for (var d = 0; 1 > d; d += .05) {
  5551. f[0] = h(e, i, a, d), f[1] = h(t, n, o, d);
  5552. var p = c.distSquare(b, f);
  5553. U > p && (m = d, U = p)
  5554. }
  5555. U = 1 / 0;
  5556. for (var y = 0; 32 > y && !(u > V); y++) {
  5557. var g = m - V, x = m + V;
  5558. f[0] = h(e, i, a, g), f[1] = h(t, n, o, g);
  5559. var p = c.distSquare(f, b);
  5560. if (g >= 0 && U > p) m = g, U = p; else {
  5561. k[0] = h(e, i, a, x), k[1] = h(t, n, o, x);
  5562. var _ = c.distSquare(k, b);
  5563. 1 >= x && U > _ ? (m = x, U = _) : V *= .5
  5564. }
  5565. }
  5566. return l && (l[0] = h(e, i, a, m), l[1] = h(t, n, o, m)), Math.sqrt(U)
  5567. }
  5568. var c = e("./vector"), u = 1e-4, y = Math.sqrt(3), g = 1 / 3, b = c.create(), f = c.create(), k = c.create();
  5569. return {
  5570. cubicAt: n,
  5571. cubicDerivativeAt: a,
  5572. cubicRootAt: o,
  5573. cubicExtrema: r,
  5574. cubicSubdivide: s,
  5575. cubicProjectPoint: l,
  5576. quadraticAt: h,
  5577. quadraticDerivativeAt: m,
  5578. quadraticRootAt: V,
  5579. quadraticExtremum: U,
  5580. quadraticSubdivide: d,
  5581. quadraticProjectPoint: p
  5582. }
  5583. }), i("zrender/mixin/Transformable", ["require", "../tool/matrix", "../tool/vector"], function (e) {
  5584. "use strict";
  5585. function t(e) {
  5586. return e > -s && s > e
  5587. }
  5588. function i(e) {
  5589. return e > s || -s > e
  5590. }
  5591. var n = e("../tool/matrix"), a = e("../tool/vector"), o = [0, 0], r = n.translate, s = 5e-5, l = function () {
  5592. 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
  5593. };
  5594. return l.prototype = {
  5595. constructor: l, updateNeedTransform: function () {
  5596. this.needLocalTransform = i(this.rotation[0]) || i(this.position[0]) || i(this.position[1]) || i(this.scale[0] - 1) || i(this.scale[1] - 1)
  5597. }, updateTransform: function () {
  5598. this.updateNeedTransform();
  5599. var e = this.parent && this.parent.needTransform;
  5600. if (this.needTransform = this.needLocalTransform || e, this.needTransform) {
  5601. var t = this.transform || n.create();
  5602. if (n.identity(t), this.needLocalTransform) {
  5603. var a = this.scale;
  5604. if (i(a[0]) || i(a[1])) {
  5605. o[0] = -a[2] || 0, o[1] = -a[3] || 0;
  5606. var s = i(o[0]) || i(o[1]);
  5607. s && r(t, t, o), n.scale(t, t, a), s && (o[0] = -o[0], o[1] = -o[1], r(t, t, o))
  5608. }
  5609. if (this.rotation instanceof Array) {
  5610. if (0 !== this.rotation[0]) {
  5611. o[0] = -this.rotation[1] || 0, o[1] = -this.rotation[2] || 0;
  5612. var s = i(o[0]) || i(o[1]);
  5613. 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))
  5614. }
  5615. } else 0 !== this.rotation && n.rotate(t, t, this.rotation);
  5616. (i(this.position[0]) || i(this.position[1])) && r(t, t, this.position)
  5617. }
  5618. 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)
  5619. }
  5620. }, setTransform: function (e) {
  5621. if (this.needTransform) {
  5622. var t = this.transform;
  5623. e.transform(t[0], t[1], t[2], t[3], t[4], t[5])
  5624. }
  5625. }, lookAt: function () {
  5626. var e = a.create();
  5627. return function (i) {
  5628. this.transform || (this.transform = n.create());
  5629. var o = this.transform;
  5630. if (a.sub(e, i, this.position), !t(e[0]) || !t(e[1])) {
  5631. a.normalize(e, e);
  5632. var r = this.scale;
  5633. 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()
  5634. }
  5635. }
  5636. }(), decomposeTransform: function () {
  5637. if (this.transform) {
  5638. var e = this.transform, t = e[0] * e[0] + e[1] * e[1], n = this.position, a = this.scale,
  5639. o = this.rotation;
  5640. i(t - 1) && (t = Math.sqrt(t));
  5641. var r = e[2] * e[2] + e[3] * e[3];
  5642. 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
  5643. }
  5644. }, transformCoordToLocal: function (e, t) {
  5645. var i = [e, t];
  5646. return this.needTransform && this.invTransform && a.applyTransform(i, i, this.invTransform), i
  5647. }
  5648. }, l
  5649. }), i("zrender/Group", ["require", "./tool/guid", "./tool/util", "./mixin/Transformable", "./mixin/Eventful"], function (e) {
  5650. var t = e("./tool/guid"), i = e("./tool/util"), n = e("./mixin/Transformable"), a = e("./mixin/Eventful"),
  5651. o = function (e) {
  5652. e = e || {}, this.id = e.id || t();
  5653. for (var i in e) this[i] = e[i];
  5654. this.type = "group", this.clipShape = null, this._children = [], this._storage = null, this.__dirty = !0, n.call(this), a.call(this)
  5655. };
  5656. return o.prototype.ignore = !1, o.prototype.children = function () {
  5657. return this._children.slice()
  5658. }, o.prototype.childAt = function (e) {
  5659. return this._children[e]
  5660. }, o.prototype.addChild = function (e) {
  5661. 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)))
  5662. }, o.prototype.removeChild = function (e) {
  5663. var t = i.indexOf(this._children, e);
  5664. t >= 0 && this._children.splice(t, 1), e.parent = null, this._storage && (this._storage.delFromMap(e.id), e instanceof o && e.delChildrenFromStorage(this._storage))
  5665. }, o.prototype.clearChildren = function () {
  5666. for (var e = 0; e < this._children.length; e++) {
  5667. var t = this._children[e];
  5668. this._storage && (this._storage.delFromMap(t.id), t instanceof o && t.delChildrenFromStorage(this._storage))
  5669. }
  5670. this._children.length = 0
  5671. }, o.prototype.eachChild = function (e, t) {
  5672. for (var i = !!t, n = 0; n < this._children.length; n++) {
  5673. var a = this._children[n];
  5674. i ? e.call(t, a) : e(a)
  5675. }
  5676. }, o.prototype.traverse = function (e, t) {
  5677. for (var i = !!t, n = 0; n < this._children.length; n++) {
  5678. var a = this._children[n];
  5679. i ? e.call(t, a) : e(a), "group" === a.type && a.traverse(e, t)
  5680. }
  5681. }, o.prototype.addChildrenToStorage = function (e) {
  5682. for (var t = 0; t < this._children.length; t++) {
  5683. var i = this._children[t];
  5684. e.addToMap(i), i instanceof o && i.addChildrenToStorage(e)
  5685. }
  5686. }, o.prototype.delChildrenFromStorage = function (e) {
  5687. for (var t = 0; t < this._children.length; t++) {
  5688. var i = this._children[t];
  5689. e.delFromMap(i.id), i instanceof o && i.delChildrenFromStorage(e)
  5690. }
  5691. }, o.prototype.modSelf = function () {
  5692. this.__dirty = !0
  5693. }, i.merge(o.prototype, n.prototype, !0), i.merge(o.prototype, a.prototype, !0), o
  5694. }), i("zrender/animation/Clip", ["require", "./easing"], function (e) {
  5695. function t(e) {
  5696. 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
  5697. }
  5698. var i = e("./easing");
  5699. return t.prototype = {
  5700. step: function (e) {
  5701. var t = (e - this._startTime) / this._life;
  5702. if (!(0 > t)) {
  5703. t = Math.min(t, 1);
  5704. var n = "string" == typeof this.easing ? i[this.easing] : this.easing,
  5705. a = "function" == typeof n ? n(t) : t;
  5706. return this.fire("frame", a), 1 == t ? this.loop ? (this.restart(), "restart") : (this.__needsRemove = !0, "destroy") : null
  5707. }
  5708. }, restart: function () {
  5709. var e = (new Date).getTime(), t = (e - this._startTime) % this._life;
  5710. this._startTime = (new Date).getTime() - t + this.gap, this.__needsRemove = !1
  5711. }, fire: function (e, t) {
  5712. for (var i = 0, n = this._targetPool.length; n > i; i++) this["on" + e] && this["on" + e](this._targetPool[i], t)
  5713. }, constructor: t
  5714. }, t
  5715. }), i("zrender/animation/easing", [], function () {
  5716. var e = {
  5717. Linear: function (e) {
  5718. return e
  5719. }, QuadraticIn: function (e) {
  5720. return e * e
  5721. }, QuadraticOut: function (e) {
  5722. return e * (2 - e)
  5723. }, QuadraticInOut: function (e) {
  5724. return (e *= 2) < 1 ? .5 * e * e : -.5 * (--e * (e - 2) - 1)
  5725. }, CubicIn: function (e) {
  5726. return e * e * e
  5727. }, CubicOut: function (e) {
  5728. return --e * e * e + 1
  5729. }, CubicInOut: function (e) {
  5730. return (e *= 2) < 1 ? .5 * e * e * e : .5 * ((e -= 2) * e * e + 2)
  5731. }, QuarticIn: function (e) {
  5732. return e * e * e * e
  5733. }, QuarticOut: function (e) {
  5734. return 1 - --e * e * e * e
  5735. }, QuarticInOut: function (e) {
  5736. return (e *= 2) < 1 ? .5 * e * e * e * e : -.5 * ((e -= 2) * e * e * e - 2)
  5737. }, QuinticIn: function (e) {
  5738. return e * e * e * e * e
  5739. }, QuinticOut: function (e) {
  5740. return --e * e * e * e * e + 1
  5741. }, QuinticInOut: function (e) {
  5742. return (e *= 2) < 1 ? .5 * e * e * e * e * e : .5 * ((e -= 2) * e * e * e * e + 2)
  5743. }, SinusoidalIn: function (e) {
  5744. return 1 - Math.cos(e * Math.PI / 2)
  5745. }, SinusoidalOut: function (e) {
  5746. return Math.sin(e * Math.PI / 2)
  5747. }, SinusoidalInOut: function (e) {
  5748. return .5 * (1 - Math.cos(Math.PI * e))
  5749. }, ExponentialIn: function (e) {
  5750. return 0 === e ? 0 : Math.pow(1024, e - 1)
  5751. }, ExponentialOut: function (e) {
  5752. return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
  5753. }, ExponentialInOut: function (e) {
  5754. return 0 === e ? 0 : 1 === e ? 1 : (e *= 2) < 1 ? .5 * Math.pow(1024, e - 1) : .5 * (-Math.pow(2, -10 * (e - 1)) + 2)
  5755. }, CircularIn: function (e) {
  5756. return 1 - Math.sqrt(1 - e * e)
  5757. }, CircularOut: function (e) {
  5758. return Math.sqrt(1 - --e * e)
  5759. }, CircularInOut: function (e) {
  5760. return (e *= 2) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
  5761. }, ElasticIn: function (e) {
  5762. var t, i = .1, n = .4;
  5763. 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)))
  5764. }, ElasticOut: function (e) {
  5765. var t, i = .1, n = .4;
  5766. 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)
  5767. }, ElasticInOut: function (e) {
  5768. var t, i = .1, n = .4;
  5769. 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)
  5770. }, BackIn: function (e) {
  5771. var t = 1.70158;
  5772. return e * e * ((t + 1) * e - t)
  5773. }, BackOut: function (e) {
  5774. var t = 1.70158;
  5775. return --e * e * ((t + 1) * e + t) + 1
  5776. }, BackInOut: function (e) {
  5777. var t = 2.5949095;
  5778. return (e *= 2) < 1 ? .5 * e * e * ((t + 1) * e - t) : .5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
  5779. }, BounceIn: function (t) {
  5780. return 1 - e.BounceOut(1 - t)
  5781. }, BounceOut: function (e) {
  5782. 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
  5783. }, BounceInOut: function (t) {
  5784. return .5 > t ? .5 * e.BounceIn(2 * t) : .5 * e.BounceOut(2 * t - 1) + .5
  5785. }
  5786. };
  5787. return e
  5788. }), 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) {
  5789. function t(e) {
  5790. return null != e.x && null != e.y
  5791. }
  5792. function i(e, t, i, n, a) {
  5793. p.call(this, e, t, i, n, a);
  5794. var o = this;
  5795. this.selectedMap = {}, this.lastShapeList = [], this.shapeHandler = {
  5796. onclick: function () {
  5797. o.isClick = !0
  5798. }, ondragover: function (e) {
  5799. var t = e.target;
  5800. t.highlightStyle = t.highlightStyle || {};
  5801. var i = t.highlightStyle, n = i.brushTyep, a = i.strokeColor, r = i.lineWidth;
  5802. i.brushType = "stroke", i.strokeColor = o.ecTheme.calculableColor || h.calculableColor, i.lineWidth = "icon" === t.type ? 30 : 10, o.zr.addHoverShape(t), setTimeout(function () {
  5803. i && (i.brushType = n, i.strokeColor = a, i.lineWidth = r)
  5804. }, 20)
  5805. }, ondrop: function (e) {
  5806. null != m.get(e.dragged, "data") && (o.isDrop = !0)
  5807. }, ondragend: function () {
  5808. o.isDragend = !0
  5809. }
  5810. }
  5811. }
  5812. var n = e("zrender/shape/Image"), a = e("../util/shape/Icon"), o = e("../util/shape/MarkLine"),
  5813. r = e("../util/shape/Symbol"), s = e("zrender/shape/Polyline"), l = e("zrender/shape/ShapeBundle"),
  5814. h = e("../config"), m = e("../util/ecData"), V = e("../util/ecAnimation"), U = e("../util/ecEffect"),
  5815. d = e("../util/accMath"), p = e("../component/base"), c = e("../layout/EdgeBundling"),
  5816. u = e("zrender/tool/util"), y = e("zrender/tool/area");
  5817. return i.prototype = {
  5818. setCalculable: function (e) {
  5819. 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
  5820. }, ondrop: function (e, t) {
  5821. if (this.isDrop && e.target && !t.dragIn) {
  5822. var i, n = e.target, a = e.dragged, o = m.get(n, "seriesIndex"), r = m.get(n, "dataIndex"),
  5823. s = this.series, l = this.component.legend;
  5824. if (-1 === r) {
  5825. if (m.get(a, "seriesIndex") == o) return t.dragOut = t.dragIn = t.needRefresh = !0, void (this.isDrop = !1);
  5826. i = {
  5827. value: m.get(a, "value"),
  5828. name: m.get(a, "name")
  5829. }, this.type === h.CHART_TYPE_PIE && i.value < 0 && (i.value = 0);
  5830. 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);
  5831. !V && s[o].data.push(i), l && l.add(i.name, a.style.color || a.style.strokeColor)
  5832. } 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");
  5833. t.dragIn = t.dragIn || !0, this.isDrop = !1;
  5834. var u = this;
  5835. setTimeout(function () {
  5836. u.zr.trigger("mousemove", e.event)
  5837. }, 300)
  5838. }
  5839. }, ondragend: function (e, t) {
  5840. if (this.isDragend && e.target && !t.dragOut) {
  5841. var i = e.target, n = m.get(i, "seriesIndex"), a = m.get(i, "dataIndex"), o = this.series;
  5842. if (null != o[n].data[a].value) {
  5843. o[n].data[a].value = "-";
  5844. var r = o[n].data[a].name, s = this.component.legend;
  5845. s && 0 === s.getRelatedAmount(r) && s.del(r)
  5846. } else o[n].data[a] = "-";
  5847. t.dragOut = !0, t.needRefresh = !0, this.isDragend = !1
  5848. }
  5849. }, onlegendSelected: function (e, t) {
  5850. var i = e.selected;
  5851. for (var n in this.selectedMap) this.selectedMap[n] != i[n] && (t.needRefresh = !0), this.selectedMap[n] = i[n]
  5852. }, _buildPosition: function () {
  5853. this._symbol = this.option.symbolList, this._sIndex2ShapeMap = {}, this._sIndex2ColorMap = {}, this.selectedMap = {}, this.xMarkMap = {};
  5854. for (var e, t, i, n, a = this.series, o = {
  5855. top: [],
  5856. bottom: [],
  5857. left: [],
  5858. right: [],
  5859. other: []
  5860. }, 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));
  5861. for (var l in o) o[l].length > 0 && this._buildSinglePosition(l, o[l]);
  5862. this.addShapeList()
  5863. }, _buildSinglePosition: function (e, t) {
  5864. var i = this._mapData(t), n = i.locationMap, a = i.maxDataLength;
  5865. if (0 !== a && 0 !== n.length) {
  5866. switch (e) {
  5867. case"bottom":
  5868. case"top":
  5869. this._buildHorizontal(t, a, n, this.xMarkMap);
  5870. break;
  5871. case"left":
  5872. case"right":
  5873. this._buildVertical(t, a, n, this.xMarkMap);
  5874. break;
  5875. case"other":
  5876. this._buildOther(t, a, n, this.xMarkMap)
  5877. }
  5878. for (var o = 0, r = t.length; r > o; o++) this.buildMark(t[o])
  5879. }
  5880. }, _mapData: function (e) {
  5881. 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++) {
  5882. 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) {
  5883. if (this.selectedMap[n] = m.isSelected(n), this._sIndex2ColorMap[e[d]] = m.getColor(n), a = m.getItemShape(n)) {
  5884. var c = a.style;
  5885. if (this.type == h.CHART_TYPE_LINE) c.iconType = "legendLineIcon", c.symbol = this._sIndex2ShapeMap[e[d]]; else if (t.itemStyle.normal.barBorderWidth > 0) {
  5886. var u = a.highlightStyle;
  5887. 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
  5888. }
  5889. m.setItemShape(n, a)
  5890. }
  5891. } else this.selectedMap[n] = !0, this._sIndex2ColorMap[e[d]] = this.zr.getColor(e[d]);
  5892. 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)
  5893. }
  5894. return {locationMap: V, maxDataLength: U}
  5895. }, _calculMarkMapXY: function (e, t, i) {
  5896. for (var n = this.series, a = 0, o = t.length; o > a; a++) for (var r = 0, s = t[a].length; s > r; r++) {
  5897. var l = t[a][r], h = "xy" == i ? 0 : "", m = this.component.grid, V = e[l];
  5898. if ("-1" != i.indexOf("x")) {
  5899. V["counter" + h] > 0 && (V["average" + h] = V["sum" + h] / V["counter" + h]);
  5900. var U = this.component.xAxis.getAxis(n[l].xAxisIndex || 0).getCoord(V["average" + h]);
  5901. V["averageLine" + h] = [[U, m.getYend()], [U, m.getY()]], V["minLine" + h] = [[V["minX" + h], m.getYend()], [V["minX" + h], m.getY()]], V["maxLine" + h] = [[V["maxX" + h], m.getYend()], [V["maxX" + h], m.getY()]], V.isHorizontal = !1
  5902. }
  5903. if (h = "xy" == i ? 1 : "", "-1" != i.indexOf("y")) {
  5904. V["counter" + h] > 0 && (V["average" + h] = V["sum" + h] / V["counter" + h]);
  5905. var d = this.component.yAxis.getAxis(n[l].yAxisIndex || 0).getCoord(V["average" + h]);
  5906. V["averageLine" + h] = [[m.getX(), d], [m.getXend(), d]], V["minLine" + h] = [[m.getX(), V["minY" + h]], [m.getXend(), V["minY" + h]]], V["maxLine" + h] = [[m.getX(), V["maxY" + h]], [m.getXend(), V["maxY" + h]]], V.isHorizontal = !0
  5907. }
  5908. }
  5909. }, addLabel: function (e, t, i, n, a) {
  5910. var o = [i, t], r = this.deepMerge(o, "itemStyle.normal.label"),
  5911. s = this.deepMerge(o, "itemStyle.emphasis.label"), l = r.textStyle || {}, h = s.textStyle || {};
  5912. if (r.show) {
  5913. var m = e.style;
  5914. 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
  5915. }
  5916. if (s.show) {
  5917. var V = e.highlightStyle;
  5918. 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
  5919. }
  5920. return e
  5921. }, _getLabelText: function (e, t, i, n) {
  5922. var a = this.deepQuery([t, e], "itemStyle." + n + ".label.formatter");
  5923. a || "emphasis" !== n || (a = this.deepQuery([t, e], "itemStyle.normal.label.formatter"));
  5924. var o = this.getDataFromOption(t, "-");
  5925. return a ? "function" == typeof a ? a.call(this.myChart, {
  5926. seriesName: e.name,
  5927. series: e,
  5928. name: i,
  5929. value: o,
  5930. data: t,
  5931. status: n
  5932. }) : "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)
  5933. }, buildMark: function (e) {
  5934. var t = this.series[e];
  5935. this.selectedMap[t.name] && (t.markLine && this._buildMarkLine(e), t.markPoint && this._buildMarkPoint(e))
  5936. }, _buildMarkPoint: function (e) {
  5937. 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);
  5938. for (var l = this._markPoint(e, o), r = 0, s = l.length; s > r; r++) {
  5939. var m = l[r];
  5940. m.zlevel = a.zlevel, m.z = a.z + 1;
  5941. for (var V in n) m[V] = u.clone(n[V]);
  5942. this.shapeList.push(m)
  5943. }
  5944. if (this.type === h.CHART_TYPE_FORCE || this.type === h.CHART_TYPE_CHORD) for (var r = 0, s = l.length; s > r; r++) this.zr.addShape(l[r])
  5945. }, _buildMarkLine: function (e) {
  5946. 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++) {
  5947. var s = a.data[o];
  5948. !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])
  5949. }
  5950. var m = this._markLine(e, a), V = a.large;
  5951. if (V) {
  5952. var U = new l({style: {shapeList: m}}), d = m[0];
  5953. if (d) {
  5954. 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;
  5955. for (var p in i) U[p] = u.clone(i[p])
  5956. }
  5957. this.shapeList.push(U), this.zr.addShape(U), U._mark = "largeLine";
  5958. var c = a.effect;
  5959. c.show && (U.effect = c)
  5960. } else {
  5961. for (var o = 0, r = m.length; r > o; o++) {
  5962. var y = m[o];
  5963. y.zlevel = n.zlevel, y.z = n.z + 1;
  5964. for (var p in i) y[p] = u.clone(i[p]);
  5965. this.shapeList.push(y)
  5966. }
  5967. if (this.type === h.CHART_TYPE_FORCE || this.type === h.CHART_TYPE_CHORD) for (var o = 0, r = m.length; r > o; o++) this.zr.addShape(m[o])
  5968. }
  5969. }, _markPoint: function (e, t) {
  5970. var i = this.series[e], n = this.component;
  5971. u.merge(u.merge(t, u.clone(this.ecTheme.markPoint || {})), u.clone(h.markPoint)), t.name = i.name;
  5972. var a, o, r, s, l, V, U, d = [], p = t.data, c = n.dataRange, y = n.legend, g = this.zr.getWidth(),
  5973. b = this.zr.getHeight();
  5974. if (t.large) a = this.getLargeMarkPointShape(e, t), a._mark = "largePoint", a && d.push(a); else 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 || {trigger: "item"}, 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)));
  5975. return d
  5976. }, _markLine: function () {
  5977. function e(e, t) {
  5978. e[t] = e[t] instanceof Array ? e[t].length > 1 ? e[t] : [e[t][0], e[t][0]] : [e[t], e[t]]
  5979. }
  5980. return function (i, n) {
  5981. var a = this.series[i], o = this.component, r = o.dataRange, s = o.legend;
  5982. u.merge(u.merge(n, u.clone(this.ecTheme.markLine || {})), u.clone(h.markLine));
  5983. var l = s ? s.getColor(a.name) : this.zr.getColor(i);
  5984. e(n, "symbol"), e(n, "symbolSize"), e(n, "symbolRotate");
  5985. for (var V = n.data, U = [], d = this.zr.getWidth(), p = this.zr.getHeight(), y = 0; y < V.length; y++) {
  5986. var g = V[y];
  5987. if (t(g[0]) && t(g[1])) {
  5988. var b = this.deepMerge(g), f = [b, n], k = l, x = null != b.value ? b.value : "";
  5989. if (r) {
  5990. k = isNaN(x) ? k : r.getColor(x);
  5991. var _ = this.deepQuery(f, "itemStyle.normal.color") || k,
  5992. L = this.deepQuery(f, "itemStyle.emphasis.color") || _;
  5993. if (null == _ && null == L) continue
  5994. }
  5995. g[0].tooltip = b.tooltip || n.tooltip || {trigger: "item"}, g[0].name = g[0].name || "", g[1].name = g[1].name || "", g[0].value = x, U.push({
  5996. points: [[this.parsePercent(g[0].x, d), this.parsePercent(g[0].y, p)], [this.parsePercent(g[1].x, d), this.parsePercent(g[1].y, p)]],
  5997. rawData: g,
  5998. color: k
  5999. })
  6000. }
  6001. }
  6002. var W = this.query(n, "bundling.enable");
  6003. if (W) {
  6004. var X = new c;
  6005. X.maxTurningAngle = this.query(n, "bundling.maxTurningAngle") / 180 * Math.PI, U = X.run(U)
  6006. }
  6007. n.name = a.name;
  6008. for (var v = [], y = 0, w = U.length; w > y; y++) {
  6009. var K = U[y], I = K.rawEdge || K, g = I.rawData, x = null != g.value ? g.value : "",
  6010. J = this.getMarkLineShape(n, i, g, y, K.points, W, I.color);
  6011. J._mark = "line";
  6012. var C = this.deepMerge([g[0], g[1], n], "effect");
  6013. 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)
  6014. }
  6015. return v
  6016. }
  6017. }(), getMarkCoord: function () {
  6018. return [0, 0]
  6019. }, getSymbolShape: function (e, t, i, o, r, s, l, h, V, U, d) {
  6020. var p = [i, e], c = this.getDataFromOption(i, "-");
  6021. h = this.deepQuery(p, "symbol") || h;
  6022. var u = this.deepQuery(p, "symbolSize");
  6023. u = "function" == typeof u ? u(c) : u, "number" == typeof u && (u = [u, u]);
  6024. var y = this.deepQuery(p, "symbolRotate"), g = this.deepMerge(p, "itemStyle.normal"),
  6025. b = this.deepMerge(p, "itemStyle.emphasis"),
  6026. f = null != g.borderWidth ? g.borderWidth : g.lineStyle && g.lineStyle.width;
  6027. null == f && (f = h.match("empty") ? 2 : 0);
  6028. var k = null != b.borderWidth ? b.borderWidth : b.lineStyle && b.lineStyle.width;
  6029. null == k && (k = f + 2);
  6030. var x = this.getItemStyleColor(g.color, t, o, i), _ = this.getItemStyleColor(b.color, t, o, i),
  6031. L = u[0], W = u[1], X = new a({
  6032. style: {
  6033. iconType: h.replace("empty", "").toLowerCase(),
  6034. x: s - L,
  6035. y: l - W,
  6036. width: 2 * L,
  6037. height: 2 * W,
  6038. brushType: "both",
  6039. color: h.match("empty") ? U : x || V,
  6040. strokeColor: g.borderColor || x || V,
  6041. lineWidth: f
  6042. },
  6043. highlightStyle: {
  6044. color: h.match("empty") ? U : _ || x || V,
  6045. strokeColor: b.borderColor || g.borderColor || _ || x || V,
  6046. lineWidth: k
  6047. },
  6048. clickable: this.deepQuery(p, "clickable")
  6049. });
  6050. return h.match("image") && (X.style.image = h.replace(new RegExp("^image:\\/\\/"), ""), X = new n({
  6051. style: X.style,
  6052. highlightStyle: X.highlightStyle,
  6053. clickable: this.deepQuery(p, "clickable")
  6054. })), 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
  6055. }, getMarkLineShape: function (e, t, i, n, a, r, l) {
  6056. var h = null != i[0].value ? i[0].value : "-", m = null != i[1].value ? i[1].value : "-",
  6057. V = [i[0].symbol || e.symbol[0], i[1].symbol || e.symbol[1]],
  6058. U = [i[0].symbolSize || e.symbolSize[0], i[1].symbolSize || e.symbolSize[1]];
  6059. U[0] = "function" == typeof U[0] ? U[0](h) : U[0], U[1] = "function" == typeof U[1] ? U[1](m) : U[1];
  6060. var d = [this.query(i[0], "symbolRotate") || e.symbolRotate[0], this.query(i[1], "symbolRotate") || e.symbolRotate[1]],
  6061. p = [i[0], i[1], e], c = this.deepMerge(p, "itemStyle.normal");
  6062. c.color = this.getItemStyleColor(c.color, t, n, i);
  6063. var u = this.deepMerge(p, "itemStyle.emphasis");
  6064. u.color = this.getItemStyleColor(u.color, t, n, i);
  6065. var y = c.lineStyle, g = u.lineStyle, b = y.width;
  6066. null == b && (b = c.borderWidth);
  6067. var f = g.width;
  6068. null == f && (f = null != u.borderWidth ? u.borderWidth : b + 2);
  6069. var k = this.deepQuery(p, "smoothness");
  6070. this.deepQuery(p, "smooth") || (k = 0);
  6071. var x = r ? s : o, _ = new x({
  6072. style: {
  6073. symbol: V,
  6074. symbolSize: U,
  6075. symbolRotate: d,
  6076. brushType: "both",
  6077. lineType: y.type,
  6078. shadowColor: y.shadowColor || y.color || c.borderColor || c.color || l,
  6079. shadowBlur: y.shadowBlur,
  6080. shadowOffsetX: y.shadowOffsetX,
  6081. shadowOffsetY: y.shadowOffsetY,
  6082. color: c.color || l,
  6083. strokeColor: y.color || c.borderColor || c.color || l,
  6084. lineWidth: b,
  6085. symbolBorderColor: c.borderColor || c.color || l,
  6086. symbolBorder: c.borderWidth
  6087. },
  6088. highlightStyle: {
  6089. shadowColor: g.shadowColor,
  6090. shadowBlur: g.shadowBlur,
  6091. shadowOffsetX: g.shadowOffsetX,
  6092. shadowOffsetY: g.shadowOffsetY,
  6093. color: u.color || c.color || l,
  6094. strokeColor: g.color || y.color || u.borderColor || c.borderColor || u.color || c.color || l,
  6095. lineWidth: f,
  6096. symbolBorderColor: u.borderColor || c.borderColor || u.color || c.color || l,
  6097. symbolBorder: null == u.borderWidth ? c.borderWidth + 2 : u.borderWidth
  6098. },
  6099. clickable: this.deepQuery(p, "clickable")
  6100. }), L = _.style;
  6101. 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)
  6102. }, getLargeMarkPointShape: function (e, t) {
  6103. var i, n, a, o, s, l, h = this.series[e], m = this.component, V = t.data, U = m.dataRange, d = m.legend,
  6104. p = [V[0], t];
  6105. 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)) {
  6106. n = this.deepMerge(p, "itemStyle.normal").color || n;
  6107. var c = this.deepQuery(p, "symbol") || "circle";
  6108. c = c.replace("empty", "").replace(/\d/g, ""), l = this.deepMerge([V[0], t], "effect");
  6109. var u = window.devicePixelRatio || 1;
  6110. return i = new r({
  6111. style: {
  6112. pointList: V,
  6113. color: n,
  6114. strokeColor: n,
  6115. shadowColor: l.shadowColor || n,
  6116. shadowBlur: (null != l.shadowBlur ? l.shadowBlur : 8) * u,
  6117. size: this.deepQuery(p, "symbolSize"),
  6118. iconType: c,
  6119. brushType: "fill",
  6120. lineWidth: 1
  6121. }, draggable: !1, hoverable: !1
  6122. }), l.show && (i.effect = l), i
  6123. }
  6124. }, backupShapeList: function () {
  6125. this.shapeList && this.shapeList.length > 0 ? (this.lastShapeList = this.shapeList, this.shapeList = []) : this.lastShapeList = []
  6126. }, addShapeList: function () {
  6127. var e, t, i = this.option.animationThreshold / (this.canvasSupported ? 2 : 4), n = this.lastShapeList,
  6128. a = this.shapeList, o = n.length > 0,
  6129. r = o ? this.query(this.option, "animationDurationUpdate") : this.query(this.option, "animationDuration"),
  6130. s = this.query(this.option, "animationEasing"), l = {}, m = {};
  6131. if (this.option.animation && !this.option.renderAsImage && a.length < i && !this.motionlessOnce) {
  6132. 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]);
  6133. 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]);
  6134. for (t in l) m[t] || this.zr.delShape(l[t].id);
  6135. 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));
  6136. this.zr.refresh(), this.animationEffect()
  6137. } else {
  6138. this.motionlessOnce = !1, this.zr.delShape(n);
  6139. for (var V = 0, U = a.length; U > V; V++) this.zr.addShape(a[V])
  6140. }
  6141. }, _getAnimationKey: function (e) {
  6142. 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")
  6143. }, _animateMod: function (e, t, i, n, a, o) {
  6144. switch (t.type) {
  6145. case"polyline":
  6146. case"half-smooth-polygon":
  6147. V.pointList(this.zr, e, t, i, n);
  6148. break;
  6149. case"rectangle":
  6150. V.rectangle(this.zr, e, t, i, n);
  6151. break;
  6152. case"image":
  6153. case"icon":
  6154. V.icon(this.zr, e, t, i, n, a);
  6155. break;
  6156. case"candle":
  6157. o ? this.zr.addShape(t) : V.candle(this.zr, e, t, i, n);
  6158. break;
  6159. case"ring":
  6160. case"sector":
  6161. case"circle":
  6162. 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);
  6163. break;
  6164. case"text":
  6165. V.text(this.zr, e, t, i, n);
  6166. break;
  6167. case"polygon":
  6168. o ? V.pointList(this.zr, e, t, i, n) : V.polygon(this.zr, e, t, i, n);
  6169. break;
  6170. case"ribbon":
  6171. V.ribbon(this.zr, e, t, i, n);
  6172. break;
  6173. case"gauge-pointer":
  6174. V.gaugePointer(this.zr, e, t, i, n);
  6175. break;
  6176. case"mark-line":
  6177. V.markline(this.zr, e, t, i, n);
  6178. break;
  6179. case"bezier-curve":
  6180. case"line":
  6181. V.line(this.zr, e, t, i, n);
  6182. break;
  6183. default:
  6184. this.zr.addShape(t)
  6185. }
  6186. }, animationMark: function (e, t, i) {
  6187. 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);
  6188. this.animationEffect(i)
  6189. }, animationEffect: function (e) {
  6190. if (!e && this.clearEffectShape(), e = e || this.shapeList, null != e) {
  6191. var t = h.EFFECT_ZLEVEL;
  6192. this.canvasSupported && this.zr.modLayer(t, {
  6193. motionBlur: !0,
  6194. lastFrameAlpha: this.option.effectBlendAlpha || h.effectBlendAlpha
  6195. });
  6196. 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)
  6197. }
  6198. }, clearEffectShape: function (e) {
  6199. var t = this.effectList;
  6200. if (this.zr && t && t.length > 0) {
  6201. e && this.zr.modLayer(h.EFFECT_ZLEVEL, {motionBlur: !1}), this.zr.delShape(t);
  6202. for (var i = 0; i < t.length; i++) t[i].effectAnimator && t[i].effectAnimator.stop()
  6203. }
  6204. this.effectList = []
  6205. }, addMark: function (e, t, i) {
  6206. var n = this.series[e];
  6207. if (this.selectedMap[n.name]) {
  6208. var a = this.query(this.option, "animationDurationUpdate"),
  6209. o = this.query(this.option, "animationEasing"), r = n[i].data, s = this.shapeList.length;
  6210. 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)); else {
  6211. for (var l = s, h = this.shapeList.length; h > l; l++) this.zr.addShape(this.shapeList[l]);
  6212. this.zr.refreshNextFrame()
  6213. }
  6214. n[i].data = r
  6215. }
  6216. }, delMark: function (e, t, i) {
  6217. i = i.replace("mark", "").replace("large", "").toLowerCase();
  6218. var n = this.series[e];
  6219. if (this.selectedMap[n.name]) {
  6220. for (var a = !1, o = [this.shapeList, this.effectList], r = 2; r--;) for (var s = 0, l = o[r].length; l > s; s++) if (o[r][s]._mark == i && m.get(o[r][s], "seriesIndex") == e && m.get(o[r][s], "name") == t) {
  6221. this.zr.delShape(o[r][s].id), o[r].splice(s, 1), a = !0;
  6222. break
  6223. }
  6224. a && this.zr.refreshNextFrame()
  6225. }
  6226. }
  6227. }, u.inherits(i, p), i
  6228. }), i("zrender/shape/Circle", ["require", "./Base", "../tool/util"], function (e) {
  6229. "use strict";
  6230. var t = e("./Base"), i = function (e) {
  6231. t.call(this, e)
  6232. };
  6233. return i.prototype = {
  6234. type: "circle", buildPath: function (e, t) {
  6235. e.moveTo(t.x + t.r, t.y), e.arc(t.x, t.y, t.r, 0, 2 * Math.PI, !0)
  6236. }, getRect: function (e) {
  6237. if (e.__rect) return e.__rect;
  6238. var t;
  6239. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  6240. x: Math.round(e.x - e.r - t / 2),
  6241. y: Math.round(e.y - e.r - t / 2),
  6242. width: 2 * e.r + t,
  6243. height: 2 * e.r + t
  6244. }, e.__rect
  6245. }
  6246. }, e("../tool/util").inherits(i, t), i
  6247. }), i("echarts/util/accMath", [], function () {
  6248. function e(e, t) {
  6249. var i = e.toString(), n = t.toString(), a = 0;
  6250. try {
  6251. a = n.split(".")[1].length
  6252. } catch (o) {
  6253. }
  6254. try {
  6255. a -= i.split(".")[1].length
  6256. } catch (o) {
  6257. }
  6258. return (i.replace(".", "") - 0) / (n.replace(".", "") - 0) * Math.pow(10, a)
  6259. }
  6260. function t(e, t) {
  6261. var i = e.toString(), n = t.toString(), a = 0;
  6262. try {
  6263. a += i.split(".")[1].length
  6264. } catch (o) {
  6265. }
  6266. try {
  6267. a += n.split(".")[1].length
  6268. } catch (o) {
  6269. }
  6270. return (i.replace(".", "") - 0) * (n.replace(".", "") - 0) / Math.pow(10, a)
  6271. }
  6272. function i(e, t) {
  6273. var i = 0, n = 0;
  6274. try {
  6275. i = e.toString().split(".")[1].length
  6276. } catch (a) {
  6277. }
  6278. try {
  6279. n = t.toString().split(".")[1].length
  6280. } catch (a) {
  6281. }
  6282. var o = Math.pow(10, Math.max(i, n));
  6283. return (Math.round(e * o) + Math.round(t * o)) / o
  6284. }
  6285. function n(e, t) {
  6286. return i(e, -t)
  6287. }
  6288. return {accDiv: e, accMul: t, accAdd: i, accSub: n}
  6289. }), 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) {
  6290. function t(e, t) {
  6291. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6292. 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)
  6293. }
  6294. function i(e, t) {
  6295. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6296. 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)
  6297. }
  6298. function n(e, t) {
  6299. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6300. 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)
  6301. }
  6302. function a(e, t) {
  6303. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6304. 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)
  6305. }
  6306. function o(e, t) {
  6307. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6308. 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)
  6309. }
  6310. function r(e, t) {
  6311. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16, r = t.width / 2;
  6312. 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)
  6313. }
  6314. function s(e, t) {
  6315. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6316. 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)
  6317. }
  6318. function l(e, t) {
  6319. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6320. 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)
  6321. }
  6322. function h(e, t) {
  6323. var i = t.x, n = t.y, a = t.width - 2, o = t.height - 2, r = Math.min(a, o) / 2;
  6324. 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
  6325. }
  6326. function m(e, t) {
  6327. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6328. 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)
  6329. }
  6330. function V(e, t) {
  6331. var i = t.x, n = t.y, a = t.width, o = t.height, r = a / 16, s = o / 16, l = 2 * Math.min(r, s);
  6332. 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
  6333. }
  6334. function U(e, t) {
  6335. var i = t.x, n = t.y, a = t.width, o = t.height, r = Math.min(a, o) / 2;
  6336. 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
  6337. }
  6338. function d(e, t) {
  6339. 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)
  6340. }
  6341. function p(e, t) {
  6342. 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)
  6343. }
  6344. function c(e, t) {
  6345. var i = t.x, n = t.y, a = t.width / 16;
  6346. 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)
  6347. }
  6348. function u(e, t) {
  6349. var i = t.x, n = t.y, a = t.width / 16, o = t.height / 16;
  6350. 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)
  6351. }
  6352. function y(e, t) {
  6353. var i = t.x, n = t.y, a = t.width, o = t.height;
  6354. 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)
  6355. }
  6356. function g(e, t) {
  6357. var i = t.width / 2, n = t.height / 2, a = Math.min(i, n);
  6358. e.moveTo(t.x + i + a, t.y + n), e.arc(t.x + i, t.y + n, a, 0, 2 * Math.PI), e.closePath()
  6359. }
  6360. function b(e, t) {
  6361. e.rect(t.x, t.y, t.width, t.height), e.closePath()
  6362. }
  6363. function f(e, t) {
  6364. var i = t.width / 2, n = t.height / 2, a = t.x + i, o = t.y + n, r = Math.min(i, n);
  6365. e.moveTo(a, o - r), e.lineTo(a + r, o + r), e.lineTo(a - r, o + r), e.lineTo(a, o - r), e.closePath()
  6366. }
  6367. function k(e, t) {
  6368. var i = t.width / 2, n = t.height / 2, a = t.x + i, o = t.y + n, r = Math.min(i, n);
  6369. 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()
  6370. }
  6371. function x(e, t) {
  6372. var i = t.x, n = t.y, a = t.width / 16;
  6373. 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()
  6374. }
  6375. function _(t, i) {
  6376. var n = e("zrender/shape/Star"), a = i.width / 2, o = i.height / 2;
  6377. n.prototype.buildPath(t, {x: i.x + a, y: i.y + o, r: Math.min(a, o), n: i.n || 5})
  6378. }
  6379. function L(t, i) {
  6380. var n = e("zrender/shape/Heart");
  6381. n.prototype.buildPath(t, {x: i.x + i.width / 2, y: i.y + .2 * i.height, a: i.width / 2, b: .8 * i.height})
  6382. }
  6383. function W(t, i) {
  6384. var n = e("zrender/shape/Droplet");
  6385. n.prototype.buildPath(t, {x: i.x + .5 * i.width, y: i.y + .5 * i.height, a: .5 * i.width, b: .8 * i.height})
  6386. }
  6387. function X(e, t) {
  6388. var i = t.x, n = t.y - t.height / 2 * 1.5, a = t.width / 2, o = t.height / 2, r = Math.min(a, o);
  6389. 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()
  6390. }
  6391. function v(t, i, n) {
  6392. var a = e("zrender/shape/Image");
  6393. this._imageShape = this._imageShape || new a({style: {}});
  6394. for (var o in i) this._imageShape.style[o] = i[o];
  6395. this._imageShape.brush(t, !1, n)
  6396. }
  6397. function w(e) {
  6398. I.call(this, e)
  6399. }
  6400. var K = e("zrender/tool/util"), I = e("zrender/shape/Base");
  6401. return w.prototype = {
  6402. type: "icon",
  6403. iconLibrary: {
  6404. mark: t,
  6405. markUndo: i,
  6406. markClear: n,
  6407. dataZoom: a,
  6408. dataZoomReset: o,
  6409. restore: r,
  6410. lineChart: s,
  6411. barChart: l,
  6412. pieChart: h,
  6413. funnelChart: m,
  6414. forceChart: V,
  6415. chordChart: U,
  6416. stackChart: d,
  6417. tiledChart: p,
  6418. dataView: c,
  6419. saveAsImage: u,
  6420. cross: y,
  6421. circle: g,
  6422. rectangle: b,
  6423. triangle: f,
  6424. diamond: k,
  6425. arrow: x,
  6426. star: _,
  6427. heart: L,
  6428. droplet: W,
  6429. pin: X,
  6430. image: v
  6431. },
  6432. brush: function (t, i, n) {
  6433. var a = i ? this.highlightStyle : this.style;
  6434. a = a || {};
  6435. var o = a.iconType || this.style.iconType;
  6436. if ("image" === o) {
  6437. var r = e("zrender/shape/Image");
  6438. r.prototype.brush.call(this, t, i, n)
  6439. } else {
  6440. var a = this.beforeBrush(t, i);
  6441. switch (t.beginPath(), this.buildPath(t, a, n), a.brushType) {
  6442. case"both":
  6443. t.fill();
  6444. case"stroke":
  6445. a.lineWidth > 0 && t.stroke();
  6446. break;
  6447. default:
  6448. t.fill()
  6449. }
  6450. this.drawText(t, a, this.style), this.afterBrush(t)
  6451. }
  6452. },
  6453. buildPath: function (e, t, i) {
  6454. 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())
  6455. },
  6456. getRect: function (e) {
  6457. return e.__rect ? e.__rect : (e.__rect = {
  6458. x: Math.round(e.x),
  6459. y: Math.round(e.y - ("pin" == e.iconType ? e.height / 2 * 1.5 : 0)),
  6460. width: e.width,
  6461. height: e.height * ("pin" === e.iconType ? 1.25 : 1)
  6462. }, e.__rect)
  6463. },
  6464. isCover: function (e, t) {
  6465. var i = this.transformCoordToLocal(e, t);
  6466. e = i[0], t = i[1];
  6467. var n = this.style.__rect;
  6468. n || (n = this.style.__rect = this.getRect(this.style));
  6469. var a = n.height < 8 || n.width < 8 ? 4 : 0;
  6470. return e >= n.x - a && e <= n.x + n.width + a && t >= n.y - a && t <= n.y + n.height + a
  6471. }
  6472. }, K.inherits(w, I), w
  6473. }), 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) {
  6474. function t(e) {
  6475. i.call(this, e), this.style.curveness > 0 && this.updatePoints(this.style), this.highlightStyle.curveness > 0 && this.updatePoints(this.highlightStyle)
  6476. }
  6477. var i = e("zrender/shape/Base"), n = e("./Icon"), a = e("zrender/shape/Line"), o = new a({}),
  6478. r = e("zrender/shape/BezierCurve"), s = new r({}), l = e("zrender/tool/area"),
  6479. h = e("zrender/shape/util/dashedLineTo"), m = e("zrender/tool/util"), V = e("zrender/tool/curve");
  6480. return t.prototype = {
  6481. type: "mark-line", brush: function (e, t) {
  6482. var i = this.style;
  6483. 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()
  6484. }, buildPath: function (e, t) {
  6485. var i = t.lineType || "solid";
  6486. if (e.moveTo(t.xStart, t.yStart), t.curveness > 0) {
  6487. var n = null;
  6488. switch (i) {
  6489. case"dashed":
  6490. n = [5, 5];
  6491. break;
  6492. case"dotted":
  6493. n = [1, 1]
  6494. }
  6495. n && e.setLineDash && e.setLineDash(n), e.quadraticCurveTo(t.cpX1, t.cpY1, t.xEnd, t.yEnd)
  6496. } else if ("solid" == i) e.lineTo(t.xEnd, t.yEnd); else {
  6497. var a = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  6498. h(e, t.xStart, t.yStart, t.xEnd, t.yEnd, a)
  6499. }
  6500. }, updatePoints: function (e) {
  6501. var t = e.curveness || 0, i = 1, n = e.xStart, a = e.yStart, o = e.xEnd, r = e.yEnd,
  6502. s = (n + o) / 2 - i * (a - r) * t, l = (a + r) / 2 - i * (o - n) * t;
  6503. e.cpX1 = s, e.cpY1 = l
  6504. }, brushSymbol: function (e, t, i) {
  6505. if ("none" != t.symbol[i]) {
  6506. e.save(), e.beginPath(), e.lineWidth = t.symbolBorder, e.strokeStyle = t.symbolBorderColor;
  6507. var a = t.symbol[i].replace("empty", "").toLowerCase();
  6508. t.symbol[i].match("empty") && (e.fillStyle = "#fff");
  6509. var o = t.xStart, r = t.yStart, s = t.xEnd, l = t.yEnd, h = 0 === i ? o : s, m = 0 === i ? r : l,
  6510. U = t.curveness || 0, d = null != t.symbolRotate[i] ? t.symbolRotate[i] - 0 : 0;
  6511. if (d = d / 180 * Math.PI, "arrow" == a && 0 === d) if (0 === U) {
  6512. var p = 0 === i ? -1 : 1;
  6513. d = Math.PI / 2 + Math.atan2(p * (l - r), p * (s - o))
  6514. } else {
  6515. var c = t.cpX1, u = t.cpY1, y = V.quadraticDerivativeAt, g = y(o, c, s, i), b = y(r, u, l, i);
  6516. d = Math.PI / 2 + Math.atan2(b, g)
  6517. }
  6518. e.translate(h, m), 0 !== d && e.rotate(d);
  6519. var f = t.symbolSize[i];
  6520. n.prototype.buildPath(e, {
  6521. x: -f,
  6522. y: -f,
  6523. width: 2 * f,
  6524. height: 2 * f,
  6525. iconType: a
  6526. }), e.closePath(), e.fill(), e.stroke(), e.restore()
  6527. }
  6528. }, getRect: function (e) {
  6529. return e.curveness > 0 ? s.getRect(e) : o.getRect(e), e.__rect
  6530. }, isCover: function (e, t) {
  6531. var i = this.transformCoordToLocal(e, t);
  6532. 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
  6533. }
  6534. }, m.inherits(t, i), t
  6535. }), i("echarts/util/shape/Symbol", ["require", "zrender/shape/Base", "zrender/shape/Polygon", "zrender/tool/util", "./normalIsCover"], function (e) {
  6536. function t(e) {
  6537. i.call(this, e)
  6538. }
  6539. var i = e("zrender/shape/Base"), n = e("zrender/shape/Polygon"), a = new n({}), o = e("zrender/tool/util");
  6540. return t.prototype = {
  6541. type: "symbol", buildPath: function (e, t) {
  6542. var i = t.pointList, n = i.length;
  6543. if (0 !== n) 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++) {
  6544. e.beginPath(), a = u * h, o = a + h, o = o > n ? n : o;
  6545. for (var y = a; o > y; y++) 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); else switch (t.iconType) {
  6546. case"circle":
  6547. e.moveTo(s, l), e.arc(s, l, p, 0, c, !0);
  6548. break;
  6549. case"diamond":
  6550. 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);
  6551. break;
  6552. default:
  6553. e.rect(s - p, l - p, d, d)
  6554. }
  6555. if (e.closePath(), m - 1 > u) switch (t.brushType) {
  6556. case"both":
  6557. e.fill(), t.lineWidth > 0 && e.stroke();
  6558. break;
  6559. case"stroke":
  6560. t.lineWidth > 0 && e.stroke();
  6561. break;
  6562. default:
  6563. e.fill()
  6564. }
  6565. }
  6566. }, getRect: function (e) {
  6567. return e.__rect || a.getRect(e)
  6568. }, isCover: e("./normalIsCover")
  6569. }, o.inherits(t, i), t
  6570. }), i("zrender/shape/Polyline", ["require", "./Base", "./util/smoothSpline", "./util/smoothBezier", "./util/dashedLineTo", "./Polygon", "../tool/util"], function (e) {
  6571. var t = e("./Base"), i = e("./util/smoothSpline"), n = e("./util/smoothBezier"), a = e("./util/dashedLineTo"),
  6572. o = function (e) {
  6573. this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
  6574. };
  6575. return o.prototype = {
  6576. type: "polyline", buildPath: function (e, t) {
  6577. var n = t.pointList;
  6578. if (!(n.length < 2)) {
  6579. var o = Math.min(t.pointList.length, Math.round(t.pointListLength || t.pointList.length));
  6580. if (t.smooth && "spline" !== t.smooth) {
  6581. t.controlPointList || this.updateControlPoints(t);
  6582. var r = t.controlPointList;
  6583. e.moveTo(n[0][0], n[0][1]);
  6584. 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])
  6585. } else if ("spline" === t.smooth && (n = i(n), o = n.length), t.lineType && "solid" != t.lineType) {
  6586. if ("dashed" == t.lineType || "dotted" == t.lineType) {
  6587. var V = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  6588. e.moveTo(n[0][0], n[0][1]);
  6589. for (var m = 1; o > m; m++) a(e, n[m - 1][0], n[m - 1][1], n[m][0], n[m][1], V)
  6590. }
  6591. } else {
  6592. e.moveTo(n[0][0], n[0][1]);
  6593. for (var m = 1; o > m; m++) e.lineTo(n[m][0], n[m][1])
  6594. }
  6595. }
  6596. }, updateControlPoints: function (e) {
  6597. e.controlPointList = n(e.pointList, e.smooth, !1, e.smoothConstraint)
  6598. }, getRect: function (t) {
  6599. return e("./Polygon").prototype.getRect(t)
  6600. }
  6601. }, e("../tool/util").inherits(o, t), o
  6602. }), i("zrender/shape/ShapeBundle", ["require", "./Base", "../tool/util"], function (e) {
  6603. var t = e("./Base"), i = function (e) {
  6604. t.call(this, e)
  6605. };
  6606. return i.prototype = {
  6607. constructor: i, type: "shape-bundle", brush: function (e, t) {
  6608. var i = this.beforeBrush(e, t);
  6609. e.beginPath();
  6610. for (var n = 0; n < i.shapeList.length; n++) {
  6611. var a = i.shapeList[n], o = a.style;
  6612. t && (o = a.getHighlightStyle(o, a.highlightStyle || {}, a.brushTypeOnly)), a.buildPath(e, o)
  6613. }
  6614. switch (i.brushType) {
  6615. case"both":
  6616. e.fill();
  6617. case"stroke":
  6618. i.lineWidth > 0 && e.stroke();
  6619. break;
  6620. default:
  6621. e.fill()
  6622. }
  6623. this.drawText(e, i, this.style), this.afterBrush(e)
  6624. }, getRect: function (e) {
  6625. if (e.__rect) return e.__rect;
  6626. 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], s = r.getRect(r.style), t = Math.min(s.x, t), n = Math.min(s.y, n), i = Math.max(s.x + s.width, i), a = Math.max(s.y + s.height, a);
  6627. return e.__rect = {x: t, y: n, width: i - t, height: a - n}, e.__rect
  6628. }, isCover: function (e, t) {
  6629. var i = this.transformCoordToLocal(e, t);
  6630. if (e = i[0], t = i[1], this.isCoverRect(e, t)) for (var n = 0; n < this.style.shapeList.length; n++) {
  6631. var a = this.style.shapeList[n];
  6632. if (a.isCover(e, t)) return !0
  6633. }
  6634. return !1
  6635. }
  6636. }, e("../tool/util").inherits(i, t), i
  6637. }), i("echarts/util/ecAnimation", ["require", "zrender/tool/util", "zrender/tool/curve", "zrender/shape/Polygon"], function (e) {
  6638. function t(e, t, i, n, a) {
  6639. var o, r = i.style.pointList, s = r.length;
  6640. if (!t) {
  6641. if (o = [], "vertical" != i._orient) for (var l = r[0][1], h = 0; s > h; h++) o[h] = [r[h][0], l]; else for (var m = r[0][0], h = 0; s > h; h++) o[h] = [m, r[h][1]];
  6642. "half-smooth-polygon" == i.type && (o[s - 1] = p.clone(r[s - 1]), o[s - 2] = p.clone(r[s - 2])), t = {style: {pointList: o}}
  6643. }
  6644. o = t.style.pointList;
  6645. var V = o.length;
  6646. 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, {pointList: r}).during(function () {
  6647. i.updateControlPoints && i.updateControlPoints(i.style)
  6648. }).done(function () {
  6649. i.__animating = !1
  6650. }).start(a)
  6651. }
  6652. function i(e, t) {
  6653. for (var i = arguments.length, n = 2; i > n; n++) {
  6654. var a = arguments[n];
  6655. e.style[a] = t.style[a]
  6656. }
  6657. }
  6658. function n(e, t, n, a, o) {
  6659. var r = n.style;
  6660. t || (t = {
  6661. position: n.position,
  6662. style: {
  6663. x: r.x,
  6664. y: "vertical" == n._orient ? r.y + r.height : r.y,
  6665. width: "vertical" == n._orient ? r.width : 0,
  6666. height: "vertical" != n._orient ? r.height : 0
  6667. }
  6668. });
  6669. var s = r.x, l = r.y, h = r.width, m = r.height, V = [n.position[0], n.position[1]];
  6670. 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, {position: V}).start(o), n.__animating = !0, e.animate(n.id, "style").when(a, {
  6671. x: s,
  6672. y: l,
  6673. width: h,
  6674. height: m
  6675. }).done(function () {
  6676. n.__animating = !1
  6677. }).start(o)
  6678. }
  6679. function a(e, t, i, n, a) {
  6680. if (!t) {
  6681. var o = i.style.y;
  6682. t = {style: {y: [o[0], o[0], o[0], o[0]]}}
  6683. }
  6684. var r = i.style.y;
  6685. i.style.y = t.style.y, e.addShape(i), i.__animating = !0, e.animate(i.id, "style").when(n, {y: r}).done(function () {
  6686. i.__animating = !1
  6687. }).start(a)
  6688. }
  6689. function o(e, t, i, n, a) {
  6690. var o = i.style.x, r = i.style.y, s = i.style.r0, l = i.style.r;
  6691. 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, {
  6692. r0: s,
  6693. r: l
  6694. }).done(function () {
  6695. i.__animating = !1
  6696. }).start(a), e.animate(i.id, "").when(n, {rotation: [0, o, r]}).start(a)) : (i.style.r0 = i.style.r, e.addShape(i), e.animate(i.id, "style").when(n, {r0: s}).done(function () {
  6697. i.__animating = !1
  6698. }).start(a))
  6699. }
  6700. function r(e, t, n, a, o) {
  6701. t || (t = "r" != n._animationAdd ? {
  6702. style: {startAngle: n.style.startAngle, endAngle: n.style.startAngle}
  6703. } : {style: {r0: n.style.r}});
  6704. var r = n.style.startAngle, s = n.style.endAngle;
  6705. i(n, t, "startAngle", "endAngle"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
  6706. startAngle: r,
  6707. endAngle: s
  6708. }).done(function () {
  6709. n.__animating = !1
  6710. }).start(o)
  6711. }
  6712. function s(e, t, n, a, o) {
  6713. t || (t = {style: {x: "left" == n.style.textAlign ? n.style.x + 100 : n.style.x - 100, y: n.style.y}});
  6714. var r = n.style.x, s = n.style.y;
  6715. i(n, t, "x", "y"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
  6716. x: r,
  6717. y: s
  6718. }).done(function () {
  6719. n.__animating = !1
  6720. }).start(o)
  6721. }
  6722. function l(t, i, n, a, o) {
  6723. var r = e("zrender/shape/Polygon").prototype.getRect(n.style), s = r.x + r.width / 2,
  6724. l = r.y + r.height / 2;
  6725. n.scale = [.1, .1, s, l], t.addShape(n), n.__animating = !0, t.animate(n.id, "").when(a, {scale: [1, 1, s, l]}).done(function () {
  6726. n.__animating = !1
  6727. }).start(o)
  6728. }
  6729. function h(e, t, n, a, o) {
  6730. t || (t = {
  6731. style: {
  6732. source0: 0,
  6733. source1: n.style.source1 > 0 ? 360 : -360,
  6734. target0: 0,
  6735. target1: n.style.target1 > 0 ? 360 : -360
  6736. }
  6737. });
  6738. var r = n.style.source0, s = n.style.source1, l = n.style.target0, h = n.style.target1;
  6739. t.style && i(n, t, "source0", "source1", "target0", "target1"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
  6740. source0: r,
  6741. source1: s,
  6742. target0: l,
  6743. target1: h
  6744. }).done(function () {
  6745. n.__animating = !1
  6746. }).start(o)
  6747. }
  6748. function m(e, t, i, n, a) {
  6749. t || (t = {style: {angle: i.style.startAngle}});
  6750. var o = i.style.angle;
  6751. i.style.angle = t.style.angle, e.addShape(i), i.__animating = !0, e.animate(i.id, "style").when(n, {angle: o}).done(function () {
  6752. i.__animating = !1
  6753. }).start(a)
  6754. }
  6755. function V(e, t, i, a, o, r) {
  6756. 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); else {
  6757. var s = i._x || 0, l = i._y || 0;
  6758. i.scale = [.01, .01, s, l], e.addShape(i), i.__animating = !0, e.animate(i.id, "").delay(r).when(a, {scale: [1, 1, s, l]}).done(function () {
  6759. i.__animating = !1
  6760. }).start(o || "QuinticOut")
  6761. }
  6762. }
  6763. function U(e, t, n, a, o) {
  6764. t || (t = {
  6765. style: {
  6766. xStart: n.style.xStart,
  6767. yStart: n.style.yStart,
  6768. xEnd: n.style.xStart,
  6769. yEnd: n.style.yStart
  6770. }
  6771. });
  6772. var r = n.style.xStart, s = n.style.xEnd, l = n.style.yStart, h = n.style.yEnd;
  6773. i(n, t, "xStart", "xEnd", "yStart", "yEnd"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
  6774. xStart: r,
  6775. xEnd: s,
  6776. yStart: l,
  6777. yEnd: h
  6778. }).done(function () {
  6779. n.__animating = !1
  6780. }).start(o)
  6781. }
  6782. function d(e, t, i, n, a) {
  6783. a = a || "QuinticOut", i.__animating = !0, e.addShape(i);
  6784. var o = i.style, r = function () {
  6785. i.__animating = !1
  6786. }, s = o.xStart, l = o.yStart, h = o.xEnd, m = o.yEnd;
  6787. if (o.curveness > 0) {
  6788. i.updatePoints(o);
  6789. var V = {p: 0}, U = o.cpX1, d = o.cpY1, p = [], u = [], y = c.quadraticSubdivide;
  6790. e.animation.animate(V).when(n, {p: 1}).during(function () {
  6791. 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)
  6792. }).done(r).start(a)
  6793. } else e.animate(i.id, "style").when(0, {xEnd: s, yEnd: l}).when(n, {xEnd: h, yEnd: m}).done(r).start(a)
  6794. }
  6795. var p = e("zrender/tool/util"), c = e("zrender/tool/curve");
  6796. return {
  6797. pointList: t,
  6798. rectangle: n,
  6799. candle: a,
  6800. ring: o,
  6801. sector: r,
  6802. text: s,
  6803. polygon: l,
  6804. ribbon: h,
  6805. gaugePointer: m,
  6806. icon: V,
  6807. line: U,
  6808. markline: d
  6809. }
  6810. }), 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) {
  6811. function t(e, t, i, n) {
  6812. var a, r = i.effect, l = r.color || i.style.strokeColor || i.style.color, m = r.shadowColor || l,
  6813. V = r.scaleSize, U = r.bounceDistance, d = "undefined" != typeof r.shadowBlur ? r.shadowBlur : V;
  6814. "image" !== i.type ? (a = new h({
  6815. zlevel: n,
  6816. style: {
  6817. brushType: "stroke",
  6818. iconType: "droplet" != i.style.iconType ? i.style.iconType : "circle",
  6819. x: d + 1,
  6820. y: d + 1,
  6821. n: i.style.n,
  6822. width: i.style._width * V,
  6823. height: i.style._height * V,
  6824. lineWidth: 1,
  6825. strokeColor: l,
  6826. shadowColor: m,
  6827. shadowBlur: d
  6828. },
  6829. draggable: !1,
  6830. hoverable: !1
  6831. }), "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({
  6832. zlevel: a.zlevel,
  6833. style: a.style,
  6834. draggable: !1,
  6835. hoverable: !1
  6836. }))) : a = new s({
  6837. zlevel: n,
  6838. style: i.style,
  6839. draggable: !1,
  6840. hoverable: !1
  6841. }), o.clone(i, a), a.position = i.position, t.push(a), e.addShape(a);
  6842. var c = "image" !== i.type ? window.devicePixelRatio || 1 : 1, u = (a.style.width / c - i.style._width) / 2;
  6843. 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);
  6844. var y = 100 * (r.period + 10 * Math.random());
  6845. e.modShape(i.id, {invisible: !0});
  6846. var g = a.style.x + a.style.width / 2 / c, b = a.style.y + a.style.height / 2 / c;
  6847. "scale" === r.type ? (e.modShape(a.id, {scale: [.1, .1, g, b]}), e.animate(a.id, "", r.loop).when(y, {scale: [1, 1, g, b]}).done(function () {
  6848. i.effect.show = !1, e.delShape(a.id)
  6849. }).start()) : e.animate(a.id, "style", r.loop).when(y, {y: a.style.y - U}).when(2 * y, {y: a.style.y}).done(function () {
  6850. i.effect.show = !1, e.delShape(a.id)
  6851. }).start()
  6852. }
  6853. function i(e, t, i, n) {
  6854. var a = i.effect, o = a.color || i.style.strokeColor || i.style.color, r = a.scaleSize,
  6855. s = a.shadowColor || o, l = "undefined" != typeof a.shadowBlur ? a.shadowBlur : 2 * r,
  6856. h = window.devicePixelRatio || 1, V = new m({
  6857. zlevel: n,
  6858. position: i.position,
  6859. scale: i.scale,
  6860. style: {
  6861. pointList: i.style.pointList,
  6862. iconType: i.style.iconType,
  6863. color: o,
  6864. strokeColor: o,
  6865. shadowColor: s,
  6866. shadowBlur: l * h,
  6867. random: !0,
  6868. brushType: "fill",
  6869. lineWidth: 1,
  6870. size: i.style.size
  6871. },
  6872. draggable: !1,
  6873. hoverable: !1
  6874. });
  6875. t.push(V), e.addShape(V), e.modShape(i.id, {invisible: !0});
  6876. 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()
  6877. }
  6878. function n(e, t, i, n, a) {
  6879. var s = i.effect, h = i.style, m = s.color || h.strokeColor || h.color,
  6880. V = s.shadowColor || h.strokeColor || m, c = h.lineWidth * s.scaleSize,
  6881. u = "undefined" != typeof s.shadowBlur ? s.shadowBlur : c, y = new r({
  6882. zlevel: n,
  6883. style: {x: u, y: u, r: c, color: m, shadowColor: V, shadowBlur: u},
  6884. hoverable: !1
  6885. }), g = 0;
  6886. if (p && !a) {
  6887. var n = y.zlevel;
  6888. y = e.shapeToImage(y, 2 * (c + u), 2 * (c + u)), y.zlevel = n, y.hoverable = !1, g = u
  6889. }
  6890. a || (o.clone(i, y), y.position = i.position, t.push(y), e.addShape(y));
  6891. var b = function () {
  6892. a || (i.effect.show = !1, e.delShape(y.id)), y.effectAnimator = null
  6893. };
  6894. if (i instanceof U) {
  6895. for (var f = [0], k = 0, x = h.pointList, _ = h.controlPointList, L = 1; L < x.length; L++) {
  6896. if (_) {
  6897. var W = _[2 * (L - 1)], X = _[2 * (L - 1) + 1];
  6898. k += d.dist(x[L - 1], W) + d.dist(W, X) + d.dist(X, x[L])
  6899. } else k += d.dist(x[L - 1], x[L]);
  6900. f.push(k)
  6901. }
  6902. for (var v = {p: 0}, w = e.animation.animate(v, {loop: s.loop}), L = 0; L < f.length; L++) w.when(f[L] * s.period, {p: L});
  6903. w.during(function () {
  6904. var t, i, n = Math.floor(v.p);
  6905. if (n == x.length - 1) t = x[n][0], i = x[n][1]; else {
  6906. var o = v.p - n, r = x[n], s = x[n + 1];
  6907. if (_) {
  6908. var h = _[2 * n], m = _[2 * n + 1];
  6909. t = l.cubicAt(r[0], h[0], m[0], s[0], o), i = l.cubicAt(r[1], h[1], m[1], s[1], o)
  6910. } else t = (s[0] - r[0]) * o + r[0], i = (s[1] - r[1]) * o + r[1]
  6911. }
  6912. y.style.x = t, y.style.y = i, a || e.modShape(y)
  6913. }).done(b).start(), w.duration = k * s.period, y.effectAnimator = w
  6914. } else {
  6915. var K = h.xStart - g, I = h.yStart - g, J = h.xEnd - g, C = h.yEnd - g;
  6916. y.style.x = K, y.style.y = I;
  6917. var S = (J - K) * (J - K) + (C - I) * (C - I),
  6918. E = Math.round(Math.sqrt(Math.round(S * s.period * s.period)));
  6919. if (i.style.curveness > 0) {
  6920. var F = h.cpX1 - g, T = h.cpY1 - g;
  6921. y.effectAnimator = e.animation.animate(y, {loop: s.loop}).when(E, {p: 1}).during(function (t, i) {
  6922. y.style.x = l.quadraticAt(K, F, J, i), y.style.y = l.quadraticAt(I, T, C, i), a || e.modShape(y)
  6923. }).done(b).start()
  6924. } else y.effectAnimator = e.animation.animate(y.style, {loop: s.loop}).when(E, {
  6925. x: J,
  6926. y: C
  6927. }).during(function () {
  6928. a || e.modShape(y)
  6929. }).done(b).start();
  6930. y.effectAnimator.duration = E
  6931. }
  6932. return y
  6933. }
  6934. function a(e, t, i, a) {
  6935. var o = new V({style: {shapeList: []}, zlevel: a, hoverable: !1}), r = i.style.shapeList, s = i.effect;
  6936. o.position = i.position;
  6937. for (var l = 0, h = [], m = 0; m < r.length; m++) {
  6938. r[m].effect = s;
  6939. var U = n(e, null, r[m], a, !0), d = U.effectAnimator;
  6940. 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)
  6941. }
  6942. t.push(o), e.addShape(o);
  6943. var p = function () {
  6944. for (var e = 0; e < h.length; e++) h[e].stop()
  6945. };
  6946. if (l) {
  6947. o.__dummy = 0;
  6948. var c = e.animate(o.id, "", s.loop).when(l, {__dummy: 1}).during(function () {
  6949. e.modShape(o)
  6950. }).done(function () {
  6951. i.effect.show = !1, e.delShape(o.id)
  6952. }).start(), u = c.stop;
  6953. c.stop = function () {
  6954. p(), u.call(this)
  6955. }
  6956. }
  6957. }
  6958. var o = e("../util/ecData"), r = e("zrender/shape/Circle"), s = e("zrender/shape/Image"),
  6959. l = e("zrender/tool/curve"), h = e("../util/shape/Icon"), m = e("../util/shape/Symbol"),
  6960. V = e("zrender/shape/ShapeBundle"), U = e("zrender/shape/Polyline"), d = e("zrender/tool/vector"),
  6961. p = e("zrender/tool/env").canvasSupported;
  6962. return {point: t, largePoint: i, line: n, largeLine: a}
  6963. }), i("echarts/component/base", ["require", "../config", "../util/ecData", "../util/ecQuery", "../util/number", "zrender/tool/util", "zrender/tool/env"], function (e) {
  6964. function t(e, t, a, o, r) {
  6965. 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 = [];
  6966. var s = this;
  6967. s._onlegendhoverlink = function (e) {
  6968. if (s.legendHoverLink) 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])
  6969. }, t && t.bind(i.EVENT.LEGEND_HOVERLINK, this._onlegendhoverlink)
  6970. }
  6971. var i = e("../config"), n = e("../util/ecData"), a = e("../util/ecQuery"), o = e("../util/number"),
  6972. r = e("zrender/tool/util");
  6973. return t.prototype = {
  6974. canvasSupported: e("zrender/tool/env").canvasSupported,
  6975. _getZ: function (e) {
  6976. if (null != this[e]) return this[e];
  6977. var t = this.ecTheme[this.type];
  6978. return t && null != t[e] ? t[e] : (t = i[this.type], t && null != t[e] ? t[e] : 0)
  6979. },
  6980. getZlevelBase: function () {
  6981. return this._getZ("zlevel")
  6982. },
  6983. getZBase: function () {
  6984. return this._getZ("z")
  6985. },
  6986. reformOption: function (e) {
  6987. 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
  6988. },
  6989. reformCssArray: function (e) {
  6990. if (!(e instanceof Array)) return [e, e, e, e];
  6991. switch (e.length + "") {
  6992. case"4":
  6993. return e;
  6994. case"3":
  6995. return [e[0], e[1], e[2], e[1]];
  6996. case"2":
  6997. return [e[0], e[1], e[0], e[1]];
  6998. case"1":
  6999. return [e[0], e[0], e[0], e[0]];
  7000. case"0":
  7001. return [0, 0, 0, 0]
  7002. }
  7003. },
  7004. getShapeById: function (e) {
  7005. for (var t = 0, i = this.shapeList.length; i > t; t++) if (this.shapeList[t].id === e) return this.shapeList[t];
  7006. return null
  7007. },
  7008. getFont: function (e) {
  7009. var t = this.getTextStyle(r.clone(e));
  7010. return t.fontStyle + " " + t.fontWeight + " " + t.fontSize + "px " + t.fontFamily
  7011. },
  7012. getTextStyle: function (e) {
  7013. return r.merge(r.merge(e || {}, this.ecTheme.textStyle), i.textStyle)
  7014. },
  7015. getItemStyleColor: function (e, t, i, n) {
  7016. return "function" == typeof e ? e.call(this.myChart, {
  7017. seriesIndex: t,
  7018. series: this.series[t],
  7019. dataIndex: i,
  7020. data: n
  7021. }) : e
  7022. },
  7023. getDataFromOption: function (e, t) {
  7024. return null != e ? null != e.value ? e.value : e : t
  7025. },
  7026. subPixelOptimize: function (e, t) {
  7027. return e = t % 2 === 1 ? Math.floor(e) + .5 : Math.round(e)
  7028. },
  7029. resize: function () {
  7030. this.refresh && this.refresh(), this.clearEffectShape && this.clearEffectShape(!0);
  7031. var e = this;
  7032. setTimeout(function () {
  7033. e.animationEffect && e.animationEffect()
  7034. }, 200)
  7035. },
  7036. clear: function () {
  7037. this.clearEffectShape && this.clearEffectShape(), this.zr && this.zr.delShape(this.shapeList), this.shapeList = []
  7038. },
  7039. dispose: function () {
  7040. 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()
  7041. },
  7042. query: a.query,
  7043. deepQuery: a.deepQuery,
  7044. deepMerge: a.deepMerge,
  7045. parsePercent: o.parsePercent,
  7046. parseCenter: o.parseCenter,
  7047. parseRadius: o.parseRadius,
  7048. numAddCommas: o.addCommas,
  7049. getPrecision: o.getPrecision
  7050. }, t
  7051. }), i("echarts/layout/EdgeBundling", ["require", "../data/KDTree", "zrender/tool/vector"], function (e) {
  7052. function t(e, t) {
  7053. e = e.array, t = t.array;
  7054. var i = t[0] - e[0], n = t[1] - e[1], a = t[2] - e[2], o = t[3] - e[3];
  7055. return i * i + n * n + a * a + o * o
  7056. }
  7057. function i(e) {
  7058. this.points = [e.mp0, e.mp1], this.group = e
  7059. }
  7060. function n(e) {
  7061. var t = e.points;
  7062. 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
  7063. }
  7064. function a() {
  7065. this.edgeList = [], this.mp0 = l(), this.mp1 = l(), this.ink = 0
  7066. }
  7067. function o() {
  7068. this.maxNearestEdge = 6, this.maxTurningAngle = Math.PI / 4, this.maxIteration = 20
  7069. }
  7070. var r = e("../data/KDTree"), s = e("zrender/tool/vector"), l = s.create, h = s.distSquare, m = s.dist,
  7071. V = s.copy, U = s.clone;
  7072. return n.prototype.getStartPoint = function () {
  7073. return this._startPoint
  7074. }, n.prototype.getEndPoint = function () {
  7075. return this._endPoint
  7076. }, a.prototype.addEdge = function (e) {
  7077. e.group = this, this.edgeList.push(e)
  7078. }, a.prototype.removeEdge = function (e) {
  7079. e.group = null, this.edgeList.splice(this.edgeList.indexOf(e), 1)
  7080. }, o.prototype = {
  7081. constructor: o, run: function (e) {
  7082. function t(e, t) {
  7083. return h(e, t) < 1e-10
  7084. }
  7085. function n(e, i) {
  7086. for (var n = [], a = 0, o = 0; o < e.length; o++) a > 0 && t(e[o], n[a - 1]) || (n[a++] = U(e[o]));
  7087. return i[0] && !t(n[0], i[0]) && (n = n.reverse()), n
  7088. }
  7089. for (var a = this._iterate(e), o = 0; o++ < this.maxIteration;) {
  7090. for (var r = [], s = 0; s < a.groups.length; s++) r.push(new i(a.groups[s]));
  7091. var l = this._iterate(r);
  7092. if (l.savedInk <= 0) break;
  7093. a = l
  7094. }
  7095. var m = [], V = function (e, t) {
  7096. for (var a, o = 0; o < e.length; o++) {
  7097. var r = e[o];
  7098. if (r.edgeList[0] && r.edgeList[0].edge instanceof i) {
  7099. for (var s = [], l = 0; l < r.edgeList.length; l++) s.push(r.edgeList[l].edge.group);
  7100. a = t ? t.slice() : [], a.unshift(r.mp0), a.push(r.mp1), V(s, a)
  7101. } else for (var l = 0; l < r.edgeList.length; l++) {
  7102. var h = r.edgeList[l];
  7103. a = t ? t.slice() : [], a.unshift(r.mp0), a.push(r.mp1), a.unshift(h.getStartPoint()), a.push(h.getEndPoint()), m.push({
  7104. points: n(a, h.edge.points),
  7105. rawEdge: h.edge
  7106. })
  7107. }
  7108. }
  7109. };
  7110. return V(a.groups), m
  7111. }, _iterate: function (e) {
  7112. for (var i = [], o = [], s = 0, h = 0; h < e.length; h++) {
  7113. var m = new n(e[h]);
  7114. i.push(m)
  7115. }
  7116. 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++) {
  7117. var m = i[h];
  7118. if (!m.group) {
  7119. U.nearestN(m, this.maxNearestEdge, t, d);
  7120. for (var f = 0, k = null, x = null, _ = 0; _ < d.length; _++) {
  7121. var L = d[_], W = 0;
  7122. 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)
  7123. }
  7124. if (k) {
  7125. s += f;
  7126. var X;
  7127. 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)
  7128. } else {
  7129. var X = new a;
  7130. o.push(X), V(X.mp0, m.getStartPoint()), V(X.mp1, m.getEndPoint()), X.ink = m.ink, X.addEdge(m)
  7131. }
  7132. }
  7133. }
  7134. return {groups: o, edges: i, savedInk: s}
  7135. }, _calculateEdgeEdgeInk: function () {
  7136. var e = [], t = [];
  7137. return function (i, n, a, o) {
  7138. e[0] = i.getStartPoint(), e[1] = n.getStartPoint(), t[0] = i.getEndPoint(), t[1] = n.getEndPoint(), this._calculateMeetPoints(e, t, a, o);
  7139. var r = m(e[0], a) + m(a, o) + m(o, t[0]) + m(e[1], a) + m(o, t[1]);
  7140. return r
  7141. }
  7142. }(), _calculateGroupEdgeInk: function (e, t, i, n) {
  7143. for (var a = [], o = [], r = 0; r < e.edgeList.length; r++) {
  7144. var s = e.edgeList[r];
  7145. a.push(s.getStartPoint()), o.push(s.getEndPoint())
  7146. }
  7147. a.push(t.getStartPoint()), o.push(t.getEndPoint()), this._calculateMeetPoints(a, o, i, n);
  7148. for (var l = m(i, n), r = 0; r < a.length; r++) l += m(a[r], i) + m(o[r], n);
  7149. return l
  7150. }, _calculateMeetPoints: function () {
  7151. var e = l(), t = l();
  7152. return function (i, n, a, o) {
  7153. s.set(e, 0, 0), s.set(t, 0, 0);
  7154. for (var r = i.length, l = 0; r > l; l++) s.add(e, e, i[l]);
  7155. s.scale(e, e, 1 / r), r = n.length;
  7156. for (var l = 0; r > l; l++) s.add(t, t, n[l]);
  7157. s.scale(t, t, 1 / r), this._limitTurningAngle(i, e, t, a), this._limitTurningAngle(n, t, e, o)
  7158. }
  7159. }(), _limitTurningAngle: function () {
  7160. var e = l(), t = l(), i = l(), n = l();
  7161. return function (a, o, r, l) {
  7162. var V = Math.cos(this.maxTurningAngle), U = Math.tan(this.maxTurningAngle);
  7163. s.sub(e, o, r), s.normalize(e, e), s.copy(l, o);
  7164. for (var d = 0, p = 0; p < a.length; p++) {
  7165. var c = a[p];
  7166. s.sub(t, c, o);
  7167. var u = s.len(t);
  7168. s.scale(t, t, 1 / u);
  7169. var y = s.dot(t, e);
  7170. if (V > y) {
  7171. s.scaleAndAdd(i, o, e, u * y);
  7172. var g = m(i, c), b = g / U;
  7173. s.scaleAndAdd(n, i, e, -b);
  7174. var f = h(n, o);
  7175. f > d && (d = f, s.copy(l, n))
  7176. }
  7177. }
  7178. }
  7179. }()
  7180. }, o
  7181. }), i("zrender/shape/Star", ["require", "../tool/math", "./Base", "../tool/util"], function (e) {
  7182. var t = e("../tool/math"), i = t.sin, n = t.cos, a = Math.PI, o = e("./Base"), r = function (e) {
  7183. o.call(this, e)
  7184. };
  7185. return r.prototype = {
  7186. type: "star", buildPath: function (e, t) {
  7187. var o = t.n;
  7188. if (o && !(2 > o)) {
  7189. var r = t.x, s = t.y, l = t.r, h = t.r0;
  7190. null == h && (h = o > 4 ? l * n(2 * a / o) / n(a / o) : l / 3);
  7191. var m = a / o, V = -a / 2, U = r + l * n(V), d = s + l * i(V);
  7192. V += m;
  7193. var p = t.pointList = [];
  7194. p.push([U, d]);
  7195. 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;
  7196. p.push([U, d]), e.moveTo(p[0][0], p[0][1]);
  7197. for (var u = 0; u < p.length; u++) e.lineTo(p[u][0], p[u][1]);
  7198. e.closePath()
  7199. }
  7200. }, getRect: function (e) {
  7201. if (e.__rect) return e.__rect;
  7202. var t;
  7203. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  7204. x: Math.round(e.x - e.r - t / 2),
  7205. y: Math.round(e.y - e.r - t / 2),
  7206. width: 2 * e.r + t,
  7207. height: 2 * e.r + t
  7208. }, e.__rect
  7209. }
  7210. }, e("../tool/util").inherits(r, o), r
  7211. }), i("zrender/shape/Heart", ["require", "./Base", "./util/PathProxy", "../tool/area", "../tool/util"], function (e) {
  7212. "use strict";
  7213. var t = e("./Base"), i = e("./util/PathProxy"), n = e("../tool/area"), a = function (e) {
  7214. t.call(this, e), this._pathProxy = new i
  7215. };
  7216. return a.prototype = {
  7217. type: "heart", buildPath: function (e, t) {
  7218. var n = this._pathProxy || new i;
  7219. 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()
  7220. }, getRect: function (e) {
  7221. return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
  7222. }, isCover: function (e, t) {
  7223. var i = this.transformCoordToLocal(e, t);
  7224. 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
  7225. }
  7226. }, e("../tool/util").inherits(a, t), a
  7227. }), i("zrender/shape/Droplet", ["require", "./Base", "./util/PathProxy", "../tool/area", "../tool/util"], function (e) {
  7228. "use strict";
  7229. var t = e("./Base"), i = e("./util/PathProxy"), n = e("../tool/area"), a = function (e) {
  7230. t.call(this, e), this._pathProxy = new i
  7231. };
  7232. return a.prototype = {
  7233. type: "droplet", buildPath: function (e, t) {
  7234. var n = this._pathProxy || new i;
  7235. 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()
  7236. }, getRect: function (e) {
  7237. return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
  7238. }, isCover: function (e, t) {
  7239. var i = this.transformCoordToLocal(e, t);
  7240. 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
  7241. }
  7242. }, e("../tool/util").inherits(a, t), a
  7243. }), i("zrender/tool/math", [], function () {
  7244. function e(e, t) {
  7245. return Math.sin(t ? e * a : e)
  7246. }
  7247. function t(e, t) {
  7248. return Math.cos(t ? e * a : e)
  7249. }
  7250. function i(e) {
  7251. return e * a
  7252. }
  7253. function n(e) {
  7254. return e / a
  7255. }
  7256. var a = Math.PI / 180;
  7257. return {sin: e, cos: t, degreeToRadian: i, radianToDegree: n}
  7258. }), i("zrender/shape/util/PathProxy", ["require", "../../tool/vector"], function (e) {
  7259. var t = e("../../tool/vector"), i = function (e, t) {
  7260. this.command = e, this.points = t || null
  7261. }, n = function () {
  7262. this.pathCommands = [], this._ctx = null, this._min = [], this._max = []
  7263. };
  7264. return n.prototype.fastBoundingRect = function () {
  7265. var e = this._min, i = this._max;
  7266. e[0] = e[1] = 1 / 0, i[0] = i[1] = -(1 / 0);
  7267. for (var n = 0; n < this.pathCommands.length; n++) {
  7268. var a = this.pathCommands[n], o = a.points;
  7269. switch (a.command) {
  7270. case"M":
  7271. t.min(e, e, o), t.max(i, i, o);
  7272. break;
  7273. case"L":
  7274. t.min(e, e, o), t.max(i, i, o);
  7275. break;
  7276. case"C":
  7277. 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]);
  7278. break;
  7279. case"Q":
  7280. 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]);
  7281. break;
  7282. case"A":
  7283. var s = o[0], l = o[1], h = o[2], m = o[3];
  7284. 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)
  7285. }
  7286. }
  7287. return {x: e[0], y: e[1], width: i[0] - e[0], height: i[1] - e[1]}
  7288. }, n.prototype.begin = function (e) {
  7289. return this._ctx = e || null, this.pathCommands.length = 0, this
  7290. }, n.prototype.moveTo = function (e, t) {
  7291. return this.pathCommands.push(new i("M", [e, t])), this._ctx && this._ctx.moveTo(e, t), this
  7292. }, n.prototype.lineTo = function (e, t) {
  7293. return this.pathCommands.push(new i("L", [e, t])), this._ctx && this._ctx.lineTo(e, t), this
  7294. }, n.prototype.bezierCurveTo = function (e, t, n, a, o, r) {
  7295. 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
  7296. }, n.prototype.quadraticCurveTo = function (e, t, n, a) {
  7297. return this.pathCommands.push(new i("Q", [e, t, n, a])), this._ctx && this._ctx.quadraticCurveTo(e, t, n, a), this
  7298. }, n.prototype.arc = function (e, t, n, a, o, r) {
  7299. 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
  7300. }, n.prototype.arcTo = function (e, t, i, n, a) {
  7301. return this._ctx && this._ctx.arcTo(e, t, i, n, a), this
  7302. }, n.prototype.rect = function (e, t, i, n) {
  7303. return this._ctx && this._ctx.rect(e, t, i, n), this
  7304. }, n.prototype.closePath = function () {
  7305. return this.pathCommands.push(new i("z")), this._ctx && this._ctx.closePath(), this
  7306. }, n.prototype.isEmpty = function () {
  7307. return 0 === this.pathCommands.length
  7308. }, n.PathSegment = i, n
  7309. }), i("zrender/shape/Line", ["require", "./Base", "./util/dashedLineTo", "../tool/util"], function (e) {
  7310. var t = e("./Base"), i = e("./util/dashedLineTo"), n = function (e) {
  7311. this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
  7312. };
  7313. return n.prototype = {
  7314. type: "line", buildPath: function (e, t) {
  7315. if (t.lineType && "solid" != t.lineType) {
  7316. if ("dashed" == t.lineType || "dotted" == t.lineType) {
  7317. var n = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  7318. i(e, t.xStart, t.yStart, t.xEnd, t.yEnd, n)
  7319. }
  7320. } else e.moveTo(t.xStart, t.yStart), e.lineTo(t.xEnd, t.yEnd)
  7321. }, getRect: function (e) {
  7322. if (e.__rect) return e.__rect;
  7323. var t = e.lineWidth || 1;
  7324. return e.__rect = {
  7325. x: Math.min(e.xStart, e.xEnd) - t,
  7326. y: Math.min(e.yStart, e.yEnd) - t,
  7327. width: Math.abs(e.xStart - e.xEnd) + t,
  7328. height: Math.abs(e.yStart - e.yEnd) + t
  7329. }, e.__rect
  7330. }
  7331. }, e("../tool/util").inherits(n, t), n
  7332. }), i("zrender/shape/BezierCurve", ["require", "./Base", "../tool/util"], function (e) {
  7333. "use strict";
  7334. var t = e("./Base"), i = function (e) {
  7335. this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
  7336. };
  7337. return i.prototype = {
  7338. type: "bezier-curve", buildPath: function (e, t) {
  7339. 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)
  7340. }, getRect: function (e) {
  7341. if (e.__rect) return e.__rect;
  7342. var t = Math.min(e.xStart, e.xEnd, e.cpX1), i = Math.min(e.yStart, e.yEnd, e.cpY1),
  7343. n = Math.max(e.xStart, e.xEnd, e.cpX1), a = Math.max(e.yStart, e.yEnd, e.cpY1), o = e.cpX2,
  7344. r = e.cpY2;
  7345. "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));
  7346. var s = e.lineWidth || 1;
  7347. return e.__rect = {x: t - s, y: i - s, width: n - t + s, height: a - i + s}, e.__rect
  7348. }
  7349. }, e("../tool/util").inherits(i, t), i
  7350. }), i("zrender/shape/util/dashedLineTo", [], function () {
  7351. var e = [5, 5];
  7352. return function (t, i, n, a, o, r) {
  7353. if (t.setLineDash) return e[0] = e[1] = r, t.setLineDash(e), t.moveTo(i, n), void t.lineTo(a, o);
  7354. r = "number" != typeof r ? 5 : r;
  7355. var s = a - i, l = o - n, h = Math.floor(Math.sqrt(s * s + l * l) / r);
  7356. s /= h, l /= h;
  7357. for (var m = !0, V = 0; h > V; ++V) m ? t.moveTo(i, n) : t.lineTo(i, n), m = !m, i += s, n += l;
  7358. t.lineTo(a, o)
  7359. }
  7360. }), i("zrender/shape/Polygon", ["require", "./Base", "./util/smoothSpline", "./util/smoothBezier", "./util/dashedLineTo", "../tool/util"], function (e) {
  7361. var t = e("./Base"), i = e("./util/smoothSpline"), n = e("./util/smoothBezier"), a = e("./util/dashedLineTo"),
  7362. o = function (e) {
  7363. t.call(this, e)
  7364. };
  7365. return o.prototype = {
  7366. type: "polygon", buildPath: function (e, t) {
  7367. var o = t.pointList;
  7368. if (!(o.length < 2)) {
  7369. if (t.smooth && "spline" !== t.smooth) {
  7370. var r = n(o, t.smooth, !0, t.smoothConstraint);
  7371. e.moveTo(o[0][0], o[0][1]);
  7372. 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])
  7373. } else if ("spline" === t.smooth && (o = i(o, !0)), t.lineType && "solid" != t.lineType) {
  7374. if ("dashed" == t.lineType || "dotted" == t.lineType) {
  7375. var U = t._dashLength || (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  7376. t._dashLength = U, e.moveTo(o[0][0], o[0][1]);
  7377. 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);
  7378. a(e, o[o.length - 1][0], o[o.length - 1][1], o[0][0], o[0][1], U)
  7379. }
  7380. } else {
  7381. e.moveTo(o[0][0], o[0][1]);
  7382. for (var V = 1, d = o.length; d > V; V++) e.lineTo(o[V][0], o[V][1]);
  7383. e.lineTo(o[0][0], o[0][1])
  7384. }
  7385. e.closePath()
  7386. }
  7387. }, getRect: function (e) {
  7388. if (e.__rect) return e.__rect;
  7389. 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]);
  7390. var l;
  7391. return l = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  7392. x: Math.round(t - l / 2),
  7393. y: Math.round(n - l / 2),
  7394. width: i - t + l,
  7395. height: a - n + l
  7396. }, e.__rect
  7397. }
  7398. }, e("../tool/util").inherits(o, t), o
  7399. }), i("echarts/util/shape/normalIsCover", [], function () {
  7400. return function (e, t) {
  7401. var i = this.transformCoordToLocal(e, t);
  7402. return e = i[0], t = i[1], this.isCoverRect(e, t)
  7403. }
  7404. }), i("zrender/shape/util/smoothSpline", ["require", "../../tool/vector"], function (e) {
  7405. function t(e, t, i, n, a, o, r) {
  7406. var s = .5 * (i - e), l = .5 * (n - t);
  7407. return (2 * (t - i) + s + l) * r + (-3 * (t - i) - 2 * s - l) * o + s * a + t
  7408. }
  7409. var i = e("../../tool/vector");
  7410. return function (e, n) {
  7411. for (var a = e.length, o = [], r = 0, s = 1; a > s; s++) r += i.distance(e[s - 1], e[s]);
  7412. var l = r / 5;
  7413. l = a > l ? a : l;
  7414. for (var s = 0; l > s; s++) {
  7415. var h, m, V, U = s / (l - 1) * (n ? a : a - 1), d = Math.floor(U), p = U - d, c = e[d % a];
  7416. 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]);
  7417. var u = p * p, y = p * u;
  7418. 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)])
  7419. }
  7420. return o
  7421. }
  7422. }), i("zrender/shape/util/smoothBezier", ["require", "../../tool/vector"], function (e) {
  7423. var t = e("../../tool/vector");
  7424. return function (e, i, n, a) {
  7425. var o, r, s, l, h = [], m = [], V = [], U = [], d = !!a;
  7426. if (d) {
  7427. s = [1 / 0, 1 / 0], l = [-(1 / 0), -(1 / 0)];
  7428. for (var p = 0, c = e.length; c > p; p++) t.min(s, s, e[p]), t.max(l, l, e[p]);
  7429. t.min(s, s, a[0]), t.max(l, l, a[1])
  7430. }
  7431. for (var p = 0, c = e.length; c > p; p++) {
  7432. var o, r, u = e[p];
  7433. if (n) o = e[p ? p - 1 : c - 1], r = e[(p + 1) % c]; else {
  7434. if (0 === p || p === c - 1) {
  7435. h.push(t.clone(e[p]));
  7436. continue
  7437. }
  7438. o = e[p - 1], r = e[p + 1]
  7439. }
  7440. t.sub(m, r, o), t.scale(m, m, i);
  7441. var y = t.distance(u, o), g = t.distance(u, r), b = y + g;
  7442. 0 !== b && (y /= b, g /= b), t.scale(V, m, -y), t.scale(U, m, g);
  7443. var f = t.add([], u, V), k = t.add([], u, U);
  7444. 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)
  7445. }
  7446. return n && h.push(t.clone(h.shift())), h
  7447. }
  7448. }), i("echarts/util/ecQuery", ["require", "zrender/tool/util"], function (e) {
  7449. function t(e, t) {
  7450. if ("undefined" != typeof e) {
  7451. if (!t) return e;
  7452. t = t.split(".");
  7453. for (var i = t.length, n = 0; i > n;) {
  7454. if (e = e[t[n]], "undefined" == typeof e) return;
  7455. n++
  7456. }
  7457. return e
  7458. }
  7459. }
  7460. function i(e, i) {
  7461. for (var n, a = 0, o = e.length; o > a; a++) if (n = t(e[a], i), "undefined" != typeof n) return n
  7462. }
  7463. function n(e, i) {
  7464. for (var n, o = e.length; o--;) {
  7465. var r = t(e[o], i);
  7466. "undefined" != typeof r && ("undefined" == typeof n ? n = a.clone(r) : a.merge(n, r, !0))
  7467. }
  7468. return n
  7469. }
  7470. var a = e("zrender/tool/util");
  7471. return {query: t, deepQuery: i, deepMerge: n}
  7472. }), i("echarts/util/number", [], function () {
  7473. function e(e) {
  7474. return e.replace(/^\s+/, "").replace(/\s+$/, "")
  7475. }
  7476. function t(t, i) {
  7477. return "string" == typeof t ? e(t).match(/%$/) ? parseFloat(t) / 100 * i : parseFloat(t) : t
  7478. }
  7479. function i(e, i) {
  7480. return [t(i[0], e.getWidth()), t(i[1], e.getHeight())]
  7481. }
  7482. function n(e, i) {
  7483. i instanceof Array || (i = [0, i]);
  7484. var n = Math.min(e.getWidth(), e.getHeight()) / 2;
  7485. return [t(i[0], n), t(i[1], n)]
  7486. }
  7487. function a(e) {
  7488. return isNaN(e) ? "-" : (e = (e + "").split("."), e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (e.length > 1 ? "." + e[1] : ""))
  7489. }
  7490. function o(e) {
  7491. for (var t = 1, i = 0; Math.round(e * t) / t !== e;) t *= 10, i++;
  7492. return i
  7493. }
  7494. return {parsePercent: t, parseCenter: i, parseRadius: n, addCommas: a, getPrecision: o}
  7495. }), i("echarts/data/KDTree", ["require", "./quickSelect"], function (e) {
  7496. function t(e, t) {
  7497. this.left = null, this.right = null, this.axis = e, this.data = t
  7498. }
  7499. var i = e("./quickSelect"), n = function (e, t) {
  7500. 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 = [])
  7501. };
  7502. return n.prototype._buildTree = function (e, n, a, o) {
  7503. if (n > a) return null;
  7504. var r = Math.floor((n + a) / 2);
  7505. r = i(e, n, a, r, function (e, t) {
  7506. return e.array[o] - t.array[o]
  7507. });
  7508. var s = e[r], l = new t(o, s);
  7509. 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
  7510. }, n.prototype.nearest = function (e, t) {
  7511. var i = this.root, n = this._stack, a = 0, o = 1 / 0, r = null;
  7512. 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--;) {
  7513. i = n[a];
  7514. var s = e.array[i.axis] - i.data.array[i.axis], l = 0 > s, h = !1;
  7515. 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))
  7516. }
  7517. return r.data
  7518. }, n.prototype._addNearest = function (e, t, i) {
  7519. 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;
  7520. n[a].dist = t, n[a].node = i
  7521. }, n.prototype.nearestN = function (e, t, i, n) {
  7522. if (0 >= t) return n.length = 0, n;
  7523. 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;
  7524. var h = i(a.data, e), m = 0;
  7525. 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--;) {
  7526. a = o[r];
  7527. var h = e.array[a.axis] - a.data.array[a.axis], V = 0 > h, U = !1;
  7528. 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))
  7529. }
  7530. for (var l = 0; m > l; l++) n[l] = s[l].node.data;
  7531. return n.length = m, n
  7532. }, n
  7533. }), i("echarts/data/quickSelect", ["require"], function () {
  7534. function e(e, t) {
  7535. return e - t
  7536. }
  7537. function t(e, t, i) {
  7538. var n = e[t];
  7539. e[t] = e[i], e[i] = n
  7540. }
  7541. function i(e, i, n, a, o) {
  7542. for (var r = i; n > i;) {
  7543. var r = Math.round((n + i) / 2), s = e[r];
  7544. t(e, r, n), r = i;
  7545. for (var l = i; n - 1 >= l; l++) o(s, e[l]) >= 0 && (t(e, l, r), r++);
  7546. if (t(e, n, r), r === a) return r;
  7547. a > r ? i = r + 1 : n = r - 1
  7548. }
  7549. return i
  7550. }
  7551. function n(t, n, a, o, r) {
  7552. return arguments.length <= 3 && (o = n, r = 2 == arguments.length ? e : a, n = 0, a = t.length - 1), i(t, n, a, o, r)
  7553. }
  7554. return n
  7555. }), i("echarts/component/dataView", ["require", "./base", "../config", "zrender/tool/util", "../component"], function (e) {
  7556. function t(e, t, n, a, o) {
  7557. 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))
  7558. }
  7559. var i = e("./base"), n = e("../config"), a = e("zrender/tool/util");
  7560. return t.prototype = {
  7561. type: n.COMPONENT_TYPE_DATAVIEW,
  7562. _lang: ["Data View", "close", "refresh"],
  7563. _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;",
  7564. hide: function () {
  7565. this._sizeCssText = "width:" + this._zrWidth + "px;height:0px;background-color:#f0ffff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText
  7566. },
  7567. show: function (e) {
  7568. this._hasShow = !0;
  7569. var t = this.query(this.option, "toolbox.feature.dataView.lang") || this._lang;
  7570. 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>";
  7571. var i = this.query(this.option, "toolbox.feature.dataView.optionToContent");
  7572. "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];
  7573. var n = this;
  7574. this._buttonClose.onclick = function () {
  7575. n.hide()
  7576. }, 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 () {
  7577. n._save()
  7578. }, this._textArea.readOnly = !1, this._textArea.style.cursor = "default") : (this._buttonRefresh.style.cssText = "display:none",
  7579. 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
  7580. },
  7581. _optionToContent: function () {
  7582. var e, t, i, a, o, r, s = [], l = "";
  7583. if (this.option.xAxis) for (s = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], e = 0, a = s.length; a > e; e++) if ("category" == (s[e].type || "category")) {
  7584. for (r = [], t = 0, i = s[e].data.length; i > t; t++) r.push(this.getDataFromOption(s[e].data[t]));
  7585. l += r.join(", ") + "\n\n"
  7586. }
  7587. if (this.option.yAxis) for (s = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], e = 0, a = s.length; a > e; e++) if ("category" == s[e].type) {
  7588. for (r = [], t = 0, i = s[e].data.length; i > t; t++) r.push(this.getDataFromOption(s[e].data[t]));
  7589. l += r.join(", ") + "\n\n"
  7590. }
  7591. var h, m = this.option.series;
  7592. for (e = 0, a = m.length; a > e; e++) {
  7593. 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));
  7594. l += (m[e].name || "-") + " : \n", l += r.join(m[e].type == n.CHART_TYPE_SCATTER ? "\n" : ", "), l += "\n\n"
  7595. }
  7596. return l
  7597. },
  7598. _save: function () {
  7599. var e = this.query(this.option, "toolbox.feature.dataView.contentToOption");
  7600. if ("function" != typeof e) {
  7601. 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]);
  7602. this._contentToOption(i)
  7603. } else e(this._textArea, this.option);
  7604. this.hide();
  7605. var r = this;
  7606. setTimeout(function () {
  7607. r.messageCenter && r.messageCenter.dispatch(n.EVENT.DATA_VIEW_CHANGED, null, {option: r.option}, r.myChart)
  7608. }, r.canvasSupported ? 800 : 100)
  7609. },
  7610. _contentToOption: function (e) {
  7611. var t, i, a, o, r, s, l, h = [], m = 0;
  7612. if (this.option.xAxis) for (h = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], t = 0, o = h.length; o > t; t++) if ("category" == (h[t].type || "category")) {
  7613. 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;
  7614. m++
  7615. }
  7616. if (this.option.yAxis) for (h = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], t = 0, o = h.length; o > t; t++) if ("category" == h[t].type) {
  7617. 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;
  7618. m++
  7619. }
  7620. var V = this.option.series;
  7621. for (t = 0, o = V.length; o > t; t++) if (m++, V[t].type == n.CHART_TYPE_SCATTER) 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++; else {
  7622. s = e[m].split(",");
  7623. 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;
  7624. m++
  7625. }
  7626. },
  7627. _trim: function (e) {
  7628. var t = new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)", "g");
  7629. return e.replace(t, "")
  7630. },
  7631. _stop: function (e) {
  7632. e = e || window.event, e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0
  7633. },
  7634. resize: function () {
  7635. 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;")
  7636. },
  7637. dispose: function () {
  7638. 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
  7639. }
  7640. }, a.inherits(t, i), e("../component").define("dataView", t), t
  7641. }), i("echarts/util/shape/Cross", ["require", "zrender/shape/Base", "zrender/shape/Line", "zrender/tool/util", "./normalIsCover"], function (e) {
  7642. function t(e) {
  7643. i.call(this, e)
  7644. }
  7645. var i = e("zrender/shape/Base"), n = e("zrender/shape/Line"), a = e("zrender/tool/util");
  7646. return t.prototype = {
  7647. type: "cross", buildPath: function (e, t) {
  7648. var i = t.rect;
  7649. 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)
  7650. }, getRect: function (e) {
  7651. return e.rect
  7652. }, isCover: e("./normalIsCover")
  7653. }, a.inherits(t, i), t
  7654. }), i("zrender/shape/Sector", ["require", "../tool/math", "../tool/computeBoundingBox", "../tool/vector", "./Base", "../tool/util"], function (e) {
  7655. var t = e("../tool/math"), i = e("../tool/computeBoundingBox"), n = e("../tool/vector"), a = e("./Base"),
  7656. o = n.create(), r = n.create(), s = n.create(), l = n.create(), h = function (e) {
  7657. a.call(this, e)
  7658. };
  7659. return h.prototype = {
  7660. type: "sector", buildPath: function (e, i) {
  7661. var n = i.x, a = i.y, o = i.r0 || 0, r = i.r, s = i.startAngle, l = i.endAngle, h = i.clockWise || !1;
  7662. s = t.degreeToRadian(s), l = t.degreeToRadian(l), h || (s = -s, l = -l);
  7663. var m = t.cos(s), V = t.sin(s);
  7664. 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()
  7665. }, getRect: function (e) {
  7666. if (e.__rect) return e.__rect;
  7667. var a = e.x, h = e.y, m = e.r0 || 0, V = e.r, U = t.degreeToRadian(e.startAngle),
  7668. d = t.degreeToRadian(e.endAngle), p = e.clockWise;
  7669. 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 = {
  7670. x: o[0],
  7671. y: o[1],
  7672. width: s[0] - o[0],
  7673. height: s[1] - o[1]
  7674. }, e.__rect
  7675. }
  7676. }, e("../tool/util").inherits(h, a), h
  7677. }), i("echarts/util/shape/Candle", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function (e) {
  7678. function t(e) {
  7679. i.call(this, e)
  7680. }
  7681. var i = e("zrender/shape/Base"), n = e("zrender/tool/util");
  7682. return t.prototype = {
  7683. type: "candle", _numberOrder: function (e, t) {
  7684. return t - e
  7685. }, buildPath: function (e, t) {
  7686. var i = n.clone(t.y).sort(this._numberOrder);
  7687. 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])
  7688. }, getRect: function (e) {
  7689. if (!e.__rect) {
  7690. var t = 0;
  7691. ("stroke" == e.brushType || "fill" == e.brushType) && (t = e.lineWidth || 1);
  7692. var i = n.clone(e.y).sort(this._numberOrder);
  7693. e.__rect = {
  7694. x: Math.round(e.x - e.width / 2 - t / 2),
  7695. y: Math.round(i[3] - t / 2),
  7696. width: e.width + t,
  7697. height: i[0] - i[3] + t
  7698. }
  7699. }
  7700. return e.__rect
  7701. }, isCover: e("./normalIsCover")
  7702. }, n.inherits(t, i), t
  7703. }), i("zrender/tool/computeBoundingBox", ["require", "./vector", "./curve"], function (e) {
  7704. function t(e, t, i) {
  7705. if (0 !== e.length) {
  7706. for (var n = e[0][0], a = e[0][0], o = e[0][1], r = e[0][1], s = 1; s < e.length; s++) {
  7707. var l = e[s];
  7708. l[0] < n && (n = l[0]), l[0] > a && (a = l[0]), l[1] < o && (o = l[1]), l[1] > r && (r = l[1])
  7709. }
  7710. t[0] = n, t[1] = o, i[0] = a, i[1] = r
  7711. }
  7712. }
  7713. function i(e, t, i, n, a, r) {
  7714. var s = [];
  7715. o.cubicExtrema(e[0], t[0], i[0], n[0], s);
  7716. for (var l = 0; l < s.length; l++) s[l] = o.cubicAt(e[0], t[0], i[0], n[0], s[l]);
  7717. var h = [];
  7718. o.cubicExtrema(e[1], t[1], i[1], n[1], h);
  7719. for (var l = 0; l < h.length; l++) h[l] = o.cubicAt(e[1], t[1], i[1], n[1], h[l]);
  7720. s.push(e[0], n[0]), h.push(e[1], n[1]);
  7721. var m = Math.min.apply(null, s), V = Math.max.apply(null, s), U = Math.min.apply(null, h),
  7722. d = Math.max.apply(null, h);
  7723. a[0] = m, a[1] = U, r[0] = V, r[1] = d
  7724. }
  7725. function n(e, t, i, n, a) {
  7726. var r = o.quadraticExtremum(e[0], t[0], i[0]), s = o.quadraticExtremum(e[1], t[1], i[1]);
  7727. r = Math.max(Math.min(r, 1), 0), s = Math.max(Math.min(s, 1), 0);
  7728. var l = 1 - r, h = 1 - s, m = l * l * e[0] + 2 * l * r * t[0] + r * r * i[0],
  7729. V = l * l * e[1] + 2 * l * r * t[1] + r * r * i[1], U = h * h * e[0] + 2 * h * s * t[0] + s * s * i[0],
  7730. d = h * h * e[1] + 2 * h * s * t[1] + s * s * i[1];
  7731. 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)
  7732. }
  7733. var a = e("./vector"), o = e("./curve"), r = a.create(), s = a.create(), l = a.create(),
  7734. h = function (e, t, i, n, o, h, m, V) {
  7735. 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);
  7736. 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) {
  7737. var U = o;
  7738. o = n, n = U
  7739. }
  7740. 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))
  7741. };
  7742. return t.cubeBezier = i, t.quadraticBezier = n, t.arc = h, t
  7743. }), i("echarts/util/shape/Chain", ["require", "zrender/shape/Base", "./Icon", "zrender/shape/util/dashedLineTo", "zrender/tool/util", "zrender/tool/matrix"], function (e) {
  7744. function t(e) {
  7745. i.call(this, e)
  7746. }
  7747. var i = e("zrender/shape/Base"), n = e("./Icon"), a = e("zrender/shape/util/dashedLineTo"),
  7748. o = e("zrender/tool/util"), r = e("zrender/tool/matrix");
  7749. return t.prototype = {
  7750. type: "chain", brush: function (e, t) {
  7751. var i = this.style;
  7752. 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()
  7753. }, buildLinePath: function (e, t) {
  7754. var i = t.x, n = t.y + 5, o = t.width, r = t.height / 2 - 10;
  7755. 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) {
  7756. if ("dashed" == t.lineType || "dotted" == t.lineType) {
  7757. var s = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
  7758. a(e, i, n + r / 2, i + o, n + r / 2, s)
  7759. }
  7760. } else e.lineTo(i + o, n + r / 2)
  7761. }, brushSymbol: function (e, t) {
  7762. var i = t.y + t.height / 4;
  7763. e.save();
  7764. for (var a, o = t.chainPoint, r = 0, s = o.length; s > r; r++) {
  7765. if (a = o[r], "none" != a.symbol) {
  7766. e.beginPath();
  7767. var l = a.symbolSize;
  7768. n.prototype.buildPath(e, {
  7769. iconType: a.symbol,
  7770. x: a.x - l,
  7771. y: i - l,
  7772. width: 2 * l,
  7773. height: 2 * l,
  7774. n: a.n
  7775. }), e.fillStyle = a.isEmpty ? "#fff" : t.strokeColor, e.closePath(), e.fill(), e.stroke()
  7776. }
  7777. 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))
  7778. }
  7779. e.restore()
  7780. }, _updateTextTransform: function (e, t) {
  7781. var i = r.create();
  7782. if (r.identity(i), 0 !== t[0]) {
  7783. var n = t[1] || 0, a = t[2] || 0;
  7784. (n || a) && r.translate(i, i, [-n, -a]), r.rotate(i, i, t[0]), (n || a) && r.translate(i, i, [n, a])
  7785. }
  7786. e.transform.apply(e, i)
  7787. }, isCover: function (e, t) {
  7788. var i = this.style;
  7789. return e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height ? !0 : !1
  7790. }
  7791. }, o.inherits(t, i), t
  7792. }), i("zrender/shape/Ring", ["require", "./Base", "../tool/util"], function (e) {
  7793. var t = e("./Base"), i = function (e) {
  7794. t.call(this, e)
  7795. };
  7796. return i.prototype = {
  7797. type: "ring", buildPath: function (e, t) {
  7798. 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)
  7799. }, getRect: function (e) {
  7800. if (e.__rect) return e.__rect;
  7801. var t;
  7802. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  7803. x: Math.round(e.x - e.r - t / 2),
  7804. y: Math.round(e.y - e.r - t / 2),
  7805. width: 2 * e.r + t,
  7806. height: 2 * e.r + t
  7807. }, e.__rect
  7808. }
  7809. }, e("../tool/util").inherits(i, t), i
  7810. }), i("echarts/component/axis", ["require", "./base", "zrender/shape/Line", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "./categoryAxis", "./valueAxis", "../component"], function (e) {
  7811. function t(e, t, n, a, o, r) {
  7812. i.call(this, e, t, n, a, o), this.axisType = r, this._axisList = [], this.refresh(a)
  7813. }
  7814. var i = e("./base"), n = e("zrender/shape/Line"), a = e("../config"), o = e("../util/ecData"),
  7815. r = e("zrender/tool/util"), s = e("zrender/tool/color");
  7816. return t.prototype = {
  7817. type: a.COMPONENT_TYPE_AXIS, axisBase: {
  7818. _buildAxisLine: function () {
  7819. var e = this.option.axisLine.lineStyle.width, t = e / 2, i = {
  7820. _axisShape: "axisLine",
  7821. zlevel: this.getZlevelBase(),
  7822. z: this.getZBase() + 3,
  7823. hoverable: !1
  7824. }, a = this.grid;
  7825. switch (this.option.position) {
  7826. case"left":
  7827. i.style = {
  7828. xStart: a.getX() - t,
  7829. yStart: a.getYend(),
  7830. xEnd: a.getX() - t,
  7831. yEnd: a.getY(),
  7832. lineCap: "round"
  7833. };
  7834. break;
  7835. case"right":
  7836. i.style = {
  7837. xStart: a.getXend() + t,
  7838. yStart: a.getYend(),
  7839. xEnd: a.getXend() + t,
  7840. yEnd: a.getY(),
  7841. lineCap: "round"
  7842. };
  7843. break;
  7844. case"bottom":
  7845. i.style = {
  7846. xStart: a.getX(),
  7847. yStart: a.getYend() + t,
  7848. xEnd: a.getXend(),
  7849. yEnd: a.getYend() + t,
  7850. lineCap: "round"
  7851. };
  7852. break;
  7853. case"top":
  7854. i.style = {
  7855. xStart: a.getX(),
  7856. yStart: a.getY() - t,
  7857. xEnd: a.getXend(),
  7858. yEnd: a.getY() - t,
  7859. lineCap: "round"
  7860. }
  7861. }
  7862. var o = i.style;
  7863. "" !== 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)
  7864. }, _axisLabelClickable: function (e, t) {
  7865. return e ? (o.pack(t, void 0, -1, void 0, -1, t.style.text), t.hoverable = !0, t.clickable = !0, t.highlightStyle = {
  7866. color: s.lift(t.style.color, 1),
  7867. brushType: "fill"
  7868. }, t) : t
  7869. }, refixAxisShape: function (e, t) {
  7870. if (this.option.axisLine.onZero) {
  7871. var i;
  7872. if (this.isHorizontal() && null != t) 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));
  7873. if (!this.isHorizontal() && null != e) 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))
  7874. }
  7875. }, getPosition: function () {
  7876. return this.option.position
  7877. }, isHorizontal: function () {
  7878. return "bottom" === this.option.position || "top" === this.option.position
  7879. }
  7880. }, reformOption: function (e) {
  7881. if (!e || e instanceof Array && 0 === e.length ? e = [{type: a.COMPONENT_TYPE_AXIS_VALUE}] : e instanceof Array || (e = [e]), e.length > 2 && (e = [e[0], e[1]]), "xAxis" === this.axisType) {
  7882. (!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");
  7883. 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
  7884. } else {
  7885. (!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");
  7886. 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
  7887. }
  7888. return e
  7889. }, refresh: function (t) {
  7890. var i;
  7891. 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);
  7892. 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))
  7893. }, getAxis: function (e) {
  7894. return this._axisList[e]
  7895. }, getAxisCount: function () {
  7896. return this._axisList.length
  7897. }, clear: function () {
  7898. for (var e = 0, t = this._axisList.length; t > e; e++) this._axisList[e].dispose && this._axisList[e].dispose();
  7899. this._axisList = []
  7900. }
  7901. }, r.inherits(t, i), e("../component").define("axis", t), t
  7902. }), i("echarts/component/grid", ["require", "./base", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "../component"], function (e) {
  7903. function t(e, t, n, a, o) {
  7904. i.call(this, e, t, n, a, o), this.refresh(a)
  7905. }
  7906. var i = e("./base"), n = e("zrender/shape/Rectangle"), a = e("../config");
  7907. a.grid = {
  7908. zlevel: 0,
  7909. z: 0,
  7910. x: 80,
  7911. y: 60,
  7912. x2: 80,
  7913. y2: 60,
  7914. backgroundColor: "rgba(0,0,0,0)",
  7915. borderWidth: 1,
  7916. borderColor: "#ccc"
  7917. };
  7918. var o = e("zrender/tool/util");
  7919. return t.prototype = {
  7920. type: a.COMPONENT_TYPE_GRID, getX: function () {
  7921. return this._x
  7922. }, getY: function () {
  7923. return this._y
  7924. }, getWidth: function () {
  7925. return this._width
  7926. }, getHeight: function () {
  7927. return this._height
  7928. }, getXend: function () {
  7929. return this._x + this._width
  7930. }, getYend: function () {
  7931. return this._y + this._height
  7932. }, getArea: function () {
  7933. return {x: this._x, y: this._y, width: this._width, height: this._height}
  7934. }, getBbox: function () {
  7935. return [[this._x, this._y], [this.getXend(), this.getYend()]]
  7936. }, refixAxisShape: function (e) {
  7937. 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));
  7938. if ("undefined" != typeof t || "undefined" != typeof i) for (r = o.length; r--;) o[r].refixAxisShape(t, i)
  7939. }, refresh: function (e) {
  7940. if (e || this._zrWidth != this.zr.getWidth() || this._zrHeight != this.zr.getHeight()) {
  7941. this.clear(), this.option = e || this.option, this.option.grid = this.reformOption(this.option.grid);
  7942. var t = this.option.grid;
  7943. 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);
  7944. var i = this.parsePercent(t.x2, this._zrWidth), a = this.parsePercent(t.y2, this._zrHeight);
  7945. 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({
  7946. zlevel: this.getZlevelBase(),
  7947. z: this.getZBase(),
  7948. hoverable: !1,
  7949. style: {
  7950. x: this._x,
  7951. y: this._y,
  7952. width: this._width,
  7953. height: this._height,
  7954. brushType: t.borderWidth > 0 ? "both" : "fill",
  7955. color: t.backgroundColor,
  7956. strokeColor: t.borderColor,
  7957. lineWidth: t.borderWidth
  7958. }
  7959. })), this.zr.addShape(this.shapeList[0])
  7960. }
  7961. }
  7962. }, o.inherits(t, i), e("../component").define("grid", t), t
  7963. }), i("echarts/component/dataZoom", ["require", "./base", "zrender/shape/Rectangle", "zrender/shape/Polygon", "../util/shape/Icon", "../config", "../util/date", "zrender/tool/util", "../component"], function (e) {
  7964. function t(e, t, n, a, o) {
  7965. i.call(this, e, t, n, a, o);
  7966. var r = this;
  7967. r._ondrift = function (e, t) {
  7968. return r.__ondrift(this, e, t)
  7969. }, r._ondragend = function () {
  7970. return r.__ondragend()
  7971. }, 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()
  7972. }
  7973. var i = e("./base"), n = e("zrender/shape/Rectangle"), a = e("zrender/shape/Polygon"),
  7974. o = e("../util/shape/Icon"), r = e("../config");
  7975. r.dataZoom = {
  7976. zlevel: 0,
  7977. z: 4,
  7978. show: !1,
  7979. orient: "horizontal",
  7980. backgroundColor: "rgba(0,0,0,0)",
  7981. dataBackgroundColor: "#eee",
  7982. fillerColor: "rgba(144,197,237,0.2)",
  7983. handleColor: "rgba(70,130,180,0.8)",
  7984. handleSize: 8,
  7985. showDetail: !0,
  7986. realtime: !0
  7987. };
  7988. var s = e("../util/date"), l = e("zrender/tool/util");
  7989. return t.prototype = {
  7990. type: r.COMPONENT_TYPE_DATAZOOM, _buildShape: function () {
  7991. this._buildBackground(), this._buildFiller(), this._buildHandle(), this._buildFrame();
  7992. for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]);
  7993. this._syncFrameShape()
  7994. }, _getLocation: function () {
  7995. var e, t, i, n, a = this.component.grid;
  7996. 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()), {
  7997. x: e,
  7998. y: t,
  7999. width: i,
  8000. height: n
  8001. }
  8002. }, _getZoom: function () {
  8003. var e = this.option.series, t = this.option.xAxis;
  8004. !t || t instanceof Array || (t = [t], this.option.xAxis = t);
  8005. var i = this.option.yAxis;
  8006. !i || i instanceof Array || (i = [i], this.option.yAxis = i);
  8007. var n, a, o = [], s = this.zoomOption.xAxisIndex;
  8008. if (t && null == s) {
  8009. n = [];
  8010. for (var l = 0, h = t.length; h > l; l++) ("category" == t[l].type || null == t[l].type) && n.push(l)
  8011. } else n = s instanceof Array ? s : null != s ? [s] : [];
  8012. if (s = this.zoomOption.yAxisIndex, i && null == s) {
  8013. a = [];
  8014. for (var l = 0, h = i.length; h > l; l++) "category" == i[l].type && a.push(l)
  8015. } else a = s instanceof Array ? s : null != s ? [s] : [];
  8016. for (var m, l = 0, h = e.length; h > l; l++) 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) {
  8017. for (var V = 0, U = n.length; U > V; V++) if (n[V] == (m.xAxisIndex || 0)) {
  8018. o.push(l);
  8019. break
  8020. }
  8021. for (var V = 0, U = a.length; U > V; V++) if (a[V] == (m.yAxisIndex || 0)) {
  8022. o.push(l);
  8023. break
  8024. }
  8025. 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)
  8026. }
  8027. var d = null != this._zoom.start ? this._zoom.start : null != this.zoomOption.start ? this.zoomOption.start : 0,
  8028. p = null != this._zoom.end ? this._zoom.end : null != this.zoomOption.end ? this.zoomOption.end : 100;
  8029. d > p && (d += p, p = d - p, d -= p);
  8030. var c = Math.round((p - d) / 100 * ("horizontal" == this.zoomOption.orient ? this._location.width : this._location.height));
  8031. return {
  8032. start: d,
  8033. end: p,
  8034. start2: 0,
  8035. end2: 100,
  8036. size: c,
  8037. xAxisIndex: n,
  8038. yAxisIndex: a,
  8039. seriesIndex: o,
  8040. scatterMap: this._zoom.scatterMap || {}
  8041. }
  8042. }, _backupData: function () {
  8043. this._originalData = {xAxis: {}, yAxis: {}, series: {}};
  8044. 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;
  8045. 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;
  8046. 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]))
  8047. }, _calculScatterMap: function (t) {
  8048. this._zoom.scatterMap = this._zoom.scatterMap || {}, this._zoom.scatterMap[t] = this._zoom.scatterMap[t] || {};
  8049. var i = e("../component"), n = i.get("axis"), a = l.clone(this.option.xAxis);
  8050. "category" == a[0].type && (a[0].type = "value"), a[1] && "category" == a[1].type && (a[1].type = "value");
  8051. var o = new n(this.ecTheme, null, !1, {xAxis: a, series: this.option.series}, this, "xAxis"),
  8052. r = this.option.series[t].xAxisIndex || 0;
  8053. 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, {
  8054. yAxis: a,
  8055. series: this.option.series
  8056. }, this, "yAxis"), r = this.option.series[t].yAxisIndex || 0, this._zoom.scatterMap[t].y = o.getAxis(r).getExtremum(), o.dispose()
  8057. }, _buildBackground: function () {
  8058. var e = this._location.width, t = this._location.height;
  8059. this.shapeList.push(new n({
  8060. zlevel: this.getZlevelBase(),
  8061. z: this.getZBase(),
  8062. hoverable: !1,
  8063. style: {
  8064. x: this._location.x,
  8065. y: this._location.y,
  8066. width: e,
  8067. height: t,
  8068. color: this.zoomOption.backgroundColor
  8069. }
  8070. }));
  8071. 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);
  8072. 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);
  8073. 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);
  8074. var y = c - u, g = [], b = e / (i - (i > 1 ? 1 : 0)), f = t / (i - (i > 1 ? 1 : 0)), k = 1;
  8075. "horizontal" == this.zoomOption.orient && 1 > b ? k = Math.floor(3 * i / e) : "vertical" == this.zoomOption.orient && 1 > f && (k = Math.floor(3 * i / t));
  8076. 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)]);
  8077. "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({
  8078. zlevel: this.getZlevelBase(),
  8079. z: this.getZBase(),
  8080. style: {pointList: g, color: this.zoomOption.dataBackgroundColor},
  8081. hoverable: !1
  8082. }))
  8083. }, _buildFiller: function () {
  8084. this._fillerShae = {
  8085. zlevel: this.getZlevelBase(),
  8086. z: this.getZBase(),
  8087. draggable: !0,
  8088. ondrift: this._ondrift,
  8089. ondragend: this._ondragend,
  8090. _type: "filler"
  8091. }, this._fillerShae.style = "horizontal" == this.zoomOption.orient ? {
  8092. x: this._location.x + Math.round(this._zoom.start / 100 * this._location.width) + this._handleSize,
  8093. y: this._location.y,
  8094. width: this._zoom.size - 2 * this._handleSize,
  8095. height: this._location.height,
  8096. color: this.zoomOption.fillerColor,
  8097. text: ":::",
  8098. textPosition: "inside"
  8099. } : {
  8100. x: this._location.x,
  8101. y: this._location.y + Math.round(this._zoom.start / 100 * this._location.height) + this._handleSize,
  8102. width: this._location.width,
  8103. height: this._zoom.size - 2 * this._handleSize,
  8104. color: this.zoomOption.fillerColor,
  8105. text: "::",
  8106. textPosition: "inside"
  8107. }, this._fillerShae.highlightStyle = {
  8108. brushType: "fill",
  8109. color: "rgba(0,0,0,0)"
  8110. }, this._fillerShae = new n(this._fillerShae), this.shapeList.push(this._fillerShae)
  8111. }, _buildHandle: function () {
  8112. var e = this.zoomOption.showDetail ? this._getDetail() : {start: "", end: ""};
  8113. this._startShape = {
  8114. zlevel: this.getZlevelBase(),
  8115. z: this.getZBase(),
  8116. draggable: !0,
  8117. style: {
  8118. iconType: "rectangle",
  8119. x: this._location.x,
  8120. y: this._location.y,
  8121. width: this._handleSize,
  8122. height: this._handleSize,
  8123. color: this.zoomOption.handleColor,
  8124. text: "=",
  8125. textPosition: "inside"
  8126. },
  8127. highlightStyle: {text: e.start, brushType: "fill", textPosition: "left"},
  8128. ondrift: this._ondrift,
  8129. ondragend: this._ondragend
  8130. }, "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)
  8131. }, _buildFrame: function () {
  8132. var e = this.subPixelOptimize(this._location.x, 1), t = this.subPixelOptimize(this._location.y, 1);
  8133. this._startFrameShape = {
  8134. zlevel: this.getZlevelBase(),
  8135. z: this.getZBase(),
  8136. hoverable: !1,
  8137. style: {
  8138. x: e,
  8139. y: t,
  8140. width: this._location.width - (e > this._location.x ? 1 : 0),
  8141. height: this._location.height - (t > this._location.y ? 1 : 0),
  8142. lineWidth: 1,
  8143. brushType: "stroke",
  8144. strokeColor: this.zoomOption.handleColor
  8145. }
  8146. }, 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)
  8147. }, _syncHandleShape: function () {
  8148. "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()
  8149. }, _syncFillerShape: function () {
  8150. var e, t;
  8151. "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()
  8152. }, _syncFrameShape: function () {
  8153. "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)
  8154. }, _syncShape: function () {
  8155. 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())
  8156. }, _syncData: function (e) {
  8157. var t, i, n, a, o;
  8158. for (var s in this._originalData) {
  8159. t = this._originalData[s];
  8160. 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))
  8161. }
  8162. this._isSilence || !this.zoomOption.realtime && !e || this.messageCenter.dispatch(r.EVENT.DATA_ZOOM, null, {zoom: this._zoom}, this.myChart)
  8163. }, _synScatterData: function (e, t) {
  8164. if (0 === this._zoom.start && 100 == this._zoom.end && 0 === this._zoom.start2 && 100 == this._zoom.end2) return t;
  8165. var i, n, a, o, r, s = [], l = this._zoom.scatterMap[e];
  8166. "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);
  8167. var h;
  8168. (h = l.x.dataMappingMethods) && (n = h.coord2Value(n), a = h.coord2Value(a)), (h = l.y.dataMappingMethods) && (o = h.coord2Value(o), r = h.coord2Value(r));
  8169. 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]);
  8170. return s
  8171. }, _setScale: function () {
  8172. var e = 0 !== this._zoom.start || 100 !== this._zoom.end || 0 !== this._zoom.start2 || 100 !== this._zoom.end2,
  8173. t = {xAxis: this.option.xAxis, yAxis: this.option.yAxis};
  8174. for (var i in t) for (var n = 0, a = t[i].length; a > n; n++) t[i][n].scale = e || t[i][n]._scale
  8175. }, _backupScale: function () {
  8176. var e = {xAxis: this.option.xAxis, yAxis: this.option.yAxis};
  8177. for (var t in e) for (var i = 0, n = e[t].length; n > i; i++) e[t][i]._scale = e[t][i].scale
  8178. }, _getDetail: function () {
  8179. for (var e = ["xAxis", "yAxis"], t = 0, i = e.length; i > t; t++) {
  8180. var n = this._originalData[e[t]];
  8181. for (var a in n) {
  8182. var o = n[a];
  8183. if (null != o) {
  8184. var r = o.length, l = Math.floor(this._zoom.start / 100 * r),
  8185. h = Math.ceil(this._zoom.end / 100 * r);
  8186. return h -= h > 0 ? 1 : 0, {
  8187. start: this.getDataFromOption(o[l]),
  8188. end: this.getDataFromOption(o[h])
  8189. }
  8190. }
  8191. }
  8192. }
  8193. e = "horizontal" == this.zoomOption.orient ? "xAxis" : "yAxis";
  8194. var m = this._zoom.seriesIndex[0], V = this.option.series[m][e + "Index"] || 0,
  8195. U = this.option[e][V].type, d = this._zoom.scatterMap[m][e.charAt(0)].min,
  8196. p = this._zoom.scatterMap[m][e.charAt(0)].max, c = p - d;
  8197. if ("value" == U) return {start: d + c * this._zoom.start / 100, end: d + c * this._zoom.end / 100};
  8198. if ("time" == U) {
  8199. p = d + c * this._zoom.end / 100, d += c * this._zoom.start / 100;
  8200. var u = s.getAutoFormatter(d, p).formatter;
  8201. return {start: s.format(u, d), end: s.format(u, p)}
  8202. }
  8203. return {start: "", end: ""}
  8204. }, __ondrift: function (e, t, i) {
  8205. this.zoomOption.zoomLock && (e = this._fillerShae);
  8206. var n = "filler" == e._type ? this._handleSize : 0;
  8207. 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) {
  8208. var a = this._getDetail();
  8209. 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
  8210. }
  8211. return !0
  8212. }, __ondragend: function () {
  8213. 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
  8214. }, ondragend: function (e, t) {
  8215. 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, {zoom: this._zoom}, this.myChart), t.needRefresh = !1, this.isDragend = !1)
  8216. }, ondataZoom: function (e, t) {
  8217. t.needRefresh = !0
  8218. }, absoluteZoom: function (e) {
  8219. 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)
  8220. }, rectZoom: function (e) {
  8221. if (!e) return this._zoom.start = this._zoom.start2 = 0, this._zoom.end = this._zoom.end2 = 100, this._syncShape(), this._syncData(!0), this._zoom;
  8222. var t = this.component.grid.getArea(), i = {x: e.x, y: e.y, width: e.width, height: e.height};
  8223. 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;
  8224. 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);
  8225. var n, a = (i.x - t.x) / t.width, o = 1 - (i.x + i.width - t.x) / t.width,
  8226. r = 1 - (i.y + i.height - t.y) / t.height, s = (i.y - t.y) / t.height;
  8227. 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
  8228. }, syncBackupData: function (e) {
  8229. for (var t, i, n = this._originalData.series, a = e.series, o = 0, r = a.length; r > o; o++) {
  8230. i = a[o].data || a[o].eventList, t = n[o] ? Math.floor(this._zoom.start / 100 * n[o].length) : 0;
  8231. for (var s = 0, l = i.length; l > s; s++) n[o] && (n[o][s + t] = i[s])
  8232. }
  8233. }, syncOption: function (e) {
  8234. 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)
  8235. }, silence: function (e) {
  8236. this._isSilence = e
  8237. }, getRealDataIndex: function (e, t) {
  8238. if (!this._originalData || 0 === this._zoom.start && 100 == this._zoom.end) return t;
  8239. var i = this._originalData.series;
  8240. return i[e] ? Math.floor(this._zoom.start / 100 * i[e].length) + t : -1
  8241. }, resize: function () {
  8242. this.clear(), this._location = this._getLocation(), this._zoom = this._getZoom(), this.option.dataZoom.show && this._buildShape()
  8243. }
  8244. }, l.inherits(t, i), e("../component").define("dataZoom", t), t
  8245. }), 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) {
  8246. function t(e, t, n, a, o, r) {
  8247. if (a.data.length < 1) return void console.error("option.data.length < 1.");
  8248. i.call(this, e, t, n, a, o), this.grid = this.component.grid;
  8249. for (var s in r) this[s] = r[s];
  8250. this.refresh(a)
  8251. }
  8252. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Rectangle"),
  8253. r = e("../config");
  8254. r.categoryAxis = {
  8255. zlevel: 0,
  8256. z: 0,
  8257. show: !0,
  8258. position: "bottom",
  8259. name: "",
  8260. nameLocation: "end",
  8261. nameTextStyle: {},
  8262. boundaryGap: !0,
  8263. axisLine: {show: !0, onZero: !0, lineStyle: {color: "#48b", width: 2, type: "solid"}},
  8264. axisTick: {show: !0, interval: "auto", inside: !1, length: 5, lineStyle: {color: "#333", width: 1}},
  8265. axisLabel: {show: !0, interval: "auto", rotate: 0, margin: 8, textStyle: {color: "#333"}},
  8266. splitLine: {show: !0, lineStyle: {color: ["#ccc"], width: 1, type: "solid"}},
  8267. splitArea: {show: !1, areaStyle: {color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]}}
  8268. };
  8269. var s = e("zrender/tool/util"), l = e("zrender/tool/area");
  8270. return t.prototype = {
  8271. type: r.COMPONENT_TYPE_AXIS_CATEGORY, _getReformedLabel: function (e) {
  8272. var t = this.getDataFromOption(this.option.data[e]),
  8273. i = this.option.data[e].formatter || this.option.axisLabel.formatter;
  8274. return i && ("function" == typeof i ? t = i.call(this.myChart, t) : "string" == typeof i && (t = i.replace("{value}", t))), t
  8275. }, _getInterval: function () {
  8276. var e = this.option.axisLabel.interval;
  8277. if ("auto" == e) {
  8278. var t = this.option.axisLabel.textStyle.fontSize, i = this.option.data, n = this.option.data.length;
  8279. if (this.isHorizontal()) if (n > 3) {
  8280. var a, o, r = this.getGap(), h = !1, m = Math.floor(.5 / r);
  8281. for (m = 1 > m ? 1 : m, e = Math.floor(15 / r); !h && n > e;) {
  8282. e += m, h = !0, a = Math.floor(r * e);
  8283. for (var V = Math.floor((n - 1) / e) * e; V >= 0; V -= e) {
  8284. if (0 !== this.option.axisLabel.rotate) o = t; else if (i[V].textStyle) o = l.getTextWidth(this._getReformedLabel(V), this.getFont(s.merge(i[V].textStyle, this.option.axisLabel.textStyle))); else {
  8285. var U = this._getReformedLabel(V) + "", d = (U.match(/\w/g) || "").length,
  8286. p = U.length - d;
  8287. o = d * t * 2 / 3 + p * t
  8288. }
  8289. if (o > a) {
  8290. h = !1;
  8291. break
  8292. }
  8293. }
  8294. }
  8295. } else e = 1; else if (n > 3) {
  8296. var r = this.getGap();
  8297. for (e = Math.floor(11 / r); t > r * e - 6 && n > e;) e++
  8298. } else e = 1
  8299. } else e = "function" == typeof e ? 1 : e - 0 + 1;
  8300. return e
  8301. }, _buildShape: function () {
  8302. if (this._interval = this._getInterval(), this.option.show) {
  8303. 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();
  8304. for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  8305. }
  8306. }, _buildAxisTick: function () {
  8307. var e, t = this.option.data, i = this.option.data.length, n = this.option.axisTick, o = n.length,
  8308. r = n.lineStyle.color, s = n.lineStyle.width,
  8309. l = "function" == typeof n.interval ? n.interval : "auto" == n.interval && "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
  8310. h = l ? 1 : "auto" == n.interval ? this._interval : n.interval - 0 + 1, m = n.onGap,
  8311. V = m ? this.getGap() / 2 : "undefined" == typeof m && this.option.boundaryGap ? this.getGap() / 2 : 0,
  8312. U = V > 0 ? -h : 0;
  8313. if (this.isHorizontal()) 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 = {
  8314. _axisShape: "axisTick",
  8315. zlevel: this.getZlevelBase(),
  8316. z: this.getZBase(),
  8317. hoverable: !1,
  8318. style: {xStart: d, yStart: p, xEnd: d, yEnd: p + o, strokeColor: r, lineWidth: s}
  8319. }, this.shapeList.push(new a(e))); else 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 = {
  8320. _axisShape: "axisTick",
  8321. zlevel: this.getZlevelBase(),
  8322. z: this.getZBase(),
  8323. hoverable: !1,
  8324. style: {xStart: y, yStart: u, xEnd: y + o, yEnd: u, strokeColor: r, lineWidth: s}
  8325. }, this.shapeList.push(new a(e)))
  8326. }, _buildAxisLabel: function () {
  8327. var e, t, i = this.option.data, a = this.option.data.length, o = this.option.axisLabel, r = o.rotate,
  8328. l = o.margin, h = o.clickable, m = o.textStyle,
  8329. V = "function" == typeof o.interval ? o.interval : !1;
  8330. if (this.isHorizontal()) {
  8331. var U, d;
  8332. "bottom" == this.option.position ? (U = this.grid.getYend() + l, d = "top") : (U = this.grid.getY() - l, d = "bottom");
  8333. 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 = {
  8334. zlevel: this.getZlevelBase(),
  8335. z: this.getZBase() + 3,
  8336. hoverable: !1,
  8337. style: {
  8338. x: this.getCoordByIndex(p),
  8339. y: U,
  8340. color: t.color,
  8341. text: this._getReformedLabel(p),
  8342. textFont: this.getFont(t),
  8343. textAlign: t.align || "center",
  8344. textBaseline: t.baseline || d
  8345. }
  8346. }, 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))))
  8347. } else {
  8348. var c, u;
  8349. "left" == this.option.position ? (c = this.grid.getX() - l, u = "right") : (c = this.grid.getXend() + l, u = "left");
  8350. 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 = {
  8351. zlevel: this.getZlevelBase(),
  8352. z: this.getZBase() + 3,
  8353. hoverable: !1,
  8354. style: {
  8355. x: c,
  8356. y: this.getCoordByIndex(p),
  8357. color: t.color,
  8358. text: this._getReformedLabel(p),
  8359. textFont: this.getFont(t),
  8360. textAlign: t.align || u,
  8361. textBaseline: t.baseline || 0 === p && "" !== this.option.name ? "bottom" : p == a - 1 && "" !== this.option.name ? "top" : "middle"
  8362. }
  8363. }, r && (e.rotation = [r * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(h, e))))
  8364. }
  8365. }, _buildSplitLine: function () {
  8366. var e, t = this.option.data, i = this.option.data.length, n = this.option.splitLine,
  8367. o = n.lineStyle.type, r = n.lineStyle.width, s = n.lineStyle.color;
  8368. s = s instanceof Array ? s : [s];
  8369. var l = s.length,
  8370. h = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
  8371. m = n.onGap,
  8372. V = m ? this.getGap() / 2 : "undefined" == typeof m && this.option.boundaryGap ? this.getGap() / 2 : 0;
  8373. if (i -= m || "undefined" == typeof m && this.option.boundaryGap ? 1 : 0, this.isHorizontal()) 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 = {
  8374. zlevel: this.getZlevelBase(),
  8375. z: this.getZBase(),
  8376. hoverable: !1,
  8377. style: {
  8378. xStart: U,
  8379. yStart: d,
  8380. xEnd: U,
  8381. yEnd: p,
  8382. strokeColor: s[c / this._interval % l],
  8383. lineType: o,
  8384. lineWidth: r
  8385. }
  8386. }, this.shapeList.push(new a(e))); else 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 = {
  8387. zlevel: this.getZlevelBase(),
  8388. z: this.getZBase(),
  8389. hoverable: !1,
  8390. style: {
  8391. xStart: y,
  8392. yStart: u,
  8393. xEnd: g,
  8394. yEnd: u,
  8395. strokeColor: s[c / this._interval % l],
  8396. lineType: o,
  8397. lineWidth: r
  8398. }
  8399. }, this.shapeList.push(new a(e)))
  8400. }, _buildSplitArea: function () {
  8401. var e, t = this.option.data, i = this.option.splitArea, n = i.areaStyle.color;
  8402. if (n instanceof Array) {
  8403. var a = n.length, r = this.option.data.length,
  8404. s = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
  8405. l = i.onGap,
  8406. h = l ? this.getGap() / 2 : "undefined" == typeof l && this.option.boundaryGap ? this.getGap() / 2 : 0;
  8407. if (this.isHorizontal()) 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 = {
  8408. zlevel: this.getZlevelBase(),
  8409. z: this.getZBase(),
  8410. hoverable: !1,
  8411. style: {x: d, y: V, width: m - d, height: U, color: n[p / this._interval % a]}
  8412. }, this.shapeList.push(new o(e)), d = m); else 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 = {
  8413. zlevel: this.getZlevelBase(),
  8414. z: this.getZBase(),
  8415. hoverable: !1,
  8416. style: {x: u, y: c, width: y, height: g - c, color: n[p / this._interval % a]}
  8417. }, this.shapeList.push(new o(e)), g = c)
  8418. } else e = {
  8419. zlevel: this.getZlevelBase(),
  8420. z: this.getZBase(),
  8421. hoverable: !1,
  8422. style: {
  8423. x: this.grid.getX(),
  8424. y: this.grid.getY(),
  8425. width: this.grid.getWidth(),
  8426. height: this.grid.getHeight(),
  8427. color: n
  8428. }
  8429. }, this.shapeList.push(new o(e))
  8430. }, refresh: function (e) {
  8431. e && (this.option = this.reformOption(e), this.option.axisLabel.textStyle = this.getTextStyle(this.option.axisLabel.textStyle)), this.clear(), this._buildShape()
  8432. }, getGap: function () {
  8433. var e = this.option.data.length, t = this.isHorizontal() ? this.grid.getWidth() : this.grid.getHeight();
  8434. return this.option.boundaryGap ? t / e : t / (e > 1 ? e - 1 : 1)
  8435. }, getCoord: function (e) {
  8436. for (var t = this.option.data, i = t.length, n = this.getGap(), a = this.option.boundaryGap ? n / 2 : 0, o = 0; i > o; o++) {
  8437. if (this.getDataFromOption(t[o]) == e) return a = this.isHorizontal() ? this.grid.getX() + a : this.grid.getYend() - a;
  8438. a += n
  8439. }
  8440. }, getCoordByIndex: function (e) {
  8441. if (0 > e) return this.isHorizontal() ? this.grid.getX() : this.grid.getYend();
  8442. if (e > this.option.data.length - 1) return this.isHorizontal() ? this.grid.getXend() : this.grid.getY();
  8443. var t = this.getGap(), i = this.option.boundaryGap ? t / 2 : 0;
  8444. return i += e * t, i = this.isHorizontal() ? this.grid.getX() + i : this.grid.getYend() - i
  8445. }, getNameByIndex: function (e) {
  8446. return this.getDataFromOption(this.option.data[e])
  8447. }, getIndexByName: function (e) {
  8448. for (var t = this.option.data, i = t.length, n = 0; i > n; n++) if (this.getDataFromOption(t[n]) == e) return n;
  8449. return -1
  8450. }, getValueFromCoord: function () {
  8451. return ""
  8452. }, isMainAxis: function (e) {
  8453. return e % this._interval === 0
  8454. }
  8455. }, s.inherits(t, i), e("../component").define("categoryAxis", t), t
  8456. }), 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) {
  8457. function t(e, t, n, a, o, r, s) {
  8458. if (!s || 0 === s.length) return void console.err("option.series.length == 0.");
  8459. i.call(this, e, t, n, a, o), this.series = s, this.grid = this.component.grid;
  8460. for (var l in r) this[l] = r[l];
  8461. this.refresh(a, s)
  8462. }
  8463. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Rectangle"),
  8464. r = e("../config");
  8465. r.valueAxis = {
  8466. zlevel: 0,
  8467. z: 0,
  8468. show: !0,
  8469. position: "left",
  8470. name: "",
  8471. nameLocation: "end",
  8472. nameTextStyle: {},
  8473. boundaryGap: [0, 0],
  8474. axisLine: {show: !0, onZero: !0, lineStyle: {color: "#48b", width: 2, type: "solid"}},
  8475. axisTick: {show: !1, inside: !1, length: 5, lineStyle: {color: "#333", width: 1}},
  8476. axisLabel: {show: !0, rotate: 0, margin: 8, textStyle: {color: "#333"}},
  8477. splitLine: {show: !0, lineStyle: {color: ["#ccc"], width: 1, type: "solid"}},
  8478. splitArea: {show: !1, areaStyle: {color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]}}
  8479. };
  8480. var s = e("../util/date"), l = e("zrender/tool/util");
  8481. return t.prototype = {
  8482. type: r.COMPONENT_TYPE_AXIS_VALUE, _buildShape: function () {
  8483. if (this._hasData = !1, this._calculateValue(), this._hasData && this.option.show) {
  8484. 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();
  8485. for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  8486. }
  8487. }, _buildAxisTick: function () {
  8488. var e, t = this._valueList, i = this._valueList.length, n = this.option.axisTick, o = n.length,
  8489. r = n.lineStyle.color, s = n.lineStyle.width;
  8490. if (this.isHorizontal()) 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 = {
  8491. _axisShape: "axisTick",
  8492. zlevel: this.getZlevelBase(),
  8493. z: this.getZBase(),
  8494. hoverable: !1,
  8495. style: {xStart: l, yStart: h, xEnd: l, yEnd: h + o, strokeColor: r, lineWidth: s}
  8496. }, this.shapeList.push(new a(e)); else 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 = {
  8497. _axisShape: "axisTick",
  8498. zlevel: this.getZlevelBase(),
  8499. z: this.getZBase(),
  8500. hoverable: !1,
  8501. style: {xStart: U, yStart: V, xEnd: U + o, yEnd: V, strokeColor: r, lineWidth: s}
  8502. }, this.shapeList.push(new a(e))
  8503. }, _buildAxisLabel: function () {
  8504. var e, t = this._valueList, i = this._valueList.length, a = this.option.axisLabel.rotate,
  8505. o = this.option.axisLabel.margin, r = this.option.axisLabel.clickable,
  8506. s = this.option.axisLabel.textStyle;
  8507. if (this.isHorizontal()) {
  8508. var l, h;
  8509. "bottom" === this.option.position ? (l = this.grid.getYend() + o, h = "top") : (l = this.grid.getY() - o, h = "bottom");
  8510. for (var m = 0; i > m; m++) e = {
  8511. zlevel: this.getZlevelBase(),
  8512. z: this.getZBase() + 3,
  8513. hoverable: !1,
  8514. style: {
  8515. x: this.getCoord(t[m]),
  8516. y: l,
  8517. color: "function" == typeof s.color ? s.color(t[m]) : s.color,
  8518. text: this._valueLabel[m],
  8519. textFont: this.getFont(s),
  8520. textAlign: s.align || "center",
  8521. textBaseline: s.baseline || h
  8522. }
  8523. }, 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)))
  8524. } else {
  8525. var V, U;
  8526. "left" === this.option.position ? (V = this.grid.getX() - o, U = "right") : (V = this.grid.getXend() + o, U = "left");
  8527. for (var m = 0; i > m; m++) e = {
  8528. zlevel: this.getZlevelBase(),
  8529. z: this.getZBase() + 3,
  8530. hoverable: !1,
  8531. style: {
  8532. x: V,
  8533. y: this.getCoord(t[m]),
  8534. color: "function" == typeof s.color ? s.color(t[m]) : s.color,
  8535. text: this._valueLabel[m],
  8536. textFont: this.getFont(s),
  8537. textAlign: s.align || U,
  8538. textBaseline: s.baseline || (0 === m && "" !== this.option.name ? "bottom" : m === i - 1 && "" !== this.option.name ? "top" : "middle")
  8539. }
  8540. }, a && (e.rotation = [a * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(r, e)))
  8541. }
  8542. }, _buildSplitLine: function () {
  8543. var e, t = this._valueList, i = this._valueList.length, n = this.option.splitLine, o = n.lineStyle.type,
  8544. r = n.lineStyle.width, s = n.lineStyle.color;
  8545. s = s instanceof Array ? s : [s];
  8546. var l = s.length;
  8547. if (this.isHorizontal()) 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 = {
  8548. zlevel: this.getZlevelBase(),
  8549. z: this.getZBase(),
  8550. hoverable: !1,
  8551. style: {xStart: h, yStart: m, xEnd: h, yEnd: V, strokeColor: s[U % l], lineType: o, lineWidth: r}
  8552. }, this.shapeList.push(new a(e)); else 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 = {
  8553. zlevel: this.getZlevelBase(),
  8554. z: this.getZBase(),
  8555. hoverable: !1,
  8556. style: {xStart: p, yStart: d, xEnd: c, yEnd: d, strokeColor: s[U % l], lineType: o, lineWidth: r}
  8557. }, this.shapeList.push(new a(e))
  8558. }, _buildSplitArea: function () {
  8559. var e, t = this.option.splitArea.areaStyle.color;
  8560. if (t instanceof Array) {
  8561. var i = t.length, n = this._valueList, a = this._valueList.length;
  8562. if (this.isHorizontal()) 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 = {
  8563. zlevel: this.getZlevelBase(),
  8564. z: this.getZBase(),
  8565. hoverable: !1,
  8566. style: {x: h, y: s, width: r - h, height: l, color: t[m % i]}
  8567. }, this.shapeList.push(new o(e)), h = r; else 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 = {
  8568. zlevel: this.getZlevelBase(),
  8569. z: this.getZBase(),
  8570. hoverable: !1,
  8571. style: {x: U, y: V, width: d, height: p - V, color: t[m % i]}
  8572. }, this.shapeList.push(new o(e)), p = V
  8573. } else e = {
  8574. zlevel: this.getZlevelBase(),
  8575. z: this.getZBase(),
  8576. hoverable: !1,
  8577. style: {
  8578. x: this.grid.getX(),
  8579. y: this.grid.getY(),
  8580. width: this.grid.getWidth(),
  8581. height: this.grid.getHeight(),
  8582. color: t
  8583. }
  8584. }, this.shapeList.push(new o(e))
  8585. }, _calculateValue: function () {
  8586. if (isNaN(this.option.min - 0) || isNaN(this.option.max - 0)) {
  8587. 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)));
  8588. var s;
  8589. for (var a in i) {
  8590. s = i[a];
  8591. for (var l = 0, h = s.length; h > l; l++) if (!isNaN(s[l])) {
  8592. this._hasData = !0, this._min = s[l], this._max = s[l];
  8593. break
  8594. }
  8595. if (this._hasData) break
  8596. }
  8597. for (var a in i) {
  8598. s = i[a];
  8599. 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]))
  8600. }
  8601. var m = "log" !== this.option.type ? this.option.boundaryGap : [0, 0],
  8602. V = Math.abs(this._max - this._min);
  8603. 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)
  8604. } 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()
  8605. }, _calculSum: function (e, t) {
  8606. var i, n, a = this.series[t].name || "kener";
  8607. if (this.series[t].stack) {
  8608. var o = "__Magic_Key_Positive__" + this.series[t].stack,
  8609. l = "__Magic_Key_Negative__" + this.series[t].stack;
  8610. e[o] = e[o] || [], e[l] = e[l] || [], e[a] = e[a] || [], n = this.series[t].data;
  8611. 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))
  8612. } else if (e[a] = e[a] || [], this.series[t].type != r.CHART_TYPE_EVENTRIVER) {
  8613. n = this.series[t].data;
  8614. 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)
  8615. } else {
  8616. n = this.series[t].data;
  8617. for (var h = 0, m = n.length; m > h; h++) for (var V = n[h].evolution, U = 0, d = V.length; d > U; U++) e[a].push(s.getNewDate(V[U].time))
  8618. }
  8619. }, _reformValue: function (t) {
  8620. var i = e("../util/smartSteps"), n = this.option.splitNumber;
  8621. !t && this._min >= 0 && this._max >= 0 && (this._min = 0), !t && this._min <= 0 && this._max <= 0 && (this._max = 0);
  8622. var a = i(this._min, this._max, n);
  8623. n = null != n ? n : a.secs, this._min = a.min, this._max = a.max, this._valueList = a.pnts, this._reformLabelData()
  8624. }, _reformTimeValue: function () {
  8625. var e = null != this.option.splitNumber ? this.option.splitNumber : 5,
  8626. t = s.getAutoFormatter(this._min, this._max, e), i = t.formatter, n = t.gapValue;
  8627. this._valueList = [s.getNewDate(this._min)];
  8628. var a;
  8629. switch (i) {
  8630. case"week":
  8631. a = s.nextMonday(this._min);
  8632. break;
  8633. case"month":
  8634. a = s.nextNthOnMonth(this._min, 1);
  8635. break;
  8636. case"quarter":
  8637. a = s.nextNthOnQuarterYear(this._min, 1);
  8638. break;
  8639. case"half-year":
  8640. a = s.nextNthOnHalfYear(this._min, 1);
  8641. break;
  8642. case"year":
  8643. a = s.nextNthOnYear(this._min, 1);
  8644. break;
  8645. default:
  8646. 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))
  8647. }
  8648. 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);
  8649. this._valueList.push(s.getNewDate(this._max)), this._reformLabelData(function (e) {
  8650. return function (t) {
  8651. return s.format(e, t)
  8652. }
  8653. }(i))
  8654. }, _customerValue: function () {
  8655. var t = e("../util/accMath"), i = null != this.option.splitNumber ? this.option.splitNumber : 5,
  8656. n = (this._max - this._min) / i;
  8657. this._valueList = [];
  8658. for (var a = 0; i >= a; a++) this._valueList.push(t.accAdd(this._min, t.accMul(n, a)));
  8659. this._reformLabelData()
  8660. }, _reformLogValue: function () {
  8661. var t = this.option, i = e("../util/smartLogSteps")({
  8662. dataMin: this._min,
  8663. dataMax: this._max,
  8664. logPositive: t.logPositive,
  8665. logLabelBase: t.logLabelBase,
  8666. splitNumber: t.splitNumber
  8667. });
  8668. this._min = i.dataMin, this._max = i.dataMax, this._valueList = i.tickList, this._dataMappingMethods = i.dataMappingMethods, this._reformLabelData(i.labelFormatter)
  8669. }, _reformLabelData: function (e) {
  8670. this._valueLabel = [];
  8671. var t = this.option.axisLabel.formatter;
  8672. if (t) 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])); else for (var i = 0, n = this._valueList.length; n > i; i++) this._valueLabel.push(e ? e(this._valueList[i]) : this.numAddCommas(this._valueList[i]))
  8673. }, getExtremum: function () {
  8674. this._calculateValue();
  8675. var e = this._dataMappingMethods;
  8676. return {min: this._min, max: this._max, dataMappingMethods: e ? l.merge({}, e) : null}
  8677. }, refresh: function (e, t) {
  8678. 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())
  8679. }, getCoord: function (e) {
  8680. this._dataMappingMethods && (e = this._dataMappingMethods.value2Coord(e)), e = e < this._min ? this._min : e, e = e > this._max ? this._max : e;
  8681. var t;
  8682. 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()
  8683. }, getCoordSize: function (e) {
  8684. return Math.abs(this.isHorizontal() ? e / (this._max - this._min) * this.grid.getWidth() : e / (this._max - this._min) * this.grid.getHeight())
  8685. }, getValueFromCoord: function (e) {
  8686. var t;
  8687. 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
  8688. }, isMaindAxis: function (e) {
  8689. for (var t = 0, i = this._valueList.length; i > t; t++) if (this._valueList[t] === e) return !0;
  8690. return !1
  8691. }
  8692. }, l.inherits(t, i), e("../component").define("valueAxis", t), t
  8693. }), i("echarts/util/date", [], function () {
  8694. function e(e, t, i) {
  8695. i = i > 1 ? i : 2;
  8696. for (var n, a, o, r, s = 0, l = m.length; l > s; s++) if (n = m[s].value, a = Math.ceil(t / n) * n - Math.floor(e / n) * n, Math.round(a / n) <= 1.2 * i) {
  8697. o = m[s].formatter, r = m[s].value;
  8698. break
  8699. }
  8700. 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), {
  8701. formatter: o,
  8702. gapValue: r
  8703. }
  8704. }
  8705. function t(e) {
  8706. return 10 > e ? "0" + e : e
  8707. }
  8708. function i(e, i) {
  8709. ("week" == e || "month" == e || "quarter" == e || "half-year" == e || "year" == e) && (e = "MM - dd\nyyyy");
  8710. var n = h(i), a = n.getFullYear(), o = n.getMonth() + 1, r = n.getDate(), s = n.getHours(),
  8711. l = n.getMinutes(), m = n.getSeconds();
  8712. 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)
  8713. }
  8714. function n(e) {
  8715. return e = h(e), e.setDate(e.getDate() + 8 - e.getDay()), e
  8716. }
  8717. function a(e, t, i) {
  8718. return e = h(e), e.setMonth(Math.ceil((e.getMonth() + 1) / i) * i), e.setDate(t), e
  8719. }
  8720. function o(e, t) {
  8721. return a(e, t, 1)
  8722. }
  8723. function r(e, t) {
  8724. return a(e, t, 3)
  8725. }
  8726. function s(e, t) {
  8727. return a(e, t, 6)
  8728. }
  8729. function l(e, t) {
  8730. return a(e, t, 12)
  8731. }
  8732. function h(e) {
  8733. return e instanceof Date ? e : new Date("string" == typeof e ? e.replace(/-/g, "/") : e)
  8734. }
  8735. var m = [{formatter: "hh : mm : ss", value: 1e3}, {
  8736. formatter: "hh : mm : ss",
  8737. value: 5e3
  8738. }, {formatter: "hh : mm : ss", value: 1e4}, {
  8739. formatter: "hh : mm : ss",
  8740. value: 15e3
  8741. }, {formatter: "hh : mm : ss", value: 3e4}, {
  8742. formatter: "hh : mm\nMM - dd",
  8743. value: 6e4
  8744. }, {formatter: "hh : mm\nMM - dd", value: 3e5}, {
  8745. formatter: "hh : mm\nMM - dd",
  8746. value: 6e5
  8747. }, {formatter: "hh : mm\nMM - dd", value: 9e5}, {
  8748. formatter: "hh : mm\nMM - dd",
  8749. value: 18e5
  8750. }, {formatter: "hh : mm\nMM - dd", value: 36e5}, {
  8751. formatter: "hh : mm\nMM - dd",
  8752. value: 72e5
  8753. }, {formatter: "hh : mm\nMM - dd", value: 216e5}, {
  8754. formatter: "hh : mm\nMM - dd",
  8755. value: 432e5
  8756. }, {formatter: "MM - dd\nyyyy", value: 864e5}, {formatter: "week", value: 6048e5}, {
  8757. formatter: "month",
  8758. value: 26784e5
  8759. }, {formatter: "quarter", value: 8208e6}, {formatter: "half-year", value: 16416e6}, {
  8760. formatter: "year",
  8761. value: 32832e6
  8762. }];
  8763. return {
  8764. getAutoFormatter: e,
  8765. getNewDate: h,
  8766. format: i,
  8767. nextMonday: n,
  8768. nextNthPerNmonth: a,
  8769. nextNthOnMonth: o,
  8770. nextNthOnQuarterYear: r,
  8771. nextNthOnHalfYear: s,
  8772. nextNthOnYear: l
  8773. }
  8774. }), i("echarts/util/smartSteps", [], function () {
  8775. function e(e) {
  8776. return X.log(I(e)) / X.LN10
  8777. }
  8778. function t(e) {
  8779. return X.pow(10, e)
  8780. }
  8781. function i(e) {
  8782. return e === w(e)
  8783. }
  8784. function n(e, t, n, a) {
  8785. 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]);
  8786. var o = t - e;
  8787. if (x && _) return g(e, t, n);
  8788. if ((n || 5) > o) {
  8789. if (i(e) && i(t)) return d(e, t, n);
  8790. if (0 === o) return p(e, t, n)
  8791. }
  8792. return h(e, t, n)
  8793. }
  8794. function a(e, i, n, a) {
  8795. a = a || 0;
  8796. var s = o((i - e) / n, -1), l = o(e, -1, 1), h = o(i, -1), m = X.min(s.e, l.e, h.e);
  8797. 0 === l.c ? m = X.min(s.e, h.e) : 0 === h.c && (m = X.min(s.e, l.e)), r(s, {
  8798. c: 0,
  8799. e: m
  8800. }), r(l, s, 1), r(h, s), a += m, e = l.c, i = h.c;
  8801. for (var V = (i - e) / n, U = t(a), d = 0, p = [], c = n + 1; c--;) p[c] = (e + V * c) * U;
  8802. if (0 > a) {
  8803. d = u(U), V = +(V * U).toFixed(d), e = +(e * U).toFixed(d), i = +(i * U).toFixed(d);
  8804. for (var c = p.length; c--;) p[c] = p[c].toFixed(d), 0 === +p[c] && (p[c] = "0")
  8805. } else e *= U, i *= U, V *= U;
  8806. return k = 0, f = 0, b = 0, {min: e, max: i, secs: n, step: V, fix: d, exp: a, pnts: p}
  8807. }
  8808. function o(n, a, o) {
  8809. 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));
  8810. var r = w(e(n)) - a + 1, s = +(n * t(-r)).toFixed(15) || 0;
  8811. return s = o ? w(s) : K(s), !s && (r = 0), ("" + I(s)).length > a && (r += 1, s /= 10), {c: s, e: r}
  8812. }
  8813. function r(e, i, n) {
  8814. var a = i.e - e.e;
  8815. a && (e.e += a, e.c *= t(-a), e.c = n ? w(e.c) : K(e.c))
  8816. }
  8817. function s(e, t, i) {
  8818. e.e < t.e ? r(t, e, i) : r(e, t, i)
  8819. }
  8820. function l(e, t) {
  8821. t = t || L, e = o(e);
  8822. for (var i = e.c, n = 0; i > t[n];) n++;
  8823. if (!t[n]) for (i /= 10, e.e += 1, n = 0; i > t[n];) n++;
  8824. return e.c = t[n], e
  8825. }
  8826. function h(e, t, n) {
  8827. var s, h = n || +k.slice(-1), p = l((t - e) / h, f), u = o(t - e), g = o(e, -1, 1), b = o(t, -1);
  8828. 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) {
  8829. if (h > t - e) return d(e, t, h);
  8830. h = U(e, t, n, g, b, h)
  8831. }
  8832. var L = c(e, t, g.c, b.c);
  8833. return g.c = L[0], b.c = L[1], (x || _) && y(e, t, g, b), a(g.c, b.c, h, b.e)
  8834. }
  8835. function m(e, i) {
  8836. 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] = {
  8837. min: o,
  8838. max: r,
  8839. step: a,
  8840. span: r - o
  8841. };
  8842. return s.sort(function (e, t) {
  8843. var i = e.span - t.span;
  8844. return 0 === i && (i = e.step - t.step), i
  8845. }), s = s[0], n = s.span / s.step, e.c = s.min, i.c = s.max, 3 > n ? 2 * n : n
  8846. }
  8847. function V(e, i, n) {
  8848. 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;
  8849. var h = e.c - r, m = o - i.c, V = h - m;
  8850. return V > 1.1 * s && (V = v(V / s / 2) * s, r += V, o += V), e.c = r, i.c = o, s
  8851. }
  8852. function U(e, n, a, o, r, s) {
  8853. var l = r.c - o.c, h = l / s * t(r.e);
  8854. 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)) {
  8855. var m = l - (n - e);
  8856. o.c = v(e - m / 2), r.c = v(n + m / 2), o.e = 0, r.e = 0
  8857. }
  8858. return s
  8859. }
  8860. function d(e, t, i) {
  8861. if (i = i || 5, x) t = e + i; else if (_) e = t - i; else {
  8862. var n = i - (t - e), o = v(e - n / 2), r = v(t + n / 2), s = c(e, t, o, r);
  8863. e = s[0], t = s[1]
  8864. }
  8865. return a(e, t, i)
  8866. }
  8867. function p(e, t, i) {
  8868. i = i || 5;
  8869. var n = X.min(I(t / i), i) / 2.1;
  8870. return x ? t = e + n : _ ? e = t - n : (e -= n, t += n), h(e, t, i)
  8871. }
  8872. function c(e, t, i, n) {
  8873. return e >= 0 && 0 > i ? (n -= i, i = 0) : 0 >= t && n > 0 && (i -= n, n = 0), [i, n]
  8874. }
  8875. function u(e) {
  8876. return e = (+e).toFixed(15).split("."), e.pop().replace(/0+$/, "").length
  8877. }
  8878. function y(e, t, i, n) {
  8879. if (x) {
  8880. var a = o(e, 4, 1);
  8881. i.e - a.e > 6 && (a = {c: 0, e: i.e}), s(i, a), s(n, a), n.c += a.c - i.c, i.c = a.c
  8882. } else if (_) {
  8883. var r = o(t, 4);
  8884. n.e - r.e > 6 && (r = {c: 0, e: n.e}), s(i, r), s(n, r), i.c += r.c - n.c, n.c = r.c
  8885. }
  8886. }
  8887. function g(e, t, i) {
  8888. var n = i ? [i] : k, s = t - e;
  8889. 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);
  8890. I(t / s) < 1e-6 && (t = 0), I(e / s) < 1e-6 && (e = 0);
  8891. var l, h, m, V = [[5, 10], [10, 2], [50, 10], [100, 2]], U = [], d = [], p = o(t - e, 3), c = o(e, -1, 1),
  8892. u = o(t, -1);
  8893. r(c, p, 1), r(u, p), s = u.c - c.c, p.c = s;
  8894. for (var y = n.length; y--;) {
  8895. 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);
  8896. for (var g = V.length; g--;) l % V[g][0] === 0 && (m /= V[g][1]);
  8897. d[y] = [i, l, h, m].join(), U[y] = {secs: i, step: l, delta: h, score: m}
  8898. }
  8899. return U.sort(function (e, t) {
  8900. return e.score - t.score
  8901. }), 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)
  8902. }
  8903. var b, f, k, x, _, L = [10, 20, 25, 50], W = [4, 5, 6], X = Math, v = X.round, w = X.floor, K = X.ceil,
  8904. I = X.abs;
  8905. return n
  8906. }), i("echarts/util/smartLogSteps", ["require", "./number"], function (e) {
  8907. function t(e) {
  8908. return i(), u = e || {}, n(), a(), [o(), i()][0]
  8909. }
  8910. function i() {
  8911. U = u = g = c = b = f = y = k = d = p = null
  8912. }
  8913. function n() {
  8914. 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);
  8915. var e = parseFloat(u.dataMin), t = parseFloat(u.dataMax);
  8916. 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)
  8917. }
  8918. function a() {
  8919. function e() {
  8920. y > m && (y = m);
  8921. var e = w(l(m / y)), t = v(l(m / e)), i = e * t, n = (i - U) / 2, a = w(l(r - n));
  8922. V(a - r) && (a -= 1), g = -a * c;
  8923. for (var s = a; o >= s - e; s += e) k.push(W(d, s))
  8924. }
  8925. function t() {
  8926. for (var e = i(h, 0), t = e + 2; t > e && a(e + 1) + n(e + 1) * C < r;) e++;
  8927. for (var l = i(s, 0), t = l - 2; l > t && a(l - 1) + n(l - 1) * C > o;) l--;
  8928. g = -(a(e) * I + n(e) * J);
  8929. for (var m = e; l >= m; m++) {
  8930. var V = a(m), U = n(m);
  8931. k.push(W(10, V) * W(2, U))
  8932. }
  8933. }
  8934. function i(e, t) {
  8935. return 3 * e + t
  8936. }
  8937. function n(e) {
  8938. return e - 3 * a(e)
  8939. }
  8940. function a(e) {
  8941. return w(l(e / 3))
  8942. }
  8943. k = [];
  8944. var o = l(L(f) / c), r = l(L(b) / c), s = v(o), h = w(r), m = s - h, U = o - r;
  8945. "exponent" === p ? e() : F >= m && y > F ? t() : e()
  8946. }
  8947. function o() {
  8948. for (var e = [], t = 0, i = k.length; i > t; t++) e[t] = (U ? 1 : -1) * k[t];
  8949. !U && e.reverse();
  8950. var n = s(), a = n.value2Coord, o = a(e[0]), l = a(e[e.length - 1]);
  8951. return o === l && (o -= 1, l += 1), {
  8952. dataMin: o,
  8953. dataMax: l,
  8954. tickList: e,
  8955. logPositive: U,
  8956. labelFormatter: r(),
  8957. dataMappingMethods: n
  8958. }
  8959. }
  8960. function r() {
  8961. if ("exponent" === p) {
  8962. var e = d, t = c;
  8963. return function (i) {
  8964. if (!isFinite(parseFloat(i))) return "";
  8965. var n = "";
  8966. return 0 > i && (i = -i, n = "-"), n + e + m(L(i) / t)
  8967. }
  8968. }
  8969. return function (e) {
  8970. return isFinite(parseFloat(e)) ? x.addCommas(h(e)) : ""
  8971. }
  8972. }
  8973. function s() {
  8974. var e = U, t = g;
  8975. return {
  8976. value2Coord: function (i) {
  8977. 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))
  8978. }, coord2Value: function (i) {
  8979. return null == i || isNaN(i) || !isFinite(i) ? i : (i = parseFloat(i), isFinite(i) || (i = S), e ? W(K, i - t) : -W(K, -i + t))
  8980. }
  8981. }
  8982. }
  8983. function l(e) {
  8984. return +Number(+e).toFixed(14)
  8985. }
  8986. function h(e) {
  8987. return Number(e).toFixed(15).replace(/\.?0*$/, "")
  8988. }
  8989. function m(e) {
  8990. e = h(Math.round(e));
  8991. for (var t = [], i = 0, n = e.length; n > i; i++) {
  8992. var a = e.charAt(i);
  8993. t.push(T[a] || "")
  8994. }
  8995. return t.join("")
  8996. }
  8997. function V(e) {
  8998. return e > -S && S > e
  8999. }
  9000. var U, d, p, c, u, y, g, b, f, k, x = e("./number"), _ = Math, L = _.log, W = _.pow, X = _.abs, v = _.ceil,
  9001. w = _.floor, K = _.E, I = _.LN10, J = _.LN2, C = J / I, S = 1e-9, E = 5, F = 2,
  9002. T = {0: "⁰", 1: "¹", 2: "²", 3: "³", 4: "⁴", 5: "⁵", 6: "⁶", 7: "⁷", 8: "⁸", 9: "⁹", "-": "⁻"};
  9003. return t
  9004. }), 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) {
  9005. function t(e, t, i, a, o) {
  9006. n.call(this, e, t, i, a, o), this.refresh(a)
  9007. }
  9008. function i(e, t, i) {
  9009. var n = t.x, a = t.y, r = t.width, s = t.height, l = s / 2;
  9010. t.symbol.match("empty") && (e.fillStyle = "#fff"), t.brushType = "both";
  9011. var h = t.symbol.replace("empty", "").toLowerCase();
  9012. h.match("star") ? (l = h.replace("star", "") - 0 || 5, a -= 1, h = "star") : ("rectangle" === h || "arrow" === h) && (n += (r - s) / 2, r = s);
  9013. var m = "";
  9014. 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]) {
  9015. var V = t.x, U = t.y;
  9016. 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);
  9017. var d = this;
  9018. h(e, {x: n + 4, y: a + 4, width: r - 8, height: s - 8, n: l, image: m}, function () {
  9019. d.modSelf(), i()
  9020. })
  9021. } else e.moveTo(n, a + l), e.lineTo(n + r, a + l)
  9022. }
  9023. var n = e("./base"), a = e("zrender/shape/Polyline"), o = e("../util/shape/Icon"),
  9024. r = e("../util/shape/HalfSmoothPolygon");
  9025. e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
  9026. var s = e("../config");
  9027. s.line = {
  9028. zlevel: 0,
  9029. z: 2,
  9030. clickable: !0,
  9031. legendHoverLink: !0,
  9032. xAxisIndex: 0,
  9033. yAxisIndex: 0,
  9034. dataFilter: "nearest",
  9035. itemStyle: {
  9036. normal: {
  9037. label: {show: !1},
  9038. lineStyle: {
  9039. width: 2,
  9040. type: "solid",
  9041. shadowColor: "rgba(0,0,0,0)",
  9042. shadowBlur: 0,
  9043. shadowOffsetX: 0,
  9044. shadowOffsetY: 0
  9045. }
  9046. }, emphasis: {label: {show: !1}}
  9047. },
  9048. symbolSize: 2,
  9049. showAllSymbol: !1
  9050. };
  9051. var l = e("../util/ecData"), h = e("zrender/tool/util"), m = e("zrender/tool/color");
  9052. return t.prototype = {
  9053. type: s.CHART_TYPE_LINE, _buildShape: function () {
  9054. this.finalPLMap = {}, this._buildPosition()
  9055. }, _buildHorizontal: function (e, t, i, n) {
  9056. 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++) {
  9057. o = u.getCoordByIndex(g);
  9058. for (var f = 0, k = i.length; k > f; f++) {
  9059. a = this.component.yAxis.getAxis(d[i[f][0]].yAxisIndex || 0), l = s = m = h = a.getCoord(0);
  9060. 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] || {
  9061. min: Number.POSITIVE_INFINITY,
  9062. max: Number.NEGATIVE_INFINITY,
  9063. sum: 0,
  9064. counter: 0,
  9065. average: 0
  9066. }, "-" !== 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] = [])
  9067. }
  9068. s = this.component.grid.getY();
  9069. for (var L, f = 0, k = i.length; k > f; f++) 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")))
  9070. }
  9071. for (var W in y) y[W].length > 0 && (this.finalPLMap[W] = this.finalPLMap[W] || [], this.finalPLMap[W].push(y[W]), y[W] = []);
  9072. this._calculMarkMapXY(n, i, "y"), this._buildBorkenLine(e, this.finalPLMap, u, "horizontal")
  9073. }, _buildVertical: function (e, t, i, n) {
  9074. 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++) {
  9075. r = u.getCoordByIndex(g);
  9076. for (var f = 0, k = i.length; k > f; f++) {
  9077. a = this.component.xAxis.getAxis(d[i[f][0]].xAxisIndex || 0), l = s = m = h = a.getCoord(0);
  9078. 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] || {
  9079. min: Number.POSITIVE_INFINITY,
  9080. max: Number.NEGATIVE_INFINITY,
  9081. sum: 0,
  9082. counter: 0,
  9083. average: 0
  9084. }, "-" !== 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] = [])
  9085. }
  9086. s = this.component.grid.getXend();
  9087. for (var L, f = 0, k = i.length; k > f; f++) 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")))
  9088. }
  9089. for (var W in y) y[W].length > 0 && (this.finalPLMap[W] = this.finalPLMap[W] || [], this.finalPLMap[W].push(y[W]), y[W] = []);
  9090. this._calculMarkMapXY(n, i, "x"), this._buildBorkenLine(e, this.finalPLMap, u, "vertical")
  9091. }, _buildOther: function (e, t, i, n) {
  9092. for (var a, o = this.series, r = {}, s = 0, l = i.length; l > s; s++) for (var h = 0, m = i[s].length; m > h; h++) {
  9093. var V = i[s][h], U = o[V];
  9094. a = this.component.xAxis.getAxis(U.xAxisIndex || 0);
  9095. var d = this.component.yAxis.getAxis(U.yAxisIndex || 0), p = d.getCoord(0);
  9096. r[V] = r[V] || [], n[V] = n[V] || {
  9097. min0: Number.POSITIVE_INFINITY,
  9098. min1: Number.POSITIVE_INFINITY,
  9099. max0: Number.NEGATIVE_INFINITY,
  9100. max1: Number.NEGATIVE_INFINITY,
  9101. sum0: 0,
  9102. sum1: 0,
  9103. counter0: 0,
  9104. counter1: 0,
  9105. average0: 0,
  9106. average1: 0
  9107. };
  9108. for (var c = 0, u = U.data.length; u > c; c++) {
  9109. var y = U.data[c], g = this.getDataFromOption(y, "-");
  9110. if (g instanceof Array) {
  9111. var b = a.getCoord(g[0]), f = d.getCoord(g[1]);
  9112. 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++
  9113. }
  9114. }
  9115. }
  9116. for (var k in r) r[k].length > 0 && (this.finalPLMap[k] = this.finalPLMap[k] || [], this.finalPLMap[k].push(r[k]), r[k] = []);
  9117. this._calculMarkMapXY(n, i, "xy"), this._buildBorkenLine(e, this.finalPLMap, a, "other")
  9118. }, _buildBorkenLine: function (e, t, i, n) {
  9119. for (var o, s = "other" == n ? "horizontal" : n, V = this.series, U = e.length - 1; U >= 0; U--) {
  9120. var d = e[U], p = V[d], c = t[d];
  9121. if (p.type === this.type && null != c) 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++) {
  9122. var X = c[L], v = "other" != n && this._isLarge(s, X);
  9123. if (v) X = this._getLargePointList(s, X, p.dataFilter); else 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));
  9124. var I = new a({
  9125. zlevel: p.zlevel,
  9126. z: p.z,
  9127. style: {
  9128. miterLimit: g,
  9129. pointList: X,
  9130. strokeColor: f || k || y,
  9131. lineWidth: g,
  9132. lineType: b,
  9133. smooth: this._getSmooth(p.smooth),
  9134. smoothConstraint: u,
  9135. shadowColor: this.query(p, "itemStyle.normal.lineStyle.shadowColor"),
  9136. shadowBlur: this.query(p, "itemStyle.normal.lineStyle.shadowBlur"),
  9137. shadowOffsetX: this.query(p, "itemStyle.normal.lineStyle.shadowOffsetX"),
  9138. shadowOffsetY: this.query(p, "itemStyle.normal.lineStyle.shadowOffsetY")
  9139. },
  9140. hoverable: !1,
  9141. _main: !0,
  9142. _seriesIndex: d,
  9143. _orient: s
  9144. });
  9145. if (l.pack(I, V[d], d, 0, L, V[d].name), this.shapeList.push(I), x) {
  9146. var J = new r({
  9147. zlevel: p.zlevel,
  9148. z: p.z,
  9149. style: {
  9150. miterLimit: g,
  9151. pointList: h.clone(X).concat([[X[X.length - 1][4], X[X.length - 1][5]], [X[0][4], X[0][5]]]),
  9152. brushType: "fill",
  9153. smooth: this._getSmooth(p.smooth),
  9154. smoothConstraint: u,
  9155. color: _ ? _ : m.alpha(y, .5)
  9156. },
  9157. highlightStyle: {brushType: "fill"},
  9158. hoverable: !1,
  9159. _main: !0,
  9160. _seriesIndex: d,
  9161. _orient: s
  9162. });
  9163. l.pack(J, V[d], d, 0, L, V[d].name), this.shapeList.push(J)
  9164. }
  9165. }
  9166. }
  9167. }, _getBbox: function (e, t) {
  9168. var i = this.component.grid.getBbox(), n = this.xMarkMap[e];
  9169. return null != n.minX0 ? [[Math.min(n.minX0, n.maxX0, n.minX1, n.maxX1), Math.min(n.minY0, n.maxY0, n.minY1, n.maxY1)], [Math.max(n.minX0, n.maxX0, n.minX1, n.maxX1), Math.max(n.minY0, n.maxY0, n.minY1, n.maxY1)]] : ("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)
  9170. }, _isLarge: function (e, t) {
  9171. 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
  9172. }, _getLargePointList: function (e, t, i) {
  9173. var n;
  9174. n = "horizontal" === e ? this.component.grid.getWidth() : this.component.grid.getHeight();
  9175. var a = t.length, o = [];
  9176. if ("function" != typeof i) switch (i) {
  9177. case"min":
  9178. i = function (e) {
  9179. return Math.max.apply(null, e)
  9180. };
  9181. break;
  9182. case"max":
  9183. i = function (e) {
  9184. return Math.min.apply(null, e)
  9185. };
  9186. break;
  9187. case"average":
  9188. i = function (e) {
  9189. for (var t = 0, i = 0; i < e.length; i++) t += e[i];
  9190. return t / e.length
  9191. };
  9192. break;
  9193. default:
  9194. i = function (e) {
  9195. return e[0]
  9196. }
  9197. }
  9198. for (var r = [], s = 0; n > s; s++) {
  9199. var l = Math.floor(a / n * s), h = Math.min(Math.floor(a / n * (s + 1)), a);
  9200. if (!(l >= h)) {
  9201. for (var m = l; h > m; m++) r[m - l] = "horizontal" === e ? t[m][1] : t[m][0];
  9202. r.length = h - l;
  9203. for (var V = i(r), U = -1, d = 1 / 0, m = l; h > m; m++) {
  9204. var p = "horizontal" === e ? t[m][1] : t[m][0], c = Math.abs(p - V);
  9205. d > c && (U = m, d = c)
  9206. }
  9207. var u = t[U].slice();
  9208. "horizontal" === e ? u[1] = V : u[0] = V, o.push(u)
  9209. }
  9210. }
  9211. return o
  9212. }, _getSmooth: function (e) {
  9213. return e ? .3 : 0
  9214. }, _getCalculableItem: function (e, t, i, n, a, o) {
  9215. var r = this.series,
  9216. l = r[e].calculableHolderColor || this.ecTheme.calculableHolderColor || s.calculableHolderColor,
  9217. h = this._getSymbol(e, t, i, n, a, o);
  9218. 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
  9219. }, _getSymbol: function (e, t, i, n, a, o) {
  9220. var r = this.series, s = r[e], l = s.data[t],
  9221. h = this.getSymbolShape(s, e, l, t, i, n, a, this._sIndex2ShapeMap[e], this._sIndex2ColorMap[e], "#fff", "vertical" === o ? "horizontal" : "vertical");
  9222. return h.zlevel = s.zlevel, h.z = s.z + 1, this.deepQuery([l, s, this.option], "calculable") && (this.setCalculable(h), h.draggable = !0), h
  9223. }, getMarkCoord: function (e, t) {
  9224. var i = this.series[e], n = this.xMarkMap[e], a = this.component.xAxis.getAxis(i.xAxisIndex),
  9225. o = this.component.yAxis.getAxis(i.yAxisIndex);
  9226. if (t.type && ("max" === t.type || "min" === t.type || "average" === t.type)) {
  9227. var r = null != t.valueIndex ? t.valueIndex : null != n.maxX0 ? "1" : "";
  9228. return [n[t.type + "X" + r], n[t.type + "Y" + r], n[t.type + "Line" + r], n[t.type + r]]
  9229. }
  9230. 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)]
  9231. }, refresh: function (e) {
  9232. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  9233. }, ontooltipHover: function (e, t) {
  9234. for (var i, n, a = e.seriesIndex, o = e.dataIndex, r = a.length; r--;) if (i = this.finalPLMap[a[r]]) for (var s = 0, l = i.length; l > s; s++) {
  9235. n = i[s];
  9236. 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"))
  9237. }
  9238. }, addDataAnimation: function (e, t) {
  9239. function i() {
  9240. c--, 0 === c && t && t()
  9241. }
  9242. function n(e) {
  9243. e.style.controlPointList = null
  9244. }
  9245. for (var a = this.series, o = {}, r = 0, s = e.length; s > r; r++) o[e[r][0]] = e[r];
  9246. for (var l, h, m, V, U, d, p, c = 0, r = this.shapeList.length - 1; r >= 0; r--) if (U = this.shapeList[r]._seriesIndex, o[U] && !o[U][3]) {
  9247. if (this.shapeList[r]._main && this.shapeList[r].style.pointList.length > 1) {
  9248. 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]) {
  9249. if ("half-smooth-polygon" === this.shapeList[r].type) {
  9250. var u = d.length;
  9251. 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]
  9252. }
  9253. this.shapeList[r].style.pointList.pop(), p ? (l = h, m = 0) : (l = 0, m = -V)
  9254. } else {
  9255. if (this.shapeList[r].style.pointList.shift(), "half-smooth-polygon" === this.shapeList[r].type) {
  9256. var y = this.shapeList[r].style.pointList.pop();
  9257. p ? y[0] = d[0][0] : y[1] = d[0][1], this.shapeList[r].style.pointList.push(y)
  9258. }
  9259. p ? (l = -h, m = 0) : (l = 0, m = V)
  9260. }
  9261. this.shapeList[r].style.controlPointList = null, this.zr.modShape(this.shapeList[r])
  9262. } else {
  9263. if (o[U][2] && this.shapeList[r]._dataIndex === a[U].data.length - 1) {
  9264. this.zr.delShape(this.shapeList[r].id);
  9265. continue
  9266. }
  9267. if (!o[U][2] && 0 === this.shapeList[r]._dataIndex) {
  9268. this.zr.delShape(this.shapeList[r].id);
  9269. continue
  9270. }
  9271. }
  9272. this.shapeList[r].position = [0, 0], c++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {position: [l, m]}).during(n).done(i).start()
  9273. }
  9274. c || t && t()
  9275. }
  9276. }, o.prototype.iconLibrary.legendLineIcon = i, h.inherits(t, n), e("../chart").define("line", t), t
  9277. }), i("echarts/util/shape/HalfSmoothPolygon", ["require", "zrender/shape/Base", "zrender/shape/util/smoothBezier", "zrender/tool/util", "zrender/shape/Polygon"], function (e) {
  9278. function t(e) {
  9279. i.call(this, e)
  9280. }
  9281. var i = e("zrender/shape/Base"), n = e("zrender/shape/util/smoothBezier"), a = e("zrender/tool/util");
  9282. return t.prototype = {
  9283. type: "half-smooth-polygon", buildPath: function (t, i) {
  9284. var a = i.pointList;
  9285. if (!(a.length < 2)) if (i.smooth) {
  9286. var o = n(a.slice(0, -2), i.smooth, !1, i.smoothConstraint);
  9287. t.moveTo(a[0][0], a[0][1]);
  9288. 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]);
  9289. 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])
  9290. } else e("zrender/shape/Polygon").prototype.buildPath(t, i)
  9291. }
  9292. }, a.inherits(t, i), t
  9293. }), 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) {
  9294. function t(e, t, n, a, o) {
  9295. i.call(this, e, t, n, a, o), this.refresh(a)
  9296. }
  9297. var i = e("./base"), n = e("zrender/shape/Rectangle");
  9298. e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
  9299. var a = e("../config");
  9300. a.bar = {
  9301. zlevel: 0,
  9302. z: 2,
  9303. clickable: !0,
  9304. legendHoverLink: !0,
  9305. xAxisIndex: 0,
  9306. yAxisIndex: 0,
  9307. barMinHeight: 0,
  9308. barGap: "30%",
  9309. barCategoryGap: "20%",
  9310. itemStyle: {
  9311. normal: {barBorderColor: "#fff", barBorderRadius: 0, barBorderWidth: 0, label: {show: !1}},
  9312. emphasis: {barBorderColor: "#fff", barBorderRadius: 0, barBorderWidth: 0, label: {show: !1}}
  9313. }
  9314. };
  9315. var o = e("../util/ecData"), r = e("zrender/tool/util"), s = e("zrender/tool/color");
  9316. return t.prototype = {
  9317. type: a.CHART_TYPE_BAR, _buildShape: function () {
  9318. this._buildPosition()
  9319. }, _buildNormal: function (e, t, i, o, r) {
  9320. 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++) {
  9321. x ? m = W.getCoordByIndex(F) - v / 2 : V = W.getCoordByIndex(F) + v / 2;
  9322. for (var z = 0, A = i.length; A > z; z++) {
  9323. var M = b[i[z][0]].yAxisIndex || 0, O = b[i[z][0]].xAxisIndex || 0;
  9324. s = x ? L.getAxis(M) : _.getAxis(O), d = U = c = p = s.getCoord(0);
  9325. 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] || {
  9326. min: Number.POSITIVE_INFINITY,
  9327. max: Number.NEGATIVE_INFINITY,
  9328. sum: 0,
  9329. counter: 0,
  9330. average: 0
  9331. }, 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))));
  9332. 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)));
  9333. x ? m += h + w : V -= h + w
  9334. }
  9335. }
  9336. this._calculMarkMapXY(o, i, x ? "y" : "x")
  9337. }, _buildHorizontal: function (e, t, i, n) {
  9338. return this._buildNormal(e, t, i, n, "horizontal")
  9339. }, _buildVertical: function (e, t, i, n) {
  9340. return this._buildNormal(e, t, i, n, "vertical")
  9341. }, _buildOther: function (e, t, i, a) {
  9342. for (var o = this.series, r = 0, s = i.length; s > r; r++) for (var l = 0, h = i[r].length; h > l; l++) {
  9343. var m = i[r][l], V = o[m], U = V.xAxisIndex || 0, d = this.component.xAxis.getAxis(U),
  9344. p = d.getCoord(0), c = V.yAxisIndex || 0, u = this.component.yAxis.getAxis(c),
  9345. y = u.getCoord(0);
  9346. a[m] = a[m] || {
  9347. min0: Number.POSITIVE_INFINITY,
  9348. min1: Number.POSITIVE_INFINITY,
  9349. max0: Number.NEGATIVE_INFINITY,
  9350. max1: Number.NEGATIVE_INFINITY,
  9351. sum0: 0,
  9352. sum1: 0,
  9353. counter0: 0,
  9354. counter1: 0,
  9355. average0: 0,
  9356. average1: 0
  9357. };
  9358. for (var g = 0, b = V.data.length; b > g; g++) {
  9359. var f = V.data[g], k = this.getDataFromOption(f, "-");
  9360. if (k instanceof Array) {
  9361. var x, _, L = d.getCoord(k[0]), W = u.getCoord(k[1]), X = [f, V],
  9362. v = this.deepQuery(X, "barWidth") || 10, w = this.deepQuery(X, "barHeight");
  9363. 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++
  9364. }
  9365. }
  9366. }
  9367. this._calculMarkMapXY(a, i, "xy")
  9368. }, _mapSize: function (e, t, i) {
  9369. var n, a, o = this._findSpecialBarSzie(t, i), r = o.barWidthMap, s = o.barMaxWidthMap,
  9370. l = o.barMinHeightMap, h = o.sBarWidthCounter, m = o.sBarWidthTotal, V = o.barGap,
  9371. U = o.barCategoryGap, d = 1;
  9372. if (t.length != h) {
  9373. if (i) n = e.getGap(), V = 0, a = +(n / t.length).toFixed(2), 0 >= a && (d = Math.floor(t.length / n), a = 1); 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)
  9374. } 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);
  9375. return this._recheckBarMaxWidth(t, r, s, l, n, a, V, d)
  9376. }, _findSpecialBarSzie: function (e, t) {
  9377. for (var i, n, a, o, r = this.series, s = {}, l = {}, h = {}, m = 0, V = 0, U = 0, d = e.length; d > U; U++) for (var p = {
  9378. barWidth: !1,
  9379. barMaxWidth: !1
  9380. }, c = 0, u = e[U].length; u > c; c++) {
  9381. var y = e[U][c], g = r[y];
  9382. if (!t) {
  9383. if (p.barWidth) s[y] = i; else if (i = this.query(g, "barWidth"), null != i) {
  9384. s[y] = i, V += i, m++, p.barWidth = !0;
  9385. for (var b = 0, f = c; f > b; b++) {
  9386. var k = e[U][b];
  9387. s[k] = i
  9388. }
  9389. }
  9390. if (p.barMaxWidth) l[y] = n; else if (n = this.query(g, "barMaxWidth"), null != n) {
  9391. l[y] = n, p.barMaxWidth = !0;
  9392. for (var b = 0, f = c; f > b; b++) {
  9393. var k = e[U][b];
  9394. l[k] = n
  9395. }
  9396. }
  9397. }
  9398. h[y] = this.query(g, "barMinHeight"), a = null != a ? a : this.query(g, "barGap"), o = null != o ? o : this.query(g, "barCategoryGap")
  9399. }
  9400. return {
  9401. barWidthMap: s,
  9402. barMaxWidthMap: l,
  9403. barMinHeightMap: h,
  9404. sBarWidth: i,
  9405. sBarMaxWidth: n,
  9406. sBarWidthCounter: m,
  9407. sBarWidthTotal: V,
  9408. barGap: a,
  9409. barCategoryGap: o
  9410. }
  9411. }, _recheckBarMaxWidth: function (e, t, i, n, a, o, r, s) {
  9412. for (var l = 0, h = e.length; h > l; l++) {
  9413. var m = e[l][0];
  9414. i[m] && i[m] < o && (a -= o - i[m])
  9415. }
  9416. return {
  9417. barWidthMap: t,
  9418. barMaxWidthMap: i,
  9419. barMinHeightMap: n,
  9420. gap: a,
  9421. barWidth: o,
  9422. barGap: r,
  9423. interval: s
  9424. }
  9425. }, _getBarItem: function (e, t, i, n, a, r, l, h) {
  9426. var m, V = this.series, U = V[e], d = U.data[t], p = this._sIndex2ColorMap[e], c = [d, U],
  9427. u = this.deepMerge(c, "itemStyle.normal"), y = this.deepMerge(c, "itemStyle.emphasis"),
  9428. g = u.barBorderWidth;
  9429. m = {
  9430. zlevel: U.zlevel,
  9431. z: U.z,
  9432. clickable: this.deepQuery(c, "clickable"),
  9433. style: {
  9434. x: n,
  9435. y: a,
  9436. width: r,
  9437. height: l,
  9438. brushType: "both",
  9439. color: this.getItemStyleColor(this.deepQuery(c, "itemStyle.normal.color") || p, e, t, d),
  9440. radius: u.barBorderRadius,
  9441. lineWidth: g,
  9442. strokeColor: u.barBorderColor
  9443. },
  9444. highlightStyle: {
  9445. color: this.getItemStyleColor(this.deepQuery(c, "itemStyle.emphasis.color"), e, t, d),
  9446. radius: y.barBorderRadius,
  9447. lineWidth: y.barBorderWidth,
  9448. strokeColor: y.barBorderColor
  9449. },
  9450. _orient: h
  9451. };
  9452. var b = m.style;
  9453. 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);
  9454. for (var f = [b, m.highlightStyle], k = 0, x = f.length; x > k; k++) {
  9455. var _ = f[k].textPosition;
  9456. if ("insideLeft" === _ || "insideRight" === _ || "insideTop" === _ || "insideBottom" === _) {
  9457. var L = 5;
  9458. switch (_) {
  9459. case"insideLeft":
  9460. f[k].textX = b.x + L, f[k].textY = b.y + b.height / 2, f[k].textAlign = "left", f[k].textBaseline = "middle";
  9461. break;
  9462. case"insideRight":
  9463. f[k].textX = b.x + b.width - L, f[k].textY = b.y + b.height / 2, f[k].textAlign = "right", f[k].textBaseline = "middle";
  9464. break;
  9465. case"insideTop":
  9466. f[k].textX = b.x + b.width / 2, f[k].textY = b.y + L / 2, f[k].textAlign = "center", f[k].textBaseline = "top";
  9467. break;
  9468. case"insideBottom":
  9469. 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"
  9470. }
  9471. f[k].textPosition = "specific", f[k].textColor = f[k].textColor || "#fff"
  9472. }
  9473. }
  9474. 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
  9475. }, getMarkCoord: function (e, t) {
  9476. var i, n, a = this.series[e], o = this.xMarkMap[e], r = this.component.xAxis.getAxis(a.xAxisIndex),
  9477. s = this.component.yAxis.getAxis(a.yAxisIndex);
  9478. if (!t.type || "max" !== t.type && "min" !== t.type && "average" !== t.type) if (o.isHorizontal) {
  9479. i = "string" == typeof t.xAxis && r.getIndexByName ? r.getIndexByName(t.xAxis) : t.xAxis || 0;
  9480. var l = o[i];
  9481. 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)]
  9482. } else {
  9483. i = "string" == typeof t.yAxis && s.getIndexByName ? s.getIndexByName(t.yAxis) : t.yAxis || 0;
  9484. var h = o[i];
  9485. 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]
  9486. } else {
  9487. var m = null != t.valueIndex ? t.valueIndex : null != o.maxX0 ? "1" : "";
  9488. n = [o[t.type + "X" + m], o[t.type + "Y" + m], o[t.type + "Line" + m], o[t.type + m]]
  9489. }
  9490. return n
  9491. }, refresh: function (e) {
  9492. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  9493. }, addDataAnimation: function (e, t) {
  9494. function i() {
  9495. c--, 0 === c && t && t()
  9496. }
  9497. for (var n = this.series, a = {}, r = 0, s = e.length; s > r; r++) a[e[r][0]] = e[r];
  9498. for (var l, h, m, V, U, d, p, c = 0, r = this.shapeList.length - 1; r >= 0; r--) if (d = o.get(this.shapeList[r], "seriesIndex"), a[d] && !a[d][3] && "rectangle" === this.shapeList[r].type) {
  9499. if (p = o.get(this.shapeList[r], "dataIndex"), U = n[d], a[d][2] && p === U.data.length - 1) {
  9500. this.zr.delShape(this.shapeList[r].id);
  9501. continue
  9502. }
  9503. if (!a[d][2] && 0 === p) {
  9504. this.zr.delShape(this.shapeList[r].id);
  9505. continue
  9506. }
  9507. "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"), {position: [l, m]}).done(i).start()
  9508. }
  9509. c || t && t()
  9510. }
  9511. }, r.inherits(t, i), e("../chart").define("bar", t), t
  9512. }), 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) {
  9513. function t(e, t, n, a, o) {
  9514. i.call(this, e, t, n, a, o), this.refresh(a)
  9515. }
  9516. var i = e("./base"), n = e("../util/shape/Symbol");
  9517. e("../component/axis"), e("../component/grid"), e("../component/dataZoom"), e("../component/dataRange");
  9518. var a = e("../config");
  9519. a.scatter = {
  9520. zlevel: 0,
  9521. z: 2,
  9522. clickable: !0,
  9523. legendHoverLink: !0,
  9524. xAxisIndex: 0,
  9525. yAxisIndex: 0,
  9526. symbolSize: 4,
  9527. large: !1,
  9528. largeThreshold: 2e3,
  9529. itemStyle: {normal: {label: {show: !1}}, emphasis: {label: {show: !1}}}
  9530. };
  9531. var o = e("zrender/tool/util"), r = e("zrender/tool/color");
  9532. return t.prototype = {
  9533. type: a.CHART_TYPE_SCATTER, _buildShape: function () {
  9534. var e = this.series;
  9535. this._sIndex2ColorMap = {}, this._symbol = this.option.symbolList, this._sIndex2ShapeMap = {}, this.selectedMap = {}, this.xMarkMap = {};
  9536. for (var t, i, n, o, s = this.component.legend, l = [], h = 0, m = e.length; m > h; h++) if (t = e[h], i = t.name, t.type === a.CHART_TYPE_SCATTER) {
  9537. 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) {
  9538. if (this.selectedMap[i] = s.isSelected(i), this._sIndex2ColorMap[h] = r.alpha(s.getColor(i), .5), n = s.getItemShape(i)) {
  9539. var o = this._sIndex2ShapeMap[h];
  9540. 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)
  9541. }
  9542. } else this.selectedMap[i] = !0, this._sIndex2ColorMap[h] = r.alpha(this.zr.getColor(h), .5);
  9543. this.selectedMap[i] && l.push(h)
  9544. }
  9545. this._buildSeries(l), this.addShapeList()
  9546. }, _buildSeries: function (e) {
  9547. if (0 !== e.length) {
  9548. for (var t, i, n, a, o, r, s, l, h = this.series, m = {}, V = 0, U = e.length; U > V; V++) if (t = e[V], i = h[t], 0 !== i.data.length) {
  9549. o = this.component.xAxis.getAxis(i.xAxisIndex || 0), r = this.component.yAxis.getAxis(i.yAxisIndex || 0), m[t] = [];
  9550. 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 || ""]));
  9551. this.xMarkMap[t] = this._markMap(o, r, i.data, m[t]), this.buildMark(t)
  9552. }
  9553. this._buildPointList(m)
  9554. }
  9555. }, _markMap: function (e, t, i, n) {
  9556. for (var a, o = {
  9557. min0: Number.POSITIVE_INFINITY,
  9558. max0: Number.NEGATIVE_INFINITY,
  9559. sum0: 0,
  9560. counter0: 0,
  9561. average0: 0,
  9562. min1: Number.POSITIVE_INFINITY,
  9563. max1: Number.NEGATIVE_INFINITY,
  9564. sum1: 0,
  9565. counter1: 0,
  9566. average1: 0
  9567. }, 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++;
  9568. var l = this.component.grid.getX(), h = this.component.grid.getXend(), m = this.component.grid.getY(),
  9569. V = this.component.grid.getYend();
  9570. o.average0 = o.sum0 / o.counter0;
  9571. var U = e.getCoord(o.average0);
  9572. o.averageLine0 = [[U, V], [U, m]], o.minLine0 = [[o.minX0, V], [o.minX0, m]], o.maxLine0 = [[o.maxX0, V], [o.maxX0, m]], o.average1 = o.sum1 / o.counter1;
  9573. var d = t.getCoord(o.average1);
  9574. return o.averageLine1 = [[l, d], [h, d]], o.minLine1 = [[l, o.minY1], [h, o.minY1]], o.maxLine1 = [[l, o.maxY1], [h, o.maxY1]], o
  9575. }, _buildPointList: function (e) {
  9576. var t, i, n, a, o = this.series;
  9577. for (var r in e) 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])); else 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)
  9578. }, _getSymbol: function (e, t, i, n, a) {
  9579. var o, r = this.series, s = r[e], l = s.data[t], h = this.component.dataRange;
  9580. if (h) {
  9581. if (o = isNaN(l[2]) ? this._sIndex2ColorMap[e] : h.getColor(l[2]), !o) return null
  9582. } else o = this._sIndex2ColorMap[e];
  9583. var m = this.getSymbolShape(s, e, l, t, i, n, a, this._sIndex2ShapeMap[e], o, "rgba(0,0,0,0)", "vertical");
  9584. return m.zlevel = s.zlevel, m.z = s.z, m._main = !0, m
  9585. }, _getLargeSymbol: function (e, t, i) {
  9586. return new n({
  9587. zlevel: e.zlevel,
  9588. z: e.z,
  9589. _main: !0,
  9590. hoverable: !1,
  9591. style: {pointList: t, color: i, strokeColor: i},
  9592. highlightStyle: {pointList: []}
  9593. })
  9594. }, getMarkCoord: function (e, t) {
  9595. var i, n = this.series[e], a = this.xMarkMap[e], o = this.component.xAxis.getAxis(n.xAxisIndex),
  9596. r = this.component.yAxis.getAxis(n.yAxisIndex);
  9597. 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)]; else {
  9598. var s = null != t.valueIndex ? t.valueIndex : 1;
  9599. i = [a[t.type + "X" + s], a[t.type + "Y" + s], a[t.type + "Line" + s], a[t.type + s]]
  9600. }
  9601. return i
  9602. }, refresh: function (e) {
  9603. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  9604. }, ondataRange: function (e, t) {
  9605. this.component.dataRange && (this.refresh(), t.needRefresh = !0)
  9606. }
  9607. }, o.inherits(t, i), e("../chart").define("scatter", t), t
  9608. }), 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) {
  9609. function t(e, t, n, a, o) {
  9610. i.call(this, e, t, n, a, o);
  9611. var s = this;
  9612. s._ondrift = function (e, t) {
  9613. return s.__ondrift(this, e, t)
  9614. }, s._ondragend = function () {
  9615. return s.__ondragend()
  9616. }, s._dataRangeSelected = function (e) {
  9617. return s.__dataRangeSelected(e)
  9618. }, s._dispatchHoverLink = function (e) {
  9619. return s.__dispatchHoverLink(e)
  9620. }, s._onhoverlink = function (e) {
  9621. return s.__onhoverlink(e);
  9622. }, this._selectedMap = {}, this._range = {}, this.refresh(a), t.bind(r.EVENT.HOVER, this._onhoverlink)
  9623. }
  9624. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Rectangle"),
  9625. o = e("../util/shape/HandlePolygon"), r = e("../config");
  9626. r.dataRange = {
  9627. zlevel: 0,
  9628. z: 4,
  9629. show: !0,
  9630. orient: "vertical",
  9631. x: "left",
  9632. y: "bottom",
  9633. backgroundColor: "rgba(0,0,0,0)",
  9634. borderColor: "#ccc",
  9635. borderWidth: 0,
  9636. padding: 5,
  9637. itemGap: 10,
  9638. itemWidth: 20,
  9639. itemHeight: 14,
  9640. precision: 0,
  9641. splitNumber: 5,
  9642. splitList: null,
  9643. calculable: !1,
  9644. selectedMode: !0,
  9645. hoverLink: !0,
  9646. realtime: !0,
  9647. color: ["#006edd", "#e0ffff"],
  9648. textStyle: {color: "#333"}
  9649. };
  9650. var s = e("zrender/tool/util"), l = e("zrender/tool/event"), h = e("zrender/tool/area"),
  9651. m = e("zrender/tool/color");
  9652. return t.prototype = {
  9653. type: r.COMPONENT_TYPE_DATARANGE, _textGap: 10, _buildShape: function () {
  9654. if (this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._isContinuity() ? this._buildGradient() : this._buildItem(), this.dataRangeOption.show) for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]);
  9655. this._syncShapeFromRange()
  9656. }, _buildItem: function () {
  9657. var e, t, i, o, r = this._valueTextList, s = r.length, l = this.getFont(this.dataRangeOption.textStyle),
  9658. m = this._itemGroupLocation.x, V = this._itemGroupLocation.y, U = this.dataRangeOption.itemWidth,
  9659. d = this.dataRangeOption.itemHeight, p = this.dataRangeOption.itemGap, c = h.getTextHeight("国", l);
  9660. "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (m = this._itemGroupLocation.x + this._itemGroupLocation.width - U);
  9661. var u = !0;
  9662. 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))));
  9663. 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 = {
  9664. zlevel: this.getZlevelBase(),
  9665. z: this.getZBase(),
  9666. style: {
  9667. x: m + U + 5,
  9668. y: V,
  9669. color: this._selectedMap[y] ? this.dataRangeOption.textStyle.color : "#ccc",
  9670. text: r[y],
  9671. textFont: l,
  9672. textBaseline: "top"
  9673. },
  9674. highlightStyle: {brushType: "fill"}
  9675. }, "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;
  9676. !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)))
  9677. }, _buildGradient: function () {
  9678. var t, i, o = this.getFont(this.dataRangeOption.textStyle), r = this._itemGroupLocation.x,
  9679. s = this._itemGroupLocation.y, l = this.dataRangeOption.itemWidth,
  9680. m = this.dataRangeOption.itemHeight, V = h.getTextHeight("国", o), U = 10, d = !0;
  9681. 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))));
  9682. 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]]);
  9683. "horizontal" == this.dataRangeOption.orient ? (t = {
  9684. zlevel: this.getZlevelBase(),
  9685. z: this.getZBase(),
  9686. style: {x: r, y: s, width: l * U, height: m, color: p.getLinearGradient(r, s, r + l * U, s, u)},
  9687. hoverable: !1
  9688. }, r += l * U + this._textGap) : (t = {
  9689. zlevel: this.getZlevelBase(),
  9690. z: this.getZBase(),
  9691. style: {x: r, y: s, width: l, height: m * U, color: p.getLinearGradient(r, s, r, s + m * U, u)},
  9692. hoverable: !1
  9693. }, 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)))
  9694. }, _buildIndicator: function () {
  9695. var e, t, i = this._calculableLocation.x, n = this._calculableLocation.y,
  9696. a = this._calculableLocation.width, r = this._calculableLocation.height, s = 5;
  9697. "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (e = [[i, n + r], [i - s, n + r + s], [i + s, n + r + s]], t = "bottom") : (e = [[i, n], [i - s, n - s], [i + s, n - s]], t = "top") : "right" != this.dataRangeOption.x ? (e = [[i + a, n], [i + a + s, n - s], [i + a + s, n + s]], t = "right") : (e = [[i, n], [i - s, n - s], [i - s, n + s]], t = "left"), this._indicatorShape = {
  9698. style: {
  9699. pointList: e,
  9700. color: "#fff",
  9701. __rect: {
  9702. x: Math.min(e[0][0], e[1][0]),
  9703. y: Math.min(e[0][1], e[1][1]),
  9704. width: s * ("horizontal" == this.dataRangeOption.orient ? 2 : 1),
  9705. height: s * ("horizontal" == this.dataRangeOption.orient ? 1 : 2)
  9706. }
  9707. },
  9708. highlightStyle: {
  9709. brushType: "fill",
  9710. textPosition: t,
  9711. textColor: this.dataRangeOption.textStyle.color
  9712. },
  9713. hoverable: !1
  9714. }, this._indicatorShape = new o(this._indicatorShape)
  9715. }, _buildFiller: function () {
  9716. this._fillerShape = {
  9717. zlevel: this.getZlevelBase(),
  9718. z: this.getZBase() + 1,
  9719. style: {
  9720. x: this._calculableLocation.x,
  9721. y: this._calculableLocation.y,
  9722. width: this._calculableLocation.width,
  9723. height: this._calculableLocation.height,
  9724. color: "rgba(255,255,255,0)"
  9725. },
  9726. highlightStyle: {strokeColor: "rgba(255,255,255,0.5)", lineWidth: 1},
  9727. draggable: !0,
  9728. ondrift: this._ondrift,
  9729. ondragend: this._ondragend,
  9730. onmousemove: this._dispatchHoverLink,
  9731. _type: "filler"
  9732. }, this._fillerShape = new a(this._fillerShape), this.shapeList.push(this._fillerShape)
  9733. }, _bulidHandle: function () {
  9734. var e, t, i, n, a, r, s, l, m = this._calculableLocation.x, V = this._calculableLocation.y,
  9735. U = this._calculableLocation.width, d = this._calculableLocation.height,
  9736. p = this.getFont(this.dataRangeOption.textStyle), c = h.getTextHeight("国", p),
  9737. u = Math.max(h.getTextWidth(this._textFormat(this.dataRangeOption.max), p), h.getTextWidth(this._textFormat(this.dataRangeOption.min), p)) + 2;
  9738. "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (e = [[m, V], [m, V + d + c], [m - c, V + d + c], [m - 1, V + d], [m - 1, V]], t = m - u / 2 - c, i = V + d + c / 2 + 2, n = {
  9739. x: m - u - c,
  9740. y: V + d,
  9741. width: u + c,
  9742. height: c
  9743. }, a = [[m + U, V], [m + U, V + d + c], [m + U + c, V + d + c], [m + U + 1, V + d], [m + U + 1, V]], r = m + U + u / 2 + c, s = i, l = {
  9744. x: m + U,
  9745. y: V + d,
  9746. width: u + c,
  9747. height: c
  9748. }) : (e = [[m, V + d], [m, V - c], [m - c, V - c], [m - 1, V], [m - 1, V + d]], t = m - u / 2 - c, i = V - c / 2 - 2, n = {
  9749. x: m - u - c,
  9750. y: V - c,
  9751. width: u + c,
  9752. height: c
  9753. }, a = [[m + U, V + d], [m + U, V - c], [m + U + c, V - c], [m + U + 1, V], [m + U + 1, V + d]], r = m + U + u / 2 + c, s = i, l = {
  9754. x: m + U,
  9755. y: V - c,
  9756. width: u + c,
  9757. height: c
  9758. }) : (u += c, "right" != this.dataRangeOption.x ? (e = [[m, V], [m + U + c, V], [m + U + c, V - c], [m + U, V - 1], [m, V - 1]], t = m + U + u / 2 + c / 2, i = V - c / 2, n = {
  9759. x: m + U,
  9760. y: V - c,
  9761. width: u + c,
  9762. height: c
  9763. }, a = [[m, V + d], [m + U + c, V + d], [m + U + c, V + c + d], [m + U, V + 1 + d], [m, V + d + 1]], r = t, s = V + d + c / 2, l = {
  9764. x: m + U,
  9765. y: V + d,
  9766. width: u + c,
  9767. height: c
  9768. }) : (e = [[m + U, V], [m - c, V], [m - c, V - c], [m, V - 1], [m + U, V - 1]], t = m - u / 2 - c / 2, i = V - c / 2, n = {
  9769. x: m - u - c,
  9770. y: V - c,
  9771. width: u + c,
  9772. height: c
  9773. }, a = [[m + U, V + d], [m - c, V + d], [m - c, V + c + d], [m, V + 1 + d], [m + U, V + d + 1]], r = t, s = V + d + c / 2, l = {
  9774. x: m - u - c,
  9775. y: V + d,
  9776. width: u + c,
  9777. height: c
  9778. })), this._startShape = {
  9779. style: {
  9780. pointList: e,
  9781. text: this._textFormat(this.dataRangeOption.max),
  9782. textX: t,
  9783. textY: i,
  9784. textFont: p,
  9785. color: this.getColor(this.dataRangeOption.max),
  9786. rect: n,
  9787. x: e[0][0],
  9788. y: e[0][1],
  9789. _x: e[0][0],
  9790. _y: e[0][1]
  9791. }
  9792. }, this._startShape.highlightStyle = {
  9793. strokeColor: this._startShape.style.color,
  9794. lineWidth: 1
  9795. }, this._endShape = {
  9796. style: {
  9797. pointList: a,
  9798. text: this._textFormat(this.dataRangeOption.min),
  9799. textX: r,
  9800. textY: s,
  9801. textFont: p,
  9802. color: this.getColor(this.dataRangeOption.min),
  9803. rect: l,
  9804. x: a[0][0],
  9805. y: a[0][1],
  9806. _x: a[0][0],
  9807. _y: a[0][1]
  9808. }
  9809. }, this._endShape.highlightStyle = {
  9810. strokeColor: this._endShape.style.color,
  9811. lineWidth: 1
  9812. }, 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)
  9813. }, _bulidMask: function () {
  9814. var e = this._calculableLocation.x, t = this._calculableLocation.y, i = this._calculableLocation.width,
  9815. n = this._calculableLocation.height;
  9816. this._startMask = {
  9817. zlevel: this.getZlevelBase(),
  9818. z: this.getZBase() + 1,
  9819. style: {
  9820. x: e,
  9821. y: t,
  9822. width: "horizontal" == this.dataRangeOption.orient ? 0 : i,
  9823. height: "horizontal" == this.dataRangeOption.orient ? n : 0,
  9824. color: "#ccc"
  9825. },
  9826. hoverable: !1
  9827. }, this._endMask = {
  9828. zlevel: this.getZlevelBase(),
  9829. z: this.getZBase() + 1,
  9830. style: {
  9831. x: "horizontal" == this.dataRangeOption.orient ? e + i : e,
  9832. y: "horizontal" == this.dataRangeOption.orient ? t : t + n,
  9833. width: "horizontal" == this.dataRangeOption.orient ? 0 : i,
  9834. height: "horizontal" == this.dataRangeOption.orient ? n : 0,
  9835. color: "#ccc"
  9836. },
  9837. hoverable: !1
  9838. }, this._startMask = new a(this._startMask), this._endMask = new a(this._endMask), this.shapeList.push(this._startMask), this.shapeList.push(this._endMask)
  9839. }, _buildBackground: function () {
  9840. var e = this.reformCssArray(this.dataRangeOption.padding);
  9841. this.shapeList.push(new a({
  9842. zlevel: this.getZlevelBase(),
  9843. z: this.getZBase(),
  9844. hoverable: !1,
  9845. style: {
  9846. x: this._itemGroupLocation.x - e[3],
  9847. y: this._itemGroupLocation.y - e[0],
  9848. width: this._itemGroupLocation.width + e[3] + e[1],
  9849. height: this._itemGroupLocation.height + e[0] + e[2],
  9850. brushType: 0 === this.dataRangeOption.borderWidth ? "fill" : "both",
  9851. color: this.dataRangeOption.backgroundColor,
  9852. strokeColor: this.dataRangeOption.borderColor,
  9853. lineWidth: this.dataRangeOption.borderWidth
  9854. }
  9855. }))
  9856. }, _getItemGroupLocation: function () {
  9857. var e = this._valueTextList, t = e.length, i = this.dataRangeOption.itemGap,
  9858. n = this.dataRangeOption.itemWidth, a = this.dataRangeOption.itemHeight, o = 0, r = 0,
  9859. s = this.getFont(this.dataRangeOption.textStyle), l = h.getTextHeight("国", s), m = 10;
  9860. if ("horizontal" == this.dataRangeOption.orient) {
  9861. 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); else {
  9862. n += 5;
  9863. for (var V = 0; t > V; V++) o += n + h.getTextWidth(e[V], s) + i
  9864. }
  9865. o -= i, r = Math.max(l, a)
  9866. } else {
  9867. var U;
  9868. 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); else {
  9869. r = (a + i) * t, n += 5, U = 0;
  9870. for (var V = 0; t > V; V++) U = Math.max(U, h.getTextWidth(e[V], s));
  9871. o = n + U
  9872. }
  9873. r -= i
  9874. }
  9875. var d, p = this.reformCssArray(this.dataRangeOption.padding), c = this.zr.getWidth();
  9876. switch (this.dataRangeOption.x) {
  9877. case"center":
  9878. d = Math.floor((c - o) / 2);
  9879. break;
  9880. case"left":
  9881. d = p[3] + this.dataRangeOption.borderWidth;
  9882. break;
  9883. case"right":
  9884. d = c - o - p[1] - this.dataRangeOption.borderWidth;
  9885. break;
  9886. default:
  9887. d = this.parsePercent(this.dataRangeOption.x, c), d = isNaN(d) ? 0 : d
  9888. }
  9889. var u, y = this.zr.getHeight();
  9890. switch (this.dataRangeOption.y) {
  9891. case"top":
  9892. u = p[0] + this.dataRangeOption.borderWidth;
  9893. break;
  9894. case"bottom":
  9895. u = y - r - p[2] - this.dataRangeOption.borderWidth;
  9896. break;
  9897. case"center":
  9898. u = Math.floor((y - r) / 2);
  9899. break;
  9900. default:
  9901. u = this.parsePercent(this.dataRangeOption.y, y), u = isNaN(u) ? 0 : u
  9902. }
  9903. if (this.dataRangeOption.calculable) {
  9904. var g = Math.max(h.getTextWidth(this.dataRangeOption.max, s), h.getTextWidth(this.dataRangeOption.min, s)) + l;
  9905. "horizontal" == this.dataRangeOption.orient ? (g > d && (d = g), d + o + g > c && (d -= g)) : (l > u && (u = l), u + r + l > y && (u -= l))
  9906. }
  9907. return {x: d, y: u, width: o, height: r}
  9908. }, _getTextShape: function (e, t, i) {
  9909. return {
  9910. zlevel: this.getZlevelBase(),
  9911. z: this.getZBase(),
  9912. style: {
  9913. x: "horizontal" == this.dataRangeOption.orient ? e : this._itemGroupLocation.x + this._itemGroupLocation.width / 2,
  9914. y: "horizontal" == this.dataRangeOption.orient ? this._itemGroupLocation.y + this._itemGroupLocation.height / 2 : t,
  9915. color: this.dataRangeOption.textStyle.color,
  9916. text: i,
  9917. textFont: this.getFont(this.dataRangeOption.textStyle),
  9918. textBaseline: "horizontal" == this.dataRangeOption.orient ? "middle" : "top",
  9919. textAlign: "horizontal" == this.dataRangeOption.orient ? "left" : "center"
  9920. },
  9921. hoverable: !1
  9922. }
  9923. }, _getItemShape: function (e, t, i, n, a) {
  9924. return {
  9925. zlevel: this.getZlevelBase(),
  9926. z: this.getZBase(),
  9927. style: {x: e, y: t + 1, width: i, height: n - 2, color: a},
  9928. highlightStyle: {strokeColor: a, lineWidth: 1}
  9929. }
  9930. }, __ondrift: function (e, t, i) {
  9931. var n = this._calculableLocation.x, a = this._calculableLocation.y, o = this._calculableLocation.width,
  9932. r = this._calculableLocation.height;
  9933. 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
  9934. }, __ondragend: function () {
  9935. this.isDragend = !0
  9936. }, ondragend: function (e, t) {
  9937. this.isDragend && e.target && (t.dragOut = !0, t.dragIn = !0, this.dataRangeOption.realtime || this._dispatchDataRange(), t.needRefresh = !1, this.isDragend = !1)
  9938. }, _syncShapeFromRange: function () {
  9939. var e = this.dataRangeOption.range || {}, t = e.start, i = e.end;
  9940. 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) {
  9941. if ("horizontal" == this.dataRangeOption.orient) {
  9942. var n = this._fillerShape.style.width;
  9943. this._fillerShape.style.x += n * (100 - this._range.start) / 100, this._fillerShape.style.width = n * (this._range.start - this._range.end) / 100
  9944. } else {
  9945. var a = this._fillerShape.style.height;
  9946. this._fillerShape.style.y += a * (100 - this._range.start) / 100, this._fillerShape.style.height = a * (this._range.start - this._range.end) / 100
  9947. }
  9948. this.zr.modShape(this._fillerShape.id), this._syncHandleShape()
  9949. }
  9950. }, _syncHandleShape: function () {
  9951. var e = this._calculableLocation.x, t = this._calculableLocation.y, i = this._calculableLocation.width,
  9952. n = this._calculableLocation.height;
  9953. "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()
  9954. }, _syncFillerShape: function (e) {
  9955. var t, i, n = this._calculableLocation.x, a = this._calculableLocation.y,
  9956. o = this._calculableLocation.width, r = this._calculableLocation.height;
  9957. "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()
  9958. }, _syncShape: function () {
  9959. 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()
  9960. }, _dispatchDataRange: function () {
  9961. this.messageCenter.dispatch(r.EVENT.DATA_RANGE, null, {
  9962. range: {
  9963. start: this._range.end,
  9964. end: this._range.start
  9965. }
  9966. }, this.myChart)
  9967. }, __dataRangeSelected: function (e) {
  9968. if ("single" === this.dataRangeOption.selectedMode) for (var t in this._selectedMap) this._selectedMap[t] = !1;
  9969. var i = e.target._idx;
  9970. this._selectedMap[i] = !this._selectedMap[i];
  9971. var n, a;
  9972. 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, {
  9973. selected: this._selectedMap,
  9974. target: i,
  9975. valueMax: n,
  9976. valueMin: a
  9977. }, this.myChart), this.messageCenter.dispatch(r.EVENT.REFRESH, null, null, this.myChart)
  9978. }, __dispatchHoverLink: function (e) {
  9979. var t, i;
  9980. if (this.dataRangeOption.calculable) {
  9981. var n, a = this.dataRangeOption.max - this.dataRangeOption.min;
  9982. 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
  9983. } else if (this._useCustomizedSplit()) {
  9984. var o = e.target._idx;
  9985. i = this._splitList[o].max, t = this._splitList[o].min
  9986. } else {
  9987. var o = e.target._idx;
  9988. i = (this._colorList.length - o) * this._gap + this.dataRangeOption.min, t = i - this._gap
  9989. }
  9990. this.messageCenter.dispatch(r.EVENT.DATA_RANGE_HOVERLINK, e.event, {
  9991. valueMin: t,
  9992. valueMax: i
  9993. }, this.myChart)
  9994. }, __onhoverlink: function (e) {
  9995. if (this.dataRangeOption.show && this.dataRangeOption.hoverLink && this._indicatorShape && e && null != e.seriesIndex && null != e.dataIndex) {
  9996. var t = e.value;
  9997. if ("" === t || isNaN(t)) return;
  9998. 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)
  9999. }
  10000. }, _textFormat: function (e, t) {
  10001. var i = this.dataRangeOption;
  10002. if (e !== -Number.MAX_VALUE && (e = (+e).toFixed(i.precision)), null != t && t !== Number.MAX_VALUE && (t = (+t).toFixed(i.precision)), i.formatter) {
  10003. if ("string" == typeof i.formatter) return i.formatter.replace("{value}", e === -Number.MAX_VALUE ? "min" : e).replace("{value2}", t === Number.MAX_VALUE ? "max" : t);
  10004. if ("function" == typeof i.formatter) return i.formatter.call(this.myChart, e, t)
  10005. }
  10006. return null == t ? e : e === -Number.MAX_VALUE ? "< " + t : t === Number.MAX_VALUE ? "> " + e : e + " - " + t
  10007. }, _isContinuity: function () {
  10008. var e = this.dataRangeOption;
  10009. return !(e.splitList ? e.splitList.length > 0 : e.splitNumber > 0) || e.calculable
  10010. }, _useCustomizedSplit: function () {
  10011. var e = this.dataRangeOption;
  10012. return e.splitList && e.splitList.length > 0
  10013. }, _buildColorList: function (e) {
  10014. 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) {
  10015. 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)]);
  10016. i.push(this._colorList[t - 1]), this._colorList = i
  10017. }
  10018. if (this._useCustomizedSplit()) for (var o = this._splitList, a = 0, t = o.length; t > a; a++) o[a].color && (this._colorList[a] = o[a].color)
  10019. }, _buildGap: function (e) {
  10020. if (!this._useCustomizedSplit()) {
  10021. var t = this.dataRangeOption.precision;
  10022. for (this._gap = (this.dataRangeOption.max - this.dataRangeOption.min) / e; this._gap.toFixed(t) - 0 != this._gap && 5 > t;) t++;
  10023. this.dataRangeOption.precision = t, this._gap = ((this.dataRangeOption.max - this.dataRangeOption.min) / e).toFixed(t) - 0
  10024. }
  10025. }, _buildDataList: function (e) {
  10026. for (var t = this._valueTextList = [], i = this.dataRangeOption, n = this._useCustomizedSplit(), a = 0; e > a; a++) {
  10027. this._selectedMap[a] = !0;
  10028. var o = "";
  10029. if (n) {
  10030. var r = this._splitList[e - 1 - a];
  10031. o = null != r.label ? r.label : null != r.single ? this._textFormat(r.single) : this._textFormat(r.min, r.max)
  10032. } else o = this._textFormat(a * this._gap + i.min, (a + 1) * this._gap + i.min);
  10033. t.unshift(o)
  10034. }
  10035. }, _buildSplitList: function () {
  10036. if (this._useCustomizedSplit()) for (var e = this.dataRangeOption.splitList, t = this._splitList = [], i = 0, n = e.length; n > i; i++) {
  10037. var a = e[i];
  10038. if (!a || null == a.start && null == a.end) throw new Error("Empty item exists in splitList!");
  10039. var o = {label: a.label, color: a.color};
  10040. 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)
  10041. }
  10042. }, refresh: function (e) {
  10043. if (e) {
  10044. this.option = e, this.option.dataRange = this.reformOption(this.option.dataRange);
  10045. var t = this.dataRangeOption = this.option.dataRange;
  10046. if (!this._useCustomizedSplit() && (null == t.min || null == t.max)) throw new Error("option.dataRange.min or option.dataRange.max has not been defined.");
  10047. this.myChart.canvasSupported || (t.realtime = !1);
  10048. var i = this._isContinuity() ? 100 : this._useCustomizedSplit() ? t.splitList.length : t.splitNumber;
  10049. this._buildSplitList(), this._buildColorList(i), this._buildGap(i), this._buildDataList(i)
  10050. }
  10051. this.clear(), this._buildShape()
  10052. }, getColor: function (e) {
  10053. if (isNaN(e)) return null;
  10054. var t;
  10055. if (this._useCustomizedSplit()) {
  10056. for (var i = this._splitList, n = 0, a = i.length; a > n; n++) if (i[n].min <= e && i[n].max >= e) {
  10057. t = n;
  10058. break
  10059. }
  10060. } else {
  10061. if (this.dataRangeOption.min == this.dataRangeOption.max) return this._colorList[0];
  10062. 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;
  10063. t = this._colorList.length - Math.ceil((e - this.dataRangeOption.min) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._colorList.length), t == this._colorList.length && t--
  10064. }
  10065. return this._selectedMap[t] ? this._colorList[t] : null
  10066. }, getColorByIndex: function (e) {
  10067. return e >= this._colorList.length ? e = this._colorList.length - 1 : 0 > e && (e = 0), this._colorList[e]
  10068. }, onbeforDispose: function () {
  10069. this.messageCenter.unbind(r.EVENT.HOVER, this._onhoverlink)
  10070. }
  10071. }, s.inherits(t, i), e("../component").define("dataRange", t), t
  10072. }), i("echarts/util/shape/HandlePolygon", ["require", "zrender/shape/Base", "zrender/shape/Polygon", "zrender/tool/util"], function (e) {
  10073. function t(e) {
  10074. i.call(this, e)
  10075. }
  10076. var i = e("zrender/shape/Base"), n = e("zrender/shape/Polygon"), a = e("zrender/tool/util");
  10077. return t.prototype = {
  10078. type: "handle-polygon", buildPath: function (e, t) {
  10079. n.prototype.buildPath(e, t)
  10080. }, isCover: function (e, t) {
  10081. var i = this.transformCoordToLocal(e, t);
  10082. e = i[0], t = i[1];
  10083. var n = this.style.rect;
  10084. return e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height ? !0 : !1
  10085. }
  10086. }, a.inherits(t, i), t
  10087. }), i("echarts/chart/k", ["require", "./base", "../util/shape/Candle", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function (e) {
  10088. function t(e, t, n, a, o) {
  10089. i.call(this, e, t, n, a, o), this.refresh(a)
  10090. }
  10091. var i = e("./base"), n = e("../util/shape/Candle");
  10092. e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
  10093. var a = e("../config");
  10094. a.k = {
  10095. zlevel: 0,
  10096. z: 2,
  10097. clickable: !0,
  10098. hoverable: !0,
  10099. legendHoverLink: !1,
  10100. xAxisIndex: 0,
  10101. yAxisIndex: 0,
  10102. itemStyle: {
  10103. normal: {
  10104. color: "#fff",
  10105. color0: "#00aa11",
  10106. lineStyle: {width: 1, color: "#ff3200", color0: "#00aa11"},
  10107. label: {show: !1}
  10108. }, emphasis: {label: {show: !1}}
  10109. }
  10110. };
  10111. var o = e("../util/ecData"), r = e("zrender/tool/util");
  10112. return t.prototype = {
  10113. type: a.CHART_TYPE_K, _buildShape: function () {
  10114. var e = this.series;
  10115. this.selectedMap = {};
  10116. for (var t, i = {
  10117. top: [],
  10118. bottom: []
  10119. }, 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));
  10120. for (var r in i) i[r].length > 0 && this._buildSinglePosition(r, i[r]);
  10121. this.addShapeList()
  10122. }, _buildSinglePosition: function (e, t) {
  10123. var i = this._mapData(t), n = i.locationMap, a = i.maxDataLength;
  10124. if (0 !== a && 0 !== n.length) {
  10125. this._buildHorizontal(t, a, n);
  10126. for (var o = 0, r = t.length; r > o; o++) this.buildMark(t[o])
  10127. }
  10128. }, _mapData: function (e) {
  10129. 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);
  10130. return {locationMap: o, maxDataLength: r}
  10131. }, _buildHorizontal: function (e, t, i) {
  10132. for (var n, a, o, r, s, l, h, m, V, U, d = this.series, p = {}, c = 0, u = i.length; u > c; c++) {
  10133. 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] = [];
  10134. 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)])
  10135. }
  10136. this._buildKLine(e, p)
  10137. }, _buildKLine: function (e, t) {
  10138. 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++) 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) {
  10139. 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");
  10140. 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))
  10141. }
  10142. }, _isLarge: function (e) {
  10143. return e[0][1] < .5
  10144. }, _getLargePointList: function (e) {
  10145. for (var t = this.component.grid.getWidth(), i = e.length, n = [], a = 0; t > a; a++) n[a] = e[Math.floor(i / t * a)];
  10146. return n
  10147. }, _getCandle: function (e, t, i, a, r, s, l, h, m, V, U, d, p, c, u) {
  10148. var y = this.series, g = y[e], b = g.data[t], f = [b, g], k = {
  10149. zlevel: g.zlevel,
  10150. z: g.z,
  10151. clickable: this.deepQuery(f, "clickable"),
  10152. hoverable: this.deepQuery(f, "hoverable"),
  10153. style: {x: a, y: [s, l, h, m], width: r, color: V, strokeColor: d, lineWidth: U, brushType: "both"},
  10154. highlightStyle: {color: p, strokeColor: u, lineWidth: c},
  10155. _seriesIndex: e
  10156. };
  10157. return k = this.addLabel(k, g, b, i), o.pack(k, g, e, b, t, i), k = new n(k)
  10158. }, getMarkCoord: function (e, t) {
  10159. var i = this.series[e], n = this.component.xAxis.getAxis(i.xAxisIndex),
  10160. a = this.component.yAxis.getAxis(i.yAxisIndex);
  10161. 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)]
  10162. }, refresh: function (e) {
  10163. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  10164. }, addDataAnimation: function (e, t) {
  10165. function i() {
  10166. p--, 0 === p && t && t()
  10167. }
  10168. for (var n = this.series, a = {}, r = 0, s = e.length; s > r; r++) a[e[r][0]] = e[r];
  10169. for (var l, h, m, V, U, d, p = 0, r = 0, s = this.shapeList.length; s > r; r++) if (U = this.shapeList[r]._seriesIndex, a[U] && !a[U][3] && "candle" === this.shapeList[r].type) {
  10170. if (d = o.get(this.shapeList[r], "dataIndex"), V = n[U], a[U][2] && d === V.data.length - 1) {
  10171. this.zr.delShape(this.shapeList[r].id);
  10172. continue
  10173. }
  10174. if (!a[U][2] && 0 === d) {
  10175. this.zr.delShape(this.shapeList[r].id);
  10176. continue
  10177. }
  10178. 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"), {position: [l, m]}).done(i).start()
  10179. }
  10180. p || t && t()
  10181. }
  10182. }, r.inherits(t, i), e("../chart").define("k", t), t
  10183. }), 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) {
  10184. function t(e, t, n, a, o) {
  10185. i.call(this, e, t, n, a, o);
  10186. var r = this;
  10187. r.shapeHandler.onmouseover = function (e) {
  10188. var t = e.target, i = h.get(t, "seriesIndex"), n = h.get(t, "dataIndex"), a = h.get(t, "special"),
  10189. o = [t.style.x, t.style.y], s = t.style.startAngle, l = t.style.endAngle,
  10190. m = ((l + s) / 2 + 360) % 360, V = t.highlightStyle.color, U = r.getLabel(i, n, a, o, m, V, !0);
  10191. U && r.zr.addHoverShape(U);
  10192. var d = r.getLabelLine(i, n, o, t.style.r0, t.style.r, m, V, !0);
  10193. d && r.zr.addHoverShape(d)
  10194. }, this.refresh(a)
  10195. }
  10196. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Ring"), o = e("zrender/shape/Circle"),
  10197. r = e("zrender/shape/Sector"), s = e("zrender/shape/Polyline"), l = e("../config");
  10198. l.pie = {
  10199. zlevel: 0,
  10200. z: 2,
  10201. clickable: !0,
  10202. legendHoverLink: !0,
  10203. center: ["50%", "50%"],
  10204. radius: [0, "75%"],
  10205. clockWise: !0,
  10206. startAngle: 90,
  10207. minAngle: 0,
  10208. selectedOffset: 10,
  10209. itemStyle: {
  10210. normal: {
  10211. borderColor: "rgba(0,0,0,0)",
  10212. borderWidth: 1,
  10213. label: {show: !0, position: "outer"},
  10214. labelLine: {show: !0, length: 20, lineStyle: {width: 1, type: "solid"}}
  10215. },
  10216. emphasis: {
  10217. borderColor: "rgba(0,0,0,0)",
  10218. borderWidth: 1,
  10219. label: {show: !1},
  10220. labelLine: {show: !1, length: 20, lineStyle: {width: 1, type: "solid"}}
  10221. }
  10222. }
  10223. };
  10224. var h = e("../util/ecData"), m = e("zrender/tool/util"), V = e("zrender/tool/math"),
  10225. U = e("zrender/tool/color");
  10226. return t.prototype = {
  10227. type: l.CHART_TYPE_PIE, _buildShape: function () {
  10228. var e = this.series, t = this.component.legend;
  10229. this.selectedMap = {}, this._selected = {};
  10230. var i, n, r;
  10231. this._selectedMode = !1;
  10232. for (var s, m = 0, V = e.length; V > m; m++) if (e[m].type === l.CHART_TYPE_PIE) {
  10233. 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;
  10234. 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 = {
  10235. zlevel: e[m].zlevel,
  10236. z: e[m].z,
  10237. hoverable: !1,
  10238. style: {
  10239. x: i[0],
  10240. y: i[1],
  10241. r0: n[0] <= 10 ? 0 : n[0] - 10,
  10242. r: n[1] + 10,
  10243. brushType: "stroke",
  10244. lineWidth: 1,
  10245. strokeColor: e[m].calculableHolderColor || this.ecTheme.calculableHolderColor || l.calculableHolderColor
  10246. }
  10247. }, 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)
  10248. }
  10249. this.addShapeList()
  10250. }, _buildSinglePie: function (e) {
  10251. 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,
  10252. 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));
  10253. if (0 !== l) {
  10254. 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++) if (t = a[V].name, this.selectedMap[t] && !isNaN(a[V].value)) {
  10255. 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) {
  10256. var W;
  10257. W = k, k = d, d = W
  10258. }
  10259. this._buildItem(m, e, V, b, a[V].selected, c, y, g, k, d, p), f || (k = d)
  10260. }
  10261. this._autoLabelLayout(m, c, g);
  10262. for (var V = 0, U = m.length; U > V; V++) this.shapeList.push(m[V]);
  10263. m = null
  10264. }
  10265. }, _buildItem: function (e, t, i, n, a, o, r, s, l, m, V) {
  10266. var U = this.series, d = ((m + l) / 2 + 360) % 360, p = this.getSector(t, i, n, a, o, r, s, l, m, V);
  10267. h.pack(p, U[t], t, U[t].data[i], i, U[t].data[i].name, n), e.push(p);
  10268. var c = this.getLabel(t, i, n, o, d, V, !1), u = this.getLabelLine(t, i, o, r, s, d, V, !1);
  10269. 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))
  10270. }, getSector: function (e, t, i, n, a, o, s, l, h, m) {
  10271. var d = this.series, p = d[e], c = p.data[t], u = [c, p],
  10272. y = this.deepMerge(u, "itemStyle.normal") || {}, g = this.deepMerge(u, "itemStyle.emphasis") || {},
  10273. b = this.getItemStyleColor(y.color, e, t, c) || m,
  10274. f = this.getItemStyleColor(g.color, e, t, c) || ("string" == typeof b ? U.lift(b, -.2) : b), k = {
  10275. zlevel: p.zlevel,
  10276. z: p.z,
  10277. clickable: this.deepQuery(u, "clickable"),
  10278. style: {
  10279. x: a[0],
  10280. y: a[1],
  10281. r0: o,
  10282. r: s,
  10283. startAngle: l,
  10284. endAngle: h,
  10285. brushType: "both",
  10286. color: b,
  10287. lineWidth: y.borderWidth,
  10288. strokeColor: y.borderColor,
  10289. lineJoin: "round"
  10290. },
  10291. highlightStyle: {color: f, lineWidth: g.borderWidth, strokeColor: g.borderColor, lineJoin: "round"},
  10292. _seriesIndex: e,
  10293. _dataIndex: t
  10294. };
  10295. if (n) {
  10296. var x = ((k.style.startAngle + k.style.endAngle) / 2).toFixed(2) - 0;
  10297. k.style._hasSelected = !0, k.style._x = k.style.x, k.style._y = k.style.y;
  10298. var _ = this.query(p, "selectedOffset");
  10299. k.style.x += V.cos(x, !0) * _, k.style.y -= V.sin(x, !0) * _, this._selected[e][t] = !0
  10300. } else this._selected[e][t] = !1;
  10301. 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)
  10302. }, getLabel: function (e, t, i, a, o, r, s) {
  10303. var l = this.series, h = l[e], U = h.data[t];
  10304. if (this._needLabel(h, U, s)) {
  10305. var d, p, c, u = s ? "emphasis" : "normal", y = m.merge(m.clone(U.itemStyle) || {}, h.itemStyle),
  10306. g = y[u].label, b = g.textStyle || {}, f = a[0], k = a[1],
  10307. x = this.parseRadius(this.zr, h.radius), _ = "middle";
  10308. 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;
  10309. var L = new n({
  10310. zlevel: h.zlevel,
  10311. z: h.z + 1,
  10312. hoverable: !1,
  10313. style: {
  10314. x: d,
  10315. y: p,
  10316. color: b.color || r,
  10317. text: this.getLabelText(e, t, i, u),
  10318. textAlign: b.align || c,
  10319. textBaseline: b.baseline || _,
  10320. textFont: this.getFont(b)
  10321. },
  10322. highlightStyle: {brushType: "fill"}
  10323. });
  10324. return L._radius = x, L._labelPosition = g.position || "outer", L._rect = L.getRect(L.style), L._seriesIndex = e, L._dataIndex = t, L
  10325. }
  10326. }, getLabelText: function (e, t, i, n) {
  10327. var a = this.series, o = a[e], r = o.data[t],
  10328. s = this.deepQuery([r, o], "itemStyle." + n + ".label.formatter");
  10329. return s ? "function" == typeof s ? s.call(this.myChart, {
  10330. seriesIndex: e,
  10331. seriesName: o.name || "",
  10332. series: o,
  10333. dataIndex: t,
  10334. data: r,
  10335. name: r.name,
  10336. value: r.value,
  10337. percent: i
  10338. }) : "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
  10339. }, getLabelLine: function (e, t, i, n, a, o, r, l) {
  10340. var h = this.series, U = h[e], d = U.data[t];
  10341. if (this._needLabelLine(U, d, l)) {
  10342. var p = l ? "emphasis" : "normal", c = m.merge(m.clone(d.itemStyle) || {}, U.itemStyle),
  10343. u = c[p].labelLine, y = u.lineStyle || {}, g = i[0], b = i[1], f = a,
  10344. k = this.parseRadius(this.zr, U.radius)[1] - -u.length, x = V.cos(o, !0), _ = V.sin(o, !0);
  10345. return new s({
  10346. zlevel: U.zlevel,
  10347. z: U.z + 1,
  10348. hoverable: !1,
  10349. style: {
  10350. pointList: [[g + f * x, b - f * _], [g + k * x, b - k * _], [d.__labelX, d.__labelY]],
  10351. strokeColor: y.color || r,
  10352. lineType: y.type,
  10353. lineWidth: y.width
  10354. },
  10355. _seriesIndex: e,
  10356. _dataIndex: t
  10357. })
  10358. }
  10359. }, _needLabel: function (e, t, i) {
  10360. return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".label.show")
  10361. }, _needLabelLine: function (e, t, i) {
  10362. return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".labelLine.show")
  10363. }, _autoLabelLayout: function (e, t, i) {
  10364. 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]));
  10365. this._layoutCalculate(n, t, i, -1), this._layoutCalculate(a, t, i, 1)
  10366. }, _layoutCalculate: function (e, t, i, n) {
  10367. function a(t, i, n) {
  10368. for (var a = t; i > a; a++) 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);
  10369. o(i - 1, n / 2)
  10370. }
  10371. function o(t, i) {
  10372. 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--) ;
  10373. }
  10374. function r(e, t, i, n, a) {
  10375. 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
  10376. }
  10377. e.sort(function (e, t) {
  10378. return e._rect.y - t._rect.y
  10379. });
  10380. 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;
  10381. this.zr.getHeight() - l < 0 && o(h - 1, l - this.zr.getHeight());
  10382. for (var U = 0; h > U; U++) e[U]._rect.y >= t[1] ? V.push(e[U]) : m.push(e[U]);
  10383. r(V, !0, t, i, n), r(m, !1, t, i, n)
  10384. }, reformOption: function (e) {
  10385. var t = m.merge;
  10386. 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
  10387. }, refresh: function (e) {
  10388. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  10389. }, addDataAnimation: function (e, t) {
  10390. function i() {
  10391. s--, 0 === s && t && t()
  10392. }
  10393. for (var n = this.series, a = {}, o = 0, r = e.length; r > o; o++) a[e[o][0]] = e[o];
  10394. var s = 0, h = {}, m = {}, V = {}, U = this.shapeList;
  10395. this.shapeList = [];
  10396. 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));
  10397. 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) {
  10398. case"sector":
  10399. h[g] = this.shapeList[o];
  10400. break;
  10401. case"text":
  10402. m[g] = this.shapeList[o];
  10403. break;
  10404. case"polyline":
  10405. V[g] = this.shapeList[o]
  10406. }
  10407. this.shapeList = [];
  10408. for (var b, o = 0, r = U.length; r > o; o++) if (d = U[o]._seriesIndex, a[d]) {
  10409. if (y = U[o]._dataIndex + u[d], g = d + "_" + y, b = h[g], !b) continue;
  10410. if ("sector" === U[o].type) "delete" != b ? (s++, this.zr.animate(U[o].id, "style").when(400, {
  10411. startAngle: b.style.startAngle,
  10412. endAngle: b.style.endAngle
  10413. }).done(i).start()) : (s++, this.zr.animate(U[o].id, "style").when(400, u[d] < 0 ? {startAngle: U[o].style.startAngle} : {endAngle: U[o].style.endAngle}).done(i).start()); else if ("text" === U[o].type || "polyline" === U[o].type) if ("delete" === b) this.zr.delShape(U[o].id); else switch (U[o].type) {
  10414. case"text":
  10415. s++, b = m[g], this.zr.animate(U[o].id, "style").when(400, {
  10416. x: b.style.x,
  10417. y: b.style.y
  10418. }).done(i).start();
  10419. break;
  10420. case"polyline":
  10421. s++, b = V[g], this.zr.animate(U[o].id, "style").when(400, {pointList: b.style.pointList}).done(i).start()
  10422. }
  10423. }
  10424. this.shapeList = U, s || t && t()
  10425. }, onclick: function (e) {
  10426. var t = this.series;
  10427. if (this.isClick && e.target) {
  10428. this.isClick = !1;
  10429. 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++) if (this.shapeList[s].id === n.id) {
  10430. 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; else {
  10431. var U = ((a.startAngle + a.endAngle) / 2).toFixed(2) - 0;
  10432. 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
  10433. }
  10434. this.zr.modShape(n.id)
  10435. } 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));
  10436. this.messageCenter.dispatch(l.EVENT.PIE_SELECTED, e.event, {
  10437. selected: this._selected,
  10438. target: h.get(n, "name")
  10439. }, this.myChart), this.zr.refreshNextFrame()
  10440. }
  10441. }
  10442. }, m.inherits(t, i), e("../chart").define("pie", t), t
  10443. }),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) {
  10444. function t(e, t, n, a, o) {
  10445. i.call(this, e, t, n, a, o), this.refresh(a)
  10446. }
  10447. var i = e("./base"), n = e("zrender/shape/Polygon");
  10448. e("../component/polar");
  10449. var a = e("../config");
  10450. a.radar = {
  10451. zlevel: 0,
  10452. z: 2,
  10453. clickable: !0,
  10454. legendHoverLink: !0,
  10455. polarIndex: 0,
  10456. itemStyle: {
  10457. normal: {label: {show: !1}, lineStyle: {width: 2, type: "solid"}},
  10458. emphasis: {label: {show: !1}}
  10459. },
  10460. symbolSize: 2
  10461. };
  10462. var o = e("../util/ecData"), r = e("zrender/tool/util"), s = e("zrender/tool/color");
  10463. return t.prototype = {
  10464. type: a.CHART_TYPE_RADAR, _buildShape: function () {
  10465. this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._radarDataCounter = 0;
  10466. 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)));
  10467. this.addShapeList()
  10468. }, _buildSingleRadar: function (e) {
  10469. 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++)
  10470. }, _getPointList: function (e, t) {
  10471. 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);
  10472. return a
  10473. }, _addSymbol: function (e, t, i, n, a) {
  10474. 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)
  10475. }, _addDataShape: function (e, t, i, a, r, l) {
  10476. var h = this.series, m = [i, this.serie],
  10477. V = this.getItemStyleColor(this.deepQuery(m, "itemStyle.normal.color"), a, r, i),
  10478. U = this.deepQuery(m, "itemStyle.normal.lineStyle.width"),
  10479. d = this.deepQuery(m, "itemStyle.normal.lineStyle.type"),
  10480. p = this.deepQuery(m, "itemStyle.normal.areaStyle.color"),
  10481. c = this.deepQuery(m, "itemStyle.normal.areaStyle"), u = {
  10482. zlevel: this.getZlevelBase(),
  10483. z: this.getZBase(),
  10484. style: {
  10485. pointList: e,
  10486. brushType: c ? "both" : "stroke",
  10487. color: p || V || ("string" == typeof t ? s.alpha(t, .5) : t),
  10488. strokeColor: V || t,
  10489. lineWidth: U,
  10490. lineType: d
  10491. },
  10492. highlightStyle: {
  10493. brushType: this.deepQuery(m, "itemStyle.emphasis.areaStyle") || c ? "both" : "stroke",
  10494. color: this.deepQuery(m, "itemStyle.emphasis.areaStyle.color") || p || V || ("string" == typeof t ? s.alpha(t, .5) : t),
  10495. strokeColor: this.getItemStyleColor(this.deepQuery(m, "itemStyle.emphasis.color"), a, r, i) || V || t,
  10496. lineWidth: this.deepQuery(m, "itemStyle.emphasis.lineStyle.width") || U,
  10497. lineType: this.deepQuery(m, "itemStyle.emphasis.lineStyle.type") || d
  10498. }
  10499. };
  10500. 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)
  10501. }, _addDropBox: function (e) {
  10502. var t = this.series, i = this.deepQuery(this._queryTarget, "polarIndex");
  10503. if (!this._dropBoxList[i]) {
  10504. var n = this.component.polar.getDropBox(i);
  10505. 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
  10506. }
  10507. }, ondragend: function (e, t) {
  10508. var i = this.series;
  10509. if (this.isDragend && e.target) {
  10510. var n = e.target, a = o.get(n, "seriesIndex"), r = o.get(n, "dataIndex");
  10511. 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
  10512. }
  10513. }, ondrop: function (t, i) {
  10514. var n = this.series;
  10515. if (this.isDrop && t.target) {
  10516. var a, r, s = t.target, l = t.dragged, h = o.get(s, "seriesIndex"), m = o.get(s, "dataIndex"),
  10517. V = this.component.legend;
  10518. if (-1 === m) a = {
  10519. value: o.get(l, "value"),
  10520. name: o.get(l, "name")
  10521. }, n[h].data.push(a), V && V.add(a.name, l.style.color || l.style.strokeColor); else {
  10522. var U = e("../util/accMath");
  10523. a = n[h].data[m], V && V.del(a.name), a.name += this.option.nameConnector + o.get(l, "name"), r = o.get(l, "value");
  10524. for (var d = 0; d < r.length; d++) a.value[d] = U.accAdd(a.value[d], r[d]);
  10525. V && V.add(a.name, l.style.color || l.style.strokeColor)
  10526. }
  10527. i.dragIn = i.dragIn || !0, this.isDrop = !1
  10528. }
  10529. }, refresh: function (e) {
  10530. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  10531. }
  10532. }, r.inherits(t, i), e("../chart").define("radar", t), t
  10533. }),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) {
  10534. function t(e, t, n, a, o) {
  10535. i.call(this, e, t, n, a, o), this.refresh(a)
  10536. }
  10537. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Polygon"),
  10538. r = e("zrender/shape/Circle"), s = e("zrender/shape/Ring"), l = e("../config");
  10539. l.polar = {
  10540. zlevel: 0,
  10541. z: 0,
  10542. center: ["50%", "50%"],
  10543. radius: "75%",
  10544. startAngle: 90,
  10545. boundaryGap: [0, 0],
  10546. splitNumber: 5,
  10547. name: {show: !0, textStyle: {color: "#333"}},
  10548. axisLine: {show: !0, lineStyle: {color: "#ccc", width: 1, type: "solid"}},
  10549. axisLabel: {show: !1, textStyle: {color: "#333"}},
  10550. splitArea: {show: !0, areaStyle: {color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]}},
  10551. splitLine: {show: !0, lineStyle: {width: 1, color: "#ccc"}},
  10552. type: "polygon"
  10553. };
  10554. var h = e("zrender/tool/util"), m = e("../util/coordinates");
  10555. return t.prototype = {
  10556. type: l.COMPONENT_TYPE_POLAR, _buildShape: function () {
  10557. 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);
  10558. for (var e = 0; e < this.shapeList.length; e++) this.zr.addShape(this.shapeList[e])
  10559. }, _createVector: function (e) {
  10560. 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({vector: [t[1], -t[0]]})
  10561. }, _getRadius: function () {
  10562. var e = this.polar[this._index];
  10563. return this.parsePercent(e.radius, Math.min(this.zr.getWidth(), this.zr.getHeight()) / 2)
  10564. }, _buildSpiderWeb: function (e) {
  10565. var t = this.polar[e], i = t.__ecIndicator, n = t.splitArea, a = t.splitLine, o = this.getCenter(e),
  10566. r = t.splitNumber, s = a.lineStyle.color, l = a.lineStyle.width, h = a.show,
  10567. m = this.deepQuery(this._queryTarget, "axisLine");
  10568. this._addArea(i, r, o, n, s, l, h), m.show && this._addLine(i, o, m)
  10569. }, _addAxisLabel: function (t) {
  10570. 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++) if (i = this.deepQuery([c[b], p, this.option], "axisLabel"), i.show) {
  10571. var f = this.deepQuery([i, p, this.option], "textStyle"), k = this.deepQuery([i, p], "formatter");
  10572. 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;
  10573. 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({
  10574. zlevel: this.getZlevelBase(),
  10575. z: this.getZBase(),
  10576. style: r,
  10577. draggable: !1,
  10578. hoverable: !1
  10579. }))
  10580. }
  10581. }, _buildText: function (e) {
  10582. 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({
  10583. zlevel: this.getZlevelBase(),
  10584. z: this.getZBase(),
  10585. style: i,
  10586. draggable: !1,
  10587. hoverable: !1,
  10588. rotation: r
  10589. })))
  10590. }, getIndicatorText: function (e, t) {
  10591. return this.polar[e] && this.polar[e].__ecIndicator[t] && this.polar[e].__ecIndicator[t].text
  10592. }, getDropBox: function (e) {
  10593. var t, i, e = e || 0, n = this.polar[e], a = this.getCenter(e), o = n.__ecIndicator, r = o.length,
  10594. s = [], l = n.type;
  10595. if ("polygon" == l) {
  10596. for (var h = 0; r > h; h++) t = o[h].vector, s.push(this._mapVector(t, a, 1.2));
  10597. i = this._getShape(s, "fill", "rgba(0,0,0,0)", "", 1)
  10598. } else "circle" == l && (i = this._getCircle("", 1, 1.2, a, "fill", "rgba(0,0,0,0)"));
  10599. return i
  10600. }, _addArea: function (e, t, i, n, a, o, r) {
  10601. 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))
  10602. }, _getCircle: function (e, t, i, n, a, o) {
  10603. var s = this._getRadius();
  10604. return new r({
  10605. zlevel: this.getZlevelBase(),
  10606. z: this.getZBase(),
  10607. style: {x: n[0], y: n[1], r: s * i, brushType: a, strokeColor: e, lineWidth: t, color: o},
  10608. hoverable: !1,
  10609. draggable: !1
  10610. })
  10611. }, _getRing: function (e, t, i, n) {
  10612. var a = this._getRadius();
  10613. return new s({
  10614. zlevel: this.getZlevelBase(),
  10615. z: this.getZBase(),
  10616. style: {x: n[0], y: n[1], r: t * a, r0: i * a, color: e, brushType: "fill"},
  10617. hoverable: !1,
  10618. draggable: !1
  10619. })
  10620. }, _getPointList: function (e, t, i) {
  10621. for (var n, a = [], o = e.length, r = 0; o > r; r++) n = e[r].vector, a.push(this._mapVector(n, i, t));
  10622. return a
  10623. }, _getShape: function (e, t, i, n, a) {
  10624. return new o({
  10625. zlevel: this.getZlevelBase(),
  10626. z: this.getZBase(),
  10627. style: {pointList: e, brushType: t, color: i, strokeColor: n, lineWidth: a},
  10628. hoverable: !1,
  10629. draggable: !1
  10630. })
  10631. }, _addSplitArea: function (e, t, i, n, a, o) {
  10632. var r, s, l, h, m, V = e.length, U = t.areaStyle.color, d = [], V = e.length,
  10633. p = this.deepQuery(this._queryTarget, "type");
  10634. if ("string" == typeof U && (U = [U]), s = U.length, r = U[o % s], "polygon" == p) 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); else "circle" == p && (m = this._getRing(r, i, n, a), this.shapeList.push(m))
  10635. }, _mapVector: function (e, t, i) {
  10636. return [e[0] * i + t[0], e[1] * i + t[1]]
  10637. }, getCenter: function (e) {
  10638. var e = e || 0;
  10639. return this.parseCenter(this.zr, this.polar[e].center)
  10640. }, _addLine: function (e, t, i) {
  10641. 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)
  10642. }, _getLine: function (e, t, i, n, o, r, s) {
  10643. return new a({
  10644. zlevel: this.getZlevelBase(),
  10645. z: this.getZBase(),
  10646. style: {xStart: e, yStart: t, xEnd: i, yEnd: n, strokeColor: o, lineWidth: r, lineType: s},
  10647. hoverable: !1
  10648. })
  10649. }, _adjustIndicatorValue: function (t) {
  10650. 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++) {
  10651. if ("number" == typeof r[p].max) i = r[p].max, n = r[p].min || 0, a = {max: i, min: n}; else {
  10652. var c = this._findValue(h, p, V, m);
  10653. n = c.min, i = c.max
  10654. }
  10655. !U && n >= 0 && i >= 0 && (n = 0), !U && 0 >= n && 0 >= i && (i = 0);
  10656. var u = d(n, i, V, a);
  10657. l[p].value = {min: u.min, max: u.max, step: u.step}
  10658. }
  10659. }, _getSeriesData: function (e) {
  10660. for (var t, i, n, a = [], o = this.component.legend, r = 0; r < this.series.length; r++) if (t = this.series[r], t.type == l.CHART_TYPE_RADAR) {
  10661. i = t.data || [];
  10662. 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])
  10663. }
  10664. return a
  10665. }, _findValue: function (e, t, i, n) {
  10666. function a(e) {
  10667. (e > o || void 0 === o) && (o = e), (r > e || void 0 === r) && (r = e)
  10668. }
  10669. var o, r, s;
  10670. if (e && 0 !== e.length) {
  10671. if (1 == e.length && (r = 0), 1 != e.length) for (var l = 0; l < e.length; l++) a(this.getDataFromOption(e[l].value[t])); else {
  10672. s = e[0];
  10673. for (var l = 0; l < s.value.length; l++) a(this.getDataFromOption(s.value[l]))
  10674. }
  10675. var h = Math.abs(o - r);
  10676. 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), {
  10677. max: o,
  10678. min: r
  10679. }
  10680. }
  10681. }, getVector: function (e, t, i) {
  10682. e = e || 0, t = t || 0;
  10683. var n = this.polar[e].__ecIndicator;
  10684. if (!(t >= n.length)) {
  10685. var a, o = this.polar[e].__ecIndicator[t], r = this.getCenter(e), s = o.vector, l = o.value.max,
  10686. h = o.value.min;
  10687. if ("undefined" == typeof i) return r;
  10688. switch (i) {
  10689. case"min":
  10690. i = h;
  10691. break;
  10692. case"max":
  10693. i = l;
  10694. break;
  10695. case"center":
  10696. i = (l + h) / 2
  10697. }
  10698. return a = l != h ? (i - h) / (l - h) : .5, this._mapVector(s, r, a)
  10699. }
  10700. }, isInside: function (e) {
  10701. var t = this.getNearestIndex(e);
  10702. return t ? t.polarIndex : -1
  10703. }, getNearestIndex: function (e) {
  10704. for (var t, i, n, a, o, r, s, l, h, V = 0; V < this.polar.length; V++) {
  10705. if (t = this.polar[V], i = this.getCenter(V), e[0] == i[0] && e[1] == i[1]) return {
  10706. polarIndex: V,
  10707. valueIndex: 0
  10708. };
  10709. 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 {
  10710. polarIndex: V,
  10711. valueIndex: Math.floor((h + l / 2) / l) % s
  10712. }
  10713. }
  10714. }, getIndicator: function (e) {
  10715. var e = e || 0;
  10716. return this.polar[e].indicator
  10717. }, refresh: function (e) {
  10718. e && (this.option = e, this.polar = this.option.polar, this.series = this.option.series), this.clear(), this._buildShape()
  10719. }
  10720. }, h.inherits(t, i), e("../component").define("polar", t), t
  10721. }),i("echarts/util/coordinates", ["require", "zrender/tool/math"], function (e) {
  10722. function t(e, t) {
  10723. return [e * n.sin(t), e * n.cos(t)]
  10724. }
  10725. function i(e, t) {
  10726. return [Math.sqrt(e * e + t * t), Math.atan(t / e)]
  10727. }
  10728. var n = e("zrender/tool/math");
  10729. return {polar2cartesian: t, cartesian2polar: i}
  10730. }),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) {
  10731. "use strict";
  10732. function t(e, t, n, a, o) {
  10733. i.call(this, e, t, n, a, o), this.scaleLineLength = 4, this.scaleUnitAngle = 4, this.refresh(a)
  10734. }
  10735. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Sector"),
  10736. r = e("../util/shape/Ribbon"), s = e("../util/shape/Icon"), l = e("zrender/shape/BezierCurve"),
  10737. h = e("../config");
  10738. h.chord = {
  10739. zlevel: 0,
  10740. z: 2,
  10741. clickable: !0,
  10742. radius: ["65%", "75%"],
  10743. center: ["50%", "50%"],
  10744. padding: 2,
  10745. sort: "none",
  10746. sortSub: "none",
  10747. startAngle: 90,
  10748. clockWise: !0,
  10749. ribbonType: !0,
  10750. minRadius: 10,
  10751. maxRadius: 20,
  10752. symbol: "circle",
  10753. showScale: !1,
  10754. showScaleText: !1,
  10755. itemStyle: {
  10756. normal: {
  10757. borderWidth: 0,
  10758. borderColor: "#000",
  10759. label: {show: !0, rotate: !1, distance: 5},
  10760. chordStyle: {width: 1, color: "black", borderWidth: 1, borderColor: "#999", opacity: .5}
  10761. },
  10762. emphasis: {
  10763. borderWidth: 0,
  10764. borderColor: "#000",
  10765. chordStyle: {width: 1, color: "black", borderWidth: 1, borderColor: "#999"}
  10766. }
  10767. }
  10768. };
  10769. var m = e("../util/ecData"), V = e("zrender/tool/util"), U = e("zrender/tool/vector"), d = e("../data/Graph"),
  10770. p = e("../layout/Chord");
  10771. return t.prototype = {
  10772. type: h.CHART_TYPE_CHORD, _init: function () {
  10773. var e = this.series;
  10774. this.selectedMap = {};
  10775. for (var t = {}, i = {}, n = 0, a = e.length; a > n; n++) if (e[n].type === this.type) {
  10776. var o = this.isSelected(e[n].name);
  10777. this.selectedMap[e[n].name] = o, o && this.buildMark(n), this.reformOption(e[n]), t[e[n].name] = e[n]
  10778. }
  10779. for (var n = 0, a = e.length; a > n; n++) if (e[n].type === this.type) if (e[n].insertToSerie) {
  10780. var r = t[e[n].insertToSerie];
  10781. e[n]._referenceSerie = r
  10782. } else i[e[n].name] = [e[n]];
  10783. for (var n = 0, a = e.length; a > n; n++) if (e[n].type === this.type && e[n].insertToSerie) {
  10784. for (var s = e[n]._referenceSerie; s && s._referenceSerie;) s = s._referenceSerie;
  10785. i[s.name] && this.selectedMap[e[n].name] && i[s.name].push(e[n])
  10786. }
  10787. for (var l in i) this._buildChords(i[l]);
  10788. this.addShapeList()
  10789. }, _getNodeCategory: function (e, t) {
  10790. return e.categories && e.categories[t.category || 0]
  10791. }, _getNodeQueryTarget: function (e, t) {
  10792. var i = this._getNodeCategory(e, t);
  10793. return [t, i, e]
  10794. }, _getEdgeQueryTarget: function (e, t, i) {
  10795. return i = i || "normal", [t.itemStyle && t.itemStyle[i], e.itemStyle[i].chordStyle]
  10796. }, _buildChords: function (e) {
  10797. for (var t = [], i = e[0], n = function (e) {
  10798. return e.layout.size > 0
  10799. }, a = function (e) {
  10800. return function (t) {
  10801. return e.getEdge(t.node2, t.node1)
  10802. }
  10803. }, o = 0; o < e.length; o++) {
  10804. var r = e[o];
  10805. if (this.selectedMap[r.name]) {
  10806. var s;
  10807. 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
  10808. }
  10809. }
  10810. if (t.length) {
  10811. var l = t[0];
  10812. if (!i.ribbonType) {
  10813. var h = i.minRadius, m = i.maxRadius, V = 1 / 0, U = -(1 / 0);
  10814. l.eachNode(function (e) {
  10815. U = Math.max(e.layout.size, U), V = Math.min(e.layout.size, V)
  10816. });
  10817. var d = (m - h) / (U - V);
  10818. l.eachNode(function (e) {
  10819. var t = this._getNodeQueryTarget(i, e), n = this.query(t, "symbolSize");
  10820. e.layout.size = U === V ? n || V : n || (e.layout.size - V) * d + h
  10821. }, this)
  10822. }
  10823. var c = new p;
  10824. 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);
  10825. var u = this.query(i, "itemStyle.normal.label.show");
  10826. if (i.ribbonType) {
  10827. this._buildSectors(i, 0, l, i, t), u && this._buildLabels(i, 0, l, i, t);
  10828. for (var o = 0, y = 0; o < e.length; o++) this.selectedMap[e[o].name] && this._buildRibbons(e, o, t[y++], i);
  10829. i.showScale && this._buildScales(i, 0, l)
  10830. } else {
  10831. this._buildNodeIcons(i, 0, l, i, t), u && this._buildLabels(i, 0, l, i, t);
  10832. for (var o = 0, y = 0; o < e.length; o++) this.selectedMap[e[o].name] && this._buildEdgeCurves(e, o, t[y++], i, l)
  10833. }
  10834. this._initHoverHandler(e, t)
  10835. }
  10836. }, _getSerieGraphFromDataMatrix: function (e, t) {
  10837. for (var i = [], n = 0, a = [], o = 0; o < e.matrix.length; o++) a[o] = e.matrix[o].slice();
  10838. for (var r = e.data || e.nodes, o = 0; o < r.length; o++) {
  10839. var s = {}, l = r[o];
  10840. l.rawIndex = o;
  10841. for (var h in l) "name" === h ? s.id = l.name : s[h] = l[h];
  10842. var m = this._getNodeCategory(t, l), V = m ? m.name : l.name;
  10843. if (this.selectedMap[V] = this.isSelected(V), this.selectedMap[V]) i.push(s), n++; else {
  10844. a.splice(n, 1);
  10845. for (var U = 0; U < a.length; U++) a[U].splice(n, 1)
  10846. }
  10847. }
  10848. var p = d.fromMatrix(i, a, !0);
  10849. return p.eachNode(function (e) {
  10850. e.layout = {size: e.data.outValue}, e.rawIndex = e.data.rawIndex
  10851. }), p.eachEdge(function (e) {
  10852. e.layout = {weight: e.data.weight}
  10853. }), p
  10854. }, _getSerieGraphFromNodeLinks: function (e, t) {
  10855. for (var i = new d(!0), n = e.data || e.nodes, a = 0, o = n.length; o > a; a++) {
  10856. var r = n[a];
  10857. if (r && !r.ignore) {
  10858. var s = this._getNodeCategory(t, r), l = s ? s.name : r.name;
  10859. if (this.selectedMap[l] = this.isSelected(l), this.selectedMap[l]) {
  10860. var h = i.addNode(r.name, r);
  10861. h.rawIndex = a
  10862. }
  10863. }
  10864. }
  10865. for (var a = 0, o = e.links.length; o > a; a++) {
  10866. var m = e.links[a], V = m.source, U = m.target;
  10867. "number" == typeof V && (V = n[V], V && (V = V.name)), "number" == typeof U && (U = n[U], U && (U = U.name));
  10868. var p = i.addEdge(V, U, m);
  10869. p && (p.rawIndex = a)
  10870. }
  10871. return i.eachNode(function (e) {
  10872. var i = e.data.value;
  10873. if (null == i) if (i = 0, t.ribbonType) for (var n = 0; n < e.outEdges.length; n++) i += e.outEdges[n].data.weight || 0; else for (var n = 0; n < e.edges.length; n++) i += e.edges[n].data.weight || 0;
  10874. e.layout = {size: i}
  10875. }), i.eachEdge(function (e) {
  10876. e.layout = {weight: null == e.data.weight ? 1 : e.data.weight}
  10877. }), i
  10878. }, _initHoverHandler: function (e, t) {
  10879. var i = e[0], n = t[0], a = this;
  10880. n.eachNode(function (e) {
  10881. e.shape.onmouseover = function () {
  10882. n.eachNode(function (e) {
  10883. e.shape.style.opacity = .1, e.labelShape && (e.labelShape.style.opacity = .1, e.labelShape.modSelf()), e.shape.modSelf()
  10884. });
  10885. for (var i = 0; i < t.length; i++) for (var o = 0; o < t[i].edges.length; o++) {
  10886. var r = t[i].edges[o], s = a._getEdgeQueryTarget(t[i].__serie, r.data);
  10887. r.shape.style.opacity = .1 * a.deepQuery(s, "opacity"), r.shape.modSelf()
  10888. }
  10889. e.shape.style.opacity = 1, e.labelShape && (e.labelShape.style.opacity = 1);
  10890. for (var i = 0; i < t.length; i++) {
  10891. var l = t[i].getNodeById(e.id);
  10892. if (l) for (var o = 0; o < l.outEdges.length; o++) {
  10893. var r = l.outEdges[o], s = a._getEdgeQueryTarget(t[i].__serie, r.data);
  10894. r.shape.style.opacity = a.deepQuery(s, "opacity");
  10895. var h = t[0].getNodeById(r.node2.id);
  10896. h && (h.shape && (h.shape.style.opacity = 1), h.labelShape && (h.labelShape.style.opacity = 1))
  10897. }
  10898. }
  10899. a.zr.refreshNextFrame()
  10900. }, e.shape.onmouseout = function () {
  10901. n.eachNode(function (e) {
  10902. e.shape.style.opacity = 1, e.labelShape && (e.labelShape.style.opacity = 1, e.labelShape.modSelf()), e.shape.modSelf()
  10903. });
  10904. for (var e = 0; e < t.length; e++) for (var o = 0; o < t[e].edges.length; o++) {
  10905. var r = t[e].edges[o], s = [r.data, i];
  10906. r.shape.style.opacity = a.deepQuery(s, "itemStyle.normal.chordStyle.opacity"), r.shape.modSelf()
  10907. }
  10908. a.zr.refreshNextFrame()
  10909. }
  10910. })
  10911. }, _buildSectors: function (e, t, i, n) {
  10912. var a = this.parseCenter(this.zr, n.center), r = this.parseRadius(this.zr, n.radius), s = n.clockWise,
  10913. l = s ? 1 : -1;
  10914. i.eachNode(function (i) {
  10915. var h = this._getNodeCategory(n, i.data), V = this.getColor(h ? h.name : i.id),
  10916. U = i.layout.startAngle / Math.PI * 180 * l, d = i.layout.endAngle / Math.PI * 180 * l,
  10917. p = new o({
  10918. zlevel: e.zlevel,
  10919. z: e.z,
  10920. style: {
  10921. x: a[0],
  10922. y: a[1],
  10923. r0: r[0],
  10924. r: r[1],
  10925. startAngle: U,
  10926. endAngle: d,
  10927. brushType: "fill",
  10928. opacity: 1,
  10929. color: V,
  10930. clockWise: s
  10931. },
  10932. clickable: n.clickable,
  10933. highlightStyle: {brushType: "fill"}
  10934. });
  10935. 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
  10936. }, this)
  10937. }, _buildNodeIcons: function (e, t, i, n) {
  10938. var a = this.parseCenter(this.zr, n.center), o = this.parseRadius(this.zr, n.radius), r = o[1];
  10939. i.eachNode(function (i) {
  10940. var o = i.layout.startAngle, l = i.layout.endAngle, h = (o + l) / 2, V = r * Math.cos(h),
  10941. U = r * Math.sin(h), d = this._getNodeQueryTarget(n, i.data),
  10942. p = this._getNodeCategory(n, i.data), c = this.deepQuery(d, "itemStyle.normal.color");
  10943. c || (c = this.getColor(p ? p.name : i.id));
  10944. var u = new s({
  10945. zlevel: e.zlevel,
  10946. z: e.z + 1,
  10947. style: {
  10948. x: -i.layout.size,
  10949. y: -i.layout.size,
  10950. width: 2 * i.layout.size,
  10951. height: 2 * i.layout.size,
  10952. iconType: this.deepQuery(d, "symbol"),
  10953. color: c,
  10954. brushType: "both",
  10955. lineWidth: this.deepQuery(d, "itemStyle.normal.borderWidth"),
  10956. strokeColor: this.deepQuery(d, "itemStyle.normal.borderColor")
  10957. },
  10958. highlightStyle: {
  10959. color: this.deepQuery(d, "itemStyle.emphasis.color"),
  10960. lineWidth: this.deepQuery(d, "itemStyle.emphasis.borderWidth"),
  10961. strokeColor: this.deepQuery(d, "itemStyle.emphasis.borderColor")
  10962. },
  10963. clickable: n.clickable,
  10964. position: [V + a[0], U + a[1]]
  10965. });
  10966. m.pack(u, e, t, i.data, i.rawIndex, i.id, i.category), this.shapeList.push(u), i.shape = u
  10967. }, this)
  10968. }, _buildLabels: function (e, t, i, a) {
  10969. var o = this.query(a, "itemStyle.normal.label.rotate"),
  10970. r = this.query(a, "itemStyle.normal.label.distance"), s = this.parseCenter(this.zr, a.center),
  10971. l = this.parseRadius(this.zr, a.radius), h = a.clockWise, m = h ? 1 : -1;
  10972. i.eachNode(function (t) {
  10973. var i = t.layout.startAngle / Math.PI * 180 * m, h = t.layout.endAngle / Math.PI * 180 * m,
  10974. V = (i * -m + h * -m) / 2;
  10975. V %= 360, 0 > V && (V += 360);
  10976. var d = 90 >= V || V >= 270;
  10977. V = V * Math.PI / 180;
  10978. var p = [Math.cos(V), -Math.sin(V)], c = 0;
  10979. c = a.ribbonType ? a.showScaleText ? 35 + r : r : r + t.layout.size;
  10980. var u = U.scale([], p, l[1] + c);
  10981. U.add(u, u, s);
  10982. var y = {
  10983. zlevel: e.zlevel,
  10984. z: e.z + 1,
  10985. hoverable: !1,
  10986. style: {text: null == t.data.label ? t.id : t.data.label, textAlign: d ? "left" : "right"}
  10987. };
  10988. 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
  10989. }, this)
  10990. }, _buildRibbons: function (e, t, i, n) {
  10991. var a = e[t], o = this.parseCenter(this.zr, n.center), s = this.parseRadius(this.zr, n.radius);
  10992. i.eachEdge(function (l, h) {
  10993. var V, U = i.getEdge(l.node2, l.node1);
  10994. if (U && !l.shape) {
  10995. if (U.shape) return void (l.shape = U.shape);
  10996. var d = l.layout.startAngle / Math.PI * 180, p = l.layout.endAngle / Math.PI * 180,
  10997. c = U.layout.startAngle / Math.PI * 180, u = U.layout.endAngle / Math.PI * 180;
  10998. V = this.getColor(1 === e.length ? l.layout.weight <= U.layout.weight ? l.node1.id : l.node2.id : a.name);
  10999. var y, g, b = this._getEdgeQueryTarget(a, l.data),
  11000. f = this._getEdgeQueryTarget(a, l.data, "emphasis"), k = new r({
  11001. zlevel: a.zlevel,
  11002. z: a.z,
  11003. style: {
  11004. x: o[0],
  11005. y: o[1],
  11006. r: s[0],
  11007. source0: d,
  11008. source1: p,
  11009. target0: c,
  11010. target1: u,
  11011. brushType: "both",
  11012. opacity: this.deepQuery(b, "opacity"),
  11013. color: V,
  11014. lineWidth: this.deepQuery(b, "borderWidth"),
  11015. strokeColor: this.deepQuery(b, "borderColor"),
  11016. clockWise: n.clockWise
  11017. },
  11018. clickable: n.clickable,
  11019. highlightStyle: {
  11020. brushType: "both",
  11021. opacity: this.deepQuery(f, "opacity"),
  11022. lineWidth: this.deepQuery(f, "borderWidth"),
  11023. strokeColor: this.deepQuery(f, "borderColor")
  11024. }
  11025. });
  11026. 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
  11027. }
  11028. }, this)
  11029. }, _buildEdgeCurves: function (e, t, i, n, a) {
  11030. var o = e[t], r = this.parseCenter(this.zr, n.center);
  11031. i.eachEdge(function (e, i) {
  11032. var n = a.getNodeById(e.node1.id), s = a.getNodeById(e.node2.id), h = n.shape, V = s.shape,
  11033. U = this._getEdgeQueryTarget(o, e.data), d = this._getEdgeQueryTarget(o, e.data, "emphasis"),
  11034. p = new l({
  11035. zlevel: o.zlevel,
  11036. z: o.z,
  11037. style: {
  11038. xStart: h.position[0],
  11039. yStart: h.position[1],
  11040. xEnd: V.position[0],
  11041. yEnd: V.position[1],
  11042. cpX1: r[0],
  11043. cpY1: r[1],
  11044. lineWidth: this.deepQuery(U, "width"),
  11045. strokeColor: this.deepQuery(U, "color"),
  11046. opacity: this.deepQuery(U, "opacity")
  11047. },
  11048. highlightStyle: {
  11049. lineWidth: this.deepQuery(d, "width"),
  11050. strokeColor: this.deepQuery(d, "color"),
  11051. opacity: this.deepQuery(d, "opacity")
  11052. }
  11053. });
  11054. 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
  11055. }, this)
  11056. }, _buildScales: function (e, t, i) {
  11057. var o, r, s = e.clockWise, l = this.parseCenter(this.zr, e.center),
  11058. h = this.parseRadius(this.zr, e.radius), m = s ? 1 : -1, V = 0, d = -(1 / 0);
  11059. e.showScaleText && (i.eachNode(function (e) {
  11060. var t = e.data.value;
  11061. t > d && (d = t), V += t
  11062. }), d > 1e10 ? (o = "b", r = 1e-9) : d > 1e7 ? (o = "m", r = 1e-6) : d > 1e4 ? (o = "k", r = .001) : (o = "", r = 1));
  11063. var p = V / (360 - e.padding);
  11064. i.eachNode(function (t) {
  11065. for (var i = t.layout.startAngle / Math.PI * 180, V = t.layout.endAngle / Math.PI * 180, d = i; ;) {
  11066. if (s && d > V || !s && V > d) break;
  11067. var c = d / 180 * Math.PI, u = [Math.cos(c), Math.sin(c)], y = U.scale([], u, h[1] + 1);
  11068. U.add(y, y, l);
  11069. var g = U.scale([], u, h[1] + this.scaleLineLength);
  11070. U.add(g, g, l);
  11071. var b = new a({
  11072. zlevel: e.zlevel,
  11073. z: e.z - 1,
  11074. hoverable: !1,
  11075. style: {
  11076. xStart: y[0],
  11077. yStart: y[1],
  11078. xEnd: g[0],
  11079. yEnd: g[1],
  11080. lineCap: "round",
  11081. brushType: "stroke",
  11082. strokeColor: "#666",
  11083. lineWidth: 1
  11084. }
  11085. });
  11086. this.shapeList.push(b), d += m * this.scaleUnitAngle
  11087. }
  11088. if (e.showScaleText) for (var f = i, k = 5 * p * this.scaleUnitAngle, x = 0; ;) {
  11089. if (s && f > V || !s && V > f) break;
  11090. var c = f;
  11091. c %= 360, 0 > c && (c += 360);
  11092. var _ = 90 >= c || c >= 270, L = new n({
  11093. zlevel: e.zlevel,
  11094. z: e.z - 1,
  11095. hoverable: !1,
  11096. style: {
  11097. x: _ ? h[1] + this.scaleLineLength + 4 : -h[1] - this.scaleLineLength - 4,
  11098. y: 0,
  11099. text: Math.round(10 * x) / 10 + o,
  11100. textAlign: _ ? "left" : "right"
  11101. },
  11102. position: l.slice(),
  11103. rotation: _ ? [-c / 180 * Math.PI, 0, 0] : [-(c + 180) / 180 * Math.PI, 0, 0]
  11104. });
  11105. this.shapeList.push(L), x += k * r, f += m * this.scaleUnitAngle * 5
  11106. }
  11107. }, this)
  11108. }, refresh: function (e) {
  11109. if (e && (this.option = e, this.series = e.series), this.legend = this.component.legend, this.legend) this.getColor = function (e) {
  11110. return this.legend.getColor(e)
  11111. }, this.isSelected = function (e) {
  11112. return this.legend.isSelected(e)
  11113. }; else {
  11114. var t = {}, i = 0;
  11115. this.getColor = function (e) {
  11116. return t[e] ? t[e] : (t[e] || (t[e] = this.zr.getColor(i++)), t[e])
  11117. }, this.isSelected = function () {
  11118. return !0
  11119. }
  11120. }
  11121. this.backupShapeList(), this._init()
  11122. }, reformOption: function (e) {
  11123. var t = V.merge;
  11124. 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
  11125. }
  11126. }, V.inherits(t, i), e("../chart").define("chord", t), t
  11127. }),i("echarts/util/shape/Ribbon", ["require", "zrender/shape/Base", "zrender/shape/util/PathProxy", "zrender/tool/util", "zrender/tool/area"], function (e) {
  11128. function t(e) {
  11129. i.call(this, e), this._pathProxy = new n
  11130. }
  11131. var i = e("zrender/shape/Base"), n = e("zrender/shape/util/PathProxy"), a = e("zrender/tool/util"),
  11132. o = e("zrender/tool/area");
  11133. return t.prototype = {
  11134. type: "ribbon", buildPath: function (e, t) {
  11135. var i = t.clockWise || !1, n = this._pathProxy;
  11136. n.begin(e);
  11137. var a = t.x, o = t.y, r = t.r, s = t.source0 / 180 * Math.PI, l = t.source1 / 180 * Math.PI,
  11138. h = t.target0 / 180 * Math.PI, m = t.target1 / 180 * Math.PI, V = a + Math.cos(s) * r,
  11139. U = o + Math.sin(s) * r, d = a + Math.cos(l) * r, p = o + Math.sin(l) * r, c = a + Math.cos(h) * r,
  11140. u = o + Math.sin(h) * r, y = a + Math.cos(m) * r, g = o + Math.sin(m) * r;
  11141. 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))
  11142. }, getRect: function (e) {
  11143. return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
  11144. }, isCover: function (e, t) {
  11145. var i = this.getRect(this.style);
  11146. 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
  11147. }
  11148. }, a.inherits(t, i), t
  11149. }),i("echarts/data/Graph", ["require", "zrender/tool/util"], function (e) {
  11150. var t = e("zrender/tool/util"), i = function (e) {
  11151. this._directed = e || !1, this.nodes = [], this.edges = [], this._nodesMap = {}, this._edgesMap = {}
  11152. };
  11153. i.prototype.isDirected = function () {
  11154. return this._directed
  11155. }, i.prototype.addNode = function (e, t) {
  11156. if (this._nodesMap[e]) return this._nodesMap[e];
  11157. var n = new i.Node(e, t);
  11158. return this.nodes.push(n), this._nodesMap[e] = n, n
  11159. }, i.prototype.getNodeById = function (e) {
  11160. return this._nodesMap[e]
  11161. }, i.prototype.addEdge = function (e, t, n) {
  11162. if ("string" == typeof e && (e = this._nodesMap[e]), "string" == typeof t && (t = this._nodesMap[t]), e && t) {
  11163. var a = e.id + "-" + t.id;
  11164. if (this._edgesMap[a]) return this._edgesMap[a];
  11165. var o = new i.Edge(e, t, n);
  11166. 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
  11167. }
  11168. }, i.prototype.removeEdge = function (e) {
  11169. var i = e.node1, n = e.node2, a = i.id + "-" + n.id;
  11170. 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)
  11171. }, i.prototype.getEdge = function (e, t) {
  11172. 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]
  11173. }, i.prototype.removeNode = function (e) {
  11174. if ("string" != typeof e || (e = this._nodesMap[e])) {
  11175. delete this._nodesMap[e.id], this.nodes.splice(t.indexOf(this.nodes, e), 1);
  11176. for (var i = 0; i < this.edges.length;) {
  11177. var n = this.edges[i];
  11178. n.node1 === e || n.node2 === e ? this.removeEdge(n) : i++
  11179. }
  11180. }
  11181. }, i.prototype.filterNode = function (e, t) {
  11182. for (var i = this.nodes.length, n = 0; i > n;) e.call(t, this.nodes[n], n) ? n++ : (this.removeNode(this.nodes[n]), i--)
  11183. }, i.prototype.filterEdge = function (e, t) {
  11184. for (var i = this.edges.length, n = 0; i > n;) e.call(t, this.edges[n], n) ? n++ : (this.removeEdge(this.edges[n]), i--)
  11185. }, i.prototype.eachNode = function (e, t) {
  11186. for (var i = this.nodes.length, n = 0; i > n; n++) this.nodes[n] && e.call(t, this.nodes[n], n)
  11187. }, i.prototype.eachEdge = function (e, t) {
  11188. for (var i = this.edges.length, n = 0; i > n; n++) this.edges[n] && e.call(t, this.edges[n], n)
  11189. }, i.prototype.clear = function () {
  11190. this.nodes.length = 0, this.edges.length = 0, this._nodesMap = {}, this._edgesMap = {}
  11191. }, i.prototype.breadthFirstTraverse = function (e, t, i, n) {
  11192. if ("string" == typeof t && (t = this._nodesMap[t]), t) {
  11193. var a = "edges";
  11194. "out" === i ? a = "outEdges" : "in" === i && (a = "inEdges");
  11195. for (var o = 0; o < this.nodes.length; o++) this.nodes[o].__visited = !1;
  11196. if (!e.call(n, t, null)) for (var r = [t]; r.length;) for (var s = r.shift(), l = s[a], o = 0; o < l.length; o++) {
  11197. var h = l[o], m = h.node1 === s ? h.node2 : h.node1;
  11198. if (!m.__visited) {
  11199. if (e.call(m, m, s)) return;
  11200. r.push(m), m.__visited = !0
  11201. }
  11202. }
  11203. }
  11204. }, i.prototype.clone = function () {
  11205. for (var e = new i(this._directed), t = 0; t < this.nodes.length; t++) e.addNode(this.nodes[t].id, this.nodes[t].data);
  11206. for (var t = 0; t < this.edges.length; t++) {
  11207. var n = this.edges[t];
  11208. e.addEdge(n.node1.id, n.node2.id, n.data)
  11209. }
  11210. return e
  11211. };
  11212. var n = function (e, t) {
  11213. this.id = e, this.data = t || null, this.inEdges = [], this.outEdges = [], this.edges = []
  11214. };
  11215. n.prototype.degree = function () {
  11216. return this.edges.length
  11217. }, n.prototype.inDegree = function () {
  11218. return this.inEdges.length
  11219. }, n.prototype.outDegree = function () {
  11220. return this.outEdges.length
  11221. };
  11222. var a = function (e, t, i) {
  11223. this.node1 = e, this.node2 = t, this.data = i || null
  11224. };
  11225. return i.Node = n, i.Edge = a, i.fromMatrix = function (e, t, n) {
  11226. if (t && t.length && t[0].length === t.length && e.length === t.length) {
  11227. for (var a = t.length, o = new i(n), r = 0; a > r; r++) {
  11228. var s = o.addNode(e[r].id, e[r]);
  11229. s.data.value = 0, n && (s.data.outValue = s.data.inValue = 0)
  11230. }
  11231. for (var r = 0; a > r; r++) for (var l = 0; a > l; l++) {
  11232. var h = t[r][l];
  11233. 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
  11234. }
  11235. for (var r = 0; a > r; r++) for (var l = r; a > l; l++) {
  11236. var h = t[r][l];
  11237. if (0 !== h) {
  11238. var m = o.nodes[r], V = o.nodes[l], U = o.addEdge(m, V, {});
  11239. if (U.data.weight = h, r !== l && n && t[l][r]) {
  11240. var d = o.addEdge(V, m, {});
  11241. d.data.weight = t[l][r]
  11242. }
  11243. }
  11244. }
  11245. return o
  11246. }
  11247. }, i
  11248. }),i("echarts/layout/Chord", ["require"], function () {
  11249. var e = function (e) {
  11250. 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
  11251. };
  11252. e.prototype.run = function (e) {
  11253. e instanceof Array || (e = [e]);
  11254. var n = e.length;
  11255. if (n) {
  11256. for (var a = e[0], o = a.nodes.length, r = [], s = 0, l = 0; o > l; l++) {
  11257. var h = a.nodes[l], m = {size: 0, subGroups: [], node: h};
  11258. r.push(m);
  11259. for (var V = 0, U = 0; U < e.length; U++) {
  11260. var d = e[U], p = d.getNodeById(h.id);
  11261. if (p) {
  11262. m.size += p.layout.size;
  11263. for (var c = this.directed ? p.outEdges : p.edges, u = 0; u < c.length; u++) {
  11264. var y = c[u], g = y.layout.weight;
  11265. m.subGroups.push({weight: g, edge: y, graph: d}), V += g
  11266. }
  11267. }
  11268. }
  11269. s += m.size;
  11270. for (var b = m.size / V, u = 0; u < m.subGroups.length; u++) m.subGroups[u].weight *= b;
  11271. "ascending" === this.sortSub ? m.subGroups.sort(t) : "descending" === this.sort && (m.subGroups.sort(t), m.subGroups.reverse())
  11272. }
  11273. "ascending" === this.sort ? r.sort(i) : "descending" === this.sort && (r.sort(i), r.reverse());
  11274. for (var b = (2 * Math.PI - this.padding * o) / s, f = this.startAngle, k = this.clockWise ? 1 : -1, l = 0; o > l; l++) {
  11275. var m = r[l];
  11276. m.node.layout.startAngle = f, m.node.layout.endAngle = f + k * m.size * b, m.node.layout.subGroups = [];
  11277. for (var u = 0; u < m.subGroups.length; u++) {
  11278. var x = m.subGroups[u];
  11279. x.edge.layout.startAngle = f, f += k * x.weight * b, x.edge.layout.endAngle = f
  11280. }
  11281. f = m.node.layout.endAngle + k * this.padding
  11282. }
  11283. }
  11284. };
  11285. var t = function (e, t) {
  11286. return e.weight - t.weight
  11287. }, i = function (e, t) {
  11288. return e.size - t.size
  11289. };
  11290. return e
  11291. }),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) {
  11292. "use strict";
  11293. function t(e, t, o, h, m) {
  11294. var V = this;
  11295. r.call(this, e, t, o, h, m), this.__nodePositionMap = {}, this._graph = new s(!0), this._layout = new l, this._layout.onupdate = function () {
  11296. V._step()
  11297. }, this._steps = 1, this.ondragstart = function () {
  11298. i.apply(V, arguments)
  11299. }, this.ondragend = function () {
  11300. a.apply(V, arguments)
  11301. }, this.ondrop = function () {
  11302. }, this.shapeHandler.ondragstart = function () {
  11303. V.isDragstart = !0
  11304. }, this.onmousemove = function () {
  11305. n.apply(V, arguments)
  11306. }, this.refresh(h)
  11307. }
  11308. function i(e) {
  11309. if (this.isDragstart && e.target) {
  11310. var t = e.target;
  11311. t.fixed = !0, this.isDragstart = !1, this.zr.on(u.EVENT.MOUSEMOVE, this.onmousemove)
  11312. }
  11313. }
  11314. function n() {
  11315. this._layout.temperature = .8, this._step()
  11316. }
  11317. function a(e, t) {
  11318. if (this.isDragend && e.target) {
  11319. var i = e.target;
  11320. i.fixed = !1, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1, this.zr.un(u.EVENT.MOUSEMOVE, this.onmousemove)
  11321. }
  11322. }
  11323. function o(e, t, i) {
  11324. var n = y.create();
  11325. return n[0] = (Math.random() - .5) * i + e, n[1] = (Math.random() - .5) * i + t, n
  11326. }
  11327. var r = e("./base"), s = e("../data/Graph"), l = e("../layout/Force"), h = e("zrender/shape/Line"),
  11328. m = e("zrender/shape/BezierCurve"), V = e("zrender/shape/Image"), U = e("../util/shape/Icon"),
  11329. d = e("../config");
  11330. d.force = {
  11331. zlevel: 1,
  11332. z: 2,
  11333. center: ["50%", "50%"],
  11334. size: "100%",
  11335. preventOverlap: !1,
  11336. coolDown: .99,
  11337. minRadius: 10,
  11338. maxRadius: 20,
  11339. ratioScaling: !1,
  11340. large: !1,
  11341. useWorker: !1,
  11342. steps: 1,
  11343. scaling: 1,
  11344. gravity: 1,
  11345. symbol: "circle",
  11346. symbolSize: 0,
  11347. linkSymbol: null,
  11348. linkSymbolSize: [10, 15],
  11349. draggable: !0,
  11350. clickable: !0,
  11351. roam: !1,
  11352. itemStyle: {
  11353. normal: {
  11354. label: {show: !1, position: "inside"},
  11355. nodeStyle: {brushType: "both", borderColor: "#5182ab", borderWidth: 1},
  11356. linkStyle: {color: "#5182ab", width: 1, type: "line"}
  11357. }, emphasis: {label: {show: !1}, nodeStyle: {}, linkStyle: {opacity: 0}}
  11358. }
  11359. };
  11360. var p = e("../util/ecData"), c = e("zrender/tool/util"), u = e("zrender/config"), y = e("zrender/tool/vector");
  11361. return t.prototype = {
  11362. constructor: t, type: d.CHART_TYPE_FORCE, _init: function () {
  11363. this.selectedMap = {};
  11364. var e, t = this.component.legend, i = this.series;
  11365. this.clear();
  11366. for (var n = 0, a = i.length; a > n; n++) {
  11367. var o = i[n];
  11368. if (o.type === d.CHART_TYPE_FORCE) {
  11369. if (i[n] = this.reformOption(i[n]), e = i[n].name || "", this.selectedMap[e] = t ? t.isSelected(e) : !0, !this.selectedMap[e]) continue;
  11370. this.buildMark(n), this._initSerie(o, n);
  11371. break
  11372. }
  11373. }
  11374. this.animationEffect()
  11375. }, _getNodeCategory: function (e, t) {
  11376. return e.categories && e.categories[t.category || 0]
  11377. }, _getNodeQueryTarget: function (e, t, i) {
  11378. i = i || "normal";
  11379. var n = this._getNodeCategory(e, t) || {};
  11380. return [t.itemStyle && t.itemStyle[i], n && n.itemStyle && n.itemStyle[i], e.itemStyle[i].nodeStyle]
  11381. }, _getEdgeQueryTarget: function (e, t, i) {
  11382. return i = i || "normal", [t.itemStyle && t.itemStyle[i], e.itemStyle[i].linkStyle]
  11383. }, _initSerie: function (e, t) {
  11384. 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);
  11385. var i = e.roam === !0 || "move" === e.roam, n = e.roam === !0 || "scale" === e.roam;
  11386. this.zr.modLayer(this.getZlevelBase(), {
  11387. panable: i,
  11388. zoomable: n
  11389. }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(d.EFFECT_ZLEVEL, {
  11390. panable: i,
  11391. zoomable: n
  11392. }), this._initLayout(e), this._step()
  11393. }, _getSerieGraphFromDataMatrix: function (e) {
  11394. for (var t = [], i = 0, n = [], a = 0; a < e.matrix.length; a++) n[a] = e.matrix[a].slice();
  11395. for (var o = e.data || e.nodes, a = 0; a < o.length; a++) {
  11396. var r = {}, l = o[a];
  11397. for (var h in l) "name" === h ? r.id = l.name : r[h] = l[h];
  11398. var m = this._getNodeCategory(e, l), V = m ? m.name : l.name;
  11399. if (this.selectedMap[V] = this.isSelected(V), this.selectedMap[V]) t.push(r), i++; else {
  11400. n.splice(i, 1);
  11401. for (var U = 0; U < n.length; U++) n[U].splice(i, 1)
  11402. }
  11403. }
  11404. var d = s.fromMatrix(t, n, !0);
  11405. return d.eachNode(function (e, t) {
  11406. e.layout = {size: e.data.value, mass: 0}, e.rawIndex = t
  11407. }), d.eachEdge(function (e) {
  11408. e.layout = {weight: e.data.weight}
  11409. }), d
  11410. }, _getSerieGraphFromNodeLinks: function (e) {
  11411. for (var t = new s(!0), i = e.data || e.nodes, n = 0, a = i.length; a > n; n++) {
  11412. var o = i[n];
  11413. if (o && !o.ignore) {
  11414. var r = this._getNodeCategory(e, o), l = r ? r.name : o.name;
  11415. if (this.selectedMap[l] = this.isSelected(l), this.selectedMap[l]) {
  11416. var h = t.addNode(o.name, o);
  11417. h.rawIndex = n
  11418. }
  11419. }
  11420. }
  11421. for (var n = 0, a = e.links.length; a > n; n++) {
  11422. var m = e.links[n], V = m.source, U = m.target;
  11423. "number" == typeof V && (V = i[V], V && (V = V.name)), "number" == typeof U && (U = i[U], U && (U = U.name));
  11424. var d = t.addEdge(V, U, m);
  11425. d && (d.rawIndex = n)
  11426. }
  11427. return t.eachNode(function (e) {
  11428. var t = e.data.value;
  11429. if (null == t) {
  11430. t = 0;
  11431. for (var i = 0; i < e.edges.length; i++) t += e.edges[i].data.weight || 0
  11432. }
  11433. e.layout = {size: t, mass: 0}
  11434. }), t.eachEdge(function (e) {
  11435. e.layout = {weight: null == e.data.weight ? 1 : e.data.weight}
  11436. }), t
  11437. }, _initLayout: function (e) {
  11438. var t = this._graph, i = t.nodes.length, n = this.query(e, "minRadius"), a = this.query(e, "maxRadius");
  11439. this._steps = e.steps || 1;
  11440. var r = this._layout;
  11441. 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;
  11442. for (var s = 1 / 0, l = -(1 / 0), h = 0; i > h; h++) {
  11443. var m = t.nodes[h];
  11444. l = Math.max(m.layout.size, l), s = Math.min(m.layout.size, s)
  11445. }
  11446. for (var V = l - s, h = 0; i > h; h++) {
  11447. var m = t.nodes[h];
  11448. 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)
  11449. }
  11450. for (var h = 0; i > h; h++) {
  11451. var m = t.nodes[h];
  11452. if ("undefined" != typeof this.__nodePositionMap[m.id]) m.layout.position = y.create(), y.copy(m.layout.position, this.__nodePositionMap[m.id]); else if ("undefined" != typeof m.data.initial) m.layout.position = y.create(), y.copy(m.layout.position, m.data.initial); else {
  11453. var U = this._layout.center, d = Math.min(this._layout.width, this._layout.height);
  11454. m.layout.position = o(U[0], U[1], .8 * d)
  11455. }
  11456. var p = m.shape.style, c = m.layout.size;
  11457. 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)
  11458. }
  11459. i = t.edges.length, l = -(1 / 0);
  11460. for (var h = 0; i > h; h++) {
  11461. var u = t.edges[h];
  11462. u.layout.weight > l && (l = u.layout.weight)
  11463. }
  11464. for (var h = 0; i > h; h++) {
  11465. var u = t.edges[h];
  11466. u.layout.weight /= l
  11467. }
  11468. this._layout.init(t, e.useWorker)
  11469. }, _buildNodeShapes: function (e, t) {
  11470. var i = this._graph, n = this.query(e, "categories");
  11471. i.eachNode(function (i) {
  11472. var a = this._getNodeCategory(e, i.data), o = [i.data, a, e],
  11473. r = this._getNodeQueryTarget(e, i.data), s = this._getNodeQueryTarget(e, i.data, "emphasis"),
  11474. l = new U({
  11475. style: {
  11476. x: 0,
  11477. y: 0,
  11478. color: this.deepQuery(r, "color"),
  11479. brushType: "both",
  11480. strokeColor: this.deepQuery(r, "strokeColor") || this.deepQuery(r, "borderColor"),
  11481. lineWidth: this.deepQuery(r, "lineWidth") || this.deepQuery(r, "borderWidth")
  11482. },
  11483. highlightStyle: {
  11484. color: this.deepQuery(s, "color"),
  11485. strokeColor: this.deepQuery(s, "strokeColor") || this.deepQuery(s, "borderColor"),
  11486. lineWidth: this.deepQuery(s, "lineWidth") || this.deepQuery(s, "borderWidth")
  11487. },
  11488. clickable: e.clickable,
  11489. zlevel: this.getZlevelBase(),
  11490. z: this.getZBase()
  11491. });
  11492. l.style.color || (l.style.color = this.getColor(a ? a.name : i.id)), l.style.iconType = this.deepQuery(o, "symbol");
  11493. var h = this.deepQuery(o, "symbolSize") || 0;
  11494. "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({
  11495. style: l.style,
  11496. highlightStyle: l.highlightStyle,
  11497. clickable: l.clickable,
  11498. zlevel: this.getZlevelBase(),
  11499. z: this.getZBase()
  11500. })), 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);
  11501. var m = "";
  11502. if ("undefined" != typeof i.category) {
  11503. var a = n[i.category];
  11504. m = a && a.name || ""
  11505. }
  11506. 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
  11507. }, this)
  11508. }, _buildLinkShapes: function (e, t) {
  11509. for (var i = this._graph, n = i.edges.length, a = 0; n > a; a++) {
  11510. var o = i.edges[a], r = o.data, s = o.node1, l = o.node2, V = i.getEdge(l, s),
  11511. d = this._getEdgeQueryTarget(e, r), u = this.deepQuery(d, "type");
  11512. e.linkSymbol && "none" !== e.linkSymbol && (u = "line");
  11513. var y = "line" === u ? h : m, g = new y({
  11514. style: {xStart: 0, yStart: 0, xEnd: 0, yEnd: 0},
  11515. clickable: this.query(e, "clickable"),
  11516. highlightStyle: {},
  11517. zlevel: this.getZlevelBase(),
  11518. z: this.getZBase()
  11519. });
  11520. 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) {
  11521. var b = new U({
  11522. style: {
  11523. x: -5,
  11524. y: 0,
  11525. width: e.linkSymbolSize[0],
  11526. height: e.linkSymbolSize[1],
  11527. iconType: e.linkSymbol,
  11528. brushType: "fill",
  11529. color: g.style.strokeColor
  11530. },
  11531. highlightStyle: {brushType: "fill"},
  11532. position: [0, 0],
  11533. rotation: 0,
  11534. zlevel: this.getZlevelBase(),
  11535. z: this.getZBase()
  11536. });
  11537. g._symbolShape = b, this.shapeList.push(b), this.zr.addShape(b)
  11538. }
  11539. }
  11540. }, _updateLinkShapes: function () {
  11541. 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++) {
  11542. var s = a[o], l = s.node1.shape, h = s.node2.shape;
  11543. y.copy(i, l.position), y.copy(n, h.position);
  11544. var m = s.shape.style;
  11545. 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) {
  11546. var V = s.shape._symbolShape;
  11547. y.copy(V.position, n), y.scaleAndAdd(V.position, V.position, e, h.style.width / 2 + 2);
  11548. var U = Math.atan2(e[1], e[0]);
  11549. V.rotation = Math.PI / 2 - U, V.modSelf()
  11550. }
  11551. }
  11552. }, _syncNodePositions: function () {
  11553. for (var e = this._graph, t = 0; t < e.nodes.length; t++) {
  11554. var i = e.nodes[t], n = i.layout.position, a = i.data, o = i.shape, r = o.fixed || a.fixX,
  11555. s = o.fixed || a.fixY;
  11556. 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);
  11557. var l = a.name;
  11558. if (l) {
  11559. var h = this.__nodePositionMap[l];
  11560. h || (h = this.__nodePositionMap[l] = y.create()), y.copy(h, n)
  11561. }
  11562. o.modSelf()
  11563. }
  11564. }, _step: function () {
  11565. 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)
  11566. }, refresh: function (e) {
  11567. if (e && (this.option = e, this.series = this.option.series), this.legend = this.component.legend, this.legend) this.getColor = function (e) {
  11568. return this.legend.getColor(e)
  11569. }, this.isSelected = function (e) {
  11570. return this.legend.isSelected(e)
  11571. }; else {
  11572. var t = {}, i = 0;
  11573. this.getColor = function (e) {
  11574. return t[e] ? t[e] : (t[e] || (t[e] = this.zr.getColor(i++)), t[e])
  11575. }, this.isSelected = function () {
  11576. return !0
  11577. }
  11578. }
  11579. this._init()
  11580. }, dispose: function () {
  11581. this.clear(), this.shapeList = null, this.effectList = null, this._layout.dispose(), this._layout = null, this.__nodePositionMap = {}
  11582. }, getPosition: function () {
  11583. var e = [];
  11584. return this._graph.eachNode(function (t) {
  11585. t.layout && e.push({name: t.data.name, position: Array.prototype.slice.call(t.layout.position)})
  11586. }), e
  11587. }
  11588. }, c.inherits(t, r), e("../chart").define("force", t), t
  11589. }),i("echarts/layout/Force", ["require", "./forceLayoutWorker", "zrender/tool/vector"], function (e) {
  11590. function t() {
  11591. if ("undefined" != typeof Worker && "undefined" != typeof Blob) try {
  11592. var e = new Blob([n.getWorkerCode()]);
  11593. i = window.URL.createObjectURL(e)
  11594. } catch (t) {
  11595. i = ""
  11596. }
  11597. return i
  11598. }
  11599. var i, n = e("./forceLayoutWorker"), a = e("zrender/tool/vector"),
  11600. o = window.requestAnimationFrame || window.msRequestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (e) {
  11601. setTimeout(e, 16)
  11602. }, r = "undefined" == typeof Float32Array ? Array : Float32Array, s = function (e) {
  11603. "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 () {
  11604. }, this.temperature = e.temperature || 1, this.coolDown = e.coolDown || .99, this._layout = null, this._layoutWorker = null;
  11605. var n = this, a = this._$onupdate;
  11606. this._$onupdate = function (e) {
  11607. a.call(n, e)
  11608. }
  11609. };
  11610. return s.prototype.updateConfig = function () {
  11611. var e = this.width, t = this.height, i = Math.min(e, t), n = {
  11612. center: this.center,
  11613. width: this.ratioScaling ? e : i,
  11614. height: this.ratioScaling ? t : i,
  11615. scaling: this.scaling || 1,
  11616. gravity: this.gravity || 1,
  11617. barnesHutOptimize: this.large,
  11618. preventNodeOverlap: this.preventNodeOverlap,
  11619. preventNodeEdgeOverlap: this.preventNodeEdgeOverlap,
  11620. maxSpeedIncrease: this.maxSpeedIncrease
  11621. };
  11622. if (this._layoutWorker) this._layoutWorker.postMessage({
  11623. cmd: "updateConfig",
  11624. config: n
  11625. }); else for (var a in n) this._layout[a] = n[a]
  11626. }, s.prototype.init = function (e, t) {
  11627. if (this._layoutWorker && (this._layoutWorker.terminate(), this._layoutWorker = null), i && t) try {
  11628. this._layoutWorker || (this._layoutWorker = new Worker(i), this._layoutWorker.onmessage = this._$onupdate), this._layout = null
  11629. } catch (a) {
  11630. this._layoutWorker = null, this._layout || (this._layout = new n)
  11631. } else this._layout || (this._layout = new n);
  11632. this.temperature = 1, this.graph = e;
  11633. for (var o = e.nodes.length, s = new r(2 * o), l = new r(o), h = new r(o), m = 0; o > m; m++) {
  11634. var V = e.nodes[m];
  11635. 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
  11636. }
  11637. o = e.edges.length;
  11638. for (var U = new r(2 * o), d = new r(o), m = 0; o > m; m++) {
  11639. var p = e.edges[m];
  11640. U[2 * m] = p.node1.layout.__index, U[2 * m + 1] = p.node2.layout.__index, d[m] = p.layout.weight || 1
  11641. }
  11642. this._layoutWorker ? this._layoutWorker.postMessage({
  11643. cmd: "init",
  11644. nodesPosition: s,
  11645. nodesMass: l,
  11646. nodesSize: h,
  11647. edges: U,
  11648. edgesWeight: d
  11649. }) : (this._layout.initNodes(s, l, h), this._layout.initEdges(U, d)), this.updateConfig()
  11650. }, s.prototype.step = function (e) {
  11651. var t = this.graph.nodes;
  11652. if (this._layoutWorker) {
  11653. for (var i = new r(2 * t.length), n = 0; n < t.length; n++) {
  11654. var s = t[n];
  11655. i[2 * n] = s.layout.position[0], i[2 * n + 1] = s.layout.position[1]
  11656. }
  11657. this._layoutWorker.postMessage(i.buffer, [i.buffer]), this._layoutWorker.postMessage({
  11658. cmd: "update",
  11659. steps: e,
  11660. temperature: this.temperature,
  11661. coolDown: this.coolDown
  11662. });
  11663. for (var n = 0; e > n; n++) this.temperature *= this.coolDown
  11664. } else {
  11665. o(this._$onupdate);
  11666. for (var n = 0; n < t.length; n++) {
  11667. var s = t[n];
  11668. a.copy(this._layout.nodes[n].position, s.layout.position)
  11669. }
  11670. for (var n = 0; e > n; n++) this._layout.temperature = this.temperature, this._layout.update(), this.temperature *= this.coolDown
  11671. }
  11672. }, s.prototype._$onupdate = function (e) {
  11673. if (this._layoutWorker) {
  11674. for (var t = new Float32Array(e.data), i = 0; i < this.graph.nodes.length; i++) {
  11675. var n = this.graph.nodes[i];
  11676. n.layout.position[0] = t[2 * i], n.layout.position[1] = t[2 * i + 1]
  11677. }
  11678. this.onupdate && this.onupdate()
  11679. } else if (this._layout) {
  11680. for (var i = 0; i < this.graph.nodes.length; i++) {
  11681. var n = this.graph.nodes[i];
  11682. a.copy(n.layout.position, this._layout.nodes[i].position)
  11683. }
  11684. this.onupdate && this.onupdate()
  11685. }
  11686. }, s.prototype.dispose = function () {
  11687. this._layoutWorker && this._layoutWorker.terminate(), this._layoutWorker = null, this._layout = null
  11688. }, s
  11689. }),i("echarts/layout/forceLayoutWorker", ["require", "zrender/tool/vector"], function o(e) {
  11690. "use strict";
  11691. function t() {
  11692. this.subRegions = [], this.nSubRegions = 0, this.node = null, this.mass = 0, this.centerOfMass = null, this.bbox = new l(4), this.size = 0
  11693. }
  11694. function i() {
  11695. 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
  11696. }
  11697. function n(e, t) {
  11698. this.node1 = e, this.node2 = t, this.weight = 1
  11699. }
  11700. function a() {
  11701. 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
  11702. }
  11703. var r, s = "undefined" == typeof window && "undefined" == typeof e;
  11704. r = s ? {
  11705. create: function (e, t) {
  11706. var i = new Float32Array(2);
  11707. return i[0] = e || 0, i[1] = t || 0, i
  11708. }, dist: function (e, t) {
  11709. var i = t[0] - e[0], n = t[1] - e[1];
  11710. return Math.sqrt(i * i + n * n)
  11711. }, len: function (e) {
  11712. var t = e[0], i = e[1];
  11713. return Math.sqrt(t * t + i * i)
  11714. }, scaleAndAdd: function (e, t, i, n) {
  11715. return e[0] = t[0] + i[0] * n, e[1] = t[1] + i[1] * n, e
  11716. }, scale: function (e, t, i) {
  11717. return e[0] = t[0] * i, e[1] = t[1] * i, e
  11718. }, add: function (e, t, i) {
  11719. return e[0] = t[0] + i[0], e[1] = t[1] + i[1], e
  11720. }, sub: function (e, t, i) {
  11721. return e[0] = t[0] - i[0], e[1] = t[1] - i[1], e
  11722. }, dot: function (e, t) {
  11723. return e[0] * t[0] + e[1] * t[1]
  11724. }, normalize: function (e, t) {
  11725. var i = t[0], n = t[1], a = i * i + n * n;
  11726. return a > 0 && (a = 1 / Math.sqrt(a), e[0] = t[0] * a, e[1] = t[1] * a), e
  11727. }, negate: function (e, t) {
  11728. return e[0] = -t[0], e[1] = -t[1], e
  11729. }, copy: function (e, t) {
  11730. return e[0] = t[0], e[1] = t[1], e
  11731. }, set: function (e, t, i) {
  11732. return e[0] = t, e[1] = i, e
  11733. }
  11734. } : e("zrender/tool/vector");
  11735. var l = "undefined" == typeof Float32Array ? Array : Float32Array;
  11736. if (t.prototype.beforeUpdate = function () {
  11737. for (var e = 0; e < this.nSubRegions; e++) this.subRegions[e].beforeUpdate();
  11738. this.mass = 0, this.centerOfMass && (this.centerOfMass[0] = 0, this.centerOfMass[1] = 0), this.nSubRegions = 0, this.node = null
  11739. }, t.prototype.afterUpdate = function () {
  11740. this.subRegions.length = this.nSubRegions;
  11741. for (var e = 0; e < this.nSubRegions; e++) this.subRegions[e].afterUpdate()
  11742. }, t.prototype.addNode = function (e) {
  11743. if (0 === this.nSubRegions) {
  11744. if (null == this.node) return void (this.node = e);
  11745. this._addNodeToSubRegion(this.node), this.node = null
  11746. }
  11747. this._addNodeToSubRegion(e), this._updateCenterOfMass(e)
  11748. }, t.prototype.findSubRegion = function (e, t) {
  11749. for (var i = 0; i < this.nSubRegions; i++) {
  11750. var n = this.subRegions[i];
  11751. if (n.contain(e, t)) return n
  11752. }
  11753. }, t.prototype.contain = function (e, t) {
  11754. return this.bbox[0] <= e && this.bbox[2] >= e && this.bbox[1] <= t && this.bbox[3] >= t
  11755. }, t.prototype.setBBox = function (e, t, i, n) {
  11756. this.bbox[0] = e, this.bbox[1] = t, this.bbox[2] = i, this.bbox[3] = n, this.size = (i - e + n - t) / 2
  11757. }, t.prototype._newSubRegion = function () {
  11758. var e = this.subRegions[this.nSubRegions];
  11759. return e || (e = new t, this.subRegions[this.nSubRegions] = e), this.nSubRegions++, e
  11760. }, t.prototype._addNodeToSubRegion = function (e) {
  11761. var t = this.findSubRegion(e.position[0], e.position[1]), i = this.bbox;
  11762. if (!t) {
  11763. var n = (i[0] + i[2]) / 2, a = (i[1] + i[3]) / 2, o = (i[2] - i[0]) / 2, r = (i[3] - i[1]) / 2,
  11764. s = e.position[0] >= n ? 1 : 0, l = e.position[1] >= a ? 1 : 0, t = this._newSubRegion();
  11765. t.setBBox(s * o + i[0], l * r + i[1], (s + 1) * o + i[0], (l + 1) * r + i[1])
  11766. }
  11767. t.addNode(e)
  11768. }, t.prototype._updateCenterOfMass = function (e) {
  11769. null == this.centerOfMass && (this.centerOfMass = r.create());
  11770. var t = this.centerOfMass[0] * this.mass, i = this.centerOfMass[1] * this.mass;
  11771. 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
  11772. }, a.prototype.nodeToNodeRepulsionFactor = function (e, t, i) {
  11773. return i * i * e / t
  11774. }, a.prototype.edgeToNodeRepulsionFactor = function (e, t, i) {
  11775. return i * e / t
  11776. }, a.prototype.attractionFactor = function (e, t, i) {
  11777. return e * t / i
  11778. }, a.prototype.initNodes = function (e, t, n) {
  11779. this.temperature = 1;
  11780. var a = e.length / 2;
  11781. this.nodes.length = 0;
  11782. for (var o = "undefined" != typeof n, r = 0; a > r; r++) {
  11783. var s = new i;
  11784. 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)
  11785. }
  11786. this._massArr = t, o && (this._sizeArr = n)
  11787. }, a.prototype.initEdges = function (e, t) {
  11788. var i = e.length / 2;
  11789. this.edges.length = 0;
  11790. for (var a = "undefined" != typeof t, o = 0; i > o; o++) {
  11791. var r = e[2 * o], s = e[2 * o + 1], l = this.nodes[r], h = this.nodes[s];
  11792. if (l && h) {
  11793. l.outDegree++, h.inDegree++;
  11794. var m = new n(l, h);
  11795. a && (m.weight = t[o]), this.edges.push(m)
  11796. }
  11797. }
  11798. }, a.prototype.update = function () {
  11799. var e = this.nodes.length;
  11800. if (this.updateBBox(), this._k = .4 * this.scaling * Math.sqrt(this.width * this.height / e), this.barnesHutOptimize) {
  11801. this._rootRegion.setBBox(this.bbox[0], this.bbox[1], this.bbox[2], this.bbox[3]), this._rootRegion.beforeUpdate();
  11802. for (var t = 0; e > t; t++) this._rootRegion.addNode(this.nodes[t]);
  11803. this._rootRegion.afterUpdate()
  11804. } else {
  11805. var i = 0, n = this._rootRegion.centerOfMass;
  11806. r.set(n, 0, 0);
  11807. for (var t = 0; e > t; t++) {
  11808. var a = this.nodes[t];
  11809. i += a.mass, r.scaleAndAdd(n, n, a.position, a.mass);
  11810. }
  11811. i > 0 && r.scale(n, n, 1 / i)
  11812. }
  11813. this.updateForce(), this.updatePosition()
  11814. }, a.prototype.updateForce = function () {
  11815. for (var e = this.nodes.length, t = 0; e > t; t++) {
  11816. var i = this.nodes[t];
  11817. r.copy(i.forcePrev, i.force), r.copy(i.speedPrev, i.speed), r.set(i.force, 0, 0)
  11818. }
  11819. this.updateNodeNodeForce(), this.gravity > 0 && this.updateGravityForce(), this.updateEdgeForce(), this.preventNodeEdgeOverlap && this.updateNodeEdgeForce()
  11820. }, a.prototype.updatePosition = function () {
  11821. for (var e = this.nodes.length, t = r.create(), i = 0; e > i; i++) {
  11822. var n = this.nodes[i], a = n.speed;
  11823. r.scale(n.force, n.force, 1 / 30);
  11824. var o = r.len(n.force) + .1, s = Math.min(o, 500) / o;
  11825. 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);
  11826. var l = r.len(t);
  11827. if (l > 0) {
  11828. r.scale(t, t, 1 / l);
  11829. var h = r.len(n.speedPrev);
  11830. h > 0 && (l = Math.min(l / h, this.maxSpeedIncrease) * h, r.scaleAndAdd(a, n.speedPrev, t, l))
  11831. }
  11832. var m = r.len(a), s = Math.min(m, 100) / (m + .1);
  11833. r.scale(a, a, s), r.add(n.position, n.position, a)
  11834. }
  11835. }, a.prototype.updateNodeNodeForce = function () {
  11836. for (var e = this.nodes.length, t = 0; e > t; t++) {
  11837. var i = this.nodes[t];
  11838. if (this.barnesHutOptimize) this.applyRegionToNodeRepulsion(this._rootRegion, i); else for (var n = t + 1; e > n; n++) {
  11839. var a = this.nodes[n];
  11840. this.applyNodeToNodeRepulsion(i, a, !1)
  11841. }
  11842. }
  11843. }, a.prototype.updateGravityForce = function () {
  11844. for (var e = 0; e < this.nodes.length; e++) this.applyNodeGravity(this.nodes[e])
  11845. }, a.prototype.updateEdgeForce = function () {
  11846. for (var e = 0; e < this.edges.length; e++) this.applyEdgeAttraction(this.edges[e])
  11847. }, a.prototype.updateNodeEdgeForce = function () {
  11848. for (var e = 0; e < this.nodes.length; e++) for (var t = 0; t < this.edges.length; t++) this.applyEdgeToNodeRepulsion(this.edges[t], this.nodes[e])
  11849. }, a.prototype.applyRegionToNodeRepulsion = function () {
  11850. var e = r.create();
  11851. return function (t, i) {
  11852. if (t.node) this.applyNodeToNodeRepulsion(t.node, i, !0); else {
  11853. if (0 === t.mass && 0 === i.mass) return;
  11854. r.sub(e, i.position, t.centerOfMass);
  11855. var n = e[0] * e[0] + e[1] * e[1];
  11856. if (n > this.barnesHutTheta * t.size * t.size) {
  11857. var a = this._k * this._k * (i.mass + t.mass) / (n + 1);
  11858. r.scaleAndAdd(i.force, i.force, e, 2 * a)
  11859. } else for (var o = 0; o < t.nSubRegions; o++) this.applyRegionToNodeRepulsion(t.subRegions[o], i)
  11860. }
  11861. }
  11862. }(), a.prototype.applyNodeToNodeRepulsion = function () {
  11863. var e = r.create();
  11864. return function (t, i, n) {
  11865. if (t !== i && (0 !== t.mass || 0 !== i.mass)) {
  11866. r.sub(e, t.position, i.position);
  11867. var a = e[0] * e[0] + e[1] * e[1];
  11868. if (0 !== a) {
  11869. var o, s = t.mass + i.mass, l = Math.sqrt(a);
  11870. 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)
  11871. }
  11872. }
  11873. }
  11874. }(), a.prototype.applyEdgeAttraction = function () {
  11875. var e = r.create();
  11876. return function (t) {
  11877. var i = t.node1, n = t.node2;
  11878. r.sub(e, i.position, n.position);
  11879. var a, o = r.len(e);
  11880. a = 0 === this.edgeWeightInfluence ? 1 : 1 == this.edgeWeightInfluence ? t.weight : Math.pow(t.weight, this.edgeWeightInfluence);
  11881. var s;
  11882. if (!(this.preventOverlap && (o = o - i.size - n.size, 0 >= o))) {
  11883. var s = this.attractionFactor(a, o, this._k);
  11884. r.scaleAndAdd(i.force, i.force, e, -s), r.scaleAndAdd(n.force, n.force, e, s)
  11885. }
  11886. }
  11887. }(), a.prototype.applyNodeGravity = function () {
  11888. var e = r.create();
  11889. return function (t) {
  11890. r.sub(e, this.center, t.position), this.width > this.height ? e[1] *= this.width / this.height : e[0] *= this.height / this.width;
  11891. var i = r.len(e) / 100;
  11892. 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))
  11893. }
  11894. }(), a.prototype.applyEdgeToNodeRepulsion = function () {
  11895. var e = r.create(), t = r.create(), i = r.create();
  11896. return function (n, a) {
  11897. var o = n.node1, s = n.node2;
  11898. if (o !== a && s !== a) {
  11899. r.sub(e, s.position, o.position), r.sub(t, a.position, o.position);
  11900. var l = r.len(e);
  11901. r.scale(e, e, 1 / l);
  11902. var h = r.dot(e, t);
  11903. if (!(0 > h || h > l)) {
  11904. r.scaleAndAdd(i, o.position, e, h);
  11905. var m = r.dist(i, a.position) - a.size,
  11906. V = this.edgeToNodeRepulsionFactor(a.mass, Math.max(m, .1), 100);
  11907. 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)
  11908. }
  11909. }
  11910. }
  11911. }(), a.prototype.updateBBox = function () {
  11912. for (var e = 1 / 0, t = 1 / 0, i = -(1 / 0), n = -(1 / 0), a = 0; a < this.nodes.length; a++) {
  11913. var o = this.nodes[a].position;
  11914. e = Math.min(e, o[0]), t = Math.min(t, o[1]), i = Math.max(i, o[0]), n = Math.max(n, o[1])
  11915. }
  11916. this.bbox[0] = e, this.bbox[1] = t, this.bbox[2] = i, this.bbox[3] = n
  11917. }, a.getWorkerCode = function () {
  11918. var e = o.toString();
  11919. return e.slice(e.indexOf("{") + 1, e.lastIndexOf("return"))
  11920. }, s) {
  11921. var h = null;
  11922. self.onmessage = function (e) {
  11923. if (e.data instanceof ArrayBuffer) {
  11924. if (!h) return;
  11925. for (var t = new Float32Array(e.data), i = t.length / 2, n = 0; i > n; n++) {
  11926. var o = h.nodes[n];
  11927. o.position[0] = t[2 * n], o.position[1] = t[2 * n + 1]
  11928. }
  11929. } else switch (e.data.cmd) {
  11930. case"init":
  11931. h || (h = new a), h.initNodes(e.data.nodesPosition, e.data.nodesMass, e.data.nodesSize), h.initEdges(e.data.edges, e.data.edgesWeight);
  11932. break;
  11933. case"updateConfig":
  11934. if (h) for (var r in e.data.config) h[r] = e.data.config[r];
  11935. break;
  11936. case"update":
  11937. var s = e.data.steps;
  11938. if (h) {
  11939. var i = h.nodes.length, t = new Float32Array(2 * i);
  11940. h.temperature = e.data.temperature;
  11941. for (var n = 0; s > n; n++) h.update(), h.temperature *= e.data.coolDown;
  11942. for (var n = 0; i > n; n++) {
  11943. var o = h.nodes[n];
  11944. t[2 * n] = o.position[0], t[2 * n + 1] = o.position[1]
  11945. }
  11946. self.postMessage(t.buffer, [t.buffer])
  11947. } else {
  11948. var l = new Float32Array;
  11949. self.postMessage(l.buffer, [l.buffer])
  11950. }
  11951. }
  11952. }
  11953. }
  11954. return a
  11955. }),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) {
  11956. function t(e, t, n, a, o) {
  11957. i.call(this, e, t, n, a, o);
  11958. var r = this;
  11959. r._onmousewheel = function (e) {
  11960. return r.__onmousewheel(e)
  11961. }, r._onmousedown = function (e) {
  11962. return r.__onmousedown(e)
  11963. }, r._onmousemove = function (e) {
  11964. return r.__onmousemove(e)
  11965. }, r._onmouseup = function (e) {
  11966. return r.__onmouseup(e)
  11967. }, r._onroamcontroller = function (e) {
  11968. return r.__onroamcontroller(e)
  11969. }, r._ondrhoverlink = function (e) {
  11970. return r.__ondrhoverlink(e)
  11971. }, 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)
  11972. }
  11973. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Path"), o = e("zrender/shape/Circle"),
  11974. r = e("zrender/shape/Rectangle"), s = e("zrender/shape/Line"), l = e("zrender/shape/Polygon"),
  11975. h = e("zrender/shape/Ellipse"), m = e("zrender/shape/Image");
  11976. e("../component/dataRange"), e("../component/roamController");
  11977. var V = e("../layer/heatmap"), U = e("../config");
  11978. U.map = {
  11979. zlevel: 0,
  11980. z: 2,
  11981. mapType: "china",
  11982. showLegendSymbol: !0,
  11983. dataRangeHoverLink: !0,
  11984. hoverable: !0,
  11985. clickable: !0,
  11986. itemStyle: {
  11987. normal: {
  11988. borderColor: "rgba(0,0,0,0)",
  11989. borderWidth: 1,
  11990. areaStyle: {color: "#ccc"},
  11991. label: {show: !1, textStyle: {color: "rgb(139,69,19)"}}
  11992. },
  11993. emphasis: {
  11994. borderColor: "rgba(0,0,0,0)",
  11995. borderWidth: 1,
  11996. areaStyle: {color: "rgba(255,215,0,0.8)"},
  11997. label: {show: !1, textStyle: {color: "rgb(100,0,0)"}}
  11998. }
  11999. }
  12000. };
  12001. var d = e("../util/ecData"), p = e("zrender/tool/util"), c = e("zrender/config"), u = e("zrender/tool/event"),
  12002. y = e("../util/mapData/params").params, g = e("../util/mapData/textFixed"),
  12003. b = e("../util/mapData/geoCoord");
  12004. return t.prototype = {
  12005. type: U.CHART_TYPE_MAP, _buildShape: function () {
  12006. var e = this.series;
  12007. this.selectedMap = {}, this._activeMapType = {};
  12008. for (var t, i, n, a, o = this.component.legend, r = {}, s = {}, l = {}, h = {}, m = 0, V = e.length; V > m; m++) 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])) {
  12009. r[i] = r[i] || {}, n = e[m].data;
  12010. for (var d = 0, c = n.length; c > d; d++) {
  12011. a = this._nameChange(i, n[d].name), r[i][a] = r[i][a] || {
  12012. seriesIndex: [],
  12013. valueMap: {},
  12014. precision: 0
  12015. };
  12016. 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);
  12017. r[i][a].seriesIndex.push(m)
  12018. }
  12019. }
  12020. this._mapDataRequireCounter = 0;
  12021. for (var f in r) this._mapDataRequireCounter++;
  12022. this._clearSelected(), 0 === this._mapDataRequireCounter && (this.clear(), this.zr && this.zr.delShape(this.lastShapeList), this.lastShapeList = []);
  12023. for (var f in r) {
  12024. for (var c in r[f]) {
  12025. "average" == h[f] && (r[f][c].value /= r[f][c].seriesIndex.length);
  12026. var k = r[f][c].value;
  12027. null != k && (r[f][c].value = k.toFixed(null == l[f] ? r[f][c].precision : l[f]) - 0)
  12028. }
  12029. 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])))
  12030. }
  12031. }, _mapDataCallback: function (t, i, n) {
  12032. var a = this;
  12033. return function (o) {
  12034. 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))
  12035. }
  12036. }, _clearSelected: function () {
  12037. for (var e in this._selected) this._activeMapType[this._mapTypeMap[e]] || (delete this._selected[e], delete this._mapTypeMap[e])
  12038. }, _getSubMapData: function (e, t) {
  12039. for (var i = e.replace(/^.*\|/, ""), n = t.features, a = 0, o = n.length; o > a; a++) if (n[a].properties && n[a].properties.name == i) {
  12040. n = n[a], "United States of America" == i && n.geometry.coordinates.length > 1 && (n = {
  12041. geometry: {
  12042. coordinates: n.geometry.coordinates.slice(5, 6),
  12043. type: n.geometry.type
  12044. }, id: n.id, properties: n.properties, type: n.type
  12045. });
  12046. break
  12047. }
  12048. return {type: "FeatureCollection", features: [n]}
  12049. }, _getProjectionData: function (e, t, i) {
  12050. var n, a = this._mapDataMap[e].projection, o = [],
  12051. r = this._mapDataMap[e].bbox || a.getBbox(t, this._specialArea[e]);
  12052. n = this._mapDataMap[e].hasRoam ? this._mapDataMap[e].transform : this._getTransform(r, i, this._mapDataMap[e].rate);
  12053. var s, l = this._mapDataMap[e].lastTransform || {scale: {}};
  12054. 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;
  12055. for (var h = [n.left, n.top], m = 0, V = s.length; V > m; m++) o.push(this._getSingleProvince(e, s[m], h));
  12056. if (this._specialArea[e]) for (var U in this._specialArea[e]) o.push(this._getSpecialProjectionData(e, t, U, this._specialArea[e][U], h));
  12057. if ("china" == e) {
  12058. var d = this.geo2pos(e, b["南海诸岛"] || y["南海诸岛"].textCoord), c = n.scale.x / 10.5,
  12059. u = [32 * c + d[0], 83 * c + d[1]];
  12060. g["南海诸岛"] && (u[0] += g["南海诸岛"][0], u[1] += g["南海诸岛"][1]), o.push({
  12061. name: this._nameChange(e, "南海诸岛"),
  12062. path: y["南海诸岛"].getPath(d, c),
  12063. position: h,
  12064. textX: u[0],
  12065. textY: u[1]
  12066. })
  12067. }
  12068. return o
  12069. }, _getSpecialProjectionData: function (t, i, n, a, o) {
  12070. i = this._getSubMapData("x|" + n, i);
  12071. var r = e("../util/projection/normal"), s = r.getBbox(i), l = this.geo2pos(t, [a.left, a.top]),
  12072. h = this.geo2pos(t, [a.left + a.width, a.top + a.height]), m = Math.abs(h[0] - l[0]),
  12073. V = Math.abs(h[1] - l[1]), U = s.width, d = s.height, p = m / .75 / U, c = V / d;
  12074. p > c ? (p = .75 * c, m = U * p) : (c = p, p = .75 * c, V = d * c);
  12075. var u = {OffsetLeft: l[0], OffsetTop: l[1], scale: {x: p, y: c}}, y = r.geoJson2Path(i, u);
  12076. return this._getSingleProvince(t, y[0], o)
  12077. }, _getSingleProvince: function (e, t, i) {
  12078. var n, a = t.properties.name, o = g[a] || [0, 0];
  12079. if (b[a]) n = this.geo2pos(e, b[a]); else if (t.cp) n = [t.cp[0] + o[0], t.cp[1] + o[1]]; else {
  12080. var r = this._mapDataMap[e].bbox;
  12081. n = this.geo2pos(e, [r.left + r.width / 2, r.top + r.height / 2]), n[0] += o[0], n[1] += o[1]
  12082. }
  12083. return t.name = this._nameChange(e, a), t.position = i, t.textX = n[0], t.textY = n[1], t
  12084. }, _getTransform: function (e, t, i) {
  12085. var n, a, o, r, s, l, h, m = this.series, V = this.zr.getWidth(), U = this.zr.getHeight(),
  12086. d = Math.round(.02 * Math.min(V, U));
  12087. 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;
  12088. 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);
  12089. var c = e.width, u = e.height, y = l / i / c, g = h / u;
  12090. if (y > g ? (y = g * i, l = c * y) : (g = y, y = g * i, h = u * g), isNaN(o)) switch (o = o || "center", o + "") {
  12091. case"center":
  12092. a = Math.floor((V - l) / 2);
  12093. break;
  12094. case"right":
  12095. a = V - l
  12096. }
  12097. if (isNaN(s)) switch (s = s || "center", s + "") {
  12098. case"center":
  12099. r = Math.floor((U - h) / 2);
  12100. break;
  12101. case"bottom":
  12102. r = U - h
  12103. }
  12104. return {left: a, top: r, width: l, height: h, baseScale: 1, scale: {x: y, y: g}}
  12105. }, _buildMap: function (e, t, i, m) {
  12106. 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++) {
  12107. if (k = p.clone(t[w]), x = {
  12108. name: k.name,
  12109. path: k.path,
  12110. position: p.clone(k.position)
  12111. }, c = k.name, u = i[c]) {
  12112. g = [u], V = "";
  12113. for (var I = 0, J = u.seriesIndex.length; J > I; I++) {
  12114. var C = W[u.seriesIndex[I]];
  12115. g.push(C), V += C.name + " ", X && this._showLegendSymbol[e] && X.hasColor(C.name) && this.shapeList.push(new o({
  12116. zlevel: C.zlevel,
  12117. z: C.z + 1,
  12118. position: p.clone(k.position),
  12119. _mapType: e,
  12120. style: {x: k.textX + 3 + 7 * I, y: k.textY - 10, r: 3, color: X.getColor(C.name)},
  12121. hoverable: !1
  12122. }))
  12123. }
  12124. y = u.value
  12125. } else {
  12126. u = {name: c, value: "-"}, V = "", g = [];
  12127. for (var S in m) g.push(W[S]);
  12128. y = "-"
  12129. }
  12130. 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 = {
  12131. zlevel: this.getZlevelBase(),
  12132. z: this.getZBase() + 1,
  12133. position: p.clone(k.position),
  12134. _mapType: e,
  12135. _geo: this.pos2geo(e, [k.textX, k.textY]),
  12136. style: {
  12137. brushType: "fill",
  12138. x: k.textX,
  12139. y: k.textY,
  12140. text: this.getLabelText(c, y, g, "normal"),
  12141. _name: c,
  12142. textAlign: "center",
  12143. color: this.deepQuery(g, "itemStyle.normal.label.show") ? this.deepQuery(g, "itemStyle.normal.label.textStyle.color") : "rgba(0,0,0,0)",
  12144. textFont: this.getFont(f)
  12145. }
  12146. }, 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)", _ = {
  12147. zlevel: this.getZlevelBase(),
  12148. z: this.getZBase(),
  12149. position: p.clone(k.position),
  12150. style: k,
  12151. highlightStyle: x,
  12152. _style: p.clone(k),
  12153. _mapType: e
  12154. }, null != k.scale && (_.scale = p.clone(k.scale)), L = new n(L), _.style.shapeType) {
  12155. case"rectangle":
  12156. _ = new r(_);
  12157. break;
  12158. case"line":
  12159. _ = new s(_);
  12160. break;
  12161. case"circle":
  12162. _ = new o(_);
  12163. break;
  12164. case"polygon":
  12165. _ = new l(_);
  12166. break;
  12167. case"ellipse":
  12168. _ = new h(_);
  12169. break;
  12170. default:
  12171. _ = new a(_), _.buildPathArray && (_.style.pathArray = _.buildPathArray(_.style.path))
  12172. }
  12173. (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, {
  12174. name: V,
  12175. tooltip: this.deepQuery(g, "tooltip")
  12176. }, 0, u, 0, c), this.shapeList.push(L), d.pack(_, {
  12177. name: V,
  12178. tooltip: this.deepQuery(g, "tooltip")
  12179. }, 0, u, 0, c), this.shapeList.push(_)
  12180. }
  12181. }, _buildMark: function (e, t) {
  12182. this._seriesIndexToMapType = this._seriesIndexToMapType || {}, this.markAttachStyle = this.markAttachStyle || {};
  12183. var i = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top];
  12184. "none" == e && (i = [0, 0]);
  12185. for (var n in t) this._seriesIndexToMapType[n] = e, this.markAttachStyle[n] = {
  12186. position: i,
  12187. _mapType: e
  12188. }, this.buildMark(n)
  12189. }, _buildHeatmap: function (e) {
  12190. for (var t = this.series, i = 0, n = t.length; n > i; i++) if (t[i].heatmap) {
  12191. var a = t[i].heatmap.data;
  12192. if (t[i].heatmap.needsTransform === !1) {
  12193. for (var o = [], r = 0, s = a.length; s > r; ++r) o.push([a[r][3], a[r][4], a[r][2]]);
  12194. var l = [0, 0]
  12195. } else {
  12196. var h = t[i].heatmap._geoData;
  12197. if (void 0 === h) {
  12198. t[i].heatmap._geoData = [];
  12199. for (var r = 0, s = a.length; s > r; ++r) t[i].heatmap._geoData[r] = a[r];
  12200. h = t[i].heatmap._geoData
  12201. }
  12202. for (var s = a.length, U = 0; s > U; ++U) a[U] = this.geo2pos(e, [h[U][0], h[U][1]]);
  12203. var l = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top]
  12204. }
  12205. var d = new V(t[i].heatmap),
  12206. p = d.getCanvas(a[0][3] ? o : a, this.zr.getWidth(), this.zr.getHeight()), c = new m({
  12207. zlevel: this.getZlevelBase(),
  12208. z: this.getZBase() + 1,
  12209. position: l,
  12210. scale: [1, 1],
  12211. hoverable: !1,
  12212. style: {x: 0, y: 0, image: p, width: p.width, height: p.height}
  12213. });
  12214. c.type = "heatmap", c._mapType = e, this.shapeList.push(c), this.zr.addShape(c)
  12215. }
  12216. }, getMarkCoord: function (e, t) {
  12217. return t.geoCoord || b[t.name] ? this.geo2pos(this._seriesIndexToMapType[e], t.geoCoord || b[t.name]) : [0, 0]
  12218. }, getMarkGeo: function (e) {
  12219. return e.geoCoord || b[e.name]
  12220. }, _nameChange: function (e, t) {
  12221. return this._nameMap[e][t] || t
  12222. }, getLabelText: function (e, t, i, n) {
  12223. var a = this.deepQuery(i, "itemStyle." + n + ".label.formatter");
  12224. 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
  12225. }, _findMapTypeByPos: function (e, t) {
  12226. var i, n, a, o, r;
  12227. for (var s in this._mapDataMap) 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
  12228. }, __onmousewheel: function (e) {
  12229. function t(e, t) {
  12230. for (var i = 0; i < e.pointList.length; i++) {
  12231. var n = e.pointList[i];
  12232. n[0] *= t, n[1] *= t
  12233. }
  12234. var a = e.controlPointList;
  12235. if (a) for (var i = 0; i < a.length; i++) {
  12236. var n = a[i];
  12237. n[0] *= t, n[1] *= t
  12238. }
  12239. }
  12240. function i(e, t) {
  12241. e.xStart *= t, e.yStart *= t, e.xEnd *= t, e.yEnd *= t, null != e.cpX1 && (e.cpX1 *= t, e.cpY1 *= t)
  12242. }
  12243. if (!(this.shapeList.length <= 0)) {
  12244. for (var n = 0, a = this.shapeList.length; a > n; n++) {
  12245. var o = this.shapeList[n];
  12246. if (o.__animating) return
  12247. }
  12248. var r, s, l = e.event, h = u.getX(l), m = u.getY(l), V = u.getDelta(l), d = e.mapTypeControl;
  12249. d || (d = {}, s = this._findMapTypeByPos(h, m), s && this._roamMap[s] && "move" != this._roamMap[s] && (d[s] = !0));
  12250. var p = !1;
  12251. for (s in d) if (d[s]) {
  12252. p = !0;
  12253. var c = this._mapDataMap[s].transform, y = c.left, g = c.top, b = c.width, f = c.height,
  12254. k = this.pos2geo(s, [h - y, m - g]);
  12255. if (V > 0) {
  12256. if (r = 1.2, null != this._scaleLimitMap[s].max && c.baseScale >= this._scaleLimitMap[s].max) continue
  12257. } else if (r = 1 / 1.2, null != this._scaleLimitMap[s].min && c.baseScale <= this._scaleLimitMap[s].min) continue;
  12258. 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);
  12259. for (var n = 0, a = this.shapeList.length; a > n; n++) {
  12260. var o = this.shapeList[n];
  12261. if (o._mapType == s) {
  12262. var x = o.type, _ = o.style;
  12263. switch (o.position[0] = c.left, o.position[1] = c.top, x) {
  12264. case"path":
  12265. case"symbol":
  12266. case"circle":
  12267. case"rectangle":
  12268. case"polygon":
  12269. case"line":
  12270. case"ellipse":
  12271. case"heatmap":
  12272. o.scale[0] *= r, o.scale[1] *= r;
  12273. break;
  12274. case"mark-line":
  12275. i(_, r);
  12276. break;
  12277. case"polyline":
  12278. t(_, r);
  12279. break;
  12280. case"shape-bundle":
  12281. for (var L = 0; L < _.shapeList.length; L++) {
  12282. var W = _.shapeList[L];
  12283. "mark-line" == W.type ? i(W.style, r) : "polyline" == W.type && t(W.style, r)
  12284. }
  12285. break;
  12286. case"icon":
  12287. case"image":
  12288. k = this.geo2pos(s, o._geo), _.x = _._x = k[0] - _.width / 2, _.y = _._y = k[1] - _.height / 2;
  12289. break;
  12290. default:
  12291. 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])
  12292. }
  12293. this.zr.modShape(o.id)
  12294. }
  12295. }
  12296. }
  12297. if (p) {
  12298. u.stop(l), this.zr.refreshNextFrame();
  12299. var X = this;
  12300. clearTimeout(this._refreshDelayTicket), this._refreshDelayTicket = setTimeout(function () {
  12301. X && X.shapeList && X.animationEffect()
  12302. }, 100), this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {type: "scale"}, this.myChart)
  12303. }
  12304. }
  12305. }, __onmousedown: function (e) {
  12306. if (!(this.shapeList.length <= 0)) {
  12307. var t = e.target;
  12308. if (!t || !t.draggable) {
  12309. var i = e.event, n = u.getX(i), a = u.getY(i), o = this._findMapTypeByPos(n, a);
  12310. if (o && this._roamMap[o] && "scale" != this._roamMap[o]) {
  12311. this._mousedown = !0, this._mx = n, this._my = a, this._curMapType = o, this.zr.on(c.EVENT.MOUSEUP, this._onmouseup);
  12312. var r = this;
  12313. setTimeout(function () {
  12314. r.zr.on(c.EVENT.MOUSEMOVE, r._onmousemove)
  12315. }, 100)
  12316. }
  12317. }
  12318. }
  12319. }, __onmousemove: function (e) {
  12320. if (this._mousedown && this._isAlive) {
  12321. var t = e.event, i = u.getX(t), n = u.getY(t), a = this._mapDataMap[this._curMapType].transform;
  12322. 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;
  12323. 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));
  12324. this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {type: "move"}, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), this._justMove = !0, u.stop(t)
  12325. }
  12326. }, __onmouseup: function (e) {
  12327. var t = e.event;
  12328. this._mx = u.getX(t), this._my = u.getY(t), this._mousedown = !1;
  12329. var i = this;
  12330. setTimeout(function () {
  12331. i._justMove && i.animationEffect(), i._justMove = !1, i.zr.un(c.EVENT.MOUSEMOVE, i._onmousemove), i.zr.un(c.EVENT.MOUSEUP, i._onmouseup)
  12332. }, 120)
  12333. }, __onroamcontroller: function (e) {
  12334. var t = e.event;
  12335. t.zrenderX = this.zr.getWidth() / 2, t.zrenderY = this.zr.getHeight() / 2;
  12336. var i = e.mapTypeControl, n = 0, a = 0, o = e.step;
  12337. switch (e.roamType) {
  12338. case"scaleUp":
  12339. return t.zrenderDelta = 1, void this.__onmousewheel({event: t, mapTypeControl: i});
  12340. case"scaleDown":
  12341. return t.zrenderDelta = -1, void this.__onmousewheel({event: t, mapTypeControl: i});
  12342. case"up":
  12343. n = -o;
  12344. break;
  12345. case"down":
  12346. n = o;
  12347. break;
  12348. case"left":
  12349. a = -o;
  12350. break;
  12351. case"right":
  12352. a = o
  12353. }
  12354. var r, s;
  12355. 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);
  12356. 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));
  12357. this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {type: "move"}, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), clearTimeout(this.dircetionTimer);
  12358. var m = this;
  12359. this.dircetionTimer = setTimeout(function () {
  12360. m.animationEffect()
  12361. }, 150)
  12362. }, __ondrhoverlink: function (e) {
  12363. 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]))
  12364. }, onclick: function (e) {
  12365. if (this.isClick && e.target && !this._justMove && "icon" != e.target.type) {
  12366. this.isClick = !1;
  12367. var t = e.target, i = t.style._name, n = this.shapeList.length, a = t._mapType || "";
  12368. if ("single" == this._selectedMode[a]) for (var o in this._selected) if (this._selected[o] && this._mapTypeMap[o] == a) {
  12369. 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));
  12370. o != i && (this._selected[o] = !1)
  12371. }
  12372. this._selected[i] = !this._selected[i];
  12373. 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));
  12374. this.messageCenter.dispatch(U.EVENT.MAP_SELECTED, e.event, {
  12375. selected: this._selected,
  12376. target: i
  12377. }, this.myChart), this.zr.refreshNextFrame();
  12378. var s = this;
  12379. setTimeout(function () {
  12380. s.zr.trigger(c.EVENT.MOUSEMOVE, e.event)
  12381. }, 100)
  12382. }
  12383. }, refresh: function (e) {
  12384. e && (this.option = e, this.series = e.series), this._mapDataRequireCounter > 0 ? this.clear() : this.backupShapeList(), this._buildShape(), this.zr.refreshHover()
  12385. }, ondataRange: function (e, t) {
  12386. this.component.dataRange && (this.refresh(), t.needRefresh = !0)
  12387. }, pos2geo: function (e, t) {
  12388. return this._mapDataMap[e].transform ? this._mapDataMap[e].projection.pos2geo(this._mapDataMap[e].transform, t) : null
  12389. }, getGeoByPos: function (e, t) {
  12390. if (!this._mapDataMap[e].transform) return null;
  12391. var i = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top];
  12392. return t instanceof Array ? (t[0] -= i[0], t[1] -= i[1]) : (t.x -= i[0], t.y -= i[1]), this.pos2geo(e, t)
  12393. }, geo2pos: function (e, t) {
  12394. return this._mapDataMap[e].transform ? this._mapDataMap[e].projection.geo2pos(this._mapDataMap[e].transform, t) : null
  12395. }, getPosByGeo: function (e, t) {
  12396. if (!this._mapDataMap[e].transform) return null;
  12397. var i = this.geo2pos(e, t);
  12398. return i[0] += this._mapDataMap[e].transform.left, i[1] += this._mapDataMap[e].transform.top, i
  12399. }, getMapPosition: function (e) {
  12400. return this._mapDataMap[e].transform ? [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top] : null
  12401. }, onbeforDispose: function () {
  12402. 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)
  12403. }
  12404. }, p.inherits(t, i), e("../chart").define("map", t), t
  12405. }),i("zrender/shape/Path", ["require", "./Base", "./util/PathProxy", "../tool/util"], function (e) {
  12406. var t = e("./Base"), i = e("./util/PathProxy"), n = i.PathSegment, a = function (e) {
  12407. return Math.sqrt(e[0] * e[0] + e[1] * e[1])
  12408. }, o = function (e, t) {
  12409. return (e[0] * t[0] + e[1] * t[1]) / (a(e) * a(t))
  12410. }, r = function (e, t) {
  12411. return (e[0] * t[1] < e[1] * t[0] ? -1 : 1) * Math.acos(o(e, t))
  12412. }, s = function (e) {
  12413. t.call(this, e)
  12414. };
  12415. return s.prototype = {
  12416. type: "path", buildPathArray: function (e, t, i) {
  12417. if (!e) return [];
  12418. t = t || 0, i = i || 0;
  12419. var a = e,
  12420. o = ["m", "M", "l", "L", "v", "V", "h", "H", "z", "Z", "c", "C", "q", "Q", "t", "T", "s", "S", "a", "A"];
  12421. a = a.replace(/-/g, " -"), a = a.replace(/ /g, " "), a = a.replace(/ /g, ","), a = a.replace(/,,/g, ",");
  12422. var r;
  12423. for (r = 0; r < o.length; r++) a = a.replace(new RegExp(o[r], "g"), "|" + o[r]);
  12424. var s = a.split("|"), l = [], h = 0, m = 0;
  12425. for (r = 1; r < s.length; r++) {
  12426. var V = s[r], U = V.charAt(0);
  12427. V = V.slice(1), V = V.replace(new RegExp("e,-", "g"), "e-");
  12428. var d = V.split(",");
  12429. d.length > 0 && "" === d[0] && d.shift();
  12430. for (var p = 0; p < d.length; p++) d[p] = parseFloat(d[p]);
  12431. for (; d.length > 0 && !isNaN(d[0]);) {
  12432. var c, u, y, g, b, f, k, x, _ = null, L = [], W = h, X = m;
  12433. switch (U) {
  12434. case"l":
  12435. h += d.shift(), m += d.shift(), _ = "L", L.push(h, m);
  12436. break;
  12437. case"L":
  12438. h = d.shift(), m = d.shift(), L.push(h, m);
  12439. break;
  12440. case"m":
  12441. h += d.shift(), m += d.shift(), _ = "M", L.push(h, m), U = "l";
  12442. break;
  12443. case"M":
  12444. h = d.shift(), m = d.shift(), _ = "M", L.push(h, m), U = "L";
  12445. break;
  12446. case"h":
  12447. h += d.shift(), _ = "L", L.push(h, m);
  12448. break;
  12449. case"H":
  12450. h = d.shift(), _ = "L", L.push(h, m);
  12451. break;
  12452. case"v":
  12453. m += d.shift(), _ = "L", L.push(h, m);
  12454. break;
  12455. case"V":
  12456. m = d.shift(), _ = "L", L.push(h, m);
  12457. break;
  12458. case"C":
  12459. L.push(d.shift(), d.shift(), d.shift(), d.shift()), h = d.shift(), m = d.shift(), L.push(h, m);
  12460. break;
  12461. case"c":
  12462. 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);
  12463. break;
  12464. case"S":
  12465. 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);
  12466. break;
  12467. case"s":
  12468. 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);
  12469. break;
  12470. case"Q":
  12471. L.push(d.shift(), d.shift()), h = d.shift(), m = d.shift(), L.push(h, m);
  12472. break;
  12473. case"q":
  12474. L.push(h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "Q", L.push(h, m);
  12475. break;
  12476. case"T":
  12477. 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);
  12478. break;
  12479. case"t":
  12480. 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);
  12481. break;
  12482. case"A":
  12483. 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);
  12484. break;
  12485. case"a":
  12486. 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)
  12487. }
  12488. for (var v = 0, w = L.length; w > v; v += 2) L[v] += t, L[v + 1] += i;
  12489. l.push(new n(_ || U, L))
  12490. }
  12491. ("z" === U || "Z" === U) && l.push(new n("z", []))
  12492. }
  12493. return l
  12494. }, _convertPoint: function (e, t, i, n, a, s, l, h, m) {
  12495. var V = m * (Math.PI / 180), U = Math.cos(V) * (e - i) / 2 + Math.sin(V) * (t - n) / 2,
  12496. d = -1 * Math.sin(V) * (e - i) / 2 + Math.cos(V) * (t - n) / 2,
  12497. p = U * U / (l * l) + d * d / (h * h);
  12498. p > 1 && (l *= Math.sqrt(p), h *= Math.sqrt(p));
  12499. var c = Math.sqrt((l * l * h * h - l * l * d * d - h * h * U * U) / (l * l * d * d + h * h * U * U));
  12500. a === s && (c *= -1), isNaN(c) && (c = 0);
  12501. var u = c * l * d / h, y = c * -h * U / l, g = (e + i) / 2 + Math.cos(V) * u - Math.sin(V) * y,
  12502. b = (t + n) / 2 + Math.sin(V) * u + Math.cos(V) * y, f = r([1, 0], [(U - u) / l, (d - y) / h]),
  12503. k = [(U - u) / l, (d - y) / h], x = [(-1 * U - u) / l, (-1 * d - y) / h], _ = r(k, x);
  12504. 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]
  12505. }, buildPath: function (e, t) {
  12506. var i = t.path, n = t.x || 0, a = t.y || 0;
  12507. t.pathArray = t.pathArray || this.buildPathArray(i, n, a);
  12508. for (var o = t.pathArray, r = t.pointList = [], s = [], l = 0, h = o.length; h > l; l++) {
  12509. "M" == o[l].command.toUpperCase() && (s.length > 0 && r.push(s), s = []);
  12510. for (var m = o[l].points, V = 0, U = m.length; U > V; V += 2) s.push([m[V], m[V + 1]])
  12511. }
  12512. s.length > 0 && r.push(s);
  12513. for (var l = 0, h = o.length; h > l; l++) {
  12514. var d = o[l].command, m = o[l].points;
  12515. switch (d) {
  12516. case"L":
  12517. e.lineTo(m[0], m[1]);
  12518. break;
  12519. case"M":
  12520. e.moveTo(m[0], m[1]);
  12521. break;
  12522. case"C":
  12523. e.bezierCurveTo(m[0], m[1], m[2], m[3], m[4], m[5]);
  12524. break;
  12525. case"Q":
  12526. e.quadraticCurveTo(m[0], m[1], m[2], m[3]);
  12527. break;
  12528. case"A":
  12529. var p = m[0], c = m[1], u = m[2], y = m[3], g = m[4], b = m[5], f = m[6], k = m[7],
  12530. x = u > y ? u : y, _ = u > y ? 1 : u / y, L = u > y ? y / u : 1;
  12531. 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);
  12532. break;
  12533. case"z":
  12534. e.closePath()
  12535. }
  12536. }
  12537. }, getRect: function (e) {
  12538. if (e.__rect) return e.__rect;
  12539. var t;
  12540. t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0;
  12541. 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++) 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]));
  12542. var U;
  12543. return U = i === Number.MAX_VALUE || n === Number.MIN_VALUE || a === Number.MAX_VALUE || o === Number.MIN_VALUE ? {
  12544. x: 0,
  12545. y: 0,
  12546. width: 0,
  12547. height: 0
  12548. } : {
  12549. x: Math.round(i - t / 2),
  12550. y: Math.round(a - t / 2),
  12551. width: n - i + t,
  12552. height: o - a + t
  12553. }, e.__rect = U, U
  12554. }
  12555. }, e("../tool/util").inherits(s, t), s
  12556. }),i("zrender/shape/Ellipse", ["require", "./Base", "../tool/util"], function (e) {
  12557. var t = e("./Base"), i = function (e) {
  12558. t.call(this, e)
  12559. };
  12560. return i.prototype = {
  12561. type: "ellipse", buildPath: function (e, t) {
  12562. var i = .5522848, n = t.x, a = t.y, o = t.a, r = t.b, s = o * i, l = r * i;
  12563. 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()
  12564. }, getRect: function (e) {
  12565. if (e.__rect) return e.__rect;
  12566. var t;
  12567. return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
  12568. x: Math.round(e.x - e.a - t / 2),
  12569. y: Math.round(e.y - e.b - t / 2), width: 2 * e.a + t, height: 2 * e.b + t
  12570. }, e.__rect
  12571. }
  12572. }, e("../tool/util").inherits(i, t), i
  12573. }),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) {
  12574. function t(e, t, n, a, o) {
  12575. if (this.rcOption = {}, a.roamController && a.roamController.show) {
  12576. if (!a.roamController.mapTypeControl) return void console.error("option.roamController.mapTypeControl has not been defined.");
  12577. i.call(this, e, t, n, a, o), this.rcOption = a.roamController;
  12578. var r = this;
  12579. this._drictionMouseDown = function (e) {
  12580. return r.__drictionMouseDown(e)
  12581. }, this._drictionMouseUp = function (e) {
  12582. return r.__drictionMouseUp(e)
  12583. }, this._drictionMouseMove = function (e) {
  12584. return r.__drictionMouseMove(e)
  12585. }, this._drictionMouseOut = function (e) {
  12586. return r.__drictionMouseOut(e)
  12587. }, this._scaleHandler = function (e) {
  12588. return r.__scaleHandler(e)
  12589. }, this.refresh(a)
  12590. }
  12591. }
  12592. var i = e("./base"), n = e("zrender/shape/Rectangle"), a = e("zrender/shape/Sector"),
  12593. o = e("zrender/shape/Circle"), r = e("../config");
  12594. r.roamController = {
  12595. zlevel: 0,
  12596. z: 4,
  12597. show: !0,
  12598. x: "left",
  12599. y: "top",
  12600. width: 80,
  12601. height: 120,
  12602. backgroundColor: "rgba(0,0,0,0)",
  12603. borderColor: "#ccc",
  12604. borderWidth: 0,
  12605. padding: 5,
  12606. handleColor: "#6495ed",
  12607. fillerColor: "#fff",
  12608. step: 15,
  12609. mapTypeControl: null
  12610. };
  12611. var s = e("zrender/tool/util"), l = e("zrender/tool/color"), h = e("zrender/tool/event");
  12612. return t.prototype = {
  12613. type: r.COMPONENT_TYPE_ROAMCONTROLLER, _buildShape: function () {
  12614. if (this.rcOption.show) {
  12615. this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
  12616. for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
  12617. }
  12618. }, _buildItem: function () {
  12619. 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"))
  12620. }, _getDirectionShape: function (e) {
  12621. var t = this._itemGroupLocation.r, i = this._itemGroupLocation.x + t, n = this._itemGroupLocation.y + t,
  12622. o = {
  12623. zlevel: this.getZlevelBase(),
  12624. z: this.getZBase(),
  12625. style: {
  12626. x: i,
  12627. y: n,
  12628. r: t,
  12629. startAngle: -45,
  12630. endAngle: 45,
  12631. color: this.rcOption.handleColor,
  12632. text: ">",
  12633. textX: i + t / 2 + 4,
  12634. textY: n - .5,
  12635. textAlign: "center",
  12636. textBaseline: "middle",
  12637. textPosition: "specific",
  12638. textColor: this.rcOption.fillerColor,
  12639. textFont: Math.floor(t / 2) + "px arial"
  12640. },
  12641. highlightStyle: {color: l.lift(this.rcOption.handleColor, -.2), brushType: "fill"},
  12642. clickable: !0
  12643. };
  12644. switch (e) {
  12645. case"up":
  12646. o.rotation = [Math.PI / 2, i, n];
  12647. break;
  12648. case"left":
  12649. o.rotation = [Math.PI, i, n];
  12650. break;
  12651. case"down":
  12652. o.rotation = [-Math.PI / 2, i, n]
  12653. }
  12654. 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
  12655. }, _getScaleShape: function (e) {
  12656. var t = this._itemGroupLocation.width, i = this._itemGroupLocation.height - t;
  12657. i = 0 > i ? 20 : i;
  12658. var n = Math.min(t / 2 - 5, i) / 2, a = this._itemGroupLocation.x + ("scaleDown" === e ? t - n : n),
  12659. r = this._itemGroupLocation.y + this._itemGroupLocation.height - n, s = {
  12660. zlevel: this.getZlevelBase(),
  12661. z: this.getZBase(),
  12662. style: {
  12663. x: a,
  12664. y: r,
  12665. r: n,
  12666. color: this.rcOption.handleColor,
  12667. text: "scaleDown" === e ? "-" : "+",
  12668. textX: a,
  12669. textY: r - 2,
  12670. textAlign: "center",
  12671. textBaseline: "middle",
  12672. textPosition: "specific",
  12673. textColor: this.rcOption.fillerColor,
  12674. textFont: Math.floor(n) + "px verdana"
  12675. },
  12676. highlightStyle: {color: l.lift(this.rcOption.handleColor, -.2), brushType: "fill"},
  12677. clickable: !0
  12678. };
  12679. return s = new o(s), s._roamType = e, s.onmousedown = this._scaleHandler, s
  12680. }, _buildBackground: function () {
  12681. var e = this.reformCssArray(this.rcOption.padding);
  12682. this.shapeList.push(new n({
  12683. zlevel: this.getZlevelBase(),
  12684. z: this.getZBase(),
  12685. hoverable: !1,
  12686. style: {
  12687. x: this._itemGroupLocation.x - e[3],
  12688. y: this._itemGroupLocation.y - e[0],
  12689. width: this._itemGroupLocation.width + e[3] + e[1],
  12690. height: this._itemGroupLocation.height + e[0] + e[2],
  12691. brushType: 0 === this.rcOption.borderWidth ? "fill" : "both",
  12692. color: this.rcOption.backgroundColor,
  12693. strokeColor: this.rcOption.borderColor,
  12694. lineWidth: this.rcOption.borderWidth
  12695. }
  12696. }))
  12697. }, _getItemGroupLocation: function () {
  12698. var e, t = this.reformCssArray(this.rcOption.padding), i = this.rcOption.width,
  12699. n = this.rcOption.height, a = this.zr.getWidth(), o = this.zr.getHeight();
  12700. switch (this.rcOption.x) {
  12701. case"center":
  12702. e = Math.floor((a - i) / 2);
  12703. break;
  12704. case"left":
  12705. e = t[3] + this.rcOption.borderWidth;
  12706. break;
  12707. case"right":
  12708. e = a - i - t[1] - t[3] - 2 * this.rcOption.borderWidth;
  12709. break;
  12710. default:
  12711. e = this.parsePercent(this.rcOption.x, a)
  12712. }
  12713. var r;
  12714. switch (this.rcOption.y) {
  12715. case"top":
  12716. r = t[0] + this.rcOption.borderWidth;
  12717. break;
  12718. case"bottom":
  12719. r = o - n - t[0] - t[2] - 2 * this.rcOption.borderWidth;
  12720. break;
  12721. case"center":
  12722. r = Math.floor((o - n) / 2);
  12723. break;
  12724. default:
  12725. r = this.parsePercent(this.rcOption.y, o)
  12726. }
  12727. return {x: e, y: r, r: i / 2, width: i, height: n}
  12728. }, __drictionMouseDown: function (e) {
  12729. this.mousedown = !0, this._drictionHandlerOn(e)
  12730. }, __drictionMouseUp: function (e) {
  12731. this.mousedown = !1, this._drictionHandlerOff(e)
  12732. }, __drictionMouseMove: function (e) {
  12733. this.mousedown && this._drictionHandlerOn(e)
  12734. }, __drictionMouseOut: function (e) {
  12735. this._drictionHandlerOff(e)
  12736. }, _drictionHandlerOn: function (e) {
  12737. this._dispatchEvent(e.event, e.target._roamType), clearInterval(this.dircetionTimer);
  12738. var t = this;
  12739. this.dircetionTimer = setInterval(function () {
  12740. t._dispatchEvent(e.event, e.target._roamType)
  12741. }, 100), h.stop(e.event)
  12742. }, _drictionHandlerOff: function () {
  12743. clearInterval(this.dircetionTimer)
  12744. }, __scaleHandler: function (e) {
  12745. this._dispatchEvent(e.event, e.target._roamType), h.stop(e.event)
  12746. }, _dispatchEvent: function (e, t) {
  12747. this.messageCenter.dispatch(r.EVENT.ROAMCONTROLLER, e, {
  12748. roamType: t,
  12749. mapTypeControl: this.rcOption.mapTypeControl,
  12750. step: this.rcOption.step
  12751. }, this.myChart)
  12752. }, refresh: function (e) {
  12753. e && (this.option = e || this.option, this.option.roamController = this.reformOption(this.option.roamController), this.rcOption = this.option.roamController), this.clear(), this._buildShape()
  12754. }
  12755. }, s.inherits(t, i), e("../component").define("roamController", t), t
  12756. }),i("echarts/layer/heatmap", ["require"], function () {
  12757. function e(e) {
  12758. if (this.option = e, e) for (var i in t) this.option[i] = void 0 !== e[i] ? e[i] : t[i]; else this.option = t
  12759. }
  12760. var t = {
  12761. blurSize: 30,
  12762. gradientColors: ["blue", "cyan", "lime", "yellow", "red"],
  12763. minAlpha: .05,
  12764. valueScale: 1,
  12765. opacity: 1
  12766. }, i = 20, n = 256;
  12767. return e.prototype = {
  12768. getCanvas: function (e, t, a) {
  12769. var o = this._getBrush(), r = this._getGradient(), s = i + this.option.blurSize,
  12770. l = document.createElement("canvas");
  12771. l.width = t, l.height = a;
  12772. for (var h = l.getContext("2d"), m = e.length, V = 0; m > V; ++V) {
  12773. var U = e[V], d = U[0], p = U[1], c = U[2],
  12774. u = Math.min(1, Math.max(c * this.option.valueScale || this.option.minAlpha, this.option.minAlpha));
  12775. h.globalAlpha = u, h.drawImage(o, d - s, p - s)
  12776. }
  12777. for (var y = h.getImageData(0, 0, l.width, l.height), g = y.data, m = g.length / 4; m--;) {
  12778. var b = 4 * m + 3, u = g[b] / 256, f = Math.floor(u * (n - 1));
  12779. 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
  12780. }
  12781. return h.putImageData(y, 0, 0), l
  12782. }, _getBrush: function () {
  12783. if (!this._brushCanvas) {
  12784. this._brushCanvas = document.createElement("canvas");
  12785. var e = i + this.option.blurSize, t = 2 * e;
  12786. this._brushCanvas.width = t, this._brushCanvas.height = t;
  12787. var n = this._brushCanvas.getContext("2d");
  12788. 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()
  12789. }
  12790. return this._brushCanvas
  12791. }, _getGradient: function () {
  12792. if (!this._gradientPixels) {
  12793. var e = n, t = document.createElement("canvas");
  12794. t.width = 1, t.height = e;
  12795. 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);
  12796. i.fillStyle = a, i.fillRect(0, 0, 1, e), this._gradientPixels = i.getImageData(0, 0, 1, e).data
  12797. }
  12798. return this._gradientPixels
  12799. }
  12800. }, e
  12801. }),i("echarts/util/mapData/params", ["require"], function (e) {
  12802. function t(e) {
  12803. if (!e.UTF8Encoding) return e;
  12804. for (var t = e.features, n = 0; n < t.length; n++) for (var a = t[n], o = a.geometry.coordinates, r = a.geometry.encodeOffsets, s = 0; s < o.length; s++) {
  12805. var l = o[s];
  12806. if ("Polygon" === a.geometry.type) o[s] = i(l, r[s]); else if ("MultiPolygon" === a.geometry.type) for (var h = 0; h < l.length; h++) {
  12807. var m = l[h];
  12808. l[h] = i(m, r[s][h])
  12809. }
  12810. }
  12811. return e.UTF8Encoding = !1, e
  12812. }
  12813. function i(e, t) {
  12814. for (var i = [], n = t[0], a = t[1], o = 0; o < e.length; o += 2) {
  12815. var r = e.charCodeAt(o) - 64, s = e.charCodeAt(o + 1) - 64;
  12816. r = r >> 1 ^ -(1 & r), s = s >> 1 ^ -(1 & s), r += n, s += a, n = r, a = s, i.push([r / 1024, s / 1024])
  12817. }
  12818. return i
  12819. }
  12820. var n = {
  12821. none: {
  12822. getGeoJson: function (e) {
  12823. e({
  12824. type: "FeatureCollection",
  12825. features: [{
  12826. type: "Feature",
  12827. geometry: {coordinates: [], encodeOffsets: [], type: "Polygon"},
  12828. properties: {}
  12829. }]
  12830. })
  12831. }
  12832. }, world: {
  12833. getGeoJson: function (i) {
  12834. e(["./geoJson/world_geo"], function (e) {
  12835. i(t(e))
  12836. })
  12837. }
  12838. }, china: {
  12839. getGeoJson: function (i) {
  12840. e(["./geoJson/china_geo"], function (e) {
  12841. i(t(e))
  12842. })
  12843. }
  12844. }, "南海诸岛": {
  12845. textCoord: [126, 25], getPath: function (e, t) {
  12846. for (var i = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, .7], [52, .7], [56, 7.7], [59, .7], [64, .7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]], n = "", a = e[0], o = e[1], r = 0, s = i.length; s > r; r++) {
  12847. n += "M " + ((i[r][0][0] * t + a).toFixed(2) - 0) + " " + ((i[r][0][1] * t + o).toFixed(2) - 0) + " ";
  12848. 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) + " "
  12849. }
  12850. return n + " Z"
  12851. }
  12852. }, "新疆": {
  12853. getGeoJson: function (i) {
  12854. e(["./geoJson/xin_jiang_geo"], function (e) {
  12855. i(t(e))
  12856. })
  12857. }
  12858. }, "西藏": {
  12859. getGeoJson: function (i) {
  12860. e(["./geoJson/xi_zang_geo"], function (e) {
  12861. i(t(e))
  12862. })
  12863. }
  12864. }, "内蒙古": {
  12865. getGeoJson: function (i) {
  12866. e(["./geoJson/nei_meng_gu_geo"], function (e) {
  12867. i(t(e))
  12868. })
  12869. }
  12870. }, "青海": {
  12871. getGeoJson: function (i) {
  12872. e(["./geoJson/qing_hai_geo"], function (e) {
  12873. i(t(e))
  12874. })
  12875. }
  12876. }, "四川": {
  12877. getGeoJson: function (i) {
  12878. e(["./geoJson/si_chuan_geo"], function (e) {
  12879. i(t(e))
  12880. })
  12881. }
  12882. }, "黑龙江": {
  12883. getGeoJson: function (i) {
  12884. e(["./geoJson/hei_long_jiang_geo"], function (e) {
  12885. i(t(e))
  12886. })
  12887. }
  12888. }, "甘肃": {
  12889. getGeoJson: function (i) {
  12890. e(["./geoJson/gan_su_geo"], function (e) {
  12891. i(t(e))
  12892. })
  12893. }
  12894. }, "云南": {
  12895. getGeoJson: function (i) {
  12896. e(["./geoJson/yun_nan_geo"], function (e) {
  12897. i(t(e))
  12898. })
  12899. }
  12900. }, "广西": {
  12901. getGeoJson: function (i) {
  12902. e(["./geoJson/guang_xi_geo"], function (e) {
  12903. i(t(e))
  12904. })
  12905. }
  12906. }, "湖南": {
  12907. getGeoJson: function (i) {
  12908. e(["./geoJson/hu_nan_geo"], function (e) {
  12909. i(t(e))
  12910. })
  12911. }
  12912. }, "陕西": {
  12913. getGeoJson: function (i) {
  12914. e(["./geoJson/shan_xi_1_geo"], function (e) {
  12915. i(t(e))
  12916. })
  12917. }
  12918. }, "广东": {
  12919. getGeoJson: function (i) {
  12920. e(["./geoJson/guang_dong_geo"], function (e) {
  12921. i(t(e))
  12922. })
  12923. }
  12924. }, "吉林": {
  12925. getGeoJson: function (i) {
  12926. e(["./geoJson/ji_lin_geo"], function (e) {
  12927. i(t(e))
  12928. })
  12929. }
  12930. }, "河北": {
  12931. getGeoJson: function (i) {
  12932. e(["./geoJson/he_bei_geo"], function (e) {
  12933. i(t(e))
  12934. })
  12935. }
  12936. }, "湖北": {
  12937. getGeoJson: function (i) {
  12938. e(["./geoJson/hu_bei_geo"], function (e) {
  12939. i(t(e))
  12940. })
  12941. }
  12942. }, "贵州": {
  12943. getGeoJson: function (i) {
  12944. e(["./geoJson/gui_zhou_geo"], function (e) {
  12945. i(t(e))
  12946. })
  12947. }
  12948. }, "山东": {
  12949. getGeoJson: function (i) {
  12950. e(["./geoJson/shan_dong_geo"], function (e) {
  12951. i(t(e))
  12952. })
  12953. }
  12954. }, "江西": {
  12955. getGeoJson: function (i) {
  12956. e(["./geoJson/jiang_xi_geo"], function (e) {
  12957. i(t(e))
  12958. })
  12959. }
  12960. }, "河南": {
  12961. getGeoJson: function (i) {
  12962. e(["./geoJson/he_nan_geo"], function (e) {
  12963. i(t(e))
  12964. })
  12965. }
  12966. }, "辽宁": {
  12967. getGeoJson: function (i) {
  12968. e(["./geoJson/liao_ning_geo"], function (e) {
  12969. i(t(e))
  12970. })
  12971. }
  12972. }, "山西": {
  12973. getGeoJson: function (i) {
  12974. e(["./geoJson/shan_xi_2_geo"], function (e) {
  12975. i(t(e))
  12976. })
  12977. }
  12978. }, "安徽": {
  12979. getGeoJson: function (i) {
  12980. e(["./geoJson/an_hui_geo"], function (e) {
  12981. i(t(e))
  12982. })
  12983. }
  12984. }, "福建": {
  12985. getGeoJson: function (i) {
  12986. e(["./geoJson/fu_jian_geo"], function (e) {
  12987. i(t(e))
  12988. })
  12989. }
  12990. }, "浙江": {
  12991. getGeoJson: function (i) {
  12992. e(["./geoJson/zhe_jiang_geo"], function (e) {
  12993. i(t(e))
  12994. })
  12995. }
  12996. }, "江苏": {
  12997. getGeoJson: function (i) {
  12998. e(["./geoJson/jiang_su_geo"], function (e) {
  12999. i(t(e))
  13000. })
  13001. }
  13002. }, "重庆": {
  13003. getGeoJson: function (i) {
  13004. e(["./geoJson/chong_qing_geo"], function (e) {
  13005. i(t(e))
  13006. })
  13007. }
  13008. }, "宁夏": {
  13009. getGeoJson: function (i) {
  13010. e(["./geoJson/ning_xia_geo"], function (e) {
  13011. i(t(e))
  13012. })
  13013. }
  13014. }, "海南": {
  13015. getGeoJson: function (i) {
  13016. e(["./geoJson/hai_nan_geo"], function (e) {
  13017. i(t(e))
  13018. })
  13019. }
  13020. }, "台湾": {
  13021. getGeoJson: function (i) {
  13022. e(["./geoJson/tai_wan_geo"], function (e) {
  13023. i(t(e))
  13024. })
  13025. }
  13026. }, "北京": {
  13027. getGeoJson: function (i) {
  13028. e(["./geoJson/bei_jing_geo"], function (e) {
  13029. i(t(e))
  13030. })
  13031. }
  13032. }, "天津": {
  13033. getGeoJson: function (i) {
  13034. e(["./geoJson/tian_jin_geo"], function (e) {
  13035. i(t(e))
  13036. })
  13037. }
  13038. }, "上海": {
  13039. getGeoJson: function (i) {
  13040. e(["./geoJson/shang_hai_geo"], function (e) {
  13041. i(t(e))
  13042. })
  13043. }
  13044. }, "香港": {
  13045. getGeoJson: function (i) {
  13046. e(["./geoJson/xiang_gang_geo"], function (e) {
  13047. i(t(e))
  13048. })
  13049. }
  13050. }, "澳门": {
  13051. getGeoJson: function (i) {
  13052. e(["./geoJson/ao_men_geo"], function (e) {
  13053. i(t(e))
  13054. })
  13055. }
  13056. }
  13057. };
  13058. return {decode: t, params: n}
  13059. }),i("echarts/util/mapData/textFixed", [], function () {
  13060. return {
  13061. "广东": [0, -10],
  13062. "香港": [10, 10],
  13063. "澳门": [-10, 18],
  13064. "黑龙江": [0, 20],
  13065. "天津": [5, 5],
  13066. "深圳市": [-35, 0],
  13067. "红河哈尼族彝族自治州": [0, 20],
  13068. "楚雄彝族自治州": [-5, 15],
  13069. "石河子市": [-5, 5],
  13070. "五家渠市": [0, -10],
  13071. "昌吉回族自治州": [10, 10],
  13072. "昌江黎族自治县": [0, 20],
  13073. "陵水黎族自治县": [0, 20],
  13074. "东方市": [0, 20],
  13075. "渭南市": [0, 20]
  13076. }
  13077. }),i("echarts/util/mapData/geoCoord", [], function () {
  13078. return {Russia: [100, 60], "United States of America": [-99, 38]}
  13079. }),i("echarts/util/projection/svg", ["require", "zrender/shape/Path"], function (e) {
  13080. function t(e) {
  13081. return parseFloat(e || 0)
  13082. }
  13083. function i(e) {
  13084. for (var i = e.firstChild; "svg" != i.nodeName.toLowerCase() || 1 != i.nodeType;) i = i.nextSibling;
  13085. var n = t(i.getAttribute("x")), a = t(i.getAttribute("y")), o = t(i.getAttribute("width")),
  13086. r = t(i.getAttribute("height"));
  13087. return {left: n, top: a, width: o, height: r}
  13088. }
  13089. function n(e, t) {
  13090. function i(e) {
  13091. var t = e.tagName;
  13092. if (m[t]) {
  13093. var o = m[t](e, n);
  13094. o && (o.scale = n, o.properties = {name: e.getAttribute("name") || ""}, o.id = e.id, s(o, e), a.push(o))
  13095. }
  13096. for (var r = e.childNodes, l = 0, h = r.length; h > l; l++) i(r[l])
  13097. }
  13098. var n = [t.scale.x, t.scale.y], a = [];
  13099. return i(e), a
  13100. }
  13101. function a(e, t) {
  13102. var i = t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y];
  13103. return [i[0] / e.scale.x, i[1] / e.scale.y]
  13104. }
  13105. function o(e, t) {
  13106. var i = t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y];
  13107. return [i[0] * e.scale.x, i[1] * e.scale.y]
  13108. }
  13109. function r(e) {
  13110. return e.replace(/^\s\s*/, "").replace(/\s\s*$/, "")
  13111. }
  13112. function s(e, t) {
  13113. var i = t.getAttribute("fill"), n = t.getAttribute("stroke"), a = t.getAttribute("stroke-width"),
  13114. o = t.getAttribute("opacity");
  13115. 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))
  13116. }
  13117. function l(e) {
  13118. for (var t = r(e).replace(/,/g, " ").split(/\s+/), i = [], n = 0; n < t.length;) {
  13119. var a = parseFloat(t[n++]), o = parseFloat(t[n++]);
  13120. i.push([a, o])
  13121. }
  13122. return i
  13123. }
  13124. var h = e("zrender/shape/Path"), m = {
  13125. path: function (e, t) {
  13126. var i = e.getAttribute("d"), n = h.prototype.getRect({path: i});
  13127. return {shapeType: "path", path: i, cp: [(n.x + n.width / 2) * t[0], (n.y + n.height / 2) * t[1]]}
  13128. }, rect: function (e, i) {
  13129. var n = t(e.getAttribute("x")), a = t(e.getAttribute("y")), o = t(e.getAttribute("width")),
  13130. r = t(e.getAttribute("height"));
  13131. return {
  13132. shapeType: "rectangle",
  13133. x: n,
  13134. y: a,
  13135. width: o,
  13136. height: r,
  13137. cp: [(n + o / 2) * i[0], (a + r / 2) * i[1]]
  13138. }
  13139. }, line: function (e, i) {
  13140. var n = t(e.getAttribute("x1")), a = t(e.getAttribute("y1")), o = t(e.getAttribute("x2")),
  13141. r = t(e.getAttribute("y2"));
  13142. return {
  13143. shapeType: "line",
  13144. xStart: n,
  13145. yStart: a,
  13146. xEnd: o,
  13147. yEnd: r,
  13148. cp: [.5 * (n + o) * i[0], .5 * (a + r) * i[1]]
  13149. }
  13150. }, circle: function (e, i) {
  13151. var n = t(e.getAttribute("cx")), a = t(e.getAttribute("cy")), o = t(e.getAttribute("r"));
  13152. return {shapeType: "circle", x: n, y: a, r: o, cp: [n * i[0], a * i[1]]}
  13153. }, ellipse: function (e, t) {
  13154. var i = parseFloat(e.getAttribute("cx") || 0), n = parseFloat(e.getAttribute("cy") || 0),
  13155. a = parseFloat(e.getAttribute("rx") || 0), o = parseFloat(e.getAttribute("ry") || 0);
  13156. return {shapeType: "ellipse", x: i, y: n, a: a, b: o, cp: [i * t[0], n * t[1]]}
  13157. }, polygon: function (e, t) {
  13158. var i = e.getAttribute("points"), n = [1 / 0, 1 / 0], a = [-(1 / 0), -(1 / 0)];
  13159. if (i) {
  13160. i = l(i);
  13161. for (var o = 0; o < i.length; o++) {
  13162. var r = i[o];
  13163. 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])
  13164. }
  13165. return {
  13166. shapeType: "polygon",
  13167. pointList: i,
  13168. cp: [(n[0] + a[0]) / 2 * t[0], (n[1] + a[1]) / 2 * t[0]]
  13169. }
  13170. }
  13171. }, polyline: function (e, t) {
  13172. var i = m.polygon(e, t);
  13173. return i
  13174. }
  13175. };
  13176. return {getBbox: i, geoJson2Path: n, pos2geo: a, geo2pos: o}
  13177. }),i("echarts/util/projection/normal", [], function () {
  13178. function e(e, i) {
  13179. return i = i || {}, e.srcSize || t(e, i), e.srcSize
  13180. }
  13181. function t(e, t) {
  13182. t = t || {}, r.xmin = 360, r.xmax = -360, r.ymin = 180, r.ymax = -180;
  13183. for (var i, n, a = e.features, o = 0, s = a.length; s > o; o++) if (n = a[o], !n.properties.name || !t[n.properties.name]) switch (n.type) {
  13184. case"Feature":
  13185. r[n.geometry.type](n.geometry.coordinates);
  13186. break;
  13187. case"GeometryCollection":
  13188. i = n.geometries;
  13189. for (var l = 0, h = i.length; h > l; l++) r[i[l].type](i[l].coordinates)
  13190. }
  13191. return e.srcSize = {
  13192. left: 1 * r.xmin.toFixed(4),
  13193. top: 1 * r.ymin.toFixed(4),
  13194. width: 1 * (r.xmax - r.xmin).toFixed(4),
  13195. height: 1 * (r.ymax - r.ymin).toFixed(4)
  13196. }, e
  13197. }
  13198. function i(e, i, n) {
  13199. function a(e, t) {
  13200. c = e.type, u = e.coordinates, o._bbox = {
  13201. xmin: 360,
  13202. xmax: -360,
  13203. ymin: 180,
  13204. ymax: -180
  13205. }, y = o[c](u), m.push({
  13206. path: y,
  13207. cp: o.makePoint(t.properties.cp ? t.properties.cp : [(o._bbox.xmin + o._bbox.xmax) / 2, (o._bbox.ymin + o._bbox.ymax) / 2]),
  13208. properties: t.properties,
  13209. id: t.id
  13210. })
  13211. }
  13212. n = n || {}, o.scale = null, o.offset = null, e.srcSize || t(e, n), i.offset = {
  13213. x: e.srcSize.left,
  13214. y: e.srcSize.top,
  13215. left: i.OffsetLeft || 0,
  13216. top: i.OffsetTop || 0
  13217. }, o.scale = i.scale, o.offset = i.offset;
  13218. for (var r, s, l, h = e.features, m = [], V = 0, U = h.length; U > V; V++) if (l = h[V], !l.properties.name || !n[l.properties.name]) if ("Feature" == l.type) a(l.geometry, l); else if ("GeometryCollection" == l.type) {
  13219. r = l.geometries;
  13220. for (var d = 0, p = r.length; p > d; d++) s = r[d], a(s, s)
  13221. }
  13222. var c, u, y;
  13223. return m
  13224. }
  13225. function n(e, t) {
  13226. var i, n;
  13227. 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]
  13228. }
  13229. function a(e, t) {
  13230. 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])
  13231. }
  13232. var o = {
  13233. formatPoint: function (e) {
  13234. return [(e[0] < -168.5 && e[1] > 63.8 ? e[0] + 360 : e[0]) + 168.5, 90 - e[1]]
  13235. }, makePoint: function (e) {
  13236. var t = this, i = t.formatPoint(e);
  13237. 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]);
  13238. var n = (i[0] - o.offset.x) * o.scale.x + o.offset.left,
  13239. a = (i[1] - o.offset.y) * o.scale.y + o.offset.top;
  13240. return [n, a]
  13241. }, Point: function (e) {
  13242. return e = this.makePoint(e), e.join(",")
  13243. }, LineString: function (e) {
  13244. 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(",");
  13245. return i
  13246. }, Polygon: function (e) {
  13247. for (var t = "", i = 0, n = e.length; n > i; i++) t = t + o.LineString(e[i]) + "z";
  13248. return t
  13249. }, MultiPoint: function (e) {
  13250. for (var t = [], i = 0, n = e.length; n > i; i++) t.push(o.Point(e[i]));
  13251. return t
  13252. }, MultiLineString: function (e) {
  13253. for (var t = "", i = 0, n = e.length; n > i; i++) t += o.LineString(e[i]);
  13254. return t
  13255. }, MultiPolygon: function (e) {
  13256. for (var t = "", i = 0, n = e.length; n > i; i++) t += o.Polygon(e[i]);
  13257. return t
  13258. }
  13259. }, r = {
  13260. formatPoint: o.formatPoint, makePoint: function (e) {
  13261. var t = this, i = t.formatPoint(e), n = i[0], a = i[1];
  13262. t.xmin > n && (t.xmin = n), t.xmax < n && (t.xmax = n), t.ymin > a && (t.ymin = a), t.ymax < a && (t.ymax = a)
  13263. }, Point: function (e) {
  13264. this.makePoint(e)
  13265. }, LineString: function (e) {
  13266. for (var t = 0, i = e.length; i > t; t++) this.makePoint(e[t])
  13267. }, Polygon: function (e) {
  13268. for (var t = 0, i = e.length; i > t; t++) this.LineString(e[t])
  13269. }, MultiPoint: function (e) {
  13270. for (var t = 0, i = e.length; i > t; t++) this.Point(e[t])
  13271. }, MultiLineString: function (e) {
  13272. for (var t = 0, i = e.length; i > t; t++) this.LineString(e[t])
  13273. }, MultiPolygon: function (e) {
  13274. for (var t = 0, i = e.length; i > t; t++) this.Polygon(e[t])
  13275. }
  13276. };
  13277. return {getBbox: e, geoJson2Path: i, pos2geo: n, geo2pos: a}
  13278. }),i("echarts/util/mapData/geoJson/an_hui_geo", [], function () {
  13279. return {
  13280. type: "FeatureCollection",
  13281. features: [{
  13282. type: "Feature",
  13283. id: "3415",
  13284. properties: {name: "六安市", cp: [116.3123, 31.8329], childNum: 6},
  13285. geometry: {
  13286. type: "Polygon",
  13287. 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"],
  13288. encodeOffsets: [[118710, 33351]]
  13289. }
  13290. }, {
  13291. type: "Feature",
  13292. id: "3408",
  13293. properties: {name: "安庆市", cp: [116.7517, 30.5255], childNum: 9},
  13294. geometry: {
  13295. type: "Polygon",
  13296. 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"],
  13297. encodeOffsets: [[118834, 31759]]
  13298. }
  13299. }, {
  13300. type: "Feature",
  13301. id: "3411",
  13302. properties: {name: "滁州市", cp: [118.1909, 32.536], childNum: 7},
  13303. geometry: {
  13304. type: "Polygon",
  13305. 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"],
  13306. encodeOffsets: [[120004, 33520]]
  13307. }
  13308. }, {
  13309. type: "Feature",
  13310. id: "3418",
  13311. properties: {name: "宣城市", cp: [118.8062, 30.6244], childNum: 7},
  13312. geometry: {
  13313. type: "Polygon",
  13314. 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"],
  13315. encodeOffsets: [[120803, 31247]]
  13316. }
  13317. }, {
  13318. type: "Feature",
  13319. id: "3412",
  13320. properties: {name: "阜阳市", cp: [115.7629, 32.9919], childNum: 6},
  13321. geometry: {
  13322. type: "Polygon",
  13323. 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"],
  13324. encodeOffsets: [[118418, 34392]]
  13325. }
  13326. }, {
  13327. type: "Feature",
  13328. id: "3413",
  13329. properties: {name: "宿州市", cp: [117.5208, 33.6841], childNum: 5},
  13330. geometry: {
  13331. type: "Polygon",
  13332. 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"],
  13333. encodeOffsets: [[119836, 35061]]
  13334. }
  13335. }, {
  13336. type: "Feature",
  13337. id: "3410",
  13338. properties: {name: "黄山市", cp: [118.0481, 29.9542], childNum: 5},
  13339. geometry: {
  13340. type: "Polygon",
  13341. 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˜"],
  13342. encodeOffsets: [[120747, 31095]]
  13343. }
  13344. }, {
  13345. type: "Feature",
  13346. id: "3414",
  13347. properties: {name: "巢湖市", cp: [117.7734, 31.4978], childNum: 5},
  13348. geometry: {
  13349. type: "Polygon",
  13350. 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"],
  13351. encodeOffsets: [[119847, 32007]]
  13352. }
  13353. }, {
  13354. type: "Feature",
  13355. id: "3416",
  13356. properties: {name: "亳州市", cp: [116.1914, 33.4698], childNum: 4},
  13357. geometry: {
  13358. type: "Polygon",
  13359. 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"],
  13360. encodeOffsets: [[119183, 34594]]
  13361. }
  13362. }, {
  13363. type: "Feature",
  13364. id: "3417",
  13365. properties: {name: "池州市", cp: [117.3889, 30.2014], childNum: 4},
  13366. geometry: {
  13367. type: "Polygon",
  13368. 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¯@"],
  13369. encodeOffsets: [[119543, 30781], [120061, 31152]]
  13370. }
  13371. }, {
  13372. type: "Feature",
  13373. id: "3401",
  13374. properties: {name: "合肥市", cp: [117.29, 32.0581], childNum: 4},
  13375. geometry: {
  13376. type: "Polygon",
  13377. 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¦"],
  13378. encodeOffsets: [[119678, 33323]]
  13379. }
  13380. }, {
  13381. type: "Feature",
  13382. id: "3403",
  13383. properties: {name: "蚌埠市", cp: [117.4109, 33.1073], childNum: 4},
  13384. geometry: {
  13385. type: "Polygon",
  13386. 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"],
  13387. encodeOffsets: [[119543, 33722]]
  13388. }
  13389. }, {
  13390. type: "Feature",
  13391. id: "3402",
  13392. properties: {name: "芜湖市", cp: [118.3557, 31.0858], childNum: 4},
  13393. geometry: {
  13394. type: "Polygon",
  13395. 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"],
  13396. encodeOffsets: [[120814, 31585]]
  13397. }
  13398. }, {
  13399. type: "Feature",
  13400. id: "3406",
  13401. properties: {name: "淮北市", cp: [116.6968, 33.6896], childNum: 3},
  13402. geometry: {
  13403. type: "MultiPolygon",
  13404. coordinates: [["@@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"], ["@@VVVkV@¥@UV@U@VUUJƒkWakKUšlXVJ@bXV@blX@aXV@V"]],
  13405. encodeOffsets: [[[119183, 34594]], [[119836, 35061]]]
  13406. }
  13407. }, {
  13408. type: "Feature",
  13409. id: "3404",
  13410. properties: {name: "淮南市", cp: [116.7847, 32.7722], childNum: 2},
  13411. geometry: {
  13412. type: "Polygon",
  13413. 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"],
  13414. encodeOffsets: [[119543, 33722]]
  13415. }
  13416. }, {
  13417. type: "Feature",
  13418. id: "3405",
  13419. properties: {name: "马鞍山市", cp: [118.6304, 31.5363], childNum: 2},
  13420. geometry: {
  13421. type: "Polygon",
  13422. 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"],
  13423. encodeOffsets: [[121219, 32288]]
  13424. }
  13425. }, {
  13426. type: "Feature",
  13427. id: "3407",
  13428. properties: {name: "铜陵市", cp: [117.9382, 30.9375], childNum: 3},
  13429. geometry: {
  13430. type: "MultiPolygon",
  13431. coordinates: [["@@„ÒV¤@¼V²@aVV@Ž@„„x°Vš£nW‚@nbnaVXVW@k@aV@VUœUl™°JUkVm@U@UkK¯WVkKWkU@Ubƒakwmlwm@ƒkUmƒUUKU@@VmLUbVLUV¯U"], ["@@LllUL@VlxšL@a@UƒwXamK"]],
  13432. encodeOffsets: [[[120522, 31529]], [[120094, 31146]]]
  13433. }
  13434. }],
  13435. UTF8Encoding: !0
  13436. }
  13437. }),i("echarts/util/mapData/geoJson/ao_men_geo", [], function () {
  13438. return {
  13439. type: "FeatureCollection",
  13440. features: [{
  13441. type: "Feature",
  13442. id: "8200",
  13443. properties: {name: "澳门", cp: [113.5715, 22.1583], childNum: 1},
  13444. geometry: {
  13445. type: "Polygon",
  13446. coordinates: ["@@HQFMDIDGBI@E@EEKEGCEIGGEKEMGSEU@CBEDAJAP@F@LBT@JCHMPOdADCFADAB@LFLDFFP@DAB@@AF@D@B@@FBD@FADHBBHAD@FAJ@JEDCJI`gFIJW"],
  13447. encodeOffsets: [[116325, 22699]]
  13448. }
  13449. }],
  13450. UTF8Encoding: !0
  13451. }
  13452. }),i("echarts/util/mapData/geoJson/bei_jing_geo", [], function () {
  13453. return {
  13454. type: "FeatureCollection",
  13455. features: [{
  13456. type: "Feature",
  13457. id: "110228",
  13458. properties: {name: "密云县", cp: [117.0923, 40.5121], childNum: 1},
  13459. geometry: {
  13460. type: "Polygon",
  13461. 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"],
  13462. encodeOffsets: [[119561, 41684]]
  13463. }
  13464. }, {
  13465. type: "Feature",
  13466. id: "110116",
  13467. properties: {name: "怀柔区", cp: [116.6377, 40.6219], childNum: 1},
  13468. geometry: {
  13469. type: "Polygon",
  13470. 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"],
  13471. encodeOffsets: [[119314, 41552]]
  13472. }
  13473. }, {
  13474. type: "Feature",
  13475. id: "110111",
  13476. properties: {name: "房山区", cp: [115.8453, 39.7163], childNum: 1},
  13477. geometry: {
  13478. type: "Polygon",
  13479. 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"],
  13480. encodeOffsets: [[118343, 40770]]
  13481. }
  13482. }, {
  13483. type: "Feature",
  13484. id: "110229",
  13485. properties: {name: "延庆县", cp: [116.1543, 40.5286], childNum: 1},
  13486. geometry: {
  13487. type: "Polygon",
  13488. 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"],
  13489. encodeOffsets: [[119262, 41751]]
  13490. }
  13491. }, {
  13492. type: "Feature",
  13493. id: "110109",
  13494. properties: {name: "门头沟区", cp: [115.8, 39.9957], childNum: 1},
  13495. geometry: {
  13496. type: "Polygon",
  13497. 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"],
  13498. encodeOffsets: [[118635, 41113]]
  13499. }
  13500. }, {
  13501. type: "Feature",
  13502. id: "110114",
  13503. properties: {name: "昌平区", cp: [116.1777, 40.2134], childNum: 1},
  13504. geometry: {
  13505. type: "Polygon",
  13506. 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"],
  13507. encodeOffsets: [[118750, 41232]]
  13508. }
  13509. }, {
  13510. type: "Feature",
  13511. id: "110115",
  13512. properties: {name: "大兴区", cp: [116.4716, 39.6352], childNum: 1},
  13513. geometry: {
  13514. type: "Polygon",
  13515. 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"],
  13516. encodeOffsets: [[119042, 40704]]
  13517. }
  13518. }, {
  13519. type: "Feature",
  13520. id: "110113",
  13521. properties: {name: "顺义区", cp: [116.7242, 40.1619], childNum: 1},
  13522. geometry: {
  13523. type: "Polygon",
  13524. 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"],
  13525. encodeOffsets: [[119283, 41084], [119377, 41046]]
  13526. }
  13527. }, {
  13528. type: "Feature",
  13529. id: "110117",
  13530. properties: {name: "平谷区", cp: [117.1706, 40.2052], childNum: 1},
  13531. geometry: {
  13532. type: "Polygon",
  13533. 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"],
  13534. encodeOffsets: [[119748, 41190]]
  13535. }
  13536. }, {
  13537. type: "Feature",
  13538. id: "110112",
  13539. properties: {name: "通州区", cp: [116.7297, 39.8131], childNum: 1},
  13540. geometry: {
  13541. type: "Polygon",
  13542. 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"],
  13543. encodeOffsets: [[119329, 40782]]
  13544. }
  13545. }, {
  13546. type: "Feature",
  13547. id: "110105",
  13548. properties: {name: "朝阳区", cp: [116.4977, 39.949], childNum: 2},
  13549. geometry: {
  13550. type: "MultiPolygon",
  13551. coordinates: [["@@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"], ["@@HUN‹AJKADGECBCMAG^E@EbI@BEGPKrJEH[\\B@FF@CHFB"]],
  13552. encodeOffsets: [[[119169, 40992]], [[119398, 41063]]]
  13553. }
  13554. }, {
  13555. type: "Feature",
  13556. id: "110108",
  13557. properties: {name: "海淀区", cp: [116.2202, 40.0239], childNum: 1},
  13558. geometry: {
  13559. type: "Polygon",
  13560. 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"],
  13561. encodeOffsets: [[118834, 41050]]
  13562. }
  13563. }, {
  13564. type: "Feature",
  13565. id: "110106",
  13566. properties: {name: "丰台区", cp: [116.2683, 39.8309], childNum: 1},
  13567. geometry: {
  13568. type: "Polygon",
  13569. 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"],
  13570. encodeOffsets: [[118958, 40846]]
  13571. }
  13572. }, {
  13573. type: "Feature",
  13574. id: "110107",
  13575. properties: {name: "石景山区", cp: [116.1887, 39.9346], childNum: 1},
  13576. geometry: {
  13577. type: "Polygon",
  13578. coordinates: ["@@NQPHLMJBDNJEFCAONSPIFIVODIF@@EKMFEC@DGQCAQZDbCdJ@GEAFC@]@EJ@DCSB[EGII@@GI@@GEBAIQDDESRMEM@gNYTIRKJAJEJ[DFJKLGBGNBJLDCDAHGBJJAFBLEXTLZFBAFDLD"],
  13579. encodeOffsets: [[118940, 40953]]
  13580. }
  13581. }, {
  13582. type: "Feature",
  13583. id: "110102",
  13584. properties: {name: "西城区", cp: [116.3631, 39.9353], childNum: 1},
  13585. geometry: {
  13586. type: "Polygon",
  13587. coordinates: ["@@XBDA@EIACM@IJAD]BC@SFABISAD]H@@OAEDQEW@BLE„MD@FLDh@@LDBF@@M`J@fTB@H"],
  13588. encodeOffsets: [[119175, 40932]]
  13589. }
  13590. }, {
  13591. type: "Feature",
  13592. id: "110101",
  13593. properties: {name: "东城区", cp: [116.418, 39.9367], childNum: 1},
  13594. geometry: {
  13595. type: "Polygon",
  13596. coordinates: ["@@DBf@@VDA@OF@@CT@FEH@@GADBMTBBECCRCGG@YS@@gDK@A‘C@PG@C^TBAJEB@TADC^IB@J"],
  13597. encodeOffsets: [[119182, 40921]]
  13598. }
  13599. }, {
  13600. type: "Feature",
  13601. id: "110104",
  13602. properties: {name: "宣武区", cp: [116.3603, 39.8852], childNum: 1},
  13603. geometry: {
  13604. type: "Polygon",
  13605. coordinates: ["@@RBX@RFFCŽBFU@aK@WA}CCJGAEFkCBRFD@JB@@N"],
  13606. encodeOffsets: [[119118, 40855]]
  13607. }
  13608. }, {
  13609. type: "Feature",
  13610. id: "110103",
  13611. properties: {name: "崇文区", cp: [116.4166, 39.8811], childNum: 1},
  13612. geometry: {
  13613. type: "Polygon",
  13614. coordinates: ["@@XBL@@bEV’D@BX@AC@MHA@EIBCCDSEMmB@EIDBME@@MG@EDUCENWD@H"],
  13615. encodeOffsets: [[119175, 40829]]
  13616. }
  13617. }],
  13618. UTF8Encoding: !0
  13619. }
  13620. }),i("echarts/util/mapData/geoJson/china_geo", [], function () {
  13621. return {
  13622. type: "FeatureCollection",
  13623. features: [{
  13624. type: "Feature",
  13625. id: "xin_jiang",
  13626. properties: {name: "新疆", cp: [84.9023, 41.748], childNum: 18},
  13627. geometry: {
  13628. type: "Polygon",
  13629. coordinates: ["@@@›ρȁôƧƦóəʵסʵóƪԫʵѵͩƧͩړ›υࡓɛʵ@ȃ@óᇑѵƨɝɚôóНѺͩɜ̏ԭʵôƧɞñ@υƩ—݇ȂóƩƧ@ѵȂυœƥŌਗ—॥ɛóʵѵƧѹ˜݇̍ࢯ˜əɞυ˜ρͩ̏óਙƨƧŋôōóš̍ͩóʵן›óŋړͪƧѶ@ɜԭ—ԫƦɛȄ̍›ɝȄöςƩȂ̏œñȀ̏œƩóóŎə˜@Ő̎@ɞȀɝŎôƨóנѵȄƧ@óŏɝœóɜôŎ̍ͨςŎ@ƨóôƨɞ݈ʶóƨφó̎Ȁƨ̍ԮòѸԮמ@ѺȀ@ƪၬֆòȂñ̐òȂɜ˜óƨ̒Ŏ̑߼@φρȀ@Ő๐ς̎Ƨφ@ɝφڔ೦Ԯǿࢰ@ƦŏԮƨƨȄƧ۬ɜʶڔŐɚɚóŐôƨ߼˜ôƧƧó̐ƥóŏѺǿƦȁφƧς˜ƨƧ̒@ɜƥƦυ̐ɛƪͩƩəƪʷ̑ə@ȃƨʵנŋྸōਚԭԪ—@ɝƨŋ̒օςʵôƧ"],
  13630. encodeOffsets: [[98730, 43786]]
  13631. }
  13632. }, {
  13633. type: "Feature",
  13634. id: "xi_zang",
  13635. properties: {name: "西藏", cp: [88.7695, 31.6846], childNum: 7},
  13636. geometry: {
  13637. type: "Polygon",
  13638. coordinates: ["@@ôŌנœôʶ̎ͪô™óŎƨŌਚƧ̐ôςͪφ—ɚɝࢰ—݈̎Ѻ—Ѷƨôʶ०ɜਘ˜Ʀŋφ›Ѷȁ̍—ôŏɚŋ@̑ə—@ŏò̍ɜ›óƥôʷƧ̍φѹԪ̍ע@Ѹʷɜ@ôñנ@Ѷɛɞô̐ŏѶƨѸƧƥōƦœôŏô—@ƧôƩ̒ŋƨŌƦǿô̎ɜȁ̒—óʶѶôôО̒›ςƥɜНφσɛȁ̎υƨఱƧŏ@ʵƥœ@ŌóóóͩƨƧóŋ̑õóɞóɝԩͪɝρôƧ̍ƧѹͨڑŎ̑ōóƧࢭͩ̏ѵɝóఱóóԪυô@̒ƥŌ̏Ƨ̑Ȅ݇ŎƧ›ѵӏ@ɛõŏɛȄôӒƧŌѵǿɝ˜Ƨŋԫ@̏ʴƥ@óǿ̑Ȁóǿ̍ςóóυô@ʶɛñρƦƩŐó̎óœѵó̑ͪࢯОóɜן˜Ƨ̏ƥȄ߻̎̏̐ןŎɝɜöɞƩȀôöɛȀóͪ̐ƨƪ̍̎ȂƥԪυО@φɞ˜ôƪ"],
  13639. encodeOffsets: [[80911, 35146]]
  13640. }
  13641. }, {
  13642. type: "Feature",
  13643. id: "nei_meng_gu",
  13644. properties: {name: "内蒙古", cp: [117.5977, 44.3408], childNum: 12},
  13645. geometry: {
  13646. type: "Polygon",
  13647. coordinates: ["@@ኊȁ૊ö߼ƩɜɛנñԮɛѶóԮô@ȁѸóמ̎ගѺၬ@߼ʶԮӒ߼̎@ŐѹӒ̒Ԫƨöග̑ѶȄ̒ς।œѶɚöɞɜʴڔôôȂ̎—ѺȀς—ƨ˜ƪóԪ—ɜôɛОਕڔԭ˜ѵ̍ѹȂԫ›ɛƥ̍Ȃóɜ̎ô@ʶ݊ੲࢮʵږͪנƨôȂƧ˜̐ͪ@ŐƦƨφԬѶɜôƦ@ŐƧôôƦəŐ̏›@ŐڒѶԬô̐ʳԩНςōôŏɞ@ƨȂѶəóƧ̒ػ̎ó̐Őנóƨô̒@ƨɚɚ@עԫɛɛ@ȁυͩƥʳòևρ—̑ࡗƧͪ༃ॣԮփ̎Ʀ@ôô@ôō@š@ȁѵóƨ̍υȃóʵɛƨƥóυȂóəƪ›̐ρƧͩɜԭڔȄ̎عƧȁ̐ŏó̍ɛ›ƥƧ̑óρŐ@Ƨ̏˜ɝəɛ˜߻ͩ̍ͩɝО̍ƪƧóóӓƨóƧʳ݇@ɝςƪœ@ʴƩ—ƧƦôƨɛȄə›Ƨŋυ›óͩѵ@ɝǿóŌן̍ɛ˜óО̍œ̑̏ôȁ̍ŏòȁñóƦͩ@ǿə@ɛƧ̑˜ρȁυô̍օѹœóȃə™@ȂσʵѷƪòƩ̍—ôó߻ۯôʳƧ™óšõʵѵóѹɜ̍ȂѹôɛŌφֈƩͨρóυӑóޟఱ̑݇ͪóƪƨŌóȄڔԬƩςםñ̑ȃѵŐԭŏƨȁɛǿρôõɚɛóƧОə@ѹ̐ѵöԪͨôͪɛ̒ןŏƧƥóôƥƧɛŌôóɝó@̒݇Ӓ̒Ō@Ŏԭࢰ"],
  13648. encodeOffsets: [[99540, 43830]]
  13649. }
  13650. }, {
  13651. type: "Feature",
  13652. id: "qing_hai",
  13653. properties: {name: "青海", cp: [96.2402, 35.4199], childNum: 8},
  13654. geometry: {
  13655. type: "Polygon",
  13656. coordinates: ["@@ƨ@ôƪ݈ȁƪ˜@φɝòóƨԮʶɛ̐ѹͪôОəóƧɞᇒѶ@ôږô@ǿѶ›ƪȁςœɜͩφ˜ςŋɞôѶɛƨŌɞ—@ɚςŐñԪॢͩƨȂɞóƨŐ̎ŏעӏ̎óƧƦôœ̒ȁɜ›ςͩ̒œɚɛƨôƨɝφɛóȁƨŋóóɚͩƨóóƩ@ƧəŋƦƩ̍@ƧƧôǿυ̑@ȁɞǿõŏρƥסɚƧóτԫɞœôƧƦ@ñȃòñƥóυôôѹѵ—@ŏ̏Ȅɝó@ȂəŌóəѹƦ@Ő̍Ōυ݈ԩŐƧóôƧ̑›ôʵɞƧ̑ѵôƩɞƧ̑œóНѵóôʵ̑˜ɛȂó̍ƥȀƧŋ̑Ōóƪ@ƨó˜óŐƥ›ƦŎѷƨѵƧ̏Őɝóѵɜן@óòɛ@ѷʸס@ԩ̎υѺƨ̎óʸôƦɛœñ̎@Őɚ˜@̒əŌóŐ̎˜"],
  13657. encodeOffsets: [[91890, 36945]]
  13658. }
  13659. }, {
  13660. type: "Feature",
  13661. id: "si_chuan",
  13662. properties: {name: "四川", cp: [102.9199, 30.1904], childNum: 21},
  13663. geometry: {
  13664. type: "Polygon",
  13665. coordinates: ["@@ô˜ôŋó̑Ԯ̒ɛОמͪƨōöͫ߼ƥôȃƨóóñôƧóƧôōڔŏƨŐ@Ŏô˜òƥѺŎ@ōɜóנ˜ôǿô›ƦôԮ̍ɜôɚ›Ƨ—ñɛɚȁ̍Ƨɛևυ@óóôŋρԭɝ@Ƨʸ̍ŏυɜƧƧóƧƨȁρ̍ƨȃɚ—ôʵφóô̑̏Ȃ̑ʵɜʵɞ@ƨʳסƩóŎə—óɜƧôƩƧρ˜óôôô@ŎƧƨƨƪѹ˜ó̍̍Ʃ@̏ѹНôޟ̍Ʃóƪυɝɛ—əƨôŎɛȀ@Ȃ@ñɝʶ@Ōρנ̏—õóɛͨƨȂѵОɛʵ@̏ƩŐó߼Ƨల̍φɜȂυτɛОρƦɝƨóƪ̒Ѷɝƨóʶ̒œóƨƨôԪŏφ݇̎ŋ@ŏѺƥôɚɚŋ@ȁɞô̐ȃ@ŐѶ˜óѺφóƦôñòòȄ"],
  13666. encodeOffsets: [[104220, 34336]]
  13667. }
  13668. }, {
  13669. type: "Feature",
  13670. id: "hei_long_jiang",
  13671. properties: {name: "黑龙江", cp: [128.1445, 48.5156], childNum: 13},
  13672. geometry: {
  13673. type: "Polygon",
  13674. coordinates: ["@@ᇔȂਚНƨŐѶŏöƥςŏñƧƦóƨȁ@óƨ—óȁφӑóóƨ˜óǿ̎̑ôНɞ—ó̑ɜə߼›̎ǿ̒ôڒӑφ@Ƨȁ̎̏ƥƩ̎ρశ˜ôȂςƨφ@נɞ݈˜̑ƥƧɛƨʵƧȃƥ@Ƨƥ@ŏ̑ԩôɝρρóɛƧ›ƩͩƧó߻ʸ̍ʷѹƥɞڕõ̍öɝυ—̍ȂƧ̐̑ŏóƨñŋѹóóȁ̍›̏Ԭõʸ̏ŏ@ǿ̍@ƧОυ@ñƨòȀƥŎ̑ŐѵóɛŌóȂԫōƧŎѹñ̍ʶóОן@Ƨ̎Ѷô@Ȃ@™óŎó@@ó̍ƥԭք༄।ƨͩ̒ࡘς˜ñֈƦʴφͪ@ȂɜɜסԬə@Ƨə̑@Ƨóןô̏ŏ̍ô̑ؼôƨѵɚƧȁɝ@óŐρŎԪО̏ʴ"],
  13675. encodeOffsets: [[124380, 54630]]
  13676. }
  13677. }, {
  13678. type: "Feature",
  13679. id: "gan_su",
  13680. properties: {name: "甘肃", cp: [95.7129, 40.166], childNum: 14},
  13681. geometry: {
  13682. type: "Polygon",
  13683. coordinates: ["@@ڔôԮࢯ@ō̑ŋ݈ӑ@̑ɞôóôɜŋƦƨôóƨƦנŐɜ̑óͩԩͧѶõѺ̏ɚ@ƨНɜôöəςóɜȀƧȂԮŐѶŏ̒ȄמòƪρړԫôȃƧŋôƩ݈ͩɚ@@ǿɜ@φͩóŏɜӑƧōôǿ̎›ôƥƪóõ›ö@ô—ƨ˜ôƧƦôó̒ɜ@ɞŌõʶ̏Ő@ȀóôƨȂ@ʶע@@ƥ୾ӑó̑óŋôʵóɛړ@@ƩöóƩóρ—ɛƨ̑@óʷƥƥ̎ɛƧ›ôōƧǿôͩѵôɝȃɞȁõƧρóó—@ōƧŏړŐóŎôƨóƨôòƧôóȄ߻ƦõͬƧŎםͩɜНԭ̑ô̒óŌó—ƥ@óƨɝ›σԬƨôעəςƦöŐɝȀ@Ȃφ̒óȀƨƨ̎@ƥƪɚŌ@ƨôƪƧôəͪôôƧŌôȂυɜƧɞƧóəɜ̑›ρͪɛœ̑Ȃó›ƨƥ̍ôסӐ̍ŐƧŏɝôƧȁॡͪòԩρŏ@əɝ˜ƧŋѵɜɝóρŌυ—ɛͪρ›ƩȂѵœ@Ȁڕó@ȄɜʶφࡔڔœƨͪѶͪԬʶôƩעʶɚʶƥôóƨςȂ"],
  13684. encodeOffsets: [[98730, 43740]]
  13685. }
  13686. }, {
  13687. type: "Feature",
  13688. id: "yun_nan",
  13689. properties: {name: "云南", cp: [101.8652, 25.1807], childNum: 16},
  13690. geometry: {
  13691. type: "Polygon",
  13692. coordinates: ["@@ôɞôɝ̒öôŌƧƨôͪôô@ŋƦ›@ʶƨŐô߻ƪŏ@̐ɜʶѶНƧȁɜͧöô̐˜ςן@ŋɞʵ@ò@ȁɜǿóōɚƧɜ˜φɞôƩ̎ƪóޠѺО@̐̎ƪô̎Ѻ—ƧƩƨƧ@ōóóôóς—ƪƨƨóôɛó̑ԭ—ƥŌɛǿɝƨɛͩô›@ǿƨȁѺŌɚɛ̍ןѶНɛƧôóƥȁƦͩôŎɞ—ƨ̑ɜ—òôφ@ƨʵ@ɛѹōóȃəƨυǿóʵρƧƧŌƩɛ̏ȄñƧƧȀɝ̍ԩʶƧ̑υ—óŌƥʳɚӑóНƥô̑›óӒѵʵѹœƧӐןôƪφõŌƪ̒ԫŌƧؼƨƨס›ρȁƧœƨȂóʶó@@ʴƨôôφ̎Ŏ@Ȁƨ—ƪɚƨœóƨôôôςóޤƧŌƩŋƧԪ"],
  13693. encodeOffsets: [[100530, 28800]]
  13694. }
  13695. }, {
  13696. type: "Feature",
  13697. id: "guang_xi",
  13698. properties: {name: "广西", cp: [108.2813, 23.6426], childNum: 14},
  13699. geometry: {
  13700. type: "Polygon",
  13701. coordinates: ["@@ƦŋѺ̎ڔʵƨŐ@ƦמȄƪôóȂɜŌɚͩɜ@öóɜôôȂƦôɜȁ@ɞφ›óȄ̎›ƨʶɞŋƨʴɚǿ̐̎Ԭ@ôñ@̏ƨ›ρ۫ô›ɚƨƨНƪŐ̎›ƥóƦʵƥŋ@ȃóƥƧ@@ŏɝǿôυƧȁѵɛ@əóŏ̑@@ə̍›óƧó—@ȁƩ˜ρóòНƥô@Ӓ̑@óŎ̍ƥσŎυ@̍ƨ@Ō̑ôóͪƨ̒óŌړœ̏Ŏ@ŌôȄѺŎ@ɜƧʶυ@ñóɛ˜Ƨ̒ɝ˜óōƥͪ"],
  13702. encodeOffsets: [[107011, 25335]]
  13703. }
  13704. }, {
  13705. type: "Feature",
  13706. id: "hu_nan",
  13707. properties: {name: "湖南", cp: [111.5332, 27.3779], childNum: 14},
  13708. geometry: {
  13709. type: "Polygon",
  13710. coordinates: ["@@@քɜОƨ@öŐמóƪôƩɚ̒Ő߼ȁςͩɜòƪ—ɜȀò—ñɝò—Ѻͪ@ŏƨŋóɝôǿƨ™ɚȃóəƨȃѵͩó̍@ȃƨóóƥƨƧ@ʵƦ›óͩɜ—ɛóñԭɛōυȂ̍ƧƦō@ɛƥ—ɛȀ̑œóʷóō̍œƩŏƧОəƧóœς۬Ƨœ@̐óòԫ@̏̍əȀƧʳɝŌóɞƧ˜ƨɜóŐƨò@ȄƧŌρŋóôԪОóʶ@̎óȄ"],
  13711. encodeOffsets: [[111870, 29161]]
  13712. }
  13713. }, {
  13714. type: "Feature",
  13715. id: "shan_xi_1",
  13716. properties: {name: "陕西", cp: [109.5996, 35.6396], childNum: 10},
  13717. geometry: {
  13718. type: "Polygon",
  13719. coordinates: ["@@ςôöƨɝȂɞȄѶóóͪƨȀóŎƨœ̍ɜƦƦôʸ̒@ɜƧς˜ƪôõô@ƪڔ@ôɜóʶôŌô̒୽Ӓ@Ʀ@Ѻ̎ɜѺɛѶôöʶô™ƨšóʴ߼۰óô̎˜ñƪѸƩτʶ@ȁòŋəѹóǿ̑ʵ@ȁ̒ʷυփô݉ôН̏ط@ȁƨóô̏ƪõ@ʳ̐ʵ@ɝɛŋƩŌɛóןôƧŋ̒ó@ŏ̐ƥ@ŏυ@ƧƧôן̏@ƥȂѹɜəœɛóԭ̎ƥóóœóȀן—ɛô@ŎѹōñƦ"],
  13720. encodeOffsets: [[108001, 33705]]
  13721. }
  13722. }, {
  13723. type: "Feature",
  13724. id: "guang_dong",
  13725. properties: {name: "广东", cp: [113.4668, 22.8076], childNum: 21},
  13726. geometry: {
  13727. type: "Polygon",
  13728. coordinates: ["@@@Ȃô˜ôƨ̎œ@ɚ̒@ôŐ@ɚѶɜƨȂóφɞȀ@Őƨ@ôƦ@ȄƦŌƥʶƦôôŎôʸ̒›ɜǿƦ˜@ɜƥŎ̎ƨφȁɜŎòƥԮŎƨōóŏɛƧɝəɞƧ߼ɜςȃñȄƦŎ̒ōôòƨəƨ˜ɚН@əƨ̏ƪʵυŌəɛóəԭŏəœóŏѹœρʵɝƦ̏™ƥʳѶ›öō̑óóŋρȀυƧƥɛѹōƧôן—ɛŏѵ@óŋôʵɝ›ƪԩõ@Ƨō̍@Ƨ@@ƦɝԮƪО@@", "@@X¯aWĀ„@l"],
  13729. encodeOffsets: [[112411, 21916], [116325, 22697]]
  13730. }
  13731. }, {
  13732. type: "Feature",
  13733. id: "ji_lin",
  13734. properties: {name: "吉林", cp: [126.4746, 43.5938], childNum: 9},
  13735. geometry: {
  13736. type: "Polygon",
  13737. coordinates: ["@@נ@ôН̎ʵѺòƨōԬŎôȁɜŋѶô̒ŏƦōñǿòƧφ@ƨН̎@@Ȁ̐Őöʷ̐ԫ̎œôȂѺôòŌôƧ̒Őƨ̏̎ȁφ˜@ŋƩͩםȃƨ—@ȁ̑ʶ@Ōóôɛœƥѹ̑—συ݇@ɜρƧȃࢯƨôœəȂɛōƩɛ̏υρóõœƪʴυφ@ʶôŌóœρք@ɜƧ@ɝǿƧͪρȀƩó̏ŐƨȂ̍غړȃɛԮƨͪ̏ςƩœôɚφȁƦôɜƧôʶφȄ"],
  13738. encodeOffsets: [[126181, 47341]]
  13739. }
  13740. }, {
  13741. type: "Feature",
  13742. id: "he_bei",
  13743. properties: {name: "河北", cp: [115.4004, 37.9688], childNum: 11},
  13744. geometry: {
  13745. type: "MultiPolygon",
  13746. coordinates: [["@@Ʃ̒̏ŌѺ̒Ʃ˜óȄƧŌƥͪòôñȂ̎ŐóȂ̒̐̎›ôНɜ—נ̎ôŋɞȀѶ@ôͪφœƨŌɚœɜȃóƧƨƥƪ˜@ʳƩ›ɞρ݈@υНφʵɜ˜ƦρƨƧ̍ɝóɛѹ̍ρŏ̑ôóƨ@œƧƦôƨɛ@ƥƨ@ȂƦ@@ôəŐƧʶƨŌυœ̍̎ɛŋôōɝ@óƧ̍›ƦʵѵʳôʵɜŏςôƪŋƨŌɚ@ôНƥƧ@ōѸɛ̐ô̎ʵѵНԭ@̍̍Ƨò@ȁɝ@əρυͩƪ̏ƩõƧŎƧōóšॡȄɛʶɜȀ@ɞςѶƧœƥςɛŐ@ɚɜɜ@Ŏôôςœƪς"], ["@@õə@Ƨɛ˜@ŐóƦφô"]],
  13747. encodeOffsets: [[[117271, 40455]], [[120061, 41040]]]
  13748. }
  13749. }, {
  13750. type: "Feature",
  13751. id: "hu_bei",
  13752. properties: {name: "湖北", cp: [112.2363, 31.1572], childNum: 17},
  13753. geometry: {
  13754. type: "Polygon",
  13755. coordinates: ["@@ñȄυƦöŐƩ˜óנƨƨφ@@Ő̏Ʀ@Ő̑ôƨŌנóɜôƪŋɜŌѶօڔə݈òɞōɜŎôӏƦóƨô̒óôȃƨó̎ŐôƧƪ@ƨȁςƧə̑̎Н@̍Ƨŏρôԭͩԫ—̍ʵƧšóȀôɞƧŌ@Őѹͩñ˜òɞñ˜ɛǿƩ˜ɛñρͪ߻Ȃ̑ŏƪəƩóםôõŏƧ@ɛНƥȄó›̑ѺƧ›ôφóƨƨƦƪóɜŐôóòôƨóφ̐ƨóƦ̎"],
  13756. encodeOffsets: [[112860, 31905]]
  13757. }
  13758. }, {
  13759. type: "Feature",
  13760. id: "gui_zhou",
  13761. properties: {name: "贵州", cp: [106.6113, 26.9385], childNum: 9},
  13762. geometry: {
  13763. type: "Polygon",
  13764. coordinates: ["@@ɜȀƦŋԮ˜ô̒ɚ˜ôōעƪƧʴɝ@ɛʶ̒ʶ̐ȁƦœóȂô@ôŏ@ōô—ƨʶѸô@ʶƨ˜ɞó@ōτöòυƨ@@əƨô@ɛ̒@Ʀɜôȃ@̍ôʵԩНôóςŌƨŋ@ȃƧñôŏƧɛƨ—ôɝƧʵ̍œôȃυœ@ɝɛȂƥóóȁɛóõôɛ@əͪɛŋôȁƩóםȃ@ƥƧŏړʶѹ̍ƥŌƦȂóôɜƨѵО̎נəɜѹŋƧȂ@ȀóœɜͪɞƧ"],
  13765. encodeOffsets: [[106651, 27901]]
  13766. }
  13767. }, {
  13768. type: "Feature",
  13769. id: "shan_dong",
  13770. properties: {name: "山东", cp: [118.7402, 36.4307], childNum: 17},
  13771. geometry: {
  13772. type: "Polygon",
  13773. coordinates: ["@@Ʃ̐φͪɚςɞ@@Ȃƨñ̎̎Ԯ@ѶОƨƧڔ@φН̑ŋ@Ʃ̒ǿ̎@ƨɜԬςôʶ̐ʶöԫƨƧנƥɜŎôō̎@ôŏóρƧŏԫôóƧԩó@ƥɜƧԭóƨʵɛƨ߻ӑɜНԩ˜óô̑óƧʳə™óɛƧ@õȀƧœ̍ȃɛŐóŏυО̍—óɝƩ—ԩ@ƧɚԫȄɚʶƨ˜ɞʶԪ̐ړɛƪ̒"],
  13774. encodeOffsets: [[118261, 37036]]
  13775. }
  13776. }, {
  13777. type: "Feature",
  13778. id: "jiang_xi",
  13779. properties: {name: "江西", cp: [116.0156, 27.29], childNum: 11},
  13780. geometry: {
  13781. type: "Polygon",
  13782. coordinates: ["@@ƧȄôɚəȄ̎ʶԬ˜ԮͪςóƨŐƪ›τɞƦōƥƧ@ŏςôóŐôô̒ʷѶ—ƪƩƩǿ@ō̒ɛôυ@—Ƨȁѹɛəƨѹ̑ƨ̏óƥѵʷô̍ɛȁôŏɝǿƧԫƧ›ôʳƥōòȃρȄ߻ɛɝƨɞɚɜƨôŐƧŎԭōñƦòԮɜôɛ˜ôͪƥœ@ʶƧƨôƦƧô@Ȅô̎Ѷͪ"],
  13783. encodeOffsets: [[117e3, 29025]]
  13784. }
  13785. }, {
  13786. type: "Feature",
  13787. id: "he_nan",
  13788. properties: {name: "河南", cp: [113.4668, 33.8818], childNum: 17},
  13789. geometry: {
  13790. type: "Polygon",
  13791. coordinates: ["@@φ˜̎ƪ̐˜ɞȄɚ@@Ȃעó̎ŌѺ̒ôֆॢȃô™ƨŎƨōƪöƩ̑ڔɜԩ̏ɝʵƧ—əʵԬȃƨəԪ@@Ƨ̒ŏô̍υȁƧɚ̍ôóŋ@ɝƧŋõ̑σ—@ŏɜŋôɝ̒ƧɚôôطρóóɛƩ@óƨ̍ŏƧôóȄ̑ôƧóƥôóӐɛōɝŎ݇ñړɚѵֆ@ɞ̏ʶ@ʴƩöó̐"],
  13792. encodeOffsets: [[113040, 35416]]
  13793. }
  13794. }, {
  13795. type: "Feature",
  13796. id: "liao_ning",
  13797. properties: {name: "辽宁", cp: [122.3438, 41.0889], childNum: 14},
  13798. geometry: {
  13799. type: "Polygon",
  13800. coordinates: ["@@ƨʴƧôôӔƨô̎ƩɞН̎ͪ߼ͪɜ—ɞɚ̐—@ƨςŏ̒ôƦƨɜœô̎ƪôςǿƨͩɞȀƨ@@ɛςփô›óŋ@ʵφυƩʳö›॥փρѹס@əɛ@ͩࢯ@ѹʵρ—ƩʶφȀƧ݈̒۬óʸɝŎѵ@ԭԫןɛƧƨƥςɛ—υʶφО"],
  13801. encodeOffsets: [[122131, 42301]]
  13802. }
  13803. }, {
  13804. type: "Feature",
  13805. id: "shan_xi_2",
  13806. properties: {name: "山西", cp: [112.4121, 37.6611], childNum: 11},
  13807. geometry: {
  13808. type: "Polygon",
  13809. coordinates: ["@@ɚѺñŌɚšôȄѺ›̎ֆφóςȂ̒—ɜƨɚ@@Ȁƨŋôȃƪ—ѹ̑̐ŋƪ̑Ʃρρ›óó@ōɛɛ@əɜŏƦρƨ›ρѵ@ɝɛǿɜʵóօѹ̑̍ŋסô@ȁə@ɝȃ̏—̍Ʃυ—Ƨô@Ȃ̐ظóОó݊φք̑ʸ@Ȃ̒ʶôȀ"],
  13810. encodeOffsets: [[113581, 39645]]
  13811. }
  13812. }, {
  13813. type: "Feature",
  13814. id: "an_hui",
  13815. properties: {name: "安徽", cp: [117.2461, 32.0361], childNum: 17},
  13816. geometry: {
  13817. type: "Polygon",
  13818. coordinates: ["@@ó̎̑Ő@ƨƪ˜Ѷǿɜ̑φ—Ʀʵ̐˜Ƨѵôóƪôôυς—ƨȂɞŏ@̍ԫôò̑ƥ—óȃѶͩƧƥôŏѺœôŏƦ—@›ƥͩƧ—ôȁυó@̑ƧɛѵʵƩƪѵ˜̑ʸóóôŏρó@ŐƦƨƥŎσɝƩœ@̎̍Оɚ̒ρƨƧȂôɜςôóظəó̑ƨóɞɛŌ@Őτ˜ö̒ƨŌ@ɞôŌ̎óƨəφȂ"],
  13819. encodeOffsets: [[119431, 34741]]
  13820. }
  13821. }, {
  13822. type: "Feature",
  13823. id: "fu_jian",
  13824. properties: {name: "福建", cp: [118.3008, 25.9277], childNum: 9},
  13825. geometry: {
  13826. type: "Polygon",
  13827. coordinates: ["@@̎›óȁƨӑ̒—̎ɚƨͩφŐƨɝ̎ŋóŏρ—@ōƨ›òʳəóƨō̏˜õɛƧ@ƨѵƧōəŏóŋƧô̑ɝɛʳƥ@@óɛõ@Ƨ̑ƧóȁəƧ̑—Ƨ̐@ɚəОƧ—Ƨɚóñ̑ŎóʴƨœƨԬɞȀóŐɜȂó̎ѶʸôƦƧ̐Ѻ̒ɚƧѺɜƨȂ"],
  13828. encodeOffsets: [[121321, 28981]]
  13829. }
  13830. }, {
  13831. type: "Feature",
  13832. id: "zhe_jiang",
  13833. properties: {name: "浙江", cp: [120.498, 29.0918], childNum: 11},
  13834. geometry: {
  13835. type: "Polygon",
  13836. coordinates: ["@@Ѷʶƨɜ@̒φôóȂƨ˜Ʀͪ@œ̐˜Ѹ̍τȂ̒̑נŐמôƪƧôӑ̑›@ƥρͩƨօ̏@@υɝó@ŋɛ@ôƩəóƧѵυó@ƩɜŋƧ@̍ŌƧɞυŏƧͪ̍ə̑˜ƧӒôȂ̍œ@˜óφ̑ɜ@ŎƪȀ"],
  13837. encodeOffsets: [[121051, 30105]]
  13838. }
  13839. }, {
  13840. type: "Feature",
  13841. id: "jiang_su",
  13842. properties: {name: "江苏", cp: [120.0586, 32.915], childNum: 13},
  13843. geometry: {
  13844. type: "Polygon",
  13845. coordinates: ["@@ôɞ̎˜φНôŐɜŏ̎Ȅƨ›öǿƨ@ôɜɚšƨʴ̒ôôó@Ƨ̎əԮȃԪૉöͩ̐ƧòʵφƧôʵ@óړɜóŏɜǿƧ›ɝρσȁѷ̎̏—ƥ˜óŐѹ›óŐƨƦѵͪôȄƦ˜ñ̒Ԭó@̎ɝŐƧȁρ˜óφƩóóôƨѶ̏—ƥʶυ˜ɛ̒ѵȀ"],
  13846. encodeOffsets: [[119161, 35460]]
  13847. }
  13848. }, {
  13849. type: "Feature",
  13850. id: "chong_qing",
  13851. properties: {name: "重庆", cp: [107.7539, 30.1904], childNum: 40},
  13852. geometry: {
  13853. type: "Polygon",
  13854. coordinates: ["@@əȂòɜƨ˜ѺɛƦȁ̐@ƪ—õŏφƥòȃƥ̍Ƨôυ̏ƧôñóóôɛŏƩôƧƥôƧóυƨœ̒ѹôœƦȃ@փƥɛ̑@@ɜƧó@ɚƧ@ñφσõ@ŎɝôƧ—@ʵѷóƧʵó˜@ŎóŐó@ôȁƥ›ó̒υôóʶə˜ƧȄς̎ƧȂôƨƨƨφɛ̎Őƨʷɞ@ςԮóŌôôφ@ɜֈ̎ƨ"],
  13855. encodeOffsets: [[111150, 32446]]
  13856. }
  13857. }, {
  13858. type: "Feature",
  13859. id: "ning_xia",
  13860. properties: {name: "宁夏", cp: [105.9961, 37.3096], childNum: 5},
  13861. geometry: {
  13862. type: "Polygon",
  13863. coordinates: ["@@ల̒ôޠφӒςôƪͧυևɜŋѺó̎ȁ̍ɛ@ѹס@@ʵƧȁôó@ǿ̐ŏöʵɝŋɛ@ô̑ƥóóƨƧ—ó˜ôœó@ƩôóƦ̍œóȀƨŎɛӒôŐυͪɛ@@Ȁə@"],
  13864. encodeOffsets: [[106831, 38340]]
  13865. }
  13866. }, {
  13867. type: "Feature",
  13868. id: "hai_nan",
  13869. properties: {name: "海南", cp: [109.9512, 19.2041], childNum: 18},
  13870. geometry: {
  13871. type: "Polygon",
  13872. coordinates: ["@@φɜƦʶ̐ôφô̎@ƨŎö@τʵƦ˜ԩ۫õН̏óƥȃƧ@Ʃəםƨ̑Ʀ@ޤ"],
  13873. encodeOffsets: [[111240, 19846]]
  13874. }
  13875. }, {
  13876. type: "Feature",
  13877. id: "tai_wan",
  13878. properties: {name: "台湾", cp: [121.0254, 23.5986], childNum: 1},
  13879. geometry: {
  13880. type: "Polygon",
  13881. coordinates: ["@@ô—ƩɝöƧɝѵəޣ̏ρƩԭóōóͪρɞƧОôԪ݈ଦѶɜ̒ɛ"],
  13882. encodeOffsets: [[124831, 25650]]
  13883. }
  13884. }, {
  13885. type: "Feature",
  13886. id: "bei_jing",
  13887. properties: {name: "北京", cp: [116.4551, 40.2539], childNum: 19},
  13888. geometry: {
  13889. type: "Polygon",
  13890. coordinates: ["@@óóó›υóôƥ@ŏóóə@ƧŋƩŌρóɛŐóʶѶʴƥʶ̎œôƨɞ@óŎɜŌ̎̍φ›Ƨŋƨʵ"],
  13891. encodeOffsets: [[120241, 41176]]
  13892. }
  13893. }, {
  13894. type: "Feature",
  13895. id: "tian_jin",
  13896. properties: {name: "天津", cp: [117.4219, 39.4189], childNum: 18},
  13897. geometry: {
  13898. type: "Polygon",
  13899. coordinates: ["@@ôôɜ—@ƨöɚôœôôɚŏ@óƥ@@ȁƦƧɜ@óƧƨƥ@›ƧóəН̏óѷɜ@ŎƦƨóО"],
  13900. encodeOffsets: [[119610, 40545]]
  13901. }
  13902. }, {
  13903. type: "Feature",
  13904. id: "shang_hai",
  13905. properties: {name: "上海", cp: [121.4648, 31.2891], childNum: 19},
  13906. geometry: {type: "Polygon", coordinates: ["@@ɞςƨœɛȀôŐڔɛóυô̍ןŏ̑̒"], encodeOffsets: [[123840, 31771]]}
  13907. }, {
  13908. type: "Feature",
  13909. id: "xiang_gang",
  13910. properties: {name: "香港", cp: [114.2578, 22.3242], childNum: 1},
  13911. geometry: {type: "Polygon", coordinates: ["@@óɛƩ@ρ@óœôȀɚŎƨ@ö@@ōƨ@"], encodeOffsets: [[117361, 22950]]}
  13912. }, {
  13913. type: "Feature",
  13914. id: "ao_men",
  13915. properties: {name: "澳门", cp: [113.5547, 22.1484], childNum: 1},
  13916. geometry: {type: "Polygon", coordinates: ["@@X¯aWĀ„@l"], encodeOffsets: [[116325, 22697]]}
  13917. }],
  13918. UTF8Encoding: !0
  13919. }
  13920. }),i("echarts/util/mapData/geoJson/chong_qing_geo", [], function () {
  13921. return {
  13922. type: "FeatureCollection",
  13923. features: [{
  13924. type: "Feature",
  13925. id: "500242",
  13926. properties: {name: "酉阳土家族苗族自治县", cp: [108.8196, 28.8666], childNum: 1},
  13927. geometry: {
  13928. type: "Polygon",
  13929. 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Ž"],
  13930. encodeOffsets: [[110914, 29695]]
  13931. }
  13932. }, {
  13933. type: "Feature",
  13934. id: "500236",
  13935. properties: {name: "奉节县", cp: [109.3909, 30.9265], childNum: 1},
  13936. geometry: {
  13937. type: "Polygon",
  13938. 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"],
  13939. encodeOffsets: [[111781, 31658]]
  13940. }
  13941. }, {
  13942. type: "Feature",
  13943. id: "500238",
  13944. properties: {name: "巫溪县", cp: [109.3359, 31.4813], childNum: 1},
  13945. geometry: {
  13946. type: "Polygon",
  13947. 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"],
  13948. encodeOffsets: [[111488, 32361]]
  13949. }
  13950. }, {
  13951. type: "Feature",
  13952. id: "500234",
  13953. properties: {name: "开县", cp: [108.4131, 31.2561], childNum: 1},
  13954. geometry: {
  13955. type: "Polygon",
  13956. 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"],
  13957. encodeOffsets: [[111150, 32434]]
  13958. }
  13959. }, {
  13960. type: "Feature",
  13961. id: "500243",
  13962. properties: {name: "彭水苗族土家族自治县", cp: [108.2043, 29.3994], childNum: 1},
  13963. geometry: {
  13964. type: "Polygon",
  13965. 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¦"],
  13966. encodeOffsets: [[110408, 29729]]
  13967. }
  13968. }, {
  13969. type: "Feature",
  13970. id: "500235",
  13971. properties: {name: "云阳县", cp: [108.8306, 31.0089], childNum: 1},
  13972. geometry: {
  13973. type: "Polygon",
  13974. 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"],
  13975. encodeOffsets: [[111016, 31742]]
  13976. }
  13977. }, {
  13978. type: "Feature",
  13979. id: "500101",
  13980. properties: {name: "万州区", cp: [108.3911, 30.6958], childNum: 1},
  13981. geometry: {
  13982. type: "Polygon",
  13983. 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ƒ„"],
  13984. encodeOffsets: [[110464, 31551]]
  13985. }
  13986. }, {
  13987. type: "Feature",
  13988. id: "500229",
  13989. properties: {name: "城口县", cp: [108.7756, 31.9098], childNum: 1},
  13990. geometry: {
  13991. type: "Polygon",
  13992. 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"],
  13993. encodeOffsets: [[111893, 32513]]
  13994. }
  13995. }, {
  13996. type: "Feature",
  13997. id: "500116",
  13998. properties: {name: "江津区", cp: [106.2158, 28.9874], childNum: 1},
  13999. geometry: {
  14000. type: "Polygon",
  14001. 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Ü"],
  14002. encodeOffsets: [[108585, 30032]]
  14003. }
  14004. }, {
  14005. type: "Feature",
  14006. id: "500240",
  14007. properties: {name: "石柱土家族自治县", cp: [108.2813, 30.1025], childNum: 1},
  14008. geometry: {
  14009. type: "Polygon",
  14010. 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"],
  14011. encodeOffsets: [[110588, 30769]]
  14012. }
  14013. }, {
  14014. type: "Feature",
  14015. id: "500237",
  14016. properties: {name: "巫山县", cp: [109.8853, 31.1188], childNum: 1},
  14017. geometry: {
  14018. type: "Polygon",
  14019. 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"],
  14020. encodeOffsets: [[112399, 31917]]
  14021. }
  14022. }, {
  14023. type: "Feature",
  14024. id: "500102",
  14025. properties: {name: "涪陵区", cp: [107.3364, 29.6796], childNum: 1},
  14026. geometry: {
  14027. type: "Polygon",
  14028. 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"],
  14029. encodeOffsets: [[109508, 30207]]
  14030. }
  14031. }, {
  14032. type: "Feature",
  14033. id: "500230",
  14034. properties: {name: "丰都县", cp: [107.8418, 29.9048], childNum: 1},
  14035. geometry: {
  14036. type: "Polygon",
  14037. 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"],
  14038. encodeOffsets: [[110048, 30713]]
  14039. }
  14040. }, {
  14041. type: "Feature",
  14042. id: "500232",
  14043. properties: {name: "武隆县", cp: [107.655, 29.35], childNum: 1},
  14044. geometry: {
  14045. type: "Polygon",
  14046. 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¦„`„„"],
  14047. encodeOffsets: [[110262, 30291]]
  14048. }
  14049. }, {
  14050. type: "Feature",
  14051. id: "500119",
  14052. properties: {name: "南川区", cp: [107.1716, 29.1302], childNum: 1},
  14053. geometry: {
  14054. type: "Polygon",
  14055. 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"],
  14056. encodeOffsets: [[109463, 29830]]
  14057. }
  14058. }, {
  14059. type: "Feature",
  14060. id: "500241",
  14061. properties: {name: "秀山土家族苗族自治县", cp: [109.0173, 28.5205], childNum: 1},
  14062. geometry: {
  14063. type: "Polygon",
  14064. 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"],
  14065. encodeOffsets: [[111330, 29183]]
  14066. }
  14067. }, {
  14068. type: "Feature",
  14069. id: "500114",
  14070. properties: {name: "黔江区", cp: [108.7207, 29.4708], childNum: 1},
  14071. geometry: {
  14072. type: "Polygon",
  14073. 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"],
  14074. encodeOffsets: [[111106, 30420]]
  14075. }
  14076. }, {
  14077. type: "Feature",
  14078. id: "500117",
  14079. properties: {name: "合川区", cp: [106.3257, 30.108], childNum: 1},
  14080. geometry: {
  14081. type: "Polygon",
  14082. 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"],
  14083. encodeOffsets: [[108529, 31101]]
  14084. }
  14085. }, {
  14086. type: "Feature",
  14087. id: "500222",
  14088. properties: {name: "綦江县", cp: [106.6553, 28.8171], childNum: 1},
  14089. geometry: {
  14090. type: "Polygon",
  14091. 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¤"],
  14092. encodeOffsets: [[109137, 29779]]
  14093. }
  14094. }, {
  14095. type: "Feature",
  14096. id: "500233",
  14097. properties: {name: "忠县", cp: [107.8967, 30.3223], childNum: 1},
  14098. geometry: {
  14099. type: "Polygon",
  14100. 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"],
  14101. encodeOffsets: [[110239, 31146]]
  14102. }
  14103. }, {
  14104. type: "Feature",
  14105. id: "500228",
  14106. properties: {name: "梁平县", cp: [107.7429, 30.6519], childNum: 1},
  14107. geometry: {
  14108. type: "Polygon",
  14109. 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"],
  14110. encodeOffsets: [[109980, 31247]]
  14111. }
  14112. }, {
  14113. type: "Feature",
  14114. id: "500113",
  14115. properties: {name: "巴南区", cp: [106.7322, 29.4214], childNum: 1},
  14116. geometry: {
  14117. type: "Polygon",
  14118. 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"],
  14119. encodeOffsets: [[108990, 30061]]
  14120. }
  14121. }, {
  14122. type: "Feature",
  14123. id: "500223",
  14124. properties: {name: "潼南县", cp: [105.7764, 30.1135], childNum: 1},
  14125. geometry: {
  14126. type: "Polygon",
  14127. 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"],
  14128. encodeOffsets: [[108529, 31101]]
  14129. }
  14130. }, {
  14131. type: "Feature",
  14132. id: "500118",
  14133. properties: {name: "永川区", cp: [105.8643, 29.2566], childNum: 1},
  14134. geometry: {
  14135. type: "Polygon",
  14136. 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"],
  14137. encodeOffsets: [[108192, 30038]]
  14138. }
  14139. }, {
  14140. type: "Feature",
  14141. id: "500231",
  14142. properties: {name: "垫江县", cp: [107.4573, 30.2454], childNum: 1},
  14143. geometry: {
  14144. type: "Polygon",
  14145. 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"],
  14146. encodeOffsets: [[109812, 30961]]
  14147. }
  14148. }, {
  14149. type: "Feature",
  14150. id: "500112",
  14151. properties: {name: "渝北区", cp: [106.7212, 29.8499], childNum: 1},
  14152. geometry: {
  14153. type: "Polygon",
  14154. 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"],
  14155. encodeOffsets: [[109013, 30381]]
  14156. }
  14157. }, {
  14158. type: "Feature",
  14159. id: "500115",
  14160. properties: {name: "长寿区", cp: [107.1606, 29.9762], childNum: 1},
  14161. geometry: {
  14162. type: "Polygon",
  14163. 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"],
  14164. encodeOffsets: [[109429, 30747]]
  14165. }
  14166. }, {
  14167. type: "Feature",
  14168. id: "500225",
  14169. properties: {name: "大足县", cp: [105.7544, 29.6136], childNum: 1},
  14170. geometry: {
  14171. type: "Polygon",
  14172. 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"],
  14173. encodeOffsets: [[108270, 30578]]
  14174. }
  14175. }, {
  14176. type: "Feature",
  14177. id: "500224",
  14178. properties: {name: "铜梁县", cp: [106.0291, 29.8059], childNum: 1},
  14179. geometry: {
  14180. type: "Polygon",
  14181. 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"],
  14182. encodeOffsets: [[108316, 30527]]
  14183. }
  14184. }, {
  14185. type: "Feature",
  14186. id: "500226",
  14187. properties: {name: "荣昌县", cp: [105.5127, 29.4708], childNum: 1},
  14188. geometry: {
  14189. type: "Polygon",
  14190. 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š@"],
  14191. encodeOffsets: [[108012, 30392]]
  14192. }
  14193. }, {
  14194. type: "Feature",
  14195. id: "500227",
  14196. properties: {name: "璧山县", cp: [106.2048, 29.5807], childNum: 1},
  14197. geometry: {
  14198. type: "Polygon",
  14199. 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"],
  14200. encodeOffsets: [[108585, 30032]]
  14201. }
  14202. }, {
  14203. type: "Feature",
  14204. id: "500109",
  14205. properties: {name: "北碚区", cp: [106.5674, 29.8883], childNum: 1},
  14206. geometry: {
  14207. type: "Polygon",
  14208. 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"],
  14209. encodeOffsets: [[108855, 30449]]
  14210. }
  14211. }, {
  14212. type: "Feature",
  14213. id: "500110",
  14214. properties: {name: "万盛区", cp: [106.908, 28.9325], childNum: 1},
  14215. geometry: {
  14216. type: "Polygon",
  14217. 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"],
  14218. encodeOffsets: [[109452, 29779]]
  14219. }
  14220. }, {
  14221. type: "Feature",
  14222. id: "500107",
  14223. properties: {name: "九龙坡区", cp: [106.3586, 29.4049], childNum: 1},
  14224. geometry: {
  14225. type: "Polygon",
  14226. 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"],
  14227. encodeOffsets: [[108799, 30241]]
  14228. }
  14229. }, {
  14230. type: "Feature",
  14231. id: "500106",
  14232. properties: {name: "沙坪坝区", cp: [106.3696, 29.6191], childNum: 1},
  14233. geometry: {
  14234. type: "Polygon",
  14235. coordinates: ["@@Xºl„UVl@UbVXUV@xVJVzXJVUšL@VV@VKn@@Xl@XK@UmÝnKVbVakkVm@k„ƒUK@UmIm@LkKULVšU@WJ@UU@@VkXU@Wa™@@UKWL"],
  14236. encodeOffsets: [[108799, 30241]]
  14237. }
  14238. }, {
  14239. type: "Feature",
  14240. id: "500108",
  14241. properties: {name: "南岸区", cp: [106.6663, 29.5367], childNum: 1},
  14242. geometry: {
  14243. type: "Polygon",
  14244. coordinates: ["@@VV„JVL@bUVVnl`XIlwXJlw°nnl‚IXW@UÇĉk@WJkwkLƒ@WVkU@LU@U`W@UXUV@n"],
  14245. encodeOffsets: [[109092, 30241]]
  14246. }
  14247. }, {
  14248. type: "Feature",
  14249. id: "500105",
  14250. properties: {name: "江北区", cp: [106.8311, 29.6191], childNum: 1},
  14251. geometry: {
  14252. type: "Polygon",
  14253. coordinates: ["@@nLVU@wV@lV„@Xll„ÈKlU@L„@@bVKnx@I@JVaV@„x@Il@@Un@laVVn@mkUIm`k@WXJmk¯mkxWIkxWJk_UmVUUKƒ@UU™@ƒ„@l"],
  14254. encodeOffsets: [[109013, 30319]]
  14255. }
  14256. }, {
  14257. type: "Feature",
  14258. id: "500104",
  14259. properties: {name: "大渡口区", cp: [106.4905, 29.4214], childNum: 1},
  14260. geometry: {
  14261. type: "Polygon",
  14262. coordinates: ["@@k@@U@w„¥WKkVkImUmwa@b@xWJ@b@„nKVU@L@WVLXKV@@z@V@bVVU@@VVL°K@U"],
  14263. encodeOffsets: [[109080, 30190]]
  14264. }
  14265. }, {
  14266. type: "Feature",
  14267. id: "500111",
  14268. properties: {name: "双桥区", cp: [105.7874, 29.4928], childNum: 1},
  14269. geometry: {
  14270. type: "Polygon",
  14271. coordinates: ["@@WwUwU@kK@KmbU@@V@XlJ@znWlXV@XK"],
  14272. encodeOffsets: [[108372, 30235]]
  14273. }
  14274. }, {
  14275. type: "Feature",
  14276. id: "500103",
  14277. properties: {name: "渝中区", cp: [106.5344, 29.5477], childNum: 1},
  14278. geometry: {
  14279. type: "Polygon",
  14280. coordinates: ["@@VLš@VV„@VL@aUKƒIUUƒ@@JUVU@"],
  14281. encodeOffsets: [[109036, 30257]]
  14282. }
  14283. }],
  14284. UTF8Encoding: !0
  14285. }
  14286. }),i("echarts/util/mapData/geoJson/fu_jian_geo", [], function () {
  14287. return {
  14288. type: "FeatureCollection",
  14289. features: [{
  14290. type: "Feature",
  14291. id: "3507",
  14292. properties: {name: "南平市", cp: [118.136, 27.2845], childNum: 10},
  14293. geometry: {
  14294. type: "Polygon",
  14295. 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"],
  14296. encodeOffsets: [[122119, 28086]]
  14297. }
  14298. }, {
  14299. type: "Feature",
  14300. id: "3504",
  14301. properties: {name: "三明市", cp: [117.5317, 26.3013], childNum: 11},
  14302. geometry: {
  14303. type: "Polygon",
  14304. 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"],
  14305. encodeOffsets: [[119858, 27754]]
  14306. }
  14307. }, {
  14308. type: "Feature",
  14309. id: "3508",
  14310. properties: {name: "龙岩市", cp: [116.8066, 25.2026], childNum: 7},
  14311. geometry: {
  14312. type: "Polygon",
  14313. 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"],
  14314. encodeOffsets: [[119194, 26657]]
  14315. }
  14316. }, {
  14317. type: "Feature",
  14318. id: "3509",
  14319. properties: {name: "宁德市", cp: [119.6521, 26.9824], childNum: 9},
  14320. geometry: {
  14321. type: "Polygon",
  14322. 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"],
  14323. encodeOffsets: [[121816, 27816]]
  14324. }
  14325. }, {
  14326. type: "Feature",
  14327. id: "3501",
  14328. properties: {name: "福州市", cp: [119.4543, 25.9222], childNum: 9},
  14329. geometry: {
  14330. type: "Polygon",
  14331. 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„"],
  14332. encodeOffsets: [[121253, 26511]]
  14333. }
  14334. }, {
  14335. type: "Feature",
  14336. id: "3506",
  14337. properties: {name: "漳州市", cp: [117.5757, 24.3732], childNum: 10},
  14338. geometry: {
  14339. type: "Polygon",
  14340. 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"],
  14341. encodeOffsets: [[119712, 24953]]
  14342. }
  14343. }, {
  14344. type: "Feature",
  14345. id: "3505",
  14346. properties: {name: "泉州市", cp: [118.3228, 25.1147], childNum: 9},
  14347. geometry: {
  14348. type: "Polygon",
  14349. 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"],
  14350. encodeOffsets: [[120398, 25797]]
  14351. }
  14352. }, {
  14353. type: "Feature",
  14354. id: "3503",
  14355. properties: {name: "莆田市", cp: [119.0918, 25.3455], childNum: 2},
  14356. geometry: {
  14357. type: "Polygon",
  14358. 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"],
  14359. encodeOffsets: [[121388, 26264]]
  14360. }
  14361. }, {
  14362. type: "Feature",
  14363. id: "3502",
  14364. properties: {name: "厦门市", cp: [118.1689, 24.6478], childNum: 1},
  14365. geometry: {
  14366. type: "Polygon",
  14367. 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"],
  14368. encodeOffsets: [[120747, 25465]]
  14369. }
  14370. }],
  14371. UTF8Encoding: !0
  14372. }
  14373. }),i("echarts/util/mapData/geoJson/gan_su_geo", [], function () {
  14374. return {
  14375. type: "FeatureCollection",
  14376. features: [{
  14377. type: "Feature",
  14378. id: "6209",
  14379. properties: {name: "酒泉市", cp: [96.2622, 40.4517], childNum: 8},
  14380. geometry: {
  14381. type: "Polygon",
  14382. 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ťÇğÑ"],
  14383. encodeOffsets: [[101892, 40821]]
  14384. }
  14385. }, {
  14386. type: "Feature",
  14387. id: "6207",
  14388. properties: {name: "张掖市", cp: [99.7998, 38.7433], childNum: 9},
  14389. geometry: {
  14390. type: "Polygon",
  14391. 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"],
  14392. encodeOffsets: [[99720, 40090]]
  14393. }
  14394. }, {
  14395. type: "Feature",
  14396. id: "6230",
  14397. properties: {name: "甘南藏族自治州", cp: [102.9199, 34.6893], childNum: 9},
  14398. geometry: {
  14399. type: "Polygon",
  14400. 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"],
  14401. encodeOffsets: [[105210, 36349]]
  14402. }
  14403. }, {
  14404. type: "Feature",
  14405. id: "6206",
  14406. properties: {name: "武威市", cp: [103.0188, 38.1061], childNum: 4},
  14407. geometry: {
  14408. type: "Polygon",
  14409. 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™˜ƛɞÝƨů"],
  14410. encodeOffsets: [[106336, 38543]]
  14411. }
  14412. }, {
  14413. type: "Feature",
  14414. id: "6212",
  14415. properties: {name: "陇南市", cp: [105.304, 33.5632], childNum: 9},
  14416. geometry: {
  14417. type: "Polygon",
  14418. 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@¼"],
  14419. encodeOffsets: [[106527, 34943]]
  14420. }
  14421. }, {
  14422. type: "Feature",
  14423. id: "6210",
  14424. properties: {name: "庆阳市", cp: [107.5342, 36.2], childNum: 8},
  14425. geometry: {
  14426. type: "Polygon",
  14427. 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"],
  14428. encodeOffsets: [[111229, 36383]]
  14429. }
  14430. }, {
  14431. type: "Feature",
  14432. id: "6204",
  14433. properties: {name: "白银市", cp: [104.8645, 36.5076], childNum: 6},
  14434. geometry: {
  14435. type: "Polygon",
  14436. 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„°"],
  14437. encodeOffsets: [[106077, 37885]]
  14438. }
  14439. }, {
  14440. type: "Feature",
  14441. id: "6211",
  14442. properties: {name: "定西市", cp: [104.5569, 35.0848], childNum: 7},
  14443. geometry: {
  14444. type: "Polygon",
  14445. 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@"],
  14446. encodeOffsets: [[106122, 36794]]
  14447. }
  14448. }, {
  14449. type: "Feature",
  14450. id: "6205",
  14451. properties: {name: "天水市", cp: [105.6445, 34.6289], childNum: 6},
  14452. geometry: {
  14453. type: "Polygon",
  14454. 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„‚܁"],
  14455. encodeOffsets: [[108180, 35984]]
  14456. }
  14457. }, {
  14458. type: "Feature",
  14459. id: "6201",
  14460. properties: {name: "兰州市", cp: [103.5901, 36.3043], childNum: 5},
  14461. geometry: {
  14462. type: "MultiPolygon",
  14463. coordinates: [["@@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"], ["@@ƒ¯lwna@mōȯK¯kW¤ƒ@@V@bĢnĢƒVLU‚°k"]],
  14464. encodeOffsets: [[[105188, 37649]], [[106077, 37885]]]
  14465. }
  14466. }, {
  14467. type: "Feature",
  14468. id: "6208",
  14469. properties: {name: "平凉市", cp: [107.0728, 35.321], childNum: 7},
  14470. geometry: {
  14471. type: "Polygon",
  14472. 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"],
  14473. encodeOffsets: [[107877, 36338], [108439, 36265]]
  14474. }
  14475. }, {
  14476. type: "Feature",
  14477. id: "6229",
  14478. properties: {name: "临夏回族自治州", cp: [103.2715, 35.5737], childNum: 8},
  14479. geometry: {
  14480. type: "Polygon",
  14481. 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"],
  14482. encodeOffsets: [[105548, 37075]]
  14483. }
  14484. }, {
  14485. type: "Feature",
  14486. id: "6203",
  14487. properties: {name: "金昌市", cp: [102.074, 38.5126], childNum: 2},
  14488. geometry: {
  14489. type: "Polygon",
  14490. 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`"],
  14491. encodeOffsets: [[103849, 38970]]
  14492. }
  14493. }, {
  14494. type: "Feature",
  14495. id: "6202",
  14496. properties: {name: "嘉峪关市", cp: [98.1738, 39.8035], childNum: 1},
  14497. geometry: {
  14498. type: "Polygon",
  14499. coordinates: ["@@llĊx„¦šl™¦š„kVVnšJVbǖV„kôV˜a„bnaWw„UXmmamUXkWKō¯Xm°™™»ĉÇ@UVƒK™ķkǼğb"],
  14500. encodeOffsets: [[100182, 40664]]
  14501. }
  14502. }],
  14503. UTF8Encoding: !0
  14504. }
  14505. }),i("echarts/util/mapData/geoJson/guang_dong_geo", [], function () {
  14506. return {
  14507. type: "FeatureCollection",
  14508. features: [{
  14509. type: "Feature",
  14510. id: "4418",
  14511. properties: {name: "清远市", cp: [112.9175, 24.3292], childNum: 8},
  14512. geometry: {
  14513. type: "Polygon",
  14514. coordinates: ["@@lǯkÿƒaV¯™VaÈU„¥ÆDŽ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"],
  14515. encodeOffsets: [[115707, 25527]]
  14516. }
  14517. }, {
  14518. type: "Feature",
  14519. id: "4402",
  14520. properties: {name: "韶关市", cp: [113.7964, 24.7028], childNum: 8},
  14521. geometry: {
  14522. type: "Polygon",
  14523. 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ƒ@Å¥"],
  14524. encodeOffsets: [[117147, 25549]]
  14525. }
  14526. }, {
  14527. type: "Feature",
  14528. id: "4408",
  14529. properties: {name: "湛江市", cp: [110.3577, 20.9894], childNum: 6},
  14530. geometry: {
  14531. type: "Polygon",
  14532. 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Æ@"],
  14533. encodeOffsets: [[113040, 22416]]
  14534. }
  14535. }, {
  14536. type: "Feature",
  14537. id: "4414",
  14538. properties: {name: "梅州市", cp: [116.1255, 24.1534], childNum: 8},
  14539. geometry: {
  14540. type: "Polygon",
  14541. 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"],
  14542. encodeOffsets: [[118125, 24419]]
  14543. }
  14544. }, {
  14545. type: "Feature",
  14546. id: "4416",
  14547. properties: {name: "河源市", cp: [114.917, 23.9722], childNum: 6},
  14548. geometry: {
  14549. type: "Polygon",
  14550. 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"],
  14551. encodeOffsets: [[117057, 25167]]
  14552. }
  14553. }, {
  14554. type: "Feature",
  14555. id: "4412",
  14556. properties: {name: "肇庆市", cp: [112.1265, 23.5822], childNum: 7},
  14557. geometry: {
  14558. type: "Polygon",
  14559. 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"],
  14560. encodeOffsets: [[114627, 24818]]
  14561. }
  14562. }, {
  14563. type: "Feature",
  14564. id: "4413",
  14565. properties: {name: "惠州市", cp: [114.6204, 23.1647], childNum: 4},
  14566. geometry: {
  14567. type: "Polygon",
  14568. 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"],
  14569. encodeOffsets: [[116776, 24492]]
  14570. }
  14571. }, {
  14572. type: "Feature",
  14573. id: "4409",
  14574. properties: {name: "茂名市", cp: [111.0059, 22.0221], childNum: 5},
  14575. geometry: {
  14576. type: "Polygon",
  14577. 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œš"],
  14578. encodeOffsets: [[113761, 23237]]
  14579. }
  14580. }, {
  14581. type: "Feature",
  14582. id: "4407",
  14583. properties: {name: "江门市", cp: [112.6318, 22.1484], childNum: 5},
  14584. geometry: {
  14585. type: "Polygon",
  14586. 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¦"],
  14587. encodeOffsets: [[114852, 22928]]
  14588. }
  14589. }, {
  14590. type: "Feature",
  14591. id: "4417",
  14592. properties: {name: "阳江市", cp: [111.8298, 22.0715], childNum: 4},
  14593. geometry: {
  14594. type: "Polygon",
  14595. 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Ž„"],
  14596. encodeOffsets: [[114053, 22782]]
  14597. }
  14598. }, {
  14599. type: "Feature",
  14600. id: "4453",
  14601. properties: {name: "云浮市", cp: [111.7859, 22.8516], childNum: 5},
  14602. geometry: {
  14603. type: "Polygon",
  14604. 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"],
  14605. encodeOffsets: [[114053, 23873]]
  14606. }
  14607. }, {
  14608. type: "Feature",
  14609. id: "4401",
  14610. properties: {name: "广州市", cp: [113.5107, 23.2196], childNum: 13},
  14611. geometry: {
  14612. type: "Polygon",
  14613. 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"],
  14614. encodeOffsets: [[115673, 24019]]
  14615. }
  14616. }, {
  14617. type: "Feature",
  14618. id: "4415",
  14619. properties: {name: "汕尾市", cp: [115.5762, 23.0438], childNum: 4},
  14620. geometry: {
  14621. type: "Polygon",
  14622. 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"],
  14623. encodeOffsets: [[118193, 23806]]
  14624. }
  14625. }, {
  14626. type: "Feature",
  14627. id: "4452",
  14628. properties: {name: "揭阳市", cp: [116.1255, 23.313], childNum: 5},
  14629. geometry: {
  14630. type: "Polygon",
  14631. 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¦ÝÆ"],
  14632. encodeOffsets: [[118384, 24036]]
  14633. }
  14634. }, {
  14635. type: "Feature",
  14636. id: "4404",
  14637. properties: {name: "珠海市", cp: [113.7305, 22.1155], childNum: 1},
  14638. geometry: {
  14639. type: "Polygon",
  14640. 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‚™"],
  14641. encodeOffsets: [[115774, 22602], [116325, 22697]]
  14642. }
  14643. }, {
  14644. type: "Feature",
  14645. id: "4406",
  14646. properties: {name: "佛山市", cp: [112.8955, 23.1097], childNum: 1},
  14647. geometry: {
  14648. type: "Polygon",
  14649. 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Ċ"],
  14650. encodeOffsets: [[115088, 23316]]
  14651. }
  14652. }, {
  14653. type: "Feature",
  14654. id: "4451",
  14655. properties: {name: "潮州市", cp: [116.7847, 23.8293], childNum: 3},
  14656. geometry: {
  14657. type: "Polygon",
  14658. 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"],
  14659. encodeOffsets: [[119161, 24306]]
  14660. }
  14661. }, {
  14662. type: "Feature",
  14663. id: "4405",
  14664. properties: {name: "汕头市", cp: [117.1692, 23.3405], childNum: 2},
  14665. geometry: {
  14666. type: "Polygon",
  14667. 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"],
  14668. encodeOffsets: [[119251, 24059]]
  14669. }
  14670. }, {
  14671. type: "Feature",
  14672. id: "4403",
  14673. properties: {name: "深圳市", cp: [114.5435, 22.5439], childNum: 1},
  14674. geometry: {
  14675. type: "Polygon",
  14676. 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Ĭ™Æ"],
  14677. encodeOffsets: [[116404, 23265]]
  14678. }
  14679. }, {
  14680. type: "Feature",
  14681. id: "4419",
  14682. properties: {name: "东莞市", cp: [113.8953, 22.901], childNum: 1},
  14683. geometry: {
  14684. type: "Polygon",
  14685. coordinates: ["@@Ŏ@ššblKnšykVa‚KnbnIVmUƒ˜kUmUIUә„ƒçmV@bUxó¦¯LW‚¯š™L™UUƒ™a@w™ƒÝKğŚ™ƾ„„ƨÈĠy"],
  14686. encodeOffsets: [[116573, 23670]]
  14687. }
  14688. }, {
  14689. type: "Feature",
  14690. id: "4420",
  14691. properties: {name: "中山市", cp: [113.4229, 22.478], childNum: 1},
  14692. geometry: {
  14693. type: "Polygon",
  14694. coordinates: ["@@‚XœÒlmšV°ôÞÅ@m„¯°k„±‚@@aX¹¯VݏÇIUmV¯kk‚±Û£mw@‚Őmèżmô™¼èVš"],
  14695. encodeOffsets: [[115887, 23209]]
  14696. }
  14697. }],
  14698. UTF8Encoding: !0
  14699. }
  14700. }),i("echarts/util/mapData/geoJson/guang_xi_geo", [], function () {
  14701. return {
  14702. type: "FeatureCollection", features: [{
  14703. type: "Feature",
  14704. id: "4510",
  14705. properties: {name: "百色市", cp: [106.6003, 23.9227], childNum: 12},
  14706. geometry: {
  14707. type: "Polygon",
  14708. 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@"],
  14709. encodeOffsets: [[109126, 25684]]
  14710. }
  14711. }, {
  14712. type: "Feature",
  14713. id: "4512",
  14714. properties: {name: "河池市", cp: [107.8638, 24.5819], childNum: 11},
  14715. geometry: {
  14716. type: "Polygon",
  14717. 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"],
  14718. encodeOffsets: [[109126, 25684]]
  14719. }
  14720. }, {
  14721. type: "Feature",
  14722. id: "4503",
  14723. properties: {name: "桂林市", cp: [110.5554, 25.318], childNum: 13},
  14724. geometry: {
  14725. type: "Polygon",
  14726. 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"],
  14727. encodeOffsets: [[112399, 26500]]
  14728. }
  14729. }, {
  14730. type: "Feature",
  14731. id: "4501",
  14732. properties: {name: "南宁市", cp: [108.479, 23.1152], childNum: 7},
  14733. geometry: {
  14734. type: "Polygon",
  14735. 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"],
  14736. encodeOffsets: [[109958, 23806]]
  14737. }
  14738. }, {
  14739. type: "Feature",
  14740. id: "4502",
  14741. properties: {name: "柳州市", cp: [109.3799, 24.9774], childNum: 7},
  14742. geometry: {
  14743. type: "Polygon",
  14744. 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"],
  14745. encodeOffsets: [[112399, 26500]]
  14746. }
  14747. }, {
  14748. type: "Feature",
  14749. id: "4514",
  14750. properties: {name: "崇左市", cp: [107.3364, 22.4725], childNum: 7},
  14751. geometry: {
  14752. type: "Polygon",
  14753. 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"],
  14754. encodeOffsets: [[109227, 23440]]
  14755. }
  14756. }, {
  14757. type: "Feature",
  14758. id: "4513",
  14759. properties: {name: "来宾市", cp: [109.7095, 23.8403], childNum: 6},
  14760. geometry: {
  14761. type: "Polygon",
  14762. 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„"],
  14763. encodeOffsets: [[111083, 24599]]
  14764. }
  14765. }, {
  14766. type: "Feature",
  14767. id: "4509",
  14768. properties: {name: "玉林市", cp: [110.2148, 22.3792], childNum: 6},
  14769. geometry: {
  14770. type: "Polygon",
  14771. 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"],
  14772. encodeOffsets: [[112478, 22872]]
  14773. }
  14774. }, {
  14775. type: "Feature",
  14776. id: "4504",
  14777. properties: {name: "梧州市", cp: [110.9949, 23.5052], childNum: 6},
  14778. geometry: {
  14779. type: "Polygon",
  14780. 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ƒ@"],
  14781. encodeOffsets: [[112973, 24863]]
  14782. }
  14783. }, {
  14784. type: "Feature",
  14785. id: "4511",
  14786. properties: {name: "贺州市", cp: [111.3135, 24.4006], childNum: 4},
  14787. geometry: {
  14788. type: "Polygon",
  14789. 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"],
  14790. encodeOffsets: [[113220, 24947]]
  14791. }
  14792. }, {
  14793. type: "Feature",
  14794. id: "4507",
  14795. properties: {name: "钦州市", cp: [109.0283, 22.0935], childNum: 3},
  14796. geometry: {
  14797. type: "Polygon",
  14798. 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@"],
  14799. encodeOffsets: [[110881, 22742]]
  14800. }
  14801. }, {
  14802. type: "Feature",
  14803. id: "4508",
  14804. properties: {name: "贵港市", cp: [109.9402, 23.3459], childNum: 3},
  14805. geometry: {
  14806. type: "Polygon",
  14807. 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‚"],
  14808. encodeOffsets: [[112568, 24255]]
  14809. }
  14810. }, {
  14811. type: "Feature",
  14812. id: "4506",
  14813. properties: {name: "防城港市", cp: [108.0505, 21.9287], childNum: 3},
  14814. geometry: {
  14815. type: "Polygon",
  14816. 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"],
  14817. encodeOffsets: [[110070, 22174]]
  14818. }
  14819. }, {
  14820. type: "Feature",
  14821. id: "4505",
  14822. properties: {name: "北海市", cp: [109.314, 21.6211], childNum: 2},
  14823. geometry: {
  14824. type: "Polygon",
  14825. 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"],
  14826. encodeOffsets: [[112242, 22444]]
  14827. }
  14828. }], UTF8Encoding: !0
  14829. }
  14830. }),i("echarts/util/mapData/geoJson/gui_zhou_geo", [], function () {
  14831. return {
  14832. type: "FeatureCollection", features: [{
  14833. type: "Feature",
  14834. id: "5203",
  14835. properties: {name: "遵义市", cp: [106.908, 28.1744], childNum: 14},
  14836. geometry: {
  14837. type: "MultiPolygon",
  14838. coordinates: [["@@@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"], ["@@@KlKkUUVVX"]],
  14839. encodeOffsets: [[[108799, 29239]], [[110532, 27822]]]
  14840. }
  14841. }, {
  14842. type: "Feature",
  14843. id: "5226",
  14844. properties: {name: "黔东南苗族侗族自治州", cp: [108.4241, 26.4166], childNum: 17},
  14845. geometry: {
  14846. type: "MultiPolygon",
  14847. coordinates: [["@@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"], ["@@UUVUkUmV@ln@VXVK@K"]],
  14848. encodeOffsets: [[[110318, 27214], [110532, 27822]], [[112219, 27394]]]
  14849. }
  14850. }, {
  14851. type: "Feature",
  14852. id: "5224",
  14853. properties: {name: "毕节地区", cp: [105.1611, 27.0648], childNum: 8},
  14854. geometry: {
  14855. type: "Polygon",
  14856. 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@ƒ"],
  14857. encodeOffsets: [[108552, 28412], [107213, 27445]]
  14858. }
  14859. }, {
  14860. type: "Feature",
  14861. id: "5227",
  14862. properties: {name: "黔南布依族苗族自治州", cp: [107.2485, 25.8398], childNum: 12},
  14863. geometry: {
  14864. type: "Polygon",
  14865. 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"],
  14866. encodeOffsets: [[108912, 26905]]
  14867. }
  14868. }, {
  14869. type: "Feature",
  14870. id: "5222",
  14871. properties: {name: "铜仁地区", cp: [108.6218, 28.0096], childNum: 10},
  14872. geometry: {
  14873. type: "Polygon",
  14874. 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"],
  14875. encodeOffsets: [[110667, 29785]]
  14876. }
  14877. }, {
  14878. type: "Feature",
  14879. id: "5223",
  14880. properties: {name: "黔西南布依族苗族自治州", cp: [105.5347, 25.3949], childNum: 8},
  14881. geometry: {
  14882. type: "Polygon",
  14883. 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"],
  14884. encodeOffsets: [[107157, 25965]]
  14885. }
  14886. }, {
  14887. type: "Feature",
  14888. id: "5202",
  14889. properties: {name: "六盘水市", cp: [104.7546, 26.0925], childNum: 5},
  14890. geometry: {
  14891. type: "MultiPolygon",
  14892. coordinates: [["@@ô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"], ["@@@ƒ@UmWUwkU@Um@@VkL@V@„„‚@„V@VkV@nbVa"]],
  14893. encodeOffsets: [[[107089, 27181]], [[107213, 27479]]]
  14894. }
  14895. }, {
  14896. type: "Feature",
  14897. id: "5204",
  14898. properties: {name: "安顺市", cp: [105.9082, 25.9882], childNum: 6},
  14899. geometry: {
  14900. type: "Polygon",
  14901. 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@"],
  14902. encodeOffsets: [[108237, 26792]]
  14903. }
  14904. }, {
  14905. type: "Feature",
  14906. id: "5201",
  14907. properties: {name: "贵阳市", cp: [106.6992, 26.7682], childNum: 5},
  14908. geometry: {
  14909. type: "Polygon",
  14910. 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"],
  14911. encodeOffsets: [[108945, 27760]]
  14912. }
  14913. }], UTF8Encoding: !0
  14914. }
  14915. }),i("echarts/util/mapData/geoJson/hai_nan_geo", [], function () {
  14916. return {
  14917. type: "FeatureCollection",
  14918. features: [{
  14919. type: "Feature",
  14920. id: "469003",
  14921. properties: {name: "儋州市", cp: [109.3291, 19.5653], childNum: 1},
  14922. geometry: {
  14923. type: "Polygon",
  14924. 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Ÿ”"],
  14925. encodeOffsets: [[111506, 20018]]
  14926. }
  14927. }, {
  14928. type: "Feature",
  14929. id: "469005",
  14930. properties: {name: "文昌市", cp: [110.8905, 19.7823], childNum: 1},
  14931. geometry: {
  14932. type: "Polygon",
  14933. 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åà"],
  14934. encodeOffsets: [[113115, 20665]]
  14935. }
  14936. }, {
  14937. type: "Feature",
  14938. id: "469033",
  14939. properties: {name: "乐东黎族自治县", cp: [109.0283, 18.6301], childNum: 1},
  14940. geometry: {
  14941. type: "Polygon",
  14942. 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ø"],
  14943. encodeOffsets: [[111263, 19164]]
  14944. }
  14945. }, {
  14946. type: "Feature",
  14947. id: "4602",
  14948. properties: {name: "三亚市", cp: [109.3716, 18.3698], childNum: 1},
  14949. geometry: {
  14950. type: "Polygon",
  14951. 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"],
  14952. encodeOffsets: [[111547, 18737]]
  14953. }
  14954. }, {
  14955. type: "Feature",
  14956. id: "469036",
  14957. properties: {name: "琼中黎族苗族自治县", cp: [109.8413, 19.0736], childNum: 1},
  14958. geometry: {
  14959. type: "Polygon",
  14960. 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"],
  14961. encodeOffsets: [[112153, 19488]]
  14962. }
  14963. }, {
  14964. type: "Feature",
  14965. id: "469007",
  14966. properties: {name: "东方市", cp: [108.8498, 19.0414], childNum: 1},
  14967. geometry: {
  14968. type: "Polygon",
  14969. 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"],
  14970. encodeOffsets: [[111208, 19833]]
  14971. }
  14972. }, {
  14973. type: "Feature",
  14974. id: "4601",
  14975. properties: {name: "海口市", cp: [110.3893, 19.8516], childNum: 1},
  14976. geometry: {
  14977. type: "Polygon",
  14978. 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^ÍÞ"],
  14979. encodeOffsets: [[112711, 20572]]
  14980. }
  14981. }, {
  14982. type: "Feature",
  14983. id: "469006",
  14984. properties: {name: "万宁市", cp: [110.3137, 18.8388], childNum: 1},
  14985. geometry: {
  14986. type: "Polygon",
  14987. 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`"],
  14988. encodeOffsets: [[112657, 19182]]
  14989. }
  14990. }, {
  14991. type: "Feature",
  14992. id: "469027",
  14993. properties: {name: "澄迈县", cp: [109.9937, 19.7314], childNum: 1},
  14994. geometry: {
  14995. type: "Polygon",
  14996. 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"],
  14997. encodeOffsets: [[112385, 19987]]
  14998. }
  14999. }, {
  15000. type: "Feature",
  15001. id: "469030",
  15002. properties: {name: "白沙黎族自治县", cp: [109.3703, 19.211], childNum: 1},
  15003. geometry: {
  15004. type: "Polygon",
  15005. 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^"],
  15006. encodeOffsets: [[111665, 19890]]
  15007. }
  15008. }, {
  15009. type: "Feature",
  15010. id: "469002",
  15011. properties: {name: "琼海市", cp: [110.4208, 19.224], childNum: 1},
  15012. geometry: {
  15013. type: "Polygon",
  15014. 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"],
  15015. encodeOffsets: [[112763, 19595]]
  15016. }
  15017. }, {
  15018. type: "Feature",
  15019. id: "469031",
  15020. properties: {name: "昌江黎族自治县", cp: [109.0407, 19.2137], childNum: 1},
  15021. geometry: {
  15022. type: "Polygon",
  15023. 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Œ¹ "],
  15024. encodeOffsets: [[111208, 19833]]
  15025. }
  15026. }, {
  15027. type: "Feature",
  15028. id: "469028",
  15029. properties: {name: "临高县", cp: [109.6957, 19.8063], childNum: 1},
  15030. geometry: {
  15031. type: "Polygon",
  15032. 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ê"],
  15033. encodeOffsets: [[112122, 20431]]
  15034. }
  15035. }, {
  15036. type: "Feature",
  15037. id: "469034",
  15038. properties: {name: "陵水黎族自治县", cp: [109.9924, 18.5415], childNum: 1},
  15039. geometry: {
  15040. type: "Polygon",
  15041. 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"],
  15042. encodeOffsets: [[112409, 19261]]
  15043. }
  15044. }, {
  15045. type: "Feature",
  15046. id: "469026",
  15047. properties: {name: "屯昌县", cp: [110.0377, 19.362], childNum: 1},
  15048. geometry: {
  15049. type: "Polygon",
  15050. 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@"],
  15051. encodeOffsets: [[112513, 19852]]
  15052. }
  15053. }, {
  15054. type: "Feature",
  15055. id: "469025",
  15056. properties: {name: "定安县", cp: [110.3384, 19.4698], childNum: 1},
  15057. geometry: {
  15058. type: "Polygon",
  15059. 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"],
  15060. encodeOffsets: [[112903, 20139]]
  15061. }
  15062. }, {
  15063. type: "Feature",
  15064. id: "469035",
  15065. properties: {name: "保亭黎族苗族自治县", cp: [109.6284, 18.6108], childNum: 1},
  15066. geometry: {
  15067. type: "Polygon",
  15068. 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"],
  15069. encodeOffsets: [[112031, 19071]]
  15070. }
  15071. }, {
  15072. type: "Feature",
  15073. id: "469001",
  15074. properties: {name: "五指山市", cp: [109.5282, 18.8299], childNum: 1},
  15075. geometry: {
  15076. type: "Polygon",
  15077. 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"],
  15078. encodeOffsets: [[111973, 19401]]
  15079. }
  15080. }],
  15081. UTF8Encoding: !0
  15082. }
  15083. }),i("echarts/util/mapData/geoJson/hei_long_jiang_geo", [], function () {
  15084. return {
  15085. type: "FeatureCollection",
  15086. features: [{
  15087. type: "Feature",
  15088. id: "2311",
  15089. properties: {name: "黑河市", cp: [127.1448, 49.2957], childNum: 6},
  15090. geometry: {
  15091. type: "Polygon",
  15092. 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݂Ý@"],
  15093. encodeOffsets: [[127744, 50102]]
  15094. }
  15095. }, {
  15096. type: "Feature",
  15097. id: "2327",
  15098. properties: {name: "大兴安岭地区", cp: [124.1016, 52.2345], childNum: 3},
  15099. geometry: {
  15100. type: "Polygon",
  15101. 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š¥"],
  15102. encodeOffsets: [[130084, 52206]]
  15103. }
  15104. }, {
  15105. type: "Feature",
  15106. id: "2301",
  15107. properties: {name: "哈尔滨市", cp: [127.9688, 45.368], childNum: 11},
  15108. geometry: {
  15109. type: "Polygon",
  15110. 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"],
  15111. encodeOffsets: [[128712, 46604]]
  15112. }
  15113. }, {
  15114. type: "Feature",
  15115. id: "2302",
  15116. properties: {name: "齐齐哈尔市", cp: [124.541, 47.5818], childNum: 11},
  15117. geometry: {
  15118. type: "Polygon",
  15119. 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"],
  15120. encodeOffsets: [[127744, 50102]]
  15121. }
  15122. }, {
  15123. type: "Feature",
  15124. id: "2310",
  15125. properties: {name: "牡丹江市", cp: [129.7815, 44.7089], childNum: 7},
  15126. geometry: {
  15127. type: "Polygon",
  15128. 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"],
  15129. encodeOffsets: [[132672, 46936]]
  15130. }
  15131. }, {
  15132. type: "Feature",
  15133. id: "2312",
  15134. properties: {name: "绥化市", cp: [126.7163, 46.8018], childNum: 10},
  15135. geometry: {
  15136. type: "Polygon",
  15137. 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È"],
  15138. encodeOffsets: [[128352, 48421]]
  15139. }
  15140. }, {
  15141. type: "Feature",
  15142. id: "2307",
  15143. properties: {name: "伊春市", cp: [129.1992, 47.9608], childNum: 3},
  15144. geometry: {
  15145. type: "Polygon",
  15146. 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°¦@"],
  15147. encodeOffsets: [[131637, 48556]]
  15148. }
  15149. }, {
  15150. type: "Feature",
  15151. id: "2308",
  15152. properties: {name: "佳木斯市", cp: [133.0005, 47.5763], childNum: 7},
  15153. geometry: {
  15154. type: "Polygon",
  15155. 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"],
  15156. encodeOffsets: [[132615, 47740]]
  15157. }
  15158. }, {
  15159. type: "Feature",
  15160. id: "2303",
  15161. properties: {name: "鸡西市", cp: [132.7917, 45.7361], childNum: 4},
  15162. geometry: {
  15163. type: "Polygon",
  15164. 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œÆ"],
  15165. encodeOffsets: [[133921, 46716]]
  15166. }
  15167. }, {
  15168. type: "Feature",
  15169. id: "2305",
  15170. properties: {name: "双鸭山市", cp: [133.5938, 46.7523], childNum: 5},
  15171. geometry: {
  15172. type: "Polygon",
  15173. 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"],
  15174. encodeOffsets: [[137577, 48578]]
  15175. }
  15176. }, {
  15177. type: "Feature",
  15178. id: "2306",
  15179. properties: {name: "大庆市", cp: [124.7717, 46.4282], childNum: 5},
  15180. geometry: {
  15181. type: "Polygon",
  15182. 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„ĉ"],
  15183. encodeOffsets: [[128352, 48421]]
  15184. }
  15185. }, {
  15186. type: "Feature",
  15187. id: "2304",
  15188. properties: {name: "鹤岗市", cp: [130.4407, 47.7081], childNum: 3},
  15189. geometry: {
  15190. type: "Polygon",
  15191. 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„°"],
  15192. encodeOffsets: [[132998, 49478]]
  15193. }
  15194. }, {
  15195. type: "Feature",
  15196. id: "2309",
  15197. properties: {name: "七台河市", cp: [131.2756, 45.9558], childNum: 2},
  15198. geometry: {
  15199. type: "Polygon",
  15200. 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º@Ķ°"],
  15201. encodeOffsets: [[133369, 47228]]
  15202. }
  15203. }],
  15204. UTF8Encoding: !0
  15205. }
  15206. }),i("echarts/util/mapData/geoJson/he_bei_geo", [], function () {
  15207. return {
  15208. type: "FeatureCollection", features: [{
  15209. type: "Feature",
  15210. id: "1308",
  15211. properties: {name: "承德市", cp: [117.5757, 41.4075], childNum: 11},
  15212. geometry: {
  15213. type: "Polygon",
  15214. 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š"],
  15215. encodeOffsets: [[118868, 42784]]
  15216. }
  15217. }, {
  15218. type: "Feature",
  15219. id: "1307",
  15220. properties: {name: "张家口市", cp: [115.1477, 40.8527], childNum: 15},
  15221. geometry: {
  15222. type: "Polygon",
  15223. 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¥ÆÑ@¥Þ@"],
  15224. encodeOffsets: [[118868, 42784]]
  15225. }
  15226. }, {
  15227. type: "Feature",
  15228. id: "1306",
  15229. properties: {name: "保定市", cp: [115.0488, 39.0948], childNum: 23},
  15230. geometry: {
  15231. type: "Polygon",
  15232. 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"],
  15233. encodeOffsets: [[117304, 40512]]
  15234. }
  15235. }, {
  15236. type: "Feature",
  15237. id: "1302",
  15238. properties: {name: "唐山市", cp: [118.4766, 39.6826], childNum: 11},
  15239. geometry: {
  15240. type: "Polygon",
  15241. 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"],
  15242. encodeOffsets: [[120398, 41159]]
  15243. }
  15244. }, {
  15245. type: "Feature",
  15246. id: "1309",
  15247. properties: {name: "沧州市", cp: [116.8286, 38.2104], childNum: 15},
  15248. geometry: {
  15249. type: "Polygon",
  15250. 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@"],
  15251. encodeOffsets: [[118485, 39280]]
  15252. }
  15253. }, {
  15254. type: "Feature",
  15255. id: "1301",
  15256. properties: {name: "石家庄市", cp: [114.4995, 38.1006], childNum: 19},
  15257. geometry: {
  15258. type: "Polygon",
  15259. 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"],
  15260. encodeOffsets: [[116562, 39691]]
  15261. }
  15262. }, {
  15263. type: "Feature",
  15264. id: "1305",
  15265. properties: {name: "邢台市", cp: [114.8071, 37.2821], childNum: 18},
  15266. geometry: {
  15267. type: "Polygon",
  15268. 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"],
  15269. encodeOffsets: [[116764, 38346]]
  15270. }
  15271. }, {
  15272. type: "Feature",
  15273. id: "1304",
  15274. properties: {name: "邯郸市", cp: [114.4775, 36.535], childNum: 18},
  15275. geometry: {
  15276. type: "Polygon",
  15277. 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"],
  15278. encodeOffsets: [[116528, 37885]]
  15279. }
  15280. }, {
  15281. type: "Feature",
  15282. id: "1303",
  15283. properties: {name: "秦皇岛市", cp: [119.2126, 40.0232], childNum: 5},
  15284. geometry: {
  15285. type: "Polygon",
  15286. 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"],
  15287. encodeOffsets: [[121411, 41254]]
  15288. }
  15289. }, {
  15290. type: "Feature",
  15291. id: "1311",
  15292. properties: {name: "衡水市", cp: [115.8838, 37.7161], childNum: 11},
  15293. geometry: {
  15294. type: "Polygon",
  15295. 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¦°@"],
  15296. encodeOffsets: [[118024, 38549]]
  15297. }
  15298. }, {
  15299. type: "Feature",
  15300. id: "1310",
  15301. properties: {name: "廊坊市", cp: [116.521, 39.0509], childNum: 9},
  15302. geometry: {
  15303. type: "MultiPolygon",
  15304. coordinates: [["@@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"], ["@@@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"]],
  15305. encodeOffsets: [[[119037, 40467]], [[119970, 40776]]]
  15306. }
  15307. }], UTF8Encoding: !0
  15308. }
  15309. }),i("echarts/util/mapData/geoJson/he_nan_geo", [], function () {
  15310. return {
  15311. type: "FeatureCollection",
  15312. features: [{
  15313. type: "Feature",
  15314. id: "4113",
  15315. properties: {name: "南阳市", cp: [112.4011, 33.0359], childNum: 12},
  15316. geometry: {
  15317. type: "Polygon",
  15318. 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"],
  15319. encodeOffsets: [[113671, 34364]]
  15320. }
  15321. }, {
  15322. type: "Feature",
  15323. id: "4115",
  15324. properties: {name: "信阳市", cp: [114.8291, 32.0197], childNum: 9},
  15325. geometry: {
  15326. type: "Polygon",
  15327. 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"],
  15328. encodeOffsets: [[116551, 33385]]
  15329. }
  15330. }, {
  15331. type: "Feature",
  15332. id: "4103",
  15333. properties: {name: "洛阳市", cp: [112.0605, 34.3158], childNum: 11},
  15334. geometry: {
  15335. type: "Polygon",
  15336. 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"],
  15337. encodeOffsets: [[114683, 35551]]
  15338. }
  15339. }, {
  15340. type: "Feature",
  15341. id: "4117",
  15342. properties: {name: "驻马店市", cp: [114.1589, 32.9041], childNum: 10},
  15343. geometry: {
  15344. type: "Polygon",
  15345. 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"],
  15346. encodeOffsets: [[115920, 33863]]
  15347. }
  15348. }, {
  15349. type: "Feature",
  15350. id: "4116",
  15351. properties: {name: "周口市", cp: [114.873, 33.6951], childNum: 10},
  15352. geometry: {
  15353. type: "Polygon",
  15354. 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"],
  15355. encodeOffsets: [[116832, 34527]]
  15356. }
  15357. }, {
  15358. type: "Feature",
  15359. id: "4114",
  15360. properties: {name: "商丘市", cp: [115.741, 34.2828], childNum: 8},
  15361. geometry: {
  15362. type: "Polygon",
  15363. 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"],
  15364. encodeOffsets: [[118024, 35680]]
  15365. }
  15366. }, {
  15367. type: "Feature",
  15368. id: "4112",
  15369. properties: {name: "三门峡市", cp: [110.8301, 34.3158], childNum: 6},
  15370. geometry: {
  15371. type: "Polygon",
  15372. 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„_"],
  15373. encodeOffsets: [[114661, 35911]]
  15374. }
  15375. }, {
  15376. type: "Feature",
  15377. id: "4107",
  15378. properties: {name: "新乡市", cp: [114.2029, 35.3595], childNum: 9},
  15379. geometry: {
  15380. type: "Polygon",
  15381. 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"],
  15382. encodeOffsets: [[116100, 36349]]
  15383. }
  15384. }, {
  15385. type: "Feature",
  15386. id: "4104",
  15387. properties: {name: "平顶山市", cp: [112.9724, 33.739], childNum: 8},
  15388. geometry: {
  15389. type: "Polygon",
  15390. 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"],
  15391. encodeOffsets: [[114942, 34527]]
  15392. }
  15393. }, {
  15394. type: "Feature",
  15395. id: "4101",
  15396. properties: {name: "郑州市", cp: [113.4668, 34.6234], childNum: 8},
  15397. geometry: {
  15398. type: "Polygon",
  15399. 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"],
  15400. encodeOffsets: [[115617, 35584]]
  15401. }
  15402. }, {
  15403. type: "Feature",
  15404. id: "4105",
  15405. properties: {name: "安阳市", cp: [114.5325, 36.0022], childNum: 6},
  15406. geometry: {
  15407. type: "Polygon",
  15408. 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™"],
  15409. encodeOffsets: [[117676, 36917]]
  15410. }
  15411. }, {
  15412. type: "Feature",
  15413. id: "4102",
  15414. properties: {name: "开封市", cp: [114.5764, 34.6124], childNum: 6},
  15415. geometry: {
  15416. type: "Polygon",
  15417. 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ꄘ"],
  15418. encodeOffsets: [[116641, 35280]]
  15419. }
  15420. }, {
  15421. type: "Feature",
  15422. id: "4108",
  15423. properties: {name: "焦作市", cp: [112.8406, 35.1508], childNum: 8},
  15424. geometry: {
  15425. type: "Polygon",
  15426. 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"],
  15427. encodeOffsets: [[114728, 35888]]
  15428. }
  15429. }, {
  15430. type: "Feature",
  15431. id: "4110",
  15432. properties: {name: "许昌市", cp: [113.6975, 34.0466], childNum: 6},
  15433. geometry: {
  15434. type: "Polygon",
  15435. 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"],
  15436. encodeOffsets: [[115797, 35089]]
  15437. }
  15438. }, {
  15439. type: "Feature",
  15440. id: "4109",
  15441. properties: {name: "濮阳市", cp: [115.1917, 35.799], childNum: 6},
  15442. geometry: {
  15443. type: "Polygon",
  15444. 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"],
  15445. encodeOffsets: [[117642, 36501]]
  15446. }
  15447. }, {
  15448. type: "Feature",
  15449. id: "4111",
  15450. properties: {name: "漯河市", cp: [113.8733, 33.6951], childNum: 3},
  15451. geometry: {
  15452. type: "Polygon",
  15453. 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êƎ"],
  15454. encodeOffsets: [[116348, 34431]]
  15455. }
  15456. }, {
  15457. type: "Feature",
  15458. id: "4106",
  15459. properties: {name: "鹤壁市", cp: [114.3787, 35.744], childNum: 3},
  15460. geometry: {
  15461. type: "Polygon",
  15462. 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"],
  15463. encodeOffsets: [[117158, 36338]]
  15464. }
  15465. }],
  15466. UTF8Encoding: !0
  15467. }
  15468. }),i("echarts/util/mapData/geoJson/hu_bei_geo", [], function () {
  15469. return {
  15470. type: "FeatureCollection", features: [{
  15471. type: "Feature",
  15472. id: "4228",
  15473. properties: {name: "恩施土家族苗族自治州", cp: [109.5007, 30.2563], childNum: 8},
  15474. geometry: {
  15475. type: "Polygon",
  15476. 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š"],
  15477. encodeOffsets: [[112816, 32052]]
  15478. }
  15479. }, {
  15480. type: "Feature",
  15481. id: "4203",
  15482. properties: {name: "十堰市", cp: [110.5115, 32.3877], childNum: 9},
  15483. geometry: {
  15484. type: "MultiPolygon",
  15485. coordinates: [["@@@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"], ["@@mUkUUm@nllVKXXVK"]],
  15486. encodeOffsets: [[[113918, 33739]], [[113817, 32811]]]
  15487. }
  15488. }, {
  15489. type: "Feature",
  15490. id: "4205",
  15491. properties: {name: "宜昌市", cp: [111.1707, 30.7617], childNum: 9},
  15492. geometry: {
  15493. type: "Polygon",
  15494. 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"],
  15495. encodeOffsets: [[112906, 30961]]
  15496. }
  15497. }, {
  15498. type: "Feature",
  15499. id: "4206",
  15500. properties: {name: "襄樊市", cp: [111.9397, 31.9263], childNum: 7},
  15501. geometry: {
  15502. type: "Polygon",
  15503. 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"],
  15504. encodeOffsets: [[113423, 32597], [113794, 32800]]
  15505. }
  15506. }, {
  15507. type: "Feature",
  15508. id: "4211",
  15509. properties: {name: "黄冈市", cp: [115.2686, 30.6628], childNum: 10},
  15510. geometry: {
  15511. type: "Polygon",
  15512. 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"],
  15513. encodeOffsets: [[117181, 32063]]
  15514. }
  15515. }, {
  15516. type: "Feature",
  15517. id: "4210",
  15518. properties: {name: "荆州市", cp: [113.291, 30.0092], childNum: 7},
  15519. geometry: {
  15520. type: "Polygon",
  15521. 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"],
  15522. encodeOffsets: [[113918, 30764]]
  15523. }
  15524. }, {
  15525. type: "Feature",
  15526. id: "4208",
  15527. properties: {name: "荆门市", cp: [112.6758, 30.9979], childNum: 4},
  15528. geometry: {
  15529. type: "Polygon",
  15530. 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"],
  15531. encodeOffsets: [[114548, 31984]]
  15532. }
  15533. }, {
  15534. type: "Feature",
  15535. id: "4212",
  15536. properties: {name: "咸宁市", cp: [114.2578, 29.6631], childNum: 6},
  15537. geometry: {
  15538. type: "Polygon",
  15539. 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"],
  15540. encodeOffsets: [[116303, 30567]]
  15541. }
  15542. }, {
  15543. type: "Feature",
  15544. id: "4213",
  15545. properties: {name: "随州市", cp: [113.4338, 31.8768], childNum: 2},
  15546. geometry: {
  15547. type: "Polygon",
  15548. 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"],
  15549. encodeOffsets: [[115830, 33154]]
  15550. }
  15551. }, {
  15552. type: "Feature",
  15553. id: "4209",
  15554. properties: {name: "孝感市", cp: [113.9502, 31.1188], childNum: 7},
  15555. geometry: {
  15556. type: "Polygon",
  15557. 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"],
  15558. encodeOffsets: [[116033, 32091]]
  15559. }
  15560. }, {
  15561. type: "Feature",
  15562. id: "4201",
  15563. properties: {name: "武汉市", cp: [114.3896, 30.6628], childNum: 1},
  15564. geometry: {
  15565. type: "Polygon",
  15566. 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"],
  15567. encodeOffsets: [[117e3, 32097]]
  15568. }
  15569. }, {
  15570. type: "Feature",
  15571. id: "4202",
  15572. properties: {name: "黄石市", cp: [115.0159, 29.9213], childNum: 3},
  15573. geometry: {
  15574. type: "Polygon",
  15575. 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"],
  15576. encodeOffsets: [[117282, 30685]]
  15577. }
  15578. }, {
  15579. type: "Feature",
  15580. id: "429021",
  15581. properties: {name: "神农架林区", cp: [110.4565, 31.5802], childNum: 1},
  15582. geometry: {
  15583. type: "Polygon",
  15584. 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š„"],
  15585. encodeOffsets: [[112624, 32266]]
  15586. }
  15587. }, {
  15588. type: "Feature",
  15589. id: "429006",
  15590. properties: {name: "天门市", cp: [113.0273, 30.6409], childNum: 1},
  15591. geometry: {
  15592. type: "Polygon",
  15593. 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"],
  15594. encodeOffsets: [[116056, 31636]]
  15595. }
  15596. }, {
  15597. type: "Feature",
  15598. id: "429004",
  15599. properties: {name: "仙桃市", cp: [113.3789, 30.3003], childNum: 1},
  15600. geometry: {
  15601. type: "Polygon",
  15602. 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"],
  15603. encodeOffsets: [[115662, 31259]]
  15604. }
  15605. }, {
  15606. type: "Feature",
  15607. id: "429005",
  15608. properties: {name: "潜江市", cp: [112.7637, 30.3607], childNum: 1},
  15609. geometry: {
  15610. type: "Polygon",
  15611. 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"],
  15612. encodeOffsets: [[115234, 31118]]
  15613. }
  15614. }, {
  15615. type: "Feature",
  15616. id: "4207",
  15617. properties: {name: "鄂州市", cp: [114.7302, 30.4102], childNum: 1},
  15618. geometry: {
  15619. type: "Polygon",
  15620. 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@"],
  15621. encodeOffsets: [[117541, 31349]]
  15622. }
  15623. }], UTF8Encoding: !0
  15624. }
  15625. }),i("echarts/util/mapData/geoJson/hu_nan_geo", [], function () {
  15626. return {
  15627. type: "FeatureCollection", features: [{
  15628. type: "Feature",
  15629. id: "4312",
  15630. properties: {name: "怀化市", cp: [109.9512, 27.4438], childNum: 12},
  15631. geometry: {
  15632. type: "Polygon",
  15633. 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"],
  15634. encodeOffsets: [[112050, 28384], [112174, 27394]]
  15635. }
  15636. }, {
  15637. type: "Feature",
  15638. id: "4311",
  15639. properties: {name: "永州市", cp: [111.709, 25.752], childNum: 10},
  15640. geometry: {
  15641. type: "Polygon",
  15642. 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"],
  15643. encodeOffsets: [[113671, 26989]]
  15644. }
  15645. }, {
  15646. type: "Feature",
  15647. id: "4305",
  15648. properties: {name: "邵阳市", cp: [110.9619, 26.8121], childNum: 10},
  15649. geometry: {
  15650. type: "Polygon",
  15651. 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@"],
  15652. encodeOffsets: [[113535, 28322]]
  15653. }
  15654. }, {
  15655. type: "Feature",
  15656. id: "4310",
  15657. properties: {name: "郴州市", cp: [113.2361, 25.8673], childNum: 10},
  15658. geometry: {
  15659. type: "Polygon",
  15660. 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"],
  15661. encodeOffsets: [[114930, 26747]]
  15662. }
  15663. }, {
  15664. type: "Feature",
  15665. id: "4307",
  15666. properties: {name: "常德市", cp: [111.4014, 29.2676], childNum: 8},
  15667. geometry: {
  15668. type: "Polygon",
  15669. 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@"],
  15670. encodeOffsets: [[114976, 30201]]
  15671. }
  15672. }, {
  15673. type: "Feature",
  15674. id: "4331",
  15675. properties: {name: "湘西土家族苗族自治州", cp: [109.7864, 28.6743], childNum: 8},
  15676. geometry: {
  15677. type: "Polygon",
  15678. 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"],
  15679. encodeOffsets: [[112354, 30325]]
  15680. }
  15681. }, {
  15682. type: "Feature",
  15683. id: "4304",
  15684. properties: {name: "衡阳市", cp: [112.4121, 26.7902], childNum: 9},
  15685. geometry: {
  15686. type: "Polygon",
  15687. 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"],
  15688. encodeOffsets: [[114222, 27484]]
  15689. }
  15690. }, {
  15691. type: "Feature",
  15692. id: "4306",
  15693. properties: {name: "岳阳市", cp: [113.2361, 29.1357], childNum: 7},
  15694. geometry: {
  15695. type: "Polygon",
  15696. 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"],
  15697. encodeOffsets: [[116888, 29526]]
  15698. }
  15699. }, {
  15700. type: "Feature",
  15701. id: "4309",
  15702. properties: {name: "益阳市", cp: [111.731, 28.3832], childNum: 5},
  15703. geometry: {
  15704. type: "Polygon",
  15705. 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"],
  15706. encodeOffsets: [[113378, 28981]]
  15707. }
  15708. }, {
  15709. type: "Feature",
  15710. id: "4301",
  15711. properties: {name: "长沙市", cp: [113.0823, 28.2568], childNum: 5},
  15712. geometry: {
  15713. type: "Polygon",
  15714. 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"],
  15715. encodeOffsets: [[114582, 28694]]
  15716. }
  15717. }, {
  15718. type: "Feature",
  15719. id: "4302",
  15720. properties: {name: "株洲市", cp: [113.5327, 27.0319], childNum: 6},
  15721. geometry: {
  15722. type: "Polygon",
  15723. 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š"],
  15724. encodeOffsets: [[115774, 28587]]
  15725. }
  15726. }, {
  15727. type: "Feature",
  15728. id: "4308",
  15729. properties: {name: "张家界市", cp: [110.5115, 29.328], childNum: 3},
  15730. geometry: {
  15731. type: "Polygon",
  15732. 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„@Ċ¼"],
  15733. encodeOffsets: [[113288, 30471]]
  15734. }
  15735. }, {
  15736. type: "Feature",
  15737. id: "4313",
  15738. properties: {name: "娄底市", cp: [111.6431, 27.7185], childNum: 5},
  15739. geometry: {
  15740. type: "Polygon",
  15741. 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š@"],
  15742. encodeOffsets: [[113682, 28699]]
  15743. }
  15744. }, {
  15745. type: "Feature",
  15746. id: "4303",
  15747. properties: {name: "湘潭市", cp: [112.5439, 27.7075], childNum: 4},
  15748. geometry: {
  15749. type: "Polygon",
  15750. 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„"],
  15751. encodeOffsets: [[114683, 28576]]
  15752. }
  15753. }], UTF8Encoding: !0
  15754. }
  15755. }),i("echarts/util/mapData/geoJson/jiang_su_geo", [], function () {
  15756. return {
  15757. type: "FeatureCollection", features: [{
  15758. type: "Feature",
  15759. id: "3209",
  15760. properties: {name: "盐城市", cp: [120.2234, 33.5577], childNum: 8},
  15761. geometry: {
  15762. type: "Polygon",
  15763. 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"],
  15764. encodeOffsets: [[122344, 34504]]
  15765. }
  15766. }, {
  15767. type: "Feature",
  15768. id: "3203",
  15769. properties: {name: "徐州市", cp: [117.5208, 34.3268], childNum: 7},
  15770. geometry: {
  15771. type: "Polygon",
  15772. 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"],
  15773. encodeOffsets: [[121005, 35213]]
  15774. }
  15775. }, {
  15776. type: "Feature",
  15777. id: "3206",
  15778. properties: {name: "南通市", cp: [121.1023, 32.1625], childNum: 7},
  15779. geometry: {
  15780. type: "Polygon",
  15781. 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"],
  15782. encodeOffsets: [[123087, 33385]]
  15783. }
  15784. }, {
  15785. type: "Feature",
  15786. id: "3208",
  15787. properties: {name: "淮安市", cp: [118.927, 33.4039], childNum: 5},
  15788. geometry: {
  15789. type: "Polygon",
  15790. 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è@Æ"],
  15791. encodeOffsets: [[121062, 33975]]
  15792. }
  15793. }, {
  15794. type: "Feature",
  15795. id: "3205",
  15796. properties: {name: "苏州市", cp: [120.6519, 31.3989], childNum: 6},
  15797. geometry: {
  15798. type: "Polygon",
  15799. 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"],
  15800. encodeOffsets: [[122794, 31917]]
  15801. }
  15802. }, {
  15803. type: "Feature",
  15804. id: "3213",
  15805. properties: {name: "宿迁市", cp: [118.5535, 33.7775], childNum: 4},
  15806. geometry: {
  15807. type: "Polygon",
  15808. 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"],
  15809. encodeOffsets: [[121005, 34560]]
  15810. }
  15811. }, {
  15812. type: "Feature",
  15813. id: "3207",
  15814. properties: {name: "连云港市", cp: [119.1248, 34.552], childNum: 5},
  15815. geometry: {
  15816. type: "Polygon",
  15817. 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"],
  15818. encodeOffsets: [[121253, 35264]]
  15819. }
  15820. }, {
  15821. type: "Feature",
  15822. id: "3210",
  15823. properties: {name: "扬州市", cp: [119.4653, 32.8162], childNum: 5},
  15824. geometry: {
  15825. type: "Polygon",
  15826. 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@"],
  15827. encodeOffsets: [[121928, 33244]]
  15828. }
  15829. }, {
  15830. type: "Feature",
  15831. id: "3201",
  15832. properties: {name: "南京市", cp: [118.8062, 31.9208], childNum: 3},
  15833. geometry: {
  15834. type: "Polygon",
  15835. 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"],
  15836. encodeOffsets: [[121928, 33244]]
  15837. }
  15838. }, {
  15839. type: "Feature",
  15840. id: "3212",
  15841. properties: {name: "泰州市", cp: [120.0586, 32.5525], childNum: 5},
  15842. geometry: {
  15843. type: "Polygon",
  15844. 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"],
  15845. encodeOffsets: [[122592, 34015]]
  15846. }
  15847. }, {
  15848. type: "Feature",
  15849. id: "3202",
  15850. properties: {name: "无锡市", cp: [120.3442, 31.5527], childNum: 3},
  15851. geometry: {
  15852. type: "Polygon",
  15853. 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"],
  15854. encodeOffsets: [[123064, 32513]]
  15855. }
  15856. }, {
  15857. type: "Feature",
  15858. id: "3204",
  15859. properties: {name: "常州市", cp: [119.4543, 31.5582], childNum: 3},
  15860. geometry: {
  15861. type: "Polygon",
  15862. 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¼"],
  15863. encodeOffsets: [[122097, 32389]]
  15864. }
  15865. }, {
  15866. type: "Feature",
  15867. id: "3211",
  15868. properties: {name: "镇江市", cp: [119.4763, 31.9702], childNum: 4},
  15869. geometry: {
  15870. type: "Polygon",
  15871. 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"],
  15872. encodeOffsets: [[122097, 32997]]
  15873. }
  15874. }], UTF8Encoding: !0
  15875. }
  15876. }),i("echarts/util/mapData/geoJson/jiang_xi_geo", [], function () {
  15877. return {
  15878. type: "FeatureCollection", features: [{
  15879. type: "Feature",
  15880. id: "3607",
  15881. properties: {name: "赣州市", cp: [115.2795, 25.8124], childNum: 18},
  15882. geometry: {
  15883. type: "Polygon",
  15884. 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"],
  15885. encodeOffsets: [[116753, 26596]]
  15886. }
  15887. }, {
  15888. type: "Feature",
  15889. id: "3608",
  15890. properties: {name: "吉安市", cp: [114.884, 26.9659], childNum: 12},
  15891. geometry: {
  15892. type: "Polygon",
  15893. 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"],
  15894. encodeOffsets: [[116652, 27608]]
  15895. }
  15896. }, {
  15897. type: "Feature",
  15898. id: "3611",
  15899. properties: {name: "上饶市", cp: [117.8613, 28.7292], childNum: 12},
  15900. geometry: {
  15901. type: "Polygon",
  15902. 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"],
  15903. encodeOffsets: [[119194, 29751]]
  15904. }
  15905. }, {
  15906. type: "Feature",
  15907. id: "3604",
  15908. properties: {name: "九江市", cp: [115.4224, 29.3774], childNum: 12},
  15909. geometry: {
  15910. type: "Polygon",
  15911. 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„ƒ"],
  15912. encodeOffsets: [[119487, 30319]]
  15913. }
  15914. }, {
  15915. type: "Feature",
  15916. id: "3610",
  15917. properties: {name: "抚州市", cp: [116.4441, 27.4933], childNum: 11},
  15918. geometry: {
  15919. type: "Polygon",
  15920. 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@°Þ"],
  15921. encodeOffsets: [[118508, 28396]]
  15922. }
  15923. }, {
  15924. type: "Feature",
  15925. id: "3609",
  15926. properties: {name: "宜春市", cp: [115.0159, 28.3228], childNum: 10},
  15927. geometry: {
  15928. type: "Polygon",
  15929. 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"],
  15930. encodeOffsets: [[116652, 28666]]
  15931. }
  15932. }, {
  15933. type: "Feature",
  15934. id: "3601",
  15935. properties: {name: "南昌市", cp: [116.0046, 28.6633], childNum: 6},
  15936. geometry: {
  15937. type: "Polygon",
  15938. 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"],
  15939. encodeOffsets: [[118249, 29700]]
  15940. }
  15941. }, {
  15942. type: "Feature",
  15943. id: "3602",
  15944. properties: {name: "景德镇市", cp: [117.334, 29.3225], childNum: 3},
  15945. geometry: {
  15946. type: "Polygon",
  15947. 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"],
  15948. encodeOffsets: [[119903, 30409]]
  15949. }
  15950. }, {
  15951. type: "Feature",
  15952. id: "3603",
  15953. properties: {name: "萍乡市", cp: [113.9282, 27.4823], childNum: 4},
  15954. geometry: {
  15955. type: "Polygon",
  15956. 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"],
  15957. encodeOffsets: [[116652, 28666]]
  15958. }
  15959. }, {
  15960. type: "Feature",
  15961. id: "3606",
  15962. properties: {name: "鹰潭市", cp: [117.0813, 28.2349], childNum: 3},
  15963. geometry: {
  15964. type: "Polygon",
  15965. 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"],
  15966. encodeOffsets: [[119599, 29025]]
  15967. }
  15968. }, {
  15969. type: "Feature",
  15970. id: "3605",
  15971. properties: {name: "新余市", cp: [114.95, 27.8174], childNum: 2},
  15972. geometry: {
  15973. type: "Polygon",
  15974. 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"],
  15975. encodeOffsets: [[118182, 28542]]
  15976. }
  15977. }], UTF8Encoding: !0
  15978. }
  15979. }),i("echarts/util/mapData/geoJson/ji_lin_geo", [], function () {
  15980. return {
  15981. type: "FeatureCollection",
  15982. features: [{
  15983. type: "Feature",
  15984. id: "2224",
  15985. properties: {name: "延边朝鲜族自治州", cp: [129.397, 43.2587], childNum: 8},
  15986. geometry: {
  15987. type: "Polygon",
  15988. 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Ž"],
  15989. encodeOffsets: [[131086, 44798]]
  15990. }
  15991. }, {
  15992. type: "Feature",
  15993. id: "2202",
  15994. properties: {name: "吉林市", cp: [126.8372, 43.6047], childNum: 6},
  15995. geometry: {
  15996. type: "Polygon",
  15997. 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„š"],
  15998. encodeOffsets: [[128701, 44303]]
  15999. }
  16000. }, {
  16001. type: "Feature",
  16002. id: "2208",
  16003. properties: {name: "白城市", cp: [123.0029, 45.2637], childNum: 5},
  16004. geometry: {
  16005. type: "Polygon",
  16006. 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ƒ"],
  16007. encodeOffsets: [[127350, 46553]]
  16008. }
  16009. }, {
  16010. type: "Feature",
  16011. id: "2207",
  16012. properties: {name: "松原市", cp: [124.0906, 44.7198], childNum: 5},
  16013. geometry: {
  16014. type: "Polygon",
  16015. 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"],
  16016. encodeOffsets: [[126068, 45580]]
  16017. }
  16018. }, {
  16019. type: "Feature",
  16020. id: "2201",
  16021. properties: {name: "长春市", cp: [125.8154, 44.2584], childNum: 5},
  16022. geometry: {
  16023. type: "Polygon",
  16024. 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"],
  16025. encodeOffsets: [[128262, 45940]]
  16026. }
  16027. }, {
  16028. type: "Feature",
  16029. id: "2206",
  16030. properties: {name: "白山市", cp: [127.2217, 42.0941], childNum: 5},
  16031. geometry: {
  16032. type: "Polygon",
  16033. 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"],
  16034. encodeOffsets: [[129567, 43262]]
  16035. }
  16036. }, {
  16037. type: "Feature",
  16038. id: "2205",
  16039. properties: {name: "通化市", cp: [125.9583, 41.8579], childNum: 7},
  16040. geometry: {
  16041. type: "Polygon",
  16042. 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"],
  16043. encodeOffsets: [[128273, 43330]]
  16044. }
  16045. }, {
  16046. type: "Feature",
  16047. id: "2203",
  16048. properties: {name: "四平市", cp: [124.541, 43.4894], childNum: 5},
  16049. geometry: {
  16050. type: "Polygon",
  16051. 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¯þ"],
  16052. encodeOffsets: [[126293, 45124]]
  16053. }
  16054. }, {
  16055. type: "Feature",
  16056. id: "2204",
  16057. properties: {name: "辽源市", cp: [125.343, 42.7643], childNum: 3},
  16058. geometry: {
  16059. type: "Polygon",
  16060. 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"],
  16061. encodeOffsets: [[127879, 44168]]
  16062. }
  16063. }],
  16064. UTF8Encoding: !0
  16065. }
  16066. }),i("echarts/util/mapData/geoJson/liao_ning_geo", [], function () {
  16067. return {
  16068. type: "FeatureCollection",
  16069. features: [{
  16070. type: "Feature",
  16071. id: "2102",
  16072. properties: {name: "大连市", cp: [122.2229, 39.4409], childNum: 5},
  16073. geometry: {
  16074. type: "Polygon",
  16075. 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„‚°²¤"],
  16076. encodeOffsets: [[124786, 41102]]
  16077. }
  16078. }, {
  16079. type: "Feature",
  16080. id: "2113",
  16081. properties: {name: "朝阳市", cp: [120.0696, 41.4899], childNum: 6},
  16082. geometry: {
  16083. type: "Polygon",
  16084. 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"],
  16085. encodeOffsets: [[123919, 43262]]
  16086. }
  16087. }, {
  16088. type: "Feature",
  16089. id: "2106",
  16090. properties: {name: "丹东市", cp: [124.541, 40.4242], childNum: 4},
  16091. geometry: {
  16092. type: "Polygon",
  16093. 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"],
  16094. encodeOffsets: [[126372, 40967]]
  16095. }
  16096. }, {
  16097. type: "Feature",
  16098. id: "2112",
  16099. properties: {name: "铁岭市", cp: [124.2773, 42.7423], childNum: 7},
  16100. geometry: {
  16101. type: "Polygon",
  16102. 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"],
  16103. encodeOffsets: [[126720, 43572]]
  16104. }
  16105. }, {
  16106. type: "Feature",
  16107. id: "2101",
  16108. properties: {name: "沈阳市", cp: [123.1238, 42.1216], childNum: 5},
  16109. geometry: {
  16110. type: "Polygon",
  16111. 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"],
  16112. encodeOffsets: [[125359, 43139]]
  16113. }
  16114. }, {
  16115. type: "Feature",
  16116. id: "2104",
  16117. properties: {name: "抚顺市", cp: [124.585, 41.8579], childNum: 4},
  16118. geometry: {
  16119. type: "Polygon",
  16120. 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"],
  16121. encodeOffsets: [[126754, 42992]]
  16122. }
  16123. }, {
  16124. type: "Feature",
  16125. id: "2114",
  16126. properties: {name: "葫芦岛市", cp: [120.1575, 40.578], childNum: 4},
  16127. geometry: {
  16128. type: "Polygon",
  16129. 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„"],
  16130. encodeOffsets: [[122097, 41575]]
  16131. }
  16132. }, {
  16133. type: "Feature",
  16134. id: "2109",
  16135. properties: {name: "阜新市", cp: [122.0032, 42.2699], childNum: 4},
  16136. geometry: {
  16137. type: "Polygon",
  16138. 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"],
  16139. encodeOffsets: [[123919, 43262]]
  16140. }
  16141. }, {
  16142. type: "Feature",
  16143. id: "2107",
  16144. properties: {name: "锦州市", cp: [121.6626, 41.4294], childNum: 5},
  16145. geometry: {
  16146. type: "Polygon",
  16147. 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"],
  16148. encodeOffsets: [[123694, 42391]]
  16149. }
  16150. }, {
  16151. type: "Feature",
  16152. id: "2103",
  16153. properties: {name: "鞍山市", cp: [123.0798, 40.6055], childNum: 4},
  16154. geometry: {
  16155. type: "Polygon",
  16156. 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"],
  16157. encodeOffsets: [[125123, 42447]]
  16158. }
  16159. }, {
  16160. type: "Feature",
  16161. id: "2105",
  16162. properties: {name: "本溪市", cp: [124.1455, 41.1987], childNum: 3},
  16163. geometry: {
  16164. type: "Polygon",
  16165. 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"],
  16166. encodeOffsets: [[126552, 41839]]
  16167. }
  16168. }, {
  16169. type: "Feature",
  16170. id: "2108",
  16171. properties: {name: "营口市", cp: [122.4316, 40.4297], childNum: 4},
  16172. geometry: {
  16173. type: "Polygon",
  16174. 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"],
  16175. encodeOffsets: [[124786, 41102]]
  16176. }
  16177. }, {
  16178. type: "Feature",
  16179. id: "2110",
  16180. properties: {name: "辽阳市", cp: [123.4094, 41.1383], childNum: 5},
  16181. geometry: {
  16182. type: "Polygon",
  16183. 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"],
  16184. encodeOffsets: [[125562, 42194]]
  16185. }
  16186. }, {
  16187. type: "Feature",
  16188. id: "2111",
  16189. properties: {name: "盘锦市", cp: [121.9482, 41.0449], childNum: 3},
  16190. geometry: {
  16191. type: "Polygon",
  16192. 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"],
  16193. encodeOffsets: [[124392, 41822]]
  16194. }
  16195. }],
  16196. UTF8Encoding: !0
  16197. }
  16198. }),i("echarts/util/mapData/geoJson/nei_meng_gu_geo", [], function () {
  16199. return {
  16200. type: "FeatureCollection",
  16201. features: [{
  16202. type: "Feature",
  16203. id: "1507",
  16204. properties: {name: "呼伦贝尔市", cp: [120.8057, 50.2185], childNum: 13},
  16205. geometry: {
  16206. type: "Polygon",
  16207. 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™ċ™°é¯¹"],
  16208. encodeOffsets: [[128194, 51014]]
  16209. }
  16210. }, {
  16211. type: "Feature",
  16212. id: "1529",
  16213. properties: {name: "阿拉善盟", cp: [102.019, 40.1001], childNum: 3},
  16214. geometry: {
  16215. type: "Polygon",
  16216. 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Þ»Ȯź"],
  16217. encodeOffsets: [[107764, 42750]]
  16218. }
  16219. }, {
  16220. type: "Feature",
  16221. id: "1525",
  16222. properties: {name: "锡林郭勒盟", cp: [115.6421, 44.176], childNum: 12},
  16223. geometry: {
  16224. type: "Polygon",
  16225. 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ȁƜ"],
  16226. encodeOffsets: [[113817, 44421]]
  16227. }
  16228. }, {
  16229. type: "Feature",
  16230. id: "1506",
  16231. properties: {name: "鄂尔多斯市", cp: [108.9734, 39.2487], childNum: 8},
  16232. geometry: {
  16233. type: "Polygon",
  16234. 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Ċ"],
  16235. encodeOffsets: [[109542, 39983]]
  16236. }
  16237. }, {
  16238. type: "Feature",
  16239. id: "1504",
  16240. properties: {name: "赤峰市", cp: [118.6743, 43.2642], childNum: 10},
  16241. geometry: {
  16242. type: "Polygon",
  16243. 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Āšè"],
  16244. encodeOffsets: [[122232, 46328]]
  16245. }
  16246. }, {
  16247. type: "Feature",
  16248. id: "1508",
  16249. properties: {name: "巴彦淖尔市", cp: [107.5562, 41.3196], childNum: 7},
  16250. geometry: {
  16251. type: "Polygon",
  16252. 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ǠšƐ"],
  16253. encodeOffsets: [[107764, 42750]]
  16254. }
  16255. }, {
  16256. type: "Feature",
  16257. id: "1505",
  16258. properties: {name: "通辽市", cp: [121.4758, 43.9673], childNum: 8},
  16259. geometry: {
  16260. type: "Polygon",
  16261. 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ɱłō¦"],
  16262. encodeOffsets: [[122097, 46379]]
  16263. }
  16264. }, {
  16265. type: "Feature",
  16266. id: "1509",
  16267. properties: {name: "乌兰察布市", cp: [112.5769, 41.77], childNum: 11},
  16268. geometry: {
  16269. type: "Polygon",
  16270. 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ȁńʇʹó˂ƽŎ›Æţ¦"],
  16271. encodeOffsets: [[112984, 43763]]
  16272. }
  16273. }, {
  16274. type: "Feature",
  16275. id: "1522",
  16276. properties: {name: "兴安盟", cp: [121.3879, 46.1426], childNum: 6},
  16277. geometry: {
  16278. type: "Polygon",
  16279. 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"],
  16280. encodeOffsets: [[122412, 48482]]
  16281. }
  16282. }, {
  16283. type: "Feature",
  16284. id: "1502",
  16285. properties: {name: "包头市", cp: [110.3467, 41.4899], childNum: 5},
  16286. geometry: {
  16287. type: "Polygon",
  16288. 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›ŎƏȎĊ˜„ĖÞ¼˜ê—ƨÝĊ"],
  16289. encodeOffsets: [[112017, 43465]]
  16290. }
  16291. }, {
  16292. type: "Feature",
  16293. id: "1501",
  16294. properties: {name: "呼和浩特市", cp: [111.4124, 40.4901], childNum: 6},
  16295. geometry: {
  16296. type: "Polygon",
  16297. coordinates: ["@@ʶUĊ¥ÈřĠ¯šĉômšīƒÑ¯m„wk¯ÇV°ÑƒżġĊljǓɱţǓ›ƝóX¯ƒɛÒóa@nÝÆôƜŚĉĢʉŰĊҙ¤ȗĖV¼ÅxWƞۂlXXèm„ÝmUnšĠƒĢóÒkƚ„ÆUÞ¼ÞJĸÑ°„ɲĕš°Ŏn"],
  16298. encodeOffsets: [[114098, 42312]]
  16299. }
  16300. }, {
  16301. type: "Feature",
  16302. id: "1503",
  16303. properties: {name: "乌海市", cp: [106.886, 39.4739], childNum: 1},
  16304. geometry: {
  16305. type: "Polygon",
  16306. coordinates: ["@@Ș°ÇīXњŗ@ȍlkƒlUŁ±īĵKō¼VŽÇôXĸ¯Ž@šťê„°ź„k¤„x™œ@Ĭ"],
  16307. encodeOffsets: [[109317, 40799]]
  16308. }
  16309. }],
  16310. UTF8Encoding: !0
  16311. }
  16312. }),i("echarts/util/mapData/geoJson/ning_xia_geo", [], function () {
  16313. return {
  16314. type: "FeatureCollection",
  16315. features: [{
  16316. type: "Feature",
  16317. id: "6403",
  16318. properties: {name: "吴忠市", cp: [106.853, 37.3755], childNum: 4},
  16319. geometry: {
  16320. type: "Polygon",
  16321. 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¯@"],
  16322. encodeOffsets: [[108124, 38605]]
  16323. }
  16324. }, {
  16325. type: "Feature",
  16326. id: "6405",
  16327. properties: {name: "中卫市", cp: [105.4028, 36.9525], childNum: 3},
  16328. geometry: {
  16329. type: "Polygon",
  16330. 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ô@"],
  16331. encodeOffsets: [[108124, 38605]]
  16332. }
  16333. }, {
  16334. type: "Feature",
  16335. id: "6404",
  16336. properties: {name: "固原市", cp: [106.1389, 35.9363], childNum: 6},
  16337. geometry: {
  16338. type: "MultiPolygon",
  16339. coordinates: [["@@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"], ["@@@J@aƒU@LWK¯UUxVVn@Ġ„„LUW@UbUUUa@KUX"]],
  16340. encodeOffsets: [[[108023, 37052]], [[108541, 36299]]]
  16341. }
  16342. }, {
  16343. type: "Feature",
  16344. id: "6401",
  16345. properties: {name: "银川市", cp: [106.3586, 38.1775], childNum: 4},
  16346. geometry: {
  16347. type: "Polygon",
  16348. 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"],
  16349. encodeOffsets: [[108563, 39803]]
  16350. }
  16351. }, {
  16352. type: "Feature",
  16353. id: "6402",
  16354. properties: {name: "石嘴山市", cp: [106.4795, 39.0015], childNum: 2},
  16355. geometry: {
  16356. type: "Polygon",
  16357. 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@¯"],
  16358. encodeOffsets: [[109542, 39938]]
  16359. }
  16360. }],
  16361. UTF8Encoding: !0
  16362. }
  16363. }),i("echarts/util/mapData/geoJson/qing_hai_geo", [], function () {
  16364. return {
  16365. type: "FeatureCollection", features: [{
  16366. type: "Feature",
  16367. id: "6328",
  16368. properties: {name: "海西蒙古族藏族自治州", cp: [94.9768, 37.1118], childNum: 7},
  16369. geometry: {
  16370. type: "MultiPolygon",
  16371. coordinates: [["@@„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@Ѳ±ƒğVUĢƒƨ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ôÑ"], ["@@„@šƒ„@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„"]],
  16372. encodeOffsets: [[[100452, 39719]], [[91980, 35742]]]
  16373. }
  16374. }, {
  16375. type: "Feature",
  16376. id: "6327",
  16377. properties: {name: "玉树藏族自治州", cp: [93.5925, 33.9368], childNum: 6},
  16378. geometry: {
  16379. type: "Polygon",
  16380. coordinates: ["@@ɆÿĢV°°VÈklVôŤXÞW„ȮÇÞXnmÞnlaŤmĢLƐaĢƒô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¦"],
  16381. encodeOffsets: [[93285, 37030]]
  16382. }
  16383. }, {
  16384. type: "Feature",
  16385. id: "6326",
  16386. properties: {name: "果洛藏族自治州", cp: [99.3823, 34.0466], childNum: 6},
  16387. geometry: {
  16388. type: "Polygon",
  16389. 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¦‚‚@²Č脦‚è"],
  16390. encodeOffsets: [[99709, 36130]]
  16391. }
  16392. }, {
  16393. type: "Feature",
  16394. id: "6325",
  16395. properties: {name: "海南藏族自治州", cp: [100.3711, 35.9418], childNum: 5},
  16396. geometry: {
  16397. type: "Polygon",
  16398. 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ôôŚ"],
  16399. encodeOffsets: [[101712, 37632]]
  16400. }
  16401. }, {
  16402. type: "Feature",
  16403. id: "6322",
  16404. properties: {name: "海北藏族自治州", cp: [100.3711, 37.9138], childNum: 4},
  16405. geometry: {
  16406. type: "Polygon",
  16407. 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@"],
  16408. encodeOffsets: [[105087, 37992]]
  16409. }
  16410. }, {
  16411. type: "Feature",
  16412. id: "6323",
  16413. properties: {name: "黄南藏族自治州", cp: [101.5686, 35.1178], childNum: 4},
  16414. geometry: {
  16415. type: "Polygon",
  16416. 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"],
  16417. encodeOffsets: [[103984, 36344]]
  16418. }
  16419. }, {
  16420. type: "Feature",
  16421. id: "6321",
  16422. properties: {name: "海东地区", cp: [102.3706, 36.2988], childNum: 6},
  16423. geometry: {
  16424. type: "Polygon",
  16425. 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"],
  16426. encodeOffsets: [[104108, 37030]]
  16427. }
  16428. }, {
  16429. type: "Feature",
  16430. id: "6301",
  16431. properties: {name: "西宁市", cp: [101.4038, 36.8207], childNum: 4},
  16432. geometry: {
  16433. type: "Polygon",
  16434. 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š@ĢÓ"],
  16435. encodeOffsets: [[104356, 38042]]
  16436. }
  16437. }], UTF8Encoding: !0
  16438. }
  16439. }),i("echarts/util/mapData/geoJson/shang_hai_geo", [], function () {
  16440. return {
  16441. type: "FeatureCollection",
  16442. features: [{
  16443. type: "Feature",
  16444. id: "310230",
  16445. properties: {name: "崇明县", cp: [121.5637, 31.5383], childNum: 1},
  16446. geometry: {
  16447. type: "Polygon",
  16448. 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“"],
  16449. encodeOffsets: [[124908, 32105]]
  16450. }
  16451. }, {
  16452. type: "Feature",
  16453. id: "310119",
  16454. properties: {name: "南汇区", cp: [121.8755, 30.954], childNum: 1},
  16455. geometry: {
  16456. type: "Polygon",
  16457. 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Ƥ~"],
  16458. encodeOffsets: [[124854, 31907]]
  16459. }
  16460. }, {
  16461. type: "Feature",
  16462. id: "310120",
  16463. properties: {name: "奉贤区", cp: [121.5747, 30.8475], childNum: 1},
  16464. geometry: {
  16465. type: "Polygon",
  16466. 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"],
  16467. encodeOffsets: [[124274, 31722]]
  16468. }
  16469. }, {
  16470. type: "Feature",
  16471. id: "310115",
  16472. properties: {name: "浦东新区", cp: [121.6928, 31.2561], childNum: 1},
  16473. geometry: {
  16474. type: "Polygon",
  16475. 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"],
  16476. encodeOffsets: [[124383, 31915]]
  16477. }
  16478. }, {
  16479. type: "Feature",
  16480. id: "310116",
  16481. properties: {name: "金山区", cp: [121.2657, 30.8112], childNum: 1},
  16482. geometry: {
  16483. type: "Polygon",
  16484. 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"],
  16485. encodeOffsets: [[123901, 31695]]
  16486. }
  16487. }, {
  16488. type: "Feature",
  16489. id: "310118",
  16490. properties: {name: "青浦区", cp: [121.1751, 31.1909], childNum: 1},
  16491. geometry: {
  16492. type: "Polygon",
  16493. 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"],
  16494. encodeOffsets: [[124061, 32028]]
  16495. }
  16496. }, {
  16497. type: "Feature",
  16498. id: "310117",
  16499. properties: {name: "松江区", cp: [121.1984, 31.0268], childNum: 1},
  16500. geometry: {
  16501. type: "Polygon",
  16502. 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@"],
  16503. encodeOffsets: [[123933, 31687]]
  16504. }
  16505. }, {
  16506. type: "Feature",
  16507. id: "310114",
  16508. properties: {name: "嘉定区", cp: [121.2437, 31.3625], childNum: 1},
  16509. geometry: {
  16510. type: "Polygon",
  16511. 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"],
  16512. encodeOffsets: [[124213, 32254]]
  16513. }
  16514. }, {
  16515. type: "Feature",
  16516. id: "310113",
  16517. properties: {name: "宝山区", cp: [121.4346, 31.4051], childNum: 1},
  16518. geometry: {
  16519. type: "Polygon",
  16520. 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¢ˆ"],
  16521. encodeOffsets: [[124300, 32302]]
  16522. }
  16523. }, {
  16524. type: "Feature",
  16525. id: "310112",
  16526. properties: {name: "闵行区", cp: [121.4992, 31.0838], childNum: 1},
  16527. geometry: {
  16528. type: "Polygon",
  16529. 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"],
  16530. encodeOffsets: [[124165, 32010]]
  16531. }
  16532. }, {
  16533. type: "Feature",
  16534. id: "310110",
  16535. properties: {name: "杨浦区", cp: [121.528, 31.2966], childNum: 1},
  16536. geometry: {
  16537. type: "Polygon",
  16538. coordinates: ["@@V@CXJDKJZ`XIDDFADJvSRMDM@mFQHM@KCMKMuaOCU@BDAJSX@HKJGD@PNJCJWAGT@R"],
  16539. encodeOffsets: [[124402, 32064]]
  16540. }
  16541. }, {
  16542. type: "Feature",
  16543. id: "310107",
  16544. properties: {name: "普陀区", cp: [121.3879, 31.2602], childNum: 1},
  16545. geometry: {
  16546. type: "Polygon",
  16547. coordinates: ["@@F@@FHDL@HFFAPFCSDC@@XGFDH@BDLHNACEFA@ERCIMJEDBAGL@@EHAFENHHJ\\ONQBQCIBC[MKACKI@GGGH@I_G@CW@[DMHCDIBMTDHN@JNHEH@FJFPKFACSBKHDJNABDMDECAFiDEDFDIPG@GLHCNH"],
  16548. encodeOffsets: [[124248, 32045]]
  16549. }
  16550. }, {
  16551. type: "Feature",
  16552. id: "310104",
  16553. properties: {name: "徐汇区", cp: [121.4333, 31.1607], childNum: 1},
  16554. geometry: {
  16555. type: "Polygon",
  16556. coordinates: ["@@RADL\\NCPHFfLJaJ@FWLGMGIK@IFMDOYYFOTSBI@IMSAMSACFIDNDCPWGGBHNET[CU\\QjOCERFBEHF@@HjJBJG@@J"],
  16557. encodeOffsets: [[124327, 31941]]
  16558. }
  16559. }, {
  16560. type: "Feature",
  16561. id: "310105",
  16562. properties: {name: "长宁区", cp: [121.3852, 31.2115], childNum: 1},
  16563. geometry: {
  16564. type: "Polygon",
  16565. coordinates: ["@@HFFB@HF@DCAELENSJADCNG\\CX@@D`H@JHGHHJ@BINBFUGEDO[MCKQB}AwQEBUIEDMTNF@hH@FXEDFJEJIB"],
  16566. encodeOffsets: [[124250, 31987]]
  16567. }
  16568. }, {
  16569. type: "Feature",
  16570. id: "310108",
  16571. properties: {name: "闸北区", cp: [121.4511, 31.2794], childNum: 1},
  16572. geometry: {
  16573. type: "Polygon",
  16574. coordinates: ["@@CSG@BQGODUPWTOBQAAFMECKBGEMFKEOHADDJARMR[PGI@TEJBNG@ADBFND@JL@@NFFCL@D\\@DG\\JJADI"],
  16575. encodeOffsets: [[124385, 32068]]
  16576. }
  16577. }, {
  16578. type: "Feature",
  16579. id: "310109",
  16580. properties: {name: "虹口区", cp: [121.4882, 31.2788], childNum: 1},
  16581. geometry: {
  16582. type: "Polygon",
  16583. coordinates: ["@@bA@E@QHSXBDIMI@OHCLI@GTWBIACQAYIOFGCENBBARSPOXCVHPARH@DT"],
  16584. encodeOffsets: [[124385, 32068]]
  16585. }
  16586. }, {
  16587. type: "Feature",
  16588. id: "310101",
  16589. properties: {name: "黄浦区", cp: [121.4868, 31.219], childNum: 1},
  16590. geometry: {
  16591. type: "Polygon",
  16592. coordinates: ["@@NEHFLAFDHDPEAMZUHQQ]IMKJG@EPERABHBGRUCCNGV"],
  16593. encodeOffsets: [[124379, 31992]]
  16594. }
  16595. }, {
  16596. type: "Feature",
  16597. id: "310103",
  16598. properties: {name: "卢湾区", cp: [121.4758, 31.2074], childNum: 1},
  16599. geometry: {
  16600. type: "Polygon",
  16601. coordinates: ["@@VDHQGABAFQFOH@LIiKKHEXI@IbAFZB"],
  16602. encodeOffsets: [[124385, 31974]]
  16603. }
  16604. }, {
  16605. type: "Feature",
  16606. id: "310106",
  16607. properties: {name: "静安区", cp: [121.4484, 31.2286], childNum: 1},
  16608. geometry: {
  16609. type: "Polygon",
  16610. coordinates: ["@@DLLB\\NPGLFHUDMYABEeKEVMAAJ"],
  16611. encodeOffsets: [[124343, 31979]]
  16612. }
  16613. }],
  16614. UTF8Encoding: !0
  16615. }
  16616. }),i("echarts/util/mapData/geoJson/shan_dong_geo", [], function () {
  16617. return {
  16618. type: "FeatureCollection",
  16619. features: [{
  16620. type: "Feature",
  16621. id: "3706",
  16622. properties: {name: "烟台市", cp: [120.7397, 37.5128], childNum: 9},
  16623. geometry: {
  16624. type: "Polygon",
  16625. 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ô"],
  16626. encodeOffsets: [[122446, 38042]]
  16627. }
  16628. }, {
  16629. type: "Feature",
  16630. id: "3713",
  16631. properties: {name: "临沂市", cp: [118.3118, 35.2936], childNum: 10},
  16632. geometry: {
  16633. type: "Polygon",
  16634. 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"],
  16635. encodeOffsets: [[120241, 36119]]
  16636. }
  16637. }, {
  16638. type: "Feature",
  16639. id: "3707",
  16640. properties: {name: "潍坊市", cp: [119.0918, 36.524], childNum: 9},
  16641. geometry: {
  16642. type: "Polygon",
  16643. 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"],
  16644. encodeOffsets: [[121332, 37840]]
  16645. }
  16646. }, {
  16647. type: "Feature",
  16648. id: "3702",
  16649. properties: {name: "青岛市", cp: [120.4651, 36.3373], childNum: 6},
  16650. geometry: {
  16651. type: "Polygon",
  16652. 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"],
  16653. encodeOffsets: [[122389, 36580]]
  16654. }
  16655. }, {
  16656. type: "Feature",
  16657. id: "3717",
  16658. properties: {name: "菏泽市", cp: [115.6201, 35.2057], childNum: 9},
  16659. geometry: {
  16660. type: "Polygon",
  16661. 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"],
  16662. encodeOffsets: [[118654, 36726]]
  16663. }
  16664. }, {
  16665. type: "Feature",
  16666. id: "3708",
  16667. properties: {name: "济宁市", cp: [116.8286, 35.3375], childNum: 11},
  16668. geometry: {
  16669. type: "Polygon",
  16670. 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"],
  16671. encodeOffsets: [[118834, 36844]]
  16672. }
  16673. }, {
  16674. type: "Feature",
  16675. id: "3714",
  16676. properties: {name: "德州市", cp: [116.6858, 37.2107], childNum: 11},
  16677. geometry: {
  16678. type: "Polygon",
  16679. 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ó@"],
  16680. encodeOffsets: [[118542, 37801]]
  16681. }
  16682. }, {
  16683. type: "Feature",
  16684. id: "3716",
  16685. properties: {name: "滨州市", cp: [117.8174, 37.4963], childNum: 7},
  16686. geometry: {
  16687. type: "Polygon",
  16688. 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"],
  16689. encodeOffsets: [[120083, 38442]]
  16690. }
  16691. }, {
  16692. type: "Feature",
  16693. id: "3715",
  16694. properties: {name: "聊城市", cp: [115.9167, 36.4032], childNum: 8},
  16695. geometry: {
  16696. type: "Polygon",
  16697. 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²„"],
  16698. encodeOffsets: [[118542, 37801]]
  16699. }
  16700. }, {
  16701. type: "Feature",
  16702. id: "3705",
  16703. properties: {name: "东营市", cp: [118.7073, 37.5513], childNum: 5},
  16704. geometry: {
  16705. type: "Polygon",
  16706. 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"],
  16707. encodeOffsets: [[121005, 39066]]
  16708. }
  16709. }, {
  16710. type: "Feature",
  16711. id: "3701",
  16712. properties: {name: "济南市", cp: [117.1582, 36.8701], childNum: 5},
  16713. geometry: {
  16714. type: "Polygon",
  16715. 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™¦"],
  16716. encodeOffsets: [[119014, 37041]]
  16717. }
  16718. }, {
  16719. type: "Feature",
  16720. id: "3709",
  16721. properties: {name: "泰安市", cp: [117.0264, 36.0516], childNum: 5},
  16722. geometry: {
  16723. type: "Polygon",
  16724. 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"],
  16725. encodeOffsets: [[118834, 36844]]
  16726. }
  16727. }, {
  16728. type: "Feature",
  16729. id: "3710",
  16730. properties: {name: "威海市", cp: [121.9482, 37.1393], childNum: 4},
  16731. geometry: {
  16732. type: "Polygon",
  16733. 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„‚"],
  16734. encodeOffsets: [[124842, 38312]]
  16735. }
  16736. }, {
  16737. type: "Feature",
  16738. id: "3711",
  16739. properties: {name: "日照市", cp: [119.2786, 35.5023], childNum: 3},
  16740. geometry: {
  16741. type: "Polygon",
  16742. 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"],
  16743. encodeOffsets: [[121883, 36895]]
  16744. }
  16745. }, {
  16746. type: "Feature",
  16747. id: "3703",
  16748. properties: {name: "淄博市", cp: [118.0371, 36.6064], childNum: 4},
  16749. geometry: {
  16750. type: "Polygon",
  16751. 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"],
  16752. encodeOffsets: [[121129, 37891]]
  16753. }
  16754. }, {
  16755. type: "Feature",
  16756. id: "3704",
  16757. properties: {name: "枣庄市", cp: [117.323, 34.8926], childNum: 2},
  16758. geometry: {
  16759. type: "Polygon",
  16760. 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"],
  16761. encodeOffsets: [[120241, 36119]]
  16762. }
  16763. }, {
  16764. type: "Feature",
  16765. id: "3712",
  16766. properties: {name: "莱芜市", cp: [117.6526, 36.2714], childNum: 1},
  16767. geometry: {
  16768. type: "Polygon",
  16769. 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@"],
  16770. encodeOffsets: [[120173, 37334]]
  16771. }
  16772. }],
  16773. UTF8Encoding: !0
  16774. }
  16775. }),i("echarts/util/mapData/geoJson/shan_xi_1_geo", [], function () {
  16776. return {
  16777. type: "FeatureCollection",
  16778. features: [{
  16779. type: "Feature",
  16780. id: "6108",
  16781. properties: {name: "榆林市", cp: [109.8743, 38.205], childNum: 12},
  16782. geometry: {
  16783. type: "Polygon",
  16784. 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ƒ"],
  16785. encodeOffsets: [[113592, 39645]]
  16786. }
  16787. }, {
  16788. type: "Feature",
  16789. id: "6106",
  16790. properties: {name: "延安市", cp: [109.1052, 36.4252], childNum: 13},
  16791. geometry: {
  16792. type: "Polygon",
  16793. 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"],
  16794. encodeOffsets: [[113074, 37862]]
  16795. }
  16796. }, {
  16797. type: "Feature",
  16798. id: "6107",
  16799. properties: {name: "汉中市", cp: [106.886, 33.0139], childNum: 11},
  16800. geometry: {
  16801. type: "Polygon",
  16802. 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"],
  16803. encodeOffsets: [[109137, 34392]]
  16804. }
  16805. }, {
  16806. type: "Feature",
  16807. id: "6109",
  16808. properties: {name: "安康市", cp: [109.1162, 32.7722], childNum: 10},
  16809. geometry: {
  16810. type: "Polygon",
  16811. 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@è"],
  16812. encodeOffsets: [[110644, 34521]]
  16813. }
  16814. }, {
  16815. type: "Feature",
  16816. id: "6110",
  16817. properties: {name: "商洛市", cp: [109.8083, 33.761], childNum: 7},
  16818. geometry: {
  16819. type: "Polygon",
  16820. 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Ž"],
  16821. encodeOffsets: [[111454, 34628]]
  16822. }
  16823. }, {
  16824. type: "Feature",
  16825. id: "6103",
  16826. properties: {name: "宝鸡市", cp: [107.1826, 34.3433], childNum: 10},
  16827. geometry: {
  16828. type: "Polygon",
  16829. 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"],
  16830. encodeOffsets: [[110408, 35815]]
  16831. }
  16832. }, {
  16833. type: "Feature",
  16834. id: "6105",
  16835. properties: {name: "渭南市", cp: [109.7864, 35.0299], childNum: 11},
  16836. geometry: {
  16837. type: "Polygon",
  16838. 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¼Ç°"],
  16839. encodeOffsets: [[111589, 35657]]
  16840. }
  16841. }, {
  16842. type: "Feature",
  16843. id: "6104",
  16844. properties: {name: "咸阳市", cp: [108.4131, 34.8706], childNum: 14},
  16845. geometry: {
  16846. type: "Polygon",
  16847. 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š"],
  16848. encodeOffsets: [[111229, 36394]]
  16849. }
  16850. }, {
  16851. type: "Feature",
  16852. id: "6101",
  16853. properties: {name: "西安市", cp: [109.1162, 34.2004], childNum: 5},
  16854. geometry: {
  16855. type: "Polygon",
  16856. 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"],
  16857. encodeOffsets: [[110206, 34532]]
  16858. }
  16859. }, {
  16860. type: "Feature",
  16861. id: "6102",
  16862. properties: {name: "铜川市", cp: [109.0393, 35.1947], childNum: 2},
  16863. geometry: {
  16864. type: "Polygon",
  16865. 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"],
  16866. encodeOffsets: [[111477, 36192]]
  16867. }
  16868. }],
  16869. UTF8Encoding: !0
  16870. }
  16871. }),i("echarts/util/mapData/geoJson/shan_xi_2_geo", [], function () {
  16872. return {
  16873. type: "FeatureCollection", features: [{
  16874. type: "Feature",
  16875. id: "1409",
  16876. properties: {name: "忻州市", cp: [112.4561, 38.8971], childNum: 14},
  16877. geometry: {
  16878. type: "Polygon",
  16879. 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"],
  16880. encodeOffsets: [[113614, 39657]]
  16881. }
  16882. }, {
  16883. type: "Feature",
  16884. id: "1411",
  16885. properties: {name: "吕梁市", cp: [111.3574, 37.7325], childNum: 13},
  16886. geometry: {
  16887. type: "Polygon",
  16888. 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"],
  16889. encodeOffsets: [[113614, 39657]]
  16890. }
  16891. }, {
  16892. type: "Feature",
  16893. id: "1410",
  16894. properties: {name: "临汾市", cp: [111.4783, 36.1615], childNum: 17},
  16895. geometry: {
  16896. type: "Polygon",
  16897. 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"],
  16898. encodeOffsets: [[113063, 37784]]
  16899. }
  16900. }, {
  16901. type: "Feature",
  16902. id: "1407",
  16903. properties: {name: "晋中市", cp: [112.7747, 37.37], childNum: 11},
  16904. geometry: {
  16905. type: "Polygon",
  16906. 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@"],
  16907. encodeOffsets: [[114087, 37682]]
  16908. }
  16909. }, {
  16910. type: "Feature",
  16911. id: "1408",
  16912. properties: {name: "运城市", cp: [111.1487, 35.2002], childNum: 13},
  16913. geometry: {
  16914. type: "Polygon",
  16915. 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@„"],
  16916. encodeOffsets: [[113232, 36597]]
  16917. }
  16918. }, {
  16919. type: "Feature",
  16920. id: "1402",
  16921. properties: {name: "大同市", cp: [113.7854, 39.8035], childNum: 8},
  16922. geometry: {
  16923. type: "Polygon",
  16924. 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"],
  16925. encodeOffsets: [[115335, 41209]]
  16926. }
  16927. }, {
  16928. type: "Feature",
  16929. id: "1404",
  16930. properties: {name: "长治市", cp: [112.8625, 36.4746], childNum: 12},
  16931. geometry: {
  16932. type: "Polygon",
  16933. 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"],
  16934. encodeOffsets: [[116269, 37637]]
  16935. }
  16936. }, {
  16937. type: "Feature",
  16938. id: "1406",
  16939. properties: {name: "朔州市", cp: [113.0713, 39.6991], childNum: 5},
  16940. geometry: {
  16941. type: "Polygon",
  16942. 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‚"],
  16943. encodeOffsets: [[114615, 40562]]
  16944. }
  16945. }, {
  16946. type: "Feature",
  16947. id: "1405",
  16948. properties: {name: "晋城市", cp: [112.7856, 35.6342], childNum: 6},
  16949. geometry: {
  16950. type: "Polygon",
  16951. 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°"],
  16952. encodeOffsets: [[115223, 36895]]
  16953. }
  16954. }, {
  16955. type: "Feature",
  16956. id: "1401",
  16957. properties: {name: "太原市", cp: [112.3352, 37.9413], childNum: 5},
  16958. geometry: {
  16959. type: "Polygon",
  16960. 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š@°"],
  16961. encodeOffsets: [[114503, 39134]]
  16962. }
  16963. }, {
  16964. type: "Feature",
  16965. id: "1403",
  16966. properties: {name: "阳泉市", cp: [113.4778, 38.0951], childNum: 3},
  16967. geometry: {
  16968. type: "Polygon",
  16969. 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"],
  16970. encodeOffsets: [[115864, 39336]]
  16971. }
  16972. }], UTF8Encoding: !0
  16973. }
  16974. }),i("echarts/util/mapData/geoJson/si_chuan_geo", [], function () {
  16975. return {
  16976. type: "FeatureCollection", features: [{
  16977. type: "Feature",
  16978. id: "5133",
  16979. properties: {name: "甘孜藏族自治州", cp: [99.9207, 31.0803], childNum: 18},
  16980. geometry: {
  16981. type: "Polygon",
  16982. 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‚霣Ġ™"],
  16983. encodeOffsets: [[103073, 33295]]
  16984. }
  16985. }, {
  16986. type: "Feature",
  16987. id: "5132",
  16988. properties: {name: "阿坝藏族羌族自治州", cp: [102.4805, 32.4536], childNum: 13},
  16989. geometry: {
  16990. type: "Polygon",
  16991. 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"],
  16992. encodeOffsets: [[103073, 33295]]
  16993. }
  16994. }, {
  16995. type: "Feature",
  16996. id: "5134",
  16997. properties: {name: "凉山彝族自治州", cp: [101.9641, 27.6746], childNum: 17},
  16998. geometry: {
  16999. type: "Polygon",
  17000. 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œ"],
  17001. encodeOffsets: [[102466, 28756]]
  17002. }
  17003. }, {
  17004. type: "Feature",
  17005. id: "5107",
  17006. properties: {name: "绵阳市", cp: [104.7327, 31.8713], childNum: 8},
  17007. geometry: {
  17008. type: "Polygon",
  17009. 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"],
  17010. encodeOffsets: [[106448, 33694]]
  17011. }
  17012. }, {
  17013. type: "Feature",
  17014. id: "5117",
  17015. properties: {name: "达州市", cp: [107.6111, 31.333], childNum: 7},
  17016. geometry: {
  17017. type: "Polygon",
  17018. 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°"],
  17019. encodeOffsets: [[109519, 31917]]
  17020. }
  17021. }, {
  17022. type: "Feature",
  17023. id: "5108",
  17024. properties: {name: "广元市", cp: [105.6885, 32.2284], childNum: 5},
  17025. geometry: {
  17026. type: "Polygon",
  17027. 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¼"],
  17028. encodeOffsets: [[107146, 33452]]
  17029. }
  17030. }, {
  17031. type: "Feature",
  17032. id: "5118",
  17033. properties: {name: "雅安市", cp: [102.6672, 29.8938], childNum: 8},
  17034. geometry: {
  17035. type: "Polygon",
  17036. 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@Ò"],
  17037. encodeOffsets: [[104727, 30797]]
  17038. }
  17039. }, {
  17040. type: "Feature",
  17041. id: "5115",
  17042. properties: {name: "宜宾市", cp: [104.6558, 28.548], childNum: 10},
  17043. geometry: {
  17044. type: "Polygon",
  17045. 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"],
  17046. encodeOffsets: [[106099, 29279]]
  17047. }
  17048. }, {
  17049. type: "Feature",
  17050. id: "5111",
  17051. properties: {name: "乐山市", cp: [103.5791, 29.1742], childNum: 9},
  17052. geometry: {
  17053. type: "Polygon",
  17054. 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"],
  17055. encodeOffsets: [[105480, 29993]]
  17056. }
  17057. }, {
  17058. type: "Feature",
  17059. id: "5113",
  17060. properties: {name: "南充市", cp: [106.2048, 31.1517], childNum: 7},
  17061. geometry: {
  17062. type: "Polygon",
  17063. 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š"],
  17064. encodeOffsets: [[107989, 32282]]
  17065. }
  17066. }, {
  17067. type: "Feature",
  17068. id: "5119",
  17069. properties: {name: "巴中市", cp: [107.0618, 31.9977], childNum: 4},
  17070. geometry: {
  17071. type: "Polygon",
  17072. 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¤"],
  17073. encodeOffsets: [[108957, 32569]]
  17074. }
  17075. }, {
  17076. type: "Feature",
  17077. id: "5105",
  17078. properties: {name: "泸州市", cp: [105.4578, 28.493], childNum: 5},
  17079. geometry: {
  17080. type: "Polygon",
  17081. 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Ġ±²"],
  17082. encodeOffsets: [[107674, 29639]]
  17083. }
  17084. }, {
  17085. type: "Feature",
  17086. id: "5101",
  17087. properties: {name: "成都市", cp: [103.9526, 30.7617], childNum: 11},
  17088. geometry: {
  17089. type: "Polygon",
  17090. 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óÆ"],
  17091. encodeOffsets: [[105492, 31534]]
  17092. }
  17093. }, {
  17094. type: "Feature",
  17095. id: "5120",
  17096. properties: {name: "资阳市", cp: [104.9744, 30.1575], childNum: 4},
  17097. geometry: {
  17098. type: "Polygon",
  17099. 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"],
  17100. encodeOffsets: [[106695, 31062]]
  17101. }
  17102. }, {
  17103. type: "Feature",
  17104. id: "5104",
  17105. properties: {name: "攀枝花市", cp: [101.6895, 26.7133], childNum: 3},
  17106. geometry: {
  17107. type: "Polygon",
  17108. 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ó¦„Ŏ"],
  17109. encodeOffsets: [[103602, 27816]]
  17110. }
  17111. }, {
  17112. type: "Feature",
  17113. id: "5114",
  17114. properties: {name: "眉山市", cp: [103.8098, 30.0146], childNum: 6},
  17115. geometry: {
  17116. type: "Polygon",
  17117. 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°š"],
  17118. encodeOffsets: [[105683, 30685]]
  17119. }
  17120. }, {
  17121. type: "Feature",
  17122. id: "5116",
  17123. properties: {name: "广安市", cp: [106.6333, 30.4376], childNum: 5},
  17124. geometry: {
  17125. type: "Polygon",
  17126. 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"],
  17127. encodeOffsets: [[108518, 31208]]
  17128. }
  17129. }, {
  17130. type: "Feature",
  17131. id: "5106",
  17132. properties: {name: "德阳市", cp: [104.48, 31.1133], childNum: 6},
  17133. geometry: {
  17134. type: "Polygon",
  17135. 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"],
  17136. encodeOffsets: [[106594, 32457]]
  17137. }
  17138. }, {
  17139. type: "Feature",
  17140. id: "5110",
  17141. properties: {name: "内江市", cp: [104.8535, 29.6136], childNum: 4},
  17142. geometry: {
  17143. type: "Polygon",
  17144. 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ÝÈ"],
  17145. encodeOffsets: [[106774, 30342]]
  17146. }
  17147. }, {
  17148. type: "Feature",
  17149. id: "5109",
  17150. properties: {name: "遂宁市", cp: [105.5347, 30.6683], childNum: 4},
  17151. geometry: {
  17152. type: "Polygon",
  17153. 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ô"],
  17154. encodeOffsets: [[107595, 31270]]
  17155. }
  17156. }, {
  17157. type: "Feature",
  17158. id: "5103",
  17159. properties: {name: "自贡市", cp: [104.6667, 29.2786], childNum: 3},
  17160. geometry: {
  17161. type: "Polygon",
  17162. 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@"],
  17163. encodeOffsets: [[106752, 30347]]
  17164. }
  17165. }], UTF8Encoding: !0
  17166. }
  17167. }),i("echarts/util/mapData/geoJson/tai_wan_geo", [], function () {
  17168. return {
  17169. type: "FeatureCollection",
  17170. features: [{
  17171. type: "Feature",
  17172. id: "7100",
  17173. properties: {name: "台湾", cp: [121.0295, 23.6082], childNum: 1},
  17174. geometry: {
  17175. type: "Polygon",
  17176. 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‹\\•"],
  17177. encodeOffsets: [[124853, 25650]]
  17178. }
  17179. }],
  17180. UTF8Encoding: !0
  17181. }
  17182. }),i("echarts/util/mapData/geoJson/tian_jin_geo", [], function () {
  17183. return {
  17184. type: "FeatureCollection",
  17185. features: [{
  17186. type: "Feature",
  17187. id: "120225",
  17188. properties: {name: "蓟县", cp: [117.4672, 40.004], childNum: 1},
  17189. geometry: {
  17190. type: "Polygon",
  17191. 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"],
  17192. encodeOffsets: [[120575, 41009]]
  17193. }
  17194. }, {
  17195. type: "Feature",
  17196. id: "120114",
  17197. properties: {name: "武清区", cp: [117.0621, 39.4121], childNum: 1},
  17198. geometry: {
  17199. type: "Polygon",
  17200. 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"],
  17201. encodeOffsets: [[119959, 40574]]
  17202. }
  17203. }, {
  17204. type: "Feature",
  17205. id: "120115",
  17206. properties: {name: "宝坻区", cp: [117.4274, 39.5913], childNum: 1},
  17207. geometry: {
  17208. type: "Polygon",
  17209. 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"],
  17210. encodeOffsets: [[119959, 40574]]
  17211. }
  17212. }, {
  17213. type: "Feature",
  17214. id: "120223",
  17215. properties: {name: "静海县", cp: [116.9824, 38.8312], childNum: 1},
  17216. geometry: {
  17217. type: "Polygon",
  17218. 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@"],
  17219. encodeOffsets: [[119688, 40010]]
  17220. }
  17221. }, {
  17222. type: "Feature",
  17223. id: "120221",
  17224. properties: {name: "宁河县", cp: [117.6801, 39.3853], childNum: 1},
  17225. geometry: {
  17226. type: "Polygon",
  17227. 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"],
  17228. encodeOffsets: [[120145, 40295]]
  17229. }
  17230. }, {
  17231. type: "Feature",
  17232. id: "120109",
  17233. properties: {name: "大港区", cp: [117.3875, 38.757], childNum: 1},
  17234. geometry: {
  17235. type: "Polygon",
  17236. 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"],
  17237. encodeOffsets: [[120065, 39771]]
  17238. }
  17239. }, {
  17240. type: "Feature",
  17241. id: "120107",
  17242. properties: {name: "塘沽区", cp: [117.6801, 38.9987], childNum: 1},
  17243. geometry: {
  17244. type: "Polygon",
  17245. 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`"],
  17246. encodeOffsets: [[120391, 40118]]
  17247. }
  17248. }, {
  17249. type: "Feature",
  17250. id: "120111",
  17251. properties: {name: "西青区", cp: [117.1829, 39.0022], childNum: 1},
  17252. geometry: {
  17253. type: "Polygon",
  17254. 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"],
  17255. encodeOffsets: [[119688, 40010]]
  17256. }
  17257. }, {
  17258. type: "Feature",
  17259. id: "120113",
  17260. properties: {name: "北辰区", cp: [117.1761, 39.2548], childNum: 1},
  17261. geometry: {
  17262. type: "Polygon",
  17263. 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"],
  17264. encodeOffsets: [[120139, 40273]]
  17265. }
  17266. }, {
  17267. type: "Feature",
  17268. id: "120110",
  17269. properties: {name: "东丽区", cp: [117.4013, 39.1223], childNum: 1},
  17270. geometry: {
  17271. type: "Polygon",
  17272. coordinates: ["@@ZV\\N^L^FJFFJIbSCAFTJTIpKDGLB†E†KLBjHTVNBZWbE\\SBQGE@ATCRHDGEEKECBECxOhOfAZGA_YEEWSGqRKIS„C@Mb@BiTAMYsOEWG@IQEURA@EF@@acUOXQRYCUDCHDTEF[SUEgAYDcVGJM`iAWDWLQRMHUHgDsDBLHJFCFDFGHBFFVEAGHCJN@RJF‡PIhBD\\FENCPWA@LFBAFHBEJUEARCDIAEDQBRNa^"],
  17273. encodeOffsets: [[120048, 40134]]
  17274. }
  17275. }, {
  17276. type: "Feature",
  17277. id: "120108",
  17278. properties: {name: "汉沽区", cp: [117.8888, 39.2191], childNum: 1},
  17279. geometry: {
  17280. type: "Polygon",
  17281. 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@"],
  17282. encodeOffsets: [[120859, 40235]]
  17283. }
  17284. }, {
  17285. type: "Feature",
  17286. id: "120112",
  17287. properties: {name: "津南区", cp: [117.3958, 38.9603], childNum: 1},
  17288. geometry: {
  17289. type: "Polygon",
  17290. coordinates: ["@@TLv@CNHFFBHGZFETNPhCVGNGRQXKXCjBN_HIdUZChBVF\\TFECSDGVCZDRQPWdVNA^]RBBAAOQ]DSE@F_Q@[VMCSMADUECOHycI‹qMQEU}zkaŸwENRDENB@ADG@@HF@YnaAOFƒ|CDFHUHH^kVbCR^JHIFLJNGHBDNPXGRSCO^EBMNCPDHHFAFiEIHOAEH"],
  17291. encodeOffsets: [[120045, 39982]]
  17292. }
  17293. }, {
  17294. type: "Feature",
  17295. id: "120103",
  17296. properties: {name: "河西区", cp: [117.2365, 39.0804], childNum: 1},
  17297. geometry: {
  17298. type: "Polygon",
  17299. coordinates: ["@@d@hZNFdcLYXKRCtCMOFSYEGHEAGEDMu@SKAAsx]GMTGt"],
  17300. encodeOffsets: [[119992, 40041]]
  17301. }
  17302. }, {
  17303. type: "Feature",
  17304. id: "120102",
  17305. properties: {name: "河东区", cp: [117.2571, 39.1209], childNum: 1},
  17306. geometry: {
  17307. type: "Polygon",
  17308. coordinates: ["@@ZBVFFIGABEEA@KXBDOFM[EACJgˆOIE@QIMGDBHUFEEGAEHECEDGIAKQDWLKZcdQPEP@FOFBJTJ@HNORJf@DBCN"],
  17309. encodeOffsets: [[120063, 40098]]
  17310. }
  17311. }, {
  17312. type: "Feature",
  17313. id: "120104",
  17314. properties: {name: "南开区", cp: [117.1527, 39.1065], childNum: 1},
  17315. geometry: {
  17316. type: "Polygon",
  17317. coordinates: ["@@NMVDCG\\E^B@HlB@YEDS@C…HsNSiMGDebUXAJEjidVTAFHDFJ"],
  17318. encodeOffsets: [[119940, 40093]]
  17319. }
  17320. }, {
  17321. type: "Feature",
  17322. id: "120105",
  17323. properties: {name: "河北区", cp: [117.2145, 39.1615], childNum: 1},
  17324. geometry: {
  17325. type: "Polygon",
  17326. coordinates: ["@@DBXFADB@L@LFHM\\NHED@JKZRb]QMRAFCJBDCBQYADMCAe@QIMP@GSIAIPE@E[EGH@ZEF]^HJAXK@KF"],
  17327. encodeOffsets: [[119980, 40125]]
  17328. }
  17329. }, {
  17330. type: "Feature",
  17331. id: "120106",
  17332. properties: {name: "红桥区", cp: [117.1596, 39.1663], childNum: 1},
  17333. geometry: {
  17334. type: "Polygon",
  17335. coordinates: ["@@J\\PNHEZBFEJELEL@BWGI^]FEkA@G]A[FDHUCMNEHJ^"],
  17336. encodeOffsets: [[119942, 40112]]
  17337. }
  17338. }, {
  17339. type: "Feature",
  17340. id: "120101",
  17341. properties: {name: "和平区", cp: [117.2008, 39.1189], childNum: 1},
  17342. geometry: {type: "Polygon", coordinates: ["@@D†T@FCHG\\FFOROMEgYc@"], encodeOffsets: [[119992, 40041]]}
  17343. }],
  17344. UTF8Encoding: !0
  17345. }
  17346. }),i("echarts/util/mapData/geoJson/world_geo", [], function () {
  17347. return {
  17348. type: "FeatureCollection",
  17349. offset: {x: 170, y: 90},
  17350. features: [{
  17351. type: "Feature",
  17352. id: "AFG",
  17353. properties: {name: "Afghanistan"},
  17354. geometry: {
  17355. type: "Polygon",
  17356. coordinates: ["@@ࡪ͇وŐǬϠڐŶӂʮǚڦ۾njƀ̚ІɣʪҴMوǯʲĹ،˒˰Nj˖ϪԈiżŬĘͺβ̈Ҕȏĝʱʪ¡ý۷ͪ˟̊ǰώĊԼϖׂ×ࢀAƬʋӧĥяƹ७ĭࣗǭӫλȤΣĪллΛ–͑ɳ̡ߛ€ͦ։՗ɅΥԕ²ԋ͡ɿ̳þٝŋğɻسDҵӇ‡܍થΓבôǝȁԇņ࠿űටіހހåզُƚßՔ˟ڢάҢιŮɲؒ΂ਸ"],
  17357. encodeOffsets: [[62680, 36506]]
  17358. }
  17359. }, {
  17360. type: "Feature",
  17361. id: "AGO",
  17362. properties: {name: "Angola"},
  17363. geometry: {
  17364. type: "MultiPolygon",
  17365. coordinates: [["@@ȸصʌԋȘ˕͐ѯ֊æˤŠҬşŲɀɂӨԶ®ƤіHñ̡৴RfՉǞ͕ūԑÖԫ˪̷­ৃȼüκsԴŴϦ¹ĘʹĩСƨϿů̿î́ყZᦵ֤ۋպԽ໳΁᎝Š׋Ж₭—ŵÏԃϞկ~ԉƝЙDžÿՈŜ݊̂ޒªΰ˚ݶȨΆӘռːϐĘج«ӊʣ̜ɡԚȵԎ®Ǩʶͬʭ߼ǣ֚сՐĄǎΌŔʒg̎ĸៜ["], ["@@ɉėɣلͼδʪƘ̀˽̩ǯƍɍλ"]],
  17366. encodeOffsets: [[[16719, -6018]], [[12736, -5820]]]
  17367. }
  17368. }, {
  17369. type: "Feature",
  17370. id: "ALB",
  17371. properties: {name: "Albania"},
  17372. geometry: {
  17373. type: "Polygon",
  17374. coordinates: ["@@Ń˷ŢέΒȳiə˗ŧ»˙ϷСƛÐgȂү˰ñАîֶŖʼƗƂÉˌθаÂƿɨôǴɥȪďȨ̂"],
  17375. encodeOffsets: [[21085, 42860]]
  17376. }
  17377. }, {
  17378. type: "Feature",
  17379. id: "ARE",
  17380. properties: {name: "United Arab Emirates"},
  17381. geometry: {
  17382. type: "Polygon",
  17383. coordinates: ["@@Ƭ¤ŒɱڂƂ۞uԖ{ֺ֪ظՠՎԮdž˹ŖڑѕGçճƪŝϝǑE΅ʓΏuͷǝDZᡋъ͏࡚Ț"],
  17384. encodeOffsets: [[52818, 24828]]
  17385. }
  17386. }, {
  17387. type: "Feature",
  17388. id: "ARG",
  17389. properties: {name: "Argentina"},
  17390. geometry: {
  17391. type: "MultiPolygon",
  17392. coordinates: [["@@ߗ§ѓ̔ԑx࣑@Aሞ͒ϵрؿનԋ୲ȿϙп"], ["@@Ӵ؇͠ڰॠ“ƊǷ໶ോۊŷਆاࡾ͡Ŧχࠡ౧ࡒɭ़ŷڔƈނ٢ƎݐжLjфӝiڣۻҩ֟΁ॅࠃ૭ଧȽڥɣࡹT࠷ǽȇÝիËѫ੨ܙŗ׃Հν§Ч߯ઁఛ҉။ǩउĎǰԅǣػƺщԋ̏ࡱř̪͕߱ɗŜ࠳֨ʧҠˆʢѧޛʻڭԹūࡋȣ҇ߏEڃљʋؿؙࠞߦǝ˿ݭ঳Ӄձটލͧ΅Ͽ˔ࢍ֔ӡΟ¨ީƀ᎓ŒΑӪhؾ֓Ą̃̏óࢺ٤φˈՒĭьѾܔ̬૘ěӲξDŽę̈́ϵǚˢΜϛ͈ȝॺ͸Ǣƙ਀ȠࡲɤݢԊ̨ʭࠐEޚَոo۰ӒࠎDޜɓƶϭฐԬࡺÿࠀ̜ބռ߂צԺʥ͢Ǭ˔ඔࣶд̀ࢎĹɂ۬ݺશȱ"]],
  17393. encodeOffsets: [[[-67072, -56524]], [[-66524, -22605]]]
  17394. }
  17395. }, {
  17396. type: "Feature",
  17397. id: "ARM",
  17398. properties: {name: "Armenia"},
  17399. geometry: {
  17400. type: "Polygon",
  17401. coordinates: ["@@୞ƀǨə͌ƣǛɁ҄˽ʁˋΦɫϘƏl׋̣}΃ӢHżχCʝɤǩuͧʖرȼĄФƛ̒"],
  17402. encodeOffsets: [[44629, 42079]]
  17403. }
  17404. }, {
  17405. type: "Feature",
  17406. id: "ATF",
  17407. properties: {name: "French Southern and Antarctic Lands"},
  17408. geometry: {type: "Polygon", coordinates: ["@@ը˃ߐĿˆDžɽϣಇÃq҂ŮΎÊǢ"], encodeOffsets: [[70590, -49792]]}
  17409. }, {
  17410. type: "Feature",
  17411. id: "AUS",
  17412. properties: {name: "Australia"},
  17413. geometry: {
  17414. type: "MultiPolygon",
  17415. coordinates: [["@@ߺ́ҜŘپNJԎÉÐঽ˽́ēگ̉ɰ׍בǧ®ԫ€ԭܘŗֈӝܸtϬռõ"], ["@@̢ڇբ̈́˦ΡЖ͟đϋǴܛŸнɄĹɬܕąѥ˖֭࣬ѭצЋ֞λŋȯӔՃࣧ͜ͲȂ;ηȴźƢࢹ׬ԩϸ͋ڀڹʀڭtӏËԳА܋µݓơϵɩݡjӕǕ׻χއثЭ̫ٱ˫гʝܧ͕нɅػʼnׁªˇӕ̇व‰ޡ·ϫ͙ԕέ۟ψԥƪżѬҝǃ݁؉ܩɪӉƄӑÔ߿ʐիԮƻْțьЭ;߱ĸˢРȯزЧ׉ݝƷѮҬŶӞ͘ЬãجہܑԿ˽͏ڛٽΊ~ҀԿ،ѹ̀ǂȘઃԚןz߯Цຓāછ̝ख़˫ߡÈࢻљܯȗljѱ̳Ϳ܉qՅõݑƶ׿ğֽԁ҃ʕœуʁЗˋؕ֛Bࢽ՜ҋDŽlӖкŘƚȒ‡̠ĺאģӼѻࡖƏӒ˜ӎͭնsʚϋͰĽڄӓڔřΪτε˳ެиʑʞ͗aјеڎă˄țʦĠӠǢȸŘрęӮΎ؀Úٕ΢׀ۀˬЦΪٜ̰ϤàɴĻڎ̺ԚĤŶȀɞüҬoࢨʖҚώɊ҆ӲѐœͲvҘט܎ΠܩΦǚ̗Ј˂ТψǻĸٖҠаȮͨцƜ`ɼτĭdɂτŦОŔبϫҲӽՂMՖÿDZҦДڪϜɘſȾκӒԘ̒јıۺǂeі؛ˢ҂Ū֎ȻҀ·ۼɋʈĐԶʵӬʊ͂ñȠNJϬеɡ͉҇ͻ˿ƒĮͱʙп̗ЭÔʁڜҫ٨ˏѠ́؈ӻʂBѰɍŶʷߤ˵ֈ˼ǐҊǠόľҤʰڞŝОÔʔīӔŌنLjǠŽˬȮѾdžҦtʈ̸̾ʂЩÎՃȾķ˜Λ̨ёÚӇ‡̥"]],
  17416. encodeOffsets: [[[148888, -41771]], [[147008, -14093]]]
  17417. }
  17418. }, {
  17419. type: "Feature",
  17420. id: "AUT",
  17421. properties: {name: "Austria"},
  17422. geometry: {
  17423. type: "Polygon",
  17424. coordinates: ["@@Û΃ӁCǎǻ˧էLJƗܽsщȏۛÞயɐȉ̊ࠧƣĭDžԗŢѕxϝƶźȴƬʪ²ьɹŤɜݎ•׸ƮЖ}ˀǣþƜšո̠ń̒ϰز˓ӀΆ̐ÚٶʱЂªϰǁãŃČ̅"],
  17425. encodeOffsets: [[17388, 49279]]
  17426. }
  17427. }, {
  17428. type: "Feature",
  17429. id: "AZE",
  17430. properties: {name: "Azerbaijan"},
  17431. geometry: {
  17432. type: "MultiPolygon",
  17433. coordinates: [["@@ʞɣψDGŻ΄ӡֽŒщϰƃ͆Ǫv"], ["@@ϊËƞɈԈͺѴѵђ׭ϺŸʸɧۗãƣٵƟ̭̍ȝvзȽ¥ԻѲ̂дʝʚ̿×যإk׌ϗƐΥɬʂˌ҃˾ǜɂ͋ƤǧɚȶƎضʍҐ¹ŘIJбҔɔŚʀ…׀ԙ"]],
  17434. encodeOffsets: [[[46083, 40694]], [[48511, 42210]]]
  17435. }
  17436. }, {
  17437. type: "Feature",
  17438. id: "BDI",
  17439. properties: {name: "Burundi"},
  17440. geometry: {
  17441. type: "Polygon",
  17442. coordinates: ["@@Á০ɃϢԜßʲӎҀŸͧǸȏT˗ȹǭ͛ѫ̧̥΍Ÿ"],
  17443. encodeOffsets: [[30045, -4607]]
  17444. }
  17445. }, {
  17446. type: "Feature",
  17447. id: "BEL",
  17448. properties: {name: "Belgium"},
  17449. geometry: {
  17450. type: "Polygon",
  17451. coordinates: ["@@؜áުǪՐοҦȝħ֧ɕĝһܿϦћßדІϷͶϷ`ũ̒ڪǔ"],
  17452. encodeOffsets: [[3395, 52579]]
  17453. }
  17454. }, {
  17455. type: "Feature",
  17456. id: "BEN",
  17457. properties: {name: "Benin"},
  17458. geometry: {
  17459. type: "Polygon",
  17460. coordinates: ["@@ۛįȹ׆žኞǛǦЮ̇̌ʱʞņѶ̀ĨǠξЪĀȀʤˮʘ̠F٘ә˩ȎӽǓͷĘɧСԳʵʳǁՉt՗µണ"],
  17461. encodeOffsets: [[2757, 6410]]
  17462. }
  17463. }, {
  17464. type: "Feature",
  17465. id: "BFA",
  17466. properties: {name: "Burkina Faso"},
  17467. geometry: {
  17468. type: "Polygon",
  17469. coordinates: ["@@ֹɐϽ‹̍Ƀϗǰƥ˦ϙǾÅӦɮΤo˴ښۢŬּɲȴОœΚǢŘɎٴϖdžˀ޼ΒҦŢɀLJՠJáСŔϣӀչ€НॺȏmֻǿʣЩÿǟν˿ħ݁lϳâ˓ƉωÖร¡qӉŘم"],
  17470. encodeOffsets: [[-2895, 9874]]
  17471. }
  17472. }, {
  17473. type: "Feature",
  17474. id: "BGD",
  17475. properties: {name: "Bangladesh"},
  17476. geometry: {
  17477. type: "Polygon",
  17478. coordinates: ["@@i׽̉ŶÆگʉѬµєDžКΕӨޟ’ü΋˃ҳΧǠũƵʃĠ͗øŽۖ̅لƜԒԫɤȆ̪Հ̼؅Ѽ֮̔ږεВ£ô׏ߞřު^Ӟƛϯ܅ϕµʷӍҢѥƎ՞ɶFѶ೯"],
  17479. encodeOffsets: [[94897, 22571]]
  17480. }
  17481. }, {
  17482. type: "Feature",
  17483. id: "BGR",
  17484. properties: {name: "Bulgaria"},
  17485. geometry: {
  17486. type: "Polygon",
  17487. coordinates: ["@@ʎΉ͚Ö٦ſ௾«иɌবȜ̩ؒӴĕѥΏ̫׹˔ӏܣŒࡥ˃Uлޅÿס̊ڧɱة|Ñ֊сːƒŢĝĴƘˌ͌ˀСδ÷̬ȸȐ"],
  17488. encodeOffsets: [[23201, 45297]]
  17489. }
  17490. }, {
  17491. type: "Feature",
  17492. id: "BHS",
  17493. properties: {name: "The Bahamas"},
  17494. geometry: {
  17495. type: "MultiPolygon",
  17496. coordinates: [["@@ȵ£ɇӜ̿ʐǾՔʨ‘ۣ̎Jӥ"], ["@@ࣷƅÏ̴Ђäֈ{~ɕ"], ["@@ƟׯƷņ`ѮϓͪCĪڐϗ"]],
  17497. encodeOffsets: [[[-79395, 24330]], [[-79687, 27218]], [[-78848, 27229]]]
  17498. }
  17499. }, {
  17500. type: "Feature",
  17501. id: "BIH",
  17502. properties: {name: "Bosnia and Herzegovina"},
  17503. geometry: {
  17504. type: "Polygon",
  17505. coordinates: ["@@̦FȿσМ͓ūЃȡ™ƽû˙țūҥݓ͈ͅΘ͋Ȅϭ̾ǻʺЩϾǬΒ̞ȕǼǨϾnܠƓ׈\\Ϟȅ"],
  17506. encodeOffsets: [[19462, 45937]]
  17507. }
  17508. }, {
  17509. type: "Feature",
  17510. id: "BLR",
  17511. properties: {name: "Belarus"},
  17512. geometry: {
  17513. type: "Polygon",
  17514. coordinates: ["@@߼Mࣰ̈́ȚӄېːÿϔԜƚ͖ࣘࢮɁŢȻѲĴࠒȧĊЁǷɧՄս΂Ƴ»Ʊ֦Ʃʎɡ͝ǿڳˆljÿȠ˧ȸ՝ܝ¹ʵȁÃхͭĆݷ¡əȞ̿ƥ́ŨڍjफȬࡕàٱmҡɩГeϐʷϴԌǢLͰɷ͌™ϊ"],
  17515. encodeOffsets: [[24048, 55207]]
  17516. }
  17517. }, {
  17518. type: "Feature",
  17519. id: "BLZ",
  17520. properties: {name: "Belize"},
  17521. geometry: {
  17522. type: "Polygon",
  17523. coordinates: ["@@OŮĸžƴı̞ԔDŽZHūDŽGaɭƋεôŻĕ̝ÀăīщǓɟƱǓ̅ʣ@àॆPژ"],
  17524. encodeOffsets: [[-91282, 18236]]
  17525. }
  17526. }, {
  17527. type: "Feature",
  17528. id: "BMU",
  17529. properties: {name: "Bermuda"},
  17530. geometry: {
  17531. type: "Polygon",
  17532. coordinates: ["@@OEMA]NOGNG\\Q^McMOI_OK@CQSGa@WNLVWHFLJXVFGJ`ZRTDLeeWKIHGIK@@[MQNi`]VDTBHCJAPBJLVFjT^LV\\RJZRn^RH`TfJjZHHOTTFJP_NOX[EYQQKMEJOLANJH@HQHAARF@ZEPS[U_IcRQXE@EEKKOCGGCQCOGISKYGUC"],
  17533. encodeOffsets: [[-66334, 33083]]
  17534. }
  17535. }, {
  17536. type: "Feature",
  17537. id: "BOL",
  17538. properties: {name: "Bolivia"},
  17539. geometry: {
  17540. type: "Polygon",
  17541. coordinates: ["@@य़”͟گӳ؈વȲ۫ݹ؅ŗ͡୆ҋऺˆ߾ѳ΢ŏ؆ЫֲՌ࣢αۺȖ˰ƭ̶͠рh܎¤נǸ˶ܩഠزíѠnȈʪ݀;Ѷ͂સƚęؽļ͓ãࣰ֛ݫऴƑ̻ͦ֨ǕΐʑՈTӦʟšӟǐʕZγʓa͒এྖ“ūӟĜͧҞɽȤԹƫڋɯρĄӏʿǥaʶ޳јޭ^ัʓЕ݋sҋͥ৕ƉǸ"],
  17542. encodeOffsets: [[-64354, -22563]]
  17543. }
  17544. }, {
  17545. type: "Feature", id: "BRA", properties: {name: "Brazil"}, geometry: {
  17546. type: "Polygon",
  17547. coordinates: ["@@૮ନॆࠄ֠΂ۼҪjڤуӞеLJǒӜŖӼBҦ̡ƴ̿Ƌ̻œį͔ýޔƿʤ֥ɪ΃ǏࢱLjÈଜʝҴˀǦăӐɰςƬڌȣԺҝɾěͨŬӠྕ”͑ঐʔbYδǏʖ™ӠӥʠՇSΏʒ֧ǖ̼ͥळƒ࣯ݬä֜Ļ͔Ěؾષƙѵ́ܿͽȇʩџmرîӃƟϡĪÈ౨ۏӷݏv҄ͅ֏¶DzΰұԞΓݴɜƶA΢ԖʎċҔɊ̈Ôϼ०ֲێNJŔŴݴŸϚᘰpθſӔύ̬LؐӀƒǚē†͐ӯĔYՀ࿖k˦̂ɸˉǐӷǂļҨѻٸÆnjʲشȞΊƐĮΤ׸ʆ¯Ǯ܅ðśՊ’֞ϓɒǀþجŅڜȿʐȤ؀žल̮͎̾ŏʂѪšȜȗʼnσ̀ŵȖϷɷ̏ƅ܏ɌыÔϳԬϿЮ¥Ģǒˆ˜ϠƦ˚ɢҬíȲŠҚçøǢƗǘĎʐͺõЈĒӔDZξǥʺɪȊ•ŘɿДÒ͒͊ʴؤӼޒ˺¢ȺҫҼ฽҈Ƒxׅمەʾʩ๤ƁŠࡃٔր੐̟ඊԡШӱƏҫ঎ʶ࿐ѹఴŽఔ۝੸व٪ʏܖ‘̦˅˸੭Ɣԗͯ൹ёշஅୡՙोثܯȿgɻءÒ༽ɹಓęօˇͧƫ૱࡛઱ƛࢁڹηȟԋ࣯Fೕ͓סύवʗ঩ڝ܅࠯ũطƔҫƽࡓȏЧחҥट๕݉ڗ֯Ͻϥߛ։ӑɷӈψЊӟֲڇҬࡹՠ̹{ࡅٰձę"],
  17548. encodeOffsets: [[-59008, -30941]]
  17549. }
  17550. }, {
  17551. type: "Feature",
  17552. id: "BRN",
  17553. properties: {name: "Brunei"},
  17554. geometry: {type: "Polygon", coordinates: ["@@ͬ̾܎Ң›Я·՛Б€ǭ˹ϥѦ"], encodeOffsets: [[116945, 4635]]}
  17555. }, {
  17556. type: "Feature",
  17557. id: "BTN",
  17558. properties: {name: "Bhutan"},
  17559. geometry: {
  17560. type: "Polygon",
  17561. coordinates: ["@@΂ˍÏԩۇ{ۿÈՇſޅ͊kǚ֌زҒɈ׸șѺqπɥ"],
  17562. encodeOffsets: [[93898, 28439]]
  17563. }
  17564. }, {
  17565. type: "Feature",
  17566. id: "BWA",
  17567. properties: {name: "Botswana"},
  17568. geometry: {
  17569. type: "Polygon",
  17570. coordinates: ["@@ǜƭ˄ӡॎइήĝD̑ʚՑٰŹ՚ϝ஑أݭع˩֓ʧ́ҙãƧГďʽ՝țہ¤БɾΟĸХșȵГЉʧпϑ׻đȇ̐üԠӽߚɧŲAរࠤˆ|Ჾش„ಖ͎̎΍՜ͤʮDӂȎưÙ͔ڣ"],
  17571. encodeOffsets: [[26265, -18980]]
  17572. }
  17573. }, {
  17574. type: "Feature",
  17575. id: "CAF",
  17576. properties: {name: "Central African Republic"},
  17577. geometry: {
  17578. type: "Polygon",
  17579. coordinates: ["@@ۜÚƺɎƔgȾȏ੔͐Τ͠Ѭ̌ĉ̐ʂüߺ½߆ϴ؊ࣺю;ՐƜĪΫӜԿF΃ƋΓÄʻ̆ʍٖοҢͻT˗֠ѫΖεɆԋغͩƊˉˣęաpكĘ̹ïųȱ˕}ͧDzधнϥĎŗÝʥԕطǐؙĊ՗̴ۓ˸҉˓͛яùדգ²֩Ƙԅѻѯޱėʐ›Ϧϧ˔̳Ѡï̠ЇѮæʢċΞÞٴȬƴц࡜"],
  17580. encodeOffsets: [[15647, 7601]]
  17581. }
  17582. }, {
  17583. type: "Feature", id: "CAN", properties: {name: "Canada"}, geometry: {
  17584. type: "MultiPolygon",
  17585. coordinates: [["@@؎œުxЯ΅̵Å੥Φȿˬ͆ʸ̎С"], ["@@Хcઝ˂ޯІ̄î૆Ɂ࡮Η|Ʒ"], ["@@хŝൡϢʥ̘ݩ̌Ưʈࡻư͕ҜðȚࢨǿԨŵ߄ė˺̃дЋ࠼΍Όҩ"], ["@@։ܿո˴֠ǵ̏̉ݚɱϰȴ࠼ʵʹ؛טƞņѿʼԷΝ݉ϝ‹փǂǾیɻńইܯԅ†צЂ߫Ȳࣙ¹࿅~ŹʠԼ̐λɬ۸Ԓࢄ೾Զӎܲ̂϶™Njɫ҅Չ"], ["@@@@@@@@߰äʥ॓ܶگͯDԑϪ̵ϮчʾƻτºˎЂŋ"], ["@@͡ѳχîəʢ Î͖ʦΆkɈǣ"], ["@@ঝҧץnǿɪزϲ଼SiǍ"], ["@@ƼυјżӨɗं˽४ʽöЍؤÞ׶˥ݙ˃ಳȬҽϚ࠭ҁ஡ѣ˿Ӯଗăܴдņڌ˺ޔ؈å"], ["@@ष¥ȿЪΦҼޖŜپɷXέħřձʛ"], ["@@Է̍ଉʬۃğଫϘ݊ʼטζࢼʃԎƯʦDžԠ͍"], ["@@G࡭૰ڄ৐եʡح߾֥࢚؈ؖܨ°ईஞÝఔūૼй¼зس҃פ҇ŃУ࿩חୡŻࢃʨʣуߵ۽ʓοই֩ளÇڏΡÇձ঍Ŀਉڻ࣭ु͙ڏ±উంƕϜ޻ϼّ୲ǔ༞εࡀ͋׺Ѕ੆ɳࢸΟ൶µࣴąƍܫʼࡋ،ळనߗ٨˚ҔࡺѭೢףѶഎЀ॒לҮהç֭֘܌৷لলࢤνݾ˫ಾגȘ෸ɫࡸć۠ɚ޴˵ਚӣʮ͙ຄÛ}۷˪ਜ਼ގſ،ӵ௖Ұߦऔ֌ϸٺݣબੳघ৙͵Յ૤Ӂݰӓംɏբˍͬ܃ټŏͶͅÖऻ؍́׽̏൯̗੏ۑ෇ƋᅛǮుPࢇÍ۱׽ੳω௉૗ॵޡ܌Ɛഘૄᄈ۪సČݔЫߍ֟ˊࣟ˜هતп൸ŨࡆीÎ؍ժ̥ਣսᇷԁ࠯ͽय؁ٓ֍܆ฤ۞഍ƒणĹջӆBନύʐ֛ƛ˧ɚٙىʱٹ̕ϡΥŽˏ¥čȹ໽A౥MϛƷࢵ؃Ŀßˍ͝ޗBࠛGϛƅƊǑøʯeďષлࡽſউ҅Ɂ@˷ƂĥŦnĔȂ̎ЂҦʘӺǙܴǵނ࢕ЂľƬūĺɳ@ǛƆ¥ȤǍēɥ€¾ĊȡĊćɚٵːڹ˪ࠑ͘߁̨ݧʃ˝Sਕɔڻʼnࠁʺ࡫Ɔו¾ʻƜƫҤ˳IE͓჏BᮝA᭯@ᡃ@ᠿ@៙@ᢡ@ࠛ@᠁@ᛷ@őF྽ࠜ׵δຽΐҳݖŤԨ੻ΨƧڴ৭؎iѠҲКwՌෙ՘࡭ॠՁ׾ޑϚ֣ΈѿѢࡇ˕ࠇҹݛւדπࠋɸࠟ|JⷎNᷲ༬ȭ೘Й࢘û݆ΖৰˀఢĹ఼τ൘Ⱦ־ΑظȠȊЄ׈ęෆݫ૦֬ŖّਔƐ͆ʖৰ·౼Λዸ̭ୄƛࠖÄଊэ஁зຶǷᗘIJܒƦࣆԋࣴьࡩΦժ˼৾žڦĎڴȩࡊҗरä๢ϛಬƄ௬oĭԺݞƦದ˵KߑՖڠڰuϞࡊ࣑԰কͺäघশ؎ૌƇࡘχଞॅݗЭ༠ǝ"], ["@@нϿሎʬୠщॊіސ˟یࠛфΒ׭ࡰ݊Ŭ࠲Ƈश͹ՆࠉʼץථеະЉĝσൡã՚͓˱ູ̯Ƃฃɪঋ»ཅ˷ᒃű๻āҕІଫɮݙģਛږ֔ĚಘƜஈ›રƦྷȞᅗã஗jѷ̴ዎͲಗ[ืɚ۶ـגͮᖬԠ࡬Nj"], ["@@݉ևಹך˸Ş૸’ٔȁ"], ["@@öɵࢿ|ࣟjࣿőʑ¼ऍѾ˜̠ИÈነěชң"], ["@@ڎԽޤڴᒆΈ෺ࢅůջဒʒߒͮሀыୄЏŊν༚Ȑ࢘՗᎐ܸͩ͹ߐ޻໯ϹጘչೲȁீޙೖÇʽכ้ঋਗά೓߲ઙĿŁӕࢪӥଜϯΌɟմࠩ́׿੕ɪᑏڨஎܣ࢔ԕƎ̉ᗱͲᅩӤ৳Ц̌ʂయќ௥Т`ʑᝡƅ܃˾ֆؤ཈dႸņ˫̜̊оચࠊɳϊ͕˾౿Рၳ˺՞ɆࢷԺ݋´ڏ˸҇ʛ຿ŅᵝȈᄫʚഹŴۥ̐࢞Ϧ஝Hˉ࡚٦ݨࡺ΄ᓪɢأի"], ["@@৊ǯຄńɖʑ޷Е౜αƱݳ൝͗߳ê׉͎ᐡٮjˎ႖ĽएռসР"], ["@@࣓عय़ŒԽ݆`кѮΨ࠰ɮც‡ྈȱళݟ৉Ǎ"], ["@@ᕍЙѷςኹѺήΤ׌ؘܰւࠑԦᭊƀ஬ǧᒰ±ࠄʑࣖΝ੍ɃᏝןਫי@ν"], ["@@ҙ͙௝Øৱɖ҂Ϛீɨܼ̬̍ˇ"], ["@@ٞϵ€љϣس൱đࣗƈjӬ൝ÝÁٮࣜౌ˺ஂµÜŎ"], ["@@̙͢ݠƘࢢ™ƪЩԝЋ᭗Žᑯη౩mŅ˜პϊ④ij୯Ʈପࠐ߈ɾᛄ˳๶ӻฺÛறߨޔ̪ࢄĭ˲Џ"], ["@@ढ˓ကFܨˡȑ́८ȍՔȧଊ™௬ë೸ǼႊðീÏ࣒ͅȊ΍ԽɟభǷ੽ĸᜱŻႫcഫļᖁ˔̃ҦĹжࡇξ჋ĺঅʼ͂ΈႾÁ"], ["@@ŗ٣٩̇޹£༝Ϋ഍ŹଗǼ@@ුؼႮծಆ[ସŬ"], ["@@ϣy༽Âɡɼၜ]מƻĵĩ"], ["@@༩ʋఝ˔ڼˎ௮Đஈſ˩ʥ"], ["@@৽ǏඉBbŤࡴʦҌદǝ"], ["@@కǥۃȚέ͂áΎજ‘ӪÅ৐̇ɫ̣"], ["@@͜Ε൏Ĥ൩˘ሏŒߺʠ৫ȮÕ͐࿶ŕᗢ̫ٞЍ"], ["@@০˕ଽʟ༇ك๥Óდņࣗ΄^̦ڔɢ໡Oए˨ՑϠ׌ώ׊ʲࡴÎοȖዜ¨੶҅මǵ൞ǃڒև"], ["@@ᖢßᅮŅ໤ɫ™ɡᏅη᎙ǟݻȉᆬJጡԙേʃ෯ۇႿƓՙǡᡷěୈĿׇƭ۞бߙ˽ಛʃЋ͡୫ʣŞȏ෬lȳᖟԋᔧɴឿŻధĸཟªĿЖ༊Ȑб؆ԢÐᖤγ଩բഹLjڼ͘๰Ȩʄ̊஋͠ΥѠᘞ—ڒĝ಼̪ቃĬ᰽Á๣˸۩ͼগʘȁ˺దLjঘ‚࿲ƌం̺ਬ©ࣤɽٔҒૐƈບĢᢲ–Ҁĝ᝚ƚᆔÁᆒÁ"]],
  17586. encodeOffsets: [[[-65192, 47668]], [[-63289, 50284]], [[-126474, 49675]], [[-57481, 51904]], [[-135895, 55337]], [[-81168, 63651]], [[-83863, 64216]], [[-87205, 67234]], [[-77686, 68761]], [[-97943, 70767]], [[-92720, 71166]], [[-116907, 74877]], [[-107008, 75183]], [[-78172, 74858]], [[-88639, 74914]], [[-102764, 75617]], [[-95433, 74519]], [[-123351, 73097]], [[-95859, 76780]], [[-100864, 78562]], [[-110808, 78031]], [[-96956, 78949]], [[-118987, 79509]], [[-96092, 79381]], [[-112831, 79562]], [[-112295, 80489]], [[-98130, 79931]], [[-102461, 80205]], [[-89108, 81572]], [[-70144, 85101]]]
  17587. }
  17588. }, {
  17589. type: "Feature",
  17590. id: "CHE",
  17591. properties: {name: "Switzerland"},
  17592. geometry: {
  17593. type: "Polygon",
  17594. coordinates: ["@@ƫŹȳϞƵіwá΅χƙةŀǻ͹ЏơƄһ˵Л¡αǶ˽ςБſ^ϠؚҾɈϤûɲƞ܎MǦǼ࣒ʱ"],
  17595. encodeOffsets: [[9825, 48666]]
  17596. }
  17597. }, {
  17598. type: "Feature",
  17599. id: "CHL",
  17600. properties: {name: "Chile"},
  17601. geometry: {
  17602. type: "MultiPolygon",
  17603. coordinates: [["@@Bም࣒@Ԓw˧ͻܛʻЭ‚ӻä؏ʨ࢟ŨੑҸ࡫Ҏୃशۘǭ୼֗૜̟ѢϬ˘ֺޠΎװı"], ["@@͢୅؆ŘĺɁ˿ࢍࣵг€ඓǫ˓ʦ͡ץԹջ߁̛ރĀ߿ԫࡹϮฏɔƵCޛӑࠍpۯٍշFޙʮࠏԉ̧ɣݡȟࡱƚ৿ͷǡȞॹϜ͇ˡΛ϶ǙĚ̓νǃĜӱ̫૗ѽܓĮыˇՑ٣υôࢹ̧̐֔ÄgؽΒө᎔őުſݝPЙȷݷ̣Ɖ޹Σoॅ˚१ג@@ਲ਼ӔˁՒʄӰх֒Ņ෤Φ߰ࢴٰౣʔߞݒ˸ඊत̏Ѯგ֝ɠʿ਻ՉŠ˂ல˺༒ϮָʍࠎéूΠ„Ԩപ׈എΤబȗ఼ʤۚĵਞӮਆưྺ˒ნˀሤÕ൘ǩ஄ќɌɦњЬֱŐ؅ѴΡ˅߽Ҍह"]],
  17604. encodeOffsets: [[[-70281, -53899]], [[-69857, -22010]]]
  17605. }
  17606. }, {
  17607. type: "Feature",
  17608. id: "CHN",
  17609. properties: {name: "China"},
  17610. geometry: {
  17611. type: "MultiPolygon",
  17612. coordinates: [["@@ԑഓΫۏѷ܂ĩخӶࠜڦَϨʡƣԓ", "@@ܩЗۏʺyܢаϠࣾɾӚoȊ͍σσșӟ"], ["@@ฬˍ঺ׯͼ߃౨Cܰͨ൸ʜѳݱ͙̭˽ः֡ࠇ৵ƪܝ̑ɜܙť঳ѕwLяթӺͯһಙαƀѹܩŒЍ˂ֽ׭ऑҋۃա୭ʑأϽࣝɭ҂ϴǭ͞ږ֠ѹѲܷ̓ॉ׏ԫթ࠙¡ѓϻѸ֩یƏ„ϕڔʕस׶ݚ͝լuƌѱஓɻϻҏࠇућיࣜҥͦࠝԞޓ֮٥_دՅɯȪ҃ӶʻŻۃɇڗҷ÷ؗࣧڹિޭোିޡୟۻृĩԣύ̃˘Ӈй୭сࢵŹ˻ࢱҭ·ə؎Ȧ͘ૻːЇƍࡍɔЏ΀ƄӜޏƶЙܑ̀҃ࠇīڡJ҉ȳѥūŶ॥҃x÷Ȣ}Ύ؝ʓεƸر͂ʔۤՏǎȧޜࢱƓĴাߔۮ”ۚ{٠νȨ˭ӶӭÙࣟŲ˴ΜϿԺ׳Ν۵ȸॷ՗އسڳĿοɦѹr׷Țґɇ֋رëڌԟǭওĈोȖڿτٵǔ˯ЖҽŦࡓոکʴΑȩଢ଼טࠛՒɽऐ׾ő‚іͭјĐۆࣙঠ൧ͼʝ٦ةϼƫʌųӎˆ͜ԛȔ˟ďɇިʈȔśȠߤЈ׈ǐࢸő͆՜ંIJͮ̚೜ҔŠȐãӐּɔݱฦဘͲјȈ؆ຒဠˡҲϞ¢ࡆۦĀٖ֔͢èɚו۸ѽப̿׆ڱ͕ঙ̢ηূƝଆŝ৪ԻԲġϤޟӲӿऒnჄȉ૤Ŝࠦůఔԛ৮BόʽঐҌബ̈ాŒঘ̒׾҈ך˰Ƌˤˍ͔ѴըӀùࡺǝ࠸Ѿ౲͚؞֊נʆ௠ŐڐĥĠ̘ݿזګː٥̳ࠣžӇŃɏΆר࠾Цو৚̓ஆՎQτݸࢾҲːWҪңȦۜмਰƲ૜vసʡ݈̱԰ࡏ̀α̊ԩ̶ࠕ"]],
  17613. encodeOffsets: [[[124701, 24980], [112988, 19127]], [[130722, 50955]]]
  17614. }
  17615. }, {
  17616. type: "Feature",
  17617. id: "CIV",
  17618. properties: {name: "Ivory Coast"},
  17619. geometry: {
  17620. type: "Polygon",
  17621. coordinates: ["@@ϣUוǒ՟Wহƥ׍ʍ̯ࠫNjvÞۖĄŀ}ͨΣΚˉÈʕɲǾώčО ʔƄB¸ξÝnjĄŜ̸ĶȹڨȗΎæ˸ǘÞŊúɸųٮOƸʖƢgʎĦžΫȞłΌŰϚǽƦ˥Ϙǯ̎ɄϾŒֺɏɠ஡Ο۷ɕेθܣ›ͧ"],
  17622. encodeOffsets: [[-2924, 5115]]
  17623. }
  17624. }, {
  17625. type: "Feature",
  17626. id: "CMR",
  17627. properties: {name: "Cameroon"},
  17628. geometry: {
  17629. type: "Polygon",
  17630. coordinates: ["@@Ľ°ӻŇԝŒЋÅ൅nŬڒ͟֊ϧƚǟϖɋŦXɶɎתЎ߸ʒRԄӮ͈bҾΉ־˲ĀΔȌͺžь҆ΊǞךDzȊŢѨɜ՚۾ٲ¬˨ĠƲͫͰ‚ˌʂ¶ͮ՟Ê֏‹֏ҜޅҷTʁÏϥČǻЅӸөμƛŠΏˆ׃ſɩх࡛ȫƳÝٳČΝåʡЈѭð̴̟џϨ˓œϥĘʏÓґڛȤڷɜ੗"],
  17631. encodeOffsets: [[13390, 2322]]
  17632. }
  17633. }, {
  17634. type: "Feature",
  17635. id: "COD",
  17636. properties: {name: "Democratic Republic of the Congo"},
  17637. geometry: {
  17638. type: "Polygon",
  17639. coordinates: ["@@»ঙͶŕˑ̗͓ɟ͍ѫǯϷ±ګț͍Oهʍɹ‹ԃŗÝýҟɄϡÂ৥ưޝċѧǘӣӤҹҒ੕ͥĒ૿ƙɣĵʇՙȊχƫষĻࡇɨƫט͝ɲƴìٟࣟR·Ҧ̳ΨٟŠȋѰԣ˅ڧŞ˫ϢՕüϽqµʾ́rϥºԳųιtȻû®ৄ˩̸ÕԬŬԒǝ͖eՊ৳Qò̢ѕG­ƣԵɁӧűȿҫŠˣş։å͏Ѱȗ˖ʋԌȷض៛\\̍ķʑh΋œşʼɊʀμƎɎ̪ǰɚđ˼͐ҜSÄʃ̼ƩӶՄӨШɆːƒ۔θࠆϬўքМĪˌt̰Ǝ̆«ӊŀݖǐԾʦ҈¸Ԕúה͜ѐҊ˔۔˷՘ؚ̳ĉظǏʦԖŘÞϦčनоͨDZ˖~ŴȲ̺ðلėբoˤĚԘۙϘķɤƖϲÅҶDzȦΫ݊֏"],
  17640. encodeOffsets: [[31574, 3594]]
  17641. }
  17642. }, {
  17643. type: "Feature",
  17644. id: "COG",
  17645. properties: {name: "Republic of the Congo"},
  17646. geometry: {
  17647. type: "Polygon",
  17648. coordinates: ["@@̿˾ʩƗͻγۏࢸٖҪ̓֌˾ɂ֦ĺäό҆Зݐ•ʴЈł֒ĝڀЉӺζ঄ȽǘسçɻѢÔξ੘ڸɛڜȣÔҒѰ޲ԆѼ֪Ɨդ±·ԓʥ҇ǏԽĿݕ¬Ӊƍ̅s̯ĩˋփЛϫѝηࠅ„ۓɅˏӧЧӵՃ̻ƪÃʄқT˻͏əĒ"],
  17649. encodeOffsets: [[13308, -4895]]
  17650. }
  17651. }, {
  17652. type: "Feature",
  17653. id: "COL",
  17654. properties: {name: "Colombia"},
  17655. geometry: {
  17656. type: "Polygon",
  17657. coordinates: ["@@ΫȤЭ˨ʅƅ܉Ŝȱΰƽ_࠿Ӓŕʺ̼ڛтȢ̦иÊΞՆ͐Ѵ̳ȦDŽӦȏސǸɚƃ܄ͻ҄ņТ˔ÑǂʠțӶĺŬѢـהΌĚT˦ƺ܂ӖϸՊfäǪڂéڌъ͞ȊОК̖»ɚɛǍ˱գƕɇп͗ʋʓ̷Ĺ׵ɷӭѢÇņϭȄȁâ͹ij̵ˆǫȸéȨ̉ઊĄӦŃעܡͼĚ؂­ӐĪ̔ƟƱҍȇ˯ß׻ǜ֑ʆʟ†ȉэл̨ȃɠ̋ʰ࠹ǁĻǏӸɷˊ˥́࿕lZԿӰē…͏ǙĔҿƑK؏ώ̫ƀӓoηϙᘯп҂ʣpժࡤٟϾԍị̈ƤҧɝصŀӵࢤϳɐˍІ֑Њɡā"],
  17658. encodeOffsets: [[-77182, -155]]
  17659. }
  17660. }, {
  17661. type: "Feature",
  17662. id: "CRI",
  17663. properties: {name: "Costa Rica"},
  17664. geometry: {
  17665. type: "Polygon",
  17666. coordinates: ["@@җȆǟǮĬƤ‰ȄɷȪͥǔ́ņÅʖəƮÄʑǗȩȓɸˑĊŗǞLʮŎˆʁŠȖnjŴňֆɝȖŊˊéƔǥʜÇȪDzɈҙ͖ͷЂΩ͗õLͷǪűűıƱëǟ©Ǖ"],
  17667. encodeOffsets: [[-84956, 8423]]
  17668. }
  17669. }, {
  17670. type: "Feature",
  17671. id: "CUB",
  17672. properties: {name: "Cuba"},
  17673. geometry: {
  17674. type: "Polygon",
  17675. coordinates: ["@@ܨÑڊW߄˹̭ͮ޺Ĩ̔ȡ܈ԳԺϛˢ\\ԆǟÕʁئ“ٌ΅ıȟ֑Ń֡¥׃âளą֜Ҷ΁ɔէÈ̃ʐȥӎӃ޵ɦʥǬભž̋ǐ̀ɀࠗ¨׿ѧΏ[ťȳеğΫĂѺʸǼ̤ϞȈіǎَĄȰĢ"],
  17676. encodeOffsets: [[-84242, 23746]]
  17677. }
  17678. }, {
  17679. type: "Feature",
  17680. id: "-99",
  17681. properties: {name: "Northern Cyprus"},
  17682. geometry: {
  17683. type: "Polygon",
  17684. coordinates: ["@@ÐJŨȮ؄Yކʢ֧ΧÔƿęˆLJÙűj¥iĎѾNjVɫïƿ¬"],
  17685. encodeOffsets: [[33518, 35984]]
  17686. }
  17687. }, {
  17688. type: "Feature",
  17689. id: "CYP",
  17690. properties: {name: "Cyprus"},
  17691. geometry: {
  17692. type: "Polygon",
  17693. coordinates: ["@@€ãࡱͿЩŊȟͶЎŒǀ«ɬðnjUÒ½j覎ŲiLjÚ̇"],
  17694. encodeOffsets: [[34789, 35900]]
  17695. }
  17696. }, {
  17697. type: "Feature",
  17698. id: "CZE",
  17699. properties: {name: "Czech Republic"},
  17700. geometry: {
  17701. type: "Polygon",
  17702. coordinates: ["@@ϯǂЁ©ٵʲ̏Ùҿ΅ر˔ӃΰѕȬėΠƧʠؒǾ̸Ⱦ׾ǎɂdžɜīϒĖЊ˓ؼñ¿ɳҘǧŲɒּĥĄʿز»ϮЯʡCŽƯȕ—ÅȑLJ¡wý˹ēϋbšȁ"],
  17703. encodeOffsets: [[17368, 49764]]
  17704. }
  17705. }, {
  17706. type: "Feature",
  17707. id: "DEU",
  17708. properties: {name: "Germany"},
  17709. geometry: {
  17710. type: "Polygon",
  17711. coordinates: ["@@d͗ࡔțS̗ࡢǂҾɰॊͧІˋȞёɹɣ̨̙Ⱥ҅ß́Έ՛ϑĕɛĬɁDž׽Ǎ̷ȽؑǽƨʟĘΟіȫӄί̑ϯ̟ŃŢշýƛʿǤЕ~׷ƭݍ–ţɛыɺʩ±࣑ʲǥǻ܍Nń״ьֺ௅ƸЇɘ´ςǗȐĨ֨ƗࢢԎ@Ɉ͂Ⱦޔƿ˴ǐDz۰°Ƽȃ֮вȓ̀ӈٌōՠŸ"],
  17712. encodeOffsets: [[10161, 56303]]
  17713. }
  17714. }, {
  17715. type: "Feature",
  17716. id: "DJI",
  17717. properties: {name: "Djibouti"},
  17718. geometry: {
  17719. type: "Polygon",
  17720. coordinates: ["@@ȤʹΑӏȩήɯ̱҇ȅƬȭÏҷb_ʮßɶ˴Ѐ̐ϊήñʪȴ"],
  17721. encodeOffsets: [[44116, 13005]]
  17722. }
  17723. }, {
  17724. type: "Feature",
  17725. id: "DNK",
  17726. properties: {name: "Denmark"},
  17727. geometry: {
  17728. type: "MultiPolygon",
  17729. coordinates: [["@@ԋڹ࢟ӄŝΒ௼˨ˎу"], ["@@ȵ̓ʡĞ؁؁ɮХ՟ŷًŎͽҲ}࡬Ɣɪʌʦ݌À̐ɴڮʂƒѝʟ˙ĶɽҘŵ"]],
  17730. encodeOffsets: [[[12995, 56945]], [[11175, 57814]]]
  17731. }
  17732. }, {
  17733. type: "Feature",
  17734. id: "DOM",
  17735. properties: {name: "Dominican Republic"},
  17736. geometry: {
  17737. type: "Polygon",
  17738. coordinates: ["@@ŀƞپIӾɏɜtƴ̕Ҡhʡϐ‰Ю̷̯ͿЍǼϫ•ˡ¢ƱƵ͑½ŷȲˣťͳֻɏƆ§ʎjɬɍʦȲƚÞ͒óҜ"],
  17739. encodeOffsets: [[-73433, 20188]]
  17740. }
  17741. }, {
  17742. type: "Feature",
  17743. id: "DZA",
  17744. properties: {name: "Algeria"},
  17745. geometry: {
  17746. type: "Polygon",
  17747. coordinates: ["@@ᮩཽᝩ࿷இϑटćU՘ϵƌԹʊȧЀᬻᆴᬻᆴṕᎠfnj@ÊQ঺ബب࠼Ÿێɦ͎тচͪ˜جӢòϞ̶સƚƸ͜ɛDz̃ࢲ¹Ԟ́ՠ߰ҠࣦƢՌΎ߶ʰ෎Ƭർæшůߊͨ࣌P΀ȝֺ¾ǟћƄߟȡۙԭҵôمۊԃRȯԮ͹Ϊຝ˖ݏ°ϵƧۇÔϥŃҟòՇͫΗӺؓŽέ̘ҵϼƸڒϷςՃ"],
  17748. encodeOffsets: [[12288, 24035]]
  17749. }
  17750. }, {
  17751. type: "Feature",
  17752. id: "ECU",
  17753. properties: {name: "Ecuador"},
  17754. geometry: {
  17755. type: "Polygon",
  17756. coordinates: ["@@҂غǻξ͍ϵԉςǞʀƙބ̎ŴƺԼ͆զÍ΄ҢǸ׀Ͱࡀӑƾ`Ȳί܊śʆƆЮ˧άȣŞٓʽճࣷ࢟য়ͧԥܵǃ֣Ӆ΋ΙъͻĞ΍áw̮ʈȨıΔ"],
  17757. encodeOffsets: [[-82229, -3486]]
  17758. }
  17759. }, {
  17760. type: "Feature",
  17761. id: "EGY",
  17762. properties: {name: "Egypt"},
  17763. geometry: {
  17764. type: "Polygon",
  17765. coordinates: ["@@ɽͷǹىɫѩȝƥ˩˔ϛϒ׵ஸđùΐࢯԪࡋٌವ̴ҙ˒ӃݮछǗƣ‚ճ঒ݭƨǣΏ@Ὁ@⁩@@ᶶ@Ჴʥڲɐ԰Żά̤Ж૦b߲ɝ࠲ʛϴſ٨ˊΌʊݎêװŃɮеȜ˜ڨȣټ³аɄւ෽"],
  17766. encodeOffsets: [[35761, 30210]]
  17767. }
  17768. }, {
  17769. type: "Feature",
  17770. id: "ERI",
  17771. properties: {name: "Eritrea"},
  17772. geometry: {
  17773. type: "Polygon",
  17774. coordinates: ["@@˻˖ΉӰϋ˒ɏܷ̄ͶֻXȭǬӯȡԛϢʽط঑ǬęʹβఀĊ֒ˆʴؤƐьӒӦঃɴޗҢУବߏҲӍҖӝˀ˿аʧʩȳέò"],
  17775. encodeOffsets: [[43368, 12844]]
  17776. }
  17777. }, {
  17778. type: "Feature",
  17779. id: "ESP",
  17780. properties: {name: "Spain"},
  17781. geometry: {
  17782. type: "Polygon",
  17783. coordinates: ["@@¦״΃θஒ؆ਊƱ૾NࣂƝۦªമƒͰ͛໺ϡ̨ǺीϝআŊ®ӥߓ֓ઁǯõ˱ԩү͕ہ͞ӑӟϑǹճىǗש٥੧_ߟhՃ͍̓ͅЩê̵˴ʃӚ޷žé˦̶̀Śɬ̃ʢɶրͳԌδè’ЈƎŬZپϲɪɻфөˆƝŁӹCɁЬ΃ū̥ɇ"],
  17784. encodeOffsets: [[-9251, 42886]]
  17785. }
  17786. }, {
  17787. type: "Feature",
  17788. id: "EST",
  17789. properties: {name: "Estonia"},
  17790. geometry: {
  17791. type: "Polygon",
  17792. coordinates: ["@@ĮӸ̱ŁՓ̘ñӘਫ਼ɼ੔Ũ࣮Ƒࢂ|Ŵƣׯӝʞ޵ΫˉۙDܡ̸ρļ܏Ʃ"],
  17793. encodeOffsets: [[24897, 59181]]
  17794. }
  17795. }, {
  17796. type: "Feature",
  17797. id: "ETH",
  17798. properties: {name: "Ethiopia"},
  17799. geometry: {
  17800. type: "Polygon",
  17801. coordinates: ["@@ԜϡӰȢȮǫּWܸ͵ɐ̃όˑΊӯ˼˕̏ω˳Ͽàɵ`ʭҸaȮÐȆƫǽ̴̕ҧ̴Й̛͎ᩨঽۺNᛛᡃફ™ݟףաeɯ˅ַB͹˴ލΙʝΓ֕àȃĬȟwˇT੟܌ב@˹ˢ@ҾѧƘӻࣴϥȚƧʹэЦԧÒ˸ӐҀrŲʰ[ݲʞࢠЊɾĎ΄ήٜԔи΀ࠠƆܠ঒ǫʾظ"],
  17802. encodeOffsets: [[38816, 15319]]
  17803. }
  17804. }, {
  17805. type: "Feature",
  17806. id: "FIN",
  17807. properties: {name: "Finland"},
  17808. geometry: {
  17809. type: "Polygon",
  17810. coordinates: ["@@ūיಀ֓ޡى঎ख़֡ܛݴس΅յఘֻ́ѓޭӟᅡੵໃá๑̯ൃǯӡҞ߿ˠȈࠢСݶАӪނՆ኎࣮֖Ǭē΢ୟЈ˳͜uಒ಻ֲ૩ЪԊɞतѻલ¦ࣘȭߠϊЬ؞ಬ˶઄ͯΡכ"],
  17811. encodeOffsets: [[29279, 70723]]
  17812. }
  17813. }, {
  17814. type: "Feature",
  17815. id: "FJI",
  17816. properties: {name: "Fiji"},
  17817. geometry: {
  17818. type: "MultiPolygon",
  17819. coordinates: [["@@̂ʍƓѭԳŗҩļąτ͖̀ϤĻȼƐ"], ["@@՛ǯŅ̼оǤˊ°Ӱˀ@ЧՕȷ"], ["@@é­@ШǨžĽЗ"]],
  17820. encodeOffsets: [[[182655, -17756]], [[183669, -17204]], [[-184235, -16897]]]
  17821. }
  17822. }, {
  17823. type: "Feature",
  17824. id: "FLK",
  17825. properties: {name: "Falkland Islands"},
  17826. geometry: {type: "Polygon", coordinates: ["@@৘Ԍ܎ȿԌʹڦϙʥ̋ଋʥϙ̌܋ϙпϚ"], encodeOffsets: [[-62668, -53094]]}
  17827. }, {
  17828. type: "Feature",
  17829. id: "FRA",
  17830. properties: {name: "France"},
  17831. geometry: {
  17832. type: "MultiPolygon",
  17833. coordinates: [["@@ˣ٭ϡǠș֢ǜ̺ը͎Ɯܛ"], ["@@הЅќà݀ϥȊñʎjЈɗெƷыֹŃ׳ɱƝϣü‚ɇؙҽ]ϟВƀ˾ρ“ʁʚ̿̅ʯɐٱҖŃĩηݿӅစɬ௧˗ĩԑঅʼnिϞ̧ǹ໹Ϣͯ͜ѢԎdžူࢁࢤإю౹͒čؖઠǾථɏˇॎߌέዠپʨێܾǞŪ̑ϸ_ϸ͵"]],
  17834. encodeOffsets: [[[9790, 43165]], [[3675, 51589]]]
  17835. }
  17836. }, {
  17837. type: "Feature",
  17838. id: "GAB",
  17839. properties: {name: "Gabon"},
  17840. geometry: {
  17841. type: "Polygon",
  17842. coordinates: ["@@ࡹࡔ։ۚԙࢄ‚˨ǾˎȲؔǜخ˴¶௢SOৠЌÆԞőӼňľ¯ÓνɼѡشèȾǗεঃЊӹĞٿŁ֑ʳЇݏ–҅Иãϋ֥Ĺ˽Ɂ̈́֋ٕҩ"],
  17843. encodeOffsets: [[11361, -4074]]
  17844. }
  17845. }, {
  17846. type: "Feature",
  17847. id: "GBR",
  17848. properties: {name: "United Kingdom"},
  17849. geometry: {
  17850. type: "MultiPolygon",
  17851. coordinates: [["@@҉ֽًǦԱ[ǦҊǥ҈۴–ࣔԳ"], ["@@࣋ࣧࡦŘऄIɕۅݯݩࢄÃäĕݠ঱ֺƇԬढ़ʈͧৰDžķ՝ѓʗͲѣݱѯ૳Rෝɱϻǒ։ϿޥĪם͍ҁǘ௼ࢨݪǺOBಽƔʃͰ࢜ʺҡҐdžռఢ÷D@ŮӤ֛Ԯ_\\৵ƨȧɬ̨ϒˡɴҍЇ·߶щє̨ࢆٶھڤá০ì"]],
  17852. encodeOffsets: [[[-5797, 55864]], [[-3077, 60043]]]
  17853. }
  17854. }, {
  17855. type: "Feature",
  17856. id: "GEO",
  17857. properties: {name: "Georgia"},
  17858. geometry: {
  17859. type: "Polygon",
  17860. coordinates: ["@@Ųάȿִӟ̲ҭĬ̯ʴĺIJ܄ƝఆƋଦЕƦƻԚƂ޶ǭʴ·Նșɓřвғŗıҏºصʎȵƍଢ଼ſ߳Юࣅ¡"],
  17861. encodeOffsets: [[42552, 42533]]
  17862. }
  17863. }, {
  17864. type: "Feature",
  17865. id: "GHA",
  17866. properties: {name: "Ghana"},
  17867. geometry: {
  17868. type: "Polygon",
  17869. coordinates: ["@@೉ӯҳ˽ݳʑݡʆœͨηܤɖैΠ۸ɟ஢ŗنrӊฤ¢ϊÕ˔ƊϴáÕʿΖџC؍Ąڍɂ̫ȅݳäйɢՓȈ̍"],
  17870. encodeOffsets: [[1086, 6072]]
  17871. }
  17872. }, {
  17873. type: "Feature",
  17874. id: "GIN",
  17875. properties: {name: "Guinea"},
  17876. geometry: {
  17877. type: "Polygon",
  17878. coordinates: ["@@ʃtǡͷʁJǏǴÈͶΗԨɕħǵmɳ³V̮Ƈɘ‚ʔǻΜɹ̜ڥDțǁɵoƝǷīɹ҅σρӼ͛͢ɋŊȿǖħϊūȂʓƐώЦʮeɖƘȄDƄŎï˨ĢĖd˶МU؀ȱȄlÚĤҜáŨ´¶̭ƆBɖŒƔƒɸɇάãɲǺ˖ŒȬŠǚuȈȁĴɳΆΙǣɏ˙ǴĊŀį«ʡʲʍǗÝå˷Ș΍Ⱥڧ̷ĵăśÞNj·νƃA"],
  17879. encodeOffsets: [[-8641, 7871]]
  17880. }
  17881. }, {
  17882. type: "Feature",
  17883. id: "GMB",
  17884. properties: {name: "Gambia"},
  17885. geometry: {
  17886. type: "Polygon",
  17887. coordinates: ["@@ņόࣶzȎȦˊ`ͨȷʼIˢƚǞʏεȋιdέǰ̷ȗƭQȫŝއl"],
  17888. encodeOffsets: [[-17245, 13468]]
  17889. }
  17890. }, {
  17891. type: "Feature",
  17892. id: "GNB",
  17893. properties: {name: "Guinea Bissau"},
  17894. geometry: {
  17895. type: "Polygon",
  17896. coordinates: ["@@҅ΘΝÈȕʀLŸʯǴÁǶѼƌ˦ɦĨ༈•c˵ġĕð˧ƃōȃCɕƗʭfύХ"],
  17897. encodeOffsets: [[-15493, 11306]]
  17898. }
  17899. }, {
  17900. type: "Feature",
  17901. id: "GNQ",
  17902. properties: {name: "Equatorial Guinea"},
  17903. geometry: {type: "Polygon", coordinates: ["@@ƿŴ़̀െmPয়௡T˳µ"], encodeOffsets: [[9721, 1035]]}
  17904. }, {
  17905. type: "Feature",
  17906. id: "GRC",
  17907. properties: {name: "Greece"},
  17908. geometry: {
  17909. type: "MultiPolygon",
  17910. coordinates: [["@@Ҡ˱ٺ¶شÑqƣҜĶĿʛ௃íTƒਁǎƺΦ"], ["@@ʹՁȥĥԟ|ѫĀৱɓ׌ҿяƋҳAѻўƿȁȊԅрЁ̓ǿҴϯжʑ^ӅޥɠʜѕՓĕ͈ݏ֏Yۍμ̿ڦƧ֒͝ϮљӐÉʆϸТ¼˚˘Ũjɚռö͌ȀҖgƒƦdž„ت{ڨɲע̉ކĀVмЦɝ"]],
  17911. encodeOffsets: [[[24269, 36562]], [[27243, 42560]]]
  17912. }
  17913. }, {
  17914. type: "Feature",
  17915. id: "GRL",
  17916. properties: {name: "Greenland"},
  17917. geometry: {
  17918. type: "Polygon",
  17919. coordinates: ["@@ᬜԆ᱒›ੴ̴ᲈĄ䀦Ŀ㉊ڗ༅͕ộ™⭏ćшƫᲐĠᡚ́࿈ʴۦ̝इӧᒞ̺✘͚ᠼNjҾΫ⃝ױӃȕ᧑ơወ¡ছؕگկ€ध৚շಽ“൧ˇ༂ѽȢ܋࣍ýઞܡህÑঈ΁˟̑இŽ୥E੆֩\\Ϗပΐћɣଌȿ઼ԣ͈ڱກlj٫͖ਣӘ˼֭উѵᕖ•୆¯ᖯܵᗿڏឧ́ओIࢅ͓ୟࢱᅵכׅ“૧ȷ஽ȝܛԱ[כыտോڧͺٿϗ۝љࠍஅ½఍ۈဿLࠁҢ֕ࠐฝਲэոŗݮ୓ޢ̢ئ֗̒ࠪচొ̺ͨΘǬڀॡ̕қůݯţਏ˜Éְ͢҂ެ\\႔ɟ෿Քݩ˾࠷ş۫ȼम޴ԝ̺ڗ׈ৡࢼ੯͚XΚᖷӮᄻÖᖟ‘Ꮕ×ইˌวՈᕂ˄ၚ¬≹ɖ቉΄Ś͜ẊИᶎИ̪͘ᗗ̠ܺͰ᯲ז௢ĚΓϘጲɜᣚƂᣖRࣺʽᕺҨፘ̽୺áპ˙ፅҐŘή"],
  17920. encodeOffsets: [[-47886, 84612]]
  17921. }
  17922. }, {
  17923. type: "Feature",
  17924. id: "GTM",
  17925. properties: {name: "Guatemala"},
  17926. geometry: {
  17927. type: "Polygon",
  17928. coordinates: ["@@ћƦԻfϩǖҍΌrʖĮȠšƾКۆ઄Ft˸Ƌ¾ġǺ̵Ț̹ˬϜDBӂ޸BަUOڗßॅʤ@˚ƱòŰʘŃϥ͍ЉɻÏljâǑǧɇȟ½¬ıƿġ˽Ƀ}ŭ"],
  17929. encodeOffsets: [[-92257, 14065]]
  17930. }
  17931. }, {
  17932. type: "Feature",
  17933. id: "GUF",
  17934. properties: {name: "French Guiana"},
  17935. geometry: {
  17936. type: "Polygon",
  17937. coordinates: ["@@͉͑ГÑŗʀȉ–ʹɩνǦɈΪòϤƢή͛ӸáֺѪܠ˸ğؤȥࢸۿƔ·ӻޑʳأ"],
  17938. encodeOffsets: [[-53817, 2565]]
  17939. }
  17940. }, {
  17941. type: "Feature",
  17942. id: "GUY",
  17943. properties: {name: "Guyana"},
  17944. geometry: {
  17945. type: "Polygon",
  17946. coordinates: ["@@ր̯Դյzџ̈́o҈Чͪ̇Ƈݱԛɕ°ȣƹџϊ؏ːAŎӃԢܳȱ‰ҫî˙ɡϟƥ˅—ġǑЭ¦ԫЀÓϴɋьƆܐɸ̐ȕϸ˿ŶŊτțȘѩ™ْ֩ɬɲiϲԬƊȾƾ˽̸ô̬ږӲ"],
  17947. encodeOffsets: [[-61192, 8568]]
  17948. }
  17949. }, {
  17950. type: "Feature",
  17951. id: "HND",
  17952. properties: {name: "Honduras"},
  17953. geometry: {
  17954. type: "Polygon",
  17955. coordinates: ["@@ơˀʭòÐʹŗĞǣÒσij‹ŔʩƈǷǚʛìǨɈáǒÐNJЊɼϦ͎ĔȂƨʊ\\þ垦ϸùϲv˒ĢİĦˎ©ȪÉɘnǖòϨśƄkʲƿʐį̏Źɜɳ˽jśŕ̇ŋɃAȅŃǙœƛźĕ{ŇȩăRaǥ̉ɳƹıđĽʛǞǹɣǫPȟqlЭūQĿȓʽ“"],
  17956. encodeOffsets: [[-89412, 13297]]
  17957. }
  17958. }, {
  17959. type: "Feature",
  17960. id: "HRV",
  17961. properties: {name: "Croatia"},
  17962. geometry: {
  17963. type: "Polygon",
  17964. coordinates: ["@@Ȳ͗ˊʇ͓̓ϝȆׇ[ܟƔϽmǻǧ̝ȖǫΑЪϽǼʹϮ̽͌ȃ͆Ηݔ͇ġƛ߃̶ӣ̢ޑʠ۹ؤǞØϥΞe˲եƄʱγʝˮn̆Šbג…Ƹƚ˸ƍͤgGɼ̈ĒĈͺڞɠˊĻؼέۜlj̼Ų"],
  17965. encodeOffsets: [[19282, 47011]]
  17966. }
  17967. }, {
  17968. type: "Feature",
  17969. id: "HTI",
  17970. properties: {name: "Haiti"},
  17971. geometry: {
  17972. type: "Polygon",
  17973. coordinates: ["@@Ԣ™ܰƁôқÝ͑ȱƙɎʥiɫ֏ƜЅÍԡÔϽƿ҉ʾö˔ޜśيã̢ȈϧθP͎ՋžȌɶ"],
  17974. encodeOffsets: [[-74946, 20394]]
  17975. }
  17976. }, {
  17977. type: "Feature",
  17978. id: "HUN",
  17979. properties: {name: "Hungary"},
  17980. geometry: {
  17981. type: "Polygon",
  17982. coordinates: ["@@˨ըǍǼӂDÜ΄ђɋ̲ğ۸ļäǚͮ~ЦžĜÃЂŀȠȢˠ¼࣒ʭǴĒҲɭÎɣԡǭЉ֫ԕ֭کǁԽš١ə̻űۛNJػήˉļǍ˴ƗV"],
  17983. encodeOffsets: [[16592, 47977]]
  17984. }
  17985. }, {
  17986. type: "Feature",
  17987. id: "IDN",
  17988. properties: {name: "Indonesia"},
  17989. geometry: {
  17990. type: "MultiPolygon",
  17991. coordinates: [["@@Λe૝ך޴ǒѴʭ̎ʭ»ɩ"], ["@@ܙȁijĶø˸ΰԢࠨͬĐǓfʫշع"], ["@@̢ɣԲèȼΥॿǛ׉őҍP̀ӚҤPɤ̖"], ["@@ūұ౅ʅૣľE̬ښǪՂʥ֔Üݬ̮"], ["@@ྔċȂΌ༘З̪կీƵਐӿय़͋ऍ͸ݻwࢍØ޻ưঅ͎؝ČΓŁ໕ΌƣΰޑØּߤ৶·ڴ͡ΒÛŘ̗"], ["@@ѝֱćنƬ̠Ǭ˴ȒʗCЏ"], ["@@̿˥ׅƸǏΰࡘ¢Ⱦˣ"], ["@@̨ٝۿΌۯìӃÅׇˆȦҦਠ”ऎʕ"], ["@@ɼയ࢈ԉ۰ࢼ८ԔݜBܘ̉خ̛ࣘLJbᩑbᩑݟې࡟ǜȷʇ੡}ΦۂՈɺɕࣲЕ۸࿃܆ۗêృަʛУ͑óȏ̮GκٛЮ̢ࣞ״gëɠ௵DͩԄݥƺΡдଈȰњ˜ഘ·Ƃ̹"], ["@@ڭ࠭كlj߱ǐඓ¥ܽŧţٍݪݛҒϠ༪˸çϯλŪιӯ͙݉ߒ੿Ƶ˿ݲॻQտ҅ʙ̐͡Мی࠙͗ȻɶŊ͖؅ӲØࠌ֕ʭîও”றՓũίʚʌޜŽ߸ΛPʻֺΎվŤښф౎ǮΎ܎ذپʛ੖śॴ–ࠨ؎Ʀȉ"], ["@@©ܽџĈŷԝΌѷɽĵ͹Ւʟ੺ǚڤ˨̨ÔҝӸóĀ΃"], ["@@सާহį˫ֵšݿַ߱u࠷͕౻ŭ̚ॕϙͫԤ׳´лːৃ̟̩Оս¯ۗĬŹૺнɺЕܘŝ݀ĮުԂ֐Ɩָ֗ӅըǠ՜ÑӪъЖôߒɽۆǶњୠ͔̈̆क़ॲ@ܰƙӍݷآߓơϭ"], ["@@छkۻ۰અۊέԚٍۄзؾٕ୴۪݅ʙܠ̳ڀݵՊѭܘمҺࢗऒóђզ‘ಢNjݔࠓٮ֫ҪΓߔࣙࡢ_ۺֹӠ۳٘ϥͳۉӖ̞̅sƜו̊ҵؠõФՏɁ਱‘ಟ"]],
  17992. encodeOffsets: [[[123613, -10485]], [[127423, -10383]], [[120730, -8289]], [[125854, -8288]], [[111231, -6940]], [[137959, -6363]], [[130304, -3542]], [[133603, -3168]], [[137363, -1179]], [[128247, 1454]], [[131777, 1160]], [[120705, 1872]], [[108358, -5992]]]
  17993. }
  17994. }, {
  17995. type: "Feature",
  17996. id: "IND",
  17997. properties: {name: "India"},
  17998. geometry: {
  17999. type: "Polygon",
  18000. coordinates: ["@@ࣚটďۅͮїѕ׽ŒɾएࠜՑ୞חՑϟ͛޻ࠀͅߊЭરһସʼnӜёٮāৠȝ۪bĪͪŋՖÞβԠǮìڋlǙކ͉Ոƀ܀Çۈ|ÐԪ΁ˎڴŀވشॸ՘۶ȷ״ΞЀԹ˳Λ࣠űÜ͇̍Ʒèԫ׷Ʋછׅ~ӓҩ۵§ХϏۗځȒࢇȏ˹ĚΣгȥѵ೰ɵEƍ՝ҡѦʸӎϖ¶ϰ܆ӝƜީ]ߝŚóאБ¤ڕζ֭̓؆ѻԿ̻ȅ̩Ԭɣƛԑ̆كžەţֱ̫Zਛǩ´ك҃ӻ௃֡ळ঩كՋ࠷ջCϭлȹݳ̝Ͻ«ʥٙǪધ®ۡΣߙI෗ѣ¡ϣٙʰˣދʃ˱֯͵ʍߑ޸ϳ୴͑ࡒ̍Јѿ߰ȻੂơՀޅ଼Α࿀ʣ੾HৰǍ޾௣ԉףĶ઱৲И̤ʝͤড܊֖֔ᇜCǗܞҽюĩ٨ջϘऒࢢঊÙ࢞ࢢՄ࡞ࠄࡈ_״ܒӠڳд֪݂̇̕Ьβ౤ȱपŰߺ۸"],
  18001. encodeOffsets: [[79706, 36346]]
  18002. }
  18003. }, {
  18004. type: "Feature",
  18005. id: "IRL",
  18006. properties: {name: "Ireland"},
  18007. geometry: {
  18008. type: "Polygon",
  18009. coordinates: ["@@ƒ׷ًݣ๯ӹ஑Ŷڼ࢚ѭࡢତڄٌϼǦ҇ǥ҉Բ\\ٌǥ"],
  18010. encodeOffsets: [[-6346, 55161]]
  18011. }
  18012. }, {
  18013. type: "Feature",
  18014. id: "IRN",
  18015. properties: {name: "Iran"},
  18016. geometry: {
  18017. type: "Polygon",
  18018. coordinates: ["@@݈njװӔ֚{τƾװýघэڤğ।ݓظ‰òۻ΁਷ɱؑκŭΫҡˠڡàՓِƙæեݿݿжѵ͸ԓߦυx݉ДƋêϯ௉ѡ̓উཌྷʪࣷȖेŊΧਐЕƪ٣ƭࡑНਇ˦ࡑ٦߳ʈ֗ߘا૪ҍƋՕ˦̻͝ҭѴS҂ˍ@Ɛ،ѝٔ਍Ң׉ߜȜپц̂ÙӬտʨխ৊ҟڨǐʼʿ६ּʈƄͅъϯ־ő̤~রئ̀Øʞʙ́гԼѱȾ¦ˈإߖǩ׎у஠ƟಾɞĄȞ"],
  18019. encodeOffsets: [[55216, 38092]]
  18020. }
  18021. }, {
  18022. type: "Feature",
  18023. id: "IRQ",
  18024. properties: {name: "Iraq"},
  18025. geometry: {
  18026. type: "Polygon",
  18027. coordinates: ["@@րʧÚӫх́țٽ׊ߛ਎ҡўٓƏ؋ˎ@TҁҮѳӿ¤֟ê؝߭༟äᛍၖఫךৡɪ͹৾ᇶ࢔͆৬āؘҢȺјԾΰž঎Ň̐ɉЖƚծ৉"],
  18028. encodeOffsets: [[46511, 36842]]
  18029. }
  18030. }, {
  18031. type: "Feature",
  18032. id: "ISL",
  18033. properties: {name: "Iceland"},
  18034. geometry: {
  18035. type: "Polygon",
  18036. coordinates: ["@@șիॊֵથٙᝓֹܣƵૉŮᚑˈࠠψᆧЪ๪ǎ—ʘᄋȜ֨նౠŰಸ֭౨Ҝ੒ʃൌ҄ආÑ"],
  18037. encodeOffsets: [[-14856, 68051]]
  18038. }
  18039. }, {
  18040. type: "Feature",
  18041. id: "ISR",
  18042. properties: {name: "Israel"},
  18043. geometry: {
  18044. type: "Polygon",
  18045. coordinates: ["@@ƥ˅̣Ŝǫ֓ɂĥɋř—ɛЄŖp͛нഉց෾ʔˢ˶ɞϼǠيŤɆzVˬCþƦɤ\\`·ŕŵhM"],
  18046. encodeOffsets: [[36578, 33495]]
  18047. }
  18048. }, {
  18049. type: "Feature",
  18050. id: "ITA",
  18051. properties: {name: "Italy"},
  18052. geometry: {
  18053. type: "MultiPolygon",
  18054. coordinates: [["@@̟ڋŲʹǭѝٝ̈́ёĞ୩ѐŞќজûࡪĠْò"], ["@@Ԍ׭ş૕ϣÂ΁˫͇ɞ‘২ȓӒҨ¥рʼ"], ["@@ரɏĝЯȬΧڝŪہ̗²зĻʇˠё߀чцۛदڱچLȲȃɽǗݪ̥ؠʩܜѫĔƿƽ̛үϼܳƐΝի؈̷ıѫΗ¹҅ܛΕÝHʲǢҊǼǶ͝ӤʱшΑŀʛδգƴεͶثÆٿϜޑմ֯ӜʿࠪйĮہˤϯŕӝϵΓÕĪθҕńɏٲ̆ʰʙ̀”ʂβǵМ¢Ҽ˶ƢƃА€ǼͺتĿψƚâΆԘšĮdžࠨƤȊ̉"]],
  18055. encodeOffsets: [[[15893, 39149]], [[9432, 42200]], [[12674, 47890]]]
  18056. }
  18057. }, {
  18058. type: "Feature",
  18059. id: "JAM",
  18060. properties: {name: "Jamaica"},
  18061. geometry: {type: "Polygon", coordinates: ["@@֢÷ҀȫƔɯןeʭƗҹƊӑ̪ĶȔΜÎȒƒ"], encodeOffsets: [[-79431, 18935]]}
  18062. }, {
  18063. type: "Feature",
  18064. id: "JOR",
  18065. properties: {name: "Jordan"},
  18066. geometry: {
  18067. type: "Polygon",
  18068. coordinates: ["@@Ʀˆपͫ࿪ࣆͺ৽Džų၅у࠸࠿ˣƛƑ˭ٙřȩ̡εʵधƆƒŨоഊo͜Ůʚ@Ԥ"],
  18069. encodeOffsets: [[36399, 33172]]
  18070. }
  18071. }, {
  18072. type: "Feature",
  18073. id: "JPN",
  18074. properties: {name: "Japan"},
  18075. geometry: {
  18076. type: "MultiPolygon",
  18077. coordinates: [["@@ņ˽ҿԕΉːљțɝӭշʈRЊҬԆӌīΊΜؠǹ"], ["@@́ڡƤсѩף੹Ѓ๏½ணॡ͔֡“غษȃষЃঝe࡞أ֗෗իΝН͜ȶݶՏʒͿ־ߐʶѲՈࡌѢ؞ָာʤ࣎ǣࢠ๺֔Б௾ࡀӌ͜ՈਈƟा΢ՎࣀƸҞୗ}ڻޥࡍbࢁ"], ["@@נǵרΤȈहఝɯ݁࠱೓ָқँण]ř࠴д٨࣌²ʖ୐ʜټন࢓٤˯"]],
  18078. encodeOffsets: [[[137870, 34969]], [[144360, 38034]], [[147365, 45235]]]
  18079. }
  18080. }, {
  18081. type: "Feature",
  18082. id: "KAZ",
  18083. properties: {name: "Kazakhstan"},
  18084. geometry: {
  18085. type: "Polygon",
  18086. coordinates: ["@@ӕƹ્דο׹̹KɱЊ੫‚ǡێХNÚࡆ৓ؘ෷ßডũߣݶۋ͆ಥ׼ƽðᓗӹᶽљ£יچ֧ɼॕǩχ˧±ȲȶΖDž̊অ˺ϛݮҩɆ…˜ࠊāŽؘ܎ƎܼűƲࠎƭԲ࠿£܍ȴঃσ޵ǭяƌĐўՙ֘دw܉֬ӞِʕǢڢऊࡺӣŀؘჄࣴಾtᇢ׉঺ͻࢼΠ೰j੺ѥʔʠ୼—ɂЊഷ׀߮Цƿɮ߮ɔ؅ֺϬ˼Ḯ̈ШȺᑆ̴ݰΒຢǹ˄ࢉ࢚Ȳઆ˹éҝ߮´ᑌߎ̭ˁ੶٭ሠᒑ҄ѰୄӛீɎҪƯКӟטNjΨΥ઎ŒѾԣٕ֓ۥÿ¡ࡅұϝဟˢ؅ຑїȇဗͱݲลֻɓäӏԭŬу̠ఝĖඃx̧ġ஥ΞӉǧŽӹ൩̂փşȉρ"],
  18087. encodeOffsets: [[72666, 43281]]
  18088. }
  18089. }, {
  18090. type: "Feature",
  18091. id: "KEN",
  18092. properties: {name: "Kenya"},
  18093. geometry: {
  18094. type: "Polygon",
  18095. coordinates: ["@@ӾۙיͱȹΕ̿Õšףˑ͹Ǐ֑ͷ˥஻ࡀËӤᵁႌƙĢSࢺʊ;а֌̨ؔσ॰įтЉ׎ԬԈ֬ֆѨƗ@ҽ˺ˡג@੠܋ˈSȠxȄī֖ßʞΔގΚͺ˳ָAܽ॑Xᵣ"],
  18096. encodeOffsets: [[41977, -878]]
  18097. }
  18098. }, {
  18099. type: "Feature",
  18100. id: "KGZ",
  18101. properties: {name: "Kyrgyzstan"},
  18102. geometry: {
  18103. type: "Polygon",
  18104. coordinates: ["@@ȊςքŠ൪́žӺӊǨ஦Ν̨Ģ඄wఞĕф̟Ԯūşȏ೛ғ̙ͭઁıͅ՛ࢷŒׇǏߣЇŜȟʇȓཟŵਡ˘࣫ÝĂӜࣴƕ̮ʸٖĉ੾؂঻ѸױȽإ͂۶ծʟĊ"],
  18105. encodeOffsets: [[72666, 43281]]
  18106. }
  18107. }, {
  18108. type: "Feature",
  18109. id: "KHM",
  18110. properties: {name: "Cambodia"},
  18111. geometry: {
  18112. type: "Polygon",
  18113. coordinates: ["@@΁Ѭыࢄȣ২ՠۨઘdž߀ťۚ͡Ϟׄݖ̱Ȝ֕Ļ৕ඳ٧τԙࢥÓܫͷ۱Ū"],
  18114. encodeOffsets: [[105982, 10888]]
  18115. }
  18116. }, {
  18117. type: "Feature",
  18118. id: "KOR",
  18119. properties: {name: "South Korea"},
  18120. geometry: {
  18121. type: "Polygon",
  18122. coordinates: ["@@ܨযȺխPॷ̓ҥݽljڥΏݳïĥҚƼـχ࢔ذƚֻܘÂúϒ‡͞Ϝצ¢ΨÈŨȮ"],
  18123. encodeOffsets: [[131431, 39539]]
  18124. }
  18125. }, {
  18126. type: "Feature",
  18127. id: "CS-KM",
  18128. properties: {name: "Kosovo"},
  18129. geometry: {
  18130. type: "Polygon",
  18131. coordinates: ["@@›ǣŃPĘ́ȩĐdzɦƾȌȪÒŜ˨ư²Ţşƾ¿ŌƅƒŸǎƻŢLĥȳijij„×ȉӹŻ"],
  18132. encodeOffsets: [[21261, 43062]]
  18133. }
  18134. }, {
  18135. type: "Feature",
  18136. id: "KWT",
  18137. properties: {name: "Kuwait"},
  18138. geometry: {type: "Polygon", coordinates: ["@@Ǭχõȓ˔هשuȽАݟĆ؞߮֠é"], encodeOffsets: [[49126, 30696]]}
  18139. }, {
  18140. type: "Feature",
  18141. id: "LAO",
  18142. properties: {name: "Laos"},
  18143. geometry: {
  18144. type: "Polygon",
  18145. coordinates: ["@@˚Ϝœ܆ڹܸ¿ٕࠦھٍÎǛ̉ӯyʣƨࢯԅoݬȸࢮ֧ž³ԎηʸǴ̲ܐնøȡ҄wŵ०ѦŬӮڏϖޅਚO͚ܹ՝ɗʉ̟৔ԉۦ঳Ռ݋َ׏ɄץƵ࠿ݕ̲ϝ׃ۙ͢"],
  18146. encodeOffsets: [[107745, 14616]]
  18147. }
  18148. }, {
  18149. type: "Feature",
  18150. id: "LBN",
  18151. properties: {name: "Lebanon"},
  18152. geometry: {type: "Polygon", coordinates: ["@@ɣ[ýƥ˫D̘ۄмעfˆϘ§Ɛͣқ̓ȷҟ"], encodeOffsets: [[36681, 34077]]}
  18153. }, {
  18154. type: "Feature",
  18155. id: "LBR",
  18156. properties: {name: "Liberia"},
  18157. geometry: {
  18158. type: "Polygon",
  18159. coordinates: ["@@ɗQࡽАޅٖ܏Ң֣ըȪː¬ʔϜҘϺϺǶnɖĨΘԧÇ͵ǐdzʂIǢ͸ʄsŸʓĎНǽύʖɱˊÇΤΙ~ͧăĿÝە"],
  18160. encodeOffsets: [[-7897, 4470]]
  18161. }
  18162. }, {
  18163. type: "Feature",
  18164. id: "LBY",
  18165. properties: {name: "Libya"},
  18166. geometry: {
  18167. type: "Polygon",
  18168. coordinates: ["@@ק̷ҿҤ೧βρՄڑϸϻƷ̗ҶήӹؔͬΘñՈńҠÓϦƨۈ¯϶˕ݐШȜðΠėΒ־͔ʶːЦʌ´٦দ́ΜðۮƓ૞ϓЀݛݮǍஆΙࣆйЦɔЖϮț٠˂Ф؄ЀׂŘ଒ǣ˺ϑ̺Iˌƛ࠴ıȲˣ̣ЕżΫɏԯʦڱ@Ჳ@ᶵ@့ॱGYΙ‧ྐ‧ྒࡓҟ"],
  18169. encodeOffsets: [[15208, 23412]]
  18170. }
  18171. }, {
  18172. type: "Feature",
  18173. id: "LKA",
  18174. properties: {name: "Sri Lanka"},
  18175. geometry: {type: "Polygon", coordinates: ["@@ų࢓ΙʇܵȓЍڜƫீϠ഼׆ұϺסО࢓"], encodeOffsets: [[83751, 7704]]}
  18176. }, {
  18177. type: "Feature",
  18178. id: "LSO",
  18179. properties: {name: "Lesotho"},
  18180. geometry: {type: "Polygon", coordinates: ["@@̆ʩʳУƛ˛ҳſƹˍ̛ċؿ٨҄ՐҖ͢ϼǠξʵ"], encodeOffsets: [[29674, -29650]]}
  18181. }, {
  18182. type: "Feature",
  18183. id: "LTU",
  18184. properties: {name: "Lithuania"},
  18185. geometry: {
  18186. type: "Polygon",
  18187. coordinates: ["@@ãɊĚɲχƄࢡƨDZ۸२ʴඬÁࠜĊŞǩ҂Ã߲СĀϓۏˏșӃ࣯̓߻NȫʶљĜ"],
  18188. encodeOffsets: [[23277, 55632]]
  18189. }
  18190. }, {
  18191. type: "Feature",
  18192. id: "LUX",
  18193. properties: {name: "Luxembourg"},
  18194. geometry: {type: "Polygon", coordinates: ["@@ǘȏ³ρʍiȉòĞҼɖŽ"], encodeOffsets: [[6189, 51332]]}
  18195. }, {
  18196. type: "Feature",
  18197. id: "LVA",
  18198. properties: {name: "Latvia"},
  18199. geometry: {
  18200. type: "Polygon",
  18201. coordinates: ["@@†نЮՆߊ˼ڜعڪhNJ٤ܐƪςĻܢ̷ۚCКȕîС˒ӷ͕ࣗԛƙ߱ТҁÄŝǪࠛĉණÂ१ʳ"],
  18202. encodeOffsets: [[21562, 57376]]
  18203. }
  18204. }, {
  18205. type: "Feature",
  18206. id: "MAR",
  18207. properties: {name: "Morocco"},
  18208. geometry: {
  18209. type: "Polygon",
  18210. coordinates: ["@@ԒΥߜÎࢊȃκU͂՟ºԝ̄ࢱɜDZƷ͛ષƙϝ̵ӡñ—ثঙ͍ͩсۍɥ࠻ŷഫاRহŷ@@@p҉Ա˓ȑϡ@̥Ŋ۹ě˛ٻʿÕЁ੕ୟ࣡ˣୋ΅ϗĵ̡ቅãaD ϶͒ɮ˞ѪÃ˶̀פҴՖ˲ƊɞӬp҂̤Բ̪֔Ւ࡬f\\ц͔ްĢڎָтɠۮۮȿਸ਼͊ܢŔѶդ֨ࡈϦخΐ֘࢈˄ԪؤI"],
  18211. encodeOffsets: [[-5318, 36614]]
  18212. }
  18213. }, {
  18214. type: "Feature",
  18215. id: "MDA",
  18216. properties: {name: "Moldova"},
  18217. geometry: {
  18218. type: "Polygon",
  18219. coordinates: ["@@ȨŮ֒ĊؤʽΊϞɥÑ˵̪ƏŨΗ̊ɇÏűƾčɝ×ӷ|ĉŜǫãÒƭɱˍƥ˽ɁĝƯϦĘΪςӝԂˉΠʹʠʯĈ"],
  18220. encodeOffsets: [[27259, 49379]]
  18221. }
  18222. }, {
  18223. type: "Feature",
  18224. id: "MDG",
  18225. properties: {name: "Madagascar"},
  18226. geometry: {
  18227. type: "Polygon",
  18228. coordinates: ["@@ɠΥȺ։Ɗঢ়ɒϽĉЗƩʙ˷ӰǁʝLjثõΥɵȗ¿܅ͧওб୅ԯཧ͑ୟϛইہȣܻΡӛɊڙ̜ɳѺÇݘ̑ڠù؂Ʈ؄ϰƢD˪Дِø՚șЈǃՌãޠ̊ҺŔՒмŒҶǤ̶Ʋτ\\ӐӎۖԮʦцŗάΦĵҪ׎fԐ˦ϔ̊ί"],
  18229. encodeOffsets: [[50733, -12769]]
  18230. }
  18231. }, {
  18232. type: "Feature",
  18233. id: "MEX",
  18234. properties: {name: "Mexico"},
  18235. geometry: {
  18236. type: "Polygon",
  18237. coordinates: ["@@͙݅ƥ؁Õ૷ąЧƤқʺЧǚٳ֎سȞӏ͢бࢾɝΐΙ݄ɾٚĎؼưՊƠՖ΂ȨӬè۸Ƣʖ֬ɚࢶȚݔ‡ԚîȬDZ…ЙҋԁȥԝƸƥűγɁٽɅɎǭcǃY̝ԓƳIJķPŭޥV޷AAӁϛC̺˫̶șĢǹƌ½s˷ઃEЙۅŢƽĭȟqʕ्ࣞџ˘ۇɖҷÓګ́чĉץɜؿDŽ޹ϬؿŠ्ϸ۱ВɃɤҹº࡯ˈΓϦࣗӊсՌȧЦ˪ĈđʈȖɔJ̄˱Ϙùͮ˭ъ݋࠴ࡋڀУԼܝ΄ƷȴŸԲѓȞӹФȽהҍæӣѸϿФ™ˀҍو̓٠^͔؇ͬ˫™ӑɴƇͿƔЕĆف̀΋خׁƒȡŸÓŎ˽Ƭ\\ǜթʮɇǴ̕Նё˨ޯʠρɸϿ²ѷКƒͶϡ̨ϑqƭΝ̱ƫJɛԞջӎ؃РїɈ„ؚŵҖЏʺֿϒŏŇɃɖԭȰӷӦÖÚΊ³̸̼ŽϜ٩׶ӱɶ̱Հ̷վϳڦͿݲॖÞ੪ĞÿǑ౔СኀףဪPژ@DΌผ@̪̕јˇԀσ˨ѭȾҥѢʩۤʥՊڒۊhפͱфֹ̄ӯӸӏȂחɾЃپʹ׮ȁ͞|"],
  18238. encodeOffsets: [[-99471, 26491]]
  18239. }
  18240. }, {
  18241. type: "Feature",
  18242. id: "MKD",
  18243. properties: {name: "Macedonia"},
  18244. geometry: {
  18245. type: "Polygon",
  18246. coordinates: ["@@ńOœǤӺżȊ˺¶ϴbтˏÒ։DžƒƑƥҕh͋ǿջõΑȴšήń˸"],
  18247. encodeOffsets: [[21085, 42860]]
  18248. }
  18249. }, {
  18250. type: "Feature",
  18251. id: "MLI",
  18252. properties: {name: "Mali"},
  18253. geometry: {
  18254. type: "Polygon",
  18255. coordinates: ["@@˰ƶƘӶˊpזɻӄǖ͖ÇŴȈ⁚^ȈךƣļЛ⋈Л⋆౾dᬼᆳᬼᆳȨϿԺʉ϶ƋV՗ठĈFካҟ֗íԭݛƃ଩ï̳̗ա՟IȿLjҥš޻ΑDžʿٳϕŗɍΙǡНŔɱȳūֻڙۡp˳ɭΣÆӥ΋ůȝŁŽάʍĥơhƷʕ٭PɷŴʼnùʱʎ¬ʢĿİdzĉ˚Ǥɐ΅ΚijɴȇȂǙvȫş˕őɱǹΫäɷɈƓ„ɕőƅAµ̮žʾí̽͘ʀǓӔԺ"],
  18256. encodeOffsets: [[-12462, 14968]]
  18257. }
  18258. }, {
  18259. type: "Feature",
  18260. id: "MMR",
  18261. properties: {name: "Myanmar"},
  18262. geometry: {
  18263. type: "Polygon",
  18264. coordinates: ["@@ӫηץ›ϥࣥΟƳО݅ՔؗΈօ̭ܵ̃ƹȪу֖ڙĪҷ_ϵ͠ދң޵Сࡷăذʴ٠˯ӼæࣸͽѤ˛৔Ʊਗ਼εۢօуॕ׳ҽöԳȠ̂ਪǫ޾څॺļ̢ӭņ׭ۆÅڰ̊ŵj׾дȦęΤȐ˺Ž࢈ڂȑϐۘ¨ЦҪ۶}Ӕજ׆׸ƱçԬ̎ƸÛ͈ӮÚˮӵξȧ|ٟ“ۙߓۭijঽࢲƔȨޛՐǍʓۣز́ζƷ؞ʔ~΍܏յdẕӓȗ"],
  18265. encodeOffsets: [[101933, 20672]]
  18266. }
  18267. }, {
  18268. type: "Feature",
  18269. id: "MNE",
  18270. properties: {name: "Montenegro"},
  18271. geometry: {
  18272. type: "Polygon",
  18273. coordinates: ["@@ÁǀηЯÊˋǫÞɽ˞εǖĢƜŬҦ˚ȜƾüɠƟŬśˠě͌ǧçïƽȋɧó"],
  18274. encodeOffsets: [[20277, 43521]]
  18275. }
  18276. }, {
  18277. type: "Feature",
  18278. id: "MNG",
  18279. properties: {name: "Mongolia"},
  18280. geometry: {
  18281. type: "Polygon",
  18282. coordinates: ["@@ࢮƢ྄ܤ౬Єܴʳ࢚]֘Ͻ࠼‰ௐɁࠈגͿӶࢊࢊश΍ނįনɍLjؿஜΛߐƺਫ਼ŌࡆōࠖЗԚѕެT੒Ƌޜȼૈƒ௸פԌĝѰ˭ৌêХهק࠽ɐ΅ӈńࠤŽ٦̴ڬˏހוğ̗ڏĦ௟ŏןʅ؝։౱͙࠷ѽࡹǞҿúѳէˎ͓ƌˣי˯׽҇গ̑ఽ‹ഫ̇এҋϋʾ৭AఓԜࠥŰૣśჃȊऑmӱԀϣޠԱĢ৩ԼଅŞুƞ̡θ͖চׅڲன̀۷Ѿəז"],
  18283. encodeOffsets: [[89858, 50481]]
  18284. }
  18285. }, {
  18286. type: "Feature",
  18287. id: "MOZ",
  18288. properties: {name: "Mozambique"},
  18289. geometry: {
  18290. type: "Polygon",
  18291. coordinates: ["@@لæ৞ʁɖńגt̚ʦԌaऀ͜ڞӤƊϕ“࠷ľ݅ಿƨЫʣ׷͙׍՗Եޏ͉ृСॉ͓ࣕƵוׯ΋ȗí׳ЌُǔӱZʣƪ¦{ࠗƋϷȤƝűΓΗ̗ۗ˳য়ҕρ̳ðΟɊÉíѵّRïϊůϖí̠ƬपɓװГஂࢬ॔ɜ؆ŶúĨӶƉʞ˜غǐ׌E੠ѥ˒ЏÔǹȼϳǰ۫gÅ̼āװᢈۘӚЕɴüͨɅ¸͵ǯϷØסոԱʲ׌ζǰíઊΙ؈̣˖̅]ɽદɾٔ"],
  18292. encodeOffsets: [[35390, -11796]]
  18293. }
  18294. }, {
  18295. type: "Feature",
  18296. id: "MRT",
  18297. properties: {name: "Mauritania"},
  18298. geometry: {
  18299. type: "Polygon",
  18300. coordinates: ["@@և־ԗؤ֍ɞГʚҵUЧǽйð˽ˏïҐɺаŀߊģࠨĵкČмɑЎѵδǾˬᾔMǃ௎ȴќ߀øᒸ᪂©F౞Ṗ᎟౽cМ⋅М⋇ƤĻȇי⁙]ųȇ͕ÈӃǕוɼˉoƗӵ˯Ƶ"],
  18301. encodeOffsets: [[-12462, 14968]]
  18302. }
  18303. }, {
  18304. type: "Feature",
  18305. id: "MWI",
  18306. properties: {name: "Malawi"},
  18307. geometry: {
  18308. type: "Polygon",
  18309. coordinates: ["@@ɽٓɾથ̆^̤˕Κ؇îઉεǯʱ׋շԲ×עǰϸ·ͶͧɆɳûәЖѵɔʮޮ˄̈LJۢǚڼƞɪɉ܌Ѕϐ࠘ƽǜɵ˶Ϲɾଡ"],
  18310. encodeOffsets: [[35390, -11796]]
  18311. }
  18312. }, {
  18313. type: "Feature",
  18314. id: "MYS",
  18315. properties: {name: "Malaysia"},
  18316. geometry: {
  18317. type: "MultiPolygon",
  18318. coordinates: [["@@àћֈĶ˞ΈȘýӸԓΜ֛¶֣ęϡĆ˿Öӻ̒ɵͤݑe˳׫Éߑخ঵ښįђӟ֚ś̡۠ҜĠؔȃΤƤƮۈρ"], ["@@أ˹ܯƚॱ@̅ॗ͓̇љୟۅǵߑɾЕóөщ՛Òէǟַӆƕ֘؜˽ٮǀǜ܆άǂ৖Ǻ׾ڔЬՐϦѥǮ˺В¸՜œа٪אшڀͼHќыžιֆɻ۬ʧÑ֝͡¥ƮЧ"]],
  18319. encodeOffsets: [[[103502, 6354]], [[121466, 4586]]]
  18320. }
  18321. }, {
  18322. type: "Feature",
  18323. id: "NAM",
  18324. properties: {name: "Namibia"},
  18325. geometry: {
  18326. type: "Polygon",
  18327. coordinates: ["@@رٌؖ͡ȃࠊȷ،˯ಒm৒ŅҞ͛Όѡۜѳ৘ǽՆۃࠐ»٢КdžԊƞհ}ԄϝŶÐ₮˜׌Е᎞ş໴΂یȒհµͨȍPéӁȍʭC՛͍ͣΎಕ̍سƒ{Ჽࠣ‡BយA᷋ݣѕҋÕՇDŽϗÔƗάͩɰГг"],
  18328. encodeOffsets: [[16738, -29262]]
  18329. }
  18330. }, {
  18331. type: "Feature",
  18332. id: "NCL",
  18333. properties: {name: "New Caledonia"},
  18334. geometry: {
  18335. type: "Polygon",
  18336. coordinates: ["@@ېԵѨϭ͉ȫҥɪ׹ϚէѼ։פś˶β[Һ˹φ˷ˎɻ"],
  18337. encodeOffsets: [[169759, -21585]]
  18338. }
  18339. }, {
  18340. type: "Feature",
  18341. id: "NER",
  18342. properties: {name: "Niger"},
  18343. geometry: {
  18344. type: "Polygon",
  18345. coordinates: ["@@nּॹȐОҿպœϤâТբ̴̘ପðݜƄîԮҠ֘Eኬஈϒᝪ࿸᮪ཾ೨αӀңר̸ȸಯ̾ɓ`ˋΔ˽ǻί͕ၻ«ધੳߋγૉΔ̵CեբmčЃʁµˋƻm֩ंȟ’ځҷٱʔҍ¸ʏşӯ~ӷΧѓq৯ѢЉȵѓb̿͆ࡅ̼ࣗıɕǻşӗʋ͹ÍݣٗӚ̟E˭ʗ"],
  18346. encodeOffsets: [[2207, 12227]]
  18347. }
  18348. }, {
  18349. type: "Feature",
  18350. id: "NGA",
  18351. properties: {name: "Nigeria"},
  18352. geometry: {
  18353. type: "Polygon",
  18354. coordinates: ["@@ࢍ̡͉¬͓ȉڥl҇Ղˡ؊שֆكYݍB¶തs՘ǂՊʶʴТԴėɨǔ͸ȍӾ˪ÎݤʌͺŠӘɖǼࣘIJࡆ̻̀ͅєaЊȶৰѡєrӸΨӰ}ʐŠҎ·ٲʓڂҸȠ‘֪ँƼnͬͯğƱ«˧۽ٱɛՙšѧDZȉǝי҅ΉŽыȋ͹ÿΓֽ˱ҽΊ͇aԃӭʑQЍ߷ɍש"],
  18355. encodeOffsets: [[8705, 4887]]
  18356. }
  18357. }, {
  18358. type: "Feature",
  18359. id: "NIC",
  18360. properties: {name: "Nicaragua"},
  18361. geometry: {
  18362. type: "Polygon",
  18363. coordinates: ["@@̃ˆϽͺȁ˲Ο˄сϜĤžƒŵÚÒʾ”ŀȔŬRkЮȠrǬOǺɤʜǝĒľƺIJ̊ɴbǦĄQňȪĖ|ƜŹǚ›ȆńɄB̈ŌŜŖ˾iïă§ȉĐ̫ȗ˹ěͷυ®ɏtϙŹĉýΫÌɛǣɋ ɩźƏȩDZʛÈƓǦˉêȕʼnօɞųŇ"],
  18364. encodeOffsets: [[-87769, 11355]]
  18365. }
  18366. }, {
  18367. type: "Feature",
  18368. id: "NLD",
  18369. properties: {name: "Netherlands"},
  18370. geometry: {
  18371. type: "Polygon",
  18372. coordinates: ["@@ۦyǀ˳Ƚޓɇ́ԍ@ƘࢡҥȞՏπީǩ؛âѠɲ݀ఆଲΘ"],
  18373. encodeOffsets: [[6220, 54795]]
  18374. }
  18375. }, {
  18376. type: "Feature",
  18377. id: "NOR",
  18378. properties: {name: "Norway"},
  18379. geometry: {
  18380. type: "MultiPolygon",
  18381. coordinates: [["@@᥆ؙઍɣऄՅෛ͵ڵû΢לઃͰಫ˵Ы؝ߟωࣗȮ઱¥णѼԉɝԷ“ūփནƊɝҵ߭Hևױ࠿झಫ஁̨˹̇ͫ࠯bձ޿¾૟՞э˥ধֻۧυӛ֝Ԫဋঁ૫ȟ୏є̛ࣚˇ኶ޞզᕠ۶ဌࢂ໤୦፺ྴඦلᘼ੊ᇎπ൪­౮ۢ໖›ພǘ"], ["@@ም΅๝Ȝ׆ɐԕˎეǚͮ̿ொȍ"], ["@@᪖صᑟͥұأ݅ǁЍۡৣᅵԢނ̘ఽʐ࿕܂ٷڄᘎ̜Ң̋஦\\͊˼௾ˆ੖̋"], ["@@࿮̏ఝҍ᝱ı៙ƖƫɴஹdँϬᣴɼ௞ȫࡘʤᑺȽ"]],
  18382. encodeOffsets: [[[28842, 72894]], [[25318, 79723]], [[18690, 81615]], [[26059, 82338]]]
  18383. }
  18384. }, {
  18385. type: "Feature",
  18386. id: "NPL",
  18387. properties: {name: "Nepal"},
  18388. geometry: {
  18389. type: "Polygon",
  18390. coordinates: ["@@ÝαŌՕĩͩ۩aয়Ȟ٭ĂӛђଷŊયҼ߉Ю߿͆͜޼ՒϠΒȪڪʳࡔշҾť˰ЕٶǓۀσौȕঔć"],
  18391. encodeOffsets: [[90236, 28546]]
  18392. }
  18393. }, {
  18394. type: "Feature",
  18395. id: "NZL",
  18396. properties: {name: "New Zealand"},
  18397. geometry: {
  18398. type: "MultiPolygon",
  18399. coordinates: [["@@Ȓ΋װ;ʐΡBΝ̹ϳչإїͷ̴З٭Yܗ̓ɣջӋࡗڇϓнʇޝlխˢࣱÐƗ̰Ҍذ੐ࠦժǀ׾͌ܜѰԎѦώظ͈ɆŰҶלϴȆΧ"], ["@@،ࢫlָϜɯŲًڰ˛֨ãӒ͎юĭȯݗʯӫٛjɡʭþαūƻͅҏзֹ٭ͯƟɘΕŨӞ۔˟ҨࣛͲz̦؈̌ƚ٨Ÿլͻ֜vƪБΎڋݔΗת̸àҚұٺɑʂݡ"]],
  18400. encodeOffsets: [[[177173, -41901]], [[178803, -37024]]]
  18401. }
  18402. }, {
  18403. type: "Feature",
  18404. id: "OMN",
  18405. properties: {name: "Oman"},
  18406. geometry: {
  18407. type: "MultiPolygon",
  18408. coordinates: [["@@ֹ̻ϟªǩȧƉэļ֗ÿĻϯFԽ̻ćХȓǯԹP͡ɃJͻПɷҩĂ֗˳ϱ³˝טٿ൴ᠾ࠾֖၂ϩתv͸ʔΐFΆϞǒƩŞèմіHϖֵҸ̧؞ŋӼƳϜӕɨ˧̞ŃCȉ̩ԃƅɽΟˏ"], ["@@ʼnƳDž˺ʔ˺ľñā΍"]],
  18409. encodeOffsets: [[[60274, 21621]], [[57745, 26518]]]
  18410. }
  18411. }, {
  18412. type: "Feature",
  18413. id: "PAK",
  18414. properties: {name: "Pakistan"},
  18415. geometry: {
  18416. type: "Polygon",
  18417. coordinates: ["@@تϻʞ٥൨ͻ߹۷ऩůౣȲЫα̖݁̈֩ڴгܑӟ`׳ࠃࡇՃ࡝࢝ࢡউÚऑࢡռϗĪ٧ҾэǘܝᇛD֓֕؛Ɇʣ؀٭٘໻ǁിeஃŝ̈́ঊொѢéϰГƌw݊ߥφͷԔеѶඨѕࡀŲԈŅǞȂגóદĈ܎ҶӈشCĠɼٞŌ̴ý͢ʀ±ԌΦԖ՘Ɇͥ֊ߜɴ̢•͒мΜĩмȣΤӬμࣘǮ८ĮѐƺӨĦ"],
  18418. encodeOffsets: [[76962, 38025]]
  18419. }
  18420. }, {
  18421. type: "Feature",
  18422. id: "PAN",
  18423. properties: {name: "Panama"},
  18424. geometry: {
  18425. type: "Polygon",
  18426. coordinates: ["@@˫ʎǵҒȺɢɅÎƿˤлɸοÁǝ̇ͻɁǽ‡ĉǩВҗɯŅŧŭϷ©ơԈŋƛˡ¸ǝ͸·ÈɓİέCǻĩŶªǖìǠƲŲIJǩŲK͸͘ö̠̝iDZͲ›ĀæɴȵЮÔΨɄԜǞ˺ʤҬ·‹ĉҶ…ώơ˜ʧ̈́ɵĹūȜӵǁʟ˓ÒŅС"],
  18427. encodeOffsets: [[-79750, 7398]]
  18428. }
  18429. }, {
  18430. type: "Feature",
  18431. id: "PER",
  18432. properties: {name: "Peru"},
  18433. geometry: {
  18434. type: "Polygon",
  18435. coordinates: ["@@ɥљћɋࡅӘñΈရࡊທࣾ٫԰ΏۜƐʎ܅ાࠣ༄ߍီ΅Ϥ˃ؤٷպױͼ˖ϒПߢʼךڢՎIJΓʇȧx̭ΎâͼĝΚщӆΌDŽ֤ԦܶৠͨࣸࢠʾմŝٔɢĂ֒ЉˎЅϴɏӶࢣضĿҨɞ̤ƣԎð٠Ͻթࡣʤoрҁݳ œųۍlj॥ֱÓϻɉ̇ČғԕʍBΡɛƵΔݳҲԝDZί֐µ͆҃ݐuېӸÇ౧ϢĩӄƠܪടǷ˵£ןg܍͟пƮ̵ȕ˯β۹Ջ࣡"],
  18436. encodeOffsets: [[-71260, -18001]]
  18437. }
  18438. }, {
  18439. type: "Feature",
  18440. id: "PHL",
  18441. properties: {name: "Philippines"},
  18442. geometry: {
  18443. type: "MultiPolygon",
  18444. coordinates: [["@@Đ֏ºҽ˹ޑ̫ࡨϽэˎإʉϿ঩Ӧɿ؊ʰЎՑЈˁΑЃثҵƑʖ͢۾ՌʀҜ̈́̔ϝٔɰƎϒרv·ٰڼЋêхÐ̱"], ["@@̟ˡˁՍ˃ʝԫ׈ǦɤɂɾĢԸҨ¸Ɖ֣جߺāߡ"], ["@@ૣߕЬט؈԰Ԏ׊Ѱ࠲Ʈۅևҧѳֿ"], ["@@Ԏʹ՘BgΗϳΣՕʧ‡ϸÒєŽА"], ["@@ʀभ٫ɞj˭ȶԯЍȋ•עʧªƁԘӶãY͈ԣٜ߮mɴ̻"], ["@@ɟܩέоѓ٘ܚ‰̡̈"], ["@@ԮʉʶɖüɇƍΑ˼׻ɛۥӷ˥ƁڳȊڝѾġϊIJਾүăҙ˜ȫēϯٻЮ̵Ѵɍ̯՗ԊރůлȆ¨ΎˀɊʣȘŇ̡бӚűμߨͺˡĔೄ˜ހԘA"]],
  18445. encodeOffsets: [[[129410, 8617]], [[126959, 10526]], [[121349, 9540]], [[124809, 12178]], [[128515, 12455]], [[124445, 13384]], [[124234, 18949]]]
  18446. }
  18447. }, {
  18448. type: "Feature",
  18449. id: "PNG",
  18450. properties: {name: "Papua New Guinea"},
  18451. geometry: {
  18452. type: "MultiPolygon",
  18453. coordinates: [["@@ɽčε͔ρՔǷ٘ŜĆĜʡʬȏРՑЈ˵ŝɽ"], ["@@ѯçƃɽҟȱћȟѽBۏʔӑɺêʺݬũҠàŶЖŦrĆѽӐÜʂ˼Ҹ̚ġӸԌfǜƏgү˯ԡ"], ["@@ݤտղࢻӖ„‘ω٬ƛʥǁࣀΝġʏ֋ÏȷɔܟĦࡕŴٷ՚ӉҦѧ݀ભπ܇ʇԡˣńإڇ˿һƖࢅ–aᩒaᩒภ׃༊ӓׄїҴхŸӵඔԱȲѽޛěȄ֕"], ["@@ʿɡǁӸȝ͘ϝ˞ӍΪ؇ʚɺȮҒɻ˸ȁΜȫʹΛ͊ˏĶѧ"]],
  18454. encodeOffsets: [[[159622, -6983]], [[155631, -5609]], [[150725, -7565]], [[156816, -4607]]]
  18455. }
  18456. }, {
  18457. type: "Feature",
  18458. id: "POL",
  18459. properties: {name: "Poland"},
  18460. geometry: {
  18461. type: "Polygon",
  18462. coordinates: ["@@·՜à̂ȹ̧҆̚ɺɤȝђָʘ಼ϴ੒˴࠼ƙÚȱ߸Yਚħ໶^њěȬʵšωɸ͋KͯԋǡʸϳfϏцܻěɽзįރۥɒϗǿ¶ߙ͔؁šЇĒӹǵч̖Ήŕ³¼ϭаر¼ăˀֻĦűɑҗǨÀɴػòЉ˔"],
  18463. encodeOffsets: [[15378, 52334]]
  18464. }
  18465. }, {
  18466. type: "Feature",
  18467. id: "PRI",
  18468. properties: {name: "Puerto Rico"},
  18469. geometry: {type: "Polygon", coordinates: ["@@јõưǕɋɃمLӫ‡·άŢŬیK"], encodeOffsets: [[-67873, 18960]]}
  18470. }, {
  18471. type: "Feature",
  18472. id: "PRK",
  18473. properties: {name: "North Korea"},
  18474. geometry: {
  18475. type: "Polygon",
  18476. coordinates: ["@@Şƥ͉ºη˵ʣ˷Ž׽ѣȅƫƧ̓ʝ֓ƏηɥηįġͰƋӈσŧȭΧÇץ¡͝ϛϑˆÁùСdžĵƿʙé‡ǀɑüɥƆɰφȤİõƶɆҒÅƎөĠЇɤۄբऒҌ־׮Ўˁܪ‹ſѺಚβͰҼժӹ"],
  18477. encodeOffsets: [[133776, 43413]]
  18478. }
  18479. }, {
  18480. type: "Feature",
  18481. id: "PRT",
  18482. properties: {name: "Portugal"},
  18483. geometry: {
  18484. type: "Polygon",
  18485. coordinates: ["@@̦Ɉ΄ŬɂЫӺDƞłӪ‡ɼуϱɩYٽƍū‘Їγçʹԋɵտ̄ʡřɫ̵̿ê˥ͷɓѷŠџġŸڂÿԬϓþȩ͈äռͰ̨ÒͼǪԎkΤǙ̠™˲"],
  18486. encodeOffsets: [[-9251, 42886]]
  18487. }
  18488. }, {
  18489. type: "Feature",
  18490. id: "PRY",
  18491. properties: {name: "Paraguay"},
  18492. geometry: {
  18493. type: "Polygon",
  18494. coordinates: ["@@ͦ৖tҌЖ݌าʔޮ]޴їbʵʞҳÇଛࢲLJ΄ǐ֦ɩǀʣþޓİ͓̼›̀ƌ̢ƳAҥŕӻǑӛƍݏށ١ړƇऻŸࡑɮࠢ౨ťψࡽ͢ਅبۉŸ໵ൌ"],
  18495. encodeOffsets: [[-64189, -22783]]
  18496. }
  18497. }, {
  18498. type: "Feature",
  18499. id: "QAT",
  18500. properties: {name: "Qatar"},
  18501. geometry: {type: "Polygon", coordinates: ["@@ÇؔɨѲɰĜʬˁdӯǽӳɵÑʫǖ"], encodeOffsets: [[52030, 25349]]}
  18502. }, {
  18503. type: "Feature",
  18504. id: "ROU",
  18505. properties: {name: "Romania"},
  18506. geometry: {
  18507. type: "Polygon",
  18508. coordinates: ["@@δǶԴġՠGϸȳ˺źبĄɄȠΠ@ʰćʺʟˊΟӞԁ€ρėΩưϥϒƹЂƊϠƟpɏПǹʯĀɻ৥ӳĖ̪ؑফțзɋ௽¬٥ƀ͙ÕʍΊƵƦȚƘȷŀ˃ȋөʔßΌԟȢĥˌҕͤڪǂԖ֮Њ֬ԢǮ"],
  18509. encodeOffsets: [[23256, 49032]]
  18510. }
  18511. }, {
  18512. type: "Feature", id: "RUS", properties: {name: "Russia"}, geometry: {
  18513. type: "MultiPolygon",
  18514. coordinates: [["@@ࡌ๫కˤԫ்ࠌࡳyוُԒսٱƻ۸Ĥࠊħ࣢Țٌš૴ӯࠜôରަϮͭϴϐŠɔ։̆ߵuࠟΎࡑ"], ["@@໵]ਙĨȒτ୊˚ࢢƧψƃęɱäɉ"], ["@@֦Ƚțؐᗸű࿨޻࠭λ൛ēsࠑͳǩ޽~ٗ̊ૣʖȉθ࡟Ǝॗʼnҗ̎Ǽ̸৓ȥϚЃӉΣ@„Ꮪٛᔺ࠳ïԷ"], ["@@ः©ƭˌੲΖ@ַ"], ["@@ળ»@ָň–܈E௒ʉïŗࡽȩ"], ["@@ౡMႣĤƧ¬ߘͪੀþஞ͏ĸə"], ["@@ॿͩഉø༛ͨȪ˖༨ųᑔɗ"], ["@@ډرᶽzඃȣမղҎ׀૎ǂᕞ™ᴬѽ"], ["@@ӹóᩣŊɟώູɦūҒ࡮Ƕ…Ҟသܒޙĺ፨݆ɩϢሤѺ᪪բ᫠ǀ෴̸࿐Ŋאͩ֟ʻᲗз᢭Џᤙߝఫࠍ೉߱Ǡۥྎۏ"], ["@@ɨгސȲឤ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ɶδߤΨጤΈ෸˗ଥȷበŹ"], ["@@ⵙ͕ໞીےĦقÃᒈӋʟͿ"], ["@@૽ōݱÛśƏঙƑ࣫ȦӐʾል~࿞ƶ౨XǢɧӘȬߊƐఞǿ͗ŷ"], ["@@ᆳĿᚉʎඅ͎٣׾଩ǔᔆָᆎȎ࿌чኬ߻ȹݯ"]],
  18515. encodeOffsets: [[[147096, 51966]], [[23277, 55632]], [[-179214, 68183]], [[184320, 72533]], [[-182982, 72595]], [[147051, 74970]], [[154350, 76887]], [[148569, 77377]], [[58917, 72418]], [[109538, 78822]], [[107598, 80187]], [[52364, 82481]], [[102339, 80775]]]
  18516. }
  18517. }, {
  18518. type: "Feature",
  18519. id: "RWA",
  18520. properties: {name: "Rwanda"},
  18521. geometry: {
  18522. type: "Polygon",
  18523. coordinates: ["@@ͬӃµӵʏŁѿÆʱӍԛàþҠŘތԄʎɺȰďԈʸ"],
  18524. encodeOffsets: [[31150, -1161]]
  18525. }
  18526. }, {
  18527. type: "Feature",
  18528. id: "ESH",
  18529. properties: {name: "Western Sahara"},
  18530. geometry: {
  18531. type: "Polygon",
  18532. coordinates: ["@@oҊŸ@@ÉeNjEౝ᪁ª‚ᒷ޿÷ȳћDŽ்ᾓNǽ˫˜΢bCቆäĶ̢ΆϘˤୌୠ࣢Ђ੖ˀÖ˜ټۺĜ̦ʼnϢ@˔ȒԲ‚"],
  18533. encodeOffsets: [[-9005, 27772]]
  18534. }
  18535. }, {
  18536. type: "Feature",
  18537. id: "SAU",
  18538. properties: {name: "Saudi Arabia"},
  18539. geometry: {
  18540. type: "Polygon",
  18541. coordinates: ["@@ʼnΪʩʨÝͲѡ̞҃۴ʁۆׇ׀ϑƐ֋ߠīא–ӾӕञϿ͠ґǨˡӖ°ȎɹѦʕȊ͝زԟڴѓ־лIžҦœ̌ļͲनƅζʶȪ̢ٚŚƒˮˤƜ࠷ࡀ၆фdžŴৢɩబיᛎၕ༠ãݠąȾЏתv͠ܥаȓƠִ̏Λ¼΍ċ˩ł˯ʎɽŐ˟ŲȵʬǕɶÒdž͍Žș࡙͐ᡌщǞDzϪש֕၁ᠽ࠽ᝑ͑޷ϙ׻ࢥϹƕɁˬ͏§߻ĎƷČॹmɫùΉɔɝЭĒΟρˋ"],
  18542. encodeOffsets: [[43807, 16741]]
  18543. }
  18544. }, {
  18545. type: "Feature",
  18546. id: "SDN",
  18547. properties: {name: "Sudan"},
  18548. geometry: {
  18549. type: "Polygon",
  18550. coordinates: ["@@śhdмĵ̀џͨĵ؄ĶبϳÌÍȇԍ©Ȭʕðԍңңл؅џđ۹Ӫͅǥđʓџǃ…ǥ࠵@řǦ؃†̡ƝɳîѝӬƟɲ؃ŗɱϵɏݣ˿ǁʳğå ̅ʎÃʼƌΔE΄ӛՀĩάZȰ̱ʜUӦǭ͖̍µĎ̰ɒΖħΐˢʴǫȞɞ԰ϨئܦÏ¥ ZΚॲH@း@Ὂ@ῼ@˔ࠗȁƳŪࡻ্̰͌ȷҠ̳ыӑأƏ˅ʳĉ֑α௿ĚͳƅܟͿࠟԓзέٛč΃Љɽʝ࢟Dij"],
  18551. encodeOffsets: [[34779, 9692]]
  18552. }
  18553. }, {
  18554. type: "Feature",
  18555. id: "SDS",
  18556. properties: {name: "South Sudan"},
  18557. geometry: {
  18558. type: "Polygon",
  18559. coordinates: ["@@Xٽűʯѿq˷ӏԨÑюХƨͳϦșӼࣳ֫օԫԇԫϭסFگȟՕȊ΋ɭ݉֐ȥάҵDZϱÆɣƕϗĸԗۚƉˊعͪɅԌΕζ֟ѬS˘ҡͼ֯͠ʴĠ̀ǂɐݤɲ϶؄ŘƠɱўӫɴí̢ƞ؄…Śǥ࠶@†ǦѠDŽĒʔ͆ǦۺөѠĒм؆ҤҤïԎȫʖԎªÎȈϴËĵاĶ؃ѠͧĶ˿cлŜg"],
  18560. encodeOffsets: [[34779, 9692]]
  18561. }
  18562. }, {
  18563. type: "Feature",
  18564. id: "SEN",
  18565. properties: {name: "Senegal"},
  18566. geometry: {
  18567. type: "Polygon",
  18568. coordinates: ["@@΍ٺн̚φDŽРמȦќ˾ːкïШǾҶVДʙ֎ɝԘأֈֽžԹǔӓ̾ɿî͗ʽŧ³қâÙģȃk׿ȲЛV༇–ɥħ˥‚ѻƋƏ٢ވkȬŞƮR̸ȘήǯκcζȌǝʐˡƙʻJͧȸˉ_ȍȥࣵy"],
  18569. encodeOffsets: [[-17114, 13922]]
  18570. }
  18571. }, {
  18572. type: "Feature",
  18573. id: "SLB",
  18574. properties: {name: "Solomon Islands"},
  18575. geometry: {
  18576. type: "MultiPolygon",
  18577. coordinates: [["@@ɾ˿חN͉ԬԈȯǜ‰"], ["@@͝mԧĎǫżÀͮֈƁ˜ǭƎə"], ["@@ųƹحܰǫԈ˺@̠ڥʹЗ"], ["@@–ǛڅΦҟ̠̿˪ŰĐϮȫېϭȢˉ"], ["@@Ǘ³οȒ·Ί¨ƖԈΡͰ˛"]],
  18578. encodeOffsets: [[[166010, -10734]], [[164713, -10109]], [[165561, -9830]], [[163713, -8537]], [[161320, -7524]]]
  18579. }
  18580. }, {
  18581. type: "Feature",
  18582. id: "SLE",
  18583. properties: {name: "Sierra Leone"},
  18584. geometry: {
  18585. type: "Polygon",
  18586. coordinates: ["@@ɧØ؁ͺѩ҈Ƨ̬Ĺت҆τĬɺƞǸɶpȜǂڦCɺ̛ǼˁʓƈɗṶɴ´ϹϹϛҗ«ʓȩˏ"],
  18587. encodeOffsets: [[-11713, 6949]]
  18588. }
  18589. }, {
  18590. type: "Feature",
  18591. id: "SLV",
  18592. properties: {name: "El Salvador"},
  18593. geometry: {
  18594. type: "Polygon",
  18595. coordinates: ["@@ġȡӡ^̡Ą΍ǘұÀʃǶ~Ů˾ɄǀĢ«IJȠ¾ʜëǸǙʪƇŒœτĴǤÑŘĝÏͳ"],
  18596. encodeOffsets: [[-89900, 13706]]
  18597. }
  18598. }, {
  18599. type: "Feature", id: "-99", properties: {name: "Somaliland"}, geometry: {
  18600. type: "Polygon", coordinates: ["@@ϛԩד۫۹Mᩧা͍̜̳К̳ҨǾ̖̲҈˚ƹǒΏϜΗкGߊɌࣴĴ݌ʼиÆ̚ƶӎˆKaE΋Aࡑ@ѫ"],
  18601. encodeOffsets: [[50113, 9679]]
  18602. }
  18603. }, {
  18604. type: "Feature",
  18605. id: "SOM",
  18606. properties: {name: "Somalia"},
  18607. geometry: {
  18608. type: "Polygon",
  18609. coordinates: ["@@ѼĎЊ˾͈FpɵýӧHѳǯ̣ʁࣥЙयԱ੷ܝ௷ܓवধ଩ࡁڹష࠯޳ٕँৱȗѷȍȣӽۚWᵤܾ॒ɰˆբfݠפબšᛜᡄה۬ϜԪ@ѬBࡒFΌLbːhϰŰ"],
  18610. encodeOffsets: [[50923, 11857]]
  18611. }
  18612. }, {
  18613. type: "Feature",
  18614. id: "SRB",
  18615. properties: {name: "Republic of Serbia"},
  18616. geometry: {
  18617. type: "Polygon",
  18618. coordinates: ["@@Ԡȡà΋Ӫʓ˄ȌȸĿșƗƶƥȷȏø̫Тγ͋ʿƗˋĞijƑšϳa˹µƒØĴĴĦȴšKǍƼƑ ŋƆƽÀšŠƯ±ś˧ȩÑèð͋Ǩ˟ĜūŜɟƠȢšŬЄЛ͔ɀτ̥Ë͔́ˉʈȱ͘٢ɚԾ™ҖͣĦˋ"],
  18619. encodeOffsets: [[21376, 46507]]
  18620. }
  18621. }, {
  18622. type: "Feature",
  18623. id: "SUR",
  18624. properties: {name: "Suriname"},
  18625. geometry: {
  18626. type: "Polygon",
  18627. coordinates: ["@@৔ǙĞưڶÔࣚɥѩܟâֹͤӽƥίóϩɉΛӓDzЇđ͹öčʏƘǗ÷ǡҙèԡܴōӄˏBωؐƺѠ¯ȤԜɖƈݲ"],
  18628. encodeOffsets: [[-58518, 6117]]
  18629. }
  18630. }, {
  18631. type: "Feature",
  18632. id: "SVK",
  18633. properties: {name: "Slovakia"},
  18634. geometry: {
  18635. type: "Polygon",
  18636. coordinates: ["@@´»ΊŖш̕ӺǶЈđ؂Ţߚ͓ɷɓǏ͹dzđ࣑ʮ˟»ȟȡЁĿěÄХŽͭ}ãǙ۷Ļ̱ĠёɌċ̆äńŢȂόa˺ĔxþLj¢ÆȒȖ˜žưʢD"],
  18637. encodeOffsets: [[19306, 50685]]
  18638. }
  18639. }, {
  18640. type: "Feature",
  18641. id: "SVN",
  18642. properties: {name: "Slovenia"},
  18643. geometry: {
  18644. type: "Polygon",
  18645. coordinates: ["@@ۜÝъȐܾtLjƘƘUǎ˳ڝɟć͹̇đHɻͣh˷ƎƷƙב†ȈúȫΨĞа"],
  18646. encodeOffsets: [[14138, 47626]]
  18647. }
  18648. }, {
  18649. type: "Feature",
  18650. id: "SWE",
  18651. properties: {name: "Sweden"},
  18652. geometry: {
  18653. type: "Polygon",
  18654. coordinates: ["@@ࠁוƀԥ೹ڭྱܡؓஃײףߦүޗॅ࢑ȝ͍තӋ޿৳ĆӅڗঃˉߐ۳॔ٓஐφӜּۨ˦ন՝ю½ૠղ߀࠰ä̧ͬ˺ಬஂࡀञֈײ߮GɞҶཔƉŬքԸ”૪Щ಼ֱv಑˴͛ฃʃ"],
  18655. encodeOffsets: [[22716, 67302]]
  18656. }
  18657. }, {
  18658. type: "Feature",
  18659. id: "SWZ",
  18660. properties: {name: "Swaziland"},
  18661. geometry: {type: "Polygon", coordinates: ["@@ǡύӭěԅҖS̄ɰ̀ĂʔʐÒшƵŰϕðω"], encodeOffsets: [[32842, -27375]]}
  18662. }, {
  18663. type: "Feature",
  18664. id: "SYR",
  18665. properties: {name: "Syria"},
  18666. geometry: {
  18667. type: "Polygon",
  18668. coordinates: ["@@࿩ࣅऩͬgNŖŶ_ΈȸҠҜ̈́Əͤϗ¨ÿٞȶΌɤȀɤȀ°Ҹ˞Ǐऎɺ҂ƿۖFॴ̀Ґaक़žїԽҡȹĂؗͅ৫ᇵ࢓"],
  18669. encodeOffsets: [[39724, 34180]]
  18670. }
  18671. }, {
  18672. type: "Feature",
  18673. id: "TCD",
  18674. properties: {name: "Chad"},
  18675. geometry: {
  18676. type: "Polygon",
  18677. coordinates: ["@@ĎЄաnDզΓ̶δ૊ੴߌ¬ન͖ၼǼΰΓ˾_ˌ̽ɔȷರࡔҠ…ྑ…ྏ¦ ܥÐϧإɝԯǬȝˡʳĨΏɑΕč̯̎¶Ǯ͕Vӥ̲ʛYȯՏƛэͽ؉ࣹ߅ϳ߹¾ʁûĊ̏ѫ̋Σ͟੓͏ȽȐƓhƹɍۛÙƀɪ˅ׄşΐλƜӷӪǼІϦċʂÐҸSқކŒ֐É֐ͭՠ"],
  18678. encodeOffsets: [[14844, 13169]]
  18679. }
  18680. }, {
  18681. type: "Feature",
  18682. id: "TGO",
  18683. properties: {name: "Togo"},
  18684. geometry: {
  18685. type: "Polygon",
  18686. coordinates: ["@@ڱdzȇ̎ɡՔãкȆݴɁ̬ăڎD؎ΕѠÖˀ݂kŅѵʲʝ̈̋ŽЭǜǥኝȺׅ"],
  18687. encodeOffsets: [[1911, 6290]]
  18688. }
  18689. }, {
  18690. type: "Feature",
  18691. id: "THA",
  18692. properties: {name: "Thailand"},
  18693. geometry: {
  18694. type: "Polygon",
  18695. coordinates: ["@@ݭϬܗeŬڈ݉Káऋґ௯˙ݏÌ؋ն΀ދưܭҶӓԚĭѤѧ˝·ևĵßќۇςƣƭͧ͒ƝжҁӄПЌƏӳǃҲĠԾʚ߬ТࡸҤ޶͟ތ`϶ĩҸ֕ښȩф̄ƺ̮ܶ·ֆՓؘН݆ΠƴϦࣦצœӬθӔȘθʷ´ԍ֨ȷࢭpݫࢰԆʤƧӰzǜَ̊ÍٖڽÀࠥںܷ›܅˙ϛ޿ŦગDž՟ۧȤ১"],
  18696. encodeOffsets: [[105047, 12480]]
  18697. }
  18698. }, {
  18699. type: "Feature",
  18700. id: "TJK",
  18701. properties: {name: "Tajikistan"},
  18702. geometry: {
  18703. type: "Polygon",
  18704. coordinates: ["@@̭ʷࣳƖāӛ࣬Þਢ˗འŶɈާˠĐԜȓ‡͛ŴӍࡿBׁØԻϕύĉ̉ǯͩˠþ۸ʩ¢ĞʲғȐα̇ė͹Żūԇj˕ϩ˯nj؋ˑʱĺӀࡘǹض؟ȨɔφۮŸЌҬˌբ૲ȜǩϵŤɹΎv"],
  18705. encodeOffsets: [[72719, 41211]]
  18706. }
  18707. }, {
  18708. type: "Feature",
  18709. id: "TKM",
  18710. properties: {name: "Turkmenistan"},
  18711. geometry: {
  18712. type: "Polygon",
  18713. coordinates: ["@@ñۼطŠॣݔڣĠगюׯþσƽ֙|ׯӓ݇NjƻרŪ࢞ٽ˶Ɏֺ֏¸Ȇ۾ߊȵ݈ˎؓԎʉӔڱɋď؛ʿհψ˨ॖǪ֨ɻךڅњ¤ॆ\\Əцܖ̂۾ӦଆѹĜڡ͐ǣࣦžˮƳаࡽ०ׇոЃ࢞Щ૤Ϋwԥʩ€Ѕɤſ̙۽NjǙڥӁʭڏŵǫϟهŏࡩ͈"],
  18714. encodeOffsets: [[62680, 36506]]
  18715. }
  18716. }, {
  18717. type: "Feature",
  18718. id: "TLS",
  18719. properties: {name: "East Timor"},
  18720. geometry: {type: "Polygon", coordinates: ["@@IJȤܢȌז†ˀŀ͆Ľ̯ɫ࢕ο۳ʋeʬďǔ"], encodeOffsets: [[127968, -9106]]}
  18721. }, {
  18722. type: "Feature",
  18723. id: "TTO",
  18724. properties: {name: "Trinidad and Tobago"},
  18725. geometry: {type: "Polygon", coordinates: ["@@ӚŊǮ‡‘صۭġƯúʒɲiͪ"], encodeOffsets: [[-63160, 11019]]}
  18726. }, {
  18727. type: "Feature",
  18728. id: "TUN",
  18729. properties: {name: "Tunisia"},
  18730. geometry: {
  18731. type: "Polygon",
  18732. coordinates: ["@@ΩພԭͺQȰۉԄóنԮҶȢۚƃߠǠќࣶͺךĵ}ы܊̲ÒljпЫMϱ̆ȽōܫփхDŽқѤaɄЍ͊ſ³٥Хʋʵˏֽ͓ĘΑïΟЧț"],
  18733. encodeOffsets: [[9710, 31035]]
  18734. }
  18735. }, {
  18736. type: "Feature",
  18737. id: "TUR",
  18738. properties: {name: "Turkey"},
  18739. geometry: {
  18740. type: "MultiPolygon",
  18741. coordinates: [["@@஺͗ঐżܤõলѬࣆ¢ߴЭƜ̑ăУزȻͨʕֻʇˀ५ǏʻҠڧЕƙ̏Ɋ঍ňίŽॗŽҏbॳ̿ەEҁǀऍɹ˝ǐ¯ҷɣǿɣǿ̱Ϡ͈͂ԟí۱ȖֿәౣĥڹҊࣟ†ȗΑׇij߻҄ࣻeӽ࠶ؗҰЦٸՓВठߨಒ’Μྀٔŏ৞հ঒ʄർlุף"], ["@@۫ҏ˃Ϻ\\ǦȦĦʺՂХɞࡦ˄ܤőĴ͓ܼ˓Ƶȵি±Ωʷ"]],
  18742. encodeOffsets: [[[37800, 42328]], [[27845, 41668]]]
  18743. }
  18744. }, {
  18745. type: "Feature",
  18746. id: "TZA",
  18747. properties: {name: "United Republic of Tanzania"},
  18748. geometry: {
  18749. type: "Polygon",
  18750. coordinates: ["@@ƚġᵂႋÌӣ஼࠿ϱਙ¸Ӊՠ̩~ɓɳԓ¶ʭÇГ̌Ճΐ̰ࠡǿڝӣࣿ͛ԋb̙ʥבsɕŃঢ়ʂكåɽଢ˵ϺǛɶࠗƾӉʨՕƘͯƘΗɈґ੖ӣҺǗӤČѨƯޞΎ ̨̦͜ѬȺǮS˘ǷȐ·ͨʐł¶Ӷͫӄ̎Ķऄ[ႎà"],
  18751. encodeOffsets: [[34718, -972]]
  18752. }
  18753. }, {
  18754. type: "Feature",
  18755. id: "UGA",
  18756. properties: {name: "Uganda"},
  18757. geometry: {
  18758. type: "Polygon",
  18759. coordinates: ["@@ः\\̍ĵԇʷȯĐPوȜ͎²ڬǰϸ͎Ѭ͔ɠ˒̘͵Ŗ¼চΌɮՖȉڰȠעEԬϮЊ׍İсτ९̧ؓЯ֋ʉͽTࢹႍß"],
  18760. encodeOffsets: [[32631, -1052]]
  18761. }
  18762. }, {
  18763. type: "Feature",
  18764. id: "UKR",
  18765. properties: {name: "Ukraine"},
  18766. geometry: {
  18767. type: "Polygon",
  18768. coordinates: ["@@̾“ɄȒʮ¥ࢌĆ՞Ӈȿǝêʻڠ£̘ηkǑ੪̏٢Ƅ԰ϿӮVఊ˙XʙͿѯȆҩƃ˩߻Õџɻύڡã֑˕޽«ܣ̻¸ԹЪȭࡨ¼Ǐ̛ँơଛӟұǠȄЂࣽʘƨLjߪ˪ʑȔಯɆË̼ީĻ̷ҧٱةϟƠЁƉϑƺɂĞƦ˾ɲˎÑƮǬäĊśӸ{ɞØƽĎÐŲ̉ɈŧΘ̩ƐÒ˶ϝɦΉŽأʾ֑ĉȧŭΟ@Ƀȟاă˹ŹϷȴ՟HԳĢγǵÍɤұɮǐͺɸɔȀµɑϘބۦиİĜɾхܼДҢɪٲnࡖßबȫڎi͂ŧ̀Ʀɚȝݸ¢ͮąÄцʶȂܞº"],
  18769. encodeOffsets: [[32549, 53353]]
  18770. }
  18771. }, {
  18772. type: "Feature",
  18773. id: "URY",
  18774. properties: {name: "Uruguay"},
  18775. geometry: {
  18776. type: "Polygon",
  18777. coordinates: ["@@ղĚࡆٯ̺|ࡺ՟ڈҫӠֱχЉɸӇεՇॉұاǚғěޥΰ֫ԟҬÞլǾȈS࠸ɤࡺȾڦ"],
  18778. encodeOffsets: [[-59008, -30941]]
  18779. }
  18780. }, {
  18781. type: "Feature", id: "USA", properties: {name: "United States of America"}, geometry: {
  18782. type: "MultiPolygon",
  18783. coordinates: [["@@ũƕȽŤ|ɾƓ̨¦ĤƤƎÍǔ¸þÜe͐ƙƬñƌőɊ̍q¯͟ǵˏſ"], ["@@˭ÑƟǮīèQÀĈî̘āɘŹëĵ"], ["@@ĝ҉|Úĸа•"], ["@@­µÓŻˆŃȒ’ɤŚêÃʐ˥"], ["@@ıĉ˱ƴªÖŸĈȘijȝ"], ["@@Ƭңʼƛז½࡬ƅࠂʹڼŊਖɓ˞Tݨʄ߂̧ࠒ͗ں˩ٶˏĈəȢĉ½ĉɦǎĔ¦ȣǜƅɴ@ŬĹĽƫ࢖ЁǶށǚܳʗӹЁҥȁ̍mēĦť˸Ɓɂ@ঊ҆ࡾƀસмfĐ÷ʰƉǒϜƆࠜHޘAˎ͞ŀàࢶ؄ϜƸ౦N໾BĎȺː¦Φž̖Ϣʲٺٚي˨ə֜ƜώʏAଧռӅƢ˝࣋Пࡷ̃ࢱʝѻӿƛȋSѽˤѽΒsė̬ʦȇãʇ֥ƋЗhةƥλ¥ӥ¥۫ʏఀǂʠǃ୳ʥ՗C|ĺʭɷʚǹ׽ؑ٧×Ɏȁª˟ɀǪҍȼƭ^ͅˏ͛ҿڡûʺֲѕ͎įۦljεǴՑևƀׂ˓˜ߛʊÍĖ̃ŠࡁՕدࢇʝցӱнÁэ̱ţ˭इձӁЍЅӽŻׯƪ׍ˬܗώשLεЊঅ֥—͛ȿԡʣŃЯĺƁς͋ȖѻܢϹٞű͢Ǥ֐ɽҦٻ۲͟źࡑϡƭ¦СϼՃȺोŁݗĤٙÍΏſƲɟaͽǴǓLJō̵Ů́ǃ؍€طѺܻĿ؏ȚԹÏۻȝއح࠳γҝБȕϗUׅ¨ЕDŽ˹͝{׭ȂٽʺɽЄȁטӷӐ̃ӰуֺףͲۉgՉڑۣʦѡʪȽҦ˧Ѯӿτїˈ̩̖ป@C΋ڗ@ဩOቿפ౓ТĀǒ੩ĝॕÝƙіխӚϻĴğʌһ¦̝ɪޭĊɉƌĹҢࠁࡊ۩ୠˆȚχˤٯ۴řۆ҃ҞȀۢ…ܜˍ٢͠ߊĸނĺނƱૼˇܘʓ϶ĸǐ௒˷҂ߋȺɜƇې˷ێᛸ@᠂@ࠜ@ᢢ@៚@ᡀ@ᡄ@᭰@ᮞBაAF͔˴J"], ["@@࠽͋ѕɐŽЀބ̘҆Ÿ֐ÉΤʻܫЍ"], ["@@ԧŽսƾԛɮࠦƞښùĂ͑"], ["@@԰DžԾĒڸɛ࠲őéĝُDZٕǾ͋Ʋݍµȧôº̈́"], ["@@؊ϛώnjහ»¹ȕ౾ƛࡨČᄚ˅ྤā٨ʼn૦Ǝౢʧࣲŝ@@MᷱIⷍࠠ{ࠌɵהρݜցࠈҺࡈ˖Ҁѡ֤·ޒϙՂ׽࡮य़ේ՗xՋұЙҥ͂ݍˌʃܺએںҍߎ߯Ä೷rটʌ჉ࢎߩDŽ฽̜୑í࿻ϬৃΨटǯǦ׏ҫÁঁǫ݉˱झdzťӶϚࠚࣀʶɱɂੱҵֵ֑௅ױؚСߏ׿ࣗΗࡁʱȻωಽѡ˅ϿছΫֽÞ޷ɻ࡝˹ۧ˫෹ʉſƘऀϾࠔʸࣆҠਬĨвΈ୘ԊȈǚب̒ƢْђӸॹʫ˓Ơҕ̧շюɧ̝̽м࠿ͳԩBïԄƲ̮ե̚થLJ܁ЀַȬIӈ٩Ϊ͘ӘۆҸ̚њںÖ־ƇڴМ؎ï٘ʼƻϨҹưج͖ԩWࢻǽʯȃڏȄஏĥ௷ȬΛ͸੟Ӧ୾ΘመШ۔@ŕнᄢŽڽԶਕ͌ױр߫ΨଽˈҺѲ๰‚ਗ਼ϦȨФ࡬ЎࠊĪཪώޜÉಐ҄ౚǭ"]],
  18784. encodeOffsets: [[[-159275, 19542]], [[-159825, 21140]], [[-160520, 21686]], [[-161436, 21834]], [[-163169, 22510]], [[-97093, 50575]], [[-156678, 58487]], [[-169553, 61348]], [[-175853, 65314]], [[-158789, 72856]]]
  18785. }
  18786. }, {
  18787. type: "Feature",
  18788. id: "UZB",
  18789. properties: {name: "Uzbekistan"},
  18790. geometry: {
  18791. type: "Polygon",
  18792. coordinates: ["@@xԦૣά࢝ЪշЄ॥׈Яࡾ˭ƴࣥ͏ǤěڢଅѺ۽ӥܕ́Ɛхॅ[ᶾᓘӺƾïದ׻یͅߤݵঢŪ෸à৔ؗÙࡅЦMǢۍ੬ɲЉ̺Lπ׺૎הӖƺʠĉ۵խئ́ײȾ়ѷ੽؁ٕĊ΍uţɺǪ϶૱țˋաЋҫۭ ɓυؠȧǺصҿࡗهǰҳN"],
  18793. encodeOffsets: [[68116, 38260]]
  18794. }
  18795. }, {
  18796. type: "Feature",
  18797. id: "VEN",
  18798. properties: {name: "Venezuela"},
  18799. geometry: {
  18800. type: "Polygon",
  18801. coordinates: ["@@yȣӱĭ˜ϡYѭυӥ͆ڙδÆȌ؈ʻ̒§َਸ਼΀řІ̎ˆ̞ןל_մҵ˧ݮQ࣌ĔӖϕٞĻҼʾXɄਨ¼৖\\܉ʛ˼Їڦ×ِЯƆڧѬn͢ȣڕӱó̫˾̷ȽƽԫƉjϱɫɱّ֪Őʁ̭͍ऱ̽׿Žʏȣڛɀثņƿýϔɑ‘֝ŜՉ܆ï°ǭ׷ʅĭΣΉƏسȝNjʱٷÅҧѼʯ࠺ɟ̧̌Ȅюм…ȊʅʠǛ֒à׼Ȉ˰ƲҎ̓Ơӏĩ؁®ͻęסܢӥńઉăȧ̊ȷê‡ǬĴ̶áͺȃȂŅϮѡÈɸӮĺ׶ʔ̸͘ʌɈрդƖ"],
  18802. encodeOffsets: [[-73043, 12059]]
  18803. }
  18804. }, {
  18805. type: "Feature",
  18806. id: "VNM",
  18807. properties: {name: "Vietnam"},
  18808. geometry: {
  18809. type: "Polygon",
  18810. coordinates: ["@@૭ܗ۫ߍȁ׍٠ࢭ޺ળނԱԞګϪ།ŕ๓۫փ१եۇ۫਷ޱ̧ՠʀ֬دӌܬ͸ࢦÔσԚප٨ļ৖ț֖ƶࡀɃצٍאՋ݌ۥ঴৓Ԋʊ̠՞ɘ͙ܺਙPϕކӭڐҊȴڢIࠈĬܒ҄К̿ސƵƃӛАͿࡎɓ"],
  18811. encodeOffsets: [[110644, 22070]]
  18812. }
  18813. }, {
  18814. type: "Feature",
  18815. id: "VUT",
  18816. properties: {name: "Vanuatu"},
  18817. geometry: {
  18818. type: "MultiPolygon",
  18819. coordinates: [["@@ˣō˭ςŒɤՆӗ"], ["@@ƌڱɥŀǩ­ťɴi٢Дʵ"]],
  18820. encodeOffsets: [[[171874, -16861]], [[171119, -15292]]]
  18821. }
  18822. }, {
  18823. type: "Feature",
  18824. id: "PSE",
  18825. properties: {name: "West Bank"},
  18826. geometry: {type: "Polygon", coordinates: ["@@@ԣŭʙЃŕ˜ɜɌŚɁĦǬ̤֔ś"], encodeOffsets: [[36399, 33172]]}
  18827. }, {
  18828. type: "Feature",
  18829. id: "YEM",
  18830. properties: {name: "Yemen"},
  18831. geometry: {
  18832. type: "Polygon",
  18833. coordinates: ["@@؉ɥNjύo˹࠷Οഇϻݩףυ±ʥºӭΑ՗lj۷©ɃµǿɛəÕŻɇеlˍœ׉¨ɓӬzҠƍʜǑتʋΊǚ¤đϨĸNJ™ξςˌđΠɞЮΊɓɬúॺnƸċ߼č͐¨ɂ˫ϺƖ׼ࢦ޸Ϛᝒ͒ڀ൳˞ח"],
  18834. encodeOffsets: [[54384, 17051]]
  18835. }
  18836. }, {
  18837. type: "Feature",
  18838. id: "ZAF",
  18839. properties: {name: "South Africa"},
  18840. geometry: {
  18841. type: "Polygon",
  18842. coordinates: ["@@ǏŧΣяɻћӇ׻ोࢁףԋًϣ࢛͙ѓ«ŇɷԛŰеDž࣫NJԙĹΏ¬ࡿͩܓƃԱͅϡoΣ̚˳fαϒŸśŏɦLӰ˙֞˔ƴs٤ս޼х܈AF׽તДдͪɯƘΫϘÓՈǃҌÖݤіB᷌ɨűӾߙûԟȈ̏׼ĒрϒЊʨȶДЦȚΠķВɽۂ£՞ȜĐʾƨДҚäʨ͂˪֔ݮغஒؤ΂UОƛ˲Ķ҂ċД஁ɔׯƫऩî̟чƶʏÑāʓɯ̿T̃ԆҕӮĜǢώْQȿؑıۥɑϛֵщ", "@@νʶϻǟҕ҃͡Տـ٧̜ČƺˎҴƀƜ˜ʴФ̅ʪ"],
  18843. encodeOffsets: [[32278, -29959], [29674, -29650]]
  18844. }
  18845. }, {
  18846. type: "Feature",
  18847. id: "ZMB",
  18848. properties: {name: "Zambia"},
  18849. geometry: {
  18850. type: "Polygon",
  18851. coordinates: ["@@ІϏɊ܋ƝɩǙڻLjۡ˃̇ʭޭѶɓᢇۗĂׯٍřӍͯĹ̛̅ßܵۓҭխ˳o˗ĬऱĠƯÚOêͧȎկ¶ۋȑչԾ֣یžᦶშYí̂Ű̀ƧЀĪТėʺ̂q¶ʽϾrՖûˬϡڨŝԤˆȌѯ٠ş̴ΧΈҥ٠Që࣠ɱƳח͞ɧƬļࡈƬসȉψʈ՚ɤĶ଀ƚͦđΘɇͰƗՖƗӊʧ"],
  18852. encodeOffsets: [[33546, -9452]]
  18853. }
  18854. }, {
  18855. type: "Feature",
  18856. id: "ZWE",
  18857. properties: {name: "Zimbabwe"},
  18858. geometry: {
  18859. type: "Polygon",
  18860. coordinates: ["@@ҁČ˱ĵНƜ΁VՙϞٯźʙՒC̒έĞ्ई˃ӢǛƮ͓ڤलğ˘ī˴pҮծܶ۔̜àĺ̆ӎͰَŚÆ̻۬hϴǯǺȻАÓѦˑF੟Ǐ׋—عƊʝħӵŵùɛ؅ࢫ॓"],
  18861. encodeOffsets: [[31941, -22785]]
  18862. }
  18863. }],
  18864. UTF8Encoding: !0
  18865. }
  18866. }),i("echarts/util/mapData/geoJson/xiang_gang_geo", [], function () {
  18867. return {
  18868. type: "FeatureCollection",
  18869. features: [{
  18870. type: "Feature",
  18871. id: "8100",
  18872. properties: {name: "香港", cp: [114.2784, 22.3057], childNum: 1},
  18873. geometry: {
  18874. type: "Polygon",
  18875. 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"],
  18876. encodeOffsets: [[117078, 22678]]
  18877. }
  18878. }],
  18879. UTF8Encoding: !0
  18880. }
  18881. }),i("echarts/util/mapData/geoJson/xin_jiang_geo", [], function () {
  18882. return {
  18883. type: "FeatureCollection",
  18884. features: [{
  18885. type: "Feature",
  18886. id: "6528",
  18887. properties: {name: "巴音郭楞蒙古自治州", cp: [88.1653, 39.6002], childNum: 9},
  18888. geometry: {
  18889. type: "Polygon",
  18890. 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¦ɄǜÈ"],
  18891. encodeOffsets: [[86986, 44534]]
  18892. }
  18893. }, {
  18894. type: "Feature",
  18895. id: "6532",
  18896. properties: {name: "和田地区", cp: [81.167, 36.9855], childNum: 8},
  18897. geometry: {
  18898. type: "Polygon",
  18899. 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šɄɴжϼِ͈Ŏ„"],
  18900. encodeOffsets: [[81293, 39764]]
  18901. }
  18902. }, {
  18903. type: "Feature",
  18904. id: "6522",
  18905. properties: {name: "哈密地区", cp: [93.7793, 42.9236], childNum: 3},
  18906. geometry: {
  18907. type: "Polygon",
  18908. 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„"],
  18909. encodeOffsets: [[93387, 44539]]
  18910. }
  18911. }, {
  18912. type: "Feature",
  18913. id: "6529",
  18914. properties: {name: "阿克苏地区", cp: [82.9797, 41.0229], childNum: 10},
  18915. geometry: {
  18916. type: "Polygon",
  18917. 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ÇŃÛÝĊÑĠƏ"],
  18918. encodeOffsets: [[80022, 41294], [83914, 41474]]
  18919. }
  18920. }, {
  18921. type: "Feature",
  18922. id: "6543",
  18923. properties: {name: "阿勒泰地区", cp: [88.2971, 47.0929], childNum: 7},
  18924. geometry: {
  18925. type: "Polygon",
  18926. 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—¯"],
  18927. encodeOffsets: [[92656, 48460]]
  18928. }
  18929. }, {
  18930. type: "Feature",
  18931. id: "6531",
  18932. properties: {name: "喀什地区", cp: [77.168, 37.8534], childNum: 13},
  18933. geometry: {
  18934. type: "Polygon",
  18935. 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é"],
  18936. encodeOffsets: [[76624, 39196], [81507, 40877]]
  18937. }
  18938. }, {
  18939. type: "Feature",
  18940. id: "6542",
  18941. properties: {name: "塔城地区", cp: [86.6272, 45.8514], childNum: 7},
  18942. geometry: {
  18943. type: "Polygon",
  18944. 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źƒ¦"],
  18945. encodeOffsets: [[87593, 48184], [86884, 45760]]
  18946. }
  18947. }, {
  18948. type: "Feature",
  18949. id: "6523",
  18950. properties: {name: "昌吉回族自治州", cp: [89.6814, 44.4507], childNum: 7},
  18951. geometry: {
  18952. type: "MultiPolygon",
  18953. coordinates: [["@@መL@È°ĊȂɆƒÆĊ£„ťôWÓɆbĢÅŎƒÆ¦ČÑW¥°ķU¯ƏŃVē±Ý@ó—ç˜ĭɃƾřÆķkwŹƒŤ¹ġ¥ĵKŏÅXmˍщwǓ¤Ƒ@wóōVķ£ɱšġôÛa±Òȁ„óèţIVŽƽ¼k¤ó¹ġJmx—»ÝUƒ²™@ÅƃĸǫŎ„ĊmŎǬ՘"], ["@@Þô°bÞǠôÜôn@°ĸń˜Ƕkłƒ¼UޙKğȂÆÝĢŤķ@@ΌڬL܄K@ˣȂ˭lĉńW¥ĵVÆý@ŃÞēUŃȗƅ@ŹƩǕĉ»k»Ç™VğóřX™ŻKƏŽċêȁèÛŎġƒͩń"]],
  18954. encodeOffsets: [[[90113, 46080]], [[87638, 44579]]]
  18955. }
  18956. }, {
  18957. type: "Feature",
  18958. id: "6530",
  18959. properties: {name: "克孜勒苏柯尔克孜自治州", cp: [74.6301, 39.5233], childNum: 4},
  18960. geometry: {
  18961. type: "Polygon",
  18962. 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"],
  18963. encodeOffsets: [[80269, 42396]]
  18964. }
  18965. }, {
  18966. type: "Feature",
  18967. id: "6521",
  18968. properties: {name: "吐鲁番地区", cp: [89.6375, 42.4127], childNum: 3},
  18969. geometry: {
  18970. type: "Polygon",
  18971. 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ҎÈ"],
  18972. encodeOffsets: [[90248, 44371]]
  18973. }
  18974. }, {
  18975. type: "Feature",
  18976. id: "6540",
  18977. properties: {name: "伊犁哈萨克自治州", cp: [82.5513, 43.5498], childNum: 10},
  18978. geometry: {
  18979. type: "MultiPolygon",
  18980. coordinates: [["@@ĉ„ÆŘȁ̐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Ś"], ["@@ÞĀlźƒ¦¯ĸŤKޙšƒċƨbš™Vğ—w›ġ¯@ţƽJ"]],
  18981. encodeOffsets: [[[82722, 44337]], [[86817, 45456]]]
  18982. }
  18983. }, {
  18984. type: "Feature",
  18985. id: "6527",
  18986. properties: {name: "博尔塔拉蒙古自治州", cp: [81.8481, 44.6979], childNum: 3},
  18987. geometry: {
  18988. type: "Polygon",
  18989. 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"],
  18990. encodeOffsets: [[84555, 46311]]
  18991. }
  18992. }, {
  18993. type: "Feature",
  18994. id: "6501",
  18995. properties: {name: "乌鲁木齐市", cp: [87.9236, 43.5883], childNum: 4},
  18996. geometry: {
  18997. type: "Polygon",
  18998. coordinates: ["@@šŽWŽôŚUĠȚl¼Ċ¼ƪǖ@źȘƆ@ýlܚXVŘޙš¦V¼kĖó҃èkĊȁˮ֜@ǫ՗nōƒĉǬō„ķÆŚ@„±ÞV˜¼nwĢIôºl£ƾ»UŤJôçšó¯īʟéó@kÛ±»ǩbƒĊóLҍÇǫb@ŻɆóʠǓ›aŋÞȁVʉłĉbĉɅô"],
  18999. encodeOffsets: [[88887, 44146]]
  19000. }
  19001. }, {
  19002. type: "Feature",
  19003. id: "6502",
  19004. properties: {name: "克拉玛依市", cp: [85.2869, 45.5054], childNum: 2},
  19005. geometry: {
  19006. type: "MultiPolygon",
  19007. coordinates: [["@@ɜÞʊĊýVaŃm»ʵƳƑʝȗīV¥¯ĉ°Ñ@ŃÅI™»ĉmğn™ƒaݚţL°ķóKĵĀV͈ĉłƾNJÆŤƒzXl°ƒÆL²¼źŽôÈĢǔ™¦l„ô°"], ["@@ƾIŤ@UUwōa™ĉÝJğÑÆŎkŎ"]],
  19008. encodeOffsets: [[[87424, 47245]], [[86817, 45456]]]
  19009. }
  19010. }, {
  19011. type: "Feature",
  19012. id: "659002",
  19013. properties: {name: "阿拉尔市", cp: [81.2769, 40.6549], childNum: 1},
  19014. geometry: {
  19015. type: "Polygon",
  19016. coordinates: ["@@nIÇŃÛÝĊÑĠƏō™гwȁ¥Ƨ°ŹÑķV™¼ÞêĊ»‚lĵšm¦ÅW@ĀôÈźaɜxÈbÞÆĶIОŘ"],
  19017. encodeOffsets: [[83824, 41929]]
  19018. }
  19019. }, {
  19020. type: "Feature",
  19021. id: "659003",
  19022. properties: {name: "图木舒克市", cp: [79.1345, 39.8749], childNum: 1},
  19023. geometry: {
  19024. type: "Polygon",
  19025. coordinates: ["@@VéVÇ™ţ°ğUĠ¯mk¯ó¥ķIġÿƏbƒ„ĉa±ÒĸĀlKU„_m»nwšŽ„m@ÈŤ¦ĉbÞ°±Þżł̦°ĢŁ"],
  19026. encodeOffsets: [[81496, 40962]]
  19027. }
  19028. }, {
  19029. type: "Feature",
  19030. id: "659004",
  19031. properties: {name: "五家渠市", cp: [87.5391, 44.3024], childNum: 1},
  19032. geometry: {
  19033. type: "Polygon",
  19034. coordinates: ["@@„çôÑlĕU»™¥ÝšUŗ™WkÛ@þVńÝĔ@ńÅþĶUX¦Æƒ"],
  19035. encodeOffsets: [[89674, 45636]]
  19036. }
  19037. }, {
  19038. type: "Feature",
  19039. id: "659001",
  19040. properties: {name: "石河子市", cp: [86.0229, 44.2914], childNum: 1},
  19041. geometry: {type: "Polygon", coordinates: ["@@lŁ—ǵm‚ĉ@mż™¼n°ÞmƼš@"], encodeOffsets: [[88178, 45529]]}
  19042. }],
  19043. UTF8Encoding: !0
  19044. }
  19045. }),i("echarts/util/mapData/geoJson/xi_zang_geo", [], function () {
  19046. return {
  19047. type: "FeatureCollection",
  19048. features: [{
  19049. type: "Feature",
  19050. id: "5424",
  19051. properties: {name: "那曲地区", cp: [88.1982, 33.3215], childNum: 10},
  19052. geometry: {
  19053. type: "Polygon",
  19054. 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¤ƽĸƒÈ"],
  19055. encodeOffsets: [[88133, 36721]]
  19056. }
  19057. }, {
  19058. type: "Feature",
  19059. id: "5425",
  19060. properties: {name: "阿里地区", cp: [82.3645, 32.7667], childNum: 7},
  19061. geometry: {
  19062. type: "Polygon",
  19063. 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̼òƾĖŎ@ĢȂÑôÓĠĖʊšĊÔ"],
  19064. encodeOffsets: [[88133, 36721]]
  19065. }
  19066. }, {
  19067. type: "Feature",
  19068. id: "5423",
  19069. properties: {name: "日喀则地区", cp: [86.2427, 29.5093], childNum: 18},
  19070. geometry: {
  19071. type: "Polygon",
  19072. 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Þ¯¼"],
  19073. encodeOffsets: [[84117, 30927]]
  19074. }
  19075. }, {
  19076. type: "Feature",
  19077. id: "5426",
  19078. properties: {name: "林芝地区", cp: [95.4602, 29.1138], childNum: 7},
  19079. geometry: {
  19080. type: "Polygon",
  19081. 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"],
  19082. encodeOffsets: [[94737, 30809]]
  19083. }
  19084. }, {
  19085. type: "Feature",
  19086. id: "5421",
  19087. properties: {name: "昌都地区", cp: [97.0203, 30.7068], childNum: 11},
  19088. geometry: {
  19089. type: "Polygon",
  19090. 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œƾ°"],
  19091. encodeOffsets: [[97302, 31917]]
  19092. }
  19093. }, {
  19094. type: "Feature",
  19095. id: "5422",
  19096. properties: {name: "山南地区", cp: [92.2083, 28.3392], childNum: 12},
  19097. geometry: {
  19098. type: "Polygon",
  19099. 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¤"],
  19100. encodeOffsets: [[92363, 29672]]
  19101. }
  19102. }, {
  19103. type: "Feature",
  19104. id: "5401",
  19105. properties: {name: "拉萨市", cp: [91.1865, 30.1465], childNum: 8},
  19106. geometry: {
  19107. type: "Polygon",
  19108. 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"],
  19109. encodeOffsets: [[92059, 30696]]
  19110. }
  19111. }],
  19112. UTF8Encoding: !0
  19113. }
  19114. }),i("echarts/util/mapData/geoJson/yun_nan_geo", [], function () {
  19115. return {
  19116. type: "FeatureCollection",
  19117. features: [{
  19118. type: "Feature",
  19119. id: "5308",
  19120. properties: {name: "普洱市", cp: [100.7446, 23.4229], childNum: 10},
  19121. geometry: {
  19122. type: "Polygon",
  19123. 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"],
  19124. encodeOffsets: [[101903, 23637]]
  19125. }
  19126. }, {
  19127. type: "Feature",
  19128. id: "5325",
  19129. properties: {name: "红河哈尼族彝族自治州", cp: [103.0408, 23.6041], childNum: 13},
  19130. geometry: {
  19131. type: "Polygon",
  19132. 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ÝÞ"],
  19133. encodeOffsets: [[104243, 23429]]
  19134. }
  19135. }, {
  19136. type: "Feature",
  19137. id: "5326",
  19138. properties: {name: "文山壮族苗族自治州", cp: [104.8865, 23.5712], childNum: 8},
  19139. geometry: {
  19140. type: "Polygon",
  19141. 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"],
  19142. encodeOffsets: [[106504, 25037]]
  19143. }
  19144. }, {
  19145. type: "Feature",
  19146. id: "5303",
  19147. properties: {name: "曲靖市", cp: [103.9417, 25.7025], childNum: 9},
  19148. geometry: {
  19149. type: "Polygon",
  19150. 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"],
  19151. encodeOffsets: [[106099, 27653]]
  19152. }
  19153. }, {
  19154. type: "Feature",
  19155. id: "5323",
  19156. properties: {name: "楚雄彝族自治州", cp: [101.6016, 25.3619], childNum: 10},
  19157. geometry: {
  19158. type: "Polygon",
  19159. 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"],
  19160. encodeOffsets: [[103433, 26196]]
  19161. }
  19162. }, {
  19163. type: "Feature",
  19164. id: "5329",
  19165. properties: {name: "大理白族自治州", cp: [99.9536, 25.6805], childNum: 12},
  19166. geometry: {
  19167. type: "Polygon",
  19168. 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Ċ„Þ"],
  19169. encodeOffsets: [[101408, 26770]]
  19170. }
  19171. }, {
  19172. type: "Feature",
  19173. id: "5309",
  19174. properties: {name: "临沧市", cp: [99.613, 24.0546], childNum: 8},
  19175. geometry: {
  19176. type: "Polygon",
  19177. 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š"],
  19178. encodeOffsets: [[101251, 24734]]
  19179. }
  19180. }, {
  19181. type: "Feature",
  19182. id: "5334",
  19183. properties: {name: "迪庆藏族自治州", cp: [99.4592, 27.9327], childNum: 3},
  19184. geometry: {
  19185. type: "Polygon",
  19186. 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¯"],
  19187. encodeOffsets: [[102702, 28401]]
  19188. }
  19189. }, {
  19190. type: "Feature",
  19191. id: "5306",
  19192. properties: {name: "昭通市", cp: [104.0955, 27.6031], childNum: 11},
  19193. geometry: {
  19194. type: "Polygon",
  19195. 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@ó™"],
  19196. encodeOffsets: [[107787, 28244]]
  19197. }
  19198. }, {
  19199. type: "Feature",
  19200. id: "5301",
  19201. properties: {name: "昆明市", cp: [102.9199, 25.4663], childNum: 11},
  19202. geometry: {
  19203. type: "Polygon",
  19204. 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š"],
  19205. encodeOffsets: [[104828, 25999]]
  19206. }
  19207. }, {
  19208. type: "Feature",
  19209. id: "5307",
  19210. properties: {name: "丽江市", cp: [100.448, 26.955], childNum: 5},
  19211. geometry: {
  19212. type: "Polygon",
  19213. 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"],
  19214. encodeOffsets: [[101937, 28227]]
  19215. }
  19216. }, {
  19217. type: "Feature",
  19218. id: "5328",
  19219. properties: {name: "西双版纳傣族自治州", cp: [100.8984, 21.8628], childNum: 3},
  19220. geometry: {
  19221. type: "Polygon",
  19222. 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"],
  19223. encodeOffsets: [[102376, 22579]]
  19224. }
  19225. }, {
  19226. type: "Feature",
  19227. id: "5305",
  19228. properties: {name: "保山市", cp: [99.0637, 24.9884], childNum: 5},
  19229. geometry: {
  19230. type: "Polygon",
  19231. 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@ƒ¦"],
  19232. encodeOffsets: [[100440, 25943]]
  19233. }
  19234. }, {
  19235. type: "Feature",
  19236. id: "5304",
  19237. properties: {name: "玉溪市", cp: [101.9312, 23.8898], childNum: 9},
  19238. geometry: {
  19239. type: "Polygon",
  19240. 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@¦Ýþ"],
  19241. encodeOffsets: [[103703, 24874]]
  19242. }
  19243. }, {
  19244. type: "Feature",
  19245. id: "5333",
  19246. properties: {name: "怒江傈僳族自治州", cp: [99.1516, 26.5594], childNum: 4},
  19247. geometry: {
  19248. type: "Polygon",
  19249. 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"],
  19250. encodeOffsets: [[101071, 28891]]
  19251. }
  19252. }, {
  19253. type: "Feature",
  19254. id: "5331",
  19255. properties: {name: "德宏傣族景颇族自治州", cp: [98.1299, 24.5874], childNum: 5},
  19256. geometry: {
  19257. type: "Polygon",
  19258. 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"],
  19259. encodeOffsets: [[100440, 25943]]
  19260. }
  19261. }],
  19262. UTF8Encoding: !0
  19263. }
  19264. }),i("echarts/util/mapData/geoJson/zhe_jiang_geo", [], function () {
  19265. return {
  19266. type: "FeatureCollection",
  19267. features: [{
  19268. type: "Feature",
  19269. id: "3311",
  19270. properties: {name: "丽水市", cp: [119.5642, 28.1854], childNum: 9},
  19271. geometry: {
  19272. type: "Polygon",
  19273. 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@"],
  19274. encodeOffsets: [[121546, 28992]]
  19275. }
  19276. }, {
  19277. type: "Feature",
  19278. id: "3301",
  19279. properties: {name: "杭州市", cp: [119.5313, 29.8773], childNum: 6},
  19280. geometry: {
  19281. type: "Polygon",
  19282. 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"],
  19283. encodeOffsets: [[121185, 30184]]
  19284. }
  19285. }, {
  19286. type: "Feature",
  19287. id: "3303",
  19288. properties: {name: "温州市", cp: [120.498, 27.8119], childNum: 9},
  19289. geometry: {
  19290. type: "Polygon",
  19291. 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"],
  19292. encodeOffsets: [[122502, 28334]]
  19293. }
  19294. }, {
  19295. type: "Feature",
  19296. id: "3302",
  19297. properties: {name: "宁波市", cp: [121.5967, 29.6466], childNum: 6},
  19298. geometry: {
  19299. type: "Polygon",
  19300. 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š™è"],
  19301. encodeOffsets: [[123784, 30977]]
  19302. }
  19303. }, {
  19304. type: "Feature",
  19305. id: "3309",
  19306. properties: {name: "舟山市", cp: [122.2559, 30.2234], childNum: 3},
  19307. geometry: {
  19308. type: "Polygon",
  19309. 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Ž¯¼ŹĀ"],
  19310. encodeOffsets: [[124437, 30983]]
  19311. }
  19312. }, {
  19313. type: "Feature",
  19314. id: "3310",
  19315. properties: {name: "台州市", cp: [121.1353, 28.6688], childNum: 7},
  19316. geometry: {
  19317. type: "Polygon",
  19318. 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"],
  19319. encodeOffsets: [[123312, 29526]]
  19320. }
  19321. }, {
  19322. type: "Feature",
  19323. id: "3307",
  19324. properties: {name: "金华市", cp: [120.0037, 29.1028], childNum: 8},
  19325. geometry: {
  19326. type: "Polygon",
  19327. 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"],
  19328. encodeOffsets: [[122119, 29948]]
  19329. }
  19330. }, {
  19331. type: "Feature",
  19332. id: "3308",
  19333. properties: {name: "衢州市", cp: [118.6853, 28.8666], childNum: 5},
  19334. geometry: {
  19335. type: "Polygon",
  19336. 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"],
  19337. encodeOffsets: [[121185, 30184]]
  19338. }
  19339. }, {
  19340. type: "Feature",
  19341. id: "3306",
  19342. properties: {name: "绍兴市", cp: [120.564, 29.7565], childNum: 6},
  19343. geometry: {
  19344. type: "Polygon",
  19345. 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"],
  19346. encodeOffsets: [[122997, 30561]]
  19347. }
  19348. }, {
  19349. type: "Feature",
  19350. id: "3304",
  19351. properties: {name: "嘉兴市", cp: [120.9155, 30.6354], childNum: 6},
  19352. geometry: {
  19353. type: "Polygon",
  19354. 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‚"],
  19355. encodeOffsets: [[123233, 31382]]
  19356. }
  19357. }, {
  19358. type: "Feature",
  19359. id: "3305",
  19360. properties: {name: "湖州市", cp: [119.8608, 30.7782], childNum: 4},
  19361. geometry: {
  19362. type: "Polygon",
  19363. 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›"],
  19364. encodeOffsets: [[123379, 31500]]
  19365. }
  19366. }],
  19367. UTF8Encoding: !0
  19368. }
  19369. }),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) {
  19370. function t(e, t, n, a, o) {
  19371. i.call(this, e, t, n, a, o), this.refresh(a)
  19372. }
  19373. var i = e("./base"), n = e("../util/shape/GaugePointer"), a = e("zrender/shape/Text"),
  19374. o = e("zrender/shape/Line"), r = e("zrender/shape/Rectangle"), s = e("zrender/shape/Circle"),
  19375. l = e("zrender/shape/Sector"), h = e("../config");
  19376. h.gauge = {
  19377. zlevel: 0,
  19378. z: 2,
  19379. center: ["50%", "50%"],
  19380. clickable: !0,
  19381. legendHoverLink: !0,
  19382. radius: "75%",
  19383. startAngle: 225,
  19384. endAngle: -45,
  19385. min: 0,
  19386. max: 100,
  19387. splitNumber: 10,
  19388. axisLine: {show: !0, lineStyle: {color: [[.2, "#228b22"], [.8, "#48b"], [1, "#ff4500"]], width: 30}},
  19389. axisTick: {show: !0, splitNumber: 5, length: 8, lineStyle: {color: "#eee", width: 1, type: "solid"}},
  19390. axisLabel: {show: !0, textStyle: {color: "auto"}},
  19391. splitLine: {show: !0, length: 30, lineStyle: {color: "#eee", width: 2, type: "solid"}},
  19392. pointer: {show: !0, length: "80%", width: 8, color: "auto"},
  19393. title: {show: !0, offsetCenter: [0, "-40%"], textStyle: {color: "#333", fontSize: 15}},
  19394. detail: {
  19395. show: !0,
  19396. backgroundColor: "rgba(0,0,0,0)",
  19397. borderWidth: 0,
  19398. borderColor: "#ccc",
  19399. width: 100,
  19400. height: 40,
  19401. offsetCenter: [0, "40%"],
  19402. textStyle: {color: "auto", fontSize: 30}
  19403. }
  19404. };
  19405. var m = e("../util/ecData"), V = e("../util/accMath"), U = e("zrender/tool/util");
  19406. return t.prototype = {
  19407. type: h.CHART_TYPE_GAUGE, _buildShape: function () {
  19408. var e = this.series;
  19409. this._paramsMap = {}, this.selectedMap = {};
  19410. 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));
  19411. this.addShapeList()
  19412. }, _buildSingleGauge: function (e) {
  19413. var t = this.series[e];
  19414. this._paramsMap[e] = {
  19415. center: this.parseCenter(this.zr, t.center),
  19416. radius: this.parseRadius(this.zr, t.radius),
  19417. startAngle: t.startAngle.toFixed(2) - 0,
  19418. endAngle: t.endAngle.toFixed(2) - 0
  19419. }, 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)
  19420. }, _buildAxisLine: function (e) {
  19421. var t = this.series[e];
  19422. if (t.axisLine.show) 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)
  19423. }, _buildSplitLine: function (e) {
  19424. var t = this.series[e];
  19425. if (t.splitLine.show) 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({
  19426. zlevel: t.zlevel,
  19427. z: t.z + 1,
  19428. hoverable: !1,
  19429. style: {
  19430. xStart: p[0] + a * y,
  19431. yStart: p[1] - n * y,
  19432. xEnd: p[0] + a * g,
  19433. yEnd: p[1] - n * g,
  19434. strokeColor: "auto" === d ? this._getColor(e, l + h / s * b) : d,
  19435. lineType: U.type,
  19436. lineWidth: U.width,
  19437. shadowColor: U.shadowColor,
  19438. shadowBlur: U.shadowBlur,
  19439. shadowOffsetX: U.shadowOffsetX,
  19440. shadowOffsetY: U.shadowOffsetY
  19441. }
  19442. }))
  19443. }, _buildAxisTick: function (e) {
  19444. var t = this.series[e];
  19445. if (t.axisTick.show) 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({
  19446. zlevel: t.zlevel,
  19447. z: t.z + 1,
  19448. hoverable: !1,
  19449. style: {
  19450. xStart: c[0] + a * g,
  19451. yStart: c[1] - n * g,
  19452. xEnd: c[0] + a * b,
  19453. yEnd: c[1] - n * b,
  19454. strokeColor: "auto" === p ? this._getColor(e, l + h / k * f) : p,
  19455. lineType: d.type,
  19456. lineWidth: d.width,
  19457. shadowColor: d.shadowColor,
  19458. shadowBlur: d.shadowBlur,
  19459. shadowOffsetX: d.shadowOffsetX,
  19460. shadowOffsetY: d.shadowOffsetY
  19461. }
  19462. })))
  19463. }, _buildAxisLabel: function (e) {
  19464. var t = this.series[e];
  19465. if (t.axisLabel.show) 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({
  19466. zlevel: t.zlevel,
  19467. z: t.z + 1,
  19468. hoverable: !1,
  19469. style: {
  19470. x: c[0] + o * g,
  19471. y: c[1] - n * g,
  19472. color: "auto" === d ? this._getColor(e, r) : d,
  19473. text: this._getLabelText(t.axisLabel.formatter, r),
  19474. textAlign: i >= 110 && 250 >= i ? "left" : 70 >= i || i >= 290 ? "right" : "center",
  19475. textBaseline: i >= 10 && 170 >= i ? "top" : i >= 190 && 350 >= i ? "bottom" : "middle",
  19476. textFont: U,
  19477. shadowColor: m.shadowColor,
  19478. shadowBlur: m.shadowBlur,
  19479. shadowOffsetX: m.shadowOffsetX,
  19480. shadowOffsetY: m.shadowOffsetY
  19481. }
  19482. }))
  19483. }, _buildPointer: function (e) {
  19484. var t = this.series[e];
  19485. if (t.pointer.show) {
  19486. var i = t.max - t.min, a = t.pointer, o = this._paramsMap[e],
  19487. r = this.parsePercent(a.length, o.radius[1]), l = this.parsePercent(a.width, o.radius[1]),
  19488. h = o.center, V = this._getValue(e);
  19489. V = V < t.max ? V : t.max;
  19490. var U = (o.startAngle - o.totalAngle / i * (V - t.min)) * Math.PI / 180,
  19491. d = "auto" === a.color ? this._getColor(e, V) : a.color, p = new n({
  19492. zlevel: t.zlevel,
  19493. z: t.z + 1,
  19494. clickable: this.query(t, "clickable"),
  19495. style: {
  19496. x: h[0],
  19497. y: h[1],
  19498. r: r,
  19499. startAngle: o.startAngle * Math.PI / 180,
  19500. angle: U,
  19501. color: d,
  19502. width: l,
  19503. shadowColor: a.shadowColor,
  19504. shadowBlur: a.shadowBlur,
  19505. shadowOffsetX: a.shadowOffsetX,
  19506. shadowOffsetY: a.shadowOffsetY
  19507. },
  19508. highlightStyle: {brushType: "fill", width: l > 2 ? 2 : l / 2, color: "#fff"}
  19509. });
  19510. 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({
  19511. zlevel: t.zlevel,
  19512. z: t.z + 2,
  19513. hoverable: !1,
  19514. style: {x: h[0], y: h[1], r: a.width / 2.5, color: "#fff"}
  19515. }))
  19516. }
  19517. }, _buildTitle: function (e) {
  19518. var t = this.series[e];
  19519. if (t.title.show) {
  19520. var i = t.data[0], n = null != i.name ? i.name : "";
  19521. if ("" !== n) {
  19522. var o = t.title, r = o.offsetCenter, s = o.textStyle, l = s.color, h = this._paramsMap[e],
  19523. m = h.center[0] + this.parsePercent(r[0], h.radius[1]),
  19524. V = h.center[1] + this.parsePercent(r[1], h.radius[1]);
  19525. this.shapeList.push(new a({
  19526. zlevel: t.zlevel,
  19527. z: t.z + (Math.abs(m - h.center[0]) + Math.abs(V - h.center[1]) < 2 * s.fontSize ? 2 : 1),
  19528. hoverable: !1,
  19529. style: {
  19530. x: m,
  19531. y: V,
  19532. color: "auto" === l ? this._getColor(e) : l,
  19533. text: n,
  19534. textAlign: "center",
  19535. textFont: this.getFont(s),
  19536. shadowColor: s.shadowColor,
  19537. shadowBlur: s.shadowBlur,
  19538. shadowOffsetX: s.shadowOffsetX,
  19539. shadowOffsetY: s.shadowOffsetY
  19540. }
  19541. }))
  19542. }
  19543. }
  19544. }, _buildDetail: function (e) {
  19545. var t = this.series[e];
  19546. if (t.detail.show) {
  19547. var i = t.detail, n = i.offsetCenter, a = i.backgroundColor, o = i.textStyle, s = o.color,
  19548. l = this._paramsMap[e], h = this._getValue(e),
  19549. m = l.center[0] - i.width / 2 + this.parsePercent(n[0], l.radius[1]),
  19550. V = l.center[1] + this.parsePercent(n[1], l.radius[1]);
  19551. this.shapeList.push(new r({
  19552. zlevel: t.zlevel,
  19553. 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),
  19554. hoverable: !1,
  19555. style: {
  19556. x: m,
  19557. y: V,
  19558. width: i.width,
  19559. height: i.height,
  19560. brushType: "both",
  19561. color: "auto" === a ? this._getColor(e, h) : a,
  19562. lineWidth: i.borderWidth,
  19563. strokeColor: i.borderColor,
  19564. shadowColor: i.shadowColor,
  19565. shadowBlur: i.shadowBlur,
  19566. shadowOffsetX: i.shadowOffsetX,
  19567. shadowOffsetY: i.shadowOffsetY,
  19568. text: this._getLabelText(i.formatter, h),
  19569. textFont: this.getFont(o),
  19570. textPosition: "inside",
  19571. textColor: "auto" === s ? this._getColor(e, h) : s
  19572. }
  19573. }))
  19574. }
  19575. }, _getValue: function (e) {
  19576. return this.getDataFromOption(this.series[e].data[0])
  19577. }, _colorMap: function (e) {
  19578. var t = this.series[e], i = t.min, n = t.max - i, a = t.axisLine.lineStyle.color;
  19579. a instanceof Array || (a = [[1, a]]);
  19580. for (var o = [], r = 0, s = a.length; s > r; r++) o.push([a[r][0] * n + i, a[r][1]]);
  19581. this._paramsMap[e].colorArray = o
  19582. }, _getColor: function (e, t) {
  19583. null == t && (t = this._getValue(e));
  19584. for (var i = this._paramsMap[e].colorArray, n = 0, a = i.length; a > n; n++) if (i[n][0] >= t) return i[n][1];
  19585. return i[i.length - 1][1]
  19586. }, _getSector: function (e, t, i, n, a, o, r, s, h) {
  19587. return new l({
  19588. zlevel: s,
  19589. z: h,
  19590. hoverable: !1,
  19591. style: {
  19592. x: e[0],
  19593. y: e[1],
  19594. r0: t,
  19595. r: i,
  19596. startAngle: n,
  19597. endAngle: a,
  19598. brushType: "fill",
  19599. color: o,
  19600. shadowColor: r.shadowColor,
  19601. shadowBlur: r.shadowBlur,
  19602. shadowOffsetX: r.shadowOffsetX,
  19603. shadowOffsetY: r.shadowOffsetY
  19604. }
  19605. })
  19606. }, _getLabelText: function (e, t) {
  19607. if (e) {
  19608. if ("function" == typeof e) return e.call(this.myChart, t);
  19609. if ("string" == typeof e) return e.replace("{value}", t)
  19610. }
  19611. return t
  19612. }, refresh: function (e) {
  19613. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  19614. }
  19615. }, U.inherits(t, i), e("../chart").define("gauge", t), t
  19616. }),i("echarts/util/shape/GaugePointer", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function (e) {
  19617. function t(e) {
  19618. i.call(this, e)
  19619. }
  19620. var i = e("zrender/shape/Base"), n = e("zrender/tool/util");
  19621. return t.prototype = {
  19622. type: "gauge-pointer", buildPath: function (e, t) {
  19623. var i = t.r, n = t.width, a = t.angle, o = t.x - Math.cos(a) * n * (n >= i / 3 ? 1 : 2),
  19624. r = t.y + Math.sin(a) * n * (n >= i / 3 ? 1 : 2);
  19625. 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)
  19626. }, getRect: function (e) {
  19627. if (e.__rect) return e.__rect;
  19628. var t = 2 * e.width, i = e.x, n = e.y, a = i + Math.cos(e.angle) * e.r, o = n - Math.sin(e.angle) * e.r;
  19629. return e.__rect = {
  19630. x: Math.min(i, a) - t,
  19631. y: Math.min(n, o) - t,
  19632. width: Math.abs(i - a) + t,
  19633. height: Math.abs(n - o) + t
  19634. }, e.__rect
  19635. }, isCover: e("./normalIsCover")
  19636. }, n.inherits(t, i), t
  19637. }),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) {
  19638. function t(e, t, n, a, o) {
  19639. i.call(this, e, t, n, a, o), this.refresh(a)
  19640. }
  19641. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Polygon"),
  19642. r = e("../config");
  19643. r.funnel = {
  19644. zlevel: 0,
  19645. z: 2,
  19646. clickable: !0,
  19647. legendHoverLink: !0,
  19648. x: 80,
  19649. y: 60,
  19650. x2: 80,
  19651. y2: 60,
  19652. min: 0,
  19653. max: 100,
  19654. minSize: "0%",
  19655. maxSize: "100%",
  19656. sort: "descending",
  19657. gap: 0,
  19658. funnelAlign: "center",
  19659. itemStyle: {
  19660. normal: {
  19661. borderColor: "#fff",
  19662. borderWidth: 1,
  19663. label: {show: !0, position: "outer"},
  19664. labelLine: {show: !0, length: 10, lineStyle: {width: 1, type: "solid"}}
  19665. }, emphasis: {borderColor: "rgba(0,0,0,0)", borderWidth: 1, label: {show: !0}, labelLine: {show: !0}}
  19666. }
  19667. };
  19668. var s = e("../util/ecData"), l = e("../util/number"), h = e("zrender/tool/util"), m = e("zrender/tool/color"),
  19669. V = e("zrender/tool/area");
  19670. return t.prototype = {
  19671. type: r.CHART_TYPE_FUNNEL, _buildShape: function () {
  19672. var e = this.series, t = this.component.legend;
  19673. this._paramsMap = {}, this._selected = {}, this.selectedMap = {};
  19674. for (var i, n = 0, a = e.length; a > n; n++) if (e[n].type === r.CHART_TYPE_FUNNEL) {
  19675. 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;
  19676. this._buildSingleFunnel(n), this.buildMark(n)
  19677. }
  19678. this.addShapeList()
  19679. }, _buildSingleFunnel: function (e) {
  19680. var t = this.component.legend, i = this.series[e], n = this._mapData(e), a = this._getLocation(e);
  19681. this._paramsMap[e] = {location: a, data: n};
  19682. 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++);
  19683. if (0 !== r) {
  19684. 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++) if (o = s[h].name, this.selectedMap[o] && !isNaN(s[h].value)) {
  19685. 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) {
  19686. case"left":
  19687. U = a.x;
  19688. break;
  19689. case"right":
  19690. U = a.x + a.width - f;
  19691. break;
  19692. default:
  19693. U = x - f / 2
  19694. }
  19695. 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
  19696. }
  19697. 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 = _)
  19698. }
  19699. }, _buildFunnelCase: function (e) {
  19700. var t = this.series[e];
  19701. if (this.deepQuery([t, this.option], "calculable")) {
  19702. var i = this._paramsMap[e].location, n = 10, a = {
  19703. hoverable: !1,
  19704. style: {
  19705. pointListd: [[i.x - n, i.y - n], [i.x + i.width + n, i.y - n], [i.x + i.width + n, i.y + i.height + n], [i.x - n, i.y + i.height + n]],
  19706. brushType: "stroke",
  19707. lineWidth: 1,
  19708. strokeColor: t.calculableHolderColor || this.ecTheme.calculableHolderColor || r.calculableHolderColor
  19709. }
  19710. };
  19711. return s.pack(a, t, e, void 0, -1), this.setCalculable(a), a = new o(a), this.shapeList.push(a), a
  19712. }
  19713. }, _getLocation: function (e) {
  19714. var t = this.series[e], i = this.zr.getWidth(), n = this.zr.getHeight(), a = this.parsePercent(t.x, i),
  19715. o = this.parsePercent(t.y, n),
  19716. r = null == t.width ? i - a - this.parsePercent(t.x2, i) : this.parsePercent(t.width, i);
  19717. return {
  19718. x: a,
  19719. y: o,
  19720. width: r,
  19721. height: null == t.height ? n - o - this.parsePercent(t.y2, n) : this.parsePercent(t.height, n),
  19722. centerX: a + r / 2
  19723. }
  19724. }, _mapData: function (e) {
  19725. function t(e, t) {
  19726. return "-" === e.value ? 1 : "-" === t.value ? -1 : t.value - e.value
  19727. }
  19728. function i(e, i) {
  19729. return -t(e, i)
  19730. }
  19731. for (var n = this.series[e], a = h.clone(n.data), o = 0, r = a.length; r > o; o++) a[o]._index = o;
  19732. return "none" != n.sort && a.sort("descending" === n.sort ? t : i), a
  19733. }, _buildItem: function (e, t, i, n, a, o, r, l, h) {
  19734. var m = this.series, V = m[e], U = V.data[t], d = this.getPolygon(e, t, i, n, a, o, r, l, h);
  19735. s.pack(d, m[e], e, m[e].data[t], t, m[e].data[t].name), this.shapeList.push(d);
  19736. var p = this.getLabel(e, t, i, n, a, o, r, l, h);
  19737. 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);
  19738. var c = this.getLabelLine(e, t, i, n, a, o, r, l, h);
  19739. this.shapeList.push(c), this._needLabelLine(V, U, !1) || (c.invisible = !0);
  19740. var u = [], y = [];
  19741. 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
  19742. }, _getItemWidth: function (e, t) {
  19743. var i = this.series[e], n = this._paramsMap[e].location, a = i.min, o = i.max,
  19744. r = l.parsePercent(i.minSize, n.width), s = l.parsePercent(i.maxSize, n.width);
  19745. return (t - a) * (s - r) / (o - a) + r
  19746. }, getPolygon: function (e, t, i, n, a, r, s, l, h) {
  19747. var V, U = this.series[e], d = U.data[t], p = [d, U], c = this.deepMerge(p, "itemStyle.normal") || {},
  19748. u = this.deepMerge(p, "itemStyle.emphasis") || {},
  19749. y = this.getItemStyleColor(c.color, e, t, d) || i,
  19750. g = this.getItemStyleColor(u.color, e, t, d) || ("string" == typeof y ? m.lift(y, -.2) : y);
  19751. switch (h) {
  19752. case"left":
  19753. V = n;
  19754. break;
  19755. case"right":
  19756. V = n + (r - s);
  19757. break;
  19758. default:
  19759. V = n + (r - s) / 2
  19760. }
  19761. var b = {
  19762. zlevel: U.zlevel,
  19763. z: U.z,
  19764. clickable: this.deepQuery(p, "clickable"),
  19765. style: {
  19766. pointList: [[n, a], [n + r, a], [V + s, a + l], [V, a + l]],
  19767. brushType: "both",
  19768. color: y,
  19769. lineWidth: c.borderWidth,
  19770. strokeColor: c.borderColor
  19771. },
  19772. highlightStyle: {color: g, lineWidth: u.borderWidth, strokeColor: u.borderColor}
  19773. };
  19774. return this.deepQuery([d, U, this.option], "calculable") && (this.setCalculable(b), b.draggable = !0), new o(b)
  19775. }, getLabel: function (e, t, i, a, o, r, s, l, U) {
  19776. var d, p = this.series[e], c = p.data[t], u = this._paramsMap[e].location,
  19777. y = h.merge(h.clone(c.itemStyle) || {}, p.itemStyle), g = "normal", b = y[g].label,
  19778. f = b.textStyle || {}, k = y[g].labelLine.length, x = this.getLabelText(e, t, g),
  19779. _ = this.getFont(f), L = i;
  19780. 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";
  19781. var W = {
  19782. zlevel: p.zlevel,
  19783. z: p.z + 1,
  19784. style: {
  19785. x: this._getLabelPoint(b.position, a, u, r, s, k, U),
  19786. y: o + l / 2,
  19787. color: f.color || L,
  19788. text: x,
  19789. textAlign: f.align || d,
  19790. textBaseline: f.baseline || "middle",
  19791. textFont: _
  19792. }
  19793. };
  19794. 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 = {
  19795. x: this._getLabelPoint(b.position, a, u, r, s, k, U),
  19796. color: f.color || L,
  19797. text: x,
  19798. textAlign: f.align || d,
  19799. textFont: _,
  19800. brushType: "fill"
  19801. }, new n(W)
  19802. }, getLabelText: function (e, t, i) {
  19803. var n = this.series, a = n[e], o = a.data[t],
  19804. r = this.deepQuery([o, a], "itemStyle." + i + ".label.formatter");
  19805. return r ? "function" == typeof r ? r.call(this.myChart, {
  19806. seriesIndex: e,
  19807. seriesName: a.name || "",
  19808. series: a,
  19809. dataIndex: t,
  19810. data: o,
  19811. name: o.name,
  19812. value: o.value
  19813. }) : "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
  19814. }, getLabelLine: function (e, t, i, n, o, r, s, l, m) {
  19815. var V = this.series[e], U = V.data[t], d = this._paramsMap[e].location,
  19816. p = h.merge(h.clone(U.itemStyle) || {}, V.itemStyle), c = "normal", u = p[c].labelLine,
  19817. y = p[c].labelLine.length, g = u.lineStyle || {}, b = p[c].label;
  19818. b.position = b.position || p.normal.label.position;
  19819. var f = {
  19820. zlevel: V.zlevel,
  19821. z: V.z + 1,
  19822. hoverable: !1,
  19823. style: {
  19824. xStart: this._getLabelLineStartPoint(n, d, r, s, m),
  19825. yStart: o + l / 2,
  19826. xEnd: this._getLabelPoint(b.position, n, d, r, s, y, m),
  19827. yEnd: o + l / 2,
  19828. strokeColor: g.color || i,
  19829. lineType: g.type,
  19830. lineWidth: g.width
  19831. }
  19832. };
  19833. 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 = {
  19834. xEnd: this._getLabelPoint(b.position, n, d, r, s, y, m),
  19835. strokeColor: g.color || i,
  19836. lineType: g.type,
  19837. lineWidth: g.width
  19838. }, new a(f)
  19839. }, _getLabelPoint: function (e, t, i, n, a, o, r) {
  19840. switch (e = "inner" === e || "inside" === e ? "center" : e) {
  19841. case"center":
  19842. return "center" == r ? t + n / 2 : "left" == r ? t + 10 : t + n - 10;
  19843. case"left":
  19844. 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;
  19845. default:
  19846. 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
  19847. }
  19848. }, _getLabelLineStartPoint: function (e, t, i, n, a) {
  19849. return "center" == a ? t.centerX : n > i ? e + Math.min(i, n) / 2 : e + Math.max(i, n) / 2
  19850. }, _needLabel: function (e, t, i) {
  19851. return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".label.show")
  19852. }, _needLabelLine: function (e, t, i) {
  19853. return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".labelLine.show")
  19854. }, refresh: function (e) {
  19855. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  19856. }
  19857. }, h.inherits(t, i), e("../chart").define("funnel", t), t
  19858. }),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) {
  19859. function t(e, t, n, a, o) {
  19860. i.call(this, e, t, n, a, o);
  19861. var r = this;
  19862. r._ondragend = function () {
  19863. r.isDragend = !0
  19864. }, this.refresh(a)
  19865. }
  19866. var i = e("./base"), n = e("../layout/eventRiver"), a = e("zrender/shape/Polygon");
  19867. e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
  19868. var o = e("../config");
  19869. o.eventRiver = {
  19870. zlevel: 0,
  19871. z: 2,
  19872. clickable: !0,
  19873. legendHoverLink: !0,
  19874. itemStyle: {
  19875. normal: {
  19876. borderColor: "rgba(0,0,0,0)",
  19877. borderWidth: 1,
  19878. label: {show: !0, position: "inside", formatter: "{b}"}
  19879. }, emphasis: {borderColor: "rgba(0,0,0,0)", borderWidth: 1, label: {show: !0}}
  19880. }
  19881. };
  19882. var r = e("../util/ecData"), s = e("../util/date"), l = e("zrender/tool/util"), h = e("zrender/tool/color");
  19883. return t.prototype = {
  19884. type: o.CHART_TYPE_EVENTRIVER, _buildShape: function () {
  19885. var e = this.series;
  19886. this.selectedMap = {}, this._dataPreprocessing();
  19887. for (var t = this.component.legend, i = [], a = 0; a < e.length; a++) if (e[a].type === this.type) {
  19888. e[a] = this.reformOption(e[a]), this.legendHoverLink = e[a].legendHoverLink || this.legendHoverLink;
  19889. var o = e[a].name || "";
  19890. if (this.selectedMap[o] = t ? t.isSelected(o) : !0, !this.selectedMap[o]) continue;
  19891. this.buildMark(a), i.push(this.series[a])
  19892. }
  19893. n(i, this._intervalX, this.component.grid.getArea()), this._drawEventRiver(), this.addShapeList()
  19894. }, _dataPreprocessing: function () {
  19895. for (var e, t, i = this.series, n = 0, a = i.length; a > n; n++) if (i[n].type === this.type) {
  19896. e = this.component.xAxis.getAxis(i[n].xAxisIndex || 0);
  19897. for (var o = 0, r = i[n].data.length; r > o; o++) {
  19898. t = i[n].data[o].evolution;
  19899. 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)
  19900. }
  19901. }
  19902. this._intervalX = Math.round(this.component.grid.getWidth() / 40)
  19903. }, _drawEventRiver: function () {
  19904. for (var e = this.series, t = 0; t < e.length; t++) {
  19905. var i = e[t].name || "";
  19906. if (e[t].type === this.type && this.selectedMap[i]) for (var n = 0; n < e[t].data.length; n++) this._drawEventBubble(e[t].data[n], t, n)
  19907. }
  19908. }, _drawEventBubble: function (e, t, i) {
  19909. var n = this.series, o = n[t], s = o.name || "", l = o.data[i], m = [l, o], V = this.component.legend,
  19910. U = V ? V.getColor(s) : this.zr.getColor(t), d = this.deepMerge(m, "itemStyle.normal") || {},
  19911. p = this.deepMerge(m, "itemStyle.emphasis") || {},
  19912. c = this.getItemStyleColor(d.color, t, i, l) || U,
  19913. u = this.getItemStyleColor(p.color, t, i, l) || ("string" == typeof c ? h.lift(c, -.2) : c),
  19914. y = this._calculateControlPoints(e), g = {
  19915. zlevel: o.zlevel,
  19916. z: o.z,
  19917. clickable: this.deepQuery(m, "clickable"),
  19918. style: {
  19919. pointList: y,
  19920. smooth: "spline",
  19921. brushType: "both",
  19922. lineJoin: "round",
  19923. color: c,
  19924. lineWidth: d.borderWidth,
  19925. strokeColor: d.borderColor
  19926. },
  19927. highlightStyle: {color: u, lineWidth: p.borderWidth, strokeColor: p.borderColor},
  19928. draggable: "vertical",
  19929. ondragend: this._ondragend
  19930. };
  19931. 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)
  19932. }, _calculateControlPoints: function (e) {
  19933. var t = this._intervalX, i = e.y, n = e.evolution, a = n.length;
  19934. if (!(1 > a)) {
  19935. for (var o = [], r = [], s = 0; a > s; s++) o.push(n[s].timeScale), r.push(n[s].valueScale);
  19936. var l = [];
  19937. l.push([o[0], i]);
  19938. var s = 0;
  19939. for (s = 0; a - 1 > s; s++) l.push([(o[s] + o[s + 1]) / 2, r[s] / -2 + i]);
  19940. 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]);
  19941. return l
  19942. }
  19943. }, ondragend: function (e, t) {
  19944. this.isDragend && e.target && (t.dragOut = !0, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1)
  19945. }, refresh: function (e) {
  19946. e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
  19947. }
  19948. }, l.inherits(t, i), e("../chart").define("eventRiver", t), t
  19949. }),i("echarts/layout/eventRiver", ["require"], function () {
  19950. function e(e, i, o) {
  19951. function r(e, t) {
  19952. var i = e.importance, n = t.importance;
  19953. return i > n ? -1 : n > i ? 1 : 0
  19954. }
  19955. for (var s = 4, l = 0; l < e.length; l++) {
  19956. for (var h = 0; h < e[l].data.length; h++) {
  19957. null == e[l].data[h].weight && (e[l].data[h].weight = 1);
  19958. for (var m = 0, V = 0; V < e[l].data[h].evolution.length; V++) m += e[l].data[h].evolution[V].valueScale;
  19959. e[l].data[h].importance = m * e[l].data[h].weight
  19960. }
  19961. e[l].data.sort(r)
  19962. }
  19963. for (var l = 0; l < e.length; l++) {
  19964. null == e[l].weight && (e[l].weight = 1);
  19965. for (var m = 0, h = 0; h < e[l].data.length; h++) m += e[l].data[h].weight;
  19966. e[l].importance = m * e[l].weight
  19967. }
  19968. e.sort(r);
  19969. for (var U = Number.MAX_VALUE, d = 0, l = 0; l < e.length; l++) for (var h = 0; h < e[l].data.length; h++) for (var V = 0; V < e[l].data[h].evolution.length; V++) {
  19970. var p = e[l].data[h].evolution[V].timeScale;
  19971. U = Math.min(U, p), d = Math.max(d, p)
  19972. }
  19973. U = ~~U, d = ~~d;
  19974. for (var c = function () {
  19975. var e = d - U + 1 + ~~i;
  19976. if (0 >= e) return [0];
  19977. for (var t = []; e--;) t.push(0);
  19978. return t
  19979. }(), u = c.slice(0), y = [], g = 0, b = 0, l = 0; l < e.length; l++) for (var h = 0; h < e[l].data.length; h++) {
  19980. var f = e[l].data[h];
  19981. f.time = [], f.value = [];
  19982. 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);
  19983. n(f, i, U), f.y = a(u, f, function (e, t) {
  19984. return e.ypx[t]
  19985. }), f._offset = a(c, f, function () {
  19986. return s
  19987. }), g = Math.max(g, f.y + x), b = Math.max(b, f._offset), y.push(f)
  19988. }
  19989. t(y, o, g, b)
  19990. }
  19991. function t(e, t, i, n) {
  19992. 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++) {
  19993. var m = e[l];
  19994. m.y = r + s * m.y + m._offset * o, delete m.time, delete m.value, delete m.xpx, delete m.ypx, delete m._offset;
  19995. for (var V = m.evolution, U = 0, d = V.length; d > U; U++) V[U].valueScale *= s
  19996. }
  19997. }
  19998. function i(e, t, i, n) {
  19999. if (e === i) throw new Error("x0 is equal with x1!!!");
  20000. if (t === n) return function () {
  20001. return t
  20002. };
  20003. var a = (t - n) / (e - i), o = (n * e - t * i) / (e - i);
  20004. return function (e) {
  20005. return a * e + o
  20006. }
  20007. }
  20008. function n(e, t, n) {
  20009. var a = ~~t, o = e.time.length;
  20010. e.xpx = [], e.ypx = [];
  20011. for (var r, s = 0, l = 0, h = 0, m = 0, V = 0; o > s; s++) {
  20012. 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);
  20013. for (var U = l; h > U; U++) e.xpx.push(U - n), e.ypx.push(r(U))
  20014. }
  20015. e.xpx.push(h - n), e.ypx.push(V)
  20016. }
  20017. function a(e, t, i) {
  20018. 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]]);
  20019. for (r = 0; o > r; r++) n = i(t, r), e[t.xpx[r]] = a + n;
  20020. return a
  20021. }
  20022. return e
  20023. }),i("echarts/chart/venn", ["require", "./base", "zrender/shape/Text", "zrender/shape/Circle", "zrender/shape/Path", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function (e) {
  20024. function t(e, t, n, a, o) {
  20025. i.call(this, e, t, n, a, o), this.refresh(a)
  20026. }
  20027. var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Circle"), o = e("zrender/shape/Path"),
  20028. r = e("../config");
  20029. r.venn = {zlevel: 0, z: 1, calculable: !1};
  20030. var s = e("../util/ecData"), l = e("zrender/tool/util");
  20031. return t.prototype = {
  20032. type: r.CHART_TYPE_VENN, _buildShape: function () {
  20033. this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._vennDataCounter = 0;
  20034. for (var e = this.series, t = this.component.legend, i = 0; i < e.length; i++) if (e[i].type === r.CHART_TYPE_VENN) {
  20035. e[i] = this.reformOption(e[i]);
  20036. var n = e[i].name || "";
  20037. if (this.selectedMap[n] = t ? t.isSelected(n) : !0, !this.selectedMap[n]) continue;
  20038. this._buildVenn(i)
  20039. }
  20040. this.addShapeList()
  20041. }, _buildVenn: function (e) {
  20042. var t, i, n = this.series[e], a = n.data;
  20043. 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));
  20044. var o = this.zr.getWidth() / 2 - t,
  20045. r = (t + i) / 2 * Math.sqrt(a[2].value) / Math.sqrt((a[0].value + a[1].value) / 2), s = t + i;
  20046. 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));
  20047. var l = o + s, h = this.zr.getHeight() / 2;
  20048. 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) {
  20049. var m = (t * t - i * i) / (2 * s) + s / 2, V = s / 2 - (t * t - i * i) / (2 * s),
  20050. U = Math.sqrt(t * t - m * m), d = 0, p = 0;
  20051. 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)
  20052. }
  20053. }, _getCoincideLength: function (e, t, i, n, a, o, r, s) {
  20054. var l = (n * n - a * a) / (2 * o) + o / 2, h = o / 2 - (n * n - a * a) / (2 * o), m = Math.acos(l / n),
  20055. V = Math.acos(h / a), U = n * n * Math.PI,
  20056. d = m * n * n - l * n * Math.sin(m) + V * a * a - h * a * Math.sin(V), p = d / U, c = i / e,
  20057. u = Math.abs(p / c);
  20058. 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))
  20059. }, _buildItem: function (e, t, i, n, a, o) {
  20060. var r = this.series, l = r[e], h = this.getCircle(e, t, i, n, a, o);
  20061. if (s.pack(h, l, e, i, t, i.name), this.shapeList.push(h), l.itemStyle.normal.label.show) {
  20062. var m = this.getLabel(e, t, i, n, a, o);
  20063. s.pack(m, l, e, l.data[t], t, l.data[t].name), this.shapeList.push(m)
  20064. }
  20065. }, _buildCoincideItem: function (e, t, i, n, a, r, l, h, m, V) {
  20066. var U = this.series, d = U[e], p = [i, d], c = this.deepMerge(p, "itemStyle.normal") || {},
  20067. u = this.deepMerge(p, "itemStyle.emphasis") || {}, y = c.color || this.zr.getColor(t),
  20068. g = u.color || this.zr.getColor(t),
  20069. b = "M" + n + "," + a + "A" + l + "," + l + ",0," + m + ",1," + n + "," + r + "A" + h + "," + h + ",0," + V + ",1," + n + "," + a,
  20070. f = {color: y, path: b}, k = {
  20071. zlevel: d.zlevel,
  20072. z: d.z,
  20073. style: f,
  20074. highlightStyle: {color: g, lineWidth: u.borderWidth, strokeColor: u.borderColor}
  20075. };
  20076. 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)
  20077. }, getCircle: function (e, t, i, n, o, r) {
  20078. var s = this.series[e], l = [i, s], h = this.deepMerge(l, "itemStyle.normal") || {},
  20079. m = this.deepMerge(l, "itemStyle.emphasis") || {}, V = h.color || this.zr.getColor(t),
  20080. U = m.color || this.zr.getColor(t), d = {
  20081. zlevel: s.zlevel,
  20082. z: s.z,
  20083. clickable: !0,
  20084. style: {x: n, y: o, r: r, brushType: "fill", opacity: 1, color: V},
  20085. highlightStyle: {color: U, lineWidth: m.borderWidth, strokeColor: m.borderColor}
  20086. };
  20087. return this.deepQuery([i, s, this.option], "calculable") && (this.setCalculable(d), d.draggable = !0), new a(d)
  20088. }, getLabel: function (e, t, i, a, o, r) {
  20089. var s = this.series[e], l = s.itemStyle, h = [i, s], m = this.deepMerge(h, "itemStyle.normal") || {},
  20090. V = "normal", U = l[V].label, d = U.textStyle || {}, p = this.getLabelText(t, i, V),
  20091. c = this.getFont(d), u = m.color || this.zr.getColor(t), y = d.fontSize || 12, g = {
  20092. zlevel: s.zlevel,
  20093. z: s.z,
  20094. style: {x: a, y: o - r - y, color: d.color || u, text: p, textFont: c, textAlign: "center"}
  20095. };
  20096. return new n(g)
  20097. }, getLabelText: function (e, t, i) {
  20098. var n = this.series, a = n[0], o = this.deepQuery([t, a], "itemStyle." + i + ".label.formatter");
  20099. 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
  20100. }, refresh: function (e) {
  20101. e && (this.option = e, this.series = e.series), this._buildShape()
  20102. }
  20103. }, l.inherits(t, i), e("../chart").define("venn", t), t
  20104. }),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) {
  20105. function t(e, t, n, a, o) {
  20106. i.call(this, e, t, n, a, o), this.refresh(a);
  20107. var r = this;
  20108. r._onclick = function (e) {
  20109. return r.__onclick(e)
  20110. }, r.zr.on(V.EVENT.CLICK, r._onclick)
  20111. }
  20112. var i = e("./base"), n = e("zrender/tool/area"), a = e("zrender/shape/Rectangle"), o = e("zrender/shape/Text"),
  20113. r = e("zrender/shape/Line"), s = e("../layout/TreeMap"), l = e("../data/Tree"), h = e("../config");
  20114. h.treemap = {
  20115. zlevel: 0,
  20116. z: 1,
  20117. calculable: !1,
  20118. clickable: !0,
  20119. center: ["50%", "50%"],
  20120. size: ["80%", "80%"],
  20121. root: "",
  20122. itemStyle: {
  20123. normal: {
  20124. label: {
  20125. show: !0,
  20126. x: 5,
  20127. y: 12,
  20128. textStyle: {
  20129. align: "left",
  20130. color: "#000",
  20131. fontFamily: "Arial",
  20132. fontSize: 13,
  20133. fontStyle: "normal",
  20134. fontWeight: "normal"
  20135. }
  20136. },
  20137. breadcrumb: {show: !0, textStyle: {}},
  20138. borderWidth: 1,
  20139. borderColor: "#ccc",
  20140. childBorderWidth: 1,
  20141. childBorderColor: "#ccc"
  20142. }, emphasis: {}
  20143. }
  20144. };
  20145. var m = e("../util/ecData"), V = e("zrender/config"), U = (e("zrender/tool/event"), e("zrender/tool/util")),
  20146. d = e("zrender/tool/color");
  20147. return t.prototype = {
  20148. type: h.CHART_TYPE_TREEMAP, refresh: function (e) {
  20149. this.clear(), e && (this.option = e, this.series = this.option.series), this._treesMap = {};
  20150. for (var t = this.series, i = this.component.legend, n = 0; n < t.length; n++) if (t[n].type === h.CHART_TYPE_TREEMAP) {
  20151. t[n] = this.reformOption(t[n]);
  20152. var a = t[n].name || "";
  20153. if (this.selectedMap[a] = i ? i.isSelected(a) : !0, !this.selectedMap[a]) continue;
  20154. this._buildSeries(t[n], n)
  20155. }
  20156. }, _buildSeries: function (e, t) {
  20157. var i = l.fromOptionData(e.name, e.data);
  20158. this._treesMap[t] = i;
  20159. var n = e.root && i.getNodeById(e.root) || i.root;
  20160. this._buildTreemap(n, t)
  20161. }, _buildTreemap: function (e, t) {
  20162. for (var i = this.shapeList, n = 0; n < i.length;) {
  20163. var a = i[n];
  20164. m.get(a, "seriesIndex") === t ? (this.zr.delShape(i[n]), i.splice(n, 1)) : n++
  20165. }
  20166. 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;
  20167. for (var b = 0; b < g.length; b++) y.push(g[b].data.value * c / u);
  20168. for (var f = new s({x: d, y: p, width: h, height: V}), k = f.run(y), x = 0; x < k.length; x++) {
  20169. var _ = g[x].data, L = k[x], W = [_.itemStyle, l], X = this.deepMerge(W);
  20170. 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)
  20171. }
  20172. this.query(r, "itemStyle.normal.breadcrumb.show") && this._buildBreadcrumb(e, t, d, p + V);
  20173. for (var n = o; n < i.length; n++) this.zr.addShape(i[n])
  20174. }, _buildItem: function (e, t, i, n, a) {
  20175. var o = this.series, r = this.getRectangle(e, t, i);
  20176. m.pack(r, o[n], n, e, a, e.name), this.shapeList.push(r)
  20177. }, getRectangle: function (e, t, i) {
  20178. var n = t.emphasis, o = t.normal, r = this.getLabel(t, i, e.name, e.value), s = this.option.hoverable,
  20179. l = {
  20180. zlevel: this.getZlevelBase(),
  20181. z: this.getZBase(),
  20182. hoverable: s,
  20183. clickable: !0,
  20184. style: U.merge({
  20185. x: i.x,
  20186. y: i.y,
  20187. width: i.width,
  20188. height: i.height,
  20189. brushType: "both",
  20190. color: o.color,
  20191. lineWidth: o.borderWidth,
  20192. strokeColor: o.borderColor
  20193. }, r.style, !0),
  20194. highlightStyle: U.merge({
  20195. color: n.color,
  20196. lineWidth: n.borderWidth,
  20197. strokeColor: n.borderColor
  20198. }, r.highlightStyle, !0)
  20199. };
  20200. return new a(l)
  20201. }, getLabel: function (e, t, i, a) {
  20202. var o = e.normal.label.textStyle, r = [e.emphasis.label.textStyle, o], s = this.deepMerge(r),
  20203. l = e.normal.label.formatter, h = this.getLabelText(i, a, l), m = this.getFont(o),
  20204. V = n.getTextWidth(h, m), U = n.getTextHeight(h, m),
  20205. d = this.deepQuery([e.emphasis, e.normal], "label.formatter"), p = this.getLabelText(i, a, d),
  20206. c = this.getFont(s), u = n.getTextWidth(h, c), y = n.getTextHeight(h, c);
  20207. 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 = "";
  20208. var g = {
  20209. style: {
  20210. textX: t.x + e.normal.label.x,
  20211. textY: t.y + e.normal.label.y,
  20212. text: h,
  20213. textPosition: "specific",
  20214. textColor: o.color,
  20215. textFont: m
  20216. },
  20217. highlightStyle: {
  20218. textX: t.x + e.emphasis.label.x,
  20219. textY: t.y + e.emphasis.label.y,
  20220. text: p,
  20221. textColor: s.color,
  20222. textPosition: "specific"
  20223. }
  20224. };
  20225. return g
  20226. }, getLabelText: function (e, t, i) {
  20227. 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
  20228. }, _buildChildrenTreemap: function (e, t, i, n) {
  20229. for (var a = i.width * i.height, o = 0, r = [], l = 0; l < e.length; l++) o += e[l].value;
  20230. for (var h = 0; h < e.length; h++) r.push(e[h].value * a / o);
  20231. for (var V = new s({
  20232. x: i.x,
  20233. y: i.y,
  20234. width: i.width,
  20235. height: i.height
  20236. }), U = V.run(r), d = t.normal.childBorderWidth, p = t.normal.childBorderColor, c = 0; c < U.length; c++) {
  20237. var u = U[c], y = [];
  20238. 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));
  20239. for (var g = 0; g < y.length; g++) m.set(y[g], "seriesIndex", n), this.shapeList.push(y[g])
  20240. }
  20241. }, _getLine: function (e, t, i, n, a, o) {
  20242. var s = {
  20243. zlevel: this.getZlevelBase(),
  20244. z: this.getZBase(),
  20245. hoverable: !1,
  20246. style: {xStart: e, yStart: t, xEnd: i, yEnd: n, lineWidth: a, strokeColor: o}
  20247. };
  20248. return new r(s)
  20249. }, _buildBreadcrumb: function (e, t, i, n) {
  20250. for (var a = [], r = e; r;) a.unshift(r.data.name), r = r.parent;
  20251. for (var s = this.series[t], l = this.query(s, "itemStyle.normal.breadcrumb.textStyle") || {}, h = this.query(s, "itemStyle.emphasis.breadcrumb.textStyle") || {}, V = {
  20252. y: n + 10,
  20253. textBaseline: "top",
  20254. textAlign: "left",
  20255. color: l.color,
  20256. textFont: this.getFont(l)
  20257. }, p = {
  20258. brushType: "fill",
  20259. color: h.color || d.lift(l.color, -.3),
  20260. textFont: this.getFont(h)
  20261. }, c = 0; c < a.length; c++) {
  20262. var u = new o({
  20263. zlevel: this.getZlevelBase(),
  20264. z: this.getZBase(),
  20265. style: U.merge({x: i, text: a[c] + (a.length - 1 - c ? " > " : "")}, V),
  20266. clickable: !0,
  20267. highlightStyle: p
  20268. });
  20269. m.set(u, "seriesIndex", t), m.set(u, "name", a[c]), i += u.getRect(u.style).width, this.shapeList.push(u)
  20270. }
  20271. }, __onclick: function (e) {
  20272. var t = e.target;
  20273. if (t) {
  20274. var i = m.get(t, "seriesIndex"), n = m.get(t, "name"), a = this._treesMap[i], o = a.getNodeById(n);
  20275. o && o.children.length && this._buildTreemap(o, i)
  20276. }
  20277. }
  20278. }, U.inherits(t, i), e("../chart").define("treemap", t), t
  20279. }),i("echarts/layout/TreeMap", ["require"], function () {
  20280. function e(e) {
  20281. ({x: e.x, y: e.y, width: e.width, height: e.height});
  20282. this.x = e.x, this.y = e.y, this.width = e.width, this.height = e.height
  20283. }
  20284. return e.prototype.run = function (e) {
  20285. var t = [];
  20286. return this._squarify(e, {x: this.x, y: this.y, width: this.width, height: this.height}, t), t
  20287. }, e.prototype._squarify = function (e, t, i) {
  20288. var n = "VERTICAL", a = t.width, o = t.height;
  20289. t.width < t.height && (n = "HORIZONTAL", a = t.height, o = t.width);
  20290. for (var r = this._getShapeListInAbstractRow(e, a, o), s = 0; s < r.length; s++) {
  20291. r[s].x = 0, r[s].y = 0;
  20292. for (var l = 0; s > l; l++) r[s].y += r[l].height
  20293. }
  20294. var h = {};
  20295. if ("VERTICAL" == n) {
  20296. for (var m = 0; m < r.length; m++) i.push({
  20297. x: r[m].x + t.x,
  20298. y: r[m].y + t.y,
  20299. width: r[m].width,
  20300. height: r[m].height
  20301. });
  20302. h = {x: r[0].width + t.x, y: t.y, width: t.width - r[0].width, height: t.height}
  20303. } else {
  20304. for (var V = 0; V < r.length; V++) i.push({
  20305. x: r[V].y + t.x,
  20306. y: r[V].x + t.y,
  20307. width: r[V].height,
  20308. height: r[V].width
  20309. });
  20310. h = {x: t.x, y: t.y + r[0].width, width: t.width, height: t.height - r[0].width}
  20311. }
  20312. var U = e.slice(r.length);
  20313. 0 !== U.length && this._squarify(U, h, i)
  20314. }, e.prototype._getShapeListInAbstractRow = function (e, t, i) {
  20315. if (1 === e.length) return [{width: t, height: i}];
  20316. for (var n = 1; n < e.length; n++) {
  20317. var a = this._placeFixedNumberRectangles(e.slice(0, n), t, i),
  20318. o = this._placeFixedNumberRectangles(e.slice(0, n + 1), t, i);
  20319. if (this._isFirstBetter(a, o)) return a
  20320. }
  20321. }, e.prototype._placeFixedNumberRectangles = function (e, t, i) {
  20322. for (var n = e.length, a = [], o = 0, r = 0; r < e.length; r++) o += e[r];
  20323. for (var s = o / i, l = 0; n > l; l++) {
  20324. var h = i * e[l] / o;
  20325. a.push({width: s, height: h})
  20326. }
  20327. return a
  20328. }, e.prototype._isFirstBetter = function (e, t) {
  20329. var i = e[0].height / e[0].width;
  20330. i = i > 1 ? 1 / i : i;
  20331. var n = t[0].height / t[0].width;
  20332. return n = n > 1 ? 1 / n : n, Math.abs(i - 1) <= Math.abs(n - 1) ? !0 : !1
  20333. }, e
  20334. }),i("echarts/data/Tree", ["require", "zrender/tool/util"], function (e) {
  20335. function t(e, t) {
  20336. this.id = e, this.depth = 0, this.height = 0, this.children = [], this.parent = null, this.data = t || null
  20337. }
  20338. function i(e) {
  20339. this.root = new t(e)
  20340. }
  20341. var n = e("zrender/tool/util");
  20342. return t.prototype.add = function (e) {
  20343. var t = this.children;
  20344. e.parent !== this && (t.push(e), e.parent = this)
  20345. }, t.prototype.remove = function (e) {
  20346. var t = this.children, i = n.indexOf(t, e);
  20347. i >= 0 && (t.splice(i, 1), e.parent = null)
  20348. }, t.prototype.traverse = function (e, t) {
  20349. e.call(t, this);
  20350. for (var i = 0; i < this.children.length; i++) this.children[i].traverse(e, t)
  20351. }, t.prototype.updateDepthAndHeight = function (e) {
  20352. var t = 0;
  20353. this.depth = e;
  20354. for (var i = 0; i < this.children.length; i++) {
  20355. var n = this.children[i];
  20356. n.updateDepthAndHeight(e + 1), n.height > t && (t = n.height)
  20357. }
  20358. this.height = t + 1
  20359. }, t.prototype.getNodeById = function (e) {
  20360. if (this.id === e) return this;
  20361. for (var t = 0; t < this.children.length; t++) {
  20362. var i = this.children[t].getNodeById(e);
  20363. if (i) return i
  20364. }
  20365. }, i.prototype.traverse = function (e, t) {
  20366. this.root.traverse(e, t)
  20367. }, i.prototype.getSubTree = function (e) {
  20368. var t = this.getNodeById(e);
  20369. if (t) {
  20370. var n = new i(t.id);
  20371. return n.root = t, n
  20372. }
  20373. }, i.prototype.getNodeById = function (e) {
  20374. return this.root.getNodeById(e)
  20375. }, i.fromOptionData = function (e, n) {
  20376. function a(e, i) {
  20377. var n = new t(e.name, e);
  20378. i.add(n);
  20379. var o = e.children;
  20380. if (o) for (var r = 0; r < o.length; r++) a(o[r], n)
  20381. }
  20382. var o = new i(e), r = o.root;
  20383. r.data = {name: e, children: n};
  20384. for (var s = 0; s < n.length; s++) a(n[s], r);
  20385. return o.root.updateDepthAndHeight(0), o
  20386. }, i.fromGraph = function (e) {
  20387. function n(t) {
  20388. for (var i = e.getNodeById(t.id), a = 0; a < i.outEdges.length; a++) {
  20389. var r = i.outEdges[a], s = o[r.node2.id];
  20390. t.children.push(s), n(s)
  20391. }
  20392. }
  20393. for (var a = {}, o = {}, r = 0; r < e.nodes.length; r++) {
  20394. var s, l = e.nodes[r];
  20395. 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
  20396. }
  20397. var h = [];
  20398. for (var m in a) n(a[m].root), a[m].root.updateDepthAndHeight(0), h.push(a[m]);
  20399. return h
  20400. }, i
  20401. }),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) {
  20402. function t(e, t, n, a, o) {
  20403. i.call(this, e, t, n, a, o), this.refresh(a)
  20404. }
  20405. var i = e("./base"), n = .618, a = e("../util/shape/Icon"), o = e("zrender/shape/Image"),
  20406. r = e("zrender/shape/Line"), s = e("zrender/shape/BezierCurve"), l = e("../layout/Tree"),
  20407. h = e("../data/Tree"), m = e("../config");
  20408. m.tree = {
  20409. zlevel: 1,
  20410. z: 2,
  20411. calculable: !1,
  20412. clickable: !0,
  20413. rootLocation: {},
  20414. orient: "vertical",
  20415. symbol: "circle",
  20416. symbolSize: 20,
  20417. nodePadding: 30,
  20418. layerPadding: 100,
  20419. itemStyle: {normal: {label: {show: !0}, lineStyle: {width: 1, color: "#777", type: "curve"}}, emphasis: {}}
  20420. };
  20421. var V = e("../util/ecData"), U = (e("zrender/config"), e("zrender/tool/event"), e("zrender/tool/util"));
  20422. return t.prototype = {
  20423. type: m.CHART_TYPE_TREE, _buildShape: function (e, t) {
  20424. var i = e.data[0];
  20425. this.tree = h.fromOptionData(i.name, i.children), this.tree.root.data = i, this._setTreeShape(e), this.tree.traverse(function (i) {
  20426. this._buildItem(i, e, t), i.children.length > 0 && this._buildLink(i, e)
  20427. }, this);
  20428. var n = e.roam === !0 || "move" === e.roam, a = e.roam === !0 || "scale" === e.roam;
  20429. this.zr.modLayer(this.getZlevelBase(), {
  20430. panable: n,
  20431. zoomable: a
  20432. }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(m.EFFECT_ZLEVEL, {
  20433. panable: n,
  20434. zoomable: a
  20435. }), this.addShapeList()
  20436. }, _buildItem: function (e, t, i) {
  20437. var n = [e.data, t], r = this.deepQuery(n, "symbol"), s = this.deepMerge(n, "itemStyle.normal") || {},
  20438. l = this.deepMerge(n, "itemStyle.emphasis") || {}, h = s.color || this.zr.getColor(),
  20439. m = l.color || this.zr.getColor(), U = -e.layout.angle || 0;
  20440. e.id === this.tree.root.id && (U = 0);
  20441. var d = "right";
  20442. Math.abs(U) >= Math.PI / 2 && Math.abs(U) < 3 * Math.PI / 2 && (U += Math.PI, d = "left");
  20443. var p = [U, e.layout.position[0], e.layout.position[1]], c = new a({
  20444. zlevel: this.getZlevelBase(),
  20445. z: this.getZBase() + 1,
  20446. rotation: p,
  20447. clickable: this.deepQuery(n, "clickable"),
  20448. style: {
  20449. x: e.layout.position[0] - .5 * e.layout.width,
  20450. y: e.layout.position[1] - .5 * e.layout.height,
  20451. width: e.layout.width,
  20452. height: e.layout.height,
  20453. iconType: r,
  20454. color: h,
  20455. brushType: "both",
  20456. lineWidth: s.borderWidth,
  20457. strokeColor: s.borderColor
  20458. },
  20459. highlightStyle: {color: m, lineWidth: l.borderWidth, strokeColor: l.borderColor}
  20460. });
  20461. c.style.iconType.match("image") && (c.style.image = c.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), c = new o({
  20462. rotation: p,
  20463. style: c.style,
  20464. highlightStyle: c.highlightStyle,
  20465. clickable: c.clickable,
  20466. zlevel: this.getZlevelBase(),
  20467. z: this.getZBase()
  20468. })), 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)
  20469. }, _buildLink: function (e, t) {
  20470. var i = t.itemStyle.normal.lineStyle;
  20471. if ("broken" === i.type) return void this._buildBrokenLine(e, i, t);
  20472. for (var n = 0; n < e.children.length; n++) {
  20473. var a = e.layout.position[0], o = e.layout.position[1], r = e.children[n].layout.position[0],
  20474. s = e.children[n].layout.position[1];
  20475. switch (i.type) {
  20476. case"curve":
  20477. this._buildBezierCurve(e, e.children[n], i, t);
  20478. break;
  20479. case"broken":
  20480. break;
  20481. default:
  20482. var l = this._getLine(a, o, r, s, i);
  20483. this.shapeList.push(l)
  20484. }
  20485. }
  20486. }, _buildBrokenLine: function (e, t, i) {
  20487. var a = U.clone(t);
  20488. a.type = "solid";
  20489. var o = [], r = e.layout.position[0], s = e.layout.position[1], l = i.orient,
  20490. h = e.children[0].layout.position[1], m = r, V = s + (h - s) * (1 - n),
  20491. d = e.children[0].layout.position[0], p = V,
  20492. c = e.children[e.children.length - 1].layout.position[0], u = V;
  20493. if ("horizontal" === l) {
  20494. var y = e.children[0].layout.position[0];
  20495. 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]
  20496. }
  20497. o.push(this._getLine(r, s, m, V, a)), o.push(this._getLine(d, p, c, u, a));
  20498. 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));
  20499. this.shapeList = this.shapeList.concat(o)
  20500. }, _getLine: function (e, t, i, n, a) {
  20501. return e === i && (e = i = this.subPixelOptimize(e, a.width)), t === n && (t = n = this.subPixelOptimize(t, a.width)), new r({
  20502. zlevel: this.getZlevelBase(),
  20503. hoverable: !1,
  20504. style: U.merge({
  20505. xStart: e,
  20506. yStart: t,
  20507. xEnd: i,
  20508. yEnd: n,
  20509. lineType: a.type,
  20510. strokeColor: a.color,
  20511. lineWidth: a.width
  20512. }, a, !0)
  20513. })
  20514. }, _buildBezierCurve: function (e, t, i, a) {
  20515. var o = n, r = a.orient, l = e.layout.position[0], h = e.layout.position[1], m = t.layout.position[0],
  20516. V = t.layout.position[1], d = l, p = (V - h) * o + h, c = m, u = (V - h) * (1 - o) + h;
  20517. if ("horizontal" === r) d = (m - l) * o + l, p = h, c = (m - l) * (1 - o) + l, u = V; else if ("radial" === r) 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; else {
  20518. var y = e.layout.originPosition[0], g = e.layout.originPosition[1], b = t.layout.originPosition[0],
  20519. f = t.layout.originPosition[1], k = this.tree.root.layout.position[0],
  20520. x = this.tree.root.layout.position[1];
  20521. d = y, p = (f - g) * o + g, c = b, u = (f - g) * (1 - o) + g;
  20522. var _ = (d - this.minX) / this.width * Math.PI * 2;
  20523. 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
  20524. }
  20525. var L = new s({
  20526. zlevel: this.getZlevelBase(),
  20527. hoverable: !1,
  20528. style: U.merge({
  20529. xStart: l,
  20530. yStart: h,
  20531. cpX1: d,
  20532. cpY1: p,
  20533. cpX2: c,
  20534. cpY2: u,
  20535. xEnd: m,
  20536. yEnd: V,
  20537. strokeColor: i.color,
  20538. lineWidth: i.width
  20539. }, i, !0)
  20540. });
  20541. this.shapeList.push(L)
  20542. }, _setTreeShape: function (e) {
  20543. var t = new l({nodePadding: e.nodePadding, layerPadding: e.layerPadding});
  20544. this.tree.traverse(function (t) {
  20545. var i = [t.data, e], n = this.deepQuery(i, "symbolSize");
  20546. "number" == typeof n && (n = [n, n]), t.layout = {width: n[0], height: n[1]}
  20547. }, this), t.run(this.tree);
  20548. var i = e.orient, n = e.rootLocation.x, a = e.rootLocation.y, o = this.zr.getWidth(),
  20549. r = this.zr.getHeight();
  20550. 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);
  20551. var s = this.tree.root.layout.position[0];
  20552. if ("radial" === i) {
  20553. var h = 1 / 0, m = 0, V = 0;
  20554. this.tree.traverse(function (e) {
  20555. m = Math.max(m, e.layout.position[0]), h = Math.min(h, e.layout.position[0]), V = Math.max(V, e.layout.width)
  20556. }), this.width = m - h + 2 * V, this.minX = h
  20557. }
  20558. this.tree.traverse(function (t) {
  20559. var o, r;
  20560. if ("vertical" === i && "inverse" === e.direction) o = t.layout.position[0] - s + n, r = a - t.layout.position[1]; else if ("vertical" === i) o = t.layout.position[0] - s + n, r = t.layout.position[1] + a; else if ("horizontal" === i && "inverse" === e.direction) r = t.layout.position[0] - s + a, o = n - t.layout.position[1]; else if ("horizontal" === i) r = t.layout.position[0] - s + a, o = t.layout.position[1] + n; else {
  20561. o = t.layout.position[0], r = t.layout.position[1], t.layout.originPosition = [o, r];
  20562. var l = r, m = (o - h) / this.width * Math.PI * 2;
  20563. o = l * Math.cos(m) + n, r = l * Math.sin(m) + a, t.layout.angle = m
  20564. }
  20565. t.layout.position[0] = o, t.layout.position[1] = r
  20566. }, this)
  20567. }, refresh: function (e) {
  20568. this.clear(), e && (this.option = e, this.series = this.option.series);
  20569. for (var t = this.series, i = this.component.legend, n = 0; n < t.length; n++) if (t[n].type === m.CHART_TYPE_TREE) {
  20570. t[n] = this.reformOption(t[n]);
  20571. var a = t[n].name || "";
  20572. if (this.selectedMap[a] = i ? i.isSelected(a) : !0, !this.selectedMap[a]) continue;
  20573. this._buildSeries(t[n], n)
  20574. }
  20575. }, _buildSeries: function (e, t) {
  20576. this._buildShape(e, t)
  20577. }
  20578. }, U.inherits(t, i), e("../chart").define("tree", t), t
  20579. }),i("echarts/layout/Tree", ["require", "zrender/tool/vector"], function (e) {
  20580. function t(e) {
  20581. e = e || {}, this.nodePadding = e.nodePadding || 30, this.layerPadding = e.layerPadding || 100, this._layerOffsets = [], this._layers = []
  20582. }
  20583. var i = e("zrender/tool/vector");
  20584. return t.prototype.run = function (e) {
  20585. this._layerOffsets.length = 0;
  20586. for (var t = 0; t < e.root.height + 1; t++) this._layerOffsets[t] = 0, this._layers[t] = [];
  20587. this._updateNodeXPosition(e.root);
  20588. var i = e.root;
  20589. this._updateNodeYPosition(i, 0, i.layout.height)
  20590. }, t.prototype._updateNodeXPosition = function (e) {
  20591. var t = 1 / 0, n = -(1 / 0);
  20592. e.layout.position = e.layout.position || i.create();
  20593. for (var a = 0; a < e.children.length; a++) {
  20594. var o = e.children[a];
  20595. this._updateNodeXPosition(o);
  20596. var r = o.layout.position[0];
  20597. t > r && (t = r), r > n && (n = r)
  20598. }
  20599. e.layout.position[0] = e.children.length > 0 ? (t + n) / 2 : 0;
  20600. var s = this._layerOffsets[e.depth] || 0;
  20601. if (s > e.layout.position[0]) {
  20602. var l = s - e.layout.position[0];
  20603. this._shiftSubtree(e, l);
  20604. for (var a = e.depth + 1; a < e.height + e.depth; a++) this._layerOffsets[a] += l
  20605. }
  20606. this._layerOffsets[e.depth] = e.layout.position[0] + e.layout.width + this.nodePadding, this._layers[e.depth].push(e)
  20607. }, t.prototype._shiftSubtree = function (e, t) {
  20608. e.layout.position[0] += t;
  20609. for (var i = 0; i < e.children.length; i++) this._shiftSubtree(e.children[i], t)
  20610. }, t.prototype._updateNodeYPosition = function (e, t, i) {
  20611. e.layout.position[1] = t;
  20612. for (var n = 0, a = 0; a < e.children.length; a++) n = Math.max(e.children[a].layout.height, n);
  20613. var o = this.layerPadding;
  20614. "function" == typeof o && (o = o(e.depth));
  20615. for (var a = 0; a < e.children.length; a++) this._updateNodeYPosition(e.children[a], t + o + i, n)
  20616. }, t
  20617. }),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) {
  20618. function t(e, t, n, a, o) {
  20619. i.call(this, e, t, n, a, o), this.refresh(a)
  20620. }
  20621. var i = e("./base"), n = e("zrender/shape/Text"), a = e("../layout/WordCloud");
  20622. e("../component/grid"), e("../component/dataRange");
  20623. var o = e("../config"), r = e("../util/ecData"), s = e("zrender/tool/util"), l = e("zrender/tool/color");
  20624. return o.wordCloud = {
  20625. zlevel: 0,
  20626. z: 2,
  20627. clickable: !0,
  20628. center: ["50%", "50%"],
  20629. size: ["40%", "40%"],
  20630. textRotation: [0, 90],
  20631. textPadding: 0,
  20632. autoSize: {enable: !0, minSize: 12},
  20633. itemStyle: {
  20634. normal: {
  20635. textStyle: {
  20636. fontSize: function (e) {
  20637. return e.value
  20638. }
  20639. }
  20640. }
  20641. }
  20642. }, t.prototype = {
  20643. type: o.CHART_TYPE_WORDCLOUD, refresh: function (e) {
  20644. e && (this.option = e, this.series = e.series), this._init()
  20645. }, _init: function () {
  20646. var e = this.series;
  20647. this.backupShapeList();
  20648. for (var t = this.component.legend, i = 0; i < e.length; i++) if (e[i].type === o.CHART_TYPE_WORDCLOUD) {
  20649. e[i] = this.reformOption(e[i]);
  20650. var n = e[i].name || "";
  20651. if (this.selectedMap[n] = t ? t.isSelected(n) : !0, !this.selectedMap[n]) continue;
  20652. this.buildMark(i), this._initSerie(e[i])
  20653. }
  20654. }, _initSerie: function (e) {
  20655. var t = e.itemStyle.normal.textStyle,
  20656. i = [this.parsePercent(e.size[0], this.zr.getWidth()) || 200, this.parsePercent(e.size[1], this.zr.getHeight()) || 200],
  20657. n = this.parseCenter(this.zr, e.center), o = {
  20658. size: i,
  20659. wordletype: {autoSizeCal: e.autoSize},
  20660. center: n,
  20661. rotate: e.textRotation,
  20662. padding: e.textPadding,
  20663. font: t.fontFamily,
  20664. fontSize: t.fontSize,
  20665. fontWeight: t.fontWeight,
  20666. fontStyle: t.fontStyle,
  20667. text: function (e) {
  20668. return e.name
  20669. },
  20670. data: e.data
  20671. }, r = new a(o), s = this;
  20672. r.end(function (e) {
  20673. s._buildShapes(e)
  20674. }), r.start()
  20675. }, _buildShapes: function (e) {
  20676. for (var t = e.length, i = 0; t > i; i++) this._buildTextShape(e[i], 0, i);
  20677. this.addShapeList()
  20678. }, _buildTextShape: function (e, t, i) {
  20679. var a = this.series, o = a[t], s = o.name || "", h = o.data[i], m = [h, o], V = this.component.legend,
  20680. U = V ? V.getColor(s) : this.zr.getColor(t), d = this.deepMerge(m, "itemStyle.normal") || {},
  20681. p = this.deepMerge(m, "itemStyle.emphasis") || {},
  20682. c = this.getItemStyleColor(d.color, t, i, h) || U,
  20683. u = this.getItemStyleColor(p.color, t, i, h) || ("string" == typeof c ? l.lift(c, -.2) : c),
  20684. y = new n({
  20685. zlevel: o.zlevel,
  20686. z: o.z,
  20687. hoverable: !0,
  20688. clickable: this.deepQuery(m, "clickable"),
  20689. style: {
  20690. x: 0,
  20691. y: 0,
  20692. text: e.text,
  20693. color: c,
  20694. textFont: [e.style, e.weight, e.size + "px", e.font].join(" "),
  20695. textBaseline: "alphabetic",
  20696. textAlign: "center"
  20697. },
  20698. highlightStyle: {
  20699. brushType: p.borderWidth ? "both" : "fill",
  20700. color: u,
  20701. lineWidth: p.borderWidth || 0,
  20702. strokeColor: p.borderColor
  20703. },
  20704. position: [e.x, e.y],
  20705. rotation: [-e.rotate / 180 * Math.PI, 0, 0]
  20706. });
  20707. r.pack(y, o, t, h, i, h.name), this.shapeList.push(y)
  20708. }
  20709. }, s.inherits(t, i), e("../chart").define("wordCloud", t), t
  20710. }),i("echarts/layout/WordCloud", ["require", "../layout/WordCloudRectZero", "zrender/tool/util"], function (e) {
  20711. function t(e) {
  20712. this._init(e)
  20713. }
  20714. var i = e("../layout/WordCloudRectZero"), n = e("zrender/tool/util");
  20715. return t.prototype = {
  20716. start: function () {
  20717. function e() {
  20718. 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()
  20719. }
  20720. function t() {
  20721. 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);
  20722. s >= i && (p.stop(), p._fixTagPosition(l), V.endcallback(l))
  20723. }
  20724. var n = null, a = 0, o = 0, r = 0, s = -1, l = [], h = null, m = this.wordsdata, V = this.defaultOption,
  20725. U = V.wordletype, d = V.size, p = this, c = new i({type: U.type, width: d[0], height: d[1]});
  20726. return c.calculate(function (t) {
  20727. n = t.initarr, a = t.maxWit, o = t.maxHit, r = t.area, h = t.imgboard, e()
  20728. }, this), this
  20729. }, _fixTagPosition: function (e) {
  20730. for (var t = this.defaultOption.center, i = 0, n = e.length; n > i; i++) e[i].x += t[0], e[i].y += t[1]
  20731. }, stop: function () {
  20732. return this.defaultOption.timer && (clearInterval(this.defaultOption.timer), this.defaultOption.timer = null), this
  20733. }, end: function (e) {
  20734. return e && (this.defaultOption.endcallback = e), this
  20735. }, _init: function (e) {
  20736. this.defaultOption = {}, this._initProperty(e), this._initMethod(e), this._initCanvas(), this._initData(e.data)
  20737. }, _initData: function (e) {
  20738. var t = this, i = t.defaultOption;
  20739. this.wordsdata = e.map(function (e, n) {
  20740. 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
  20741. }).sort(function (e, t) {
  20742. return t.value - e.value
  20743. })
  20744. }, _initMethod: function (e) {
  20745. function t(e) {
  20746. return e.name
  20747. }
  20748. function i() {
  20749. return "sans-serif"
  20750. }
  20751. function n() {
  20752. return "normal"
  20753. }
  20754. function a(e) {
  20755. return e.value
  20756. }
  20757. function o() {
  20758. return 0
  20759. }
  20760. function r(e) {
  20761. return function () {
  20762. return e[Math.round(Math.random() * (e.length - 1))]
  20763. }
  20764. }
  20765. function s() {
  20766. return 0
  20767. }
  20768. function l(e) {
  20769. var t = e[0] / e[1];
  20770. return function (e) {
  20771. return [t * (e *= .1) * Math.cos(e), e * Math.sin(e)]
  20772. }
  20773. }
  20774. function h(e) {
  20775. var t = 4, i = t * e[0] / e[1], n = 0, a = 0;
  20776. return function (e) {
  20777. var o = 0 > e ? -1 : 1;
  20778. switch (Math.sqrt(1 + 4 * o * e) - o & 3) {
  20779. case 0:
  20780. n += i;
  20781. break;
  20782. case 1:
  20783. a += t;
  20784. break;
  20785. case 2:
  20786. n -= i;
  20787. break;
  20788. default:
  20789. a -= t
  20790. }
  20791. return [n, a]
  20792. }
  20793. }
  20794. function m(e) {
  20795. return "function" == typeof e ? e : function () {
  20796. return e
  20797. }
  20798. }
  20799. var V = this.defaultOption;
  20800. 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 () {
  20801. }, V.rectangularSpiral = h, V.archimedeanSpiral = l
  20802. }, _initProperty: function (e) {
  20803. var t = this.defaultOption;
  20804. t.size = e.size || [256, 256], t.wordletype = e.wordletype, t.words = e.words || [], t.timeInterval = 1 / 0, t.timer = null, t.spirals = {
  20805. archimedean: t.archimedeanSpiral,
  20806. rectangular: t.rectangularSpiral
  20807. }, n.merge(t, {
  20808. size: [256, 256],
  20809. wordletype: {type: "RECT", areaPresent: .058, autoSizeCal: {enable: !0, minSize: 12}}
  20810. })
  20811. }, _initCanvas: function () {
  20812. var e, t = Math.PI / 180, i = 64, n = 2048, a = 1;
  20813. "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);
  20814. var o = e.getContext("2d");
  20815. 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
  20816. }, _cloudSprite: function (e, t, i) {
  20817. if (!e.sprite) {
  20818. var n = this.defaultOption.cw, a = this.defaultOption.ch, o = this.defaultOption.c,
  20819. r = this.defaultOption.ratio, s = this.defaultOption.cloudRadians;
  20820. o.clearRect(0, 0, (n << 5) / r, a / r);
  20821. var l = 0, h = 0, m = 0, V = t.length;
  20822. for (--i; ++i < V;) {
  20823. e = t[i], o.save(), o.font = e.style + " " + e.weight + " " + ~~((e.size + 1) / r) + "px " + e.font;
  20824. var U = o.measureText(e.text + "m").width * r, d = e.size << 1;
  20825. if (e.rotate) {
  20826. var p = Math.sin(e.rotate * s), c = Math.cos(e.rotate * s), u = U * c, y = U * p, g = d * c,
  20827. b = d * p;
  20828. 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))
  20829. } else U = U + 31 >> 5 << 5;
  20830. if (d > m && (m = d), l + U >= n << 5 && (l = 0, h += m, m = 0), h + d >= a) break;
  20831. 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
  20832. }
  20833. for (var f = o.getImageData(0, 0, (n << 5) / r, a / r).data, k = []; --i >= 0;) if (e = t[i], e.hasText) {
  20834. for (var U = e.width, x = U >> 5, d = e.y1 - e.y0, _ = 0; d * x > _; _++) k[_] = 0;
  20835. if (l = e.xoff, null == l) return;
  20836. h = e.yoff;
  20837. for (var L = 0, W = -1, X = 0; d > X; X++) {
  20838. for (var _ = 0; U > _; _++) {
  20839. var v = x * X + (_ >> 5),
  20840. w = f[(h + X) * (n << 5) + (l + _) << 2] ? 1 << 31 - _ % 32 : 0;
  20841. k[v] |= w, L |= w
  20842. }
  20843. L ? W = X : (e.y0++, d--, X--, h++)
  20844. }
  20845. e.y1 = e.y0 + W, e.sprite = k.slice(0, (e.y1 - e.y0) * x)
  20846. }
  20847. }
  20848. }, _place: function (e, t, i) {
  20849. function n(e, t, i) {
  20850. i >>= 5;
  20851. 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++) {
  20852. n = 0;
  20853. for (var U = 0; o >= U; U++) if ((n << l | (o > U ? (n = a[V * o + U]) >>> s : 0)) & t[m + U]) return !0;
  20854. m += i
  20855. }
  20856. return !1
  20857. }
  20858. function a(e, t) {
  20859. 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
  20860. }
  20861. for (var o, r, s, l = this.defaultOption.size, h = ([{x: 0, y: 0}, {
  20862. x: l[0],
  20863. y: l[1]
  20864. }], 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; (o = U(p += d)) && (r = ~~o[0], s = ~~o[1], !(Math.min(r, s) > V));) 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)) {
  20865. 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++) {
  20866. c = 0;
  20867. for (var W = 0; y >= W; W++) e[_ + W] |= c << k | (y > W ? (c = u[L * y + W]) >>> f : 0);
  20868. _ += g
  20869. }
  20870. return delete t.sprite, !0
  20871. }
  20872. return !1
  20873. }, _autoCalTextSize: function (e, t, i, n, a) {
  20874. function o(e) {
  20875. c.clearRect(0, 0, (d << 5) / u, p / u), c.save(), c.font = e.style + " " + e.weight + " " + ~~((e.size + 1) / u) + "px " + e.font;
  20876. var t = c.measureText(e.text + "m").width * u, r = e.size << 1;
  20877. t = t + 31 >> 5 << 5, c.restore(), e.aw = t, e.ah = r;
  20878. var s, l, h;
  20879. if (e.rotate) {
  20880. var m = Math.sin(e.rotate * y), V = Math.cos(e.rotate * y), g = t * V, b = t * m, f = r * V,
  20881. k = r * m;
  20882. 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))
  20883. }
  20884. 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))
  20885. }
  20886. function r(e, t) {
  20887. for (var i = e.length, n = 0; i--;) n += t(e[i]);
  20888. return n
  20889. }
  20890. for (var s, l, h = r(e, function (e) {
  20891. return e.size
  20892. }), 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)
  20893. }
  20894. }, t
  20895. }),i("echarts/layout/WordCloudRectZero", ["require"], function () {
  20896. function e(e) {
  20897. this.defaultOption = {type: "RECT"}, this._init(e)
  20898. }
  20899. return e.prototype = {
  20900. RECT: "_calculateRect", _init: function (e) {
  20901. this._initOption(e), this._initCanvas()
  20902. }, _initOption: function (e) {
  20903. for (k in e) this.defaultOption[k] = e[k]
  20904. }, _initCanvas: function () {
  20905. var e = document.createElement("canvas");
  20906. e.width = 1, e.height = 1;
  20907. var t = Math.sqrt(e.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2);
  20908. if (e.width = this.defaultOption.width, e.height = this.defaultOption.height, e.getContext) var i = e.getContext("2d");
  20909. this.canvas = e, this.ctx = i, this.ratio = t
  20910. }, calculate: function (e, t) {
  20911. var i = this.defaultOption.type, n = this[i];
  20912. this[n].call(this, e, t)
  20913. }, _calculateReturn: function (e, t, i) {
  20914. t.call(i, e)
  20915. }, _calculateRect: function (e, t) {
  20916. var i = {}, n = this.defaultOption.width >> 5 << 5, a = this.defaultOption.height;
  20917. 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)
  20918. }, _rectBoard: function (e, t) {
  20919. for (var i = [], n = 0; t > n; n++) i.push({y: n, start: 0, end: e});
  20920. for (var a = [], n = 0; e > n; n++) a.push({x: n, start: 0, end: t});
  20921. return {row: i, cloumn: a}
  20922. }, _rectZeroArray: function (e) {
  20923. for (var t = [], i = e, n = -1; ++n < i;) t[n] = 0;
  20924. return t
  20925. }
  20926. }, e
  20927. }),i("echarts/chart/heatmap", ["require", "./base", "../layer/heatmap", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "zrender/shape/Image", "../chart"], function (e) {
  20928. function t(e, t, n, a, o) {
  20929. i.call(this, e, t, n, a, o), this.refresh(a)
  20930. }
  20931. var i = e("./base"), n = e("../layer/heatmap"), a = e("../config"),
  20932. o = (e("../util/ecData"), e("zrender/tool/util")), r = (e("zrender/tool/color"), e("zrender/shape/Image"));
  20933. return a.heatmap = {zlevel: 0, z: 2, clickable: !0}, t.prototype = {
  20934. type: a.CHART_TYPE_HEATMAP,
  20935. refresh: function (e) {
  20936. this.clear(), e && (this.option = e, this.series = e.series), this._init()
  20937. },
  20938. _init: function () {
  20939. var e = this.series;
  20940. this.backupShapeList();
  20941. for (var t = e.length, i = 0; t > i; ++i) if (e[i].type === a.CHART_TYPE_HEATMAP) {
  20942. e[i] = this.reformOption(e[i]);
  20943. var o = new n(e[i]), s = o.getCanvas(e[i].data, this.zr.getWidth(), this.zr.getHeight()),
  20944. l = new r({
  20945. position: [0, 0],
  20946. scale: [1, 1],
  20947. hoverable: this.option.hoverable,
  20948. style: {x: 0, y: 0, image: s, width: s.width, height: s.height}
  20949. });
  20950. this.shapeList.push(l)
  20951. }
  20952. this.addShapeList()
  20953. }
  20954. }, o.inherits(t, i), e("../chart").define("heatmap", t), t
  20955. });
  20956. var n = t("zrender");
  20957. n.tool = {
  20958. color: t("zrender/tool/color"),
  20959. math: t("zrender/tool/math"),
  20960. util: t("zrender/tool/util"),
  20961. vector: t("zrender/tool/vector"),
  20962. area: t("zrender/tool/area"),
  20963. event: t("zrender/tool/event")
  20964. }, n.animation = {
  20965. Animation: t("zrender/animation/Animation"),
  20966. Cip: t("zrender/animation/Clip"),
  20967. easing: t("zrender/animation/easing")
  20968. };
  20969. var a = t("echarts");
  20970. a.config = t("echarts/config"), a.util = {mapData: {params: t("echarts/util/mapData/params")}}, 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
  20971. }(window);