mdb.js 616 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402
  1. /*!
  2. * Material Design for Bootstrap 4
  3. * Version: MDB FREE 4.12.0
  4. *
  5. *
  6. * Copyright: Material Design for Bootstrap
  7. * https://mdbootstrap.com/
  8. *
  9. * Read the license: https://mdbootstrap.com/general/license/
  10. *
  11. *
  12. * Documentation: https://mdbootstrap.com/
  13. *
  14. * Getting started: https://mdbootstrap.com/docs/jquery/getting-started/download/
  15. *
  16. * Tutorials: https://mdbootstrap.com/education/bootstrap/
  17. *
  18. * Templates: https://mdbootstrap.com/templates/
  19. *
  20. * Support: https://mdbootstrap.com/support/
  21. *
  22. * Contact: office@mdbootstrap.com
  23. *
  24. * Attribution: Animate CSS, Twitter Bootstrap, Materialize CSS, Normalize CSS, Waves JS, WOW JS, Toastr, Chart.js, jquery.easing.js, velocity.min.js, chart.js, wow.js, scrolling-navbar.js, waves.js, forms-free.js, enhanced-modals.js, treeview.js
  25. */
  26. ! function(t) {
  27. var e = {};
  28. function n(r) {
  29. if (e[r]) return e[r].exports;
  30. var i = e[r] = {
  31. i: r,
  32. l: !1,
  33. exports: {}
  34. };
  35. return t[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports
  36. }
  37. n.m = t, n.c = e, n.d = function(t, e, r) {
  38. n.o(t, e) || Object.defineProperty(t, e, {
  39. enumerable: !0,
  40. get: r
  41. })
  42. }, n.r = function(t) {
  43. "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {
  44. value: "Module"
  45. }), Object.defineProperty(t, "__esModule", {
  46. value: !0
  47. })
  48. }, n.t = function(t, e) {
  49. if (1 & e && (t = n(t)), 8 & e) return t;
  50. if (4 & e && "object" == typeof t && t && t.__esModule) return t;
  51. var r = Object.create(null);
  52. if (n.r(r), Object.defineProperty(r, "default", {
  53. enumerable: !0,
  54. value: t
  55. }), 2 & e && "string" != typeof t)
  56. for (var i in t) n.d(r, i, function(e) {
  57. return t[e]
  58. }.bind(null, i));
  59. return r
  60. }, n.n = function(t) {
  61. var e = t && t.__esModule ? function() {
  62. return t.default
  63. } : function() {
  64. return t
  65. };
  66. return n.d(e, "a", e), e
  67. }, n.o = function(t, e) {
  68. return Object.prototype.hasOwnProperty.call(t, e)
  69. }, n.p = "", n(n.s = 146)
  70. }([function(t, e, n) {
  71. (function(e) {
  72. var n = function(t) {
  73. return t && t.Math == Math && t
  74. };
  75. t.exports = n("object" == typeof globalThis && globalThis) || n("object" == typeof window && window) || n("object" == typeof self && self) || n("object" == typeof e && e) || Function("return this")()
  76. }).call(this, n(57))
  77. }, function(t, e) {
  78. t.exports = function(t) {
  79. try {
  80. return !!t()
  81. } catch (t) {
  82. return !0
  83. }
  84. }
  85. }, function(t, e, n) {
  86. var r = n(0),
  87. i = n(15),
  88. o = n(28),
  89. a = n(46),
  90. s = r.Symbol,
  91. l = i("wks");
  92. t.exports = function(t) {
  93. return l[t] || (l[t] = a && s[t] || (a ? s : o)("Symbol." + t))
  94. }
  95. }, function(t, e, n) {
  96. var r = n(0),
  97. i = n(24).f,
  98. o = n(6),
  99. a = n(14),
  100. s = n(21),
  101. l = n(43),
  102. u = n(50);
  103. t.exports = function(t, e) {
  104. var n, c, d, f, h, p = t.target,
  105. g = t.global,
  106. v = t.stat;
  107. if (n = g ? r : v ? r[p] || s(p, {}) : (r[p] || {}).prototype)
  108. for (c in e) {
  109. if (f = e[c], d = t.noTargetGet ? (h = i(n, c)) && h.value : n[c], !u(g ? c : p + (v ? "." : "#") + c, t.forced) && void 0 !== d) {
  110. if (typeof f == typeof d) continue;
  111. l(f, d)
  112. }(t.sham || d && d.sham) && o(f, "sham", !0), a(n, c, f, t)
  113. }
  114. }
  115. }, function(t, e) {
  116. var n = {}.hasOwnProperty;
  117. t.exports = function(t, e) {
  118. return n.call(t, e)
  119. }
  120. }, function(t, e) {
  121. t.exports = function(t) {
  122. return "object" == typeof t ? null !== t : "function" == typeof t
  123. }
  124. }, function(t, e, n) {
  125. var r = n(8),
  126. i = n(9),
  127. o = n(17);
  128. t.exports = r ? function(t, e, n) {
  129. return i.f(t, e, o(1, n))
  130. } : function(t, e, n) {
  131. return t[e] = n, t
  132. }
  133. }, function(t, e, n) {
  134. var r = n(5);
  135. t.exports = function(t) {
  136. if (!r(t)) throw TypeError(String(t) + " is not an object");
  137. return t
  138. }
  139. }, function(t, e, n) {
  140. var r = n(1);
  141. t.exports = !r((function() {
  142. return 7 != Object.defineProperty({}, "a", {
  143. get: function() {
  144. return 7
  145. }
  146. }).a
  147. }))
  148. }, function(t, e, n) {
  149. var r = n(8),
  150. i = n(35),
  151. o = n(7),
  152. a = n(19),
  153. s = Object.defineProperty;
  154. e.f = r ? s : function(t, e, n) {
  155. if (o(t), e = a(e, !0), o(n), i) try {
  156. return s(t, e, n)
  157. } catch (t) {}
  158. if ("get" in n || "set" in n) throw TypeError("Accessors not supported");
  159. return "value" in n && (t[e] = n.value), t
  160. }
  161. }, function(t, e, n) {
  162. var r = n(32),
  163. i = n(13);
  164. t.exports = function(t) {
  165. return r(i(t))
  166. }
  167. }, function(t, e, n) {
  168. var r = n(12),
  169. i = Math.min;
  170. t.exports = function(t) {
  171. return t > 0 ? i(r(t), 9007199254740991) : 0
  172. }
  173. }, function(t, e) {
  174. var n = Math.ceil,
  175. r = Math.floor;
  176. t.exports = function(t) {
  177. return isNaN(t = +t) ? 0 : (t > 0 ? r : n)(t)
  178. }
  179. }, function(t, e) {
  180. t.exports = function(t) {
  181. if (null == t) throw TypeError("Can't call method on " + t);
  182. return t
  183. }
  184. }, function(t, e, n) {
  185. var r = n(0),
  186. i = n(15),
  187. o = n(6),
  188. a = n(4),
  189. s = n(21),
  190. l = n(36),
  191. u = n(22),
  192. c = u.get,
  193. d = u.enforce,
  194. f = String(l).split("toString");
  195. i("inspectSource", (function(t) {
  196. return l.call(t)
  197. })), (t.exports = function(t, e, n, i) {
  198. var l = !!i && !!i.unsafe,
  199. u = !!i && !!i.enumerable,
  200. c = !!i && !!i.noTargetGet;
  201. "function" == typeof n && ("string" != typeof e || a(n, "name") || o(n, "name", e), d(n).source = f.join("string" == typeof e ? e : "")), t !== r ? (l ? !c && t[e] && (u = !0) : delete t[e], u ? t[e] = n : o(t, e, n)) : u ? t[e] = n : s(e, n)
  202. })(Function.prototype, "toString", (function() {
  203. return "function" == typeof this && c(this).source || l.call(this)
  204. }))
  205. }, function(t, e, n) {
  206. var r = n(26),
  207. i = n(59);
  208. (t.exports = function(t, e) {
  209. return i[t] || (i[t] = void 0 !== e ? e : {})
  210. })("versions", []).push({
  211. version: "3.3.2",
  212. mode: r ? "pure" : "global",
  213. copyright: "© 2019 Denis Pushkarev (zloirock.ru)"
  214. })
  215. }, function(t, e, n) {
  216. var r = n(13);
  217. t.exports = function(t) {
  218. return Object(r(t))
  219. }
  220. }, function(t, e) {
  221. t.exports = function(t, e) {
  222. return {
  223. enumerable: !(1 & t),
  224. configurable: !(2 & t),
  225. writable: !(4 & t),
  226. value: e
  227. }
  228. }
  229. }, function(t, e) {
  230. var n = {}.toString;
  231. t.exports = function(t) {
  232. return n.call(t).slice(8, -1)
  233. }
  234. }, function(t, e, n) {
  235. var r = n(5);
  236. t.exports = function(t, e) {
  237. if (!r(t)) return t;
  238. var n, i;
  239. if (e && "function" == typeof(n = t.toString) && !r(i = n.call(t))) return i;
  240. if ("function" == typeof(n = t.valueOf) && !r(i = n.call(t))) return i;
  241. if (!e && "function" == typeof(n = t.toString) && !r(i = n.call(t))) return i;
  242. throw TypeError("Can't convert object to primitive value")
  243. }
  244. }, function(t, e) {
  245. t.exports = {}
  246. }, function(t, e, n) {
  247. var r = n(0),
  248. i = n(6);
  249. t.exports = function(t, e) {
  250. try {
  251. i(r, t, e)
  252. } catch (n) {
  253. r[t] = e
  254. }
  255. return e
  256. }
  257. }, function(t, e, n) {
  258. var r, i, o, a = n(60),
  259. s = n(0),
  260. l = n(5),
  261. u = n(6),
  262. c = n(4),
  263. d = n(23),
  264. f = n(20),
  265. h = s.WeakMap;
  266. if (a) {
  267. var p = new h,
  268. g = p.get,
  269. v = p.has,
  270. m = p.set;
  271. r = function(t, e) {
  272. return m.call(p, t, e), e
  273. }, i = function(t) {
  274. return g.call(p, t) || {}
  275. }, o = function(t) {
  276. return v.call(p, t)
  277. }
  278. } else {
  279. var y = d("state");
  280. f[y] = !0, r = function(t, e) {
  281. return u(t, y, e), e
  282. }, i = function(t) {
  283. return c(t, y) ? t[y] : {}
  284. }, o = function(t) {
  285. return c(t, y)
  286. }
  287. }
  288. t.exports = {
  289. set: r,
  290. get: i,
  291. has: o,
  292. enforce: function(t) {
  293. return o(t) ? i(t) : r(t, {})
  294. },
  295. getterFor: function(t) {
  296. return function(e) {
  297. var n;
  298. if (!l(e) || (n = i(e)).type !== t) throw TypeError("Incompatible receiver, " + t + " required");
  299. return n
  300. }
  301. }
  302. }
  303. }, function(t, e, n) {
  304. var r = n(15),
  305. i = n(28),
  306. o = r("keys");
  307. t.exports = function(t) {
  308. return o[t] || (o[t] = i(t))
  309. }
  310. }, function(t, e, n) {
  311. var r = n(8),
  312. i = n(42),
  313. o = n(17),
  314. a = n(10),
  315. s = n(19),
  316. l = n(4),
  317. u = n(35),
  318. c = Object.getOwnPropertyDescriptor;
  319. e.f = r ? c : function(t, e) {
  320. if (t = a(t), e = s(e, !0), u) try {
  321. return c(t, e)
  322. } catch (t) {}
  323. if (l(t, e)) return o(!i.f.call(t, e), t[e])
  324. }
  325. }, function(t, e, n) {
  326. var r = n(72),
  327. i = n(32),
  328. o = n(16),
  329. a = n(11),
  330. s = n(47),
  331. l = [].push,
  332. u = function(t) {
  333. var e = 1 == t,
  334. n = 2 == t,
  335. u = 3 == t,
  336. c = 4 == t,
  337. d = 6 == t,
  338. f = 5 == t || d;
  339. return function(h, p, g, v) {
  340. for (var m, y, b = o(h), x = i(b), w = r(p, g, 3), S = a(x.length), k = 0, C = v || s, M = e ? C(h, S) : n ? C(h, 0) : void 0; S > k; k++)
  341. if ((f || k in x) && (y = w(m = x[k], k, b), t))
  342. if (e) M[k] = y;
  343. else if (y) switch (t) {
  344. case 3:
  345. return !0;
  346. case 5:
  347. return m;
  348. case 6:
  349. return k;
  350. case 2:
  351. l.call(M, m)
  352. } else if (c) return !1;
  353. return d ? -1 : u || c ? c : M
  354. }
  355. };
  356. t.exports = {
  357. forEach: u(0),
  358. map: u(1),
  359. filter: u(2),
  360. some: u(3),
  361. every: u(4),
  362. find: u(5),
  363. findIndex: u(6)
  364. }
  365. }, function(t, e) {
  366. t.exports = !1
  367. }, function(t, e, n) {
  368. var r = n(39),
  369. i = n(29).concat("length", "prototype");
  370. e.f = Object.getOwnPropertyNames || function(t) {
  371. return r(t, i)
  372. }
  373. }, function(t, e) {
  374. var n = 0,
  375. r = Math.random();
  376. t.exports = function(t) {
  377. return "Symbol(" + String(void 0 === t ? "" : t) + ")_" + (++n + r).toString(36)
  378. }
  379. }, function(t, e) {
  380. t.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"]
  381. }, function(t, e, n) {
  382. var r = n(18);
  383. t.exports = Array.isArray || function(t) {
  384. return "Array" == r(t)
  385. }
  386. }, function(t, e, n) {
  387. var r = n(12),
  388. i = Math.max,
  389. o = Math.min;
  390. t.exports = function(t, e) {
  391. var n = r(t);
  392. return n < 0 ? i(n + e, 0) : o(n, e)
  393. }
  394. }, function(t, e, n) {
  395. var r = n(1),
  396. i = n(18),
  397. o = "".split;
  398. t.exports = r((function() {
  399. return !Object("z").propertyIsEnumerable(0)
  400. })) ? function(t) {
  401. return "String" == i(t) ? o.call(t, "") : Object(t)
  402. } : Object
  403. }, function(t, e, n) {
  404. var r = n(7),
  405. i = n(76),
  406. o = n(29),
  407. a = n(20),
  408. s = n(77),
  409. l = n(38),
  410. u = n(23)("IE_PROTO"),
  411. c = function() {},
  412. d = function() {
  413. var t, e = l("iframe"),
  414. n = o.length;
  415. for (e.style.display = "none", s.appendChild(e), e.src = String("javascript:"), (t = e.contentWindow.document).open(), t.write("<script>document.F=Object<\/script>"), t.close(), d = t.F; n--;) delete d.prototype[o[n]];
  416. return d()
  417. };
  418. t.exports = Object.create || function(t, e) {
  419. var n;
  420. return null !== t ? (c.prototype = r(t), n = new c, c.prototype = null, n[u] = t) : n = d(), void 0 === e ? n : i(n, e)
  421. }, a[u] = !0
  422. }, function(t, e, n) {
  423. var r = n(1),
  424. i = n(2)("species");
  425. t.exports = function(t) {
  426. return !r((function() {
  427. var e = [];
  428. return (e.constructor = {})[i] = function() {
  429. return {
  430. foo: 1
  431. }
  432. }, 1 !== e[t](Boolean).foo
  433. }))
  434. }
  435. }, function(t, e, n) {
  436. var r = n(8),
  437. i = n(1),
  438. o = n(38);
  439. t.exports = !r && !i((function() {
  440. return 7 != Object.defineProperty(o("div"), "a", {
  441. get: function() {
  442. return 7
  443. }
  444. }).a
  445. }))
  446. }, function(t, e, n) {
  447. var r = n(15);
  448. t.exports = r("native-function-to-string", Function.toString)
  449. }, function(t, e, n) {
  450. var r = n(44),
  451. i = n(0),
  452. o = function(t) {
  453. return "function" == typeof t ? t : void 0
  454. };
  455. t.exports = function(t, e) {
  456. return arguments.length < 2 ? o(r[t]) || o(i[t]) : r[t] && r[t][e] || i[t] && i[t][e]
  457. }
  458. }, function(t, e, n) {
  459. var r = n(0),
  460. i = n(5),
  461. o = r.document,
  462. a = i(o) && i(o.createElement);
  463. t.exports = function(t) {
  464. return a ? o.createElement(t) : {}
  465. }
  466. }, function(t, e, n) {
  467. var r = n(4),
  468. i = n(10),
  469. o = n(41).indexOf,
  470. a = n(20);
  471. t.exports = function(t, e) {
  472. var n, s = i(t),
  473. l = 0,
  474. u = [];
  475. for (n in s) !r(a, n) && r(s, n) && u.push(n);
  476. for (; e.length > l;) r(s, n = e[l++]) && (~o(u, n) || u.push(n));
  477. return u
  478. }
  479. }, function(t, e, n) {
  480. "use strict";
  481. var r, i = n(8),
  482. o = n(0),
  483. a = n(5),
  484. s = n(4),
  485. l = n(73),
  486. u = n(6),
  487. c = n(14),
  488. d = n(9).f,
  489. f = n(63),
  490. h = n(69),
  491. p = n(2),
  492. g = n(28),
  493. v = o.DataView,
  494. m = v && v.prototype,
  495. y = o.Int8Array,
  496. b = y && y.prototype,
  497. x = o.Uint8ClampedArray,
  498. w = x && x.prototype,
  499. S = y && f(y),
  500. k = b && f(b),
  501. C = Object.prototype,
  502. M = C.isPrototypeOf,
  503. A = p("toStringTag"),
  504. P = g("TYPED_ARRAY_TAG"),
  505. _ = !(!o.ArrayBuffer || !v),
  506. T = _ && !!h && "Opera" !== l(o.opera),
  507. I = !1,
  508. O = {
  509. Int8Array: 1,
  510. Uint8Array: 1,
  511. Uint8ClampedArray: 1,
  512. Int16Array: 2,
  513. Uint16Array: 2,
  514. Int32Array: 4,
  515. Uint32Array: 4,
  516. Float32Array: 4,
  517. Float64Array: 8
  518. },
  519. F = function(t) {
  520. return a(t) && s(O, l(t))
  521. };
  522. for (r in O) o[r] || (T = !1);
  523. if ((!T || "function" != typeof S || S === Function.prototype) && (S = function() {
  524. throw TypeError("Incorrect invocation")
  525. }, T))
  526. for (r in O) o[r] && h(o[r], S);
  527. if ((!T || !k || k === C) && (k = S.prototype, T))
  528. for (r in O) o[r] && h(o[r].prototype, k);
  529. if (T && f(w) !== k && h(w, k), i && !s(k, A))
  530. for (r in I = !0, d(k, A, {
  531. get: function() {
  532. return a(this) ? this[P] : void 0
  533. }
  534. }), O) o[r] && u(o[r], P, r);
  535. _ && h && f(m) !== C && h(m, C), t.exports = {
  536. NATIVE_ARRAY_BUFFER: _,
  537. NATIVE_ARRAY_BUFFER_VIEWS: T,
  538. TYPED_ARRAY_TAG: I && P,
  539. aTypedArray: function(t) {
  540. if (F(t)) return t;
  541. throw TypeError("Target is not a typed array")
  542. },
  543. aTypedArrayConstructor: function(t) {
  544. if (h) {
  545. if (M.call(S, t)) return t
  546. } else
  547. for (var e in O)
  548. if (s(O, r)) {
  549. var n = o[e];
  550. if (n && (t === n || M.call(n, t))) return t
  551. } throw TypeError("Target is not a typed array constructor")
  552. },
  553. exportProto: function(t, e, n) {
  554. if (i) {
  555. if (n)
  556. for (var r in O) {
  557. var a = o[r];
  558. a && s(a.prototype, t) && delete a.prototype[t]
  559. }
  560. k[t] && !n || c(k, t, n ? e : T && b[t] || e)
  561. }
  562. },
  563. exportStatic: function(t, e, n) {
  564. var r, a;
  565. if (i) {
  566. if (h) {
  567. if (n)
  568. for (r in O)(a = o[r]) && s(a, t) && delete a[t];
  569. if (S[t] && !n) return;
  570. try {
  571. return c(S, t, n ? e : T && y[t] || e)
  572. } catch (t) {}
  573. }
  574. for (r in O) !(a = o[r]) || a[t] && !n || c(a, t, e)
  575. }
  576. },
  577. isView: function(t) {
  578. var e = l(t);
  579. return "DataView" === e || s(O, e)
  580. },
  581. isTypedArray: F,
  582. TypedArray: S,
  583. TypedArrayPrototype: k
  584. }
  585. }, function(t, e, n) {
  586. var r = n(10),
  587. i = n(11),
  588. o = n(31),
  589. a = function(t) {
  590. return function(e, n, a) {
  591. var s, l = r(e),
  592. u = i(l.length),
  593. c = o(a, u);
  594. if (t && n != n) {
  595. for (; u > c;)
  596. if ((s = l[c++]) != s) return !0
  597. } else
  598. for (; u > c; c++)
  599. if ((t || c in l) && l[c] === n) return t || c || 0;
  600. return !t && -1
  601. }
  602. };
  603. t.exports = {
  604. includes: a(!0),
  605. indexOf: a(!1)
  606. }
  607. }, function(t, e, n) {
  608. "use strict";
  609. var r = {}.propertyIsEnumerable,
  610. i = Object.getOwnPropertyDescriptor,
  611. o = i && !r.call({
  612. 1: 2
  613. }, 1);
  614. e.f = o ? function(t) {
  615. var e = i(this, t);
  616. return !!e && e.enumerable
  617. } : r
  618. }, function(t, e, n) {
  619. var r = n(4),
  620. i = n(61),
  621. o = n(24),
  622. a = n(9);
  623. t.exports = function(t, e) {
  624. for (var n = i(e), s = a.f, l = o.f, u = 0; u < n.length; u++) {
  625. var c = n[u];
  626. r(t, c) || s(t, c, l(e, c))
  627. }
  628. }
  629. }, function(t, e, n) {
  630. t.exports = n(0)
  631. }, function(t, e) {
  632. e.f = Object.getOwnPropertySymbols
  633. }, function(t, e, n) {
  634. var r = n(1);
  635. t.exports = !!Object.getOwnPropertySymbols && !r((function() {
  636. return !String(Symbol())
  637. }))
  638. }, function(t, e, n) {
  639. var r = n(5),
  640. i = n(30),
  641. o = n(2)("species");
  642. t.exports = function(t, e) {
  643. var n;
  644. return i(t) && ("function" != typeof(n = t.constructor) || n !== Array && !i(n.prototype) ? r(n) && null === (n = n[o]) && (n = void 0) : n = void 0), new(void 0 === n ? Array : n)(0 === e ? 0 : e)
  645. }
  646. }, function(t, e) {
  647. t.exports = {}
  648. }, function(t, e, n) {
  649. var r = n(9).f,
  650. i = n(4),
  651. o = n(2)("toStringTag");
  652. t.exports = function(t, e, n) {
  653. t && !i(t = n ? t : t.prototype, o) && r(t, o, {
  654. configurable: !0,
  655. value: e
  656. })
  657. }
  658. }, function(t, e, n) {
  659. var r = n(1),
  660. i = /#|\.prototype\./,
  661. o = function(t, e) {
  662. var n = s[a(t)];
  663. return n == u || n != l && ("function" == typeof e ? r(e) : !!e)
  664. },
  665. a = o.normalize = function(t) {
  666. return String(t).replace(i, ".").toLowerCase()
  667. },
  668. s = o.data = {},
  669. l = o.NATIVE = "N",
  670. u = o.POLYFILL = "P";
  671. t.exports = o
  672. }, function(t, e, n) {
  673. "use strict";
  674. var r = n(1);
  675. t.exports = function(t, e) {
  676. var n = [][t];
  677. return !n || !r((function() {
  678. n.call(null, e || function() {
  679. throw 1
  680. }, 1)
  681. }))
  682. }
  683. }, function(t, e, n) {
  684. "use strict";
  685. var r, i, o = n(70),
  686. a = RegExp.prototype.exec,
  687. s = String.prototype.replace,
  688. l = a,
  689. u = (r = /a/, i = /b*/g, a.call(r, "a"), a.call(i, "a"), 0 !== r.lastIndex || 0 !== i.lastIndex),
  690. c = void 0 !== /()??/.exec("")[1];
  691. (u || c) && (l = function(t) {
  692. var e, n, r, i, l = this;
  693. return c && (n = new RegExp("^" + l.source + "$(?!\\s)", o.call(l))), u && (e = l.lastIndex), r = a.call(l, t), u && r && (l.lastIndex = l.global ? r.index + r[0].length : e), c && r && r.length > 1 && s.call(r[0], n, (function() {
  694. for (i = 1; i < arguments.length - 2; i++) void 0 === arguments[i] && (r[i] = void 0)
  695. })), r
  696. }), t.exports = l
  697. }, function(t, e, n) {
  698. var r = n(39),
  699. i = n(29);
  700. t.exports = Object.keys || function(t) {
  701. return r(t, i)
  702. }
  703. }, function(t, e, n) {
  704. "use strict";
  705. var r = n(10),
  706. i = n(62),
  707. o = n(48),
  708. a = n(22),
  709. s = n(67),
  710. l = a.set,
  711. u = a.getterFor("Array Iterator");
  712. t.exports = s(Array, "Array", (function(t, e) {
  713. l(this, {
  714. type: "Array Iterator",
  715. target: r(t),
  716. index: 0,
  717. kind: e
  718. })
  719. }), (function() {
  720. var t = u(this),
  721. e = t.target,
  722. n = t.kind,
  723. r = t.index++;
  724. return !e || r >= e.length ? (t.target = void 0, {
  725. value: void 0,
  726. done: !0
  727. }) : "keys" == n ? {
  728. value: r,
  729. done: !1
  730. } : "values" == n ? {
  731. value: e[r],
  732. done: !1
  733. } : {
  734. value: [r, e[r]],
  735. done: !1
  736. }
  737. }), "values"), o.Arguments = o.Array, i("keys"), i("values"), i("entries")
  738. }, function(t, e) {
  739. (function(e) {
  740. t.exports = e
  741. }).call(this, {})
  742. }, function(t, e) {
  743. t.exports = function(t) {
  744. if ("function" != typeof t) throw TypeError(String(t) + " is not a function");
  745. return t
  746. }
  747. }, function(t, e) {
  748. var n;
  749. n = function() {
  750. return this
  751. }();
  752. try {
  753. n = n || new Function("return this")()
  754. } catch (t) {
  755. "object" == typeof window && (n = window)
  756. }
  757. t.exports = n
  758. }, function(t, e, n) {
  759. "use strict";
  760. var r = n(19),
  761. i = n(9),
  762. o = n(17);
  763. t.exports = function(t, e, n) {
  764. var a = r(e);
  765. a in t ? i.f(t, a, o(0, n)) : t[a] = n
  766. }
  767. }, function(t, e, n) {
  768. var r = n(0),
  769. i = n(21),
  770. o = r["__core-js_shared__"] || i("__core-js_shared__", {});
  771. t.exports = o
  772. }, function(t, e, n) {
  773. var r = n(0),
  774. i = n(36),
  775. o = r.WeakMap;
  776. t.exports = "function" == typeof o && /native code/.test(i.call(o))
  777. }, function(t, e, n) {
  778. var r = n(37),
  779. i = n(27),
  780. o = n(45),
  781. a = n(7);
  782. t.exports = r("Reflect", "ownKeys") || function(t) {
  783. var e = i.f(a(t)),
  784. n = o.f;
  785. return n ? e.concat(n(t)) : e
  786. }
  787. }, function(t, e, n) {
  788. var r = n(2),
  789. i = n(33),
  790. o = n(6),
  791. a = r("unscopables"),
  792. s = Array.prototype;
  793. null == s[a] && o(s, a, i(null)), t.exports = function(t) {
  794. s[a][t] = !0
  795. }
  796. }, function(t, e, n) {
  797. var r = n(4),
  798. i = n(16),
  799. o = n(23),
  800. a = n(95),
  801. s = o("IE_PROTO"),
  802. l = Object.prototype;
  803. t.exports = a ? Object.getPrototypeOf : function(t) {
  804. return t = i(t), r(t, s) ? t[s] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? l : null
  805. }
  806. }, function(t, e, n) {
  807. var r = n(14),
  808. i = n(90),
  809. o = Object.prototype;
  810. i !== o.toString && r(o, "toString", i, {
  811. unsafe: !0
  812. })
  813. }, function(t, e, n) {
  814. e.f = n(2)
  815. }, function(t, e, n) {
  816. var r = n(44),
  817. i = n(4),
  818. o = n(65),
  819. a = n(9).f;
  820. t.exports = function(t) {
  821. var e = r.Symbol || (r.Symbol = {});
  822. i(e, t) || a(e, t, {
  823. value: o.f(t)
  824. })
  825. }
  826. }, function(t, e, n) {
  827. "use strict";
  828. var r = n(3),
  829. i = n(94),
  830. o = n(63),
  831. a = n(69),
  832. s = n(49),
  833. l = n(6),
  834. u = n(14),
  835. c = n(2),
  836. d = n(26),
  837. f = n(48),
  838. h = n(68),
  839. p = h.IteratorPrototype,
  840. g = h.BUGGY_SAFARI_ITERATORS,
  841. v = c("iterator"),
  842. m = function() {
  843. return this
  844. };
  845. t.exports = function(t, e, n, c, h, y, b) {
  846. i(n, e, c);
  847. var x, w, S, k = function(t) {
  848. if (t === h && _) return _;
  849. if (!g && t in A) return A[t];
  850. switch (t) {
  851. case "keys":
  852. case "values":
  853. case "entries":
  854. return function() {
  855. return new n(this, t)
  856. }
  857. }
  858. return function() {
  859. return new n(this)
  860. }
  861. },
  862. C = e + " Iterator",
  863. M = !1,
  864. A = t.prototype,
  865. P = A[v] || A["@@iterator"] || h && A[h],
  866. _ = !g && P || k(h),
  867. T = "Array" == e && A.entries || P;
  868. if (T && (x = o(T.call(new t)), p !== Object.prototype && x.next && (d || o(x) === p || (a ? a(x, p) : "function" != typeof x[v] && l(x, v, m)), s(x, C, !0, !0), d && (f[C] = m))), "values" == h && P && "values" !== P.name && (M = !0, _ = function() {
  869. return P.call(this)
  870. }), d && !b || A[v] === _ || l(A, v, _), f[e] = _, h)
  871. if (w = {
  872. values: k("values"),
  873. keys: y ? _ : k("keys"),
  874. entries: k("entries")
  875. }, b)
  876. for (S in w) !g && !M && S in A || u(A, S, w[S]);
  877. else r({
  878. target: e,
  879. proto: !0,
  880. forced: g || M
  881. }, w);
  882. return w
  883. }
  884. }, function(t, e, n) {
  885. "use strict";
  886. var r, i, o, a = n(63),
  887. s = n(6),
  888. l = n(4),
  889. u = n(2),
  890. c = n(26),
  891. d = u("iterator"),
  892. f = !1;
  893. [].keys && ("next" in (o = [].keys()) ? (i = a(a(o))) !== Object.prototype && (r = i) : f = !0), null == r && (r = {}), c || l(r, d) || s(r, d, (function() {
  894. return this
  895. })), t.exports = {
  896. IteratorPrototype: r,
  897. BUGGY_SAFARI_ITERATORS: f
  898. }
  899. }, function(t, e, n) {
  900. var r = n(7),
  901. i = n(88);
  902. t.exports = Object.setPrototypeOf || ("__proto__" in {} ? function() {
  903. var t, e = !1,
  904. n = {};
  905. try {
  906. (t = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(n, []), e = n instanceof Array
  907. } catch (t) {}
  908. return function(n, o) {
  909. return r(n), i(o), e ? t.call(n, o) : n.__proto__ = o, n
  910. }
  911. }() : void 0)
  912. }, function(t, e, n) {
  913. "use strict";
  914. var r = n(7);
  915. t.exports = function() {
  916. var t = r(this),
  917. e = "";
  918. return t.global && (e += "g"), t.ignoreCase && (e += "i"), t.multiline && (e += "m"), t.dotAll && (e += "s"), t.unicode && (e += "u"), t.sticky && (e += "y"), e
  919. }
  920. }, function(t, e, n) {
  921. var r = n(12),
  922. i = n(13),
  923. o = function(t) {
  924. return function(e, n) {
  925. var o, a, s = String(i(e)),
  926. l = r(n),
  927. u = s.length;
  928. return l < 0 || l >= u ? t ? "" : void 0 : (o = s.charCodeAt(l)) < 55296 || o > 56319 || l + 1 === u || (a = s.charCodeAt(l + 1)) < 56320 || a > 57343 ? t ? s.charAt(l) : o : t ? s.slice(l, l + 2) : a - 56320 + (o - 55296 << 10) + 65536
  929. }
  930. };
  931. t.exports = {
  932. codeAt: o(!1),
  933. charAt: o(!0)
  934. }
  935. }, function(t, e, n) {
  936. var r = n(56);
  937. t.exports = function(t, e, n) {
  938. if (r(t), void 0 === e) return t;
  939. switch (n) {
  940. case 0:
  941. return function() {
  942. return t.call(e)
  943. };
  944. case 1:
  945. return function(n) {
  946. return t.call(e, n)
  947. };
  948. case 2:
  949. return function(n, r) {
  950. return t.call(e, n, r)
  951. };
  952. case 3:
  953. return function(n, r, i) {
  954. return t.call(e, n, r, i)
  955. }
  956. }
  957. return function() {
  958. return t.apply(e, arguments)
  959. }
  960. }
  961. }, function(t, e, n) {
  962. var r = n(18),
  963. i = n(2)("toStringTag"),
  964. o = "Arguments" == r(function() {
  965. return arguments
  966. }());
  967. t.exports = function(t) {
  968. var e, n, a;
  969. return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof(n = function(t, e) {
  970. try {
  971. return t[e]
  972. } catch (t) {}
  973. }(e = Object(t), i)) ? n : o ? r(e) : "Object" == (a = r(e)) && "function" == typeof e.callee ? "Arguments" : a
  974. }
  975. }, function(t, e) {
  976. t.exports = "\t\n\v\f\r                 \u2028\u2029\ufeff"
  977. }, function(t, e, n) {
  978. "use strict";
  979. var r = n(3),
  980. i = n(0),
  981. o = n(26),
  982. a = n(8),
  983. s = n(46),
  984. l = n(1),
  985. u = n(4),
  986. c = n(30),
  987. d = n(5),
  988. f = n(7),
  989. h = n(16),
  990. p = n(10),
  991. g = n(19),
  992. v = n(17),
  993. m = n(33),
  994. y = n(53),
  995. b = n(27),
  996. x = n(93),
  997. w = n(45),
  998. S = n(24),
  999. k = n(9),
  1000. C = n(42),
  1001. M = n(6),
  1002. A = n(14),
  1003. P = n(15),
  1004. _ = n(23),
  1005. T = n(20),
  1006. I = n(28),
  1007. O = n(2),
  1008. F = n(65),
  1009. D = n(66),
  1010. E = n(49),
  1011. L = n(22),
  1012. R = n(25).forEach,
  1013. N = _("hidden"),
  1014. V = O("toPrimitive"),
  1015. z = L.set,
  1016. B = L.getterFor("Symbol"),
  1017. W = Object.prototype,
  1018. j = i.Symbol,
  1019. H = i.JSON,
  1020. q = H && H.stringify,
  1021. U = S.f,
  1022. Y = k.f,
  1023. $ = x.f,
  1024. G = C.f,
  1025. Q = P("symbols"),
  1026. X = P("op-symbols"),
  1027. Z = P("string-to-symbol-registry"),
  1028. J = P("symbol-to-string-registry"),
  1029. K = P("wks"),
  1030. tt = i.QObject,
  1031. et = !tt || !tt.prototype || !tt.prototype.findChild,
  1032. nt = a && l((function() {
  1033. return 7 != m(Y({}, "a", {
  1034. get: function() {
  1035. return Y(this, "a", {
  1036. value: 7
  1037. }).a
  1038. }
  1039. })).a
  1040. })) ? function(t, e, n) {
  1041. var r = U(W, e);
  1042. r && delete W[e], Y(t, e, n), r && t !== W && Y(W, e, r)
  1043. } : Y,
  1044. rt = function(t, e) {
  1045. var n = Q[t] = m(j.prototype);
  1046. return z(n, {
  1047. type: "Symbol",
  1048. tag: t,
  1049. description: e
  1050. }), a || (n.description = e), n
  1051. },
  1052. it = s && "symbol" == typeof j.iterator ? function(t) {
  1053. return "symbol" == typeof t
  1054. } : function(t) {
  1055. return Object(t) instanceof j
  1056. },
  1057. ot = function(t, e, n) {
  1058. t === W && ot(X, e, n), f(t);
  1059. var r = g(e, !0);
  1060. return f(n), u(Q, r) ? (n.enumerable ? (u(t, N) && t[N][r] && (t[N][r] = !1), n = m(n, {
  1061. enumerable: v(0, !1)
  1062. })) : (u(t, N) || Y(t, N, v(1, {})), t[N][r] = !0), nt(t, r, n)) : Y(t, r, n)
  1063. },
  1064. at = function(t, e) {
  1065. f(t);
  1066. var n = p(e),
  1067. r = y(n).concat(ct(n));
  1068. return R(r, (function(e) {
  1069. a && !st.call(n, e) || ot(t, e, n[e])
  1070. })), t
  1071. },
  1072. st = function(t) {
  1073. var e = g(t, !0),
  1074. n = G.call(this, e);
  1075. return !(this === W && u(Q, e) && !u(X, e)) && (!(n || !u(this, e) || !u(Q, e) || u(this, N) && this[N][e]) || n)
  1076. },
  1077. lt = function(t, e) {
  1078. var n = p(t),
  1079. r = g(e, !0);
  1080. if (n !== W || !u(Q, r) || u(X, r)) {
  1081. var i = U(n, r);
  1082. return !i || !u(Q, r) || u(n, N) && n[N][r] || (i.enumerable = !0), i
  1083. }
  1084. },
  1085. ut = function(t) {
  1086. var e = $(p(t)),
  1087. n = [];
  1088. return R(e, (function(t) {
  1089. u(Q, t) || u(T, t) || n.push(t)
  1090. })), n
  1091. },
  1092. ct = function(t) {
  1093. var e = t === W,
  1094. n = $(e ? X : p(t)),
  1095. r = [];
  1096. return R(n, (function(t) {
  1097. !u(Q, t) || e && !u(W, t) || r.push(Q[t])
  1098. })), r
  1099. };
  1100. s || (A((j = function() {
  1101. if (this instanceof j) throw TypeError("Symbol is not a constructor");
  1102. var t = arguments.length && void 0 !== arguments[0] ? String(arguments[0]) : void 0,
  1103. e = I(t),
  1104. n = function(t) {
  1105. this === W && n.call(X, t), u(this, N) && u(this[N], e) && (this[N][e] = !1), nt(this, e, v(1, t))
  1106. };
  1107. return a && et && nt(W, e, {
  1108. configurable: !0,
  1109. set: n
  1110. }), rt(e, t)
  1111. }).prototype, "toString", (function() {
  1112. return B(this).tag
  1113. })), C.f = st, k.f = ot, S.f = lt, b.f = x.f = ut, w.f = ct, a && (Y(j.prototype, "description", {
  1114. configurable: !0,
  1115. get: function() {
  1116. return B(this).description
  1117. }
  1118. }), o || A(W, "propertyIsEnumerable", st, {
  1119. unsafe: !0
  1120. })), F.f = function(t) {
  1121. return rt(O(t), t)
  1122. }), r({
  1123. global: !0,
  1124. wrap: !0,
  1125. forced: !s,
  1126. sham: !s
  1127. }, {
  1128. Symbol: j
  1129. }), R(y(K), (function(t) {
  1130. D(t)
  1131. })), r({
  1132. target: "Symbol",
  1133. stat: !0,
  1134. forced: !s
  1135. }, {
  1136. for: function(t) {
  1137. var e = String(t);
  1138. if (u(Z, e)) return Z[e];
  1139. var n = j(e);
  1140. return Z[e] = n, J[n] = e, n
  1141. },
  1142. keyFor: function(t) {
  1143. if (!it(t)) throw TypeError(t + " is not a symbol");
  1144. if (u(J, t)) return J[t]
  1145. },
  1146. useSetter: function() {
  1147. et = !0
  1148. },
  1149. useSimple: function() {
  1150. et = !1
  1151. }
  1152. }), r({
  1153. target: "Object",
  1154. stat: !0,
  1155. forced: !s,
  1156. sham: !a
  1157. }, {
  1158. create: function(t, e) {
  1159. return void 0 === e ? m(t) : at(m(t), e)
  1160. },
  1161. defineProperty: ot,
  1162. defineProperties: at,
  1163. getOwnPropertyDescriptor: lt
  1164. }), r({
  1165. target: "Object",
  1166. stat: !0,
  1167. forced: !s
  1168. }, {
  1169. getOwnPropertyNames: ut,
  1170. getOwnPropertySymbols: ct
  1171. }), r({
  1172. target: "Object",
  1173. stat: !0,
  1174. forced: l((function() {
  1175. w.f(1)
  1176. }))
  1177. }, {
  1178. getOwnPropertySymbols: function(t) {
  1179. return w.f(h(t))
  1180. }
  1181. }), H && r({
  1182. target: "JSON",
  1183. stat: !0,
  1184. forced: !s || l((function() {
  1185. var t = j();
  1186. return "[null]" != q([t]) || "{}" != q({
  1187. a: t
  1188. }) || "{}" != q(Object(t))
  1189. }))
  1190. }, {
  1191. stringify: function(t) {
  1192. for (var e, n, r = [t], i = 1; arguments.length > i;) r.push(arguments[i++]);
  1193. if (n = e = r[1], (d(e) || void 0 !== t) && !it(t)) return c(e) || (e = function(t, e) {
  1194. if ("function" == typeof n && (e = n.call(this, t, e)), !it(e)) return e
  1195. }), r[1] = e, q.apply(H, r)
  1196. }
  1197. }), j.prototype[V] || M(j.prototype, V, j.prototype.valueOf), E(j, "Symbol"), T[N] = !0
  1198. }, function(t, e, n) {
  1199. var r = n(8),
  1200. i = n(9),
  1201. o = n(7),
  1202. a = n(53);
  1203. t.exports = r ? Object.defineProperties : function(t, e) {
  1204. o(t);
  1205. for (var n, r = a(e), s = r.length, l = 0; s > l;) i.f(t, n = r[l++], e[n]);
  1206. return t
  1207. }
  1208. }, function(t, e, n) {
  1209. var r = n(37);
  1210. t.exports = r("document", "documentElement")
  1211. }, function(t, e, n) {
  1212. "use strict";
  1213. var r = n(3),
  1214. i = n(8),
  1215. o = n(0),
  1216. a = n(4),
  1217. s = n(5),
  1218. l = n(9).f,
  1219. u = n(43),
  1220. c = o.Symbol;
  1221. if (i && "function" == typeof c && (!("description" in c.prototype) || void 0 !== c().description)) {
  1222. var d = {},
  1223. f = function() {
  1224. var t = arguments.length < 1 || void 0 === arguments[0] ? void 0 : String(arguments[0]),
  1225. e = this instanceof f ? new c(t) : void 0 === t ? c() : c(t);
  1226. return "" === t && (d[e] = !0), e
  1227. };
  1228. u(f, c);
  1229. var h = f.prototype = c.prototype;
  1230. h.constructor = f;
  1231. var p = h.toString,
  1232. g = "Symbol(test)" == String(c("test")),
  1233. v = /^Symbol\((.*)\)[^)]+$/;
  1234. l(h, "description", {
  1235. configurable: !0,
  1236. get: function() {
  1237. var t = s(this) ? this.valueOf() : this,
  1238. e = p.call(t);
  1239. if (a(d, t)) return "";
  1240. var n = g ? e.slice(7, -1) : e.replace(v, "$1");
  1241. return "" === n ? void 0 : n
  1242. }
  1243. }), r({
  1244. global: !0,
  1245. forced: !0
  1246. }, {
  1247. Symbol: f
  1248. })
  1249. }
  1250. }, function(t, e, n) {
  1251. n(66)("iterator")
  1252. }, function(t, e, n) {
  1253. "use strict";
  1254. var r = n(3),
  1255. i = n(52);
  1256. r({
  1257. target: "RegExp",
  1258. proto: !0,
  1259. forced: /./.exec !== i
  1260. }, {
  1261. exec: i
  1262. })
  1263. }, function(t, e, n) {
  1264. "use strict";
  1265. var r = n(71).charAt,
  1266. i = n(22),
  1267. o = n(67),
  1268. a = i.set,
  1269. s = i.getterFor("String Iterator");
  1270. o(String, "String", (function(t) {
  1271. a(this, {
  1272. type: "String Iterator",
  1273. string: String(t),
  1274. index: 0
  1275. })
  1276. }), (function() {
  1277. var t, e = s(this),
  1278. n = e.string,
  1279. i = e.index;
  1280. return i >= n.length ? {
  1281. value: void 0,
  1282. done: !0
  1283. } : (t = r(n, i), e.index += t.length, {
  1284. value: t,
  1285. done: !1
  1286. })
  1287. }))
  1288. }, function(t, e, n) {
  1289. "use strict";
  1290. var r = n(6),
  1291. i = n(14),
  1292. o = n(1),
  1293. a = n(2),
  1294. s = n(52),
  1295. l = a("species"),
  1296. u = !o((function() {
  1297. var t = /./;
  1298. return t.exec = function() {
  1299. var t = [];
  1300. return t.groups = {
  1301. a: "7"
  1302. }, t
  1303. }, "7" !== "".replace(t, "$<a>")
  1304. })),
  1305. c = !o((function() {
  1306. var t = /(?:)/,
  1307. e = t.exec;
  1308. t.exec = function() {
  1309. return e.apply(this, arguments)
  1310. };
  1311. var n = "ab".split(t);
  1312. return 2 !== n.length || "a" !== n[0] || "b" !== n[1]
  1313. }));
  1314. t.exports = function(t, e, n, d) {
  1315. var f = a(t),
  1316. h = !o((function() {
  1317. var e = {};
  1318. return e[f] = function() {
  1319. return 7
  1320. }, 7 != "" [t](e)
  1321. })),
  1322. p = h && !o((function() {
  1323. var e = !1,
  1324. n = /a/;
  1325. return n.exec = function() {
  1326. return e = !0, null
  1327. }, "split" === t && (n.constructor = {}, n.constructor[l] = function() {
  1328. return n
  1329. }), n[f](""), !e
  1330. }));
  1331. if (!h || !p || "replace" === t && !u || "split" === t && !c) {
  1332. var g = /./ [f],
  1333. v = n(f, "" [t], (function(t, e, n, r, i) {
  1334. return e.exec === s ? h && !i ? {
  1335. done: !0,
  1336. value: g.call(e, n, r)
  1337. } : {
  1338. done: !0,
  1339. value: t.call(n, e, r)
  1340. } : {
  1341. done: !1
  1342. }
  1343. })),
  1344. m = v[0],
  1345. y = v[1];
  1346. i(String.prototype, t, m), i(RegExp.prototype, f, 2 == e ? function(t, e) {
  1347. return y.call(t, this, e)
  1348. } : function(t) {
  1349. return y.call(t, this)
  1350. }), d && r(RegExp.prototype[f], "sham", !0)
  1351. }
  1352. }
  1353. }, function(t, e, n) {
  1354. var r = n(18),
  1355. i = n(52);
  1356. t.exports = function(t, e) {
  1357. var n = t.exec;
  1358. if ("function" == typeof n) {
  1359. var o = n.call(t, e);
  1360. if ("object" != typeof o) throw TypeError("RegExp exec method returned something other than an Object or null");
  1361. return o
  1362. }
  1363. if ("RegExp" !== r(t)) throw TypeError("RegExp#exec called on incompatible receiver");
  1364. return i.call(t, e)
  1365. }
  1366. }, function(t, e, n) {
  1367. var r = n(0),
  1368. i = n(86),
  1369. o = n(54),
  1370. a = n(6),
  1371. s = n(2),
  1372. l = s("iterator"),
  1373. u = s("toStringTag"),
  1374. c = o.values;
  1375. for (var d in i) {
  1376. var f = r[d],
  1377. h = f && f.prototype;
  1378. if (h) {
  1379. if (h[l] !== c) try {
  1380. a(h, l, c)
  1381. } catch (t) {
  1382. h[l] = c
  1383. }
  1384. if (h[u] || a(h, u, d), i[d])
  1385. for (var p in o)
  1386. if (h[p] !== o[p]) try {
  1387. a(h, p, o[p])
  1388. } catch (t) {
  1389. h[p] = o[p]
  1390. }
  1391. }
  1392. }
  1393. }, function(t, e, n) {
  1394. "use strict";
  1395. var r = n(71).charAt;
  1396. t.exports = function(t, e, n) {
  1397. return e + (n ? r(t, e).length : 1)
  1398. }
  1399. }, function(t, e) {
  1400. t.exports = {
  1401. CSSRuleList: 0,
  1402. CSSStyleDeclaration: 0,
  1403. CSSValueList: 0,
  1404. ClientRectList: 0,
  1405. DOMRectList: 0,
  1406. DOMStringList: 0,
  1407. DOMTokenList: 1,
  1408. DataTransferItemList: 0,
  1409. FileList: 0,
  1410. HTMLAllCollection: 0,
  1411. HTMLCollection: 0,
  1412. HTMLFormElement: 0,
  1413. HTMLSelectElement: 0,
  1414. MediaList: 0,
  1415. MimeTypeArray: 0,
  1416. NamedNodeMap: 0,
  1417. NodeList: 1,
  1418. PaintRequestList: 0,
  1419. Plugin: 0,
  1420. PluginArray: 0,
  1421. SVGLengthList: 0,
  1422. SVGNumberList: 0,
  1423. SVGPathSegList: 0,
  1424. SVGPointList: 0,
  1425. SVGStringList: 0,
  1426. SVGTransformList: 0,
  1427. SourceBufferList: 0,
  1428. StyleSheetList: 0,
  1429. TextTrackCueList: 0,
  1430. TextTrackList: 0,
  1431. TouchList: 0
  1432. }
  1433. }, function(t, e) {
  1434. t.exports = function(t) {
  1435. if (!t.webpackPolyfill) {
  1436. var e = Object.create(t);
  1437. e.children || (e.children = []), Object.defineProperty(e, "loaded", {
  1438. enumerable: !0,
  1439. get: function() {
  1440. return e.l
  1441. }
  1442. }), Object.defineProperty(e, "id", {
  1443. enumerable: !0,
  1444. get: function() {
  1445. return e.i
  1446. }
  1447. }), Object.defineProperty(e, "exports", {
  1448. enumerable: !0
  1449. }), e.webpackPolyfill = 1
  1450. }
  1451. return e
  1452. }
  1453. }, function(t, e, n) {
  1454. var r = n(5);
  1455. t.exports = function(t) {
  1456. if (!r(t) && null !== t) throw TypeError("Can't set " + String(t) + " as a prototype");
  1457. return t
  1458. }
  1459. }, function(t, e, n) {
  1460. "use strict";
  1461. var r = n(3),
  1462. i = n(5),
  1463. o = n(30),
  1464. a = n(31),
  1465. s = n(11),
  1466. l = n(10),
  1467. u = n(58),
  1468. c = n(34),
  1469. d = n(2)("species"),
  1470. f = [].slice,
  1471. h = Math.max;
  1472. r({
  1473. target: "Array",
  1474. proto: !0,
  1475. forced: !c("slice")
  1476. }, {
  1477. slice: function(t, e) {
  1478. var n, r, c, p = l(this),
  1479. g = s(p.length),
  1480. v = a(t, g),
  1481. m = a(void 0 === e ? g : e, g);
  1482. if (o(p) && ("function" != typeof(n = p.constructor) || n !== Array && !o(n.prototype) ? i(n) && null === (n = n[d]) && (n = void 0) : n = void 0, n === Array || void 0 === n)) return f.call(p, v, m);
  1483. for (r = new(void 0 === n ? Array : n)(h(m - v, 0)), c = 0; v < m; v++, c++) v in p && u(r, c, p[v]);
  1484. return r.length = c, r
  1485. }
  1486. })
  1487. }, function(t, e, n) {
  1488. "use strict";
  1489. var r = n(73),
  1490. i = {};
  1491. i[n(2)("toStringTag")] = "z", t.exports = "[object z]" !== String(i) ? function() {
  1492. return "[object " + r(this) + "]"
  1493. } : i.toString
  1494. }, function(t, e, n) {
  1495. var r = n(13),
  1496. i = "[" + n(74) + "]",
  1497. o = RegExp("^" + i + i + "*"),
  1498. a = RegExp(i + i + "*$"),
  1499. s = function(t) {
  1500. return function(e) {
  1501. var n = String(r(e));
  1502. return 1 & t && (n = n.replace(o, "")), 2 & t && (n = n.replace(a, "")), n
  1503. }
  1504. };
  1505. t.exports = {
  1506. start: s(1),
  1507. end: s(2),
  1508. trim: s(3)
  1509. }
  1510. }, function(t, e, n) {
  1511. "use strict";
  1512. var r = n(3),
  1513. i = n(41).indexOf,
  1514. o = n(51),
  1515. a = [].indexOf,
  1516. s = !!a && 1 / [1].indexOf(1, -0) < 0,
  1517. l = o("indexOf");
  1518. r({
  1519. target: "Array",
  1520. proto: !0,
  1521. forced: s || l
  1522. }, {
  1523. indexOf: function(t) {
  1524. return s ? a.apply(this, arguments) || 0 : i(this, t, arguments.length > 1 ? arguments[1] : void 0)
  1525. }
  1526. })
  1527. }, function(t, e, n) {
  1528. var r = n(10),
  1529. i = n(27).f,
  1530. o = {}.toString,
  1531. a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
  1532. t.exports.f = function(t) {
  1533. return a && "[object Window]" == o.call(t) ? function(t) {
  1534. try {
  1535. return i(t)
  1536. } catch (t) {
  1537. return a.slice()
  1538. }
  1539. }(t) : i(r(t))
  1540. }
  1541. }, function(t, e, n) {
  1542. "use strict";
  1543. var r = n(68).IteratorPrototype,
  1544. i = n(33),
  1545. o = n(17),
  1546. a = n(49),
  1547. s = n(48),
  1548. l = function() {
  1549. return this
  1550. };
  1551. t.exports = function(t, e, n) {
  1552. var u = e + " Iterator";
  1553. return t.prototype = i(r, {
  1554. next: o(1, n)
  1555. }), a(t, u, !1, !0), s[u] = l, t
  1556. }
  1557. }, function(t, e, n) {
  1558. var r = n(1);
  1559. t.exports = !r((function() {
  1560. function t() {}
  1561. return t.prototype.constructor = null, Object.getPrototypeOf(new t) !== t.prototype
  1562. }))
  1563. }, function(t, e, n) {
  1564. "use strict";
  1565. var r = n(3),
  1566. i = n(25).map;
  1567. r({
  1568. target: "Array",
  1569. proto: !0,
  1570. forced: !n(34)("map")
  1571. }, {
  1572. map: function(t) {
  1573. return i(this, t, arguments.length > 1 ? arguments[1] : void 0)
  1574. }
  1575. })
  1576. }, function(t, e, n) {
  1577. "use strict";
  1578. var r = n(3),
  1579. i = n(31),
  1580. o = n(12),
  1581. a = n(11),
  1582. s = n(16),
  1583. l = n(47),
  1584. u = n(58),
  1585. c = n(34),
  1586. d = Math.max,
  1587. f = Math.min;
  1588. r({
  1589. target: "Array",
  1590. proto: !0,
  1591. forced: !c("splice")
  1592. }, {
  1593. splice: function(t, e) {
  1594. var n, r, c, h, p, g, v = s(this),
  1595. m = a(v.length),
  1596. y = i(t, m),
  1597. b = arguments.length;
  1598. if (0 === b ? n = r = 0 : 1 === b ? (n = 0, r = m - y) : (n = b - 2, r = f(d(o(e), 0), m - y)), m + n - r > 9007199254740991) throw TypeError("Maximum allowed length exceeded");
  1599. for (c = l(v, r), h = 0; h < r; h++)(p = y + h) in v && u(c, h, v[p]);
  1600. if (c.length = r, n < r) {
  1601. for (h = y; h < m - r; h++) g = h + n, (p = h + r) in v ? v[g] = v[p] : delete v[g];
  1602. for (h = m; h > m - r + n; h--) delete v[h - 1]
  1603. } else if (n > r)
  1604. for (h = m - r; h > y; h--) g = h + n - 1, (p = h + r - 1) in v ? v[g] = v[p] : delete v[g];
  1605. for (h = 0; h < n; h++) v[h + y] = arguments[h + 2];
  1606. return v.length = m - r + n, c
  1607. }
  1608. })
  1609. }, function(t, e, n) {
  1610. "use strict";
  1611. var r = n(82),
  1612. i = n(7),
  1613. o = n(16),
  1614. a = n(11),
  1615. s = n(12),
  1616. l = n(13),
  1617. u = n(85),
  1618. c = n(83),
  1619. d = Math.max,
  1620. f = Math.min,
  1621. h = Math.floor,
  1622. p = /\$([$&'`]|\d\d?|<[^>]*>)/g,
  1623. g = /\$([$&'`]|\d\d?)/g;
  1624. r("replace", 2, (function(t, e, n) {
  1625. return [function(n, r) {
  1626. var i = l(this),
  1627. o = null == n ? void 0 : n[t];
  1628. return void 0 !== o ? o.call(n, i, r) : e.call(String(i), n, r)
  1629. }, function(t, o) {
  1630. var l = n(e, t, this, o);
  1631. if (l.done) return l.value;
  1632. var h = i(t),
  1633. p = String(this),
  1634. g = "function" == typeof o;
  1635. g || (o = String(o));
  1636. var v = h.global;
  1637. if (v) {
  1638. var m = h.unicode;
  1639. h.lastIndex = 0
  1640. }
  1641. for (var y = [];;) {
  1642. var b = c(h, p);
  1643. if (null === b) break;
  1644. if (y.push(b), !v) break;
  1645. "" === String(b[0]) && (h.lastIndex = u(p, a(h.lastIndex), m))
  1646. }
  1647. for (var x, w = "", S = 0, k = 0; k < y.length; k++) {
  1648. b = y[k];
  1649. for (var C = String(b[0]), M = d(f(s(b.index), p.length), 0), A = [], P = 1; P < b.length; P++) A.push(void 0 === (x = b[P]) ? x : String(x));
  1650. var _ = b.groups;
  1651. if (g) {
  1652. var T = [C].concat(A, M, p);
  1653. void 0 !== _ && T.push(_);
  1654. var I = String(o.apply(void 0, T))
  1655. } else I = r(C, p, M, A, _, o);
  1656. M >= S && (w += p.slice(S, M) + I, S = M + C.length)
  1657. }
  1658. return w + p.slice(S)
  1659. }];
  1660. function r(t, n, r, i, a, s) {
  1661. var l = r + t.length,
  1662. u = i.length,
  1663. c = g;
  1664. return void 0 !== a && (a = o(a), c = p), e.call(s, c, (function(e, o) {
  1665. var s;
  1666. switch (o.charAt(0)) {
  1667. case "$":
  1668. return "$";
  1669. case "&":
  1670. return t;
  1671. case "`":
  1672. return n.slice(0, r);
  1673. case "'":
  1674. return n.slice(l);
  1675. case "<":
  1676. s = a[o.slice(1, -1)];
  1677. break;
  1678. default:
  1679. var c = +o;
  1680. if (0 === c) return e;
  1681. if (c > u) {
  1682. var d = h(c / 10);
  1683. return 0 === d ? e : d <= u ? void 0 === i[d - 1] ? o.charAt(1) : i[d - 1] + o.charAt(1) : e
  1684. }
  1685. s = i[c - 1]
  1686. }
  1687. return void 0 === s ? "" : s
  1688. }))
  1689. }
  1690. }))
  1691. }, function(t, e, n) {
  1692. "use strict";
  1693. var r = n(3),
  1694. i = n(32),
  1695. o = n(10),
  1696. a = n(51),
  1697. s = [].join,
  1698. l = i != Object,
  1699. u = a("join", ",");
  1700. r({
  1701. target: "Array",
  1702. proto: !0,
  1703. forced: l || u
  1704. }, {
  1705. join: function(t) {
  1706. return s.call(o(this), void 0 === t ? "," : t)
  1707. }
  1708. })
  1709. }, function(t, e, n) {
  1710. "use strict";
  1711. var r = n(3),
  1712. i = n(1),
  1713. o = n(30),
  1714. a = n(5),
  1715. s = n(16),
  1716. l = n(11),
  1717. u = n(58),
  1718. c = n(47),
  1719. d = n(34),
  1720. f = n(2)("isConcatSpreadable"),
  1721. h = !i((function() {
  1722. var t = [];
  1723. return t[f] = !1, t.concat()[0] !== t
  1724. })),
  1725. p = d("concat"),
  1726. g = function(t) {
  1727. if (!a(t)) return !1;
  1728. var e = t[f];
  1729. return void 0 !== e ? !!e : o(t)
  1730. };
  1731. r({
  1732. target: "Array",
  1733. proto: !0,
  1734. forced: !h || !p
  1735. }, {
  1736. concat: function(t) {
  1737. var e, n, r, i, o, a = s(this),
  1738. d = c(a, 0),
  1739. f = 0;
  1740. for (e = -1, r = arguments.length; e < r; e++)
  1741. if (o = -1 === e ? a : arguments[e], g(o)) {
  1742. if (f + (i = l(o.length)) > 9007199254740991) throw TypeError("Maximum allowed index exceeded");
  1743. for (n = 0; n < i; n++, f++) n in o && u(d, f, o[n])
  1744. } else {
  1745. if (f >= 9007199254740991) throw TypeError("Maximum allowed index exceeded");
  1746. u(d, f++, o)
  1747. } return d.length = f, d
  1748. }
  1749. })
  1750. }, function(t, e, n) {
  1751. "use strict";
  1752. var r = n(3),
  1753. i = n(25).filter;
  1754. r({
  1755. target: "Array",
  1756. proto: !0,
  1757. forced: !n(34)("filter")
  1758. }, {
  1759. filter: function(t) {
  1760. return i(this, t, arguments.length > 1 ? arguments[1] : void 0)
  1761. }
  1762. })
  1763. }, function(t, e, n) {
  1764. var r = n(7),
  1765. i = n(56),
  1766. o = n(2)("species");
  1767. t.exports = function(t, e) {
  1768. var n, a = r(t).constructor;
  1769. return void 0 === a || null == (n = r(a)[o]) ? e : i(n)
  1770. }
  1771. }, function(t, e, n) {
  1772. "use strict";
  1773. var r = n(25).forEach,
  1774. i = n(51);
  1775. t.exports = i("forEach") ? function(t) {
  1776. return r(this, t, arguments.length > 1 ? arguments[1] : void 0)
  1777. } : [].forEach
  1778. }, function(t, e, n) {
  1779. var r = n(14),
  1780. i = Date.prototype,
  1781. o = i.toString,
  1782. a = i.getTime;
  1783. new Date(NaN) + "" != "Invalid Date" && r(i, "toString", (function() {
  1784. var t = a.call(this);
  1785. return t == t ? o.call(this) : "Invalid Date"
  1786. }))
  1787. }, function(t, e, n) {
  1788. var r = n(3),
  1789. i = n(108);
  1790. r({
  1791. global: !0,
  1792. forced: parseFloat != i
  1793. }, {
  1794. parseFloat: i
  1795. })
  1796. }, function(t, e, n) {
  1797. "use strict";
  1798. var r = n(14),
  1799. i = n(7),
  1800. o = n(1),
  1801. a = n(70),
  1802. s = RegExp.prototype,
  1803. l = s.toString,
  1804. u = o((function() {
  1805. return "/a/b" != l.call({
  1806. source: "a",
  1807. flags: "b"
  1808. })
  1809. })),
  1810. c = "toString" != l.name;
  1811. (u || c) && r(RegExp.prototype, "toString", (function() {
  1812. var t = i(this),
  1813. e = String(t.source),
  1814. n = t.flags;
  1815. return "/" + e + "/" + String(void 0 === n && t instanceof RegExp && !("flags" in s) ? a.call(t) : n)
  1816. }), {
  1817. unsafe: !0
  1818. })
  1819. }, function(t, e, n) {
  1820. "use strict";
  1821. var r = n(3),
  1822. i = n(25).find,
  1823. o = n(62),
  1824. a = !0;
  1825. "find" in [] && Array(1).find((function() {
  1826. a = !1
  1827. })), r({
  1828. target: "Array",
  1829. proto: !0,
  1830. forced: a
  1831. }, {
  1832. find: function(t) {
  1833. return i(this, t, arguments.length > 1 ? arguments[1] : void 0)
  1834. }
  1835. }), o("find")
  1836. }, function(t, e, n) {
  1837. var r = n(0),
  1838. i = n(91).trim,
  1839. o = n(74),
  1840. a = r.parseFloat,
  1841. s = 1 / a(o + "-0") != -1 / 0;
  1842. t.exports = s ? function(t) {
  1843. var e = i(String(t)),
  1844. n = a(e);
  1845. return 0 === n && "-" == e.charAt(0) ? -0 : n
  1846. } : a
  1847. }, function(t, e, n) {
  1848. "use strict";
  1849. var r = n(82),
  1850. i = n(116),
  1851. o = n(7),
  1852. a = n(13),
  1853. s = n(102),
  1854. l = n(85),
  1855. u = n(11),
  1856. c = n(83),
  1857. d = n(52),
  1858. f = n(1),
  1859. h = [].push,
  1860. p = Math.min,
  1861. g = !f((function() {
  1862. return !RegExp(4294967295, "y")
  1863. }));
  1864. r("split", 2, (function(t, e, n) {
  1865. var r;
  1866. return r = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length ? function(t, n) {
  1867. var r = String(a(this)),
  1868. o = void 0 === n ? 4294967295 : n >>> 0;
  1869. if (0 === o) return [];
  1870. if (void 0 === t) return [r];
  1871. if (!i(t)) return e.call(r, t, o);
  1872. for (var s, l, u, c = [], f = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), p = 0, g = new RegExp(t.source, f + "g");
  1873. (s = d.call(g, r)) && !((l = g.lastIndex) > p && (c.push(r.slice(p, s.index)), s.length > 1 && s.index < r.length && h.apply(c, s.slice(1)), u = s[0].length, p = l, c.length >= o));) g.lastIndex === s.index && g.lastIndex++;
  1874. return p === r.length ? !u && g.test("") || c.push("") : c.push(r.slice(p)), c.length > o ? c.slice(0, o) : c
  1875. } : "0".split(void 0, 0).length ? function(t, n) {
  1876. return void 0 === t && 0 === n ? [] : e.call(this, t, n)
  1877. } : e, [function(e, n) {
  1878. var i = a(this),
  1879. o = null == e ? void 0 : e[t];
  1880. return void 0 !== o ? o.call(e, i, n) : r.call(String(i), e, n)
  1881. }, function(t, i) {
  1882. var a = n(r, t, this, i, r !== e);
  1883. if (a.done) return a.value;
  1884. var d = o(t),
  1885. f = String(this),
  1886. h = s(d, RegExp),
  1887. v = d.unicode,
  1888. m = (d.ignoreCase ? "i" : "") + (d.multiline ? "m" : "") + (d.unicode ? "u" : "") + (g ? "y" : "g"),
  1889. y = new h(g ? d : "^(?:" + d.source + ")", m),
  1890. b = void 0 === i ? 4294967295 : i >>> 0;
  1891. if (0 === b) return [];
  1892. if (0 === f.length) return null === c(y, f) ? [f] : [];
  1893. for (var x = 0, w = 0, S = []; w < f.length;) {
  1894. y.lastIndex = g ? w : 0;
  1895. var k, C = c(y, g ? f : f.slice(w));
  1896. if (null === C || (k = p(u(y.lastIndex + (g ? 0 : w)), f.length)) === x) w = l(f, w, v);
  1897. else {
  1898. if (S.push(f.slice(x, w)), S.length === b) return S;
  1899. for (var M = 1; M <= C.length - 1; M++)
  1900. if (S.push(C[M]), S.length === b) return S;
  1901. w = x = k
  1902. }
  1903. }
  1904. return S.push(f.slice(x)), S
  1905. }]
  1906. }), !g)
  1907. }, function(t, e, n) {
  1908. "use strict";
  1909. var r = n(3),
  1910. i = n(103);
  1911. r({
  1912. target: "Array",
  1913. proto: !0,
  1914. forced: [].forEach != i
  1915. }, {
  1916. forEach: i
  1917. })
  1918. }, function(t, e, n) {
  1919. var r = n(56),
  1920. i = n(16),
  1921. o = n(32),
  1922. a = n(11),
  1923. s = function(t) {
  1924. return function(e, n, s, l) {
  1925. r(n);
  1926. var u = i(e),
  1927. c = o(u),
  1928. d = a(u.length),
  1929. f = t ? d - 1 : 0,
  1930. h = t ? -1 : 1;
  1931. if (s < 2)
  1932. for (;;) {
  1933. if (f in c) {
  1934. l = c[f], f += h;
  1935. break
  1936. }
  1937. if (f += h, t ? f < 0 : d <= f) throw TypeError("Reduce of empty array with no initial value")
  1938. }
  1939. for (; t ? f >= 0 : d > f; f += h) f in c && (l = n(l, c[f], f, u));
  1940. return l
  1941. }
  1942. };
  1943. t.exports = {
  1944. left: s(!1),
  1945. right: s(!0)
  1946. }
  1947. }, function(t, e, n) {
  1948. "use strict";
  1949. var r = n(8),
  1950. i = n(0),
  1951. o = n(50),
  1952. a = n(14),
  1953. s = n(4),
  1954. l = n(18),
  1955. u = n(113),
  1956. c = n(19),
  1957. d = n(1),
  1958. f = n(33),
  1959. h = n(27).f,
  1960. p = n(24).f,
  1961. g = n(9).f,
  1962. v = n(91).trim,
  1963. m = i.Number,
  1964. y = m.prototype,
  1965. b = "Number" == l(f(y)),
  1966. x = function(t) {
  1967. var e, n, r, i, o, a, s, l, u = c(t, !1);
  1968. if ("string" == typeof u && u.length > 2)
  1969. if (43 === (e = (u = v(u)).charCodeAt(0)) || 45 === e) {
  1970. if (88 === (n = u.charCodeAt(2)) || 120 === n) return NaN
  1971. } else if (48 === e) {
  1972. switch (u.charCodeAt(1)) {
  1973. case 66:
  1974. case 98:
  1975. r = 2, i = 49;
  1976. break;
  1977. case 79:
  1978. case 111:
  1979. r = 8, i = 55;
  1980. break;
  1981. default:
  1982. return +u
  1983. }
  1984. for (a = (o = u.slice(2)).length, s = 0; s < a; s++)
  1985. if ((l = o.charCodeAt(s)) < 48 || l > i) return NaN;
  1986. return parseInt(o, r)
  1987. }
  1988. return +u
  1989. };
  1990. if (o("Number", !m(" 0o1") || !m("0b1") || m("+0x1"))) {
  1991. for (var w, S = function(t) {
  1992. var e = arguments.length < 1 ? 0 : t,
  1993. n = this;
  1994. return n instanceof S && (b ? d((function() {
  1995. y.valueOf.call(n)
  1996. })) : "Number" != l(n)) ? u(new m(x(e)), n, S) : x(e)
  1997. }, k = r ? h(m) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), C = 0; k.length > C; C++) s(m, w = k[C]) && !s(S, w) && g(S, w, p(m, w));
  1998. S.prototype = y, y.constructor = S, a(i, "Number", S)
  1999. }
  2000. }, function(t, e, n) {
  2001. var r = n(5),
  2002. i = n(69);
  2003. t.exports = function(t, e, n) {
  2004. var o, a;
  2005. return i && "function" == typeof(o = e.constructor) && o !== n && r(a = o.prototype) && a !== n.prototype && i(t, a), t
  2006. }
  2007. }, function(t, e, n) {
  2008. "use strict";
  2009. var r = n(82),
  2010. i = n(7),
  2011. o = n(11),
  2012. a = n(13),
  2013. s = n(85),
  2014. l = n(83);
  2015. r("match", 1, (function(t, e, n) {
  2016. return [function(e) {
  2017. var n = a(this),
  2018. r = null == e ? void 0 : e[t];
  2019. return void 0 !== r ? r.call(e, n) : new RegExp(e)[t](String(n))
  2020. }, function(t) {
  2021. var r = n(e, t, this);
  2022. if (r.done) return r.value;
  2023. var a = i(t),
  2024. u = String(this);
  2025. if (!a.global) return l(a, u);
  2026. var c = a.unicode;
  2027. a.lastIndex = 0;
  2028. for (var d, f = [], h = 0; null !== (d = l(a, u));) {
  2029. var p = String(d[0]);
  2030. f[h] = p, "" === p && (a.lastIndex = s(u, o(a.lastIndex), c)), h++
  2031. }
  2032. return 0 === h ? null : f
  2033. }]
  2034. }))
  2035. }, function(t, e, n) {
  2036. var r = n(0),
  2037. i = n(86),
  2038. o = n(103),
  2039. a = n(6);
  2040. for (var s in i) {
  2041. var l = r[s],
  2042. u = l && l.prototype;
  2043. if (u && u.forEach !== o) try {
  2044. a(u, "forEach", o)
  2045. } catch (t) {
  2046. u.forEach = o
  2047. }
  2048. }
  2049. }, function(t, e, n) {
  2050. var r = n(5),
  2051. i = n(18),
  2052. o = n(2)("match");
  2053. t.exports = function(t) {
  2054. var e;
  2055. return r(t) && (void 0 !== (e = t[o]) ? !!e : "RegExp" == i(t))
  2056. }
  2057. }, function(t, e, n) {
  2058. "use strict";
  2059. var r = n(3),
  2060. i = n(12),
  2061. o = n(118),
  2062. a = n(119),
  2063. s = n(1),
  2064. l = 1..toFixed,
  2065. u = Math.floor,
  2066. c = function(t, e, n) {
  2067. return 0 === e ? n : e % 2 == 1 ? c(t, e - 1, n * t) : c(t * t, e / 2, n)
  2068. };
  2069. r({
  2070. target: "Number",
  2071. proto: !0,
  2072. forced: l && ("0.000" !== 8e-5.toFixed(3) || "1" !== .9.toFixed(0) || "1.25" !== 1.255.toFixed(2) || "1000000000000000128" !== (0xde0b6b3a7640080).toFixed(0)) || !s((function() {
  2073. l.call({})
  2074. }))
  2075. }, {
  2076. toFixed: function(t) {
  2077. var e, n, r, s, l = o(this),
  2078. d = i(t),
  2079. f = [0, 0, 0, 0, 0, 0],
  2080. h = "",
  2081. p = "0",
  2082. g = function(t, e) {
  2083. for (var n = -1, r = e; ++n < 6;) r += t * f[n], f[n] = r % 1e7, r = u(r / 1e7)
  2084. },
  2085. v = function(t) {
  2086. for (var e = 6, n = 0; --e >= 0;) n += f[e], f[e] = u(n / t), n = n % t * 1e7
  2087. },
  2088. m = function() {
  2089. for (var t = 6, e = ""; --t >= 0;)
  2090. if ("" !== e || 0 === t || 0 !== f[t]) {
  2091. var n = String(f[t]);
  2092. e = "" === e ? n : e + a.call("0", 7 - n.length) + n
  2093. } return e
  2094. };
  2095. if (d < 0 || d > 20) throw RangeError("Incorrect fraction digits");
  2096. if (l != l) return "NaN";
  2097. if (l <= -1e21 || l >= 1e21) return String(l);
  2098. if (l < 0 && (h = "-", l = -l), l > 1e-21)
  2099. if (n = (e = function(t) {
  2100. for (var e = 0, n = t; n >= 4096;) e += 12, n /= 4096;
  2101. for (; n >= 2;) e += 1, n /= 2;
  2102. return e
  2103. }(l * c(2, 69, 1)) - 69) < 0 ? l * c(2, -e, 1) : l / c(2, e, 1), n *= 4503599627370496, (e = 52 - e) > 0) {
  2104. for (g(0, n), r = d; r >= 7;) g(1e7, 0), r -= 7;
  2105. for (g(c(10, r, 1), 0), r = e - 1; r >= 23;) v(1 << 23), r -= 23;
  2106. v(1 << r), g(1, 1), v(2), p = m()
  2107. } else g(0, n), g(1 << -e, 0), p = m() + a.call("0", d);
  2108. return p = d > 0 ? h + ((s = p.length) <= d ? "0." + a.call("0", d - s) + p : p.slice(0, s - d) + "." + p.slice(s - d)) : h + p
  2109. }
  2110. })
  2111. }, function(t, e, n) {
  2112. var r = n(18);
  2113. t.exports = function(t) {
  2114. if ("number" != typeof t && "Number" != r(t)) throw TypeError("Incorrect invocation");
  2115. return +t
  2116. }
  2117. }, function(t, e, n) {
  2118. "use strict";
  2119. var r = n(12),
  2120. i = n(13);
  2121. t.exports = "".repeat || function(t) {
  2122. var e = String(i(this)),
  2123. n = "",
  2124. o = r(t);
  2125. if (o < 0 || o == 1 / 0) throw RangeError("Wrong number of repetitions");
  2126. for (; o > 0;
  2127. (o >>>= 1) && (e += e)) 1 & o && (n += e);
  2128. return n
  2129. }
  2130. }, function(t, e, n) {
  2131. "use strict";
  2132. var r = n(3),
  2133. i = n(111).left;
  2134. r({
  2135. target: "Array",
  2136. proto: !0,
  2137. forced: n(51)("reduce")
  2138. }, {
  2139. reduce: function(t) {
  2140. return i(this, t, arguments.length, arguments.length > 1 ? arguments[1] : void 0)
  2141. }
  2142. })
  2143. }, function(t, e, n) {
  2144. "use strict";
  2145. var r = n(3),
  2146. i = n(30),
  2147. o = [].reverse,
  2148. a = [1, 2];
  2149. r({
  2150. target: "Array",
  2151. proto: !0,
  2152. forced: String(a) === String(a.reverse())
  2153. }, {
  2154. reverse: function() {
  2155. return i(this) && (this.length = this.length), o.call(this)
  2156. }
  2157. })
  2158. }, function(t, e, n) {
  2159. "use strict";
  2160. var r = n(3),
  2161. i = n(56),
  2162. o = n(16),
  2163. a = n(1),
  2164. s = n(51),
  2165. l = [].sort,
  2166. u = [1, 2, 3],
  2167. c = a((function() {
  2168. u.sort(void 0)
  2169. })),
  2170. d = a((function() {
  2171. u.sort(null)
  2172. })),
  2173. f = s("sort");
  2174. r({
  2175. target: "Array",
  2176. proto: !0,
  2177. forced: c || !d || f
  2178. }, {
  2179. sort: function(t) {
  2180. return void 0 === t ? l.call(o(this)) : l.call(o(this), i(t))
  2181. }
  2182. })
  2183. }, function(t, e, n) {
  2184. var r = n(3),
  2185. i = n(129);
  2186. r({
  2187. global: !0,
  2188. forced: parseInt != i
  2189. }, {
  2190. parseInt: i
  2191. })
  2192. }, function(t, e, n) {
  2193. "use strict";
  2194. var r = n(37),
  2195. i = n(9),
  2196. o = n(2),
  2197. a = n(8),
  2198. s = o("species");
  2199. t.exports = function(t) {
  2200. var e = r(t),
  2201. n = i.f;
  2202. a && e && !e[s] && n(e, s, {
  2203. configurable: !0,
  2204. get: function() {
  2205. return this
  2206. }
  2207. })
  2208. }
  2209. }, , , function(t, e, n) {
  2210. var r = n(8),
  2211. i = n(9).f,
  2212. o = Function.prototype,
  2213. a = o.toString,
  2214. s = /^\s*function ([^ (]*)/;
  2215. !r || "name" in o || i(o, "name", {
  2216. configurable: !0,
  2217. get: function() {
  2218. try {
  2219. return a.call(this).match(s)[1]
  2220. } catch (t) {
  2221. return ""
  2222. }
  2223. }
  2224. })
  2225. }, function(t, e, n) {
  2226. "use strict";
  2227. var r = n(16),
  2228. i = n(31),
  2229. o = n(11);
  2230. t.exports = function(t) {
  2231. for (var e = r(this), n = o(e.length), a = arguments.length, s = i(a > 1 ? arguments[1] : void 0, n), l = a > 2 ? arguments[2] : void 0, u = void 0 === l ? n : i(l, n); u > s;) e[s++] = t;
  2232. return e
  2233. }
  2234. }, function(t, e, n) {
  2235. var r = n(0),
  2236. i = n(91).trim,
  2237. o = n(74),
  2238. a = r.parseInt,
  2239. s = /^[+-]?0[Xx]/,
  2240. l = 8 !== a(o + "08") || 22 !== a(o + "0x16");
  2241. t.exports = l ? function(t, e) {
  2242. var n = i(String(t));
  2243. return a(n, e >>> 0 || (s.test(n) ? 16 : 10))
  2244. } : a
  2245. }, function(t, e, n) {
  2246. var r = n(8),
  2247. i = n(0),
  2248. o = n(50),
  2249. a = n(113),
  2250. s = n(9).f,
  2251. l = n(27).f,
  2252. u = n(116),
  2253. c = n(70),
  2254. d = n(14),
  2255. f = n(1),
  2256. h = n(124),
  2257. p = n(2)("match"),
  2258. g = i.RegExp,
  2259. v = g.prototype,
  2260. m = /a/g,
  2261. y = /a/g,
  2262. b = new g(m) !== m;
  2263. if (r && o("RegExp", !b || f((function() {
  2264. return y[p] = !1, g(m) != m || g(y) == y || "/a/i" != g(m, "i")
  2265. })))) {
  2266. for (var x = function(t, e) {
  2267. var n = this instanceof x,
  2268. r = u(t),
  2269. i = void 0 === e;
  2270. return !n && r && t.constructor === x && i ? t : a(b ? new g(r && !i ? t.source : t, e) : g((r = t instanceof x) ? t.source : t, r && i ? c.call(t) : e), n ? this : v, x)
  2271. }, w = function(t) {
  2272. t in x || s(x, t, {
  2273. configurable: !0,
  2274. get: function() {
  2275. return g[t]
  2276. },
  2277. set: function(e) {
  2278. g[t] = e
  2279. }
  2280. })
  2281. }, S = l(g), k = 0; S.length > k;) w(S[k++]);
  2282. v.constructor = x, x.prototype = v, d(i, "RegExp", x)
  2283. }
  2284. h("RegExp")
  2285. }, function(t, e, n) {
  2286. "use strict";
  2287. var r = n(10),
  2288. i = n(12),
  2289. o = n(11),
  2290. a = n(51),
  2291. s = Math.min,
  2292. l = [].lastIndexOf,
  2293. u = !!l && 1 / [1].lastIndexOf(1, -0) < 0,
  2294. c = a("lastIndexOf");
  2295. t.exports = u || c ? function(t) {
  2296. if (u) return l.apply(this, arguments) || 0;
  2297. var e = r(this),
  2298. n = o(e.length),
  2299. a = n - 1;
  2300. for (arguments.length > 1 && (a = s(a, i(arguments[1]))), a < 0 && (a = n + a); a >= 0; a--)
  2301. if (a in e && e[a] === t) return a || 0;
  2302. return -1
  2303. } : l
  2304. }, function(t, e, n) {
  2305. "use strict";
  2306. n.r(e);
  2307. n(107), n(99), n(96), n(112), n(80), n(98);
  2308. ! function(t) {
  2309. var e, n, r = "".concat(["text", "password", "email", "url", "tel", "number", "search", "search-md"].map((function(t) {
  2310. return "input[type=".concat(t, "]")
  2311. })).join(", "), ", textarea"),
  2312. i = function(t) {
  2313. var e = t.siblings("label, i"),
  2314. n = t.val().length,
  2315. r = t.attr("placeholder");
  2316. e["".concat(n || r ? "add" : "remove", "Class")]("active")
  2317. },
  2318. o = function(t) {
  2319. if (t.hasClass("validate")) {
  2320. var e = t.val(),
  2321. n = !e.length,
  2322. r = !t[0].validity.badInput;
  2323. if (n && r) t.removeClass("valid").removeClass("invalid");
  2324. else {
  2325. var i = t.is(":valid"),
  2326. o = Number(t.attr("length")) || 0;
  2327. i && (!o || o > e.length) ? t.removeClass("invalid").addClass("valid") : t.removeClass("valid").addClass("invalid")
  2328. }
  2329. }
  2330. },
  2331. a = function() {
  2332. var e = t(void 0);
  2333. if (e.val().length) {
  2334. var n = t(".hiddendiv"),
  2335. r = e.css("font-family"),
  2336. i = e.css("font-size");
  2337. i && n.css("font-size", i), r && n.css("font-family", r), "off" === e.attr("wrap") && n.css("overflow-wrap", "normal").css("white-space", "pre"), n.text("".concat(e.val(), "\n"));
  2338. var o = n.html().replace(/\n/g, "<br>");
  2339. n.html(o), n.css("width", e.is(":visible") ? e.width() : t(window).width() / 2), e.css("height", n.height())
  2340. }
  2341. };
  2342. t(r).each((function(e, n) {
  2343. var r = t(n),
  2344. o = r.siblings("label, i");
  2345. i(r), n.validity.badInput && o.addClass("active")
  2346. })), t(document).on("focus", r, (function(e) {
  2347. t(e.target).siblings("label, i").addClass("active")
  2348. })), t(document).on("blur", r, (function(e) {
  2349. var n = t(e.target),
  2350. r = !n.val(),
  2351. i = !e.target.validity.badInput,
  2352. a = void 0 === n.attr("placeholder");
  2353. r && i && a && n.siblings("label, i").removeClass("active"), o(n)
  2354. })), t(document).on("change", r, (function(e) {
  2355. var n = t(e.target);
  2356. i(n), o(n)
  2357. })), t("input[autofocus]").siblings("label, i").addClass("active"), t(document).on("reset", (function(e) {
  2358. var n = t(e.target);
  2359. n.is("form") && (n.find(r).removeClass("valid").removeClass("invalid").each((function(e, n) {
  2360. var r = t(n),
  2361. i = !r.val(),
  2362. o = !r.attr("placeholder");
  2363. i && o && r.siblings("label, i").removeClass("active")
  2364. })), n.find("select.initialized").each((function(e, n) {
  2365. var r = t(n),
  2366. i = r.siblings("input.select-dropdown"),
  2367. o = r.children("[selected]").val();
  2368. r.val(o), i.val(o)
  2369. })))
  2370. })), (n = t(".md-textarea-auto")).length && (e = window.attachEvent ? function(t, e, n) {
  2371. t.attachEvent("on".concat(e), n)
  2372. } : function(t, e, n) {
  2373. t.addEventListener(e, n, !1)
  2374. }, n.each((function() {
  2375. var t = this;
  2376. function n() {
  2377. t.style.height = "auto", t.style.height = "".concat(t.scrollHeight, "px")
  2378. }
  2379. function r() {
  2380. window.setTimeout(n, 0)
  2381. }
  2382. e(t, "change", n), e(t, "cut", r), e(t, "paste", r), e(t, "drop", r), e(t, "keydown", r), n()
  2383. })));
  2384. var s = t("body");
  2385. if (!t(".hiddendiv").first().length) {
  2386. var l = t('<div class="hiddendiv common"></div>');
  2387. s.append(l)
  2388. }
  2389. t(".materialize-textarea").each(a), s.on("keyup keydown", ".materialize-textarea", a);
  2390. var u = t('input[type="date"]');
  2391. u.each((function(t, e) {
  2392. e.type = "text"
  2393. })), u.on("focus", (function(t) {
  2394. t.target.type = "date"
  2395. })), u.on("blur", (function(e) {
  2396. e.target.type = "text", t("label[for=".concat(e.target.id, "]")).removeClass("active")
  2397. }))
  2398. }(jQuery)
  2399. }, function(t, e) {
  2400. jQuery((function(t) {
  2401. t(window).on("scroll", (function() {
  2402. var e = t(".navbar");
  2403. e.length && t(".scrolling-navbar")[e.offset().top > 50 ? "addClass" : "removeClass"]("top-nav-collapse")
  2404. }))
  2405. }))
  2406. }, function(t, e, n) {
  2407. "use strict";
  2408. n.r(e);
  2409. n(107);
  2410. jQuery((function(t) {
  2411. t.fn.mdbTreeview = function() {
  2412. var e = t(this);
  2413. e.hasClass("treeview") && function(e) {
  2414. e.find(".rotate").each((function() {
  2415. var e = t(this);
  2416. e.off("click"), e.on("click", (function() {
  2417. var e = t(this);
  2418. e.siblings(".nested").toggleClass("active"), e.toggleClass("down")
  2419. }))
  2420. }))
  2421. }(e), e.hasClass("treeview-animated") && function(e) {
  2422. var n = e.find(".treeview-animated-element"),
  2423. r = e.find(".closed");
  2424. e.find(".nested").hide(), r.off("click"), r.on("click", (function() {
  2425. var e = t(this),
  2426. n = e.siblings(".nested"),
  2427. r = e.children(".fa-angle-right");
  2428. e.toggleClass("open"), r.toggleClass("down"), n.hasClass("active") ? n.removeClass("active").slideUp() : n.addClass("active").slideDown()
  2429. })), n.off("click"), n.on("click", (function() {
  2430. var e = t(this);
  2431. e.hasClass("opened") ? e.removeClass("opened") : (n.removeClass("opened"), e.addClass("opened"))
  2432. }))
  2433. }(e), e.hasClass("treeview-colorful") && function(e) {
  2434. var n = e.find(".treeview-colorful-element"),
  2435. r = e.find(".treeview-colorful-items-header");
  2436. e.find(".nested").hide(), r.off("click"), r.on("click", (function() {
  2437. var e = t(this),
  2438. n = e.siblings(".nested"),
  2439. r = e.children(".fa-plus-circle"),
  2440. i = e.children(".fa-minus-circle");
  2441. e.toggleClass("open"), r.removeClass("fa-plus-circle"), r.addClass("fa-minus-circle"), i.removeClass("fa-minus-circle"), i.addClass("fa-plus-circle"), n.hasClass("active") ? n.removeClass("active").slideUp() : n.addClass("active").slideDown()
  2442. })), n.off("click"), n.on("click", (function() {
  2443. var e = t(this);
  2444. e.hasClass("opened") ? n.removeClass("opened") : (n.removeClass("opened"), e.addClass("opened"))
  2445. }))
  2446. }(e)
  2447. }
  2448. }))
  2449. }, function(t, e, n) {
  2450. "use strict";
  2451. n.r(e);
  2452. n(89), n(104), n(64), n(106);
  2453. function r(t, e) {
  2454. if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
  2455. }
  2456. function i(t, e) {
  2457. for (var n = 0; n < e.length; n++) {
  2458. var r = e[n];
  2459. r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
  2460. }
  2461. }
  2462. function o(t, e, n) {
  2463. return e && i(t.prototype, e), n && i(t, n), t
  2464. }
  2465. jQuery((function(t) {
  2466. var e = function() {
  2467. function e() {
  2468. r(this, e)
  2469. }
  2470. return o(e, [{
  2471. key: "init",
  2472. value: function() {
  2473. t(".wow").wow()
  2474. }
  2475. }]), e
  2476. }(),
  2477. n = function() {
  2478. function e(t, n) {
  2479. r(this, e), this.$wowElement = t, this.customization = n, this.animated = !0, this.options = this.assignElementCustomization()
  2480. }
  2481. return o(e, [{
  2482. key: "init",
  2483. value: function() {
  2484. var e = this;
  2485. t(window).scroll((function() {
  2486. e.animated ? e.hide() : e.mdbWow()
  2487. })), this.appear()
  2488. }
  2489. }, {
  2490. key: "assignElementCustomization",
  2491. value: function() {
  2492. return {
  2493. animationName: this.$wowElement.css("animation-name"),
  2494. offset: 100,
  2495. iteration: this.fallback().or(this.$wowElement.data("wow-iteration")).or(1).value(),
  2496. duration: this.fallback().or(this.$wowElement.data("wow-duration")).or(1e3).value(),
  2497. delay: this.fallback().or(this.$wowElement.data("wow-delay")).or(0).value()
  2498. }
  2499. }
  2500. }, {
  2501. key: "mdbWow",
  2502. value: function() {
  2503. var t = this;
  2504. "visible" !== this.$wowElement.css("visibility") && this.shouldElementBeVisible(!0) && (setTimeout((function() {
  2505. return t.$wowElement.removeClass("animated")
  2506. }), this.countRemoveTime()), this.appear())
  2507. }
  2508. }, {
  2509. key: "appear",
  2510. value: function() {
  2511. this.$wowElement.addClass("animated"), this.$wowElement.css({
  2512. visibility: "visible",
  2513. "animation-name": this.options.animationName,
  2514. "animation-iteration-count": this.options.iteration,
  2515. "animation-duration": this.options.duration,
  2516. "animation-delay": this.options.delay
  2517. })
  2518. }
  2519. }, {
  2520. key: "hide",
  2521. value: function() {
  2522. var t = this;
  2523. this.shouldElementBeVisible(!1) ? (this.$wowElement.removeClass("animated"), this.$wowElement.css({
  2524. "animation-name": "none",
  2525. visibility: "hidden"
  2526. })) : setTimeout((function() {
  2527. t.$wowElement.removeClass("animated")
  2528. }), this.countRemoveTime()), this.mdbWow(), this.animated = !this.animated
  2529. }
  2530. }, {
  2531. key: "shouldElementBeVisible",
  2532. value: function(e) {
  2533. var n = this.getOffset(this.$wowElement[0]),
  2534. r = this.$wowElement.height(),
  2535. i = t(document).height(),
  2536. o = window.innerHeight,
  2537. a = window.scrollY,
  2538. s = o + a - this.options.offset > n,
  2539. l = o + a - this.options.offset > n + r,
  2540. u = a < n,
  2541. c = a < n + r,
  2542. d = o + a === i,
  2543. f = n + this.options.offset > i,
  2544. h = o + a - this.options.offset < n,
  2545. p = a > n + this.options.offset,
  2546. g = a < n + this.options.offset,
  2547. v = n + r > i - this.options.offset;
  2548. return e ? s && u || l && c || d && f : s && p || h && g || v
  2549. }
  2550. }, {
  2551. key: "countRemoveTime",
  2552. value: function() {
  2553. var t = 1e3 * this.$wowElement.css("animation-duration").slice(0, -1),
  2554. e = 0;
  2555. return this.options.duration && (e = t + this.checkOptionsStringFormat(this.options.duration)), this.options.delay && (e += this.checkOptionsStringFormat(this.options.delay)), e
  2556. }
  2557. }, {
  2558. key: "checkOptionsStringFormat",
  2559. value: function(t) {
  2560. var e;
  2561. if ("s" === t.toString().slice(-1)) e = t.toString().slice(0, -1);
  2562. else {
  2563. if (isNaN(t.toString().slice(-1))) return console.log("Not supported animation customization format.");
  2564. e = t
  2565. }
  2566. return e
  2567. }
  2568. }, {
  2569. key: "getOffset",
  2570. value: function(t) {
  2571. var e = t.getBoundingClientRect(),
  2572. n = document.body,
  2573. r = document.documentElement,
  2574. i = window.pageYOffset || r.scrollTop || n.scrollTop,
  2575. o = r.clientTop || n.clientTop || 0,
  2576. a = e.top + i - o;
  2577. return Math.round(a)
  2578. }
  2579. }, {
  2580. key: "fallback",
  2581. value: function() {
  2582. return {
  2583. _value: void 0,
  2584. or: function(t) {
  2585. return void 0 !== t && void 0 === this._value && (this._value = t), this
  2586. },
  2587. value: function() {
  2588. return this._value
  2589. }
  2590. }
  2591. }
  2592. }]), e
  2593. }();
  2594. t.fn.wow = function(e) {
  2595. this.each((function() {
  2596. new n(t(this), e).init()
  2597. }))
  2598. }, window.WOW = e
  2599. }))
  2600. }, , , function(t, e, n) {
  2601. var r = n(3),
  2602. i = n(128),
  2603. o = n(62);
  2604. r({
  2605. target: "Array",
  2606. proto: !0
  2607. }, {
  2608. fill: i
  2609. }), o("fill")
  2610. }, function(t, e, n) {
  2611. n(3)({
  2612. target: "Number",
  2613. stat: !0
  2614. }, {
  2615. MAX_SAFE_INTEGER: 9007199254740991
  2616. })
  2617. }, function(t, e, n) {
  2618. n(3)({
  2619. target: "Number",
  2620. stat: !0
  2621. }, {
  2622. MIN_SAFE_INTEGER: -9007199254740991
  2623. })
  2624. }, function(t, e, n) {
  2625. var r = n(3),
  2626. i = n(16),
  2627. o = n(53);
  2628. r({
  2629. target: "Object",
  2630. stat: !0,
  2631. forced: n(1)((function() {
  2632. o(1)
  2633. }))
  2634. }, {
  2635. keys: function(t) {
  2636. return o(i(t))
  2637. }
  2638. })
  2639. }, function(t, e, n) {
  2640. "use strict";
  2641. var r = n(0),
  2642. i = n(8),
  2643. o = n(40).NATIVE_ARRAY_BUFFER,
  2644. a = n(6),
  2645. s = n(165),
  2646. l = n(1),
  2647. u = n(143),
  2648. c = n(12),
  2649. d = n(11),
  2650. f = n(144),
  2651. h = n(27).f,
  2652. p = n(9).f,
  2653. g = n(128),
  2654. v = n(49),
  2655. m = n(22),
  2656. y = m.get,
  2657. b = m.set,
  2658. x = r.ArrayBuffer,
  2659. w = x,
  2660. S = r.DataView,
  2661. k = r.Math,
  2662. C = r.RangeError,
  2663. M = k.abs,
  2664. A = k.pow,
  2665. P = k.floor,
  2666. _ = k.log,
  2667. T = k.LN2,
  2668. I = function(t, e, n) {
  2669. var r, i, o, a = new Array(n),
  2670. s = 8 * n - e - 1,
  2671. l = (1 << s) - 1,
  2672. u = l >> 1,
  2673. c = 23 === e ? A(2, -24) - A(2, -77) : 0,
  2674. d = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0,
  2675. f = 0;
  2676. for ((t = M(t)) != t || t === 1 / 0 ? (i = t != t ? 1 : 0, r = l) : (r = P(_(t) / T), t * (o = A(2, -r)) < 1 && (r--, o *= 2), (t += r + u >= 1 ? c / o : c * A(2, 1 - u)) * o >= 2 && (r++, o /= 2), r + u >= l ? (i = 0, r = l) : r + u >= 1 ? (i = (t * o - 1) * A(2, e), r += u) : (i = t * A(2, u - 1) * A(2, e), r = 0)); e >= 8; a[f++] = 255 & i, i /= 256, e -= 8);
  2677. for (r = r << e | i, s += e; s > 0; a[f++] = 255 & r, r /= 256, s -= 8);
  2678. return a[--f] |= 128 * d, a
  2679. },
  2680. O = function(t, e) {
  2681. var n, r = t.length,
  2682. i = 8 * r - e - 1,
  2683. o = (1 << i) - 1,
  2684. a = o >> 1,
  2685. s = i - 7,
  2686. l = r - 1,
  2687. u = t[l--],
  2688. c = 127 & u;
  2689. for (u >>= 7; s > 0; c = 256 * c + t[l], l--, s -= 8);
  2690. for (n = c & (1 << -s) - 1, c >>= -s, s += e; s > 0; n = 256 * n + t[l], l--, s -= 8);
  2691. if (0 === c) c = 1 - a;
  2692. else {
  2693. if (c === o) return n ? NaN : u ? -1 / 0 : 1 / 0;
  2694. n += A(2, e), c -= a
  2695. }
  2696. return (u ? -1 : 1) * n * A(2, c - e)
  2697. },
  2698. F = function(t) {
  2699. return t[3] << 24 | t[2] << 16 | t[1] << 8 | t[0]
  2700. },
  2701. D = function(t) {
  2702. return [255 & t]
  2703. },
  2704. E = function(t) {
  2705. return [255 & t, t >> 8 & 255]
  2706. },
  2707. L = function(t) {
  2708. return [255 & t, t >> 8 & 255, t >> 16 & 255, t >> 24 & 255]
  2709. },
  2710. R = function(t) {
  2711. return I(t, 23, 4)
  2712. },
  2713. N = function(t) {
  2714. return I(t, 52, 8)
  2715. },
  2716. V = function(t, e) {
  2717. p(t.prototype, e, {
  2718. get: function() {
  2719. return y(this)[e]
  2720. }
  2721. })
  2722. },
  2723. z = function(t, e, n, r) {
  2724. var i = f(+n),
  2725. o = y(t);
  2726. if (i + e > o.byteLength) throw C("Wrong index");
  2727. var a = y(o.buffer).bytes,
  2728. s = i + o.byteOffset,
  2729. l = a.slice(s, s + e);
  2730. return r ? l : l.reverse()
  2731. },
  2732. B = function(t, e, n, r, i, o) {
  2733. var a = f(+n),
  2734. s = y(t);
  2735. if (a + e > s.byteLength) throw C("Wrong index");
  2736. for (var l = y(s.buffer).bytes, u = a + s.byteOffset, c = r(+i), d = 0; d < e; d++) l[u + d] = c[o ? d : e - d - 1]
  2737. };
  2738. if (o) {
  2739. if (!l((function() {
  2740. x(1)
  2741. })) || !l((function() {
  2742. new x(-1)
  2743. })) || l((function() {
  2744. return new x, new x(1.5), new x(NaN), "ArrayBuffer" != x.name
  2745. }))) {
  2746. for (var W, j = (w = function(t) {
  2747. return u(this, w), new x(f(t))
  2748. }).prototype = x.prototype, H = h(x), q = 0; H.length > q;)(W = H[q++]) in w || a(w, W, x[W]);
  2749. j.constructor = w
  2750. }
  2751. var U = new S(new w(2)),
  2752. Y = S.prototype.setInt8;
  2753. U.setInt8(0, 2147483648), U.setInt8(1, 2147483649), !U.getInt8(0) && U.getInt8(1) || s(S.prototype, {
  2754. setInt8: function(t, e) {
  2755. Y.call(this, t, e << 24 >> 24)
  2756. },
  2757. setUint8: function(t, e) {
  2758. Y.call(this, t, e << 24 >> 24)
  2759. }
  2760. }, {
  2761. unsafe: !0
  2762. })
  2763. } else w = function(t) {
  2764. u(this, w, "ArrayBuffer");
  2765. var e = f(t);
  2766. b(this, {
  2767. bytes: g.call(new Array(e), 0),
  2768. byteLength: e
  2769. }), i || (this.byteLength = e)
  2770. }, S = function(t, e, n) {
  2771. u(this, S, "DataView"), u(t, w, "DataView");
  2772. var r = y(t).byteLength,
  2773. o = c(e);
  2774. if (o < 0 || o > r) throw C("Wrong offset");
  2775. if (o + (n = void 0 === n ? r - o : d(n)) > r) throw C("Wrong length");
  2776. b(this, {
  2777. buffer: t,
  2778. byteLength: n,
  2779. byteOffset: o
  2780. }), i || (this.buffer = t, this.byteLength = n, this.byteOffset = o)
  2781. }, i && (V(w, "byteLength"), V(S, "buffer"), V(S, "byteLength"), V(S, "byteOffset")), s(S.prototype, {
  2782. getInt8: function(t) {
  2783. return z(this, 1, t)[0] << 24 >> 24
  2784. },
  2785. getUint8: function(t) {
  2786. return z(this, 1, t)[0]
  2787. },
  2788. getInt16: function(t) {
  2789. var e = z(this, 2, t, arguments.length > 1 ? arguments[1] : void 0);
  2790. return (e[1] << 8 | e[0]) << 16 >> 16
  2791. },
  2792. getUint16: function(t) {
  2793. var e = z(this, 2, t, arguments.length > 1 ? arguments[1] : void 0);
  2794. return e[1] << 8 | e[0]
  2795. },
  2796. getInt32: function(t) {
  2797. return F(z(this, 4, t, arguments.length > 1 ? arguments[1] : void 0))
  2798. },
  2799. getUint32: function(t) {
  2800. return F(z(this, 4, t, arguments.length > 1 ? arguments[1] : void 0)) >>> 0
  2801. },
  2802. getFloat32: function(t) {
  2803. return O(z(this, 4, t, arguments.length > 1 ? arguments[1] : void 0), 23)
  2804. },
  2805. getFloat64: function(t) {
  2806. return O(z(this, 8, t, arguments.length > 1 ? arguments[1] : void 0), 52)
  2807. },
  2808. setInt8: function(t, e) {
  2809. B(this, 1, t, D, e)
  2810. },
  2811. setUint8: function(t, e) {
  2812. B(this, 1, t, D, e)
  2813. },
  2814. setInt16: function(t, e) {
  2815. B(this, 2, t, E, e, arguments.length > 2 ? arguments[2] : void 0)
  2816. },
  2817. setUint16: function(t, e) {
  2818. B(this, 2, t, E, e, arguments.length > 2 ? arguments[2] : void 0)
  2819. },
  2820. setInt32: function(t, e) {
  2821. B(this, 4, t, L, e, arguments.length > 2 ? arguments[2] : void 0)
  2822. },
  2823. setUint32: function(t, e) {
  2824. B(this, 4, t, L, e, arguments.length > 2 ? arguments[2] : void 0)
  2825. },
  2826. setFloat32: function(t, e) {
  2827. B(this, 4, t, R, e, arguments.length > 2 ? arguments[2] : void 0)
  2828. },
  2829. setFloat64: function(t, e) {
  2830. B(this, 8, t, N, e, arguments.length > 2 ? arguments[2] : void 0)
  2831. }
  2832. });
  2833. v(w, "ArrayBuffer"), v(S, "DataView"), t.exports = {
  2834. ArrayBuffer: w,
  2835. DataView: S
  2836. }
  2837. }, function(t, e) {
  2838. t.exports = function(t, e, n) {
  2839. if (!(t instanceof e)) throw TypeError("Incorrect " + (n ? n + " " : "") + "invocation");
  2840. return t
  2841. }
  2842. }, function(t, e, n) {
  2843. var r = n(12),
  2844. i = n(11);
  2845. t.exports = function(t) {
  2846. if (void 0 === t) return 0;
  2847. var e = r(t),
  2848. n = i(e);
  2849. if (e !== n) throw RangeError("Wrong length or index");
  2850. return n
  2851. }
  2852. }, function(t, e, n) {
  2853. var r = n(170);
  2854. t.exports = function(t, e) {
  2855. var n = r(t);
  2856. if (n % e) throw RangeError("Wrong offset");
  2857. return n
  2858. }
  2859. }, function(t, e, n) {
  2860. n(147), t.exports = n(148)
  2861. }, function(t, e, n) {}, function(t, e, n) {
  2862. "use strict";
  2863. n.r(e);
  2864. n(149), n(150), n(156), n(161), n(162), n(163), n(198), n(132), n(133), n(134), n(135)
  2865. }, function(t, e, n) {
  2866. "use strict";
  2867. (function(t) {
  2868. var e, r;
  2869. n(75), n(78), n(79), n(101), n(92), n(54), n(99), n(96), n(89), n(127), n(64), n(80), n(81), n(109), n(84);
  2870. function i(t) {
  2871. return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
  2872. return typeof t
  2873. } : function(t) {
  2874. return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
  2875. })(t)
  2876. }
  2877. /*!
  2878. * bsCustomFileInput v1.3.2 (https://github.com/Johann-S/bs-custom-file-input)
  2879. * Copyright 2018 - 2019 Johann-S <johann.servoire@gmail.com>
  2880. * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
  2881. */
  2882. e = void 0, r = function() {
  2883. var t = {
  2884. CUSTOMFILE: '.custom-file input[type="file"]',
  2885. CUSTOMFILELABEL: ".custom-file-label",
  2886. FORM: "form",
  2887. INPUT: "input"
  2888. },
  2889. e = function(e) {
  2890. var n = "",
  2891. r = e.parentNode.querySelector(t.CUSTOMFILELABEL);
  2892. return r && (n = r.innerHTML), n
  2893. },
  2894. n = function(t) {
  2895. if (t.childNodes.length > 0)
  2896. for (var e = [].slice.call(t.childNodes), n = 0; n < e.length; n++) {
  2897. var r = e[n];
  2898. if (3 !== r.nodeType) return r
  2899. }
  2900. return t
  2901. },
  2902. r = function(e) {
  2903. var r = e.bsCustomFileInput.defaultText,
  2904. i = e.parentNode.querySelector(t.CUSTOMFILELABEL);
  2905. i && (n(i).innerHTML = r)
  2906. },
  2907. i = !!window.File,
  2908. o = function(t) {
  2909. if (t.hasAttribute("multiple") && i) return [].slice.call(t.files).map((function(t) {
  2910. return t.name
  2911. })).join(", ");
  2912. if (-1 !== t.value.indexOf("fakepath")) {
  2913. var e = t.value.split("\\");
  2914. return e[e.length - 1]
  2915. }
  2916. return t.value
  2917. };
  2918. function a() {
  2919. var e = this.parentNode.querySelector(t.CUSTOMFILELABEL);
  2920. if (e) {
  2921. var i = n(e),
  2922. a = o(this);
  2923. a.length ? i.innerHTML = a : r(this)
  2924. }
  2925. }
  2926. function s() {
  2927. for (var e = [].slice.call(this.querySelectorAll(t.INPUT)).filter((function(t) {
  2928. return !!t.bsCustomFileInput
  2929. })), n = 0, i = e.length; n < i; n++) r(e[n])
  2930. }
  2931. var l = "reset",
  2932. u = "change";
  2933. return {
  2934. init: function(n, r) {
  2935. void 0 === n && (n = t.CUSTOMFILE), void 0 === r && (r = t.FORM);
  2936. for (var i = [].slice.call(document.querySelectorAll(n)), o = [].slice.call(document.querySelectorAll(r)), c = 0, d = i.length; c < d; c++) {
  2937. var f = i[c];
  2938. Object.defineProperty(f, "bsCustomFileInput", {
  2939. value: {
  2940. defaultText: e(f)
  2941. },
  2942. writable: !0
  2943. }), a.call(f), f.addEventListener(u, a)
  2944. }
  2945. for (var h = 0, p = o.length; h < p; h++) o[h].addEventListener(l, s), Object.defineProperty(o[h], "bsCustomFileInput", {
  2946. value: !0,
  2947. writable: !0
  2948. })
  2949. },
  2950. destroy: function() {
  2951. for (var e = [].slice.call(document.querySelectorAll(t.FORM)).filter((function(t) {
  2952. return !!t.bsCustomFileInput
  2953. })), n = [].slice.call(document.querySelectorAll(t.INPUT)).filter((function(t) {
  2954. return !!t.bsCustomFileInput
  2955. })), i = 0, o = n.length; i < o; i++) {
  2956. var c = n[i];
  2957. r(c), c.bsCustomFileInput = void 0, c.removeEventListener(u, a)
  2958. }
  2959. for (var d = 0, f = e.length; d < f; d++) e[d].removeEventListener(l, s), e[d].bsCustomFileInput = void 0
  2960. }
  2961. }
  2962. }, "object" === ("undefined" == typeof exports ? "undefined" : i(exports)) && void 0 !== t ? t.exports = r() : "function" == typeof define && n(55) ? define(r) : (e = e || self).bsCustomFileInput = r(), document.addEventListener("DOMContentLoaded", (function() {
  2963. bsCustomFileInput.init()
  2964. }))
  2965. }).call(this, n(87)(t))
  2966. }, function(t, e, n) {
  2967. "use strict";
  2968. (function(t, e) {
  2969. var i;
  2970. n(75), n(78), n(79), n(100), n(138), n(101), n(151), n(110), n(92), n(54), n(99), n(96), n(120), n(121), n(89), n(122), n(97), n(104), n(152), n(153), n(112), n(155), n(139), n(140), n(117), n(141), n(64), n(105), n(123), n(80), n(106), n(81), n(114), n(109), n(115), n(84);
  2971. function o(t) {
  2972. return (o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
  2973. return typeof t
  2974. } : function(t) {
  2975. return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
  2976. })(t)
  2977. }
  2978. /*!
  2979. * Chart.js
  2980. * http://chartjs.org/
  2981. * Version: 2.7.3
  2982. *
  2983. * Copyright 2018 Chart.js Contributors
  2984. * Released under the MIT license
  2985. * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md
  2986. */
  2987. ! function(r) {
  2988. if ("object" === ("undefined" == typeof exports ? "undefined" : o(exports)) && void 0 !== t) t.exports = r();
  2989. else if ("function" == typeof define && n(55)) define([], r);
  2990. else {
  2991. ("undefined" != typeof window ? window : void 0 !== e ? e : "undefined" != typeof self ? self : this).Chart = r()
  2992. }
  2993. }((function() {
  2994. return function t(e, n, r) {
  2995. function o(s, l) {
  2996. if (!n[s]) {
  2997. if (!e[s]) {
  2998. if (!l && "function" == typeof i && i) return i(s, !0);
  2999. if (a) return a(s, !0);
  3000. var u = new Error("Cannot find module '" + s + "'");
  3001. throw u.code = "MODULE_NOT_FOUND", u
  3002. }
  3003. var c = n[s] = {
  3004. exports: {}
  3005. };
  3006. e[s][0].call(c.exports, (function(t) {
  3007. return o(e[s][1][t] || t)
  3008. }), c, c.exports, t, e, n, r)
  3009. }
  3010. return n[s].exports
  3011. }
  3012. for (var a = "function" == typeof i && i, s = 0; s < r.length; s++) o(r[s]);
  3013. return o
  3014. }({
  3015. 1: [function(t, e, n) {}, {}],
  3016. 2: [function(t, e, n) {
  3017. var r = t(6);
  3018. function i(t) {
  3019. if (t) {
  3020. var e = [0, 0, 0],
  3021. n = 1,
  3022. i = t.match(/^#([a-fA-F0-9]{3})$/i);
  3023. if (i) {
  3024. i = i[1];
  3025. for (var o = 0; o < e.length; o++) e[o] = parseInt(i[o] + i[o], 16)
  3026. } else if (i = t.match(/^#([a-fA-F0-9]{6})$/i)) {
  3027. i = i[1];
  3028. for (o = 0; o < e.length; o++) e[o] = parseInt(i.slice(2 * o, 2 * o + 2), 16)
  3029. } else if (i = t.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)) {
  3030. for (o = 0; o < e.length; o++) e[o] = parseInt(i[o + 1]);
  3031. n = parseFloat(i[4])
  3032. } else if (i = t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)) {
  3033. for (o = 0; o < e.length; o++) e[o] = Math.round(2.55 * parseFloat(i[o + 1]));
  3034. n = parseFloat(i[4])
  3035. } else if (i = t.match(/(\w+)/)) {
  3036. if ("transparent" == i[1]) return [0, 0, 0, 0];
  3037. if (!(e = r[i[1]])) return
  3038. }
  3039. for (o = 0; o < e.length; o++) e[o] = c(e[o], 0, 255);
  3040. return n = n || 0 == n ? c(n, 0, 1) : 1, e[3] = n, e
  3041. }
  3042. }
  3043. function o(t) {
  3044. if (t) {
  3045. var e = t.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);
  3046. if (e) {
  3047. var n = parseFloat(e[4]);
  3048. return [c(parseInt(e[1]), 0, 360), c(parseFloat(e[2]), 0, 100), c(parseFloat(e[3]), 0, 100), c(isNaN(n) ? 1 : n, 0, 1)]
  3049. }
  3050. }
  3051. }
  3052. function a(t) {
  3053. if (t) {
  3054. var e = t.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);
  3055. if (e) {
  3056. var n = parseFloat(e[4]);
  3057. return [c(parseInt(e[1]), 0, 360), c(parseFloat(e[2]), 0, 100), c(parseFloat(e[3]), 0, 100), c(isNaN(n) ? 1 : n, 0, 1)]
  3058. }
  3059. }
  3060. }
  3061. function s(t, e) {
  3062. return void 0 === e && (e = void 0 !== t[3] ? t[3] : 1), "rgba(" + t[0] + ", " + t[1] + ", " + t[2] + ", " + e + ")"
  3063. }
  3064. function l(t, e) {
  3065. return "rgba(" + Math.round(t[0] / 255 * 100) + "%, " + Math.round(t[1] / 255 * 100) + "%, " + Math.round(t[2] / 255 * 100) + "%, " + (e || t[3] || 1) + ")"
  3066. }
  3067. function u(t, e) {
  3068. return void 0 === e && (e = void 0 !== t[3] ? t[3] : 1), "hsla(" + t[0] + ", " + t[1] + "%, " + t[2] + "%, " + e + ")"
  3069. }
  3070. function c(t, e, n) {
  3071. return Math.min(Math.max(e, t), n)
  3072. }
  3073. function d(t) {
  3074. var e = t.toString(16).toUpperCase();
  3075. return e.length < 2 ? "0" + e : e
  3076. }
  3077. e.exports = {
  3078. getRgba: i,
  3079. getHsla: o,
  3080. getRgb: function(t) {
  3081. var e = i(t);
  3082. return e && e.slice(0, 3)
  3083. },
  3084. getHsl: function(t) {
  3085. var e = o(t);
  3086. return e && e.slice(0, 3)
  3087. },
  3088. getHwb: a,
  3089. getAlpha: function(t) {
  3090. var e = i(t);
  3091. if (e) return e[3];
  3092. if (e = o(t)) return e[3];
  3093. if (e = a(t)) return e[3]
  3094. },
  3095. hexString: function(t) {
  3096. return "#" + d(t[0]) + d(t[1]) + d(t[2])
  3097. },
  3098. rgbString: function(t, e) {
  3099. if (e < 1 || t[3] && t[3] < 1) return s(t, e);
  3100. return "rgb(" + t[0] + ", " + t[1] + ", " + t[2] + ")"
  3101. },
  3102. rgbaString: s,
  3103. percentString: function(t, e) {
  3104. if (e < 1 || t[3] && t[3] < 1) return l(t, e);
  3105. var n = Math.round(t[0] / 255 * 100),
  3106. r = Math.round(t[1] / 255 * 100),
  3107. i = Math.round(t[2] / 255 * 100);
  3108. return "rgb(" + n + "%, " + r + "%, " + i + "%)"
  3109. },
  3110. percentaString: l,
  3111. hslString: function(t, e) {
  3112. if (e < 1 || t[3] && t[3] < 1) return u(t, e);
  3113. return "hsl(" + t[0] + ", " + t[1] + "%, " + t[2] + "%)"
  3114. },
  3115. hslaString: u,
  3116. hwbString: function(t, e) {
  3117. void 0 === e && (e = void 0 !== t[3] ? t[3] : 1);
  3118. return "hwb(" + t[0] + ", " + t[1] + "%, " + t[2] + "%" + (void 0 !== e && 1 !== e ? ", " + e : "") + ")"
  3119. },
  3120. keyword: function(t) {
  3121. return f[t.slice(0, 3)]
  3122. }
  3123. };
  3124. var f = {};
  3125. for (var h in r) f[r[h]] = h
  3126. }, {
  3127. 6: 6
  3128. }],
  3129. 3: [function(t, e, n) {
  3130. var r = t(5),
  3131. i = t(2),
  3132. a = function t(e) {
  3133. return e instanceof t ? e : this instanceof t ? (this.valid = !1, this.values = {
  3134. rgb: [0, 0, 0],
  3135. hsl: [0, 0, 0],
  3136. hsv: [0, 0, 0],
  3137. hwb: [0, 0, 0],
  3138. cmyk: [0, 0, 0, 0],
  3139. alpha: 1
  3140. }, void("string" == typeof e ? (n = i.getRgba(e)) ? this.setValues("rgb", n) : (n = i.getHsla(e)) ? this.setValues("hsl", n) : (n = i.getHwb(e)) && this.setValues("hwb", n) : "object" === o(e) && (void 0 !== (n = e).r || void 0 !== n.red ? this.setValues("rgb", n) : void 0 !== n.l || void 0 !== n.lightness ? this.setValues("hsl", n) : void 0 !== n.v || void 0 !== n.value ? this.setValues("hsv", n) : void 0 !== n.w || void 0 !== n.whiteness ? this.setValues("hwb", n) : void 0 === n.c && void 0 === n.cyan || this.setValues("cmyk", n)))) : new t(e);
  3141. var n
  3142. };
  3143. (a.prototype = {
  3144. isValid: function() {
  3145. return this.valid
  3146. },
  3147. rgb: function() {
  3148. return this.setSpace("rgb", arguments)
  3149. },
  3150. hsl: function() {
  3151. return this.setSpace("hsl", arguments)
  3152. },
  3153. hsv: function() {
  3154. return this.setSpace("hsv", arguments)
  3155. },
  3156. hwb: function() {
  3157. return this.setSpace("hwb", arguments)
  3158. },
  3159. cmyk: function() {
  3160. return this.setSpace("cmyk", arguments)
  3161. },
  3162. rgbArray: function() {
  3163. return this.values.rgb
  3164. },
  3165. hslArray: function() {
  3166. return this.values.hsl
  3167. },
  3168. hsvArray: function() {
  3169. return this.values.hsv
  3170. },
  3171. hwbArray: function() {
  3172. var t = this.values;
  3173. return 1 !== t.alpha ? t.hwb.concat([t.alpha]) : t.hwb
  3174. },
  3175. cmykArray: function() {
  3176. return this.values.cmyk
  3177. },
  3178. rgbaArray: function() {
  3179. var t = this.values;
  3180. return t.rgb.concat([t.alpha])
  3181. },
  3182. hslaArray: function() {
  3183. var t = this.values;
  3184. return t.hsl.concat([t.alpha])
  3185. },
  3186. alpha: function(t) {
  3187. return void 0 === t ? this.values.alpha : (this.setValues("alpha", t), this)
  3188. },
  3189. red: function(t) {
  3190. return this.setChannel("rgb", 0, t)
  3191. },
  3192. green: function(t) {
  3193. return this.setChannel("rgb", 1, t)
  3194. },
  3195. blue: function(t) {
  3196. return this.setChannel("rgb", 2, t)
  3197. },
  3198. hue: function(t) {
  3199. return t && (t = (t %= 360) < 0 ? 360 + t : t), this.setChannel("hsl", 0, t)
  3200. },
  3201. saturation: function(t) {
  3202. return this.setChannel("hsl", 1, t)
  3203. },
  3204. lightness: function(t) {
  3205. return this.setChannel("hsl", 2, t)
  3206. },
  3207. saturationv: function(t) {
  3208. return this.setChannel("hsv", 1, t)
  3209. },
  3210. whiteness: function(t) {
  3211. return this.setChannel("hwb", 1, t)
  3212. },
  3213. blackness: function(t) {
  3214. return this.setChannel("hwb", 2, t)
  3215. },
  3216. value: function(t) {
  3217. return this.setChannel("hsv", 2, t)
  3218. },
  3219. cyan: function(t) {
  3220. return this.setChannel("cmyk", 0, t)
  3221. },
  3222. magenta: function(t) {
  3223. return this.setChannel("cmyk", 1, t)
  3224. },
  3225. yellow: function(t) {
  3226. return this.setChannel("cmyk", 2, t)
  3227. },
  3228. black: function(t) {
  3229. return this.setChannel("cmyk", 3, t)
  3230. },
  3231. hexString: function() {
  3232. return i.hexString(this.values.rgb)
  3233. },
  3234. rgbString: function() {
  3235. return i.rgbString(this.values.rgb, this.values.alpha)
  3236. },
  3237. rgbaString: function() {
  3238. return i.rgbaString(this.values.rgb, this.values.alpha)
  3239. },
  3240. percentString: function() {
  3241. return i.percentString(this.values.rgb, this.values.alpha)
  3242. },
  3243. hslString: function() {
  3244. return i.hslString(this.values.hsl, this.values.alpha)
  3245. },
  3246. hslaString: function() {
  3247. return i.hslaString(this.values.hsl, this.values.alpha)
  3248. },
  3249. hwbString: function() {
  3250. return i.hwbString(this.values.hwb, this.values.alpha)
  3251. },
  3252. keyword: function() {
  3253. return i.keyword(this.values.rgb, this.values.alpha)
  3254. },
  3255. rgbNumber: function() {
  3256. var t = this.values.rgb;
  3257. return t[0] << 16 | t[1] << 8 | t[2]
  3258. },
  3259. luminosity: function() {
  3260. for (var t = this.values.rgb, e = [], n = 0; n < t.length; n++) {
  3261. var r = t[n] / 255;
  3262. e[n] = r <= .03928 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4)
  3263. }
  3264. return .2126 * e[0] + .7152 * e[1] + .0722 * e[2]
  3265. },
  3266. contrast: function(t) {
  3267. var e = this.luminosity(),
  3268. n = t.luminosity();
  3269. return e > n ? (e + .05) / (n + .05) : (n + .05) / (e + .05)
  3270. },
  3271. level: function(t) {
  3272. var e = this.contrast(t);
  3273. return e >= 7.1 ? "AAA" : e >= 4.5 ? "AA" : ""
  3274. },
  3275. dark: function() {
  3276. var t = this.values.rgb;
  3277. return (299 * t[0] + 587 * t[1] + 114 * t[2]) / 1e3 < 128
  3278. },
  3279. light: function() {
  3280. return !this.dark()
  3281. },
  3282. negate: function() {
  3283. for (var t = [], e = 0; e < 3; e++) t[e] = 255 - this.values.rgb[e];
  3284. return this.setValues("rgb", t), this
  3285. },
  3286. lighten: function(t) {
  3287. var e = this.values.hsl;
  3288. return e[2] += e[2] * t, this.setValues("hsl", e), this
  3289. },
  3290. darken: function(t) {
  3291. var e = this.values.hsl;
  3292. return e[2] -= e[2] * t, this.setValues("hsl", e), this
  3293. },
  3294. saturate: function(t) {
  3295. var e = this.values.hsl;
  3296. return e[1] += e[1] * t, this.setValues("hsl", e), this
  3297. },
  3298. desaturate: function(t) {
  3299. var e = this.values.hsl;
  3300. return e[1] -= e[1] * t, this.setValues("hsl", e), this
  3301. },
  3302. whiten: function(t) {
  3303. var e = this.values.hwb;
  3304. return e[1] += e[1] * t, this.setValues("hwb", e), this
  3305. },
  3306. blacken: function(t) {
  3307. var e = this.values.hwb;
  3308. return e[2] += e[2] * t, this.setValues("hwb", e), this
  3309. },
  3310. greyscale: function() {
  3311. var t = this.values.rgb,
  3312. e = .3 * t[0] + .59 * t[1] + .11 * t[2];
  3313. return this.setValues("rgb", [e, e, e]), this
  3314. },
  3315. clearer: function(t) {
  3316. var e = this.values.alpha;
  3317. return this.setValues("alpha", e - e * t), this
  3318. },
  3319. opaquer: function(t) {
  3320. var e = this.values.alpha;
  3321. return this.setValues("alpha", e + e * t), this
  3322. },
  3323. rotate: function(t) {
  3324. var e = this.values.hsl,
  3325. n = (e[0] + t) % 360;
  3326. return e[0] = n < 0 ? 360 + n : n, this.setValues("hsl", e), this
  3327. },
  3328. mix: function(t, e) {
  3329. var n = t,
  3330. r = void 0 === e ? .5 : e,
  3331. i = 2 * r - 1,
  3332. o = this.alpha() - n.alpha(),
  3333. a = ((i * o == -1 ? i : (i + o) / (1 + i * o)) + 1) / 2,
  3334. s = 1 - a;
  3335. return this.rgb(a * this.red() + s * n.red(), a * this.green() + s * n.green(), a * this.blue() + s * n.blue()).alpha(this.alpha() * r + n.alpha() * (1 - r))
  3336. },
  3337. toJSON: function() {
  3338. return this.rgb()
  3339. },
  3340. clone: function() {
  3341. var t, e, n = new a,
  3342. r = this.values,
  3343. i = n.values;
  3344. for (var o in r) r.hasOwnProperty(o) && (t = r[o], "[object Array]" === (e = {}.toString.call(t)) ? i[o] = t.slice(0) : "[object Number]" === e ? i[o] = t : console.error("unexpected color value:", t));
  3345. return n
  3346. }
  3347. }).spaces = {
  3348. rgb: ["red", "green", "blue"],
  3349. hsl: ["hue", "saturation", "lightness"],
  3350. hsv: ["hue", "saturation", "value"],
  3351. hwb: ["hue", "whiteness", "blackness"],
  3352. cmyk: ["cyan", "magenta", "yellow", "black"]
  3353. }, a.prototype.maxes = {
  3354. rgb: [255, 255, 255],
  3355. hsl: [360, 100, 100],
  3356. hsv: [360, 100, 100],
  3357. hwb: [360, 100, 100],
  3358. cmyk: [100, 100, 100, 100]
  3359. }, a.prototype.getValues = function(t) {
  3360. for (var e = this.values, n = {}, r = 0; r < t.length; r++) n[t.charAt(r)] = e[t][r];
  3361. return 1 !== e.alpha && (n.a = e.alpha), n
  3362. }, a.prototype.setValues = function(t, e) {
  3363. var n, i, o = this.values,
  3364. a = this.spaces,
  3365. s = this.maxes,
  3366. l = 1;
  3367. if (this.valid = !0, "alpha" === t) l = e;
  3368. else if (e.length) o[t] = e.slice(0, t.length), l = e[t.length];
  3369. else if (void 0 !== e[t.charAt(0)]) {
  3370. for (n = 0; n < t.length; n++) o[t][n] = e[t.charAt(n)];
  3371. l = e.a
  3372. } else if (void 0 !== e[a[t][0]]) {
  3373. var u = a[t];
  3374. for (n = 0; n < t.length; n++) o[t][n] = e[u[n]];
  3375. l = e.alpha
  3376. }
  3377. if (o.alpha = Math.max(0, Math.min(1, void 0 === l ? o.alpha : l)), "alpha" === t) return !1;
  3378. for (n = 0; n < t.length; n++) i = Math.max(0, Math.min(s[t][n], o[t][n])), o[t][n] = Math.round(i);
  3379. for (var c in a) c !== t && (o[c] = r[t][c](o[t]));
  3380. return !0
  3381. }, a.prototype.setSpace = function(t, e) {
  3382. var n = e[0];
  3383. return void 0 === n ? this.getValues(t) : ("number" == typeof n && (n = Array.prototype.slice.call(e)), this.setValues(t, n), this)
  3384. }, a.prototype.setChannel = function(t, e, n) {
  3385. var r = this.values[t];
  3386. return void 0 === n ? r[e] : n === r[e] ? this : (r[e] = n, this.setValues(t, r), this)
  3387. }, "undefined" != typeof window && (window.Color = a), e.exports = a
  3388. }, {
  3389. 2: 2,
  3390. 5: 5
  3391. }],
  3392. 4: [function(t, e, n) {
  3393. function i(t) {
  3394. var e, n, r = t[0] / 255,
  3395. i = t[1] / 255,
  3396. o = t[2] / 255,
  3397. a = Math.min(r, i, o),
  3398. s = Math.max(r, i, o),
  3399. l = s - a;
  3400. return s == a ? e = 0 : r == s ? e = (i - o) / l : i == s ? e = 2 + (o - r) / l : o == s && (e = 4 + (r - i) / l), (e = Math.min(60 * e, 360)) < 0 && (e += 360), n = (a + s) / 2, [e, 100 * (s == a ? 0 : n <= .5 ? l / (s + a) : l / (2 - s - a)), 100 * n]
  3401. }
  3402. function o(t) {
  3403. var e, n, r = t[0],
  3404. i = t[1],
  3405. o = t[2],
  3406. a = Math.min(r, i, o),
  3407. s = Math.max(r, i, o),
  3408. l = s - a;
  3409. return n = 0 == s ? 0 : l / s * 1e3 / 10, s == a ? e = 0 : r == s ? e = (i - o) / l : i == s ? e = 2 + (o - r) / l : o == s && (e = 4 + (r - i) / l), (e = Math.min(60 * e, 360)) < 0 && (e += 360), [e, n, s / 255 * 1e3 / 10]
  3410. }
  3411. function a(t) {
  3412. var e = t[0],
  3413. n = t[1],
  3414. r = t[2];
  3415. return [i(t)[0], 100 * (1 / 255 * Math.min(e, Math.min(n, r))), 100 * (r = 1 - 1 / 255 * Math.max(e, Math.max(n, r)))]
  3416. }
  3417. function s(t) {
  3418. var e, n = t[0] / 255,
  3419. r = t[1] / 255,
  3420. i = t[2] / 255;
  3421. return [100 * ((1 - n - (e = Math.min(1 - n, 1 - r, 1 - i))) / (1 - e) || 0), 100 * ((1 - r - e) / (1 - e) || 0), 100 * ((1 - i - e) / (1 - e) || 0), 100 * e]
  3422. }
  3423. function l(t) {
  3424. return M[JSON.stringify(t)]
  3425. }
  3426. function u(t) {
  3427. var e = t[0] / 255,
  3428. n = t[1] / 255,
  3429. r = t[2] / 255;
  3430. return [100 * (.4124 * (e = e > .04045 ? Math.pow((e + .055) / 1.055, 2.4) : e / 12.92) + .3576 * (n = n > .04045 ? Math.pow((n + .055) / 1.055, 2.4) : n / 12.92) + .1805 * (r = r > .04045 ? Math.pow((r + .055) / 1.055, 2.4) : r / 12.92)), 100 * (.2126 * e + .7152 * n + .0722 * r), 100 * (.0193 * e + .1192 * n + .9505 * r)]
  3431. }
  3432. function c(t) {
  3433. var e = u(t),
  3434. n = e[0],
  3435. r = e[1],
  3436. i = e[2];
  3437. return r /= 100, i /= 108.883, n = (n /= 95.047) > .008856 ? Math.pow(n, 1 / 3) : 7.787 * n + 16 / 116, [116 * (r = r > .008856 ? Math.pow(r, 1 / 3) : 7.787 * r + 16 / 116) - 16, 500 * (n - r), 200 * (r - (i = i > .008856 ? Math.pow(i, 1 / 3) : 7.787 * i + 16 / 116))]
  3438. }
  3439. function d(t) {
  3440. var e, n, r, i, o, a = t[0] / 360,
  3441. s = t[1] / 100,
  3442. l = t[2] / 100;
  3443. if (0 == s) return [o = 255 * l, o, o];
  3444. e = 2 * l - (n = l < .5 ? l * (1 + s) : l + s - l * s), i = [0, 0, 0];
  3445. for (var u = 0; u < 3; u++)(r = a + 1 / 3 * -(u - 1)) < 0 && r++, r > 1 && r--, o = 6 * r < 1 ? e + 6 * (n - e) * r : 2 * r < 1 ? n : 3 * r < 2 ? e + (n - e) * (2 / 3 - r) * 6 : e, i[u] = 255 * o;
  3446. return i
  3447. }
  3448. function f(t) {
  3449. var e = t[0] / 60,
  3450. n = t[1] / 100,
  3451. r = t[2] / 100,
  3452. i = Math.floor(e) % 6,
  3453. o = e - Math.floor(e),
  3454. a = 255 * r * (1 - n),
  3455. s = 255 * r * (1 - n * o),
  3456. l = 255 * r * (1 - n * (1 - o));
  3457. r *= 255;
  3458. switch (i) {
  3459. case 0:
  3460. return [r, l, a];
  3461. case 1:
  3462. return [s, r, a];
  3463. case 2:
  3464. return [a, r, l];
  3465. case 3:
  3466. return [a, s, r];
  3467. case 4:
  3468. return [l, a, r];
  3469. case 5:
  3470. return [r, a, s]
  3471. }
  3472. }
  3473. function h(t) {
  3474. var e, n, i, o, a = t[0] / 360,
  3475. s = t[1] / 100,
  3476. l = t[2] / 100,
  3477. u = s + l;
  3478. switch (u > 1 && (s /= u, l /= u), i = 6 * a - (e = Math.floor(6 * a)), 0 != (1 & e) && (i = 1 - i), o = s + i * ((n = 1 - l) - s), e) {
  3479. default:
  3480. case 6:
  3481. case 0:
  3482. r = n, g = o, b = s;
  3483. break;
  3484. case 1:
  3485. r = o, g = n, b = s;
  3486. break;
  3487. case 2:
  3488. r = s, g = n, b = o;
  3489. break;
  3490. case 3:
  3491. r = s, g = o, b = n;
  3492. break;
  3493. case 4:
  3494. r = o, g = s, b = n;
  3495. break;
  3496. case 5:
  3497. r = n, g = s, b = o
  3498. }
  3499. return [255 * r, 255 * g, 255 * b]
  3500. }
  3501. function p(t) {
  3502. var e = t[0] / 100,
  3503. n = t[1] / 100,
  3504. r = t[2] / 100,
  3505. i = t[3] / 100;
  3506. return [255 * (1 - Math.min(1, e * (1 - i) + i)), 255 * (1 - Math.min(1, n * (1 - i) + i)), 255 * (1 - Math.min(1, r * (1 - i) + i))]
  3507. }
  3508. function v(t) {
  3509. var e, n, r, i = t[0] / 100,
  3510. o = t[1] / 100,
  3511. a = t[2] / 100;
  3512. return n = -.9689 * i + 1.8758 * o + .0415 * a, r = .0557 * i + -.204 * o + 1.057 * a, e = (e = 3.2406 * i + -1.5372 * o + -.4986 * a) > .0031308 ? 1.055 * Math.pow(e, 1 / 2.4) - .055 : e *= 12.92, n = n > .0031308 ? 1.055 * Math.pow(n, 1 / 2.4) - .055 : n *= 12.92, r = r > .0031308 ? 1.055 * Math.pow(r, 1 / 2.4) - .055 : r *= 12.92, [255 * (e = Math.min(Math.max(0, e), 1)), 255 * (n = Math.min(Math.max(0, n), 1)), 255 * (r = Math.min(Math.max(0, r), 1))]
  3513. }
  3514. function m(t) {
  3515. var e = t[0],
  3516. n = t[1],
  3517. r = t[2];
  3518. return n /= 100, r /= 108.883, e = (e /= 95.047) > .008856 ? Math.pow(e, 1 / 3) : 7.787 * e + 16 / 116, [116 * (n = n > .008856 ? Math.pow(n, 1 / 3) : 7.787 * n + 16 / 116) - 16, 500 * (e - n), 200 * (n - (r = r > .008856 ? Math.pow(r, 1 / 3) : 7.787 * r + 16 / 116))]
  3519. }
  3520. function y(t) {
  3521. var e, n, r, i, o = t[0],
  3522. a = t[1],
  3523. s = t[2];
  3524. return o <= 8 ? i = (n = 100 * o / 903.3) / 100 * 7.787 + 16 / 116 : (n = 100 * Math.pow((o + 16) / 116, 3), i = Math.pow(n / 100, 1 / 3)), [e = e / 95.047 <= .008856 ? e = 95.047 * (a / 500 + i - 16 / 116) / 7.787 : 95.047 * Math.pow(a / 500 + i, 3), n, r = r / 108.883 <= .008859 ? r = 108.883 * (i - s / 200 - 16 / 116) / 7.787 : 108.883 * Math.pow(i - s / 200, 3)]
  3525. }
  3526. function x(t) {
  3527. var e, n = t[0],
  3528. r = t[1],
  3529. i = t[2];
  3530. return (e = 360 * Math.atan2(i, r) / 2 / Math.PI) < 0 && (e += 360), [n, Math.sqrt(r * r + i * i), e]
  3531. }
  3532. function w(t) {
  3533. return v(y(t))
  3534. }
  3535. function S(t) {
  3536. var e, n = t[0],
  3537. r = t[1];
  3538. return e = t[2] / 360 * 2 * Math.PI, [n, r * Math.cos(e), r * Math.sin(e)]
  3539. }
  3540. function k(t) {
  3541. return C[t]
  3542. }
  3543. e.exports = {
  3544. rgb2hsl: i,
  3545. rgb2hsv: o,
  3546. rgb2hwb: a,
  3547. rgb2cmyk: s,
  3548. rgb2keyword: l,
  3549. rgb2xyz: u,
  3550. rgb2lab: c,
  3551. rgb2lch: function(t) {
  3552. return x(c(t))
  3553. },
  3554. hsl2rgb: d,
  3555. hsl2hsv: function(t) {
  3556. var e = t[0],
  3557. n = t[1] / 100,
  3558. r = t[2] / 100;
  3559. if (0 === r) return [0, 0, 0];
  3560. return [e, 100 * (2 * (n *= (r *= 2) <= 1 ? r : 2 - r) / (r + n)), 100 * ((r + n) / 2)]
  3561. },
  3562. hsl2hwb: function(t) {
  3563. return a(d(t))
  3564. },
  3565. hsl2cmyk: function(t) {
  3566. return s(d(t))
  3567. },
  3568. hsl2keyword: function(t) {
  3569. return l(d(t))
  3570. },
  3571. hsv2rgb: f,
  3572. hsv2hsl: function(t) {
  3573. var e, n, r = t[0],
  3574. i = t[1] / 100,
  3575. o = t[2] / 100;
  3576. return e = i * o, [r, 100 * (e = (e /= (n = (2 - i) * o) <= 1 ? n : 2 - n) || 0), 100 * (n /= 2)]
  3577. },
  3578. hsv2hwb: function(t) {
  3579. return a(f(t))
  3580. },
  3581. hsv2cmyk: function(t) {
  3582. return s(f(t))
  3583. },
  3584. hsv2keyword: function(t) {
  3585. return l(f(t))
  3586. },
  3587. hwb2rgb: h,
  3588. hwb2hsl: function(t) {
  3589. return i(h(t))
  3590. },
  3591. hwb2hsv: function(t) {
  3592. return o(h(t))
  3593. },
  3594. hwb2cmyk: function(t) {
  3595. return s(h(t))
  3596. },
  3597. hwb2keyword: function(t) {
  3598. return l(h(t))
  3599. },
  3600. cmyk2rgb: p,
  3601. cmyk2hsl: function(t) {
  3602. return i(p(t))
  3603. },
  3604. cmyk2hsv: function(t) {
  3605. return o(p(t))
  3606. },
  3607. cmyk2hwb: function(t) {
  3608. return a(p(t))
  3609. },
  3610. cmyk2keyword: function(t) {
  3611. return l(p(t))
  3612. },
  3613. keyword2rgb: k,
  3614. keyword2hsl: function(t) {
  3615. return i(k(t))
  3616. },
  3617. keyword2hsv: function(t) {
  3618. return o(k(t))
  3619. },
  3620. keyword2hwb: function(t) {
  3621. return a(k(t))
  3622. },
  3623. keyword2cmyk: function(t) {
  3624. return s(k(t))
  3625. },
  3626. keyword2lab: function(t) {
  3627. return c(k(t))
  3628. },
  3629. keyword2xyz: function(t) {
  3630. return u(k(t))
  3631. },
  3632. xyz2rgb: v,
  3633. xyz2lab: m,
  3634. xyz2lch: function(t) {
  3635. return x(m(t))
  3636. },
  3637. lab2xyz: y,
  3638. lab2rgb: w,
  3639. lab2lch: x,
  3640. lch2lab: S,
  3641. lch2xyz: function(t) {
  3642. return y(S(t))
  3643. },
  3644. lch2rgb: function(t) {
  3645. return w(S(t))
  3646. }
  3647. };
  3648. var C = {
  3649. aliceblue: [240, 248, 255],
  3650. antiquewhite: [250, 235, 215],
  3651. aqua: [0, 255, 255],
  3652. aquamarine: [127, 255, 212],
  3653. azure: [240, 255, 255],
  3654. beige: [245, 245, 220],
  3655. bisque: [255, 228, 196],
  3656. black: [0, 0, 0],
  3657. blanchedalmond: [255, 235, 205],
  3658. blue: [0, 0, 255],
  3659. blueviolet: [138, 43, 226],
  3660. brown: [165, 42, 42],
  3661. burlywood: [222, 184, 135],
  3662. cadetblue: [95, 158, 160],
  3663. chartreuse: [127, 255, 0],
  3664. chocolate: [210, 105, 30],
  3665. coral: [255, 127, 80],
  3666. cornflowerblue: [100, 149, 237],
  3667. cornsilk: [255, 248, 220],
  3668. crimson: [220, 20, 60],
  3669. cyan: [0, 255, 255],
  3670. darkblue: [0, 0, 139],
  3671. darkcyan: [0, 139, 139],
  3672. darkgoldenrod: [184, 134, 11],
  3673. darkgray: [169, 169, 169],
  3674. darkgreen: [0, 100, 0],
  3675. darkgrey: [169, 169, 169],
  3676. darkkhaki: [189, 183, 107],
  3677. darkmagenta: [139, 0, 139],
  3678. darkolivegreen: [85, 107, 47],
  3679. darkorange: [255, 140, 0],
  3680. darkorchid: [153, 50, 204],
  3681. darkred: [139, 0, 0],
  3682. darksalmon: [233, 150, 122],
  3683. darkseagreen: [143, 188, 143],
  3684. darkslateblue: [72, 61, 139],
  3685. darkslategray: [47, 79, 79],
  3686. darkslategrey: [47, 79, 79],
  3687. darkturquoise: [0, 206, 209],
  3688. darkviolet: [148, 0, 211],
  3689. deeppink: [255, 20, 147],
  3690. deepskyblue: [0, 191, 255],
  3691. dimgray: [105, 105, 105],
  3692. dimgrey: [105, 105, 105],
  3693. dodgerblue: [30, 144, 255],
  3694. firebrick: [178, 34, 34],
  3695. floralwhite: [255, 250, 240],
  3696. forestgreen: [34, 139, 34],
  3697. fuchsia: [255, 0, 255],
  3698. gainsboro: [220, 220, 220],
  3699. ghostwhite: [248, 248, 255],
  3700. gold: [255, 215, 0],
  3701. goldenrod: [218, 165, 32],
  3702. gray: [128, 128, 128],
  3703. green: [0, 128, 0],
  3704. greenyellow: [173, 255, 47],
  3705. grey: [128, 128, 128],
  3706. honeydew: [240, 255, 240],
  3707. hotpink: [255, 105, 180],
  3708. indianred: [205, 92, 92],
  3709. indigo: [75, 0, 130],
  3710. ivory: [255, 255, 240],
  3711. khaki: [240, 230, 140],
  3712. lavender: [230, 230, 250],
  3713. lavenderblush: [255, 240, 245],
  3714. lawngreen: [124, 252, 0],
  3715. lemonchiffon: [255, 250, 205],
  3716. lightblue: [173, 216, 230],
  3717. lightcoral: [240, 128, 128],
  3718. lightcyan: [224, 255, 255],
  3719. lightgoldenrodyellow: [250, 250, 210],
  3720. lightgray: [211, 211, 211],
  3721. lightgreen: [144, 238, 144],
  3722. lightgrey: [211, 211, 211],
  3723. lightpink: [255, 182, 193],
  3724. lightsalmon: [255, 160, 122],
  3725. lightseagreen: [32, 178, 170],
  3726. lightskyblue: [135, 206, 250],
  3727. lightslategray: [119, 136, 153],
  3728. lightslategrey: [119, 136, 153],
  3729. lightsteelblue: [176, 196, 222],
  3730. lightyellow: [255, 255, 224],
  3731. lime: [0, 255, 0],
  3732. limegreen: [50, 205, 50],
  3733. linen: [250, 240, 230],
  3734. magenta: [255, 0, 255],
  3735. maroon: [128, 0, 0],
  3736. mediumaquamarine: [102, 205, 170],
  3737. mediumblue: [0, 0, 205],
  3738. mediumorchid: [186, 85, 211],
  3739. mediumpurple: [147, 112, 219],
  3740. mediumseagreen: [60, 179, 113],
  3741. mediumslateblue: [123, 104, 238],
  3742. mediumspringgreen: [0, 250, 154],
  3743. mediumturquoise: [72, 209, 204],
  3744. mediumvioletred: [199, 21, 133],
  3745. midnightblue: [25, 25, 112],
  3746. mintcream: [245, 255, 250],
  3747. mistyrose: [255, 228, 225],
  3748. moccasin: [255, 228, 181],
  3749. navajowhite: [255, 222, 173],
  3750. navy: [0, 0, 128],
  3751. oldlace: [253, 245, 230],
  3752. olive: [128, 128, 0],
  3753. olivedrab: [107, 142, 35],
  3754. orange: [255, 165, 0],
  3755. orangered: [255, 69, 0],
  3756. orchid: [218, 112, 214],
  3757. palegoldenrod: [238, 232, 170],
  3758. palegreen: [152, 251, 152],
  3759. paleturquoise: [175, 238, 238],
  3760. palevioletred: [219, 112, 147],
  3761. papayawhip: [255, 239, 213],
  3762. peachpuff: [255, 218, 185],
  3763. peru: [205, 133, 63],
  3764. pink: [255, 192, 203],
  3765. plum: [221, 160, 221],
  3766. powderblue: [176, 224, 230],
  3767. purple: [128, 0, 128],
  3768. rebeccapurple: [102, 51, 153],
  3769. red: [255, 0, 0],
  3770. rosybrown: [188, 143, 143],
  3771. royalblue: [65, 105, 225],
  3772. saddlebrown: [139, 69, 19],
  3773. salmon: [250, 128, 114],
  3774. sandybrown: [244, 164, 96],
  3775. seagreen: [46, 139, 87],
  3776. seashell: [255, 245, 238],
  3777. sienna: [160, 82, 45],
  3778. silver: [192, 192, 192],
  3779. skyblue: [135, 206, 235],
  3780. slateblue: [106, 90, 205],
  3781. slategray: [112, 128, 144],
  3782. slategrey: [112, 128, 144],
  3783. snow: [255, 250, 250],
  3784. springgreen: [0, 255, 127],
  3785. steelblue: [70, 130, 180],
  3786. tan: [210, 180, 140],
  3787. teal: [0, 128, 128],
  3788. thistle: [216, 191, 216],
  3789. tomato: [255, 99, 71],
  3790. turquoise: [64, 224, 208],
  3791. violet: [238, 130, 238],
  3792. wheat: [245, 222, 179],
  3793. white: [255, 255, 255],
  3794. whitesmoke: [245, 245, 245],
  3795. yellow: [255, 255, 0],
  3796. yellowgreen: [154, 205, 50]
  3797. },
  3798. M = {};
  3799. for (var A in C) M[JSON.stringify(C[A])] = A
  3800. }, {}],
  3801. 5: [function(t, e, n) {
  3802. var r = t(4),
  3803. i = function() {
  3804. return new u
  3805. };
  3806. for (var o in r) {
  3807. i[o + "Raw"] = function(t) {
  3808. return function(e) {
  3809. return "number" == typeof e && (e = Array.prototype.slice.call(arguments)), r[t](e)
  3810. }
  3811. }(o);
  3812. var a = /(\w+)2(\w+)/.exec(o),
  3813. s = a[1],
  3814. l = a[2];
  3815. (i[s] = i[s] || {})[l] = i[o] = function(t) {
  3816. return function(e) {
  3817. "number" == typeof e && (e = Array.prototype.slice.call(arguments));
  3818. var n = r[t](e);
  3819. if ("string" == typeof n || void 0 === n) return n;
  3820. for (var i = 0; i < n.length; i++) n[i] = Math.round(n[i]);
  3821. return n
  3822. }
  3823. }(o)
  3824. }
  3825. var u = function() {
  3826. this.convs = {}
  3827. };
  3828. u.prototype.routeSpace = function(t, e) {
  3829. var n = e[0];
  3830. return void 0 === n ? this.getValues(t) : ("number" == typeof n && (n = Array.prototype.slice.call(e)), this.setValues(t, n))
  3831. }, u.prototype.setValues = function(t, e) {
  3832. return this.space = t, this.convs = {}, this.convs[t] = e, this
  3833. }, u.prototype.getValues = function(t) {
  3834. var e = this.convs[t];
  3835. if (!e) {
  3836. var n = this.space,
  3837. r = this.convs[n];
  3838. e = i[n][t](r), this.convs[t] = e
  3839. }
  3840. return e
  3841. }, ["rgb", "hsl", "hsv", "cmyk", "keyword"].forEach((function(t) {
  3842. u.prototype[t] = function(e) {
  3843. return this.routeSpace(t, arguments)
  3844. }
  3845. })), e.exports = i
  3846. }, {
  3847. 4: 4
  3848. }],
  3849. 6: [function(t, e, n) {
  3850. e.exports = {
  3851. aliceblue: [240, 248, 255],
  3852. antiquewhite: [250, 235, 215],
  3853. aqua: [0, 255, 255],
  3854. aquamarine: [127, 255, 212],
  3855. azure: [240, 255, 255],
  3856. beige: [245, 245, 220],
  3857. bisque: [255, 228, 196],
  3858. black: [0, 0, 0],
  3859. blanchedalmond: [255, 235, 205],
  3860. blue: [0, 0, 255],
  3861. blueviolet: [138, 43, 226],
  3862. brown: [165, 42, 42],
  3863. burlywood: [222, 184, 135],
  3864. cadetblue: [95, 158, 160],
  3865. chartreuse: [127, 255, 0],
  3866. chocolate: [210, 105, 30],
  3867. coral: [255, 127, 80],
  3868. cornflowerblue: [100, 149, 237],
  3869. cornsilk: [255, 248, 220],
  3870. crimson: [220, 20, 60],
  3871. cyan: [0, 255, 255],
  3872. darkblue: [0, 0, 139],
  3873. darkcyan: [0, 139, 139],
  3874. darkgoldenrod: [184, 134, 11],
  3875. darkgray: [169, 169, 169],
  3876. darkgreen: [0, 100, 0],
  3877. darkgrey: [169, 169, 169],
  3878. darkkhaki: [189, 183, 107],
  3879. darkmagenta: [139, 0, 139],
  3880. darkolivegreen: [85, 107, 47],
  3881. darkorange: [255, 140, 0],
  3882. darkorchid: [153, 50, 204],
  3883. darkred: [139, 0, 0],
  3884. darksalmon: [233, 150, 122],
  3885. darkseagreen: [143, 188, 143],
  3886. darkslateblue: [72, 61, 139],
  3887. darkslategray: [47, 79, 79],
  3888. darkslategrey: [47, 79, 79],
  3889. darkturquoise: [0, 206, 209],
  3890. darkviolet: [148, 0, 211],
  3891. deeppink: [255, 20, 147],
  3892. deepskyblue: [0, 191, 255],
  3893. dimgray: [105, 105, 105],
  3894. dimgrey: [105, 105, 105],
  3895. dodgerblue: [30, 144, 255],
  3896. firebrick: [178, 34, 34],
  3897. floralwhite: [255, 250, 240],
  3898. forestgreen: [34, 139, 34],
  3899. fuchsia: [255, 0, 255],
  3900. gainsboro: [220, 220, 220],
  3901. ghostwhite: [248, 248, 255],
  3902. gold: [255, 215, 0],
  3903. goldenrod: [218, 165, 32],
  3904. gray: [128, 128, 128],
  3905. green: [0, 128, 0],
  3906. greenyellow: [173, 255, 47],
  3907. grey: [128, 128, 128],
  3908. honeydew: [240, 255, 240],
  3909. hotpink: [255, 105, 180],
  3910. indianred: [205, 92, 92],
  3911. indigo: [75, 0, 130],
  3912. ivory: [255, 255, 240],
  3913. khaki: [240, 230, 140],
  3914. lavender: [230, 230, 250],
  3915. lavenderblush: [255, 240, 245],
  3916. lawngreen: [124, 252, 0],
  3917. lemonchiffon: [255, 250, 205],
  3918. lightblue: [173, 216, 230],
  3919. lightcoral: [240, 128, 128],
  3920. lightcyan: [224, 255, 255],
  3921. lightgoldenrodyellow: [250, 250, 210],
  3922. lightgray: [211, 211, 211],
  3923. lightgreen: [144, 238, 144],
  3924. lightgrey: [211, 211, 211],
  3925. lightpink: [255, 182, 193],
  3926. lightsalmon: [255, 160, 122],
  3927. lightseagreen: [32, 178, 170],
  3928. lightskyblue: [135, 206, 250],
  3929. lightslategray: [119, 136, 153],
  3930. lightslategrey: [119, 136, 153],
  3931. lightsteelblue: [176, 196, 222],
  3932. lightyellow: [255, 255, 224],
  3933. lime: [0, 255, 0],
  3934. limegreen: [50, 205, 50],
  3935. linen: [250, 240, 230],
  3936. magenta: [255, 0, 255],
  3937. maroon: [128, 0, 0],
  3938. mediumaquamarine: [102, 205, 170],
  3939. mediumblue: [0, 0, 205],
  3940. mediumorchid: [186, 85, 211],
  3941. mediumpurple: [147, 112, 219],
  3942. mediumseagreen: [60, 179, 113],
  3943. mediumslateblue: [123, 104, 238],
  3944. mediumspringgreen: [0, 250, 154],
  3945. mediumturquoise: [72, 209, 204],
  3946. mediumvioletred: [199, 21, 133],
  3947. midnightblue: [25, 25, 112],
  3948. mintcream: [245, 255, 250],
  3949. mistyrose: [255, 228, 225],
  3950. moccasin: [255, 228, 181],
  3951. navajowhite: [255, 222, 173],
  3952. navy: [0, 0, 128],
  3953. oldlace: [253, 245, 230],
  3954. olive: [128, 128, 0],
  3955. olivedrab: [107, 142, 35],
  3956. orange: [255, 165, 0],
  3957. orangered: [255, 69, 0],
  3958. orchid: [218, 112, 214],
  3959. palegoldenrod: [238, 232, 170],
  3960. palegreen: [152, 251, 152],
  3961. paleturquoise: [175, 238, 238],
  3962. palevioletred: [219, 112, 147],
  3963. papayawhip: [255, 239, 213],
  3964. peachpuff: [255, 218, 185],
  3965. peru: [205, 133, 63],
  3966. pink: [255, 192, 203],
  3967. plum: [221, 160, 221],
  3968. powderblue: [176, 224, 230],
  3969. purple: [128, 0, 128],
  3970. rebeccapurple: [102, 51, 153],
  3971. red: [255, 0, 0],
  3972. rosybrown: [188, 143, 143],
  3973. royalblue: [65, 105, 225],
  3974. saddlebrown: [139, 69, 19],
  3975. salmon: [250, 128, 114],
  3976. sandybrown: [244, 164, 96],
  3977. seagreen: [46, 139, 87],
  3978. seashell: [255, 245, 238],
  3979. sienna: [160, 82, 45],
  3980. silver: [192, 192, 192],
  3981. skyblue: [135, 206, 235],
  3982. slateblue: [106, 90, 205],
  3983. slategray: [112, 128, 144],
  3984. slategrey: [112, 128, 144],
  3985. snow: [255, 250, 250],
  3986. springgreen: [0, 255, 127],
  3987. steelblue: [70, 130, 180],
  3988. tan: [210, 180, 140],
  3989. teal: [0, 128, 128],
  3990. thistle: [216, 191, 216],
  3991. tomato: [255, 99, 71],
  3992. turquoise: [64, 224, 208],
  3993. violet: [238, 130, 238],
  3994. wheat: [245, 222, 179],
  3995. white: [255, 255, 255],
  3996. whitesmoke: [245, 245, 245],
  3997. yellow: [255, 255, 0],
  3998. yellowgreen: [154, 205, 50]
  3999. }
  4000. }, {}],
  4001. 7: [function(t, e, n) {
  4002. var r = t(30)();
  4003. r.helpers = t(46), t(28)(r), r.Animation = t(22), r.animationService = t(23), r.defaults = t(26), r.Element = t(27), r.elements = t(41), r.Interaction = t(29), r.layouts = t(31), r.platform = t(49), r.plugins = t(32), r.Scale = t(33), r.scaleService = t(34), r.Ticks = t(35), r.Tooltip = t(36), t(24)(r), t(25)(r), t(56)(r), t(54)(r), t(55)(r), t(57)(r), t(58)(r), t(59)(r), t(15)(r), t(16)(r), t(17)(r), t(18)(r), t(19)(r), t(20)(r), t(21)(r), t(8)(r), t(9)(r), t(10)(r), t(11)(r), t(12)(r), t(13)(r), t(14)(r);
  4004. var i = t(50);
  4005. for (var o in i) i.hasOwnProperty(o) && r.plugins.register(i[o]);
  4006. r.platform.initialize(), e.exports = r, "undefined" != typeof window && (window.Chart = r), r.Legend = i.legend._element, r.Title = i.title._element, r.pluginService = r.plugins, r.PluginBase = r.Element.extend({}), r.canvasHelpers = r.helpers.canvas, r.layoutService = r.layouts
  4007. }, {
  4008. 10: 10,
  4009. 11: 11,
  4010. 12: 12,
  4011. 13: 13,
  4012. 14: 14,
  4013. 15: 15,
  4014. 16: 16,
  4015. 17: 17,
  4016. 18: 18,
  4017. 19: 19,
  4018. 20: 20,
  4019. 21: 21,
  4020. 22: 22,
  4021. 23: 23,
  4022. 24: 24,
  4023. 25: 25,
  4024. 26: 26,
  4025. 27: 27,
  4026. 28: 28,
  4027. 29: 29,
  4028. 30: 30,
  4029. 31: 31,
  4030. 32: 32,
  4031. 33: 33,
  4032. 34: 34,
  4033. 35: 35,
  4034. 36: 36,
  4035. 41: 41,
  4036. 46: 46,
  4037. 49: 49,
  4038. 50: 50,
  4039. 54: 54,
  4040. 55: 55,
  4041. 56: 56,
  4042. 57: 57,
  4043. 58: 58,
  4044. 59: 59,
  4045. 8: 8,
  4046. 9: 9
  4047. }],
  4048. 8: [function(t, e, n) {
  4049. e.exports = function(t) {
  4050. t.Bar = function(e, n) {
  4051. return n.type = "bar", new t(e, n)
  4052. }
  4053. }
  4054. }, {}],
  4055. 9: [function(t, e, n) {
  4056. e.exports = function(t) {
  4057. t.Bubble = function(e, n) {
  4058. return n.type = "bubble", new t(e, n)
  4059. }
  4060. }
  4061. }, {}],
  4062. 10: [function(t, e, n) {
  4063. e.exports = function(t) {
  4064. t.Doughnut = function(e, n) {
  4065. return n.type = "doughnut", new t(e, n)
  4066. }
  4067. }
  4068. }, {}],
  4069. 11: [function(t, e, n) {
  4070. e.exports = function(t) {
  4071. t.Line = function(e, n) {
  4072. return n.type = "line", new t(e, n)
  4073. }
  4074. }
  4075. }, {}],
  4076. 12: [function(t, e, n) {
  4077. e.exports = function(t) {
  4078. t.PolarArea = function(e, n) {
  4079. return n.type = "polarArea", new t(e, n)
  4080. }
  4081. }
  4082. }, {}],
  4083. 13: [function(t, e, n) {
  4084. e.exports = function(t) {
  4085. t.Radar = function(e, n) {
  4086. return n.type = "radar", new t(e, n)
  4087. }
  4088. }
  4089. }, {}],
  4090. 14: [function(t, e, n) {
  4091. e.exports = function(t) {
  4092. t.Scatter = function(e, n) {
  4093. return n.type = "scatter", new t(e, n)
  4094. }
  4095. }
  4096. }, {}],
  4097. 15: [function(t, e, n) {
  4098. var r = t(26),
  4099. i = t(41),
  4100. o = t(46);
  4101. r._set("bar", {
  4102. hover: {
  4103. mode: "label"
  4104. },
  4105. scales: {
  4106. xAxes: [{
  4107. type: "category",
  4108. categoryPercentage: .8,
  4109. barPercentage: .9,
  4110. offset: !0,
  4111. gridLines: {
  4112. offsetGridLines: !0
  4113. }
  4114. }],
  4115. yAxes: [{
  4116. type: "linear"
  4117. }]
  4118. }
  4119. }), r._set("horizontalBar", {
  4120. hover: {
  4121. mode: "index",
  4122. axis: "y"
  4123. },
  4124. scales: {
  4125. xAxes: [{
  4126. type: "linear",
  4127. position: "bottom"
  4128. }],
  4129. yAxes: [{
  4130. position: "left",
  4131. type: "category",
  4132. categoryPercentage: .8,
  4133. barPercentage: .9,
  4134. offset: !0,
  4135. gridLines: {
  4136. offsetGridLines: !0
  4137. }
  4138. }]
  4139. },
  4140. elements: {
  4141. rectangle: {
  4142. borderSkipped: "left"
  4143. }
  4144. },
  4145. tooltips: {
  4146. callbacks: {
  4147. title: function(t, e) {
  4148. var n = "";
  4149. return t.length > 0 && (t[0].yLabel ? n = t[0].yLabel : e.labels.length > 0 && t[0].index < e.labels.length && (n = e.labels[t[0].index])), n
  4150. },
  4151. label: function(t, e) {
  4152. return (e.datasets[t.datasetIndex].label || "") + ": " + t.xLabel
  4153. }
  4154. },
  4155. mode: "index",
  4156. axis: "y"
  4157. }
  4158. }), e.exports = function(t) {
  4159. t.controllers.bar = t.DatasetController.extend({
  4160. dataElementType: i.Rectangle,
  4161. initialize: function() {
  4162. var e, n = this;
  4163. t.DatasetController.prototype.initialize.apply(n, arguments), (e = n.getMeta()).stack = n.getDataset().stack, e.bar = !0
  4164. },
  4165. update: function(t) {
  4166. var e, n, r = this.getMeta().data;
  4167. for (this._ruler = this.getRuler(), e = 0, n = r.length; e < n; ++e) this.updateElement(r[e], e, t)
  4168. },
  4169. updateElement: function(t, e, n) {
  4170. var r = this,
  4171. i = r.chart,
  4172. a = r.getMeta(),
  4173. s = r.getDataset(),
  4174. l = t.custom || {},
  4175. u = i.options.elements.rectangle;
  4176. t._xScale = r.getScaleForId(a.xAxisID), t._yScale = r.getScaleForId(a.yAxisID), t._datasetIndex = r.index, t._index = e, t._model = {
  4177. datasetLabel: s.label,
  4178. label: i.data.labels[e],
  4179. borderSkipped: l.borderSkipped ? l.borderSkipped : u.borderSkipped,
  4180. backgroundColor: l.backgroundColor ? l.backgroundColor : o.valueAtIndexOrDefault(s.backgroundColor, e, u.backgroundColor),
  4181. borderColor: l.borderColor ? l.borderColor : o.valueAtIndexOrDefault(s.borderColor, e, u.borderColor),
  4182. borderWidth: l.borderWidth ? l.borderWidth : o.valueAtIndexOrDefault(s.borderWidth, e, u.borderWidth)
  4183. }, r.updateElementGeometry(t, e, n), t.pivot()
  4184. },
  4185. updateElementGeometry: function(t, e, n) {
  4186. var r = this,
  4187. i = t._model,
  4188. o = r.getValueScale(),
  4189. a = o.getBasePixel(),
  4190. s = o.isHorizontal(),
  4191. l = r._ruler || r.getRuler(),
  4192. u = r.calculateBarValuePixels(r.index, e),
  4193. c = r.calculateBarIndexPixels(r.index, e, l);
  4194. i.horizontal = s, i.base = n ? a : u.base, i.x = s ? n ? a : u.head : c.center, i.y = s ? c.center : n ? a : u.head, i.height = s ? c.size : void 0, i.width = s ? void 0 : c.size
  4195. },
  4196. getValueScaleId: function() {
  4197. return this.getMeta().yAxisID
  4198. },
  4199. getIndexScaleId: function() {
  4200. return this.getMeta().xAxisID
  4201. },
  4202. getValueScale: function() {
  4203. return this.getScaleForId(this.getValueScaleId())
  4204. },
  4205. getIndexScale: function() {
  4206. return this.getScaleForId(this.getIndexScaleId())
  4207. },
  4208. _getStacks: function(t) {
  4209. var e, n, r = this.chart,
  4210. i = this.getIndexScale().options.stacked,
  4211. o = void 0 === t ? r.data.datasets.length : t + 1,
  4212. a = [];
  4213. for (e = 0; e < o; ++e)(n = r.getDatasetMeta(e)).bar && r.isDatasetVisible(e) && (!1 === i || !0 === i && -1 === a.indexOf(n.stack) || void 0 === i && (void 0 === n.stack || -1 === a.indexOf(n.stack))) && a.push(n.stack);
  4214. return a
  4215. },
  4216. getStackCount: function() {
  4217. return this._getStacks().length
  4218. },
  4219. getStackIndex: function(t, e) {
  4220. var n = this._getStacks(t),
  4221. r = void 0 !== e ? n.indexOf(e) : -1;
  4222. return -1 === r ? n.length - 1 : r
  4223. },
  4224. getRuler: function() {
  4225. var t, e, n = this.getIndexScale(),
  4226. r = this.getStackCount(),
  4227. i = this.index,
  4228. a = n.isHorizontal(),
  4229. s = a ? n.left : n.top,
  4230. l = s + (a ? n.width : n.height),
  4231. u = [];
  4232. for (t = 0, e = this.getMeta().data.length; t < e; ++t) u.push(n.getPixelForValue(null, t, i));
  4233. return {
  4234. min: o.isNullOrUndef(n.options.barThickness) ? function(t, e) {
  4235. var n, r, i, o, a = t.isHorizontal() ? t.width : t.height,
  4236. s = t.getTicks();
  4237. for (i = 1, o = e.length; i < o; ++i) a = Math.min(a, e[i] - e[i - 1]);
  4238. for (i = 0, o = s.length; i < o; ++i) r = t.getPixelForTick(i), a = i > 0 ? Math.min(a, r - n) : a, n = r;
  4239. return a
  4240. }(n, u) : -1,
  4241. pixels: u,
  4242. start: s,
  4243. end: l,
  4244. stackCount: r,
  4245. scale: n
  4246. }
  4247. },
  4248. calculateBarValuePixels: function(t, e) {
  4249. var n, r, i, o, a, s, l = this.chart,
  4250. u = this.getMeta(),
  4251. c = this.getValueScale(),
  4252. d = l.data.datasets,
  4253. f = c.getRightValue(d[t].data[e]),
  4254. h = c.options.stacked,
  4255. p = u.stack,
  4256. g = 0;
  4257. if (h || void 0 === h && void 0 !== p)
  4258. for (n = 0; n < t; ++n)(r = l.getDatasetMeta(n)).bar && r.stack === p && r.controller.getValueScaleId() === c.id && l.isDatasetVisible(n) && (i = c.getRightValue(d[n].data[e]), (f < 0 && i < 0 || f >= 0 && i > 0) && (g += i));
  4259. return o = c.getPixelForValue(g), {
  4260. size: s = ((a = c.getPixelForValue(g + f)) - o) / 2,
  4261. base: o,
  4262. head: a,
  4263. center: a + s / 2
  4264. }
  4265. },
  4266. calculateBarIndexPixels: function(t, e, n) {
  4267. var r = n.scale.options,
  4268. i = "flex" === r.barThickness ? function(t, e, n) {
  4269. var r, i = e.pixels,
  4270. o = i[t],
  4271. a = t > 0 ? i[t - 1] : null,
  4272. s = t < i.length - 1 ? i[t + 1] : null,
  4273. l = n.categoryPercentage;
  4274. return null === a && (a = o - (null === s ? e.end - o : s - o)), null === s && (s = o + o - a), r = o - (o - a) / 2 * l, {
  4275. chunk: (s - a) / 2 * l / e.stackCount,
  4276. ratio: n.barPercentage,
  4277. start: r
  4278. }
  4279. }(e, n, r) : function(t, e, n) {
  4280. var r, i, a = n.barThickness,
  4281. s = e.stackCount,
  4282. l = e.pixels[t];
  4283. return o.isNullOrUndef(a) ? (r = e.min * n.categoryPercentage, i = n.barPercentage) : (r = a * s, i = 1), {
  4284. chunk: r / s,
  4285. ratio: i,
  4286. start: l - r / 2
  4287. }
  4288. }(e, n, r),
  4289. a = this.getStackIndex(t, this.getMeta().stack),
  4290. s = i.start + i.chunk * a + i.chunk / 2,
  4291. l = Math.min(o.valueOrDefault(r.maxBarThickness, 1 / 0), i.chunk * i.ratio);
  4292. return {
  4293. base: s - l / 2,
  4294. head: s + l / 2,
  4295. center: s,
  4296. size: l
  4297. }
  4298. },
  4299. draw: function() {
  4300. var t = this.chart,
  4301. e = this.getValueScale(),
  4302. n = this.getMeta().data,
  4303. r = this.getDataset(),
  4304. i = n.length,
  4305. a = 0;
  4306. for (o.canvas.clipArea(t.ctx, t.chartArea); a < i; ++a) isNaN(e.getRightValue(r.data[a])) || n[a].draw();
  4307. o.canvas.unclipArea(t.ctx)
  4308. }
  4309. }), t.controllers.horizontalBar = t.controllers.bar.extend({
  4310. getValueScaleId: function() {
  4311. return this.getMeta().xAxisID
  4312. },
  4313. getIndexScaleId: function() {
  4314. return this.getMeta().yAxisID
  4315. }
  4316. })
  4317. }
  4318. }, {
  4319. 26: 26,
  4320. 41: 41,
  4321. 46: 46
  4322. }],
  4323. 16: [function(t, e, n) {
  4324. var r = t(26),
  4325. i = t(41),
  4326. a = t(46);
  4327. r._set("bubble", {
  4328. hover: {
  4329. mode: "single"
  4330. },
  4331. scales: {
  4332. xAxes: [{
  4333. type: "linear",
  4334. position: "bottom",
  4335. id: "x-axis-0"
  4336. }],
  4337. yAxes: [{
  4338. type: "linear",
  4339. position: "left",
  4340. id: "y-axis-0"
  4341. }]
  4342. },
  4343. tooltips: {
  4344. callbacks: {
  4345. title: function() {
  4346. return ""
  4347. },
  4348. label: function(t, e) {
  4349. var n = e.datasets[t.datasetIndex].label || "",
  4350. r = e.datasets[t.datasetIndex].data[t.index];
  4351. return n + ": (" + t.xLabel + ", " + t.yLabel + ", " + r.r + ")"
  4352. }
  4353. }
  4354. }
  4355. }), e.exports = function(t) {
  4356. t.controllers.bubble = t.DatasetController.extend({
  4357. dataElementType: i.Point,
  4358. update: function(t) {
  4359. var e = this,
  4360. n = e.getMeta().data;
  4361. a.each(n, (function(n, r) {
  4362. e.updateElement(n, r, t)
  4363. }))
  4364. },
  4365. updateElement: function(t, e, n) {
  4366. var r = this,
  4367. i = r.getMeta(),
  4368. a = t.custom || {},
  4369. s = r.getScaleForId(i.xAxisID),
  4370. l = r.getScaleForId(i.yAxisID),
  4371. u = r._resolveElementOptions(t, e),
  4372. c = r.getDataset().data[e],
  4373. d = r.index,
  4374. f = n ? s.getPixelForDecimal(.5) : s.getPixelForValue("object" === o(c) ? c : NaN, e, d),
  4375. h = n ? l.getBasePixel() : l.getPixelForValue(c, e, d);
  4376. t._xScale = s, t._yScale = l, t._options = u, t._datasetIndex = d, t._index = e, t._model = {
  4377. backgroundColor: u.backgroundColor,
  4378. borderColor: u.borderColor,
  4379. borderWidth: u.borderWidth,
  4380. hitRadius: u.hitRadius,
  4381. pointStyle: u.pointStyle,
  4382. rotation: u.rotation,
  4383. radius: n ? 0 : u.radius,
  4384. skip: a.skip || isNaN(f) || isNaN(h),
  4385. x: f,
  4386. y: h
  4387. }, t.pivot()
  4388. },
  4389. setHoverStyle: function(t) {
  4390. var e = t._model,
  4391. n = t._options;
  4392. t.$previousStyle = {
  4393. backgroundColor: e.backgroundColor,
  4394. borderColor: e.borderColor,
  4395. borderWidth: e.borderWidth,
  4396. radius: e.radius
  4397. }, e.backgroundColor = a.valueOrDefault(n.hoverBackgroundColor, a.getHoverColor(n.backgroundColor)), e.borderColor = a.valueOrDefault(n.hoverBorderColor, a.getHoverColor(n.borderColor)), e.borderWidth = a.valueOrDefault(n.hoverBorderWidth, n.borderWidth), e.radius = n.radius + n.hoverRadius
  4398. },
  4399. _resolveElementOptions: function(t, e) {
  4400. var n, r, i, o = this.chart,
  4401. s = o.data.datasets[this.index],
  4402. l = t.custom || {},
  4403. u = o.options.elements.point,
  4404. c = a.options.resolve,
  4405. d = s.data[e],
  4406. f = {},
  4407. h = {
  4408. chart: o,
  4409. dataIndex: e,
  4410. dataset: s,
  4411. datasetIndex: this.index
  4412. },
  4413. p = ["backgroundColor", "borderColor", "borderWidth", "hoverBackgroundColor", "hoverBorderColor", "hoverBorderWidth", "hoverRadius", "hitRadius", "pointStyle", "rotation"];
  4414. for (n = 0, r = p.length; n < r; ++n) f[i = p[n]] = c([l[i], s[i], u[i]], h, e);
  4415. return f.radius = c([l.radius, d ? d.r : void 0, s.radius, u.radius], h, e), f
  4416. }
  4417. })
  4418. }
  4419. }, {
  4420. 26: 26,
  4421. 41: 41,
  4422. 46: 46
  4423. }],
  4424. 17: [function(t, e, n) {
  4425. var r = t(26),
  4426. i = t(41),
  4427. o = t(46);
  4428. r._set("doughnut", {
  4429. animation: {
  4430. animateRotate: !0,
  4431. animateScale: !1
  4432. },
  4433. hover: {
  4434. mode: "single"
  4435. },
  4436. legendCallback: function(t) {
  4437. var e = [];
  4438. e.push('<ul class="' + t.id + '-legend">');
  4439. var n = t.data,
  4440. r = n.datasets,
  4441. i = n.labels;
  4442. if (r.length)
  4443. for (var o = 0; o < r[0].data.length; ++o) e.push('<li><span style="background-color:' + r[0].backgroundColor[o] + '"></span>'), i[o] && e.push(i[o]), e.push("</li>");
  4444. return e.push("</ul>"), e.join("")
  4445. },
  4446. legend: {
  4447. labels: {
  4448. generateLabels: function(t) {
  4449. var e = t.data;
  4450. return e.labels.length && e.datasets.length ? e.labels.map((function(n, r) {
  4451. var i = t.getDatasetMeta(0),
  4452. a = e.datasets[0],
  4453. s = i.data[r],
  4454. l = s && s.custom || {},
  4455. u = o.valueAtIndexOrDefault,
  4456. c = t.options.elements.arc;
  4457. return {
  4458. text: n,
  4459. fillStyle: l.backgroundColor ? l.backgroundColor : u(a.backgroundColor, r, c.backgroundColor),
  4460. strokeStyle: l.borderColor ? l.borderColor : u(a.borderColor, r, c.borderColor),
  4461. lineWidth: l.borderWidth ? l.borderWidth : u(a.borderWidth, r, c.borderWidth),
  4462. hidden: isNaN(a.data[r]) || i.data[r].hidden,
  4463. index: r
  4464. }
  4465. })) : []
  4466. }
  4467. },
  4468. onClick: function(t, e) {
  4469. var n, r, i, o = e.index,
  4470. a = this.chart;
  4471. for (n = 0, r = (a.data.datasets || []).length; n < r; ++n)(i = a.getDatasetMeta(n)).data[o] && (i.data[o].hidden = !i.data[o].hidden);
  4472. a.update()
  4473. }
  4474. },
  4475. cutoutPercentage: 50,
  4476. rotation: -.5 * Math.PI,
  4477. circumference: 2 * Math.PI,
  4478. tooltips: {
  4479. callbacks: {
  4480. title: function() {
  4481. return ""
  4482. },
  4483. label: function(t, e) {
  4484. var n = e.labels[t.index],
  4485. r = ": " + e.datasets[t.datasetIndex].data[t.index];
  4486. return o.isArray(n) ? (n = n.slice())[0] += r : n += r, n
  4487. }
  4488. }
  4489. }
  4490. }), r._set("pie", o.clone(r.doughnut)), r._set("pie", {
  4491. cutoutPercentage: 0
  4492. }), e.exports = function(t) {
  4493. t.controllers.doughnut = t.controllers.pie = t.DatasetController.extend({
  4494. dataElementType: i.Arc,
  4495. linkScales: o.noop,
  4496. getRingIndex: function(t) {
  4497. for (var e = 0, n = 0; n < t; ++n) this.chart.isDatasetVisible(n) && ++e;
  4498. return e
  4499. },
  4500. update: function(t) {
  4501. var e = this,
  4502. n = e.chart,
  4503. r = n.chartArea,
  4504. i = n.options,
  4505. a = i.elements.arc,
  4506. s = r.right - r.left - a.borderWidth,
  4507. l = r.bottom - r.top - a.borderWidth,
  4508. u = Math.min(s, l),
  4509. c = {
  4510. x: 0,
  4511. y: 0
  4512. },
  4513. d = e.getMeta(),
  4514. f = i.cutoutPercentage,
  4515. h = i.circumference;
  4516. if (h < 2 * Math.PI) {
  4517. var p = i.rotation % (2 * Math.PI),
  4518. g = (p += 2 * Math.PI * (p >= Math.PI ? -1 : p < -Math.PI ? 1 : 0)) + h,
  4519. v = {
  4520. x: Math.cos(p),
  4521. y: Math.sin(p)
  4522. },
  4523. m = {
  4524. x: Math.cos(g),
  4525. y: Math.sin(g)
  4526. },
  4527. y = p <= 0 && g >= 0 || p <= 2 * Math.PI && 2 * Math.PI <= g,
  4528. b = p <= .5 * Math.PI && .5 * Math.PI <= g || p <= 2.5 * Math.PI && 2.5 * Math.PI <= g,
  4529. x = p <= -Math.PI && -Math.PI <= g || p <= Math.PI && Math.PI <= g,
  4530. w = p <= .5 * -Math.PI && .5 * -Math.PI <= g || p <= 1.5 * Math.PI && 1.5 * Math.PI <= g,
  4531. S = f / 100,
  4532. k = {
  4533. x: x ? -1 : Math.min(v.x * (v.x < 0 ? 1 : S), m.x * (m.x < 0 ? 1 : S)),
  4534. y: w ? -1 : Math.min(v.y * (v.y < 0 ? 1 : S), m.y * (m.y < 0 ? 1 : S))
  4535. },
  4536. C = {
  4537. x: y ? 1 : Math.max(v.x * (v.x > 0 ? 1 : S), m.x * (m.x > 0 ? 1 : S)),
  4538. y: b ? 1 : Math.max(v.y * (v.y > 0 ? 1 : S), m.y * (m.y > 0 ? 1 : S))
  4539. },
  4540. M = {
  4541. width: .5 * (C.x - k.x),
  4542. height: .5 * (C.y - k.y)
  4543. };
  4544. u = Math.min(s / M.width, l / M.height), c = {
  4545. x: -.5 * (C.x + k.x),
  4546. y: -.5 * (C.y + k.y)
  4547. }
  4548. }
  4549. n.borderWidth = e.getMaxBorderWidth(d.data), n.outerRadius = Math.max((u - n.borderWidth) / 2, 0), n.innerRadius = Math.max(f ? n.outerRadius / 100 * f : 0, 0), n.radiusLength = (n.outerRadius - n.innerRadius) / n.getVisibleDatasetCount(), n.offsetX = c.x * n.outerRadius, n.offsetY = c.y * n.outerRadius, d.total = e.calculateTotal(), e.outerRadius = n.outerRadius - n.radiusLength * e.getRingIndex(e.index), e.innerRadius = Math.max(e.outerRadius - n.radiusLength, 0), o.each(d.data, (function(n, r) {
  4550. e.updateElement(n, r, t)
  4551. }))
  4552. },
  4553. updateElement: function(t, e, n) {
  4554. var r = this,
  4555. i = r.chart,
  4556. a = i.chartArea,
  4557. s = i.options,
  4558. l = s.animation,
  4559. u = (a.left + a.right) / 2,
  4560. c = (a.top + a.bottom) / 2,
  4561. d = s.rotation,
  4562. f = s.rotation,
  4563. h = r.getDataset(),
  4564. p = n && l.animateRotate ? 0 : t.hidden ? 0 : r.calculateCircumference(h.data[e]) * (s.circumference / (2 * Math.PI)),
  4565. g = n && l.animateScale ? 0 : r.innerRadius,
  4566. v = n && l.animateScale ? 0 : r.outerRadius,
  4567. m = o.valueAtIndexOrDefault;
  4568. o.extend(t, {
  4569. _datasetIndex: r.index,
  4570. _index: e,
  4571. _model: {
  4572. x: u + i.offsetX,
  4573. y: c + i.offsetY,
  4574. startAngle: d,
  4575. endAngle: f,
  4576. circumference: p,
  4577. outerRadius: v,
  4578. innerRadius: g,
  4579. label: m(h.label, e, i.data.labels[e])
  4580. }
  4581. });
  4582. var y = t._model,
  4583. b = t.custom || {},
  4584. x = o.valueAtIndexOrDefault,
  4585. w = this.chart.options.elements.arc;
  4586. y.backgroundColor = b.backgroundColor ? b.backgroundColor : x(h.backgroundColor, e, w.backgroundColor), y.borderColor = b.borderColor ? b.borderColor : x(h.borderColor, e, w.borderColor), y.borderWidth = b.borderWidth ? b.borderWidth : x(h.borderWidth, e, w.borderWidth), n && l.animateRotate || (y.startAngle = 0 === e ? s.rotation : r.getMeta().data[e - 1]._model.endAngle, y.endAngle = y.startAngle + y.circumference), t.pivot()
  4587. },
  4588. calculateTotal: function() {
  4589. var t, e = this.getDataset(),
  4590. n = this.getMeta(),
  4591. r = 0;
  4592. return o.each(n.data, (function(n, i) {
  4593. t = e.data[i], isNaN(t) || n.hidden || (r += Math.abs(t))
  4594. })), r
  4595. },
  4596. calculateCircumference: function(t) {
  4597. var e = this.getMeta().total;
  4598. return e > 0 && !isNaN(t) ? 2 * Math.PI * (Math.abs(t) / e) : 0
  4599. },
  4600. getMaxBorderWidth: function(t) {
  4601. for (var e, n, r = 0, i = this.index, o = t.length, a = 0; a < o; a++) e = t[a]._model ? t[a]._model.borderWidth : 0, r = (n = t[a]._chart ? t[a]._chart.config.data.datasets[i].hoverBorderWidth : 0) > (r = e > r ? e : r) ? n : r;
  4602. return r
  4603. }
  4604. })
  4605. }
  4606. }, {
  4607. 26: 26,
  4608. 41: 41,
  4609. 46: 46
  4610. }],
  4611. 18: [function(t, e, n) {
  4612. var r = t(26),
  4613. i = t(41),
  4614. a = t(46);
  4615. r._set("line", {
  4616. showLines: !0,
  4617. spanGaps: !1,
  4618. hover: {
  4619. mode: "label"
  4620. },
  4621. scales: {
  4622. xAxes: [{
  4623. type: "category",
  4624. id: "x-axis-0"
  4625. }],
  4626. yAxes: [{
  4627. type: "linear",
  4628. id: "y-axis-0"
  4629. }]
  4630. }
  4631. }), e.exports = function(t) {
  4632. function e(t, e) {
  4633. return a.valueOrDefault(t.showLine, e.showLines)
  4634. }
  4635. t.controllers.line = t.DatasetController.extend({
  4636. datasetElementType: i.Line,
  4637. dataElementType: i.Point,
  4638. update: function(t) {
  4639. var n, r, i, o = this,
  4640. s = o.getMeta(),
  4641. l = s.dataset,
  4642. u = s.data || [],
  4643. c = o.chart.options,
  4644. d = c.elements.line,
  4645. f = o.getScaleForId(s.yAxisID),
  4646. h = o.getDataset(),
  4647. p = e(h, c);
  4648. for (p && (i = l.custom || {}, void 0 !== h.tension && void 0 === h.lineTension && (h.lineTension = h.tension), l._scale = f, l._datasetIndex = o.index, l._children = u, l._model = {
  4649. spanGaps: h.spanGaps ? h.spanGaps : c.spanGaps,
  4650. tension: i.tension ? i.tension : a.valueOrDefault(h.lineTension, d.tension),
  4651. backgroundColor: i.backgroundColor ? i.backgroundColor : h.backgroundColor || d.backgroundColor,
  4652. borderWidth: i.borderWidth ? i.borderWidth : h.borderWidth || d.borderWidth,
  4653. borderColor: i.borderColor ? i.borderColor : h.borderColor || d.borderColor,
  4654. borderCapStyle: i.borderCapStyle ? i.borderCapStyle : h.borderCapStyle || d.borderCapStyle,
  4655. borderDash: i.borderDash ? i.borderDash : h.borderDash || d.borderDash,
  4656. borderDashOffset: i.borderDashOffset ? i.borderDashOffset : h.borderDashOffset || d.borderDashOffset,
  4657. borderJoinStyle: i.borderJoinStyle ? i.borderJoinStyle : h.borderJoinStyle || d.borderJoinStyle,
  4658. fill: i.fill ? i.fill : void 0 !== h.fill ? h.fill : d.fill,
  4659. steppedLine: i.steppedLine ? i.steppedLine : a.valueOrDefault(h.steppedLine, d.stepped),
  4660. cubicInterpolationMode: i.cubicInterpolationMode ? i.cubicInterpolationMode : a.valueOrDefault(h.cubicInterpolationMode, d.cubicInterpolationMode)
  4661. }, l.pivot()), n = 0, r = u.length; n < r; ++n) o.updateElement(u[n], n, t);
  4662. for (p && 0 !== l._model.tension && o.updateBezierControlPoints(), n = 0, r = u.length; n < r; ++n) u[n].pivot()
  4663. },
  4664. getPointBackgroundColor: function(t, e) {
  4665. var n = this.chart.options.elements.point.backgroundColor,
  4666. r = this.getDataset(),
  4667. i = t.custom || {};
  4668. return i.backgroundColor ? n = i.backgroundColor : r.pointBackgroundColor ? n = a.valueAtIndexOrDefault(r.pointBackgroundColor, e, n) : r.backgroundColor && (n = r.backgroundColor), n
  4669. },
  4670. getPointBorderColor: function(t, e) {
  4671. var n = this.chart.options.elements.point.borderColor,
  4672. r = this.getDataset(),
  4673. i = t.custom || {};
  4674. return i.borderColor ? n = i.borderColor : r.pointBorderColor ? n = a.valueAtIndexOrDefault(r.pointBorderColor, e, n) : r.borderColor && (n = r.borderColor), n
  4675. },
  4676. getPointBorderWidth: function(t, e) {
  4677. var n = this.chart.options.elements.point.borderWidth,
  4678. r = this.getDataset(),
  4679. i = t.custom || {};
  4680. return isNaN(i.borderWidth) ? !isNaN(r.pointBorderWidth) || a.isArray(r.pointBorderWidth) ? n = a.valueAtIndexOrDefault(r.pointBorderWidth, e, n) : isNaN(r.borderWidth) || (n = r.borderWidth) : n = i.borderWidth, n
  4681. },
  4682. getPointRotation: function(t, e) {
  4683. var n = this.chart.options.elements.point.rotation,
  4684. r = this.getDataset(),
  4685. i = t.custom || {};
  4686. return isNaN(i.rotation) ? isNaN(r.pointRotation) && !a.isArray(r.pointRotation) || (n = a.valueAtIndexOrDefault(r.pointRotation, e, n)) : n = i.rotation, n
  4687. },
  4688. updateElement: function(t, e, n) {
  4689. var r, i, s = this,
  4690. l = s.getMeta(),
  4691. u = t.custom || {},
  4692. c = s.getDataset(),
  4693. d = s.index,
  4694. f = c.data[e],
  4695. h = s.getScaleForId(l.yAxisID),
  4696. p = s.getScaleForId(l.xAxisID),
  4697. g = s.chart.options.elements.point;
  4698. void 0 !== c.radius && void 0 === c.pointRadius && (c.pointRadius = c.radius), void 0 !== c.hitRadius && void 0 === c.pointHitRadius && (c.pointHitRadius = c.hitRadius), r = p.getPixelForValue("object" === o(f) ? f : NaN, e, d), i = n ? h.getBasePixel() : s.calculatePointY(f, e, d), t._xScale = p, t._yScale = h, t._datasetIndex = d, t._index = e, t._model = {
  4699. x: r,
  4700. y: i,
  4701. skip: u.skip || isNaN(r) || isNaN(i),
  4702. radius: u.radius || a.valueAtIndexOrDefault(c.pointRadius, e, g.radius),
  4703. pointStyle: u.pointStyle || a.valueAtIndexOrDefault(c.pointStyle, e, g.pointStyle),
  4704. rotation: s.getPointRotation(t, e),
  4705. backgroundColor: s.getPointBackgroundColor(t, e),
  4706. borderColor: s.getPointBorderColor(t, e),
  4707. borderWidth: s.getPointBorderWidth(t, e),
  4708. tension: l.dataset._model ? l.dataset._model.tension : 0,
  4709. steppedLine: !!l.dataset._model && l.dataset._model.steppedLine,
  4710. hitRadius: u.hitRadius || a.valueAtIndexOrDefault(c.pointHitRadius, e, g.hitRadius)
  4711. }
  4712. },
  4713. calculatePointY: function(t, e, n) {
  4714. var r, i, o, a = this.chart,
  4715. s = this.getMeta(),
  4716. l = this.getScaleForId(s.yAxisID),
  4717. u = 0,
  4718. c = 0;
  4719. if (l.options.stacked) {
  4720. for (r = 0; r < n; r++)
  4721. if (i = a.data.datasets[r], "line" === (o = a.getDatasetMeta(r)).type && o.yAxisID === l.id && a.isDatasetVisible(r)) {
  4722. var d = Number(l.getRightValue(i.data[e]));
  4723. d < 0 ? c += d || 0 : u += d || 0
  4724. } var f = Number(l.getRightValue(t));
  4725. return f < 0 ? l.getPixelForValue(c + f) : l.getPixelForValue(u + f)
  4726. }
  4727. return l.getPixelForValue(t)
  4728. },
  4729. updateBezierControlPoints: function() {
  4730. var t, e, n, r, i = this.getMeta(),
  4731. o = this.chart.chartArea,
  4732. s = i.data || [];
  4733. function l(t, e, n) {
  4734. return Math.max(Math.min(t, n), e)
  4735. }
  4736. if (i.dataset._model.spanGaps && (s = s.filter((function(t) {
  4737. return !t._model.skip
  4738. }))), "monotone" === i.dataset._model.cubicInterpolationMode) a.splineCurveMonotone(s);
  4739. else
  4740. for (t = 0, e = s.length; t < e; ++t) n = s[t]._model, r = a.splineCurve(a.previousItem(s, t)._model, n, a.nextItem(s, t)._model, i.dataset._model.tension), n.controlPointPreviousX = r.previous.x, n.controlPointPreviousY = r.previous.y, n.controlPointNextX = r.next.x, n.controlPointNextY = r.next.y;
  4741. if (this.chart.options.elements.line.capBezierPoints)
  4742. for (t = 0, e = s.length; t < e; ++t)(n = s[t]._model).controlPointPreviousX = l(n.controlPointPreviousX, o.left, o.right), n.controlPointPreviousY = l(n.controlPointPreviousY, o.top, o.bottom), n.controlPointNextX = l(n.controlPointNextX, o.left, o.right), n.controlPointNextY = l(n.controlPointNextY, o.top, o.bottom)
  4743. },
  4744. draw: function() {
  4745. var t, n = this.chart,
  4746. r = this.getMeta(),
  4747. i = r.data || [],
  4748. o = n.chartArea,
  4749. s = i.length,
  4750. l = 0;
  4751. for (e(this.getDataset(), n.options) && (t = (r.dataset._model.borderWidth || 0) / 2, a.canvas.clipArea(n.ctx, {
  4752. left: o.left,
  4753. right: o.right,
  4754. top: o.top - t,
  4755. bottom: o.bottom + t
  4756. }), r.dataset.draw(), a.canvas.unclipArea(n.ctx)); l < s; ++l) i[l].draw(o)
  4757. },
  4758. setHoverStyle: function(t) {
  4759. var e = this.chart.data.datasets[t._datasetIndex],
  4760. n = t._index,
  4761. r = t.custom || {},
  4762. i = t._model;
  4763. t.$previousStyle = {
  4764. backgroundColor: i.backgroundColor,
  4765. borderColor: i.borderColor,
  4766. borderWidth: i.borderWidth,
  4767. radius: i.radius
  4768. }, i.backgroundColor = r.hoverBackgroundColor || a.valueAtIndexOrDefault(e.pointHoverBackgroundColor, n, a.getHoverColor(i.backgroundColor)), i.borderColor = r.hoverBorderColor || a.valueAtIndexOrDefault(e.pointHoverBorderColor, n, a.getHoverColor(i.borderColor)), i.borderWidth = r.hoverBorderWidth || a.valueAtIndexOrDefault(e.pointHoverBorderWidth, n, i.borderWidth), i.radius = r.hoverRadius || a.valueAtIndexOrDefault(e.pointHoverRadius, n, this.chart.options.elements.point.hoverRadius)
  4769. }
  4770. })
  4771. }
  4772. }, {
  4773. 26: 26,
  4774. 41: 41,
  4775. 46: 46
  4776. }],
  4777. 19: [function(t, e, n) {
  4778. var r = t(26),
  4779. i = t(41),
  4780. o = t(46);
  4781. r._set("polarArea", {
  4782. scale: {
  4783. type: "radialLinear",
  4784. angleLines: {
  4785. display: !1
  4786. },
  4787. gridLines: {
  4788. circular: !0
  4789. },
  4790. pointLabels: {
  4791. display: !1
  4792. },
  4793. ticks: {
  4794. beginAtZero: !0
  4795. }
  4796. },
  4797. animation: {
  4798. animateRotate: !0,
  4799. animateScale: !0
  4800. },
  4801. startAngle: -.5 * Math.PI,
  4802. legendCallback: function(t) {
  4803. var e = [];
  4804. e.push('<ul class="' + t.id + '-legend">');
  4805. var n = t.data,
  4806. r = n.datasets,
  4807. i = n.labels;
  4808. if (r.length)
  4809. for (var o = 0; o < r[0].data.length; ++o) e.push('<li><span style="background-color:' + r[0].backgroundColor[o] + '"></span>'), i[o] && e.push(i[o]), e.push("</li>");
  4810. return e.push("</ul>"), e.join("")
  4811. },
  4812. legend: {
  4813. labels: {
  4814. generateLabels: function(t) {
  4815. var e = t.data;
  4816. return e.labels.length && e.datasets.length ? e.labels.map((function(n, r) {
  4817. var i = t.getDatasetMeta(0),
  4818. a = e.datasets[0],
  4819. s = i.data[r].custom || {},
  4820. l = o.valueAtIndexOrDefault,
  4821. u = t.options.elements.arc;
  4822. return {
  4823. text: n,
  4824. fillStyle: s.backgroundColor ? s.backgroundColor : l(a.backgroundColor, r, u.backgroundColor),
  4825. strokeStyle: s.borderColor ? s.borderColor : l(a.borderColor, r, u.borderColor),
  4826. lineWidth: s.borderWidth ? s.borderWidth : l(a.borderWidth, r, u.borderWidth),
  4827. hidden: isNaN(a.data[r]) || i.data[r].hidden,
  4828. index: r
  4829. }
  4830. })) : []
  4831. }
  4832. },
  4833. onClick: function(t, e) {
  4834. var n, r, i, o = e.index,
  4835. a = this.chart;
  4836. for (n = 0, r = (a.data.datasets || []).length; n < r; ++n)(i = a.getDatasetMeta(n)).data[o].hidden = !i.data[o].hidden;
  4837. a.update()
  4838. }
  4839. },
  4840. tooltips: {
  4841. callbacks: {
  4842. title: function() {
  4843. return ""
  4844. },
  4845. label: function(t, e) {
  4846. return e.labels[t.index] + ": " + t.yLabel
  4847. }
  4848. }
  4849. }
  4850. }), e.exports = function(t) {
  4851. t.controllers.polarArea = t.DatasetController.extend({
  4852. dataElementType: i.Arc,
  4853. linkScales: o.noop,
  4854. update: function(t) {
  4855. var e, n, r, i = this,
  4856. a = i.getDataset(),
  4857. s = i.getMeta(),
  4858. l = i.chart.options.startAngle || 0,
  4859. u = i._starts = [],
  4860. c = i._angles = [];
  4861. for (i._updateRadius(), s.count = i.countVisibleElements(), e = 0, n = a.data.length; e < n; e++) u[e] = l, r = i._computeAngle(e), c[e] = r, l += r;
  4862. o.each(s.data, (function(e, n) {
  4863. i.updateElement(e, n, t)
  4864. }))
  4865. },
  4866. _updateRadius: function() {
  4867. var t = this,
  4868. e = t.chart,
  4869. n = e.chartArea,
  4870. r = e.options,
  4871. i = r.elements.arc,
  4872. o = Math.min(n.right - n.left, n.bottom - n.top);
  4873. e.outerRadius = Math.max((o - i.borderWidth / 2) / 2, 0), e.innerRadius = Math.max(r.cutoutPercentage ? e.outerRadius / 100 * r.cutoutPercentage : 1, 0), e.radiusLength = (e.outerRadius - e.innerRadius) / e.getVisibleDatasetCount(), t.outerRadius = e.outerRadius - e.radiusLength * t.index, t.innerRadius = t.outerRadius - e.radiusLength
  4874. },
  4875. updateElement: function(t, e, n) {
  4876. var r = this,
  4877. i = r.chart,
  4878. a = r.getDataset(),
  4879. s = i.options,
  4880. l = s.animation,
  4881. u = i.scale,
  4882. c = i.data.labels,
  4883. d = u.xCenter,
  4884. f = u.yCenter,
  4885. h = s.startAngle,
  4886. p = t.hidden ? 0 : u.getDistanceFromCenterForValue(a.data[e]),
  4887. g = r._starts[e],
  4888. v = g + (t.hidden ? 0 : r._angles[e]),
  4889. m = l.animateScale ? 0 : u.getDistanceFromCenterForValue(a.data[e]);
  4890. o.extend(t, {
  4891. _datasetIndex: r.index,
  4892. _index: e,
  4893. _scale: u,
  4894. _model: {
  4895. x: d,
  4896. y: f,
  4897. innerRadius: 0,
  4898. outerRadius: n ? m : p,
  4899. startAngle: n && l.animateRotate ? h : g,
  4900. endAngle: n && l.animateRotate ? h : v,
  4901. label: o.valueAtIndexOrDefault(c, e, c[e])
  4902. }
  4903. });
  4904. var y = this.chart.options.elements.arc,
  4905. b = t.custom || {},
  4906. x = o.valueAtIndexOrDefault,
  4907. w = t._model;
  4908. w.backgroundColor = b.backgroundColor ? b.backgroundColor : x(a.backgroundColor, e, y.backgroundColor), w.borderColor = b.borderColor ? b.borderColor : x(a.borderColor, e, y.borderColor), w.borderWidth = b.borderWidth ? b.borderWidth : x(a.borderWidth, e, y.borderWidth), t.pivot()
  4909. },
  4910. countVisibleElements: function() {
  4911. var t = this.getDataset(),
  4912. e = this.getMeta(),
  4913. n = 0;
  4914. return o.each(e.data, (function(e, r) {
  4915. isNaN(t.data[r]) || e.hidden || n++
  4916. })), n
  4917. },
  4918. _computeAngle: function(t) {
  4919. var e = this,
  4920. n = this.getMeta().count,
  4921. r = e.getDataset(),
  4922. i = e.getMeta();
  4923. if (isNaN(r.data[t]) || i.data[t].hidden) return 0;
  4924. var a = {
  4925. chart: e.chart,
  4926. dataIndex: t,
  4927. dataset: r,
  4928. datasetIndex: e.index
  4929. };
  4930. return o.options.resolve([e.chart.options.elements.arc.angle, 2 * Math.PI / n], a, t)
  4931. }
  4932. })
  4933. }
  4934. }, {
  4935. 26: 26,
  4936. 41: 41,
  4937. 46: 46
  4938. }],
  4939. 20: [function(t, e, n) {
  4940. var r = t(26),
  4941. i = t(41),
  4942. o = t(46);
  4943. r._set("radar", {
  4944. scale: {
  4945. type: "radialLinear"
  4946. },
  4947. elements: {
  4948. line: {
  4949. tension: 0
  4950. }
  4951. }
  4952. }), e.exports = function(t) {
  4953. t.controllers.radar = t.DatasetController.extend({
  4954. datasetElementType: i.Line,
  4955. dataElementType: i.Point,
  4956. linkScales: o.noop,
  4957. update: function(t) {
  4958. var e = this,
  4959. n = e.getMeta(),
  4960. r = n.dataset,
  4961. i = n.data,
  4962. a = r.custom || {},
  4963. s = e.getDataset(),
  4964. l = e.chart.options.elements.line,
  4965. u = e.chart.scale;
  4966. void 0 !== s.tension && void 0 === s.lineTension && (s.lineTension = s.tension), o.extend(n.dataset, {
  4967. _datasetIndex: e.index,
  4968. _scale: u,
  4969. _children: i,
  4970. _loop: !0,
  4971. _model: {
  4972. tension: a.tension ? a.tension : o.valueOrDefault(s.lineTension, l.tension),
  4973. backgroundColor: a.backgroundColor ? a.backgroundColor : s.backgroundColor || l.backgroundColor,
  4974. borderWidth: a.borderWidth ? a.borderWidth : s.borderWidth || l.borderWidth,
  4975. borderColor: a.borderColor ? a.borderColor : s.borderColor || l.borderColor,
  4976. fill: a.fill ? a.fill : void 0 !== s.fill ? s.fill : l.fill,
  4977. borderCapStyle: a.borderCapStyle ? a.borderCapStyle : s.borderCapStyle || l.borderCapStyle,
  4978. borderDash: a.borderDash ? a.borderDash : s.borderDash || l.borderDash,
  4979. borderDashOffset: a.borderDashOffset ? a.borderDashOffset : s.borderDashOffset || l.borderDashOffset,
  4980. borderJoinStyle: a.borderJoinStyle ? a.borderJoinStyle : s.borderJoinStyle || l.borderJoinStyle
  4981. }
  4982. }), n.dataset.pivot(), o.each(i, (function(n, r) {
  4983. e.updateElement(n, r, t)
  4984. }), e), e.updateBezierControlPoints()
  4985. },
  4986. updateElement: function(t, e, n) {
  4987. var r = this,
  4988. i = t.custom || {},
  4989. a = r.getDataset(),
  4990. s = r.chart.scale,
  4991. l = r.chart.options.elements.point,
  4992. u = s.getPointPositionForValue(e, a.data[e]);
  4993. void 0 !== a.radius && void 0 === a.pointRadius && (a.pointRadius = a.radius), void 0 !== a.hitRadius && void 0 === a.pointHitRadius && (a.pointHitRadius = a.hitRadius), o.extend(t, {
  4994. _datasetIndex: r.index,
  4995. _index: e,
  4996. _scale: s,
  4997. _model: {
  4998. x: n ? s.xCenter : u.x,
  4999. y: n ? s.yCenter : u.y,
  5000. tension: i.tension ? i.tension : o.valueOrDefault(a.lineTension, r.chart.options.elements.line.tension),
  5001. radius: i.radius ? i.radius : o.valueAtIndexOrDefault(a.pointRadius, e, l.radius),
  5002. backgroundColor: i.backgroundColor ? i.backgroundColor : o.valueAtIndexOrDefault(a.pointBackgroundColor, e, l.backgroundColor),
  5003. borderColor: i.borderColor ? i.borderColor : o.valueAtIndexOrDefault(a.pointBorderColor, e, l.borderColor),
  5004. borderWidth: i.borderWidth ? i.borderWidth : o.valueAtIndexOrDefault(a.pointBorderWidth, e, l.borderWidth),
  5005. pointStyle: i.pointStyle ? i.pointStyle : o.valueAtIndexOrDefault(a.pointStyle, e, l.pointStyle),
  5006. rotation: i.rotation ? i.rotation : o.valueAtIndexOrDefault(a.pointRotation, e, l.rotation),
  5007. hitRadius: i.hitRadius ? i.hitRadius : o.valueAtIndexOrDefault(a.pointHitRadius, e, l.hitRadius)
  5008. }
  5009. }), t._model.skip = i.skip ? i.skip : isNaN(t._model.x) || isNaN(t._model.y)
  5010. },
  5011. updateBezierControlPoints: function() {
  5012. var t = this.chart.chartArea,
  5013. e = this.getMeta();
  5014. o.each(e.data, (function(n, r) {
  5015. var i = n._model,
  5016. a = o.splineCurve(o.previousItem(e.data, r, !0)._model, i, o.nextItem(e.data, r, !0)._model, i.tension);
  5017. i.controlPointPreviousX = Math.max(Math.min(a.previous.x, t.right), t.left), i.controlPointPreviousY = Math.max(Math.min(a.previous.y, t.bottom), t.top), i.controlPointNextX = Math.max(Math.min(a.next.x, t.right), t.left), i.controlPointNextY = Math.max(Math.min(a.next.y, t.bottom), t.top), n.pivot()
  5018. }))
  5019. },
  5020. setHoverStyle: function(t) {
  5021. var e = this.chart.data.datasets[t._datasetIndex],
  5022. n = t.custom || {},
  5023. r = t._index,
  5024. i = t._model;
  5025. t.$previousStyle = {
  5026. backgroundColor: i.backgroundColor,
  5027. borderColor: i.borderColor,
  5028. borderWidth: i.borderWidth,
  5029. radius: i.radius
  5030. }, i.radius = n.hoverRadius ? n.hoverRadius : o.valueAtIndexOrDefault(e.pointHoverRadius, r, this.chart.options.elements.point.hoverRadius), i.backgroundColor = n.hoverBackgroundColor ? n.hoverBackgroundColor : o.valueAtIndexOrDefault(e.pointHoverBackgroundColor, r, o.getHoverColor(i.backgroundColor)), i.borderColor = n.hoverBorderColor ? n.hoverBorderColor : o.valueAtIndexOrDefault(e.pointHoverBorderColor, r, o.getHoverColor(i.borderColor)), i.borderWidth = n.hoverBorderWidth ? n.hoverBorderWidth : o.valueAtIndexOrDefault(e.pointHoverBorderWidth, r, i.borderWidth)
  5031. }
  5032. })
  5033. }
  5034. }, {
  5035. 26: 26,
  5036. 41: 41,
  5037. 46: 46
  5038. }],
  5039. 21: [function(t, e, n) {
  5040. t(26)._set("scatter", {
  5041. hover: {
  5042. mode: "single"
  5043. },
  5044. scales: {
  5045. xAxes: [{
  5046. id: "x-axis-1",
  5047. type: "linear",
  5048. position: "bottom"
  5049. }],
  5050. yAxes: [{
  5051. id: "y-axis-1",
  5052. type: "linear",
  5053. position: "left"
  5054. }]
  5055. },
  5056. showLines: !1,
  5057. tooltips: {
  5058. callbacks: {
  5059. title: function() {
  5060. return ""
  5061. },
  5062. label: function(t) {
  5063. return "(" + t.xLabel + ", " + t.yLabel + ")"
  5064. }
  5065. }
  5066. }
  5067. }), e.exports = function(t) {
  5068. t.controllers.scatter = t.controllers.line
  5069. }
  5070. }, {
  5071. 26: 26
  5072. }],
  5073. 22: [function(t, e, n) {
  5074. var r = t(27);
  5075. n = e.exports = r.extend({
  5076. chart: null,
  5077. currentStep: 0,
  5078. numSteps: 60,
  5079. easing: "",
  5080. render: null,
  5081. onAnimationProgress: null,
  5082. onAnimationComplete: null
  5083. });
  5084. Object.defineProperty(n.prototype, "animationObject", {
  5085. get: function() {
  5086. return this
  5087. }
  5088. }), Object.defineProperty(n.prototype, "chartInstance", {
  5089. get: function() {
  5090. return this.chart
  5091. },
  5092. set: function(t) {
  5093. this.chart = t
  5094. }
  5095. })
  5096. }, {
  5097. 27: 27
  5098. }],
  5099. 23: [function(t, e, n) {
  5100. var r = t(26),
  5101. i = t(46);
  5102. r._set("global", {
  5103. animation: {
  5104. duration: 1e3,
  5105. easing: "easeOutQuart",
  5106. onProgress: i.noop,
  5107. onComplete: i.noop
  5108. }
  5109. }), e.exports = {
  5110. frameDuration: 17,
  5111. animations: [],
  5112. dropFrames: 0,
  5113. request: null,
  5114. addAnimation: function(t, e, n, r) {
  5115. var i, o, a = this.animations;
  5116. for (e.chart = t, r || (t.animating = !0), i = 0, o = a.length; i < o; ++i)
  5117. if (a[i].chart === t) return void(a[i] = e);
  5118. a.push(e), 1 === a.length && this.requestAnimationFrame()
  5119. },
  5120. cancelAnimation: function(t) {
  5121. var e = i.findIndex(this.animations, (function(e) {
  5122. return e.chart === t
  5123. })); - 1 !== e && (this.animations.splice(e, 1), t.animating = !1)
  5124. },
  5125. requestAnimationFrame: function() {
  5126. var t = this;
  5127. null === t.request && (t.request = i.requestAnimFrame.call(window, (function() {
  5128. t.request = null, t.startDigest()
  5129. })))
  5130. },
  5131. startDigest: function() {
  5132. var t = this,
  5133. e = Date.now(),
  5134. n = 0;
  5135. t.dropFrames > 1 && (n = Math.floor(t.dropFrames), t.dropFrames = t.dropFrames % 1), t.advance(1 + n);
  5136. var r = Date.now();
  5137. t.dropFrames += (r - e) / t.frameDuration, t.animations.length > 0 && t.requestAnimationFrame()
  5138. },
  5139. advance: function(t) {
  5140. for (var e, n, r = this.animations, o = 0; o < r.length;) n = (e = r[o]).chart, e.currentStep = (e.currentStep || 0) + t, e.currentStep = Math.min(e.currentStep, e.numSteps), i.callback(e.render, [n, e], n), i.callback(e.onAnimationProgress, [e], n), e.currentStep >= e.numSteps ? (i.callback(e.onAnimationComplete, [e], n), n.animating = !1, r.splice(o, 1)) : ++o
  5141. }
  5142. }
  5143. }, {
  5144. 26: 26,
  5145. 46: 46
  5146. }],
  5147. 24: [function(t, e, n) {
  5148. var r = t(22),
  5149. i = t(23),
  5150. a = t(26),
  5151. s = t(46),
  5152. l = t(29),
  5153. u = t(31),
  5154. c = t(49),
  5155. d = t(32),
  5156. f = t(34),
  5157. h = t(36);
  5158. e.exports = function(t) {
  5159. function e(e) {
  5160. var n = e.options;
  5161. s.each(e.scales, (function(t) {
  5162. u.removeBox(e, t)
  5163. })), n = s.configMerge(t.defaults.global, t.defaults[e.config.type], n), e.options = e.config.options = n, e.ensureScalesHaveIDs(), e.buildOrUpdateScales(), e.tooltip._options = n.tooltips, e.tooltip.initialize()
  5164. }
  5165. function n(t) {
  5166. return "top" === t || "bottom" === t
  5167. }
  5168. t.types = {}, t.instances = {}, t.controllers = {}, s.extend(t.prototype, {
  5169. construct: function(e, n) {
  5170. var r = this;
  5171. n = function(t) {
  5172. var e = (t = t || {}).data = t.data || {};
  5173. return e.datasets = e.datasets || [], e.labels = e.labels || [], t.options = s.configMerge(a.global, a[t.type], t.options || {}), t
  5174. }(n);
  5175. var i = c.acquireContext(e, n),
  5176. o = i && i.canvas,
  5177. l = o && o.height,
  5178. u = o && o.width;
  5179. r.id = s.uid(), r.ctx = i, r.canvas = o, r.config = n, r.width = u, r.height = l, r.aspectRatio = l ? u / l : null, r.options = n.options, r._bufferedRender = !1, r.chart = r, r.controller = r, t.instances[r.id] = r, Object.defineProperty(r, "data", {
  5180. get: function() {
  5181. return r.config.data
  5182. },
  5183. set: function(t) {
  5184. r.config.data = t
  5185. }
  5186. }), i && o ? (r.initialize(), r.update()) : console.error("Failed to create chart: can't acquire context from the given item")
  5187. },
  5188. initialize: function() {
  5189. var t = this;
  5190. return d.notify(t, "beforeInit"), s.retinaScale(t, t.options.devicePixelRatio), t.bindEvents(), t.options.responsive && t.resize(!0), t.ensureScalesHaveIDs(), t.buildOrUpdateScales(), t.initToolTip(), d.notify(t, "afterInit"), t
  5191. },
  5192. clear: function() {
  5193. return s.canvas.clear(this), this
  5194. },
  5195. stop: function() {
  5196. return i.cancelAnimation(this), this
  5197. },
  5198. resize: function(t) {
  5199. var e = this,
  5200. n = e.options,
  5201. r = e.canvas,
  5202. i = n.maintainAspectRatio && e.aspectRatio || null,
  5203. o = Math.max(0, Math.floor(s.getMaximumWidth(r))),
  5204. a = Math.max(0, Math.floor(i ? o / i : s.getMaximumHeight(r)));
  5205. if ((e.width !== o || e.height !== a) && (r.width = e.width = o, r.height = e.height = a, r.style.width = o + "px", r.style.height = a + "px", s.retinaScale(e, n.devicePixelRatio), !t)) {
  5206. var l = {
  5207. width: o,
  5208. height: a
  5209. };
  5210. d.notify(e, "resize", [l]), e.options.onResize && e.options.onResize(e, l), e.stop(), e.update({
  5211. duration: e.options.responsiveAnimationDuration
  5212. })
  5213. }
  5214. },
  5215. ensureScalesHaveIDs: function() {
  5216. var t = this.options,
  5217. e = t.scales || {},
  5218. n = t.scale;
  5219. s.each(e.xAxes, (function(t, e) {
  5220. t.id = t.id || "x-axis-" + e
  5221. })), s.each(e.yAxes, (function(t, e) {
  5222. t.id = t.id || "y-axis-" + e
  5223. })), n && (n.id = n.id || "scale")
  5224. },
  5225. buildOrUpdateScales: function() {
  5226. var t = this,
  5227. e = t.options,
  5228. r = t.scales || {},
  5229. i = [],
  5230. o = Object.keys(r).reduce((function(t, e) {
  5231. return t[e] = !1, t
  5232. }), {});
  5233. e.scales && (i = i.concat((e.scales.xAxes || []).map((function(t) {
  5234. return {
  5235. options: t,
  5236. dtype: "category",
  5237. dposition: "bottom"
  5238. }
  5239. })), (e.scales.yAxes || []).map((function(t) {
  5240. return {
  5241. options: t,
  5242. dtype: "linear",
  5243. dposition: "left"
  5244. }
  5245. })))), e.scale && i.push({
  5246. options: e.scale,
  5247. dtype: "radialLinear",
  5248. isDefault: !0,
  5249. dposition: "chartArea"
  5250. }), s.each(i, (function(e) {
  5251. var i = e.options,
  5252. a = i.id,
  5253. l = s.valueOrDefault(i.type, e.dtype);
  5254. n(i.position) !== n(e.dposition) && (i.position = e.dposition), o[a] = !0;
  5255. var u = null;
  5256. if (a in r && r[a].type === l)(u = r[a]).options = i, u.ctx = t.ctx, u.chart = t;
  5257. else {
  5258. var c = f.getScaleConstructor(l);
  5259. if (!c) return;
  5260. u = new c({
  5261. id: a,
  5262. type: l,
  5263. options: i,
  5264. ctx: t.ctx,
  5265. chart: t
  5266. }), r[u.id] = u
  5267. }
  5268. u.mergeTicksOptions(), e.isDefault && (t.scale = u)
  5269. })), s.each(o, (function(t, e) {
  5270. t || delete r[e]
  5271. })), t.scales = r, f.addScalesToLayout(this)
  5272. },
  5273. buildOrUpdateControllers: function() {
  5274. var e = this,
  5275. n = [],
  5276. r = [];
  5277. return s.each(e.data.datasets, (function(i, o) {
  5278. var a = e.getDatasetMeta(o),
  5279. s = i.type || e.config.type;
  5280. if (a.type && a.type !== s && (e.destroyDatasetMeta(o), a = e.getDatasetMeta(o)), a.type = s, n.push(a.type), a.controller) a.controller.updateIndex(o), a.controller.linkScales();
  5281. else {
  5282. var l = t.controllers[a.type];
  5283. if (void 0 === l) throw new Error('"' + a.type + '" is not a chart type.');
  5284. a.controller = new l(e, o), r.push(a.controller)
  5285. }
  5286. }), e), r
  5287. },
  5288. resetElements: function() {
  5289. var t = this;
  5290. s.each(t.data.datasets, (function(e, n) {
  5291. t.getDatasetMeta(n).controller.reset()
  5292. }), t)
  5293. },
  5294. reset: function() {
  5295. this.resetElements(), this.tooltip.initialize()
  5296. },
  5297. update: function(t) {
  5298. var n = this;
  5299. if (t && "object" === o(t) || (t = {
  5300. duration: t,
  5301. lazy: arguments[1]
  5302. }), e(n), d._invalidate(n), !1 !== d.notify(n, "beforeUpdate")) {
  5303. n.tooltip._data = n.data;
  5304. var r = n.buildOrUpdateControllers();
  5305. s.each(n.data.datasets, (function(t, e) {
  5306. n.getDatasetMeta(e).controller.buildOrUpdateElements()
  5307. }), n), n.updateLayout(), n.options.animation && n.options.animation.duration && s.each(r, (function(t) {
  5308. t.reset()
  5309. })), n.updateDatasets(), n.tooltip.initialize(), n.lastActive = [], d.notify(n, "afterUpdate"), n._bufferedRender ? n._bufferedRequest = {
  5310. duration: t.duration,
  5311. easing: t.easing,
  5312. lazy: t.lazy
  5313. } : n.render(t)
  5314. }
  5315. },
  5316. updateLayout: function() {
  5317. !1 !== d.notify(this, "beforeLayout") && (u.update(this, this.width, this.height), d.notify(this, "afterScaleUpdate"), d.notify(this, "afterLayout"))
  5318. },
  5319. updateDatasets: function() {
  5320. if (!1 !== d.notify(this, "beforeDatasetsUpdate")) {
  5321. for (var t = 0, e = this.data.datasets.length; t < e; ++t) this.updateDataset(t);
  5322. d.notify(this, "afterDatasetsUpdate")
  5323. }
  5324. },
  5325. updateDataset: function(t) {
  5326. var e = this.getDatasetMeta(t),
  5327. n = {
  5328. meta: e,
  5329. index: t
  5330. };
  5331. !1 !== d.notify(this, "beforeDatasetUpdate", [n]) && (e.controller.update(), d.notify(this, "afterDatasetUpdate", [n]))
  5332. },
  5333. render: function(t) {
  5334. var e = this;
  5335. t && "object" === o(t) || (t = {
  5336. duration: t,
  5337. lazy: arguments[1]
  5338. });
  5339. var n = t.duration,
  5340. a = t.lazy;
  5341. if (!1 !== d.notify(e, "beforeRender")) {
  5342. var l = e.options.animation,
  5343. u = function(t) {
  5344. d.notify(e, "afterRender"), s.callback(l && l.onComplete, [t], e)
  5345. };
  5346. if (l && (void 0 !== n && 0 !== n || void 0 === n && 0 !== l.duration)) {
  5347. var c = new r({
  5348. numSteps: (n || l.duration) / 16.66,
  5349. easing: t.easing || l.easing,
  5350. render: function(t, e) {
  5351. var n = s.easing.effects[e.easing],
  5352. r = e.currentStep,
  5353. i = r / e.numSteps;
  5354. t.draw(n(i), i, r)
  5355. },
  5356. onAnimationProgress: l.onProgress,
  5357. onAnimationComplete: u
  5358. });
  5359. i.addAnimation(e, c, n, a)
  5360. } else e.draw(), u(new r({
  5361. numSteps: 0,
  5362. chart: e
  5363. }));
  5364. return e
  5365. }
  5366. },
  5367. draw: function(t) {
  5368. var e = this;
  5369. e.clear(), s.isNullOrUndef(t) && (t = 1), e.transition(t), e.width <= 0 || e.height <= 0 || !1 !== d.notify(e, "beforeDraw", [t]) && (s.each(e.boxes, (function(t) {
  5370. t.draw(e.chartArea)
  5371. }), e), e.scale && e.scale.draw(), e.drawDatasets(t), e._drawTooltip(t), d.notify(e, "afterDraw", [t]))
  5372. },
  5373. transition: function(t) {
  5374. for (var e = 0, n = (this.data.datasets || []).length; e < n; ++e) this.isDatasetVisible(e) && this.getDatasetMeta(e).controller.transition(t);
  5375. this.tooltip.transition(t)
  5376. },
  5377. drawDatasets: function(t) {
  5378. var e = this;
  5379. if (!1 !== d.notify(e, "beforeDatasetsDraw", [t])) {
  5380. for (var n = (e.data.datasets || []).length - 1; n >= 0; --n) e.isDatasetVisible(n) && e.drawDataset(n, t);
  5381. d.notify(e, "afterDatasetsDraw", [t])
  5382. }
  5383. },
  5384. drawDataset: function(t, e) {
  5385. var n = this.getDatasetMeta(t),
  5386. r = {
  5387. meta: n,
  5388. index: t,
  5389. easingValue: e
  5390. };
  5391. !1 !== d.notify(this, "beforeDatasetDraw", [r]) && (n.controller.draw(e), d.notify(this, "afterDatasetDraw", [r]))
  5392. },
  5393. _drawTooltip: function(t) {
  5394. var e = this.tooltip,
  5395. n = {
  5396. tooltip: e,
  5397. easingValue: t
  5398. };
  5399. !1 !== d.notify(this, "beforeTooltipDraw", [n]) && (e.draw(), d.notify(this, "afterTooltipDraw", [n]))
  5400. },
  5401. getElementAtEvent: function(t) {
  5402. return l.modes.single(this, t)
  5403. },
  5404. getElementsAtEvent: function(t) {
  5405. return l.modes.label(this, t, {
  5406. intersect: !0
  5407. })
  5408. },
  5409. getElementsAtXAxis: function(t) {
  5410. return l.modes["x-axis"](this, t, {
  5411. intersect: !0
  5412. })
  5413. },
  5414. getElementsAtEventForMode: function(t, e, n) {
  5415. var r = l.modes[e];
  5416. return "function" == typeof r ? r(this, t, n) : []
  5417. },
  5418. getDatasetAtEvent: function(t) {
  5419. return l.modes.dataset(this, t, {
  5420. intersect: !0
  5421. })
  5422. },
  5423. getDatasetMeta: function(t) {
  5424. var e = this.data.datasets[t];
  5425. e._meta || (e._meta = {});
  5426. var n = e._meta[this.id];
  5427. return n || (n = e._meta[this.id] = {
  5428. type: null,
  5429. data: [],
  5430. dataset: null,
  5431. controller: null,
  5432. hidden: null,
  5433. xAxisID: null,
  5434. yAxisID: null
  5435. }), n
  5436. },
  5437. getVisibleDatasetCount: function() {
  5438. for (var t = 0, e = 0, n = this.data.datasets.length; e < n; ++e) this.isDatasetVisible(e) && t++;
  5439. return t
  5440. },
  5441. isDatasetVisible: function(t) {
  5442. var e = this.getDatasetMeta(t);
  5443. return "boolean" == typeof e.hidden ? !e.hidden : !this.data.datasets[t].hidden
  5444. },
  5445. generateLegend: function() {
  5446. return this.options.legendCallback(this)
  5447. },
  5448. destroyDatasetMeta: function(t) {
  5449. var e = this.id,
  5450. n = this.data.datasets[t],
  5451. r = n._meta && n._meta[e];
  5452. r && (r.controller.destroy(), delete n._meta[e])
  5453. },
  5454. destroy: function() {
  5455. var e, n, r = this,
  5456. i = r.canvas;
  5457. for (r.stop(), e = 0, n = r.data.datasets.length; e < n; ++e) r.destroyDatasetMeta(e);
  5458. i && (r.unbindEvents(), s.canvas.clear(r), c.releaseContext(r.ctx), r.canvas = null, r.ctx = null), d.notify(r, "destroy"), delete t.instances[r.id]
  5459. },
  5460. toBase64Image: function() {
  5461. return this.canvas.toDataURL.apply(this.canvas, arguments)
  5462. },
  5463. initToolTip: function() {
  5464. var t = this;
  5465. t.tooltip = new h({
  5466. _chart: t,
  5467. _chartInstance: t,
  5468. _data: t.data,
  5469. _options: t.options.tooltips
  5470. }, t)
  5471. },
  5472. bindEvents: function() {
  5473. var t = this,
  5474. e = t._listeners = {},
  5475. n = function() {
  5476. t.eventHandler.apply(t, arguments)
  5477. };
  5478. s.each(t.options.events, (function(r) {
  5479. c.addEventListener(t, r, n), e[r] = n
  5480. })), t.options.responsive && (n = function() {
  5481. t.resize()
  5482. }, c.addEventListener(t, "resize", n), e.resize = n)
  5483. },
  5484. unbindEvents: function() {
  5485. var t = this,
  5486. e = t._listeners;
  5487. e && (delete t._listeners, s.each(e, (function(e, n) {
  5488. c.removeEventListener(t, n, e)
  5489. })))
  5490. },
  5491. updateHoverStyle: function(t, e, n) {
  5492. var r, i, o, a = n ? "setHoverStyle" : "removeHoverStyle";
  5493. for (i = 0, o = t.length; i < o; ++i)(r = t[i]) && this.getDatasetMeta(r._datasetIndex).controller[a](r)
  5494. },
  5495. eventHandler: function(t) {
  5496. var e = this,
  5497. n = e.tooltip;
  5498. if (!1 !== d.notify(e, "beforeEvent", [t])) {
  5499. e._bufferedRender = !0, e._bufferedRequest = null;
  5500. var r = e.handleEvent(t);
  5501. n && (r = n._start ? n.handleEvent(t) : r | n.handleEvent(t)), d.notify(e, "afterEvent", [t]);
  5502. var i = e._bufferedRequest;
  5503. return i ? e.render(i) : r && !e.animating && (e.stop(), e.render({
  5504. duration: e.options.hover.animationDuration,
  5505. lazy: !0
  5506. })), e._bufferedRender = !1, e._bufferedRequest = null, e
  5507. }
  5508. },
  5509. handleEvent: function(t) {
  5510. var e, n = this,
  5511. r = n.options || {},
  5512. i = r.hover;
  5513. return n.lastActive = n.lastActive || [], "mouseout" === t.type ? n.active = [] : n.active = n.getElementsAtEventForMode(t, i.mode, i), s.callback(r.onHover || r.hover.onHover, [t.native, n.active], n), "mouseup" !== t.type && "click" !== t.type || r.onClick && r.onClick.call(n, t.native, n.active), n.lastActive.length && n.updateHoverStyle(n.lastActive, i.mode, !1), n.active.length && i.mode && n.updateHoverStyle(n.active, i.mode, !0), e = !s.arrayEquals(n.active, n.lastActive), n.lastActive = n.active, e
  5514. }
  5515. }), t.Controller = t
  5516. }
  5517. }, {
  5518. 22: 22,
  5519. 23: 23,
  5520. 26: 26,
  5521. 29: 29,
  5522. 31: 31,
  5523. 32: 32,
  5524. 34: 34,
  5525. 36: 36,
  5526. 46: 46,
  5527. 49: 49
  5528. }],
  5529. 25: [function(t, e, n) {
  5530. var r = t(46);
  5531. e.exports = function(t) {
  5532. var e = ["push", "pop", "shift", "splice", "unshift"];
  5533. function n(t, n) {
  5534. var r = t._chartjs;
  5535. if (r) {
  5536. var i = r.listeners,
  5537. o = i.indexOf(n); - 1 !== o && i.splice(o, 1), i.length > 0 || (e.forEach((function(e) {
  5538. delete t[e]
  5539. })), delete t._chartjs)
  5540. }
  5541. }
  5542. t.DatasetController = function(t, e) {
  5543. this.initialize(t, e)
  5544. }, r.extend(t.DatasetController.prototype, {
  5545. datasetElementType: null,
  5546. dataElementType: null,
  5547. initialize: function(t, e) {
  5548. this.chart = t, this.index = e, this.linkScales(), this.addElements()
  5549. },
  5550. updateIndex: function(t) {
  5551. this.index = t
  5552. },
  5553. linkScales: function() {
  5554. var t = this,
  5555. e = t.getMeta(),
  5556. n = t.getDataset();
  5557. null !== e.xAxisID && e.xAxisID in t.chart.scales || (e.xAxisID = n.xAxisID || t.chart.options.scales.xAxes[0].id), null !== e.yAxisID && e.yAxisID in t.chart.scales || (e.yAxisID = n.yAxisID || t.chart.options.scales.yAxes[0].id)
  5558. },
  5559. getDataset: function() {
  5560. return this.chart.data.datasets[this.index]
  5561. },
  5562. getMeta: function() {
  5563. return this.chart.getDatasetMeta(this.index)
  5564. },
  5565. getScaleForId: function(t) {
  5566. return this.chart.scales[t]
  5567. },
  5568. reset: function() {
  5569. this.update(!0)
  5570. },
  5571. destroy: function() {
  5572. this._data && n(this._data, this)
  5573. },
  5574. createMetaDataset: function() {
  5575. var t = this.datasetElementType;
  5576. return t && new t({
  5577. _chart: this.chart,
  5578. _datasetIndex: this.index
  5579. })
  5580. },
  5581. createMetaData: function(t) {
  5582. var e = this.dataElementType;
  5583. return e && new e({
  5584. _chart: this.chart,
  5585. _datasetIndex: this.index,
  5586. _index: t
  5587. })
  5588. },
  5589. addElements: function() {
  5590. var t, e, n = this.getMeta(),
  5591. r = this.getDataset().data || [],
  5592. i = n.data;
  5593. for (t = 0, e = r.length; t < e; ++t) i[t] = i[t] || this.createMetaData(t);
  5594. n.dataset = n.dataset || this.createMetaDataset()
  5595. },
  5596. addElementAndReset: function(t) {
  5597. var e = this.createMetaData(t);
  5598. this.getMeta().data.splice(t, 0, e), this.updateElement(e, t, !0)
  5599. },
  5600. buildOrUpdateElements: function() {
  5601. var t, i, o = this,
  5602. a = o.getDataset(),
  5603. s = a.data || (a.data = []);
  5604. o._data !== s && (o._data && n(o._data, o), i = o, (t = s)._chartjs ? t._chartjs.listeners.push(i) : (Object.defineProperty(t, "_chartjs", {
  5605. configurable: !0,
  5606. enumerable: !1,
  5607. value: {
  5608. listeners: [i]
  5609. }
  5610. }), e.forEach((function(e) {
  5611. var n = "onData" + e.charAt(0).toUpperCase() + e.slice(1),
  5612. i = t[e];
  5613. Object.defineProperty(t, e, {
  5614. configurable: !0,
  5615. enumerable: !1,
  5616. value: function() {
  5617. var e = Array.prototype.slice.call(arguments),
  5618. o = i.apply(this, e);
  5619. return r.each(t._chartjs.listeners, (function(t) {
  5620. "function" == typeof t[n] && t[n].apply(t, e)
  5621. })), o
  5622. }
  5623. })
  5624. }))), o._data = s), o.resyncElements()
  5625. },
  5626. update: r.noop,
  5627. transition: function(t) {
  5628. for (var e = this.getMeta(), n = e.data || [], r = n.length, i = 0; i < r; ++i) n[i].transition(t);
  5629. e.dataset && e.dataset.transition(t)
  5630. },
  5631. draw: function() {
  5632. var t = this.getMeta(),
  5633. e = t.data || [],
  5634. n = e.length,
  5635. r = 0;
  5636. for (t.dataset && t.dataset.draw(); r < n; ++r) e[r].draw()
  5637. },
  5638. removeHoverStyle: function(t) {
  5639. r.merge(t._model, t.$previousStyle || {}), delete t.$previousStyle
  5640. },
  5641. setHoverStyle: function(t) {
  5642. var e = this.chart.data.datasets[t._datasetIndex],
  5643. n = t._index,
  5644. i = t.custom || {},
  5645. o = r.valueAtIndexOrDefault,
  5646. a = r.getHoverColor,
  5647. s = t._model;
  5648. t.$previousStyle = {
  5649. backgroundColor: s.backgroundColor,
  5650. borderColor: s.borderColor,
  5651. borderWidth: s.borderWidth
  5652. }, s.backgroundColor = i.hoverBackgroundColor ? i.hoverBackgroundColor : o(e.hoverBackgroundColor, n, a(s.backgroundColor)), s.borderColor = i.hoverBorderColor ? i.hoverBorderColor : o(e.hoverBorderColor, n, a(s.borderColor)), s.borderWidth = i.hoverBorderWidth ? i.hoverBorderWidth : o(e.hoverBorderWidth, n, s.borderWidth)
  5653. },
  5654. resyncElements: function() {
  5655. var t = this.getMeta(),
  5656. e = this.getDataset().data,
  5657. n = t.data.length,
  5658. r = e.length;
  5659. r < n ? t.data.splice(r, n - r) : r > n && this.insertElements(n, r - n)
  5660. },
  5661. insertElements: function(t, e) {
  5662. for (var n = 0; n < e; ++n) this.addElementAndReset(t + n)
  5663. },
  5664. onDataPush: function() {
  5665. this.insertElements(this.getDataset().data.length - 1, arguments.length)
  5666. },
  5667. onDataPop: function() {
  5668. this.getMeta().data.pop()
  5669. },
  5670. onDataShift: function() {
  5671. this.getMeta().data.shift()
  5672. },
  5673. onDataSplice: function(t, e) {
  5674. this.getMeta().data.splice(t, e), this.insertElements(t, arguments.length - 2)
  5675. },
  5676. onDataUnshift: function() {
  5677. this.insertElements(0, arguments.length)
  5678. }
  5679. }), t.DatasetController.extend = r.inherits
  5680. }
  5681. }, {
  5682. 46: 46
  5683. }],
  5684. 26: [function(t, e, n) {
  5685. var r = t(46);
  5686. e.exports = {
  5687. _set: function(t, e) {
  5688. return r.merge(this[t] || (this[t] = {}), e)
  5689. }
  5690. }
  5691. }, {
  5692. 46: 46
  5693. }],
  5694. 27: [function(t, e, n) {
  5695. var r = t(3),
  5696. i = t(46);
  5697. var a = function(t) {
  5698. i.extend(this, t), this.initialize.apply(this, arguments)
  5699. };
  5700. i.extend(a.prototype, {
  5701. initialize: function() {
  5702. this.hidden = !1
  5703. },
  5704. pivot: function() {
  5705. var t = this;
  5706. return t._view || (t._view = i.clone(t._model)), t._start = {}, t
  5707. },
  5708. transition: function(t) {
  5709. var e = this,
  5710. n = e._model,
  5711. i = e._start,
  5712. a = e._view;
  5713. return n && 1 !== t ? (a || (a = e._view = {}), i || (i = e._start = {}), function(t, e, n, i) {
  5714. var a, s, l, u, c, d, f, h, p, g = Object.keys(n);
  5715. for (a = 0, s = g.length; a < s; ++a)
  5716. if (d = n[l = g[a]], e.hasOwnProperty(l) || (e[l] = d), (u = e[l]) !== d && "_" !== l[0]) {
  5717. if (t.hasOwnProperty(l) || (t[l] = u), c = t[l], (f = o(d)) === o(c))
  5718. if ("string" === f) {
  5719. if ((h = r(c)).valid && (p = r(d)).valid) {
  5720. e[l] = p.mix(h, i).rgbString();
  5721. continue
  5722. }
  5723. } else if ("number" === f && isFinite(c) && isFinite(d)) {
  5724. e[l] = c + (d - c) * i;
  5725. continue
  5726. }
  5727. e[l] = d
  5728. }
  5729. }(i, a, n, t), e) : (e._view = n, e._start = null, e)
  5730. },
  5731. tooltipPosition: function() {
  5732. return {
  5733. x: this._model.x,
  5734. y: this._model.y
  5735. }
  5736. },
  5737. hasValue: function() {
  5738. return i.isNumber(this._model.x) && i.isNumber(this._model.y)
  5739. }
  5740. }), a.extend = i.inherits, e.exports = a
  5741. }, {
  5742. 3: 3,
  5743. 46: 46
  5744. }],
  5745. 28: [function(t, e, n) {
  5746. var r = t(3),
  5747. i = t(26),
  5748. o = t(46),
  5749. a = t(34);
  5750. e.exports = function() {
  5751. function t(t, e, n) {
  5752. var r;
  5753. return "string" == typeof t ? (r = parseInt(t, 10), -1 !== t.indexOf("%") && (r = r / 100 * e.parentNode[n])) : r = t, r
  5754. }
  5755. function e(t) {
  5756. return null != t && "none" !== t
  5757. }
  5758. function n(n, r, i) {
  5759. var a = document.defaultView,
  5760. s = o._getParentNode(n),
  5761. l = a.getComputedStyle(n)[r],
  5762. u = a.getComputedStyle(s)[r],
  5763. c = e(l),
  5764. d = e(u),
  5765. f = Number.POSITIVE_INFINITY;
  5766. return c || d ? Math.min(c ? t(l, n, i) : f, d ? t(u, s, i) : f) : "none"
  5767. }
  5768. o.configMerge = function() {
  5769. return o.merge(o.clone(arguments[0]), [].slice.call(arguments, 1), {
  5770. merger: function(t, e, n, r) {
  5771. var i = e[t] || {},
  5772. s = n[t];
  5773. "scales" === t ? e[t] = o.scaleMerge(i, s) : "scale" === t ? e[t] = o.merge(i, [a.getScaleDefaults(s.type), s]) : o._merger(t, e, n, r)
  5774. }
  5775. })
  5776. }, o.scaleMerge = function() {
  5777. return o.merge(o.clone(arguments[0]), [].slice.call(arguments, 1), {
  5778. merger: function(t, e, n, r) {
  5779. if ("xAxes" === t || "yAxes" === t) {
  5780. var i, s, l, u = n[t].length;
  5781. for (e[t] || (e[t] = []), i = 0; i < u; ++i) l = n[t][i], s = o.valueOrDefault(l.type, "xAxes" === t ? "category" : "linear"), i >= e[t].length && e[t].push({}), !e[t][i].type || l.type && l.type !== e[t][i].type ? o.merge(e[t][i], [a.getScaleDefaults(s), l]) : o.merge(e[t][i], l)
  5782. } else o._merger(t, e, n, r)
  5783. }
  5784. })
  5785. }, o.where = function(t, e) {
  5786. if (o.isArray(t) && Array.prototype.filter) return t.filter(e);
  5787. var n = [];
  5788. return o.each(t, (function(t) {
  5789. e(t) && n.push(t)
  5790. })), n
  5791. }, o.findIndex = Array.prototype.findIndex ? function(t, e, n) {
  5792. return t.findIndex(e, n)
  5793. } : function(t, e, n) {
  5794. n = void 0 === n ? t : n;
  5795. for (var r = 0, i = t.length; r < i; ++r)
  5796. if (e.call(n, t[r], r, t)) return r;
  5797. return -1
  5798. }, o.findNextWhere = function(t, e, n) {
  5799. o.isNullOrUndef(n) && (n = -1);
  5800. for (var r = n + 1; r < t.length; r++) {
  5801. var i = t[r];
  5802. if (e(i)) return i
  5803. }
  5804. }, o.findPreviousWhere = function(t, e, n) {
  5805. o.isNullOrUndef(n) && (n = t.length);
  5806. for (var r = n - 1; r >= 0; r--) {
  5807. var i = t[r];
  5808. if (e(i)) return i
  5809. }
  5810. }, o.isNumber = function(t) {
  5811. return !isNaN(parseFloat(t)) && isFinite(t)
  5812. }, o.almostEquals = function(t, e, n) {
  5813. return Math.abs(t - e) < n
  5814. }, o.almostWhole = function(t, e) {
  5815. var n = Math.round(t);
  5816. return n - e < t && n + e > t
  5817. }, o.max = function(t) {
  5818. return t.reduce((function(t, e) {
  5819. return isNaN(e) ? t : Math.max(t, e)
  5820. }), Number.NEGATIVE_INFINITY)
  5821. }, o.min = function(t) {
  5822. return t.reduce((function(t, e) {
  5823. return isNaN(e) ? t : Math.min(t, e)
  5824. }), Number.POSITIVE_INFINITY)
  5825. }, o.sign = Math.sign ? function(t) {
  5826. return Math.sign(t)
  5827. } : function(t) {
  5828. return 0 === (t = +t) || isNaN(t) ? t : t > 0 ? 1 : -1
  5829. }, o.log10 = Math.log10 ? function(t) {
  5830. return Math.log10(t)
  5831. } : function(t) {
  5832. var e = Math.log(t) * Math.LOG10E,
  5833. n = Math.round(e);
  5834. return t === Math.pow(10, n) ? n : e
  5835. }, o.toRadians = function(t) {
  5836. return t * (Math.PI / 180)
  5837. }, o.toDegrees = function(t) {
  5838. return t * (180 / Math.PI)
  5839. }, o.getAngleFromPoint = function(t, e) {
  5840. var n = e.x - t.x,
  5841. r = e.y - t.y,
  5842. i = Math.sqrt(n * n + r * r),
  5843. o = Math.atan2(r, n);
  5844. return o < -.5 * Math.PI && (o += 2 * Math.PI), {
  5845. angle: o,
  5846. distance: i
  5847. }
  5848. }, o.distanceBetweenPoints = function(t, e) {
  5849. return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2))
  5850. }, o.aliasPixel = function(t) {
  5851. return t % 2 == 0 ? 0 : .5
  5852. }, o.splineCurve = function(t, e, n, r) {
  5853. var i = t.skip ? e : t,
  5854. o = e,
  5855. a = n.skip ? e : n,
  5856. s = Math.sqrt(Math.pow(o.x - i.x, 2) + Math.pow(o.y - i.y, 2)),
  5857. l = Math.sqrt(Math.pow(a.x - o.x, 2) + Math.pow(a.y - o.y, 2)),
  5858. u = s / (s + l),
  5859. c = l / (s + l),
  5860. d = r * (u = isNaN(u) ? 0 : u),
  5861. f = r * (c = isNaN(c) ? 0 : c);
  5862. return {
  5863. previous: {
  5864. x: o.x - d * (a.x - i.x),
  5865. y: o.y - d * (a.y - i.y)
  5866. },
  5867. next: {
  5868. x: o.x + f * (a.x - i.x),
  5869. y: o.y + f * (a.y - i.y)
  5870. }
  5871. }
  5872. }, o.EPSILON = Number.EPSILON || 1e-14, o.splineCurveMonotone = function(t) {
  5873. var e, n, r, i, a, s, l, u, c, d = (t || []).map((function(t) {
  5874. return {
  5875. model: t._model,
  5876. deltaK: 0,
  5877. mK: 0
  5878. }
  5879. })),
  5880. f = d.length;
  5881. for (e = 0; e < f; ++e)
  5882. if (!(r = d[e]).model.skip) {
  5883. if (n = e > 0 ? d[e - 1] : null, (i = e < f - 1 ? d[e + 1] : null) && !i.model.skip) {
  5884. var h = i.model.x - r.model.x;
  5885. r.deltaK = 0 !== h ? (i.model.y - r.model.y) / h : 0
  5886. }!n || n.model.skip ? r.mK = r.deltaK : !i || i.model.skip ? r.mK = n.deltaK : this.sign(n.deltaK) !== this.sign(r.deltaK) ? r.mK = 0 : r.mK = (n.deltaK + r.deltaK) / 2
  5887. } for (e = 0; e < f - 1; ++e) r = d[e], i = d[e + 1], r.model.skip || i.model.skip || (o.almostEquals(r.deltaK, 0, this.EPSILON) ? r.mK = i.mK = 0 : (a = r.mK / r.deltaK, s = i.mK / r.deltaK, (u = Math.pow(a, 2) + Math.pow(s, 2)) <= 9 || (l = 3 / Math.sqrt(u), r.mK = a * l * r.deltaK, i.mK = s * l * r.deltaK)));
  5888. for (e = 0; e < f; ++e)(r = d[e]).model.skip || (n = e > 0 ? d[e - 1] : null, i = e < f - 1 ? d[e + 1] : null, n && !n.model.skip && (c = (r.model.x - n.model.x) / 3, r.model.controlPointPreviousX = r.model.x - c, r.model.controlPointPreviousY = r.model.y - c * r.mK), i && !i.model.skip && (c = (i.model.x - r.model.x) / 3, r.model.controlPointNextX = r.model.x + c, r.model.controlPointNextY = r.model.y + c * r.mK))
  5889. }, o.nextItem = function(t, e, n) {
  5890. return n ? e >= t.length - 1 ? t[0] : t[e + 1] : e >= t.length - 1 ? t[t.length - 1] : t[e + 1]
  5891. }, o.previousItem = function(t, e, n) {
  5892. return n ? e <= 0 ? t[t.length - 1] : t[e - 1] : e <= 0 ? t[0] : t[e - 1]
  5893. }, o.niceNum = function(t, e) {
  5894. var n = Math.floor(o.log10(t)),
  5895. r = t / Math.pow(10, n);
  5896. return (e ? r < 1.5 ? 1 : r < 3 ? 2 : r < 7 ? 5 : 10 : r <= 1 ? 1 : r <= 2 ? 2 : r <= 5 ? 5 : 10) * Math.pow(10, n)
  5897. }, o.requestAnimFrame = "undefined" == typeof window ? function(t) {
  5898. t()
  5899. } : window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(t) {
  5900. return window.setTimeout(t, 1e3 / 60)
  5901. }, o.getRelativePosition = function(t, e) {
  5902. var n, r, i = t.originalEvent || t,
  5903. a = t.target || t.srcElement,
  5904. s = a.getBoundingClientRect(),
  5905. l = i.touches;
  5906. l && l.length > 0 ? (n = l[0].clientX, r = l[0].clientY) : (n = i.clientX, r = i.clientY);
  5907. var u = parseFloat(o.getStyle(a, "padding-left")),
  5908. c = parseFloat(o.getStyle(a, "padding-top")),
  5909. d = parseFloat(o.getStyle(a, "padding-right")),
  5910. f = parseFloat(o.getStyle(a, "padding-bottom")),
  5911. h = s.right - s.left - u - d,
  5912. p = s.bottom - s.top - c - f;
  5913. return {
  5914. x: n = Math.round((n - s.left - u) / h * a.width / e.currentDevicePixelRatio),
  5915. y: r = Math.round((r - s.top - c) / p * a.height / e.currentDevicePixelRatio)
  5916. }
  5917. }, o.getConstraintWidth = function(t) {
  5918. return n(t, "max-width", "clientWidth")
  5919. }, o.getConstraintHeight = function(t) {
  5920. return n(t, "max-height", "clientHeight")
  5921. }, o._calculatePadding = function(t, e, n) {
  5922. return (e = o.getStyle(t, e)).indexOf("%") > -1 ? n / parseInt(e, 10) : parseInt(e, 10)
  5923. }, o._getParentNode = function(t) {
  5924. var e = t.parentNode;
  5925. return e && e.host && (e = e.host), e
  5926. }, o.getMaximumWidth = function(t) {
  5927. var e = o._getParentNode(t);
  5928. if (!e) return t.clientWidth;
  5929. var n = e.clientWidth,
  5930. r = n - o._calculatePadding(e, "padding-left", n) - o._calculatePadding(e, "padding-right", n),
  5931. i = o.getConstraintWidth(t);
  5932. return isNaN(i) ? r : Math.min(r, i)
  5933. }, o.getMaximumHeight = function(t) {
  5934. var e = o._getParentNode(t);
  5935. if (!e) return t.clientHeight;
  5936. var n = e.clientHeight,
  5937. r = n - o._calculatePadding(e, "padding-top", n) - o._calculatePadding(e, "padding-bottom", n),
  5938. i = o.getConstraintHeight(t);
  5939. return isNaN(i) ? r : Math.min(r, i)
  5940. }, o.getStyle = function(t, e) {
  5941. return t.currentStyle ? t.currentStyle[e] : document.defaultView.getComputedStyle(t, null).getPropertyValue(e)
  5942. }, o.retinaScale = function(t, e) {
  5943. var n = t.currentDevicePixelRatio = e || "undefined" != typeof window && window.devicePixelRatio || 1;
  5944. if (1 !== n) {
  5945. var r = t.canvas,
  5946. i = t.height,
  5947. o = t.width;
  5948. r.height = i * n, r.width = o * n, t.ctx.scale(n, n), r.style.height || r.style.width || (r.style.height = i + "px", r.style.width = o + "px")
  5949. }
  5950. }, o.fontString = function(t, e, n) {
  5951. return e + " " + t + "px " + n
  5952. }, o.longestText = function(t, e, n, r) {
  5953. var i = (r = r || {}).data = r.data || {},
  5954. a = r.garbageCollect = r.garbageCollect || [];
  5955. r.font !== e && (i = r.data = {}, a = r.garbageCollect = [], r.font = e), t.font = e;
  5956. var s = 0;
  5957. o.each(n, (function(e) {
  5958. null != e && !0 !== o.isArray(e) ? s = o.measureText(t, i, a, s, e) : o.isArray(e) && o.each(e, (function(e) {
  5959. null == e || o.isArray(e) || (s = o.measureText(t, i, a, s, e))
  5960. }))
  5961. }));
  5962. var l = a.length / 2;
  5963. if (l > n.length) {
  5964. for (var u = 0; u < l; u++) delete i[a[u]];
  5965. a.splice(0, l)
  5966. }
  5967. return s
  5968. }, o.measureText = function(t, e, n, r, i) {
  5969. var o = e[i];
  5970. return o || (o = e[i] = t.measureText(i).width, n.push(i)), o > r && (r = o), r
  5971. }, o.numberOfLabelLines = function(t) {
  5972. var e = 1;
  5973. return o.each(t, (function(t) {
  5974. o.isArray(t) && t.length > e && (e = t.length)
  5975. })), e
  5976. }, o.color = r ? function(t) {
  5977. return t instanceof CanvasGradient && (t = i.global.defaultColor), r(t)
  5978. } : function(t) {
  5979. return console.error("Color.js not found!"), t
  5980. }, o.getHoverColor = function(t) {
  5981. return t instanceof CanvasPattern ? t : o.color(t).saturate(.5).darken(.1).rgbString()
  5982. }
  5983. }
  5984. }, {
  5985. 26: 26,
  5986. 3: 3,
  5987. 34: 34,
  5988. 46: 46
  5989. }],
  5990. 29: [function(t, e, n) {
  5991. var r = t(46);
  5992. function i(t, e) {
  5993. return t.native ? {
  5994. x: t.x,
  5995. y: t.y
  5996. } : r.getRelativePosition(t, e)
  5997. }
  5998. function o(t, e) {
  5999. var n, r, i, o, a;
  6000. for (r = 0, o = t.data.datasets.length; r < o; ++r)
  6001. if (t.isDatasetVisible(r))
  6002. for (i = 0, a = (n = t.getDatasetMeta(r)).data.length; i < a; ++i) {
  6003. var s = n.data[i];
  6004. s._view.skip || e(s)
  6005. }
  6006. }
  6007. function a(t, e) {
  6008. var n = [];
  6009. return o(t, (function(t) {
  6010. t.inRange(e.x, e.y) && n.push(t)
  6011. })), n
  6012. }
  6013. function s(t, e, n, r) {
  6014. var i = Number.POSITIVE_INFINITY,
  6015. a = [];
  6016. return o(t, (function(t) {
  6017. if (!n || t.inRange(e.x, e.y)) {
  6018. var o = t.getCenterPoint(),
  6019. s = r(e, o);
  6020. s < i ? (a = [t], i = s) : s === i && a.push(t)
  6021. }
  6022. })), a
  6023. }
  6024. function l(t) {
  6025. var e = -1 !== t.indexOf("x"),
  6026. n = -1 !== t.indexOf("y");
  6027. return function(t, r) {
  6028. var i = e ? Math.abs(t.x - r.x) : 0,
  6029. o = n ? Math.abs(t.y - r.y) : 0;
  6030. return Math.sqrt(Math.pow(i, 2) + Math.pow(o, 2))
  6031. }
  6032. }
  6033. function u(t, e, n) {
  6034. var r = i(e, t);
  6035. n.axis = n.axis || "x";
  6036. var o = l(n.axis),
  6037. u = n.intersect ? a(t, r) : s(t, r, !1, o),
  6038. c = [];
  6039. return u.length ? (t.data.datasets.forEach((function(e, n) {
  6040. if (t.isDatasetVisible(n)) {
  6041. var r = t.getDatasetMeta(n).data[u[0]._index];
  6042. r && !r._view.skip && c.push(r)
  6043. }
  6044. })), c) : []
  6045. }
  6046. e.exports = {
  6047. modes: {
  6048. single: function(t, e) {
  6049. var n = i(e, t),
  6050. r = [];
  6051. return o(t, (function(t) {
  6052. if (t.inRange(n.x, n.y)) return r.push(t), r
  6053. })), r.slice(0, 1)
  6054. },
  6055. label: u,
  6056. index: u,
  6057. dataset: function(t, e, n) {
  6058. var r = i(e, t);
  6059. n.axis = n.axis || "xy";
  6060. var o = l(n.axis),
  6061. u = n.intersect ? a(t, r) : s(t, r, !1, o);
  6062. return u.length > 0 && (u = t.getDatasetMeta(u[0]._datasetIndex).data), u
  6063. },
  6064. "x-axis": function(t, e) {
  6065. return u(t, e, {
  6066. intersect: !1
  6067. })
  6068. },
  6069. point: function(t, e) {
  6070. return a(t, i(e, t))
  6071. },
  6072. nearest: function(t, e, n) {
  6073. var r = i(e, t);
  6074. n.axis = n.axis || "xy";
  6075. var o = l(n.axis),
  6076. a = s(t, r, n.intersect, o);
  6077. return a.length > 1 && a.sort((function(t, e) {
  6078. var n = t.getArea() - e.getArea();
  6079. return 0 === n && (n = t._datasetIndex - e._datasetIndex), n
  6080. })), a.slice(0, 1)
  6081. },
  6082. x: function(t, e, n) {
  6083. var r = i(e, t),
  6084. a = [],
  6085. s = !1;
  6086. return o(t, (function(t) {
  6087. t.inXRange(r.x) && a.push(t), t.inRange(r.x, r.y) && (s = !0)
  6088. })), n.intersect && !s && (a = []), a
  6089. },
  6090. y: function(t, e, n) {
  6091. var r = i(e, t),
  6092. a = [],
  6093. s = !1;
  6094. return o(t, (function(t) {
  6095. t.inYRange(r.y) && a.push(t), t.inRange(r.x, r.y) && (s = !0)
  6096. })), n.intersect && !s && (a = []), a
  6097. }
  6098. }
  6099. }
  6100. }, {
  6101. 46: 46
  6102. }],
  6103. 30: [function(t, e, n) {
  6104. t(26)._set("global", {
  6105. responsive: !0,
  6106. responsiveAnimationDuration: 0,
  6107. maintainAspectRatio: !0,
  6108. events: ["mousemove", "mouseout", "click", "touchstart", "touchmove"],
  6109. hover: {
  6110. onHover: null,
  6111. mode: "nearest",
  6112. intersect: !0,
  6113. animationDuration: 400
  6114. },
  6115. onClick: null,
  6116. defaultColor: "rgba(0,0,0,0.1)",
  6117. defaultFontColor: "#666",
  6118. defaultFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
  6119. defaultFontSize: 12,
  6120. defaultFontStyle: "normal",
  6121. showLines: !0,
  6122. elements: {},
  6123. layout: {
  6124. padding: {
  6125. top: 0,
  6126. right: 0,
  6127. bottom: 0,
  6128. left: 0
  6129. }
  6130. }
  6131. }), e.exports = function() {
  6132. var t = function(t, e) {
  6133. return this.construct(t, e), this
  6134. };
  6135. return t.Chart = t, t
  6136. }
  6137. }, {
  6138. 26: 26
  6139. }],
  6140. 31: [function(t, e, n) {
  6141. var r = t(46);
  6142. function i(t, e) {
  6143. return r.where(t, (function(t) {
  6144. return t.position === e
  6145. }))
  6146. }
  6147. function o(t, e) {
  6148. t.forEach((function(t, e) {
  6149. return t._tmpIndex_ = e, t
  6150. })), t.sort((function(t, n) {
  6151. var r = e ? n : t,
  6152. i = e ? t : n;
  6153. return r.weight === i.weight ? r._tmpIndex_ - i._tmpIndex_ : r.weight - i.weight
  6154. })), t.forEach((function(t) {
  6155. delete t._tmpIndex_
  6156. }))
  6157. }
  6158. e.exports = {
  6159. defaults: {},
  6160. addBox: function(t, e) {
  6161. t.boxes || (t.boxes = []), e.fullWidth = e.fullWidth || !1, e.position = e.position || "top", e.weight = e.weight || 0, t.boxes.push(e)
  6162. },
  6163. removeBox: function(t, e) {
  6164. var n = t.boxes ? t.boxes.indexOf(e) : -1; - 1 !== n && t.boxes.splice(n, 1)
  6165. },
  6166. configure: function(t, e, n) {
  6167. for (var r, i = ["fullWidth", "position", "weight"], o = i.length, a = 0; a < o; ++a) r = i[a], n.hasOwnProperty(r) && (e[r] = n[r])
  6168. },
  6169. update: function(t, e, n) {
  6170. if (t) {
  6171. var a = t.options.layout || {},
  6172. s = r.options.toPadding(a.padding),
  6173. l = s.left,
  6174. u = s.right,
  6175. c = s.top,
  6176. d = s.bottom,
  6177. f = i(t.boxes, "left"),
  6178. h = i(t.boxes, "right"),
  6179. p = i(t.boxes, "top"),
  6180. g = i(t.boxes, "bottom"),
  6181. v = i(t.boxes, "chartArea");
  6182. o(f, !0), o(h, !1), o(p, !0), o(g, !1);
  6183. var m = e - l - u,
  6184. y = n - c - d,
  6185. b = y / 2,
  6186. x = (e - m / 2) / (f.length + h.length),
  6187. w = (n - b) / (p.length + g.length),
  6188. S = m,
  6189. k = y,
  6190. C = [];
  6191. r.each(f.concat(h, p, g), (function(t) {
  6192. var e, n = t.isHorizontal();
  6193. n ? (e = t.update(t.fullWidth ? m : S, w), k -= e.height) : (e = t.update(x, k), S -= e.width), C.push({
  6194. horizontal: n,
  6195. minSize: e,
  6196. box: t
  6197. })
  6198. }));
  6199. var M = 0,
  6200. A = 0,
  6201. P = 0,
  6202. _ = 0;
  6203. r.each(p.concat(g), (function(t) {
  6204. if (t.getPadding) {
  6205. var e = t.getPadding();
  6206. M = Math.max(M, e.left), A = Math.max(A, e.right)
  6207. }
  6208. })), r.each(f.concat(h), (function(t) {
  6209. if (t.getPadding) {
  6210. var e = t.getPadding();
  6211. P = Math.max(P, e.top), _ = Math.max(_, e.bottom)
  6212. }
  6213. }));
  6214. var T = l,
  6215. I = u,
  6216. O = c,
  6217. F = d;
  6218. r.each(f.concat(h), z), r.each(f, (function(t) {
  6219. T += t.width
  6220. })), r.each(h, (function(t) {
  6221. I += t.width
  6222. })), r.each(p.concat(g), z), r.each(p, (function(t) {
  6223. O += t.height
  6224. })), r.each(g, (function(t) {
  6225. F += t.height
  6226. })), r.each(f.concat(h), (function(t) {
  6227. var e = r.findNextWhere(C, (function(e) {
  6228. return e.box === t
  6229. })),
  6230. n = {
  6231. left: 0,
  6232. right: 0,
  6233. top: O,
  6234. bottom: F
  6235. };
  6236. e && t.update(e.minSize.width, k, n)
  6237. })), T = l, I = u, O = c, F = d, r.each(f, (function(t) {
  6238. T += t.width
  6239. })), r.each(h, (function(t) {
  6240. I += t.width
  6241. })), r.each(p, (function(t) {
  6242. O += t.height
  6243. })), r.each(g, (function(t) {
  6244. F += t.height
  6245. }));
  6246. var D = Math.max(M - T, 0);
  6247. T += D, I += Math.max(A - I, 0);
  6248. var E = Math.max(P - O, 0);
  6249. O += E, F += Math.max(_ - F, 0);
  6250. var L = n - O - F,
  6251. R = e - T - I;
  6252. R === S && L === k || (r.each(f, (function(t) {
  6253. t.height = L
  6254. })), r.each(h, (function(t) {
  6255. t.height = L
  6256. })), r.each(p, (function(t) {
  6257. t.fullWidth || (t.width = R)
  6258. })), r.each(g, (function(t) {
  6259. t.fullWidth || (t.width = R)
  6260. })), k = L, S = R);
  6261. var N = l + D,
  6262. V = c + E;
  6263. r.each(f.concat(p), B), N += S, V += k, r.each(h, B), r.each(g, B), t.chartArea = {
  6264. left: T,
  6265. top: O,
  6266. right: T + S,
  6267. bottom: O + k
  6268. }, r.each(v, (function(e) {
  6269. e.left = t.chartArea.left, e.top = t.chartArea.top, e.right = t.chartArea.right, e.bottom = t.chartArea.bottom, e.update(S, k)
  6270. }))
  6271. }
  6272. function z(t) {
  6273. var e = r.findNextWhere(C, (function(e) {
  6274. return e.box === t
  6275. }));
  6276. if (e)
  6277. if (t.isHorizontal()) {
  6278. var n = {
  6279. left: Math.max(T, M),
  6280. right: Math.max(I, A),
  6281. top: 0,
  6282. bottom: 0
  6283. };
  6284. t.update(t.fullWidth ? m : S, y / 2, n)
  6285. } else t.update(e.minSize.width, k)
  6286. }
  6287. function B(t) {
  6288. t.isHorizontal() ? (t.left = t.fullWidth ? l : T, t.right = t.fullWidth ? e - u : T + S, t.top = V, t.bottom = V + t.height, V = t.bottom) : (t.left = N, t.right = N + t.width, t.top = O, t.bottom = O + k, N = t.right)
  6289. }
  6290. }
  6291. }
  6292. }, {
  6293. 46: 46
  6294. }],
  6295. 32: [function(t, e, n) {
  6296. var r = t(26),
  6297. i = t(46);
  6298. r._set("global", {
  6299. plugins: {}
  6300. }), e.exports = {
  6301. _plugins: [],
  6302. _cacheId: 0,
  6303. register: function(t) {
  6304. var e = this._plugins;
  6305. [].concat(t).forEach((function(t) {
  6306. -1 === e.indexOf(t) && e.push(t)
  6307. })), this._cacheId++
  6308. },
  6309. unregister: function(t) {
  6310. var e = this._plugins;
  6311. [].concat(t).forEach((function(t) {
  6312. var n = e.indexOf(t); - 1 !== n && e.splice(n, 1)
  6313. })), this._cacheId++
  6314. },
  6315. clear: function() {
  6316. this._plugins = [], this._cacheId++
  6317. },
  6318. count: function() {
  6319. return this._plugins.length
  6320. },
  6321. getAll: function() {
  6322. return this._plugins
  6323. },
  6324. notify: function(t, e, n) {
  6325. var r, i, o, a, s, l = this.descriptors(t),
  6326. u = l.length;
  6327. for (r = 0; r < u; ++r)
  6328. if ("function" == typeof(s = (o = (i = l[r]).plugin)[e]) && ((a = [t].concat(n || [])).push(i.options), !1 === s.apply(o, a))) return !1;
  6329. return !0
  6330. },
  6331. descriptors: function(t) {
  6332. var e = t.$plugins || (t.$plugins = {});
  6333. if (e.id === this._cacheId) return e.descriptors;
  6334. var n = [],
  6335. o = [],
  6336. a = t && t.config || {},
  6337. s = a.options && a.options.plugins || {};
  6338. return this._plugins.concat(a.plugins || []).forEach((function(t) {
  6339. if (-1 === n.indexOf(t)) {
  6340. var e = t.id,
  6341. a = s[e];
  6342. !1 !== a && (!0 === a && (a = i.clone(r.global.plugins[e])), n.push(t), o.push({
  6343. plugin: t,
  6344. options: a || {}
  6345. }))
  6346. }
  6347. })), e.descriptors = o, e.id = this._cacheId, o
  6348. },
  6349. _invalidate: function(t) {
  6350. delete t.$plugins
  6351. }
  6352. }
  6353. }, {
  6354. 26: 26,
  6355. 46: 46
  6356. }],
  6357. 33: [function(t, e, n) {
  6358. var r = t(26),
  6359. i = t(27),
  6360. o = t(46),
  6361. a = t(35);
  6362. function s(t) {
  6363. var e, n, r = [];
  6364. for (e = 0, n = t.length; e < n; ++e) r.push(t[e].label);
  6365. return r
  6366. }
  6367. function l(t, e, n) {
  6368. var r = t.getPixelForTick(e);
  6369. return n && (r -= 0 === e ? (t.getPixelForTick(1) - r) / 2 : (r - t.getPixelForTick(e - 1)) / 2), r
  6370. }
  6371. function u(t, e, n) {
  6372. return o.isArray(e) ? o.longestText(t, n, e) : t.measureText(e).width
  6373. }
  6374. function c(t) {
  6375. var e = o.valueOrDefault,
  6376. n = r.global,
  6377. i = e(t.fontSize, n.defaultFontSize),
  6378. a = e(t.fontStyle, n.defaultFontStyle),
  6379. s = e(t.fontFamily, n.defaultFontFamily);
  6380. return {
  6381. size: i,
  6382. style: a,
  6383. family: s,
  6384. font: o.fontString(i, a, s)
  6385. }
  6386. }
  6387. function d(t) {
  6388. return o.options.toLineHeight(o.valueOrDefault(t.lineHeight, 1.2), o.valueOrDefault(t.fontSize, r.global.defaultFontSize))
  6389. }
  6390. r._set("scale", {
  6391. display: !0,
  6392. position: "left",
  6393. offset: !1,
  6394. gridLines: {
  6395. display: !0,
  6396. color: "rgba(0, 0, 0, 0.1)",
  6397. lineWidth: 1,
  6398. drawBorder: !0,
  6399. drawOnChartArea: !0,
  6400. drawTicks: !0,
  6401. tickMarkLength: 10,
  6402. zeroLineWidth: 1,
  6403. zeroLineColor: "rgba(0,0,0,0.25)",
  6404. zeroLineBorderDash: [],
  6405. zeroLineBorderDashOffset: 0,
  6406. offsetGridLines: !1,
  6407. borderDash: [],
  6408. borderDashOffset: 0
  6409. },
  6410. scaleLabel: {
  6411. display: !1,
  6412. labelString: "",
  6413. lineHeight: 1.2,
  6414. padding: {
  6415. top: 4,
  6416. bottom: 4
  6417. }
  6418. },
  6419. ticks: {
  6420. beginAtZero: !1,
  6421. minRotation: 0,
  6422. maxRotation: 50,
  6423. mirror: !1,
  6424. padding: 0,
  6425. reverse: !1,
  6426. display: !0,
  6427. autoSkip: !0,
  6428. autoSkipPadding: 0,
  6429. labelOffset: 0,
  6430. callback: a.formatters.values,
  6431. minor: {},
  6432. major: {}
  6433. }
  6434. }), e.exports = i.extend({
  6435. getPadding: function() {
  6436. return {
  6437. left: this.paddingLeft || 0,
  6438. top: this.paddingTop || 0,
  6439. right: this.paddingRight || 0,
  6440. bottom: this.paddingBottom || 0
  6441. }
  6442. },
  6443. getTicks: function() {
  6444. return this._ticks
  6445. },
  6446. mergeTicksOptions: function() {
  6447. var t = this.options.ticks;
  6448. for (var e in !1 === t.minor && (t.minor = {
  6449. display: !1
  6450. }), !1 === t.major && (t.major = {
  6451. display: !1
  6452. }), t) "major" !== e && "minor" !== e && (void 0 === t.minor[e] && (t.minor[e] = t[e]), void 0 === t.major[e] && (t.major[e] = t[e]))
  6453. },
  6454. beforeUpdate: function() {
  6455. o.callback(this.options.beforeUpdate, [this])
  6456. },
  6457. update: function(t, e, n) {
  6458. var r, i, a, s, l, u, c = this;
  6459. for (c.beforeUpdate(), c.maxWidth = t, c.maxHeight = e, c.margins = o.extend({
  6460. left: 0,
  6461. right: 0,
  6462. top: 0,
  6463. bottom: 0
  6464. }, n), c.longestTextCache = c.longestTextCache || {}, c.beforeSetDimensions(), c.setDimensions(), c.afterSetDimensions(), c.beforeDataLimits(), c.determineDataLimits(), c.afterDataLimits(), c.beforeBuildTicks(), l = c.buildTicks() || [], c.afterBuildTicks(), c.beforeTickToLabelConversion(), a = c.convertTicksToLabels(l) || c.ticks, c.afterTickToLabelConversion(), c.ticks = a, r = 0, i = a.length; r < i; ++r) s = a[r], (u = l[r]) ? u.label = s : l.push(u = {
  6465. label: s,
  6466. major: !1
  6467. });
  6468. return c._ticks = l, c.beforeCalculateTickRotation(), c.calculateTickRotation(), c.afterCalculateTickRotation(), c.beforeFit(), c.fit(), c.afterFit(), c.afterUpdate(), c.minSize
  6469. },
  6470. afterUpdate: function() {
  6471. o.callback(this.options.afterUpdate, [this])
  6472. },
  6473. beforeSetDimensions: function() {
  6474. o.callback(this.options.beforeSetDimensions, [this])
  6475. },
  6476. setDimensions: function() {
  6477. var t = this;
  6478. t.isHorizontal() ? (t.width = t.maxWidth, t.left = 0, t.right = t.width) : (t.height = t.maxHeight, t.top = 0, t.bottom = t.height), t.paddingLeft = 0, t.paddingTop = 0, t.paddingRight = 0, t.paddingBottom = 0
  6479. },
  6480. afterSetDimensions: function() {
  6481. o.callback(this.options.afterSetDimensions, [this])
  6482. },
  6483. beforeDataLimits: function() {
  6484. o.callback(this.options.beforeDataLimits, [this])
  6485. },
  6486. determineDataLimits: o.noop,
  6487. afterDataLimits: function() {
  6488. o.callback(this.options.afterDataLimits, [this])
  6489. },
  6490. beforeBuildTicks: function() {
  6491. o.callback(this.options.beforeBuildTicks, [this])
  6492. },
  6493. buildTicks: o.noop,
  6494. afterBuildTicks: function() {
  6495. o.callback(this.options.afterBuildTicks, [this])
  6496. },
  6497. beforeTickToLabelConversion: function() {
  6498. o.callback(this.options.beforeTickToLabelConversion, [this])
  6499. },
  6500. convertTicksToLabels: function() {
  6501. var t = this.options.ticks;
  6502. this.ticks = this.ticks.map(t.userCallback || t.callback, this)
  6503. },
  6504. afterTickToLabelConversion: function() {
  6505. o.callback(this.options.afterTickToLabelConversion, [this])
  6506. },
  6507. beforeCalculateTickRotation: function() {
  6508. o.callback(this.options.beforeCalculateTickRotation, [this])
  6509. },
  6510. calculateTickRotation: function() {
  6511. var t = this,
  6512. e = t.ctx,
  6513. n = t.options.ticks,
  6514. r = s(t._ticks),
  6515. i = c(n);
  6516. e.font = i.font;
  6517. var a = n.minRotation || 0;
  6518. if (r.length && t.options.display && t.isHorizontal())
  6519. for (var l, u = o.longestText(e, i.font, r, t.longestTextCache), d = u, f = t.getPixelForTick(1) - t.getPixelForTick(0) - 6; d > f && a < n.maxRotation;) {
  6520. var h = o.toRadians(a);
  6521. if (l = Math.cos(h), Math.sin(h) * u > t.maxHeight) {
  6522. a--;
  6523. break
  6524. }
  6525. a++, d = l * u
  6526. }
  6527. t.labelRotation = a
  6528. },
  6529. afterCalculateTickRotation: function() {
  6530. o.callback(this.options.afterCalculateTickRotation, [this])
  6531. },
  6532. beforeFit: function() {
  6533. o.callback(this.options.beforeFit, [this])
  6534. },
  6535. fit: function() {
  6536. var t = this,
  6537. e = t.minSize = {
  6538. width: 0,
  6539. height: 0
  6540. },
  6541. n = s(t._ticks),
  6542. r = t.options,
  6543. i = r.ticks,
  6544. a = r.scaleLabel,
  6545. l = r.gridLines,
  6546. f = r.display,
  6547. h = t.isHorizontal(),
  6548. p = c(i),
  6549. g = r.gridLines.tickMarkLength;
  6550. if (e.width = h ? t.isFullWidth() ? t.maxWidth - t.margins.left - t.margins.right : t.maxWidth : f && l.drawTicks ? g : 0, e.height = h ? f && l.drawTicks ? g : 0 : t.maxHeight, a.display && f) {
  6551. var v = d(a) + o.options.toPadding(a.padding).height;
  6552. h ? e.height += v : e.width += v
  6553. }
  6554. if (i.display && f) {
  6555. var m = o.longestText(t.ctx, p.font, n, t.longestTextCache),
  6556. y = o.numberOfLabelLines(n),
  6557. b = .5 * p.size,
  6558. x = t.options.ticks.padding;
  6559. if (h) {
  6560. t.longestLabelWidth = m;
  6561. var w = o.toRadians(t.labelRotation),
  6562. S = Math.cos(w),
  6563. k = Math.sin(w) * m + p.size * y + b * (y - 1) + b;
  6564. e.height = Math.min(t.maxHeight, e.height + k + x), t.ctx.font = p.font;
  6565. var C = u(t.ctx, n[0], p.font),
  6566. M = u(t.ctx, n[n.length - 1], p.font);
  6567. 0 !== t.labelRotation ? (t.paddingLeft = "bottom" === r.position ? S * C + 3 : S * b + 3, t.paddingRight = "bottom" === r.position ? S * b + 3 : S * M + 3) : (t.paddingLeft = C / 2 + 3, t.paddingRight = M / 2 + 3)
  6568. } else i.mirror ? m = 0 : m += x + b, e.width = Math.min(t.maxWidth, e.width + m), t.paddingTop = p.size / 2, t.paddingBottom = p.size / 2
  6569. }
  6570. t.handleMargins(), t.width = e.width, t.height = e.height
  6571. },
  6572. handleMargins: function() {
  6573. var t = this;
  6574. t.margins && (t.paddingLeft = Math.max(t.paddingLeft - t.margins.left, 0), t.paddingTop = Math.max(t.paddingTop - t.margins.top, 0), t.paddingRight = Math.max(t.paddingRight - t.margins.right, 0), t.paddingBottom = Math.max(t.paddingBottom - t.margins.bottom, 0))
  6575. },
  6576. afterFit: function() {
  6577. o.callback(this.options.afterFit, [this])
  6578. },
  6579. isHorizontal: function() {
  6580. return "top" === this.options.position || "bottom" === this.options.position
  6581. },
  6582. isFullWidth: function() {
  6583. return this.options.fullWidth
  6584. },
  6585. getRightValue: function(t) {
  6586. if (o.isNullOrUndef(t)) return NaN;
  6587. if ("number" == typeof t && !isFinite(t)) return NaN;
  6588. if (t)
  6589. if (this.isHorizontal()) {
  6590. if (void 0 !== t.x) return this.getRightValue(t.x)
  6591. } else if (void 0 !== t.y) return this.getRightValue(t.y);
  6592. return t
  6593. },
  6594. getLabelForIndex: o.noop,
  6595. getPixelForValue: o.noop,
  6596. getValueForPixel: o.noop,
  6597. getPixelForTick: function(t) {
  6598. var e = this,
  6599. n = e.options.offset;
  6600. if (e.isHorizontal()) {
  6601. var r = (e.width - (e.paddingLeft + e.paddingRight)) / Math.max(e._ticks.length - (n ? 0 : 1), 1),
  6602. i = r * t + e.paddingLeft;
  6603. n && (i += r / 2);
  6604. var o = e.left + Math.round(i);
  6605. return o += e.isFullWidth() ? e.margins.left : 0
  6606. }
  6607. var a = e.height - (e.paddingTop + e.paddingBottom);
  6608. return e.top + t * (a / (e._ticks.length - 1))
  6609. },
  6610. getPixelForDecimal: function(t) {
  6611. var e = this;
  6612. if (e.isHorizontal()) {
  6613. var n = (e.width - (e.paddingLeft + e.paddingRight)) * t + e.paddingLeft,
  6614. r = e.left + Math.round(n);
  6615. return r += e.isFullWidth() ? e.margins.left : 0
  6616. }
  6617. return e.top + t * e.height
  6618. },
  6619. getBasePixel: function() {
  6620. return this.getPixelForValue(this.getBaseValue())
  6621. },
  6622. getBaseValue: function() {
  6623. var t = this.min,
  6624. e = this.max;
  6625. return this.beginAtZero ? 0 : t < 0 && e < 0 ? e : t > 0 && e > 0 ? t : 0
  6626. },
  6627. _autoSkip: function(t) {
  6628. var e, n, r, i, a = this,
  6629. s = a.isHorizontal(),
  6630. l = a.options.ticks.minor,
  6631. u = t.length,
  6632. c = o.toRadians(a.labelRotation),
  6633. d = Math.cos(c),
  6634. f = a.longestLabelWidth * d,
  6635. h = [];
  6636. for (l.maxTicksLimit && (i = l.maxTicksLimit), s && (e = !1, (f + l.autoSkipPadding) * u > a.width - (a.paddingLeft + a.paddingRight) && (e = 1 + Math.floor((f + l.autoSkipPadding) * u / (a.width - (a.paddingLeft + a.paddingRight)))), i && u > i && (e = Math.max(e, Math.floor(u / i)))), n = 0; n < u; n++) r = t[n], (e > 1 && n % e > 0 || n % e == 0 && n + e >= u) && n !== u - 1 && delete r.label, h.push(r);
  6637. return h
  6638. },
  6639. draw: function(t) {
  6640. var e = this,
  6641. n = e.options;
  6642. if (n.display) {
  6643. var i = e.ctx,
  6644. a = r.global,
  6645. s = n.ticks.minor,
  6646. u = n.ticks.major || s,
  6647. f = n.gridLines,
  6648. h = n.scaleLabel,
  6649. p = 0 !== e.labelRotation,
  6650. g = e.isHorizontal(),
  6651. v = s.autoSkip ? e._autoSkip(e.getTicks()) : e.getTicks(),
  6652. m = o.valueOrDefault(s.fontColor, a.defaultFontColor),
  6653. y = c(s),
  6654. b = o.valueOrDefault(u.fontColor, a.defaultFontColor),
  6655. x = c(u),
  6656. w = f.drawTicks ? f.tickMarkLength : 0,
  6657. S = o.valueOrDefault(h.fontColor, a.defaultFontColor),
  6658. k = c(h),
  6659. C = o.options.toPadding(h.padding),
  6660. M = o.toRadians(e.labelRotation),
  6661. A = [],
  6662. P = e.options.gridLines.lineWidth,
  6663. _ = "right" === n.position ? e.left : e.right - P - w,
  6664. T = "right" === n.position ? e.left + w : e.right,
  6665. I = "bottom" === n.position ? e.top + P : e.bottom - w - P,
  6666. O = "bottom" === n.position ? e.top + P + w : e.bottom + P;
  6667. if (o.each(v, (function(r, i) {
  6668. if (!o.isNullOrUndef(r.label)) {
  6669. var u, c, d, h, m, y, b, x, S, k, C, F, D, E, L = r.label;
  6670. i === e.zeroLineIndex && n.offset === f.offsetGridLines ? (u = f.zeroLineWidth, c = f.zeroLineColor, d = f.zeroLineBorderDash, h = f.zeroLineBorderDashOffset) : (u = o.valueAtIndexOrDefault(f.lineWidth, i), c = o.valueAtIndexOrDefault(f.color, i), d = o.valueOrDefault(f.borderDash, a.borderDash), h = o.valueOrDefault(f.borderDashOffset, a.borderDashOffset));
  6671. var R = "middle",
  6672. N = "middle",
  6673. V = s.padding;
  6674. if (g) {
  6675. var z = w + V;
  6676. "bottom" === n.position ? (N = p ? "middle" : "top", R = p ? "right" : "center", E = e.top + z) : (N = p ? "middle" : "bottom", R = p ? "left" : "center", E = e.bottom - z);
  6677. var B = l(e, i, f.offsetGridLines && v.length > 1);
  6678. B < e.left && (c = "rgba(0,0,0,0)"), B += o.aliasPixel(u), D = e.getPixelForTick(i) + s.labelOffset, m = b = S = C = B, y = I, x = O, k = t.top, F = t.bottom + P
  6679. } else {
  6680. var W, j = "left" === n.position;
  6681. s.mirror ? (R = j ? "left" : "right", W = V) : (R = j ? "right" : "left", W = w + V), D = j ? e.right - W : e.left + W;
  6682. var H = l(e, i, f.offsetGridLines && v.length > 1);
  6683. H < e.top && (c = "rgba(0,0,0,0)"), H += o.aliasPixel(u), E = e.getPixelForTick(i) + s.labelOffset, m = _, b = T, S = t.left, C = t.right + P, y = x = k = F = H
  6684. }
  6685. A.push({
  6686. tx1: m,
  6687. ty1: y,
  6688. tx2: b,
  6689. ty2: x,
  6690. x1: S,
  6691. y1: k,
  6692. x2: C,
  6693. y2: F,
  6694. labelX: D,
  6695. labelY: E,
  6696. glWidth: u,
  6697. glColor: c,
  6698. glBorderDash: d,
  6699. glBorderDashOffset: h,
  6700. rotation: -1 * M,
  6701. label: L,
  6702. major: r.major,
  6703. textBaseline: N,
  6704. textAlign: R
  6705. })
  6706. }
  6707. })), o.each(A, (function(t) {
  6708. if (f.display && (i.save(), i.lineWidth = t.glWidth, i.strokeStyle = t.glColor, i.setLineDash && (i.setLineDash(t.glBorderDash), i.lineDashOffset = t.glBorderDashOffset), i.beginPath(), f.drawTicks && (i.moveTo(t.tx1, t.ty1), i.lineTo(t.tx2, t.ty2)), f.drawOnChartArea && (i.moveTo(t.x1, t.y1), i.lineTo(t.x2, t.y2)), i.stroke(), i.restore()), s.display) {
  6709. i.save(), i.translate(t.labelX, t.labelY), i.rotate(t.rotation), i.font = t.major ? x.font : y.font, i.fillStyle = t.major ? b : m, i.textBaseline = t.textBaseline, i.textAlign = t.textAlign;
  6710. var n = t.label;
  6711. if (o.isArray(n))
  6712. for (var r = n.length, a = 1.5 * y.size, l = e.isHorizontal() ? 0 : -a * (r - 1) / 2, u = 0; u < r; ++u) i.fillText("" + n[u], 0, l), l += a;
  6713. else i.fillText(n, 0, 0);
  6714. i.restore()
  6715. }
  6716. })), h.display) {
  6717. var F, D, E = 0,
  6718. L = d(h) / 2;
  6719. if (g) F = e.left + (e.right - e.left) / 2, D = "bottom" === n.position ? e.bottom - L - C.bottom : e.top + L + C.top;
  6720. else {
  6721. var R = "left" === n.position;
  6722. F = R ? e.left + L + C.top : e.right - L - C.top, D = e.top + (e.bottom - e.top) / 2, E = R ? -.5 * Math.PI : .5 * Math.PI
  6723. }
  6724. i.save(), i.translate(F, D), i.rotate(E), i.textAlign = "center", i.textBaseline = "middle", i.fillStyle = S, i.font = k.font, i.fillText(h.labelString, 0, 0), i.restore()
  6725. }
  6726. if (f.drawBorder) {
  6727. i.lineWidth = o.valueAtIndexOrDefault(f.lineWidth, 0), i.strokeStyle = o.valueAtIndexOrDefault(f.color, 0);
  6728. var N = e.left,
  6729. V = e.right + P,
  6730. z = e.top,
  6731. B = e.bottom + P,
  6732. W = o.aliasPixel(i.lineWidth);
  6733. g ? (z = B = "top" === n.position ? e.bottom : e.top, z += W, B += W) : (N = V = "left" === n.position ? e.right : e.left, N += W, V += W), i.beginPath(), i.moveTo(N, z), i.lineTo(V, B), i.stroke()
  6734. }
  6735. }
  6736. }
  6737. })
  6738. }, {
  6739. 26: 26,
  6740. 27: 27,
  6741. 35: 35,
  6742. 46: 46
  6743. }],
  6744. 34: [function(t, e, n) {
  6745. var r = t(26),
  6746. i = t(46),
  6747. o = t(31);
  6748. e.exports = {
  6749. constructors: {},
  6750. defaults: {},
  6751. registerScaleType: function(t, e, n) {
  6752. this.constructors[t] = e, this.defaults[t] = i.clone(n)
  6753. },
  6754. getScaleConstructor: function(t) {
  6755. return this.constructors.hasOwnProperty(t) ? this.constructors[t] : void 0
  6756. },
  6757. getScaleDefaults: function(t) {
  6758. return this.defaults.hasOwnProperty(t) ? i.merge({}, [r.scale, this.defaults[t]]) : {}
  6759. },
  6760. updateScaleDefaults: function(t, e) {
  6761. this.defaults.hasOwnProperty(t) && (this.defaults[t] = i.extend(this.defaults[t], e))
  6762. },
  6763. addScalesToLayout: function(t) {
  6764. i.each(t.scales, (function(e) {
  6765. e.fullWidth = e.options.fullWidth, e.position = e.options.position, e.weight = e.options.weight, o.addBox(t, e)
  6766. }))
  6767. }
  6768. }
  6769. }, {
  6770. 26: 26,
  6771. 31: 31,
  6772. 46: 46
  6773. }],
  6774. 35: [function(t, e, n) {
  6775. var r = t(46);
  6776. e.exports = {
  6777. formatters: {
  6778. values: function(t) {
  6779. return r.isArray(t) ? t : "" + t
  6780. },
  6781. linear: function(t, e, n) {
  6782. var i = n.length > 3 ? n[2] - n[1] : n[1] - n[0];
  6783. Math.abs(i) > 1 && t !== Math.floor(t) && (i = t - Math.floor(t));
  6784. var o = r.log10(Math.abs(i)),
  6785. a = "";
  6786. if (0 !== t)
  6787. if (Math.max(Math.abs(n[0]), Math.abs(n[n.length - 1])) < 1e-4) {
  6788. var s = r.log10(Math.abs(t));
  6789. a = t.toExponential(Math.floor(s) - Math.floor(o))
  6790. } else {
  6791. var l = -1 * Math.floor(o);
  6792. l = Math.max(Math.min(l, 20), 0), a = t.toFixed(l)
  6793. }
  6794. else a = "0";
  6795. return a
  6796. },
  6797. logarithmic: function(t, e, n) {
  6798. var i = t / Math.pow(10, Math.floor(r.log10(t)));
  6799. return 0 === t ? "0" : 1 === i || 2 === i || 5 === i || 0 === e || e === n.length - 1 ? t.toExponential() : ""
  6800. }
  6801. }
  6802. }
  6803. }, {
  6804. 46: 46
  6805. }],
  6806. 36: [function(t, e, n) {
  6807. var r = t(26),
  6808. i = t(27),
  6809. o = t(46);
  6810. r._set("global", {
  6811. tooltips: {
  6812. enabled: !0,
  6813. custom: null,
  6814. mode: "nearest",
  6815. position: "average",
  6816. intersect: !0,
  6817. backgroundColor: "rgba(0,0,0,0.8)",
  6818. titleFontStyle: "bold",
  6819. titleSpacing: 2,
  6820. titleMarginBottom: 6,
  6821. titleFontColor: "#fff",
  6822. titleAlign: "left",
  6823. bodySpacing: 2,
  6824. bodyFontColor: "#fff",
  6825. bodyAlign: "left",
  6826. footerFontStyle: "bold",
  6827. footerSpacing: 2,
  6828. footerMarginTop: 6,
  6829. footerFontColor: "#fff",
  6830. footerAlign: "left",
  6831. yPadding: 6,
  6832. xPadding: 6,
  6833. caretPadding: 2,
  6834. caretSize: 5,
  6835. cornerRadius: 6,
  6836. multiKeyBackground: "#fff",
  6837. displayColors: !0,
  6838. borderColor: "rgba(0,0,0,0)",
  6839. borderWidth: 0,
  6840. callbacks: {
  6841. beforeTitle: o.noop,
  6842. title: function(t, e) {
  6843. var n = "",
  6844. r = e.labels,
  6845. i = r ? r.length : 0;
  6846. if (t.length > 0) {
  6847. var o = t[0];
  6848. o.xLabel ? n = o.xLabel : i > 0 && o.index < i && (n = r[o.index])
  6849. }
  6850. return n
  6851. },
  6852. afterTitle: o.noop,
  6853. beforeBody: o.noop,
  6854. beforeLabel: o.noop,
  6855. label: function(t, e) {
  6856. var n = e.datasets[t.datasetIndex].label || "";
  6857. return n && (n += ": "), n += t.yLabel, n
  6858. },
  6859. labelColor: function(t, e) {
  6860. var n = e.getDatasetMeta(t.datasetIndex).data[t.index]._view;
  6861. return {
  6862. borderColor: n.borderColor,
  6863. backgroundColor: n.backgroundColor
  6864. }
  6865. },
  6866. labelTextColor: function() {
  6867. return this._options.bodyFontColor
  6868. },
  6869. afterLabel: o.noop,
  6870. afterBody: o.noop,
  6871. beforeFooter: o.noop,
  6872. footer: o.noop,
  6873. afterFooter: o.noop
  6874. }
  6875. }
  6876. });
  6877. var a = {
  6878. average: function(t) {
  6879. if (!t.length) return !1;
  6880. var e, n, r = 0,
  6881. i = 0,
  6882. o = 0;
  6883. for (e = 0, n = t.length; e < n; ++e) {
  6884. var a = t[e];
  6885. if (a && a.hasValue()) {
  6886. var s = a.tooltipPosition();
  6887. r += s.x, i += s.y, ++o
  6888. }
  6889. }
  6890. return {
  6891. x: Math.round(r / o),
  6892. y: Math.round(i / o)
  6893. }
  6894. },
  6895. nearest: function(t, e) {
  6896. var n, r, i, a = e.x,
  6897. s = e.y,
  6898. l = Number.POSITIVE_INFINITY;
  6899. for (n = 0, r = t.length; n < r; ++n) {
  6900. var u = t[n];
  6901. if (u && u.hasValue()) {
  6902. var c = u.getCenterPoint(),
  6903. d = o.distanceBetweenPoints(e, c);
  6904. d < l && (l = d, i = u)
  6905. }
  6906. }
  6907. if (i) {
  6908. var f = i.tooltipPosition();
  6909. a = f.x, s = f.y
  6910. }
  6911. return {
  6912. x: a,
  6913. y: s
  6914. }
  6915. }
  6916. };
  6917. function s(t, e) {
  6918. var n = o.color(t);
  6919. return n.alpha(e * n.alpha()).rgbaString()
  6920. }
  6921. function l(t, e) {
  6922. return e && (o.isArray(e) ? Array.prototype.push.apply(t, e) : t.push(e)), t
  6923. }
  6924. function u(t) {
  6925. return ("string" == typeof t || t instanceof String) && t.indexOf("\n") > -1 ? t.split("\n") : t
  6926. }
  6927. function c(t) {
  6928. var e = r.global,
  6929. n = o.valueOrDefault;
  6930. return {
  6931. xPadding: t.xPadding,
  6932. yPadding: t.yPadding,
  6933. xAlign: t.xAlign,
  6934. yAlign: t.yAlign,
  6935. bodyFontColor: t.bodyFontColor,
  6936. _bodyFontFamily: n(t.bodyFontFamily, e.defaultFontFamily),
  6937. _bodyFontStyle: n(t.bodyFontStyle, e.defaultFontStyle),
  6938. _bodyAlign: t.bodyAlign,
  6939. bodyFontSize: n(t.bodyFontSize, e.defaultFontSize),
  6940. bodySpacing: t.bodySpacing,
  6941. titleFontColor: t.titleFontColor,
  6942. _titleFontFamily: n(t.titleFontFamily, e.defaultFontFamily),
  6943. _titleFontStyle: n(t.titleFontStyle, e.defaultFontStyle),
  6944. titleFontSize: n(t.titleFontSize, e.defaultFontSize),
  6945. _titleAlign: t.titleAlign,
  6946. titleSpacing: t.titleSpacing,
  6947. titleMarginBottom: t.titleMarginBottom,
  6948. footerFontColor: t.footerFontColor,
  6949. _footerFontFamily: n(t.footerFontFamily, e.defaultFontFamily),
  6950. _footerFontStyle: n(t.footerFontStyle, e.defaultFontStyle),
  6951. footerFontSize: n(t.footerFontSize, e.defaultFontSize),
  6952. _footerAlign: t.footerAlign,
  6953. footerSpacing: t.footerSpacing,
  6954. footerMarginTop: t.footerMarginTop,
  6955. caretSize: t.caretSize,
  6956. cornerRadius: t.cornerRadius,
  6957. backgroundColor: t.backgroundColor,
  6958. opacity: 0,
  6959. legendColorBackground: t.multiKeyBackground,
  6960. displayColors: t.displayColors,
  6961. borderColor: t.borderColor,
  6962. borderWidth: t.borderWidth
  6963. }
  6964. }
  6965. function d(t) {
  6966. return l([], u(t))
  6967. }(e.exports = i.extend({
  6968. initialize: function() {
  6969. this._model = c(this._options), this._lastActive = []
  6970. },
  6971. getTitle: function() {
  6972. var t = this,
  6973. e = t._options,
  6974. n = e.callbacks,
  6975. r = n.beforeTitle.apply(t, arguments),
  6976. i = n.title.apply(t, arguments),
  6977. o = n.afterTitle.apply(t, arguments),
  6978. a = [];
  6979. return a = l(a, u(r)), a = l(a, u(i)), a = l(a, u(o))
  6980. },
  6981. getBeforeBody: function() {
  6982. return d(this._options.callbacks.beforeBody.apply(this, arguments))
  6983. },
  6984. getBody: function(t, e) {
  6985. var n = this,
  6986. r = n._options.callbacks,
  6987. i = [];
  6988. return o.each(t, (function(t) {
  6989. var o = {
  6990. before: [],
  6991. lines: [],
  6992. after: []
  6993. };
  6994. l(o.before, u(r.beforeLabel.call(n, t, e))), l(o.lines, r.label.call(n, t, e)), l(o.after, u(r.afterLabel.call(n, t, e))), i.push(o)
  6995. })), i
  6996. },
  6997. getAfterBody: function() {
  6998. return d(this._options.callbacks.afterBody.apply(this, arguments))
  6999. },
  7000. getFooter: function() {
  7001. var t = this,
  7002. e = t._options.callbacks,
  7003. n = e.beforeFooter.apply(t, arguments),
  7004. r = e.footer.apply(t, arguments),
  7005. i = e.afterFooter.apply(t, arguments),
  7006. o = [];
  7007. return o = l(o, u(n)), o = l(o, u(r)), o = l(o, u(i))
  7008. },
  7009. update: function(t) {
  7010. var e, n, r, i, s, l, u, d = this,
  7011. f = d._options,
  7012. h = d._model,
  7013. p = d._model = c(f),
  7014. g = d._active,
  7015. v = d._data,
  7016. m = {
  7017. xAlign: h.xAlign,
  7018. yAlign: h.yAlign
  7019. },
  7020. y = {
  7021. x: h.x,
  7022. y: h.y
  7023. },
  7024. b = {
  7025. width: h.width,
  7026. height: h.height
  7027. },
  7028. x = {
  7029. x: h.caretX,
  7030. y: h.caretY
  7031. };
  7032. if (g.length) {
  7033. p.opacity = 1;
  7034. var w = [],
  7035. S = [];
  7036. x = a[f.position].call(d, g, d._eventPosition);
  7037. var k = [];
  7038. for (e = 0, n = g.length; e < n; ++e) k.push((r = g[e], i = void 0, s = void 0, l = void 0, u = void 0, i = r._xScale, s = r._yScale || r._scale, l = r._index, u = r._datasetIndex, {
  7039. xLabel: i ? i.getLabelForIndex(l, u) : "",
  7040. yLabel: s ? s.getLabelForIndex(l, u) : "",
  7041. index: l,
  7042. datasetIndex: u,
  7043. x: r._model.x,
  7044. y: r._model.y
  7045. }));
  7046. f.filter && (k = k.filter((function(t) {
  7047. return f.filter(t, v)
  7048. }))), f.itemSort && (k = k.sort((function(t, e) {
  7049. return f.itemSort(t, e, v)
  7050. }))), o.each(k, (function(t) {
  7051. w.push(f.callbacks.labelColor.call(d, t, d._chart)), S.push(f.callbacks.labelTextColor.call(d, t, d._chart))
  7052. })), p.title = d.getTitle(k, v), p.beforeBody = d.getBeforeBody(k, v), p.body = d.getBody(k, v), p.afterBody = d.getAfterBody(k, v), p.footer = d.getFooter(k, v), p.x = Math.round(x.x), p.y = Math.round(x.y), p.caretPadding = f.caretPadding, p.labelColors = w, p.labelTextColors = S, p.dataPoints = k, b = function(t, e) {
  7053. var n = t._chart.ctx,
  7054. r = 2 * e.yPadding,
  7055. i = 0,
  7056. a = e.body,
  7057. s = a.reduce((function(t, e) {
  7058. return t + e.before.length + e.lines.length + e.after.length
  7059. }), 0);
  7060. s += e.beforeBody.length + e.afterBody.length;
  7061. var l = e.title.length,
  7062. u = e.footer.length,
  7063. c = e.titleFontSize,
  7064. d = e.bodyFontSize,
  7065. f = e.footerFontSize;
  7066. r += l * c, r += l ? (l - 1) * e.titleSpacing : 0, r += l ? e.titleMarginBottom : 0, r += s * d, r += s ? (s - 1) * e.bodySpacing : 0, r += u ? e.footerMarginTop : 0, r += u * f, r += u ? (u - 1) * e.footerSpacing : 0;
  7067. var h = 0,
  7068. p = function(t) {
  7069. i = Math.max(i, n.measureText(t).width + h)
  7070. };
  7071. return n.font = o.fontString(c, e._titleFontStyle, e._titleFontFamily), o.each(e.title, p), n.font = o.fontString(d, e._bodyFontStyle, e._bodyFontFamily), o.each(e.beforeBody.concat(e.afterBody), p), h = e.displayColors ? d + 2 : 0, o.each(a, (function(t) {
  7072. o.each(t.before, p), o.each(t.lines, p), o.each(t.after, p)
  7073. })), h = 0, n.font = o.fontString(f, e._footerFontStyle, e._footerFontFamily), o.each(e.footer, p), {
  7074. width: i += 2 * e.xPadding,
  7075. height: r
  7076. }
  7077. }(this, p), y = function(t, e, n, r) {
  7078. var i = t.x,
  7079. o = t.y,
  7080. a = t.caretSize,
  7081. s = t.caretPadding,
  7082. l = t.cornerRadius,
  7083. u = n.xAlign,
  7084. c = n.yAlign,
  7085. d = a + s,
  7086. f = l + s;
  7087. return "right" === u ? i -= e.width : "center" === u && ((i -= e.width / 2) + e.width > r.width && (i = r.width - e.width), i < 0 && (i = 0)), "top" === c ? o += d : o -= "bottom" === c ? e.height + d : e.height / 2, "center" === c ? "left" === u ? i += d : "right" === u && (i -= d) : "left" === u ? i -= f : "right" === u && (i += f), {
  7088. x: i,
  7089. y: o
  7090. }
  7091. }(p, b, m = function(t, e) {
  7092. var n, r, i, o, a, s = t._model,
  7093. l = t._chart,
  7094. u = t._chart.chartArea,
  7095. c = "center",
  7096. d = "center";
  7097. s.y < e.height ? d = "top" : s.y > l.height - e.height && (d = "bottom");
  7098. var f = (u.left + u.right) / 2,
  7099. h = (u.top + u.bottom) / 2;
  7100. "center" === d ? (n = function(t) {
  7101. return t <= f
  7102. }, r = function(t) {
  7103. return t > f
  7104. }) : (n = function(t) {
  7105. return t <= e.width / 2
  7106. }, r = function(t) {
  7107. return t >= l.width - e.width / 2
  7108. }), i = function(t) {
  7109. return t + e.width + s.caretSize + s.caretPadding > l.width
  7110. }, o = function(t) {
  7111. return t - e.width - s.caretSize - s.caretPadding < 0
  7112. }, a = function(t) {
  7113. return t <= h ? "top" : "bottom"
  7114. }, n(s.x) ? (c = "left", i(s.x) && (c = "center", d = a(s.y))) : r(s.x) && (c = "right", o(s.x) && (c = "center", d = a(s.y)));
  7115. var p = t._options;
  7116. return {
  7117. xAlign: p.xAlign ? p.xAlign : c,
  7118. yAlign: p.yAlign ? p.yAlign : d
  7119. }
  7120. }(this, b), d._chart)
  7121. } else p.opacity = 0;
  7122. return p.xAlign = m.xAlign, p.yAlign = m.yAlign, p.x = y.x, p.y = y.y, p.width = b.width, p.height = b.height, p.caretX = x.x, p.caretY = x.y, d._model = p, t && f.custom && f.custom.call(d, p), d
  7123. },
  7124. drawCaret: function(t, e) {
  7125. var n = this._chart.ctx,
  7126. r = this._view,
  7127. i = this.getCaretPosition(t, e, r);
  7128. n.lineTo(i.x1, i.y1), n.lineTo(i.x2, i.y2), n.lineTo(i.x3, i.y3)
  7129. },
  7130. getCaretPosition: function(t, e, n) {
  7131. var r, i, o, a, s, l, u = n.caretSize,
  7132. c = n.cornerRadius,
  7133. d = n.xAlign,
  7134. f = n.yAlign,
  7135. h = t.x,
  7136. p = t.y,
  7137. g = e.width,
  7138. v = e.height;
  7139. if ("center" === f) s = p + v / 2, "left" === d ? (i = (r = h) - u, o = r, a = s + u, l = s - u) : (i = (r = h + g) + u, o = r, a = s - u, l = s + u);
  7140. else if ("left" === d ? (r = (i = h + c + u) - u, o = i + u) : "right" === d ? (r = (i = h + g - c - u) - u, o = i + u) : (r = (i = n.caretX) - u, o = i + u), "top" === f) s = (a = p) - u, l = a;
  7141. else {
  7142. s = (a = p + v) + u, l = a;
  7143. var m = o;
  7144. o = r, r = m
  7145. }
  7146. return {
  7147. x1: r,
  7148. x2: i,
  7149. x3: o,
  7150. y1: a,
  7151. y2: s,
  7152. y3: l
  7153. }
  7154. },
  7155. drawTitle: function(t, e, n, r) {
  7156. var i = e.title;
  7157. if (i.length) {
  7158. n.textAlign = e._titleAlign, n.textBaseline = "top";
  7159. var a, l, u = e.titleFontSize,
  7160. c = e.titleSpacing;
  7161. for (n.fillStyle = s(e.titleFontColor, r), n.font = o.fontString(u, e._titleFontStyle, e._titleFontFamily), a = 0, l = i.length; a < l; ++a) n.fillText(i[a], t.x, t.y), t.y += u + c, a + 1 === i.length && (t.y += e.titleMarginBottom - c)
  7162. }
  7163. },
  7164. drawBody: function(t, e, n, r) {
  7165. var i = e.bodyFontSize,
  7166. a = e.bodySpacing,
  7167. l = e.body;
  7168. n.textAlign = e._bodyAlign, n.textBaseline = "top", n.font = o.fontString(i, e._bodyFontStyle, e._bodyFontFamily);
  7169. var u = 0,
  7170. c = function(e) {
  7171. n.fillText(e, t.x + u, t.y), t.y += i + a
  7172. };
  7173. n.fillStyle = s(e.bodyFontColor, r), o.each(e.beforeBody, c);
  7174. var d = e.displayColors;
  7175. u = d ? i + 2 : 0, o.each(l, (function(a, l) {
  7176. var u = s(e.labelTextColors[l], r);
  7177. n.fillStyle = u, o.each(a.before, c), o.each(a.lines, (function(o) {
  7178. d && (n.fillStyle = s(e.legendColorBackground, r), n.fillRect(t.x, t.y, i, i), n.lineWidth = 1, n.strokeStyle = s(e.labelColors[l].borderColor, r), n.strokeRect(t.x, t.y, i, i), n.fillStyle = s(e.labelColors[l].backgroundColor, r), n.fillRect(t.x + 1, t.y + 1, i - 2, i - 2), n.fillStyle = u), c(o)
  7179. })), o.each(a.after, c)
  7180. })), u = 0, o.each(e.afterBody, c), t.y -= a
  7181. },
  7182. drawFooter: function(t, e, n, r) {
  7183. var i = e.footer;
  7184. i.length && (t.y += e.footerMarginTop, n.textAlign = e._footerAlign, n.textBaseline = "top", n.fillStyle = s(e.footerFontColor, r), n.font = o.fontString(e.footerFontSize, e._footerFontStyle, e._footerFontFamily), o.each(i, (function(r) {
  7185. n.fillText(r, t.x, t.y), t.y += e.footerFontSize + e.footerSpacing
  7186. })))
  7187. },
  7188. drawBackground: function(t, e, n, r, i) {
  7189. n.fillStyle = s(e.backgroundColor, i), n.strokeStyle = s(e.borderColor, i), n.lineWidth = e.borderWidth;
  7190. var o = e.xAlign,
  7191. a = e.yAlign,
  7192. l = t.x,
  7193. u = t.y,
  7194. c = r.width,
  7195. d = r.height,
  7196. f = e.cornerRadius;
  7197. n.beginPath(), n.moveTo(l + f, u), "top" === a && this.drawCaret(t, r), n.lineTo(l + c - f, u), n.quadraticCurveTo(l + c, u, l + c, u + f), "center" === a && "right" === o && this.drawCaret(t, r), n.lineTo(l + c, u + d - f), n.quadraticCurveTo(l + c, u + d, l + c - f, u + d), "bottom" === a && this.drawCaret(t, r), n.lineTo(l + f, u + d), n.quadraticCurveTo(l, u + d, l, u + d - f), "center" === a && "left" === o && this.drawCaret(t, r), n.lineTo(l, u + f), n.quadraticCurveTo(l, u, l + f, u), n.closePath(), n.fill(), e.borderWidth > 0 && n.stroke()
  7198. },
  7199. draw: function() {
  7200. var t = this._chart.ctx,
  7201. e = this._view;
  7202. if (0 !== e.opacity) {
  7203. var n = {
  7204. width: e.width,
  7205. height: e.height
  7206. },
  7207. r = {
  7208. x: e.x,
  7209. y: e.y
  7210. },
  7211. i = Math.abs(e.opacity < .001) ? 0 : e.opacity,
  7212. o = e.title.length || e.beforeBody.length || e.body.length || e.afterBody.length || e.footer.length;
  7213. this._options.enabled && o && (this.drawBackground(r, e, t, n, i), r.x += e.xPadding, r.y += e.yPadding, this.drawTitle(r, e, t, i), this.drawBody(r, e, t, i), this.drawFooter(r, e, t, i))
  7214. }
  7215. },
  7216. handleEvent: function(t) {
  7217. var e, n = this,
  7218. r = n._options;
  7219. return n._lastActive = n._lastActive || [], "mouseout" === t.type ? n._active = [] : n._active = n._chart.getElementsAtEventForMode(t, r.mode, r), (e = !o.arrayEquals(n._active, n._lastActive)) && (n._lastActive = n._active, (r.enabled || r.custom) && (n._eventPosition = {
  7220. x: t.x,
  7221. y: t.y
  7222. }, n.update(!0), n.pivot())), e
  7223. }
  7224. })).positioners = a
  7225. }, {
  7226. 26: 26,
  7227. 27: 27,
  7228. 46: 46
  7229. }],
  7230. 37: [function(t, e, n) {
  7231. var r = t(26),
  7232. i = t(27),
  7233. o = t(46);
  7234. r._set("global", {
  7235. elements: {
  7236. arc: {
  7237. backgroundColor: r.global.defaultColor,
  7238. borderColor: "#fff",
  7239. borderWidth: 2
  7240. }
  7241. }
  7242. }), e.exports = i.extend({
  7243. inLabelRange: function(t) {
  7244. var e = this._view;
  7245. return !!e && Math.pow(t - e.x, 2) < Math.pow(e.radius + e.hoverRadius, 2)
  7246. },
  7247. inRange: function(t, e) {
  7248. var n = this._view;
  7249. if (n) {
  7250. for (var r = o.getAngleFromPoint(n, {
  7251. x: t,
  7252. y: e
  7253. }), i = r.angle, a = r.distance, s = n.startAngle, l = n.endAngle; l < s;) l += 2 * Math.PI;
  7254. for (; i > l;) i -= 2 * Math.PI;
  7255. for (; i < s;) i += 2 * Math.PI;
  7256. var u = i >= s && i <= l,
  7257. c = a >= n.innerRadius && a <= n.outerRadius;
  7258. return u && c
  7259. }
  7260. return !1
  7261. },
  7262. getCenterPoint: function() {
  7263. var t = this._view,
  7264. e = (t.startAngle + t.endAngle) / 2,
  7265. n = (t.innerRadius + t.outerRadius) / 2;
  7266. return {
  7267. x: t.x + Math.cos(e) * n,
  7268. y: t.y + Math.sin(e) * n
  7269. }
  7270. },
  7271. getArea: function() {
  7272. var t = this._view;
  7273. return Math.PI * ((t.endAngle - t.startAngle) / (2 * Math.PI)) * (Math.pow(t.outerRadius, 2) - Math.pow(t.innerRadius, 2))
  7274. },
  7275. tooltipPosition: function() {
  7276. var t = this._view,
  7277. e = t.startAngle + (t.endAngle - t.startAngle) / 2,
  7278. n = (t.outerRadius - t.innerRadius) / 2 + t.innerRadius;
  7279. return {
  7280. x: t.x + Math.cos(e) * n,
  7281. y: t.y + Math.sin(e) * n
  7282. }
  7283. },
  7284. draw: function() {
  7285. var t = this._chart.ctx,
  7286. e = this._view,
  7287. n = e.startAngle,
  7288. r = e.endAngle;
  7289. t.beginPath(), t.arc(e.x, e.y, e.outerRadius, n, r), t.arc(e.x, e.y, e.innerRadius, r, n, !0), t.closePath(), t.strokeStyle = e.borderColor, t.lineWidth = e.borderWidth, t.fillStyle = e.backgroundColor, t.fill(), t.lineJoin = "bevel", e.borderWidth && t.stroke()
  7290. }
  7291. })
  7292. }, {
  7293. 26: 26,
  7294. 27: 27,
  7295. 46: 46
  7296. }],
  7297. 38: [function(t, e, n) {
  7298. var r = t(26),
  7299. i = t(27),
  7300. o = t(46),
  7301. a = r.global;
  7302. r._set("global", {
  7303. elements: {
  7304. line: {
  7305. tension: .4,
  7306. backgroundColor: a.defaultColor,
  7307. borderWidth: 3,
  7308. borderColor: a.defaultColor,
  7309. borderCapStyle: "butt",
  7310. borderDash: [],
  7311. borderDashOffset: 0,
  7312. borderJoinStyle: "miter",
  7313. capBezierPoints: !0,
  7314. fill: !0
  7315. }
  7316. }
  7317. }), e.exports = i.extend({
  7318. draw: function() {
  7319. var t, e, n, r, i = this._view,
  7320. s = this._chart.ctx,
  7321. l = i.spanGaps,
  7322. u = this._children.slice(),
  7323. c = a.elements.line,
  7324. d = -1;
  7325. for (this._loop && u.length && u.push(u[0]), s.save(), s.lineCap = i.borderCapStyle || c.borderCapStyle, s.setLineDash && s.setLineDash(i.borderDash || c.borderDash), s.lineDashOffset = i.borderDashOffset || c.borderDashOffset, s.lineJoin = i.borderJoinStyle || c.borderJoinStyle, s.lineWidth = i.borderWidth || c.borderWidth, s.strokeStyle = i.borderColor || a.defaultColor, s.beginPath(), d = -1, t = 0; t < u.length; ++t) e = u[t], n = o.previousItem(u, t), r = e._view, 0 === t ? r.skip || (s.moveTo(r.x, r.y), d = t) : (n = -1 === d ? n : u[d], r.skip || (d !== t - 1 && !l || -1 === d ? s.moveTo(r.x, r.y) : o.canvas.lineTo(s, n._view, e._view), d = t));
  7326. s.stroke(), s.restore()
  7327. }
  7328. })
  7329. }, {
  7330. 26: 26,
  7331. 27: 27,
  7332. 46: 46
  7333. }],
  7334. 39: [function(t, e, n) {
  7335. var r = t(26),
  7336. i = t(27),
  7337. o = t(46),
  7338. a = r.global.defaultColor;
  7339. function s(t) {
  7340. var e = this._view;
  7341. return !!e && Math.abs(t - e.x) < e.radius + e.hitRadius
  7342. }
  7343. r._set("global", {
  7344. elements: {
  7345. point: {
  7346. radius: 3,
  7347. pointStyle: "circle",
  7348. backgroundColor: a,
  7349. borderColor: a,
  7350. borderWidth: 1,
  7351. hitRadius: 1,
  7352. hoverRadius: 4,
  7353. hoverBorderWidth: 1
  7354. }
  7355. }
  7356. }), e.exports = i.extend({
  7357. inRange: function(t, e) {
  7358. var n = this._view;
  7359. return !!n && Math.pow(t - n.x, 2) + Math.pow(e - n.y, 2) < Math.pow(n.hitRadius + n.radius, 2)
  7360. },
  7361. inLabelRange: s,
  7362. inXRange: s,
  7363. inYRange: function(t) {
  7364. var e = this._view;
  7365. return !!e && Math.abs(t - e.y) < e.radius + e.hitRadius
  7366. },
  7367. getCenterPoint: function() {
  7368. var t = this._view;
  7369. return {
  7370. x: t.x,
  7371. y: t.y
  7372. }
  7373. },
  7374. getArea: function() {
  7375. return Math.PI * Math.pow(this._view.radius, 2)
  7376. },
  7377. tooltipPosition: function() {
  7378. var t = this._view;
  7379. return {
  7380. x: t.x,
  7381. y: t.y,
  7382. padding: t.radius + t.borderWidth
  7383. }
  7384. },
  7385. draw: function(t) {
  7386. var e = this._view,
  7387. n = this._model,
  7388. i = this._chart.ctx,
  7389. s = e.pointStyle,
  7390. l = e.rotation,
  7391. u = e.radius,
  7392. c = e.x,
  7393. d = e.y;
  7394. e.skip || (void 0 === t || n.x >= t.left && 1.01 * t.right >= n.x && n.y >= t.top && 1.01 * t.bottom >= n.y) && (i.strokeStyle = e.borderColor || a, i.lineWidth = o.valueOrDefault(e.borderWidth, r.global.elements.point.borderWidth), i.fillStyle = e.backgroundColor || a, o.canvas.drawPoint(i, s, u, c, d, l))
  7395. }
  7396. })
  7397. }, {
  7398. 26: 26,
  7399. 27: 27,
  7400. 46: 46
  7401. }],
  7402. 40: [function(t, e, n) {
  7403. var r = t(26),
  7404. i = t(27);
  7405. function o(t) {
  7406. return void 0 !== t._view.width
  7407. }
  7408. function a(t) {
  7409. var e, n, r, i, a = t._view;
  7410. if (o(t)) {
  7411. var s = a.width / 2;
  7412. e = a.x - s, n = a.x + s, r = Math.min(a.y, a.base), i = Math.max(a.y, a.base)
  7413. } else {
  7414. var l = a.height / 2;
  7415. e = Math.min(a.x, a.base), n = Math.max(a.x, a.base), r = a.y - l, i = a.y + l
  7416. }
  7417. return {
  7418. left: e,
  7419. top: r,
  7420. right: n,
  7421. bottom: i
  7422. }
  7423. }
  7424. r._set("global", {
  7425. elements: {
  7426. rectangle: {
  7427. backgroundColor: r.global.defaultColor,
  7428. borderColor: r.global.defaultColor,
  7429. borderSkipped: "bottom",
  7430. borderWidth: 0
  7431. }
  7432. }
  7433. }), e.exports = i.extend({
  7434. draw: function() {
  7435. var t, e, n, r, i, o, a, s = this._chart.ctx,
  7436. l = this._view,
  7437. u = l.borderWidth;
  7438. if (l.horizontal ? (t = l.base, e = l.x, n = l.y - l.height / 2, r = l.y + l.height / 2, i = e > t ? 1 : -1, o = 1, a = l.borderSkipped || "left") : (t = l.x - l.width / 2, e = l.x + l.width / 2, n = l.y, i = 1, o = (r = l.base) > n ? 1 : -1, a = l.borderSkipped || "bottom"), u) {
  7439. var c = Math.min(Math.abs(t - e), Math.abs(n - r)),
  7440. d = (u = u > c ? c : u) / 2,
  7441. f = t + ("left" !== a ? d * i : 0),
  7442. h = e + ("right" !== a ? -d * i : 0),
  7443. p = n + ("top" !== a ? d * o : 0),
  7444. g = r + ("bottom" !== a ? -d * o : 0);
  7445. f !== h && (n = p, r = g), p !== g && (t = f, e = h)
  7446. }
  7447. s.beginPath(), s.fillStyle = l.backgroundColor, s.strokeStyle = l.borderColor, s.lineWidth = u;
  7448. var v = [
  7449. [t, r],
  7450. [t, n],
  7451. [e, n],
  7452. [e, r]
  7453. ],
  7454. m = ["bottom", "left", "top", "right"].indexOf(a, 0);
  7455. function y(t) {
  7456. return v[(m + t) % 4]
  7457. } - 1 === m && (m = 0);
  7458. var b = y(0);
  7459. s.moveTo(b[0], b[1]);
  7460. for (var x = 1; x < 4; x++) b = y(x), s.lineTo(b[0], b[1]);
  7461. s.fill(), u && s.stroke()
  7462. },
  7463. height: function() {
  7464. var t = this._view;
  7465. return t.base - t.y
  7466. },
  7467. inRange: function(t, e) {
  7468. var n = !1;
  7469. if (this._view) {
  7470. var r = a(this);
  7471. n = t >= r.left && t <= r.right && e >= r.top && e <= r.bottom
  7472. }
  7473. return n
  7474. },
  7475. inLabelRange: function(t, e) {
  7476. if (!this._view) return !1;
  7477. var n = a(this);
  7478. return o(this) ? t >= n.left && t <= n.right : e >= n.top && e <= n.bottom
  7479. },
  7480. inXRange: function(t) {
  7481. var e = a(this);
  7482. return t >= e.left && t <= e.right
  7483. },
  7484. inYRange: function(t) {
  7485. var e = a(this);
  7486. return t >= e.top && t <= e.bottom
  7487. },
  7488. getCenterPoint: function() {
  7489. var t, e, n = this._view;
  7490. return o(this) ? (t = n.x, e = (n.y + n.base) / 2) : (t = (n.x + n.base) / 2, e = n.y), {
  7491. x: t,
  7492. y: e
  7493. }
  7494. },
  7495. getArea: function() {
  7496. var t = this._view;
  7497. return t.width * Math.abs(t.y - t.base)
  7498. },
  7499. tooltipPosition: function() {
  7500. var t = this._view;
  7501. return {
  7502. x: t.x,
  7503. y: t.y
  7504. }
  7505. }
  7506. })
  7507. }, {
  7508. 26: 26,
  7509. 27: 27
  7510. }],
  7511. 41: [function(t, e, n) {
  7512. e.exports = {}, e.exports.Arc = t(37), e.exports.Line = t(38), e.exports.Point = t(39), e.exports.Rectangle = t(40)
  7513. }, {
  7514. 37: 37,
  7515. 38: 38,
  7516. 39: 39,
  7517. 40: 40
  7518. }],
  7519. 42: [function(t, e, n) {
  7520. var r = t(43);
  7521. n = e.exports = {
  7522. clear: function(t) {
  7523. t.ctx.clearRect(0, 0, t.width, t.height)
  7524. },
  7525. roundedRect: function(t, e, n, r, i, o) {
  7526. if (o) {
  7527. var a = Math.min(o, i / 2 - 1e-7, r / 2 - 1e-7);
  7528. t.moveTo(e + a, n), t.lineTo(e + r - a, n), t.arcTo(e + r, n, e + r, n + a, a), t.lineTo(e + r, n + i - a), t.arcTo(e + r, n + i, e + r - a, n + i, a), t.lineTo(e + a, n + i), t.arcTo(e, n + i, e, n + i - a, a), t.lineTo(e, n + a), t.arcTo(e, n, e + a, n, a), t.closePath(), t.moveTo(e, n)
  7529. } else t.rect(e, n, r, i)
  7530. },
  7531. drawPoint: function(t, e, n, r, i, a) {
  7532. var s, l, u, c, d, f;
  7533. if (a = a || 0, !e || "object" !== o(e) || "[object HTMLImageElement]" !== (s = e.toString()) && "[object HTMLCanvasElement]" !== s) {
  7534. if (!(isNaN(n) || n <= 0)) {
  7535. switch (t.save(), t.translate(r, i), t.rotate(a * Math.PI / 180), t.beginPath(), e) {
  7536. default:
  7537. t.arc(0, 0, n, 0, 2 * Math.PI), t.closePath();
  7538. break;
  7539. case "triangle":
  7540. d = (l = 3 * n / Math.sqrt(3)) * Math.sqrt(3) / 2, t.moveTo(-l / 2, d / 3), t.lineTo(l / 2, d / 3), t.lineTo(0, -2 * d / 3), t.closePath();
  7541. break;
  7542. case "rect":
  7543. f = 1 / Math.SQRT2 * n, t.rect(-f, -f, 2 * f, 2 * f);
  7544. break;
  7545. case "rectRounded":
  7546. var h = n / Math.SQRT2,
  7547. p = -h,
  7548. g = -h,
  7549. v = Math.SQRT2 * n;
  7550. this.roundedRect(t, p, g, v, v, .425 * n);
  7551. break;
  7552. case "rectRot":
  7553. f = 1 / Math.SQRT2 * n, t.moveTo(-f, 0), t.lineTo(0, f), t.lineTo(f, 0), t.lineTo(0, -f), t.closePath();
  7554. break;
  7555. case "cross":
  7556. t.moveTo(0, n), t.lineTo(0, -n), t.moveTo(-n, 0), t.lineTo(n, 0);
  7557. break;
  7558. case "crossRot":
  7559. u = Math.cos(Math.PI / 4) * n, c = Math.sin(Math.PI / 4) * n, t.moveTo(-u, -c), t.lineTo(u, c), t.moveTo(-u, c), t.lineTo(u, -c);
  7560. break;
  7561. case "star":
  7562. t.moveTo(0, n), t.lineTo(0, -n), t.moveTo(-n, 0), t.lineTo(n, 0), u = Math.cos(Math.PI / 4) * n, c = Math.sin(Math.PI / 4) * n, t.moveTo(-u, -c), t.lineTo(u, c), t.moveTo(-u, c), t.lineTo(u, -c);
  7563. break;
  7564. case "line":
  7565. t.moveTo(-n, 0), t.lineTo(n, 0);
  7566. break;
  7567. case "dash":
  7568. t.moveTo(0, 0), t.lineTo(n, 0)
  7569. }
  7570. t.fill(), t.stroke(), t.restore()
  7571. }
  7572. } else t.drawImage(e, r - e.width / 2, i - e.height / 2, e.width, e.height)
  7573. },
  7574. clipArea: function(t, e) {
  7575. t.save(), t.beginPath(), t.rect(e.left, e.top, e.right - e.left, e.bottom - e.top), t.clip()
  7576. },
  7577. unclipArea: function(t) {
  7578. t.restore()
  7579. },
  7580. lineTo: function(t, e, n, r) {
  7581. if (n.steppedLine) return "after" === n.steppedLine && !r || "after" !== n.steppedLine && r ? t.lineTo(e.x, n.y) : t.lineTo(n.x, e.y), void t.lineTo(n.x, n.y);
  7582. n.tension ? t.bezierCurveTo(r ? e.controlPointPreviousX : e.controlPointNextX, r ? e.controlPointPreviousY : e.controlPointNextY, r ? n.controlPointNextX : n.controlPointPreviousX, r ? n.controlPointNextY : n.controlPointPreviousY, n.x, n.y) : t.lineTo(n.x, n.y)
  7583. }
  7584. };
  7585. r.clear = n.clear, r.drawRoundedRectangle = function(t) {
  7586. t.beginPath(), n.roundedRect.apply(n, arguments)
  7587. }
  7588. }, {
  7589. 43: 43
  7590. }],
  7591. 43: [function(t, e, n) {
  7592. var r, i = {
  7593. noop: function() {},
  7594. uid: (r = 0, function() {
  7595. return r++
  7596. }),
  7597. isNullOrUndef: function(t) {
  7598. return null == t
  7599. },
  7600. isArray: Array.isArray ? Array.isArray : function(t) {
  7601. return "[object Array]" === Object.prototype.toString.call(t)
  7602. },
  7603. isObject: function(t) {
  7604. return null !== t && "[object Object]" === Object.prototype.toString.call(t)
  7605. },
  7606. valueOrDefault: function(t, e) {
  7607. return void 0 === t ? e : t
  7608. },
  7609. valueAtIndexOrDefault: function(t, e, n) {
  7610. return i.valueOrDefault(i.isArray(t) ? t[e] : t, n)
  7611. },
  7612. callback: function(t, e, n) {
  7613. if (t && "function" == typeof t.call) return t.apply(n, e)
  7614. },
  7615. each: function(t, e, n, r) {
  7616. var o, a, s;
  7617. if (i.isArray(t))
  7618. if (a = t.length, r)
  7619. for (o = a - 1; o >= 0; o--) e.call(n, t[o], o);
  7620. else
  7621. for (o = 0; o < a; o++) e.call(n, t[o], o);
  7622. else if (i.isObject(t))
  7623. for (a = (s = Object.keys(t)).length, o = 0; o < a; o++) e.call(n, t[s[o]], s[o])
  7624. },
  7625. arrayEquals: function(t, e) {
  7626. var n, r, o, a;
  7627. if (!t || !e || t.length !== e.length) return !1;
  7628. for (n = 0, r = t.length; n < r; ++n)
  7629. if (o = t[n], a = e[n], o instanceof Array && a instanceof Array) {
  7630. if (!i.arrayEquals(o, a)) return !1
  7631. } else if (o !== a) return !1;
  7632. return !0
  7633. },
  7634. clone: function(t) {
  7635. if (i.isArray(t)) return t.map(i.clone);
  7636. if (i.isObject(t)) {
  7637. for (var e = {}, n = Object.keys(t), r = n.length, o = 0; o < r; ++o) e[n[o]] = i.clone(t[n[o]]);
  7638. return e
  7639. }
  7640. return t
  7641. },
  7642. _merger: function(t, e, n, r) {
  7643. var o = e[t],
  7644. a = n[t];
  7645. i.isObject(o) && i.isObject(a) ? i.merge(o, a, r) : e[t] = i.clone(a)
  7646. },
  7647. _mergerIf: function(t, e, n) {
  7648. var r = e[t],
  7649. o = n[t];
  7650. i.isObject(r) && i.isObject(o) ? i.mergeIf(r, o) : e.hasOwnProperty(t) || (e[t] = i.clone(o))
  7651. },
  7652. merge: function(t, e, n) {
  7653. var r, o, a, s, l, u = i.isArray(e) ? e : [e],
  7654. c = u.length;
  7655. if (!i.isObject(t)) return t;
  7656. for (r = (n = n || {}).merger || i._merger, o = 0; o < c; ++o)
  7657. if (e = u[o], i.isObject(e))
  7658. for (l = 0, s = (a = Object.keys(e)).length; l < s; ++l) r(a[l], t, e, n);
  7659. return t
  7660. },
  7661. mergeIf: function(t, e) {
  7662. return i.merge(t, e, {
  7663. merger: i._mergerIf
  7664. })
  7665. },
  7666. extend: function(t) {
  7667. for (var e = function(e, n) {
  7668. t[n] = e
  7669. }, n = 1, r = arguments.length; n < r; ++n) i.each(arguments[n], e);
  7670. return t
  7671. },
  7672. inherits: function(t) {
  7673. var e = this,
  7674. n = t && t.hasOwnProperty("constructor") ? t.constructor : function() {
  7675. return e.apply(this, arguments)
  7676. },
  7677. r = function() {
  7678. this.constructor = n
  7679. };
  7680. return r.prototype = e.prototype, n.prototype = new r, n.extend = i.inherits, t && i.extend(n.prototype, t), n.__super__ = e.prototype, n
  7681. }
  7682. };
  7683. e.exports = i, i.callCallback = i.callback, i.indexOf = function(t, e, n) {
  7684. return Array.prototype.indexOf.call(t, e, n)
  7685. }, i.getValueOrDefault = i.valueOrDefault, i.getValueAtIndexOrDefault = i.valueAtIndexOrDefault
  7686. }, {}],
  7687. 44: [function(t, e, n) {
  7688. var r = t(43),
  7689. i = {
  7690. linear: function(t) {
  7691. return t
  7692. },
  7693. easeInQuad: function(t) {
  7694. return t * t
  7695. },
  7696. easeOutQuad: function(t) {
  7697. return -t * (t - 2)
  7698. },
  7699. easeInOutQuad: function(t) {
  7700. return (t /= .5) < 1 ? .5 * t * t : -.5 * (--t * (t - 2) - 1)
  7701. },
  7702. easeInCubic: function(t) {
  7703. return t * t * t
  7704. },
  7705. easeOutCubic: function(t) {
  7706. return (t -= 1) * t * t + 1
  7707. },
  7708. easeInOutCubic: function(t) {
  7709. return (t /= .5) < 1 ? .5 * t * t * t : .5 * ((t -= 2) * t * t + 2)
  7710. },
  7711. easeInQuart: function(t) {
  7712. return t * t * t * t
  7713. },
  7714. easeOutQuart: function(t) {
  7715. return -((t -= 1) * t * t * t - 1)
  7716. },
  7717. easeInOutQuart: function(t) {
  7718. return (t /= .5) < 1 ? .5 * t * t * t * t : -.5 * ((t -= 2) * t * t * t - 2)
  7719. },
  7720. easeInQuint: function(t) {
  7721. return t * t * t * t * t
  7722. },
  7723. easeOutQuint: function(t) {
  7724. return (t -= 1) * t * t * t * t + 1
  7725. },
  7726. easeInOutQuint: function(t) {
  7727. return (t /= .5) < 1 ? .5 * t * t * t * t * t : .5 * ((t -= 2) * t * t * t * t + 2)
  7728. },
  7729. easeInSine: function(t) {
  7730. return 1 - Math.cos(t * (Math.PI / 2))
  7731. },
  7732. easeOutSine: function(t) {
  7733. return Math.sin(t * (Math.PI / 2))
  7734. },
  7735. easeInOutSine: function(t) {
  7736. return -.5 * (Math.cos(Math.PI * t) - 1)
  7737. },
  7738. easeInExpo: function(t) {
  7739. return 0 === t ? 0 : Math.pow(2, 10 * (t - 1))
  7740. },
  7741. easeOutExpo: function(t) {
  7742. return 1 === t ? 1 : 1 - Math.pow(2, -10 * t)
  7743. },
  7744. easeInOutExpo: function(t) {
  7745. return 0 === t ? 0 : 1 === t ? 1 : (t /= .5) < 1 ? .5 * Math.pow(2, 10 * (t - 1)) : .5 * (2 - Math.pow(2, -10 * --t))
  7746. },
  7747. easeInCirc: function(t) {
  7748. return t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1)
  7749. },
  7750. easeOutCirc: function(t) {
  7751. return Math.sqrt(1 - (t -= 1) * t)
  7752. },
  7753. easeInOutCirc: function(t) {
  7754. return (t /= .5) < 1 ? -.5 * (Math.sqrt(1 - t * t) - 1) : .5 * (Math.sqrt(1 - (t -= 2) * t) + 1)
  7755. },
  7756. easeInElastic: function(t) {
  7757. var e = 1.70158,
  7758. n = 0,
  7759. r = 1;
  7760. return 0 === t ? 0 : 1 === t ? 1 : (n || (n = .3), r < 1 ? (r = 1, e = n / 4) : e = n / (2 * Math.PI) * Math.asin(1 / r), -r * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - e) * (2 * Math.PI) / n))
  7761. },
  7762. easeOutElastic: function(t) {
  7763. var e = 1.70158,
  7764. n = 0,
  7765. r = 1;
  7766. return 0 === t ? 0 : 1 === t ? 1 : (n || (n = .3), r < 1 ? (r = 1, e = n / 4) : e = n / (2 * Math.PI) * Math.asin(1 / r), r * Math.pow(2, -10 * t) * Math.sin((t - e) * (2 * Math.PI) / n) + 1)
  7767. },
  7768. easeInOutElastic: function(t) {
  7769. var e = 1.70158,
  7770. n = 0,
  7771. r = 1;
  7772. return 0 === t ? 0 : 2 == (t /= .5) ? 1 : (n || (n = .45), r < 1 ? (r = 1, e = n / 4) : e = n / (2 * Math.PI) * Math.asin(1 / r), t < 1 ? r * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - e) * (2 * Math.PI) / n) * -.5 : r * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - e) * (2 * Math.PI) / n) * .5 + 1)
  7773. },
  7774. easeInBack: function(t) {
  7775. var e = 1.70158;
  7776. return t * t * ((e + 1) * t - e)
  7777. },
  7778. easeOutBack: function(t) {
  7779. var e = 1.70158;
  7780. return (t -= 1) * t * ((e + 1) * t + e) + 1
  7781. },
  7782. easeInOutBack: function(t) {
  7783. var e = 1.70158;
  7784. return (t /= .5) < 1 ? t * t * ((1 + (e *= 1.525)) * t - e) * .5 : .5 * ((t -= 2) * t * ((1 + (e *= 1.525)) * t + e) + 2)
  7785. },
  7786. easeInBounce: function(t) {
  7787. return 1 - i.easeOutBounce(1 - t)
  7788. },
  7789. easeOutBounce: function(t) {
  7790. return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375
  7791. },
  7792. easeInOutBounce: function(t) {
  7793. return t < .5 ? .5 * i.easeInBounce(2 * t) : .5 * i.easeOutBounce(2 * t - 1) + .5
  7794. }
  7795. };
  7796. e.exports = {
  7797. effects: i
  7798. }, r.easingEffects = i
  7799. }, {
  7800. 43: 43
  7801. }],
  7802. 45: [function(t, e, n) {
  7803. var r = t(43);
  7804. e.exports = {
  7805. toLineHeight: function(t, e) {
  7806. var n = ("" + t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);
  7807. if (!n || "normal" === n[1]) return 1.2 * e;
  7808. switch (t = +n[2], n[3]) {
  7809. case "px":
  7810. return t;
  7811. case "%":
  7812. t /= 100
  7813. }
  7814. return e * t
  7815. },
  7816. toPadding: function(t) {
  7817. var e, n, i, o;
  7818. return r.isObject(t) ? (e = +t.top || 0, n = +t.right || 0, i = +t.bottom || 0, o = +t.left || 0) : e = n = i = o = +t || 0, {
  7819. top: e,
  7820. right: n,
  7821. bottom: i,
  7822. left: o,
  7823. height: e + i,
  7824. width: o + n
  7825. }
  7826. },
  7827. resolve: function(t, e, n) {
  7828. var i, o, a;
  7829. for (i = 0, o = t.length; i < o; ++i)
  7830. if (void 0 !== (a = t[i]) && (void 0 !== e && "function" == typeof a && (a = a(e)), void 0 !== n && r.isArray(a) && (a = a[n]), void 0 !== a)) return a
  7831. }
  7832. }
  7833. }, {
  7834. 43: 43
  7835. }],
  7836. 46: [function(t, e, n) {
  7837. e.exports = t(43), e.exports.easing = t(44), e.exports.canvas = t(42), e.exports.options = t(45)
  7838. }, {
  7839. 42: 42,
  7840. 43: 43,
  7841. 44: 44,
  7842. 45: 45
  7843. }],
  7844. 47: [function(t, e, n) {
  7845. e.exports = {
  7846. acquireContext: function(t) {
  7847. return t && t.canvas && (t = t.canvas), t && t.getContext("2d") || null
  7848. }
  7849. }
  7850. }, {}],
  7851. 48: [function(t, e, n) {
  7852. var r = t(46),
  7853. i = "$chartjs",
  7854. o = "chartjs-",
  7855. a = o + "render-monitor",
  7856. s = o + "render-animation",
  7857. l = ["animationstart", "webkitAnimationStart"],
  7858. u = {
  7859. touchstart: "mousedown",
  7860. touchmove: "mousemove",
  7861. touchend: "mouseup",
  7862. pointerenter: "mouseenter",
  7863. pointerdown: "mousedown",
  7864. pointermove: "mousemove",
  7865. pointerup: "mouseup",
  7866. pointerleave: "mouseout",
  7867. pointerout: "mouseout"
  7868. };
  7869. function c(t, e) {
  7870. var n = r.getStyle(t, e),
  7871. i = n && n.match(/^(\d+)(\.\d+)?px$/);
  7872. return i ? Number(i[1]) : void 0
  7873. }
  7874. var d = !! function() {
  7875. var t = !1;
  7876. try {
  7877. var e = Object.defineProperty({}, "passive", {
  7878. get: function() {
  7879. t = !0
  7880. }
  7881. });
  7882. window.addEventListener("e", null, e)
  7883. } catch (t) {}
  7884. return t
  7885. }() && {
  7886. passive: !0
  7887. };
  7888. function f(t, e, n) {
  7889. t.addEventListener(e, n, d)
  7890. }
  7891. function h(t, e, n) {
  7892. t.removeEventListener(e, n, d)
  7893. }
  7894. function p(t, e, n, r, i) {
  7895. return {
  7896. type: t,
  7897. chart: e,
  7898. native: i || null,
  7899. x: void 0 !== n ? n : null,
  7900. y: void 0 !== r ? r : null
  7901. }
  7902. }
  7903. function g(t, e, n) {
  7904. var u, c, d, h, g = t[i] || (t[i] = {}),
  7905. v = g.resizer = function(t) {
  7906. var e = document.createElement("div"),
  7907. n = o + "size-monitor",
  7908. r = "position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;";
  7909. e.style.cssText = r, e.className = n, e.innerHTML = '<div class="' + n + '-expand" style="' + r + '"><div style="position:absolute;width:1000000px;height:1000000px;left:0;top:0"></div></div><div class="' + n + '-shrink" style="' + r + '"><div style="position:absolute;width:200%;height:200%;left:0; top:0"></div></div>';
  7910. var i = e.childNodes[0],
  7911. a = e.childNodes[1];
  7912. e._reset = function() {
  7913. i.scrollLeft = 1e6, i.scrollTop = 1e6, a.scrollLeft = 1e6, a.scrollTop = 1e6
  7914. };
  7915. var s = function() {
  7916. e._reset(), t()
  7917. };
  7918. return f(i, "scroll", s.bind(i, "expand")), f(a, "scroll", s.bind(a, "shrink")), e
  7919. }((u = function() {
  7920. if (g.resizer) return e(p("resize", n))
  7921. }, d = !1, h = [], function() {
  7922. h = Array.prototype.slice.call(arguments), c = c || this, d || (d = !0, r.requestAnimFrame.call(window, (function() {
  7923. d = !1, u.apply(c, h)
  7924. })))
  7925. }));
  7926. ! function(t, e) {
  7927. var n = t[i] || (t[i] = {}),
  7928. o = n.renderProxy = function(t) {
  7929. t.animationName === s && e()
  7930. };
  7931. r.each(l, (function(e) {
  7932. f(t, e, o)
  7933. })), n.reflow = !!t.offsetParent, t.classList.add(a)
  7934. }(t, (function() {
  7935. if (g.resizer) {
  7936. var e = t.parentNode;
  7937. e && e !== v.parentNode && e.insertBefore(v, e.firstChild), v._reset()
  7938. }
  7939. }))
  7940. }
  7941. function v(t) {
  7942. var e = t[i] || {},
  7943. n = e.resizer;
  7944. delete e.resizer,
  7945. function(t) {
  7946. var e = t[i] || {},
  7947. n = e.renderProxy;
  7948. n && (r.each(l, (function(e) {
  7949. h(t, e, n)
  7950. })), delete e.renderProxy), t.classList.remove(a)
  7951. }(t), n && n.parentNode && n.parentNode.removeChild(n)
  7952. }
  7953. e.exports = {
  7954. _enabled: "undefined" != typeof window && "undefined" != typeof document,
  7955. initialize: function() {
  7956. var t, e, n, r = "from{opacity:0.99}to{opacity:1}";
  7957. e = "@-webkit-keyframes " + s + "{" + r + "}@keyframes " + s + "{" + r + "}." + a + "{-webkit-animation:" + s + " 0.001s;animation:" + s + " 0.001s;}", n = (t = this)._style || document.createElement("style"), t._style || (t._style = n, e = "/* Chart.js */\n" + e, n.setAttribute("type", "text/css"), document.getElementsByTagName("head")[0].appendChild(n)), n.appendChild(document.createTextNode(e))
  7958. },
  7959. acquireContext: function(t, e) {
  7960. "string" == typeof t ? t = document.getElementById(t) : t.length && (t = t[0]), t && t.canvas && (t = t.canvas);
  7961. var n = t && t.getContext && t.getContext("2d");
  7962. return n && n.canvas === t ? (function(t, e) {
  7963. var n = t.style,
  7964. r = t.getAttribute("height"),
  7965. o = t.getAttribute("width");
  7966. if (t[i] = {
  7967. initial: {
  7968. height: r,
  7969. width: o,
  7970. style: {
  7971. display: n.display,
  7972. height: n.height,
  7973. width: n.width
  7974. }
  7975. }
  7976. }, n.display = n.display || "block", null === o || "" === o) {
  7977. var a = c(t, "width");
  7978. void 0 !== a && (t.width = a)
  7979. }
  7980. if (null === r || "" === r)
  7981. if ("" === t.style.height) t.height = t.width / (e.options.aspectRatio || 2);
  7982. else {
  7983. var s = c(t, "height");
  7984. void 0 !== a && (t.height = s)
  7985. }
  7986. }(t, e), n) : null
  7987. },
  7988. releaseContext: function(t) {
  7989. var e = t.canvas;
  7990. if (e[i]) {
  7991. var n = e[i].initial;
  7992. ["height", "width"].forEach((function(t) {
  7993. var i = n[t];
  7994. r.isNullOrUndef(i) ? e.removeAttribute(t) : e.setAttribute(t, i)
  7995. })), r.each(n.style || {}, (function(t, n) {
  7996. e.style[n] = t
  7997. })), e.width = e.width, delete e[i]
  7998. }
  7999. },
  8000. addEventListener: function(t, e, n) {
  8001. var o = t.canvas;
  8002. if ("resize" !== e) {
  8003. var a = n[i] || (n[i] = {});
  8004. f(o, e, (a.proxies || (a.proxies = {}))[t.id + "_" + e] = function(e) {
  8005. n(function(t, e) {
  8006. var n = u[t.type] || t.type,
  8007. i = r.getRelativePosition(t, e);
  8008. return p(n, e, i.x, i.y, t)
  8009. }(e, t))
  8010. })
  8011. } else g(o, n, t)
  8012. },
  8013. removeEventListener: function(t, e, n) {
  8014. var r = t.canvas;
  8015. if ("resize" !== e) {
  8016. var o = ((n[i] || {}).proxies || {})[t.id + "_" + e];
  8017. o && h(r, e, o)
  8018. } else v(r)
  8019. }
  8020. }, r.addEvent = f, r.removeEvent = h
  8021. }, {
  8022. 46: 46
  8023. }],
  8024. 49: [function(t, e, n) {
  8025. var r = t(46),
  8026. i = t(47),
  8027. o = t(48),
  8028. a = o._enabled ? o : i;
  8029. e.exports = r.extend({
  8030. initialize: function() {},
  8031. acquireContext: function() {},
  8032. releaseContext: function() {},
  8033. addEventListener: function() {},
  8034. removeEventListener: function() {}
  8035. }, a)
  8036. }, {
  8037. 46: 46,
  8038. 47: 47,
  8039. 48: 48
  8040. }],
  8041. 50: [function(t, e, n) {
  8042. e.exports = {}, e.exports.filler = t(51), e.exports.legend = t(52), e.exports.title = t(53)
  8043. }, {
  8044. 51: 51,
  8045. 52: 52,
  8046. 53: 53
  8047. }],
  8048. 51: [function(t, e, n) {
  8049. var r = t(26),
  8050. i = t(41),
  8051. o = t(46);
  8052. r._set("global", {
  8053. plugins: {
  8054. filler: {
  8055. propagate: !0
  8056. }
  8057. }
  8058. });
  8059. var a = {
  8060. dataset: function(t) {
  8061. var e = t.fill,
  8062. n = t.chart,
  8063. r = n.getDatasetMeta(e),
  8064. i = r && n.isDatasetVisible(e) && r.dataset._children || [],
  8065. o = i.length || 0;
  8066. return o ? function(t, e) {
  8067. return e < o && i[e]._view || null
  8068. } : null
  8069. },
  8070. boundary: function(t) {
  8071. var e = t.boundary,
  8072. n = e ? e.x : null,
  8073. r = e ? e.y : null;
  8074. return function(t) {
  8075. return {
  8076. x: null === n ? t.x : n,
  8077. y: null === r ? t.y : r
  8078. }
  8079. }
  8080. }
  8081. };
  8082. function s(t, e, n) {
  8083. var r, i = t._model || {},
  8084. o = i.fill;
  8085. if (void 0 === o && (o = !!i.backgroundColor), !1 === o || null === o) return !1;
  8086. if (!0 === o) return "origin";
  8087. if (r = parseFloat(o, 10), isFinite(r) && Math.floor(r) === r) return "-" !== o[0] && "+" !== o[0] || (r = e + r), !(r === e || r < 0 || r >= n) && r;
  8088. switch (o) {
  8089. case "bottom":
  8090. return "start";
  8091. case "top":
  8092. return "end";
  8093. case "zero":
  8094. return "origin";
  8095. case "origin":
  8096. case "start":
  8097. case "end":
  8098. return o;
  8099. default:
  8100. return !1
  8101. }
  8102. }
  8103. function l(t) {
  8104. var e, n = t.el._model || {},
  8105. r = t.el._scale || {},
  8106. i = t.fill,
  8107. o = null;
  8108. if (isFinite(i)) return null;
  8109. if ("start" === i ? o = void 0 === n.scaleBottom ? r.bottom : n.scaleBottom : "end" === i ? o = void 0 === n.scaleTop ? r.top : n.scaleTop : void 0 !== n.scaleZero ? o = n.scaleZero : r.getBasePosition ? o = r.getBasePosition() : r.getBasePixel && (o = r.getBasePixel()), null != o) {
  8110. if (void 0 !== o.x && void 0 !== o.y) return o;
  8111. if ("number" == typeof o && isFinite(o)) return {
  8112. x: (e = r.isHorizontal()) ? o : null,
  8113. y: e ? null : o
  8114. }
  8115. }
  8116. return null
  8117. }
  8118. function u(t, e, n) {
  8119. var r, i = t[e].fill,
  8120. o = [e];
  8121. if (!n) return i;
  8122. for (; !1 !== i && -1 === o.indexOf(i);) {
  8123. if (!isFinite(i)) return i;
  8124. if (!(r = t[i])) return !1;
  8125. if (r.visible) return i;
  8126. o.push(i), i = r.fill
  8127. }
  8128. return !1
  8129. }
  8130. function c(t) {
  8131. var e = t.fill,
  8132. n = "dataset";
  8133. return !1 === e ? null : (isFinite(e) || (n = "boundary"), a[n](t))
  8134. }
  8135. function d(t) {
  8136. return t && !t.skip
  8137. }
  8138. function f(t, e, n, r, i) {
  8139. var a;
  8140. if (r && i) {
  8141. for (t.moveTo(e[0].x, e[0].y), a = 1; a < r; ++a) o.canvas.lineTo(t, e[a - 1], e[a]);
  8142. for (t.lineTo(n[i - 1].x, n[i - 1].y), a = i - 1; a > 0; --a) o.canvas.lineTo(t, n[a], n[a - 1], !0)
  8143. }
  8144. }
  8145. e.exports = {
  8146. id: "filler",
  8147. afterDatasetsUpdate: function(t, e) {
  8148. var n, r, o, a, d = (t.data.datasets || []).length,
  8149. f = e.propagate,
  8150. h = [];
  8151. for (r = 0; r < d; ++r) a = null, (o = (n = t.getDatasetMeta(r)).dataset) && o._model && o instanceof i.Line && (a = {
  8152. visible: t.isDatasetVisible(r),
  8153. fill: s(o, r, d),
  8154. chart: t,
  8155. el: o
  8156. }), n.$filler = a, h.push(a);
  8157. for (r = 0; r < d; ++r)(a = h[r]) && (a.fill = u(h, r, f), a.boundary = l(a), a.mapper = c(a))
  8158. },
  8159. beforeDatasetDraw: function(t, e) {
  8160. var n = e.meta.$filler;
  8161. if (n) {
  8162. var i = t.ctx,
  8163. a = n.el,
  8164. s = a._view,
  8165. l = a._children || [],
  8166. u = n.mapper,
  8167. c = s.backgroundColor || r.global.defaultColor;
  8168. u && c && l.length && (o.canvas.clipArea(i, t.chartArea), function(t, e, n, r, i, o) {
  8169. var a, s, l, u, c, h, p, g = e.length,
  8170. v = r.spanGaps,
  8171. m = [],
  8172. y = [],
  8173. b = 0,
  8174. x = 0;
  8175. for (t.beginPath(), a = 0, s = g + !!o; a < s; ++a) c = n(u = e[l = a % g]._view, l, r), h = d(u), p = d(c), h && p ? (b = m.push(u), x = y.push(c)) : b && x && (v ? (h && m.push(u), p && y.push(c)) : (f(t, m, y, b, x), b = x = 0, m = [], y = []));
  8176. f(t, m, y, b, x), t.closePath(), t.fillStyle = i, t.fill()
  8177. }(i, l, u, s, c, a._loop), o.canvas.unclipArea(i))
  8178. }
  8179. }
  8180. }
  8181. }, {
  8182. 26: 26,
  8183. 41: 41,
  8184. 46: 46
  8185. }],
  8186. 52: [function(t, e, n) {
  8187. var r = t(26),
  8188. i = t(27),
  8189. o = t(46),
  8190. a = t(31),
  8191. s = o.noop;
  8192. function l(t, e) {
  8193. return t.usePointStyle ? e * Math.SQRT2 : t.boxWidth
  8194. }
  8195. r._set("global", {
  8196. legend: {
  8197. display: !0,
  8198. position: "top",
  8199. fullWidth: !0,
  8200. reverse: !1,
  8201. weight: 1e3,
  8202. onClick: function(t, e) {
  8203. var n = e.datasetIndex,
  8204. r = this.chart,
  8205. i = r.getDatasetMeta(n);
  8206. i.hidden = null === i.hidden ? !r.data.datasets[n].hidden : null, r.update()
  8207. },
  8208. onHover: null,
  8209. labels: {
  8210. boxWidth: 40,
  8211. padding: 10,
  8212. generateLabels: function(t) {
  8213. var e = t.data;
  8214. return o.isArray(e.datasets) ? e.datasets.map((function(e, n) {
  8215. return {
  8216. text: e.label,
  8217. fillStyle: o.isArray(e.backgroundColor) ? e.backgroundColor[0] : e.backgroundColor,
  8218. hidden: !t.isDatasetVisible(n),
  8219. lineCap: e.borderCapStyle,
  8220. lineDash: e.borderDash,
  8221. lineDashOffset: e.borderDashOffset,
  8222. lineJoin: e.borderJoinStyle,
  8223. lineWidth: e.borderWidth,
  8224. strokeStyle: e.borderColor,
  8225. pointStyle: e.pointStyle,
  8226. datasetIndex: n
  8227. }
  8228. }), this) : []
  8229. }
  8230. }
  8231. },
  8232. legendCallback: function(t) {
  8233. var e = [];
  8234. e.push('<ul class="' + t.id + '-legend">');
  8235. for (var n = 0; n < t.data.datasets.length; n++) e.push('<li><span style="background-color:' + t.data.datasets[n].backgroundColor + '"></span>'), t.data.datasets[n].label && e.push(t.data.datasets[n].label), e.push("</li>");
  8236. return e.push("</ul>"), e.join("")
  8237. }
  8238. });
  8239. var u = i.extend({
  8240. initialize: function(t) {
  8241. o.extend(this, t), this.legendHitBoxes = [], this.doughnutMode = !1
  8242. },
  8243. beforeUpdate: s,
  8244. update: function(t, e, n) {
  8245. var r = this;
  8246. return r.beforeUpdate(), r.maxWidth = t, r.maxHeight = e, r.margins = n, r.beforeSetDimensions(), r.setDimensions(), r.afterSetDimensions(), r.beforeBuildLabels(), r.buildLabels(), r.afterBuildLabels(), r.beforeFit(), r.fit(), r.afterFit(), r.afterUpdate(), r.minSize
  8247. },
  8248. afterUpdate: s,
  8249. beforeSetDimensions: s,
  8250. setDimensions: function() {
  8251. var t = this;
  8252. t.isHorizontal() ? (t.width = t.maxWidth, t.left = 0, t.right = t.width) : (t.height = t.maxHeight, t.top = 0, t.bottom = t.height), t.paddingLeft = 0, t.paddingTop = 0, t.paddingRight = 0, t.paddingBottom = 0, t.minSize = {
  8253. width: 0,
  8254. height: 0
  8255. }
  8256. },
  8257. afterSetDimensions: s,
  8258. beforeBuildLabels: s,
  8259. buildLabels: function() {
  8260. var t = this,
  8261. e = t.options.labels || {},
  8262. n = o.callback(e.generateLabels, [t.chart], t) || [];
  8263. e.filter && (n = n.filter((function(n) {
  8264. return e.filter(n, t.chart.data)
  8265. }))), t.options.reverse && n.reverse(), t.legendItems = n
  8266. },
  8267. afterBuildLabels: s,
  8268. beforeFit: s,
  8269. fit: function() {
  8270. var t = this,
  8271. e = t.options,
  8272. n = e.labels,
  8273. i = e.display,
  8274. a = t.ctx,
  8275. s = r.global,
  8276. u = o.valueOrDefault,
  8277. c = u(n.fontSize, s.defaultFontSize),
  8278. d = u(n.fontStyle, s.defaultFontStyle),
  8279. f = u(n.fontFamily, s.defaultFontFamily),
  8280. h = o.fontString(c, d, f),
  8281. p = t.legendHitBoxes = [],
  8282. g = t.minSize,
  8283. v = t.isHorizontal();
  8284. if (v ? (g.width = t.maxWidth, g.height = i ? 10 : 0) : (g.width = i ? 10 : 0, g.height = t.maxHeight), i)
  8285. if (a.font = h, v) {
  8286. var m = t.lineWidths = [0],
  8287. y = t.legendItems.length ? c + n.padding : 0;
  8288. a.textAlign = "left", a.textBaseline = "top", o.each(t.legendItems, (function(e, r) {
  8289. var i = l(n, c) + c / 2 + a.measureText(e.text).width;
  8290. m[m.length - 1] + i + n.padding >= t.width && (y += c + n.padding, m[m.length] = t.left), p[r] = {
  8291. left: 0,
  8292. top: 0,
  8293. width: i,
  8294. height: c
  8295. }, m[m.length - 1] += i + n.padding
  8296. })), g.height += y
  8297. } else {
  8298. var b = n.padding,
  8299. x = t.columnWidths = [],
  8300. w = n.padding,
  8301. S = 0,
  8302. k = 0,
  8303. C = c + b;
  8304. o.each(t.legendItems, (function(t, e) {
  8305. var r = l(n, c) + c / 2 + a.measureText(t.text).width;
  8306. k + C > g.height && (w += S + n.padding, x.push(S), S = 0, k = 0), S = Math.max(S, r), k += C, p[e] = {
  8307. left: 0,
  8308. top: 0,
  8309. width: r,
  8310. height: c
  8311. }
  8312. })), w += S, x.push(S), g.width += w
  8313. } t.width = g.width, t.height = g.height
  8314. },
  8315. afterFit: s,
  8316. isHorizontal: function() {
  8317. return "top" === this.options.position || "bottom" === this.options.position
  8318. },
  8319. draw: function() {
  8320. var t = this,
  8321. e = t.options,
  8322. n = e.labels,
  8323. i = r.global,
  8324. a = i.elements.line,
  8325. s = t.width,
  8326. u = t.lineWidths;
  8327. if (e.display) {
  8328. var c, d = t.ctx,
  8329. f = o.valueOrDefault,
  8330. h = f(n.fontColor, i.defaultFontColor),
  8331. p = f(n.fontSize, i.defaultFontSize),
  8332. g = f(n.fontStyle, i.defaultFontStyle),
  8333. v = f(n.fontFamily, i.defaultFontFamily),
  8334. m = o.fontString(p, g, v);
  8335. d.textAlign = "left", d.textBaseline = "middle", d.lineWidth = .5, d.strokeStyle = h, d.fillStyle = h, d.font = m;
  8336. var y = l(n, p),
  8337. b = t.legendHitBoxes,
  8338. x = t.isHorizontal();
  8339. c = x ? {
  8340. x: t.left + (s - u[0]) / 2,
  8341. y: t.top + n.padding,
  8342. line: 0
  8343. } : {
  8344. x: t.left + n.padding,
  8345. y: t.top + n.padding,
  8346. line: 0
  8347. };
  8348. var w = p + n.padding;
  8349. o.each(t.legendItems, (function(r, l) {
  8350. var h = d.measureText(r.text).width,
  8351. g = y + p / 2 + h,
  8352. v = c.x,
  8353. m = c.y;
  8354. x ? v + g >= s && (m = c.y += w, c.line++, v = c.x = t.left + (s - u[c.line]) / 2) : m + w > t.bottom && (v = c.x = v + t.columnWidths[c.line] + n.padding, m = c.y = t.top + n.padding, c.line++),
  8355. function(t, n, r) {
  8356. if (!(isNaN(y) || y <= 0)) {
  8357. d.save(), d.fillStyle = f(r.fillStyle, i.defaultColor), d.lineCap = f(r.lineCap, a.borderCapStyle), d.lineDashOffset = f(r.lineDashOffset, a.borderDashOffset), d.lineJoin = f(r.lineJoin, a.borderJoinStyle), d.lineWidth = f(r.lineWidth, a.borderWidth), d.strokeStyle = f(r.strokeStyle, i.defaultColor);
  8358. var s = 0 === f(r.lineWidth, a.borderWidth);
  8359. if (d.setLineDash && d.setLineDash(f(r.lineDash, a.borderDash)), e.labels && e.labels.usePointStyle) {
  8360. var l = p * Math.SQRT2 / 2,
  8361. u = l / Math.SQRT2,
  8362. c = t + u,
  8363. h = n + u;
  8364. o.canvas.drawPoint(d, r.pointStyle, l, c, h)
  8365. } else s || d.strokeRect(t, n, y, p), d.fillRect(t, n, y, p);
  8366. d.restore()
  8367. }
  8368. }(v, m, r), b[l].left = v, b[l].top = m,
  8369. function(t, e, n, r) {
  8370. var i = p / 2,
  8371. o = y + i + t,
  8372. a = e + i;
  8373. d.fillText(n.text, o, a), n.hidden && (d.beginPath(), d.lineWidth = 2, d.moveTo(o, a), d.lineTo(o + r, a), d.stroke())
  8374. }(v, m, r, h), x ? c.x += g + n.padding : c.y += w
  8375. }))
  8376. }
  8377. },
  8378. handleEvent: function(t) {
  8379. var e = this,
  8380. n = e.options,
  8381. r = "mouseup" === t.type ? "click" : t.type,
  8382. i = !1;
  8383. if ("mousemove" === r) {
  8384. if (!n.onHover) return
  8385. } else {
  8386. if ("click" !== r) return;
  8387. if (!n.onClick) return
  8388. }
  8389. var o = t.x,
  8390. a = t.y;
  8391. if (o >= e.left && o <= e.right && a >= e.top && a <= e.bottom)
  8392. for (var s = e.legendHitBoxes, l = 0; l < s.length; ++l) {
  8393. var u = s[l];
  8394. if (o >= u.left && o <= u.left + u.width && a >= u.top && a <= u.top + u.height) {
  8395. if ("click" === r) {
  8396. n.onClick.call(e, t.native, e.legendItems[l]), i = !0;
  8397. break
  8398. }
  8399. if ("mousemove" === r) {
  8400. n.onHover.call(e, t.native, e.legendItems[l]), i = !0;
  8401. break
  8402. }
  8403. }
  8404. }
  8405. return i
  8406. }
  8407. });
  8408. function c(t, e) {
  8409. var n = new u({
  8410. ctx: t.ctx,
  8411. options: e,
  8412. chart: t
  8413. });
  8414. a.configure(t, n, e), a.addBox(t, n), t.legend = n
  8415. }
  8416. e.exports = {
  8417. id: "legend",
  8418. _element: u,
  8419. beforeInit: function(t) {
  8420. var e = t.options.legend;
  8421. e && c(t, e)
  8422. },
  8423. beforeUpdate: function(t) {
  8424. var e = t.options.legend,
  8425. n = t.legend;
  8426. e ? (o.mergeIf(e, r.global.legend), n ? (a.configure(t, n, e), n.options = e) : c(t, e)) : n && (a.removeBox(t, n), delete t.legend)
  8427. },
  8428. afterEvent: function(t, e) {
  8429. var n = t.legend;
  8430. n && n.handleEvent(e)
  8431. }
  8432. }
  8433. }, {
  8434. 26: 26,
  8435. 27: 27,
  8436. 31: 31,
  8437. 46: 46
  8438. }],
  8439. 53: [function(t, e, n) {
  8440. var r = t(26),
  8441. i = t(27),
  8442. o = t(46),
  8443. a = t(31),
  8444. s = o.noop;
  8445. r._set("global", {
  8446. title: {
  8447. display: !1,
  8448. fontStyle: "bold",
  8449. fullWidth: !0,
  8450. lineHeight: 1.2,
  8451. padding: 10,
  8452. position: "top",
  8453. text: "",
  8454. weight: 2e3
  8455. }
  8456. });
  8457. var l = i.extend({
  8458. initialize: function(t) {
  8459. o.extend(this, t), this.legendHitBoxes = []
  8460. },
  8461. beforeUpdate: s,
  8462. update: function(t, e, n) {
  8463. var r = this;
  8464. return r.beforeUpdate(), r.maxWidth = t, r.maxHeight = e, r.margins = n, r.beforeSetDimensions(), r.setDimensions(), r.afterSetDimensions(), r.beforeBuildLabels(), r.buildLabels(), r.afterBuildLabels(), r.beforeFit(), r.fit(), r.afterFit(), r.afterUpdate(), r.minSize
  8465. },
  8466. afterUpdate: s,
  8467. beforeSetDimensions: s,
  8468. setDimensions: function() {
  8469. var t = this;
  8470. t.isHorizontal() ? (t.width = t.maxWidth, t.left = 0, t.right = t.width) : (t.height = t.maxHeight, t.top = 0, t.bottom = t.height), t.paddingLeft = 0, t.paddingTop = 0, t.paddingRight = 0, t.paddingBottom = 0, t.minSize = {
  8471. width: 0,
  8472. height: 0
  8473. }
  8474. },
  8475. afterSetDimensions: s,
  8476. beforeBuildLabels: s,
  8477. buildLabels: s,
  8478. afterBuildLabels: s,
  8479. beforeFit: s,
  8480. fit: function() {
  8481. var t = this,
  8482. e = o.valueOrDefault,
  8483. n = t.options,
  8484. i = n.display,
  8485. a = e(n.fontSize, r.global.defaultFontSize),
  8486. s = t.minSize,
  8487. l = o.isArray(n.text) ? n.text.length : 1,
  8488. u = o.options.toLineHeight(n.lineHeight, a),
  8489. c = i ? l * u + 2 * n.padding : 0;
  8490. t.isHorizontal() ? (s.width = t.maxWidth, s.height = c) : (s.width = c, s.height = t.maxHeight), t.width = s.width, t.height = s.height
  8491. },
  8492. afterFit: s,
  8493. isHorizontal: function() {
  8494. var t = this.options.position;
  8495. return "top" === t || "bottom" === t
  8496. },
  8497. draw: function() {
  8498. var t = this,
  8499. e = t.ctx,
  8500. n = o.valueOrDefault,
  8501. i = t.options,
  8502. a = r.global;
  8503. if (i.display) {
  8504. var s, l, u, c = n(i.fontSize, a.defaultFontSize),
  8505. d = n(i.fontStyle, a.defaultFontStyle),
  8506. f = n(i.fontFamily, a.defaultFontFamily),
  8507. h = o.fontString(c, d, f),
  8508. p = o.options.toLineHeight(i.lineHeight, c),
  8509. g = p / 2 + i.padding,
  8510. v = 0,
  8511. m = t.top,
  8512. y = t.left,
  8513. b = t.bottom,
  8514. x = t.right;
  8515. e.fillStyle = n(i.fontColor, a.defaultFontColor), e.font = h, t.isHorizontal() ? (l = y + (x - y) / 2, u = m + g, s = x - y) : (l = "left" === i.position ? y + g : x - g, u = m + (b - m) / 2, s = b - m, v = Math.PI * ("left" === i.position ? -.5 : .5)), e.save(), e.translate(l, u), e.rotate(v), e.textAlign = "center", e.textBaseline = "middle";
  8516. var w = i.text;
  8517. if (o.isArray(w))
  8518. for (var S = 0, k = 0; k < w.length; ++k) e.fillText(w[k], 0, S, s), S += p;
  8519. else e.fillText(w, 0, 0, s);
  8520. e.restore()
  8521. }
  8522. }
  8523. });
  8524. function u(t, e) {
  8525. var n = new l({
  8526. ctx: t.ctx,
  8527. options: e,
  8528. chart: t
  8529. });
  8530. a.configure(t, n, e), a.addBox(t, n), t.titleBlock = n
  8531. }
  8532. e.exports = {
  8533. id: "title",
  8534. _element: l,
  8535. beforeInit: function(t) {
  8536. var e = t.options.title;
  8537. e && u(t, e)
  8538. },
  8539. beforeUpdate: function(t) {
  8540. var e = t.options.title,
  8541. n = t.titleBlock;
  8542. e ? (o.mergeIf(e, r.global.title), n ? (a.configure(t, n, e), n.options = e) : u(t, e)) : n && (a.removeBox(t, n), delete t.titleBlock)
  8543. }
  8544. }
  8545. }, {
  8546. 26: 26,
  8547. 27: 27,
  8548. 31: 31,
  8549. 46: 46
  8550. }],
  8551. 54: [function(t, e, n) {
  8552. var r = t(33),
  8553. i = t(34);
  8554. e.exports = function() {
  8555. var t = r.extend({
  8556. getLabels: function() {
  8557. var t = this.chart.data;
  8558. return this.options.labels || (this.isHorizontal() ? t.xLabels : t.yLabels) || t.labels
  8559. },
  8560. determineDataLimits: function() {
  8561. var t, e = this,
  8562. n = e.getLabels();
  8563. e.minIndex = 0, e.maxIndex = n.length - 1, void 0 !== e.options.ticks.min && (t = n.indexOf(e.options.ticks.min), e.minIndex = -1 !== t ? t : e.minIndex), void 0 !== e.options.ticks.max && (t = n.indexOf(e.options.ticks.max), e.maxIndex = -1 !== t ? t : e.maxIndex), e.min = n[e.minIndex], e.max = n[e.maxIndex]
  8564. },
  8565. buildTicks: function() {
  8566. var t = this,
  8567. e = t.getLabels();
  8568. t.ticks = 0 === t.minIndex && t.maxIndex === e.length - 1 ? e : e.slice(t.minIndex, t.maxIndex + 1)
  8569. },
  8570. getLabelForIndex: function(t, e) {
  8571. var n = this,
  8572. r = n.chart.data,
  8573. i = n.isHorizontal();
  8574. return r.yLabels && !i ? n.getRightValue(r.datasets[e].data[t]) : n.ticks[t - n.minIndex]
  8575. },
  8576. getPixelForValue: function(t, e) {
  8577. var n, r = this,
  8578. i = r.options.offset,
  8579. o = Math.max(r.maxIndex + 1 - r.minIndex - (i ? 0 : 1), 1);
  8580. if (null != t && (n = r.isHorizontal() ? t.x : t.y), void 0 !== n || void 0 !== t && isNaN(e)) {
  8581. t = n || t;
  8582. var a = r.getLabels().indexOf(t);
  8583. e = -1 !== a ? a : e
  8584. }
  8585. if (r.isHorizontal()) {
  8586. var s = r.width / o,
  8587. l = s * (e - r.minIndex);
  8588. return i && (l += s / 2), r.left + Math.round(l)
  8589. }
  8590. var u = r.height / o,
  8591. c = u * (e - r.minIndex);
  8592. return i && (c += u / 2), r.top + Math.round(c)
  8593. },
  8594. getPixelForTick: function(t) {
  8595. return this.getPixelForValue(this.ticks[t], t + this.minIndex, null)
  8596. },
  8597. getValueForPixel: function(t) {
  8598. var e = this,
  8599. n = e.options.offset,
  8600. r = Math.max(e._ticks.length - (n ? 0 : 1), 1),
  8601. i = e.isHorizontal(),
  8602. o = (i ? e.width : e.height) / r;
  8603. return t -= i ? e.left : e.top, n && (t -= o / 2), (t <= 0 ? 0 : Math.round(t / o)) + e.minIndex
  8604. },
  8605. getBasePixel: function() {
  8606. return this.bottom
  8607. }
  8608. });
  8609. i.registerScaleType("category", t, {
  8610. position: "bottom"
  8611. })
  8612. }
  8613. }, {
  8614. 33: 33,
  8615. 34: 34
  8616. }],
  8617. 55: [function(t, e, n) {
  8618. var r = t(26),
  8619. i = t(46),
  8620. o = t(34),
  8621. a = t(35);
  8622. e.exports = function(t) {
  8623. var e = {
  8624. position: "left",
  8625. ticks: {
  8626. callback: a.formatters.linear
  8627. }
  8628. },
  8629. n = t.LinearScaleBase.extend({
  8630. determineDataLimits: function() {
  8631. var t = this,
  8632. e = t.options,
  8633. n = t.chart,
  8634. r = n.data.datasets,
  8635. o = t.isHorizontal();
  8636. function a(e) {
  8637. return o ? e.xAxisID === t.id : e.yAxisID === t.id
  8638. }
  8639. t.min = null, t.max = null;
  8640. var s = e.stacked;
  8641. if (void 0 === s && i.each(r, (function(t, e) {
  8642. if (!s) {
  8643. var r = n.getDatasetMeta(e);
  8644. n.isDatasetVisible(e) && a(r) && void 0 !== r.stack && (s = !0)
  8645. }
  8646. })), e.stacked || s) {
  8647. var l = {};
  8648. i.each(r, (function(r, o) {
  8649. var s = n.getDatasetMeta(o),
  8650. u = [s.type, void 0 === e.stacked && void 0 === s.stack ? o : "", s.stack].join(".");
  8651. void 0 === l[u] && (l[u] = {
  8652. positiveValues: [],
  8653. negativeValues: []
  8654. });
  8655. var c = l[u].positiveValues,
  8656. d = l[u].negativeValues;
  8657. n.isDatasetVisible(o) && a(s) && i.each(r.data, (function(n, r) {
  8658. var i = +t.getRightValue(n);
  8659. isNaN(i) || s.data[r].hidden || (c[r] = c[r] || 0, d[r] = d[r] || 0, e.relativePoints ? c[r] = 100 : i < 0 ? d[r] += i : c[r] += i)
  8660. }))
  8661. })), i.each(l, (function(e) {
  8662. var n = e.positiveValues.concat(e.negativeValues),
  8663. r = i.min(n),
  8664. o = i.max(n);
  8665. t.min = null === t.min ? r : Math.min(t.min, r), t.max = null === t.max ? o : Math.max(t.max, o)
  8666. }))
  8667. } else i.each(r, (function(e, r) {
  8668. var o = n.getDatasetMeta(r);
  8669. n.isDatasetVisible(r) && a(o) && i.each(e.data, (function(e, n) {
  8670. var r = +t.getRightValue(e);
  8671. isNaN(r) || o.data[n].hidden || (null === t.min ? t.min = r : r < t.min && (t.min = r), null === t.max ? t.max = r : r > t.max && (t.max = r))
  8672. }))
  8673. }));
  8674. t.min = isFinite(t.min) && !isNaN(t.min) ? t.min : 0, t.max = isFinite(t.max) && !isNaN(t.max) ? t.max : 1, this.handleTickRangeOptions()
  8675. },
  8676. getTickLimit: function() {
  8677. var t, e = this.options.ticks;
  8678. if (this.isHorizontal()) t = Math.min(e.maxTicksLimit ? e.maxTicksLimit : 11, Math.ceil(this.width / 50));
  8679. else {
  8680. var n = i.valueOrDefault(e.fontSize, r.global.defaultFontSize);
  8681. t = Math.min(e.maxTicksLimit ? e.maxTicksLimit : 11, Math.ceil(this.height / (2 * n)))
  8682. }
  8683. return t
  8684. },
  8685. handleDirectionalChanges: function() {
  8686. this.isHorizontal() || this.ticks.reverse()
  8687. },
  8688. getLabelForIndex: function(t, e) {
  8689. return +this.getRightValue(this.chart.data.datasets[e].data[t])
  8690. },
  8691. getPixelForValue: function(t) {
  8692. var e = this,
  8693. n = e.start,
  8694. r = +e.getRightValue(t),
  8695. i = e.end - n;
  8696. return e.isHorizontal() ? e.left + e.width / i * (r - n) : e.bottom - e.height / i * (r - n)
  8697. },
  8698. getValueForPixel: function(t) {
  8699. var e = this,
  8700. n = e.isHorizontal(),
  8701. r = n ? e.width : e.height,
  8702. i = (n ? t - e.left : e.bottom - t) / r;
  8703. return e.start + (e.end - e.start) * i
  8704. },
  8705. getPixelForTick: function(t) {
  8706. return this.getPixelForValue(this.ticksAsNumbers[t])
  8707. }
  8708. });
  8709. o.registerScaleType("linear", n, e)
  8710. }
  8711. }, {
  8712. 26: 26,
  8713. 34: 34,
  8714. 35: 35,
  8715. 46: 46
  8716. }],
  8717. 56: [function(t, e, n) {
  8718. var r = t(46),
  8719. i = t(33);
  8720. e.exports = function(t) {
  8721. var e = r.noop;
  8722. t.LinearScaleBase = i.extend({
  8723. getRightValue: function(t) {
  8724. return "string" == typeof t ? +t : i.prototype.getRightValue.call(this, t)
  8725. },
  8726. handleTickRangeOptions: function() {
  8727. var t = this,
  8728. e = t.options.ticks;
  8729. if (e.beginAtZero) {
  8730. var n = r.sign(t.min),
  8731. i = r.sign(t.max);
  8732. n < 0 && i < 0 ? t.max = 0 : n > 0 && i > 0 && (t.min = 0)
  8733. }
  8734. var o = void 0 !== e.min || void 0 !== e.suggestedMin,
  8735. a = void 0 !== e.max || void 0 !== e.suggestedMax;
  8736. void 0 !== e.min ? t.min = e.min : void 0 !== e.suggestedMin && (null === t.min ? t.min = e.suggestedMin : t.min = Math.min(t.min, e.suggestedMin)), void 0 !== e.max ? t.max = e.max : void 0 !== e.suggestedMax && (null === t.max ? t.max = e.suggestedMax : t.max = Math.max(t.max, e.suggestedMax)), o !== a && t.min >= t.max && (o ? t.max = t.min + 1 : t.min = t.max - 1), t.min === t.max && (t.max++, e.beginAtZero || t.min--)
  8737. },
  8738. getTickLimit: e,
  8739. handleDirectionalChanges: e,
  8740. buildTicks: function() {
  8741. var t = this,
  8742. e = t.options.ticks,
  8743. n = t.getTickLimit(),
  8744. i = {
  8745. maxTicks: n = Math.max(2, n),
  8746. min: e.min,
  8747. max: e.max,
  8748. precision: e.precision,
  8749. stepSize: r.valueOrDefault(e.fixedStepSize, e.stepSize)
  8750. },
  8751. o = t.ticks = function(t, e) {
  8752. var n, i, o, a = [];
  8753. if (t.stepSize && t.stepSize > 0) o = t.stepSize;
  8754. else {
  8755. var s = r.niceNum(e.max - e.min, !1);
  8756. o = r.niceNum(s / (t.maxTicks - 1), !0), void 0 !== (i = t.precision) && (n = Math.pow(10, i), o = Math.ceil(o * n) / n)
  8757. }
  8758. var l = Math.floor(e.min / o) * o,
  8759. u = Math.ceil(e.max / o) * o;
  8760. r.isNullOrUndef(t.min) || r.isNullOrUndef(t.max) || !t.stepSize || r.almostWhole((t.max - t.min) / t.stepSize, o / 1e3) && (l = t.min, u = t.max);
  8761. var c = (u - l) / o;
  8762. c = r.almostEquals(c, Math.round(c), o / 1e3) ? Math.round(c) : Math.ceil(c), i = 1, o < 1 && (i = Math.pow(10, 1 - Math.floor(r.log10(o))), l = Math.round(l * i) / i, u = Math.round(u * i) / i), a.push(void 0 !== t.min ? t.min : l);
  8763. for (var d = 1; d < c; ++d) a.push(Math.round((l + d * o) * i) / i);
  8764. return a.push(void 0 !== t.max ? t.max : u), a
  8765. }(i, t);
  8766. t.handleDirectionalChanges(), t.max = r.max(o), t.min = r.min(o), e.reverse ? (o.reverse(), t.start = t.max, t.end = t.min) : (t.start = t.min, t.end = t.max)
  8767. },
  8768. convertTicksToLabels: function() {
  8769. var t = this;
  8770. t.ticksAsNumbers = t.ticks.slice(), t.zeroLineIndex = t.ticks.indexOf(0), i.prototype.convertTicksToLabels.call(t)
  8771. }
  8772. })
  8773. }
  8774. }, {
  8775. 33: 33,
  8776. 46: 46
  8777. }],
  8778. 57: [function(t, e, n) {
  8779. var r = t(46),
  8780. i = t(33),
  8781. o = t(34),
  8782. a = t(35);
  8783. e.exports = function(t) {
  8784. var e = {
  8785. position: "left",
  8786. ticks: {
  8787. callback: a.formatters.logarithmic
  8788. }
  8789. },
  8790. n = i.extend({
  8791. determineDataLimits: function() {
  8792. var t = this,
  8793. e = t.options,
  8794. n = t.chart,
  8795. i = n.data.datasets,
  8796. o = t.isHorizontal();
  8797. function a(e) {
  8798. return o ? e.xAxisID === t.id : e.yAxisID === t.id
  8799. }
  8800. t.min = null, t.max = null, t.minNotZero = null;
  8801. var s = e.stacked;
  8802. if (void 0 === s && r.each(i, (function(t, e) {
  8803. if (!s) {
  8804. var r = n.getDatasetMeta(e);
  8805. n.isDatasetVisible(e) && a(r) && void 0 !== r.stack && (s = !0)
  8806. }
  8807. })), e.stacked || s) {
  8808. var l = {};
  8809. r.each(i, (function(i, o) {
  8810. var s = n.getDatasetMeta(o),
  8811. u = [s.type, void 0 === e.stacked && void 0 === s.stack ? o : "", s.stack].join(".");
  8812. n.isDatasetVisible(o) && a(s) && (void 0 === l[u] && (l[u] = []), r.each(i.data, (function(e, n) {
  8813. var r = l[u],
  8814. i = +t.getRightValue(e);
  8815. isNaN(i) || s.data[n].hidden || i < 0 || (r[n] = r[n] || 0, r[n] += i)
  8816. })))
  8817. })), r.each(l, (function(e) {
  8818. if (e.length > 0) {
  8819. var n = r.min(e),
  8820. i = r.max(e);
  8821. t.min = null === t.min ? n : Math.min(t.min, n), t.max = null === t.max ? i : Math.max(t.max, i)
  8822. }
  8823. }))
  8824. } else r.each(i, (function(e, i) {
  8825. var o = n.getDatasetMeta(i);
  8826. n.isDatasetVisible(i) && a(o) && r.each(e.data, (function(e, n) {
  8827. var r = +t.getRightValue(e);
  8828. isNaN(r) || o.data[n].hidden || r < 0 || (null === t.min ? t.min = r : r < t.min && (t.min = r), null === t.max ? t.max = r : r > t.max && (t.max = r), 0 !== r && (null === t.minNotZero || r < t.minNotZero) && (t.minNotZero = r))
  8829. }))
  8830. }));
  8831. this.handleTickRangeOptions()
  8832. },
  8833. handleTickRangeOptions: function() {
  8834. var t = this,
  8835. e = t.options.ticks,
  8836. n = r.valueOrDefault;
  8837. t.min = n(e.min, t.min), t.max = n(e.max, t.max), t.min === t.max && (0 !== t.min && null !== t.min ? (t.min = Math.pow(10, Math.floor(r.log10(t.min)) - 1), t.max = Math.pow(10, Math.floor(r.log10(t.max)) + 1)) : (t.min = 1, t.max = 10)), null === t.min && (t.min = Math.pow(10, Math.floor(r.log10(t.max)) - 1)), null === t.max && (t.max = 0 !== t.min ? Math.pow(10, Math.floor(r.log10(t.min)) + 1) : 10), null === t.minNotZero && (t.min > 0 ? t.minNotZero = t.min : t.max < 1 ? t.minNotZero = Math.pow(10, Math.floor(r.log10(t.max))) : t.minNotZero = 1)
  8838. },
  8839. buildTicks: function() {
  8840. var t = this,
  8841. e = t.options.ticks,
  8842. n = !t.isHorizontal(),
  8843. i = {
  8844. min: e.min,
  8845. max: e.max
  8846. },
  8847. o = t.ticks = function(t, e) {
  8848. var n, i, o = [],
  8849. a = r.valueOrDefault,
  8850. s = a(t.min, Math.pow(10, Math.floor(r.log10(e.min)))),
  8851. l = Math.floor(r.log10(e.max)),
  8852. u = Math.ceil(e.max / Math.pow(10, l));
  8853. 0 === s ? (n = Math.floor(r.log10(e.minNotZero)), i = Math.floor(e.minNotZero / Math.pow(10, n)), o.push(s), s = i * Math.pow(10, n)) : (n = Math.floor(r.log10(s)), i = Math.floor(s / Math.pow(10, n)));
  8854. var c = n < 0 ? Math.pow(10, Math.abs(n)) : 1;
  8855. do {
  8856. o.push(s), 10 === ++i && (i = 1, c = ++n >= 0 ? 1 : c), s = Math.round(i * Math.pow(10, n) * c) / c
  8857. } while (n < l || n === l && i < u);
  8858. var d = a(t.max, s);
  8859. return o.push(d), o
  8860. }(i, t);
  8861. t.max = r.max(o), t.min = r.min(o), e.reverse ? (n = !n, t.start = t.max, t.end = t.min) : (t.start = t.min, t.end = t.max), n && o.reverse()
  8862. },
  8863. convertTicksToLabels: function() {
  8864. this.tickValues = this.ticks.slice(), i.prototype.convertTicksToLabels.call(this)
  8865. },
  8866. getLabelForIndex: function(t, e) {
  8867. return +this.getRightValue(this.chart.data.datasets[e].data[t])
  8868. },
  8869. getPixelForTick: function(t) {
  8870. return this.getPixelForValue(this.tickValues[t])
  8871. },
  8872. _getFirstTickValue: function(t) {
  8873. var e = Math.floor(r.log10(t));
  8874. return Math.floor(t / Math.pow(10, e)) * Math.pow(10, e)
  8875. },
  8876. getPixelForValue: function(e) {
  8877. var n, i, o, a, s, l = this,
  8878. u = l.options.ticks.reverse,
  8879. c = r.log10,
  8880. d = l._getFirstTickValue(l.minNotZero),
  8881. f = 0;
  8882. return e = +l.getRightValue(e), u ? (o = l.end, a = l.start, s = -1) : (o = l.start, a = l.end, s = 1), l.isHorizontal() ? (n = l.width, i = u ? l.right : l.left) : (n = l.height, s *= -1, i = u ? l.top : l.bottom), e !== o && (0 === o && (n -= f = r.getValueOrDefault(l.options.ticks.fontSize, t.defaults.global.defaultFontSize), o = d), 0 !== e && (f += n / (c(a) - c(o)) * (c(e) - c(o))), i += s * f), i
  8883. },
  8884. getValueForPixel: function(e) {
  8885. var n, i, o, a, s = this,
  8886. l = s.options.ticks.reverse,
  8887. u = r.log10,
  8888. c = s._getFirstTickValue(s.minNotZero);
  8889. if (l ? (i = s.end, o = s.start) : (i = s.start, o = s.end), s.isHorizontal() ? (n = s.width, a = l ? s.right - e : e - s.left) : (n = s.height, a = l ? e - s.top : s.bottom - e), a !== i) {
  8890. if (0 === i) {
  8891. var d = r.getValueOrDefault(s.options.ticks.fontSize, t.defaults.global.defaultFontSize);
  8892. a -= d, n -= d, i = c
  8893. }
  8894. a *= u(o) - u(i), a /= n, a = Math.pow(10, u(i) + a)
  8895. }
  8896. return a
  8897. }
  8898. });
  8899. o.registerScaleType("logarithmic", n, e)
  8900. }
  8901. }, {
  8902. 33: 33,
  8903. 34: 34,
  8904. 35: 35,
  8905. 46: 46
  8906. }],
  8907. 58: [function(t, e, n) {
  8908. var r = t(26),
  8909. i = t(46),
  8910. o = t(34),
  8911. a = t(35);
  8912. e.exports = function(t) {
  8913. var e = r.global,
  8914. n = {
  8915. display: !0,
  8916. animate: !0,
  8917. position: "chartArea",
  8918. angleLines: {
  8919. display: !0,
  8920. color: "rgba(0, 0, 0, 0.1)",
  8921. lineWidth: 1
  8922. },
  8923. gridLines: {
  8924. circular: !1
  8925. },
  8926. ticks: {
  8927. showLabelBackdrop: !0,
  8928. backdropColor: "rgba(255,255,255,0.75)",
  8929. backdropPaddingY: 2,
  8930. backdropPaddingX: 2,
  8931. callback: a.formatters.linear
  8932. },
  8933. pointLabels: {
  8934. display: !0,
  8935. fontSize: 10,
  8936. callback: function(t) {
  8937. return t
  8938. }
  8939. }
  8940. };
  8941. function s(t) {
  8942. var e = t.options;
  8943. return e.angleLines.display || e.pointLabels.display ? t.chart.data.labels.length : 0
  8944. }
  8945. function l(t) {
  8946. var n = t.options.pointLabels,
  8947. r = i.valueOrDefault(n.fontSize, e.defaultFontSize),
  8948. o = i.valueOrDefault(n.fontStyle, e.defaultFontStyle),
  8949. a = i.valueOrDefault(n.fontFamily, e.defaultFontFamily);
  8950. return {
  8951. size: r,
  8952. style: o,
  8953. family: a,
  8954. font: i.fontString(r, o, a)
  8955. }
  8956. }
  8957. function u(t, e, n, r, i) {
  8958. return t === r || t === i ? {
  8959. start: e - n / 2,
  8960. end: e + n / 2
  8961. } : t < r || t > i ? {
  8962. start: e - n - 5,
  8963. end: e
  8964. } : {
  8965. start: e,
  8966. end: e + n + 5
  8967. }
  8968. }
  8969. function c(t) {
  8970. return 0 === t || 180 === t ? "center" : t < 180 ? "left" : "right"
  8971. }
  8972. function d(t, e, n, r) {
  8973. if (i.isArray(e))
  8974. for (var o = n.y, a = 1.5 * r, s = 0; s < e.length; ++s) t.fillText(e[s], n.x, o), o += a;
  8975. else t.fillText(e, n.x, n.y)
  8976. }
  8977. function f(t, e, n) {
  8978. 90 === t || 270 === t ? n.y -= e.h / 2 : (t > 270 || t < 90) && (n.y -= e.h)
  8979. }
  8980. function h(t) {
  8981. return i.isNumber(t) ? t : 0
  8982. }
  8983. var p = t.LinearScaleBase.extend({
  8984. setDimensions: function() {
  8985. var t = this,
  8986. n = t.options,
  8987. r = n.ticks;
  8988. t.width = t.maxWidth, t.height = t.maxHeight, t.xCenter = Math.round(t.width / 2), t.yCenter = Math.round(t.height / 2);
  8989. var o = i.min([t.height, t.width]),
  8990. a = i.valueOrDefault(r.fontSize, e.defaultFontSize);
  8991. t.drawingArea = n.display ? o / 2 - (a / 2 + r.backdropPaddingY) : o / 2
  8992. },
  8993. determineDataLimits: function() {
  8994. var t = this,
  8995. e = t.chart,
  8996. n = Number.POSITIVE_INFINITY,
  8997. r = Number.NEGATIVE_INFINITY;
  8998. i.each(e.data.datasets, (function(o, a) {
  8999. if (e.isDatasetVisible(a)) {
  9000. var s = e.getDatasetMeta(a);
  9001. i.each(o.data, (function(e, i) {
  9002. var o = +t.getRightValue(e);
  9003. isNaN(o) || s.data[i].hidden || (n = Math.min(o, n), r = Math.max(o, r))
  9004. }))
  9005. }
  9006. })), t.min = n === Number.POSITIVE_INFINITY ? 0 : n, t.max = r === Number.NEGATIVE_INFINITY ? 0 : r, t.handleTickRangeOptions()
  9007. },
  9008. getTickLimit: function() {
  9009. var t = this.options.ticks,
  9010. n = i.valueOrDefault(t.fontSize, e.defaultFontSize);
  9011. return Math.min(t.maxTicksLimit ? t.maxTicksLimit : 11, Math.ceil(this.drawingArea / (1.5 * n)))
  9012. },
  9013. convertTicksToLabels: function() {
  9014. var e = this;
  9015. t.LinearScaleBase.prototype.convertTicksToLabels.call(e), e.pointLabels = e.chart.data.labels.map(e.options.pointLabels.callback, e)
  9016. },
  9017. getLabelForIndex: function(t, e) {
  9018. return +this.getRightValue(this.chart.data.datasets[e].data[t])
  9019. },
  9020. fit: function() {
  9021. var t, e;
  9022. this.options.pointLabels.display ? function(t) {
  9023. var e, n, r, o = l(t),
  9024. a = Math.min(t.height / 2, t.width / 2),
  9025. c = {
  9026. r: t.width,
  9027. l: 0,
  9028. t: t.height,
  9029. b: 0
  9030. },
  9031. d = {};
  9032. t.ctx.font = o.font, t._pointLabelSizes = [];
  9033. var f, h, p, g = s(t);
  9034. for (e = 0; e < g; e++) {
  9035. r = t.getPointPosition(e, a), f = t.ctx, h = o.size, p = t.pointLabels[e] || "", n = i.isArray(p) ? {
  9036. w: i.longestText(f, f.font, p),
  9037. h: p.length * h + 1.5 * (p.length - 1) * h
  9038. } : {
  9039. w: f.measureText(p).width,
  9040. h: h
  9041. }, t._pointLabelSizes[e] = n;
  9042. var v = t.getIndexAngle(e),
  9043. m = i.toDegrees(v) % 360,
  9044. y = u(m, r.x, n.w, 0, 180),
  9045. b = u(m, r.y, n.h, 90, 270);
  9046. y.start < c.l && (c.l = y.start, d.l = v), y.end > c.r && (c.r = y.end, d.r = v), b.start < c.t && (c.t = b.start, d.t = v), b.end > c.b && (c.b = b.end, d.b = v)
  9047. }
  9048. t.setReductions(a, c, d)
  9049. }(this) : (t = this, e = Math.min(t.height / 2, t.width / 2), t.drawingArea = Math.round(e), t.setCenterPoint(0, 0, 0, 0))
  9050. },
  9051. setReductions: function(t, e, n) {
  9052. var r = e.l / Math.sin(n.l),
  9053. i = Math.max(e.r - this.width, 0) / Math.sin(n.r),
  9054. o = -e.t / Math.cos(n.t),
  9055. a = -Math.max(e.b - this.height, 0) / Math.cos(n.b);
  9056. r = h(r), i = h(i), o = h(o), a = h(a), this.drawingArea = Math.min(Math.round(t - (r + i) / 2), Math.round(t - (o + a) / 2)), this.setCenterPoint(r, i, o, a)
  9057. },
  9058. setCenterPoint: function(t, e, n, r) {
  9059. var i = this,
  9060. o = i.width - e - i.drawingArea,
  9061. a = t + i.drawingArea,
  9062. s = n + i.drawingArea,
  9063. l = i.height - r - i.drawingArea;
  9064. i.xCenter = Math.round((a + o) / 2 + i.left), i.yCenter = Math.round((s + l) / 2 + i.top)
  9065. },
  9066. getIndexAngle: function(t) {
  9067. return t * (2 * Math.PI / s(this)) + (this.chart.options && this.chart.options.startAngle ? this.chart.options.startAngle : 0) * Math.PI * 2 / 360
  9068. },
  9069. getDistanceFromCenterForValue: function(t) {
  9070. var e = this;
  9071. if (null === t) return 0;
  9072. var n = e.drawingArea / (e.max - e.min);
  9073. return e.options.ticks.reverse ? (e.max - t) * n : (t - e.min) * n
  9074. },
  9075. getPointPosition: function(t, e) {
  9076. var n = this.getIndexAngle(t) - Math.PI / 2;
  9077. return {
  9078. x: Math.round(Math.cos(n) * e) + this.xCenter,
  9079. y: Math.round(Math.sin(n) * e) + this.yCenter
  9080. }
  9081. },
  9082. getPointPositionForValue: function(t, e) {
  9083. return this.getPointPosition(t, this.getDistanceFromCenterForValue(e))
  9084. },
  9085. getBasePosition: function() {
  9086. var t = this.min,
  9087. e = this.max;
  9088. return this.getPointPositionForValue(0, this.beginAtZero ? 0 : t < 0 && e < 0 ? e : t > 0 && e > 0 ? t : 0)
  9089. },
  9090. draw: function() {
  9091. var t = this,
  9092. n = t.options,
  9093. r = n.gridLines,
  9094. o = n.ticks,
  9095. a = i.valueOrDefault;
  9096. if (n.display) {
  9097. var u = t.ctx,
  9098. h = this.getIndexAngle(0),
  9099. p = a(o.fontSize, e.defaultFontSize),
  9100. g = a(o.fontStyle, e.defaultFontStyle),
  9101. v = a(o.fontFamily, e.defaultFontFamily),
  9102. m = i.fontString(p, g, v);
  9103. i.each(t.ticks, (function(n, l) {
  9104. if (l > 0 || o.reverse) {
  9105. var c = t.getDistanceFromCenterForValue(t.ticksAsNumbers[l]);
  9106. if (r.display && 0 !== l && function(t, e, n, r) {
  9107. var o = t.ctx;
  9108. if (o.strokeStyle = i.valueAtIndexOrDefault(e.color, r - 1), o.lineWidth = i.valueAtIndexOrDefault(e.lineWidth, r - 1), t.options.gridLines.circular) o.beginPath(), o.arc(t.xCenter, t.yCenter, n, 0, 2 * Math.PI), o.closePath(), o.stroke();
  9109. else {
  9110. var a = s(t);
  9111. if (0 === a) return;
  9112. o.beginPath();
  9113. var l = t.getPointPosition(0, n);
  9114. o.moveTo(l.x, l.y);
  9115. for (var u = 1; u < a; u++) l = t.getPointPosition(u, n), o.lineTo(l.x, l.y);
  9116. o.closePath(), o.stroke()
  9117. }
  9118. }(t, r, c, l), o.display) {
  9119. var d = a(o.fontColor, e.defaultFontColor);
  9120. if (u.font = m, u.save(), u.translate(t.xCenter, t.yCenter), u.rotate(h), o.showLabelBackdrop) {
  9121. var f = u.measureText(n).width;
  9122. u.fillStyle = o.backdropColor, u.fillRect(-f / 2 - o.backdropPaddingX, -c - p / 2 - o.backdropPaddingY, f + 2 * o.backdropPaddingX, p + 2 * o.backdropPaddingY)
  9123. }
  9124. u.textAlign = "center", u.textBaseline = "middle", u.fillStyle = d, u.fillText(n, 0, -c), u.restore()
  9125. }
  9126. }
  9127. })), (n.angleLines.display || n.pointLabels.display) && function(t) {
  9128. var n = t.ctx,
  9129. r = t.options,
  9130. o = r.angleLines,
  9131. a = r.pointLabels;
  9132. n.lineWidth = o.lineWidth, n.strokeStyle = o.color;
  9133. var u = t.getDistanceFromCenterForValue(r.ticks.reverse ? t.min : t.max),
  9134. h = l(t);
  9135. n.textBaseline = "top";
  9136. for (var p = s(t) - 1; p >= 0; p--) {
  9137. if (o.display) {
  9138. var g = t.getPointPosition(p, u);
  9139. n.beginPath(), n.moveTo(t.xCenter, t.yCenter), n.lineTo(g.x, g.y), n.stroke(), n.closePath()
  9140. }
  9141. if (a.display) {
  9142. var v = t.getPointPosition(p, u + 5),
  9143. m = i.valueAtIndexOrDefault(a.fontColor, p, e.defaultFontColor);
  9144. n.font = h.font, n.fillStyle = m;
  9145. var y = t.getIndexAngle(p),
  9146. b = i.toDegrees(y);
  9147. n.textAlign = c(b), f(b, t._pointLabelSizes[p], v), d(n, t.pointLabels[p] || "", v, h.size)
  9148. }
  9149. }
  9150. }(t)
  9151. }
  9152. }
  9153. });
  9154. o.registerScaleType("radialLinear", p, n)
  9155. }
  9156. }, {
  9157. 26: 26,
  9158. 34: 34,
  9159. 35: 35,
  9160. 46: 46
  9161. }],
  9162. 59: [function(t, e, n) {
  9163. var r = t(1);
  9164. r = "function" == typeof r ? r : window.moment;
  9165. var i = t(26),
  9166. o = t(46),
  9167. a = t(33),
  9168. s = t(34),
  9169. l = Number.MIN_SAFE_INTEGER || -9007199254740991,
  9170. u = Number.MAX_SAFE_INTEGER || 9007199254740991,
  9171. c = {
  9172. millisecond: {
  9173. common: !0,
  9174. size: 1,
  9175. steps: [1, 2, 5, 10, 20, 50, 100, 250, 500]
  9176. },
  9177. second: {
  9178. common: !0,
  9179. size: 1e3,
  9180. steps: [1, 2, 5, 10, 15, 30]
  9181. },
  9182. minute: {
  9183. common: !0,
  9184. size: 6e4,
  9185. steps: [1, 2, 5, 10, 15, 30]
  9186. },
  9187. hour: {
  9188. common: !0,
  9189. size: 36e5,
  9190. steps: [1, 2, 3, 6, 12]
  9191. },
  9192. day: {
  9193. common: !0,
  9194. size: 864e5,
  9195. steps: [1, 2, 5]
  9196. },
  9197. week: {
  9198. common: !1,
  9199. size: 6048e5,
  9200. steps: [1, 2, 3, 4]
  9201. },
  9202. month: {
  9203. common: !0,
  9204. size: 2628e6,
  9205. steps: [1, 2, 3]
  9206. },
  9207. quarter: {
  9208. common: !1,
  9209. size: 7884e6,
  9210. steps: [1, 2, 3, 4]
  9211. },
  9212. year: {
  9213. common: !0,
  9214. size: 3154e7
  9215. }
  9216. },
  9217. d = Object.keys(c);
  9218. function f(t, e) {
  9219. return t - e
  9220. }
  9221. function h(t) {
  9222. var e, n, r, i = {},
  9223. o = [];
  9224. for (e = 0, n = t.length; e < n; ++e) i[r = t[e]] || (i[r] = !0, o.push(r));
  9225. return o
  9226. }
  9227. function p(t, e, n, r) {
  9228. var i = function(t, e, n) {
  9229. for (var r, i, o, a = 0, s = t.length - 1; a >= 0 && a <= s;) {
  9230. if (i = t[(r = a + s >> 1) - 1] || null, o = t[r], !i) return {
  9231. lo: null,
  9232. hi: o
  9233. };
  9234. if (o[e] < n) a = r + 1;
  9235. else {
  9236. if (!(i[e] > n)) return {
  9237. lo: i,
  9238. hi: o
  9239. };
  9240. s = r - 1
  9241. }
  9242. }
  9243. return {
  9244. lo: o,
  9245. hi: null
  9246. }
  9247. }(t, e, n),
  9248. o = i.lo ? i.hi ? i.lo : t[t.length - 2] : t[0],
  9249. a = i.lo ? i.hi ? i.hi : t[t.length - 1] : t[1],
  9250. s = a[e] - o[e],
  9251. l = s ? (n - o[e]) / s : 0,
  9252. u = (a[r] - o[r]) * l;
  9253. return o[r] + u
  9254. }
  9255. function g(t, e) {
  9256. var n = e.parser,
  9257. i = e.parser || e.format;
  9258. return "function" == typeof n ? n(t) : "string" == typeof t && "string" == typeof i ? r(t, i) : (t instanceof r || (t = r(t)), t.isValid() ? t : "function" == typeof i ? i(t) : t)
  9259. }
  9260. function v(t, e) {
  9261. if (o.isNullOrUndef(t)) return null;
  9262. var n = e.options.time,
  9263. r = g(e.getRightValue(t), n);
  9264. return r.isValid() ? (n.round && r.startOf(n.round), r.valueOf()) : null
  9265. }
  9266. function m(t) {
  9267. for (var e = d.indexOf(t) + 1, n = d.length; e < n; ++e)
  9268. if (c[d[e]].common) return d[e]
  9269. }
  9270. function y(t, e, n, i) {
  9271. var a, s = i.time,
  9272. l = s.unit || function(t, e, n, r) {
  9273. var i, o, a, s = d.length;
  9274. for (i = d.indexOf(t); i < s - 1; ++i)
  9275. if (a = (o = c[d[i]]).steps ? o.steps[o.steps.length - 1] : u, o.common && Math.ceil((n - e) / (a * o.size)) <= r) return d[i];
  9276. return d[s - 1]
  9277. }(s.minUnit, t, e, n),
  9278. f = m(l),
  9279. h = o.valueOrDefault(s.stepSize, s.unitStepSize),
  9280. p = "week" === l && s.isoWeekday,
  9281. g = i.ticks.major.enabled,
  9282. v = c[l],
  9283. y = r(t),
  9284. b = r(e),
  9285. x = [];
  9286. for (h || (h = function(t, e, n, r) {
  9287. var i, o, a, s = e - t,
  9288. l = c[n],
  9289. u = l.size,
  9290. d = l.steps;
  9291. if (!d) return Math.ceil(s / (r * u));
  9292. for (i = 0, o = d.length; i < o && (a = d[i], !(Math.ceil(s / (u * a)) <= r)); ++i);
  9293. return a
  9294. }(t, e, l, n)), p && (y = y.isoWeekday(p), b = b.isoWeekday(p)), y = y.startOf(p ? "day" : l), (b = b.startOf(p ? "day" : l)) < e && b.add(1, l), a = r(y), g && f && !p && !s.round && (a.startOf(f), a.add(~~((y - a) / (v.size * h)) * h, l)); a < b; a.add(h, l)) x.push(+a);
  9295. return x.push(+a), x
  9296. }
  9297. e.exports = function() {
  9298. var t = a.extend({
  9299. initialize: function() {
  9300. if (!r) throw new Error("Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com");
  9301. this.mergeTicksOptions(), a.prototype.initialize.call(this)
  9302. },
  9303. update: function() {
  9304. var t = this,
  9305. e = t.options;
  9306. return e.time && e.time.format && console.warn("options.time.format is deprecated and replaced by options.time.parser."), a.prototype.update.apply(t, arguments)
  9307. },
  9308. getRightValue: function(t) {
  9309. return t && void 0 !== t.t && (t = t.t), a.prototype.getRightValue.call(this, t)
  9310. },
  9311. determineDataLimits: function() {
  9312. var t, e, n, i, a, s, c = this,
  9313. d = c.chart,
  9314. p = c.options.time,
  9315. g = p.unit || "day",
  9316. m = u,
  9317. y = l,
  9318. b = [],
  9319. x = [],
  9320. w = [];
  9321. for (t = 0, n = d.data.labels.length; t < n; ++t) w.push(v(d.data.labels[t], c));
  9322. for (t = 0, n = (d.data.datasets || []).length; t < n; ++t)
  9323. if (d.isDatasetVisible(t))
  9324. if (a = d.data.datasets[t].data, o.isObject(a[0]))
  9325. for (x[t] = [], e = 0, i = a.length; e < i; ++e) s = v(a[e], c), b.push(s), x[t][e] = s;
  9326. else b.push.apply(b, w), x[t] = w.slice(0);
  9327. else x[t] = [];
  9328. w.length && (w = h(w).sort(f), m = Math.min(m, w[0]), y = Math.max(y, w[w.length - 1])), b.length && (b = h(b).sort(f), m = Math.min(m, b[0]), y = Math.max(y, b[b.length - 1])), m = v(p.min, c) || m, y = v(p.max, c) || y, m = m === u ? +r().startOf(g) : m, y = y === l ? +r().endOf(g) + 1 : y, c.min = Math.min(m, y), c.max = Math.max(m + 1, y), c._horizontal = c.isHorizontal(), c._table = [], c._timestamps = {
  9329. data: b,
  9330. datasets: x,
  9331. labels: w
  9332. }
  9333. },
  9334. buildTicks: function() {
  9335. var t, e, n, i = this,
  9336. o = i.min,
  9337. a = i.max,
  9338. s = i.options,
  9339. l = s.time,
  9340. u = [],
  9341. f = [];
  9342. switch (s.ticks.source) {
  9343. case "data":
  9344. u = i._timestamps.data;
  9345. break;
  9346. case "labels":
  9347. u = i._timestamps.labels;
  9348. break;
  9349. case "auto":
  9350. default:
  9351. u = y(o, a, i.getLabelCapacity(o), s)
  9352. }
  9353. for ("ticks" === s.bounds && u.length && (o = u[0], a = u[u.length - 1]), o = v(l.min, i) || o, a = v(l.max, i) || a, t = 0, e = u.length; t < e; ++t)(n = u[t]) >= o && n <= a && f.push(n);
  9354. return i.min = o, i.max = a, i._unit = l.unit || function(t, e, n, i) {
  9355. var o, a, s = r.duration(r(i).diff(r(n)));
  9356. for (o = d.length - 1; o >= d.indexOf(e); o--)
  9357. if (a = d[o], c[a].common && s.as(a) >= t.length) return a;
  9358. return d[e ? d.indexOf(e) : 0]
  9359. }(f, l.minUnit, i.min, i.max), i._majorUnit = m(i._unit), i._table = function(t, e, n, r) {
  9360. if ("linear" === r || !t.length) return [{
  9361. time: e,
  9362. pos: 0
  9363. }, {
  9364. time: n,
  9365. pos: 1
  9366. }];
  9367. var i, o, a, s, l, u = [],
  9368. c = [e];
  9369. for (i = 0, o = t.length; i < o; ++i)(s = t[i]) > e && s < n && c.push(s);
  9370. for (c.push(n), i = 0, o = c.length; i < o; ++i) l = c[i + 1], a = c[i - 1], s = c[i], void 0 !== a && void 0 !== l && Math.round((l + a) / 2) === s || u.push({
  9371. time: s,
  9372. pos: i / (o - 1)
  9373. });
  9374. return u
  9375. }(i._timestamps.data, o, a, s.distribution), i._offsets = function(t, e, n, r, i) {
  9376. var o, a, s = 0,
  9377. l = 0;
  9378. return i.offset && e.length && (i.time.min || (o = e.length > 1 ? e[1] : r, a = e[0], s = (p(t, "time", o, "pos") - p(t, "time", a, "pos")) / 2), i.time.max || (o = e[e.length - 1], a = e.length > 1 ? e[e.length - 2] : n, l = (p(t, "time", o, "pos") - p(t, "time", a, "pos")) / 2)), {
  9379. left: s,
  9380. right: l
  9381. }
  9382. }(i._table, f, o, a, s), i._labelFormat = function(t, e) {
  9383. var n, r, i, o = t.length;
  9384. for (n = 0; n < o; n++) {
  9385. if (0 !== (r = g(t[n], e)).millisecond()) return "MMM D, YYYY h:mm:ss.SSS a";
  9386. 0 === r.second() && 0 === r.minute() && 0 === r.hour() || (i = !0)
  9387. }
  9388. return i ? "MMM D, YYYY h:mm:ss a" : "MMM D, YYYY"
  9389. }(i._timestamps.data, l),
  9390. function(t, e) {
  9391. var n, i, o, a, s = [];
  9392. for (n = 0, i = t.length; n < i; ++n) o = t[n], a = !!e && o === +r(o).startOf(e), s.push({
  9393. value: o,
  9394. major: a
  9395. });
  9396. return s
  9397. }(f, i._majorUnit)
  9398. },
  9399. getLabelForIndex: function(t, e) {
  9400. var n = this.chart.data,
  9401. r = this.options.time,
  9402. i = n.labels && t < n.labels.length ? n.labels[t] : "",
  9403. a = n.datasets[e].data[t];
  9404. return o.isObject(a) && (i = this.getRightValue(a)), r.tooltipFormat ? g(i, r).format(r.tooltipFormat) : "string" == typeof i ? i : g(i, r).format(this._labelFormat)
  9405. },
  9406. tickFormatFunction: function(t, e, n, r) {
  9407. var i = this.options,
  9408. a = t.valueOf(),
  9409. s = i.time.displayFormats,
  9410. l = s[this._unit],
  9411. u = this._majorUnit,
  9412. c = s[u],
  9413. d = t.clone().startOf(u).valueOf(),
  9414. f = i.ticks.major,
  9415. h = f.enabled && u && c && a === d,
  9416. p = t.format(r || (h ? c : l)),
  9417. g = h ? f : i.ticks.minor,
  9418. v = o.valueOrDefault(g.callback, g.userCallback);
  9419. return v ? v(p, e, n) : p
  9420. },
  9421. convertTicksToLabels: function(t) {
  9422. var e, n, i = [];
  9423. for (e = 0, n = t.length; e < n; ++e) i.push(this.tickFormatFunction(r(t[e].value), e, t));
  9424. return i
  9425. },
  9426. getPixelForOffset: function(t) {
  9427. var e = this,
  9428. n = e._horizontal ? e.width : e.height,
  9429. r = e._horizontal ? e.left : e.top,
  9430. i = p(e._table, "time", t, "pos");
  9431. return r + n * (e._offsets.left + i) / (e._offsets.left + 1 + e._offsets.right)
  9432. },
  9433. getPixelForValue: function(t, e, n) {
  9434. var r = null;
  9435. if (void 0 !== e && void 0 !== n && (r = this._timestamps.datasets[n][e]), null === r && (r = v(t, this)), null !== r) return this.getPixelForOffset(r)
  9436. },
  9437. getPixelForTick: function(t) {
  9438. var e = this.getTicks();
  9439. return t >= 0 && t < e.length ? this.getPixelForOffset(e[t].value) : null
  9440. },
  9441. getValueForPixel: function(t) {
  9442. var e = this,
  9443. n = e._horizontal ? e.width : e.height,
  9444. i = e._horizontal ? e.left : e.top,
  9445. o = (n ? (t - i) / n : 0) * (e._offsets.left + 1 + e._offsets.left) - e._offsets.right,
  9446. a = p(e._table, "pos", o, "time");
  9447. return r(a)
  9448. },
  9449. getLabelWidth: function(t) {
  9450. var e = this.options.ticks,
  9451. n = this.ctx.measureText(t).width,
  9452. r = o.toRadians(e.maxRotation),
  9453. a = Math.cos(r),
  9454. s = Math.sin(r);
  9455. return n * a + o.valueOrDefault(e.fontSize, i.global.defaultFontSize) * s
  9456. },
  9457. getLabelCapacity: function(t) {
  9458. var e = this,
  9459. n = e.options.time.displayFormats.millisecond,
  9460. i = e.tickFormatFunction(r(t), 0, [], n),
  9461. o = e.getLabelWidth(i),
  9462. a = e.isHorizontal() ? e.width : e.height,
  9463. s = Math.floor(a / o);
  9464. return s > 0 ? s : 1
  9465. }
  9466. });
  9467. s.registerScaleType("time", t, {
  9468. position: "bottom",
  9469. distribution: "linear",
  9470. bounds: "data",
  9471. time: {
  9472. parser: !1,
  9473. format: !1,
  9474. unit: !1,
  9475. round: !1,
  9476. displayFormat: !1,
  9477. isoWeekday: !1,
  9478. minUnit: "millisecond",
  9479. displayFormats: {
  9480. millisecond: "h:mm:ss.SSS a",
  9481. second: "h:mm:ss a",
  9482. minute: "h:mm a",
  9483. hour: "hA",
  9484. day: "MMM D",
  9485. week: "ll",
  9486. month: "MMM YYYY",
  9487. quarter: "[Q]Q - YYYY",
  9488. year: "YYYY"
  9489. }
  9490. },
  9491. ticks: {
  9492. autoSkip: !1,
  9493. source: "auto",
  9494. major: {
  9495. enabled: !1
  9496. }
  9497. }
  9498. })
  9499. }
  9500. }, {
  9501. 1: 1,
  9502. 26: 26,
  9503. 33: 33,
  9504. 34: 34,
  9505. 46: 46
  9506. }]
  9507. }, {}, [7])(7)
  9508. }))
  9509. }).call(this, n(87)(t), n(57))
  9510. }, function(t, e, n) {
  9511. "use strict";
  9512. var r = n(3),
  9513. i = n(25).findIndex,
  9514. o = n(62),
  9515. a = !0;
  9516. "findIndex" in [] && Array(1).findIndex((function() {
  9517. a = !1
  9518. })), r({
  9519. target: "Array",
  9520. proto: !0,
  9521. forced: a
  9522. }, {
  9523. findIndex: function(t) {
  9524. return i(this, t, arguments.length > 1 ? arguments[1] : void 0)
  9525. }
  9526. }), o("findIndex")
  9527. }, function(t, e, n) {
  9528. var r = n(3),
  9529. i = Math.log,
  9530. o = Math.LOG10E;
  9531. r({
  9532. target: "Math",
  9533. stat: !0
  9534. }, {
  9535. log10: function(t) {
  9536. return i(t) * o
  9537. }
  9538. })
  9539. }, function(t, e, n) {
  9540. n(3)({
  9541. target: "Math",
  9542. stat: !0
  9543. }, {
  9544. sign: n(154)
  9545. })
  9546. }, function(t, e) {
  9547. t.exports = Math.sign || function(t) {
  9548. return 0 == (t = +t) || t != t ? t : t < 0 ? -1 : 1
  9549. }
  9550. }, function(t, e, n) {
  9551. n(3)({
  9552. target: "Number",
  9553. stat: !0
  9554. }, {
  9555. EPSILON: Math.pow(2, -52)
  9556. })
  9557. }, function(t, e, n) {
  9558. "use strict";
  9559. (function(t) {
  9560. var e, r;
  9561. n(75), n(78), n(79), n(100), n(138), n(110), n(92), n(54), n(120), n(89), n(122), n(97), n(112), n(139), n(140), n(141), n(64), n(80), n(81), n(109), n(157), n(115), n(84);
  9562. function i(t) {
  9563. return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
  9564. return typeof t
  9565. } : function(t) {
  9566. return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
  9567. })(t)
  9568. }
  9569. /*!
  9570. * chartjs-plugin-datalabels v0.7.0
  9571. * https://chartjs-plugin-datalabels.netlify.com
  9572. * (c) 2019 Chart.js Contributors
  9573. * Released under the MIT license
  9574. */
  9575. e = void 0, r = function(t) {
  9576. var e = (t = t && t.hasOwnProperty("default") ? t.default : t).helpers,
  9577. n = function() {
  9578. if ("undefined" != typeof window) {
  9579. if (window.devicePixelRatio) return window.devicePixelRatio;
  9580. var t = window.screen;
  9581. if (t) return (t.deviceXDPI || 1) / (t.logicalXDPI || 1)
  9582. }
  9583. return 1
  9584. }(),
  9585. r = {
  9586. toTextLines: function(t) {
  9587. var n, r = [];
  9588. for (t = [].concat(t); t.length;) "string" == typeof(n = t.pop()) ? r.unshift.apply(r, n.split("\n")) : Array.isArray(n) ? t.push.apply(t, n) : e.isNullOrUndef(t) || r.unshift("" + n);
  9589. return r
  9590. },
  9591. toFontString: function(t) {
  9592. return !t || e.isNullOrUndef(t.size) || e.isNullOrUndef(t.family) ? null : (t.style ? t.style + " " : "") + (t.weight ? t.weight + " " : "") + t.size + "px " + t.family
  9593. },
  9594. textSize: function(t, e, n) {
  9595. var r, i = [].concat(e),
  9596. o = i.length,
  9597. a = t.font,
  9598. s = 0;
  9599. for (t.font = n.string, r = 0; r < o; ++r) s = Math.max(t.measureText(i[r]).width, s);
  9600. return t.font = a, {
  9601. height: o * n.lineHeight,
  9602. width: s
  9603. }
  9604. },
  9605. parseFont: function(n) {
  9606. var i = t.defaults.global,
  9607. o = e.valueOrDefault(n.size, i.defaultFontSize),
  9608. a = {
  9609. family: e.valueOrDefault(n.family, i.defaultFontFamily),
  9610. lineHeight: e.options.toLineHeight(n.lineHeight, o),
  9611. size: o,
  9612. style: e.valueOrDefault(n.style, i.defaultFontStyle),
  9613. weight: e.valueOrDefault(n.weight, null),
  9614. string: ""
  9615. };
  9616. return a.string = r.toFontString(a), a
  9617. },
  9618. bound: function(t, e, n) {
  9619. return Math.max(t, Math.min(e, n))
  9620. },
  9621. arrayDiff: function(t, e) {
  9622. var n, r, i, o, a = t.slice(),
  9623. s = [];
  9624. for (n = 0, i = e.length; n < i; ++n) o = e[n], -1 === (r = a.indexOf(o)) ? s.push([o, 1]) : a.splice(r, 1);
  9625. for (n = 0, i = a.length; n < i; ++n) s.push([a[n], -1]);
  9626. return s
  9627. },
  9628. rasterize: function(t) {
  9629. return Math.round(t * n) / n
  9630. }
  9631. };
  9632. function i(t, e) {
  9633. var n = e.x,
  9634. r = e.y;
  9635. if (null === n) return {
  9636. x: 0,
  9637. y: -1
  9638. };
  9639. if (null === r) return {
  9640. x: 1,
  9641. y: 0
  9642. };
  9643. var i = t.x - n,
  9644. o = t.y - r,
  9645. a = Math.sqrt(i * i + o * o);
  9646. return {
  9647. x: a ? i / a : 0,
  9648. y: a ? o / a : -1
  9649. }
  9650. }
  9651. var o = 0,
  9652. a = 1,
  9653. s = 2,
  9654. l = 4,
  9655. u = 8;
  9656. function c(t, e, n) {
  9657. var r = o;
  9658. return t < n.left ? r |= a : t > n.right && (r |= s), e < n.top ? r |= u : e > n.bottom && (r |= l), r
  9659. }
  9660. function d(t, e) {
  9661. var n, r, i = e.anchor,
  9662. o = t;
  9663. return e.clamp && (o = function(t, e) {
  9664. for (var n, r, i, o = t.x0, d = t.y0, f = t.x1, h = t.y1, p = c(o, d, e), g = c(f, h, e); p | g && !(p & g);)(n = p || g) & u ? (r = o + (f - o) * (e.top - d) / (h - d), i = e.top) : n & l ? (r = o + (f - o) * (e.bottom - d) / (h - d), i = e.bottom) : n & s ? (i = d + (h - d) * (e.right - o) / (f - o), r = e.right) : n & a && (i = d + (h - d) * (e.left - o) / (f - o), r = e.left), n === p ? p = c(o = r, d = i, e) : g = c(f = r, h = i, e);
  9665. return {
  9666. x0: o,
  9667. x1: f,
  9668. y0: d,
  9669. y1: h
  9670. }
  9671. }(o, e.area)), "start" === i ? (n = o.x0, r = o.y0) : "end" === i ? (n = o.x1, r = o.y1) : (n = (o.x0 + o.x1) / 2, r = (o.y0 + o.y1) / 2),
  9672. function(t, e, n, r, i) {
  9673. switch (i) {
  9674. case "center":
  9675. n = r = 0;
  9676. break;
  9677. case "bottom":
  9678. n = 0, r = 1;
  9679. break;
  9680. case "right":
  9681. n = 1, r = 0;
  9682. break;
  9683. case "left":
  9684. n = -1, r = 0;
  9685. break;
  9686. case "top":
  9687. n = 0, r = -1;
  9688. break;
  9689. case "start":
  9690. n = -n, r = -r;
  9691. break;
  9692. case "end":
  9693. break;
  9694. default:
  9695. i *= Math.PI / 180, n = Math.cos(i), r = Math.sin(i)
  9696. }
  9697. return {
  9698. x: t,
  9699. y: e,
  9700. vx: n,
  9701. vy: r
  9702. }
  9703. }(n, r, t.vx, t.vy, e.align)
  9704. }
  9705. var f = {
  9706. arc: function(t, e) {
  9707. var n = (t.startAngle + t.endAngle) / 2,
  9708. r = Math.cos(n),
  9709. i = Math.sin(n),
  9710. o = t.innerRadius,
  9711. a = t.outerRadius;
  9712. return d({
  9713. x0: t.x + r * o,
  9714. y0: t.y + i * o,
  9715. x1: t.x + r * a,
  9716. y1: t.y + i * a,
  9717. vx: r,
  9718. vy: i
  9719. }, e)
  9720. },
  9721. point: function(t, e) {
  9722. var n = i(t, e.origin),
  9723. r = n.x * t.radius,
  9724. o = n.y * t.radius;
  9725. return d({
  9726. x0: t.x - r,
  9727. y0: t.y - o,
  9728. x1: t.x + r,
  9729. y1: t.y + o,
  9730. vx: n.x,
  9731. vy: n.y
  9732. }, e)
  9733. },
  9734. rect: function(t, e) {
  9735. var n = i(t, e.origin),
  9736. r = t.x,
  9737. o = t.y,
  9738. a = 0,
  9739. s = 0;
  9740. return t.horizontal ? (r = Math.min(t.x, t.base), a = Math.abs(t.base - t.x)) : (o = Math.min(t.y, t.base), s = Math.abs(t.base - t.y)), d({
  9741. x0: r,
  9742. y0: o + s,
  9743. x1: r + a,
  9744. y1: o,
  9745. vx: n.x,
  9746. vy: n.y
  9747. }, e)
  9748. },
  9749. fallback: function(t, e) {
  9750. var n = i(t, e.origin);
  9751. return d({
  9752. x0: t.x,
  9753. y0: t.y,
  9754. x1: t.x,
  9755. y1: t.y,
  9756. vx: n.x,
  9757. vy: n.y
  9758. }, e)
  9759. }
  9760. },
  9761. h = t.helpers,
  9762. p = r.rasterize;
  9763. function g(t) {
  9764. var e = t._model.horizontal,
  9765. n = t._scale || e && t._xScale || t._yScale;
  9766. if (!n) return null;
  9767. if (void 0 !== n.xCenter && void 0 !== n.yCenter) return {
  9768. x: n.xCenter,
  9769. y: n.yCenter
  9770. };
  9771. var r = n.getBasePixel();
  9772. return e ? {
  9773. x: r,
  9774. y: null
  9775. } : {
  9776. x: null,
  9777. y: r
  9778. }
  9779. }
  9780. function v(t, e, n) {
  9781. var r = t.shadowBlur,
  9782. i = n.stroked,
  9783. o = p(n.x),
  9784. a = p(n.y),
  9785. s = p(n.w);
  9786. i && t.strokeText(e, o, a, s), n.filled && (r && i && (t.shadowBlur = 0), t.fillText(e, o, a, s), r && i && (t.shadowBlur = r))
  9787. }
  9788. var m = function(t, e, n, r) {
  9789. var i = this;
  9790. i._config = t, i._index = r, i._model = null, i._rects = null, i._ctx = e, i._el = n
  9791. };
  9792. h.extend(m.prototype, {
  9793. _modelize: function(e, n, i, o) {
  9794. var a, s = this._index,
  9795. l = h.options.resolve,
  9796. u = r.parseFont(l([i.font, {}], o, s)),
  9797. c = l([i.color, t.defaults.global.defaultFontColor], o, s);
  9798. return {
  9799. align: l([i.align, "center"], o, s),
  9800. anchor: l([i.anchor, "center"], o, s),
  9801. area: o.chart.chartArea,
  9802. backgroundColor: l([i.backgroundColor, null], o, s),
  9803. borderColor: l([i.borderColor, null], o, s),
  9804. borderRadius: l([i.borderRadius, 0], o, s),
  9805. borderWidth: l([i.borderWidth, 0], o, s),
  9806. clamp: l([i.clamp, !1], o, s),
  9807. clip: l([i.clip, !1], o, s),
  9808. color: c,
  9809. display: e,
  9810. font: u,
  9811. lines: n,
  9812. offset: l([i.offset, 0], o, s),
  9813. opacity: l([i.opacity, 1], o, s),
  9814. origin: g(this._el),
  9815. padding: h.options.toPadding(l([i.padding, 0], o, s)),
  9816. positioner: (a = this._el, a instanceof t.elements.Arc ? f.arc : a instanceof t.elements.Point ? f.point : a instanceof t.elements.Rectangle ? f.rect : f.fallback),
  9817. rotation: l([i.rotation, 0], o, s) * (Math.PI / 180),
  9818. size: r.textSize(this._ctx, n, u),
  9819. textAlign: l([i.textAlign, "start"], o, s),
  9820. textShadowBlur: l([i.textShadowBlur, 0], o, s),
  9821. textShadowColor: l([i.textShadowColor, c], o, s),
  9822. textStrokeColor: l([i.textStrokeColor, c], o, s),
  9823. textStrokeWidth: l([i.textStrokeWidth, 0], o, s)
  9824. }
  9825. },
  9826. update: function(t) {
  9827. var e, n, i, o = this,
  9828. a = null,
  9829. s = null,
  9830. l = o._index,
  9831. u = o._config,
  9832. c = h.options.resolve([u.display, !0], t, l);
  9833. c && (e = t.dataset.data[l], n = h.valueOrDefault(h.callback(u.formatter, [e, t]), e), (i = h.isNullOrUndef(n) ? [] : r.toTextLines(n)).length && (s = function(t) {
  9834. var e = t.borderWidth || 0,
  9835. n = t.padding,
  9836. r = t.size.height,
  9837. i = t.size.width,
  9838. o = -i / 2,
  9839. a = -r / 2;
  9840. return {
  9841. frame: {
  9842. x: o - n.left - e,
  9843. y: a - n.top - e,
  9844. w: i + n.width + 2 * e,
  9845. h: r + n.height + 2 * e
  9846. },
  9847. text: {
  9848. x: o,
  9849. y: a,
  9850. w: i,
  9851. h: r
  9852. }
  9853. }
  9854. }(a = o._modelize(c, i, u, t)))), o._model = a, o._rects = s
  9855. },
  9856. geometry: function() {
  9857. return this._rects ? this._rects.frame : {}
  9858. },
  9859. rotation: function() {
  9860. return this._model ? this._model.rotation : 0
  9861. },
  9862. visible: function() {
  9863. return this._model && this._model.opacity
  9864. },
  9865. model: function() {
  9866. return this._model
  9867. },
  9868. draw: function(t, e) {
  9869. var n, i = t.ctx,
  9870. o = this._model,
  9871. a = this._rects;
  9872. this.visible() && (i.save(), o.clip && (n = o.area, i.beginPath(), i.rect(n.left, n.top, n.right - n.left, n.bottom - n.top), i.clip()), i.globalAlpha = r.bound(0, o.opacity, 1), i.translate(p(e.x), p(e.y)), i.rotate(o.rotation), function(t, e, n) {
  9873. var r = n.backgroundColor,
  9874. i = n.borderColor,
  9875. o = n.borderWidth;
  9876. (r || i && o) && (t.beginPath(), h.canvas.roundedRect(t, p(e.x) + o / 2, p(e.y) + o / 2, p(e.w) - o, p(e.h) - o, n.borderRadius), t.closePath(), r && (t.fillStyle = r, t.fill()), i && o && (t.strokeStyle = i, t.lineWidth = o, t.lineJoin = "miter", t.stroke()))
  9877. }(i, a.frame, o), function(t, e, n, r) {
  9878. var i, o = r.textAlign,
  9879. a = r.color,
  9880. s = !!a,
  9881. l = r.font,
  9882. u = e.length,
  9883. c = r.textStrokeColor,
  9884. d = r.textStrokeWidth,
  9885. f = c && d;
  9886. if (u && (s || f))
  9887. for (n = function(t, e, n) {
  9888. var r = n.lineHeight,
  9889. i = t.w,
  9890. o = t.x;
  9891. return "center" === e ? o += i / 2 : "end" !== e && "right" !== e || (o += i), {
  9892. h: r,
  9893. w: i,
  9894. x: o,
  9895. y: t.y + r / 2
  9896. }
  9897. }(n, o, l), t.font = l.string, t.textAlign = o, t.textBaseline = "middle", t.shadowBlur = r.textShadowBlur, t.shadowColor = r.textShadowColor, s && (t.fillStyle = a), f && (t.lineJoin = "round", t.lineWidth = d, t.strokeStyle = c), i = 0, u = e.length; i < u; ++i) v(t, e[i], {
  9898. stroked: f,
  9899. filled: s,
  9900. w: n.w,
  9901. x: n.x,
  9902. y: n.y + n.h * i
  9903. })
  9904. }(i, o.lines, a.text, o), i.restore())
  9905. }
  9906. });
  9907. var y = t.helpers,
  9908. b = Number.MIN_SAFE_INTEGER || -9007199254740991,
  9909. x = Number.MAX_SAFE_INTEGER || 9007199254740991;
  9910. function w(t, e, n) {
  9911. var r = Math.cos(n),
  9912. i = Math.sin(n),
  9913. o = e.x,
  9914. a = e.y;
  9915. return {
  9916. x: o + r * (t.x - o) - i * (t.y - a),
  9917. y: a + i * (t.x - o) + r * (t.y - a)
  9918. }
  9919. }
  9920. function S(t, e) {
  9921. var n, r, i, o, a, s = x,
  9922. l = b,
  9923. u = e.origin;
  9924. for (n = 0; n < t.length; ++n) i = (r = t[n]).x - u.x, o = r.y - u.y, a = e.vx * i + e.vy * o, s = Math.min(s, a), l = Math.max(l, a);
  9925. return {
  9926. min: s,
  9927. max: l
  9928. }
  9929. }
  9930. function k(t, e) {
  9931. var n = e.x - t.x,
  9932. r = e.y - t.y,
  9933. i = Math.sqrt(n * n + r * r);
  9934. return {
  9935. vx: (e.x - t.x) / i,
  9936. vy: (e.y - t.y) / i,
  9937. origin: t,
  9938. ln: i
  9939. }
  9940. }
  9941. var C = function() {
  9942. this._rotation = 0, this._rect = {
  9943. x: 0,
  9944. y: 0,
  9945. w: 0,
  9946. h: 0
  9947. }
  9948. };
  9949. function M(t, e, n) {
  9950. var r = e.positioner(t, e),
  9951. i = r.vx,
  9952. o = r.vy;
  9953. if (!i && !o) return {
  9954. x: r.x,
  9955. y: r.y
  9956. };
  9957. var a = n.w,
  9958. s = n.h,
  9959. l = e.rotation,
  9960. u = Math.abs(a / 2 * Math.cos(l)) + Math.abs(s / 2 * Math.sin(l)),
  9961. c = Math.abs(a / 2 * Math.sin(l)) + Math.abs(s / 2 * Math.cos(l)),
  9962. d = 1 / Math.max(Math.abs(i), Math.abs(o));
  9963. return u *= i * d, c *= o * d, u += e.offset * i, c += e.offset * o, {
  9964. x: r.x + u,
  9965. y: r.y + c
  9966. }
  9967. }
  9968. y.extend(C.prototype, {
  9969. center: function() {
  9970. var t = this._rect;
  9971. return {
  9972. x: t.x + t.w / 2,
  9973. y: t.y + t.h / 2
  9974. }
  9975. },
  9976. update: function(t, e, n) {
  9977. this._rotation = n, this._rect = {
  9978. x: e.x + t.x,
  9979. y: e.y + t.y,
  9980. w: e.w,
  9981. h: e.h
  9982. }
  9983. },
  9984. contains: function(t) {
  9985. var e = this._rect;
  9986. return !((t = w(t, this.center(), -this._rotation)).x < e.x - 1 || t.y < e.y - 1 || t.x > e.x + e.w + 2 || t.y > e.y + e.h + 2)
  9987. },
  9988. intersects: function(t) {
  9989. var e, n, r, i = this._points(),
  9990. o = t._points(),
  9991. a = [k(i[0], i[1]), k(i[0], i[3])];
  9992. for (this._rotation !== t._rotation && a.push(k(o[0], o[1]), k(o[0], o[3])), e = 0; e < a.length; ++e)
  9993. if (n = S(i, a[e]), r = S(o, a[e]), n.max < r.min || r.max < n.min) return !1;
  9994. return !0
  9995. },
  9996. _points: function() {
  9997. var t = this._rect,
  9998. e = this._rotation,
  9999. n = this.center();
  10000. return [w({
  10001. x: t.x,
  10002. y: t.y
  10003. }, n, e), w({
  10004. x: t.x + t.w,
  10005. y: t.y
  10006. }, n, e), w({
  10007. x: t.x + t.w,
  10008. y: t.y + t.h
  10009. }, n, e), w({
  10010. x: t.x,
  10011. y: t.y + t.h
  10012. }, n, e)]
  10013. }
  10014. });
  10015. var A = {
  10016. prepare: function(t) {
  10017. var e, n, r, i, o, a = [];
  10018. for (e = 0, r = t.length; e < r; ++e)
  10019. for (n = 0, i = t[e].length; n < i; ++n) o = t[e][n], a.push(o), o.$layout = {
  10020. _box: new C,
  10021. _hidable: !1,
  10022. _visible: !0,
  10023. _set: e,
  10024. _idx: n
  10025. };
  10026. return a.sort((function(t, e) {
  10027. var n = t.$layout,
  10028. r = e.$layout;
  10029. return n._idx === r._idx ? r._set - n._set : r._idx - n._idx
  10030. })), this.update(a), a
  10031. },
  10032. update: function(t) {
  10033. var e, n, r, i, o, a = !1;
  10034. for (e = 0, n = t.length; e < n; ++e) i = (r = t[e]).model(), (o = r.$layout)._hidable = i && "auto" === i.display, o._visible = r.visible(), a |= o._hidable;
  10035. a && function(t) {
  10036. var e, n, r, i, o, a;
  10037. for (e = 0, n = t.length; e < n; ++e)(i = (r = t[e]).$layout)._visible && (o = r.geometry(), a = M(r._el._model, r.model(), o), i._box.update(a, o, r.rotation()));
  10038. ! function(t, e) {
  10039. var n, r, i, o;
  10040. for (n = t.length - 1; n >= 0; --n)
  10041. for (i = t[n].$layout, r = n - 1; r >= 0 && i._visible; --r)(o = t[r].$layout)._visible && i._box.intersects(o._box) && e(i, o)
  10042. }(t, (function(t, e) {
  10043. var n = t._hidable,
  10044. r = e._hidable;
  10045. n && r || r ? e._visible = !1 : n && (t._visible = !1)
  10046. }))
  10047. }(t)
  10048. },
  10049. lookup: function(t, e) {
  10050. var n, r;
  10051. for (n = t.length - 1; n >= 0; --n)
  10052. if ((r = t[n].$layout) && r._visible && r._box.contains(e)) return t[n];
  10053. return null
  10054. },
  10055. draw: function(t, e) {
  10056. var n, r, i, o, a, s;
  10057. for (n = 0, r = e.length; n < r; ++n)(o = (i = e[n]).$layout)._visible && (a = i.geometry(), s = M(i._el._view, i.model(), a), o._box.update(s, a, i.rotation()), i.draw(t, s))
  10058. }
  10059. },
  10060. P = t.helpers,
  10061. _ = {
  10062. align: "center",
  10063. anchor: "center",
  10064. backgroundColor: null,
  10065. borderColor: null,
  10066. borderRadius: 0,
  10067. borderWidth: 0,
  10068. clamp: !1,
  10069. clip: !1,
  10070. color: void 0,
  10071. display: !0,
  10072. font: {
  10073. family: void 0,
  10074. lineHeight: 1.2,
  10075. size: void 0,
  10076. style: void 0,
  10077. weight: null
  10078. },
  10079. formatter: function(t) {
  10080. if (P.isNullOrUndef(t)) return null;
  10081. var e, n, r, i = t;
  10082. if (P.isObject(t))
  10083. if (P.isNullOrUndef(t.label))
  10084. if (P.isNullOrUndef(t.r))
  10085. for (i = "", r = 0, n = (e = Object.keys(t)).length; r < n; ++r) i += (0 !== r ? ", " : "") + e[r] + ": " + t[e[r]];
  10086. else i = t.r;
  10087. else i = t.label;
  10088. return "" + i
  10089. },
  10090. labels: void 0,
  10091. listeners: {},
  10092. offset: 4,
  10093. opacity: 1,
  10094. padding: {
  10095. top: 4,
  10096. right: 4,
  10097. bottom: 4,
  10098. left: 4
  10099. },
  10100. rotation: 0,
  10101. textAlign: "start",
  10102. textStrokeColor: void 0,
  10103. textStrokeWidth: 0,
  10104. textShadowBlur: 0,
  10105. textShadowColor: void 0
  10106. },
  10107. T = t.helpers,
  10108. I = "$datalabels",
  10109. O = "$default";
  10110. function F(t, e, n) {
  10111. if (e) {
  10112. var r, i = n.$context,
  10113. o = n.$groups;
  10114. e[o._set] && (r = e[o._set][o._key]) && !0 === T.callback(r, [i]) && (t[I]._dirty = !0, n.update(i))
  10115. }
  10116. }
  10117. function D(t, e) {
  10118. var n, r, i = t[I],
  10119. o = i._listeners;
  10120. if (o.enter || o.leave) {
  10121. if ("mousemove" === e.type) r = A.lookup(i._labels, e);
  10122. else if ("mouseout" !== e.type) return;
  10123. n = i._hovered, i._hovered = r,
  10124. function(t, e, n, r) {
  10125. var i, o;
  10126. (n || r) && (n ? r ? n !== r && (o = i = !0) : o = !0 : i = !0, o && F(t, e.leave, n), i && F(t, e.enter, r))
  10127. }(t, o, n, r)
  10128. }
  10129. }
  10130. t.defaults.global.plugins.datalabels = _;
  10131. var E = {
  10132. id: "datalabels",
  10133. beforeInit: function(t) {
  10134. t[I] = {
  10135. _actives: []
  10136. }
  10137. },
  10138. beforeUpdate: function(t) {
  10139. var e = t[I];
  10140. e._listened = !1, e._listeners = {}, e._datasets = [], e._labels = []
  10141. },
  10142. afterDatasetUpdate: function(t, e, n) {
  10143. var r, i, o, a, s, l, u, c, d = e.index,
  10144. f = t[I],
  10145. h = f._datasets[d] = [],
  10146. p = t.isDatasetVisible(d),
  10147. g = t.data.datasets[d],
  10148. v = function(t, e) {
  10149. var n, r, i, o = t.datalabels,
  10150. a = [];
  10151. return !1 === o ? null : (!0 === o && (o = {}), e = T.merge({}, [e, o]), r = e.labels || {}, i = Object.keys(r), delete e.labels, i.length ? i.forEach((function(t) {
  10152. r[t] && a.push(T.merge({}, [e, r[t], {
  10153. _key: t
  10154. }]))
  10155. })) : a.push(e), n = a.reduce((function(t, e) {
  10156. return T.each(e.listeners || {}, (function(n, r) {
  10157. t[r] = t[r] || {}, t[r][e._key || O] = n
  10158. })), delete e.listeners, t
  10159. }), {}), {
  10160. labels: a,
  10161. listeners: n
  10162. })
  10163. }(g, n),
  10164. y = e.meta.data || [],
  10165. b = t.ctx;
  10166. for (b.save(), r = 0, o = y.length; r < o; ++r)
  10167. if ((u = y[r])[I] = [], p && u && !u.hidden && !u._model.skip)
  10168. for (i = 0, a = v.labels.length; i < a; ++i) l = (s = v.labels[i])._key, (c = new m(s, b, u, r)).$groups = {
  10169. _set: d,
  10170. _key: l || O
  10171. }, c.$context = {
  10172. active: !1,
  10173. chart: t,
  10174. dataIndex: r,
  10175. dataset: g,
  10176. datasetIndex: d
  10177. }, c.update(c.$context), u[I].push(c), h.push(c);
  10178. b.restore(), T.merge(f._listeners, v.listeners, {
  10179. merger: function(t, n, r) {
  10180. n[t] = n[t] || {}, n[t][e.index] = r[t], f._listened = !0
  10181. }
  10182. })
  10183. },
  10184. afterUpdate: function(t, e) {
  10185. t[I]._labels = A.prepare(t[I]._datasets, e)
  10186. },
  10187. afterDatasetsDraw: function(t) {
  10188. A.draw(t, t[I]._labels)
  10189. },
  10190. beforeEvent: function(t, e) {
  10191. if (t[I]._listened) switch (e.type) {
  10192. case "mousemove":
  10193. case "mouseout":
  10194. D(t, e);
  10195. break;
  10196. case "click":
  10197. ! function(t, e) {
  10198. var n = t[I],
  10199. r = n._listeners.click,
  10200. i = r && A.lookup(n._labels, e);
  10201. i && F(t, r, i)
  10202. }(t, e)
  10203. }
  10204. },
  10205. afterEvent: function(e) {
  10206. var n, i, o, a, s, l, u, c = e[I],
  10207. d = c._actives,
  10208. f = c._actives = e.lastActive || [],
  10209. h = r.arrayDiff(d, f);
  10210. for (n = 0, i = h.length; n < i; ++n)
  10211. if ((s = h[n])[1])
  10212. for (o = 0, a = (u = s[0][I] || []).length; o < a; ++o)(l = u[o]).$context.active = 1 === s[1], l.update(l.$context);
  10213. (c._dirty || h.length) && (A.update(c._labels), function(e) {
  10214. if (!e.animating) {
  10215. for (var n = t.animationService.animations, r = 0, i = n.length; r < i; ++r)
  10216. if (n[r].chart === e) return;
  10217. e.render({
  10218. duration: 1,
  10219. lazy: !0
  10220. })
  10221. }
  10222. }(e)), delete c._dirty
  10223. }
  10224. };
  10225. return t.plugins.unregister(E), E
  10226. }, "object" === ("undefined" == typeof exports ? "undefined" : i(exports)) && void 0 !== t ? t.exports = r(n(160)) : "function" == typeof define && n(55) ? define(["chart.js"], r) : (e = e || self).ChartDataLabels = r(e.Chart)
  10227. }).call(this, n(87)(t))
  10228. }, function(t, e, n) {
  10229. "use strict";
  10230. var r = n(3),
  10231. i = n(158);
  10232. r({
  10233. target: "String",
  10234. proto: !0,
  10235. forced: n(159)("anchor")
  10236. }, {
  10237. anchor: function(t) {
  10238. return i(this, "a", "name", t)
  10239. }
  10240. })
  10241. }, function(t, e, n) {
  10242. var r = n(13),
  10243. i = /"/g;
  10244. t.exports = function(t, e, n, o) {
  10245. var a = String(r(t)),
  10246. s = "<" + e;
  10247. return "" !== n && (s += " " + n + '="' + String(o).replace(i, "&quot;") + '"'), s + ">" + a + "</" + e + ">"
  10248. }
  10249. }, function(t, e, n) {
  10250. var r = n(1);
  10251. t.exports = function(t) {
  10252. return r((function() {
  10253. var e = "" [t]('"');
  10254. return e !== e.toLowerCase() || e.split('"').length > 3
  10255. }))
  10256. }
  10257. }, function(t, e) {
  10258. t.exports = chart
  10259. }, function(t, e) {
  10260. ! function(t) {
  10261. t("body").on("shown.bs.modal", ".modal", (function() {
  10262. t(".modal-backdrop").length || ($modal_dialog = t(this).children(".modal-dialog"), $modal_dialog.hasClass("modal-side") && (t(this).addClass("modal-scrolling"), t("body").addClass("scrollable")), $modal_dialog.hasClass("modal-frame") && (t(this).addClass("modal-content-clickable"), t("body").addClass("scrollable")))
  10263. })), t("body").on("hidden.bs.modal", ".modal", (function() {
  10264. t("body").removeClass("scrollable")
  10265. }))
  10266. }(jQuery)
  10267. }, function(t, e) {
  10268. jQuery.easing.jswing = jQuery.easing.swing, jQuery.extend(jQuery.easing, {
  10269. def: "easeOutQuad",
  10270. swing: function(t, e, n, r, i) {
  10271. return jQuery.easing[jQuery.easing.def](t, e, n, r, i)
  10272. },
  10273. easeInQuad: function(t, e, n, r, i) {
  10274. return r * (e /= i) * e + n
  10275. },
  10276. easeOutQuad: function(t, e, n, r, i) {
  10277. return -r * (e /= i) * (e - 2) + n
  10278. },
  10279. easeInOutQuad: function(t, e, n, r, i) {
  10280. return (e /= i / 2) < 1 ? r / 2 * e * e + n : -r / 2 * (--e * (e - 2) - 1) + n
  10281. },
  10282. easeInCubic: function(t, e, n, r, i) {
  10283. return r * (e /= i) * e * e + n
  10284. },
  10285. easeOutCubic: function(t, e, n, r, i) {
  10286. return r * ((e = e / i - 1) * e * e + 1) + n
  10287. },
  10288. easeInOutCubic: function(t, e, n, r, i) {
  10289. return (e /= i / 2) < 1 ? r / 2 * e * e * e + n : r / 2 * ((e -= 2) * e * e + 2) + n
  10290. },
  10291. easeInQuart: function(t, e, n, r, i) {
  10292. return r * (e /= i) * e * e * e + n
  10293. },
  10294. easeOutQuart: function(t, e, n, r, i) {
  10295. return -r * ((e = e / i - 1) * e * e * e - 1) + n
  10296. },
  10297. easeInOutQuart: function(t, e, n, r, i) {
  10298. return (e /= i / 2) < 1 ? r / 2 * e * e * e * e + n : -r / 2 * ((e -= 2) * e * e * e - 2) + n
  10299. },
  10300. easeInQuint: function(t, e, n, r, i) {
  10301. return r * (e /= i) * e * e * e * e + n
  10302. },
  10303. easeOutQuint: function(t, e, n, r, i) {
  10304. return r * ((e = e / i - 1) * e * e * e * e + 1) + n
  10305. },
  10306. easeInOutQuint: function(t, e, n, r, i) {
  10307. return (e /= i / 2) < 1 ? r / 2 * e * e * e * e * e + n : r / 2 * ((e -= 2) * e * e * e * e + 2) + n
  10308. },
  10309. easeInSine: function(t, e, n, r, i) {
  10310. return -r * Math.cos(e / i * (Math.PI / 2)) + r + n
  10311. },
  10312. easeOutSine: function(t, e, n, r, i) {
  10313. return r * Math.sin(e / i * (Math.PI / 2)) + n
  10314. },
  10315. easeInOutSine: function(t, e, n, r, i) {
  10316. return -r / 2 * (Math.cos(Math.PI * e / i) - 1) + n
  10317. },
  10318. easeInExpo: function(t, e, n, r, i) {
  10319. return 0 == e ? n : r * Math.pow(2, 10 * (e / i - 1)) + n
  10320. },
  10321. easeOutExpo: function(t, e, n, r, i) {
  10322. return e == i ? n + r : r * (1 - Math.pow(2, -10 * e / i)) + n
  10323. },
  10324. easeInOutExpo: function(t, e, n, r, i) {
  10325. return 0 == e ? n : e == i ? n + r : (e /= i / 2) < 1 ? r / 2 * Math.pow(2, 10 * (e - 1)) + n : r / 2 * (2 - Math.pow(2, -10 * --e)) + n
  10326. },
  10327. easeInCirc: function(t, e, n, r, i) {
  10328. return -r * (Math.sqrt(1 - (e /= i) * e) - 1) + n
  10329. },
  10330. easeOutCirc: function(t, e, n, r, i) {
  10331. return r * Math.sqrt(1 - (e = e / i - 1) * e) + n
  10332. },
  10333. easeInOutCirc: function(t, e, n, r, i) {
  10334. return (e /= i / 2) < 1 ? -r / 2 * (Math.sqrt(1 - e * e) - 1) + n : r / 2 * (Math.sqrt(1 - (e -= 2) * e) + 1) + n
  10335. },
  10336. easeInElastic: function(t, e, n, r, i) {
  10337. var o = 1.70158,
  10338. a = 0,
  10339. s = r;
  10340. if (0 == e) return n;
  10341. if (1 == (e /= i)) return n + r;
  10342. if (a || (a = .3 * i), s < Math.abs(r)) {
  10343. s = r;
  10344. o = a / 4
  10345. } else o = a / (2 * Math.PI) * Math.asin(r / s);
  10346. return -s * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * i - o) * (2 * Math.PI) / a) + n
  10347. },
  10348. easeOutElastic: function(t, e, n, r, i) {
  10349. var o = 1.70158,
  10350. a = 0,
  10351. s = r;
  10352. if (0 == e) return n;
  10353. if (1 == (e /= i)) return n + r;
  10354. if (a || (a = .3 * i), s < Math.abs(r)) {
  10355. s = r;
  10356. o = a / 4
  10357. } else o = a / (2 * Math.PI) * Math.asin(r / s);
  10358. return s * Math.pow(2, -10 * e) * Math.sin((e * i - o) * (2 * Math.PI) / a) + r + n
  10359. },
  10360. easeInOutElastic: function(t, e, n, r, i) {
  10361. var o = 1.70158,
  10362. a = 0,
  10363. s = r;
  10364. if (0 == e) return n;
  10365. if (2 == (e /= i / 2)) return n + r;
  10366. if (a || (a = i * (.3 * 1.5)), s < Math.abs(r)) {
  10367. s = r;
  10368. o = a / 4
  10369. } else o = a / (2 * Math.PI) * Math.asin(r / s);
  10370. return e < 1 ? s * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * i - o) * (2 * Math.PI) / a) * -.5 + n : s * Math.pow(2, -10 * (e -= 1)) * Math.sin((e * i - o) * (2 * Math.PI) / a) * .5 + r + n
  10371. },
  10372. easeInBack: function(t, e, n, r, i, o) {
  10373. return null == o && (o = 1.70158), r * (e /= i) * e * ((o + 1) * e - o) + n
  10374. },
  10375. easeOutBack: function(t, e, n, r, i, o) {
  10376. return null == o && (o = 1.70158), r * ((e = e / i - 1) * e * ((o + 1) * e + o) + 1) + n
  10377. },
  10378. easeInOutBack: function(t, e, n, r, i, o) {
  10379. return null == o && (o = 1.70158), (e /= i / 2) < 1 ? r / 2 * (e * e * ((1 + (o *= 1.525)) * e - o)) + n : r / 2 * ((e -= 2) * e * ((1 + (o *= 1.525)) * e + o) + 2) + n
  10380. },
  10381. easeInBounce: function(t, e, n, r, i) {
  10382. return r - jQuery.easing.easeOutBounce(t, i - e, 0, r, i) + n
  10383. },
  10384. easeOutBounce: function(t, e, n, r, i) {
  10385. return (e /= i) < 1 / 2.75 ? r * (7.5625 * e * e) + n : e < 2 / 2.75 ? r * (7.5625 * (e -= 1.5 / 2.75) * e + .75) + n : e < 2.5 / 2.75 ? r * (7.5625 * (e -= 2.25 / 2.75) * e + .9375) + n : r * (7.5625 * (e -= 2.625 / 2.75) * e + .984375) + n
  10386. },
  10387. easeInOutBounce: function(t, e, n, r, i) {
  10388. return e < i / 2 ? .5 * jQuery.easing.easeInBounce(t, 2 * e, 0, r, i) + n : .5 * jQuery.easing.easeOutBounce(t, 2 * e - i, 0, r, i) + .5 * r + n
  10389. }
  10390. })
  10391. }, function(t, e, n) {
  10392. "use strict";
  10393. (function(t) {
  10394. var e;
  10395. n(75), n(78), n(79), n(100), n(54), n(99), n(121), n(89), n(164), n(104), n(64), n(105), n(123), n(130), n(80), n(106), n(81), n(114), n(98), n(109), n(166), n(174), n(176), n(177), n(178), n(179), n(180), n(181), n(182), n(183), n(184), n(185), n(186), n(187), n(188), n(189), n(190), n(191), n(192), n(193), n(194), n(195), n(196), n(197), n(84);
  10396. function r(t) {
  10397. return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
  10398. return typeof t
  10399. } : function(t) {
  10400. return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
  10401. })(t)
  10402. }
  10403. /*! VelocityJS.org (1.2.3). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */
  10404. /*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */
  10405. /*! Note that this has been modified by Materialize to confirm that Velocity is not already being imported. */
  10406. jQuery.Velocity ? console.log("Velocity is already loaded. You may be needlessly importing Velocity again; note that Materialize includes Velocity.") : (function(t) {
  10407. function e(t) {
  10408. var e = t.length,
  10409. r = n.type(t);
  10410. return "function" !== r && !n.isWindow(t) && (!(1 !== t.nodeType || !e) || ("array" === r || 0 === e || "number" == typeof e && e > 0 && e - 1 in t))
  10411. }
  10412. if (!t.jQuery) {
  10413. var n = function t(e, n) {
  10414. return new t.fn.init(e, n)
  10415. };
  10416. n.isWindow = function(t) {
  10417. return null != t && t == t.window
  10418. }, n.type = function(t) {
  10419. return null == t ? t + "" : "object" == r(t) || "function" == typeof t ? o[s.call(t)] || "object" : r(t)
  10420. }, n.isArray = Array.isArray || function(t) {
  10421. return "array" === n.type(t)
  10422. }, n.isPlainObject = function(t) {
  10423. var e;
  10424. if (!t || "object" !== n.type(t) || t.nodeType || n.isWindow(t)) return !1;
  10425. try {
  10426. if (t.constructor && !a.call(t, "constructor") && !a.call(t.constructor.prototype, "isPrototypeOf")) return !1
  10427. } catch (t) {
  10428. return !1
  10429. }
  10430. for (e in t);
  10431. return void 0 === e || a.call(t, e)
  10432. }, n.each = function(t, n, r) {
  10433. var i = 0,
  10434. o = t.length,
  10435. a = e(t);
  10436. if (r) {
  10437. if (a)
  10438. for (; o > i && !1 !== n.apply(t[i], r); i++);
  10439. else
  10440. for (i in t)
  10441. if (!1 === n.apply(t[i], r)) break
  10442. } else if (a)
  10443. for (; o > i && !1 !== n.call(t[i], i, t[i]); i++);
  10444. else
  10445. for (i in t)
  10446. if (!1 === n.call(t[i], i, t[i])) break;
  10447. return t
  10448. }, n.data = function(t, e, r) {
  10449. if (void 0 === r) {
  10450. var o = (a = t[n.expando]) && i[a];
  10451. if (void 0 === e) return o;
  10452. if (o && e in o) return o[e]
  10453. } else if (void 0 !== e) {
  10454. var a = t[n.expando] || (t[n.expando] = ++n.uuid);
  10455. return i[a] = i[a] || {}, i[a][e] = r, r
  10456. }
  10457. }, n.removeData = function(t, e) {
  10458. var r = t[n.expando],
  10459. o = r && i[r];
  10460. o && n.each(e, (function(t, e) {
  10461. delete o[e]
  10462. }))
  10463. }, n.extend = function() {
  10464. var t, e, i, o, a, s, l = arguments[0] || {},
  10465. u = 1,
  10466. c = arguments.length,
  10467. d = !1;
  10468. for ("boolean" == typeof l && (d = l, l = arguments[u] || {}, u++), "object" != r(l) && "function" !== n.type(l) && (l = {}), u === c && (l = this, u--); c > u; u++)
  10469. if (null != (a = arguments[u]))
  10470. for (o in a) t = l[o], l !== (i = a[o]) && (d && i && (n.isPlainObject(i) || (e = n.isArray(i))) ? (e ? (e = !1, s = t && n.isArray(t) ? t : []) : s = t && n.isPlainObject(t) ? t : {}, l[o] = n.extend(d, s, i)) : void 0 !== i && (l[o] = i));
  10471. return l
  10472. }, n.queue = function(t, r, i) {
  10473. if (t) {
  10474. r = (r || "fx") + "queue";
  10475. var o = n.data(t, r);
  10476. return i ? (!o || n.isArray(i) ? o = n.data(t, r, function(t, n) {
  10477. var r = n || [];
  10478. return null != t && (e(Object(t)) ? function(t, e) {
  10479. for (var n = +e.length, r = 0, i = t.length; n > r;) t[i++] = e[r++];
  10480. if (n != n)
  10481. for (; void 0 !== e[r];) t[i++] = e[r++];
  10482. t.length = i
  10483. }(r, "string" == typeof t ? [t] : t) : [].push.call(r, t)), r
  10484. }(i)) : o.push(i), o) : o || []
  10485. }
  10486. }, n.dequeue = function(t, e) {
  10487. n.each(t.nodeType ? [t] : t, (function(t, r) {
  10488. e = e || "fx";
  10489. var i = n.queue(r, e),
  10490. o = i.shift();
  10491. "inprogress" === o && (o = i.shift()), o && ("fx" === e && i.unshift("inprogress"), o.call(r, (function() {
  10492. n.dequeue(r, e)
  10493. })))
  10494. }))
  10495. }, n.fn = n.prototype = {
  10496. init: function(t) {
  10497. if (t.nodeType) return this[0] = t, this;
  10498. throw new Error("Not a DOM node.")
  10499. },
  10500. offset: function() {
  10501. var e = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : {
  10502. top: 0,
  10503. left: 0
  10504. };
  10505. return {
  10506. top: e.top + (t.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0),
  10507. left: e.left + (t.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0)
  10508. }
  10509. },
  10510. position: function() {
  10511. function t() {
  10512. for (var t = this.offsetParent || document; t && "html" === !t.nodeType.toLowerCase && "static" === t.style.position;) t = t.offsetParent;
  10513. return t || document
  10514. }
  10515. var e = this[0],
  10516. t = t.apply(e),
  10517. r = this.offset(),
  10518. i = /^(?:body|html)$/i.test(t.nodeName) ? {
  10519. top: 0,
  10520. left: 0
  10521. } : n(t).offset();
  10522. return r.top -= parseFloat(e.style.marginTop) || 0, r.left -= parseFloat(e.style.marginLeft) || 0, t.style && (i.top += parseFloat(t.style.borderTopWidth) || 0, i.left += parseFloat(t.style.borderLeftWidth) || 0), {
  10523. top: r.top - i.top,
  10524. left: r.left - i.left
  10525. }
  10526. }
  10527. };
  10528. var i = {};
  10529. n.expando = "velocity" + (new Date).getTime(), n.uuid = 0;
  10530. for (var o = {}, a = o.hasOwnProperty, s = o.toString, l = "Boolean Number String Function Array Date RegExp Object Error".split(" "), u = 0; u < l.length; u++) o["[object " + l[u] + "]"] = l[u].toLowerCase();
  10531. n.fn.init.prototype = n.fn, t.Velocity = {
  10532. Utilities: n
  10533. }
  10534. }
  10535. }(window), e = function() {
  10536. return function(t, e, n, i) {
  10537. function o(t) {
  10538. return g.isWrapped(t) ? t = [].slice.call(t) : g.isNode(t) && (t = [t]), t
  10539. }
  10540. function a(t) {
  10541. var e = f.data(t, "velocity");
  10542. return null === e ? i : e
  10543. }
  10544. function s(t) {
  10545. return function(e) {
  10546. return Math.round(e * t) * (1 / t)
  10547. }
  10548. }
  10549. function l(t, n, r, i) {
  10550. function o(t, e) {
  10551. return 1 - 3 * e + 3 * t
  10552. }
  10553. function a(t, e) {
  10554. return 3 * e - 6 * t
  10555. }
  10556. function s(t) {
  10557. return 3 * t
  10558. }
  10559. function l(t, e, n) {
  10560. return ((o(e, n) * t + a(e, n)) * t + s(e)) * t
  10561. }
  10562. function u(t, e, n) {
  10563. return 3 * o(e, n) * t * t + 2 * a(e, n) * t + s(e)
  10564. }
  10565. function c(e, n) {
  10566. for (var i = 0; h > i; ++i) {
  10567. var o = u(n, t, r);
  10568. if (0 === o) return n;
  10569. n -= (l(n, t, r) - e) / o
  10570. }
  10571. return n
  10572. }
  10573. function d(e, n, i) {
  10574. var o, a, s = 0;
  10575. do {
  10576. (o = l(a = n + (i - n) / 2, t, r) - e) > 0 ? i = a : n = a
  10577. } while (Math.abs(o) > g && ++s < v);
  10578. return a
  10579. }
  10580. function f() {
  10581. S = !0, (t != n || r != i) && function() {
  10582. for (var e = 0; m > e; ++e) w[e] = l(e * y, t, r)
  10583. }()
  10584. }
  10585. var h = 4,
  10586. p = .001,
  10587. g = 1e-7,
  10588. v = 10,
  10589. m = 11,
  10590. y = 1 / (m - 1),
  10591. b = "Float32Array" in e;
  10592. if (4 !== arguments.length) return !1;
  10593. for (var x = 0; 4 > x; ++x)
  10594. if ("number" != typeof arguments[x] || isNaN(arguments[x]) || !isFinite(arguments[x])) return !1;
  10595. t = Math.min(t, 1), r = Math.min(r, 1), t = Math.max(t, 0), r = Math.max(r, 0);
  10596. var w = b ? new Float32Array(m) : new Array(m),
  10597. S = !1,
  10598. k = function(e) {
  10599. return S || f(), t === n && r === i ? e : 0 === e ? 0 : 1 === e ? 1 : l(function(e) {
  10600. for (var n = 0, i = 1, o = m - 1; i != o && w[i] <= e; ++i) n += y;
  10601. var a = n + (e - w[--i]) / (w[i + 1] - w[i]) * y,
  10602. s = u(a, t, r);
  10603. return s >= p ? c(e, a) : 0 == s ? a : d(e, n, n + y)
  10604. }(e), n, i)
  10605. };
  10606. k.getControlPoints = function() {
  10607. return [{
  10608. x: t,
  10609. y: n
  10610. }, {
  10611. x: r,
  10612. y: i
  10613. }]
  10614. };
  10615. var C = "generateBezier(" + [t, n, r, i] + ")";
  10616. return k.toString = function() {
  10617. return C
  10618. }, k
  10619. }
  10620. function u(t, e) {
  10621. var n = t;
  10622. return g.isString(t) ? b.Easings[t] || (n = !1) : n = g.isArray(t) && 1 === t.length ? s.apply(null, t) : g.isArray(t) && 2 === t.length ? x.apply(null, t.concat([e])) : !(!g.isArray(t) || 4 !== t.length) && l.apply(null, t), !1 === n && (n = b.Easings[b.defaults.easing] ? b.defaults.easing : y), n
  10623. }
  10624. function c(t) {
  10625. if (t) {
  10626. var e = (new Date).getTime(),
  10627. n = b.State.calls.length;
  10628. n > 1e4 && (b.State.calls = function(t) {
  10629. for (var e = -1, n = t ? t.length : 0, r = []; ++e < n;) {
  10630. var i = t[e];
  10631. i && r.push(i)
  10632. }
  10633. return r
  10634. }(b.State.calls));
  10635. for (var r = 0; n > r; r++)
  10636. if (b.State.calls[r]) {
  10637. var o = b.State.calls[r],
  10638. s = o[0],
  10639. l = o[2],
  10640. u = o[3],
  10641. h = !!u,
  10642. p = null;
  10643. u || (u = b.State.calls[r][3] = e - 16);
  10644. for (var v = Math.min((e - u) / l.duration, 1), m = 0, y = s.length; y > m; m++) {
  10645. var x = s[m],
  10646. S = x.element;
  10647. if (a(S)) {
  10648. var C = !1;
  10649. for (var M in l.display !== i && null !== l.display && "none" !== l.display && ("flex" === l.display && f.each(["-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex"], (function(t, e) {
  10650. w.setPropertyValue(S, "display", e)
  10651. })), w.setPropertyValue(S, "display", l.display)), l.visibility !== i && "hidden" !== l.visibility && w.setPropertyValue(S, "visibility", l.visibility), x)
  10652. if ("element" !== M) {
  10653. var A, P = x[M],
  10654. _ = g.isString(P.easing) ? b.Easings[P.easing] : P.easing;
  10655. if (1 === v) A = P.endValue;
  10656. else {
  10657. var T = P.endValue - P.startValue;
  10658. if (A = P.startValue + T * _(v, l, T), !h && A === P.currentValue) continue
  10659. }
  10660. if (P.currentValue = A, "tween" === M) p = A;
  10661. else {
  10662. if (w.Hooks.registered[M]) {
  10663. var I = w.Hooks.getRoot(M),
  10664. O = a(S).rootPropertyValueCache[I];
  10665. O && (P.rootPropertyValue = O)
  10666. }
  10667. var F = w.setPropertyValue(S, M, P.currentValue + (0 === parseFloat(A) ? "" : P.unitType), P.rootPropertyValue, P.scrollData);
  10668. w.Hooks.registered[M] && (a(S).rootPropertyValueCache[I] = w.Normalizations.registered[I] ? w.Normalizations.registered[I]("extract", null, F[1]) : F[1]), "transform" === F[0] && (C = !0)
  10669. }
  10670. } l.mobileHA && a(S).transformCache.translate3d === i && (a(S).transformCache.translate3d = "(0px, 0px, 0px)", C = !0), C && w.flushTransformCache(S)
  10671. }
  10672. }
  10673. l.display !== i && "none" !== l.display && (b.State.calls[r][2].display = !1), l.visibility !== i && "hidden" !== l.visibility && (b.State.calls[r][2].visibility = !1), l.progress && l.progress.call(o[1], o[1], v, Math.max(0, u + l.duration - e), u, p), 1 === v && d(r)
  10674. }
  10675. }
  10676. b.State.isTicking && k(c)
  10677. }
  10678. function d(t, e) {
  10679. if (!b.State.calls[t]) return !1;
  10680. for (var n = b.State.calls[t][0], r = b.State.calls[t][1], o = b.State.calls[t][2], s = b.State.calls[t][4], l = !1, u = 0, c = n.length; c > u; u++) {
  10681. var d = n[u].element;
  10682. if (e || o.loop || ("none" === o.display && w.setPropertyValue(d, "display", o.display), "hidden" === o.visibility && w.setPropertyValue(d, "visibility", o.visibility)), !0 !== o.loop && (f.queue(d)[1] === i || !/\.velocityQueueEntryFlag/i.test(f.queue(d)[1])) && a(d)) {
  10683. a(d).isAnimating = !1, a(d).rootPropertyValueCache = {};
  10684. var h = !1;
  10685. f.each(w.Lists.transforms3D, (function(t, e) {
  10686. var n = /^scale/.test(e) ? 1 : 0,
  10687. r = a(d).transformCache[e];
  10688. a(d).transformCache[e] !== i && new RegExp("^\\(" + n + "[^.]").test(r) && (h = !0, delete a(d).transformCache[e])
  10689. })), o.mobileHA && (h = !0, delete a(d).transformCache.translate3d), h && w.flushTransformCache(d), w.Values.removeClass(d, "velocity-animating")
  10690. }
  10691. if (!e && o.complete && !o.loop && u === c - 1) try {
  10692. o.complete.call(r, r)
  10693. } catch (t) {
  10694. setTimeout((function() {
  10695. throw t
  10696. }), 1)
  10697. }
  10698. s && !0 !== o.loop && s(r), a(d) && !0 === o.loop && !e && (f.each(a(d).tweensContainer, (function(t, e) {
  10699. /^rotate/.test(t) && 360 === parseFloat(e.endValue) && (e.endValue = 0, e.startValue = 360), /^backgroundPosition/.test(t) && 100 === parseFloat(e.endValue) && "%" === e.unitType && (e.endValue = 0, e.startValue = 100)
  10700. })), b(d, "reverse", {
  10701. loop: !0,
  10702. delay: o.delay
  10703. })), !1 !== o.queue && f.dequeue(d, o.queue)
  10704. }
  10705. b.State.calls[t] = !1;
  10706. for (var p = 0, g = b.State.calls.length; g > p; p++)
  10707. if (!1 !== b.State.calls[p]) {
  10708. l = !0;
  10709. break
  10710. }! 1 === l && (b.State.isTicking = !1, delete b.State.calls, b.State.calls = [])
  10711. }
  10712. var f, h = function() {
  10713. if (n.documentMode) return n.documentMode;
  10714. for (var t = 7; t > 4; t--) {
  10715. var e = n.createElement("div");
  10716. if (e.innerHTML = "\x3c!--[if IE " + t + "]><span></span><![endif]--\x3e", e.getElementsByTagName("span").length) return e = null, t
  10717. }
  10718. return i
  10719. }(),
  10720. p = function() {
  10721. var t = 0;
  10722. return e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || function(e) {
  10723. var n, r = (new Date).getTime();
  10724. return n = Math.max(0, 16 - (r - t)), t = r + n, setTimeout((function() {
  10725. e(r + n)
  10726. }), n)
  10727. }
  10728. }(),
  10729. g = {
  10730. isString: function(t) {
  10731. return "string" == typeof t
  10732. },
  10733. isArray: Array.isArray || function(t) {
  10734. return "[object Array]" === Object.prototype.toString.call(t)
  10735. },
  10736. isFunction: function(t) {
  10737. return "[object Function]" === Object.prototype.toString.call(t)
  10738. },
  10739. isNode: function(t) {
  10740. return t && t.nodeType
  10741. },
  10742. isNodeList: function(t) {
  10743. return "object" == r(t) && /^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(t)) && t.length !== i && (0 === t.length || "object" == r(t[0]) && t[0].nodeType > 0)
  10744. },
  10745. isWrapped: function(t) {
  10746. return t && (t.jquery || e.Zepto && e.Zepto.zepto.isZ(t))
  10747. },
  10748. isSVG: function(t) {
  10749. return e.SVGElement && t instanceof e.SVGElement
  10750. },
  10751. isEmptyObject: function(t) {
  10752. for (var e in t) return !1;
  10753. return !0
  10754. }
  10755. },
  10756. v = !1;
  10757. if (t.fn && t.fn.jquery ? (f = t, v = !0) : f = e.Velocity.Utilities, 8 >= h && !v) throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");
  10758. if (!(7 >= h)) {
  10759. var m = 400,
  10760. y = "swing",
  10761. b = {
  10762. State: {
  10763. isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
  10764. isAndroid: /Android/i.test(navigator.userAgent),
  10765. isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent),
  10766. isChrome: e.chrome,
  10767. isFirefox: /Firefox/i.test(navigator.userAgent),
  10768. prefixElement: n.createElement("div"),
  10769. prefixMatches: {},
  10770. scrollAnchor: null,
  10771. scrollPropertyLeft: null,
  10772. scrollPropertyTop: null,
  10773. isTicking: !1,
  10774. calls: []
  10775. },
  10776. CSS: {},
  10777. Utilities: f,
  10778. Redirects: {},
  10779. Easings: {},
  10780. Promise: e.Promise,
  10781. defaults: {
  10782. queue: "",
  10783. duration: m,
  10784. easing: y,
  10785. begin: i,
  10786. complete: i,
  10787. progress: i,
  10788. display: i,
  10789. visibility: i,
  10790. loop: !1,
  10791. delay: !1,
  10792. mobileHA: !0,
  10793. _cacheValues: !0
  10794. },
  10795. init: function(t) {
  10796. f.data(t, "velocity", {
  10797. isSVG: g.isSVG(t),
  10798. isAnimating: !1,
  10799. computedStyle: null,
  10800. tweensContainer: null,
  10801. rootPropertyValueCache: {},
  10802. transformCache: {}
  10803. })
  10804. },
  10805. hook: null,
  10806. mock: !1,
  10807. version: {
  10808. major: 1,
  10809. minor: 2,
  10810. patch: 2
  10811. },
  10812. debug: !1
  10813. };
  10814. e.pageYOffset !== i ? (b.State.scrollAnchor = e, b.State.scrollPropertyLeft = "pageXOffset", b.State.scrollPropertyTop = "pageYOffset") : (b.State.scrollAnchor = n.documentElement || n.body.parentNode || n.body, b.State.scrollPropertyLeft = "scrollLeft", b.State.scrollPropertyTop = "scrollTop");
  10815. var x = function() {
  10816. function t(t) {
  10817. return -t.tension * t.x - t.friction * t.v
  10818. }
  10819. function e(e, n, r) {
  10820. var i = {
  10821. x: e.x + r.dx * n,
  10822. v: e.v + r.dv * n,
  10823. tension: e.tension,
  10824. friction: e.friction
  10825. };
  10826. return {
  10827. dx: i.v,
  10828. dv: t(i)
  10829. }
  10830. }
  10831. function n(n, r) {
  10832. var i = {
  10833. dx: n.v,
  10834. dv: t(n)
  10835. },
  10836. o = e(n, .5 * r, i),
  10837. a = e(n, .5 * r, o),
  10838. s = e(n, r, a),
  10839. l = 1 / 6 * (i.dx + 2 * (o.dx + a.dx) + s.dx),
  10840. u = 1 / 6 * (i.dv + 2 * (o.dv + a.dv) + s.dv);
  10841. return n.x = n.x + l * r, n.v = n.v + u * r, n
  10842. }
  10843. return function t(e, r, i) {
  10844. var o, a, s, l = {
  10845. x: -1,
  10846. v: 0,
  10847. tension: null,
  10848. friction: null
  10849. },
  10850. u = [0],
  10851. c = 0;
  10852. for (e = parseFloat(e) || 500, r = parseFloat(r) || 20, i = i || null, l.tension = e, l.friction = r, a = (o = null !== i) ? (c = t(e, r)) / i * .016 : .016; s = n(s || l, a), u.push(1 + s.x), c += 16, Math.abs(s.x) > 1e-4 && Math.abs(s.v) > 1e-4;);
  10853. return o ? function(t) {
  10854. return u[t * (u.length - 1) | 0]
  10855. } : c
  10856. }
  10857. }();
  10858. b.Easings = {
  10859. linear: function(t) {
  10860. return t
  10861. },
  10862. swing: function(t) {
  10863. return .5 - Math.cos(t * Math.PI) / 2
  10864. },
  10865. spring: function(t) {
  10866. return 1 - Math.cos(4.5 * t * Math.PI) * Math.exp(6 * -t)
  10867. }
  10868. }, f.each([
  10869. ["ease", [.25, .1, .25, 1]],
  10870. ["ease-in", [.42, 0, 1, 1]],
  10871. ["ease-out", [0, 0, .58, 1]],
  10872. ["ease-in-out", [.42, 0, .58, 1]],
  10873. ["easeInSine", [.47, 0, .745, .715]],
  10874. ["easeOutSine", [.39, .575, .565, 1]],
  10875. ["easeInOutSine", [.445, .05, .55, .95]],
  10876. ["easeInQuad", [.55, .085, .68, .53]],
  10877. ["easeOutQuad", [.25, .46, .45, .94]],
  10878. ["easeInOutQuad", [.455, .03, .515, .955]],
  10879. ["easeInCubic", [.55, .055, .675, .19]],
  10880. ["easeOutCubic", [.215, .61, .355, 1]],
  10881. ["easeInOutCubic", [.645, .045, .355, 1]],
  10882. ["easeInQuart", [.895, .03, .685, .22]],
  10883. ["easeOutQuart", [.165, .84, .44, 1]],
  10884. ["easeInOutQuart", [.77, 0, .175, 1]],
  10885. ["easeInQuint", [.755, .05, .855, .06]],
  10886. ["easeOutQuint", [.23, 1, .32, 1]],
  10887. ["easeInOutQuint", [.86, 0, .07, 1]],
  10888. ["easeInExpo", [.95, .05, .795, .035]],
  10889. ["easeOutExpo", [.19, 1, .22, 1]],
  10890. ["easeInOutExpo", [1, 0, 0, 1]],
  10891. ["easeInCirc", [.6, .04, .98, .335]],
  10892. ["easeOutCirc", [.075, .82, .165, 1]],
  10893. ["easeInOutCirc", [.785, .135, .15, .86]]
  10894. ], (function(t, e) {
  10895. b.Easings[e[0]] = l.apply(null, e[1])
  10896. }));
  10897. var w = b.CSS = {
  10898. RegEx: {
  10899. isHex: /^#([A-f\d]{3}){1,2}$/i,
  10900. valueUnwrap: /^[A-z]+\((.*)\)$/i,
  10901. wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,
  10902. valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi
  10903. },
  10904. Lists: {
  10905. colors: ["fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor"],
  10906. transformsBase: ["translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ"],
  10907. transforms3D: ["transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY"]
  10908. },
  10909. Hooks: {
  10910. templates: {
  10911. textShadow: ["Color X Y Blur", "black 0px 0px 0px"],
  10912. boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"],
  10913. clip: ["Top Right Bottom Left", "0px 0px 0px 0px"],
  10914. backgroundPosition: ["X Y", "0% 0%"],
  10915. transformOrigin: ["X Y Z", "50% 50% 0px"],
  10916. perspectiveOrigin: ["X Y", "50% 50%"]
  10917. },
  10918. registered: {},
  10919. register: function() {
  10920. for (var t = 0; t < w.Lists.colors.length; t++) {
  10921. var e = "color" === w.Lists.colors[t] ? "0 0 0 1" : "255 255 255 1";
  10922. w.Hooks.templates[w.Lists.colors[t]] = ["Red Green Blue Alpha", e]
  10923. }
  10924. var n, r, i;
  10925. if (h)
  10926. for (n in w.Hooks.templates) {
  10927. i = (r = w.Hooks.templates[n])[0].split(" ");
  10928. var o = r[1].match(w.RegEx.valueSplit);
  10929. "Color" === i[0] && (i.push(i.shift()), o.push(o.shift()), w.Hooks.templates[n] = [i.join(" "), o.join(" ")])
  10930. }
  10931. for (n in w.Hooks.templates)
  10932. for (var t in i = (r = w.Hooks.templates[n])[0].split(" ")) {
  10933. var a = n + i[t],
  10934. s = t;
  10935. w.Hooks.registered[a] = [n, s]
  10936. }
  10937. },
  10938. getRoot: function(t) {
  10939. var e = w.Hooks.registered[t];
  10940. return e ? e[0] : t
  10941. },
  10942. cleanRootPropertyValue: function(t, e) {
  10943. return w.RegEx.valueUnwrap.test(e) && (e = e.match(w.RegEx.valueUnwrap)[1]), w.Values.isCSSNullValue(e) && (e = w.Hooks.templates[t][1]), e
  10944. },
  10945. extractValue: function(t, e) {
  10946. var n = w.Hooks.registered[t];
  10947. if (n) {
  10948. var r = n[0],
  10949. i = n[1];
  10950. return (e = w.Hooks.cleanRootPropertyValue(r, e)).toString().match(w.RegEx.valueSplit)[i]
  10951. }
  10952. return e
  10953. },
  10954. injectValue: function(t, e, n) {
  10955. var r = w.Hooks.registered[t];
  10956. if (r) {
  10957. var i, o = r[0],
  10958. a = r[1];
  10959. return (i = (n = w.Hooks.cleanRootPropertyValue(o, n)).toString().match(w.RegEx.valueSplit))[a] = e, i.join(" ")
  10960. }
  10961. return n
  10962. }
  10963. },
  10964. Normalizations: {
  10965. registered: {
  10966. clip: function(t, e, n) {
  10967. switch (t) {
  10968. case "name":
  10969. return "clip";
  10970. case "extract":
  10971. var r;
  10972. return r = w.RegEx.wrappedValueAlreadyExtracted.test(n) ? n : (r = n.toString().match(w.RegEx.valueUnwrap)) ? r[1].replace(/,(\s+)?/g, " ") : n;
  10973. case "inject":
  10974. return "rect(" + n + ")"
  10975. }
  10976. },
  10977. blur: function(t, e, n) {
  10978. switch (t) {
  10979. case "name":
  10980. return b.State.isFirefox ? "filter" : "-webkit-filter";
  10981. case "extract":
  10982. var r = parseFloat(n);
  10983. if (!r && 0 !== r) {
  10984. var i = n.toString().match(/blur\(([0-9]+[A-z]+)\)/i);
  10985. r = i ? i[1] : 0
  10986. }
  10987. return r;
  10988. case "inject":
  10989. return parseFloat(n) ? "blur(" + n + ")" : "none"
  10990. }
  10991. },
  10992. opacity: function(t, e, n) {
  10993. if (8 >= h) switch (t) {
  10994. case "name":
  10995. return "filter";
  10996. case "extract":
  10997. var r = n.toString().match(/alpha\(opacity=(.*)\)/i);
  10998. return r ? r[1] / 100 : 1;
  10999. case "inject":
  11000. return e.style.zoom = 1, parseFloat(n) >= 1 ? "" : "alpha(opacity=" + parseInt(100 * parseFloat(n), 10) + ")"
  11001. } else switch (t) {
  11002. case "name":
  11003. return "opacity";
  11004. case "extract":
  11005. case "inject":
  11006. return n
  11007. }
  11008. }
  11009. },
  11010. register: function() {
  11011. 9 >= h || b.State.isGingerbread || (w.Lists.transformsBase = w.Lists.transformsBase.concat(w.Lists.transforms3D));
  11012. for (var t = 0; t < w.Lists.transformsBase.length; t++) ! function() {
  11013. var e = w.Lists.transformsBase[t];
  11014. w.Normalizations.registered[e] = function(t, n, r) {
  11015. switch (t) {
  11016. case "name":
  11017. return "transform";
  11018. case "extract":
  11019. return a(n) === i || a(n).transformCache[e] === i ? /^scale/i.test(e) ? 1 : 0 : a(n).transformCache[e].replace(/[()]/g, "");
  11020. case "inject":
  11021. var o = !1;
  11022. switch (e.substr(0, e.length - 1)) {
  11023. case "translate":
  11024. o = !/(%|px|em|rem|vw|vh|\d)$/i.test(r);
  11025. break;
  11026. case "scal":
  11027. case "scale":
  11028. b.State.isAndroid && a(n).transformCache[e] === i && 1 > r && (r = 1), o = !/(\d)$/i.test(r);
  11029. break;
  11030. case "skew":
  11031. o = !/(deg|\d)$/i.test(r);
  11032. break;
  11033. case "rotate":
  11034. o = !/(deg|\d)$/i.test(r)
  11035. }
  11036. return o || (a(n).transformCache[e] = "(" + r + ")"), a(n).transformCache[e]
  11037. }
  11038. }
  11039. }();
  11040. for (t = 0; t < w.Lists.colors.length; t++) ! function() {
  11041. var e = w.Lists.colors[t];
  11042. w.Normalizations.registered[e] = function(t, n, r) {
  11043. switch (t) {
  11044. case "name":
  11045. return e;
  11046. case "extract":
  11047. var o;
  11048. if (w.RegEx.wrappedValueAlreadyExtracted.test(r)) o = r;
  11049. else {
  11050. var a, s = {
  11051. black: "rgb(0, 0, 0)",
  11052. blue: "rgb(0, 0, 255)",
  11053. gray: "rgb(128, 128, 128)",
  11054. green: "rgb(0, 128, 0)",
  11055. red: "rgb(255, 0, 0)",
  11056. white: "rgb(255, 255, 255)"
  11057. };
  11058. /^[A-z]+$/i.test(r) ? a = s[r] !== i ? s[r] : s.black : w.RegEx.isHex.test(r) ? a = "rgb(" + w.Values.hexToRgb(r).join(" ") + ")" : /^rgba?\(/i.test(r) || (a = s.black), o = (a || r).toString().match(w.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " ")
  11059. }
  11060. return 8 >= h || 3 !== o.split(" ").length || (o += " 1"), o;
  11061. case "inject":
  11062. return 8 >= h ? 4 === r.split(" ").length && (r = r.split(/\s+/).slice(0, 3).join(" ")) : 3 === r.split(" ").length && (r += " 1"), (8 >= h ? "rgb" : "rgba") + "(" + r.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")"
  11063. }
  11064. }
  11065. }()
  11066. }
  11067. },
  11068. Names: {
  11069. camelCase: function(t) {
  11070. return t.replace(/-(\w)/g, (function(t, e) {
  11071. return e.toUpperCase()
  11072. }))
  11073. },
  11074. SVGAttribute: function(t) {
  11075. var e = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";
  11076. return (h || b.State.isAndroid && !b.State.isChrome) && (e += "|transform"), new RegExp("^(" + e + ")$", "i").test(t)
  11077. },
  11078. prefixCheck: function(t) {
  11079. if (b.State.prefixMatches[t]) return [b.State.prefixMatches[t], !0];
  11080. for (var e = ["", "Webkit", "Moz", "ms", "O"], n = 0, r = e.length; r > n; n++) {
  11081. var i;
  11082. if (i = 0 === n ? t : e[n] + t.replace(/^\w/, (function(t) {
  11083. return t.toUpperCase()
  11084. })), g.isString(b.State.prefixElement.style[i])) return b.State.prefixMatches[t] = i, [i, !0]
  11085. }
  11086. return [t, !1]
  11087. }
  11088. },
  11089. Values: {
  11090. hexToRgb: function(t) {
  11091. var e;
  11092. return t = t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (function(t, e, n, r) {
  11093. return e + e + n + n + r + r
  11094. })), (e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t)) ? [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)] : [0, 0, 0]
  11095. },
  11096. isCSSNullValue: function(t) {
  11097. return 0 == t || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(t)
  11098. },
  11099. getUnitType: function(t) {
  11100. return /^(rotate|skew)/i.test(t) ? "deg" : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(t) ? "" : "px"
  11101. },
  11102. getDisplayType: function(t) {
  11103. var e = t && t.tagName.toString().toLowerCase();
  11104. return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(e) ? "inline" : /^(li)$/i.test(e) ? "list-item" : /^(tr)$/i.test(e) ? "table-row" : /^(table)$/i.test(e) ? "table" : /^(tbody)$/i.test(e) ? "table-row-group" : "block"
  11105. },
  11106. addClass: function(t, e) {
  11107. t.classList ? t.classList.add(e) : t.className += (t.className.length ? " " : "") + e
  11108. },
  11109. removeClass: function(t, e) {
  11110. t.classList ? t.classList.remove(e) : t.className = t.className.toString().replace(new RegExp("(^|\\s)" + e.split(" ").join("|") + "(\\s|$)", "gi"), " ")
  11111. }
  11112. },
  11113. getPropertyValue: function(t, n, r, o) {
  11114. function s(t, n) {
  11115. function r() {
  11116. c && w.setPropertyValue(t, "display", "none")
  11117. }
  11118. var l = 0;
  11119. if (8 >= h) l = f.css(t, n);
  11120. else {
  11121. var u, c = !1;
  11122. if (/^(width|height)$/.test(n) && 0 === w.getPropertyValue(t, "display") && (c = !0, w.setPropertyValue(t, "display", w.Values.getDisplayType(t))), !o) {
  11123. if ("height" === n && "border-box" !== w.getPropertyValue(t, "boxSizing").toString().toLowerCase()) {
  11124. var d = t.offsetHeight - (parseFloat(w.getPropertyValue(t, "borderTopWidth")) || 0) - (parseFloat(w.getPropertyValue(t, "borderBottomWidth")) || 0) - (parseFloat(w.getPropertyValue(t, "paddingTop")) || 0) - (parseFloat(w.getPropertyValue(t, "paddingBottom")) || 0);
  11125. return r(), d
  11126. }
  11127. if ("width" === n && "border-box" !== w.getPropertyValue(t, "boxSizing").toString().toLowerCase()) {
  11128. var p = t.offsetWidth - (parseFloat(w.getPropertyValue(t, "borderLeftWidth")) || 0) - (parseFloat(w.getPropertyValue(t, "borderRightWidth")) || 0) - (parseFloat(w.getPropertyValue(t, "paddingLeft")) || 0) - (parseFloat(w.getPropertyValue(t, "paddingRight")) || 0);
  11129. return r(), p
  11130. }
  11131. }
  11132. u = a(t) === i ? e.getComputedStyle(t, null) : a(t).computedStyle ? a(t).computedStyle : a(t).computedStyle = e.getComputedStyle(t, null), "borderColor" === n && (n = "borderTopColor"), ("" === (l = 9 === h && "filter" === n ? u.getPropertyValue(n) : u[n]) || null === l) && (l = t.style[n]), r()
  11133. }
  11134. if ("auto" === l && /^(top|right|bottom|left)$/i.test(n)) {
  11135. var g = s(t, "position");
  11136. ("fixed" === g || "absolute" === g && /top|left/i.test(n)) && (l = f(t).position()[n] + "px")
  11137. }
  11138. return l
  11139. }
  11140. var l;
  11141. if (w.Hooks.registered[n]) {
  11142. var u = n,
  11143. c = w.Hooks.getRoot(u);
  11144. r === i && (r = w.getPropertyValue(t, w.Names.prefixCheck(c)[0])), w.Normalizations.registered[c] && (r = w.Normalizations.registered[c]("extract", t, r)), l = w.Hooks.extractValue(u, r)
  11145. } else if (w.Normalizations.registered[n]) {
  11146. var d, p;
  11147. "transform" !== (d = w.Normalizations.registered[n]("name", t)) && (p = s(t, w.Names.prefixCheck(d)[0]), w.Values.isCSSNullValue(p) && w.Hooks.templates[n] && (p = w.Hooks.templates[n][1])), l = w.Normalizations.registered[n]("extract", t, p)
  11148. }
  11149. if (!/^[\d-]/.test(l))
  11150. if (a(t) && a(t).isSVG && w.Names.SVGAttribute(n))
  11151. if (/^(height|width)$/i.test(n)) try {
  11152. l = t.getBBox()[n]
  11153. } catch (t) {
  11154. l = 0
  11155. } else l = t.getAttribute(n);
  11156. else l = s(t, w.Names.prefixCheck(n)[0]);
  11157. return w.Values.isCSSNullValue(l) && (l = 0), b.debug >= 2 && console.log("Get " + n + ": " + l), l
  11158. },
  11159. setPropertyValue: function(t, n, r, i, o) {
  11160. var s = n;
  11161. if ("scroll" === n) o.container ? o.container["scroll" + o.direction] = r : "Left" === o.direction ? e.scrollTo(r, o.alternateValue) : e.scrollTo(o.alternateValue, r);
  11162. else if (w.Normalizations.registered[n] && "transform" === w.Normalizations.registered[n]("name", t)) w.Normalizations.registered[n]("inject", t, r), s = "transform", r = a(t).transformCache[n];
  11163. else {
  11164. if (w.Hooks.registered[n]) {
  11165. var l = n,
  11166. u = w.Hooks.getRoot(n);
  11167. i = i || w.getPropertyValue(t, u), r = w.Hooks.injectValue(l, r, i), n = u
  11168. }
  11169. if (w.Normalizations.registered[n] && (r = w.Normalizations.registered[n]("inject", t, r), n = w.Normalizations.registered[n]("name", t)), s = w.Names.prefixCheck(n)[0], 8 >= h) try {
  11170. t.style[s] = r
  11171. } catch (t) {
  11172. b.debug && console.log("Browser does not support [" + r + "] for [" + s + "]")
  11173. } else a(t) && a(t).isSVG && w.Names.SVGAttribute(n) ? t.setAttribute(n, r) : t.style[s] = r;
  11174. b.debug >= 2 && console.log("Set " + n + " (" + s + "): " + r)
  11175. }
  11176. return [s, r]
  11177. },
  11178. flushTransformCache: function(t) {
  11179. function e(e) {
  11180. return parseFloat(w.getPropertyValue(t, e))
  11181. }
  11182. var n = "";
  11183. if ((h || b.State.isAndroid && !b.State.isChrome) && a(t).isSVG) {
  11184. var r = {
  11185. translate: [e("translateX"), e("translateY")],
  11186. skewX: [e("skewX")],
  11187. skewY: [e("skewY")],
  11188. scale: 1 !== e("scale") ? [e("scale"), e("scale")] : [e("scaleX"), e("scaleY")],
  11189. rotate: [e("rotateZ"), 0, 0]
  11190. };
  11191. f.each(a(t).transformCache, (function(t) {
  11192. /^translate/i.test(t) ? t = "translate" : /^scale/i.test(t) ? t = "scale" : /^rotate/i.test(t) && (t = "rotate"), r[t] && (n += t + "(" + r[t].join(" ") + ") ", delete r[t])
  11193. }))
  11194. } else {
  11195. var i, o;
  11196. f.each(a(t).transformCache, (function(e) {
  11197. return i = a(t).transformCache[e], "transformPerspective" === e ? (o = i, !0) : (9 === h && "rotateZ" === e && (e = "rotate"), void(n += e + i + " "))
  11198. })), o && (n = "perspective" + o + " " + n)
  11199. }
  11200. w.setPropertyValue(t, "transform", n)
  11201. }
  11202. };
  11203. w.Hooks.register(), w.Normalizations.register(), b.hook = function(t, e, n) {
  11204. var r = i;
  11205. return t = o(t), f.each(t, (function(t, o) {
  11206. if (a(o) === i && b.init(o), n === i) r === i && (r = b.CSS.getPropertyValue(o, e));
  11207. else {
  11208. var s = b.CSS.setPropertyValue(o, e, n);
  11209. "transform" === s[0] && b.CSS.flushTransformCache(o), r = s
  11210. }
  11211. })), r
  11212. };
  11213. var S = function t() {
  11214. function r() {
  11215. return l ? _.promise || null : h
  11216. }
  11217. function s() {
  11218. function t(t) {
  11219. function d(t, e) {
  11220. var n = i,
  11221. r = i,
  11222. a = i;
  11223. return g.isArray(t) ? (n = t[0], !g.isArray(t[1]) && /^[\d-]/.test(t[1]) || g.isFunction(t[1]) || w.RegEx.isHex.test(t[1]) ? a = t[1] : (g.isString(t[1]) && !w.RegEx.isHex.test(t[1]) || g.isArray(t[1])) && (r = e ? t[1] : u(t[1], s.duration), t[2] !== i && (a = t[2]))) : n = t, e || (r = r || s.easing), g.isFunction(n) && (n = n.call(o, C, k)), g.isFunction(a) && (a = a.call(o, C, k)), [n || 0, r, a]
  11224. }
  11225. function h(t, e) {
  11226. var n, r;
  11227. return r = (e || "0").toString().toLowerCase().replace(/[%A-z]+$/, (function(t) {
  11228. return n = t, ""
  11229. })), n || (n = w.Values.getUnitType(t)), [r, n]
  11230. }
  11231. function p() {
  11232. var t = {
  11233. myParent: o.parentNode || n.body,
  11234. position: w.getPropertyValue(o, "position"),
  11235. fontSize: w.getPropertyValue(o, "fontSize")
  11236. },
  11237. r = t.position === L.lastPosition && t.myParent === L.lastParent,
  11238. i = t.fontSize === L.lastFontSize;
  11239. L.lastParent = t.myParent, L.lastPosition = t.position, L.lastFontSize = t.fontSize;
  11240. var s = 100,
  11241. l = {};
  11242. if (i && r) l.emToPx = L.lastEmToPx, l.percentToPxWidth = L.lastPercentToPxWidth, l.percentToPxHeight = L.lastPercentToPxHeight;
  11243. else {
  11244. var u = a(o).isSVG ? n.createElementNS("http://www.w3.org/2000/svg", "rect") : n.createElement("div");
  11245. b.init(u), t.myParent.appendChild(u), f.each(["overflow", "overflowX", "overflowY"], (function(t, e) {
  11246. b.CSS.setPropertyValue(u, e, "hidden")
  11247. })), b.CSS.setPropertyValue(u, "position", t.position), b.CSS.setPropertyValue(u, "fontSize", t.fontSize), b.CSS.setPropertyValue(u, "boxSizing", "content-box"), f.each(["minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height"], (function(t, e) {
  11248. b.CSS.setPropertyValue(u, e, s + "%")
  11249. })), b.CSS.setPropertyValue(u, "paddingLeft", s + "em"), l.percentToPxWidth = L.lastPercentToPxWidth = (parseFloat(w.getPropertyValue(u, "width", null, !0)) || 1) / s, l.percentToPxHeight = L.lastPercentToPxHeight = (parseFloat(w.getPropertyValue(u, "height", null, !0)) || 1) / s, l.emToPx = L.lastEmToPx = (parseFloat(w.getPropertyValue(u, "paddingLeft")) || 1) / s, t.myParent.removeChild(u)
  11250. }
  11251. return null === L.remToPx && (L.remToPx = parseFloat(w.getPropertyValue(n.body, "fontSize")) || 16), null === L.vwToPx && (L.vwToPx = parseFloat(e.innerWidth) / 100, L.vhToPx = parseFloat(e.innerHeight) / 100), l.remToPx = L.remToPx, l.vwToPx = L.vwToPx, l.vhToPx = L.vhToPx, b.debug >= 1 && console.log("Unit ratios: " + JSON.stringify(l), o), l
  11252. }
  11253. if (s.begin && 0 === C) try {
  11254. s.begin.call(v, v)
  11255. } catch (t) {
  11256. setTimeout((function() {
  11257. throw t
  11258. }), 1)
  11259. }
  11260. if ("scroll" === P) {
  11261. var m, S, M, A = /^x$/i.test(s.axis) ? "Left" : "Top",
  11262. T = parseFloat(s.offset) || 0;
  11263. s.container ? g.isWrapped(s.container) || g.isNode(s.container) ? (s.container = s.container[0] || s.container, M = (m = s.container["scroll" + A]) + f(o).position()[A.toLowerCase()] + T) : s.container = null : (m = b.State.scrollAnchor[b.State["scrollProperty" + A]], S = b.State.scrollAnchor[b.State["scrollProperty" + ("Left" === A ? "Top" : "Left")]], M = f(o).offset()[A.toLowerCase()] + T), l = {
  11264. scroll: {
  11265. rootPropertyValue: !1,
  11266. startValue: m,
  11267. currentValue: m,
  11268. endValue: M,
  11269. unitType: "",
  11270. easing: s.easing,
  11271. scrollData: {
  11272. container: s.container,
  11273. direction: A,
  11274. alternateValue: S
  11275. }
  11276. },
  11277. element: o
  11278. }, b.debug && console.log("tweensContainer (scroll): ", l.scroll, o)
  11279. } else if ("reverse" === P) {
  11280. if (!a(o).tweensContainer) return void f.dequeue(o, s.queue);
  11281. "none" === a(o).opts.display && (a(o).opts.display = "auto"), "hidden" === a(o).opts.visibility && (a(o).opts.visibility = "visible"), a(o).opts.loop = !1, a(o).opts.begin = null, a(o).opts.complete = null, x.easing || delete s.easing, x.duration || delete s.duration, s = f.extend({}, a(o).opts, s);
  11282. var I = f.extend(!0, {}, a(o).tweensContainer);
  11283. for (var O in I)
  11284. if ("element" !== O) {
  11285. var F = I[O].startValue;
  11286. I[O].startValue = I[O].currentValue = I[O].endValue, I[O].endValue = F, g.isEmptyObject(x) || (I[O].easing = s.easing), b.debug && console.log("reverse tweensContainer (" + O + "): " + JSON.stringify(I[O]), o)
  11287. } l = I
  11288. } else if ("start" === P) {
  11289. for (var D in a(o).tweensContainer && !0 === a(o).isAnimating && (I = a(o).tweensContainer), f.each(y, (function(t, e) {
  11290. if (RegExp("^" + w.Lists.colors.join("$|^") + "$").test(t)) {
  11291. var n = d(e, !0),
  11292. r = n[0],
  11293. o = n[1],
  11294. a = n[2];
  11295. if (w.RegEx.isHex.test(r)) {
  11296. for (var s = ["Red", "Green", "Blue"], l = w.Values.hexToRgb(r), u = a ? w.Values.hexToRgb(a) : i, c = 0; c < s.length; c++) {
  11297. var f = [l[c]];
  11298. o && f.push(o), u !== i && f.push(u[c]), y[t + s[c]] = f
  11299. }
  11300. delete y[t]
  11301. }
  11302. }
  11303. })), y) {
  11304. var E = d(y[D]),
  11305. N = E[0],
  11306. V = E[1],
  11307. z = E[2];
  11308. D = w.Names.camelCase(D);
  11309. var B = w.Hooks.getRoot(D),
  11310. W = !1;
  11311. if (a(o).isSVG || "tween" === B || !1 !== w.Names.prefixCheck(B)[1] || w.Normalizations.registered[B] !== i) {
  11312. (s.display !== i && null !== s.display && "none" !== s.display || s.visibility !== i && "hidden" !== s.visibility) && /opacity|filter/.test(D) && !z && 0 !== N && (z = 0), s._cacheValues && I && I[D] ? (z === i && (z = I[D].endValue + I[D].unitType), W = a(o).rootPropertyValueCache[B]) : w.Hooks.registered[D] ? z === i ? (W = w.getPropertyValue(o, B), z = w.getPropertyValue(o, D, W)) : W = w.Hooks.templates[B][1] : z === i && (z = w.getPropertyValue(o, D));
  11313. var j, H, q, U = !1;
  11314. if (z = (j = h(D, z))[0], q = j[1], N = (j = h(D, N))[0].replace(/^([+-\/*])=/, (function(t, e) {
  11315. return U = e, ""
  11316. })), H = j[1], z = parseFloat(z) || 0, N = parseFloat(N) || 0, "%" === H && (/^(fontSize|lineHeight)$/.test(D) ? (N /= 100, H = "em") : /^scale/.test(D) ? (N /= 100, H = "") : /(Red|Green|Blue)$/i.test(D) && (N = N / 100 * 255, H = "")), /[\/*]/.test(U)) H = q;
  11317. else if (q !== H && 0 !== z)
  11318. if (0 === N) H = q;
  11319. else {
  11320. r = r || p();
  11321. var Y = /margin|padding|left|right|width|text|word|letter/i.test(D) || /X$/.test(D) || "x" === D ? "x" : "y";
  11322. switch (q) {
  11323. case "%":
  11324. z *= "x" === Y ? r.percentToPxWidth : r.percentToPxHeight;
  11325. break;
  11326. case "px":
  11327. break;
  11328. default:
  11329. z *= r[q + "ToPx"]
  11330. }
  11331. switch (H) {
  11332. case "%":
  11333. z *= 1 / ("x" === Y ? r.percentToPxWidth : r.percentToPxHeight);
  11334. break;
  11335. case "px":
  11336. break;
  11337. default:
  11338. z *= 1 / r[H + "ToPx"]
  11339. }
  11340. } switch (U) {
  11341. case "+":
  11342. N = z + N;
  11343. break;
  11344. case "-":
  11345. N = z - N;
  11346. break;
  11347. case "*":
  11348. N *= z;
  11349. break;
  11350. case "/":
  11351. N = z / N
  11352. }
  11353. l[D] = {
  11354. rootPropertyValue: W,
  11355. startValue: z,
  11356. currentValue: z,
  11357. endValue: N,
  11358. unitType: H,
  11359. easing: V
  11360. }, b.debug && console.log("tweensContainer (" + D + "): " + JSON.stringify(l[D]), o)
  11361. } else b.debug && console.log("Skipping [" + B + "] due to a lack of browser support.")
  11362. }
  11363. l.element = o
  11364. }
  11365. l.element && (w.Values.addClass(o, "velocity-animating"), R.push(l), "" === s.queue && (a(o).tweensContainer = l, a(o).opts = s), a(o).isAnimating = !0, C === k - 1 ? (b.State.calls.push([R, v, s, null, _.resolver]), !1 === b.State.isTicking && (b.State.isTicking = !0, c())) : C++)
  11366. }
  11367. var r, o = this,
  11368. s = f.extend({}, b.defaults, x),
  11369. l = {};
  11370. switch (a(o) === i && b.init(o), parseFloat(s.delay) && !1 !== s.queue && f.queue(o, s.queue, (function(t) {
  11371. b.velocityQueueEntryFlag = !0, a(o).delayTimer = {
  11372. setTimeout: setTimeout(t, parseFloat(s.delay)),
  11373. next: t
  11374. }
  11375. })), s.duration.toString().toLowerCase()) {
  11376. case "fast":
  11377. s.duration = 200;
  11378. break;
  11379. case "normal":
  11380. s.duration = m;
  11381. break;
  11382. case "slow":
  11383. s.duration = 600;
  11384. break;
  11385. default:
  11386. s.duration = parseFloat(s.duration) || 1
  11387. }!1 !== b.mock && (!0 === b.mock ? s.duration = s.delay = 1 : (s.duration *= parseFloat(b.mock) || 1, s.delay *= parseFloat(b.mock) || 1)), s.easing = u(s.easing, s.duration), s.begin && !g.isFunction(s.begin) && (s.begin = null), s.progress && !g.isFunction(s.progress) && (s.progress = null), s.complete && !g.isFunction(s.complete) && (s.complete = null), s.display !== i && null !== s.display && (s.display = s.display.toString().toLowerCase(), "auto" === s.display && (s.display = b.CSS.Values.getDisplayType(o))), s.visibility !== i && null !== s.visibility && (s.visibility = s.visibility.toString().toLowerCase()), s.mobileHA = s.mobileHA && b.State.isMobile && !b.State.isGingerbread, !1 === s.queue ? s.delay ? setTimeout(t, s.delay) : t() : f.queue(o, s.queue, (function(e, n) {
  11388. return !0 === n ? (_.promise && _.resolver(v), !0) : (b.velocityQueueEntryFlag = !0, void t())
  11389. })), "" !== s.queue && "fx" !== s.queue || "inprogress" === f.queue(o)[0] || f.dequeue(o)
  11390. }
  11391. var l, h, p, v, y, x, S = arguments[0] && (arguments[0].p || f.isPlainObject(arguments[0].properties) && !arguments[0].properties.names || g.isString(arguments[0].properties));
  11392. if (g.isWrapped(this) ? (l = !1, p = 0, v = this, h = this) : (l = !0, p = 1, v = S ? arguments[0].elements || arguments[0].e : arguments[0]), v = o(v)) {
  11393. S ? (y = arguments[0].properties || arguments[0].p, x = arguments[0].options || arguments[0].o) : (y = arguments[p], x = arguments[p + 1]);
  11394. var k = v.length,
  11395. C = 0;
  11396. if (!/^(stop|finish)$/i.test(y) && !f.isPlainObject(x)) {
  11397. var M = p + 1;
  11398. x = {};
  11399. for (var A = M; A < arguments.length; A++) g.isArray(arguments[A]) || !/^(fast|normal|slow)$/i.test(arguments[A]) && !/^\d/.test(arguments[A]) ? g.isString(arguments[A]) || g.isArray(arguments[A]) ? x.easing = arguments[A] : g.isFunction(arguments[A]) && (x.complete = arguments[A]) : x.duration = arguments[A]
  11400. }
  11401. var P, _ = {
  11402. promise: null,
  11403. resolver: null,
  11404. rejecter: null
  11405. };
  11406. switch (l && b.Promise && (_.promise = new b.Promise((function(t, e) {
  11407. _.resolver = t, _.rejecter = e
  11408. }))), y) {
  11409. case "scroll":
  11410. P = "scroll";
  11411. break;
  11412. case "reverse":
  11413. P = "reverse";
  11414. break;
  11415. case "finish":
  11416. case "stop":
  11417. f.each(v, (function(t, e) {
  11418. a(e) && a(e).delayTimer && (clearTimeout(a(e).delayTimer.setTimeout), a(e).delayTimer.next && a(e).delayTimer.next(), delete a(e).delayTimer)
  11419. }));
  11420. var T = [];
  11421. return f.each(b.State.calls, (function(t, e) {
  11422. e && f.each(e[1], (function(n, r) {
  11423. var o = x === i ? "" : x;
  11424. return !0 !== o && e[2].queue !== o && (x !== i || !1 !== e[2].queue) || void f.each(v, (function(n, i) {
  11425. i === r && ((!0 === x || g.isString(x)) && (f.each(f.queue(i, g.isString(x) ? x : ""), (function(t, e) {
  11426. g.isFunction(e) && e(null, !0)
  11427. })), f.queue(i, g.isString(x) ? x : "", [])), "stop" === y ? (a(i) && a(i).tweensContainer && !1 !== o && f.each(a(i).tweensContainer, (function(t, e) {
  11428. e.endValue = e.currentValue
  11429. })), T.push(t)) : "finish" === y && (e[2].duration = 1))
  11430. }))
  11431. }))
  11432. })), "stop" === y && (f.each(T, (function(t, e) {
  11433. d(e, !0)
  11434. })), _.promise && _.resolver(v)), r();
  11435. default:
  11436. if (!f.isPlainObject(y) || g.isEmptyObject(y)) {
  11437. if (g.isString(y) && b.Redirects[y]) {
  11438. var I = (E = f.extend({}, x)).duration,
  11439. O = E.delay || 0;
  11440. return !0 === E.backwards && (v = f.extend(!0, [], v).reverse()), f.each(v, (function(t, e) {
  11441. parseFloat(E.stagger) ? E.delay = O + parseFloat(E.stagger) * t : g.isFunction(E.stagger) && (E.delay = O + E.stagger.call(e, t, k)), E.drag && (E.duration = parseFloat(I) || (/^(callout|transition)/.test(y) ? 1e3 : m), E.duration = Math.max(E.duration * (E.backwards ? 1 - t / k : (t + 1) / k), .75 * E.duration, 200)), b.Redirects[y].call(e, e, E || {}, t, k, v, _.promise ? _ : i)
  11442. })), r()
  11443. }
  11444. var F = "Velocity: First argument (" + y + ") was not a property map, a known action, or a registered redirect. Aborting.";
  11445. return _.promise ? _.rejecter(new Error(F)) : console.log(F), r()
  11446. }
  11447. P = "start"
  11448. }
  11449. var D, E, L = {
  11450. lastParent: null,
  11451. lastPosition: null,
  11452. lastFontSize: null,
  11453. lastPercentToPxWidth: null,
  11454. lastPercentToPxHeight: null,
  11455. lastEmToPx: null,
  11456. remToPx: null,
  11457. vwToPx: null,
  11458. vhToPx: null
  11459. },
  11460. R = [];
  11461. if (f.each(v, (function(t, e) {
  11462. g.isNode(e) && s.call(e)
  11463. })), (E = f.extend({}, b.defaults, x)).loop = parseInt(E.loop), D = 2 * E.loop - 1, E.loop)
  11464. for (var N = 0; D > N; N++) {
  11465. var V = {
  11466. delay: E.delay,
  11467. progress: E.progress
  11468. };
  11469. N === D - 1 && (V.display = E.display, V.visibility = E.visibility, V.complete = E.complete), t(v, "reverse", V)
  11470. }
  11471. return r()
  11472. }
  11473. };
  11474. (b = f.extend(S, b)).animate = S;
  11475. var k = e.requestAnimationFrame || p;
  11476. return b.State.isMobile || n.hidden === i || n.addEventListener("visibilitychange", (function() {
  11477. n.hidden ? (k = function(t) {
  11478. return setTimeout((function() {
  11479. t(!0)
  11480. }), 16)
  11481. }, c()) : k = e.requestAnimationFrame || p
  11482. })), t.Velocity = b, t !== e && (t.fn.velocity = S, t.fn.velocity.defaults = b.defaults), f.each(["Down", "Up"], (function(t, e) {
  11483. b.Redirects["slide" + e] = function(t, n, r, o, a, s) {
  11484. var l = f.extend({}, n),
  11485. u = l.begin,
  11486. c = l.complete,
  11487. d = {
  11488. height: "",
  11489. marginTop: "",
  11490. marginBottom: "",
  11491. paddingTop: "",
  11492. paddingBottom: ""
  11493. },
  11494. h = {};
  11495. l.display === i && (l.display = "Down" === e ? "inline" === b.CSS.Values.getDisplayType(t) ? "inline-block" : "block" : "none"), l.begin = function() {
  11496. for (var n in u && u.call(a, a), d) {
  11497. h[n] = t.style[n];
  11498. var r = b.CSS.getPropertyValue(t, n);
  11499. d[n] = "Down" === e ? [r, 0] : [0, r]
  11500. }
  11501. h.overflow = t.style.overflow, t.style.overflow = "hidden"
  11502. }, l.complete = function() {
  11503. for (var e in h) t.style[e] = h[e];
  11504. c && c.call(a, a), s && s.resolver(a)
  11505. }, b(t, d, l)
  11506. }
  11507. })), f.each(["In", "Out"], (function(t, e) {
  11508. b.Redirects["fade" + e] = function(t, n, r, o, a, s) {
  11509. var l = f.extend({}, n),
  11510. u = {
  11511. opacity: "In" === e ? 1 : 0
  11512. },
  11513. c = l.complete;
  11514. l.complete = r !== o - 1 ? l.begin = null : function() {
  11515. c && c.call(a, a), s && s.resolver(a)
  11516. }, l.display === i && (l.display = "In" === e ? "auto" : "none"), b(this, u, l)
  11517. }
  11518. })), b
  11519. }
  11520. jQuery.fn.velocity = jQuery.fn.animate
  11521. }(window.jQuery || window.Zepto || window, window, document)
  11522. }, "object" == r(t) && "object" == r(t.exports) ? t.exports = e() : "function" == typeof define && n(55) ? define(e) : e())
  11523. }).call(this, n(87)(t))
  11524. }, function(t, e, n) {
  11525. "use strict";
  11526. var r = n(3),
  11527. i = n(1),
  11528. o = n(142),
  11529. a = n(7),
  11530. s = n(31),
  11531. l = n(11),
  11532. u = n(102),
  11533. c = o.ArrayBuffer,
  11534. d = o.DataView,
  11535. f = c.prototype.slice;
  11536. r({
  11537. target: "ArrayBuffer",
  11538. proto: !0,
  11539. unsafe: !0,
  11540. forced: i((function() {
  11541. return !new c(2).slice(1, void 0).byteLength
  11542. }))
  11543. }, {
  11544. slice: function(t, e) {
  11545. if (void 0 !== f && void 0 === e) return f.call(a(this), t);
  11546. for (var n = a(this).byteLength, r = s(t, n), i = s(void 0 === e ? n : e, n), o = new(u(this, c))(l(i - r)), h = new d(this), p = new d(o), g = 0; r < i;) p.setUint8(g++, h.getUint8(r++));
  11547. return o
  11548. }
  11549. })
  11550. }, function(t, e, n) {
  11551. var r = n(14);
  11552. t.exports = function(t, e, n) {
  11553. for (var i in e) r(t, i, e[i], n);
  11554. return t
  11555. }
  11556. }, function(t, e, n) {
  11557. n(167)("Float32", 4, (function(t) {
  11558. return function(e, n, r) {
  11559. return t(this, e, n, r)
  11560. }
  11561. }))
  11562. }, function(t, e, n) {
  11563. "use strict";
  11564. var r = n(3),
  11565. i = n(0),
  11566. o = n(8),
  11567. a = n(168),
  11568. s = n(40),
  11569. l = n(142),
  11570. u = n(143),
  11571. c = n(17),
  11572. d = n(6),
  11573. f = n(11),
  11574. h = n(144),
  11575. p = n(145),
  11576. g = n(19),
  11577. v = n(4),
  11578. m = n(73),
  11579. y = n(5),
  11580. b = n(33),
  11581. x = n(69),
  11582. w = n(27).f,
  11583. S = n(171),
  11584. k = n(25).forEach,
  11585. C = n(124),
  11586. M = n(9),
  11587. A = n(24),
  11588. P = n(22),
  11589. _ = P.get,
  11590. T = P.set,
  11591. I = M.f,
  11592. O = A.f,
  11593. F = Math.round,
  11594. D = i.RangeError,
  11595. E = l.ArrayBuffer,
  11596. L = l.DataView,
  11597. R = s.NATIVE_ARRAY_BUFFER_VIEWS,
  11598. N = s.TYPED_ARRAY_TAG,
  11599. V = s.TypedArray,
  11600. z = s.TypedArrayPrototype,
  11601. B = s.aTypedArrayConstructor,
  11602. W = s.isTypedArray,
  11603. j = function(t, e) {
  11604. for (var n = 0, r = e.length, i = new(B(t))(r); r > n;) i[n] = e[n++];
  11605. return i
  11606. },
  11607. H = function(t, e) {
  11608. I(t, e, {
  11609. get: function() {
  11610. return _(this)[e]
  11611. }
  11612. })
  11613. },
  11614. q = function(t) {
  11615. var e;
  11616. return t instanceof E || "ArrayBuffer" == (e = m(t)) || "SharedArrayBuffer" == e
  11617. },
  11618. U = function(t, e) {
  11619. return W(t) && "symbol" != typeof e && e in t && String(+e) == String(e)
  11620. },
  11621. Y = function(t, e) {
  11622. return U(t, e = g(e, !0)) ? c(2, t[e]) : O(t, e)
  11623. },
  11624. $ = function(t, e, n) {
  11625. return !(U(t, e = g(e, !0)) && y(n) && v(n, "value")) || v(n, "get") || v(n, "set") || n.configurable || v(n, "writable") && !n.writable || v(n, "enumerable") && !n.enumerable ? I(t, e, n) : (t[e] = n.value, t)
  11626. };
  11627. o ? (R || (A.f = Y, M.f = $, H(z, "buffer"), H(z, "byteOffset"), H(z, "byteLength"), H(z, "length")), r({
  11628. target: "Object",
  11629. stat: !0,
  11630. forced: !R
  11631. }, {
  11632. getOwnPropertyDescriptor: Y,
  11633. defineProperty: $
  11634. }), t.exports = function(t, e, n, o) {
  11635. var s = t + (o ? "Clamped" : "") + "Array",
  11636. l = "get" + t,
  11637. c = "set" + t,
  11638. g = i[s],
  11639. v = g,
  11640. m = v && v.prototype,
  11641. M = {},
  11642. A = function(t, n) {
  11643. I(t, n, {
  11644. get: function() {
  11645. return function(t, n) {
  11646. var r = _(t);
  11647. return r.view[l](n * e + r.byteOffset, !0)
  11648. }(this, n)
  11649. },
  11650. set: function(t) {
  11651. return function(t, n, r) {
  11652. var i = _(t);
  11653. o && (r = (r = F(r)) < 0 ? 0 : r > 255 ? 255 : 255 & r), i.view[c](n * e + i.byteOffset, r, !0)
  11654. }(this, n, t)
  11655. },
  11656. enumerable: !0
  11657. })
  11658. };
  11659. R ? a && (v = n((function(t, n, r, i) {
  11660. return u(t, v, s), y(n) ? q(n) ? void 0 !== i ? new g(n, p(r, e), i) : void 0 !== r ? new g(n, p(r, e)) : new g(n) : W(n) ? j(v, n) : S.call(v, n) : new g(h(n))
  11661. })), x && x(v, V), k(w(g), (function(t) {
  11662. t in v || d(v, t, g[t])
  11663. })), v.prototype = m) : (v = n((function(t, n, r, i) {
  11664. u(t, v, s);
  11665. var o, a, l, c = 0,
  11666. d = 0;
  11667. if (y(n)) {
  11668. if (!q(n)) return W(n) ? j(v, n) : S.call(v, n);
  11669. o = n, d = p(r, e);
  11670. var g = n.byteLength;
  11671. if (void 0 === i) {
  11672. if (g % e) throw D("Wrong length");
  11673. if ((a = g - d) < 0) throw D("Wrong length")
  11674. } else if ((a = f(i) * e) + d > g) throw D("Wrong length");
  11675. l = a / e
  11676. } else l = h(n), o = new E(a = l * e);
  11677. for (T(t, {
  11678. buffer: o,
  11679. byteOffset: d,
  11680. byteLength: a,
  11681. length: l,
  11682. view: new L(o)
  11683. }); c < l;) A(t, c++)
  11684. })), x && x(v, V), m = v.prototype = b(z)), m.constructor !== v && d(m, "constructor", v), N && d(m, N, s), M[s] = v, r({
  11685. global: !0,
  11686. forced: v != g,
  11687. sham: !R
  11688. }, M), "BYTES_PER_ELEMENT" in v || d(v, "BYTES_PER_ELEMENT", e), "BYTES_PER_ELEMENT" in m || d(m, "BYTES_PER_ELEMENT", e), C(s)
  11689. }) : t.exports = function() {}
  11690. }, function(t, e, n) {
  11691. var r = n(0),
  11692. i = n(1),
  11693. o = n(169),
  11694. a = n(40).NATIVE_ARRAY_BUFFER_VIEWS,
  11695. s = r.ArrayBuffer,
  11696. l = r.Int8Array;
  11697. t.exports = !a || !i((function() {
  11698. l(1)
  11699. })) || !i((function() {
  11700. new l(-1)
  11701. })) || !o((function(t) {
  11702. new l, new l(null), new l(1.5), new l(t)
  11703. }), !0) || i((function() {
  11704. return 1 !== new l(new s(2), 1, void 0).length
  11705. }))
  11706. }, function(t, e, n) {
  11707. var r = n(2)("iterator"),
  11708. i = !1;
  11709. try {
  11710. var o = 0,
  11711. a = {
  11712. next: function() {
  11713. return {
  11714. done: !!o++
  11715. }
  11716. },
  11717. return: function() {
  11718. i = !0
  11719. }
  11720. };
  11721. a[r] = function() {
  11722. return this
  11723. }, Array.from(a, (function() {
  11724. throw 2
  11725. }))
  11726. } catch (t) {}
  11727. t.exports = function(t, e) {
  11728. if (!e && !i) return !1;
  11729. var n = !1;
  11730. try {
  11731. var o = {};
  11732. o[r] = function() {
  11733. return {
  11734. next: function() {
  11735. return {
  11736. done: n = !0
  11737. }
  11738. }
  11739. }
  11740. }, t(o)
  11741. } catch (t) {}
  11742. return n
  11743. }
  11744. }, function(t, e, n) {
  11745. var r = n(12);
  11746. t.exports = function(t) {
  11747. var e = r(t);
  11748. if (e < 0) throw RangeError("The argument can't be less than 0");
  11749. return e
  11750. }
  11751. }, function(t, e, n) {
  11752. var r = n(16),
  11753. i = n(11),
  11754. o = n(172),
  11755. a = n(173),
  11756. s = n(72),
  11757. l = n(40).aTypedArrayConstructor;
  11758. t.exports = function(t) {
  11759. var e, n, u, c, d, f, h = r(t),
  11760. p = arguments.length,
  11761. g = p > 1 ? arguments[1] : void 0,
  11762. v = void 0 !== g,
  11763. m = o(h);
  11764. if (null != m && !a(m))
  11765. for (f = (d = m.call(h)).next, h = []; !(c = f.call(d)).done;) h.push(c.value);
  11766. for (v && p > 2 && (g = s(g, arguments[2], 2)), n = i(h.length), u = new(l(this))(n), e = 0; n > e; e++) u[e] = v ? g(h[e], e) : h[e];
  11767. return u
  11768. }
  11769. }, function(t, e, n) {
  11770. var r = n(73),
  11771. i = n(48),
  11772. o = n(2)("iterator");
  11773. t.exports = function(t) {
  11774. if (null != t) return t[o] || t["@@iterator"] || i[r(t)]
  11775. }
  11776. }, function(t, e, n) {
  11777. var r = n(2),
  11778. i = n(48),
  11779. o = r("iterator"),
  11780. a = Array.prototype;
  11781. t.exports = function(t) {
  11782. return void 0 !== t && (i.Array === t || a[o] === t)
  11783. }
  11784. }, function(t, e, n) {
  11785. "use strict";
  11786. var r = n(40),
  11787. i = n(175),
  11788. o = r.aTypedArray;
  11789. r.exportProto("copyWithin", (function(t, e) {
  11790. return i.call(o(this), t, e, arguments.length > 2 ? arguments[2] : void 0)
  11791. }))
  11792. }, function(t, e, n) {
  11793. "use strict";
  11794. var r = n(16),
  11795. i = n(31),
  11796. o = n(11),
  11797. a = Math.min;
  11798. t.exports = [].copyWithin || function(t, e) {
  11799. var n = r(this),
  11800. s = o(n.length),
  11801. l = i(t, s),
  11802. u = i(e, s),
  11803. c = arguments.length > 2 ? arguments[2] : void 0,
  11804. d = a((void 0 === c ? s : i(c, s)) - u, s - l),
  11805. f = 1;
  11806. for (u < l && l < u + d && (f = -1, u += d - 1, l += d - 1); d-- > 0;) u in n ? n[l] = n[u] : delete n[l], l += f, u += f;
  11807. return n
  11808. }
  11809. }, function(t, e, n) {
  11810. "use strict";
  11811. var r = n(40),
  11812. i = n(25).every,
  11813. o = r.aTypedArray;
  11814. r.exportProto("every", (function(t) {
  11815. return i(o(this), t, arguments.length > 1 ? arguments[1] : void 0)
  11816. }))
  11817. }, function(t, e, n) {
  11818. "use strict";
  11819. var r = n(40),
  11820. i = n(128),
  11821. o = r.aTypedArray;
  11822. r.exportProto("fill", (function(t) {
  11823. return i.apply(o(this), arguments)
  11824. }))
  11825. }, function(t, e, n) {
  11826. "use strict";
  11827. var r = n(40),
  11828. i = n(25).filter,
  11829. o = n(102),
  11830. a = r.aTypedArray,
  11831. s = r.aTypedArrayConstructor;
  11832. r.exportProto("filter", (function(t) {
  11833. for (var e = i(a(this), t, arguments.length > 1 ? arguments[1] : void 0), n = o(this, this.constructor), r = 0, l = e.length, u = new(s(n))(l); l > r;) u[r] = e[r++];
  11834. return u
  11835. }))
  11836. }, function(t, e, n) {
  11837. "use strict";
  11838. var r = n(40),
  11839. i = n(25).find,
  11840. o = r.aTypedArray;
  11841. r.exportProto("find", (function(t) {
  11842. return i(o(this), t, arguments.length > 1 ? arguments[1] : void 0)
  11843. }))
  11844. }, function(t, e, n) {
  11845. "use strict";
  11846. var r = n(40),
  11847. i = n(25).findIndex,
  11848. o = r.aTypedArray;
  11849. r.exportProto("findIndex", (function(t) {
  11850. return i(o(this), t, arguments.length > 1 ? arguments[1] : void 0)
  11851. }))
  11852. }, function(t, e, n) {
  11853. "use strict";
  11854. var r = n(40),
  11855. i = n(25).forEach,
  11856. o = r.aTypedArray;
  11857. r.exportProto("forEach", (function(t) {
  11858. i(o(this), t, arguments.length > 1 ? arguments[1] : void 0)
  11859. }))
  11860. }, function(t, e, n) {
  11861. "use strict";
  11862. var r = n(40),
  11863. i = n(41).includes,
  11864. o = r.aTypedArray;
  11865. r.exportProto("includes", (function(t) {
  11866. return i(o(this), t, arguments.length > 1 ? arguments[1] : void 0)
  11867. }))
  11868. }, function(t, e, n) {
  11869. "use strict";
  11870. var r = n(40),
  11871. i = n(41).indexOf,
  11872. o = r.aTypedArray;
  11873. r.exportProto("indexOf", (function(t) {
  11874. return i(o(this), t, arguments.length > 1 ? arguments[1] : void 0)
  11875. }))
  11876. }, function(t, e, n) {
  11877. "use strict";
  11878. var r = n(0),
  11879. i = n(40),
  11880. o = n(54),
  11881. a = n(2)("iterator"),
  11882. s = r.Uint8Array,
  11883. l = o.values,
  11884. u = o.keys,
  11885. c = o.entries,
  11886. d = i.aTypedArray,
  11887. f = i.exportProto,
  11888. h = s && s.prototype[a],
  11889. p = !!h && ("values" == h.name || null == h.name),
  11890. g = function() {
  11891. return l.call(d(this))
  11892. };
  11893. f("entries", (function() {
  11894. return c.call(d(this))
  11895. })), f("keys", (function() {
  11896. return u.call(d(this))
  11897. })), f("values", g, !p), f(a, g, !p)
  11898. }, function(t, e, n) {
  11899. "use strict";
  11900. var r = n(40),
  11901. i = r.aTypedArray,
  11902. o = [].join;
  11903. r.exportProto("join", (function(t) {
  11904. return o.apply(i(this), arguments)
  11905. }))
  11906. }, function(t, e, n) {
  11907. "use strict";
  11908. var r = n(40),
  11909. i = n(131),
  11910. o = r.aTypedArray;
  11911. r.exportProto("lastIndexOf", (function(t) {
  11912. return i.apply(o(this), arguments)
  11913. }))
  11914. }, function(t, e, n) {
  11915. "use strict";
  11916. var r = n(40),
  11917. i = n(25).map,
  11918. o = n(102),
  11919. a = r.aTypedArray,
  11920. s = r.aTypedArrayConstructor;
  11921. r.exportProto("map", (function(t) {
  11922. return i(a(this), t, arguments.length > 1 ? arguments[1] : void 0, (function(t, e) {
  11923. return new(s(o(t, t.constructor)))(e)
  11924. }))
  11925. }))
  11926. }, function(t, e, n) {
  11927. "use strict";
  11928. var r = n(40),
  11929. i = n(111).left,
  11930. o = r.aTypedArray;
  11931. r.exportProto("reduce", (function(t) {
  11932. return i(o(this), t, arguments.length, arguments.length > 1 ? arguments[1] : void 0)
  11933. }))
  11934. }, function(t, e, n) {
  11935. "use strict";
  11936. var r = n(40),
  11937. i = n(111).right,
  11938. o = r.aTypedArray;
  11939. r.exportProto("reduceRight", (function(t) {
  11940. return i(o(this), t, arguments.length, arguments.length > 1 ? arguments[1] : void 0)
  11941. }))
  11942. }, function(t, e, n) {
  11943. "use strict";
  11944. var r = n(40),
  11945. i = r.aTypedArray,
  11946. o = Math.floor;
  11947. r.exportProto("reverse", (function() {
  11948. for (var t, e = i(this).length, n = o(e / 2), r = 0; r < n;) t = this[r], this[r++] = this[--e], this[e] = t;
  11949. return this
  11950. }))
  11951. }, function(t, e, n) {
  11952. "use strict";
  11953. var r = n(40),
  11954. i = n(11),
  11955. o = n(145),
  11956. a = n(16),
  11957. s = n(1),
  11958. l = r.aTypedArray,
  11959. u = s((function() {
  11960. new Int8Array(1).set({})
  11961. }));
  11962. r.exportProto("set", (function(t) {
  11963. l(this);
  11964. var e = o(arguments.length > 1 ? arguments[1] : void 0, 1),
  11965. n = this.length,
  11966. r = a(t),
  11967. s = i(r.length),
  11968. u = 0;
  11969. if (s + e > n) throw RangeError("Wrong length");
  11970. for (; u < s;) this[e + u] = r[u++]
  11971. }), u)
  11972. }, function(t, e, n) {
  11973. "use strict";
  11974. var r = n(40),
  11975. i = n(102),
  11976. o = n(1),
  11977. a = r.aTypedArray,
  11978. s = r.aTypedArrayConstructor,
  11979. l = [].slice,
  11980. u = o((function() {
  11981. new Int8Array(1).slice()
  11982. }));
  11983. r.exportProto("slice", (function(t, e) {
  11984. for (var n = l.call(a(this), t, e), r = i(this, this.constructor), o = 0, u = n.length, c = new(s(r))(u); u > o;) c[o] = n[o++];
  11985. return c
  11986. }), u)
  11987. }, function(t, e, n) {
  11988. "use strict";
  11989. var r = n(40),
  11990. i = n(25).some,
  11991. o = r.aTypedArray;
  11992. r.exportProto("some", (function(t) {
  11993. return i(o(this), t, arguments.length > 1 ? arguments[1] : void 0)
  11994. }))
  11995. }, function(t, e, n) {
  11996. "use strict";
  11997. var r = n(40),
  11998. i = r.aTypedArray,
  11999. o = [].sort;
  12000. r.exportProto("sort", (function(t) {
  12001. return o.call(i(this), t)
  12002. }))
  12003. }, function(t, e, n) {
  12004. "use strict";
  12005. var r = n(40),
  12006. i = n(11),
  12007. o = n(31),
  12008. a = n(102),
  12009. s = r.aTypedArray;
  12010. r.exportProto("subarray", (function(t, e) {
  12011. var n = s(this),
  12012. r = n.length,
  12013. l = o(t, r);
  12014. return new(a(n, n.constructor))(n.buffer, n.byteOffset + l * n.BYTES_PER_ELEMENT, i((void 0 === e ? r : o(e, r)) - l))
  12015. }))
  12016. }, function(t, e, n) {
  12017. "use strict";
  12018. var r = n(0),
  12019. i = n(40),
  12020. o = n(1),
  12021. a = r.Int8Array,
  12022. s = i.aTypedArray,
  12023. l = [].toLocaleString,
  12024. u = [].slice,
  12025. c = !!a && o((function() {
  12026. l.call(new a(1))
  12027. })),
  12028. d = o((function() {
  12029. return [1, 2].toLocaleString() != new a([1, 2]).toLocaleString()
  12030. })) || !o((function() {
  12031. a.prototype.toLocaleString.call([1, 2])
  12032. }));
  12033. i.exportProto("toLocaleString", (function() {
  12034. return l.apply(c ? u.call(s(this)) : s(this), arguments)
  12035. }), d)
  12036. }, function(t, e, n) {
  12037. "use strict";
  12038. var r = n(0),
  12039. i = n(40),
  12040. o = n(1),
  12041. a = r.Uint8Array,
  12042. s = a && a.prototype,
  12043. l = [].toString,
  12044. u = [].join;
  12045. o((function() {
  12046. l.call({})
  12047. })) && (l = function() {
  12048. return u.call(this)
  12049. }), i.exportProto("toString", l, (s || {}).toString != l)
  12050. }, function(t, e, n) {
  12051. "use strict";
  12052. (function(t) {
  12053. n(75), n(78), n(79), n(92), n(54), n(99), n(104), n(112), n(64), n(106), n(81), n(84);
  12054. function e(t) {
  12055. return (e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
  12056. return typeof t
  12057. } : function(t) {
  12058. return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
  12059. })(t)
  12060. }
  12061. /*!
  12062. * Waves v0.7.6
  12063. * http://fian.my.id/Waves
  12064. *
  12065. * Copyright 2014-2018 Alfiana E. Sibuea and other contributors
  12066. * Released under the MIT license
  12067. * https://github.com/fians/Waves/blob/master/LICENSE
  12068. */
  12069. ! function(r, i) {
  12070. "function" == typeof define && n(55) ? define([], (function() {
  12071. return r.Waves = i.call(r), r.Waves
  12072. })) : "object" === ("undefined" == typeof exports ? "undefined" : e(exports)) ? t.exports = i.call(r) : r.Waves = i.call(r)
  12073. }("object" === ("undefined" == typeof window ? "undefined" : e(window)) ? window : void 0, (function() {
  12074. var t = t || {},
  12075. n = document.querySelectorAll.bind(document),
  12076. r = Object.prototype.toString,
  12077. i = "ontouchstart" in window;
  12078. function o(t) {
  12079. var n = e(t);
  12080. return "function" === n || "object" === n && !!t
  12081. }
  12082. function a(t) {
  12083. var e, i = r.call(t);
  12084. return "[object String]" === i ? n(t) : o(t) && /^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(i) && t.hasOwnProperty("length") ? t : o(e = t) && e.nodeType > 0 ? [t] : []
  12085. }
  12086. function s(t) {
  12087. var n, r, i = {
  12088. top: 0,
  12089. left: 0
  12090. },
  12091. o = t && t.ownerDocument;
  12092. return n = o.documentElement, "undefined" !== e(t.getBoundingClientRect) && (i = t.getBoundingClientRect()), r = function(t) {
  12093. return null !== (e = t) && e === e.window ? t : 9 === t.nodeType && t.defaultView;
  12094. var e
  12095. }(o), {
  12096. top: i.top + r.pageYOffset - n.clientTop,
  12097. left: i.left + r.pageXOffset - n.clientLeft
  12098. }
  12099. }
  12100. function l(t) {
  12101. var e = "";
  12102. for (var n in t) t.hasOwnProperty(n) && (e += n + ":" + t[n] + ";");
  12103. return e
  12104. }
  12105. var u = {
  12106. duration: 750,
  12107. delay: 200,
  12108. show: function(t, e, n) {
  12109. if (2 === t.button) return !1;
  12110. e = e || this;
  12111. var r = document.createElement("div");
  12112. r.className = "waves-ripple waves-rippling", e.appendChild(r);
  12113. var i = s(e),
  12114. o = 0,
  12115. a = 0;
  12116. "touches" in t && t.touches.length ? (o = t.touches[0].pageY - i.top, a = t.touches[0].pageX - i.left) : (o = t.pageY - i.top, a = t.pageX - i.left), a = a >= 0 ? a : 0, o = o >= 0 ? o : 0;
  12117. var c = "scale(" + e.clientWidth / 100 * 3 + ")",
  12118. d = "translate(0,0)";
  12119. n && (d = "translate(" + n.x + "px, " + n.y + "px)"), r.setAttribute("data-hold", Date.now()), r.setAttribute("data-x", a), r.setAttribute("data-y", o), r.setAttribute("data-scale", c), r.setAttribute("data-translate", d);
  12120. var f = {
  12121. top: o + "px",
  12122. left: a + "px"
  12123. };
  12124. r.classList.add("waves-notransition"), r.setAttribute("style", l(f)), r.classList.remove("waves-notransition"), f["-webkit-transform"] = c + " " + d, f["-moz-transform"] = c + " " + d, f["-ms-transform"] = c + " " + d, f["-o-transform"] = c + " " + d, f.transform = c + " " + d, f.opacity = "1";
  12125. var h = "mousemove" === t.type ? 2500 : u.duration;
  12126. f["-webkit-transition-duration"] = h + "ms", f["-moz-transition-duration"] = h + "ms", f["-o-transition-duration"] = h + "ms", f["transition-duration"] = h + "ms", r.setAttribute("style", l(f))
  12127. },
  12128. hide: function(t, e) {
  12129. for (var n = (e = e || this).getElementsByClassName("waves-rippling"), r = 0, o = n.length; r < o; r++) d(t, e, n[r]);
  12130. i && (e.removeEventListener("touchend", u.hide), e.removeEventListener("touchcancel", u.hide)), e.removeEventListener("mouseup", u.hide), e.removeEventListener("mouseleave", u.hide)
  12131. }
  12132. },
  12133. c = {
  12134. input: function(t) {
  12135. var e = t.parentNode;
  12136. if ("span" !== e.tagName.toLowerCase() || !e.classList.contains("waves-effect")) {
  12137. var n = document.createElement("span");
  12138. n.className = "waves-input-wrapper", e.replaceChild(n, t), n.appendChild(t)
  12139. }
  12140. },
  12141. img: function(t) {
  12142. var e = t.parentNode;
  12143. if ("i" !== e.tagName.toLowerCase() || !e.classList.contains("waves-effect")) {
  12144. var n = document.createElement("i");
  12145. e.replaceChild(n, t), n.appendChild(t)
  12146. }
  12147. }
  12148. };
  12149. function d(t, e, n) {
  12150. if (n) {
  12151. n.classList.remove("waves-rippling");
  12152. var r = n.getAttribute("data-x"),
  12153. i = n.getAttribute("data-y"),
  12154. o = n.getAttribute("data-scale"),
  12155. a = n.getAttribute("data-translate"),
  12156. s = 350 - (Date.now() - Number(n.getAttribute("data-hold")));
  12157. s < 0 && (s = 0), "mousemove" === t.type && (s = 150);
  12158. var c = "mousemove" === t.type ? 2500 : u.duration;
  12159. setTimeout((function() {
  12160. var t = {
  12161. top: i + "px",
  12162. left: r + "px",
  12163. opacity: "0",
  12164. "-webkit-transition-duration": c + "ms",
  12165. "-moz-transition-duration": c + "ms",
  12166. "-o-transition-duration": c + "ms",
  12167. "transition-duration": c + "ms",
  12168. "-webkit-transform": o + " " + a,
  12169. "-moz-transform": o + " " + a,
  12170. "-ms-transform": o + " " + a,
  12171. "-o-transform": o + " " + a,
  12172. transform: o + " " + a
  12173. };
  12174. n.setAttribute("style", l(t)), setTimeout((function() {
  12175. try {
  12176. e.removeChild(n)
  12177. } catch (t) {
  12178. return !1
  12179. }
  12180. }), c)
  12181. }), s)
  12182. }
  12183. }
  12184. var f = {
  12185. touches: 0,
  12186. allowEvent: function(t) {
  12187. var e = !0;
  12188. return /^(mousedown|mousemove)$/.test(t.type) && f.touches && (e = !1), e
  12189. },
  12190. registerEvent: function(t) {
  12191. var e = t.type;
  12192. "touchstart" === e ? f.touches += 1 : /^(touchend|touchcancel)$/.test(e) && setTimeout((function() {
  12193. f.touches && (f.touches -= 1)
  12194. }), 500)
  12195. }
  12196. };
  12197. function h(t) {
  12198. var e = function(t) {
  12199. if (!1 === f.allowEvent(t)) return null;
  12200. for (var e = null, n = t.target || t.srcElement; n.parentElement;) {
  12201. if (!(n instanceof SVGElement) && n.classList.contains("waves-effect")) {
  12202. e = n;
  12203. break
  12204. }
  12205. n = n.parentElement
  12206. }
  12207. return e
  12208. }(t);
  12209. if (null !== e) {
  12210. if (e.disabled || e.getAttribute("disabled") || e.classList.contains("disabled")) return;
  12211. if (f.registerEvent(t), "touchstart" === t.type && u.delay) {
  12212. var n = !1,
  12213. r = setTimeout((function() {
  12214. r = null, u.show(t, e)
  12215. }), u.delay),
  12216. o = function(i) {
  12217. r && (clearTimeout(r), r = null, u.show(t, e)), n || (n = !0, u.hide(i, e)), s()
  12218. },
  12219. a = function(t) {
  12220. r && (clearTimeout(r), r = null), o(t), s()
  12221. };
  12222. e.addEventListener("touchmove", a, !1), e.addEventListener("touchend", o, !1), e.addEventListener("touchcancel", o, !1);
  12223. var s = function() {
  12224. e.removeEventListener("touchmove", a), e.removeEventListener("touchend", o), e.removeEventListener("touchcancel", o)
  12225. }
  12226. } else u.show(t, e), i && (e.addEventListener("touchend", u.hide, !1), e.addEventListener("touchcancel", u.hide, !1)), e.addEventListener("mouseup", u.hide, !1), e.addEventListener("mouseleave", u.hide, !1)
  12227. }
  12228. }
  12229. return t.init = function(t) {
  12230. var e = document.body;
  12231. "duration" in (t = t || {}) && (u.duration = t.duration), "delay" in t && (u.delay = t.delay), i && (e.addEventListener("touchstart", h, !1), e.addEventListener("touchcancel", f.registerEvent, !1), e.addEventListener("touchend", f.registerEvent, !1)), e.addEventListener("mousedown", h, !1)
  12232. }, t.attach = function(t, e) {
  12233. var n, i;
  12234. t = a(t), "[object Array]" === r.call(e) && (e = e.join(" ")), e = e ? " " + e : "";
  12235. for (var o = 0, s = t.length; o < s; o++) i = (n = t[o]).tagName.toLowerCase(), -1 !== ["input", "img"].indexOf(i) && (c[i](n), n = n.parentElement), -1 === n.className.indexOf("waves-effect") && (n.className += " waves-effect" + e)
  12236. }, t.ripple = function(t, e) {
  12237. var n = (t = a(t)).length;
  12238. if ((e = e || {}).wait = e.wait || 0, e.position = e.position || null, n)
  12239. for (var r, i, o, l = {}, c = 0, d = {
  12240. type: "mousedown",
  12241. button: 1
  12242. }, f = function(t, e) {
  12243. return function() {
  12244. u.hide(t, e)
  12245. }
  12246. }; c < n; c++)
  12247. if (r = t[c], i = e.position || {
  12248. x: r.clientWidth / 2,
  12249. y: r.clientHeight / 2
  12250. }, o = s(r), l.x = o.left + i.x, l.y = o.top + i.y, d.pageX = l.x, d.pageY = l.y, u.show(d, r), e.wait >= 0 && null !== e.wait) {
  12251. setTimeout(f({
  12252. type: "mouseup",
  12253. button: 1
  12254. }, r), e.wait)
  12255. }
  12256. }, t.calm = function(t) {
  12257. for (var e = {
  12258. type: "mouseup",
  12259. button: 1
  12260. }, n = 0, r = (t = a(t)).length; n < r; n++) u.hide(e, t[n])
  12261. }, t.displayEffect = function(e) {
  12262. console.error("Waves.displayEffect() has been deprecated and will be removed in future version. Please use Waves.init() to initialize Waves effect"), t.init(e)
  12263. }, t
  12264. })), $(document).ready((function() {
  12265. Waves.attach(".btn:not(.btn-flat), .btn-floating", ["waves-light"]), Waves.attach(".btn-flat", ["waves-effect"]), Waves.attach(".chip", ["waves-effect"]), Waves.attach(".view a .mask", ["waves-light"]), Waves.attach(".waves-light", ["waves-light"]), Waves.attach(".navbar-nav a:not(.navbar-brand), .nav-icons li a, .nav-tabs .nav-item:not(.dropdown)", ["waves-light"]), Waves.attach(".pager li a", ["waves-light"]), Waves.attach(".pagination .page-item .page-link", ["waves-effect"]), Waves.init()
  12266. }))
  12267. }).call(this, n(87)(t))
  12268. }]);